宽温区高精度压力传感器补偿方法研究
2022-04-27张龙赐
周 蒙,何 峰,张龙赐,金 忠
(中国电子科技集团公司第四十八研究所,长沙 410004)
硅压阻压力传感器因其灵敏度高、动态响应快、稳定性好、工作温度范围宽等优点,在航空、航天、船舶等领域应用广泛[1]。在飞行器、兵器、船舶等的一些关键部位如火箭推进剂贮存箱的压力监测[2],其测量精度直接影响整体的性能,目前硅压阻压力传感器普遍存在较大的温度漂移,导致综合精度下降,所以研究硅压阻传感器的温度补偿方法,提高测量精度,具有重要意义。
由于硅的材料特性,温度变化会引起压敏电阻特性和压阻特性变化,从而引起较大的零点漂移和灵敏度漂移[3],导致传感器在工作温度范围内的总误差增大,因此需要对其进行温度补偿。目前常用的补偿方法有硬件补偿和软件补偿,硬件补偿电路复杂调试困难,不适合工程化[4]。软件补偿一般有曲面拟合[5],样条插值[6~7]和神经网络算法[8]等,对改善精度有较好的效果,但曲面拟合和神经网络算法运算量大,给单片机执行造成较大的难度,而单一的样条插值算法,需要的插值点数较多,增加了应用操作复杂度。本文根据硅压阻芯体的原始输出特性,提出一种采集电路,以及曲线拟合、三次样条插值两种算法相结合的方法,并进行了实验验证,该方法提高了传感器测量精度,具备工程操作性,可在航空、航天、船舶等压力传感器领域推广应用。
1 芯体电压采集电路
由于硅压阻芯体灵敏度一般为十几~几十mV/V,当电桥供电电压为3 V 时,其输出电压一般不超过50 mV,要达到万分之几的测量精度,对采集电路的要求高,对此本文采用了如图1所示的采集电路。
图1 芯体电压采集电路Fig.1 Sensing element voltage sampling circuit
将压敏电桥和测温铂电阻封装在压力敏感芯体中,能够更精准地测量压敏电桥所处的环境温度,提高补偿精度,比直接将铂电阻溅射到敏感芯体上[9],能避免铂电阻受到加载压力影响,相比温压复合芯体方案还需提取压敏芯体的温度系数[10],运算上更简单。压敏电桥由精密基准源供电,其输出通过差分放大电路,进入24 位A/D,差分放大电路能有效抑制共模噪声,本文所选的24 位A/D 在采样率为10 Hz 的情况下有效位数为20 位,当基准电压为3 V 时,其电压测量精度为0.002 mV,能够满足测量要求。铂电阻的解调也同样经过电桥、差分电路进入24 位A/D。A/D 转换结果输出至单片机,单片机将放大后的电压除以放大倍数得到两个电桥的原始电压,单片机执行采集任务、标定程序和补偿算法,将最终转换的结果输出至上位机。
2 芯体原始数据采集
将2.5 MPa 压力传感器放入高精度温箱中,设定好温度点,使用高精度压力计进行加载,测得压敏电桥和温度电桥原始输出电压如表1所示。
表1 不同温度下压敏电桥和温度电桥原始输出情况Tab.1 Original output of pressure-sensitive bridge and temperature bridge at different temperatures
将不同温度下,压敏电桥输出数据绘制成曲线,如图2所示。
图2 不同温度下压敏电桥输出Fig.2 Output of the pressure-sensitive bridge at different temperatures
由图2可知,在恒定温度下,加载压力与电桥输出电压呈现较好的线性,可以用多次项拟合得到很高的精度,且运算量不大,能节约单片机资源。不同温度之间,压敏芯体的灵敏度存在明显的漂移,等温度间距其灵敏度变化不等,应根据灵敏度随温度变化的曲线来选择合适的拟合方式。
3 补偿算法
设恒定的温度Tj,给传感器施加压力Pi,读取相应的压力芯体的输出值Vi,i=1,2,…,N,即在Tj共有N 组读数[(P1,V1),(P2,V2),…,(PN,VN)],在此N=6,即6 个压力加载值。
用最小二乘法拟合出温度Tj下的多项式校准曲线:
式中:P 为加载压力,单位kpa;C0~C3为各项系数;VP为芯体输出电压,单位mV。
计算出Tj下的[C0,C1,C2,C3]Tj,在-30 ℃~90 ℃内取M 个温度点,j=1,2,…,M,获得M 组数据{[C0,C1,C2,C3]T1,[C0,C1,C2,C3]T2,…,[C0,C1,C2,C3]TM},在此M=7,即7 个温度点。
再找出温度与各系数之间的关系,用合适的曲线拟合系数C0~C3随温度的函数关系。
根据表1的数据,用最小二乘法拟合算法计算出不同温度下多项式系数,见表2,将温度电桥电压与系数绘制成曲线如图3所示。
表2 不同温度下的拟合系数Tab.2 Fitting coefficients at different temperatures
图3 温度电桥电压与系数的关系Fig.3 Relationship between the voltage of temperature bridge and fitting coefficients
从上图可以看出,温度电桥与各项系数线性度很差,若采用最小二乘多项式拟合,当项数较小时会带来较大的误差,当项数较多时会导致单片机运算量大大增加。鉴于此,对温度电桥电压与各项系数关系采用三次插值算法进行曲线拟合,三次样条插值不仅在节点处连续,其一阶导数与二阶导数也具有连续性,在工程上应用广泛[11]。
每一个多项式系数C0~C3由6 个三次多项式组成,具体形式如下:
式中:V1~V7为-30 ℃、-10 ℃、…90 ℃共7 个温度点下温度电桥的输出值,单位mV;ak1~ak4为第k 至k+1 个温度区间,三次样条插值函数的系数,k=1,2…6;VT为温度电桥输出电压,单位mV。
三次样条插值函数Cx(VT)需要满足的条件:①Cx(VT)要通过Cx系数的7 个离散点;②在6 个内节点处,其函数值、一阶导数与二阶导数均连续,此外还需两个端点处的附加条件,即边界条件,这里采用not-a-knot 处理方法[12],即认定第一个三次多项式的三阶导数与第二个三次多项式的三阶导数相等,最后一个三次多项式的三阶导数与倒数第二个三次多项式的三阶导数相等,以此求得Cx(VT)。
单片机采集温度电桥电压通过三次样条插值求解可得任意温度点各项系数,通过各项系数和采集到的压力电桥电压,进行最小二乘曲线拟合求得压力值。
4 试验验证
将算法和原始数据写入单片机,单片机对采集的数据进行实时解算,直接得到压力值。为验证算法的有效性,再次将压力传感器放入高精度温箱中,设定好温度点,使用高精度压力计进行加载,不同温度下和加载压力下,单片机的输出压力见表3,各测量点的满量程误差见图4。
表3 不同温度下传感器输出压力情况Tab.3 Output pressure at different temperatures
图4 不同温度下压力传感器测量误差Fig.4 Measurement error of pressure sensor at different temperatures
从表3和图4可知,单片机经过温度补偿后能准确地输出被测压力值,经过温度补偿后的压力传感器具有很高的测量精度,在-30~90 ℃温度范围内传感器测量误差均在±0.04%FS 以内。
5 结语
本文采用基于单片机的高精度采集电路,提高压敏芯体和温度电桥的原始电压测量精度。在恒定温度下,加载压力与压敏芯体输出电压呈现较好的线性,采用最小二乘拟合算法,能减小运算量,在不同温度下,多项式系数随温度变化的线性度较差,从而采用三次样条插值,以减小误差。两种算法结合运用,经过温度补偿后的压力传感器具有很高的测量精度,在-30~90 ℃温度范围内传感器测量误差均在±0.04%FS 以内。电路和算法简单易行,操作方便。