摘要:介绍一种基于A/D 转换原理的铂电阻测温的非线性校正方法,分析了铂电阻线性测温的原理,并给出了A/D 转换器7135 与单片机89C51接口电路及试验数据。 一、引言 铂电阻温度传感器,因其测量范围大,复现性好,稳定性强等特点而被广泛使用。在精密测量系统中,铂电阻测温系统电路结构图如图1 所示:铂电阻信号通常通过桥式电路转换为电压信号,再经过放大及A/D转换后送微处理器进行处理。为了能对铂电阻测温的非线性进行校正,作者利用双积分A/D 转换原理,设计了一种高精度的铂电阻测温非线性校正方案。实践证明,该方法不仅性能稳定,结构简单,而且在0~200℃范围内准确度可达到0.15%FS±4 字。 二、非线性校正原理 1、非线性A/D 转换原理 因为铂电阻经桥路检测后,其输出电压UM 与被测温度θ之间具有函数关系: UM=f(θ)= Aθ+ Bθ2 , 如果能构造成一个函数电路,使其具有与上式相同的函数形式: UN=f(t)= At+ Bt2 同时使UM=UN,则容易得出θ=t(这里,“θ=t”仅有数学意义,实际上它们的量纲是不一样的)。这样,在UM=UN 的前提下,温度θ的测量问题就转化为对时间t 的测量了。 以上是本文阐述的以变量变换的形式实现传感器非线性校正的设计思想。这里t 的量纲为时间,其测量过程是通过双积分A/D转换实现的。双斜率积分转换表达为: (1) 式中:Uin—A/D 转换时模拟输入电压, T1—A/D 转换过程中正向积分时间, T2—A/D 转换过程中反向积分时间, Uref—A/D 转换时参考输入电压。 当Uref 为定值时,Uin 与T2 具有线性关系,因此这种情况下可以认为A/D 输出结果为: T2 = T1Uin / Uref . 假定Uref(t)为时间t 的函数:Uref(t)=M+Nt (2) 其中:M,N 为待定常系数。 A/D转换后的输出结果若能完全补偿铂电阻温度非线性,则有: Uin=aθ+Bθ2 (3) 故将式(2)和式(3)代入式(1), 假设:AT1=M,BT1=N/2, 则有:T2 与q在数值上大小相等,即T2=θ,可见实现了铂电阻的温度与数字量线性转换。 可以看出,在A/D 转换过程中,模拟电压输入与数字量输出之间不是线性关系,其函数关系刚好与Rθ—θ关系相反,当其特性实现了相互完全补偿时,就能获得线性θ/T2 转换。显然,利用双积分A/D转换实现非线性校正的关键是应能满足式(3)所表征的函数关系。本方案采用RC 回路极其简单地达到了该目的。 2. 高精度 A/D 转换器ICL7135 铂电阻测温电路线性化设计的实现采用了4 位半双积分型A/D转换器ICL7135。ICL7135 每一个转换周期分为三个阶段:自动调零阶段、被测电压积分阶段、对基准电压Uref 进行反积分阶段。下面结合铂电阻温度测量分析ICL7135 的工作过程: (1)正向积分阶段 ICL7135 与89C52 接口电路原理图如图2 所示。在此阶段,ICL7135 对Uin 进行定时积分,固定时间T1=10000T0(T0 为时钟周期)。积分器的输出电压为: 同时,在此阶段基准电容C 对电阻R 放电。外接电阻R 正是为了对铂电阻温度特性的二次非线性项进行校正而设置的。此阶段完成时,C 两端电压为: Uc(t)=Uwexp(-t / RC) (5) 式中,Uw为 t = 0 时电容C 两端电压值。 将上式在t = T1 处按马克劳林公式展开, 若选取适当参数,使(T1 +T2 ) << RC , 则上式可简化为: Uc(t)= Uw exp(-t/RC)≈ Uw(1-t/RC) (6)
(2)反向积分阶段: 在此阶段,基准电容C 两端电压又被内部积分电路进行反向积分,在整个T2 阶段UC(t)可认为是线性的,T2 结束时积分器输出又回到零位,此时有: 由式(4)、式(6)、式(7)整理可得: 将式(3)代入上式,得: 令等式两边常量对应相等,则有:θ=T2。 在T2 时间内, 对A/D转换器进行时钟计数,并以数字量形式输出,从而定量地将被测温度值反映出来,实现电路的数字化测量。 三、ICL7135 与单片机89C52 接口的新方法 以往使用7135 是利用它具有多重动态扫描的BCD 码输出来读取A/D 转换结果,这样既费时、又占用较多口线。在测控仪表中,尽量少占用微处理器I/O 口线,以最少原器件、完成尽可能多的任务是十分重要的。这里介绍的ICL7135 与单片机接口的简易方法,是利用7135 的“BUSY”端,只需占用单片机89C51 的一个I/O 口和内部的一个定时器, 就可以在十几微秒的中断服务程序中把ICL7135 的A/D 转换值送入单片机内。实践证明,该方法具有实际应用价值。 在图2 中,若89C51 的时钟采用6MHz 晶振,在不执行movx 指令的情况下,ALE 是稳定的1MHz 频率,将ALE 经过二分频可得到500 kHz 的 频率供给ICL7135 时钟输入端。T0 规定为定时方式1,满足ICL7135 的19999 满量程要求。ICL7135在A/D转换阶段, 状态输出引脚BUSY为高电平,指明A/D转换器正处在信号积分和反积分阶段,这个高电平一直持续到消除积分阶段结束。在定时器方式寄存器TMOD 中,置T0 的门控位GATE 为1,利用BUSY 作为计数器门控信号,T0 的计数将受BUSY控制。控制计数器只能在BUSY为高电平时计数,那么输入信号: A/D 转换值=BUSY 高电平期间内计数器计数值-10 001 图2 中用ICL 7135 的BUSY端接89C52 的外部中断INT0 , POL 为信号极性输出端,接89C52的P1.7,高、低电平表示被测信号为正、负极性。 四、实验结果及误差分析 在以铂电阻测温电路的线性化设计的方案中,误差来源一方面来自于基准电容放电过程的非线性引起的误差:当RC 取值满足 RC >> (T1 + T2) 时,此项误差折合成温度值可小于0.03℃。另一方面误差来自于A/D 转换准确度。当选用4 位半A/D 转换器ICL7135 时,其准确度为±0.05%,折合最大温度误差为0.10℃,两项误差相对独立,电路总体测温误差为±0.104℃。本电路经组装后,进行了实际性能测试,实验数据见表1。从测试结果看,样机最大误差为-0.18℃,与分析结论基本相近。 表1 (铂电阻分度号为Pt100)
标准温度(℃) | 显示温度(℃) | 绝对误差(℃) | 100 | 100.20 | 0.20 | 110 | 110.17 | 0.17 | 120 | 120.05 | 0.05 | 130 | 130.12 | 0.12 | 140 | 140.11 | 0.11 | 150 | 149.95 | -0.05 | 160 | 159.88 | -0.12 | 170 | 169.84 | -0.16 | 180 | 179.84 | -0.16 | 190 | 189.82 | -0.18 | 200 | 200.18 | 0.18 | 参考文献 [1]R.E.贝德福德、T.M.道芬里、H.普雷斯顿.托马斯合着:袁光富译,温度测量,计量出版社,1995 [2]赵学增,检测与传感技术,哈尔滨工业大学出版社,1998.10 [3]郑建国,一种高精度的铂电阻温度测量方案,自动化仪表,1997.18(8)
|