基于BP网络的智能压力传感器系统研究与设计_第1页
基于BP网络的智能压力传感器系统研究与设计_第2页
基于BP网络的智能压力传感器系统研究与设计_第3页
基于BP网络的智能压力传感器系统研究与设计_第4页
基于BP网络的智能压力传感器系统研究与设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第24卷第10期2011年10月传感技术学报CHINESE JOURNAL OF SENSORS AND ACTUATORSVol24No10Oct2011 项目来源:陕西省教育厅基金项目(09JK636收稿日期:20110601修改日期:20110716The Research and Design of Intelligent Sensor System Based on BP Network *CUI Jingya ,LV Huimin *,CHENG Sai(Department of Applied physics ,Xi an University of Technology ,X

2、i an 710048,China Abstract :An intelligent high precision sensor was designed by combining STM32F101C8microprocessor with C /OSoperating system ,meanwhile ,the corresponding hardware structure and software design were givenBy using BP neural network ,two target parameters ,pressure and temperature ,

3、were made do the data combination to reduce the sensitivity of cross-interferenceThe results show that the sensor can meet the real-time demand under multitask ,and get the performance more accurate ,stable and reliableKey words :pressure sensor ; BP network ; C /OS; STM32F101C8EEACC :1295; 7230doi

4、:103969/jissn10041699201110011基于BP 网络的智能压力传感器系统研究与设计*崔静雅,吕惠民*,程赛(西安理工大学应用物理系,西安710048摘要:将STM32F101C8微处理器与C /OS操作系统相结合,设计出了一种高精度智能传感器系统,给出了相应的硬件结构和软件设计。利用BP 神经网络对压力和温度两个目标参量进行数据融合处理,减小了两者相互交叉干扰敏感度。实测结果显示该传感器能满足多任务下的实时性要求,并具有更加精确、稳定、可靠的性能。关键词:压力传感器; BP 神经网络; C /OS; STM32F101C8中图分类号:TP24文献标识码:A 文章编号:10

5、041699(2011 10142605压力的测控在现代工业自控环境中广泛应用,涉及水利水电、铁路交通、智能建筑、航空航天、军工等众多行业。随着通讯技术和计算机技术的发展,智能压力传感器技术的发展相对滞后,呈现出“头脑(计算机 发达,感觉(传感器 迟钝”的现象1。为了提高测量精度,如何抑制压力传感器对温度的交叉敏感性是亟待解决的核心问题2。压力传感器的工作原理已经基本定型,通过发现新的特殊敏感材料3来提高性能已经很困难。目前,国内外常用的解决方法基本有两种:一种是硬件法,但硬件电路大都存在电路复杂、精度低、成本高等缺点4; 另一种是软件法,此类方法是将微处理器与传感器结合起来,利用丰富的软件功

6、能、结合一定的算法对参量进行数据融合,主要有回归法、最小二阶乘法、神经网络、小波等,其中神经网络具有层次性、联想记忆和并行处理等优点,应用前景良好56。近几年,相关文献中多选用BP 神经网络来提高压力测量的精度5,78,但是忽略了温度测量的准确,且收敛速度慢。本智能传感器系统针对压力和温度相互交叉干扰的问题,利用BP 神经网络的Levenberg-Marquardt 算法提高了网络收敛速率以及温度和压力两个参量的测量精度,同时在C /OS操作平台上,将BP 网络融合算法嵌入到STM32F101C8微处理器中,实现显示、报警、与PC 机通信等功能,使功能更加完善。1智能压力传感器的硬件设计硬件电

7、路的系统方框图如图1所示。图1硬件电路系统方框图第10期崔静雅,吕惠民等:基于BP 网络的智能压力传感器系统研究与设计11测量单元传感器选用的是JCY101型硅压阻式压力传感器,其内部电路是由四个压敏电阻组成的全桥差动电路,如图2所示。为了提高恒流特性,本设计采用反馈改进型的恒流源为其供电。测量过程使用“一桥二测”技术,其中,电桥B 、D 两端输出电压U P 为压力参量的输出信号; A 、C 两端输出电压U t 为温度参量的输出信号9。 图2JCY101型硅压阻式压力传感器原理图12主控制器STM32F101C8及其外围电路STM32F101其内部使用高性能的ARM CortexM332位的R

8、ISC 内核,工作频率为36Hz ,内置高速存储器,具有丰富的增强型外设。其工作电压为20V 3. 6V ,为了提高转换的精确度,ADC 使用一个独立的电源供电,过滤和屏蔽来自印刷电路板上的毛刺干扰。本设计中,将芯片的PA 口的PA. 4、PA5、PA6作为3路信号输入用到其中一路输入压力信号,一路输入温度信号,一路接地,此接地电路可配合相应的软件来降低温漂和系统误差; 实时时钟采用12MHz 的时钟晶振和32768kHz 的低速外部晶振源; PA8(USART1_TX 和PA9(USART1_RX 外接一片MAX488进行电平转换,进行与PC 的串口通信,对采集到的有效的压力和温度信号实现远

9、程和实时监测控制; 4个按键开关分别接到STM32F101C8的PA10、PA11、PB6、PB7,作为预置压力、调节上、下限,开始工作的输入端; 将采集到的实时数据、来自键盘的设定压力值送入液晶显示器CM12864显示。2智能压力传感器的软件设计目前,商用的嵌入式操作系统开发成本昂贵且大部分不提供源代码,并不适合小型系统的开发。而C /OS相对于其它操作系统具有源码公开、移植性强、代码可裁减等特点,比较适合用于仪用仪表的内嵌微控制器。考虑这些特点,选用C /OS作为嵌入式实时操作系统,克服了过去单任务顺序机制,增强系统安全与稳定性10。在此智能传感器系统中,微处理器启动时,A /D转换芯片等

10、功能开始自检。如有故障,显示哪一原件出错,以便操作人员及时处理; 如正常,则对系统初始化。一切就绪后,采集目标参量,进行数据处理及BP 融合,并将输出结果显示出来。同时与PC 机通信,将测试结果送入PC 机,以得到更详细的处理。21利用BP 神经网络进行数据融合JCY101型压力传感器为两功能传感器,可以测量压力和温度两个目标参量,但相互存在交叉敏感度。因此本系统采用BP 神经网络对输出信息进行数据融合处理,进而提高目标参量的测量精度。(1 样本库的建立在不同的温度T (20,30,40,50,60,70 压力P (0,1,2,3,4,5 10 4Pa 下,对CYJ101压力传感器的静态输入输

11、出特性进行标定,得到36组二维实验数据标定表。取20 70 、0 510 4Pa 范围内的30组数据作为训练样本,其余6组作为测试样本。由于神经网络输入输出数值应为归一化数值,分别用式(1 和式(2 对样本数据和目标数据进行归一化处理,建立神经网络输入输出标准样本库11。珔X i=X i X i minX i max X i min(i =1,2 (1 珔Y i =09(Y i Y i min Y i max Y i min+005(i =1,2(2式中:珔X i 、珔Y i 为第i 个传感器输入输出归一化值,X i 、Y i 为传感器的输入输出值,X i min 、X i max 、Y i

12、min 、Y i max 分别对应第i 个传感器输入输出的最大值和最小值。(2 BP 网络模型的建立BP 神经网络是一种按误差逆传播算法训练的多层前馈网络,针对通常BP 网络在使用中存在的收敛速度慢,容易陷于局部极小值等缺点,采用Lev-enberg-Marquardt 算法对样本数据进行融合12。设计一种包括输入层、隐层、输出层的3层网络,输入层和输出层的2个节点分别对应于压力信号和温度信号的输入输出,隐层节点数为6,两层间的传递函数分别为双曲正切S 型函数tansig 和纯线性函数pureline 。输入层X (X P ,X t 与隐层之间的权值矩阵为W 1,阀值矩阵为b 1,隐层和输出层

13、Y (Y p ,Y t 之间的权值矩阵为W 2,阀值矩阵为b 2,则输入层与输出层之间的关系表达式为:Y =pureline (W 2tansi g (W 1X +b 1 +b 2(3(3 BP 网络训练利用函数trainlm 对BP 网络训练13,得到权值7241传感技术学报wwwchinatransducerscom第24卷和阈值的最优值。当训练误差取000001时,利用MATLAB 神经网络工具箱构建BP 网络,部分程序如下:net =newff (minmax (p ,62,tansig ,purelin ,trainlm ; %创建BP 神经网络和定义训练函数以及参数,隐层神经元数量

14、为6,输出层数量为2nettrainParamgoal =000001; %目标精度设置nettrainParamepochs =2000; %最大迭代次数net ,tr =train (net ,p ,t ; %训练神经网络y =sim (net ,p ; %拟合检验网络的误差曲线如图3所示,由此图可见,该网络算法收敛速度快,只经过了115次迭代便得到目标误差要求。根据欧式范数理论,对原训练样本进行拟合检验,样本逼近误差为00203,网络性能完全可以满足控制要求。此外,为了检验构建的神经网络具有广泛性,用测试样本对网络进行评估,通过 图3网络的误差曲线与目标值相比较,得到网络误差为00379

15、,这表明神经网络具有广泛的适应能力和学习能力,构建的BP 网络能很好的解决传感器信号交叉敏感问题。22C /OS的移植在STM32F101C8上移植C /OS系统,移植的主要工作集中在OS_CPUH 、OS_CPU_AASM 和OS_CPU_CC 这3个文件中,主要设计堆栈初始化、任务上下文切换、中断挂接和数据类型定义几个方面,这些均与STM32F101C8微处理器的ARM 内核硬件紧密相关14。23软件开发流程将训练好的BP 神经网络权值(W 1、W 2 和阈值(b 1、b 2 以适当的数组方式存入STM32F101C8处理器的Flash 存储器中,根据BP 网络的融合算法,编写出基于C 语

16、言的BP 网络融合算法程序,程序在C /OS中以任务的方式运行,本系统由如图4中8个任务来实现,优先权(Prio 的设置由各任务的执行顺序以及对系统安全性影响的大小决定。每个任务函数都是一个无限循环程序,并处于以下五种状态15之一:休眠态、就绪态、运行态、挂起态和被中断态。在无限循环中调用实现某些功能的应用程序函数,然后按设计需求设置挂起方式和挂起时间。系统整体软件流程图如图4所示,系统初始化后便建立各个运行任务,启动多任务调度机制,在各个信号的协调下有序运行。 图4系统整体流程图3测试结果分析31系统输出值评估标准为了研究BP 神经网络数据融合前后,压力和温度两个目标参量的交叉干扰敏感度,分

17、别用压力信号温度灵敏度系数、零点温漂系数和温度信号压力灵敏度系数对系统进行评估。(1 传感器压力信号的温度灵敏度系数s =y m T·Y (FS (48241第10期崔静雅,吕惠民等:基于BP 网络的智能压力传感器系统研究与设计式中:T 为工作温度变化范围; Y (FS 为传感器压力信号的满量程输出值; y m 为当温度变化T 时,输出值随温度漂移的最大值。当温度在215 70 范围变化时,未经过BP 网络融合的传感器输出Y (FS =8336mV ,y m =83367328=108mV ,计算出s =24910 3/ 。(2 传感器压力信号的零点温漂系数0=U 0m /(T

18、83;U fs (5 式中:T 为工作温度变化范围; U fs 为传感器压力信号满量程输出值; U 0m 为在工作温度变化T 时,传感器压力信号的零点漂移最大值。同理,温度在215 70 范围变化时,未经过BP 网络融合的传感器输出U fs =8336mV ,U 0m =(772 (1384 =6. 12mV ,则0=15110 3/ 。(3 传感器温度信号的压力灵敏度系数P =y mP·Y (FS (6式中:P 为工作压力变化范围,取510 4Pa ; Y (FS 为传感器温度信号满量程输出值; y m 为当压力变化P 时,输出值随压力漂移的最大值。未经过BP 网络融合处理时,Y

19、(FS =8612mV ,y m =861280. 45=567mV ,则P =13210 2/104Pa 。32系统输出结果及评估经BP 神经网络融合、逆归一化处理后,传感器输出值无需查表,节省了大量内存,压力信号和温度信号输出分别见表1、表2。根据式(4 ,Y (FS =510 4Pa ,y m =50184945=007310 4Pa ,则融合后传感器压力信号的温度灵敏度系数s =30110 4/ 。根据式(5 ,U fs =5104Pa ,U 0m =00060003=000310 4Pa ,经过BP 网络融合后的压力信号零点温漂系数0=1. 2410 5/ 。由式(6 ,Y (FS

20、=70 ,y m =7042769322=1105 ,经过BP 网络融合后温度信号的压力灵敏度系数P =13210 4/104Pa 。表1压力信号测试结果温度标定值/压力标定值/104Pa0123452150003100419732976397849454400051011197629903982495270000610151984299340095018表2温度信号测试结果压力标定值/104Pa温度标定值/2152834445070121508279303385443832498507042732146827854336414377849771697505214512778533493436

21、434970269322与未融合前相比,融合处理后的传感器压力信号温度灵敏系数、零点温漂系数和温度信号压力灵敏度系数降低明显,均在一个数量级以上。这说明采用BP 神经网络信息融合技术消除传感器交叉敏感现象是十分有效的,达到了信息融合的要求。4结论本智能传感器系统针对压力和温度相互交叉干扰的问题,利用BP 神经网络技术提高了温度和压力两个参量的测量精度,并给出了相应的硬件结构和软件设计。实测结果显示该传感器能满足多任务下的实时性要求,并具有更加精确、稳定、可靠的性能。(1 采用Levenberg-Marquardt 算法构建了BP神经网络模型,经检验该网络收敛速度快、精度高、具有较强的适应能力和

22、联想能力。BP 网络融合后的输出值无需查表,节省内存空间。(2 基于C /OS操作平台上,将BP 网络融合算法嵌入到STM32F101C8微处理器中,并实现了显示、报警、与PC 机通信等功能。通过对融合前后压力信号温度灵敏度系数、零点温漂系数和温度信号压力灵敏度系数相对比,该系统能完善地、精确地反映检测对象,提高信息融合的质量,满足现代自动化设备需求。参考文献:1赵大庆,范锦鹏,吴敏生,等模仿人体的智能传感器设想J 传感器技术,2002,21(8 :17222张耀锋,孙以材,刑晓辉基于人工神经网络的压力传感器的温度补偿J 电子学报,2008,36(2 :3583613Futane N P ,R

23、oy Chowdhury S ,RoyChaudhuri C ,et alAnalogASIC for Improved Temperature Drift Compensation of A High Sensitive Porous Silicon Pressure Sensor J Analog Integrated Circuits and Signal Processing ,2011,67(3 :3833934刘新月,吕增良,孙以材压力传感器温度漂移补偿的控制电路设计J 传感技术学报,2007,20(3 :5675695高峰,董海鹰,胡彦奎基于BP 神经网络的传感器交叉敏感性抑制J 传感器技术,2005,24(2 :22266Du Z M ,Jin X Q ,Yang Y YFault Diagnosis for Temperature ,FlowRate and Pressure Sensors in VAV Systems Using Wavelet Neural Network J Applied Energy ,2009,86(9 :162416317Xiao Z ,Ye S J ,Zhong B ,et alBP Neural Network w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论