|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
STM32内置一个温度传感器,通过ADC_IN16这个通道可以读出温度传感器的电压。在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℃
STM32F101xx数据手册
STM32F103xx数据手册
最初发表日期:2008-5-13 |
|