铂电阻测温电路的线性化设计方法
摘要:介绍一种基于A/D转换原理的铂电阻测温的非线性校正方法,分析了铂电阻线性测温的原理,并给出了A/D转换器7135与单片机89C51接口电路及试验数据。
关键词:铂电阻,测温电路设计,模拟-数字转换非线性校正,数据采集
一、引言
铂电阻温度传感器,因其测量范围大,复现性好,稳定性强等特点而被广泛使用。
在精密测量系统中,铂电阻测温系统电路结构图如图1所示:铂电阻信号通常通过桥式电路转换为电压信号,再经过放大及A/D转换后送微处理器进行处理。为了能对铂电阻测温的非线性进行校正,作者利用双积分A/D转换原理,设计了一种高精度的铂电阻测温非线性校正方案。实践证明,该方法不仅性能稳定,结构简单,而且在0~200℃范围内准确度可达到0.15%FS±4字。
二、非线性校正原理
1、非线性A/D转换原理 因为铂电阻经桥路检测后,其输出电压UM与被测温度q之间具有函数关系: javascript:window.open(this.src);" style="cursor:pointer;"/> 式中:A,B为常系数。 如果能构造成一个函数电路,使其具有与上式相同的函数形式: javascript:window.open(this.src);" style="cursor:pointer;"/> 同时使UM=UN,则容易得出q=t(这里,“q=t”仅有数学意义,实际上它们的量纲是不一样的)。这样,在UM=UN的前提下,温度q的测量问题就转化为对时间t的测量了。 | javascript:window.open(this.src);" style="cursor:pointer;"/> |
以上是本文阐述的以变量变换的形式实现传感器非线性校正的设计思想。这里t的量纲为时间,其测量过程是通过双积分A/D转换实现的。双斜率积分转换表达为:
javascript:window.open(this.src);" style="cursor:pointer;"/> | (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=aq+Bq2 (3)
故将式(2)和式(3)代入式(1),
假设:AT1=M,BT1=N/2,
则有:T2与q在数值上大小相等,即T2=q,可见实现了铂电阻的温度与数字量线性转换。
可以看出,在A/D转换过程中,模拟电压输入与数字量输出之间不是线性关系,其函数关系刚好与Rq—q关系相反,当其特性实现了相互完全补偿时,就能获得线性q/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为时钟周期)。积分器的输出电压为: javascript:window.open(this.src);" style="cursor:pointer;"/> (4) 同时,在此阶段基准电容C对电阻R放电。外接电阻R正是为了对铂电阻温度特性的二次非线性项进行校正而设置的。此阶段完成时,C两端电压为: 式中,UW为 t = 0 时电容C两端电压值。 | javascript:window.open(this.src);" style="cursor:pointer;"/> |
将上式在t = T1 处按马克劳林公式展开, 若选取适当参数,使 , 则上式可简化为:
javascript:window.open(this.src);" style="cursor:pointer;"/> (6)
(2)反向积分阶段:
在此阶段,基准电容C两端电压又被内部积分电路进行反向积分,在整个T2阶段UC(t)可认为是线性的,T2结束时积分器输出又回到零位,此时有:javascript:window.open(this.src);" style="cursor:pointer;"/> (7)
由式(4)、式(6)、式(7)整理可得:javascript:window.open(this.src);" style="cursor:pointer;"/>
将式(3)代入上式,得:javascript:window.open(this.src);" style="cursor:pointer;"/>
令等式两边常量对应相等,则有:q=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是稳定的1 MHz频率,将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的外部中断 javascript:window.open(this.src);" style="cursor:pointer;"/>, POL为信号极性输出端,接89C52的P1.7,高、低电平表示被测信号为正、负极性。
四、实验结果及误差分析
在以铂电阻测温电路的线性化设计的方案中,