博客首页 | 排行榜 |

bjtuxiaolong的博客

从0开始学STM32

个人档案
博文分类
温度传感器  2009-01-31 19:12
今天搞了下A/D转换,根据给的例程修改了下,用内置温度传感器把芯片的温度读了出来,大概在30度左右,貌似不能用这个来测定室温了,不过可以用来测定芯片温度,防止芯片烧坏,这个想法不错。

看了中文的数据手册,才发现不少东西都没有了,还是英文的全面。

参数如下:
1.  与ADC的通道16相连,与ADC配合使用实现温度测量;
2.  测量范围–40~125℃,精度±1.5℃。
3.  温度传感器产生一个随温度线性变化的电压,转换范围在2V < VDDA < 3.6V之间。
整个过称比较顺利,把例程里面的改成16通道就可以了。
ADC转换结束以后,读取ADC_DR寄存器中的结果,转换温度值计算公式如下: 
                 V25 - VSENSE 
   T(℃) =  ------------------  + 25 
                  Avg_Slope 
   其中  V25:  温度传感器在25℃时 的输出电压,典型值1.43 V。 
   VSENSE:温度传感器的当前输出电压,与ADC_DR 寄存器中的结果ADC_ConvertedValue之间的转换关系为:  
                             ADC_ConvertedValue * Vdd 
             VSENSE = -------------------------- 
                              Vdd_convert_value(0xFFF) 
     Avg_Slope:温度传感器输出电压和温度的关联参数,典型值4.3 mV/℃。 
转换完在LCD显示就可以了···

不过在A/D转换中,一次转换的结果可能会出现误差,在实际的应用中应该加一个滤波,防止不必要的干扰,将多次转换值取平均就可以了。
|
上一篇:【转】这些代码大家都用得到 | 下一篇:串口通讯
以下网友评论只代表其个人观点,不代表本网站的观点或立场