基于动态跟踪的消除系统温漂和时漂的解决方案
1 系统组成概述
用于检测润滑制剂运动粘度的水浴温度测控仪,以MCS-51系列的AT89C51为核心,构成1个单片机测控系统,完成温度检测、温度显示、数据处理及输出控制。温控仪可巡回检测三路温度信号,分别对应3个检测点。由铂电阻温度传感器产生的温度信号经过调理电路转换成电压信号,经过放大、A/D转换,传送至主机AT89C51进行处理,然后由带有高速串行接口的8位LED控制驱动器PS7219实现温度显示。同时,主机将检测到的温度信号与设定温度值进行比较,输出控制信号,控制继电器的闭合。本系统中89C51的P0口作为与A/D转换芯片的数据接口,采用查询法读取A/D转换的结果,而P1口、P2口、P3口除用作特殊功能均可作为可编程的输入输出线,无地址总线。这主要是因为AT89C51内部带有4 KB的程序存储器,源程序均在芯片内部,无需外部扩展程序存储器[1-2],系统设计框图如图1所示。
2 动态实时跟踪解决系统时漂和温漂的方法
在硬件上,铂电阻测温电路和调理电路的好坏是关系到整个系统精度和稳定性的最关键性因素。本文采用恒流源、多路模拟开关和测量放大器AD620实现的铂电阻温度传感器的调理电路,在设计过程中尝试了两种方案,通过理论分析和实际测量结果的比较,最终选用了如下方案,其电路图如图2所示。
此方案采用1片8通道多路模拟开关CD4051、2片双路4通道多路模拟开关CD4052和2片测量放大器AD620,R=100 Ω(调零电阻)。R2~R7=10 Ω,用以消除地端干扰。多路模拟开关CD4051的通道选择是通过A(P1.4)、B(P1.5)和C(P1.7)控制的。当P1.4=0,P1.5=0,P1.7=0时,通道1选通,恒流源的电流I通过铂电阻RA,同时铂电阻两端的电压通过第2片CD4052以差模的形式取出并送入AD620,经两级放大后送到A/D,避免了共模干扰,提高了系统的抗干扰能力[3]。
对于温度测控系统,传感器的调理电路对整个系统的精度起着至关重要的作用。在该系统中,恒流源、基准电压源和放大器分别存在着不同的时漂和温漂,即便是在选用的器件比较好的情况下,这种漂移很小,但由于系统要长时间工作,这种日积月累的影响也不能够忽略不计。因此在上述基础上增加了2个精密标准电阻,通过它们来动态实时跟踪恒流源的电流、基准电压源的电压和放大器的放大倍数变化,去除了漂移对测量结果的影响[4],铂电阻调理电路如图2所示。
在硬件基础上,此方案的实时跟踪是通过软件方法来实现的,具体方法是首先控制多路模拟开关,依次选通标准电阻R1,R0,则A/D所对应的电压输出分别为Vout1,Vout0。设恒流源的电流为I,2个放大器的放大倍数分别为K1和K2,放大器反相输入端基准电压源的电压为V-。则有:
3 系统工作稳定性测试
为了验证此方案的可行性,在系统连续运行不关机的情况下,实际测得了1组数据,为了防止铂电阻阻值随环境温度变化对测试结果的影响,仅验证调理电路的好坏,所以用1个150 Ω的可调电阻代替铂电阻,在100~150 Ω范围内模拟铂电阻,由对应的1组阻值实测出1组相对应的温度值。在此仅以其中的1路温度信号来说明,如表1所示。
由表1中的数据用最小二乘法求出铂电阻阻值R与实测温度值t之间的关系式。将测量数据列表进行处理,如表2所示。
设R=R0+A&TImes;t,应用最小二乘法原理求取回归参数R0,A,可得:
由以上分析可知,采用此方案提高了系统工作的稳定性和抗干扰能力;同时还提高了元器件之间的互换性,即便是同种型号的元器件的参数值也并不是完全一致的。而采用这种动态实时跟踪元器件参数值的方法,则有效地解除了元器件之间参数值不一致的问题[6]。
信号检测传感器调理电路是关系到整个系统精度的重要环节,因此,本方案虽然是以牺牲硬件资源的代价来改善系统的抗干扰性能和精度,但考虑到现场干扰极大、环境恶劣的情况下,与其他方案比较起来,显然是可取的。