常用温度传感器的采集和换算方法

1、前言

我觉得温度传感器应该是用量最大的传感器了,我也接触了好几种温度传感器,电阻型(50Ω,100Ω)、电流型(4~20mA)、RS485总线型、单总线型,各有各的特点。因为温度传感器使用很频繁,有必要总结一下几种最常用的温度传感器的采集方式和数据换算方法。

2、DS18B20

学习单片机的时候就很早就学过DS18B20温度传感器,测量范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范围内,精度为 ± 0.5°C 。DS18B20的的特点是使用单总线通信,单片机只需要使用一根IO口与其通信就能获取温度数据,而且单总线上可以并入多个传感器。但是单总线也是DS18B20的缺点之一,单总线的长度不能太长,否则容易导致信号不稳定,易受干扰,所以适合测量电路板的温度、机箱内温度等,如果测量点在2米以外这通信就不稳定了。另外主机端读取温度的时候时序要求比较严格,通信一次需要消耗ms级的运算时间(其实大部分是在循环等待),通信过程中不宜被打断,如果关闭全局中断,会影响其他重要事件的响应。

DS18B20的通讯时序就不介绍了,网上实在是太多资料了。

3、PT100/PT1000

PT100和PT1000传感器是一样的,都是电阻型的传感器,使用的材质为铂电阻(很贵的样子),温度的采集范围可以在-200℃~+850℃,比DS18B20温度传感器的测量范围宽很多。PT100传感器在0℃的时候为100欧姆,PT1000传感器在0℃的时候为1000欧姆,使用的比较多的是PT100,这里就介绍PT100传感器。

PT100的温度分度表百度上满满的。表面看来PT100的测量温度T和电阻R呈现线性关系,但是实际上不完全是线性的,偏差大的地方会有好几摄氏度的误差,如果想要得到比较高精度的温度测量结果就不能按照线性关系来计算。使用查表法可以计算比较精确的温度值,PT100的分度表是每5℃记录一次阻值,我们如果测量测到电阻为Ra,这时候从电阻分度表中使用二分法进行查找找到电阻Ra处于哪两个阻值Rb、Rc之间(假如没有正好落在阻值上面),然后在Rb和Rc之间近似按照线性计算Ra对应的温度值。实际使用的精度非常高,主要误差还是在测量传感器电阻上。

4、CU50/CU100

CU50和CU100的关系跟PT100和PT1000的关系是一样的,只介绍CU50传感器。CU50的CU表示的是铜(PT表示的是铂),也就是说CU50使用的是铜材质(很便宜的样子),但是CU50得温度测量范围为-50°C-150°C,在测量温度在-50°C-150°C范围之内的时候,传感器电阻和温度处于一定的函数关系,当低于-50℃或者高于150℃的时候就不符合那个函数式了,可能是由于铜的材质问题,所以CU50一般只能测量-50°C-150°C温度范围。

CU50热电阻分度表参考文章:https://wenku.baidu.com/view/9c5ee92e14791711cc791781.html

当测量温度在-50℃<t<150℃时,,其中A=4.280×10-3;B=-9.31×10-8;C=1.23×10-9,R(0℃)=50。 这是传感器电阻关于温度的函数式,但是我们真正使用的时候能测量出来传感器的电阻,需要求出来对应的温度,所以这个式子需要把X轴和Y轴掉个。但是发现这个式子是一个一元三次函数,我试着解了一次想得到温度T关于电阻r的函数式T=f(r),着实解不出来,那就耍点技巧--将次。

假设测量的温度t为150℃,这时候电阻R差不多为82欧姆,这时候:

1+At+Bt(t-100℃)+Ct2(t-100℃)

= 1 + A*150 + B*150*(150-100)+C*150^2*(150-100)

= 1 + 0.642 - 0.00069825 + 0.00138375。

可以看到上面的几项中后两项小到几乎可以忽略掉,其实不管t为多少,后面两项的值都远小于前两项的,也就是说可以去掉Bt(t-100℃)和Ct2(t-100℃)即可。这时候式子:

就可以转成:

R = R(0℃)[1+At]

R = 50 * [1+At]

这下式子被“降次打击”了,既可以求出t关于R的关系式了:

t = (R/50 - 1) / A

假如测量到的电阻为82.134Ω(150℃),代入上式计算得到 t = 150.159℃,假如测量到的电阻为39.242Ω(-50℃),计算得到的 t = -50.28,误差并不大,属于可以接受大范围之内。降次打击成功。

如果对上面计算的精度还是满意的话,需要解一元三次方程:
R = R(0℃)[1+At+Bt(t-100℃)+Ct^2(t-100℃)]  ..........................................①

R由采集系统测量测到,则有:

Y = R(0℃)[1+At+Bt(t-100℃)+Ct^2(t-100℃)] - R  ..........................................②

求解②式与X轴的交点即可,艺高人可以自行求解。

如果解不出来还有一个常规办法就是查表法,和PT100温度传感器一样。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值