用单片机软件实现传感器温度误差补偿
1 引言
本文引用地址:https://www.eepw.com.cn/article/21004.htm对高精度传感器,温度误差已成为提高其性能的严重障碍,特别是在环境温度变化较大的应用场合更是如此。依靠传感器本身附加一些简单的硬件补偿措施是很困难的,目前对于一传感器测量系统已大量引入了单片机,实现自动检测和控制。因此用单片机自身的特点,利用软件来解决传感器温度误差难题是一条有效途径。
在一单片机传感器测量系统中,要解决传感器温度误差补偿问题,首先要测出传感器点的温度,该温度信号作为多路采样开关采集信号的一路送入单片机。测温元件通常是安装在传感器内靠近敏感元件的地方,用来测量传感器点的环境温度,测温元件的输出经放大及a/d转换送到单片机,单片机通过并行接口接收温度数据,并暂存温度数据。信号采样结束,单片机运行温度误差补偿程序,对传感器信号的温度误差进行补偿。对多个传感器,可用多个测温元件,常用的测温元件有半导体热敏电阻、ad950测温管、pn结二极管等。原理框图如图1。

温度变化给传感器实际测量带来误差,表现在传感器的输入输出特性曲线上产生非线性变化。为解决这样问题,必须使问题简单化,找出它们间的关系,建立对应的数学模型。
传感器特性曲线y=f(x),如图2所示。


若传感器的输入和输出之间的特性曲线的斜率变化很大,采用线性插值法,误差就很大,这时可采用二次曲线插值法,即通过曲线上3个点a(x0、y0),b(x1、y1),c(x2、y2)做一抛物线,用此曲线代替原来的曲线,如图3所示。曲线方程为一元二次方程,一般形式为:
y=k0+k1x+k2x2
式中k0,k1,k2为待定系数,可用曲线y=f(x)的3个点a,b,c的二元一次方程组求解,这就需要解联立方程组,计算较复杂,列出的程序也较复杂,因此可以用另外一种型式:

以上是对传感器建立温度误差的数学模型,用此模型可实现传感器温度补偿。

首先给定k个温度值(t0,t1,t2,…,tk-1),测出每个温度点上传感器静态特性曲线在u 轴上的截距(u0,u1,…,uk),每个温度点上传感器特性曲线的数据要精确,必要时应在恒温箱内进行,这需要较大的工作量,如图4所示。


y =(u-u) tgα
式中u是温度直线在坐标上的截距,可用线性插值由输入的t求得,α是温度直线与纵坐标轴u的夹角。
按图5流程编制补偿程序,并作为子程序与监控程序一并使用,以便采集数据时按流程图自动温度补偿。


uij—温度ti时第j次测得的传感器输出电压。
用拟合法求出各温度上的传感器静态输出输出特性的拟合多项式:

4 结语
用单片机的软件实现传感器温度误差补偿,是一种简便、有效的方法。它可以大大提高传感器的测量精度,降低测量系统电路的复杂程度,提高可靠性,降低成本。特别是如硅阻、应变片、电容式等传感器受温度影响大,使用该方法可以提高它们测量精度。目前单片机广泛使用在自动检测仪表中,使用该方法实现传感器温度误差补偿,是一条行之有效的途径。
评论