『7x24小时有问必答』
一:硬件设计
这里使用的是MF52-103热敏电阻,其中B为3950,它与10K电阻串联,由于热敏电阻随着温度的升高,电阻值降低,所以10K电阻两端的电压将上升。
二: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;
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码