当前位置:文档之家› 传感器温度误差补偿的软件实现

传感器温度误差补偿的软件实现


当然,也可以把该曲线按一定要求分成若
干段,假设将其分成n段,然后把相邻两段点之
间的曲线用直线近似,这样,就可以利用线性
方法求出输入值x所对应的输出值,这就是线性
插值法。设输入值在 (xi, xi+1) 之间,则其对应 的输出值y可由下式求得:
y=yi+ (x- xi)
yi+1- yi xi+1- xi
在一个单片机传感器测量系统中,要解决 传感器温度误差补偿问题,首先要测出传感器 点的温度,该温度信号作为多路采样开关采集 信号的一路送入单片机。测温元件通常是安装 在传感器内靠近敏感元件的地方,用来测量传 感器点的环境温度,测温元件的输出经放大及 A /D转换送到单片机,单片机通过并行接口接 收温度数据,并暂存温度数据。信号采样结束 后,单片机再运行温度误差补偿程序,对传感 器信号的温度误差进行补偿。对多个传感器, 可用多个测温元件,常用的测温元件有半导体 热敏电阻、AD950测温管、PN结二极管等。原 理框图如图1所示。
OUTLOOK 技术前沿
再把x=x2,y=y2代入式(2)可得:
! " y2- y0 - y1- y0
m2=
x2- x0 x1- x0 x2- x1
由此可见,利用3个已知点A,B,C的数值
就可求出系数m0,m1,m2,然后将其存放在相 应 的 内 存 单 元 后 , 便 可 根 据 某 点 的 x值 代 入 式
图3 二次曲线插值法
式 中 K0, K1, K2为 待 定 系 数 , 可 用 曲 线 上 的3个点A,B,C的二元一次方程组求解,这就
需要解方程组,计算较复杂,列出的程序也较
为复杂,因此,可以用另外一种型式:
y=m0+m1(x- x0)+m2(x- x0)(x- x1)
(1)
式 中 m0、 m1、 m2根 据 A、 B、 C三 点 很 容 易
图4所示是不同温度下的静态特性。图中,y为
被测物理量,u为输出电压。这样,利用最小二
乘法曲线拟合方式求截距u的多项式为:



u=b0+b1T +b2T +…+bkT
(3)
般可采用分段线性插值法在不同温度T (i=1,2,
…,K) 下测出下列数值:
T1,T2,…,T=Tk
y10,y11,…,y1m,…,yk0,yk1,…,ykm
y =(u- U) tgα 式中,U是温度直线在坐标上的截距,可用 线性插值法由输入的T求得,α是温度直线与纵 坐标轴u的夹角。 接下来在按图5流程编制补偿程序,并作为 子程序与监控程序一并使用,以便采集数据时 按流程图自动进行温度补偿。 对温度特性曲线斜率变化大的传感器,一
图6 二次曲线温度 补偿流程图
简化后得:y=yi+Kf (x- xi) 式中:Kf为第i段直线的斜率。 从上式可知,只要n取得足够大,就可获得
良好的精度。
若传感器的输入和输出之间的特性曲线的
斜率变化很大,采用线性插值法,误差就很大,
这时可采用二次曲线插值法,即通过曲线上3个
点A (x0、y0),B (x1、y1),C (x2、y2) 做 一 抛 物 线,用此曲线代替原来的曲线,如图3所示。曲
如将b0,b1,b2,…,bK和计算上式的子程 序 送 入 内 存 ,并 将 温 度 值T0,T1,… ,TK- 1和 传 感器对应的输出电压u0,u1,…, uK-1也按顺序 存入内存,便可构成一个线性表。这样,采集 数据时,CPU就可按线性表查找对应温度的电 压值u,并按下式计算对应的被测量y:
(1) 求出被测值y。
以上是对传感器建立温度误差的数学模型,
用此模型可实现传感器的温度补偿。
温度误差的补偿
在对温度误差进行补偿时,首先在给定的
K个温度值 (T0,T1,T2,…,TK-1) 上,测出每 个温度点上传感器静态特性曲线在u 轴上的截
距 (u0,u1,…,uK),每个温度点上传感器特性 曲线的数据要精确,必要时应在恒温箱内进行。
u10,u11,…u1m,…,uk0,uk1,…,ukm
式中: yij是在温度Ti时第j次输入传感器的 被测物理量; uij则是在温度Ti时第j次测得的传 感器输出电压。这样,便可用拟合法求出各温 度点上的传感器静态输出特性的拟合多项式:

y1=b10+b11U+…+b1nU

y2=b20+b21U+…+b2nU
要K足够大,其误差就可足够小。
结束语
图4 不同温度下的静态特性
用单片机软件实现传感器温度误差补偿是 一种简单有效的方法。它可以大大提高传感器 的测量精度,降低测量系统电路的复杂程度, 提高可靠性,降低成本。特别是硅阻、应变片、 电容式等受温度影响较大的传感器使用该方法 可以显著提高它们测量精度。 ECDA
线方程为一元二次方程,一般形式为:源自y=K0+K1x+K2x2
温度误差数学模型的建立
温度变化给传感器实际测量带来的误差主 要表现在传感器的输入输出特性曲线会产生非 线性变化。为解决这样的问题,必须找出它们 间的关系,建立对应的数学模型。图2所示是一 种传感器的特性曲线:y=f (x)。
图2 传感器 特性曲线
求出。
当x=x0时,y=y0,代入 (1) 式可得m0=y0,又
根据式x=x1时,y=y1,
可知:m1=
y1- x1-
y0 x0
把m0和m1代入式 (1) 得:
y=y0+
y1- x1-
y0 x0
(x-
x0)+m2(x-
x0)(x-
x1)
(2)
42
电子元器件应用 2006.8 www.ChinaECD.net
技术前沿 OUTLOOK
传感器温度误差补偿的软件实现
图1 温度补偿 的原理框图
引言
在有些方面,温度误差已成为提高高精度 传感器性能的严重障碍,特别是在环境温度变 化较大的应用场合。事实上,传感器测量系统 目前已大量引入了单片机来实现自动检测和控 制。因此,用单片机自身的特点和软件来解决 传感器温度误差难题是一条有效途径。
图5 线性温度 补偿流程
……

yk=bk0+bk1U+…+bknU
通常,n1=n2=…=nk=n 将 b0, b1, b2, … , bk和 以 上 多 项 式 的 计 算 程序写入内存,并对数据采集过程按图6流程图
进行温度补偿,即由输入T和u查找和计算y值,
同时采用分段线性插值方法即可。实际上,只
www.ChinaECD.net 2006.8 电子元器件应用 43
相关主题