【关键词】测温仪表
【摘要】一种新型智能测温仪表的实现
1. 引言
温度是工业生产中的重要参数,80年代以前,我国对温度的测量显示大多使用动圈式仪表。这类仪表由于分辨率低,抗震性差以及存在视差和读数误差等缺点往往不能胜任对温度测量要求准确的场合,80年代起逐渐采用3 -1/2位A/D转换器为核心部件来制造测量仪表,并至今活跃在我国各工业生产部门中,但由于ICL7107测温仪表报警电路复杂、通用性差等固有缺陷,近年来人们采用单片机来构成测温仪表,我们研制的JSW型智能测温仪表就是其中的一员。
2. JSW型智能温度表的技术特点
随着单片机的问世和商品化,利用它来制造性价比更高的测温仪表具有如下明显优势:
●从硬件角度上讲应该使该仪表不仅能与热电阻配用而且也能与热电偶配用,为用户减少了备用表数,从而带来直接效益。
●与热电阻配用时,不仅适用于三线制也能适用于二线制。
●与热电耦配用时,不仅适用于对热电偶冷端自动温度补偿,而且还能作自身零点校准。
●对放大器作校零处理,使仪表整机性能更加稳定。
●利用单片机的运算功能对热电阻、热电偶的非线性作更精确的校正。
●利用单片机的位操作功能,控制报警十分方便。
根据上述构想设计的JSW型智能温度表的硬件电路及逻辑框图如图1所示。
从图中可见,当8031的P1.1为高电平时,模拟开关接入热电阻测量支路,当P1.1为低电平时,开关接入热电偶支路,这样在不增加任何硬件的情况下就能实现热电阻/热电偶在一块表上的统一。
当P1.2也发出高电平时放大器A2被接地,令80C31读入A/D转换器的值和极性,并且存入某个RAM中,再令P1.2发出低电平,使放大器接入热电偶电势,再令8031读入A/D值和极性并令本次结果和上次结果相减,就可以克服放大器的漂移,这样,不用昂贵的高性能放大器,同样可以收到高精度测量结果。
当需要进行热电偶冷端温度补偿时,此仪表分别工作在热偶,热阻交替状态。
当测量结果判为有报警时,用P1.6、P1.7置位或复位即可,该报警电路相当简单。
当用户需要不同分度号传感器时,只要更换软件就可以了。
3. JSW型智能测温仪表设计的若干问题
3.1 R2电阻的选取
用热电阻测温时,A/D转换器ICL 7109的基准电压取自R2=200Ω上的压降,被测电压从Rt上获得,R1选择1kΩ,使用1403是为了限制流经Rt上的电流,使其不要超过5mA,因为电流过大Rt自身发热会带来测量误差,另一方面若不加R1,ICL 7109的基准电压高端就会与5V电源相等,这样会使ICL 7109工作不正常,因此,R1的加入是必要的,R2上的电压作为A/D的基准电压,它们的大小确定原则是基于下述考虑:
我国现行使用的热电阻传感器新旧分度号共有六种:即Cu50、Cu53、Cu100、BA1、BA2、Pt100。它们在零温度时的起始值分别为50Ω、53Ω、100Ω、45Ω、100Ω、100Ω,而在上限温度时Pt100、BA2的最大阻值已达310Ω,根据ICL 7109的转换特性:
N=2048VX/VR(1)
可以推演出电阻的转换公式
N=2048(IRt/IR2)=2048Rt/R2(2)
所以,R2=200Ω确定后,当Pt100在600℃时,A/D转换值不致溢出,而对于BA1和Cu50来说,A/D转换的二进制码又大于被测温度所对应的二进制码,这样便需要进行非线性校正。
由于用R2上的电压作为A/D基准,所以它的准确性以及稳定性直接关系到仪表的精度,因此R2应当选用精度为±0.1%的线绕电阻。
3.2 热电阻断线时假报警的防止
当热电阻断线时,A点电位就会上升至电源电压,A/D转换器会产生溢出,利用溢出标志,8031除了调OFF字符向8255A显示外,并利用P1.6和P1.2置位,从而使继电器不吸合,这就消除了假报警问题,在模拟电路中要做到这一点比较麻烦,用片机的位功能就极大地简化了报警电路,不仅如此,位于面板上的报警灯单独用程序控制,例如上限灯是8255A的高7位,下限灯用B口的高7位控制,这样,就可选用单触点型继电器,本例中选用JZX-2F。它们价格通常在2~3元/只,而在模拟电路中,要使面板上的报警灯和继电器输出的接点位号同步,则必须选用双触点继电器,它们的价格在10~20元/只,因此,在本仪表中报警部件的造价是较少的,不仅如此,其控制方式亦很灵活,在与热电阻配套使用时,对仪表的报警方式通常分为高/低限报警和双上限报警两种方式。
在模拟电路构成的报警电路中,要将低限报警改变为双上限报警并不是可以轻易做到的,而在单片机构成的仪表中,只要将位控信号取出即可。
4. 热电偶测温
当8031的P1.1发出低电平时,四个2选1开关转向热电偶测量支路,此A/D转换的基准电压由MC1403提供,其值为2.5V,信号电压取自放大器A2的输出。
4.1 放大器放大倍数的确定
目前我国工业部门中大多使用EU-2、EA-2和K、E四种分度号热电耦,它们的电势在40μV~60μV/℃之间,因此必须将它们放大,才能与MC1403兼容,本表放大倍数Kf2=1+R6/R7=51倍。
为了使放大倍数稳定,放大器采用同型输入、输出,这样输入阻抗很高,通常可达10MΩ,放大倍数由下式计算:
Kf2=1+(R6/R7)
另外,选用51倍放大的原因是考虑到ICL7109,ICL7109的转换公式如下
N1=2048(VX/VR)=2048(51rt1/2500mV)
我国热偶上限的电势值为49mV,为保证ICL 7109数据精度和不致溢出,故选用51倍为其放大倍数。
4.2 放大器自动校零
8031的P1.2同时控制着两个2选1模拟开关1A和1B,当P1.2为高电平时,放大器输入接地,放大器的输出反映了正失调电压的大小和极性。8031这时读入A/D转换值为放大器失调电压的数据,假设本次读入值(A/D)0暂存某单元后再令P1.2为低电平,8031再读入A/D转换值,令其为(A/D)1,它包含了热电偶的放大数值和放大失调电压数值(A/D)1-(A/D)0=(A/D)2,此时(A/D)2的结果,只反映热电偶电热的大小,因此,有必要加入放大器自动校零。因为放大器的失调电压是随机的,而且它受时间和温度的影响极大,试验表明,当不加校零时,如果将仪表的环境温度从20℃升至50℃,仪表零点变化可能有十几度,性能差的放大器变化会更大,显然这样的仪表不能使用,所以在模拟电路中通常选用高性能放大器来放大热电偶信号,自然它们的价格也比较昂贵。
加入放大器自动校零功能给仪表做同样的变温试验,它的零点几乎不变,而且长时间通电,零点也十分稳定,这样在不选用高价放大器时,同样可以收到高价放大器的效果。
校零分为四种情况:
●(A/D)1-(A/D)0 够减极性为正;
●(A/D)1-[-(A/D)0]) 相加极性为正;
●[-(A/D)1]-(A/D)0 相加极性为负;
●[-(A/D)1]-[-(A/D)0] 够减为负时则取补。
4.3 模拟开关1B的作用
从对放大器A2的校零角度来讲,2选1开关1B可以不要,但是从仪表的实际使用角度来讲,它又是必需的。假如仪表到现场测温,并显示正常温度。如果万一发生热电偶断线,则电容C1、C2的电荷将慢慢地发生变化造成仪表显示值缓慢的变化,这种现象叫做爬行现象,当爬行速度与现场温度变化相近时很容易给操作人员以假象而造成测量失准。加入1B以后,只要一次校零,就能使C1、C2上的电荷放掉,从而使仪表显示值全部拉到零点,操作人员据此来判断测量系统是否发生故障。
4.4 热偶冷端温度自动补偿
热电偶发出的电热不仅与工作端温度有关,还与冷端温度有关,而且热电偶用于工业现场测温时,其冷端是置于环境温度中,因此如果热电偶冷端不做处理,即使被测介质温度不变,那么也会因为热偶冷端温度变化而使仪表显示值变化,以往通常是用铜电阻配置在四端电桥中,用电桥的输出电势来抵消热电偶冷端随环境温度变化带来的影响。
在本仪表中由于热电偶、热电阻是可以交替工作的。当需要仪表进行温度补偿时,8031的P1.1输出高电平,使其工作在电阻测温状态,这时测温电阻接在仪表端,与热电偶冷端处于同一环境温度中,将其测量结果进行标度变换所得到的二进制码用于补偿热偶冷端温度变化值。
原则上讲,补偿电阻可以用上述6种分度号的任何一种分度号,而Cu50是最经济的元件。
补偿的一般形式为:
热偶转换值Net+补偿值N2·K
这里仍然分为四种情况:
a.正Net+正N2K
b.正Net+负N2K
c.负Net+正N2K
d.负Net+负N2K
4.5 量程修正
在仪表与热电偶配用时,由于基准源MC1403的稳压值有离散性,因而使仪表测量显示值也有离散性,所以,对测量结果进行适当范围的修正是必要的。在模拟电路中常用电位器来调节A/D转换器的电压以保证仪表性能的一致性,这种方法会因为电位器受振而产生漂移或电位器滑动而不能测量,本例是利用程序来修正结果的,本表底板上安装了一个四联开关,开关序号1、2、3、4分别对应8031的P1.3、P1.4、P1.5、P3.0。8031在每次测量时要查询这些引脚有无闭合,均不闭合时,仪表测量程序化,开关序号越大,量程校正也越大,这样可以根据仪表量程的离散程度,来决定选择哪一个开关闭合,8031查询开关闭合的顺序是“1”到“4”。因此,任何时候,只能有一个开关闭合,若有两个以上开关闭合,修正按最小序号开关进行修正。
4.6 看门狗程序的引入
为了防止仪表受干扰而使程序丢失,甚至走进死循环而使仪表死机,应加入看门狗程序,以保证系统的可靠性。
不论仪表程序处于怎样的死循环,8031的内部定时中断总是能够发生的,利用这一特性,就可以强行把程序从死循环中解脱出来。
在本仪表中,利用内部定时器来产生中断,在中断程序中故意弹出中断地址而按新的中断地址,一旦发生死循环,只要定时中断一产生,就会强行使程序回到定时中断的首地址。其程序如下:
EDO: DJNZ R3 ZDOO
MOV R3 #10H 定进时间
POP 33H 弹出断点
POP 33H
MOV A,#23H 压入新断点
PUSH ACC
MOV A,#00H
PUSH ACC
ZDOO:MOV 8AH #00H
MOV 8CH #00H
RETF