注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
69岁老同志的个人空间 https://home.eeworld.com.cn/space-uid-1353380.html [收藏] [复制] [分享] [RSS]
日志

温度传感器电路温度计算

已有 103 次阅读2024-10-18 09:51 |个人分类:stm32

**电路原理**

学单片机这么久,要说难的话,就是跟电路结合起来一起分析,因为要补电路的基础知识。温度传感器的话一般是用热敏电阻来做的,那么就是温度与电阻相关,用电路间接求出电阻,用电阻来对照温度电阻表格来求出温度。

因为单片机的ADC引脚是采样VREF-到VREF+的范围,这两个一般一个接地,一个接3.3v,那么就是0~3.3V的测量范围。因为ADC的精度是12位的,那么采样值转换的电压值就是

V=采样值*Vref/(2^12)=value*3.3/4096;

通常是用电阻分压电路来测量热敏电阻的电压,根据电压再反推阻值。

 

**电压计算**

比如图中的电路。R58和C73都不参与分压,电容都可以看成是开路,不去考虑。真正分压的电阻就是R59和没画出来的RT;

TEMP1接ADC,TEMP_IN1接RT电阻,在图中未画出;
UADC=VCC*RT/(RT+R59);
UADC=VALUE*VCC/2^12=VALUE*3.3/4096
这样已知ADC采样的value,就可以得出UADC,就可以解出RT值,根据RT表再反推出温度值。
温度值的计算分为两步一步是整数部分确定,另一部分是根据比例确认出小数。

**阻值计算**

找到详细的RT表,最好精度是1℃的,不然误差会比较大,可以找商家要。取电阻的中心值,比如-55℃时,中心值是250.065KΩ。

 

 

然后在Excel里拉张表,把温度和电阻值都放进去,后面再提前算出单片机的采样值,表里面的采样公式是一个RT电阻和一个4.3KΩ电阻的分压数值。这样根据采样值来跟表里的比较,来推出电阻值。

我们可以在程序里把这张采样表放进来,用数组来表示。第一行的就表示在这个采样值下对应的温度,-45~-40,一般厂家给的实验就是-50~100度左右。

 

然后如果要算1度的精度,把单片机的采样value和这张表来比较,用for循环来遍历。算出整数部分之后,小数部分大概用采样值占两个数值间的比例来算出小数。因为表格的温度是从-45度开始的,所以公式里(i-45)*10表示温度的整数部分,后面的部分就是算小数的,可以加上小数,也可以减小数,就看你的整数取的是上限还是下限。最后返回的res就是实际温度*10。总的来说,是比较抽象的思维。

 

总体来说,ADC只能采样电压值,所以无论采样什么东西,最后都要转换成电压值。

下面这个电路思路其实一样,10K的电阻不参与分压。只有2.37k和RT进行分压3.3V。

   

下图的电路就稍微复杂一点,加入了放大器。

 

 

 

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章