郭世平,张荣福,郁 浩,程金光
(上海理工大学 光电信息与计算机工程学院,上海 200093)
在一些精密仪器,精密医学等科学实验场合[1],对温度的要求高,需要精确到±0.01 ℃。温度的检测和控制更是直接影响到产品质量和效率。采用PT100 铂电阻[2]的高精度测温系统能将微小的温度变化量转换为电阻变化量。但使用PT100 高精度温度测量系统依然存在以下难点:PT100 自热效应、电源噪声以及电子元件温漂对系统稳定性的影响,硬件电路处理信号的非线性误差以及PT100 阻值与温度数值转换存在的换算误差对系统精度的影响。
西北工业大学方益喜介绍了基于三线制恒流源驱动PT100 的高精度测量系统[3-6],有效克服了PT100引线电阻和自热效应,经理论分析后认为系统温度测量误差≤0.01 ℃,但没有考虑到恒流源驱动电路自身的非线性度对于测温系统的影响。装甲兵工程学院的刘国强介绍了基于51 单片机的高精度测量系统[4],利用桥式电路对三线制PT100 进行采集,并采用最小二乘法来消除测量系统的非线性,并应用24 位高性能模数转换器AD7714 对输入的模拟信号进行模/数转换,据称测量系统的测量误差<0.01 ℃。本文提出的恒流桥驱动三线制PT100 铂电阻的方案,有效克服了PT100 的引线内阻、自热效应以及测量电路本身非线性误差对系统的影响。同时通过STM32 单片机的算法校正PT100 自身的非线性提高传感器精度,并用一定的滤波算法提高系统的稳定度和精度。
本温度测量系统采用低温漂精密稳压芯片LT1083 制作的低纹波直流线性稳压电源为系统供电,该线性电源输出电压5 V,接5.8 Ω 负载,电流在1 A条件下纹波电压≤5 μV,纹波系数=0.000 1%,为系统提供了一个可靠的稳定电源,减少了电源自身对于系统的干扰。系统利用两个1 mA 的恒流源分别通过100 Ω 电阻和三线制PT100[5]构成的恒流桥回路,消除因铂电阻自身热效应以及引线电阻和桥路非线性误差引起的影响。再通过差分放大器经过放大调理单元,将PT100 上微小的电阻变化量转换为可检测的电压变化量,处理后得到的电压信号利用16 位高精度模数转换器AD7606 转换为数字信号,给STM32 单片机进行处理。STM32 对AD7606 采集到的电压值进行数字滤波处理后,利用线性内插法实现电压/温度的转换。
图1 温度测量原理图
PT100 铂电阻在0 ℃的时候阻值为100 Ω,其阻值会随着温度上升匀速增长。铂电阻具有长期稳定性好、老化小,温度/阻值转化线性好且复现性好的特点,因此常用在高精度的温度采集系统[7]中。按照IEC751 国际标准,在0 ~650 ℃范围,电阻与温度的关系特性可表示为
式中,A=3.908 02×10-3℃,B=-5.802×10-7℃,Rt,R0分别为温度t ℃和0 ℃时铂电阻的阻值。PT100铂电阻根据特性有一个分度表,即不同温度下对应PT100 的阻值表。
PT100 常用的测温电路有桥式测温电路和恒流源测温电路,但电桥电路的非线性比较大,而恒流源电路不利于取零点温度,且PT100 的电流会随温度的变化而改变。本文采用恒流桥电路驱动铂电阻,结合两者的优点可得到完全正比于PT100 电阻的电压信号并有效克服了普通电桥的非线性,且恒流桥也使得输出与VCC无关。图2 列出了这3 种测温方法的非线性度比较,显然在一定的温度范围内恒流桥路自身的非线性度<0.001 ℃,可忽略。
图2 3 种测温电路非线性比较
图1 给出了左半部分给出了恒流桥的工作原理,恒流桥上的两个1 mA 恒流源采用高精度低失调电压运放OP37 构成,所需的基准电压由精密三端稳压器LT1083 输出的低纹波5 V 直流电压源和高精度基准器REF5040 提供的4 V 参考电压组成。电路中利用两个对称的恒流源构成恒流桥电路,减小恒流源随温度变化对系统的影响,同时恒流源的电流不能过大,否则PT100 会有明显的自热效应,实验证明恒流源电流不能>1.5 mA,图中r 表示三线制PT100 上的绕线电阻。
信号放大单元主要由精密低温漂仪表放大器ina118 和精密低温漂opa350 两级放大电路构成,如图3所示。在0 ℃以上时恒流桥上PT100 对应的电阻>100 Ω,因此ina118 高精度仪表放大器的反相输入端与恒流桥的OUT2 相连,同相输入端与恒流桥上的OUT1 相连。该差分放大的放大倍数G=1+50K/Rg,如图Rg为1 kΩ,经过仪表放大后输出电压为U1=51×(OUT1-OUT2)。系统温度测量范围是0 ~100 ℃,在这个范围内PT100 的阻值变化为38.5 Ω,对应恒流桥上输出的电压差为38.5 mV,放大单元[8]的输出电压范围在0 ~5 V。放大单元应该满足输入电压与输出电压对应,因此二级放大的放大增益应该<2.55,本文取二级放大增益2.5,放大单元输出的模拟电压值AOUT=127.5×(OUT1-OUT2)。
图3 信号放大电路
AD7606 是采用高速、低功耗、电荷再分配逐次逼近型模数转换器,能对8 路模拟信号进行同步采样的高速16 位数据采集系统[8]。器件内部有模拟输入箝位保护、二阶抗混频滤波器、2.5 V 基准电压和灵活的数字滤波器。其片内的2.5 V 带隙基准电压源为数模转换提供了一个稳定的参考电压,同时片内可选的数字一阶滤波器可提高模数转换的稳定度。STM32 与AD7606 采用并行通信模式快速采集数据,AD7606 的采集电路如图4 所示。
图4 A/D 转换电路
在0 ~650 ℃范围,铂电阻的阻值Rt=R0[1+At+Bt2],随着温度的升高,铂电阻的非线性就越严重。所以在温度测量系统中,要根据上式换算得到温度必须求解二次方程,或者进行线性拟合优化处理,但这些方法计算复杂,精度也难以保证。本文使用一种线性内插法进行温度换算,换算方法简单、稳定且精度高,但对PT100 要求较高,与分度表误差小。因此在选择PT100 时均需要对铂电阻的精确度进行检定,选取与分度表阻值对应的铂电阻。较为常见的检定方法是通过在0 ℃和100 ℃两点温标进行检定。0 ℃检定过程可以用冰水混合物,将传感器全部浸泡,稳定后用万用表按照常规精密测试铂电阻阻值。100 ℃检定可用沸水,沸水烧的时间长,并多做一些读数以便观察是否稳定。使用检定时要注意水是否纯净以及外界气压对冰点和沸点都有一定的影响,因此尽量选择蒸馏水并在标准大气压下进行检定。
AD7606 模数转换器将采集到的模拟电压值转换成数字电压值后输出给主控单元STM32,STM32 将电压值转换为PT100 上对应的电阻值,再根据PT100 铂电阻的分度表进行线性内插法判定当前温度值。AD7606 模数转换器上输出数字电压值的范围是-32 768 ~32 767 mV,而要转换成的PT100 电阻在0 ~100 ℃下的阻值范围为100 ~138.5 Ω,因此需要用STM32 对输入的数字电压值进行计算转换成PT100 的阻值。AD7606 输出的数字电压DOUT 对应PT100 上阻值R=DOUT×5/(32 767×Ag)。其中,Ag表示放大单元的增益。在得到PT100 的阻值后,STM32 根据分度表利用线性插值法就可推算出当前温度。首先,根据上式得出PT100 当前温度下的阻值R,接着与STM32 事先建立好的分度表进行比较,找出R 所在分度表两个相邻整数温度下对应的电阻区间有R1≤R≤R2,然后做线性内插。T1和T2下PT100 的电阻差值为ΔR=R2-R1,而当前PT100 的阻值与T1的阻值差为ΔR1=R-R1,尽管PT100 在大温度范围内具有一定的非线性,但在1 ℃范围内铂电阻的线性较好,进行线性内插,误差不会超过0.000 1 ℃,完全可忽略。因此,当前温度比T1大ΔR1/ΔR ℃,推出当前温度为T=T1+ΔR1/ΔR。例 如:根 据 计 算 已 PT10 电 阻 为101.798 2 Ω,查表可得在4 ℃和5 ℃时PT100 的阻值分别为101.562 4 Ω 和101.952 7 Ω,在这1 ℃温差下PT100 阻值相差0.390 3 Ω,而此时PT100 的阻值比4 ℃下的阻值大了(101.798 2-101.562 4)=0.235 8 Ω,根据其温度/电阻的线性相当于0.235 8/0.390 3=0.604 2 ℃,因此对应温度为4.604 2 ℃。温度转换的流程图如图5 所示。
图5 温度转换流程
该测温系统中的实际温度由WZPB-1 型一级标准铂电阻温度计进行标定。通过在较理想的实验条件下进行实验,实验结果如表1 所示:测量系统引入的最大误差不超过0.008 ℃。因此只要PT100 铂电阻的精度足够高,定标误差足够小,整个温度测量系统就能满足高精度的测量要求。
表1 测量系统标定结果及误差
利用恒流桥驱动三线制PT100 铂电阻,有效克服了导线电阻和热效应对于测量系统的影响,同时也减小了桥路自身的非线性及温度变化对电子元器件的影响。利用低纹波的高精度线性直流电压源和带有数字滤波器的AD7606 采集系统,进一步减小了外界噪声对系统的干扰,增加了系统稳定性;在单片机温度换算中,使用了线性插值法使得系统简单、稳定,大幅提高了系统测量精度和稳定度,使得系统测量误差≤±0.01 ℃。
[1] 方益善,雷开卓,屈健康,等.基于PT1000 的高精度温度测量系统[J].电子设计工程,2010,18(10):79-82.
[2] 刘国强,唐东红,李东伟.基于AT89C51 单片机的高精度测温系统的研制[J].仪器仪表学报,2005,8(8):258-260.
[3] 杨彦伟.高精度温度测量系统的设计[J].电子技术,2004(7):18-20.
[4] 方益善,雷开卓,张群飞,等.基于三线制恒流源驱动的高精度温度测量系统[J].计算机工程与应用,2012,48(S2):531-534.
[5] 杨永军.温度测量计算现状和发展概述[J].计测技术,2009,29(4):62-65.
[6] 朱育红.工业铂电阻精确测温方法[J].中国测试技术,2007,33(4):50-52.
[7] 易先军,文小玲,刘翠煤.一种高精度温度测量电路设计[J].仪器仪表用户,2008,15(6):72-73.
[8] 李波,陈金华,徐行,等.基于热敏电阻的多通道高精度温度测量系统[J].电子技术,2008(5):87-88.