李 雯 喻菲菲 杜燦誼 李 鋒 龔永康
(1-廣東技術師范大學機電學院 廣東 廣州 510635 2-廣東技術師范大學汽車與交通工程學院)
隨著汽車電控技術的快速發展,發動機電控單元(ECU)接收的傳感器信號越來越多,在對發動機運行工況精確監測的基礎上,可對發動機的運轉進行精確的控制與調整。同時,發動機在線診斷系統(OBD)的監測與診斷功能也越來越強大,但是,OBD系統通常只能監測傳感器等電氣線路和信號相關故障信息,對諸如發動機機械故障、磨損沖擊、性能退化等方面故障通常沒有監測與診斷能力。因此,如何對發動機進行有效深入的診斷,目前也有專家學者作了大量的研究[1-2],提出了一系列基于人工神經網絡的發動機故障智能診斷方法。
發動機運行狀態通常能用轉速、進氣歧管絕對壓力、節氣門開度、進氣流量、冷卻液溫度等主要參數共同來表征。通過采集主要傳感器信號作為輸入特征向量,建立BP 神經網絡和PNN 神經網絡模型對發動機的故障類型進行分類與識別,并進行試驗來驗證方法的可行性。BP 神經網絡和PNN 神經網絡都常用于故障檢測和目標分類識別領域,其中BP神經網絡采用誤差逆傳播的學習算法,通過循環迭代來優化連接權值與閾值,從而達到分類要求。PNN網絡則能用線性學習算法實現非線性的學習,具備學習速度快、魯棒性強、可以完成任意非線性逼近的優點[3];另外,其各層節點數較為固定,易于硬件實現。本文采用BP 神經網絡與PNN 網絡建立了診斷模型,并在準確率和計算速度上進行對比分析。
通過試驗提取各種故障狀態的樣本數據,方案路線如圖1 所示[4]。發動機故障設置方式如下:拔下第一缸噴油器電磁閥接線頭,實現單缸失火;用布塞住排氣管口,實現排氣管堵塞;用布蓋住進氣管空氣濾清器進氣口,實現進氣管堵塞;取下火花塞并調節間隙,實現火花塞間隙過大。首先,利用元征X-431解碼器,在瞬態工況下,獲取卡羅拉L15B 四缸發動機在4 種典型故障狀態以及正常狀態的3 種傳感器信號數據:發動機轉速(n)、進氣歧管絕對壓力(MAP)和節氣門開度(TPS),它們與發動機運行狀態緊密相關。然后,以采集的數據作為訓練樣本,建立基于發動機故障識別的BP 和PNN 神經網絡模型。最后,進行網絡的測試和實驗,分析網絡的效果和方法的可行性。

圖1 方案路線
通過試驗獲取發動機4 種故障狀態以及正常狀態的n、MAP、TPS 傳感器信號數據,從各狀態數據中任意提取15 組,共以[75×3]矩陣數據作為神經網絡的訓練樣本。再另取[15×3]矩陣數據作為測試樣本,數據如表1、表2 所示。

表1 部分訓練樣本數據

續表

表2 測試樣本數據
針對發動機的多個表征參數、多種故障類型診斷這一復雜問題,往往計算量大且容錯性要求高[5],借助神經網絡可以迅速地尋找出所期望的最優結果。通過特征樣本的訓練,建立的神經網絡模型就能以發動機實測傳感器數據來識別所屬可能性最高的故障類型。
2.1.1 BP 神經網絡的設計
構建3 層BP 神經網絡足以滿足模式自動處理和判讀。第一,輸入層節點數取決于輸入向量的維數,即需要輸入3 個特征量,分別為轉速、進氣歧管絕對壓力和節氣門開度。第二,在輸出層則需要設定5 種輸出的模式:正常狀態:[1 0 0];故障一,單缸失火:[0 1 0];故障二,進氣管堵塞:[0 0 1];故障三,排氣管堵塞:[0 1 1];故障四,火花塞間隙過大:[1 0 1]。第三,隱含層神經元數目是BP 神經網絡性能優劣的關鍵所在[6]。根據現有的經驗公式,隱含層節點數約為輸入層節點數的2 倍左右[7],事實上,輸入、輸出神經元數共同影響著隱含層神經元個數的選擇,不能一概而論。通過試湊法,多次嘗試增減隱含層節點數,最終確定最優方案:三層神經網絡的結構為“3-7-3”,如圖2 所示。

圖2 BP 神經網絡結構
2.1.2 PNN 網絡的設計
在模式分類問題中,PNN 神經網絡得到了廣泛的應用,它以貝葉斯最小風險準則為基本原理。網絡分為4 層:第1 層為輸入層,主要是把發動機的n、TPS 和MAP 形成的三維矢量X={x1,x2,x3}輸入到神經網絡中去,其神經元個數與輸入矢量長度相等。第2 層為模式層,它通過加權系數Wi與輸入層相連接,75 組樣本輸入即對應75 個神經元,每個神經元節點都設有一個中心,此層測出輸入特征向量與訓練樣本之間的歐式距離,并返回一個標量值,完成非線性操作。與BP 神經網絡的S 型傳遞函數不同,PNN 網絡對標準化后的X 進行徑向基運算,傳遞函數為:

其中分布密度δ 決定了樣本歸類的靈敏度,這是PNN 網絡性能的核心量[8]。第3 層為求和層,主要對同一類的模式層神經元的輸出進行加權平均,即節點數應為5。它將輸出與各類基于內核的概率密度的估計,且呈正比例。第4 層為輸出層,從求和層接收各類所獲得的概率密度函數,以競爭神經元進行閾值辨別,從所有輸出層神經元中匹配出可能性最大的一個,以輸出1 和0 來區別待識別模式類別與其它模式類別。建立的PNN 網絡拓補結構如圖3所示。

圖3 PNN 網絡結構
確定神經網絡結構后,輸入采集制備的樣本數據,通過一定的算法來讓網絡進行記憶、聯想、推測和容錯,從而得到特定的模糊映射關系,實現發動機故障的判別。
2.2.1 BP 神經網絡的訓練
BP 神經網絡通過輸出值與目標值的誤差計算,并將誤差根據設定的準則反向逐層傳遞來修改權值,從而使網絡的輸出趨近穩定狀態,滿足實際應用的需要[9]。采用S 型正切函數tansig、對數函數logsig分別作為BP 網絡模型隱含層、輸出層的傳遞函數。圖4 為訓練誤差性能檢測結果,從圖可知,經過55次迭代(約1 s),訓練最優狀態與目標狀態基本重合,其中相關系數R 為0.987 17(越接近1 網絡性能越優),網絡訓練效果合理[10]。
2.2.2 概率神經網絡的訓練
與BP 神經網絡不同,概率神經網絡不計算誤差進行反向傳播,網絡中的每個神經元都是單輸入、單輸出,它的信息處理能力來自于非線性函數的多重組合,是一個完全的正向計算過程。依次定義正常、單缸失火、進氣管堵塞、排氣管堵塞、火花塞間隙過大5 種狀態的輸出標簽為{1,2,3,4,5}。調整散布常數spread 為0.2 時訓練效果最好[11]。如圖5 所示,75組狀態數據在訓練中全部正確分類,準確率為100%,速度為0.036s,訓練程度符合要求。

圖4 訓練誤差性能

圖5 網絡訓練后樣本的分類結果與誤差圖
采用同一個測試樣本對建立好的BP 神經網絡和PNN 網絡進行測試,測試樣本見表2。從網絡測試的結果分析:BP 神經網絡故障識別的誤差較大,其中誤差最大的一組是[0.7639 0.0001 0.9943],期望輸出為[0 1 1],進氣管堵塞、排氣管堵塞以及正常狀態均出現錯誤,準確率只有66.7%,效果不理想,原因是訓練樣本涵蓋面不足;PNN 網絡輸出的結果跟期望輸出基本符合,15 組隨機樣本的測試結果中,只有一組進氣管堵塞被判斷為排氣管堵塞,故障檢測錯誤,準確率達93.3%。網絡測試結果如表3 所示,由此可見,建立的PNN 網絡在完成發動機故障類型的分類和識別的效果上更優。

表3 網絡測試結果對比
建立網絡并進行測試后,需要在實際應用中對網絡的計算結果進行驗證,保證其故障識別的穩定性。因此,重新制取本田卡羅拉發動機3 類傳感器信號數據,5 種狀態各取10 組,即驗證樣本為[50×3]矩陣,部分驗證結果如表4 所示。其中BP 神經網絡的準確率為94%;PNN 網絡的準確率為98%。另外,BP神經網絡與概率神經網絡的收斂速度分別為1s 和0.03 s。因此,PNN 網絡在識別準確率和收斂速度上均優于BP 神經網絡。

表4 部分數據及網絡驗證結果
以汽車發動機轉速、進氣歧管壓力和節氣門開度傳感器信號作為特征向量,分別建立BP 神經網絡和PNN 神經網絡模型,對發動機正常狀態以及單缸失火、進氣管堵塞、排氣管堵塞、火花塞間隙過大4種故障狀態進行識別,準確率高。通過網絡的測試和驗證結果表明:PNN 網絡的故障識別精度比BP 神經網絡高,效果穩定且速度更快,此方法在汽車發動機故障識別中應用效果更佳。