下面研究下如何做温度转换,一般NTC会提供一个公式是:
Rt = R *EXP(B*(1/T1-1/T2))
对上面的公式解释如下:
1. Rt 是热敏电阻在T1温度下的阻值;
2. R是热敏电阻在T2常温下的标称阻值;
3. B值是热敏电阻的重要参数;
4. EXP是e的n次方;
5. 这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;
比如 NTC热敏电阻 10K (型号:MF52AT) 5%精度 B值:3950 1%
10K就是25度的温度
当0度时 T1=0+273.15,T2=25+273.15 B=3950
Rt1=10000*exp(3950*(1/(273.15+0)-1/(273.15+25)))=33620.6037214357 欧姆。
对于已知Rt求T1还需要做一些转换,对于math.h中提供exp(a)函数,用于求e的 a次方。所以涉及公式转换需要公式lnx。
T = NTC_B*log10(e)*NTC_T0 / ( NTC_T0*log10(fRegister) + NTC_B*log10(e) - NTC_T0*log10(NTC_R0) ) - 273;(这里使用换低公式换成log10,相比log计算时间有明显减少)。