劉軍 王明遠(yuǎn) 董孝虎 周磊
(1.江蘇大學(xué),鎮(zhèn)江 212013;2.凱龍高科技股份有限公司,無(wú)錫 214177)
SCR系統(tǒng)中基于模型的電子控制系統(tǒng)軟件開發(fā)應(yīng)用*
劉軍1王明遠(yuǎn)1董孝虎2周磊1
(1.江蘇大學(xué),鎮(zhèn)江 212013;2.凱龍高科技股份有限公司,無(wú)錫 214177)
研究了SCR系統(tǒng)控制策略,利用MATLAB/Simulink建立了SCR系統(tǒng)控制算法模型并進(jìn)行了驗(yàn)證,借助Embedded Coder自動(dòng)代碼生成工具,實(shí)現(xiàn)算法模型至標(biāo)準(zhǔn)C代碼的生成。通過(guò)與底層程序集成,編譯下載至MC9S12XEP100控制器,進(jìn)行了臺(tái)架試驗(yàn)。試驗(yàn)結(jié)果表明,所開發(fā)的SCR系統(tǒng)軟件可以使發(fā)動(dòng)機(jī)滿足國(guó)Ⅴ排放標(biāo)準(zhǔn)。
選擇性催化還原(SCR)技術(shù)因其對(duì)燃油品質(zhì)要求不高、油耗低、技術(shù)可持續(xù)性好等優(yōu)點(diǎn),成為中重型柴油車后處理的主流技術(shù)[1]。SCR系統(tǒng)的核心在于其電子控制系統(tǒng),目前國(guó)內(nèi)技術(shù)還不夠成熟,與國(guó)外產(chǎn)品還有很大差距。因此,本文基于課題組所搭建的SCR系統(tǒng),進(jìn)行了基于模型的電子控制系統(tǒng)軟件開發(fā)。
基于模型的設(shè)計(jì)主要針對(duì)系統(tǒng)應(yīng)用層控制策略,即通過(guò)對(duì)系統(tǒng)應(yīng)用層算法策略建模進(jìn)行軟件設(shè)計(jì)的過(guò)程。本文基于模型的設(shè)計(jì)流程是基于MATLAB/Simulink,利用Embeded Coder生成C代碼,也可以使用TargetLink、ASCET等其它代碼生成工具。具體流程如圖1所示[2]。主要包括需求、設(shè)計(jì)與實(shí)現(xiàn)3個(gè)模塊,并且緊密關(guān)聯(lián)。確定需求后,Simulink/Stateflow平臺(tái)下搭建系統(tǒng)模型即可執(zhí)行技術(shù)規(guī)范;在設(shè)計(jì)階段,將檢查驗(yàn)證過(guò)后的模型進(jìn)行定點(diǎn)化處理,以方便生成的代碼在嵌入式系統(tǒng)中應(yīng)用;在實(shí)現(xiàn)階段利用Embeded Coder進(jìn)行代碼的自動(dòng)生成,同時(shí)可以選擇性的進(jìn)行軟件在環(huán)測(cè)試(SIL)、處理器在環(huán)測(cè)試(PIL)或硬件在環(huán)測(cè)試(HIL);最后進(jìn)行生成代碼與底層手寫代碼的集成,有條件可以使用PolySpace對(duì)最終代碼作靜態(tài)有效性檢查。
SCR系統(tǒng)的功能是在柴油機(jī)運(yùn)行過(guò)程中,通過(guò)供給裝置向排氣中噴入一定量(32.5%)的尿素水溶液,以此降低NOx排放。所以應(yīng)用層控制策略主要由尿素噴射量計(jì)算策略和尿素泵狀態(tài)轉(zhuǎn)換控制策略組成。
尿素噴射量計(jì)算是SCR控制系統(tǒng)的核心,與發(fā)動(dòng)機(jī)排放是否達(dá)標(biāo)密切相關(guān)。尿素噴射量計(jì)算策略主要包括尿素基本噴射量計(jì)算、穩(wěn)態(tài)修正策略、溫度修正策略和儲(chǔ)氨修正策略等。
圖1 基于模型的開發(fā)流程
尿素溶液的基本需求量的計(jì)算過(guò)程為:在發(fā)動(dòng)機(jī)排氣流量MAP和原機(jī)NOx排放MAP中,線性插值得到排氣流量和原機(jī)NOx體積濃度,以此來(lái)計(jì)算NOx質(zhì)量流量,公式如下:
式中,mNOx為NOx的質(zhì)量流量;m為排氣質(zhì)量流量;fNOx為NOx體積濃度;λ為NOx與排氣的摩爾質(zhì)量比。
一般NOx摩爾質(zhì)量取46 g/mol,排氣摩爾質(zhì)量取29 g/mol,也可以根據(jù)下游NOx傳感器輸出的O2濃度信號(hào)間接計(jì)算獲取[3]。
NH3的需求量為:
其中,mNH3為NH3的需求量;n1為轉(zhuǎn)換系數(shù),n1=0.37。
理想狀態(tài)下,1 mol的NH3與1mol的NOx完全反應(yīng)。一般在實(shí)際計(jì)算中用NO2的摩爾質(zhì)量來(lái)代替NOx的摩爾質(zhì)量,即17 g的NH3與46 g的NOx完全反應(yīng),從而求得化學(xué)計(jì)量因子n1。
尿素的基本需求量:
式中,M為尿素溶液的基本需求量;n2為NH3與尿素溶液需求量之間的質(zhì)量轉(zhuǎn)換系數(shù),取5.425。
由公式(1)~公式(3)聯(lián)立可得[4]:
穩(wěn)態(tài)修正策略是SCR系統(tǒng)在發(fā)動(dòng)機(jī)穩(wěn)態(tài)工況下,根據(jù)催化劑對(duì)NOx的轉(zhuǎn)化效率對(duì)基本噴射量進(jìn)行的修正。理想狀態(tài)下,NOx與NH3按照1∶1的比例反應(yīng)。但實(shí)際情況中,催化劑的催化特性主要受到排氣溫度和排氣空速的影響,在一定溫度區(qū)間內(nèi),溫度越高,催化劑活性越好,反應(yīng)越徹底;而空速越大,NH3停留在催化劑中的時(shí)間越短,越不利于與NOx反應(yīng)[5]。
因此在得到尿素溶液基本噴射量的基礎(chǔ)上,需要根據(jù)催化劑對(duì)NOx的轉(zhuǎn)化效率MAP線性插值得到催化劑轉(zhuǎn)化效率,乘以理論噴射量得到穩(wěn)態(tài)修正后的尿素溶液噴射量。催化劑轉(zhuǎn)化效率MAP要標(biāo)定合理,若轉(zhuǎn)化效率標(biāo)定過(guò)低,NOx排放達(dá)不到要求,過(guò)高則容易發(fā)生氨泄漏。一般在發(fā)動(dòng)機(jī)試驗(yàn)標(biāo)定時(shí),手動(dòng)控制調(diào)節(jié)尿素溶液噴射量,以10-6的氨泄漏為限制,試驗(yàn)獲取催化劑轉(zhuǎn)化效率MAP圖。
在穩(wěn)態(tài)工況中,只考慮了發(fā)動(dòng)機(jī)系統(tǒng)各參數(shù),如轉(zhuǎn)速、扭矩、催化器溫度等均達(dá)到穩(wěn)定的情形,但是發(fā)動(dòng)機(jī)在過(guò)渡過(guò)程中具有不確定性,當(dāng)負(fù)載突然增加或突然減小時(shí),由于催化器載體等有一定熱容,催化器溫度不會(huì)突然發(fā)生較大變化,而是緩慢增減到穩(wěn)態(tài)工況對(duì)應(yīng)的溫度值。穩(wěn)態(tài)修正只根據(jù)穩(wěn)態(tài)工況下的溫度計(jì)算噴射量,因此需要進(jìn)行瞬態(tài)修正[4]。
根據(jù)發(fā)動(dòng)機(jī)轉(zhuǎn)速和循環(huán)噴油量,在發(fā)動(dòng)機(jī)排溫MAP中線性插值得到此工況發(fā)動(dòng)機(jī)排氣溫度,得到排氣溫度后與催化器溫度模塊計(jì)算的溫度值進(jìn)行比較,得到溫度差,溫度差和溫度模塊計(jì)算得到的溫度值在溫度修正MAP中線性插值得到溫度修正系數(shù),如圖2所示。溫度修正后的尿素溶液噴射量可以由穩(wěn)態(tài)修正后的噴射量乘以當(dāng)前溫度修正系數(shù)得到。
圖2 溫度修正系數(shù)
應(yīng)用SCR技術(shù)控制NOx排放水平低于國(guó)Ⅴ標(biāo)準(zhǔn),通常采用基于NOx傳感器或NH3傳感器的閉環(huán)控制或是基于儲(chǔ)氨模型的控制策略,前者通過(guò)SCR出口處的NOx或NH3排放值來(lái)動(dòng)態(tài)調(diào)節(jié)尿素噴射量,從而滿足排放法規(guī)和氨氣泄露要求。這種控制方式的好處是可以消除系統(tǒng)誤差及催化器老化的影響,缺點(diǎn)是NOx傳感器對(duì)NH3有交叉敏感性,而NH3傳感器還在試驗(yàn)研究階段,沒能實(shí)現(xiàn)量產(chǎn)。基于儲(chǔ)氨模型控制的方式相對(duì)計(jì)算較大,但是通過(guò)對(duì)催化劑儲(chǔ)氨能力的標(biāo)定,可以避開復(fù)雜的控制系統(tǒng)。
SCR系統(tǒng)的特點(diǎn)是催化器可以存儲(chǔ)容納一定量的氨氣。其儲(chǔ)氨能力主要與溫度和空速有關(guān),溫度越低,空速越小,儲(chǔ)氨能力越強(qiáng)[5]。儲(chǔ)氨修正的基本思路是控制當(dāng)前工況下催化器的氨存儲(chǔ)量在安全限值附近,當(dāng)其低于氨存儲(chǔ)量安全限值時(shí)通過(guò)增大噴射量來(lái)增加氨存儲(chǔ)量,當(dāng)其高于氨存儲(chǔ)量安全限值時(shí)通過(guò)減小噴射量來(lái)降低氨存儲(chǔ)量。安全限值可以通過(guò)該工況下NH3的飽和存儲(chǔ)量乘以一個(gè)小于1的系數(shù)得到。催化器中的氨存儲(chǔ)量等于本周期內(nèi)的氨加入量減去本周期內(nèi)的氨消耗量,再加上個(gè)噴射周期結(jié)束時(shí)的氨存儲(chǔ)量。由于氨泄漏量非常小甚至沒有,因此計(jì)算中可以忽略氨泄漏量。最后根據(jù)此工況氨存儲(chǔ)量與安全限制比較進(jìn)行修正,得到最終的需求噴射量。
尿素泵是SCR系統(tǒng)最主要的供給部件,主要有Init狀態(tài)、Pump off狀態(tài)、Priming狀態(tài)、Dosing狀態(tài)和Purging狀態(tài)5個(gè)工作狀態(tài)。在系統(tǒng)運(yùn)行過(guò)程中尿素泵根據(jù)鑰匙電、請(qǐng)求狀態(tài)等各種輸入信號(hào)進(jìn)行狀態(tài)轉(zhuǎn)換控制。轉(zhuǎn)換過(guò)程相對(duì)比較復(fù)雜,而Simulink中的Stateflow模塊在狀態(tài)控制方面有很大優(yōu)勢(shì),因此基于Stateflow建立了尿素泵狀態(tài)轉(zhuǎn)換控制模型,如圖3所示。
圖3 尿素泵控制策略模型
系統(tǒng)上電后尿素泵首先進(jìn)入初始化狀態(tài),配置初始化芯片及各端口寄存器,然后根據(jù)尿素泵請(qǐng)求狀態(tài)(Req)、鑰匙開關(guān)信號(hào)(Key)、故障標(biāo)志(OBD_Flg)值和壓力開關(guān)AD(PressureAD)等信息進(jìn)行狀態(tài)轉(zhuǎn)換。雙擊Priming狀態(tài)圖,如圖4所示。在狀態(tài)圖中可以很方便地進(jìn)行尿素泵建壓的流程控制設(shè)計(jì),圖中為仿真及觀測(cè)方便將一些標(biāo)定量取真實(shí)數(shù)值代替,如預(yù)注建壓狀態(tài)下各時(shí)間段閾值,也將一些信號(hào)參數(shù)名進(jìn)行了簡(jiǎn)化。同時(shí)為了方便與底層驅(qū)動(dòng)關(guān)聯(lián),利用Stateflow調(diào)用了飛思卡爾MC9S12XEP100控制器底層驅(qū)動(dòng)程序文件。
尿素泵仿真結(jié)果如圖5所示,其中,SCR_stAct為系統(tǒng)當(dāng)前狀態(tài),SCR_Req為系統(tǒng)請(qǐng)求狀態(tài),SCR_Key為鑰匙電信號(hào),OBD_Flg為故障標(biāo)志位,PressureAD為壓力開關(guān)AD值。上電后尿素泵首先進(jìn)入Pump off狀態(tài)。當(dāng)請(qǐng)求Dosing命令時(shí),尿素泵開始預(yù)注建壓,即當(dāng)前狀態(tài)為Priming狀態(tài),同時(shí)系統(tǒng)判斷建壓是否成功,當(dāng)壓力開關(guān)AD值到達(dá)一定閾值時(shí),系統(tǒng)自動(dòng)進(jìn)入Dosing狀態(tài)。在Dosing狀態(tài),如果系統(tǒng)請(qǐng)求Pump off或故障標(biāo)志位置1或鑰匙下電,系統(tǒng)當(dāng)前狀態(tài)會(huì)進(jìn)入Purging,吹掃結(jié)束后進(jìn)入Pump off狀態(tài)。當(dāng)鑰匙下電或故障位置1,系統(tǒng)對(duì)請(qǐng)求的命令不予響應(yīng),仍處于Pump off狀態(tài)。當(dāng)恢復(fù)鑰匙電或故障位置零時(shí),系統(tǒng)可以響應(yīng)系統(tǒng)請(qǐng)求命令。從仿真圖中可以看出,利用Stateflow搭建的尿素泵控制策略可以根據(jù)輸入進(jìn)行準(zhǔn)確的狀態(tài)轉(zhuǎn)換。
圖4 建壓控制流程
圖5 尿素泵仿真結(jié)果
在基于模型的設(shè)計(jì)流程中代碼可由前期仿真驗(yàn)證過(guò)后的模型自動(dòng)生成。Simulink生成代碼的流程如圖6所示[6]。
圖6 Simulink自動(dòng)生成代碼的流程
策略模型搭建完成后,進(jìn)行運(yùn)行仿真,還需要使用Model Advisor檢查模型中的設(shè)置是否會(huì)導(dǎo)致生成的代碼無(wú)效或不符合MISAR、MAAB等標(biāo)準(zhǔn)規(guī)范,根據(jù)檢查報(bào)告,可以對(duì)模型進(jìn)行修改,使其滿足規(guī)范。模型檢查滿足規(guī)范后,可以利用Simulink Design Verifier自動(dòng)生成測(cè)試用例進(jìn)行模型的驗(yàn)證或手工添加設(shè)計(jì)測(cè)試用例進(jìn)行驗(yàn)證。
經(jīng)過(guò)模型仿真、檢查和驗(yàn)證,可以基本確定模型的可行性,接著需要進(jìn)行模型的定點(diǎn)化。定點(diǎn)化可以通過(guò)人工手動(dòng)定標(biāo),也可以借助Fix-Point Advisor工具箱自動(dòng)定標(biāo),定標(biāo)完成后還可以使用Fix-Point Tool對(duì)定標(biāo)的數(shù)據(jù)進(jìn)行優(yōu)化。
模型定點(diǎn)化完成后就可以進(jìn)行代碼的自動(dòng)生成以及相關(guān)的在環(huán)測(cè)試。代碼生成最重要的工作是數(shù)據(jù)管理,同時(shí)需要對(duì)模型的Configuration Parameters進(jìn)行相關(guān)配置,如系統(tǒng)目標(biāo)文件System target file需要選擇為ert.tlc,解算器選擇固定步長(zhǎng)等,也可以使用Generation Advisor進(jìn)行快速配置。
通過(guò)比較控制算法的模型仿真與生成的代碼仿真對(duì)比,可以有效校驗(yàn)Simulink生成的代碼在執(zhí)行上是否與模型一致。對(duì)SCR系統(tǒng)尿素噴射量模型的仿真對(duì)比可以看出,生成的代碼與模型的仿真沒有誤差。
將Simulink/Embeded Coder生成的應(yīng)用層控制策略代碼與底層驅(qū)動(dòng)程序集成,編譯下載至飛思卡爾MC9S12XEP100控制器中,對(duì)基于模型的設(shè)計(jì)開發(fā)控制策略進(jìn)行了驗(yàn)證。
SCR系統(tǒng)控制策略搭建完成后首先對(duì)尿素泵的功能進(jìn)行驗(yàn)證。在實(shí)驗(yàn)室中以水溶液代替尿素溶液,在CANoe中建立DCU節(jié)點(diǎn)對(duì)尿素泵的功能性進(jìn)行試驗(yàn)驗(yàn)證。試驗(yàn)結(jié)果可以看出,尿素泵可以很好的完成控制狀態(tài)的轉(zhuǎn)換,試驗(yàn)結(jié)果與仿真結(jié)果表現(xiàn)一致,表明MBD流程開發(fā)的尿素泵狀態(tài)轉(zhuǎn)換控制策略可以滿足系統(tǒng)需求。
驗(yàn)證尿素泵的功能后,對(duì)所開發(fā)的SCR控制系統(tǒng)進(jìn)行了臺(tái)架排放試驗(yàn)。試驗(yàn)設(shè)備主要由發(fā)動(dòng)機(jī)、控制柜、測(cè)功機(jī)、尾氣分析儀、催化消聲器、尿素泵、尿素箱、計(jì)算機(jī)及線束傳感器等組成。
國(guó)Ⅴ法規(guī)要求NOx限值為2.0 g/kW·h,經(jīng)計(jì)算本試驗(yàn)NOx比排放為1.606 g/kW·h。ESC試驗(yàn)結(jié)果表明(見圖7),基于模型設(shè)計(jì)開發(fā)的上層控制策略能夠較好地控制SCR系統(tǒng),使某配套柴油發(fā)動(dòng)機(jī)的排放滿足國(guó)Ⅴ階段ESC標(biāo)準(zhǔn)。
圖7 ESC工況測(cè)試結(jié)果
ETC測(cè)試工況由城區(qū)行駛工況、鄉(xiāng)村行駛工況和高速公路行駛工況3種不同的行駛工況組成,是逐秒變化的瞬態(tài)工況。測(cè)試循環(huán)的每部分長(zhǎng)600 s,循環(huán)總長(zhǎng)為1 800 s。通過(guò)催化器前和催化器后NOx排放對(duì)比可以看出,運(yùn)用基于模型的設(shè)計(jì)開發(fā)的SCR系統(tǒng)程序可以較好地控制NOx排放;經(jīng)計(jì)算NOx最終的排放值為1.527 g/kW·h,滿足國(guó)Ⅴ排放ETC標(biāo)準(zhǔn)。
本文以基于模型的設(shè)計(jì)為基礎(chǔ),研究了SCR系統(tǒng)控制策略,利用MATLAB/Simulink建立了相應(yīng)的控制模型,經(jīng)仿真驗(yàn)證后生成代碼,并于底層代碼集成編譯下載到控制器。試驗(yàn)表明,所開發(fā)的SCR系統(tǒng)軟件可以使發(fā)動(dòng)機(jī)滿足國(guó)Ⅴ排放標(biāo)準(zhǔn)?;谀P偷脑O(shè)計(jì)縮短了產(chǎn)品的開發(fā)周期,降低了產(chǎn)品研發(fā)成本,是一種快速可行的軟件開發(fā)方法。
1 Hirata K,Masaki N,Ueno H,et al.Development of Urea-SCR System for Heavy-Duty Commercial Vehicles[R].SAE Technical Paper,2005.
2 劉杰.基于模型的設(shè)計(jì)及嵌入式實(shí)現(xiàn).北京:北京航空航天大學(xué)出版社,2011.
3 劉傳寶.柴油機(jī)氨基SCR系統(tǒng)控制策略與匹配研究[D].武漢理工大學(xué),2013.
4 劉軍,李敏,秦國(guó)振.柴油機(jī)選擇催化還原系統(tǒng)的DCU控制研究[J].汽車技術(shù),2013,(01):12-14+19.
5 趙彥光.柴油機(jī)SCR技術(shù)尿素噴霧熱分解及氨存儲(chǔ)特性的試驗(yàn)研究[D].清華大學(xué),2012.
6 孫忠瀟.Simulink仿真及代碼生成技術(shù)入門到精通.北京:北京航空航天大學(xué)出版社,2015.
Development and Application of Model Based Electronic Control Software of SCR System
Liu Jun1,Wang Mingyuan1,Dong Xiaohu2,Zhou Lei1
(1.Jiangsu University,Zhenjiang,212013;2.Kailong Hi-tech Co.,Ltd,Wuxi,214177)
The control strategy of SCR system was researched,the control algorithm model of SCR system was established and verified by MATLAB/Simulink,and with the aid of Embedded Coder automatic code generation tool,the standard C code was generated from the algorithm model.The generated code was integrated with the underlying program,compiled and downloaded to the MC9S12XEP100 controller for the engine bench testing.The experimental results show that the developed SCR system software can help the engine to meet China V emission standard.
SCR system,Model based design,Strategy,Code generation
SCR系統(tǒng) 基于模型的設(shè)計(jì) 策略 代碼生成
U464.134 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1000-3703(2017)12-0039-04
江蘇省科技成果轉(zhuǎn)化專項(xiàng)資金項(xiàng)目(BA2012045)。
(責(zé)任編輯簾 青)
修改稿收到日期為2017年10月5日。