張永祥,王宇,姚曉山
(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兩種方法,該方法更加準確、有效,測試準確率更高。