- 發(fā)動機ECU測試系統的開發(fā)
- 系統硬件設計
- 系統軟件設計
- 發(fā)動機在運行時采集各傳感器的信號
- 使用MSComm通信控件
電子控制單元ECU(Electronic Control Unit),又稱“行車電腦”、“車載電腦”等。從用途上講則是汽車專用微機控制器,也叫汽車專用單片機。它和普通的單片機一樣,由微處理器(CPU)、存儲器(ROM、RAM)、輸入,輸出接口(I/O)、模數轉換器(A/D)以及整形、驅動等大規(guī)模集成電路組成。
電子控制單元的功用是根據其內存的程序和數據對空氣流量計及各種傳感器輸入的信息進行運算、處理、判斷,然后輸出指令,向噴油器提供一定寬度的電脈沖信號以控制噴油量。電控單元由微型計算機、輸入、輸出及控制電路等組成。
在電子控制單元中CPU是核心部分,它具有運算與控制的功能,發(fā)動機在運行時,它采集各傳感器的信號,進行運算,并將運算的結果轉變?yōu)榭刂菩盘?,控制被控對象的工作。它還實行對存儲器(ROM、RAM)、輸入/輸出接口(I/O)和其它外部電路的控制;存儲器ROM中存放的程序是經過精確計算和大量實驗取的數據為基礎,這個固有程序在發(fā)動機工作時,不斷地與采集來的各傳感器的信號進行比較和計算。把比較和計算的結果控制發(fā)動機的點火、空燃比、怠速、廢氣再循環(huán)等多項參數的控制。
電子控制單元是汽車發(fā)動機的核心部件,其軟硬件的可靠性將直接影響發(fā)動機運行的穩(wěn)定性、排放性和車輛行駛的安全性,因此,ECU的性能檢測至關重要。ECU的檢測系統是將計算機仿真技術與汽車檢測技術相結合,實現發(fā)動機ECU工作環(huán)境的仿真模擬以及各輸出信號的采集與分析。
其信號模擬部分可用于汽車的故障檢測,在懷疑某個傳感器出現故障時,可用ECU模擬系統相關信號代替原傳感器信號,檢測故障是否消失,并判斷故障所在。此外,還可進行ECU工作狀況的檢查以及學習ECU在發(fā)動機不同工況下對噴油和點火的控制方式。
1 系統硬件設計
發(fā)動機ECU測試系統可以根據需要模擬不同轉速下的曲軸位置信號,冷卻液溫度信號、進氣溫度信號、空氣流量信號、節(jié)氣門位置信號、氧傳感器信號等,并將這些信號輸入真車發(fā)動機ECU,再采集ECU輸出給執(zhí)行器的信號并加以分析。如圖1所示。
電源管理電路需產生+5 V以及±12 V穩(wěn)定電壓,為降低成本電源部分采用線性工頻變壓器,輸出端分別經LM7812、LM7805和LM7912分別將電壓穩(wěn)壓至+12V、+5V和-12V。
數控電位器采用的是X95840,它是InterSil公司出產的低噪聲、低功耗、兩線制8位數控電位器。DAC變換器采用的是AD5624,它是Anal-og Device公司12位效模轉換器,最高頻率可達5 MHz。運算放大器采用的是AD824,它是將DAC輸出的四路0~5 V電壓放大至-12~+12 V。
系統產生的信號需要經過電平變換,轉換成RS-232電平,與計算機通信。這里采用MAX3232為核心電平變換電路。其原理圖如圖2所示。
2 系統軟件設計
本系統的編寫和調試采用的是Microsoft公司的VisualC++軟件。Visual C++因其擁有方便易用的AppWizard、ClassWizard和豐富的可視化資源編輯工具,成為人機對話界面設計中使用最廣泛的平臺之一。Visual C++擁有強大的集成開發(fā)環(huán)境,在此環(huán)境中用戶可以方便的進行項目管理、編寫C++源程序、編譯、改錯,更重要的是,Visual C++還提供了一套MFC(Microsoft Foundation Classes)的程序類庫。
[page]
其控制流程如圖3所示。
2.1 信號模擬
信號模擬是為發(fā)動機ECU產生各種必要的模擬信號,這些信號等效于汽車傳感器在不同工況下的輸出信號。系統提供兩種生成這些信號所需要數據的方法可供選擇。一種是由手動設置給出,一種是選擇關聯設置。關聯時,秒表開始計時,各信號參數根據汽車動力學在后臺計算。
2.2 信號采集和分析
系統采集發(fā)動機ECU的輸出信號,得到一組相關的測試數據,根據采集的數據繪制發(fā)動機ECU噴油脈沖信號和點火控制信號。還可以根據發(fā)動機ECU的輸出信號計算出頻率、峰-峰值、脈沖寬度、占空比等物理參數,給出發(fā)動機ECU的噴油時間、噴油量相對變化率、點火提前角等工作參數。
2.3 數據交換實現方法
計算機通過串行口向發(fā)動機ECU發(fā)送數據,采集到ECU噴油和點火輸出信號,通過串行口將這些數據傳給計算機。計算機接收數據并繪制圖形。
計算機根據應采集數據個數收集數據,編制成固定格式再發(fā)送。采集的數據存放在一個整型數組里,再轉換成VARIANT數據類型,計算機通過串口將這些數據發(fā)送到發(fā)動機ECU中。
數據格式:標識參數名+數據+標識參數名+數據……標識參數名+數據。
每兩位表示一個量,前一位指明參數,后一位給出數值。
2.4 測試軟件的主工作界面
幾乎所有的Windows應用程序都要借助于對話框來和用戶交流,本測試系統也是如此。對話框是Windows應用程序中常見的元素之一,是用戶與應用程序進行交互的最簡單且最常用的方式之一。一個完整的對話框主要是由對話框資源和對話框類構成,所以創(chuàng)建一個對話框就是創(chuàng)建對話框資源和對話框類的過程。創(chuàng)建對話框資源包括添加對話框模板、修改對話框屬性,并在對話框中添加各種控件;創(chuàng)建對話框類包括添加控件變量和添加控件消息處理函數。
界面設計要遵循簡單直觀的原則,這樣操作人員用起來才會得手,減少求助,提高工作效率。本程序的編寫和調試采用的是Microsoft公司的VisualC++軟件。
[page]
測試系統的主界面如圖4所示,各種控制參數都很直觀的顯示出來,用戶可以直接對一些主要控制參數做連續(xù)調整,操作方便。
2.5 串口通信參數設置
要實現計算機串行通信的功能,一種較為簡便的方法是使用MSComm(Microsoft Communication Control)通信控件,它提供了標準的事件處理函數過程,是微軟公司開發(fā)的專門用于串行通信的控件。它是高級語言編寫的串行通信程序和PC串口之間的橋粱。本系統采用得就是這種方法。設置控件的屬性。添加控件的響應代碼。就可以使串口按照要求進行工作。在這個界面,可以進行串口號和波特率的設置。通信參效設置界面如圖5所示。
3 結果顯示
發(fā)動機油路中汽油壓力是一定的。因此噴油器通電時,單位時間的噴油量是一定的。發(fā)動機一個工作循環(huán)噴油量,可通過噴油持續(xù)時間來控制。由于電噴發(fā)動機噴油嘴是通過電磁閥來控制關閉,而發(fā)動機轉速較高,噴油時間很短,噴油器響應快,因此ECU輸出的噴油信號是一個很短暫的脈沖信號,這個信號的時間寬度就是噴油脈寬。
點火控制信號實際上就是點火器中功率結晶管的通斷控制信號。它是ECU輸出到點火組件的點火命令信號,也是點火組件計算閉合角的基準信號。點火控制信號輸出后,在活塞位置達到存儲器所記憶的最佳點火時間時,點火控制信號消失,也就是發(fā)出了點火指令,如圖6所示。
4 結束語
通過對桑塔納2000型轎車發(fā)動機ECU實際測試表明,通過該系統可以方便的將各種信號傳遞到發(fā)動機ECU中,采集發(fā)動機ECU的輸出信號,還可以測試發(fā)動機ECU是否正常工作。其產生的各種傳感器信號可用于實際車輛檢測。此外還可以用于學習和演示不同環(huán)境不同工況下,ECU如何控制發(fā)動機工作。