APP下载

一种氨气变送器温度补偿方法的研究与实现

2015-12-25张根宝谢晓静程振晨

陕西科技大学学报 2015年5期

张根宝, 谢晓静, 程振晨

(陕西科技大学 电气与信息工程学院, 陕西 西安 710021)



一种氨气变送器温度补偿方法的研究与实现

张根宝, 谢晓静, 程振晨

(陕西科技大学 电气与信息工程学院, 陕西 西安710021)

摘要:为有效解决氨气传感器温漂问题,设计了一种基于BP神经网络的温度补偿系统.针对BP网络收敛速度慢、精度不高、易产生局部最小值的缺陷,在BP网络算法迭代接近最优时引入L-BFGS算法加快收敛.同时,引入动态变量更新权值向量和权值导数向量,改进拟Hesse逆矩阵的求解,解决了溢出问题,实现了算法的全局收敛.实验证明,该氨气变送器有效克服了温漂问题,并具有响应时间短,测量精度高,稳定性好等优点.

关键词:氨气变送器; BP神经网络算法; L-BFGS算法; 温漂问题

0引言

氨气是一种重要的化工原料,在工业生产中有着广泛的应用,但如果操作不当,就会引发危险[1].为了避免氨气泄露给人类带来危害,应及时检测空气中氨气含量,采取相应措施防患于未然.电化学传感器是测量气体最常用的传感器,电化学传感器具有反映速度快、准确(可用于ppm级),稳定性好、能够定量检测等优点,但是测量中,因环境温度的影响,容易产生漂移,影响测量精度.为此,必须对传感器的温度漂移进行补偿.

本文设计的电化学NH3变送器,以低功耗、高速度微处理器STM32F103RCT6为采集Nh1的运算和控制核心,选用电化学4Nh1-1000传感器,实现数据的显示报警,温度的软件补偿及远距离传输.建立BP网络是利用其能够以任意精度逼近任何非线性函数的能力进行数据拟合,对变送器进行温度补偿.针对BP神经网络在电化学传感器温度补偿中存在收敛速度慢、易于陷入局部极小等缺点[2,3],提出了应用L-BFGS(拟牛顿法)算法对其进行改进,加快了网络的收敛速度,提高变送器的精度.

1系统硬件电路设计

1.1芯片选型[4]

STM32F103系列MCU具有CortexTM-M3 32位的RISC内核,工作频率为72MHz,内置高速存储,具有丰富人机交互接口、通信、定时器和控制外围电路.考虑到该设计软件运行工作量较大,选用增强型的STM32F103系列可工作于-40 ℃至+105 ℃的温度范围,内嵌3个12位的模拟/数字转换器(ADC)的STM32F10RCT6芯片.

1.2硬件电路框图

高精度NH3探测器的基本硬件结构如图1所示,电化学传感器4NH3-1000检测到氨气,经化学反应转换成电流信号,通过多级运放调理电路输出1~3.3 V电压信号到微处理器STM32F103RTC6的A/D转换通道,处理器将调理电路输出的电压信号转换成数字量,处理后由LED显示出来,并通过RS-485通讯接口将数据传送给上位机,通过AD694输出4~20 mA电流信号,实现了远距离传输.用DS18B20采集温度,通过BP神经网络算法,对传感器进行温度补偿.整个系统框图如图1所示.

图1 系统整体框图

2BP神经网络

改进的BP网络的对传感器的温度补偿,可以看成关于传感器输入、输出的非线性映射.由于传感器受温度影响很大,对此,将外界氨气浓度ρi和环境的温度ti通过非线性转换成电信号U,用函数表示该过程为f(ρi+ti)=Ui.对于集合(ρi+ti),可认为存在映射g,使得g(ρi+ti)=Ui.即求出映射g,使得g是f的最佳逼近.BP神经网络通过多次非线性拟合,实现g到f的最佳逼近,神经网络通过对输入样本的训练,通过自学习能力实现了对传感器的温度补偿.

2.1基于L-BFGS算法的BP神经网络

BP网络是用反传学习算法的多层前馈网络,包含一个输入层、一个输出层和至少一个隐含层,单层BP神经网络结构如图2所示.BP算法的本质是梯度下降法的一种迭代学习,负梯度下降法逼近最优的路线是锯齿形的,越接近极小值点步长越大;而且训练从不同点开始沿误差函数的斜面逐渐达到误差的最小值,将会产生不同的极小值,即得到不同的最优解[5-10].因此,在迭代初期采用负梯度下降法,当接近最优时采用改进的拟牛顿算法加快收敛.

图2 BP网络结构示意图

基于L-BFGS算法的神经网络如下:在BP神经网络第k次迭代时,将能量函数E(w)在wk处展开到泰勒级数二次幂的形式:

E(w)=E(wk)+g(wk)(w-wk)+

o((w-wk)2)

(1)

使E′(k)=0得到wk+1满足:

-GkPk+1+1

(2)

在L-BFGS算法中,误差下降函数Pk和Hesse逆矩阵Hk设定如下:

Ifk+1≤n,

(3)

Ifk+1>n,

Pk+1=-Hkgk,

(4)

wk+1=wk+Pk+1,

(5)

故,wk+1=wk-Hkgk,

(6)

对式(1)两边求导,得:

E′(w)=g(wk)+G(wk)(w-wk),

(7)

由式(6)和式(7)可得:

g(wk+1)=g(wk)+G(wk)(wk+1-wk),

(8)

式中,Hkyk=sk,

(9)

yk=gk+1-gk,

(10)

sk=wk+1-wk.

(11)

将式(13)等号两边乘以yk,结合式(9),可以得到Hk的更新值:

(12)

L-BFGS算法第k步的更新方向向量为

(13)

理论上,若H0的初始值是正定的,则Hk就是正定的,这就保证了Pk为下降方向[4].L-BFGS算法不用求解拟hess逆矩阵,计算量小,但由于计算存在舍入误差,破坏了Hk+1的正定性,导致该算法不能在n步内达到最优点.并且,当算法进入饱和区域或接近最小值时,容易产生溢出错误.

影响L-BFGS算法不稳定的最重要的因素是权值的调整,因此,可以选择合适的权值调整方法弥补算法的缺陷.

为了保证权值调节精度,本文引入了动态变量αΔWij(k),公式如下:

wk+1=wk+Pk+1+ΔWij(k+1)

(14)

ΔWij(k+1)=ηδiχj+αΔWij(k)

(15)

ΔWij(k)为第k次训练时的权值更新值,ΔWij(k+1)为k+1次训练时的权值更新值,η为学习速率,α是动量因子.当对训练样本训练时,式(15)是关于次数t的函数,t∈[0,n].

2.2BP网络的建立及训练

在实验中,实验数据被初始化为该输入层有两个节点,输出层有一个节点,隐藏层的数目为8,输入层到隐藏层的初始学习速率为0.07,隐藏层到输出层的初始学习速率为0.25,动量因子为0.8.可以通过式(15)调整权值.学习函数为learngdm,训练函数为trainlm.参数设置如下:最小目标误差goal=le-4;最大训练次数epochs=1 000;最大失败次数max_fail=8;预设精度precision=0.000 1.

BP网络输入层两节点分别为Ut、Uρ,输出量是误差范围允许的气体浓度ρ.4NH3-1000的量程为0~1 000 ppm,工作温度范围为-20 ℃~60 ℃.在图3中可以看到,在变送器不加温度补偿时,在同一浓度不同温度下,采集的浓度值差别很大,必须进行温度补偿以消除温漂影响.在测试中,获取的原始样本中各向量的数量级差别很大,为了计算方便及防止部分神经元达到过饱和状态,在研究中对样本的输入进行归一化处理,如表1所示.

表1 电化学传感器归一化数据

训练完以后,我们需要检测神经网络的工作情况,对神经网络的测试样本进行检测[11-17].这时,选择通过BP网络nntool工具箱仿真输出在0~0.95之间数,经反归一化处理后映射到期望区间.反归一化的公式如下:

(16)

微处理器将信号反归一化处理,并通过显示模块显示出来,同时将数据由RS-485通讯传输给上位机.

3测试结果

根据我国《工业企业设计卫生标准》(TJ36-79)规定了车间空气中氨气的最高允许浓度30mg/m3,30 mg/m3换算成ppm约为39.5 ppm.为了测试及实验的方便,此处在测试中设定55 ppm为报警点,以便检测传感器在同一浓度,不同温度下的测量误差.运用改进的BP网络进行温度补偿,如图3,在选用50 ppm氨气浓度下测试,补偿前,氨气浓度随着温度的变化输出电压也在变.补偿后,在温度不断变化中,变送器输出的电压基本保持在2.5 V,可见BP网络补偿效果明显且可靠.

图3 NH3感器在50 ppm时输出(V)-温度(T)特性曲线

在相同结构的BP神经网络下测试,普通的BP网络下,训练样本时训练至少迭代131次曲线才能停止下降,误差0.001 07%,而在加入L-BFGS算法,训练迭代第21次时误差为0.001 05%,收敛速度加快,如图4和图5所示.

图4 BP模型训练迭代曲线

图5 基于L-BFGS算法的BP模型训练迭代曲线

在图6中,在相同的网络结构和样本值下测试,单一的BP网络在温度补偿中,误差相对较大,而且易陷入极小值状态,在加入L-BFGS算法后,最大误差为0.1%,满足变送器要求,并且避免陷入极小值状态,收敛速度快.

图6 补偿相对误差曲线

4结束语

应用于神经网络的L-BFGS算法是一种拟牛顿方法,适用于解决大规模变量计算问题,通过调整更新权值,实现了全局收敛,保证梯度下降的方向.通过实验证明,将其运用于BP网络对氨气传感器进行温度补偿,稳定性明显增强,训练速度快,有效避免了陷入极小值点.该设计选用STM32F103RCT6处理器,在通讯方面采用RS-485通讯,便于数据的传输,内含12位A/D转换,提高了转换精度.测试结果证明,该氨气传感器整体上性能稳定,测试速度快,且有效消除了温度影响.

参考文献

[1]胡伟.基于无线传感器网络的工业环境氨气泄漏监测报警系统[DB/OL].http://www.doc88.com/p-9068158764182.html,2014-04-01.

[2]李光升,康洪铭,魏宁,等.基于相关模型与神经网络的调压器测试性设计[J].计算机测量与控制,2013,21(3):577-579.

[3]高国强,黄国梁.智能CO探测器设计[J].传感器与微系统,2014,33(3):125-131.

[4]薛忠,何矞,赵中兵.基于STM32F103的智能压力变送器研究与设计[J].现代电子技术,2013,36(4):141-146.

[5]Pei-xinLu.ResearchonBPneuralnetworkalgorithmbasedonquasi-newtonmethod[J].AppliedMechanicsandMaterials,2014,686:388-394.

[6]CheinShanLiu.OptimalalgorithmsandtheBFGSupdatingtechniquesforsolvingunconstrainednonlinearminimizationproblems[J].JournalofAppliedMathematics,2014,12(5):1-15.

[7]孙艳梅,苗凤娟,宋志章.基于DFP算法的BP神经网络在温度补偿中的应用[J].光通信研究,2013,178(8):53-56.

[8]张永敢,蔡瑞英.基于BFGS算法的BP网络在烧结终点预报中的应用[J].软件天地,2008,24(12):291-293.

[9]张耀锋.基于人工神经网络温度补偿的压力传感器的无线数据采集系统[DB/OL].http://cdmd.cnki.com.cn/Article/CDMD-10080-2008157124.htm,2007-10-01.

[10]Tao-wenLiu.AregularizedlimitedmemoryBFGSmethodfornonconvexunconstrainedminimization[J].NumerAlgor,2014,65:305-323.

[11]王福昌,张宝雷,张同庆.神经网络工具nntool及其应用[J].计算机与现代化,2003,45(9):84-85.

[12]飞思科技产品研发中心.神经网络理论与MATLAB7实现[M].北京:电子工业出版社,2005.

[13]张建军,李颀,丁明东,等.基于MSP430单片机的高精度压力变送器[J].仪表技术与传感器,2010,47(1):32-35.

[14]耿辉,刘军.基于ARM的智能无线信号变送器[J].今日电子,2009,17(3):61-64.

[15]赵斌,王建华.基于PSO-BP的红外温度传感器环境温度补偿[J].传感器与微系统,2015,34(2):47-49.

[16]刘天舒.BP神经网络的改进研究及应用[DB/OL].http://www.docin.com/p-761601547.html,2011-06-05.

[17]王晶晶,王剑.一种BP神经网络改进算法研究[J].软件导刊,2015,14(3):52-53.

Researchandimplementationofatemperature

compensationforammoniatransmitter

ZHANGGen-bao,XIEXiao-jing,CHENGZhen-chen

(CollegeofElectricalandInformationEngineering,ShaanxiUniversityofScience&Technology,Xi′an710021,China)

Abstract:In order to deal with the temperature drift problem,the temperature compensation system was designed based on BP neural network.Aiming toBP network defects of slow convergence speed, low precision, and easing to produce a local minima,when the iteration of the BP network algorithm close to the optimal to introduce L-BFGS algorithm to speed up the convergence.Meanwhile,this paper solves the overflow problem by introducing dynamic variables to update the weight vector and the weight derivative vector,improving the solver of quasi Hesse inverse matrix,whichachieves the global convergence algorithm.Experiments show that,temperature drift problem was availably surmounted in the ammonia transmitter,which has many advantages that short response time,high measuring precision,and good stability.

Key words:the ammonia transmitter; BP neural network; the L-BFGS algorithm; the temperature drift problem

中图分类号:TP23

文献标志码:A

文章编号:1000-5811(2015)05-0167-04

作者简介:张根宝(1958-),男,陕西咸阳人,教授,硕士生导师,研究方向:过程控制系统的应用、嵌入式智能仪器仪表开发

基金项目:西安市科技计划项目(CXY1436(1))

收稿日期:*2015-08-13