点击上方[物联网思考],点击关注,第一时间查看物联网精彩分享!
1、NTC特性
所谓NTC热敏电阻器就是负温度系数热敏电阻器,即就是电阻值随着温度上升而迅速下降,因此可以利用这个特性来测量温度。
2、温度计算公式
其中,T1和T2指的是K度,即开尔文温度,开氏度 = 摄氏度 273.15; Rntc是热敏电阻在T1温度下的阻值; R是热敏电阻在T2常温下的标称阻值,50K的热敏电阻在25℃的值为50K(即R=50K),即T2=273.15 25 ; B是热敏电阻的固有参数,这里B等于3950K。 转换后T1等于如下:
如上计算出的是开尔文温度,再减去273.15,就是摄氏度。
3、C语言求对数函数
在math.h库中,有如下log和log10的函数,都是用于求对数的,log函数其实就是数学中的ln函数。
4、硬件电路
可以看出热敏电阻和R80是分压的,A点的电压就是热敏电阻的分压值,单片机通过采集A点的电压,即可计算出热敏电阻的阻值。
5、计算温度
列出核心代码:
代码语言:javascript复制float K=273.15;
float T1,T2=K 25;
float B=3950.0;
float R=50.0; //50k热敏电阻
float Temp;
T1=1/((log(Rntc/R))/B 1/T2);
printf("T1=%frn",T1);
Temp=T1-K;
printf("Temp=%frn",Temp);
6、50K热敏电阻温度阻值表
下图列出了部分温度与阻值关系对应表:
——————END——————
相关推荐:
STM32f407程序移植到GD32F407
一文彻底了解SSD1306驱动0.96寸OLED
排查矩阵按键丢键问题
用GD32E10x替代STM32F10x程序移植记录