资讯详情

NTC温度计算(附程序)

一、NTC命名

1、MF代表含义:** 电阻命名 含义 MF51 单端玻璃封装NTC热敏电阻器 MF52 小黑头测温型NTC热敏电阻 MF58 玻壳测温型NTC热敏电阻器 MF72 功率型NTC热敏电阻器 MF73 大功率NTC热敏电阻器 2、10K、5K ··· 代表含义: 这里的10K代表的是在25℃下标准电阻值。同样,5K代表在25℃下标准阻值为5K。 3、B值: B值单位为开尔文温度(K)。高温烧结后,半导体陶瓷通过一系列加工工艺形成一定的电阻率NTC每种配方和烧结温度下,热敏芯片只有一个B值。NTC热敏电阻的B值与产品的电阻温度系数正相关,即B值越大,其电阻温度系数越大。(百度百科回答,其实这里只需要知道这是一个系数,因为下面的计算会用到)

二、硬件连接

在这里插入图片描述

ADC采集NTC电阻两端的电压。通过电压计算得出。NTC此刻阻值Rntc(将在下面使用)。

三、根据阻值计算温度

B:B值(3435、3950···) R25:指NTC在25℃下的阻值(10K、5K、100K···) Rntc:二中计算得到的实时NTC阻值 T25:25℃298文温度,即298.15 Tn:此时计算的实际开尔文温度(摄氏度) C=Tn-273.15 )

根据二计算的电阻值和开尔文公式,可以直接获得当前开尔文的温度Tn公式如下:B=(lnR25 - lnRntc)/(1/T25 - 1/Tn) 获得当前的开尔文温度值:Tn 根据C=Tn-273.15计算摄氏度。

四、程序

需要使用ln,需要用到math.h。需要占用大量资源,所以实现了粘贴ln的算法:

double myln(double a) { 
            int N = 15;我们拿了前15 1项来估算    int k,nk;    double x,xx,y;    x = (a-1)/(a 1);    xx = x*x;    nk = 2*N 1;    y = 1.0/nk;    for(k=N;k>0;k--)    { 
              nk = nk - 2;      y = 1.0/nk xx*y;          }    return 2.0*x*y; } 

开尔文温度算法:

#define T25 298.15 #define R25 10 #define B 3435  float Get_Kelvin_Temperature(float Rntc) { 
          float N1,N2,N3,N4;
	N1 = (myln(R25)-myln(Rntc))/B;
	N2 = 1/T25 - N1;
	N3 = 1/N2;
	N4 = N3-273.15;
	
	return N4;
}

以上程序经过实测OK。如果你在实际使用时发现有问题,看一下使用的设备是否支持浮点运算。

五、验证 可以去嘉立创找一下相应的说明书,验证一下ADC采集之后计算得到的电阻值,经过计算出来得到的温度是否正确。本文中只截取一部分常用温度供读者验证。

标签: 150kntc电阻

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台