摘要减速器的主动轴滚动轴承的4个特征参数作为BP神经网络的输入,并用BP算法对该网络进行训练,利用神经网络的智能性来判断轴承所属的故障类型,仿真结果表明,该方法实用有效针对所要研究的问题,本文建立了如下网络结构:n-p-m(n=4神经元个数;p=8隐层的神经元个数、m输出层神经元个数)初始参数:初始权值(随机生成)、学习效率为0.01、训练算法为raingd、最大迭代步数5000,使得诊断效果最好。关键词:BP神经网络故障模型一、问题重述利用BP神经网络对石油钻井的绞车及传动机组滚动轴承进行故障诊断,能够在轴承早期故障时发出预警信号,提前对将要发生故障的轴承进行维修或更换,缩短停工停产时间和减少维修费用,从而使石油生产损失减少到最低,保证石油生产顺利安全进行。选取某型减速器的主动轴滚动轴承的4个特征参数,包括均方根值、峭度、谐波指标和SQ参数,这4个参数组成输入样本向量,实测数据如下表所示轴承状态均方根值峭度谐波指标SQ参数正常新轴承0.641.370.710.78正常新轴承0.681.310.641.31正常新轴承0.911.350.751.59正常新轴承0.691.380.680.9内圈点蚀8.242.230.992滚珠点蚀2.011.650.944.39保持架损坏0.931.330.731.54外圈严重裂纹3.892.010.8820.1外圈较轻裂纹1.651.660.94.48外圈微裂纹1.351.390.952.89问题一:选用一种训练较好的网络对检验样本进行识别,使得诊断效果最好?二、符号说明n:神经元个数;p:隐层的神经元个数;m:输出层神经元个数三、模型假设1、假设第四组为检验样本,其余各组为训练样本四、模型建立与求解4.1确定网络结构模型采用3层BP神经网络,输入层为4个节点,对应于均方根值、峭度、谐波指标、SQ参数4个特征向量,隐层节点数的选取目前尚无理论依据[1],可根据经验或通过训练学习后,考虑网络的学习次数和识别率综合比较后选定,本文选用隐层节点数为8,输出层节点数为4,对应于轴承的5种故障类型,轴承各种故障类型的期望输出为:正常(0,0,0,0),外圈故障(1,0,0,0),内圈点蚀(0,1,0,0),滚珠点蚀(0,0,1,0),保持架(0,0,0,1).BP神经网络的最终结构为N(4,8,4).神经网络结构如下图所示:图4.14.2训练网络用于神经网络训练的样本集必须满足2个要求:样本集要足够大,样本集的大小对神经网络的识别能力有很大的影响,样本集越大,诊断的准确度就越高;样本集必须包含轴承各类故障的典型样本,即要求训练样本集完整.本文选用的样本数据来自实验数据,抽取9个典型样本组成了训练样本,BP神经网络的部分训练样本如表1所示.在Matlab环境下,选用以下训练参数:学习率0.01;训练步数5000;训练目标误差0.00001;采用LevenbergMarquardt算法对BP神经网络进行训练,从训练误差变化曲线可以看出LevenbergMarquardt算法具有较快的收敛速度.训练后的BP神经网络就是轴承的故障识别网络.表1:训练样本轴承状态均方根值峭度谐波指标SQ参数正常新轴承0.641.370.710.78正常新轴承0.681.310.641.31正常新轴承0.911.350.751.59内圈点蚀8.242.230.992滚珠点蚀2.011.650.944.39保持架损坏0.931.330.731.54外圈严重裂纹3.892.010.8820.1外圈较轻裂纹1.651.660.94.48外圈微裂纹1.351.390.952.894.3检验网络用训练好的网络对检验样本进行识别,神经网络对轴承检验样本进行诊断的输出结果如表4所示,可以看出,训练样本的预测值和目标值十分接近,通过检验样本我们可以发现检验样本的预测值可用来判断轴承的故障类型,神经网络能根据所测的数据准确地判断轴承的故障类型,说明神经网络具有很强的识别能力,诊断效果良好.表2训练样本的预测值0.19910.16420.08190.99320.03690.08950.00930.03010.04170.05550.03920.12610.02780.36230.110.13440.23540.32560.01750.00850.01860.00390.01560.01720.00160.17020.02590.17020.26680.26570.02330.38470.26150.89050.47240.3259表3训练样本的期望输出000100000000010000000001000000000111表4:检验样本的预测值检验样本的目标值0.229700.035000.011500.18030五、模型评价轴承是机械系统中重要的支承部件,轴承故障诊断是一个非常复杂的问题,轴承受安装位置、运行环境等因素的影响,其故障与征兆间的关系不是很明确,而BP神经网络模型具有较强的自学习、自适应、联想记忆及非线性模式识别的能力[2],特别适用多故障、多征兆等复杂模式的识别.本文通过对轴承的振动信号进行处理计算,提取有用的无量纲特征参数作为神经网络的输入,实验结果表明,利用BP神经网络对滚动轴承故障模式进行识别是可靠和有效的.六、文献[1]胡婧,杨曙年.基于BP神经网络的滚动轴承故障诊断研究[J].机械与电子,2006(4):11[2]褚蕾蕾,陈绥阳,周梦.计算智能的数学基础[M].北京:科学出版社,2002.七、附录附录一:clear;clc;Pa=[0.641.370.710.78;0.681.310.641.31;0.911.350.751.59;0.691.380.680.9;8.242.230.992;2.011.650.944.39;0.931.330.731.54;3.892.010.8820.1;1.651.660.94.48;1.351.390.952.89]';%Ta=[zeros(4,4);1000;0100;0010;[zeros(3,3)ones(3,1)]]';t1=[0000]';t2=[1000]';t3=[0100]';t4=[0010]';t5=[0001]';T=[t1t1t1t2t3t4t5t5t5];P=Pa(:,[1:3,5:10]);%Pa(:,[1:3,5:10]);Ptest=[Pa(:,4)];Ttest=[t4];net=newff(minmax(P),[8,4],{'tansig','logsig'},'traingd');%创建一个BP前馈神经网络net.trainParam.lr=0.01;%设置网络训练学习率net.trainParam.epochs=5000;%设置网络训练迭代步net.trainParam.goal=1e-5;%设置网络训练误差精度net=train(net,P,T);%训练BP神经网络Y=sim(net,P)%对训练好的BP神经网络进行仿真Ytest=sim(net,Ptest)隐层阈值-12.3669-2.76820.1338-14.12100.80620.0716-0.46816.7292输出阈值2.6640-1.2480-1.0804-3.5142图一:输入样本序号训练样本的输出值训练样本的预测值1()(0000)2()(0000)3()(0000)4()(0000)5()(0000)6()(0000)7()(0000)8()(0000)