2. Guangdong Atmospheric Observation Technology Centre, Guangzhou 510080
在空气温度测量中,无论是在自然界还是实验室,许多场合都要求测量精度达到0.03℃。为了满足精密的测量要求,通常使用铂电阻传感器(Pt100), 但是它的温度变化特性是非线性的,目前常用的误差补偿方法是用分度查表法,但这种校正精度还是不能满足精密测量的要求。因此需要一种精密的误差补偿算法,还需要设计精密的转换电路,两者结合起来才能实现高精度温度测量。通过推导和实践,总结出一种更加精密的、容易实现的补偿方法,并且在自动站温度现场标校模拟仪器上得到很好的应用。下面重点介绍这种方法的推导过程和软件、硬件的实现。
1 温度传感器特性分析温度是表征物体冷热程度的物理量, 可以通过比较敏感的物体随温度变化而其电阻或电压发生变化等特性的方法来间接测量。金属铂(Pt100)的电阻值随温度变化而变化, 并且它的重现性和稳定性都很好,目前精确测量气体温度普遍采用它。Pt100铂电阻温度传感器零度阻值为100Ω,电阻变化率为0.3851Ω/℃。铂电阻温度传感器的精度高稳定性好,是中低温段(-200~650℃)最常用的一种温度检测器。它的特性关系式[1]为:
当-200℃<t<0℃时,
${\mathit{R}_t} = {R_0}\left[{1 + \mathit{At} + \mathit{B}{\mathit{t}^2} + C\left( {\mathit{t}-100} \right){t^3}} \right] $ | (1) |
当0℃<t<630.74℃时,
$ {\mathit{R}_t} = {R_0}(1 + At + B{t^2}) $ | (2) |
其中Rt和R0分别是在t℃和0℃时的电阻值。A=3.90802×10-3 , B=-5.80195×10-7, C=-4.27350×10-12。根据关系式画出温度与电阻之间的近似曲线图,如图 1所示。从关系式可以看出,存在二次项、三次项和四次项,就是铂电阻的阻值与温度之间不是线性关系,因此在精密测量的实际应用中必须考虑它的非线性校正问题。
对于精度级别为1/3DIN B和A级铂电阻传感器,从铂电阻特性公式的式(1)和式(2)中计算可以得出,在-100℃~+100℃的气温测量范围里,通过计算可得表 1,上述式(1)的二次项、三次项和四次项造成的温度最大误差为-1.7286℃;式(2)二次项造成的温度最大误差为-1.506 6℃。因此在计算气温时可以首先考虑一次项和常数项组成的线性关系式Rt=R0(1+At),然后再采用补偿方法进行二次项、三次项和四次项校正[2]。
对简化以后的线性关系式Rt=R0(1+At),可以用图 3电路来实现。图 3电路中电流I同时流过R0、Rt和R3,则IRt=IR0+IR0At,即Vt=V0+AV0t,那么,
对于设计高精度的铂电阻测温装置,必须进行精密的误差校正。但对于嵌入式系统来说,对式(1)和式(2)直接进行公式求解法求解出温度t是难以实现的。线性关系式
$t = \frac{{{{V}_t}-{{V}_0}}}{{{A}{{V}_0}}} $ |
可以直接计算出线性部分,但上述式(1)和式(2)的二次项、三次项和四次项造成的温度误差由下面算法获得。在-100℃~+100℃内事先以每1℃为间隔预先计算出其对应的误差,精确到小数点后4位,如表 1所示,存储在一张误差分度表P_T CalError[101]和N_TCalError[101]中,显然,以1℃为间隔进行补偿是不能满足0.03℃精度或者更高精度,因此,把此误差分度表定义为粗误差,如图 2所示的X1和X2。传统的非线性校正只是考虑这种粗误差。
精误差校正是如何实现的呢?从误差分度表中可以看出,分度之间还有最大0.03℃的误差,为了再对1℃间隔之间进行微小误差校正,也就是总结出来的所谓精校正,方法是,从图 2可以看出,N℃和(N+1)℃之间的误差变化很小,可以近似看作线性,把它分为10等分,根据t的小数点后1位数字a来计算真实误差X,计算方法是
为了实现高精度的气温测量,首先要设计分辨率高、温度漂移小的模/数电路,这是精密测温的关键所在。本设计主要采用了核心器件十六位分辨率A/D转换器AD7706(U1)、恒流源HL1、标准电阻R0、被测铂电阻Rt和基准参考电压源REF198(U2),原理图如图 3所示。AD7706利用了ε-Δ转换技术实现了16位无丢失代码性能,三线串行输入数字接口,可以通过软件配置芯片的增益值、输入信号极性和数据更新速率。还具有自校准和系统校准功能,能够消除器件本身和系统的增益以及偏移误差,也是提高测量精度的关键技术之一。电路中由U2产生一个非常稳定的4096mV基准电压加到测量信号取样电路上,恒流源HL1产生恒定的2mA电流,同时流过标准电阻R0和被测铂电阻Rt。实践证明,电流不能太大,否则铂电阻Rt会产生自热而影响测量精度,太小又容易受到毛刺干扰同样影响测量精度。这里阻值100Ω标准电阻R0精度应优于±0.01%,温度系数应优于10-6,而被测铂电阻Rt的阻值是随温度变化而变化的,在自然界气温测量范围-100℃~+100℃中,Rt(Pt100)的阻值变化范围是60.26~138.51Ω,那么2mA电流流过Rt时它的电压降范围是120.52~277.02mV。实际测量方法是通过模拟开关SW1(ADG507)切换交替测出R0和Rt的压降,再经过计算得出温度值。值得一提的是,这里用同一模拟通道和同一A/D转换器对R0和Rt的电压降进行交替测量,能够消除R0和A/D转换器由于温漂而产生的系统误差。
本设计中,R3是必不可少的,因为AD7706的输入差分放大器负端(-)输入接近0电平的位置线性不好,R3产生台阶电压迫使离开非线性区。注意基准电压输出端应该并联10u和1000p去耦电容C8和C9,同时第一通道输入端须加入由三个1000P电容C5、C6、C7和两个10K电阻R1、R2组成的去耦电路,因为微小的噪声电平都会影响A/D转换器转换精度[3]。由于被测铂电阻传感器的安装一般远离A/D转换电路,所以必须采用四线制接法,避免引线电阻引入附加误差。
4.2 转换精度分析前面讲到,在-100℃~100℃的气温测量范围,图 3中2mA电流流过Rt时它的电压降范围是120.52~277.02mV,但是在常规气象观测中气温测量范围通常是-60~60℃[4],所以2mA电流流过Rt时它的电压降范围是153.1~246.9mV,流过R0和R的电压降都是100.0mV,因此AD7706的最大共模输入电压为446.9mV。因为A/D转换器的基准参考电压等于4096mV,也就要求输入信号经过放大以后必须满足电压≤4096mV,由此算出AD7706的增益应该设置为9.16倍,实际取8倍,AD7706的分辨率是16位,这时信号电压分辨率=8×446.9÷65536=54.6μV/字;-60~+60℃全程范围温度分辨率=120℃÷65536字=0.0018℃/字。一般来说最后一位是不确定的,所以A/D转换最小分辨率是0.018℃/字。
5 软件编程粗、精误差较正可以通过软件来实现。采用单片机高级语言Keil C51编程[5],代码高效简洁,易读。根据推导公式
举例,假设实测数字量Vt=226,V0=200,那么上述代码算出温度t=33.10℃。
6 结束语实现精密的温度测量,取决于硬件电路的设计方法和元器件的稳定性和精度,同时必须找到可行的微小误差校正方法。针对铂电阻(Pt100)非线性温度特性,本设计总结出来一种独特的粗和精两级误差校正方法,粗校正是以1℃间隔分度快速查表,精校正是在粗校正基础上用平均法以0.1℃间隔进行微小误差校正。硬件以性能优越的AD7706为核心构成精密转换电路,它具有实时自校准和系统校准功能。本设计方法既能应用于一般的工程测量,也可以应用于较高精度的测温装置。据此方法设计的自动站温度现场标校模拟仪器通过与气象一级计量检定设备比对,在常规气象观测的气温测量范围-60~+60℃内,能够实现不确定度0.03℃。
广州德力权仪表有限公司. 铂电阻温度传感器[OL]. http://www.sensycon.cn/product/gb/product_detail.asp?productid=19
|
张翠莲, 杨家强, 李伟., 2002. 铂电阻温度传感器的非线性特性及其线性化校正方法[J]. 微计算机信息, 18(1): 43-45. |
张雄希, 田向丽, 海红., 2006. 一种便携式高精度数据采集系统的设计[J]. 电子技术应用, 32(4): 68-70. |
胡桂芳, 李芸, 李德萍., 2004. 山东近百年来的最高、最低温度变化[J]. 气象, 30(11): 43-46. |
电子开发网. Keil C51使用详解[OL]. http://www.dzkf.cn
|