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