隨著國(guó)家對(duì)大氣環(huán)境治理力度的加大,摩托車排放法規(guī)會(huì)逐年加嚴(yán),達(dá)不到排放法規(guī)要求的摩托車將不允許投放市場(chǎng)。電控燃油噴射技術(shù)以其良好的節(jié)能效果和低排放的性能成為當(dāng)前摩托車環(huán)保技術(shù)中的最佳選擇。
摩托車發(fā)動(dòng)機(jī)電控單元ECU是以單片機(jī)為主芯片,加上信號(hào)處理電路以及驅(qū)動(dòng)電路組成的一種發(fā)動(dòng)機(jī)管理系統(tǒng)。其工作原理為:通過(guò)臺(tái)架和整車標(biāo)定試驗(yàn),將發(fā)動(dòng)機(jī)的各運(yùn)行工況下的最佳噴油和點(diǎn)火參數(shù)預(yù)先存儲(chǔ)在數(shù)據(jù)區(qū)。當(dāng)發(fā)動(dòng)機(jī)運(yùn)行時(shí),電控系統(tǒng)根據(jù)各傳感器的輸入信號(hào)判斷出發(fā)動(dòng)機(jī)當(dāng)前的運(yùn)行工況,通過(guò)查表及計(jì)算得到最佳的噴油量和點(diǎn)火角,并通過(guò)驅(qū)動(dòng)電路來(lái)控制噴油器的噴油時(shí)間和初級(jí)點(diǎn)火線圈的閉合時(shí)刻及斷電時(shí)刻,來(lái)精確地控制混合氣的空燃比與點(diǎn)火時(shí)刻,使發(fā)動(dòng)機(jī)在最優(yōu)狀態(tài)下運(yùn)行。
中國(guó)的摩托車工業(yè)經(jīng)過(guò)20年的快速發(fā)展,年產(chǎn)量已經(jīng)超過(guò)了1000萬(wàn)輛,生產(chǎn)規(guī)模及銷售量都居世界第一位。預(yù)計(jì)在不久的將來(lái),隨著排放法規(guī)的加嚴(yán),必將給摩托車電控燃油噴射系統(tǒng)提供一個(gè)廣闊的市場(chǎng)。國(guó)內(nèi)幾家大摩托車公司,都先后開發(fā)出電控摩托車樣車,有的已在市場(chǎng)上銷售。國(guó)外的幾家大汽車電子公司也已開始進(jìn)入中國(guó)電控摩托車市場(chǎng)。
在過(guò)去的幾年中,我們?cè)c企業(yè)合作,用MC68HC11F1開發(fā)了排量為244cc雙缸摩托車和150cc單缸摩托車的電控燃油噴射系統(tǒng)。
本次參賽采用摩托羅拉公司新推出的高性能價(jià)格比的MC68HC908SR12單片機(jī),對(duì)原電子控制單元(ECU)的軟硬件進(jìn)一步優(yōu)化,降低成本,使其能夠參與激烈的市場(chǎng)競(jìng)爭(zhēng)。
設(shè)計(jì)概述
本次設(shè)計(jì)的目標(biāo)是開發(fā)一種用于摩托車發(fā)動(dòng)機(jī)管理系統(tǒng)的ECU,能夠應(yīng)用在不同排量、不同傳感器和執(zhí)行器特性的摩托車單缸發(fā)動(dòng)機(jī)上。用單片機(jī)精確地控制汽油發(fā)動(dòng)機(jī)在各種運(yùn)行工況下的空燃比(吸入氣缸內(nèi)的空氣和燃油的比例,簡(jiǎn)稱空燃比)和點(diǎn)火正時(shí)(點(diǎn)燃混合氣的準(zhǔn)確時(shí)刻),以減少發(fā)動(dòng)機(jī)排氣中的有害成分,降低燃油消耗和改善摩托車的動(dòng)力性能。
系統(tǒng)應(yīng)具備以下主要功能:
1.發(fā)動(dòng)機(jī)空燃比控制;
2.點(diǎn)火正時(shí)控制;
3.空燃比的加速加濃控制;
4.空燃比的減速減稀控制;
5.目標(biāo)怠速控制;
6.怠速轉(zhuǎn)速下CO調(diào)整功能;
7.系統(tǒng)的故障診斷功能;
8.在線標(biāo)定監(jiān)控功能。
圖1 發(fā)動(dòng)機(jī)電控管理系統(tǒng)的組成
系統(tǒng)的組成如圖1所示。發(fā)動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí),單片機(jī)通過(guò)轉(zhuǎn)速傳感器和節(jié)氣門(油門)位置傳感器提供的信號(hào),確定發(fā)動(dòng)機(jī)的運(yùn)行工況。然后從數(shù)據(jù)存儲(chǔ)區(qū)中查到預(yù)先標(biāo)定好的,在這一工況下運(yùn)行時(shí)最佳的基本噴油脈寬和點(diǎn)火時(shí)刻,再根據(jù)當(dāng)時(shí)檢測(cè)到的空氣溫度和發(fā)動(dòng)機(jī)的缸壁溫度對(duì)這一數(shù)值進(jìn)行修正,得到最終輸出的噴油脈寬和點(diǎn)火時(shí)刻。單片機(jī)通過(guò)功率驅(qū)動(dòng)電路,控制噴油器噴油和點(diǎn)火線圈使火花塞點(diǎn)火。
單片機(jī)根據(jù)節(jié)氣門位置傳感器信號(hào)變化的方向和變化的速率,確定發(fā)動(dòng)機(jī)是處于加速工況還是減速工況,控制發(fā)動(dòng)機(jī)在過(guò)渡工況下運(yùn)行時(shí)的噴油脈寬和點(diǎn)火時(shí)刻。怠速的穩(wěn)定性和排放性能都是摩托車的重要指標(biāo),需要進(jìn)行良好的控制。同時(shí)ECU還應(yīng)該具有自診斷功能,可以對(duì)傳感器和執(zhí)行器的狀態(tài)進(jìn)行檢測(cè)。
為了方便監(jiān)控,ECU具有通訊功能,不僅可以通過(guò)上位機(jī)開發(fā)裝置進(jìn)行實(shí)時(shí)狀態(tài)監(jiān)控,還能進(jìn)行在線的發(fā)動(dòng)機(jī)數(shù)據(jù)標(biāo)定。通過(guò)不同的標(biāo)定數(shù)據(jù),就可以將此ECU用于不同排量、不同傳感器和執(zhí)行器特性摩托車發(fā)動(dòng)機(jī)的控制。
電控摩托車發(fā)動(dòng)機(jī)ECU的硬件結(jié)構(gòu)框圖如圖2所示,以MC68HC908SR12為核心,還包括傳感器信號(hào)的處理電路、執(zhí)行器的驅(qū)動(dòng)電路及通訊接口電路.
硬件描述
電控摩托車發(fā)動(dòng)機(jī)ECU的硬件結(jié)構(gòu)框圖如圖2所示,以MC68HC908SR12為核心,還包括傳感器信號(hào)的處理電路、執(zhí)行器的驅(qū)動(dòng)電路及通訊接口電路。
圖2 發(fā)動(dòng)機(jī)電控管理系統(tǒng)硬件結(jié)構(gòu)框圖
主芯片MC68HC908SR12
主芯片必須其滿足ECU軟件計(jì)算的要求以及硬件資源的要求。
由于摩托車發(fā)動(dòng)機(jī)轉(zhuǎn)速高達(dá)上萬(wàn)轉(zhuǎn),點(diǎn)火提前角的計(jì)算必須在目標(biāo)點(diǎn)火時(shí)刻到來(lái)之前完成,這時(shí)間通常不到0.5ms,所以需要較高的指令的執(zhí)行速度。而且執(zhí)行速度越快,ECU就可以獲取更新的傳感器信號(hào),計(jì)算實(shí)現(xiàn)更精確的控制。MC68HC908SR12采用了PLL鎖相環(huán)技術(shù),因此可以在很低的晶振頻率32.768KHz下,產(chǎn)生高達(dá)8M的總線頻率。本電控系統(tǒng)采用的內(nèi)部總線為4.9125M,不僅滿足了摩托車發(fā)動(dòng)機(jī)控制的需要,還可以產(chǎn)生19200的SCI通訊波特率,與原有的電控系統(tǒng)開發(fā)裝置兼容。 電控系統(tǒng)需要能采集5路A/D,并且具有1路輸入捕捉、2路輸出比較功能及各種I/O口,還要具有通訊接口。MC68HC908SR12具有4路輸入捕捉/輸出比較、12通道10位A/D轉(zhuǎn)化器和SCI串行通訊口,3個(gè)8位I/O口和1個(gè)7位I/O口(包括與其它功能模塊復(fù)用的端口),能滿足控制要求。各端口的使用狀況如下表1所示。
MC68HC908SR12可尋址64KB地址空間,主要包括:12KB的閃速存儲(chǔ)器Flash、512字節(jié)的隨機(jī)存儲(chǔ)器RAM、48字節(jié)的用戶定義矢量區(qū)和368字節(jié)的監(jiān)控ROM,存儲(chǔ)器的具體分配情況如下表:
其12KB的Flash ROM和512Byte的RAM都基本上能滿足系統(tǒng)的使用要求,而且SR12的價(jià)格也比較便宜。
傳感器簡(jiǎn)介
各傳感器的采集周期各不相同。變化快并且重要的信號(hào)就需要很高的采集頻率,變化慢不太重要的信號(hào)的采集頻率就可以降低。并且采集方式也有同步與異步之分,影響發(fā)動(dòng)機(jī)實(shí)時(shí)工作狀態(tài)的模擬量采集方式就應(yīng)該是同步的,否則可以為異步的。
節(jié)氣門位置傳感器
節(jié)氣門由駕駛員操縱,反映駕駛員的控制意圖,因此是判斷發(fā)動(dòng)機(jī)工況的重要信號(hào)。節(jié)氣門位置傳感器安裝在節(jié)氣門軸的尾端,常采用滑線變阻器的型式。節(jié)氣門完全關(guān)閉時(shí),傳感器輸出電壓大于0V;節(jié)氣門完全打開時(shí),輸出電壓小于5V。當(dāng)節(jié)氣門不斷開大時(shí),其輸出電壓隨之線形增加。
TPS信號(hào)從整體上說(shuō)具有較高要求,不僅對(duì)節(jié)氣門位置傳感器硬件要求較高,而且還需要在電控軟件中對(duì)其信號(hào)進(jìn)行相應(yīng)的濾波處理。
壁面溫度傳感器
壁面溫度傳感器是負(fù)溫度系數(shù)的電阻型測(cè)溫傳感器,其電阻隨著溫度增加而降低,溫度與電壓的對(duì)應(yīng)關(guān)系在電控軟件中通過(guò)查表完成。
壁面溫度傳感器用來(lái)精確地指示發(fā)動(dòng)機(jī)的工作溫度。對(duì)應(yīng)不同的發(fā)動(dòng)機(jī)溫度范圍,電控單元應(yīng)該對(duì)發(fā)動(dòng)機(jī)的工作特性進(jìn)行相應(yīng)修正和補(bǔ)償。比如,冷起動(dòng)時(shí),需要比熱機(jī)時(shí)更多的燃油。
蓄電池電壓
蓄電池電壓信號(hào)直接從蓄電池的接線柱處取得。此信號(hào)對(duì)于電控單元來(lái)說(shuō)非常重要,油泵、噴油器和點(diǎn)火線圈的工作都受到蓄電池電壓的影響,因此必須根據(jù)蓄電池電壓信號(hào)對(duì)噴油脈寬和點(diǎn)火線圈閉合時(shí)間進(jìn)行修正補(bǔ)償。
拖動(dòng)期間,發(fā)動(dòng)機(jī)轉(zhuǎn)速周期性變化,蓄電池電壓的瞬時(shí)值也隨之周期性波動(dòng),ECU采用同步方式采集。進(jìn)入運(yùn)行點(diǎn)火工況后,采用定周期方式采集。
進(jìn)氣溫度傳感器
進(jìn)氣溫度傳感器與壁面溫度傳感器一樣,也是負(fù)溫度系數(shù)的電阻型測(cè)溫傳感器。安裝在進(jìn)氣管中測(cè)量進(jìn)入發(fā)動(dòng)機(jī)的空氣的溫度。進(jìn)氣溫度影響進(jìn)氣密度,因此將影響進(jìn)氣質(zhì)量,從而改變所需的燃油量,故在電控軟件中需要根據(jù)進(jìn)氣溫度進(jìn)行進(jìn)一步的修正補(bǔ)償。
CO調(diào)整螺釘
這個(gè)電位計(jì)也安裝在電控單元內(nèi),但可以用一個(gè)小的平頭改錐從外面進(jìn)行調(diào)節(jié)。這種調(diào)整結(jié)果被用來(lái)在電控軟件中對(duì)基本的負(fù)荷計(jì)算進(jìn)行偏移,從而改變發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)的實(shí)際空燃比。加裝此CO調(diào)整螺釘?shù)哪康木褪钦{(diào)整發(fā)動(dòng)機(jī)怠速運(yùn)轉(zhuǎn)時(shí)的排放狀況。
發(fā)動(dòng)機(jī)轉(zhuǎn)速及曲軸位置傳感器
發(fā)動(dòng)機(jī)轉(zhuǎn)速及曲軸位置傳感器是所有傳感器中最為重要的,本電控系統(tǒng)中使用的是磁電式傳感器。經(jīng)過(guò)電控單元的脈沖整形電路處理之后,由主芯片的輸入捕捉口進(jìn)行脈沖捕捉。電控系統(tǒng)不僅要根據(jù)此信號(hào)找到齒缺位置,從而與曲軸同步,并且還要根據(jù)轉(zhuǎn)速的變化進(jìn)行判缸,根據(jù)轉(zhuǎn)速的不同進(jìn)行不同的點(diǎn)火和噴油控制。如果此信號(hào)有誤,發(fā)動(dòng)機(jī)將無(wú)法正常工作。
壁面溫度傳感器用來(lái)精確地指示發(fā)動(dòng)機(jī)的工作溫度。對(duì)應(yīng)不同的發(fā)動(dòng)機(jī)溫度范圍,電控單元應(yīng)該對(duì)發(fā)動(dòng)機(jī)的工作特性進(jìn)行相應(yīng)修正和補(bǔ)償。比如,冷起動(dòng)時(shí),需要比熱機(jī)時(shí)更多的燃油。
蓄電池電壓
蓄電池電壓信號(hào)直接從蓄電池的接線柱處取得。此信號(hào)對(duì)于電控單元來(lái)說(shuō)非常重要,油泵、噴油器和點(diǎn)火線圈的工作都受到蓄電池電壓的影響,因此必須根據(jù)蓄電池電壓信號(hào)對(duì)噴油脈寬和點(diǎn)火線圈閉合時(shí)間進(jìn)行修正補(bǔ)償。拖動(dòng)期間,發(fā)動(dòng)機(jī)轉(zhuǎn)速周期性變化,蓄電池電壓的瞬時(shí)值也隨之周期性波動(dòng),ECU采用同步方式采集。進(jìn)入運(yùn)行點(diǎn)火工況后,采用定周期方式采集。
進(jìn)氣溫度傳感器
進(jìn)氣溫度傳感器與壁面溫度傳感器一樣,也是負(fù)溫度系數(shù)的電阻型測(cè)溫傳感器。安裝在進(jìn)氣管中測(cè)量進(jìn)入發(fā)動(dòng)機(jī)的空氣的溫度。進(jìn)氣溫度影響進(jìn)氣密度,因此將影響進(jìn)氣質(zhì)量,從而改變所需的燃油量,故在電控軟件中需要根據(jù)進(jìn)氣溫度進(jìn)行進(jìn)一步的修正補(bǔ)償。
CO調(diào)整螺釘
這個(gè)電位計(jì)也安裝在電控單元內(nèi),但可以用一個(gè)小的平頭改錐從外面進(jìn)行調(diào)節(jié)。這種調(diào)整結(jié)果被用來(lái)在電控軟件中對(duì)基本的負(fù)荷計(jì)算進(jìn)行偏移,從而改變發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)的實(shí)際空燃比。加裝此CO調(diào)整螺釘?shù)哪康木褪钦{(diào)整發(fā)動(dòng)機(jī)怠速運(yùn)轉(zhuǎn)時(shí)的排放狀況。
發(fā)動(dòng)機(jī)轉(zhuǎn)速及曲軸位置傳感器
發(fā)動(dòng)機(jī)轉(zhuǎn)速及曲軸位置傳感器是所有傳感器中最為重要的,本電控系統(tǒng)中使用的是磁電式傳感器。經(jīng)過(guò)電控單元的脈沖整形電路處理之后,由主芯片的輸入捕捉口進(jìn)行脈沖捕捉。電控系統(tǒng)不僅要根據(jù)此信號(hào)找到齒缺位置,從而與曲軸同步,并且還要根據(jù)轉(zhuǎn)速的變化進(jìn)行判缸,根據(jù)轉(zhuǎn)速的不同進(jìn)行不同的點(diǎn)火和噴油控制。如果此信號(hào)有誤,發(fā)動(dòng)機(jī)將無(wú)法正常工作。
執(zhí)行器簡(jiǎn)介
當(dāng)電控系統(tǒng)通過(guò)上述各傳感器獲得了發(fā)動(dòng)機(jī)當(dāng)前運(yùn)轉(zhuǎn)的狀態(tài)及工況需求后,需要通過(guò)驅(qū)動(dòng)電路去驅(qū)動(dòng)相應(yīng)的執(zhí)行器,通過(guò)其動(dòng)作來(lái)實(shí)現(xiàn)點(diǎn)火和噴油,從而滿足工況的需要。點(diǎn)火控制是同步工作方式,但噴油控制的工作方式可根據(jù)實(shí)際要求分為同步工作和異步工作。
油泵
油泵為發(fā)動(dòng)機(jī)提供充足的燃油量,并且保持足夠的油壓,使得在所有的工況下噴油器都能夠進(jìn)行有效的燃油噴射。調(diào)壓器保持油管內(nèi)的常壓,這樣就可以通過(guò)改變噴油器的開啟和結(jié)束時(shí)間來(lái)精確計(jì)量燃油量。點(diǎn)火鑰匙接通電源時(shí),電控系統(tǒng)就開啟油泵,提供第一次噴射所需的燃油壓力。只要點(diǎn)火鑰匙接通電源且發(fā)動(dòng)機(jī)運(yùn)轉(zhuǎn)著,油泵就始終運(yùn)轉(zhuǎn)工作。
噴油器
噴油器的主要參數(shù)就是流量特性,即每毫秒所對(duì)應(yīng)的噴油量,不僅需要精準(zhǔn),而且還必須能夠滿足發(fā)動(dòng)機(jī)的使用要求,即噴油器的最小供油量必須滿足發(fā)動(dòng)機(jī)怠速運(yùn)轉(zhuǎn)的要求,最大供油量必須滿足發(fā)動(dòng)機(jī)大負(fù)荷工況的要求。
噴油器存在開啟滯后的現(xiàn)象,實(shí)際噴油器打開的時(shí)刻比控制開啟時(shí)刻要晚,蓄電池電壓越低,滯后時(shí)間越長(zhǎng)。在軟件中設(shè)置噴油開啟時(shí)刻時(shí)需要考慮到噴油開啟時(shí)刻的滯后,使實(shí)際噴油持續(xù)時(shí)間更接近于軟件計(jì)算值。另外,還需要在蓄電池電壓低到對(duì)噴射壓力造成影響時(shí),對(duì)噴油脈寬進(jìn)行相應(yīng)修正。
點(diǎn)火線圈
點(diǎn)火初級(jí)線圈的閉合時(shí)間必須超過(guò)一定的有效時(shí)間(同樣要根據(jù)蓄電池電壓來(lái)修正),這樣線圈才能存儲(chǔ)足夠的能量來(lái)點(diǎn)火。當(dāng)點(diǎn)火線圈初級(jí)繞組電流斷開時(shí),就產(chǎn)生一次點(diǎn)火。
點(diǎn)火提前角的設(shè)置是否合適,對(duì)發(fā)動(dòng)機(jī)的轉(zhuǎn)矩輸出影響最大,因此需要考慮轉(zhuǎn)速、溫度及負(fù)荷等造成的影響,并在軟件中對(duì)點(diǎn)火提前角進(jìn)行相應(yīng)修正。
軟件描述
軟件結(jié)構(gòu)介紹
摩托車電控系統(tǒng)不同于一般的控制系統(tǒng),由于摩托車上飛輪較小,發(fā)動(dòng)機(jī)轉(zhuǎn)速波動(dòng)較大,并且轉(zhuǎn)速最高達(dá)10000轉(zhuǎn)/分以上,對(duì)于系統(tǒng)的實(shí)時(shí)響應(yīng)速度要求非常高,這些要求突出體現(xiàn)在對(duì)曲軸位置及轉(zhuǎn)速檢測(cè)、噴油正時(shí)及點(diǎn)火正時(shí)的實(shí)時(shí)控制等方面。
為了能夠滿足實(shí)時(shí)控制的要求,電控軟件將采用“前景/背景”結(jié)構(gòu)進(jìn)行設(shè)計(jì),即將轉(zhuǎn)速信號(hào)的捕捉處理以及點(diǎn)火、噴油信號(hào)等的輸出作為“前景”,這些實(shí)時(shí)性要求高的處理過(guò)程會(huì)立即得到主芯片的響應(yīng),而前景程序執(zhí)行所需要的各種參數(shù)的計(jì)算以及其他實(shí)時(shí)性要求不高的部分,則在由主循環(huán)等待及實(shí)時(shí)中斷所組成的“背景”中進(jìn)行。
圖3 電控軟件的總體流程圖
基于以上設(shè)計(jì)思路,計(jì)劃將軟件劃分為三個(gè)基本的部分:初始化、背景程序和前景程序,流程圖如上圖3所示。
由于MC68HC908SR12的時(shí)鐘基(TBM)模塊只能產(chǎn)生約2ms的定時(shí)中斷,而原有電控系統(tǒng)的背景軟件執(zhí)行時(shí)間必須在7.81ms以上。因此,在本ECU軟件中,將背景執(zhí)行程序在四次TBM中斷時(shí)間內(nèi)執(zhí)行。MC68HC908SR12的中斷優(yōu)先級(jí)是固定的,故需要根據(jù)軟件的中斷優(yōu)先級(jí)的不同來(lái)設(shè)計(jì)硬件。并且由于MC68HC908SR12沒(méi)有脈沖累加器中斷,因此將經(jīng)過(guò)轉(zhuǎn)速處理電路處理過(guò)的轉(zhuǎn)速信號(hào)同時(shí)接入到TIM1的兩路輸入捕捉端口,以下降沿捕捉的方式發(fā)生。其中T1CH0負(fù)責(zé)進(jìn)行齒缺的尋找,是優(yōu)先級(jí)最高的中斷。當(dāng)尋找到齒缺后,即實(shí)現(xiàn)了電控系統(tǒng)與發(fā)動(dòng)機(jī)的運(yùn)轉(zhuǎn)同步之后,就不再使能此中斷,切換到另一路T1CH1,當(dāng)數(shù)到相應(yīng)齒號(hào)時(shí),就使能與點(diǎn)火、噴油相關(guān)的中斷。為了不累積誤差,需要在快到齒缺時(shí),重新切換到T1CH0。點(diǎn)火使用T2CH0,噴油使用T2CH1。轉(zhuǎn)速處理模塊
轉(zhuǎn)速處理模塊的軟件示意框圖如圖4所示。轉(zhuǎn)速脈沖信號(hào)是由發(fā)動(dòng)機(jī)曲軸位置及轉(zhuǎn)速傳感器獲得的,由于傳感器的觸發(fā)盤(如圖5所示)有一個(gè)不同于其它的大齒,因此,觸發(fā)盤轉(zhuǎn)動(dòng)一周所產(chǎn)生的脈沖信號(hào)中也存在一個(gè)寬度較大的脈沖。利用這一點(diǎn),將此脈沖信號(hào)經(jīng)過(guò)軟件的處理之后,不僅可以用來(lái)提供發(fā)動(dòng)機(jī)工況所需的轉(zhuǎn)速,還將提供電控系統(tǒng)工作所需的曲軸位置信息,從而按照發(fā)動(dòng)機(jī)時(shí)序控制的要求在確定的曲軸轉(zhuǎn)角處實(shí)現(xiàn)點(diǎn)火和噴油輸出。
圖5 發(fā)動(dòng)機(jī)曲軸位置及轉(zhuǎn)速傳感器的觸發(fā)盤
點(diǎn)火控制模塊
點(diǎn)火控制模塊由前景時(shí)序控制和背景點(diǎn)火工況判別及背景點(diǎn)火計(jì)算程序組成,如圖6所示。背景工況判別程序監(jiān)測(cè)發(fā)動(dòng)機(jī)轉(zhuǎn)速、負(fù)荷、壁面溫度等工況參數(shù),劃分不同工況段并設(shè)置相應(yīng)的工況標(biāo)志位,控制前景程序以特定的點(diǎn)火模式工作。背景點(diǎn)火計(jì)算程序計(jì)算初級(jí)線圈閉合時(shí)間和點(diǎn)火提前角,并對(duì)初級(jí)線圈閉合時(shí)刻進(jìn)行更新設(shè)定。
圖6 點(diǎn)火控制模塊的流程圖
點(diǎn)火初級(jí)線圈閉合時(shí)間決定點(diǎn)火能量,它受線圈規(guī)格、蓄電池電壓以及線圈溫度影響。閉合時(shí)間過(guò)長(zhǎng)會(huì)損壞線圈及其驅(qū)動(dòng)器件,過(guò)短則可能導(dǎo)致失火。
拖動(dòng)工況時(shí)初級(jí)線圈的閉合時(shí)刻固定在曲軸的某一轉(zhuǎn)角,且其閉合時(shí)間約為曲軸轉(zhuǎn)過(guò)2齒或4齒所對(duì)應(yīng)的時(shí)間(隨蓄電池電壓不同),而運(yùn)行點(diǎn)火工況下,不僅要考慮到發(fā)動(dòng)機(jī)轉(zhuǎn)速和蓄電池電壓對(duì)計(jì)算初級(jí)線圈閉合時(shí)間帶來(lái)的影響,而且還要根據(jù)轉(zhuǎn)速和負(fù)荷的變化來(lái)調(diào)整,從而獲得最佳的初級(jí)線圈閉合時(shí)間。
軟件中,運(yùn)行點(diǎn)火工況下,初級(jí)線圈的閉合時(shí)間計(jì)算公式如下:
閉合時(shí)間 = 動(dòng)態(tài)閉合時(shí)間 + 穩(wěn)態(tài)基本閉合時(shí)間 + 初級(jí)線圈閉合時(shí)間蓄電池電壓補(bǔ)償
由于拖動(dòng)工況下發(fā)動(dòng)機(jī)轉(zhuǎn)速變化很快,而且會(huì)迅速滿足運(yùn)行點(diǎn)火工況的要求從而脫離拖動(dòng)工況,故拖動(dòng)點(diǎn)火角只以轉(zhuǎn)速為自變量,不考慮其他任何修正。
運(yùn)行點(diǎn)火工況時(shí),點(diǎn)火提前角的計(jì)算則是不僅由節(jié)氣門開度TPS和發(fā)動(dòng)機(jī)轉(zhuǎn)速RPM確定主點(diǎn)火提前角,更要考慮到多種因素的影響,進(jìn)行各項(xiàng)修正。對(duì)計(jì)算得到的點(diǎn)火提前角,不僅需要限定最小值和最大值,而且還要對(duì)點(diǎn)火提前角的變化率進(jìn)行限制,避免發(fā)動(dòng)機(jī)性能出現(xiàn)突變。
點(diǎn)火提前角的計(jì)算公式如下:
運(yùn)行點(diǎn)火提前角 = 主點(diǎn)火提前角 + 壁面溫度修正 + 充氣溫度修正+ 大氣壓修正 + 功率加濃修正
發(fā)動(dòng)機(jī)起動(dòng)成功后,其壁面溫度將逐漸升高。為了保證摩托車能在穩(wěn)定怠速下運(yùn)轉(zhuǎn),可以通過(guò)調(diào)整此壁面溫度修正量來(lái)調(diào)整怠速時(shí)的點(diǎn)火提前角。充氣溫度修正項(xiàng)與壁面溫度修正項(xiàng)的作用相同,功率加濃修正是指發(fā)動(dòng)機(jī)工作在功率加濃工況(高速大負(fù)荷)時(shí)點(diǎn)火提前角所需要的修正項(xiàng)。根據(jù)背景程序計(jì)算得到的這些數(shù)據(jù)參數(shù)及控制標(biāo)志,在前景程序中將完成點(diǎn)火初級(jí)線圈閉合、斷開時(shí)刻的設(shè)定和點(diǎn)火驅(qū)動(dòng)脈沖的輸出。 因?yàn)槌跫?jí)線圈對(duì)閉合時(shí)間的要求是基于時(shí)間的,而點(diǎn)火驅(qū)動(dòng)脈沖的產(chǎn)生是基于曲軸轉(zhuǎn)角的,因此不同轉(zhuǎn)速段下,點(diǎn)火驅(qū)動(dòng)脈沖會(huì)跨越不同的曲軸轉(zhuǎn)角。為提高點(diǎn)火提前角的控制精度,軟件中設(shè)置點(diǎn)火時(shí)刻的基本原則是從34X信號(hào)獲取盡可能多的曲軸瞬時(shí)轉(zhuǎn)速信息,使從角度到時(shí)間的轉(zhuǎn)化關(guān)系更加精確。同時(shí),還可獲得更高的可靠性。但主芯片的程序代碼的執(zhí)行速度又限制了在高轉(zhuǎn)速段(如轉(zhuǎn)速 > 8000r/min)頻繁利用前景事件中斷獲取曲軸瞬時(shí)轉(zhuǎn)速信息,因此為了滿足實(shí)時(shí)性的要求,將對(duì)準(zhǔn)確性和可靠性的要求進(jìn)行相應(yīng)調(diào)整。在背景程序中,按發(fā)動(dòng)機(jī)轉(zhuǎn)速(指平均轉(zhuǎn)速)劃分出4種點(diǎn)火時(shí)序控制模式,即拖動(dòng)、低速、中速及高速模式。在拖動(dòng)和低速模式下,由于轉(zhuǎn)速很低,準(zhǔn)確性、可靠性和實(shí)時(shí)性的要求都可以得到滿足。但隨著轉(zhuǎn)速逐漸提升,準(zhǔn)確性和可靠性的要求逐漸下降,實(shí)時(shí)性成為最重要的要求,到高速模式時(shí),實(shí)時(shí)性和可靠性又成為最主要的要求。
噴油控制模塊
噴油控制模塊在總體結(jié)構(gòu)上與點(diǎn)火模塊類似,從功能上可分為前景噴油時(shí)序控制邏輯和背景噴油脈寬計(jì)算模塊以及噴油工況判別邏輯,如圖7所示。在背景噴油脈寬計(jì)算模塊中,將根據(jù)發(fā)動(dòng)機(jī)工況的變化,計(jì)算出所需的噴油脈寬,其計(jì)算公式為:
噴油脈寬=基本噴油脈寬×加速加濃修正×減速減稀修正×蓄電池電壓修正因子
其中:基本噴油脈寬=發(fā)動(dòng)機(jī)排量×充氣效率因子×空燃比(A/F)
圖7 噴油控制模塊的流程圖
為了能夠適應(yīng)發(fā)動(dòng)機(jī)工況的變化,同樣也需要通過(guò)標(biāo)定試驗(yàn)將相關(guān)數(shù)據(jù)存儲(chǔ)在表格中,通過(guò)查詢表格獲得目標(biāo)空燃比值。并由各傳感器信號(hào)計(jì)算得到循環(huán)進(jìn)氣量,再乘以各項(xiàng)修正因子完成噴油脈寬的計(jì)算,在前景程序中將完成噴油驅(qū)動(dòng)脈沖起止時(shí)刻的設(shè)定。
前景程序中噴油脈寬的輸出是通過(guò)在參考事件中設(shè)置定時(shí)器T2CH1輸出比較中斷來(lái)實(shí)現(xiàn)的。發(fā)動(dòng)機(jī)一個(gè)工作循環(huán)曲軸旋轉(zhuǎn)2周,其中只在每轉(zhuǎn)的第二個(gè)參考事件中設(shè)置噴油輸出,這樣分別在發(fā)動(dòng)機(jī)的壓縮沖程和排氣沖程中各進(jìn)行一次噴油。當(dāng)駕駛員有急加速意圖時(shí),通過(guò)增加同步噴油脈寬的輸出仍不能滿足快速響應(yīng)的需要,此時(shí)需要根據(jù)節(jié)氣門變化率計(jì)算出異步噴油脈寬并在前景程序中立即輸出。異步脈寬輸出設(shè)計(jì)思路如下:若當(dāng)前有同步脈寬正在輸出,則將異步脈寬疊加于當(dāng)前同步脈寬;若當(dāng)前無(wú)同步脈寬輸出,則將計(jì)算出的異步脈寬累加到下次同步脈寬中一起輸出。考慮到每循環(huán)同步脈寬的輸出均在本循環(huán)進(jìn)氣門打開之前,故此設(shè)計(jì)思路可以很好地保證發(fā)動(dòng)機(jī)良好的加速響應(yīng)性能。
SCI通訊模塊
通訊模塊的設(shè)計(jì)主要是為電控系統(tǒng)的軟件開發(fā)和標(biāo)定試驗(yàn)服務(wù)的,方便RAM監(jiān)控及在線修改標(biāo)定數(shù)據(jù)。此功能的實(shí)現(xiàn)需要得到上位機(jī)開發(fā)裝置的支持,使用的開發(fā)工具是本課題組自主開發(fā)的實(shí)時(shí)監(jiān)控發(fā)動(dòng)機(jī)狀態(tài)并進(jìn)行控制的標(biāo)定軟件。
RAM監(jiān)控功能是通過(guò)讀數(shù)據(jù)單元、讀數(shù)據(jù)區(qū)以及讀參數(shù)顯示狀態(tài)的通訊模塊來(lái)實(shí)現(xiàn)的。RAM監(jiān)控可使RAM單元內(nèi)容透明化,軟件開發(fā)者可以實(shí)時(shí)地獲得軟件中點(diǎn)火、噴油功能模塊相關(guān)變量的變化情況。無(wú)論是模擬調(diào)試還是臺(tái)架試驗(yàn),上位機(jī)記錄的數(shù)據(jù)都可用于離線查錯(cuò)和數(shù)據(jù)分析,完成數(shù)據(jù)的作圖、顯示和存盤。上位機(jī)可以顯示發(fā)動(dòng)機(jī)轉(zhuǎn)速,節(jié)氣門開度,噴油脈寬,點(diǎn)火提前角等變量值,還能顯示包括清淹缸,動(dòng)力加濃,減速斷油等狀態(tài),同時(shí)提供顯示曲線功能,方便了解發(fā)動(dòng)機(jī)的狀態(tài)及其變化情況。而且還具有數(shù)據(jù)采集功能,能存儲(chǔ)指定時(shí)間內(nèi)的上述各種變量和狀態(tài)的數(shù)據(jù)。
系統(tǒng)上電后禁止RAM單元監(jiān)控模塊工作。上位機(jī)發(fā)出監(jiān)控命令觸發(fā)數(shù)據(jù)接收中斷后再開始回送數(shù)據(jù)。為了實(shí)時(shí)接收通訊請(qǐng)求,數(shù)據(jù)的接收是在前景程序中執(zhí)行的,即由SCI中斷程序處理,同時(shí)也可進(jìn)行數(shù)據(jù)的發(fā)送。但由于某些通訊模式下一次發(fā)送數(shù)據(jù)較多,為了不影響點(diǎn)火、噴油等前景程序的執(zhí)行,其第一個(gè)數(shù)據(jù)的發(fā)送仍在SCI中斷程序中進(jìn)行,但后續(xù)數(shù)據(jù)的發(fā)送則在背景程序中,通過(guò)查詢方式定時(shí)進(jìn)行。
圖8 實(shí)時(shí)在線修改數(shù)據(jù)功能在臺(tái)架驗(yàn)證實(shí)驗(yàn)中的應(yīng)用
電控系統(tǒng)要想能夠工作在最佳狀態(tài),需要有良好的數(shù)據(jù)做基礎(chǔ)。數(shù)據(jù)區(qū)在線修改功能主要在發(fā)動(dòng)機(jī)臺(tái)架標(biāo)定及整車標(biāo)定時(shí)使用。
由于ECU軟件程序及標(biāo)定數(shù)據(jù)區(qū)都存儲(chǔ)在MC68HC908SR12的12K的FLASH中,因此要實(shí)現(xiàn)電控系統(tǒng)的在線標(biāo)定就需要能夠?qū)LASH進(jìn)行擦寫。由于這些程序必須放在RAM中,因此電控系統(tǒng)軟件首先需要將這些程序存放在FLASH中,在系統(tǒng)上電初始化之后對(duì)將這些FLASH擦寫程序復(fù)制到RAM中去。由于MC68HC908SR12對(duì)于FLASH的擦寫是整頁(yè)擦寫(最小的擦除單元是128個(gè)字節(jié),最小寫入單元是64個(gè)字節(jié)),這樣在進(jìn)行電控系統(tǒng)標(biāo)定時(shí),就不能只對(duì)特定的數(shù)據(jù)單元內(nèi)容進(jìn)行修改,而是為了一個(gè)單元的修改就需要進(jìn)行整頁(yè)的擦寫才能完成。擦寫一頁(yè)FLASH需要3ms左右,由于摩托車發(fā)動(dòng)機(jī)轉(zhuǎn)速高達(dá)上萬(wàn)轉(zhuǎn),比如在10000rpm時(shí),3ms就對(duì)應(yīng)著發(fā)動(dòng)機(jī)轉(zhuǎn)過(guò)半轉(zhuǎn),在這半轉(zhuǎn)的時(shí)間內(nèi),由于在進(jìn)行FLASH的擦寫,ECU就不能正常工作,因此臺(tái)架標(biāo)定時(shí)將無(wú)法進(jìn)行高速時(shí)的標(biāo)定。本電控系統(tǒng)采用的方法是將原有電控系統(tǒng)中的標(biāo)定數(shù)據(jù)直接進(jìn)行使用,然后再根據(jù)具體的使用需要進(jìn)行某些數(shù)據(jù)的標(biāo)定。