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