1、1基于人工神经网络的故障诊断【摘 要】随着高新技术的发展,人工神经网络的模式识别在设备的故障诊断上得以广泛地应用。机器设备或者系统的故障诊断实质是一个模式识别过程。把对经过处理后的信号数据的有效时、频特征值作为神经网络的输入层,利用 Matlab 软件,便可得到不同的模式输出,进而可以辨别设备是否有故障。 【关键词】人工神经网络;故障诊断;模式识别;Matlab 软件 一、人工神经网络综述 BP 神经网络是目前应用最为广泛和成功的神经网络之一,它是由一个输入层,一个或多个隐层以及一个输出层组成,上下层之间实现全连接,而每层神经元之间没有连接。网络的学习过程包括信号正向传播和误差反向传播。在正向
2、传播进程中,输入信息从输入层经隐层加权处理传向输出层,经功能函数运算后得到的输出值与期望值进行比较,若有误差,则误差反向传播,沿原先的连接通道返回,通过逐层修改各层的权重系数,减小误差。随着这种误差逆向传播修正的不断进行,网络对输入模式响应的正确率也不断上升。 二、人工神经网络的识别、诊断过程 滚动轴承在设备中是比较典型的,本文以滚动轴承的故障识别、诊断为例。进行模式识别的大体步骤为:首先对经过零均值化后的振动信号数据进行时域、频域分析,将筛选后的有效时域、频域特征值作为人2工神经网络输入层的输入,经 Matlab 软件进行神经网络的训练,最后可得出一个可以识别轴承工作状态的神经网络,进而可以
3、对滚动轴承进行模式识别。可见采用振动信号检测法对机器设备进行故障诊断的过程包含信号采集、特征提取、状态识别、故障分析和决策干预等五个基本环节,在滚动轴承故障诊断中,振动信号的采集是关键,保证信号采集的准确性、合理性和实时性是正确实现故障诊断的前提。 (1)信号采集。每台机器设备都有自身的固有频率,若设备发生故障,其频率变化,其振动信号也会发生变化。因此,振动信号可以作为故障诊断的一个重要标准。在信号采集中主要用到加速度传感器、电荷放大器、带滤波的 A/D转换器。先通过压电式加速度传感器对振动信号进行拾取,然后经过电荷放大器及通过带滤波的 A/D 转换电路得到微机可以识别的数字信号,从而实现振动
4、信号的采集。 (2)特征值提取。为了便于观察,要把采样点的值分布在 0 附近,故先对采集的采样点值进行零均值化。用 matlab对零均值化后的的采样点进行时域、频域分析。时域分析是计算振动信号的在时域范围内的特征参数,包括:平均值、方差、均方根、峰值峰值因子、峭度系数等参数。频域分析是对零均值化后数据进行傅里叶变换,绘制频谱图,对不同样本故障轴承和正常轴承的频谱图进行对比,找出幅值差别比较明显的几组,作为频域分析的特征值。由于各个特征值的幅值大小不一致,不便于比较同一特征值在不同样本之间的差异,所以对所有有效特征值进行归一化,归一化后的结果可以作为神经网络的输入值。 (3)模式识别和故障分析。
5、在状态检测过程中,样本数据来源于实验数据分析后提取的有效特征值,这些有效的特征值作为神经网3络的输入。神经网络的输出为轴承状态,分为正常轴承和故障轴承(也可以把故障具体分,比如内圈、外圈、滚动体故障等) ,可以用(0 1)表示正常轴承, (1 1)表示故障轴承,因此网络中设计 2 个输出神经元表示这 2 个状态。对轴承的不同状态进行识别,建立神经网络对它进行训练,可以用公式(其中是输入层神经元数,是隐层神经元数)大体的计算出隐层神经元层数。我们设计一个隐层可以随意改变的 BP 神经网络,通过误差对比确定隐层数目。设定神经网络的隐含层神经元的传递函数为 tansig,输出层神经元的传递函数为 l
6、ogsig,目标误差为 0.001,最大训练步数为 1000。由以上设计写出网络训练代码,经 Matlab 运行,找出网络误差最小所对应层数,该层数作为神经网络的隐层。 确定神经网络的隐层后便可确定神经网络的最终结构,下一步就要对网络进行训练,使人工神经网络所产生的网络误差小于目标误差,对神经网络训练好以后,接下来就是对轴承的测试,神经网络测试代码为:y=sim(net,测试数据) 。把正常轴承和故障轴承的测试数据导入 Matlab程序中,结果整理后可得(以实验室中的一组实验数据为例): 用均值表示结果为: 把预先设定好的状态值和测试后的结果进行比较,很清楚的可以辨别出正常轴承和故障轴承。可见,对机器设备或者系统的故障诊断实质是一个模式识别过程。利用神经网络的模式识别能力,直接识别系统的当前模式,实现正常模式和故障模式之间、以及不同故障模式或不同故障程度之间的区分。 参 考 文 献 41焦李成.神经网络系统理论M.西安电子科技大学出版社,1990 2梅宏斌.滚动轴承振动监测与诊断理论?方法?系统M.机械工业出版社,1995