一、原理
其实电池内部有个热敏电阻, 与外部分压电阻构成一个简单的分压电路, 根据ADC采样得到的电压j计算热敏阻值再反推此时的温度, 首先我们要先了解热敏电阻阻值和温度一个公式:
/*NTC热敏电阻公式 Rt = R * exp(B*(1/T1-1/T2))
Rt:在T1下的电阻值
T1/T2: 指的是K度,即开尔文温度, T=273.15 + 摄氏度
R: 在T2下的标称阻值,比如在25摄氏度10000欧, T2=273.15 + 25
B:热敏电阻一个参数, 比如3950
exp:e的n次方
我们可以通过温度得到阻值, 也可以通过阻值得到温度
Rt = 10000 * exp(3950*(1/(273.15+t1) - 1/298.15))
t1=1/(ln(Rt/10000)/3950+1/298.15)-273.15*/
我的外部电路如下:
J2是电池插座, 三根线, 中间的就是NTC, BAT_DET连接处理器的ADC采样引脚, 分压电阻阻值47k, 参考电压1.8v, 所以:
Rt = Vadc * Rf / (Vin-Vadc)
Vadc: 热敏电阻对应的电压值
Rf: 分压电阻