NTC热敏电阻温度计算方法,B值法

1.概述

NTC热敏电阻随环境温度(T)升高,电阻值®会下降,反之,当温度(T)下降,电阻值®会上升。NTC热敏电阻的计算公式有Steinhart-Hart方程和B值法两种方法,我只熟悉了B值法。

常规NTC热敏电阻参数:温度为(R25℃)时,阻值为10kΩ,B值(25/85)为3435。温度为(R25℃)时,阻值为100kΩ,B值(25/50)为3950。

2.计算公式

Rt = R*EXP(B*(1/T1-1/T2))
T1 =1/(ln(Rt/R)/B+1/T2)
这里T1和T2指的是K度即开尔文温度,K度=273.15(绝对温度)+摄氏度;其中T2=(273.15+25)
Rt 是热敏电阻在T1温度下的阻值;
R是热敏电阻在T2常温下的标称阻值;
B值是热敏电阻的重要参数;
EXP是e的n次方;

3.excel公式

=100000*EXP(3950*(1/(273.15+(T))-1/(273.15+25)))
这里以温度为100KΩ,B值为3950为例
T可以输入摄氏度或选中表格,进而生成阻值数据,可以用于查表并获取温度。

4.C程序

#include 

const float Rp=10000.0; //10K
const float T2 = (273.15+25.0);;//T2
const float Bx = 3950.0;//B
const float Ka = 273.15;
	
float Get_Temp(void)
{
	float Rt;
	float temp;
	Rt = Get_TempResistor();
	//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;
} 

你可能感兴趣的:(单片机,嵌入式,NTC)