NTC温度算法&代码实现

本文详细介绍了NTC热敏电阻的温度计算原理,通过数学公式阐述了如何根据NTC的电阻值计算温度,并提供了C语言的代码示例进行实际计算。这种方法适用于对温度精度要求不那么严格的情况,避免了更换NTC后重新移植温度表的麻烦。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NTC温度算法

1.概述

传统的NTC检测温度,需要根据规格书去查表对应温度的电阻值,每更换一种NTC就需要重新移植NTC对应的温度电压表。
对于严格要求温度的精确度的产品建议查表进行
对于可容忍正负1摄氏度的产品建议查用算法进行计算,这样就不需要在更换NTC后进行温度表的重新抄写移植。

2.公式

NTC热敏电阻的计算公式为:
Rt = R EXP(B(1/T1-1/T2))
其中:
T1:单位为开尔文温度,T1=当前摄氏度+273.15
T2:单位为开尔文温度,T2=25+273.15
Rt:即为NTC在T1温度下的电阻值
R:热敏电阻在T2常温下的标称阻值。100K的热敏电阻25℃的值为100K(即R=100K)。此值可以查表NTC规格书
B:是热敏电阻的参数,NTC的规格书会标出
EXP:举个例子EXP(2),即为无理数e的2次方

当前已知NTC电阻值,求此时的温度,将公式进行换算得
T1 =1/(ln(Rt/R)/B+1/T2)
所求摄氏度为
C= T1-273.15

3.编程

C语音需要添加头文件
#include "math.h"

数学中的公式和c语言中有一点区别。
数学中
ln是以e为底数(lne2=2)(ln为自然对数 e=2.7182818284590452353602874713527…)
C语言中
math.h只有两个函数log和log10
其中log代表数学上的ln,函数 log10(x) 以10为底的对数,即 lg(x)。

以其它数为底的对数用换底公式来表示,此NTC温度计算公式只需要用到log这个函数即可。

4.代码示例

#include "math.h"

float BSP_Get_Temperature(float Rntc)
{
	float N1,N2,N3,N4;
	float BX = 3950;
	float T25 = 298.15;
	float R25 = 100;
	N1 = (log(Rntc)-log(R25))/BX;
	N2 = 1/T25 + N1;
	N3 = 1/N2;
	N4 = N3-273.15;
	return N4;
}

其中
Bx:即查询规格书找到的材料参数B
T25 :T25=25+273.15
R25:25摄氏度下对应的NTC电阻值为100千欧,注意此处单位为千欧,因此传入的Rntc单位也要一致为千欧
Rntc:NTC的电阻值,单位为千欧
N4:函数返回的计算出的实际温度

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值