1引言
使用对象为无现场总线要求的自动化系统,提供了简单的RS2232 接口用于参数设定。模块具有较高的精度和相对低廉的成本。整体封装在直径为< 44 mm,厚度为12 mm的模块中,可以安装在温度传感器的接线盒内直接构成一体化两线制温度变送器。
2硬件设计
变送器硬件分为电源、输入、控制核心、输出四个部分,整个电路比较精简。在全部电路的分立元件中,仅对电源限流电阻和输出V/I转换电阻有温度特性要求,要求它们必须是低温漂的金属膜电阻,对其它元件没有特殊要求,设计成本很低。电路中所有集成电路都使用工业级器件,能够保证模块在工业环境中可靠使用。
2.1隔离式两线制变送模块电源设计
考虑到抑制共模干扰及温度传感器在使用中可能出现碰壳的问题,本设计采用了隔离式电源,微输入功率隔离电源是本设计的一个特色。图1是电源电路,它由3个主要部分组成:即U1、R1和Z1构成的3.5mA/8.2V恒流稳压电路;由U2 为核心构成的DC/DC变换电路;由L2和U3构成的一组隔离电源。
因为两线制的需要,必须保证系统供电电流在3.5 mA 之内。使用LM317LBD芯片及360Ω 限流电阻设计了3.5 mA 的恒流电源, 同时使用一只8.2 V稳压管做稳压,为隔离电源系统供电,模块入口电压在12 V以上时电路就可以工作。LM317LBD的输出端同时提供了一个约10 V 的电源,在使用RS2232口进行校准或设定时,为串口提供电源,串口不工作时,它无负载,没有额外功耗。
由于模块电源输入功率极小,因此电源电路采用了副边开环的方式。具体使用MAX639 来设计DC /DC核心电路,实现了较高的电能效率转换。在3.5 mA供电输入时可以提供远大于3.5 mA的电流给电路供电,从而解决了智能系统大电流的需求。
MAX639只是普通的降压型DC/DC变换器,这里设计它的输出电压为3V,给MCU系统供电,同时利用了滤波电感,额外增加一组副线圈为系统提供一组隔离电源。实验表明,当系统原边负载稳定,就能够保证副绕组输出稳定。鉴于A/D 对供电稳定性的需要, 副绕组的输出使用了低压差稳压器MAX1726进行稳压处理,获得一组3.3 V电源,为前端隔离的A/D转换器和输入电路供电。经过LDO的降噪和稳压处理,可满足A/D转换器对纹波电压指标的要求。
2.2采样电路设计
图2是信号输入部分电路原理图,仅使用一片16位A/D转换器AD7705 就完成了热电阻和热电偶混合信号输入的问题。AD7705 具有两路差分输入和可编程前置放大器,能够适应大的信号动态范围,因此能够充分保证传感器的全量程精度。
AD7705作为系统前端,为保障电气隔离,与MCU之间采用了光电隔离电路,因光隔为经典电路,图2中略去了。
对于热电阻温度传感器,电阻体RT接成了三线制, RL为三根导线电阻,一般每根导线电阻在5Ω以内。电阻体与测量电路以A、B、C三点连接,实际上是与电阻R构成了对电压VREF的分压电路。当在VREF 和R是已知的前提下,通过检测VAB 和VAC,就能够通过计算的方法得到RT ,从而求得实际温度。VAB 和VAC 的检测由AD7705 完成, 通道1 检测VAC, 通道2检测VAB ,前置PGA的放大倍数由具体热电阻型号决定。参见图2,可以获得关于VAB 和VAC的关系式(1) 、( 2) ,它们实际上是以RT 和RL为未知数的二元一次方程,通过求解,可以获得RT ,即关系式(3) :
获得RT后,采用国标中给出的RT ( t) 多项式函数公式,通过迭代试差法求解出了实际的温度值。
上面求解测量温度的过程中是把R和VREF 都作为已知参数来处理的,但实际上它们是有误差的,解决的办法就是对它们进行校准。具体方法是使用两个不同电阻值的模拟电阻来进行两次测量,然后求解出R 和VREF ,模拟电阻使用高精度电阻箱给出。对于Pt100 电阻体的量程范围,第一次接入R1 =100Ω,第二次接入R2 = 200Ω,会得到两组共4 个与式(1)和式( 2)结构相同的等式,其中仅有RL、R和VREF三个未知数,求解即可获得校准后的R和VREF。把获得的校准值存入MCU的FLASH,就可以作为正式测量RT时的已知参数使用。
对于热电偶,仅需要采样VAB 即可。但由于存在VREF 的初始误差,对mV信号输入也需要校准,只需要输入一个测量范围的中值信号,如对K型热电偶就采用30mV来校准,采集后存入MCU的FLASH中作为正式mV信号测量的参比值。系统中设计了一只数字测温芯片TC77测量环境温度,用于热偶测量时的冷端补偿。
2.3MCU控制系统及通讯电路设计
考虑到系统的功耗、运行速度等因素,变送器控制MCU 采用了PHILIPS公司新推出的P89LPC922单片机,它为51内核,内置多种功能部件,单芯片完成控制系统功能。
除A /D及测温选择了独立芯片外,所有系统控制功能全部由MCU完成。其中系统复位、电源监控和看门狗功能均由MCU内部相应资源完成,系统参数以及掉电保护数据直接存储在MCU的FLASH空间内,D /A转换器则使用计数器设计的PWM实现。鉴于本设计的应用场合及设计成本,没有为模块配置现场总线协议芯片,而是提供了一个兼容的RS2232接口,供使用者对模块的参数进行设定。考虑功耗问题,通讯接口采用几个简单的三极管做逻辑转换,制作了一个能够连接RS2232口的简易电平转换电路,它空闲和工作时都不消耗系统功率,完全能够保证实际应用中不干扰电流变送输出。
2.4D/A输出电路设计
D/A采用脉冲调宽( PWM)方式设计,通过一条I/O控制基准源Z2,获得一个稳定幅度的PWM方波脉冲。如图3 所示的电路,采用了两级放大器缓冲做滤波器和恒流电路,为消除电路输出中的脉动分量,两级放大器都采用了二阶低通滤波器。由于电路没有设置零点和满度调整,需要使用数字校准的方法来配合使用该电路。
3软件设计
使用C51编制,结构上分为串口通讯中断函数、PWM中断函数及主函数几个主要部分。程序结构比较简明,故略去程序框图,只对关键技术问题做出说明。
3.1串口中断函数设计
通讯部分定义了类似MODBUS协议的通讯协议,使用1200 bp s的通讯速度。串口采用中断方式接收,每次接收一个字节,使用内部缓冲器保存接收的数据。辅助使用T1 计数器定时中断来监测报文的结束字节,共同完成数据接收任务。接收到报文后设置标志通知主函数,主函数根据不同的命令进行相应处理。
3.2PWM中断函数设计
P89LPC922单片机没有现成的PWM发生器,使用了它的定时计数器T0 来制作脉宽调制发生器。具体方法是首先确定脉宽的周期,然后把它分成两部分:一部分为高电平占空部分; 余下为低电平部分。把高电平占空比作为变量,就能够计算出PWM输出结果。把定时计数器设计成以高电平占空比和低电平占空比两次中断做循环,就可以控制一个I/O输出获得PWM信号。考虑到D/A输出的稳定性,T0设置为最高中断优先级。
3.3主函数设计
主函数完成了采样、运算、线性化、数字滤波、输出计算及抗干扰等部分程序。
传感器线性化以传感器与温度关系函数RT(t)=f(t) 为基础,采用了迭代法求解,使用线性预估方法获得迭代初值,割线法逼近。使用较少的计算和时间,获得了比较高的精度。
由于输入的信号是小信号,尽管硬件设计上已经采取了差动输入和低通滤波等手段,仍会有一些干扰信号迭加在采样结果中,因此在采样中加入了数字滤波程序。实际采用了限幅滤波与一阶惯性滤波相结合的方法,获得了较好的滤波效果。在线性化和数字滤波程序中,对所有长整型及浮点类型的变量都使用结构联合体来定义,简化了CPU对变量访问的机器代码,提高了代码使用效率。
软件使用“路标”法记录程序执行过程,防止干扰造成的“跑飞”问题。一旦运行中路标出错,即通过软件复位的方法恢复系统正常运行。由于A/D转换器处于隔离的系统前端,容易受到干扰而死机。软件设置了超时检测程序,当超过规定时间未收到转换结束信号即强行复位A/D 转换器。通过硬件看门狗及软件抗干扰措施保证了系统的可靠运行,取得了预想的效果。
最后对所有程序进行优化,充分使用公用函数。这些措施的使用保证在8 KByte字节空间里完成所有的软件。
4结束语
目前本设计已经应用于工业现场。对于常用的Pt100 和Cu50 热电阻传感器, 在量程范围超过100 ℃时,变送模块的精度优于0.1%;对于热电偶传感器,在输入信号范围超过10 mV时,加冷端温度补偿后,变送模块的精度也达到了0.1%。在-40~80 ℃温度范围内,温度漂移带来的附加误差小于0.2%。经应用考验,性能可靠,使用效果良好。文中介绍的微输入功率隔离电源设计、宽量程多种信号输入通道设计、PWM式D/A、数字校准及软件抗干扰等设计方案对于测量类仪器的设计具有一定的借鉴和参考价值。