网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: Analog安诺电子网 >> 文章 >> 技术交流 >> 文章正文
  [组图]基于单片机信息融合实现对压力传感器的热漂移非线性补偿           ★★★ 【字体:
基于单片机信息融合实现对压力传感器的热漂移非线性补偿
作者:赵彦晓 孙…    文章来源:Internet    点击数:    更新时间:2008-4-1    

本文相关ADI器件:AD623

摘要:本文应用Matlab软件,结合实际测定的热零点漂移非抛物线关系及输入压力和输出信号的非线性关系,基于传感器融合理论,融入环境温度信息,为智能化技术提供一种算法和得到压力的解析表达式,同时利用单片机实现了它的非线性和温度补偿。

关键词:压力传感器;热零点及灵敏度漂移;解析表达式;信息融合;非线性;单片机

中图分类号:TP212.1 文献标识码:A   文章编号:1006-883X(2003)03-0001-07

一、引言

扩散硅压力传感器具有体积小、灵敏度高、动态响应快、使用方便等优点,但由于它是半导体材料制成的,存在温度的影响,表现为环境温度的变化会引起传感器零点漂移和灵敏度漂移,再加上其本身所存在的非线性问题,以及器件在封装加工过程中受到的应力影响,测量精度难以满足精密压力测量的需要。

多传感器信息融合技术就是通过对多个参数的监测并采用一定的信息处理方法达到提高测量精度的目的。在要求测量一个目标参量的场合下,为达到提高被测目标参量测量精度的目的,视参量为干扰量,并消除其影响。

扩散硅压力传感器在输入压力相同的情况下,不同的环境温度会得出不同的输出值。本文将介绍二传感器信息融合的处理方法,推导出传感器输出信号的最佳拟合表达式,得出带温度参数的压力的解析表达式,并融合了温度传感器的测量结果。还介绍了智能化的系统结构,融合的方法及硬件连接原理,可通过单片机控制实现传感器的非线性补偿和温度补偿。

二、融入环境温度信息的压力解析表达式

压力传感器的输出信号Ut可以由两部分组成:

                                             1

其中,U0为压力为零时的输出,称为零点,与温度和外加电压V有关。U为与压力有关的有效信号。

又:                                             2

其中:S0—温度为零度时的压力灵敏度;


S压力灵敏度,与传感器的膜厚、膜面积及力敏电阻条的设计布置有关。

             3

—压力灵敏度温度系数。当 时,则引起灵敏度的热漂移。一般认为 等于压阻系数的温度系数,故 是与T有关的线性项。至今未有人提出与T2有关非线性项。这也与我们的实验结果表1相符。因此,本文中忽略压力灵敏度的T2项。

将式(2)移项后可得:                  4

因为S0为非线性函数,于是应将 表示为U的幂级数,即有:                 5

其中:aj的量纲为PaV-j+1

在满足精度条件下取有限项n,压力传感器校准时由静态特性可以测得mPU的数据。对应第i个测量值PiUi,对应式(5)的计算值 为:           6

计算值中各阶 前的系数需用最小二乘法求得。这一方法是使计算值 与各次测量值Pi的偏差平方和最小,即有:          7

也就是: j=0,1,2,…n              (8)

j n 个有限值,因此由式(8)可得n 个线性方程式。式(7)对aj求导后,得:  

i = 0,1,2, …m               (9) 

当解出n个有限的an 值:a0 a1...aj...an后,带入式(6)可得到 的计算值。由 i = 1,2, ...m 的计算值,再代入式(7)可得到σ值。若σ值小于规定的误差值 ,即: ,或 %

则上面确定的naj 值,已达到目标要求,于是可用式(6)表示P~U之间的显示关系。

,则说明未达到目标要求。此时重新令 多项式中再增加 项,重新计算a0...an+1 各系数,直到达到目标要求为止。因此,这种最小二乘法又称多项式目标函数法。计算过程可能因计算时间过长而始终达不到 的目标。这就要求放松对 的要求,只计算n 项。当an  an+1很小时,便不用再计算后面的an+1 an2

Matlab软件是十分优秀的试验数据处理软件。对于 函数,只要输入各次测量值U1U2...Ui  P1P2...Pi 便能自动得到 的函数表达式,并自动画出 的曲线。我们把压力传感器测定的输出信号数据列于表1中。考虑到灵敏度热漂移的影响,将信号电压除以 折合到参考温度(25℃),从而使不同温度下有相同的多项式,统一成一个表达式: 10

1中,行对应标准压力值,列对应各测量温度值。依据每一列温度及对应压力下的折合到参数恒温(25℃)的输出信号 ,利用Matlab软件得到a0 a1aj各值。根据温度信号和输出的电压信号,利用单片机计算得出压力值并显示其结果。

由表1可以看出,各温度下的a0a1都很接近。取其平均值a0=+0.0003,a1=-0.0176。可见归一到25℃的P-U关系,为一几乎通过原点(00)的直线。其斜率为 -0.0176


1  外加电压为5V时,不同温度和压力下的输出信号电压 。其中

 T()

F(MPa)

-10

-5

0

5

10

15

20

25

0.04

-21.6

-23.1

-20.2

-22.6

-23.6

-25.4

-24.5

-24.3

0.06

-34.0

-35.8

-32.9

-34.6

-33.3

-34.1

-36.2

-33.6

0.08

-43.8

-45.1

-44.2

-45.0

-46.3

-47.3

-44.8

-44.6

0.10

-55.9

-56.2

-55.4

-56.8

-56.0

-56.0

-56.9

-57.7

0.12

-66.8

-66.9

-66.1

-67.1

-65.3

-69.2

-66.6

-68.5

0.14

-76.6

-78.5

-76.7

-77.4

-77.0

-82.5

-80.0

-79.5

0.16

-89.6

-91.6

-88.7

-88.1

89.7

-95.0

-92.0

-90.3

0.18

-102.8

-102.1

-100.0

-98.7

-101.3

-106.8

-100.2

-100.6

0.20

-112.9

-113.8

-111.7

-112.1

-111.8

-117.8

-116

-114.9

0.22

-125.3