一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 4848|回复: 13
收起左侧

PT100 测温 程序请教!

  [复制链接]
发表于 2011-8-31 11:46 | 显示全部楼层 |阅读模式
最近想学习下,PT100 电阻测温度, 现在已经读出了PT100 对应温度下的AD值,不知道怎么将读出的AD 值转换成相对应的温度显示,
查了资料,说什么查表,公式法, 不会编,请问网友们有做过的没,能否给指点下,谢谢!!
发表于 2011-8-31 13:11 | 显示全部楼层
AD 值与你的电路有关,如果得到的是PT100上产生的电压,换算成电阻就是了。然后或者用查表+线性插补,或者用公式。用公式耗时多,不过占用空间小,网上就有公式。
查表+线性插补比较快,不过需要分度表做数组,占用空间大,这个可能适合你,俺就简单说下好了:
假如你经换算测得的电阻值为 110.32 ohm,这个值大于 26度时的110.12,小于27度时的110.51,做个循环就能判断出来这个,然后。。。
顺手画了个图,还画错了。。。 ~~0度时是100欧姆,不该过原点的。懒得重画了,无视那个错误吧~~
2011-08-31 12 54 33.png
温度值就该是:
(X-26) / (110.32 - 110.12)  =  ( 27-26) / (110.51-110.12)
X = 26.51 度。
发表于 2011-8-31 13:41 | 显示全部楼层
俺咋记得不是直线呢?
发表于 2011-8-31 14:46 | 显示全部楼层
查表+线性插值好!占用空间不大,每个小区间的非线性误差很小,总误差也就很小。编制一段校准(学习)程序还可以消除其他环节(比如测量放大)的误差,这点在批量生产中很重要,可以将硬件校准工作变成软件校准操作。
发表于 2011-8-31 19:43 | 显示全部楼层
俺咋记得不是直线呢?
199003326 发表于 2011-8-31 13:41 https://www.yleee.com.cn/images/common/back.gif



    。。。。你难道非要俺把原曲线画出来啊? 这俺都嫌累了。。。
发表于 2011-8-31 20:00 | 显示全部楼层
有个简单的办法:用一个大数组 用AD值当下标将对应的温度值存进去就可以
发表于 2011-9-4 13:36 | 显示全部楼层
AD 值与你的电路有关,如果得到的是PT100上产生的电压,换算成电阻就是了。然后或者用查表+线性插补,或者用 ...
huayuliang 发表于 2011-8-31 13:11 https://www.yleee.com.cn/images/common/back.gif





        查表+线性插补   这是比较理想的方法!

        根据你的精度需要,分段校正,选择10度。。。。还是20度。


        调试时也可用精密电阻代替PT100。
 楼主| 发表于 2011-9-5 11:53 | 显示全部楼层
if(AD_counter >= 10){               
                                 AD_BatteryValue = AD_Buffer1 / 10;
                                 AD_counter = 0;
                                 AD_Buffer1 = 0;
                                 AD_BatteryVoltage = AD_BatteryValue * 3.3 / 4096;
                                 DisVoltage = (u32)(AD_BatteryVoltage * 1000); //

                                 disnum[0] = DisVoltage / 1000;
                                 disnum[1] = (DisVoltage % 1000) / 100;
                                 disnum[2] = (DisVoltage % 100) / 10;
                                 disnum[3] = (DisVoltage % 10);
                          }                                                                
老师们,我现在已经把电路的AD 值读出来了, AD 采样 采用10读取AD值,取平均数,  查表,线性补偿 具体不知道咋弄?谢谢!!
发表于 2011-9-5 12:12 | 显示全部楼层
假如温度A0、A1、A2、......的AD值(已经在表中)分别是B0、B1、B2、......。
测量时AD值为C,那么首先查表,看看C在什么区间。假定 Bn<C<Bn+1,那么温度就是An+(C-Bn)(An-An+1)/(Bn-Bn+1)
发表于 2011-9-5 19:45 | 显示全部楼层
没玩过,留个记号以后看

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-4-29 18:14 , Processed in 0.060079 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表