热敏电阻温度计算 公式 程序

一、热敏电阻公式

NTC 热敏电阻温度计算公式:Rt = R *EXP(B*(1/T1-1/T2))

其中,T1和T2指的是K度,即开尔文温度。

Rt 是热敏电阻在T1温度下的阻值。

R是热敏电阻在T2常温下的标称阻值。100K的热敏电阻25℃的值为100K(即R=100K)。T2=(273.15+25)

EXP是e的n次方

B值是热敏电阻的重要参数

通过转换可以得到温度T1与电阻Rt的关系T1=1/(ln(Rt/R)/B+1/T2)

对应的摄氏温度t=T1-273.15,同时+0.5的误差矫正。

二、硬件连接

单片机是3.3V供电,热敏电阻与100K电阻连接。

热敏电阻参数为100K,B值为3950

热敏电阻温度计算 公式 程序_第1张图片

三、程序

下面是程序(stm32),检测了4路温度

因为要用到数学函数所以需要添加头文件#include "math.h"

热敏电阻温度计算 公式 程序_第2张图片

然后写公式(电压转换、电阻转换、温度转换)

四、ln、log、lg说明

数学中的公式和c语言中有小小的区别。

1、数学中

log是对数符号,右边写真数和底数(上面是真数,下面是底数)

lg是以10为底数(例lg100=2)(lg为常用对数)

ln是以e为底数(lne2=2)(ln为自然对数 e=2.7182818284590452353602874713527...

2、c语言中

c语言里面只有两个函数log和log10

热敏电阻温度计算 公式 程序_第3张图片

其中

函数 log(x) 表示是以e为底的自然对数,即 ln(x)

函数 log10(x) 以10为底的对数,即 lg(x)

以其它数为底的对数用换底公式来表示

函数如下:

double logab(double a,double b)
{
return log(b)/log(a);
}


你可能感兴趣的:(STM32)