APP下载

基于卡尔曼滤波的铂电阻高精度水温测量系统设计

2020-11-12赵学亮魏光华

自动化仪表 2020年9期
关键词:阻值卡尔曼滤波测温

袁 闯 ,赵学亮,魏光华

(1.河北大学质量技术监督学院,河北 保定 071002;2.中国地质调查局水文地质环境地质调查中心,河北 保定 071051)

0 引言

近年来,随着水文地质调查行业的发展,地下水温度作为一种良好的示踪剂,得到了越来越广泛的应用。相应地,这也对地下水温度测量提出了更高的精度要求[1-2]。

目前,温度测量技术成熟。温度敏感元件既有热电阻、热电偶、热敏电阻等温度传感器,又有温度传感器、数字温度传感器、光学温度传感器等。其中,热电阻,尤其是Pt1000铂电阻的测温方法以高精度、高灵敏度等特点,在中、低温测量中占据重要地位[3-4]。通常以铂电阻为温度传感器的测温设计,为减小引线电阻的影响,多采用三线制或四线制接法。三线制使用电桥法,忽略了部分引线电阻,但不适用于长距离、高精度系统。四线制接法因其可以完全忽略引线电阻影响,结构简单,广泛应用于高精度测温领域[5-6]。因此,本文选用Pt1000铂电阻作为温度传感器,设计了一种可用于地下水温度测量的四线制高精度测温系统。其不仅可以满足地下水温度测量精度要求,而且对测温领域的发展具有一定促进作用。

1 铂电阻测量原理

在-200~+850 ℃范围内,根据标准设计的铂电阻分别为Pt100、Pt500和Pt1000[7]。其阻值与温度均具有以下关系:

R=R0[1+AT+BT2+C(T-100)T3]

(1)

式中:R0为0 ℃时铂电阻阻值;R为T℃时铂电阻阻值;A、B、C分别为1、2、3阶温度系数。

由于铂电阻阻值小、温度系数低、阻值与温度非线性,在使用铂电阻进行高精度测温的设计中误差主要来源于引线电阻、自热效应、非线性误差以及一些电路上的微小误差。本文针对这些误差源,从硬件结构和软件算法两个方面入手,提出了相应的误差减小方案。

2 硬件设计

基于卡尔曼滤波的铂电阻高精度水温测量系统主要包括STM32L052最小系统、电源转换电路、比值法四线制测温电路、数据采集电路和人机交互电路5部分。其中,STM32L052最小系统主要用于程序在线调试和协调各部分工作;电源转换电路将直流供电转化为3.3 V,供其他电路使用;四线制比值法测温电路主要负责解决引线电阻干扰和避免铂电阻自热效应;数据采集电路负责将串联网络上铂电阻电压和参考电阻电压采集转化为数字信号,并发送给处理器处理;人机交互电路包括按键和液晶,主要负责仪表操作和数据显示。测量系统框图如图1所示。

图1 测量系统框图Fig.1 Block diagram of measuring system

为控制铂电阻自热效应,四线制铂电阻测温系统一般要求流经铂电阻的电流小于0.3 mA。这将造成铂电阻输出信号强度弱、抗干扰能力差。因此,为确保信号被完整采集,本系统选用24位多通道、低温漂、高输入阻抗的模数转换芯片LTC2414,对信号进行采集转化。比值法四线制测温电路如图2所示。

图2 比值法四线制测温电路Fig.2 Ratio method four-wire temperature measuring circuit

图2中:AD8603为CMOS型轨到轨精密运算放大器,最大失调电压50 μV,最大温漂4.5×10-6。NPN型三极管,作开关管使用。其工作时,I/O口输出脉冲宽度调制(pulse width modulation,PWM)波控制三极管开断,以此实现频率式供电,起到降低功耗和避免持续供电产生自热效应的作用。R2、R4为限流电阻,确保在-20~+100 ℃范围内流经铂电阻的电流始终小于0.22 mA,从而进一步避免自热效应。Pt1000铂电阻通过BNC接头以四线制接法接入电路。LTC2414差分采集参考电阻R1和Pt1000上的电压,高共模抑制和LTC2414高输入阻抗使得可以完全忽略Pt1000引线电阻的影响。R3、C1构成的低通有源滤波器可以很好地滤除10 Hz以上的噪声,提升了R1上参考电压的稳定性。电路关系式可表示为:

(2)

式中:r、r1分别为LTC2414转化Pt1000和R1电压的编码值;U为Pt1000电压;U1为R1的电压;I为流经R1、R2、Pt1000串联电阻网络的电流;R为Pt1000随温度变化的阻值;R1为5 kΩ高精度低温漂的基准电阻。

对式(2)进行转化,则铂电阻计算公式可表示为:

(3)

与一般的四线制铂电阻测温电路相比,本系统使用的比值法不仅继承了其可完全忽略引线电阻、高测量精度等优点[8],而且巧妙地使用了模数转换(analog/digital,A/D),将电压比转化为电阻比,减少了误差因素和噪声来源。此外,为增加测温精度和稳定性,主要元件均选用了高精度、低温漂器件,并通过开关管和电阻限流,消除了铂电阻自热效应。

3 软件设计

合理的软件系统可以最大限度地发挥硬件性能。本系统的软件设计通过嵌入卡尔曼滤波算法和阻值线性拟合回归方程,得到准确、稳定的铂电阻阻值,进而使用Pt1000分度表分段拟合公式计算出温度值。软件流程如图3所示。

图3 软件流程图Fig.3 Software flowchart

3.1 卡尔曼滤波算法

卡尔曼滤波是一种基于最小均方误差准则对系统状态变量进行预测的递归式算法,由维纳滤波器演变而来[9-10]。本文所设计的测温系统使用卡尔曼滤波算法对铂电阻阻值测量进行滤波处理,在一定条件下,水中温度变化是一个离散性的系统。因此,当使用铂电阻测量水温时,铂电阻阻值变化也是离散性的。其系统模型可用一个线性随机微分方程表示:

X(k)=AX(k-1)+W(k)

(4)

再加上测温系统测量值:

Z(k)=HX(k)+V(k)

(5)

式中:X(k)为k时刻的系统状态;Z(k)为k时刻测量值;A和H分别为系统参数和测量参数,对水温测量系统来说,测量时认为水温恒定,铂电阻阻值无变化,所以系统参数A=H=1;W(k)和V(k)分别为过程噪声和测量噪声,它们被假设成高斯白噪声,协方差分别为Q和R。具体算法流程如下。

①预测系统的下一个状态:

X(k|k-1)=AX(k-1|k-1)

(6)

式中:X(k|k-1)为上一状态预测的结果;X(k-1|k-1)为上一状态最优结果。

②更新X(k|k-1)的协方差P(k|k-1):

P(k|k-1)=P(k-1|k-1)+Q

(7)

③计算此刻卡尔曼增益Kg(k):

(8)

④进行校正更新,即计算k时刻预测结果X(k|k):

X(k|k)=X(k|k-1)+Kg(k)[Z(k)-

X(k|k-1)]

(9)

⑤为下一步估计(k+1)时刻最优阻值的迭代进行更新操作,即更新P(k|k-1):

P(k|k)=[1-Kg(k)]P[k|k-1]

(10)

⑥设置合适的初值X(0|0)、P(0|0)和噪声值Q、R,将式(6)~式(10)进行循环迭代。

为验证卡尔曼滤波算法的有效性,使用滤波前后的两种状态,采集阻值为1 000.01 Ω的精密电阻箱200次形成的波形。

滤波前后波形对比如图4所示。

图4 滤波前后波形对比图Fig.4 Waveform corrparison before and after filtering

由图4可以看出,嵌入卡尔曼滤波算法后波形近乎一条直线,达到理想精度。经过计算发现,滤波前扩展不确定度为(999.204 015±0.014 964)Ω,滤波后扩展不确定度为(999.187 323±0.000 87)Ω,稳定性显著提升。

3.2 阻值的拟合回归

温度受环境影响大,一个良好的恒温环境极难实现,所以本设计并不直接对温度进行拟合回归,转而通过试验对阻值测量进行拟合回归。使用Keysight34420A毫微伏/微欧表(100 nΩ精度),与本系统同时测量精密电阻箱的阻值。以10 Ω位梯度改变电阻箱阻值,对1 000~1 400 Ω内的43组数据进行最小二乘法拟合,阻值拟合如图5所示。

图5 阻值拟合图Fig.5 Resistance fitting graph

由图5可知:相关系数为1,标准偏差为0.004 8 Ω,成立的概率为99.99%。从图形和计算结果可以看出,拟合直线可靠性好,离散性极低。所以,本系统采集值与微欧表测量值呈线性关系,线性关系式为y=1.000 16x+0.639 6。其中:x为系统测量值;y为微欧表测量值。

3.3 Pt1000分度表分段拟合

改善铂电阻非线性的补偿算法主要有反向分度函数法、牛顿迭代法、查表法等。这些算法无需借助复杂的计算工具,即可求得补偿参数[9-11]。本模块选用反向分度函数法,对Pt1000铂电阻分度表-20~+100 ℃内温度与阻值关系散点图进行观察分析,将其分为5段,并使用最小二乘法进行拟合回归。

分段拟合数据如表1所示。

表1 分段拟合数据表Tab.1 Segment fitting data table

表1中:T为温度;R为铂电阻阻值。从表1可以看出,标准偏差均小于0.01 ℃,满足高精度要求。71.0~72.0℃和88.0~89.0℃两个温度段为异常段,前者阻值随温度变化较快,后者阻值温度呈负相关。

4 试验与系统精度分析

Keysight34420A毫微伏/微欧表连接SPRT探头测温精度可达0.003 ℃,测温范围在-190~+660 ℃。将SPRT探头与Pt1000铂电阻(连接上本测温系统)捆绑在一起并放入恒温水槽,采集10组数据(保留0.001 ℃精度)。测量结果数据如表2所示。

表2 测量结果数据表Tab.2 Measurement results data table ℃

5 结论

针对地下水测温要求,设计了Pt1000铂电阻四线制比值法测温系统。通过对铂电阻测温误差来源分析,从软硬件两方面提出了误差减小的方案。试验结果表明,误差得到有效控制,最大误差为0.05 ℃,整体精度优于0.044%。该系统测量精度高,结构简单,不仅适用于地下水温度测量,也适用于其他水温测量系统,对相关铂电阻测温设计具有借鉴意义。

猜你喜欢

阻值卡尔曼滤波测温
导电电极对电阻浆料阻值的影响
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
四线制阻值检测电路实验研究
疫情期间红外测温枪检测的基础理论和实验研究
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
对一道电学实验题的思考
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于有色噪声的改进卡尔曼滤波方法
变压器光纤测温探头的安装固定
基于DS18B20的单片机测温系统