以下本発明の実施の形態を図面を参照して説明する。
図1は、本発明の一実施形態にかかる内燃機関(以下「エンジン」という)及びその制御装置の構成を示す図であり、例えば4気筒のエンジン1の吸気管2の途中にはスロットル弁3が配されている。スロットル弁3には、スロットル弁3の開度THを検出するスロットル弁開度センサ4が設けられており、その検出信号が電子制御ユニット(以下「ECU」という)5に供給される。スロットル弁3には、スロットル弁3を駆動するアクチュエータ13が接続されており、アクチュエータ13は、ECU5によりその作動が制御される。
吸気管2のスロットル弁3の下流側には、通路31を介してブレーキブースタ32が接続されており、ブレーキブースタ32の負圧室には、通路31を介して吸気管2の負圧が導入される。ブレーキブースタ32は、ブレーキペダル(図示せず)の踏み込み量に応じた負圧をダイヤフラムに作用させ、ブレーキ操作力を増加させるように構成されている。通路31の途中には、逆止弁33が設けられており、逆止弁33は、ブレーキブースタ32の負圧室内の圧力が吸気管内圧力(以下「吸気圧」という)より高いときに開弁する。
燃料噴射弁6は吸気管2内に燃料を噴射するように各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にECU5に電気的に接続されてECU5からの信号により燃料噴射弁6の開弁時間及び開弁時期が制御される。
スロットル弁3の直ぐ下流には、吸気圧PBAを検出する吸気圧センサ7が設けられており、吸気圧センサ7の下流側には吸気温TAを検出する吸気温センサ8が設けられている。またエンジン1の本体にはエンジン冷却水温TWを検出する冷却水温センサ9が装着されている。これらのセンサの検出信号はECU5に供給される。
ECU5には、エンジン1のクランク軸(図示せず)の回転角度を検出するクランク角度位置センサ10が接続されており、クランク軸の回転角度に応じた信号がECU5に供給される。クランク角度位置センサ10は、エンジン1の特定の気筒の所定クランク角度位置で信号パルス(以下「CYL信号パルス」という)を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点(TDC)より所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180度毎に)TDC信号パルスを出力するTDCセンサ及びTDC信号パルスより短い一定クランク角周期(例えば30度周期)で1パルス(以下「CRK信号パルス」という)を発生するCRKセンサから成り、CYL信号パルス、TDC信号パルス及びCRK信号パルスがECU5に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数(エンジン回転速度)NEの検出に使用される。
エンジン1の各気筒毎に設けられた点火プラグ11は、ECU5に接続されており、点火プラグ11の駆動信号、すなわち点火信号がECU5から供給される。
エンジン1の排気管12には三元触媒16が配置されており、三元触媒16は、排気中のHC,CO,NOx等の成分の浄化を行う。排気管12の三元触媒16の上流側には、比例型空燃比センサ14(以下「LAFセンサ14」という)が装着されており、このLAFセンサ14は排気ガス中の酸素濃度(空燃比)にほぼ比例する検出信号を出力しECU5に供給する。
ECU5には、エンジン1によって駆動される車両の走行速度(車速)VPを検出する車速センサ21、大気圧PAを検出する大気圧センサ22及び当該車両の自動変速機のシフト位置を検出するシフト位置センサ23が接続されており、これらのセンサの検出信号がECU5に供給される。
ECU5は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理回路(以下「CPU」という)、該CPUで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、燃料噴射弁6、点火プラグ11などに駆動信号を供給する出力回路などから構成される。
ECU5は、上述した各種センサの検出信号に基づいて、種々のエンジン運転状態を判別するとともに、該判別されたエンジン運転状態に応じて、次式(1)を用いて、TDC信号パルスに同期して開弁作動する燃料噴射弁6による燃料噴射時間TOUTを演算する。
TOUT=TI×KCMD×KLAF×K1+K2…(1)
ここに、TIは燃料噴射弁6の基本燃料噴射時間であり、エンジン回転数NE及び吸気圧PBAに応じて設定されたTIマップを検索して決定される。TIマップは、マップ上のエンジン回転数NE及び吸気圧PBAに対応する運転状態において、エンジン1に供給される混合気の空燃比がほぼ理論空燃比になるように設定されている。
KCMDは目標空燃比係数であり、エンジン回転数NE、吸気圧PBA、エンジン冷却水温TW等のエンジン運転パラメータに応じて設定される。目標空燃比係数KCMDは、空燃比A/Fの逆数、すなわち燃空比F/Aに比例し、理論空燃比のとき値1.0をとるので、目標当量比ともいう。
KLAFは、LAFセンサ14の検出値から算出される検出当量比KACTが目標当量比KCMDに一致するようにPID制御により算出される空燃比補正係数である。
ECU5はさらに、下記式(2)により点火時期IGLOGを算出する。
IGLOG=IGMAP+IGCR+IGFPI (2)
ここで、IGMAPは、エンジン回転数NE及び吸気圧PBAに応じて設定されたIGマップを検索して得られる点火時期の基本値、すなわち上死点からの進角量で示される点火時期である。またIGFPIは、後述するようにエンジン1の暖機運転中の急速暖機リタード制御実行時においてエンジン回転数NEが目標回転数NEFIRと一致するように負の値に設定される遅角補正項であり、IGCRは、遅角補正項IGFPI以外の補正項である。(IGMAP+IGCR)が、急速暖機リタード制御を実行しない通常制御時の点火時期に相当する。なお、以下の説明では、急速暖機リタード制御を実行する運転モードを「FIREモード」という。
ECU5は上述のようにして求めた燃料噴射時間TOUTに基づいて,燃料噴射弁6を駆動する信号を燃料噴射弁6に供給するとともに、点火時期IGLOGに基づいて点火プラグ11を駆動する信号を点火プラグ11に供給する。さらにECU5は、エンジン運転状態に応じてスロットル弁3の目標開度THCMDを算出し、検出されるスロットル弁開度THが目標開度THCMDと一致するようにアクチュエータ13の駆動制御を行う。
ECU5は、FIREモード(及びFIREモード終了直後の過渡状態)においては、下記式(3)により目標開度THCMDを算出する。
THCMD=(IFIR+ILOAD)×KIPA+IPA (3)
ここで、IFIRはFIREモード時(及びFIREモード終了直後の過渡状態のとき)に使用されるFIREモード制御項、ILOADはエンジン1に加わる電気負荷、空調装置のコンプレッサ負荷、パワーステアリング負荷などのオンオフあるいは自動変速機がインギヤか否かに応じて設定される負荷補正項、KIPA及びIPAは共に大気圧PAに応じて設定される大気圧補正係数及び大気圧補正項である。
図2は、FIREモード及びFIREモード終了直後においてFIREモード制御項IFIRの算出を行うメインルーチンのフローチャートである。このルーチンは、ECU5のCPUにおいてTDC信号パルスの発生に同期して実行される。
ステップS11では図3に示すFIREモード判別処理を実行する。FIREモード判別処理では、FIREモードへの移行またはFIREモードの継続を許可すること「1」で示すFIREモードフラグFFIREONの設定などの処理が行われる。
ステップS12では、図5及び図6に示すIFIRBS算出処理を実行し、FIREモード制御項IFIRの基本値IFIRBSを算出する。
ステップS13では、図7に示すFFIRQUIT設定処理を実行し、過渡制御フラグFFIRQUITの設定を行う。過渡制御フラグFFIRQUITは、FIREモード終了直後の過渡制御を実行するとき「1」に設定される。
ステップS14では、図8に示すIFIREMP算出処理を実行し、第1減算補正値IFIREMPを算出する。第1減算補正値IFIREMPは、ブレーキブースタ32内の圧力が上昇し(負圧が不足し)、ブレーキ操作力が不足するときに、FIREモード制御項IFIRを減少させるために適用される補正値である。
ステップS15では、図9に示すIFIR算出サブルーチンを実行し、ステップS12で算出される基本値IFIRBSを第1減算補正値IFIREMP及び他の補正値により補正し、FIREモード制御項IFIRを算出する。
図3は、図2のステップS11で実行されるFIREモード判別処理のフローチャートであり、ステップS41では、指定された故障が既に検知されているか否かを判別し、検知されていなければエンジン1が始動中(クランキング中)であるか否かを判別する(ステップS42)。ステップS41またはS42の答が肯定(YES)のときは、エンジン冷却水温TWに応じて図4(a)に示すTFIRENDテーブルを検索し、後述するステップS46で参照されるFIREモード終了時間TFIRENDを算出する(ステップS43)。TFIRENDテーブルは、エンジン冷却水温TWが高くなるほどFIREモード終了時間TFIRENDが短くなるように設定されており、図中のTFIRENDmax及びTFIRENDminは、それぞれ例えば50秒及び2秒に設定され、TW0及びTW1はそれぞれ例えば−10℃及び75℃に設定される。
続くステップS44では、FIREモードを終了すべきことを「1」で示す終了フラグFFIRENDを「0」に設定するとともに、FIREモード制御項IFIRの学習補正値IFIREFの算出を禁止することを「1」で示す学習禁止フラグFDIGREFを「0」に設定し、次いでFIREモードフラグFFIREONを「0」設定して(ステップS57)、本処理を終了する。
ステップS41及びS42の答が共に否定(NO)であるときは、終了フラグFFIRENDが「1」であるか否かを判別し(ステップS45)、FFIREND=1であるときは、直ちに前記ステップS57に進む一方、FFIREND=0であるときは、始動完了時点(クランキング終了時点)からの経過時間を計測するアップカウントタイマTM01ACRの値がステップS43で算出したFIREモード終了時間TFIRENDを越えたか否かを判別する(ステップS46)。そして、TM01ACR>TFIRENDであるときは、FIREモードを終了させるべく終了フラグFFIRENDを「1」に設定して(ステップS48)、前記ステップS57に進む。
ステップS46でTM01ACR≦TFIRENDであるときは、終了フラグFFIRENDを「0」に設定し(ステップS47)、エンジン回転数NEが所定下限回転数NEFIRL(例えば700rpm)以上か否かを判別する(ステップS49)。NE<NEFIRLであるときは、前記ステップS57に進み、NE≧NEFIRLであるときは、FIREモードオンカウンタCFIRONを「1」だけインクリメントし(ステップS50)、カウンタCFIRONの値に応じて図4(b)に示すKMFIRテーブルを検索し、図6の処理で使用する継続時間補正係数KMFIRを算出する(ステップS51)。KMFIRテーブルは、カウンタCFIRONの値が増加するにしたがって補正係数KMFIRが増加し、カウンタCFIRONの値がさらに増加すると補正係数KMFIRが減少するように設定されており、図中のKMFIRmax、KMFIRmin及びn1は、例えばそれぞれ2.625,1.0及び2000に設定される。
続くステップS52では、吸気温TAに応じて図4(c)に示すKTAFIRテーブルを検索し、図6の処理で使用する吸気温補正係数KTAFIRを算出する。KTAFIRテーブルは、吸気温TAが増加するほど補正係数KTAFIRが増加するように設定されており、図中のKTAFIRmax、KTAFIRmin及びTA0,TA1は、例えばそれぞれ2.0,1.0及び−10℃、80℃に設定される。
続くステップS53では、車速VPが所定車速VFIRH(例えば5km/h)以上か否かを判別し、VP<VFIRHであるときは、エンジン1がアイドル状態にあることを「1」で示すアイドルフラグFIDLEが「1」であるか否かを判別する(ステップS54)。そして、VP≧VFIRHであって車両走行中であるとき、またはFIDLE=0であってアイドル状態でないときは、学習禁止フラグFDIGREFを「1」に設定し(ステップS56)、前記ステップS57に進む。一方、VP<VFIRHでありかつエンジン1がアイドル状態にあるときは、FIREモードフラグFFIREONを「1」に設定して(ステップS55)、本処理を終了する。
図5及び図6は、図2のステップS14で実行されるIFIRBS算出処理のフローチャートである。
ステップS161では、FIREモードフラグFFIREONが「1」であるか否かを判別し、その答が否定(NO)であるときは直ちに本処理を終了する。FFIREON=1であるときは、ステップS163に進み、エンジン始動後のTDC信号パルスの発生数である始動後TDC数NTDCASTが所定数NTDCFIR(例えば200)以上か否かを判別する(ステップS163)。エンジン始動直後は、NTDCAST<NTDCFIRであるので、直ちにステップS166に進む。始動後TDC数NTDCASTが所定数NTDCFIRに達すると、ステップS163からステップS164に進み、エンジン回転数NEに応じて図12(a)に示すTRMFIRテーブルを検索し、燃焼安定判定閾値TRMFIRを算出する。TRMFIRテーブルは、エンジン回転数NEが高くなるほど判定閾値TRMFIRが小さくなるように設定されている。
続くステップS165では、エンジン1の回転変動量を示す回転変動パラメータMETRMが、判定閾値TRMFIRより大きいか否かを判別する。ここで回転変動パラメータMETRMは、下記式(4)で定義される。
METRM=|MSME(n)−MSME(n−1)|/KMSSLB
(4)
ここで、KMSSLBは、エンジン回転数NEに反比例するように設定される係数であり、MSME(n)は下記式(5)(6)により定義されるCRK信号パルスの発生時間間隔、すなわちクランク軸が30°回転するのに要する時間CRME(n)の平均値である。(n),(n−1)は、それぞれ今回値、前回値を示すために付されている。
より詳細には、上記式(5)によりまず時間間隔CRME(n)の11回前の計測値CRME(n−11)から最新の計測値CRME(n)までの12個のCRME値の平均値として、第1の平均値CR12ME(n)を算出し、さらに上記式(6)により第1の平均値の5回前の算出値CR12ME(n−5)から最新の算出値CR12ME(n)までの6個のCR12ME値の平均値として、第2の平均値MSME(n)を算出する。そして、この第2の平均値MSME(n)を上記式(4)に適用することにより、回転変動パラメータMETRMが算出される。このようにして算出される回転変動パラメータMETRMは、エンジン1の燃焼状態が悪化するほどその絶対値が増加する傾向を示し、エンジンの燃焼状態を示すパラメータとして使用することができる。
METRM>TRMFIRが成り立つときは燃焼変動が大きいことを示す。その場合には、第2減算補正値IFIRDECを、所定加算量DIFIRDECだけインクリメントし(ステップS169)、ステップS174(図6)に進む。
ステップS165でMETRM≦TRMFIRであるときは、ステップS166に進み、後述する点火時期フィードバック制御の目標回転数NOBJを高くすることを「0」で示す回転数加算フラグFENEFIR(図18参照)が、「1」であるか否かを判別する。FENEFIR=1であって目標回転数NOBJを高くしていないときは、通常点火フラグFIGASTが「1」であるか否かを判別する(ステップS167)。通常点火フラグFIGASTは、エンジン始動開始時は「0」に設定されており、始動後の過渡制御が終了し、通常の点火時期制御に移行した時点で「1」に設定されるフラグである。ステップS166またはステップS167の答が否定(NO)、すなわちFENEFIR=0またはFIGAST=0であるときは、直ちにステップS174に進む。
フラグFENEFIR及びFIGASTがともに「1」であるときは、点火時期IGLOGが、下限値IGLGG(例えば−20deg)に、はりつき判定値IGFIRDEC(例えば1度)を加算した値以上か否かを判別する(ステップS168)。IGLOG<IGLGG+IGFIRDECであって点火時期の遅角量が大きいときは、前記ステップS169に進み、第2減算補正値IFIRDECをインクリメントし、吸入空気量を減量する。
一方IGLOG≧IGLGG+IGFIRDECであるときは、学習禁止フラグFDIGREFが「1」であるか否かを判別し(ステップS172)、FDIGREF=1であるときは直ちに、またFDIGREF=0であるときは、図11に示すIFIREF算出処理を実行して学習補正値IFIREFを算出し(ステップS173)、ステップS174に進む。
ステップS174では、エンジン1が搭載された車両が自動変速機を備えているか否かを判別し、手動変速機を備えた車両であるときは直ちにステップS176に進む。また自動変速機を備えた車両であるときは、自動変速機のシフト位置SFTがニュートラルレンジまたはパーキングレンジであるか否かを判別し(ステップS175)、シフト位置SFTがニュートラルレンジまたはパーキングレンジ以外のレンジにあるとき、すなわち自動変速機がインギヤ状態であるときは、エンジン冷却水温TWに応じて図12(b)に示すKIDRFIRNテーブルを検索し、インギヤ補正係数KIDRFIRXの下限値KIDRFIRNを算出する(ステップS178)。次いでインギヤ補正係数KIDRFIRXを、所定量DKIDRFIRだけデクリメントし(ステップS179)、ステップS179で更新されたインギヤ補正係数KIDRFIRXがステップS178で算出した下限値KIDRFIRNより小さいか否かを判別する(ステップS180)。そして、KIDRFIRX≧KIDRFIRNであるときは直ちに、またKIDRFIRX<KIDRFIRNであるときは、インギヤ補正係数KIDRFIRXをその下限値KIDRFIRNに設定して(ステップS181)、ステップS182に進む。
ステップS182では、下記式(7)により、FIREモード制御項IFIRの基本値IFIRBSを算出する。
IFIRBS=IFIRINI×KIDRFIRX
×(1+(KMFIR−1)×KTAFIR) (7)
ここで、KMFIR及びKTAFIRは、図3のステップS51及びS52で算出された継続時間補正係数及び吸気温補正係数であり、KIDRFIRXは、上記インギヤ補正係数であり、IFIRINIは、図7のステップS27またはS28で設定される初期値である。継続時間補正係数KMFIRは、時間経過(カウント値CFIRONの増加)に伴って、図4(b)に示すように変化するので、基本的には、吸入空気量は、FIREモードの開始時点から徐々に増加し、その後徐々に減少し、その後ほぼ一定の値を維持するように制御される(図19(a)参照)。インギヤ補正係数KIDRFIRXは、自動変速機がインギヤ状態であるとき、下限値KIDRFIRNに達するまで徐々に減少するように設定される。
一方ステップS175でシフト位置SFTがニュートラルレンジまたはパーキングレンジにあるときは、ステップS176に進み、インギヤ補正係数KIDRFIRXを「1.0」に設定し、次いで下記式(8)により、FIREモード制御項IFIRの基本値IFIRBSを算出する(ステップS177)。式(8)は式(7)のKIDRFIRXを「1」とした式に相当する。
IFIRBS=IFIRINI
×(1+(KMFIR−1)×KTAFIR) (8)
ステップS177またはS182において、基本値IFIRBSの算出が終了すると、エンジン始動後の時間を計測するアップカウントタイマTM01ACRの値が、所定時間T1STFIR(例えば1.0sec)以下か否かを判別する(ステップS183)。TM01ACR≦T1STFIRであるときは、さらにステップS177またはS182で算出した基本値IFIRBSが、アイドル開始初期値ICRSTからアイドル学習値IXREFMを減算した値以上であるか否かを判別する(ステップS184)。IFIRBS<ICRST−IXREFMであるときは、基本値IFIRBSを(ICRST−IXREFM)に設定し(ステップS185)、本処理を終了する。
ステップS183でタイマTM01ACRの値が、所定時間T1STFIRを越えたとき、またはステップS184で基本値IFIRBSが(ICRST−IXREFM)以上であるときは、直ちに本処理を終了する。
図5及び図6の処理によれば、エンジンの回転変動が大きくなったときまたは点火時期IGLOGの下限値貼り付き時は、第2減算補正値IFIRDECにより、吸入空気量が減少方向に補正され(ステップS165,S168,S169)、未燃燃料の排出量が増加すること、または点火時期IGLOGの遅角補正が不能となる(エンジン回転数NEを目標回転数NEFIRに一致させられなくなる)事態を回避することができる。
図7は、図2のステップS13で実行されるFFIRQUIT設定処理のフローチャートである。
ステップS25では、FIREモードフラグFFIREONが「1」であるか否かを判別し、その答が肯定(YES)であるときは直ちにステップS40に進み、過渡制御フラグFFIRQUITを「0」に設定する。一方、ステップS25の答が否定(NO)、すなわちFFIREON=0であってFIREモードへの移行またはFIREモードの継続が許可されていないときは、ステップS26に進み、エンジン冷却水温制御項ITWが、上限初期値IFIRINIH(例えば空気流量600リットル/min相当の値)より小さいか否かを判別する。ステップS26でITW<IFIRINIHであるときは、図6のステップS177及びS182で使用する初期値IFIRINIをエンジン冷却水温制御項ITWに設定する一方(ステップS27)、ITW≧IFIRINIHであるときは、初期値IFIRINIを上限初期値IFIRINIHに設定する(ステップS28)。
続くステップS29では、図5のステップS162またはS169で更新され、図9のステップS322で使用される第2減算補正値IFIRDECを「0」に設定する。次いで過渡制御フラグFFIRQUITが「1」か否かを判別し(ステップS31)、FFIRQUIT=1であって過渡制御中は、直ちにステップS36に進む。またFFIRQUIT=0であって過渡制御中でないときは、前回FIREモードフラグFFIREONが「1」であったか否かを判別し(ステップS32)、前回FFIREON=1であってFIREモード終了直後であるときは、過渡制御フラグFFIRQUITを「1」に設定して(ステップS33)、ステップS36に進む。
ステップS32で前回FFIREON=0であったときは、図11に示すIFIREF算出処理を実行する(ステップS34)。IFIREF算出処理では、点火時期の学習値IGREFHに基づいてFIREモード補正項IFIRの学習補正値IFIREFが算出される。続くステップS35では、図3のステップS50でインクリメントされ、FIREモードの継続回数をカウントするFIREモードオンカウンタCFIRONを「0」に設定し、次いで過渡制御フラグFFIRQUITを「0」に設定して(ステップS40)、本処理を終了する。
ステップS36では、点火時期IGLOGの遅角補正項IGFPIが、過渡制御の終了判定用閾値IGFPIQH(例えば−3度)より大きいか否かを判別し、IGFPI>IGFPIQHであって遅角補正項IGFPIの絶対値が小さい(遅角量が小さい)ときは、過渡制御を終了すべく前記ステップS40に進む。
ステップS36でIGFPI≦IGFPIQHであるときは、直ちに本処理を終了する。
以上のように図7に示す処理では、過渡制御フラグFFIRQUITの設定(ステップS33,S40)、FIREモード制御項IFIRの初期値IFIRINIの設定(ステップS26〜S28)、他の処理で使用されるパラメータの初期化(ステップS29,S35)、及び学習補正値IFIREFの算出(ステップS34)が行われる。過渡制御フラグFFIRQUITは、図8のステップS303及び図9のステップS323で参照される。
図8は、図2のステップS24で実行されるIFIREMP算出処理のフローチャートである。
ステップS301では、エンジン1の始動開始時点からの経過時間を計測するアップカウントタイマT10MSACRの値が所定待機時間TMIFIRMPST(例えば3秒)を超えているか否かを判別する。この答が否定(NO)であって、始動開始直後であるときは、ステップS308で参照されるダウンカウントタイマTIFIRMPを所定時間TMIFIRMP(例えば1秒)に設定してスタートさせる(ステップS304)とともに、第1減算補正値IFIREMPを「0」に設定する(ステップS305)。
ステップS301でタイマT10MSACRの値が所定待機時間TMIFIRMPSTを超えると、ステップS302に進み、FIREモードフラグFFIREONが「1」であるか否かを判別する。この答が否定(NO)であるときは、過渡制御フラグFFIRQUITが「1」であるか否かを判別する(ステップS303)。
ステップS303の答が否定(NO)であるときは、前記ステップS304に進む。ステップS302またはS303の答が肯定(YES)であるとき、すなわち、FIREモード中であるときまたはFIREモード終了直後の過渡制御中であるときは、走行フラグFVAICが「1」であるか否かを判別する(ステップS306)。走行フラグFVAICは、車速VPが所定車速VPSTP(例えば3km/h)より高いとき「1」に設定される。走行フラグFVAICが「1」であって車両走行中であるときは、ステップS304と同様にダウンカウントタイマTIFIRMPを所定時間TMIFIRMPに設定してスタートさせる(ステップS309)。ステップS310では、第1減算補正値IFIREMPを前回値IFIREMP(n-1)に設定する(ステップS310)。すなわち、第1減算補正値IFIREMPは前回の値が保持される。
ステップS306でFVAIC=0であって車両が停止しているときは、ゲージ圧PBGAが第1閾値MPPBGAL(例えば−25kPa(−188mmHg))より大きいか否かを判別する。ゲージ圧PBGAは、吸気圧PBAから大気圧PAを減算することにより算出され、エンジン運転中は負の値を有する。ゲージ圧PBGAが低下するほど(絶対値が増加するほど)ブレーキブースタ32の操作力が増加する。なお、ステップS306の判別はヒステリシスを伴って行われる。すなわち、本処理の前回実行時にPBGA>MPPBGALが成立したときは、今回の判別では(MPPBGAL−ΔP)が閾値として適用される一方、本処理の前回実行時にPBGA<MPPBGALが成立したときは、今回の判別では(MPPBGAL+ΔP)が閾値として適用される。ΔPは例えば13.3kPa(100mmHg)程度に設定される。
ステップS307の答が否定(NO)であって、ゲージ圧PBGAが十分に低下していてブレーキ操作力が確保されているときは、ダウンカウントタイマTIFIRMPを所定時間TMIFIRMPに設定してスタートさせ(ステップS311)、次いで第1減算補正値IFIREMPを下記式(9)により更新する(ステップS312)。式(9)の右辺のIFIREMPは前回算出値であり、DIFIREMPMは例えば空気流量2リットル/minに相当する値に設定される所定減算項である。式(9)による更新により第1減算補正量IFIREMPが減少し、FIREモード制御項IFIRが増加する(図9,ステップS322,S326参照)。すなわちブレーキ操作力が確保されているときは、触媒昇温の促進が図られる。
IFIREMP=IFIREMP−DIFIREMPM (9)
ステップS307でPBGA>MPPBGALであって、ブレーキ操作力が不足する可能性があるときは、ステップS304,S309,またはS311でスタートされるタイマTIFIRMPの値が「0」であるか否かを判別する(ステップS308)。最初はこの答は否定(NO)であるので、前記ステップS310に進み、第1減算補正値IFIREMPを前回値IFIREMP(n-1)に設定する。
ステップS308でタイマTIFIRMPの値が「0」となると、ステップS313に進み、ゲージ圧PBGAが第2閾値MPPBGAHより大きいか否かを判別する。第2閾値MPPBGAHは、第1閾値MPPBGALより大きな値、例えば−13.3kPa(−100mmHg)に設定されている。ステップS313の答が否定(NO)であって、ゲージ圧PBGAが第1閾値MPPBGALと第2閾値MPPBGAHの間にあるときは、下記式(10)により第1減算補正値IFIREMPを更新する(ステップS314)。式(10)の右辺のIFIREMPは前回算出値であり、DIFIREMPLPは例えば空気流量3リットル/minに相当する値に設定される第1所定加算項である。第1所定加算項DIFIREMPLPは、所定減算項DIFIREMPMより大きな値に設定される。この設定により、ブレーキ操作力が不足する場合の第1減算補正値IFIREMPの増加速度が、ブレーキ操作力が確保されている場合に減少速度より大きくなり、ブレーキブースタのブレーキ操作力を速やかに確保することができる。
IFIREMP=IFIREMP+DIFIREMPLP (10)
一方ステップS313の答が肯定(YES)、すなわちPBGA>MPPBGAHであってブレーキ操作力が確実に不足するときは、下記式(11)により第1減算補正値IFIREMPを更新する(ステップS315)。式(11)の右辺のIFIREMPは前回算出値であり、DIFIREMPHPは第1所定加算項DIFIREMPLPより大きな値、例えば空気流量5リットル/minに相当する値に設定される第2所定加算項である。式(11)による更新により、第1減算補正値IFIREMPは速やかに増加し、吸気圧PBAが速やかに低下してブレーキ操作力が確保される。
IFIREMP=IFIREMP+DIFIREMPHP (11)
図9は図2のステップS15で実行されるIFIR算出サブルーチンのフローチャートである。
ステップS321では、FIREモードフラグFFIREONが「1」であるか否かを判別する。その答が肯定(YES)であるときは、基本値IFIBS、学習補正値IFIREF、第1及び第2減算補正値IFIREMP,IFIRDECを下記式(12)に適用し、FIREモード制御項IFIRを算出する(ステップS322)。その後ステップS327に進む。
IFIR=IFIRBS+IFIREF−IFIREMP−IFIRDEC
(12)
ステップS321の答が否定(NO)、すなわちFFIREON=0であるときは、過渡制御フラグFFIRQUITが「1」であるか否かを判別する(ステップS323)。この答が肯定(YES)であって過渡制御中であるときは、走行フラグFVAICが「1」であるか否かを判別する(ステップS324)。ステップS323の答が否定(NO)、またはステップS324の答が肯定(YES)であるとき、すなわち過渡制御中でないときまたは車両走行中であるときは、FIREモード制御項IFIRを「0」に設定し(ステップS325)、本処理を終了する。
ステップS324の答が否定(NO)であって過渡制御を行うときは、下記式(13)によりFIREモード制御項IFIRを更新する(ステップS326)。式(13)の右辺のIFIRは前回算出値、DFIRQUは例えば空気流量2リットル/minに相当する値に設定される所定過渡制御項、IFIREMPは第1減算補正値である。
IFIR=IFIR−DFIRQU−IFIREMP (13)
ステップS327では、FIREモード制御項IFIRが、エンジン冷却水温TWに応じて設定されるエンジン冷却水温制御項ITW(エンジン冷却水温制御項ITWは、FIREモード以外のアイドル運転中などにおいて目標開度THCMDの算出に使用される制御項である)から下限値設定用所定値DIFIRL(例えば空気流量100リットル/minに相当する値)を減算した下限値(ITW−DIFIRL)以下か否かを判別する。その結果、IFIR>ITW−DIFIRLであるときは、直ちに、またIFIR≦ITW−DIFIRLであるときは、FIREモード制御項IFIRをその下限値(ITW−DIFIRL)に設定して(ステップS328)、本処理を終了する。
図10は、図8の処理を説明するためのタイムチャートであり、時刻t10にエンジン1が始動され、時刻t15〜t16の期間において走行フラグFVAICが「1」となった例が示されている。
ゲージ圧PBGAは時刻t10においてほぼ「0」であり、エンジン回転数の上昇に伴って急激に減少する。時刻t11までの期間では、第1減算補正値IFIREMPは「0」に保持される(図8,ステップS305)。その後ゲージ圧PBGAが上昇して時刻t12に第1閾値MPPBGALを超えると、所定時間TMIFIRMPが経過する時刻t13までは、第1減算補正値IFIREMPは前回値に保持され(図8,ステップS308,S310)、その後ステップS314が実行されて、第1減算補正値IFIREMPが徐々に増加する。時刻t14にゲージ圧PBGAが第1閾値MPPBGALを下回ると、ステップS312が実行されて、第1減算補正値IFIREMPが徐々に減少する。時刻t15に当該車両が走行を開始すると、当該車両が停止する時刻t16まで、第1減算補正値IFIREMPが保持される。時刻t16以後は、再度ステップS312が実行され、第1減算補正値IFIREMPが徐々に減少する。
図8の処理によれば、ブレーキブースタ32の操作力を示す圧力パラメータであるゲージ圧PBGAが第1閾値MPPBGALより高いときは、所定加算項DIFIREMPLPまたはDIFIREMPHPにより、第1減算補正値IFIREMPが徐々に増加するように制御される。その結果、スロットル弁開度THが徐々に減少して吸入空気量が徐々に減少し、ゲージ圧PBGAが低下する。当該車両が走行を開始すると、FIREモードフラグFFIREONは「0」となるが、その直後は過渡制御フラグFFIRQUITが「1」に設定されるので、ステップS303からステップS306,S309を経てステップS310が実行され、第1減算補正値IFIREMPはFIREモードフラグFFIREONが「0」となる直前の値に保持される。したがって、FIREモードが比較的短時間中断された後に再開された場合には、保持した第1減算補正値IFIREMPが適用されるので、ブレーキブースタ32によるブレーキ操作力を迅速に確保することができる。
またゲージ圧PBGAが第1閾値MPPBGALより高いときは、第1減算補正値IFIREMPが第1所定加算項DIFIREMPLPまたは第2所定加算項DIFIREMPHPにより増加方向に更新される(ステップS314,S315)一方、ゲージ圧PBGAが第1閾値MPPBGALより低くなったときは、ブレーキ操作力は確保されるので、第1減算補正値IFIREMPが所定減算項DIFIREMPMにより減少方向に更新される。これにより、ゲージ圧PBGAが第1閾値MPPBGALに収束するように、スロットル弁開度THが制御され、触媒昇温促進(FIREモード)に必要な吸入空気量が過剰に減らされることがなくなり、ブレーキブースタ32によるブレーキ操作力を確保しつつ、三元触媒16の昇温を早期に完了することができる。
またブレーキブースタ32の操作力を示す圧力パラメータとしてゲージ圧PBGAを使用することにより、大気圧が低下する高地においても適正なブレーキ操作力を得ることができる。
また、エンジン1の始動開始時点(t10)から所定待機時間TMIFIRMPSTが経過するまでの期間は、第1減算補正値IFIREMPが「0」に保持されるので、エンジン始動開始直後において吸気圧PBAが大気圧PAとほぼ等しい状態から低い状態へ移行するときに、吸入空気量の漸減制御が行われなくなり、吸入空気量の不要な減量を防止し、触媒昇温を早めることができる。
また、ゲージ圧PBGAが第1閾値MPPBGALより高い状態が所定時間TMIFIRMP継続したときに、第1減算補正値IFIREMPの漸増制御(S314,S315)が実行されるので、例えば自動変速機がインギア状態へ移行する(ニュートラルからドライブレンジ、あるいはレバースレンジへの切り換えが行われる)といった負荷の増加によって吸気圧PBAが一時的に増加するようなときには、第1減算補正値IFIREMPの漸増制御が実行されない。したがって、吸入空気量の不要な減量を防止し、触媒昇温を迅速に完了することができる。
図11は、図5のステップS173または図7のステップS34で実行されるIFIREF算出処理のフローチャートである。
ステップS201では、目標開度THCMDが、所定上下限値THCMDFRH,THCMDFRLの範囲内にあるか否かを判別し、THCMD≧THCMDFRHまたはTHCMD≦THCMDFRLであるときは、直ちにステップS208に進む。
THCMDFRL<THCMD<THCMDFRHであるときは、当該車両が自動変速機を備えた車両であるか否かを判別し(ステップS202)、自動変速機を備えた車両であるときはシフト位置SFTがニュートラルレンジまたはパーキングレンジであるか否かを判別する(ステップS203)。そして、当該車両が手動変速機を備えた車両であるとき、または自動変速機のシフト位置がニュートラルレンジまたはパーキングレンジであるとき、ステップS204に進み、自動変速機のシフト位置SFTがニュートラルレンジまたはパーキングレンジ以外のレンジにあるときは、直ちにステップS208に進む。
一方、当該車両がマニュアル変速機を備えた車両であるとき、または自動変速機のシフトレンジがニュートラルレンジまたはパーキングレンジにあるときは、点火時期の変化量の絶対値|IGLOG(n)−IGLOG(n−1)|が、所定変化量DIGFIRより小さいか否かを判別する(ステップS204)。絶対値|IGLOG(n)−IGLOG(n−1)|<DIGFIRであって点火時期の変化量が小さいときは、点火時期IGLOGが所定点火時期IGFIRHより大きいか否かを判別する(ステップS205)。所定点火時期IGFIRHは、FIREモードにおいて点火時期IGLOGが通常とりうる最小値近傍に設定されており、かつ図5のステップS168で参照される(IGLGG+IGFIRDEC)より大きな値に設定されている。
ステップS205でIGLOG>IGFIRHであるときは、さらに始動後の経過時間を示すタイマTM01ACRの値が、所定時間TFRREFIN(例えば20sec)を越えているか否かを判別する(ステップS206)。そして、ステップS204若しくはS205の答が否定(NO)のとき、またはステップS206の答が肯定(YES)のときは、直ちにステップS208に進み、ステップS206の答が否定(NO)であるときは、下記式(14)、(15)により、点火時期の学習値IGREFH及びその学習値IGREFHと前記所定点火時期IGFIRHとの偏差(以下「学習値偏差」という)DIGREFHを算出する(ステップS207)。
IGREFH=CFIREFH×IGLOG
+(1−CFIREFH)×IGREFH(n−1)
(14)
DIGREFH=IGREFH−IGFIRH (15)
ここでCFIREFHは、0から1の間の値に設定されるなまし係数、IGREFH(n−1)は、学習値の前回算出値である。
ステップS208では、学習値偏差DIGREFHに応じて図12(c)に示すDIFRREFNテーブルを検索し、開弁制御量偏差DIFRREFNを算出する。DIFRREFNテーブルは、学習値偏差DIGREFHが増加するほど、開弁制御量偏差DIFRREFNが増加するように設定されている。
次いで学習補正値IFIREFを開弁制御量偏差DIFRREFNに設定し(ステップS209)、本処理を終了する。
このようにして算出される学習補正値IFIREFを用いることにより、スロットル弁3の開弁特性ばらつきまたは経時変化に起因する実際の吸入空気量の増加量のばらつきを補正し、吸入空気量の増加量をほぼ一定とすることができる。
図13は、点火時期制御処理のフローチャートであり、この処理はECU5のCPUでTDC信号パルスの発生に同期して実行される。
ステップS71では、エンジン回転数NE及び吸気圧PBAに応じて基本点火時期IGMAPを算出し、次いで遅角補正項IGFPI以外の補正項IGCRを算出する(ステップS72)。ステップS73では、図14に示すフィードバック(FB)制御実施条件判断処理を実行する。この処理は、検出したエンジン回転数NEがFIREモード目標回転数NEFIRに一致するように点火時期を制御するフィードバック制御の実施条件を判定し、実施条件が成立するときフィードバック制御フラグFFIRENEFBを「1」に設定する。
ステップS74では、フィードバック制御フラグFFIRENEFBが「1」であるか否かを判別し、FFIRENEFB=0であるときは、遅角補正項IGFPIを「0」に設定する一方(ステップS75)、FFIRENEFB=1であって実施条件が成立するときは、エンジン回転数NEに応じて遅角補正項IGFPIの設定を行うフィードバック制御を実行する(ステップS76)。
ステップS77では、前記式(2)により点火時期IGLOGを算出し、本処理を終了する。
図14は、図13のステップS73において実行されるFB制御実施条件判断処理のフローチャートである。ステップS91では、FIREモードフラグFFIREONが「1」であるか否かを判別し、FFIREON=0であってFIREモードでないときは、過渡制御フラグFFIRQUITが「1」であるか否かを判別する(ステップS103)。そして、FFIRQUIT=0であって過渡制御中でもないときは、フィードバック制御フラグFFIRENEFB及びフィードバック制御時の目標回転数を増加させないことを「1」で示す目標回転数フラグFNOENEFIR(図18,ステップS141参照)をともに「0」に設定して(ステップS105)、本処理を終了する。
ステップS103でFFIRQUIT=1であって過渡制御中であるときは、スロットル弁開度THが所定開度THFIR(例えば0.88deg)以上か否かを判別する(ステップS104)。TH<THFIRであってスロットル弁がほぼ全閉状態にあるときは、直ちに本処理を終了し、TH≧THFIRであるときは、前記ステップS105に進む。ステップS104から直ちに本処理を終了する場合には、FIREモードフラグFFIREON=0であってもFFIRENEFB=1が維持され、フィードバック制御が継続される。
ステップS91でFFIREON=1であるときは、過渡制御フラグFFIRQUITが「1」であるか否かを判別し(ステップS92)、FFIRQUIT=1であるときは、フィードバック制御フラグFFIRENEFBを「0」に設定して(ステップS94)、ステップS95に進む。またFFIRQUIT=0であるときは、フィードバック制御フラグFFIRENEFBが既に「1」に設定されているか否かを判別し(ステップS93)、FFIRENEFB=1であるときは直ちに本処理を終了し、FFIRENEFB=0であるときは、ステップS95に進む。
ステップS95では、始動完了(クランキング終了)後の経過時間を計測するアップカウントタイマTM01ACRの値が所定時間T1STFIR(例えば1msec)以下か否かを判別し、TM01ACR≦T1STFIRであって始動直後であるときは、フィードバック制御開始判定用加算値NEFPIST、目標回転数補正用加算値DNEFIR、及びフィードバック制御開始判定用カウント値CFNEFBSTを、それぞれ第1の値NEFPI1(例えば200rpm)、DNEF1(例えば1rpm)及びCFNEFB1(例えば200)に設定する一方(ステップS96)、TM01ACR>T1STFIRであるときは、フィードバック制御開始判定用加算値NEFPIST、目標回転数補正用加算値DNEFIR、及びフィードバック制御開始判定用カウント値CFNEFBSTを、それぞれ第2の値NEFPI2(例えば200rpm)、DNEF2(例えば12rpm)及びCFNEFB2(例えば2)に設定する(ステップS97)。
続くステップS98では、エンジン回転数NEが通常制御時の目標回転数NOBJにフィードバック制御開始判定用加算値NEFPISTを加算した値以上か否かを判別し、NE<NOBJ+NEFPISTであるときは、FIREモードオンカウンタCFIRONの値がフィードバック制御開始判定用カウント値CFNEFBST以上か否かを判別する(ステップS99)。その結果、ステップS98,S99の答がともに否定(NO)であってエンジン回転数NEが低く且つFIREモード継続時間が短いときは、フィードバック制御を実行しないこととして直ちに本処理を終了する。
また、ステップS98でNE≧NOBJ+NEFPISTであるときは、目標回転数フラグFNOENEFIRを「1」に設定し(ステップS101)、ステップS99でCFIRON≧CFNEFBSTであるときは、目標回転数フラグFNOENEFIRを「0」に設定して(ステップS100)、ステップS102に進む。これにより、フィードバック制御開始時のエンジン回転数NEが高いとき(NE≧NOBJ+NEFPIST)は、FIREモード目標回転数NEFIRの算出に使用される目標回転数加算値ENEFIRが「0」に設定される(図18及び図15のステップS117,S118参照)。
ステップS102では、フィードバック制御フラグFFIRENEFBを「1」に設定するとともに、FIREモードオンカウンタCFIRONの値を記憶値CFRPISTとして記憶する。
図15及び図16は、図13のステップS76で実行されるフィードバック制御処理のフローチャートである。ステップS111では、目標回転数加算値ENEFIRを設定する処理(図18)を実行して、加算値ENEFIRの設定を行う。
ステップS112では、自動変速機のシフト位置SFTがニュートラルレンジまたはパーキングレンジからドライブレンジまたはリバースレンジ(インギヤ状態)にまたはその逆に変化したか否かを判別し、変化したときは、ステップS115で参照されるダウンカウントタイマtmINGFIRに所定時間TINGFIR(例えば3秒)を設定してスタートさせ(ステップS113)、フィードバック制御のI項IIGFIR及び遅角補正項IGFPIをともに前回値保持として(ステップS114)、本処理を終了する。
ステップS112でシフト位置の変化が無いときは、ステップS113でスタートしたタイマtmINGFIRの値が「0」か否かを判別し(ステップS115)、tmINGFIR>0である間は、前記ステップS114に進む。tmINGFIR=0となると、シフト位置SFTがドライブレンジまたはリバースレンジ(インギヤ状態)か否かを判別し(ステップS116)、インギヤ状態でないときは、下記式(22)によりFIREモード目標回転数NEFIRを算出して(ステップS117)、ステップS121に進む。
NEFIR=NOBJ+ENEFIR (22)
ここでNOBJは、通常の(FIREモード以外の)アイドル状態における目標回転数であり、ENEFIRは、ステップS111で算出される目標回転数加算値である。
ステップS116でシフト位置SFTがドライブレンジまたはリバースレンジであるとき、すなわちインギヤ状態のときは、下記式(23)によりFIREモード目標回転数NEFIRを算出する(ステップS118)。
NEFIR=NOBJ+ENEFIR−DNEFIRDR (23)
ここで、DNEFIRDRは、例えば300rpmに設定されるインギヤ時補正値である。
続くステップS119では、FIREモード目標回転数NEFIRが下限値NEIGFIRL(例えば730rpm)以下か否かを判別し、NEFIR>NEIGFIRLであるときは直ちに、またNEFIR≦NEIGFIRLであるときは目標回転数NEFIRをその下限値NEIGFIRLに設定して(ステップS120)、ステップS121に進む。
ステップS121では、点火時期IGLOGに応じて図17に示すKIIGFIRテーブルを検索し、積分項ゲインKIIGFIRを算出する。KIIGFIRテーブルは、点火時期IGLOGが増加する(進角する)ほど積分項ゲインKIIGFIRが増加するように設定されている。図17においてKIIGFIRmax,KIIGFIRmin及びIGLOG1,IGLOG2は、それぞれ例えば0.063,0.016及び−10度、12度に設定される。
続くステップS122では、エンジン回転数NE、FIREモード目標回転数NEFIR及び積分項ゲインKIIGFIRを下記式(24)に適用して、加算値IIGFTMPを算出する。
IIGFTMP=KIIGFIR×(NEFIR−NE) (24)
続くステップS123では、積分項の前回値IIGFIR(n−1)に加算値IIGFTMPを加算することにより積分項(今回値)IIGFIRを算出する。
続く図16のステップS124〜S127では、積分項IIGFIRのリミット処理を行う。すなわち、積分項IIGFIRが所定上下限値IGFIRPIH,IGFIRPILの範囲内にあるときは直ちにステップS128に進み(ステップS124,S125)、積分項IIGFIRが所定下限値IGFIRPILより小さいときは、積分項IIGFIRをその所定下限値IGFIRPILに設定し(ステップS124,S126)、積分項IIGFIRが所定上限値IGFIRPIHより大きいときは、積分項IIGFIRをその所定上限値IGFIRPIHに設定して(ステップS125,S127)、ステップS128に進む。
ステップS128では、下記式(25)により比例項PIGFIRを算出する。
PIGFIR=KPIGFIR×(NEFIR−NE) (25)
次いで積分項IIGFIR及び比例項PIGFIRを加算して遅角補正項IGFPIを算出し(ステップS129)、遅角補正項IGFPIのリミット処理を行う(ステップS130〜S133)。すなわち、遅角補正項IGFPIが所定上下限値IGFIRPIH,IGFIRPILの範囲内にあるときは直ちに本処理を終了し(ステップS130,S131)、遅角補正項IGFPIが所定下限値IGFIRPILより小さいときは、遅角補正項IGFPIをその所定下限値IGFIRPILに設定し(ステップS130,S132)、遅角補正項IGFPIが所定上限値IGFIRPIHより大きいときは、遅角補正項IGFPIをその所定上限値IGFIRPIHに設定して(ステップS131,S133)、本処理を終了する。
以上のように図15及び図16の処理により、エンジン回転数NEがFIREモード目標回転数NEFIRに一致するように遅角補正項IGFPIを算出するフィードバック制御が実行される。
図18は、図15のステップS111で実行されるENEFIR設定処理のフローチャートである。ステップS141では、目標回転数フラグFNOENEFIRが「1」であるか否かを判別し、FNOENEFIR=1であって目標回転数を増加させないときは、回転数加算フラグFENEFIRを「1」に設定するとともに、目標回転数加算値ENEFIRを「0」に設定して(ステップS144)、本処理を終了する。
FNOENEFIR=0であるときは、下記式(26)により加算値ENEFIRを算出する(ステップS142)。
ENEFIR=NEFPIST
−DNEFIR×(CFIRON−CFIRPIST)
(26)
ここでNEFPIST及びDNEFIRは、図14のステップS96またはS97で設定されるフィードバック制御開始判定用加算値及び目標回転数補正用加算値であり、CFIRONはFIREモードオンカウンタの値、CFIRPISTは、図14のステップS102で記憶した記憶値である。すなわち、(CFIRON−CFIRPIST)は、フィードバック制御の開始時点からの経過時間に対応するカウント値である。したがって式(26)及び式(22)または(23)によりFIREモード目標回転数NEFIRは、フィードバック制御開始当初は、(NOBJ+NEFPIST)に等しく、時間経過に伴って漸減し、最終的には通常の目標回転数NOBJに一致するように設定される(図19(c)参照)。
続くステップS143では、加算値ENEFIRが0以下か否かを判別し、ENEFIR≦0であるときは前記ステップS144に進み、ENEFIR>0であるときは、回転数加算フラグFENEFIRを「0」に設定して(ステップS145)、本処理を終了する。
図19は、上述した吸入空気量制御及び点火時期制御を説明するためのタイムチャートであり、同図(a)(b)及び(c)はそれぞれスロットル弁の目標開度THCMD,点火時期IGLOG及びエンジン回転数NEの推移を示している。
図19には、時刻t0に始動(クランキング)を開始し、時刻t1に自立運転を開始すると、直ちにFIREモードに移行する例、すなわち時刻t0からt1までの時間が所定待機時間TMIFIRMPSTより長い例が示されている。エンジン回転数NEが増加し、時刻t2において点火時期のフィードバック制御の実行条件が成立し、フィードバック制御が開始される。FIREモード目標回転数NEFIRは、上記したように当初は(NOBJ+NEFPIST)に等しく、その後通常制御の目標回転数NOBJまで漸減される。
目標開度THCMDは、FIREモードに移行すると徐々に増加させてから減少させるように制御される。ゲージ圧PBGAが第1閾値MPPBGALより高くなり、その後所定時間TMIFIRMPが経過すると(時刻t3)、ゲージ圧PBGAを低下させるべく、目標開度THICMDが徐々に低減される。時刻t4にFIREモードを終了した直後は、過渡制御により徐々に減少させるように制御される。
遅角補正項IGFPIは、同図(b)に破線で示すように推移し、点火時期IGLOGは、通常制御値(IGMAP+IGCR)より遅角側に制御される。時刻t3から目標開度THCMDの漸減が開始されると、エンジン回転数NEを目標回転数NEFIR(=NOBJ)に維持すべく、遅角補正項IGFPIが増加する(遅角量が減少する)。時刻t4以後は、徐々に通常制御値に移行するように制御される。
エンジン回転数NEは、時刻t2〜t4の間は、フィードバック制御により目標回転数NEFIRに一致するように制御される。図示例では、時刻t4の直後に当該車両が発進する場合を示しており、車速VPが徐々に増加していく。
本実施形態では、スロットル弁3が吸気制御弁に相当し、スロットル弁3、アクチュエータ13、及びECU5が吸入空気量制御手段を構成する。また吸気圧センサ7が吸気管内圧力検出手段に相当し、クランク角度位置センサ10が回転数検出手段に相当する。またECU5が点火時期制御手段、触媒昇温手段、触媒昇温制御抑制手段、保持手段、及び禁止手段を構成する。より具体的には、図2,3,5,7,8及び9の処理が吸入空気量制御手段に相当し、図13〜図16及び図18の処理が点火時期制御手段に相当し、図5のステップS163以降の処理及び図15の処理が触媒昇温手段に相当し、図8のステップS304,S307〜S309、及びS311〜S315が触媒昇温制御抑制手段に相当し、ステップS310が保持手段に相当し、ステップS301が禁止手段に相当する。
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、ゲージ圧PBGA(=PBA−PA)をブレーキブースタの操作力を示す圧力パラメータとして使用したが、吸気圧PBAを圧力パラメータとして使用してもよい。当該車両が高地に移動し、大気圧PAが比較的大きく変化しない限り、吸気圧PBAを上記圧力パラメータとして使用しても、ゲージ圧PBGAを使用する場合と同様の効果を得ることができる(ただし上述した図8の処理においては、PBGAを(−PBA)に置換する必要がある。さらにブレーキブースタ32内の圧力PBBを検出し、検出したブレーキブースタ内圧力PBBまたはブレーキブースタ内圧力PBBと大気圧との差圧(PBB−PA)を上記圧力パラメータとして使用してもよい。
また上述した実施形態では、DBW(Drive By Wire)型のスロットル弁3を使用し、スロットル弁3、アクチュエータ13及びECU5により吸入空気量制御手段を構成したが、アクセルペダルと機械的にリンクしたスロットル弁を使用し、このスロットル弁をバイパスするバイパス通路、及び該バイパス通路を介して吸入される空気量を制御するバイパス空気量制御弁を設け、バイパス空気量制御弁をECU5により制御することにより、吸入空気量を制御するようにしてもよい。その場合には、バイパス空気量制御弁が吸気制御弁に相当し、バイパス通路、バイパス空気量制御弁、及びECU5により吸入空気量制御手段が構成される。
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの制御にも適用が可能である。