《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 柴油機SCR系統(tǒng)中OBD模塊的開發(fā)
柴油機SCR系統(tǒng)中OBD模塊的開發(fā)
2014年電子技術(shù)應(yīng)用第9期
劉 軍1,熊明路1,李 敏2
1.江蘇大學(xué) 汽車與交通工程學(xué)院,江蘇 鎮(zhèn)江212013; 2.濰柴動力股份有限公司,山東 濰坊261000
摘要: 依據(jù)OBD技術(shù)標準的要求,制定了OBD診斷策略,并對OBD進行了整體設(shè)計,然后通過飛思卡爾MC9S12XET256單片機對OBD模塊進行了程序設(shè)計,最后建立了CANoe和MATLAB/Simulink的仿真模型,對開發(fā)的OBD模塊進行了仿真驗證,仿真結(jié)果驗證了制定的OBD診斷策略及程序設(shè)計的正確性,并根據(jù)仿真結(jié)果完善了程序設(shè)計。
中圖分類號: TK421.5
文獻標識碼: A
文章編號: 0258-7998(2014)09-0014-03
Development of OBD module of SCR system of diesel engine
Liu Jun1,Xiong Minglu1,Li Min2
1.School of Automotive and Traffic Engineering,Jiangsu University, Zhenjiang 212013,China;2.Weichai power co.,Ltd.,Weifang 261000,China
Abstract: Referencing to the standard requirements of OBD technology,the OBD diagnosis strategy is made,and the programming for OBD module is given based on freescale MC9S12XET256. Finally, the simulation models of CANoe and MATLAB/Simulink are established, the emulation is carried on the OBD module. The result verifies the correctness of the diagnosis strategy and the programming. And the programming is improved based on simulation results.
Key words : SCR;OBD;diagnosis strategy;freescale MCU;co-simulation

  目前,針對中重型車用柴油機尾氣的排放,主要有兩種技術(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所示。

qrs4-t1.gif

    OBD模塊在SCR系統(tǒng)中完成的主要功能有信息采集、信息轉(zhuǎn)換、故障診斷、故障碼存儲及故障碼傳送。OBD模塊的基本框架如圖2所示。

qrs4-t2.gif

圖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。

qrs4-b1.gif

    若需發(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所示。

qrs4-b2.gif

    (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所示。

qrs4-t3.gif

    建立完網(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ù)。

qrs4-t4.gif

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。

qrs4-t5.gif

    圖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。

qrs4-t6.gif

   由以上的仿真過程可以看出,該模型很好地模擬了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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。