c语言ntc程序,NTC热敏电阻温度计算以及C语言实现

一:硬件设计

这里使用的是MF52-103热敏电阻,其中B为3950,它与10K电阻串联,由于热敏电阻随着温度的升高,电阻值降低,所以10K电阻两端的电压将上升。

f38fd9284b12e82c3634411c23725062.png

二:NTC热敏电阻的计算

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

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

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

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

EXP是e的n次方

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

通过转换可以得到温度T1与电阻Rt的关系T1=1/(ln(Rt/R)/B+1/T2),这里可以将ln换算成log,即T1=1/(log(Rt/R)/B+1/T2)。

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

三:C程序设计

首先,我们只需要知道当前温度下热敏电阻的阻值就可以算出温度。

该硬件电路是一个简单的串联分压电路,所以通过欧姆定律就可以很容易求得当前温度下的热敏电阻的阻值。

下面是C实现的代码。

//电压换算成温度

void temp_data(void)

{

float Rt=0;

float Rp=10000;

float T2=273.15+25;

float Bx=3950;

float Ka=273.15;

float vol=0;

vol=(float)((Get_Adc_Average(ADC_Channel_5,10))*(3.3/4096));

Rt=(3.3-vol)*10000/vol;

temp=1/(1/T2+log(Rt/Rp)/Bx)-Ka+0.5;

}

  • 3
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值