劉洋,張文彬,華倫,張云龍,帥石金
(清華大學汽車安全與節(jié)能國家重點實驗室,北京 100084)
車載診斷系統(tǒng)(On-Board Diagnostics,OBD)是發(fā)動機管理系統(tǒng)(Engine Management System,EMS)的重要組成部分,其主要功能為監(jiān)測發(fā)動機控制相關的電子元器件以及部件系統(tǒng)的各類故障,在發(fā)動機電子控制單元(Electronic Control Unit,ECU)中記錄相應的故障代碼,并通過外部的故障指示燈(Malfunction Indicator Lamp,MIL)對駕駛員進行提醒[1-2]。為進一步減少排放,根據(jù)《輕型汽車污染物排放限值及測量方法(中國第六階段)》的要求,汽油車采用三效催化轉化器(Three-Way Catalytic Converter,TWC)和汽油機顆粒捕集器(Gasoline Particulate Filter,GPF)集成后處理系統(tǒng)作為標準配置,其復雜程度對OBD開發(fā)工作提出了更高的要求,需要改進傳統(tǒng)的單一閾值、單一工況診斷策略,引入更完善的診斷模型[3-5]。近年來,基于快速原型的開發(fā)模式在汽車控制系統(tǒng)上得到了廣泛應用[6-8],通過將模型下載到實時硬件上運行,考察設計的ECU功能模塊在嵌入式環(huán)境中的實際表現(xiàn),完成邏輯驗證、性能評估以及模型優(yōu)化等工作。相比于傳統(tǒng)的嵌入式開發(fā)流程,該方法在提高模型完整性和實用性的同時,減少了相應的開發(fā)周期和成本。
OBD系統(tǒng)的基本功能是監(jiān)測部件的狀態(tài)并診斷故障的類型。監(jiān)測部件狀態(tài)的基礎是按照一定的頻率采集相應的傳感器信號。在后處理系統(tǒng)中, GPF前后的溫度和壓力傳感器獨立于原有的ECU線束額外安裝,通過采集電壓信號轉換得到具體的物理量數(shù)值。GPF前后的溫度傳感器主要用來監(jiān)測GPF工作過程中的溫度變化,防止溫度過高損壞堇青石載體,起到輔助診斷的作用;GPF前后壓力傳感器信號則作為診斷的主要輸入量。對于已經(jīng)安裝在TWC上下游的氧傳感器,信號不便于外部采集,必須設計相應的調制電路,通過與ECU通信獲取。診斷故障類型主要通過實時診斷模型實現(xiàn),模型以部件相關的模擬量作為輸入,具體的故障模式作為輸出。在明確故障類型后,還需要設計故障響應和消除的機制,使其反映在MIL上。
OBD系統(tǒng)的總體設計見圖1。待測對象為TWC和GPF集成后處理系統(tǒng),GPF前后溫度傳感器和前后壓力傳感器與實時控制器的I/O通道進行連接,發(fā)動機的工況信息和TWC前后氧傳感器信號由CAN總線實現(xiàn)與實時控制器的通信。實時控制器內部運行編譯完成的模型,將模型的輸入與控制器采集的數(shù)據(jù)進行匹配和映射,模型實時地計算出診斷的結果并進行相應的決策。上位機與實時控制器進行數(shù)據(jù)交互,系統(tǒng)的所有變量和環(huán)節(jié)均通過用戶界面進行實時監(jiān)控,改變模型的標定參數(shù)能夠觀測不同的運行結果。
圖1 OBD系統(tǒng)總體設計
OBD系統(tǒng)的硬件結構(見圖2)分為下位機和上位機兩個部分。下位機以PXI平臺為基礎,根據(jù)后處理OBD的測試要求定制相應的模塊搭建而成。所用的PXI平臺集成了最新的PCI Express開關和英特爾多核處理器,處理速度快且結構緊湊,有利于現(xiàn)場測試。選用PXIe-1078機箱,容納板卡和控制器,并將其連接至提供定時和同步功能的高性能背板;選用PXIe-8821控制器運行PharLab實時操作系統(tǒng),為各板卡提供驅動支持;選用PXIe-4353溫度輸入模塊搭配TB-4353等溫接線盒進行GPF前后溫度信號采集;選用PXIe-6341多功能I/O模塊搭配SCB-68A抗噪屏蔽I/O接線盒進行GPF前后壓力信號采集;選用CAN OBD-II電纜連接NI PXI-8512與汽車的OBD接口實時獲取ECU測量參數(shù)。上位機選用一臺PC,運行Windows操作系統(tǒng)并安裝VeriStand軟件環(huán)境,通過TCP/IP協(xié)議與下位機實現(xiàn)連接,對實時端進行模型部署和數(shù)據(jù)傳輸。
圖2 OBD系統(tǒng)硬件設計
OBD系統(tǒng)的軟件設計主要分為算法開發(fā)和交互界面開發(fā)兩部分,其中算法開發(fā)的主要任務是搭建故障診斷模型,涵蓋了OBD系統(tǒng)的主要功能,是整個開發(fā)流程的核心環(huán)節(jié)。算法開發(fā)選擇Matlab/Simulink作為主環(huán)境,通過Simulink代碼生成工具將搭建完成的模型轉化為C代碼并編譯成dll動態(tài)鏈接庫文件,導入VeriStand中進行配置[9]。OBD系統(tǒng)的Simulink故障診斷模型(見圖3)包含診斷條件判斷、神經(jīng)網(wǎng)絡診斷和故障決策3個子模型。
圖3 Simulink故障診斷模型
診斷條件判斷模型是一個在ECU上電后就立刻被激活的前置模型,將實際的診斷工況與理想的診斷工況進行比較,判斷在某個時刻是否激活后置的神經(jīng)網(wǎng)絡診斷模型。一般情況下,OBD診斷可以在較為穩(wěn)定的工況下取得良好表現(xiàn)。以“GPF診斷條件判斷”模型為例,它的輸入是車速和進氣量,輸出為標志位CDN_DIAG_GPF,在車速和進氣量同時滿足要求時置為1,其他情況均置為0。在模型內部,進氣量的設計條件為“大于150 kg/h”,判斷過程容易實現(xiàn);而車速的設計條件為“較為穩(wěn)定”,即判斷在當前診斷時刻前的一段時間內,車速是否接近勻速。由于Simulink庫中常用的模塊較難實現(xiàn)該判斷邏輯,通過自定義的Matlab Function模塊編寫算法。首先在處理器中預留一塊緩存區(qū)域,大小可以容納5 s左右的車速數(shù)據(jù),對每個模型運行周期進行數(shù)據(jù)存儲并滾動覆蓋舊數(shù)據(jù),實現(xiàn)在每次進行診斷條件判斷前讀取前5 s內的所有車速;查詢所有車速中的最大值和最小值,并作差比較,如果差值不超過5 km/h則判斷此時的車速波動較小,滿足診斷條件。
OBD需要診斷的TWC故障主要是由高溫、催化劑中毒等原因導致的老化。對于新鮮的TWC,當發(fā)動機的工作狀態(tài)偏離理論空燃比時,催化劑中的鈰氧化物將發(fā)生對應的儲氧和釋氧反應,使TWC后端的排氣始終保持在理論空燃比左右,此時TWC的轉化效率最高;隨著TWC逐漸老化,其儲氧能力不斷下降,此時TWC后的排氣不再維持在理論空燃比,而是產生一定程度的波動,TWC轉化效率降低;當TWC老化達到臨界狀態(tài)時,催化劑基本喪失儲氧能力,直觀表現(xiàn)為后氧傳感器電壓信號產生劇烈波動。
傳統(tǒng)的TWC老化診斷策略主要采用振幅模型化法和響應時間判斷法[10]。振幅模型化法通過大量試驗建立TWC老化的經(jīng)驗模型或儲氧量動態(tài)模型,將實際的后氧傳感器信號與模型預測的信號進行對比,結合閾值判斷TWC是否達到臨界狀態(tài)。該診斷策略的問題在于動態(tài)模型建模復雜,標定工作量大。響應時間判斷法在診斷區(qū)間內主動控制發(fā)動機空燃比,使TWC儲氧量達到飽和后釋氧。TWC的老化程度越高,后氧傳感器電壓從最小值跳變到設定值所需的時間越短,通過標定臨界TWC確定診斷閾值。該方法的主要缺點在于需要改變發(fā)動機原有的控制策略,導致診斷過程中的排放惡化。
OBD需要診斷的GPF故障按照影響排放和影響發(fā)動機性能分為兩類。其中影響排放的故障有人為移除載體、封裝不當導致載體破損、再生溫度過高導致孔道燒熔泄漏等;影響發(fā)動機性能的故障有炭煙沉積過多、潤滑油灰分造成的過濾體堵塞等[11]。排氣流經(jīng)GPF時受到阻力作用,直觀表現(xiàn)為GPF兩端具有壓力差,且隨排氣流量增大而增大。當GPF發(fā)生各種故障時,其兩端壓差將產生相應變化,以此作為GPF診斷的基本依據(jù)。
傳統(tǒng)的壁流式過濾體故障診斷方法以壓差-排氣流量模型為基礎[12],模型基于線性回歸擬合建立,考慮溫度對于壓差的影響以及溫度、壓力傳感器本身的測量誤差,在符合診斷條件的排氣流量下標定合理的GPF壓差范圍,如果超過這個范圍則認為故障發(fā)生。該方法在大排氣流量范圍內的故障診斷精度較低,如果限定若干點或者小區(qū)間作為診斷工況,雖然診斷精度提高,但難以滿足OBD法規(guī)的故障診斷頻率要求。
神經(jīng)網(wǎng)絡診斷模塊由神經(jīng)網(wǎng)絡模型發(fā)展而來,本質是一種非參數(shù)模型。對于OBD診斷問題,神經(jīng)網(wǎng)絡模型因其良好的非線性特性,具有建模簡便、標定工作量小、不影響原有控制策略、診斷精度高、診斷范圍大等優(yōu)勢[13-15],能較好地彌補上述傳統(tǒng)診斷方法的不足。神經(jīng)網(wǎng)絡診斷模型包含GPF診斷和TWC診斷兩個獨立模塊,建模使用的故障標準樣件均根據(jù)法規(guī)要求制備,并進行標簽化處理。其中GPF診斷模塊輸入發(fā)動機轉速、扭矩、GPF前壓力及GPF后壓力,輸出GPF處于正常、移除、泄漏、過載和堵塞狀態(tài)的概率;TWC診斷模塊輸入診斷時刻前1 s內的進氣流量、前氧傳感器電壓值和后氧傳感器電壓值,輸出TWC處于新鮮或臨界老化狀態(tài)的概率。由于GPF和TWC的診斷模塊采用了統(tǒng)一的神經(jīng)網(wǎng)絡架構,開發(fā)流程相似,故重點介紹TWC老化診斷的應用,而不再贅述GPF相關內容。
TWC神經(jīng)網(wǎng)絡診斷模型開發(fā)的重點是模型的離線訓練,此過程確定了神經(jīng)網(wǎng)絡模型的重要參數(shù)。以1 s為單位對WLTC循環(huán)采集到的新鮮TWC及臨界TWC原始數(shù)據(jù)(100 Hz采樣頻率)加時間窗分段處理,每一段作為一個樣本,每個樣本中包含三類特征輸入,共300個。加窗的起點在整個WLTC循環(huán)內任意選取,加窗范圍覆蓋整個循環(huán),保證樣本的隨機性,最終得到共4 000個樣本的數(shù)據(jù)集,包含兩種TWC老化狀態(tài)各2 000組。按神經(jīng)網(wǎng)絡訓練的常用比例劃分訓練集為3 000個,測試集為1 000個,同樣保證兩種TWC老化狀態(tài)的樣本數(shù)量均等。由于本例特征值維度較高,傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(Back Propagation Neural Network,BPNN)在應用時有一定局限性,故選擇深度置信網(wǎng)絡(Deep Belief Network,DBN)作為TWC診斷模型的基本框架[16-17]。經(jīng)過大量試驗,神經(jīng)網(wǎng)絡訓練參數(shù)設置見表1。訓練過程中網(wǎng)絡各節(jié)點的權值和偏置按誤差最小的原則不斷被調整和優(yōu)化。
表1 神經(jīng)網(wǎng)絡訓練參數(shù)設置
最終,得到TWC診斷訓練集準確率為94.77%(2 843/3 000),測試集準確率為94.30%(943/1 000),證明網(wǎng)絡訓練參數(shù)設置合理,不存在過擬合現(xiàn)象,泛化性能良好。離線訓練完畢后,在Simulink中使用Matlab Function編寫DBN的基礎框架并調用訓練中確定的網(wǎng)絡結構和參數(shù)。
故障決策模型的作用是在故障診斷模型輸出每種故障可能發(fā)生的概率后,確認駕駛循環(huán)內后處理部件存在的故障及類型,并激活MIL。由于故障并非總在循環(huán)內持續(xù)發(fā)生,所以決策模型還應當體現(xiàn)故障發(fā)生和消除狀態(tài)之間的互相轉化。根據(jù)描述的功能特點,使用Simulink中的Stateflow模塊進行決策模型的編寫。Stateflow是一種基于狀態(tài)機原理的圖形化編程工具,對較為復雜的邏輯有良好的實現(xiàn)效果[18]。故障決策模型見圖4,其中每一個矩形塊都代表一種狀態(tài),塊之間的連線則代表狀態(tài)的互相轉化。設計一個故障計數(shù)器CTR_OBD,初始值為0。當故障的輸出概率超過設定的閾值P_OBD_LIMIT后,計數(shù)器進行累加,達到設定的上限CTR_OBD_LIMIT_MAX后確認故障發(fā)生,標志位ERR_OBD置為1;當故障概率小于設定的閾值時,計數(shù)器進行遞減,達到下限CTR_OBD_LIMIT_MIN后,標志位ERR_OBD置為0。計數(shù)器的累加或遞減始終根據(jù)故障與閾值的實時比對情況進行動態(tài)切換,在整個故障決策的過程中,如果出現(xiàn)診斷條件不滿足的情況,則退出模型,保存計數(shù)器當前值作為下次模型激活后的初始值。實際上,無論故障是否發(fā)生,只要計數(shù)器達到了設定的上限或者下限,就
圖4 Stateflow故障決策模型
判斷該次循環(huán)已經(jīng)完成診斷,標志位END_DIAG置1,在本次駕駛循環(huán)ECU下電前都不再改變,相當于法規(guī)中定義的在用監(jiān)測頻率(In-Use Performance Ratio,IUPR)分子計數(shù)器增加了1。
VeriStand是一款基于LabVIEW內核的實時應用程序配置軟件,相比于傳統(tǒng)的上位機軟件,VeriStand具有操作簡單、規(guī)范性強、自動化程度高等優(yōu)勢。在VeriStand中設計交互界面有兩個主要步驟:配置系統(tǒng)定義文件和布置控件。系統(tǒng)定義文件包含了運行模型所需的軟硬件信息,根據(jù)需求進行離線修改,使用時與模型一同被下載到實時控制器中,相當于一個初始化函數(shù)。其中,控制器頻率決定了模型的最高運行頻率和模擬量的采集頻率,考慮與真實ECU的可比性,設置為100 Hz;系統(tǒng)自動識別I/O硬件后,設置采集方式為單點采集,輸入配置為差分輸入,對采集到的電壓進行轉換計算,得到溫度和壓力的具體數(shù)值;使用NI ECU Measurement and Calibration Toolkit中的CCP master工具,以自定義設備的形式添加,導入.a2l數(shù)據(jù)庫文件,通過CCP協(xié)議建立與ECU的通信。從數(shù)據(jù)庫中導出車速、轉速、扭矩、空燃比、進氣溫度、水溫等發(fā)動機工況參數(shù),設置讀取速率為10 ms;將模型的各輸入通道與上述物理通道進行映射(mapping),完成系統(tǒng)定義文件的配置工作。
交互界面設計在VeriStand工作界面中進行,常用的控件有模型控制、圖表、數(shù)值顯示、參數(shù)標定、布爾等。從系統(tǒng)文件中導入需要的參數(shù)以激活控件,當模型下載完畢后,啟動界面進行實時監(jiān)控。模型控制控件的作用是在線運行或停止模型,用以手動刷新模型內部的各個初值;對于較為重要的參數(shù),如車速、轉速、故障標志位等,導入圖表控件以進行隨時間變化的趨勢觀測;對于次級重要的參數(shù),如油門踏板開度、水溫、故障發(fā)生概率等,導入數(shù)值顯示控件進行階段性監(jiān)控;對于模型中定義的標定參數(shù),如故障概率閾值、計數(shù)器最大值等,導入?yún)?shù)標定控件進行實時修改。在布爾控件中導入ERR_OBD變量,通過指示燈亮滅直觀地表現(xiàn)故障的發(fā)生與持續(xù)時間。基于VeriStand的OBD系統(tǒng)交互界面見圖5。
圖5 OBD系統(tǒng)VeriStand交互界面
臺架試驗的主要目的是通過更換不同故障模式的后處理樣件,考察所開發(fā)的OBD系統(tǒng)在穩(wěn)態(tài)工況點下的診斷效果,對系統(tǒng)基本的診斷功能進行驗證。試驗用發(fā)動機為2.0T缸內直噴(Gasoline Direct Injection,GDI)發(fā)動機,使用CJ250電力測功機進行轉速和扭矩的精確控制。試驗裝置見圖6。
圖6 GDI發(fā)動機臺架
在GPF診斷模型建模階段,通過臺架的采集端與主控PC對神經(jīng)網(wǎng)絡訓練所需的GPF前后壓力進行采集。在各穩(wěn)態(tài)工況點下,觀察到的壓力波動很??;在驗證階段,模型的輸入來自于OBD系統(tǒng)采集卡的實時電壓信號,將其轉換為壓力值后,觀察到波動較大,最大可達±1 kPa。為有效控制因采集設備不同而導致的模型輸入誤差,對系統(tǒng)采集的電壓信號進行實時預處理,經(jīng)過一階低通濾波后,求取每2 s的平均壓力值作為最終的GPF前后壓力輸入量。經(jīng)過修正,穩(wěn)態(tài)工況下的GPF前后壓力曲線保持平穩(wěn),且數(shù)值與臺架端偏差小于0.1 kPa,認為此時模型的表現(xiàn)具有評估價值。
在臺架試驗過程中,為進一步驗證故障診斷模型在實際噪聲環(huán)境中的診斷性能,需要盡量選用不同于離線訓練時的工況點。圖7示出GPF移除故障的診斷結果。試驗中,原有的GPF載體被完全移除,用一根排氣直管替代。交互界面中的顯示控件GPF1~GPF5分別顯示GPF正常、GPF移除、GPF泄漏、GPF過載和GPF堵塞5種狀態(tài)的概率。可見,在隨機選取的轉速為3 500 r/min,扭矩為252.4 N·m的工況點下,GPF移除狀態(tài)的概率達到了100%,其他狀態(tài)均為0。更換不同故障模式的GPF樣件,在滿足診斷條件的情況下,模擬故障指示燈被正確點亮,且故障發(fā)生概率的最大值始終大于90%,證明各故障不容易混淆,OBD診斷結果準確且穩(wěn)定。
圖7 GPF移除診斷結果
與臺架試驗相比,整車轉鼓試驗的轉速和扭矩無法精確控制,工況大多趨于瞬態(tài)。進行試驗的主要目的在于驗證OBD系統(tǒng)診斷條件判斷模型和故障決策模型的邏輯正確性,進一步確保系統(tǒng)功能完整。
試驗采用搭載臺架同型號發(fā)動機的某SUV整車,為有效控制測試環(huán)境不同導致的系統(tǒng)輸入誤差,對整車的后處理系統(tǒng)管路布置進行改造,使各部件、傳感器的安裝位置與臺架端保持一致。整車轉鼓試驗裝置見圖8。根據(jù)法規(guī)規(guī)定,各種OBD診斷均要求能在WLTC循環(huán)下至少進行一次,運行WLTC駕駛循環(huán)。以TWC老化診斷為例,將原車的新鮮TWC替換為臨界TWC,完整的診斷過程見圖9。對比車速曲線和診斷條件判斷標志位CDN_DIAG_TWC的變化曲線,可見TWC的老化診斷條件“車速大于60 km/h且穩(wěn)定”在WLTC循環(huán)的中速、高速和超高速段被正確識別,診斷頻率較高;由故障診斷完成標志位TWC_END_DIAG的變化可見,由于計數(shù)器在診斷過程中曾經(jīng)達到過極值,TWC_END_DIAG被置1并一直持續(xù)到ECU下電,說明在本次駕駛循環(huán)內診斷已經(jīng)完成;由故障發(fā)生標志位ERR_TWC_OBD的變化可見,在診斷條件滿足時,TWC的臨界老化故障在大多數(shù)時間內可以被正確診斷,偶爾會在駕駛循環(huán)尚未結束時出現(xiàn)故障消除的狀態(tài),這是診斷模型本身的誤差造成的。由于法規(guī)定義的故障確認計數(shù)器在單次循環(huán)中一旦有故障發(fā)生就會累加,連續(xù)3個循環(huán)都累加MIL即被激活,所以這種故障偶然消除的情況不會影響最終的診斷決策,對駕駛員產生誤導。整車轉鼓試驗表明,所開發(fā)的OBD系統(tǒng)可以在WLTC循環(huán)下滿足設定的診斷條件,正確地診斷出后處理部件的故障并順利激活MIL,滿足法規(guī)的要求。
圖8 整車轉鼓試驗臺
圖9 WLTC循環(huán)臨界TWC診斷過程
基于快速原型開發(fā)了汽油車TWC與GPF集成后處理OBD系統(tǒng)。系統(tǒng)的硬件以PXI平臺為基礎,根據(jù)測量要求選配各種I/O和通信板卡搭建而成;系統(tǒng)軟件的算法部分在Matlab/Simulink環(huán)境中開發(fā),包含了基于神經(jīng)網(wǎng)絡的診斷模型和基于狀態(tài)機的故障決策模型,下載到實時控制器運行;系統(tǒng)軟件的交互界面基于VeriStand進行設計,在PC端實現(xiàn)與實時控制器的數(shù)據(jù)傳輸、狀態(tài)監(jiān)測和參數(shù)修改。
通過臺架試驗對后處理OBD系統(tǒng)的基本診斷功能進行了驗證,試驗表明所開發(fā)的系統(tǒng)在穩(wěn)態(tài)工況下具有良好的故障診斷性能;通過整車轉鼓試驗對后處理OBD系統(tǒng)的診斷條件判斷模型和故障決策模型進行了邏輯驗證,試驗表明所開發(fā)的系統(tǒng)可以在WLTC循環(huán)中識別設定的診斷工況,做出正確的故障決策,滿足輕型汽油車國六法規(guī)的OBD技術要求。
后處理OBD系統(tǒng)結構緊湊,建模方便,效果直觀,提高了ECU OBD模塊的開發(fā)效率,降低了測試成本?;诳焖僭偷拈_發(fā)思路在未來更復雜的發(fā)動機系統(tǒng)中具有良好的應用前景。