吳偉斌 李禮夫 洪添勝 羅彩茹 王 康
(華南農業大學工程學院1) 廣州 510642) (華南理工大學機械與汽車工程學院2) 廣州 510641)
國外電子控制單元(electronic control unit,ECU)硬件技術上,微控制器和微處理器、傳感器、執行器已非常成熟,還有專用集成電路[1-2];國內發動機ECU研究主要集中在高校和少數幾個公司[3-7].本文以四缸汽油機電控燃油噴射系統為研究對象,結合對燃油噴射系統組成與控制策略的全面分析,基于 Motorola 16位單片機MC9S12DP256,采用嵌入式C語言,完成了汽油機和CNG發動機電子控制單元ECU硬件設計,軟件設計與調試,并進行了初步的實驗研究.
電控單元硬件電路的設計包括微機系統、信號采集和信號調理電路、執行機構和驅動電路等,結構組成如圖1所示.
MC9S12DP256芯片是Motorola公司一款16位微處理器,主頻25MHz,片內集成256kB的閃存存儲器(Flash),4KB的EEPROM,12K的RAM,I/O的控制和擴展能力、抗干擾能力和適應能力比較強,同時集成了許多針對汽車電子功能的標準模塊,如2路串行通信接口(SCI),3路串行設備接口(SPI),8通道增強型捕捉定時器(ECT),2個8通道10字節的模數轉換器(ADC),8路脈寬調制器(PWM),5路總線通信(CAN)以及可轉作10路普通I/O輸人輸出口等.發動機電控系統的核心電路設計包括單片機最小系統包括電源電路,時鐘電路,復位電路,電源濾波電路,鎖相環濾波電路.
本文在電控單元原理機的開發中使用的發動機原配備電磁感應式曲軸位置傳感器,其輸出電壓的頻率和幅值隨轉速的變化而變化.曲軸位置傳感器的信號處理非常重要,而且精度要求高.電控單元根據該信息確定噴油時刻和點火時刻,以及發動機的轉速,如果失真將引起發動機工作混亂,此信號處理的技術難點有3個:(1)轉速脈沖信號的頻率變化比較大:0~6 000Hz;(2)轉速信號的幅值變化比較大:300mV~150V;(3)對應曲軸末端的靶輪圓周上均勻分布的(60-2)齒,控制單元需精確確定兩個缺齒的位置.

圖1 汽油發動機電控單元硬件結構框圖
根據曲軸位置信號的特性,針對上述技術難點,本文選用 ON Semiconductor公司的NCV7001信號處理芯片,搭配適當的外圍器件對信號進行濾波、限幅、比較整形等處理,將其轉化為3.3V電平的方波信號.
相位(凸輪軸位置)傳感器及信號處理電路與曲軸位置傳感器類似.
設計了基于CAN和串口的通信電路,排氣氧傳感器輸入信號處理電路和爆震傳感器輸入信號處理電路.
1)ECU外擴存儲單元設計 存儲單元型號是FM24C256,雙向兩線通信,軟件設計主要包括初始化、讀和寫3大部分.
2)怠速步進電機驅動電路 采用了 Motorola的SAA1042,該芯片內部集成了3個輸入級模塊,1個邏輯控制部分和2個輸出級模塊.
設計的電控單元原理機選用了飛思卡爾半導體的微控制器作為主控芯片,其編譯、調試工作在Freescale CodeWarrior集成開發環境下進行.
電控軟件劃分成3個基本部分:初始化、前景程序和背景程序.
前景程序中包括轉速信號采集、噴油點火及串行通信數據接收等中斷服務程序.曲軸位置及轉速信息對發動機電控系統具有極其重要的意義,當前景發生中斷沖突時,主芯片CPU應最先響應轉速信號引起的中斷,獲取最新的曲軸位置及轉速信息;而串行通信數據接收沒有特殊的實時性要求,其優先級可以排在點火、噴油控制輸出中斷的后面.
背景程序采用定時循環的設計模式,包括各模擬量的周期性A/D采集和變量換算,以及所有對實時性要求不嚴格的周期性計算過程,比如噴油脈寬和點火提前角的計算等.
1)系統主程序設計模塊 主程序是控制軟件的中心環節,包括控制系統通電后的初始化程序、發動機工況測定、判別和處理程序等.程序的初始化包括RAM區的初始化,各個特殊功能寄存器的初始化,I/O口的初始化以及堆棧指針的設定等等.主程序擔負判斷發動機各種運行工況的任務,根據發動機轉速和節氣門開度、節氣門開度變化率確定發動機的運行工況,并由此轉入相應的處理程序當中.主程序為一循環體,發動機運行時,只要沒有中斷請求,其一直在該循環體中運行.
2)數據采集與處理模塊 本系統在A/D轉換的數據處理之前,首先對信號采用了滑動平均濾波處理:把連續取得的N個采樣值看成一個隊列,采用先進先出(FIFO)的原則,將隊列數據前移一次,新的采樣值放入隊尾,并丟掉原隊首次數據.然后把隊列中的N個數據進行算術平均,可獲得新的濾波結果.滑動平均濾波的優點:對周期性干擾有良好的抑制作用,且每計算一次測量值,只需要采樣一次,數據處理速度快,非常適用于實時控制.
3)轉速計算模塊 ECU通過檢測曲軸位置傳感器得到齒輪信號.信號盤和曲軸是同步轉動的,得到信號盤的齒輪信號和曲軸的轉速,從而可以計算出發動機的轉速[8-9].對于齒輪信號的捕捉,是通過MC9S12系列單片機中的ECT模塊完成的.
4)查表插值模塊 本文對一維和二維數組采用的都是線性插值算法,該算法簡單快捷,且精度夠用.其中,對二維數組本文采用4點線性插值算法,其數學原理如下:在一個三維坐標網點模型中,已知4個相鄰點的坐標:(x1,y1,z11),(x1,y2,z12),(x2,y1,z21),(x2,y2,z22),一個未知點:(x,y,z).其中,x坐標值介于x1和x2之間,y坐標值介于y1和y2之間,z1,z2為2個中間量.與x和y對應的z值是需要進行插值才能得到的值.
試驗設備主要包括:(1)RIGOL公司DS1042C數字式示波器;(2)基于PXI的真實ECU在環仿真系統;(3)飛思卡爾16位單片機BDM調試器;(4)自主開發的ECU電路板;(5)PC機1臺,其他導線若干;(6)缺齒曲軸信號模擬器(自主開發);(7)點火提前器.
還自主研發出點火提前器,用于調節發動機獨立點火系統點火提前角.在輸入頻率300~3 000Hz,相位調節在60~150°下,絕對誤差為4°,相對誤差為最大為5%.
1)用飛思卡爾16位單片機BDM調試器下載目標程序到ECU電路板.
2)基于PXI的真實ECU在環仿真系統產生正弦信號和方波信號,用以模擬曲軸位置信號和凸輪軸位置信號.
3)用示波器觀察ECU輸出的噴油和點火脈沖波形.
4)使用串口線將ECU與PC機相連,打開ECU標定軟件,讀取ECU相關數據,包括進氣壓力、曲軸轉速等.
5)設定不同轉速,測試不同工況下的輸出波形,驗證ECU的基本功能,噴油和點火控制功能.
以工況曲軸轉速=1 000r/min,節氣門位置50%,進氣壓力80kPa為例.
1)噴油時間和點火時間控制實驗數據 模擬曲軸位置傳感器信號經過曲軸傳感器信號處理電路得到方波信號,能被單片機識別.凸輪軸信號周期是曲軸信號周期的120倍.用示波器觀察噴油和點火脈沖信號,如圖2為1缸噴油信號,圖3為1、4缸點火控制信號.圖2和圖3中的上部是噴油和點火信號,下部為曲軸傳感器信號.示波器顯示表明,當轉速為1 000r/min時,噴油脈寬為2.6ms,點火線圈通電時間為2ms.

圖2 1缸噴油脈沖信號

圖3 1、4缸點火控制信號
2)點火提前角實驗數據 1、4缸點火正時信號和曲軸信號如圖4所示.圖4中下面的曲線是曲軸信號,可以看到有個缺齒基準信號.壓縮沖程的上止點離基準信號120°,又因為1個齒寬代表6°,所以壓縮上止點離基準信號20個齒.點火時刻是在點火線圈通電后的斷開時刻,即點火信號的下降沿,如圖中標示.點火提前角為點火時刻至壓縮上止點中曲軸轉過的角度,在示波器中可以觀察出此時的點火提前角為23.34°CA.

圖4 1、4缸點火正時信號和曲軸信號
3)與上位機通信實驗 打開ECU標定軟件,讀取ECU相關數據,包括進氣壓力、進氣溫度、節氣門開度、冷卻液溫度、爆震信號電壓、曲軸轉速.ECU標定軟件界面(圖略),按讀取數據按鈕即可讀取一次ECU數據,也可以保存數據,格式為TXT文本格式.
1)噴油脈寬數據分析 實際寫入ECU的噴油MAP圖如表1所列,第一列的值為節氣門開度α,第一行的值為曲軸轉速n,其他值為噴油脈寬時間T,噴油時間由節氣門開度和曲軸轉速決定,通過線性插值的方法可以查找任意一個轉速和節氣門開度所對應的噴油脈寬時間.
根據表1的數據和線性插值算法,查找出不同節氣門開度和轉速對應的噴油時間如表2中的理論噴油時間所列,實驗數據和誤差分析見表2所列.

表1 噴油MAP數據

表2 噴油時間誤差分析
2)點火提前角數據分析 同理,查找出不同進氣壓力和轉速對應的點火提前角,實驗數據和誤差分析見表3所列.
由表2和表3的誤差分析數據可見,設計的ECU是能夠在不同工況下比較準確地控制噴油時間和點火提前角的,誤差均在5%的范圍內.
根據以上實驗數據分析可知,設計的ECU能實現對發動機噴油和點火控制,實現了ECU的基本功能,能與上位機互相通信,能采集發動機各傳感器的數據,也可以保存數據,下載EXCEL格式的MAP圖,實現ECU在線標定.

表3 點火提前角誤差分析
1)電控單元原理機的硬件設計基本滿足發動機電控系統的控制要求.傳感器信號處理采用10位ADC,一次轉換周期可達到7μs,最小分辨率為4.88mV;執行器驅動電路集成度高;微控制器工作頻率為24MHz.
2)電控單元原理機的軟件設計基本滿足控制要求.采用嵌入式C語言編寫,可讀性強;模塊化的軟件設計方法使得程序條理清晰、獨立性強.
3)試驗結果表明,基于曲軸信號和凸輪軸信號的控制邏輯能很好地滿足發動機工作的時序要求,實現分組同步點火、噴油等模塊的控制.噴油時間控制較為準確,精度達到0.01ms,誤差小于5%;點火提前角最小分辨率為0.01°CA,誤差小于5%.
4)自主研發出點火提前器,用于調節發動機獨立點火系統點火提前角,在輸入頻率300~3 000Hz,相位調節在60~150°下,絕對誤差為4°,相對誤差為最大為5%.
[1]Robert Bosch Gmbh.Knocking signal evaluation CC195[M].Stuttgart:Robert Bosch Gmbh,2006.
[2]Robert Bosch Gmbh.Sensor interface-CY30 [M].Stuttgart:Robert Bosch Gmbh,2006.
[3]肖 兵,胡 靜,羅 飛.6102LPG單燃料發動機智能電子控制單元的研制[J].內燃機工程,2007,28(3):20-24.
[4]蘇海峰,邊曉娜,馮國勝.基于DSP的發動機電子控制單元開發[J].河北師范大學學報:自然科學版,2007,31(4):475-478.
[5]李 珩,歐陽光耀.基于FPGA的高壓共軌柴油機ECU的硬件設[J].武漢理工大學學報:交通科學與工程版,2008,32(5):917-920.
[6]吳 鋒,賈岱潤,姚棟偉.電控汽油機點火提前角多目標優化方法研究[J].內燃機工程,2008,29(1):24-28.
[7]王財壽.汽油機電控單元原理機的研究[D].上海:上海交通大學機械與動力工程學院,2008.
[8]任玉琢.CNG和汽油兩用燃料發動機電控單元硬件研究[D].成都:電子科技大學機械電子工程學院,2007.
[9]萬一進.CNG/汽油兩用燃料發動機點火正時控制研究[D].長春:吉林大學交通學院,2007.