文獻標識碼: A
文章編號: 0258-7998(2014)09-0014-03
目前,針對中重型車用柴油機尾氣的排放,主要有兩種技術(shù)路線,一是EGR(廢氣再循環(huán))+DPF(柴油顆粒捕捉)或DOC(氧化催化轉(zhuǎn)化);二是優(yōu)化燃燒+SCR(選擇催化還原)。SCR技術(shù)具有對硫不敏感、油耗低、技術(shù)可持續(xù)性好等優(yōu)點[1],我國普遍采用的是SCR技術(shù)。為了及時發(fā)現(xiàn)SCR系統(tǒng)存在的故障并提醒駕駛員,根據(jù)國家法規(guī)HJ437中規(guī)定,滿足國IV階段排放要求的車輛必須配備OBD(車載診斷)系統(tǒng),所以對OBD系統(tǒng)的研究具有實際應(yīng)用價值。
1 OBD診斷策略制定
汽車正常運行時,ECU的輸入、輸出信號的電壓值都有一定的變化范圍。當(dāng)某一信號超出了這一范圍,并且這一現(xiàn)象在一段時間內(nèi)不會消失時,ECU便判斷為這一部分出現(xiàn)故障[2]。本文設(shè)計的OBD模塊主要監(jiān)測對象有傳感器、執(zhí)行器、CAN通訊及NOX排放監(jiān)測等。
1.1 傳感器的診斷策略
傳感器包括尿素箱溫度及液位傳感器、添藍計量泵蓄壓腔和混合腔壓力傳感器、催化器前后溫度傳感器、NOX傳感器。
當(dāng)尿素箱內(nèi)的溫度低于-11 ℃,需對尿素進行加熱化冰處理。在OBD診斷過程中,若循環(huán)監(jiān)測傳感器輸出的電壓信號超出標定的上限值,報告溫度傳感器對電源短路故障;反之,報告對地短路故障。若兩次輸出的電壓信號差值大于標定值時,認為溫度傳感器存在信號不可信故障。
液位傳感器與溫度傳感器的診斷策略相似,不同之處在于若液位傳感器兩次輸出的電壓信號相等時,報告液位傳感器存在停滯故障。同時液位傳感器在OBD診斷過程中還要監(jiān)測尿素存量,當(dāng)液位低于10%時,點亮MIL(故障指示燈),發(fā)出尿素存量不足警告。
壓力傳感器用于監(jiān)測蓄壓腔和混合腔內(nèi)的壓力變化。催化器前后溫度傳感器用來測定催化器前后兩端溫度,確保催化器的反應(yīng)始終保持在合適的溫度范圍內(nèi)。其診斷策略跟尿素溫度傳感器類似,不再贅述。
NOX傳感器同樣安裝在催化器前后,主要用來測定排放的NOX濃度是否超過排放限值,也可以作為催化器是否老化,是否需要拆除的依據(jù)。本文所使用的NOX傳感器帶有自診斷的功能, NOX傳感器的故障都是通過CAN總線傳來的報文信息來辨別的。OBD系統(tǒng)對NOX傳感器的信號不合理故障的檢測貫穿于整個加熱過程中。在NOX傳感器自檢并確定無故障后,DCU便發(fā)送對NOX傳感器加熱的指令。在加熱的過程中,若沒有收到溫度信號但是已經(jīng)超過了加熱的最大時間限值,則報告NOX傳感器加熱信號不合理故障。
1.2 執(zhí)行器的診斷策略
執(zhí)行器包括尿素噴射閥和冷卻液加熱控制閥。
SCR系統(tǒng)在進行初始化后,計量泵進行建壓,若一段時間后檢測的壓力仍達不到標定值,需重復(fù)建壓,當(dāng)重建次數(shù)超過最大標定值,壓力仍達不到,則報告尿素噴射閥有常開故障。若壓力正常建立后,則噴射閥的占空比為標定值,若一段時間后監(jiān)測到壓力值高于標定值,則報告噴射閥有常閉故障。
化冰處理加熱至7℃停止,加熱過程中,若在標定時間內(nèi)檢測溫度仍低于下限溫度,則報告冷卻水加熱控制閥有常開故障;若加熱一段時間后溫度持續(xù)高于上限溫度,則報告冷卻水加熱控制閥有常閉故障。
1.3 CAN通訊診斷及NOX排放監(jiān)測診斷策略
OBD模塊實時檢測CAN總線通訊故障,若發(fā)生故障,則由CAN總線的硬件報出。OBD模塊還會周期性地檢測EEC1(發(fā)動機電控信息1)和AMB(環(huán)境狀態(tài))等相關(guān)的CAN總線信息,一旦檢測到錯誤,系統(tǒng)就會自動報錯。
OBD法規(guī)要求,與排放控制有關(guān)的發(fā)動機系統(tǒng)異常運轉(zhuǎn)應(yīng)通過對NOX排放水平進行監(jiān)測來確定。根據(jù)要求,NOX排放控制的限值分別為5.0 g/kwh和7.0 g/kwh。當(dāng)NOX排放量超過5.0 g/kwh時,激活MIL;當(dāng)NOX排放量超過7.0 g/kwh時,扭矩限制器起作用。
2 OBD模塊的整體設(shè)計
本文開發(fā)的OBD模塊是基于飛思卡爾MC9S12XET256單片機開發(fā)平臺[3],編程軟件采用的是Code Warrior IDE軟件。所設(shè)計的OBD模塊是嵌入到SCR電控單元(DCU)中的,其與發(fā)動機控制單元(ECU)上的OBD模塊分別控制各自的故障診斷。DCU將診斷的結(jié)果通過CAN總線廣播到網(wǎng)絡(luò)里,ECU根據(jù)接收到的故障情況和發(fā)動機實際運行狀況綜合判斷,來控制MIL或者扭矩限制器的激活與否[4]。OBD總體方案設(shè)計如圖1所示。
OBD模塊在SCR系統(tǒng)中完成的主要功能有信息采集、信息轉(zhuǎn)換、故障診斷、故障碼存儲及故障碼傳送。OBD模塊的基本框架如圖2所示。
圖2 OBD模塊的基本框架圖
3 基于CAN總線OBD模塊程序設(shè)計
根據(jù)J1939協(xié)議的規(guī)定,CAN報文信息主要在數(shù)據(jù)幀中,OBD監(jiān)測到系統(tǒng)出現(xiàn)故障要及時向CAN總線發(fā)送當(dāng)前故障信息,以通知總線上其他節(jié)點,故障信息都包含在DM1(當(dāng)前故障診斷代碼)中[5]。DM1包含的故障診斷信息僅僅是當(dāng)前情況下處于激活狀態(tài)并且可以改變故障指示燈狀態(tài)的故障代碼,所以DM1被傳輸?shù)那疤峋褪且蠨TC(故障診斷碼)成為激活的故障碼。每個DM1的更新周期為1 s,如果故障激活的時間大于1 s,然后又變?yōu)椴患せ顮顟B(tài),則應(yīng)傳輸DM1消息來反應(yīng)這種狀態(tài)的改變,DM1的SPN為0xFECA。
DTC由四部分組成:SPN,可疑參數(shù)編號,是用以識別特定的元素組件或與ECU相關(guān)的參數(shù);FMI,故障模式標志,定義了為SPN所識別的子系統(tǒng)中發(fā)現(xiàn)的故障類型;OC,發(fā)生次數(shù),包括了一個故障從先前激活狀態(tài)到激活狀態(tài)的變化次數(shù),最大值為126;CM,SPN的轉(zhuǎn)化方式,一般來說,CM=0。
本文針對監(jiān)測對象定義了以下故障信息,如表1所示,現(xiàn)舉例說明DM1的組成。假設(shè)一個尿素箱溫度傳感器發(fā)生對地短路故障,在表1中可以看出SPN=3031,F(xiàn)MI=4;此時假設(shè)故障發(fā)生了一次,則OC=1,CM=0,點亮故障指示燈為0x40,則根據(jù)表2可得DTC=0xD70B0401,DM1報文內(nèi)容則為0x4000D70B0401FFFF。
若需發(fā)送的故障信息小于8 B,則DM1在一幀CAN數(shù)據(jù)中傳送時采用單包模式,更新周期為1 s,若需要發(fā)送包含兩個以上故障的當(dāng)前故障信息時,單幀CAN報文就不足以容納全部的信息了,此時需要采用多包發(fā)送模式。
當(dāng)使用多包模式發(fā)送DM1時,就不能像單幀DM1那樣發(fā)送,而需要遵循J1939協(xié)議[6]。按照規(guī)定的傳輸協(xié)議進行發(fā)送,發(fā)送分為兩個步驟:
(1)發(fā)送一條連接管理消息(PGN=0xEC00),公告要發(fā)送一條廣播消息(BAM),目標地址為全局目標地址,作為一個長消息預(yù)告發(fā)送給網(wǎng)絡(luò)上的節(jié)點。BAM消息包含了即將廣播的長消息的參數(shù)組編號、消息大小和它被拆裝的數(shù)據(jù)包的數(shù)目,具體格式如表2所示。
(2)將數(shù)據(jù)拆分打包,并通過數(shù)條數(shù)據(jù)傳送消息(PGN=0xEB00)發(fā)送,發(fā)送周期為50 ms。每一數(shù)據(jù)包的第一字節(jié)內(nèi)容為數(shù)據(jù)包序列號和燈的狀態(tài)信息,所有的DTC依次排列在后續(xù)的字節(jié)當(dāng)中。當(dāng)最后一個數(shù)據(jù)包不足8 B數(shù)據(jù)時,沒使用的字節(jié)均以0xFF填充,多包DM1中DTC解析方法與單包DM1一致。
4 CANoe-MATLAB/Simulink聯(lián)合仿真驗證
為了驗證所開發(fā)的OBD模塊是否滿足要求并完善OBD模塊的程序設(shè)計,必須進行試驗驗證。而一般的試驗驗證不可能人為地制造出所有的故障,因為有些傳感器是集成在計量泵內(nèi)部的,如果加以破壞,勢必影響計量泵本身的性能,而且增加了試驗成本。針對這種情況,本文設(shè)計了基于CANoe-MATLAB/Simulink聯(lián)合仿真驗證[7],充分結(jié)合了CANoe中的總線仿真優(yōu)勢和MATLAB/Simulink構(gòu)建復(fù)雜功能模型的優(yōu)勢。
4.1 仿真模型建立
利用CANoe建立總線網(wǎng)絡(luò),并在總線網(wǎng)絡(luò)上建立相關(guān)的節(jié)點。為了配合所設(shè)計的OBD模塊仿真,本文建立了EMS(發(fā)動機控制單元)、UDS(計量泵單元)、DCU(SCR電子控制單元)、Control Panel(監(jiān)控面板)4個節(jié)點,如圖3所示。
建立完網(wǎng)絡(luò)節(jié)點后,利用CANdb++進行整個系統(tǒng)數(shù)據(jù)庫的建立,包括信號、環(huán)境變量、報文的建立等并關(guān)聯(lián)。然后利用PanelEditor對控制面板進行設(shè)計,并和剛剛創(chuàng)建的數(shù)據(jù)庫進行關(guān)聯(lián)。創(chuàng)建的OBD控制面板如圖4所示。之后用CAPL語言對節(jié)點和測試環(huán)境進行編程設(shè)計,用來控制節(jié)點動作。最后根據(jù)仿真需要修改系統(tǒng)參數(shù)。
4.2 OBD仿真分析
故障分單個故障和多個故障,基于CANoe的Diagnostic和DTC Monitor工具跟蹤和觀察了發(fā)生單個和多個故障時的情形。圖5為單個故障發(fā)生的仿真過程。單擊OBD控制面板上溫度傳感器短路后的OK鍵,單個故障發(fā)生,從DTC Monitor上可以看出UDS節(jié)點上出現(xiàn)了紅點閃爍,UDS節(jié)點向CAN總線發(fā)送單包故障信息DM1(PGN=0xFECA),通知其他節(jié)點發(fā)生故障的節(jié)點及類型。下面列出出現(xiàn)錯誤的節(jié)點為UDS:SPN=0x7F5FD、OC=1、FMI為“Voltage below normal(電壓低于正常值)”故障。此時,車上的OBD系統(tǒng)監(jiān)測到有故障發(fā)生,點亮MIL。
圖6為多個故障的仿真過程,依次點擊OBD控制面板上液位傳感器開路和催化器后溫度后的OK鍵,同時產(chǎn)生兩個故障,DCU和UDS節(jié)點同時出現(xiàn)紅點閃爍。兩個節(jié)點向CAN總線發(fā)送多包故障信息,首先發(fā)送一條連接管理消息(PGN=0xEC00),公告要發(fā)送一條廣播消息(BAM),預(yù)告其他的節(jié)點。然后將數(shù)據(jù)拆分打包,分多條消息進行傳送(PGN=0xEB00)。然后通知其他節(jié)點發(fā)生故障的節(jié)點及類型,車上的OBD系統(tǒng)監(jiān)測到故障,點亮MIL。
由以上的仿真過程可以看出,該模型很好地模擬了OBD的診斷過程,從而說明了制定的OBD診斷策略及設(shè)計的程序的正確性,可以對SCR系統(tǒng)中所出現(xiàn)的故障進行診斷并能及時地把診斷的結(jié)果通過CAN總線發(fā)給DCU,控制點亮MIL。該仿真結(jié)果對程序設(shè)計的完善也具有指導(dǎo)意義。
對OBD模塊制定了診斷策略并進行了總體的設(shè)計,基于飛思卡爾MC9S12XET256單片機對OBD進行了程序設(shè)計,為了驗證制定的診斷策略及程序設(shè)計的合理性,基于Simulink建立了OBD仿真模型,對SCR系統(tǒng)中OBD的工作過程進行了聯(lián)合仿真,結(jié)果表明建立的模型可以模擬OBD診斷過程,驗證了制定的OBD診斷策略及程序設(shè)計的正確性,并根據(jù)仿真結(jié)果完善了程序設(shè)計。
參考文獻
[1] SITSHEBO S,TSOLAKIS A,THEINNOI K.Promoting hydrocarbon-SCR of NOx in diesel engine exhaust by hydrogen and fuel reforming[J].International Journal of Hydrogen Energy,2009,34(18):7842-7850.
[2] 戴耀輝,于建國.汽車檢測與故障診斷[M].北京:機械工業(yè)出版社,2007.
[3] MC9S12XET256開發(fā)平臺實驗指導(dǎo)手冊[EB/OL](2011-10)[2014-05].http://fxfreefly.taobao.com.
[4] 張偉,徐正飛,鄧成林,等.柴油機SCR系統(tǒng)OBD功能的診斷策略研究[J].汽車工程,2011,33(1):23-25.
[5] 代妮娜,蔡黎,邱剛,等.一種新型汽車OBD信息無線發(fā)射機設(shè)計[J].電子技術(shù)應(yīng)用,2012,38(11):97-99.
[6] SAE J1939/73,SAE J1939 protocol part 7-3:application layer-diagnostics[S].2006,9.
[7] 李頂根,曹晶,張杰.基于CANoe_Matlab的車輛CAN總線的聯(lián)合仿真[J].計算機原理,2009(11):57-61.