基于BP网络的电机故障诊断
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于BP网络的电机故障诊断
摘要:介绍了BP神经网络以及电机故障诊断的发展和电动机故障诊断常见的技
术方法,列举了电机故障征兆集。
设计一个具有电机故障诊断功能的BP网络系统,给出了matlab关键程序和运行结果。
关键词:BP神经网络电机故障诊断
0 引言
电机的正常工作对保证生产制造过程的正常进行意义非常重大。
因此对电机
故障的诊断要求十分迫切,通过对电机常见故障的诊断和分析,可以及早发现故
障和预防故障的进一步恶化。
随着芯片技术的发展及智能技术的应用,诊断技术
已经进入了一个新的阶段,一种基于人工智能技术的诊断方法。
该文用BP神经
网络综合实现电机故障的诊断。
1 BP神经网络
人工神经网络就是模拟人思维的第二种方式。
这是一个非线性动力学系统,
其特色在于信息的分布式存储和并行协同处理。
虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
BP(Back Propagation)网络是一种按误差逆传播算法训练的多层前馈网络,是
目前应用最广泛的神经网络模型之一。
BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
BP网络能学习和存贮大量的
输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。
BP算法理论具有依据可靠、推导过程严谨、精度较高、通用性较好等优点,
但标准BP算法存在以下缺点:收敛速度缓慢,容易陷入局部极小值,难以确定隐
层数和隐层节点个数。
在实际应用中,BP算法很难胜任,因此出现了很多改进算法:①利用动量法改进BP算法;②自适应调整学习速率;③动量-自适应学习
速率调整算法;④L-M学习规则。
2 电机故障诊断
由于人为的因素,仅依靠日常的“ 听、摸、看” 难免会造成一定的判断失误,
一方面造成电机抱轴等严重事故的发生,另一方面又可能对状态较好的电机进行
停车检修,如此不仅不能保证装置的平稳运行,同时还造成了检修费用的大量浪费。
故障诊断技术发展至今已经历了三个阶段:第一阶段由于机器设备比较简单,故障诊断主要依靠专家或维修人员的感觉器官、个人经验及简单仪表就能胜任故
障的诊断与排除工作;传感器技术、动态测试技术及信号分析技术的发展使得诊
断技术进入了第二个阶段,并且在维修工程和可靠性工程中得到了广泛的应用;
8 0 年代初期,由于机器设备日趋复杂化、智能化及光机电一体化,传统的诊断
技术已经不能适应了,随着计算机技术、人工智能技术特别是专家系统的发展,
诊断技术进入第三个发展阶段—智能化阶段。
电机故障诊断,尤其是多个故障特征信号相互交织叠加时,很难仅凭肉眼进
行判断识别,而人工神经网络具有独特的非线性映射、联想记忆、自适应与自学
习以及良好的容错性等优点,十分适用于复杂电机系统的故障诊断。
各种类型的电机具有相同的基本原理,电机内部都有电路、磁路、绝缘和机
械等独立而相互关联的系统,一般用于电动机故障诊断的技术方法有:①电流分
析法。
通过对电机电流幅值、波形的检测和频谱分析,诊断电机故障的原因和程度。
例如通过检测交流电动机的电流,进行频谱分析来诊断电机是否存在转子绕
组断条、气隙偏心、定子绕组故障、转子不平衡等缺陷。
②振动诊断法。
通过对电动机的振动检测,对信号进行各种处理和分析,诊断电机产生故障的原因和部位,并制定处理方案。
③绝缘诊断。
利用各种电气试验和特殊诊断技术,对电机的绝缘结构、工作性能和是否存在缺陷作出结论,并对绝缘剩余寿命作出预测。
④温度诊断。
用各种温度检测方法和红外测温技术,对电机各部分温度进行监测和故障诊断。
⑤振声诊断技术。
振声诊断技术是对诊断的对象同时采集振动信号和噪声信号,分别进行信号处理,然后综合诊断,因而可以大大提高诊断的准确率。
3系统总体方案
该系统列出了5种常见的电机故障征兆集和,在集合中,“1”表示有征兆存在,“0”表示征兆不存在。
根据经验输出为电机的故障等级,范围从0~1
4 软件实现
BP网络在Matlab上的仿真程序设计主要包括:输入层、隐含层、输出层及
各层之间的传输函数几个方面。
输入和输出样本分别为表1和表2。
利用Matlab
在模式识别方面采用采用自适应学习率BP 算法计算机进行仿真。
这里用到matalab神经网络工具箱中的一个非常实用的函数newff。
newff函数需要4个输
入参数。
第一个参数是一个Rx2的矩阵以定义R个输入向量的最小值和最大值。
第二个参数是一个设定每层神经元个数的数组。
第三个参数是包含每层用到的传
递函数名称的细胞数组。
最后一个参数是用到的训练函数的名称。
创建bp网络和定义训练函数,是为了方便而建立一个矩阵,用newff函数来
训练BP网络。
关键程序如下:net=newff([0 1;0 1;0 1;0 1;0 1],[5 1],
{'logsig','purelin'},'trainlm');%这里要加入输出层的转移函数,一般是trainlm;net.trainParam.goal=0.001;net.trainParam.epochs=5000;[net,tr]=train(net,p,t);%训练神经网络iw1=net.IW{1};%输出训练后的权值和阈值:b1=net.b{1};
lw2=net.LW{2};b2=net.b{2};save net51 net。
5 结束语
神经网络是智能控制技术的主要分支之一,在神经网络系统中,BP 网络有着
广泛的应用,但各种算法在实际问题中都存在着一些具体的问题,使得BP 网络
的应用受到一定的限制,因此对这些算法还应进一步改进。
利用Matlab 神经网络工具箱可实现BP网络的程序设计、训练和仿真,要利用先进技术解决传统控制
问题。
BP网络运用于电机故障诊断可以提高工作的可靠性及其系统的灵活性。