基于BP神经网络的发动机故障诊断方法技术

技术编号:22593137 阅读:23 留言:0更新日期:2019-11-20 10:18
本发明专利技术公开了一种基于BP神经网络的发动机故障诊断方法,包括(1)采集发动机故障数据,列出发动机故障原因;(2)确定BP神经网络模型的最佳隐含层节点数,建立BP神经网络模型;(3)根据已有的故障数据训练BP神经网络模型;(4)利用训练得到的BP神经网络模型,对采集的发动机数据进行分析,确定数据所对应的故障原因。以往发动机故障诊断存在机理复杂、检测精度低、成本高、不能显示故障原因等缺陷,本发明专利技术主要应用在发动机的故障诊断诊断方面,比以往的方法更具优势性,节省了成本,提升建模效率,可以快速锁定最优的隐含层节点数。

Engine fault diagnosis method based on BP neural network

The invention discloses an engine fault diagnosis method based on BP neural network, which includes: (1) collecting engine fault data, listing engine fault causes; (2) determining the best number of hidden layer nodes of BP neural network model, establishing BP neural network model; (3) training BP neural network model according to the existing fault data; (4) using the trained BP neural network model, collecting The engine data are analyzed to determine the failure cause corresponding to the data. The previous engine fault diagnosis has the defects of complex mechanism, low detection accuracy, high cost, failure to display the cause of fault, etc. the invention is mainly used in the fault diagnosis of engine, which has more advantages than the previous method, saves cost, improves modeling efficiency, and can quickly lock the optimal number of hidden layer nodes.

【技术实现步骤摘要】
基于BP神经网络的发动机故障诊断方法
本专利技术涉及一种发动机故障诊断方法,尤其涉及一种基于BP神经网络的发动机故障诊断方法。
技术介绍
随着人工智能、机器算法的不断发展,基于人工神经网络的故障检测方法比传统诊断方法越来越多地应用于解决复杂故障诊断问题。对于发动机这种复杂结构来说,在不结合神经网络之前,故障诊断困难大工序多。而应用神经网络对数据进行训练以求快速的得到处理结果,预测故障效果较好。特别是针对发动机的故障诊断这样复杂而繁琐的问题,传统方法不能减少工序,而采取神经网络的方法则可以快速定位和预测问题点。然而对于一个神经网络拓扑结构来说,输入输出都是系统自己定义的,但其中的隐含层的节点数却是难以确定的。用穷举法应对小的数据尚且可以,一旦数据量大了,这个方法有诸多弊端。对于现有的黄金分割法和二分法相对于穷举法来说是减轻了很多工作量,但它们存在收敛速度慢,效率不高的缺点。对于二分法来说,由于区间收敛取点,所带来的验证点增加的问题,无法避免;而黄金分割法的迭代步数则无法保证精简。故本专利技术提出的方法可以有效避免二者的冲突。
技术实现思路
专利技术目的:针对以上问题,本专利技术提出一种基于BP神经网络的发动机故障诊断方法,提高了确定BP神经网络隐含层的最佳节点数的效率,节省了计算资源,从而能够明显提高发动机故障诊断的效率以及准确率。技术方案:本专利技术所采用的技术方案是一种基于BP神经网络的发动机故障诊断方法,该方法包括以下步骤:(1)采集发动机故障数据,列出发动机故障原因;其中发动机故障原因包括喷油故障、油量消耗异常、针阀卡死和出油阀失效。(2)确定BP神经网络模型的最佳隐含层节点数,建立BP神经网络模型;其中所述的确定BP神经网络模型的最佳隐含层节点,包括以下过程:(21)对已有的发动机故障原始数据进行归一化处理;(22)利用隐含层节点数确定的经验公式计算隐含层节点数的出现区间,经验公式为:(m1+m2)/2≤m1≤(m1+m2)+10其中,m1为输入层节点数,m2为输出层节点数,n1为隐含层节点数;(23)采用平方分数法确定最佳的隐含层节点数。其中,平方分数法确定最佳的隐含层节点数包括以下过程:(31)给定最终的不确定区间长度λ>0,以及步骤(22)中获得的隐含层节点数的出现区间[a1,b1],根据来确定迭代的最小次数N,然后计算,u1=a1+(1-F1)(b1-a1),v1=a1+F1(b1-a1),区间中点标志位(32)比较u1、v1大小,若u1<v1,则维持步骤(31)的u1、v1计算值,若u1>v1,则令u1=a1+F1(b1-a1),v1=a1+(1-F1)(b1-a1)。令参数k的初始值为1,进入迭代计算。(33)比较E(uk)、E(vk)、E(mid)三者的值,若E(mid)最小,则收敛区间为[uk,vk]。否则转步骤(34)。(34)若E(uk)>E(vk),则收敛区间为[uk,bk],转步骤(35),否则,收敛区间为[ak,vk],转步骤(36),其中E为数据输出误差;(35)令ak+1=uk和bk+1=bk,进一步令uk+1=vk和vk+1=ak+1+(1-FN+1-k)(bk+1-ak+1),比较uk+1、vk+1大小,若uk+1<vk+1,则维持二者的计算值,若uk+1>vk+1,则调换二者的值。判断k是否达到N,若k=N,则转步骤(38);否则计算E(vk+1)且转至步骤(37)。(36)令ak+1=ak和bk+1=vk,进一步令vk+1=uk和vk+1=ak+1+(1-FN+1-k)(bk+1-ak+1),若k=N,转步骤(38);否则计算E(uk+1)且转至步骤(37);(37)令k=k+1,转步骤(33);(38)令uN=uN-1和vN=uN-1+ε,其中ε为计算精度,ε>0。若E(uN)>E(vN),则令aN=vN和bN=bN-1,否则若E(uN)≤E(vN),令aN=aN-1和bN=uN,停止,则最终的隐含层最佳节点数落在了区间[aN,bN]中;(39)当计算出的区间[aN,bN]中只包含有一个整数值时,以上步骤即可确定出最后的节点数,即,将该整数值确定为隐含层的节点数。但如果存在大于一个的可取整数值在最佳区间[aN,bN]内,则可采用穷举法作为补充,根据输出数据误差的最低点确定最佳隐含层节点数。(3)根据已有的故障数据训练BP神经网络模型;采用MATLAB进行训练,输出层的传输函数采用purelin函数,隐含层的传输函数采用S型函数,训练过程采用L-M算法。(4)利用训练得到的BP神经网络模型,对采集的发动机数据进行分析,确定数据所对应的故障原因。有益效果:与现有技术相比,本专利技术的优点是:(1)由神经网络对发动机故障诊断数据进行训练,得到一个高效的训练结果,由此就可以对发动机的故障诊断快速定位,比起以往的方法更高效,节省了大量的时间和人工成本;(2)在建立BP神经网络的过程中,采用平方分数法进行隐含层节点的确定,这与以往的穷举法、黄金分割法、二分法相比,有着收敛速度快,减少计算量的优点。特别是在面对数据量大的时候,本专利技术的平方分数法有着明显的优势;(3)区间中点标志位的加入进一步加快了区间收敛的速度,通过对比验证,此方法有效的避免了二分法验证点多和黄金分割法迭代步数多的问题,结合了两者的优点;(4)采用输入层的传输函数为purelin,隐含层的传输函数为S型函数,训练过程采用收敛速度快且能有效避免陷入局部最小化的L-M算法,能够进一步增加收敛速度,提高故障分析的效率;(5)优化了发动机故障诊断中的输出数据以及对应的输入数据,提高诊断的准确性。附图说明图1是本专利技术所述的BP神经网络三层拓扑结构示意图;图2是在不同隐含层节点数下的误差折线图。具体实施方式下面结合附图和实施例对本专利技术的技术方案作进一步的说明。本专利技术所述的一种基于BP神经网络的发动机故障诊断方法,适用于输入、输出的因素量较大的情况,该方法包括以下步骤:(1)采集发动机故障数据,列出发动机故障原因。本例中,某发动机故障诊断系统有X1~X8,8个输入,T1~T4,4个输出,对应4个不同发动机故障的物理含义如表1所示。其中发动机故障原因包括喷油故障、油量消耗异常、针阀卡死和出油阀失效。本例中所述的这四个输出因素在发动机故障诊断应用中有较好的诊断效果。其中,对应的故障数据包括最大及次最大喷油压力、油耗传感器的波形参数、针阀位置传感器的波形数据、出油阀传感器的波形数据以及起喷压力(出油阀开启压力)。表1(2)确定BP神经网络模型的隐含层节点数,建立BP神经网络模型。BP神经网络三层拓扑结构如图1所示,包括输入层、隐含层和输入层。其输入层和输出层分别是步骤(1)中的发动机故障数据和发动机故障原因。隐含层的节点数确定该BP神经网络隐含层节点数的方法包括以下步骤:(21)在一个发动本文档来自技高网...

【技术保护点】
1.一种基于BP神经网络的发动机故障诊断方法,其特征在于,该方法包括以下步骤:/n(1)采集发动机故障数据,列出发动机故障原因;/n(2)确定BP神经网络模型的最佳隐含层节点数,建立BP神经网络模型;/n(3)根据已有的故障数据训练BP神经网络模型;/n(4)利用训练得到的BP神经网络模型,对采集的发动机数据进行分析,确定数据所对应的故障原因。/n

【技术特征摘要】
1.一种基于BP神经网络的发动机故障诊断方法,其特征在于,该方法包括以下步骤:
(1)采集发动机故障数据,列出发动机故障原因;
(2)确定BP神经网络模型的最佳隐含层节点数,建立BP神经网络模型;
(3)根据已有的故障数据训练BP神经网络模型;
(4)利用训练得到的BP神经网络模型,对采集的发动机数据进行分析,确定数据所对应的故障原因。


2.根据权利要求1所述的基于BP神经网络的发动机故障诊断方法,其特征在于,步骤(1)中所述的发动机故障原因包括喷油故障、油量消耗异常、针阀卡死和出油阀失效。


3.根据权利要求1所述的基于BP神经网络的发动机故障诊断方法,其特征在于,步骤(2)中所述的确定BP神经网络模型的最佳隐含层节点,包括以下过程:
(21)对已有的发动机故障原始数据进行归一化处理;
(22)利用隐含层节点数确定的经验公式计算隐含层节点数的出现区间[a1,b1],经验公式为:
(m1+m2)/2≤n1≤(m1+m2)+10
其中,m1为输入层节点数,m2为输出层节点数,n1为隐含层节点数;
(23)采用平方分数法确定最佳的隐含层节点数。


4.根据权利要求3所述的基于BP神经网络的发动机故障诊断方法,其特征在于,步骤(23)中所述的平方分数法确定最佳的隐含层节点数,包括以下过程:
(31)给定最终的不确定区间长度λ>0,以及步骤(22)中获得的隐含层节点数的出现区间[a1,b1],根据来确定迭代的最小次数N,然后计算u1=a1+(1-F1)(b1-a1),v1=a1+F1(b1-a1),区间中点标志位
(32)比较u1、v1大小,若u1<v1,则维持步骤(31)的u1、v1计算值,若u1>v1,则令u1=a1+F1(b1-a1),v1=a1+(1-F1)(b1-a1)。令参数k的初...

【专利技术属性】
技术研发人员:朱节中张果荣余晓栋陆松李燕杨振启张立新李天目姚永雷丁健陈道勇陈永
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1