一种硅压阻式压力传感器温度补偿算法及软件实现
扫描二维码
随时随地手机看文章
0 引言
硅压阻式压力传感器利用半导体材料的压阻效应来进行压力测量,以其体积小、灵敏度高、工艺成熟等优点,在各行业中得到了广泛应用。实际工程应用中由于硅材料受温度的影响,导致零点漂移和灵敏度漂移,因此温度补偿问题是提高传感器性能的一个关键环节。目前压力传感器主要有两种温度补偿方法:硬件补偿和软件补偿。硬件补偿方法存在调试困难、精度低、成本高、通用性差等缺点,不利于工程实际应用;利用数字信号处理技术的软件补偿能够克服以上缺点,也逐渐成为研究热点。
目前软件补偿的方法主要有:查表法、二元插值法、BP神经网络法、小波神经网络方法、曲线曲面拟合方法等。查表法需要占用很大内存空间,而神经网络方法存在网络不稳定、训练时间较长的缺点不利于工程应用。在研究各类软件补偿方法的基础上对压力传感器采用建立高阶温度补偿模型进行温度误差补偿,并且在Matlab GUI软件平台下实现高阶温度补偿系数的计算,通过实验对该方法进行验证。
1 高阶温度补偿模型的建立
1.1 高阶温度补偿建模
压力传感器输出非线性误差主要是由零点温度漂移和灵敏度温度漂移产生,零点温度漂移是由于电阻掺杂不同而导致电阻的温度系数不同,灵敏度温度漂移主要由于压阻系数易随温度的升高而减少。针对温度对传感器输出影响,采用对零点温度漂移和灵敏度漂移建立高阶补偿模型进行统一补偿,补偿后压力值 Press(T )表示为温度传感器电压输出VT 和压力传感器电压输出VP 的函数:
将 Press(T ) 补偿转换成曲面拟合问题,采用高阶多项式拟合方法构造曲面方程:
式中系数矩阵中元素CI,J 是式(2)中VP VT 项对应系数。
对压力传感器进行全温段实验,得出压力传感器静态输出特性,应用上述模型计算拟合系数。
1.2 高阶温度补偿过程
在实际工程应用中,传感器输出电路可采用以DSP为核心运算电路进行动态温度补偿的方法来实现实时数字温度补偿,具体电路如图1 所示:整个电路由A/D转换电路、DSP 运算电路、串并转换电路、并串转换电路、E2RPOM等5部分组成。
对压力传感器进行全温段实验,计算出拟合系数存放在数字补偿电路的E2PROM 中。压力传感器输出电压值VP 和温度传感器输出电压值VT 通过A/D转换输出串行信号经过串并转换电路送到DSP运算电路中,DSP运算电路根据式(2)进行计算。最后补偿后结果通过并,串转换电路输出,从而实现压力传感器实时数字温度补偿。
1.3 高阶温度补偿系数计算过程
由于不同压力传感器动态特性不同,采用高阶补偿模型计算出拟合系数也有差异。为了保证动态温度补偿在硬件上方便实现,减少硬件运算量,必须先求出拟合系数并进行适当调整,使拟合系数以统一格式存放。
以拟合系数范围在小数点前6 位小数后3 位为例,即{-999 999.999,999 999.999}范围,步骤如下:
(1)构造高阶多项式,根据静态实验数据用高阶温度补偿模型进行拟合,计算出拟合系数矩阵C.
(2)判断拟合系数矩阵C 系数是否在范围内:如果所有系数值在范围内,拟合过程结束;当系数值不在范围内,记录拟合系数下标值。取绝对值最大的一项CI,J (max) ,CI,J (max) 取绝对值与999 999.999相除取整得到调整系数N.
(3)重新构造高阶多项式,针对步骤(1)中计算出系数值不在范围内对应位置项的系数置0得缺项多项式,重新根据静态实验数据进行拟合,求系数矩阵C1.根据N 对系数矩阵进行调整,调整后系数矩阵C =[C + C1N]/(N + 1)。
(4)对调整后系数矩阵C 重复步骤(2)进行判断,直至所有系数矩阵中系数值都在范围内,则调整结束,保存系数矩阵。
拟合系数通过上述方法可以以统一的数据格式进行存放,方便在DSP 硬件平台上实现动态数字温度补偿,在一定程度上可以减少硬件运算量。系数调整过程还需要根据具体情况设定系数范围,在能够保证传感器输出线性性的情况下,系数范围越小在硬件上越容易实现。
2 软件设计与实现
由上述分析可知,数字补偿电路对传感器进行动态温度补偿时,必须先求出高阶温度补偿拟合系数。采用Matlab 2012a作为软件平台,利用Matlab图形用户界面(GUI)编程实现压力传感器高阶温度补偿系数计算。
GUI 是Matlab 为用户提供的Windows 图形界面设计方法,使用户能够在利用其强大数值计算功能的同时设计出友好的图形界面。
整个程序框图如图2 所示:包括数据读取模块、标准拟合模块、系数调整模块和数据存储模块。数据读取模块功能是读取传感器全温段实验数据进行预处理,标准拟合模块根据高阶温度补偿模型和静态实验数据计算系数矩阵,系数调整模块是对高阶温度模型系数进行系数调整,数据存储模块把系数值以一定格式保存方便写入数字补偿电路的E2PROM.[!--empirenews.page--]
软件设计流程图3所示。
3 实验结果与误差分析
实验选用压力传感器量程为0~800 PSI,工作温度范围在-55~125 ℃,标准压力源采用美国Mensor公司的PCS400,高低温箱提供各种温度测试环境。测试时依次取-20 ℃,25 ℃,50 ℃,75 ℃,100 ℃,75 ℃,50 ℃,25 ℃,-20 ℃温度点进行高低温实验,每个温度点下提供标准压力值16 PSI,200 PSI,400 PSI,600 PSI,800 PSI,600 PSI,400 PSI,200 PSI,16 PSI,测得静态压力传感器输出特性如表1 所示。采用5阶温度补偿模型对静态数据进行温度补偿后得到的结果如表2所示。
实验数据表明,压力传感器建立高阶温度补偿模型可以实现其零点漂移和灵敏度漂移的统一补偿,补偿后传感器输出值与标准值最大误差为:
4 结语
采用高阶温度补偿方法对硅压阻式压力传感器的零点漂移和灵敏度漂移进行统一补偿。由实验数据可知,这种方法可以对硅压阻式压力传感器温度补偿效果明显,能够很好的提高压力传感器的输出线性性,通过硬件可以实现传感器实时数字温度补偿,具有一定的工程应用价值。但是这种方法也存在某些不足:对于实验数据离散量比较大的情况下,高阶温度补偿模型会对个别数据点补偿效果不理想。针对这个问题可以采用插值法和引入权函数方法结合起来进行进一步改进。