资源描述
内蒙古工业大学本科毕业设计说明书摘 要主要阐述了BP 神经网络在直流电动机故障诊断方面的应用。内容包括BP 神经网络的建立, 基于Matlab simulink的网络仿真三相异步电动机的运行状况直接影响到生产的正常进行,因此研究电机故障诊断技术,具有重大的理论意义和社会经济效益。 针对三相异步电动机的接地短路的外部故障,提出了一种基于BP神经网络的故障诊断方法,然后利用FFT 分析, 将振动信号的频谱分析作为神经网络的训练样本。对所采集异步电动机的定子转矩电流进行数据预处理与特征提取、归一化后,把这些特征参数作为神经网络的输入,经过学习训练,以判断系统状态,识别系统的故障。通过选择足够的故障样本来训练神经网络, 将代表故障的信息输入训练好的神经网络后, 由输出结果就可以判断发生的故障种类。仿真和测试结果表明了该方法的有效性和正确性。关键词:三相异步电动机;故障诊断;神经网络;BP算法AbstractThe application of BP neural network in the fault diagnosis of motor is explained. It contains setting up of the network and the network simulation based on Matlab simulink under the programming language environment .As the working status of the three-phase asynchronous motors directly impact on the daily order of production activity,it is very important to investigate the fault diagnosis techniques for the threephase asynchronous motors. So it is of great theoretical and socio-economic benefits to study on electrical fault diagnosis technologyAim at the faults of there-phase asynchronous motors such as ground fault, brings out one method of fault diagnosis based on BP neural network, then by FFT analysis, the frequency information of vibration is used as the training specimen of neural network. This method used characteristic information of asynchronous motor such as stator current finishes data preprocessing,feature extraction,and normalization. Then it uses these characteristic parameters as the inputs of the neura1 network,studies and trains,judges the state of system,and recognizes the fault of system. When symptoms that represent faults are input to the t rained neural network, the type of fault can be determined in the output of the neural network. The simulation and the test results point out its validity and correctness.Keywords: three-phase asynchronous motors; faults diagnosis; neural network; BP arithmetic目 录第一章 绪 论11.1 异步电动机工作原理及用途11.2 异步电动机常见故障类型及方法11.2.1 异步电动机常见故障类型11.2.2 故障诊断方法11.3 神经网络在故障诊断中的应用21.4 神经网络特点31.5 神经网络故障诊断实现步骤4第二章 神经网络概述52.1 BP神经网络52.2 BP网络模型结构52.2.1 神经元模型52.2.2 前馈型神经网络62.3 BP网络学习算法72.3.1 学习算法72.3.2 神经网络的实现过程11第三章 异步电动机在MATLAB中的建模仿真及故障设置123.1 异步电动机在MATLAB中的建模123.1.1 选择模块123.1.2 搭建模块123.1.3 模块参数设置133.2 三相异步电动机故障设置及故障特征提取163.2.1 故障设置173.2.2 故障仿真183.2.3 特征量提取及预处理23第四章 故障诊断实例264.1 BP神经网络的构建264.2 BP网络设计264.2.1 网络创建264.2.2 网络训练与测试27结 论30参考文献31附 录33致 谢36第一章 绪 论1.1 异步电动机工作原理及用途三相异步电动机也被称作感应电动机,当其定子侧通入电流以后,部分磁通将穿过短路环,并在短路环内产生感应电流。短路环内的电流阻碍磁通的变化,致使有短路环部分和没有短路环部分产生的磁通有了相位差,从而形成旋转磁场。转子绕组因与磁场间存在着相对运动而感生电动势和感应电流,即旋转磁场与转子存在相对转速,并与磁场相互作用产生电磁转矩,使转子转起来,从而实现能量转换。三相异步电动机具有结构简单,成本较低,制造、使用和维护方便,运行可靠以及质量较小等优点,从而被广泛应用于家用电器、电动缝纫机、食品加工机以及各种电动工具、小型机电设备中,在工农业、交通运输、国防工业以及其他各行各业中应用也非常广泛。1.2 异步电动机常见故障类型及方法1.2.1 异步电动机常见故障类型常见的两种故障:定子部分故障和转子部分故障。转子故障是因为电机频繁启动和过载运行使转子导条和端环易产生疲劳,使之逐渐产生断裂或开焊,引起故障。定子部分的故障主要是定子绕组故障。主要是由绝缘破坏而引起的不同形式的故障。如内部放电、匝间短路、相间短路和单相对地短路等。具体故障表现为过载、堵转、断相、电压不平衡、接地、过压、欠压等几种类型。过载和堵转将导致电机电流的增加和电机过热,断相和电压不平衡将会引起正序、负序电流的增长,这些故障都将使电机产生大量热量;接地将在定子电流中出现零序分量,在传统保护中是利用检测零序分量的方法来识别接地故障的;过压会损坏电机绝缘。短路故障包括供电线路的短路与电动机内部各绕组间对称的断路。电动机的短路会发生热破坏,在严重情况下将同时发生力破坏,二者形成恶性循环,造成严重的安全事故。1.2.2 故障诊断方法三相异步电动机故障诊断方法主要有以下几种: (1)基于信号变换的故障诊断方法;(2)基于专家系统的故障诊断方法;该方法是根据被诊断系统的专家以往经验,将其归纳成规则,并运用经验规则通过规则推理来进行故障诊断。(3)基于模糊理论的故障诊断方法;通常电机的某些状态是不分明的、不确定的,因而可以用模糊集合加以描述。(4)基于人工神经网络(ANN)的故障诊断方法。1.3 神经网络在故障诊断中的应用神经网络作为一种自适应的模式识别技术,并不需要预先给出有关模式的经验知识和判别函数,它通过自身的学习机制自动形成所要求的决策区域。网络的特性有其拓扑结构、神经元特征、学习和训练规则所决定。它可以充分利用状态信息,对来自于不同状态的信息逐一进行训练而获得某种映射关系。而且网络可以连续学习,如果环境发生改变,这种映射关系还可以自适应地进行调整。因此,神经网络由于自身的特性,在故障模式识别领域中有着越来越广泛的应用。下面以单隐层BP网络为例,介绍基于神经网络的故障诊断的方法和特点。其中,网络的输入节点对应着故障征兆,输出节点对应着故障原因。首先利用一组故障样本对网络进行训练,以确定网络的结构(中间层的传递函数和神经元数目)和参数(神经元时间的连接权值和阈值)。网络训练完毕后,故障的模式分类就是根据给定的一组征兆,实现征兆集到故障集之间的非线性映射的过程。利用神经网络进行故障诊断具有以下特点: 可用于系统模型未知或系统模型较为复杂,以及非线性系统的故障模式识别。 兼有故障信号的模式变换和特征提取功能。 对系统含有不确定因素、噪声及输入模式不完备的情况下不太敏感。 可用于离线诊断,也能适应实时监测的要求。典型的基于神经网络模式识别功能的诊断系统结构如图所示。图1-1 基于神经网络模式识别功能的诊断系统结构在图中,基于神经网络的诊断过程分为两步。首先,基于一定数量的训练样本集(通常称为“征兆故障”数据集)对神经网络进行训练,得到期望的诊断网络;其次,根据当前诊断输入对系统进行诊断,诊断的过程即为利用神经网络进行前向计算的过程。在学习和诊断之前,通常需要对诊断原始数据和训练样本数据进行适当的处理,包括预处理和特征选取提取等,目的是为诊断网络提供合适的诊断输入和训练样本。此外,尽管神经网络和传统的故障诊断是两种不同的诊断方法,但两者是紧密联系在一起的。如采用频谱分析等数据处理方法,可以为神经网络诊断提供可以利用的特征向量。前向BP网络学习算法属于有导师型的。这种算法模型具有很好的推广能力,用于故障模式识别的效果比较好。训练好的BP网络计算速度快、内存消耗低,可用于实时检测和诊断。但是这种模型要求学习样本具有一定的致密性、遍历性和相容性,在实际工程中,有时候获得这样的样本比较困难。利用BP网络进行故障诊断的一般步骤和注意事项如下:)确定合理的网络结构和规模,尤其是网络中间层神经元个数的选择是网络结构确定和网络性能的关键。)确定训练样本集和测试集。训练样本集用于对网络进行训练,而测试集用于监测网络训练的效果和推广能力。一般来说,训练样本集不仅应全面涵盖所有故障模式类的数据,还应具有一定的代表性,同时还必须保证学习的有效性。测试样本集的选择应该满足“交叉检验(Cross Validation)的原则。)根据训练样本集对网络进行训练,经过测试的训练结果即为神经网络故障诊断知识库。)根据诊断输入,利用BP网络进行诊断。1.4 神经网络特点神经网络的基本属性反映了神经网络特点,主要表现在以下几个方面。1.并行分布式处理神经网络具有高度的并行结构和并行实现能力,具有高速寻找优化解的能力,能够发挥计算机的高速运算能力,可很快的找到优化解。2.非线性处理人脑的思维是非线性的,故神经网络模拟人的思维也应是非线性的。这一特性有助于处理非线性问题。3.具有自学习能力通过对过去的历史数据的学习,训练出一个具有归纳全部数据的特定的神经网络,自学习功能对于预测有特别重要的意义。1.5 神经网络故障诊断实现步骤图1-2 神经网络故障诊断流程图基于BP网络的异步电动机故障诊断内容及步骤如图1-2所示。具体内容及实现功能为:1.异步电动机建模:功能强大的MATLAB软件中提供了相关电机建模的Simulink功能模块。2.故障设置:本文主要针对三相异步电动机供电电路单相接地和两相接地进行故障设置。3.特征量提取:运用MATALB中Powergui模块分别对几种故障的时域特性进行FFT分析,4.数据分类和归一化5.建立神经网络:包括设置多少层网络(一般为三层以内)、每层节点数(具体节点数,尚无科学的模型和公式方法确定,可采用试凑法,单输出接点数应和输出两个数相等)、设置隐含层的传递函数等。6.网络训练:用合适训练数据进行训练。7.故障测试:完成训练后就可以调用训练结果,输入测试数据,对异步电动机故障进行测试。第二章 神经网络概述 人工神经网络(Artificial Neural Network,ANNs),也称为神经网络(NNs),是模拟神经网络进行信息处理的一种数学模型。它以对大脑的生理研究成果为基础,其目的在于模拟大脑某些机理与机制,实现一些特定的功能。目前,人工神经网络已应用于很多领域。本文主要应用BP神经网络,并对BP网络进行说明介绍。2.1 BP神经网络BP网络是一种多层前馈型神经网络,其神经元的传递是S型函数,输出量为0到1之间的连续量,它可以实现从输入到输出的任意非线性映射。由于权值的调整采用反向传播学习算法,因此也常称其为BP网络(Back Propagation Network).目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四个方面。1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。2)模式识别:用一个待定的输出向量将它与输入向量联系起来。3)分类:把输入向量所定义的合适方式进行分类。4)数据压缩:减少输出向量维数以便于传输或存储。2.2 BP网络模型结构2.2.1 神经元模型图2-1给出一个基本的BP神经元模型,它具有R个输入,每个输入都通过一个适当的权值w和下一层相连,网络输出可表示为图2-1 BP神经元模型a=f(wp+b)f就是表示输入/输出关系的传递函数。 BP网络中隐层神经元的传递函数通常用型函数logsig()、tansigmoid型函数tansig()以及纯线性函数purelin()。其传递函数如图2-2所示。如果BP网络的最后一层是sigmoid型神经元,那么整个网络的输出就限制在一个较小的范围内;如果BP网络的最后一层是purelin型线性神经元,那么整个网络的输出可以取任意值。图2-2 神经元传递函数2.2.2 前馈型神经网络 前馈型神经网络通常有一个或多个隐层,隐层中的神经元均采用S型传递函数,输出层的神经元采用线性传递函数。图4-3所示就是一个典型的BP网络结构,有一个隐层,隐层神经元数目为S,隐层采用S型神经元函数logsig(),具有R个输入。隐层的非线性传递函数神经元可以学习输入输出之间的线性和非线性关系,线性输出层是为了拓宽网络输出。如果需要限定网络输出(例如约束在0和1之间),则可以采用S型传递函数(如logsig()等)。图2-3 BP网络结构2.3 BP网络学习算法2.3.1 学习算法无论是函数逼近还是模糊识别,都必须对神经网络进行训练。训练之前首先需要样本,样本中包含输入向量P以及相应的输出向量T,训练过程中应不断调整权值和阈值,使得神经网络的表现函数达到最小。前馈神经网络的表现函数默认为网络输出a和期望输出向量T的均方差msa。BP网络学习规则的指导思想是:对网络权值和阈值的修正要沿着表现函数下降最快的方向负梯度方向。 (2-1) 式中,是当前的权值和阈值矩阵;是当前表现函数的梯度;ak是学习效率。下面介绍BP算法的推到过程。假设三层BP网络,输入节点,隐层节点,输出节点。输入节点与隐层节点间的网络权值为,隐层节点与输出节点间的网络权值为。当输出节点的期望值为时,模型计算公式如下:隐层节点的输出 (2-2)其中输出节点的计算输出 (2-3) 其中输出节点的误差 (2-4)误差函数对输出节点求导 (2-5)是多个的函数,但只有一个与有关,各间相互独立,其中 则误差函数对隐层节点求导 (2-6)是多个的函数,针对某一个,对应一个,它与所有有关,其中则设隐层节点误差为 (2-7)由于权值的修正、正比于误差函数沿梯度下降,则有式中,隐层节点误差中的表示输出节点的误差通过权值向节点反向传播成为隐层节点的误差。阈值的修正阈值也是变化值,在修正权值的同时也需要修正,原理同权值修正一样。()误差函数对输出节点阈值求导 (2-8)其中则阈值修正 (2-9)()误差函数对隐层节点阈值求导 (2-10)其中则阈值修正传递函数f()的导数型函数则 (2-11)对输出节点对隐层节点求函数梯度有两种方法:递增和批处理。递增模式,就是每增加一个输入样本,重新计算一次梯度并调整权值;批处理模式,就是利用所有的输入样本计算梯度,然后调整权值。2.3.2 神经网络的实现过程BP神经网络采用有指导的学习方式进行训练和学习,即当一对学习模式提供给BP神经网络后,神经元的激活值从输入层经过隐含层向输出层传播,在输出层的各个神经元获得网络的输出实际响应。通过比较输出层各神经元的实际输出和期望输出,获得二者之间的误差,然后按照减小误差的方向,从输出层经各个隐含层并逐层修正各个连接权值,最后回到输入层。这种“正向计算输出-反向传播误差”的过程不断重复进行,直至误差降低至可以接受的范围,BP神经网络的学习训练过程也就随之结束。图2-4 BP网络学习过程第三章 异步电动机在MATLAB中的建模仿真及故障设置3.1 异步电动机在MATLAB中的建模三相异步电动机的工作原理是定子上对称三相绕组中通以对称三相交流电流时产生旋转磁动势及相应的旋转磁场。这种旋转磁场以同步转速切割转子绕组,则在转子绕组中感应出电动势及电流(转子绕组为闭合绕组),转子电流与旋转磁场相互作用产生点磁转矩,使转子旋转。下面将对三相异步电动机进行建模与仿真,其中,三相异步电动机基本参数如下给出:工作电压为380V;工作频率为50Hz;功率为15kW;额定转速为1460r/min。三相异步电动机的建模与仿真步骤如下:3.1.1 选择模块首先建立一个新的Simulink模型窗口,然后根据系统的描述选择合适的模块添加至模型窗口中。建立模型所需的模块如下:1)选择SimPowerSystems模块库的Machines子模块库下的Asynchronous Machine SI Units模块作为交流异步电动机。2)选择SimPowerSystems模块库的Electrical Sources子模块下的Three-Phase Programmable Voltage Source模块作为三相交流电源。3)选择SimPowerSystems模块库的Three-Phase Library子模块库下的Three-PhaseSeries RLC Load模块作为串联RLC负载。4)选择SimPowerSystems模块库的Elements子模块库下的Three-Phase Breaker模块作为三相断路器、Ground模块作为接地。5)选择SimPowerSystems模块库的Measureemeents子模块库下的Voltage Measurement模块作为电压测量。6)选择Sources模块库下的Constant模块作为负载输入。7)选择Signal Routing模块库下的Bus Selector模块作为直流电动机输出信号选择器。8)选择Sinks模块库下的Scope模块。3.1.2 搭建模块将所需模块放置合适的位置,再将模块从输入端至输出端进行相连,搭建完的串电阻起动Simulink模型如图3-1所示。图3-1 三相异步电动机Simulink仿真模型3.1.3 模块参数设置(1)Asynchronous Machine SI Units模块参数设置双击Asynchronous Machine SI Units模块,弹出对话框。三相异步电动机模块的具体参数设置如图3-2所示。 图3-2 Asynchronous Machine SI Units模块参数设置对话框(2)Three-Phase Programmable Voltage Source模块参数设置双击Three-Phase Programmable Voltage Source模块,弹出对话框。三相可调交流电压源的具体参数设置如图3-3所示。 图3-3 Three-Phase Programmable Voltage Source模块参数设置对话框(3)Three-Phase Series RLC Load模块参数设置双击Three-Phase Series RLC Load模块,弹出对话框。模块地具体参数设置如图3-4所示。 图3-4 Three-Phase Series RLC Load模块参数设置对话框(4)Voltage Measurement模块参数设置 图3-5 Voltage Measurement模块参数设置对话框具体参数设置如图3-5所示。(5)Three-Phase Breaker模块参数设置断路器模块的具体参数设置如图3-6所示。 图3-6 Three-Phase Breaker模块参数设置对话框(6)Constant模块参数设置将对话框中的常数设置为1,即异步电动机的负载为1.(7)Bus Selector模块参数设置在模型搭建完后,运行一次Simulink,此时再双击Bus Selector模块,会弹出如图3-7所示的对话框,将待输出信号从对话框左侧的Signal in the bus列表框内的信号选择到右侧的Selected Signals列表框内便可。图3-7 Bus Selector模块参数设置对话框(8)Powergui模块打开模块Powergui,从tools菜单中选择FFT Analysis,对输出结果的时域波形进行FFT分析,得到数据。图3-8 Powergui模块(9)Scope模块参数设置 图3-9 Scope模块参数设置对话框(10)仿真参数设置及运行设置仿真参数的Start time(起始时间)为0、Stop time(终止时间)为0.5,S olver option的步长选择变步长Variable-Step,解算方法Solve选择ode23tb解算器,然后保存该系统模型并进行仿真运行。3.2 三相异步电动机故障设置及故障特征提取短路故障,是指不同相的导线间或相对地,发生金属性的连接或经较小阻抗的连接. 电动机短路,通常发生在接线端子或绕组内部. 接线端子短路,是由于接线端松脱造成的单相偶然与壳体连接或两相间偶然短路. 而绕组内部短路,又分为相间短路和匝间短路两种. 相间短路包括绕组端部层间短路、槽内上下层线圈之间短路及绕组连接线或引出线绝缘损坏造成的相间短路. 匝间短路包括一个线圈之间短路,一个极相组中的线圈之间短路及各极相组线圈间的短路,造成绕组短路的内部原因,是电动机绝缘有缺陷及导线本身绝缘不良或嵌线时绝缘受损. 电动机出现短路后,短路电流通常大于8 倍的额定电流以上. 短路电流使绕组迅速产生高热,以致绝缘变色、焦脆、直至烧毁. 短路后果是严重的,因此短路故障出现时必须迅速切除。3.2.1 故障设置这里主要对接地性不对称故障进行设置,具体包括单相接地短路和两相接地短路。由于我国异步电动机的中性点不接地,在接地性不对称故障中,将会出现零序电流分量。具体故障设置及框图如图3-10所示。具体故障为:单相接地短路:A相接地短路、B相接地短路、C相接地短路;两相接地短路:AB两相接地短路、AC两相接地短路、BC两相接地短路。 图3-9为A相接地短路故障时的建模,同样道理对其他五项故障进行建模设置。仿真一个电路系统时,将SimPowerSystems模块与Simulink模块连接,搭建一个电路方框图,将模块powergui放置于模块图的上方。对任意包含SimPowerSystems模块的Simulink模块图进行仿真时,模块powergui都是必不可少的。图3-10 A相接地短路故障状态模型图设置仿真参数的Start time(起始时间)为0、Stop time(终止时间)为0.5,Solver options的步长选择Variable-Step,解算方法Solve选择ode23tb解算器,然后保存该系统模型并进行仿真运行。3.2.2 故障仿真这里主要选择BP网络对异步电动机外部故障中的一种,即供电线路单项短路(分别包括A、B、C三相)、两相短路(包括AB、AC、BC)六种故障进行诊断仿真。总结出了电动机定子电流的故障特征,这些异常的运行状态,会引起电动机定子电流超过其额定工作电流其六种故障仿真时域波形和频域波形如图所示。将Powergui复制到仿真框图中,初始化各种状态变量,设置仿真参数,仿真并得出仿真结果。这里为了方便频谱分析, 建立了以上仿真模型。3-11 异步电动机正常工作时转子电流时域波形3-12 异步电动机正常工作时转子电流FFT分析图3-13 异步电动机A相接地短路故障时域波形3-14 异步电动机A相接地短路故障FFT分析图3-15 异步电动机B相接地短路故障时域波形3-16 异步电动机B相接地短路故障FFT分析图3-17 异步电动机C相接地短路故障时域波形3-18 异步电动机相接地短路故障FFT分析图3-19 异步电动机AB相接地短路故障时域波形3-20 异步电动机AB两相接地短路故障FFT分析图3-21 异步电动机AC相接地短路故障时域波形3-22 异步电动机AC两相接地短路故障FFT分析图3-23 异步电动机BC相接地短路故障时域波形3-24 异步电动机BC两相接地短路故障FFT分析图3.2.3 特征量提取及预处理神经网路输入的确定实际上就是特征量的选取,对于特征量的选取,主要考虑它是否与故障有比较确定的因果关系。1.特征数据采集对于故障特征的提取主要分别选取了0Hz、24Hz、50Hz、76Hz、100Hz频域下转子转矩电流的几个特征量。 具体采集了三相异步电动机正常电压下(即220V相电压)工作时数据和电网波动时(240V相电压)时数据分别作为训练样本、测试数据,对异步电动机进行故障诊断:表中从上到下各行数据依次表示:电动机无故障工作数据、A相供电线路接地短路数据、B相供电线路接地短路数据、C相供电线路接地短路数据、AB相供电线路接地短路数据、AC相供电线路接地短路数据、BC相供电线路接地短路数据。1.220v时采集数据表3-1 三相异步电动机220V工作状态原始数据146.101452.4103399.873372.451724.3695235.8971240.2465181.942130.5824362.3285315.4558183.3201232.5889146.0186299.5373432.566150.61680.1144128.6359296.9675153.8175532.86057001.0397625.2743332.1803654.1234210.189319232.282138.788155.4073714.872117.21362689.322551.200619.3125表3-2 三相异步电动机240V工作状态原始数据828.5861568.3113325.477871.229821.4681923.2527187.1596151.4981113.5484420.4743108.2272183.3209151.135104.5691303.7626119.0948236.789775.7823148.4791370.135912145.271498.91576689.5587583.382311.27781353.1659203.847616941.624133.374752.5581414.4836116.5332829.314948.774117.51292.数据预处理获得样本数据向量后,由于其中这些数据具有不同的单位和量级,为了计算方便及防止部分神经元达到过饱和状态,所以在输入神经网络之前应该首先进行归一化处理。神经网络的输入量无法直接获得,常常需要用信号处理方法与特征提取技术从原始数据中提取能反映其特征参数作为网络的输入。输出量通常就是指为网络训练提供的期望输出,一个网络可以有多个输出变量,其表示方法通常比输入量容易得多,而且对网络的精度和训练时间影响也不大。对于本文的数值量输出,可直接用数值量来表示,但由于网络实际输出只能是01或-11之间的数,所以需要将期望输出进行尺度变化。利用MATLAB实现向量的归一化过程,这里将样本数据都归一化到(-1,1)之间的小数。主要是为了数据处理方便提出来的,把数据映射到01范围之内处理,更加便捷快速,应该归到数字信号处理范畴之内。在MATLAB中运用函数premnmx实现数据的归一化。MATLAB命令为:x=premnmx(pp)x1=-0.8985 1.0000 0.7545 -0.7753 -1.0000-1.0000 0.2520 -0.1052 -0.4199 1.0000-1.0000 0.1818 0.5287 -0.0808 1.0000-1.0000 -0.1070 -0.6403 -0.2733 1.0000-1.0000 -0.8893 1.0000 -0.8623 -0.9479-1.0000 -0.8893 1.0000 -0.8623 -0.9479-1.0000 -0.9837 1.0000 -0.9912 -0.9999-1.0000 -0.9235 1.0000 -0.9728 -0.9967x2=-0.9740 1.0000 0.1119 -0.8180 -1.0000 -1.0000 -0.1747 -0.3543 -0.5454 1.0000 -1.0000 0.1849 -0.0329 -0.3480 1.0000 -1.0000 0.2613 -0.6306 -0.2279 1.0000 -1.0000 -0.8919 1.0000 -0.8661 -0.9493 -0.9999 -0.9821 1.0000 -0.9904 -1.0000 -1.0000 -0.9275 1.0000 -0.9756 -0.9978 接下来确定网络的输出模式,由于本次对三相异步电动机设置了7种故障模式,因此可以采用如下形式来表示输出。无故障:(0,0,1)A相供电线路接地短路:(0,1,0)B相供电线路接地短路:(0,1,1)C相供电线路接地短路:(1,0,0)AB相供电线路接地短路:(1,0,1)AC相供电线路接地短路:(1,1,0)BC相供电线路接地短路:(1,1,1)第四章 故障诊断实例利用MATLAB的神经网络工具箱,介绍基于BP神经网络的异步电动机故障诊断过程。相对地短路为不对称故障,能引起电动机转子的震动。4.1 BP神经网络的构建1.构建神经网络训练神经网络之前需要构造一个网络构架,函数newff()就是用来构建神经网络的。它需要四个输入条件,依次是:由R维的输入样本最大最小值构成的R2维矩阵、各层的神经元个数、各层神经元的传递函数以及训练用函数的名称。假设需要构建一个两层神经网络,其输入向量是二维的,输入向量的范围为-1 2;0 5,第一层(隐层)有三个神经元,传递函数是tansig();第二层(输出层)是单个神经元,传递函数是线性的,训练函数选择traingd()。至此就生成了初始化待训练的神经网络。2.权值初始化前馈型神经网络在训练之间必须要对权值和阈值进行初始化,newff()函数可以自动完成这一过程,但是无法重新赋初值。如果想重新初始化,可以应用init()函数,使神经网络恢复初始化情况。4.2 BP网络设计采用BP网络进行故障诊断。将一个神经网络模型的所有神经元按照功能分为若干层。一般有输入层、隐含层和输出层,各层顺次连接。1)输入层:连接外部输入模式,并由各输入单元传送给相连的隐含层各单元。2)隐含层:是神经网络的内部处理单元层。神经网络所具有的模式变换能力(如模式分类、模式完善、特征提取等)主要体现在隐含层单元的处理能力上。根据模式变化功能的不同,隐含层可以有多层,也可以一层没有。3)输出层:产生神经网络的输出模式。4.2.1 网络创建BP网络模型结构的确定有两条比较重要的指导原则。对于一般的模式识别问题,三层网络可以很好地被解决。三层网络中,隐含层神经元个数和输入层神经元个数之间有以下近似关系:由此,可按照如下的方式设计网络,网络的输入层神经元个数为5个,输出层神经元个数为3个,隐含层的神经元个数近似为11个。隐含层的神经元个数并不是固定的,需要经过实际训练的检验来不断调整。可利用以下代码来创建刚刚设计的网络。网络的输入向量范围为-1,1,隐含层神经元的传递函数采用S型正切函数tansig(),输出层神经元传递函数采用S型函数logsig(),这是由于输出模式为0-1,正好满足网络的输出需求。threshold=-1 1;-1 1;-1 1;-1 1;-1 1;net=newff(threshold,11,3,tansig,logsig,trainlm); 其中,变量threshlod定义了输入向量的最大值和最小值。网络参数见表。表4-1 网络参数训练函数学习函数性能函数Trainlm()learngdm()mse()4.2.2 网络训练与测试网络训练过程是一个不断修正权值和阈值的过程,通过调整,使网络的输出误差达到最小,满足实际应用的要求。训练函数trainlm()是利用Levenberg-Marquardt算法对网络进行训练,通过以下代码调用trainlm()。网络的训练从参数设置见表。 net.trainParam.epochs=1000;net.trainParam.goal=0.01;LP.lr=0.1;net=train(net,P,T); 其中,P和T分别为网络的输入向量和目标向量,P是从表中得到的。表4-2 训练参数训练次数训练目标学习速率10000.010.1网络训练结果为TRAINLM, Epoch 0/1000, MSE 0.493845/0.01, Gradient 1.19156/1e-010TRAINLM, Epoch 25/1000, MSE 0.0953709/0.01, Gradient 0.0106511/1e-010TRAINLM, Epoch 33/1000, MSE 0.00119753/0.01, Gradient 0.130334/1e-010TRAINLM, Performance goal met.可见,经过34次训练后,网络的性能达到了要求,如图所示。图4-1 训练结果接下来需要对训练好的网络进行测试。利用6组新的数据作为网络的测试数据,见表。表4-3 测试数据-0.9740 1.0000 0.1119 -0.8180 -1.0000 -1.0000 -0.1747 -0.3543 -0.54541.0000 -1.0000 0.1849 -0.0329 -0.3480 1.0000 -1.0000 0.2613 -0.6306 -0.22791.0000 -1.0000 -0.8919 1.0000 -0.8661-0.9493-0.9999-0.9821 1.0000 -0.9904-1.0000 -1.0000 -0.9275 1.0000 -0.9756-0.9978测试代码为 Y=sim(net,P_test)测试结果一:Y = 0.0007 0.0001 0.0000 0.9999 0.9454 1.0000 1.0000 0.0120 0.9901 0.9654 0.0143 0.0716 0.9948 0.96861.0000 0.2648 1.0000 0.0000 1.0000 0.0652 0.8982测试结果二:Y = 0.0069 0.0023 0.0003 0.3941 1.0000 1.0000 1.0000 0.0006 0.9761 0.9993 0.0000 0.1314 0.9997 0.9830 1.0000 0.0034 0.9996 0.9296 1.0000 0.0871 0.9766由以上测试结果可知:结果一故障测试准确率为100%,结果二中故障测试有一组数据发生错误。因此,可以判定,经过训练后,网络完全可以满足异步电动机故障诊断的要求。结 论本文首先对三相异步电动机进行了介绍,并列举了常见的故障类型,针对供电线路接地短路设置故障,结合目前了解知识,采用检测定子转矩电流的方法来监测感应电动机是否正常运行,从而实现对电动机较的故障检测。设计了一种基于BP神经网络的故障诊断系统实现诊断功能。最终仿真和设计结果表明BP神经网络技术可以快速、准确地诊断出异步电动机故障类型。体现了其在故障诊断方面的优点,不需要建立故障诊断的数学模型,只要输入电机三相电压和电流的有效值即可完成故障模式的辨识。这就使得系统采样输人数据类型大为减少,简化了系统的设计,提高了故障诊断的可靠性。为提高故障诊断的准确性,还应加大网络训练的样本数据量。本次设计采用了七种最为常见的故障模式进行了诊断,但是在实际生产过程中,三相异步电动机还可能发生其它故障,而本次设计没有进行检测,所以今后可以根据实际需要,适当地扩大故障模式的个数,进一步完善系统的诊断功能,以提高系统的性能;另外本文采用频谱图的方式来提取故障特征,这主要是通过傅立叶变换来实现的,这种方法的精度并不是很高,这有时会影响到系统的性能,故可以考虑使用较为精密的故障信号提取方法以提高系统的性能。参考文献1 王忠贤主编.MATLAB建模与仿真应用M.北京:机械工业出版社,2010.8,196-2012 张德丰等编著.MATLAB神经网络应用设计M. 北京:机械工业出版社2009.192-119,276-2803 贺超英编著.MATLAB应用与实验教程M.北京:电子工业出版社,2010.14 蔡泽祥,焦振有异步电动机故障诊断及综合保护的研究J 东北电力学院学报,1994,14(2):67-725 徐俩俩.基于神经网络的感应电机故障诊断研究C.(扬州大学)学位论文.20096 朱丽娟.基于小波神经网络的异步电动机振动故障诊断研究C.(太原理工大学)学位论文.20087 李艳兰.异步电动机电气故障的识别与诊断D.太原理工大学,20058 Fu Yang. A Neural Network Approach to Power Transformer Fault DiagnosisA.International Conference of Electrical Machines and SystemsC.Beijing,2003:351-354.9 闻新等.MATLAB神经网络应用设计M.北京:科学出版社,2000:20710 Yang Qiping, Xue Wude. Artificial Neural Network for Transformer Fault DiagnosisA.ACEIDC.Korea,1999:322-325.11 C. Mo-Yuen, Methodologies of Using Neural Network and Fuzzy Logic Technologies for Motor Incipient Fault Detection, World Scientific Publishing, 1997.12 Czeslaw T. Kowalski, Teresa Orlowska-Kowalska, Neural networks application for induction motor faults diagnosis.2003:43544813 顾绳谷主编.电机及拖动基础M.北京:机械工业出版社,2007.1014 王致杰等.基于人工神经网络的变压器温升预测应用研究J.煤矿安全,2002,33(12):11-12.15 岳祖洲,陈继述.人工神经网络的发展J.应用光学,1994,15(2):6-11.16张立明.人工神经网络的模型及其应用M.上海:复旦大学社,1993:43-44,47-49.17 虞和济等.基于神经网络的智能诊断M.北京:冶金工业出版社,2000,5:18-28.18 黄晓光,王永泓,翁史烈.基于BP 算法的电站燃烧气轮机故障诊断J. 中国电机工程学报,2000,12.19 王风昌,李面换异步电机故障的电流监测和诊断哈尔滨工业大学学报1994,26(6):889220 沈标正.电机故障诊断技术.第一版.北京:机械工业出版社,199621 吕辉,刘诤.基于MATLAB的异步电动机故障仿真分析.吉林化工学院学报.2010,27(1):73-76.附 录实例完整MATLAB代码如下: 程序一:P= -0.8985 1.0000 0.7545 -0.7753 -1.0000; -1.0000 0.2520 -0.1052 -0.4199 1.0000; -1.0000 0.1818 0.5287 -0.0808 1.0000; -1.0000 -0.1070 -0.6403 -0.2733 1.0000; -1.0000 -0.8893 1.0000 -0.8623 -0.9479; -1.0000 -0.9837 1.0000 -0.9912 -0.9999; -1.0000 -0.9235 1.0000 -0.9728 -0.9967;T=0 0 1;0 1 0;0 1 1;1 0 0;1 0 1;1 1 0;1 1 1;threshold=-1 1;-1 1;-1 1;-1 1;-1 1;net=newff(threshold,11,3,tansig,logsig,trainlm);net=init(net);net.trainParam.epochs=1000;net.train
展开阅读全文