霍亮生,鮑曉東,薛 遲
(1.北京工商大學機械工程學院,2.北京工業職業技術學院,北京 100048)
發動機ECU是發動機電子控制單元的簡稱[1]。ECU的功用是根據其內部存儲的程序和數據對空氣流量計等各種傳感器輸入的信息進行運算、處理、判斷,然后輸出指令,向火花塞輸出適時的點火控制信號以及向噴油器提供一定寬度的電脈沖信號以控制噴油量。ECU由微處理器、輸入、輸出及控制電路等組成。
ECU(Electronic Control Unit)電子控制單元,又稱“行車電腦”、“車載電腦”等。從用途上看是汽車專用微機控制器,也叫汽車專用單片機。它和普通的單片機一樣,由微處理器(CPU)、存儲器(ROM 、RAM)、輸入/輸出接口(I/O)、模數轉換器(A/D)以及整形、驅動等大規模集成電路組成[2]。
汽車電腦作為控制系統的核心,在硬件結構上分為三個部分,即外部傳感器、汽車電腦(ECU)和執行機構。外部傳感器一般包括曲軸位置傳感器、冷卻液溫度傳感器、進氣溫度傳感器、空氣流量計、節氣門位置傳感器、氧傳感器、爆燃傳感器等。執行器主要有噴油系統和點火系統。
在研究開發ECU控制系統時,需要經常對其進行測試,需要和發動機聯接,并進行大范圍數值調節,進行在車試驗,這給ECU開發工作帶來很大不便。因此,需要一個開發平臺,能夠方便地代替真實發動機對ECU進行模擬測試,目前我國大部分研究單位使用國外的開發平臺。另外,在汽車維修過程中,會遇到判斷不清是ECU故障還是傳感器故障的問題,浪費了診斷時間。因此,我們開發了發動機ECU模擬測試系統,代替真實發動機產生車上傳感器的信號,并取得ECU的工作狀況數據。
發動機ECU測試系統可以根據需要模擬不同轉速下的曲軸位置信號、冷卻液溫度信號、進氣溫度信號、空氣流量信號、節氣門位置信號、氧傳感器信號等,并將這些信號輸入真車發動機ECU,再采集ECU輸出給執行器的信號并加以分析。
其信號模擬部分可用于汽車的故障檢測,在懷疑某個傳感器出現故障時,可用ECU模擬系統相關信號代替原傳感器信號,檢測故障是否消失,并判斷故障所在。此外,還可進行ECU工作狀況的檢查以及學習ECU在發動機不同工況下對噴油和點火的控制方式。
發動機ECU測試系統主要對發動機曲軸位置、凸輪軸位置、進氣溫度、空氣流量、冷卻液溫度以及節氣門位置等傳感器信號進行模擬,測試 ECU輸出的點火和噴油器信號,從而判斷 ECU工作正常與否。
控制器由飛思卡爾(Freescale)公司MC9S12DG12微控制器擔任,該16位控制器擁有豐富的I/O接口以及SCISPIIIC等總線控制器,最高可達25 MHz的總線頻率,完全能夠滿足設計需要。
電磁式曲軸位置信號為頻率不同的模擬正弦信號,曲軸每轉一圈,有58個正弦波周期以及兩個消隱周期作為曲軸位置起始識別信號。此信號用DAC將MCU所發出的數字信號轉為模擬信號,通過運算放大器進行電壓匹配,緩沖后輸出到ECU控制單元相應引腳。
進氣溫度、空氣流量、冷卻液溫度以及節氣門位置傳感器信號均為連續變化的模擬信號,通過數控電位器進行模擬,既節省了處理器時間,又能保證信號穩定可靠。在工作過程中,節氣門位置、進氣溫度、冷卻液溫度等傳感器信號由上位機操作界面設定,經SCI串行端口發送到,模擬系統MCU接收此命令產生相應信號,并分別送發動機ECU。
由ECU產生的噴油脈寬及點火時刻信號,通過MCU定時捕捉采集整理,經串行端口傳至上位機顯示。這樣,在上位機設定節氣門開度以及進氣溫度等信號后,點擊“開始”,便可在上位機界面看到此時發動機的工作狀態(噴油時刻及脈寬,點火時刻等)。
發動機ECU輸入信號主要包括曲軸位置信號、冷卻液溫度信號、進氣溫度信號、空氣流量信號、節氣門位置信號、氧傳感器信號、爆燃信號等。
曲軸位置傳感器是發動機控制系統中用于準確檢測發動機的曲軸轉角,以得到發動機轉速的信號。曲軸位置傳感器按其形式可分為:霍爾效應式曲軸位置傳感器,磁電式曲軸位置傳感器,光電式曲軸位置傳感器。由于磁電式傳感器抗干擾能力強,可靠性高,安裝方便,被廣泛采用。本系統模擬桑塔納2000型轎車的電磁式曲軸位置傳感器[3],霍爾效應式和光電式傳感器的信號模擬更簡單些。
電磁式轉速及曲軸位置傳感器可分為上下兩部分:上部分為凸輪軸位置傳感器,由一個帶凸齒的G轉子和兩個感應線圈G1和G2組成,用以產生第一缸上止點基準信號(G信號);下部分為曲軸位置傳感器,由一個帶58個凸齒的Ne轉子和Ne感應線圈組成,用以產生曲軸轉角信號。G轉子是用以產生第一缸上止點基準信號的轉子,ECU據G1和G2確定第一缸上止點位置。Ne信號是曲軸每轉兩圈在Ne感應線圈中產生與Ne轉子凸齒數量相等的脈沖信號。ECU根據單位時間內收到的Ne信號確定發動機轉速。
空氣流量計、節氣門位置傳感器、氧傳感器等輸出為模擬電壓信號。如對于空氣流量計,不同的空氣流量將產生不同的電壓信號。對于節氣門位置傳感器,當節氣門開度增大時,電壓降低,節氣門開度減小時,電壓升高。氧傳感器用于控制發動機空燃比。在過量空氣系數值等于1時,傳感器的一側電極基露在大氣中于電解作用。這些離子透過電極并在電解質內遷移,這就像蓄電池一樣產生了電荷,電荷的多少取決于廢氣中的氧含量。當過量空氣系數等于1時,通常產生的信號電壓是400 mV。
發動機油路中汽油壓力是一定的。因此噴油器通電時,單位時間的噴油量是一定的。發動機一個工作循環噴油量,可通過噴油持續時間來控制。由于電噴發動機電子噴油嘴是通過電磁閥來控制開閉,而發動機轉速較高,噴油時間很短,噴油器響應快,因此ECU給出的噴油信號是一個很短暫的脈沖信號,這個信號的時間寬度就是噴油脈寬。如圖1所示。

圖1 噴油脈沖信號
發動機ECU連接點火線圈控制點火線圈初級繞組,初級繞組通電時,利用其電感存儲能量;斷開時,由于抵抗電流突變,產生極高反向感應,再通過點火線圈升壓,送火花塞產生點火信號。點火線圈初級繞組的通電時間為閉合角,控制點火線圈初級繞組的斷電時刻為點火提前角控制,如圖2所示。

圖2 點火脈沖信號
本系統的核心是MC9S12DG128,對外操作信號通過串行接口發送和接收。模擬信號的產生有兩種,穩定信號由數控電位器產生,瞬變信號由DAC電路產生,發動機 ECU 輸出的信號用MC9S12DG128的脈沖捕捉功能完成,如圖3所示。

圖3 系統電路的硬件結構原理
X95840是InterSil公司生產的低噪聲、低功耗、兩線制8位數控電位器。一個芯片集成了4個數控電位器,由A2 A1 A03位地址線進行通道選擇。X95840電路原理如圖4所示。

圖4 X95840電路原理圖
AD5624是Analog Device公司生產的12位數模轉換器,最高頻率可達5 MHz。一個芯片集成了4個通道的DA電路,由串行命令區分不同的通道。發動機ECU測試系統所擴展的AD5624原理如圖5所示。

圖5 AD5624原理圖
控制器程序的編寫和調試采用了MetroWorks公司的CodeWorrier4.7集成開發平臺。這款軟件可以支持多種語言的編輯、調試以及編譯下載等功能。
上位機通過SCI串口向MC9S12發送轉速及各傳感器數據,接收并分離這些數據到相應變量。由SPI模塊驅動AD5624產生曲軸位置信號,曲軸位置信號經轉速信號計算生產,每58個周期后跟隨兩個消隱周期。每60個周期凸輪軸位置傳感器信號變換一次。MC9S12的 IIC總線控制數控電位器,最多可產生8組電位信號。噴油信號和點火信號通過CPU的增強型定時器的輸入捕捉功能采集,并計算噴油周期和脈寬及點火周期等。這些數據再通過SCI傳至上位機。
由于通過軟件產生正弦波計算量過大,故用計算方法相對簡單的三角波代替正弦波。產生一個周期波形的程序如下(其中,s代表步長,它與所產生波形的頻率有關,s越大,波形頻率越低)。

循環執行后產生的三角波如圖6所示。
為了保證消隱周期的同步性,故采用了相同的算法,僅僅是DAC驅動時的賦值不變罷了。相關程序如下:



圖6 循環執行后產生的三角波
曲軸轉動一周包括58個正弦波信號和已經產生的2個消隱信號。通過程序將以上兩段程序整合,曲軸轉動一周的程序如下:

循環執行后產生的曲軸位置信號如圖7所示。
電位信號通過MC9S12的IIC模塊驅動X95840產生。

圖7 循環執行后產生的曲軸位置信號
8組電位信號由上位機傳至單片機,處理后,每一秒鐘刷新一次8組數控電位器,有效地減小了單片機負擔,又能滿足系統的實時性要求。
噴油和點火信號分別通過MC9S21微控制器IOC0和IOC1采集。IOC0設置為跳沿捕捉,可捕捉噴油信號的每一次跳變,再根據跳變時的電平狀態判斷出噴油的時間和空閑時間;IOC1用于采集上跳沿變化的點火信號。為數據準確,均取最近8次采集到數據的平均值。
筆者所開發的測試系統,經過對桑塔納2000型轎車的發動機ECU實驗證明,不僅該系統可以完全替代原車所有傳感器信號,能方便地將各種操作意圖經過操作界面傳遞到模擬測試系統,并得到發動機ECU各種工作狀況,從而正確判斷發動機ECU是否正常工作。此外還可用于發動機ECU研制階段系統調試工作,大大減少了研發成本,縮短了研發周期。
[1]寇國璦,楊生輝.汽車電器與電子控制系統[M].北京:人民交通出版社,1999.
[2]麻友良.汽車電路構成與閱讀理解[M].北京:人民交通出版社,2005.
[3]李憲民.桑塔納和桑塔納2000轎車的結構與維修[M].北京:機械工業出版社,2000.
[4]邵貝貝.單片機嵌入式應用的在線開發方法[M].北京:清華大學出版社,2004.