1、常见的NTC类型
(1)3435;
(2)3950;
2、温度转换的常用方式
(1)查表法;
(2)表达式直接转换;
3、NTC阻值转温度算法
因为NTC的温度与阻值并不是线性的关系,所以需要算法来计算NTC阻值所对应的温度。
#include <math.h>
static const float Rp = 10000.0f; //10K
static const float T2 = (273.15f+25.0f);//T2
static const float Bx = 3435.0f;//B
static const float Ka = 273.15f;
/**
* NTC 热敏电阻温度计算公式
* Rt?= R *EXP(B*(1/T1-1/T2))
* 这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;其中T2=(273.15+25)
* Rt 是热敏电阻在T1温度下的阻值;
* R是热敏电阻在T2常温下的标称阻值;
* B值是热敏电阻的重要参数;
* EXP是e的n次方;
*/
static float get_temperature(u16_t res)
{
float Rt;
float temp;
Rt = res;
//like this R=5000, T2=273.15+25,B=3470, RT=5000*EXP(3470*(1/T1-1/(273.15+25)),
temp = Rt/Rp;
temp = log(temp);//ln(Rt/Rp)
temp /= Bx;//ln(Rt/Rp)/B
temp += (1/T2);
temp = 1/(temp);
temp -= Ka;
return temp;
}