张永祥,王宇,姚晓山
(1.海军工程大学动力工程学院, 湖北 武汉 430033;2.空军预警学院军械技术系, 湖北 武汉 430021)
拉缸故障是柴油机最易发生的故障之一,一旦发生,轻则减速停机,重则损坏机器甚至危害工作人员生命安全[1-2]。因此,柴油机的拉缸故障一直是研究热点,受到广泛关注。现阶段国内外专家学者针对柴油机故障诊断所用的方法主要是通过信号处理进而提取故障信息,再利用模式识别进行故障诊断。文献[3]在RiliefF和PCA两种方法的基础上,结合两种方法的优点提出了一种优化柴油机故障诊断方法,先是使用RiliefF提取柴油机振动信号的敏感特征,再用PCA降维,最后用支持向量机将不同工况的敏感特征进行分类,从而判断柴油机的拉缸故障。文献[4]在欠定盲源分离的基础上进行优化,通过重构得到虚拟观测振动信号,从而将欠定问题转变成适定或者超定,又通过自适应Parafac方法对虚拟路径进行盲源分离得到有效源信号,进而来诊断柴油机故障问题。卓宏明[5]等提出Petri网和萤火虫神经网络相结合的故障诊断方法,先是利用Petri网归纳柴油机故障模式,提取出神经网络的训练数据,再用萤火虫算法来进行优化,进而进行柴油机故障诊断。虽然这些方法在一定程度上取得了效果,但由于这些方法都是利用信号处理和诊断经验来进行故障诊断,并且柴油机振源众多,信号复杂,因此会对这些诊断方法的准确性以及可靠性造成影响。
深度学习作为新兴方法,因其具有自动学习提取数据特征的优点而被广泛应用到各类故障诊断中。卷积神经网络类属于神经网络的一种,被广泛应用于图像识别、分类等领域,不仅能为机器人和自动驾驶汽车提供视觉助力,还能辨别人像和交通标志,已经成为机器学习领域的重要工具。其在故障诊断领域的应用也相当广泛。Lu[6]等利用 CNN 进行滚动轴承的故障诊断,但样本量较少,CNN模型相对简单,体现不出CNN在大数据处理方面所具有的优势。文献[7]利用一维卷积神经网络进行电机条件监测和早期故障检测。文献[8]通过收集正常与混合故障条件下的振动信号,利用S变换和CNN实现故障的分类。
虽然深度学习迅猛发展,但应用于柴油机拉缸故障诊断的方法却较少,而且模拟柴油机拉缸故障非常困难,常用的方法有增大活塞从而减小活塞与缸套间的间隙、调节水温或者在润滑油内添加磨粒,但这些方法不易控制,且拉缸故障风险很大,难以把握。为了真实模拟柴油机拉缸故障,实现拉缸故障诊断,本研究采用已经发生拉缸故障的6-135柴油机活塞缸套模拟拉缸故障,采集其在典型工况下拉缸和正常状态时的相关振动信号,对振动信号在指定位置进行加窗处理,得到训练和测试样本,再将训练好的CNN模型用于测试集,实现柴油机拉缸故障诊断。
柴油机的激励源众多,对拉缸信号影响较大,其中包括活塞撞击激励、气阀起落激励、气缸压力等。其中活塞撞击激励主要发生在上、下止点附近,主要是由于侧压力变向所产生;气阀关闭相对于气阀开启的影响更大,信号更强烈。对于多缸机而言,某一缸的信号不仅与自身振动源激励有关,还受到其他缸振动激励的影响。图1示出6-135柴油机主要振源激励的相位图,图中1i表示第i缸进气阀开启冲击, 2i表示第i缸排气阀关闭冲击, 3i表示第i缸进气阀关闭冲击,4i表示第i缸排气阀开启冲击,Qi表示第i缸的活塞撞击冲击, 括号表示此处两缸信号重叠。
图1 6-135柴油机主要振源激励相位图
图中0°为压缩上止点,进气阀开启角和排气阀关闭角为20°,进气阀关闭角和排气阀开启角为50°。由图1可以看出,多缸机的信号在时域重叠严重,信号难以分离,直接对信号进行分析难以实现柴油机拉缸故障诊断,因此需要运用加窗的方法提取有效信号段进行分析。研究表明:柴油机拉缸故障在做功冲程最易发生。图1是根据柴油机的结构及振源分析所绘,对于所有工况均适用,故可以看出,在柴油机的压缩上止点后60°~80°这一段信号受其他缸振源影响较小,基本只受到自身激励信号的作用,综合考虑信号重叠干扰和拉缸信号获取的难易程度,选择这一段信号进行分析来诊断柴油机拉缸故障。为了获取压缩上止点后60°~80°这一段信号,设计一矩形窗函数,保留该段信号,其他曲轴转角段信号为0。
1.2.1卷积神经网络基本结构
CNN的基本结构包括卷积层、激活函数、池化层、全连接层,除此之外为了提高性能,防止过拟合现象发生,还有Dropout层和提升模型优化速度的批量归一化层(Batch Normalization)。CNN基本结构见图2。
图2 卷积神经网络基本结构
1) 卷积层
卷积层是图像特征获取层,是CNN的关键层,利用卷积核在图像上不断扫过再通过卷积运算来获取图像特征。对图像进行卷积,实际上是进行滤波。卷积层的公式表示为[9]
Hi=f(Hi-1⊗Wi+bi) 。
(1)
式中:Wi为第i层卷积层权值向量;Hi为卷积层第i层的输出特征图,bi为第i层偏置。
2) 激活函数
激活函数的作用是使CNN具有非线性,若是在CNN的结构中没有激活函数,则其整个神经网络就如同于一个巨大的线性回归。激活函数在卷积层后面,隐藏层常用的激活函数有3个,即逻辑回归(Sigmoid)函数、双曲正切(tanh)函数及校正线性单元(ReLU)。本研究的激活函数拟采用ReLU,因为神经网络的优化方法是反向传播,反向传播的快慢取决于梯度的大小,ReLU相较于Sigmoid和Tanh的模型参数更新速度更快。
3) 池化层
池化层也叫做降采样层、下采样层。池化层的作用第一个是降维,通过对卷积层输出的数据进行降维来减小计算量;第二作用是相当于一个滤波器,具有降噪的作用;池化层第三个作用是扩大感受野,感受野是指某一层的输出对应的原始输入的大小。池化方法主要有均值池化、随机池化和最大池化3种。
4) 全连接层
全连接层是在最后一层池化层的后面,是一个神经网络的隐藏层,其作用是分类。卷积层是通过卷积的方式提取图像特征,而全连接层是根据这些特征来进行分类,将这些特征映射到样本空间。本研究拟采用Softmax回归作为全连接层的分类器。
1.2.2后向传播过程
CNN的学习过程主要有两个,一是前向传播过程,二是反向传播过程。前向传播过程是将输入的特征信息进行前向传递。反向传播采用的是链式求导的思想,并通过该思想求出各层的误差项。对于一确定的分类任务,CNN的目的就是使损失函数最小化,根据文献[10],本文选的损失函数为交叉熵损失函数,公式为
(2)
式中:n为故障样本数;t为预测值;y为真实值。
在训练时常用的最小化损失函数方法是梯度下降法。通过对损失函数求一阶偏导来不断更新学习参数w和b。
式中:w,w′,b,b′分别为更新前后的权值和偏置;η为学习速率参数。
针对柴油机信号复杂、振源众多、信号重叠严重的问题,提出了基于加窗和卷积神经网络的柴油机拉缸故障诊断方法,其流程见图3,具体过程如下:
1) 进行拉缸故障模拟试验,测取典型工况下拉缸与正常状态时的加速度信号;
2) 利用加窗方法对机体在缸套轴向的加速度信号进行处理,提取信号分析段;
3) 将加窗信号分成训练样本和测试样本,将训练样本输入到CNN中进行训练,不断学习获得适当的参数;
4) 将测试样本输入到训练好的CNN中完成故障识别。
图3 拉缸诊断方法流程
为了研究柴油机拉缸故障诊断方法,选择6-135柴油机为研究对象,与该柴油机相连的是1台100 kW的电力测功器,柴油机在起动时由电力测功器倒拖,在柴油机工作时作为发电机改变柴油机负载。为了真实模拟柴油机拉缸故障,本研究选用一套已经发生拉缸的活塞、缸套作为柴油机拉缸试验件,模拟拉缸故障,以确保柴油机工作时产生拉缸。为便于安装传感器,将已产生拉缸故障的活塞缸套装入第1缸。为了避免拉缸时引起柴油机整机损坏,试验时分两个阶段并逐步加载。第一阶段为6-135柴油机各缸正常工作时的试验,测量获取柴油机在不同转速、不同负荷工况时的振动、转速、上止点等信号。第二阶段,首先是由电力测功器倒拖柴油机,测量振动等信号,然后分别在900 r/min和1 200 r/min时测量空载和部分负荷工况时柴油机振动等信号。为防止柴油机产生严重拉缸,采用逐渐增加柴油机负荷的方法,且只加载到标定负荷的20%。为了验证柴油机各试验工况下各缸是否产生拉缸,每次试验后用内窥镜检验。为了便于柴油机机体振动信号的测量,将拉缸的缸套和活塞安装于柴油机第1缸。根据6-135柴油机的结构,柴油机拉缸信号主要由缸套与机体的上凸缘传递至机体,所以在第1缸活塞上止点对应的机体位置上粘贴了加速度传感器转接块,并在垂直和平行于缸套轴线方向安装了2个加速度传感器,传感器的型号为BK4534B,频宽为0.2 Hz~12.8 kHz,信号采集采用的是3053-B-120数据采集模块,采样频率为65 536 Hz。
试验测取了多个工况的拉缸和正常的加速度信号,由于篇幅限制,这里只给了1 200 r/min和100 N·m工况下拉缸和正常状态的机体在缸套轴向加速度信号。图4示出一个周期的原始加速度信号,图5示出加窗后一个周期的加速度信号。
选择900 r/min(空载)、1 200 r/min(空载)和1 200 r/min(100 N·m)3个工况下拉缸和正常的机体在缸套轴向加速度信号进行卷积神经网络诊断。由于试验测取的信号采样点较多,为了降低计算量,缩短测试时间,对原始信号进行降采样,比例为1/4。对降采样后的加速度信号进行样本构造。试验测取30 s的加速度信号,降采样后共计491 520个采样点,取16 384个采样点为一个样本,大约包含10个周期,采用数据重叠方法增加样本数量,重叠采样点数为1 687,最终共取300个样本,再将样本分成训练集和测试集。具体样本数量和标签配置见表1。
图4 1 200 r/min和100 N·m工况下 拉缸和正常状态下加速度信号
图5 1 200 r/min和100 N·m工况下拉缸和正常状态下加窗后加速度信号
表1 典型工况的样本数量和标签配置
现阶段对于如何确定CNN的结构没有一个明确的方法,主要还是根据经验分析。其中卷积核大小、学习率迭代次数等参数都会影响CNN的测试准确率。本研究根据文献[11],在LetNet5[7]的基础上,通过分析,最终确定的卷积神经网络模型见图6。图6所示模型结构包含1个输入、4个卷积层、4个池化层、2个全连接层以及1个Softmax层。对于卷积层,卷积层1~4的卷积核都为3×3,卷积核个数依次为8个、16个、32个、64个,卷积层所用的激活函数为ReLU激活函数;对于池化层,本研究选择的池化方法为最大池化,该方法的优点是所得到的特征值和输入矩阵的位置没有关系,提高了针对位移的平稳性。池化层窗口的大小为2×2。为了提高模型的泛化能力,防止过拟合,使模型更加稳定,在卷积层和激励函数之间增加批量归一化层(Batch Normalization)以减少内部协变量转移;在卷积层还加了Padding(在卷积操作之前在图像周围增加一层0像素),使原始输入经卷积变化后其输出的维度不发生变化。另外,在全连接层前还引入 dropout 方法,把CNN的某层输出随机去除一定比例的像素,来达到防止过拟合现象的发生。对于典型参数的选取,通过控制变量法不断试验计算,最终确定的各项参数值为学习率0.001,迭代次数30次,批训练中样本数量40。
图6 卷积神经网络模型结构
采用多种方法进行拉缸故障诊断:本文所提的基于加窗和CNN的方法为方法1;直接以不加窗加速度信号为输入进行CNN识别的方法为方法2;支持向量机(SVM)算法为方法3;BP神经网络方法为方法4。其中方法1和方法2的CNN都包含两个输入A和B,A为信号的时域特征,B为信号的频域特征。为验证方法1实现拉缸故障诊断的有效性,对6种工况的测试数据集进行了5次测试试验,结果见表2。平均值指的是5次测试结果的平均值。SVM的结构以及输入参照文献[12],使用高斯径向基函数(RBF)作为核函数,惩罚系数C为4,核函数系数g为0.1,输入为各加窗后信号样本的特征参数,包括峭度、均方根值、最大奇异值、能量、偏度;BP的输入也是上述特征参数,其结构根据文献[13]的结构设置,迭代步数为2 000,误差精度设为0.001,展示步骤设为200,其激活函数为ReLU。
表24种方法的测试结果
从表2可以看出,方法1以时域特征和频域特征作为输入的测试准确率都是最高,几乎能够达到100%,测试时间相对较低,即能够在较短的时间内达到最大测试准确率。而与方法1相比,方法2的测试准确率低一些,计算时间几乎是方法1的2倍,诊断效果略差。相较于方法1和方法2,方法3和方法4的诊断效果不够理想,不适合用于柴油机拉缸故障诊断。
综上所述,当柴油机发生拉缸故障时,通过先对加速度信号进行加窗处理,然后利用卷积神经网络对加窗后的加速度信号进行训练,得到CNN模型,最后利用训练好的CNN模型进行拉缸故障识别,能够有效且准确地实现柴油机拉缸故障的诊断。
a) 采用已产生拉缸的活塞缸套装入柴油机某缸进行拉缸试验研究,是一种行之有效的方法;
b) 合理选取加窗参数,可有效提取柴油机的拉缸故障信号,减小其他振源对拉缸故障信号的影响;
c) 提出的基于加窗和CNN的方法能够实现柴油机的拉缸故障诊断,相较于直接以原始信号作为输入的CNN以及传统神经网络的SVM和BP两种方法,该方法更加准确、有效,测试准确率更高。