《电子技术应用》
您所在的位置:首页 > 模拟设计 > 业界动态 > 智能压力传感器精度的研究

智能压力传感器精度的研究

2016-02-23
作者:倪珊珊,卢文科,殷广亮
来源:2015年微型机与应用第21期

  摘  要: 通过对智能压力传感器精度的研究,选择基于自适应学习率的BP算法设计压力传感器。首先,给出了相应的硬件结构和软件设计,然后用标准的BP神经网络和改进的BP神经网络分别对压力和温度两个目标参量进行数据融合,进行测量结果显示。通过对测量结果的计算比较,发现利用改进的BP神经网络设计的传感器测量精度比标准的BP神经网络设计的传感器精度更高。

  关键词: 压力传感器;自适应学习率;BP网络

0 引言

  压力是工业生产中的重要参数之一,正确测量和控制压力对保证生产工艺过程的安全性和经济性有重要意义。由于压力测量的重要性,对压力测量仪表的开发也得到了高度重视。目前最具有前景的是智能压力传感器,它被广泛应用于石化、化工、电力和国防等领域[1]。相比于通信技术和计算机技术的发展,智能压力传感器技术的发展相对滞后,如何提高传感器测量精度是首要解决的问题。目前,国内外常用的解决方法有两种:一种是硬件法,另一种是软件法。硬件法比较直观,但是硬件电路存在电路比较复杂、精度相对低、成本比较高等缺点,利用硬件电路实现比较困难。软件法是利用软件功能结合特定的算法对数据进行处理,主要有回归法、神经网络、小波等。其中,神经网络具有层次性、联想记忆和并行处理等优点,应用前景好[2]。近几年,相关文献中多选用标准的BP算法来提高压力测量的精度,忽略了标准的BP算法本身存在收敛速度慢、易陷入局部最小等缺点。本压力传感器的设计利用基于自适应学习率的BP算法,不仅提高了算法收敛的速度以及测量精度,同时将改进的BP算法嵌入到微处理器中,实现测量、显示等功能。

1 智能压力传感器的硬件设计

  智能压力传感器在硬件方面主要是简化电路,采用几块主要功能的芯片加上一些简单的外围电路来实现,它的大部分功能主要靠软件来实现。智能压力传感器是既有获得信息的能力又有信息处理功能的传感器系统。智能压力传感器系统具备学习、推理、感知、通信及管理的功能,其典型结构如图1所示[3]。

001.jpg

  硬件工作过程:压力传感器将检测的压力信号转化为直流电压输出,经信号调理电路处理,经过滤波、放大,以及模数转换,将所得的数字信号送入单片机,经处理后将结果送至输出接口,得到的结果供PC机接收。

2 智能压力传感器的软件设计

002.jpg

  智能压力传感器软件的设计完全按照结构化的程序设计方法来完成,将整个程序细划分为若干个子程序(模块),方便调试与检查。图2为主程序流程图[4]。软件执行过程如下:当软件启动后,首先对它进行初始化设置,然后判断是否有键按下,如果有键按下,则调用模数转化模块,将模拟量转化为数字量,调用数据处理模块,进行非线性修正,将处理好的数据进行数模转换,再将转化好的模拟量显示出来;如果没有键按下,则继续判别是否有键按下。

3 BP网络模型

  BP(Error Back Propagation)算法的基本思想是:学习过程由信号的正向传播与误差的反向传播两个过程组成[5]。它利用梯度最速下降法,权值沿误差函数的负梯度方向改变,使误差逐渐减小,并逼近非线性函数。本文中所设计的神经网络,输入层包含压力与温度两个信号,隐含层选择6个神经元,输出层设为校正后的压力值。首先设输入层(?字=[Uρ;T])的权值矩阵为?棕1,修正值矩阵为b1,隐含层神经元的传递函数采用的是S型正切函数[6]:

  1.png

  中间层的函数表达式为[7]:

  2.png

  将隐含层与输出层的权值矩阵设为T2R}$IH9%WXA6_[UJN7X%O5.jpg,修正值矩阵设为b2,输出层神经元的传递函数采用的是S型对数函数,其表达式为:

  3.png

  输出层的函数表达式[8]:

  4.png

  在压力标定值P下,得到压力传感器输出的电压信号UP和温度信号UT,以此来建立训练样本。针对不同的压力需建立不同的训练样本进行BP网络的设计。

4 自适应学习率的BP算法

  标准的BP算法的学习率SG5WV{3IIK7LJ}H`]A4R98P.jpg是固定的,学习率过大或过小都不能很好地适用于网络的整个学习过程[9]。因此,本文采用了SG5WV{3IIK7LJ}H`]A4R98P.jpg的自适应调整的BP算法。它的基本思想是:当学习速率能够使网络稳定学习,并能够使误差值继续下降时,可以适当地将学习速率变大;如果学习速率调得过大,不能保证误差值继续减小,则适当地减小学习速率,直到使学习过程稳定为止。SG5WV{3IIK7LJ}H`]A4R98P.jpg的调整公式为[10]:

  5.png

  其中,TZF6I6R_7LHD}{N$MOTTT_R.png分别表示学习率迭代到第k,k+1次时的值,K95CKUPAEMU3@~9~(F9%]AP.png为误差增量,0<λ1<λ2<1为常量,λ1,λ2的取值范围通常为0.01~0.03,本文采用的是0.03。从式(5)中不难看出,对学习速率的调整与误差增量E的大小和误差7K{W)IJ_BK0T0FQ97SFI{CE.png的大小有关,很好地避免出现震荡的情形。

5 标准BP与改进算法的仿真与应用

  5.1 样本库的建立

  在不同的温度T(28℃,34℃,50℃)、压力P(0,1×104pa,2×104pa,3×104pa)下,对智能压力传感器的静态输入输出特性进行标定,得到12组二维实验数据标定表,如表1所示。

003.jpg

  主要训练参数为:误差精度为0.001,迭代次数为  2 000,输入节点数为3,隐层节点数为6,输出层节点数为1。标准BP算法的学习率设为0.6。改进算法的初始学习率设为0.1,λ1=0.03,λ2=0.01。

  5.2 测试结果分析

  分别通过标准的BP和改进的BP神经网络融合,压力信号的输出分别如表2、表3。

004.jpg

  根据表2和表3测得的结果,经过标准BP网络融合后的线性度为:

  BZ75KX)$JMSA}DS}H1}1$FS.jpg

  通过线性度及温度稳定性参数的计算可以看出,经过改进的BP网络融合,线性度从标准BP网络融合的0.16%改进到了0.07%,零位温度系数及温度灵敏度也分别变小,表明经过改进的BP网络融合后传感器的线性度及温度稳定性都得到了不同程度的改善,从而使传感器的测量精度更高。

6 结论

  基于自适应学习率的BP神经网络的智能压力传感器,电路设计简单、可靠性高、稳定性好。更重要的是,相对于基于标准BP神经网络的智能压力传感器,测量精度更高。本文提出的改进的自适应学习率的BP神经网络,可以有效地避免出现震荡的情形。利用该智能压力传感器可以实现信号的A/D转换、测量、线性化、温度补偿等一些简单功能,减轻了中央处理器的负担,并且提高了测量精度。

  参考文献

  [1] 刘君华.智能传感器系统(第二版)[M].西安:西安电子科技大学出版社,2010.

  [2] 郁有文.传感器原理及应用(第四版)[M].西安:西安电子科技大学出版社,2015.

  [3] 吴建平.传感器原理及应用[M].北京:机械工业出版社,2009.

  [4] 孙育才,孙华芳.MCS-51系列单片机及其应用[M].南京:东南大学出版社,2012.

  [5] 张代远.神经网络新理论与方法[M].北京:清华大学出版社,2006.

  [6] 刘鹰,赵琳.神经网络BP算法的改进和仿真[J].计算机仿真,1997,16(3):12-14.

  [7] 周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005.

  [8] GOEL A K, SAXENAX S C, BHANOT S. A fast learning algorithm for training feedforward neural networks[J]. International Journal of Systems Science,2006,37(10):709-722.

  [9] 曾明,魏衍.一种BP神经网络改进算法的研究及应用[J].微计算机信息,2009,25(18):193-195.

  [10] 刘岚,秦洪.用于神经网络模式识别的一种改进的BP算法[J].信息技术,2002(6):6-7.


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。