改进BP算法下异步电机故障诊断探究

改进BP算法下异步电机故障诊断探究

摘要:提出一种基于改进BP算法的异步电机故障诊断方法,不仅能够对电机的四种故障状态做分类识别,而且能够提高网络的收敛速度并避免其陷入局部极小。首先,根据故障特征向量与异步电机故障类别之间的映射关系,建立基于BP神经网络的故障诊断模型,然后利用故障样本对该模型进行训练与测试。仿真结果表明,该方法能有效地识别异步电机的四种故障类别,且具有较高的故障诊断准确率。

关键词:BP神经网络;异步电机;故障诊断模型;改进算法

异步电机是当今生产活动中主要的能源动力设备。电机一旦发生故障,不仅会影响到整个生产系统的稳定运行,而且会造成巨大的经济损失。因此,对异步电机的故障作出准确的诊断并对其进行排除,具有重要意义。传统的电机故障诊断方法需要建立精确的数学模型、有效的状态估计或参数估计,具有相当的局限性[1]。智能算法,例如Elman、BP、RBF等神经网络算法,由于学习能力强、容错性好等优点,在异步电机的故障诊断领域得到了广泛应用[2-4]。特别是BP算法,经常被应用于各类电动机的故障诊断。本文建立基于BP神经网络的异步电机故障诊断模型,利用该模型,能够对异步电机的故障状态进行分类识别。针对标准BP算法在训练过程中存在的缺陷,采用改进算法对其进行改进,以加快网络的收敛速度,并避免其陷入局部极小。

1基于BP神经网络的异步电机故障诊断模型

异步电机是一个多变量、强耦合的非线性系统。BP神经网络具有很强的非线性逼近及动态自适应能力,并且在非线性系统的建模与控制过程中有良好表现,所以本文利用BP神经网络构建异步电机的故障诊断模型,如图1所示。基于BP神经网络的异步电机故障诊断模型,其包含的过程步骤如下:Step1:采集故障样本数据,建立故障样本数据库;Step2:BP神经网络建模,包括模型的结构与神经网络算法设计;Step3:将训练样本输入建立好的BP网络进行训练,如果训练误差满足精度要求则保存该网络;Step4:将测试样本输入已经训练好的网络进行故障分类识别,并输出相应的故障类型。

2故障诊断模型建模

2.1故障诊断模型结构。本文利用BP神经网络构建异步电机的故障诊断模型。BP神经网络是一种多层前馈网络,其结构包括输入层、输出层和隐层。根据Kolmogorov定理,在合理的结构和恰当的权值条件下,三层的BP神经网络可以逼近任意的连续函数[5],所以本文建立3层的BP神经网络并利用其对异步电机的故障模式做分类识别。根据对Y132M-4型异步电机故障样本的分析,提取异步电机的振动信号与定子电流信号的特征参数,共有10个故障特征信号作为神经网络的输入,因此,基于BP神经网络的异步电机故障诊断模型输入层的神经元个数为10个。本例中,异步电机共有四种故障类型,分别对应异步电机的正常状态、定子断路、转子断条以及转子偏心,因此,BP神经网络输出层神经元的个数为4个。异步电机的故障类型与故障诊断模型的期望输出,如表1所示。对于3层的BP网络,隐层节点个数的选取,不仅影响到神经网络的训练时间,而且对网络模型的性能也有影响。本文为保证训练后的BP网络有较好的泛化能力,根据Kolmogorov定理并且经过Matlab仿真调试,隐层节点的个数取21。根据以上描述,可得基于BP神经网络的异步电机故障诊断模型结构为10-21-4。BP网络隐层的激活函数,选择双极性的sigmoidal函数:f(x)=ex-e-xex+e-x(1)BP网络输出层的激活函数,选择单极性的sigmoidal函数:g(x)=11+e-x(2)

2.2BP算法设计。BP算法,也称为误差反向传播法,是有导学习算法的一种。该算法通过误差来修正网络连接权值,使实际的输出接近期望的输出[6]。本文设计的3层BP网络预测模型,其输入层有10个神经元,隐层有21个神经元,输出层有4个神经元,训练样本有32对,网络设置如下:BP网络输入层的输入为:X(1)K=(xk1,xk2,…,xk10)k=1,2,···,32;(3)网络隐层的输入、输出为:s(2)j=10i=1Σwijxkii=1,2,···,10;j=1,2,···,21;(4)b(2)j=f(s(2)j)(5)式中,wij为输入层到隐层的连接权值,f(x)为隐层激活函数。网络输出层的输入、输出为:l(3)t=21j=1Σwjtb(2)jt=1,2,···,4(6)o(3)t=g(l(3)t)(7)式中,wjt为隐层到输出层的连接权值,g(x)为输出层的激活函数。对于第k对训练样本(XK,YK),网络的性能指标函数定义为:Ek=12(Yk-Ok)2(8)其中,Yk是期望的输出,Ok是实际的输出,按照梯度下降原则,E(k)按权值的负梯度方向搜索调整。

3训练与测试

3.1训练故障诊断模型。在确定了基于BP算法的故障诊断模型结构之后,利用Matlab软件编程,进行故障诊断模型的仿真训练。本例中,网络性能目标设为0.001,最大训练次数设为1000,初始权值取[-1,1]之间的随机值。为了克服传统BP算法的缺陷,并比较改进的BP算法在训练过程与训练时间等方面的性能差距,分别采用两种改进算法对故障诊断模型进行训练与测试:一种为自适应调整步长法,另一种为动量-自适应调整步长法。(1)自适应调整步长法利用Matlab软件编程,训练函数选择traingda,学习速率的递增倍数设为1.04、递减倍数设为0.7。将32组训练样本数据输入故障诊断模型,网络训练过程误差变化曲线如图2所示。从图2可以看出,网络在训练425次后达到网络目标设定,但是网络在训练过程中存在震荡现象。为了减少震荡现象的发生,在自适应调整步长算法的基础上,引入动量项,即采用动量-自适应调整步长的方法改进标准BP算法。(2)动量-自适应调整步长法利用Matlab软件编程,训练函数选择traingdx,学习速率的递增倍数设为1.04、递减倍数设为0.7、动量因子设为0.95。将32组训练样本数据输入故障诊断模型,网络训练过程误差变化曲线如图3所示。从图3可以看出,引入动量项后,震荡现象得到了抑制,误差变化曲线较为平滑,并且网络收敛速度进一步加快,网络在训练306次后达到网络目标设定。综合以上分析,本文采用动量-自适应调整步长法为标准BP算法的改进算法。该方法结合了动量法与自适应调整步长的优势且网络具有更快的收敛速度。

3.2故障诊断模型测试。故障诊断模型在训练好之后,将16组测试样本输入,得到测试样本的异步电机故障诊断结果,如表2所示。通过表2可以看出,故障诊断模型的实际输出与期望输出非常接近,由此可知,基于改进BP算法的异步电机故障诊断模型的故障诊断准确率较高。

4结束语

根据异步电机故障特征向量与故障类别之间的映射关系,建立了基于BP神经网络的异步电机故障诊断模型。利用该模型,能够对异步电机的正常、定子断路、转子断条以及转子偏心四种故障状态做分类识别。针对标准BP算法在训练过程中存在的缺陷,在比较了两种改进算法的性能之后,采用动量-自适应调整步长的方法作为其改进算法,加快了网络的收敛速度,并避免其陷入局部极小。仿真结果表明,该方法能有效地识别异步电机的四种故障类别,且具有较高的故障诊断准确率。

作者:韩亮 郭杰鹏 卢国华 单位:山西机电职业技术学院电气工程系 山西澳瑞特健康产业股份有限公司 山西海森澳科技股份有限公司