打印
[STM32F1]

stm32 内部温度传感器 如何修正?

[复制链接]
2732|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hugo0chen|  楼主 | 2016-5-26 17:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我们都知道STM32内部有个adc_channel_16连接到内部的温度传感器,可以使用内部传感器测量温度,但是往往温度测量的不准确,如何进行修正呢?
通常,读取ADC_channel_16的步骤为:
1)设置 ADC,开启内部温度传感器。
ADC_TempSensorVrefintCmd(ENABLE); //开启内部温度传感器功能:
2)读取通道 16 的 AD 值,计算结果。
在设置完之后,我们就可以读取温度传感器的电压值了.
3)、转换采样值为温度
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/℃。
//Converted Temperature
Vtemp_sensor = ADC_ConvertedValue * Vdd / Vdd_convert_value;
Current_Temp = (V25 - Vtemp_sensor)/Avg_Slope + 25;

沙发
Stannis| | 2016-5-26 20:11 | 只看该作者
这是不是得加补偿啊

使用特权

评论回复
板凳
Thethree| | 2016-5-26 20:42 | 只看该作者
不是专业的测温度的芯片不能修正吧

使用特权

评论回复
地板
Ryze| | 2016-5-26 21:04 | 只看该作者
STM32内部温度传感器与ADC的通道16相连,与ADC配合使用实现温度测量。测量范围–40~125℃,精度 ± 1.5℃

使用特权

评论回复
5
豆腐块| | 2016-5-26 21:20 | 只看该作者
查数据手册,零点和斜率离散性都很大的,很难整定的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

191

帖子

3

粉丝