传感器温度补偿

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

传感器温度补偿算法分析

从数学上来看,压力传感器的输出u(正比于传感器的数字量/AD码)可当作相关的环境温度T和被测压力P的二元函数

Y

X 轴

Y被测压力X 压力传感器采集的数字量/ad码

前言:

首先我们对传感器线性化之后,进行温度补偿,如图我们在T0温度下对传感器进行了线性化。再进行一个温度点,两个压力点的标定,当标定压力为P1,此时处于A状态点,然后升温至T1,达到状态点B(X B,Y B,T1),由X B 和T0温度下线性化关系求得标定前的压力值为Y C,得到虚拟点C(X C,Y C,T0),至此完成一个压力点的标定。然后更改标定压力为P2,到达状态点D(X D,Y D,T1),可求虚拟点E(X E,Y E,T0)。至此标定工作完成。

T0时刻为传感器标定曲线,是一条基准曲线,其他温度时的曲线存在但是不知道形式,但是其上的标定点是已知的,当处于BCED区域内任意点F(X F,Y F,T)状态点时,T为温度传感器AD码,X F为压力传感器AD码,Y F为此

时的被测压力,如果不补偿此时显示压力为Y H(也就是一个基准值),我们需要求得Y F和Y H之间的增量,因为Y G到Y H温度变化了T0-T1,作比值即得每温度变化了多少压力(变化率),而H到F变化T-T0,所以Y F和Y H之间

的增量为(Y G-Y H)/(T1–T0)*(T-T0)。但是G点未知,我们需要通过已知点D点B去得到G的逼近点M,同理得H的逼近点N,

正文:

设y=f(x,T)函数图像如图

Y

X 轴

分析一个温度点,两个压力点的标定。Y为被测压力X为压力传感器AD码。

处于T0温度时,对传感器进行线性化(找到被测压力和传感器AD码的曲线)选择标定值PI,也就是在图中A点,然后升温至T1,根据此时传感器值X B和T0时刻的线性化关系求出Y C(也就是温度补偿前压力值),得到B(X B,Y B,T1) C(X C,Y C,T0)。

更换择标定值P2温度仍为T1则处于D状态点,根据此时传感器值X D和T0温度下的线性化关系求出Y E(也就是温度补偿前压力值),得到D(X D,Y D,T1) E(X E,Y E,T0),标定过程完成。

补偿后,当温度改变压力改变,至F状态点,我们想根据该点的传感器的AD 码求出此时的被测压力,

先保持T不变,沿DB,EC对x进行插值,分别求得H的逼近点N,G的逼近点M,

Y M=Y D+(Y B-Y D)/(X B-X D)*(X M-X D)

Y N=Y E+(Y C-Y E)/(X C-X E)*(X N-X E)

保持X不变沿NM对T进行插值

Y F=Y N+(Y M-Y N)/(T1–T0)*(T-T0) …………………………………………………….. (※)解释对T插值的实际意义:如果未补偿则为YH,(YM-YN)/(T1–T0)为此传感器值

下每温度变化压力值,通过此传感器值下温度变化量(T-T0)求出N到F的压力变化量(Y M-Y N)/(T1–T0)*(T-T0)在加上Y N即此时要求的Y F。

以上为两点标定压力的算法,当标定压力三点时通过二次插值(三个点带入二次插值算式)求得对应的Y M Y N,当标定压力点为一点时,即标定压力即Y M,计算对应的补偿前压力即Y N.当多温度点标定,根据实际温度处于哪一个温度区间选择对应的标定点去求Y M Y N。(至此所求YF为实际Y值的一个逼近值)

Y

P2

X 轴

升温至T2标定BD两点

附录:

拉格朗日一次插值

二次插值

牛顿插值

Newton Ln(x),只是形式不同牛顿插值具有递归的特点,形式更适合编程

插值多项式的次数是随插值节点的增加而升高的,一般总以为插值多项式的次数越高对f(x)逼近的程度越好,但实际并非完全如此。n 越大,端点附近抖动越大,称为Runge 现象。

所以根据实际温度选定温度区间再进行插值(对温度进行分段线性插值)

相关文档
最新文档