




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第15页共24页第16页共21页基于神经网络单相鼠笼式异步电机故障检测的MATLAB仿真分析目录TOC\o"1-3"\h\u746基于神经网络单相鼠笼式异步电机故障检测的MATLAB仿真分析 1110671.1检测模型及思路 1288751.2BP神经网络检测构架 144161.2.1神经网络层数的选择 157281.2.2输入输出神经元数目选择 2260371.2.3隐含层神经元个数的确定 2258671.2.4激励函数的选择 3170821.3BP神经网络MATLAB实现及仿真结果分析 3275311.3.1BP神经网络建立 3278191.3.2BP神经网络的测试 6294401.3.3检测结果分析 81.1检测模型及思路采用故障电流有效值,最大幅值,标准差,平均值,FFT提取各组故障电流幅值作为神经网络的输入,定义对应的权重分别为:X1,X2,X3,X4,X5。以神经网络对应的检测值=X1*幅值+X2*有效值+X3*标准差+X4*平均值+X5*为输出,将检测单相鼠笼式异步电机故障类型分为:含匝间故障、含轴承故障以及不含故障三种。测试数据为:故障电流有效值,最大幅值,标准差,平均值,FFT提取各组故障电流幅值,输出单相鼠笼式异步电机故障类型。1.2BP神经网络检测构架1.2.1神经网络层数的选择选择神经网络的层次取决于它的实际应用方向,本论文所做的基于BP神经网络的鼠笼电动机的故障诊断是一种非线性系统。由于单层神经网络主要在于解决简单问题,且具有很高的训练复杂程度,所以本文没有选用单层神经网络。另外,按照Kolmogorov定理可知,只要不限制隐含层的节点数目,含有隐含层的三层BP神经网络能够以任何精度近似非线性系统。另外,添加更多的神经网络的结构会使网络中的隐含层数量增多,会使的网络的学习速度变得缓慢、网络的收敛时间延长等不利因素。因此,在比较单相鼠笼电动机网络结构困难后,本论文选取了三层BP神经网络结构。1.2.2输入输出神经元数目选择(1)输入神经元数目的确定上节对该系统进行了详细的分析,提出了一种基于输入层、隐含层和输出层三层结构的网络。由于输入层是以网络为基础的数据输入,所以在神经网络中,有多少个因素指标需要训练,就有多少个神经网络的输入。本论文以神经网络为基础,构建了三层神经网络,从实验的视角出发,研究了方案层次指标因素在目标层中的输入和输出。因为在输入层中有25个因素指标,所以需要25个输入层的节点。(2)输出层神经元个数的确定输出层网络的输出,即为单相鼠笼式异步电机故障检测的检测结果,为单输出,所以输出层节点为1。1.2.3隐含层神经元个数的确定隐含层神经元的选取直接影响到神经网络能否正确地进行样本的识别,所以对于如何选取隐含层非常关键。到目前为止,还没有一种比较精确的计算方法,该问题成为了该研究领域得难题。在神经网络中选取隐含层的节点数量非常关键,若选取的隐含层节点数量过少,则会训练不出合适的网络,或者会使得训练出来的网络容错性较差。但是,如果选择过多的隐含层节点,将会使网络的训练变得十分困难、还会延长训练时间、也会使网络泛化的性能下降。隐含层的神经元数量不仅与输入、输出层神经元数量相关,还与待解决问题的复杂性、转换函数的形式选择、数据的样本特征等因素有关,这些因素对隐含层的神经元数量的选取具有重要的影响。目前,关于如何在隐蔽层中识别神经元数目,尚无统一的方法,在总结大量BP网络结构设计的基础上,我们得到如下的估算方法: m=l+n+p/2(4-1)在公式(4-1)中,p代表训练样本数量,l代表输入层的神经元数量,n代表输出层的神经元数量,m代表隐含层神经元数量。1.2.4激励函数的选择本文所研究的单相鼠笼式异步电机故障检测系统属于非线性问题的求解,它需要选取的转换函数能够具有较好的非线性映射能力,因此在隐含层神经元中,我们选取S型正切函数tansing作为激励函数。此外,单相鼠笼式异步电机故障检测的数据经过归一化处理后,它的输入和输出值均在[0,1]之间。因此,本文将对数S型函数应用到隐含层与输出层的神经元转换中。1.3BP神经网络MATLAB实现及仿真结果分析1.3.1BP神经网络建立1.3.1.1BP神经网络的建立方法BP神经网络的建立过程包括如下两个阶段:(1)在工作信号的正向传输中,输入信号可以从输入层进入网络,然后经过隐藏层,最后在输出层生成一个输出信号。在这段时间内,各神经元的权重、阈值均未发生变化,各层次的神经元仅对下一层次神经元的输入及状态产生影响。若在输出端未获得期望的输出量,网络将进入误差信号的反向传输过程。(2)误差信号的反向传输是网络的实际输出和预期输出之间的结果差异,即误差信号。误差信号从输出端一层一层地传输回来。在此传输过程期间,根据一定的规则,通过误差信号调节网络中各神经元的权重和阈值。以上两个步骤应该按交替的周期进行。该算法通过对各神经元权重和阈值的不断调整,使网络的输出结果与期望的输出结果越来越接近。其中,在误差回传的过程中,误差回传的核心是对每个神经元的权值和阈值进行调节,而权值的调整是以不断减小误差为原则。1.3.1.2BP神经网络检测的实现方法基于BP神经网络的单相鼠笼式异步电动机的故障诊断,可以将其划分为神经网络的训练与检测两部分。(1)选取训练样本数据构造训练样本。(2)对单相鼠笼式异步电动机的故障历史样本数据和工作质量分数进行了预处理。在进行神经网络检测之前,需要先将原始数据进行归一化处理,但是由于检测值的变化幅度较大,不适合直接作为神经网络的输出,因此仍需进行必要的归一化。将数据规范在[0,1]之间,这样使数据尽可能地平滑输出,从而消除检测结果的噪声。采用归一化方法目的是为了加快训练网络的收敛性,具体算法是:将输入输出数据变换为[0,1]区间的值常用以下变换式:(4-2)式中,Xi代表输入或输出数据;Xmin代表数据变化范围的最小值;Xmax代表数据变化范围的最大值。(3)构造训练样本。(4)基于BP神经网络的三层结构进行建模。第一层为输入层,输入训练样本,第二层作为隐含层,第三层为输出层,输出最终检测结果。(5)检测网络。对后10组数据进行检测,然后利用反归一化进行数据处理,得到检测后的数据。第16页共24页第16页共21页基本流程图如下图1.1所示:图1.1程序设计步骤框图第18页共24页第16页共21页1.3.2BP神经网络的测试本文以Matlab2020a作为实验仿真平台,首先通过Simulink模型运行不同的故障,在此基础上,然后将对故障数据进行有效值、最大值、标准差、频域等多个特征进行提取,并将其不同的故障数据作为神经网络的训练数据进行训练。BP神经网络是采用newff()函数来建立的。在隐含层神经元中,选择logisig函数作为传递函数,在输出层神经元中,选择purelin函数作为传递函数,trainlm函数则用于网络训练。net=newff(minmax(b),[25,10,1],{'tansig','tansig','purelin'},'trainlm');选择一个sim()函数来观测初始网络的输出;nc=sim(net,nb);在初始参数选取上,我们将初始学习速率设定为0.1,最大迭代训练次数设定为5000。net.trainParam.lr=0.05;net.TrainParam.epochs=5000;在此基础上,我们采用附加动量的梯度下降法对20组数据进行训练,其中前10组数据被用作训练样本,后10组数据被用作测试样本,用来进行检测网络。图1.2BP神经网络训练过程Epoch:表示训练次数,它的最大训练次数被设定为5000;Performance:表示训练误差(训练性能),最小误差为0.00001;Gradient:表示最小梯度为0.1;Validationchecks:表示错误验证,当错误次数达到6时,停止训练。当训练结束后,显示BP网络训练输出图。图1.3BP神经网络样本训练输出图从图1.2、1.3中可以看出,本文所选取的三层结构的神经网络,学习速度较快,训练准确率较高,且神经网络的训练效果与期望的检测输出结果基本吻合,该实验结果表明,本文所提出的神经网络是有效的、可行的。然后,我们再利用该网络对测
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论