油缸压力实时监测系统温漂误差精确补偿方法
随着现代科学技术的发展,特种车辆的性能越来越高,系统构成越来越复杂、精密,采用嵌入式传感器实现众多工况参数的实时在线监测,是未来车辆状态监测和故障诊断系统发展的必然趋势[1]。同时由于车辆结构的紧凑,要求实现小型嵌入式传感器监测系统。否则,许多故障点无法直接监测,只能通过测量外围相关参数换算得到,换算结果的正确与否不得而知,从而可能导致更大的经济损失。随着微电子技术和信号处理技术的发展,使小型压力监测系统的实现成为可能。本文采用先进的压力传感器器件,结合精密放大电路和低功耗高性能处理器,构成嵌入式特种车辆行星变速机构操纵压力实时监测系统,并通过测量电路和补偿算法的综合应用,实现了监测系统的高精度误差补偿。
1 嵌入式压力监测系统软硬补偿方法实现
1.1 压力监测系统简介
特种车辆的行星变速机构位于综合传动装置大箱体内,周围空间狭小而且部分浸泡在润滑油中,温度高达135 ℃。通过论证,选择一种小型隔离膜片式压力传感器,并将其安装在油缸附件的油道上,通过精密仪表放大器将信号放大后,采用高有效位的模数转换器(ADC)将其量化,并用ATMEL公司的AVR系列微控制器(MCU)[2]完成数据处理,再通过CAN2.0总线将处理结果提供给操作人员,以达到保护车辆综合传动装置的目的。系统原理框图如图1所示。
由于系统工作温度范围比较宽(-20 ℃~135 ℃),因此温度变化对系统的测量误差影响最大,本文着重研究并实现了由于温度漂移引起的测量误差的补偿处理方法[3]。整个系统的补偿方法包括电路硬补偿和算法软补偿两部分,硬补偿包含传感器本身的工艺调制补偿和放大电路补偿;软补偿是通过在MCU内嵌入B样条温度补偿算法来实现。
1.2 硬补偿电路设计
系统采用硅压阻式压力传感器,它具有体积小、灵敏度高、分辨率高等特点,被广泛采用。但温度漂移是硅压阻式传感器的最大弱点,它包括零点温度漂移和灵敏度温度漂移。由于组成电桥的4个电阻的阻值不可能完全一致,当输入压力为零时,电桥输出不为零,具有零点偏移。灵敏度温度漂移主要是由半导体材料的压阻系数随温度的变化而发生变化造成的,一般地说,压阻式传感器的灵敏度随温度的升高而下降[4]。
本系统选用美国某公司的小型硅压阻式传感器,其最大量程为300 psi(1 psi=6.895 kPa),输出电压为0~100 mV,非线性度为±0.1%。传感器通过对陶瓷基座上的厚膜电阻进行激光修阻,实现对传感器的温度补偿及零点偏差调整。其内部提供的激光修正电阻用来调节外部放大器的增益,从而保证传感器±0.1%互换性量程,电路原理图如图2所示。
由于传感器最小分辨率为微伏级,极易在传输和测量时产生干扰,造成结果失真,因此必须采用一个高精度、高共模抑制比的测量放大电路进行小信号的放大处理。
本系统采用了具有差分输入和闭环增益单元的仪表放大器INA128作为前端放大电路来做硬补偿。仪表放大器的两个输入端阻抗平衡并且阻值很高,输入偏置电流很低,并具有很低的输出阻抗,共模抑制为100 dB,即可将共模电平产生的任何误差减小到100 dB。其内部结构如图3所示,正好与图2所示的硬补偿电路中的放大器相符。
1.3 软补偿算法实现
系统通过硬补偿后,将电压信号经24 bit量化的模数转换器(ADC)采样后送给MCU进行后续处理。MCU采用ATMEL公司的ATmega32,其数据吞吐率高达1 MIPS/MHz,利用MCU的数据处理能力,实现了基于B样条的温漂补偿处理算法。之所以采用B样条曲线来拟合压力传感器的温度系数,是因为B样条曲线具有局部控制特性,曲线只在改变了的控制点附近才改变形状;并且,B样条曲线可以随意增加控制点,而不提高曲线的阶次,对于不同的应用选择控制点数,可以满足不同的拟合要求[5]。
样条是一个分段多项式函数,k阶(k-1次)B样条曲线的表达式是:
当分母为零时,定义分式的值为零。其中ti表示控制点节点值,它控制曲线形状,节点值从t0到tn+4。在本系统中使用的是非封闭曲线,因此ti取值规则如下:
在MCU中实现基于B样条的补偿算法,考虑到B样条为非封闭曲线,由式(4)和式(5)确定控制点的选取应多于4个。考虑到补偿算法的实时性,对计算速度也提出了一定的要求,控制点也不宜太大。综合上述原因,取n=6,对传感器数据进行样本采集,通过单片机进行运算,根据B样条曲线的计算公式,推导控制节点值ti,编写3次B样条调和函数的求解程序,对每一个控制点计算一个补偿系数C(u),并将补偿系数写入相应的Flash寄存器中。系统正常工作时,通过车辆温度传感器获得压力监测系统工作的温度值,并读取相应寄存器的补偿系数,对测量值进行补偿,即可得到经过校正以后的压力输出。