STM32温度传感器的使用和计算
Temperature (in ℃) = {(V25 - VSENSE) / Avg_Slope} + 25
公式中的Vsense就是在ADC_IN16读到的数值。Avg_Slope就是温度与ADC数值转换的斜率。
设想一个XY坐标,X轴为ADC的电压读数,Y轴为温度,两轴之间有一条直线代表了温度与转换电压的关系;在这条直线上如果X轴电压为V25时,Y轴即为25℃;当读出的电压是其它数值时,即读出的电压是Vsense时,使用这个公式就可以得到温度的数值。
在STM32F103xx的数据手册中分别给出了V25和Avg_Slope的值:
V25 最小=1.34V 典型=1.43V 最大=1.52V
Avg_Slope 最小=4.0 典型=4.3 最大=4.6 单位是 mV/℃
例如读到Vsense = 1.30V。分别取V25和Avg_Slope的典型值,计算得到:
(1.43 - 1.30)/0.0043 + 25 = 55.23
所以温度大约为 55℃
评论