基于BP网络对柴油发动机的故障诊断_第1页
基于BP网络对柴油发动机的故障诊断_第2页
基于BP网络对柴油发动机的故障诊断_第3页
基于BP网络对柴油发动机的故障诊断_第4页
基于BP网络对柴油发动机的故障诊断_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 题 目: 基于BP网络对柴油发动机的故障诊断 学 院: 机电工程学院 专业班级: 2010级研(3)班 专 业: 机械工程 指导教师: 王益轩 教授 学生姓名: 赵 军 学 号: 2010096 基于BP网络对柴油发动机的故障诊断随着 20 世纪科技的进步,柴油发动机的工作性能大幅度提高,而且对可靠性和可维护性的要求更高,更全面。在重、大型工程运载车辆、船舶动力,城市公共交通,长途运输车辆,挖掘机械,农用拖拉机,农用汽车中大量应用,各种柴油发动机领域,可维护性。对于保证运输安全,提高经济具有特殊的重要。现代的维修思想已从早期的定期维护过渡到主动的视情维护策略,而促使这一转变的基础是发动机普遍

2、采用了单元体结构化设计和发动机健康监视和故障诊断系统(EMS)的应用。目前EMS已经成为船舶安全控制系统中的不可缺少的组成部分,广泛应用于船舶公司的维护工作中。EMS对提高发动机可靠性,保证航行安全,延长发动机寿命,降低维修成本等方面具有重要作用。故障诊断技术是EMS 系统的核心内容。故障诊断的目的在于根据系统测量的特征来判断系统的健康状态,并识别故障的可能类型。故障诊断技术的关键在于找到特征空间与状态空间向量之间的映射关系。在航海公司发动机故障诊断技术中,气路参数分析技术具有重要地位。目前大多数航海公司的发动机状态监视系统都采用了气路参数趋势分析方法。根据巡航状态所记录的配气机构、曲柄连杆机

3、构、燃油供给系统等气动参数随时间的变化趋势,结合发动机厂家提供的故障纸印图和发动机工作原理,由专业人员分析可能发生的故障。该方法简便,实用,但人员素质要求高,故故障诊断精度较低,而且只能定性诊断。近年来,随着人工智能理论,特别是人工神经网络模式识别技术的发展,为解决传统的发动机气路分析法的线性化问题,多解问题,提高EMS 的故障诊断能力和适应性,提供了前景光明的新途径。人工神经网络(Artificial Network ANN) 简称为神经网络(NN),是由大量的神经处理单元广泛的相互联结而形成的复杂网络,它是人脑神经的简化,抽象和模拟。人工神经网络具有人脑功能的基本特征即学习,记忆和归纳。故

4、障诊断的实质就是对诊断对象的故障模式进行分类和识别,或根据现有的知识和一定的推理机制推断出其故障的所在部位和严重程度。由于神经网络具有处理复杂模式及进行联想,推测和记忆的功能,因而它非常适合应用于各种系统的故障诊断。图1 神经元模型目前常用故障诊断的神经结构有:误差反向传播网络(BPN),自适应共振理论(ART),概率神经网络(PNN),竞争网络(CNN)等。其中BP 网络是一种前馈的,有导师监督的学习网络,神经元节点通过权连接,可以实现输入与输出的非线性映射,而从实现模式空间的转换。BP 网络算法成熟,结构简单,获得了广泛应用。反向传播模型也称B-P(Back Propagation)模型,

5、是一种用于前向多层神经网络的反向传播学习算法,由D.Rumelhat 和MeClelland于1985年提出。它之所以是一种学习方法,就是因为用它可以对组成前向多层网络的各人工神经元之间的连接权值进行不断修改,从而使该前向多层网络能够将输入它的信息变换成所期望的输出信息。如果将该多层网络看成一个变换,而网络中各人工神经元之间的连接权值看成变换中的参数,那么这种学习算法就是要求得这些参数。之所以将其称作为反向学习算法,是因为在修改各人工神经元的连接权值时,所依据的是该网络的实际输出与期望的输出之差。将这一差值反向一层一层的向回传播,来决定连接权值的修改。目前BP算法是研究最多的网络形式之一,是前

6、向网络得以广泛应用的基础。它包含输入层、隐层、输出层,隐层可以为一层或多层。其间每层的激发函数要求是可微的,一般选用Sigmoid函数。 图2 神经网络模型BP神经网络算法进行故障诊断的基本原理是用向量Y表示发动机的故障状态,向量X表示发动机可测量的特征参数。利用大量的X-Y故障样本对网络进行训练,将故障特征信息学习并存储到网络神经元之间的连接权值上。诊断时,根据输入发动机可测量的特征参数即可在网络输出层找到对应的故障识别。1、样本的建立神经网络故障诊断是建立在大量的故障样本训练基础之上的,系统性能受到所选训练样本的数量和分布情况的限制,只有选择足够数量的分布均匀的适当样本训练网络,才能保证良

7、好的诊断能力。发动机故障的训练和测试样本可以通过模拟计算或实际故障案例收集获得。实际案例能反映故障的真实特征,但样本分散度大数据规范性差,收集和整理困难。所以,可以采取模拟样本和实际故障样本结合的方法建立网络训练所需的样本库。本文的故障样本主要利用YC6M390-30发动机故障影响系数表计算得到。样本数据参数分别是:EGT 出口排气温度FF 燃油流量N1 缸内低压转子转速N2 缸内高压转子转速为提高网络的推广能力和工程使用性,训练样本要能够反映出系统数据的随机误差影响。本文采用的故障样本计算公式为:其中X :样本:样本噪声:标准数据,s :测量参数的标准差k :分散度2、故障种类:在本例中选取

8、了十种发动机系统性能方面的故障,分别是空气滤清器堵塞气门密封环严重磨损活塞环磨损过重气缸磨损过重喷油器针阀偶件密封面磨损或有轻微烧蚀喷油器调压弹簧力不足或变形、疲劳断裂喷油泵出油阀偶件密封环带磨损供油时间过迟燃油滤清器堵死故障及相应参数标准样本如下表表 4.1 YC6M390-30 发动机故障参数表故障DEGTDFFDN1DN2空气滤清器堵塞141.5-0.2-0.2气门密封环严重磨损254.501活塞环磨损过重68140.11.4喷油器针阀偶件密封面磨损或有轻微烧蚀3270.10.7气缸磨损过重56120.21.2喷油器调压弹簧力不足或变形、疲劳断裂102.40.10.3喷油泵出油阀偶件密封

9、环带磨损173.80.20.1供油时间过迟61.50.10燃油滤清器堵死-3-0.30-0.8喷油泵柱塞偶件磨损-3-0.30-0.8对以上数据采用故障样本计算公式产生640 个样本,其中测量参数的标准差s =7,2,0.4,0.43、BP网络的建立构件建三层BP网络:输入层:节点数:4,分别对应四个参数EGT,FF,N1,N2。输出层:节点数:10 ,分别对应十种故障。中间层的节点数的确定:用 matlab编写程序如下:x=14 1.5 -0.2 -0.2;25 4.5 0 1;68 14 0.1 1.4;32 7 0.1 0.7;56 12 0.2 1.2;10 2.4 0.1 0.3;1

10、7 3.8 0.2 0.1;6 1.5 0.1 0;-3 -0.3 0 -0.8 ;3 0.3 0 0.8;for i=1:6x=x;x;endfc=2*k*(0.5-rand(1,1)*7 2*k*(0.5-rand(1,1)*2 2*k*(0.5-rand(1,1)*0.42*k*(0.5-rand(1,1)*0.4;for i=1:639fc=fc;2*(0.5-rand(1,1)*k*7 2*k*(0.5-rand(1,1)*2 2*k*(0.5-rand(1,1)*0.42*k*(0.5-rand(1,1)*0.4;endX=x+fc;d=eye(10);for i=1:6d=d;d

11、;endX=X'D=d'net=newff(minmax(X),25,10,'tansig','logsig','trainlm');net.trainParam.epochs=320;net.trainParam.goal=0.001;net=train(net,X,D);P_test=14 1.5 -0.2 -0.2'Y=sim(net,P_test)程序将在以后详细解释设定分散度k=1,通过改变隐层节点数,进行试验,得出以下数据表 4.2 节点数确定试验数据表节点数训练样本误差153200.0220435156400

12、.0187004163200.00693087183200.0061094183200.0061094203200.0522229203200.00793044203200.0206382203200.0151609203200.0162503213200.0214423223200.003125223200.0162503226400.00921875223200.00531259223200.00531259253200.02677492532028320用数据拟合出曲线(3次多项式)如图4.1看出节点变化时误差的变化,并不是隐层节点数越多,误差越小,而且在试验过程中发现隐层节点数越多,训

13、练时间越长有时长达半个小时。另外从图上可以看出有两处误差值较小,结合试验发现隐层节点数为18 和25时误差最小,而节数为18时,速度较快,在同等误差下,节点数为18占优。分别取隐层节点数为18和25,改变k值,得到诊断的正确率如b表4.3:表4.3隐藏层节点 诊断正确率1892.5%80%25100%97.5% 85%分散度k控制着产生的训练样本的误差大小,分散度越小产生的样本相对标准样本误差越小,各种故障模式向量在空间的重合范围就越小,容易正确分类;k值取得越大,随着误差的增大,正确率降低,因为数据误差越大,各种故障模式向量在空间的重合范围越大,正确分类的难度就越大。由上表可以看出,隐层节点

14、数越多正确率越高,节点数为25 时,误差能满足条件和正确率能满足条件,所以综合考虑在本例中隐层节点数定为25。4.3 程序介绍4.3.1 产生样本的程序先输入样本标准值x=14 1.5 -0.2 -0.2;25 4.5 0 1;68 14 0.1 1.4;32 7 0.1 0.7;56 12 0.2 1.2;10 2.4 0.1 0.3;17 3.8 0.2 0.1;6 1.5 0.1 0;-3 -0.3 0 -0.8 ;3 0.3 0 0.8;一个10*4的矩阵,每一个行向量表示一个故障。使用一个循环for i=1:6x=x;x;end可以生成*10 =640个样本,每一种故障按顺序间隔9

15、次出现,产生的样本故障均匀分布,有利于网络的训练产生噪声的程序:fc=2*k*(0.5-rand(1,1)*7 2*k*(0.5-rand(1,1)*2 2*k*(0.5-rand(1,1)*0.42*k*(0.5-rand(1,1)*0.4;上面的程序用来产生噪声信号采用循环:for i=1:639fc=fc;2*k*(0.5-rand(1,1)*7 2*k*(0.5-rand(1,1)*2 2*k*(0.5-rand(1,1)*0.42*k*(0.5-rand(1,1)*0.4;end循环产生640个噪声信号然后将噪声信号同标准信号相加X=x+fc;得到了640个样本。目标值d=eye(1

16、0);for i=1:6d=d;d;end因为样本是按顺序每10个一组循环排列,所以每10个样本的目标矩阵是一个单位矩阵,用产生标准样本的循环产生目标值矩阵, 同样是640组。4.3.2 建立网络的程序用 matlab 神经网络工具箱中的函数newff()可以建立一个前馈型神经网络,程序如下:net=newff(minmax(X),25,10,'tansig','logsig','trainlm')其中:net 是网络的名称;25,10表示隐层节点数和输出层节点数分别为25 和10;'tansig','logsig'

17、;是BP网络的转移函数; 'trainlm'是标准的最速下降学习函数。4.3.3 训练网络的程序设定误差为0.001,程序为 net.trainParam.goal=0.001;设定训练用的样本数为320,程序为 net.trainParam.epochs=320; 用函数train()进行网络的训练,程序为 net=train(net,X,D);当误差小于设定误差值0.001时,网络训练成功,训练结束,否则一直训练到设定的样本数,然后退出训练,中途出错同样会退出训练。在实际试验中发现当训练150次后,即训练150个样本后,误差变化很,所以用320个样本训练就够了。至于设定误差

18、,由于生成样本时使用的标准差s 并不是JT9D发动机的数据,所以误差控制得不好。4.3.4 故障诊断的程序当网络训练结束后,用sim()函数可以进行诊断,程序为X_test=input('Test_Data=');Y=sim(net,X_test');诊断时先输入待诊断参数向量X_test,程序将进行诊断,得出一个向量,向量的每一位对应一种故障,向量中值最大的那一个表示其对应的故障发生了。当一个故障发生时,理想的目标向量应是故障对应的那一位值为1,而其他九位都是零。实际上不可能保证每一次诊断的误差都足够小,所以只看那一位值最高就可以了。得出诊断结果向量后,通过一个小程序可以使输出结果更易识别。程序如下:j=1;for i=1:10if Y(1)<Y(i)j=i;Y(1)=Y(i);endenddisp('The trouble is:');if j=1disp('空气滤清器堵塞');endif j=2disp('气门密封环严重磨损');endif j=3disp('活塞环磨损过重');endif j=4disp('喷油器针阀偶件密封面磨损或有轻微烧蚀');endif j=5disp('气缸磨损过重');endif j=6disp(&#

温馨提示

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

评论

0/150

提交评论