其实电池内部有个热敏电阻, 与外部分压电阻构成一个简单的分压电路, 根据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: 分压电阻 对应电路47k Vin: 参考电压 1.8v
原文:https://www.cnblogs.com/vedic/p/10615857.html