常见电路
图1 温度检测电路
R_ntc为热敏电阻
3.3V 采用ADC的参考电压
分压电阻为10K
由电流相等得到
VRntc/Rntc = 3.3V/(R1+Rntc)
得到
3.3V/VRntc =(R1+Rntc)/Rntc
由AD采用就知道
采用12bit的ADC采样计算
4096/Vadc =(R1+Rntc)/Rntc
热敏电阻的温度与阻值关系
Rntc=R25*exp(B*(1/T1-1/T2))
Rntc是热敏电阻的温变阻值
R25 为温度为25°的电阻值 如图2
B是需要查电阻的规格书 如图2
T1为开尔文对应的摄氏温度275.15+电阻当前的温度
T2为开尔文温度273.15+25
图2 热敏电阻规格书截图
这样计算理论电阻我们可以采用execl得到
图3 计算电阻的公式
图4 计算ADC的公式
图5 采样ADC值计算温度公式
根据这些公式我们就能在程序中直接实现代码的编写
uint32_t lu32_Res = 0;
int16_t l16_Tm = 0;
float K = 273.15;
float T1 =298.15;
uint16_t B = 3380;
uint16_t R1 = 10000; //分压电阻值
uint8_t i;
lu32_Res = (uint32_t)((lu16_adc_value*10000)/(4096-lu16_adc_value));
l16_Tm =(int16_t)(1/(1/T1+log(lu32_Res/R1)/B)-K);
上述代码可以直接计算去NTC电阻的温度
注意规格书上的B值以及R25值