历史上的今天
返回首页

历史上的今天

今天是:2024年10月17日(星期四)

正在发生

2018年10月17日 | 51.内部温度传感器实验

2018-10-17 来源:eefocus

一。STM32内部温度传感器概述

     学习这一节之前要对ADC有一个清楚的理解。因为STM32内部温度传感器本质上就是ADC。

(一)内部温度传感器框图

      51.内部温度传感器实验


内部温度传感器连接到ADC1的通道16,在使用之前要去使能相应的控制位TSVREFE,使能了之后内部温度传感器就连接到了通道16.

(二)STM32内部温度传感器概述

51.内部温度传感器实验

由于它在芯片的内部,因此一般都用了测试芯片内部的温度,不同于环境温度,要稍微偏高一些。

51.内部温度传感器实验
温度传感器模拟输入推荐采样时间是17.1us,不能太快。

(三)内部温度传感器使用注意是像。

51.内部温度传感器实验

把CR2的TSVREFE位(bit23)设置为1就启用了温度传感器。

51.内部温度传感器实验
V25是温度传感器在25度时输出的电压数值,典型值为1.43.
输出的电压跟温度的关系基本上是一条直线。我们以一条直线处理。

内部温度传感器温度和电压关系图


51.内部温度传感器实验

知道了这条直线的斜率,同时知道某一个点,那么这根线也就确定了。确定了这根线就可以确定在这根线上任何一点的对应关系。

公式的计算方法:

比如我们知道了斜率是A,同时知道了这个点:在25度的时候电压输出是V25

斜率是一个直角的高度/宽度。

A=(V25-V)/(T-25度)

因此 T=25+(V25-V)/A

(三)开启内部温度传感器的步骤

51.内部温度传感器实验

二。实验程序讲解

tsensor.c

//初始化ADC

//这里我们仅以规则通道为例

//我们默认将开启通道0~3

void T_Adc_Init(void)  //ADC通道初始化

{

ADC_InitTypeDef ADC_InitStructure; 

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1 , ENABLE );  //使能GPIOA,ADC1通道时钟

  

RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //分频因子6时钟为72M/6=12MHz

  ADC_DeInit(ADC1);  //将外设 ADC1 的全部寄存器重设为缺省值

 

ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在独立模式

ADC_InitStructure.ADC_ScanConvMode = DISABLE; //模数转换工作在单通道模式

ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式

ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动

ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; //ADC数据右对齐

ADC_InitStructure.ADC_NbrOfChannel = 1; //顺序进行规则转换的ADC通道的数目

ADC_Init(ADC1, &ADC_InitStructure); //根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器

ADC_TempSensorVrefintCmd(ENABLE); //开启内部温度传感器

 

ADC_Cmd(ADC1, ENABLE); //使能指定的ADC1

ADC_ResetCalibration(ADC1); //重置指定的ADC1的复位寄存器

    while(ADC_GetResetCalibrationStatus(ADC1)); //获取ADC1重置校准寄存器的状态,设置状态则等待

ADC_StartCalibration(ADC1); //

while(ADC_GetCalibrationStatus(ADC1)); //获取指定ADC1的校准程序,设置状态则等待

}

u16 T_Get_Adc(u8 ch)   

{

 

ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 ); //ADC1,ADC通道16,第一个转换,采样时间为239.5周期      

 

ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能

while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束

return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果

}

//得到ADC采样内部温度传感器的值,读出来的是采样的值

//取10次,然后平均

u16 T_Get_Temp(void)

{

u16 temp_val=0;

u8 t;

for(t=0;t<10;t++)

{

temp_val+=T_Get_Adc(ADC_Channel_16);  //TampSensor,获取通道16的ADC值

delay_ms(5);

}

return temp_val/10;

}

//得到温度值

//返回值:温度值(扩大了100倍,单位:℃.),比如温度是10.5度,返回值是1050.

short Get_Temprate(void) //获取内部温度传感器温度值

{

u32 adcx;

short result;

  double temperate;

adcx=T_Get_Adc_Average(ADC_Channel_16,20); //读取通道16,20次取平均

temperate=(float)adcx*(3.3/4096); //电压值 

temperate=(1.43-temperate)/0.0043+25; //转换为温度值 

 

result=temperate*=100; //扩大100倍.

return result;

}

主函数main.c

int main(void)

 {  

short temp; 

delay_init();     //延时函数初始化  

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级

uart_init(115200); //串口初始化为115200

LED_Init();   //初始化与LED连接的硬件接口

  LCD_Init(); //初始化LCD

  T_Adc_Init();   //ADC初始化

   

POINT_COLOR=RED;//设置字体为红色 

LCD_ShowString(30,50,200,16,16,"WarShip STM32");

LCD_ShowString(30,70,200,16,16,"Temperature TEST");

LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");

LCD_ShowString(30,110,200,16,16,"2015/1/14");  

POINT_COLOR=BLUE;//设置字体为蓝色    

  

LCD_ShowString(30,140,200,16,16,"TEMPERATE: 00.00C"); 

     

while(1)

{

temp=Get_Temprate(); //得到温度值 

if(temp<0)

{

temp=-temp;

LCD_ShowString(30+10*8,140,16,16,16,"-"); //显示负号

}else LCD_ShowString(30+10*8,140,16,16,16," "); //无符号

LCD_ShowxNum(30+11*8,140,temp/100,2,16,0); //显示整数部分

LCD_ShowxNum(30+14*8,140,temp0,2,16, 0X80); //显示小数部分

LED0=!LED0;

delay_ms(250);

}

51.内部温度传感器实验


推荐阅读

史海拾趣

Bce Sud公司的发展小趣事

面对市场的不断变化和消费者需求的日益多样化,Bce Sud始终坚持创新驱动的发展理念。公司不断推出新产品,从半导体芯片拓展到传感器、集成电路等领域,产品线日益丰富。这些创新产品不仅提升了公司的市场竞争力,也为消费者带来了更多选择。

亿佰特(EBYTE)公司的发展小趣事

亿佰特始终坚持以质量为核心的发展理念。公司建立了严格的质量控制体系,从原材料采购到生产制造,再到产品检验,每一个环节都严格把关。通过精细化的管理,亿佰特确保了产品的优良品质。同时,公司还注重售后服务,为客户提供全方位的支持。正是凭借卓越的品质和优质的服务,亿佰特赢得了客户的信赖和市场的认可。

Ho Chien Electronics Group Inc公司的发展小趣事

亿佰特在发展过程中,荣获了多项荣誉和奖项。公司成功入选2022年度四川省“专精特新”中小企业名单,这是对公司在细分市场专业化、企业管理精细化、产品或服务特色化、科技成果新颖化等方面的认可。同时,亿佰特还积极履行社会责任,关注环保和公益事业,展现了企业的良好形象和责任感。

以上五个故事方向涵盖了亿佰特在电子行业中的发展过程中的重要方面,希望能够帮助您了解该公司的成长历程。

Dfx公司的发展小趣事

在智能手机行业快速发展的背景下,某知名手机制造商面临着如何将更多功能集成到更小空间的挑战。通过引入DFX的设计理念,该公司成功实现了硬件的小型化,同时保持了高性能和可靠性。通过优化内部布局、采用先进封装技术和选用高性能元器件,该手机制造商在保持产品竞争力的同时,满足了消费者对轻薄、高性能手机的需求。

Eurosil Electronics Ltd公司的发展小趣事

面对日益激烈的市场竞争,Eurosil始终保持对研发的投入和关注。公司不断引进新技术、新设备,加强研发团队的建设,推动产品升级和产业升级。通过持续的创新,Eurosil在电子行业中保持了领先地位,并为客户提供了更加先进、高效的产品解决方案。

富捷(FOJAN)公司的发展小趣事

富捷电子深知质量是企业生存和发展的基石。因此,公司高度重视质量管理体系建设,成功导入了ISO9001/IATF16949及VDA6.3质量管理体系、ISO14001环境管理体系。在原材料管理、产品生产、产品过程检验及出货流程中,公司严格遵循体系要求,秉持全面质量管理(TQM)精神,确保每一环节都达到国际最高品质标准。这种对质量的执着追求,赢得了客户的广泛信赖和好评。

问答坊 | AI 解惑

用VisualAudio设计高效实时音频系统的设计

VisualAudio设计和开发环境是设计和开发音频系统的新软件,它的实时架构特别适合音频产品的开发.本文简短介绍VisualAudio,然后描述它的构架,音频模块和在音频产品上的应用…

查看全部问答>

求助:寻找RF芯片

想找一颗接收为ASK, 工作频率在300-900Mhz,工作电压在2.5-5V,占用带宽小于25khz的芯片,请不吝赐教。…

查看全部问答>

timeo = jiffies + (HZ/100); 这句话什么意思呀/?

来自EEWORLD合作群:arm linux fpga 嵌入0(49900581) 群主:wangkj…

查看全部问答>

Makefile语法小问题

嵌入式U-boot的Makefile中有这么一句 smdk2410_config        :        unconfig         @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0 课本解释 $(@:_config= ...…

查看全部问答>

将肥皂变成肥皂泡的机器

在公共场合如卫生间内,你很少会见到有提供肥皂洗手的,毕竟与多人共用一块肥皂那是件很让人难以接受的事情。设计师WooJae Lee等想了个办法,带来了这个液体肥皂机:Re-Bubble。只需将肥皂从顶部像投币一样投进去,经过机器操作,管道里就存满了泡 ...…

查看全部问答>

【原创】求助:为什么我对SegmentA进行擦除和写以后,再重新启动就没反应了。

想用information memory代替外接EEPROM的。 我是按照书上的例子对SegmentA进行擦除和写的,并且读出来的数确实是我写进去的。就是一断电再上电就没反应了,我怀疑是我把其他的段也擦除了? pFlash=(char *)_AddSegA; //指向SegmentA FCTL1=FWK ...…

查看全部问答>

视频: LED凹口照明应用

$(\'swf_HDX\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/sid/XMjg3NDI4NDAw/v.sw ...…

查看全部问答>

关于LM3S8962

有没有谁8962的开发板已经用的不想用了,可以给我用用?我还没有完整的一套,我只有一个大的板子和一根USB数据线,谢谢啊…

查看全部问答>

如何测试或者计算出动态电阻的等效值?

类似于一个带开关的电阻,测得电流信号呈方波的形式。怎么来测得它的一个固定的等效电阻,或者用计算的方法怎么来计算?…

查看全部问答>

MC9S12XS128英文版资料

希望资料对各位有所帮助。…

查看全部问答>