硅压阻式压力传感器的高精度补偿算法及其实现
2018-06-12聂绍忠
聂绍忠
(重庆四联测控技术有限公司,重庆 401121)
0 引言
随着科学技术的发展,各领域对压力测量精度的要求越来越高。硅压阻式压力传感器利用半导体材料的压阻效应,基于惠斯顿电桥测量方式对压力进行测量,在动态性能、体积、价格等方面有较强优势,广泛应用于汽车、医疗、航空航天、环保等领域。但由于半导体材料对温度的敏感性以及压敏电阻制造工艺的局限性,硅压阻式压力传感器普遍存在零点漂移、灵敏度漂移以及非线性等问题[1]。因此,需对该传感器进行有效补偿,以提高输出精度。目前,对于硅压阻式压力传感器的补偿主要有硬件补偿和软件补偿两大类。硬件补偿对于灵敏度漂移的抑制效果并不理想,且高精度硬件电路复杂,调试较为困难,不利于工程应用[2]。软件补偿以补偿算法为主,其结合相应的数学方法、计算机技术,对上述问题进行修正。实践表明,软件补偿对于提高传感器的输出精度有很好的效果[3]。
常用的软件补偿算法有查表法、插值法、曲面拟合法等[4]。本文在回顾上述基本软件补偿算法的基础上,设计了一种基于最小二乘法的曲面拟合补偿算法,并在Visual Basic平台上予以实现;通过补偿数据回代,对补偿算法进行了验证。
1 压力传感器软件补偿的基本方法
1.1 数学模型
研究硅压阻式压力传感器软件补偿,通常的做法是先建立一个补偿的数学模型;然后采用一定的方法进行标定,分析标定数据对数学模型的影响;最后求解数学模型,即一个反映传感器输入、输出量关系的特征方程。在实际工况下,压力传感器感知外部压力和环境温度等,激励内部产生若干个电压信号,并通过这些信号和特征方程计算出外部压力[5]。对于双参量体系下的硅压阻式压力传感器,其特征方程为:
(1)
式中:Pv为标定值;P为压力输出值;T为温度输出值;aij为多项式系数。
式(1)对应一个多项式曲面。曲面表现能力与系数项a,自变量的最高次数m、n相关[6]。根据求解精度和复杂程度,间接或直接求解式(1)的方法主要有查表法、线性插值法和曲面拟合法。
1.2 查表法
早期的工程技术人员受限于求解方法和低速处理器,常常采用查表法。查表法扩展了压力传感器的标定方式,即对于可能的工作环境和工作区间内的输入、输出进行事先遍历,并按一定顺序将这些标定值保存在二维或多维表格内。压力传感器在实际工况下,其任意输出均可在事先准备好的表格中找到一个对应的输入。
查表法的关键是查找表的编制。对于单变量体系(P-Pv),应绘制二维表格;对于多变量体系(同时考虑T),应绘制三维或更高维度表格。
由此可知,查表法易于实现,但工作量非常大,对存储器空间要求高,不利于批量作业[7];标定的过程非常漫长,如果减少标定点,则精度将随之下降。
1.3 插值法
针对查表法所存在的问题,插值法是一个较好的解决办法。插值法是一种重要的函数逼近方法。在工程实践中,往往很难直接写出函数f(x)表达式,只能通过采样、试验的方法获取函数的若干个值或导数值[8]。例如给定了函数f(x)在[a,b]上互异的(n+1)个点的值f(x)(i=0,1,…,n),插值法可根据这些值,寻求一个函数φ(x)去逼近f(x),且φ(x)在xi处与f(x)相等。
1.3.1 线性插值法
插值法中较常用的是线性插值法。给定f(x)在两个互异的点(x0,y0)、(x1,y1)的值,用一个线性函数φ(x)=ax+b近似代替f(x),使f(x)的线性插值函数为:
该方法可应用于单变量体系下的压力传感器。在单变量体系下,压力传感器的标定值Pv与压力输出值P的传感器特性曲线如图1所示。
图1 传感器特性曲线Fig.1 The characteristic curve of sensor
将P坐标轴分成若干段,则对每个端点Pk,必有相应的Pvk。把所有(Pk,Pvk)数据做成二维表格并固化入存储器。在实际应用中,压力传感器的压力输出值P必然在P坐标轴某一段[Pk,Pk+1)上有定义,即Pk≤P (2) 线性插值法可以对单变量体系下的压力传感器进行线性度补偿,但无法对温度变化造成的零点漂移和灵敏度漂移进行温度补偿。此时,可以采用双线性插值的方法,引入温度输出值T。 1.3.2 双线性插值 双线性插值基本思路是在两个变量方向分别进行线性插值。故以双变量体系下(P,T)的压力传感器为例,传感器双线性插值示意图如图2所示。图2中:Qk(Pk,Tk,Pvk)、Qk+1(Pk+1,Tk+1,Pvk+1)为压力传感器在环境温度为K时的标定点;Qj(Pj,Tj,Pvj)、Qj+1(Pj+1,Tj+1,Pvj+1)为压力传感器在环境温度为J时的标定点;点O(Po,To,Pvo)为测试点(Po和To已知)。 图2 传感器双线性插值示意图Fig.2 The bilinear interpolation of sensor 插值公式推导的步骤如下。 ①沿Pk、Pk+1方向进行线性插值: ②沿Pj、Pj+1方向进行线性插值: ③一般情况下,Tk和Tk+1、Tj和Tj+1有着细微的差别。为了便于插值,可对Tk和Tk+1、Tj和Tj+1作均值处理,重新记为Tk、Tj;沿Tk、Tj方向进行线性插值,最终完成一次双线性插值,求得Pvo。 (3) 通过前述内容,可以总结出对于多变量体系压力传感器的插值步骤为:当前传感器输出获取→根据传感器输出选取插值节点值→计算插值基函数值→用循环嵌套计算插值函数值。 双线性插值法的优势在于可直接利用原始测试数据,简单直观,计算量较小,具有较高精度,且适用于多变量场合。但其缺点也十分明显,主要有如下几点。 ①较查表法而言,双线性插值法所需的存储空间虽大大减少,但其仍处在一个非常高的水平。 ②由于双线性插值法的特性,补偿算法整体稳定性较差[9]。在标定过程中,如果出现了因压力泄漏、温度失准、电路故障等情况造成的数据出错或失准,将会影响插值精度,且难以察觉。 ③在推导式(3)时,采用了取均值的处理方式来保证插值的进行。但这样会引入系统误差,最终影响插值精度。 最小二乘法是一项古老的数学优化技术,主要用于参数估计。它使数学模型在误差平方和最小的情况下拟合试验数据。早在19世纪初,清楚、简明地论述最小二乘法的文章便被发表。经过200多年的不断发展和完善,特别是进入信息时代以来,借助计算机的强大运算能力,最小二乘法在工程技术的各领域、各学科得到了广泛的应用。 对于形如式(1)的二元高次多项式方程,根据最小二乘法的思想,可定义函数Q为误差平方和、φij(P,T)=PiTj、N为采样数据样本总数,则: (4) 根据多元函数极值的必要条件: (Pp,Tp)]φkl(Pp,Tp)=0 (5) 展开后,式(5)表示为内积形式: (6) 式中:0≤k≤m;0≤l≤n。 式(6)可表达为矩阵的形式,即正规方程[10]: (7) ①式(7)中,左边内积矩阵非奇异。 求解式(7),可得f(x)在函数类Φm中最小二乘逼近函数y(x)的表达式: 拟合余项为: 通过求解式(7)的线性方程组,确定曲面系数矩阵a,即式(1)的形式可确定。同时,在式(7)的基础上,可令若干个交叉项阶次过高的aij为0,使式(1)变为缺项多项式,以避免过多的系数项。 算法软件流程为:①读取算法配置文件;②读取采样数据文件;③建立正规方程;④求解正规方程;⑤校验精度;⑥输出结果。 通过第二节的讨论,明确了补偿算法的原理以及求解目标函数的方法。接下来以Visual Basic为软件平台,设计、实现补偿算法,验证算法的有效性,并将算法应用于工程实践中。 ①算法配置文件主要包括:各项aij的序列、温度点数量、每个温度点下压力点数量;采样数据文件记录补偿过程中各Pv、P、T的值。同时,需对采样数据进行数据标准化处理,将数据控制在一定的范围内,以提升后续计算速度。 ②正规方程利用相应的内积计算模块,按照式(4)构建。定义双精度数据类型数组,存储正规方程中各内积构成的元素。 ③正规方程的求解,实质是线性方程组求解的问题。本算法采用逐次超松弛迭代法(successive over relaxation,SOR)求解正规方程。在迭代计算模块中,构建四个双精度数据类型数组,分别存储迭代初值、迭代值、加速项以及常速项。在迭代计算模块中,需设置迭代次数上限。当迭代次数超过上限后仍无法满足迭代精度,则迭代过程终止并报告错误。 试验所选压力传感器的量程为0~40 MPa。在高低温试验箱内部,将压力传感器装夹在与标定压力源连通的夹具上。在不同的温度点下,利用标准压力源(Fluke公司7350压力控制器),对压力传感器输入标定压力(从0%~100%量程取若干个Pv),读取、记录传感器输出的若干组Pv、P和T。 试验中,选取测试温度点为-40 ℃、-20 ℃、0 ℃、+20 ℃、+40 ℃、+60 ℃、+80 ℃。在各温度点分别施加9档压力(以满量程的百分比形式表示),即0%、12.5%、25%、37.5%、50%、62.5%、75%、87.5%、100%。在每个“温度点-输入压力”下读取标定压力Pv、压力传感器电压输出值P、温度传感器电压输出值T,如表1所示。 表1 补偿采样数据Tab.1 Compensation sampling data 在利用算法软件计算前,按照式(1)配置m=4、n=7,构建缺项多项式,共21项;7个温度点,每个温度点下9个压力点;所有P、T采样数据放大20倍作标准化处理;SOR迭代法ω=1.1,迭代精度Acc=10-8[11]。 配置完成后,算法软件将自动开始计算,输出多项式系数项如表2所示。 表2 多项式系数项Tab.2 Polynomial coefficient terms 将表1、表2数据代入式(1),得到如表3所示的回代压力值。 表3 回代压力值Tab.3 Back substituted pressures 本文利用最小二乘法的基本定义,将曲线拟合法转化为多项式系数项可预置的曲面拟合法,提出了一种基于最小二乘法的曲面拟合补偿算法。该补偿算法可有效补偿硅压阻式压力传感器的零点、灵敏度和线性度,准确地建立表达传感器输入-输出关系的特征方程。试验结果表明,该补偿算法对硅压阻式压力传感器的补偿效果十分明显,极大地提高了该类传感器在-40~+80 ℃范围内的输出精度;同时,该算法的设计和实现仅需利用较为基础的编程语言,可操作性强,有着良好的工程应用价值。 参考文献: [1] 邱金.硅基压阻式数字压力传感器的研究[D].沈阳:沈阳工业大学,2009. [2] 刘晔,张璐,杨新伟,等.采用硬件神经电路的压力传感器零点温漂补偿研究[J].西安交通大学学报,2010,44(8):10-14. [3] XU D.A temperature compensation algorithm of piezoresistive pressure sensor and software implementation[C]// IEEE International Conference on Mechatronics & Automation,2013:1738-1742. [4] 华振宇,徐大诚.硅压阻式压力传感器误差修正算法的FPGA实现[J].传感器与微系统,2017(2):101-103. [5] 何慎之.高精度MEMS硅差压传感器过载保护与温度漂移补偿研究[D].广州:华南理工大学,2015. [6] GUO J,CHANG X,Yue Q.Study on curved fitting model using GPS and leveling in local area[C]//Transactions of Nonferrous Metals Society of China,2005: 140-144. [7] 欧阳承曦.硅压阻式压力传感器高精度温度补偿技术研究[D].成都:电子科技大学,2015. [8] ZENG M,ZHANG Y,HUAN J.A new linear interpolation algorithm[C]//Proceedings of the 2016 International Conference on Computer Engineering,Information Science & Application Technology,2016: 163-170. [9] 董燕婷.微差压变送器的研究与温度补偿实现[D].上海:上海交通大学,2014. [10]秦宁.基于整体最小二乘面拟合及其在GPS高程拟合的研究应用[D].成都:西南交通大学,2015. [11]ZHANG C,XUE Z,LUO S.A convergence analysis of SOR iterative methods for linear systems with weak H-matrices[J].Open Mathematics,2016,14 (1):747-760.2 基于最小二乘法的曲面拟合补偿算法
3 算法软件设计与实现
4 试验结果与误差分析
5 结束语