锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

NTC温度计算(附程序)

时间:2023-02-02 07:00:00 150kntc电阻

一、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采集之后计算得到的电阻值,经过计算出来得到的温度是否正确。本文中只截取一部分常用温度供读者验证。

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

相关文章