以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図1は、本発明の第1実施形態による内燃機関の燃料供給装置1を、これを適用した内燃機関(以下「エンジン」という)3とともに示している。このエンジン3は、4つの1番〜4番気筒#1〜#4(複数の気筒)を備えた、車両(図示せず)用の4サイクル直列4気筒型ガソリンエンジンである。また、エンジン3は、クランクシャフトと、このクランクシャフトに連結され、気筒ごとに設けられたピストン(いずれも図示せず)と、気筒#1〜#4に吸入空気を吸入するための吸気管4および吸気弁と、各気筒内の混合気を点火するための点火プラグ(いずれも図示せず)を備えている。
上記の吸気管4は、その下流側が4つの気筒#1〜#4にそれぞれ対応する4つの分岐部4a,4a,4a,4aに分岐しており、これらの分岐部4a〜4aを介して、気筒#1〜#4に接続されている。なお、図1では、便宜上、4番気筒#4に接続された分岐部4aの符号のみが描かれており、他の分岐部4aの符号は省略されている。
燃料供給装置1は、気筒ごとに設けられた燃料噴射弁(以下「インジェクタ」という)5と、その動作を制御するためのECU2を備えている。各インジェクタ5は、分岐部4aに、吸気ポート(図示せず)に臨むように取り付けられており、ECU2からの駆動信号によって、その開弁時間である燃料噴射量や噴射時期(タイミング)を含む噴射動作が制御される。インジェクタ5の燃料噴射は、エンジン3が4サイクルタイプであるため、4つの気筒#1〜#4に対して、#1→#3→#4→#2の順で行われる。なお、図1では、便宜上、1番気筒#1に対応するインジェクタ5の符号のみが描かれており、他のインジェクタ5の符号は省略されている。
また、周知のように、エンジン3では、各気筒において、1燃焼サイクルが、吸入行程、圧縮行程、爆発行程および排気行程から成る4つの行程で完結される。本実施形態では、これらの4つの行程は、次のように定義される。
吸入行程:混合気を吸入する吸入動作が行われる行程であって、ピストンがTDCからBDCに位置するまでの、クランクシャフトの回転角(以下「クランク角」という)180°の区間で表される。
圧縮行程:吸入動作で吸入された混合気を圧縮する圧縮動作が行われる行程であって、ピストンがBDCからTDCに位置するまでの、クランク角180°の区間で表される。
爆発行程:圧縮動作で圧縮された混合気を燃焼させ、膨張させる爆発動作が行われる行程であって、ピストンがTDCからBDCに位置するまでの、クランク角180°の区間で表される。
排気行程:爆発動作で生成された既燃ガスを排出する排気動作が行われる行程であって、ピストンがBDCからTDCに位置するまでの、クランク角180°の区間で表される。
また、エンジン3には、水温センサ11が取り付けられている。この水温センサ11は、サーミスタなどで構成されており、エンジン3のシリンダブロック内を循環する冷却水の温度であるエンジン水温TWを検出し、その検出信号をECU2に出力する。さらに、ECU2には、大気圧センサ12から、大気圧PAを表す検出信号が出力される。
また、エンジン3のクランクシャフトには、クランク角センサ13が取り付けられている。クランク角センサ13は、電磁ピックアップ式のものであり、クランクシャフトに同軸状に固定された第1ロータと、第1ロータの付近に設けられた第1ピックアップ(いずれも図示せず)などで構成されている。また、クランク角センサ13は、クランクシャフトの回転に伴い、パルス信号であるCRK信号を発生させるとともに、ECU2に出力する。
図2は、このCRK信号の推移を、4つの気筒#1〜#4における行程や、ピストンの位置などとともに示している。同図に示すように、CRK信号は、基本的には、所定の第1クランク角(例えば6゜)ごとに発生し、1番気筒#1における圧縮行程の終期および排気行程の終期には、この所定の第1クランク角よりも若干、大きなパルス間隔で発生する。ECU2は、CRK信号に基づいて、エンジン3の回転数(以下「エンジン回転数」という)を算出する。
また、エンジン3の吸気弁は、カムシャフト(図示せず)によって駆動される。このカムシャフトは、タイミングベルト(図示せず)などを介して、クランクシャフトに連結されており、クランクシャフトが2回転するごとに1回転する。カムシャフトには、カム角センサ14が取り付けられている。
このカム角センサ14は、クランク角センサ13と同様の電磁ピックアップ式のものであり、カムシャフトに同軸状に固定された第2ロータと、第2ロータの付近に設けられた第2ピックアップ(いずれも図示せず)などで構成されている。また、カム角センサ14は、カムシャフトの回転に伴い、パルス信号であるTDC信号を発生させるとともに、ECU2に出力する。
図2に示すように、このTDC信号は、1番気筒#1における圧縮行程の終期に立ち上がった後、その次の爆発行程の終期に立ち下がり、その次の排気行程の開始直前に立ち上がる。そして、この排気行程の終期に立ち下がった後、その次の吸入行程の終期に立ち上がり、その次の圧縮行程の開始直前に立ち下がる。
また、ECU2には、エンジン3を始動するためのイグニッションスイッチ(以下「IG・SW」という)16から、そのON信号およびOFF信号がIG信号として出力される。さらに、ECU2には、吸気圧センサから、吸気管4内の圧力を表す検出信号が出力される。
ECU2は、I/Oインターフェース、CPU、RAM、ROMおよびEEPROMなどから成るマイクロコンピュータで構成されている。前述した各種のセンサ11〜14およびIG・SW16からの出力はそれぞれ、I/OインターフェースでA/D変換や整形がなされた後、CPUに入力される。ECU2は、これらの入力信号に応じ、ROMに記憶された制御プログラムなどに従って、インジェクタ5の噴射動作(燃料噴射量・噴射時期)を制御する。
以下、図3〜図10を参照しながら、ECU2によって行われる各種の処理について説明する。図3は、インジェクタ5の噴射動作を制御するための噴射モードを決定する噴射モード決定処理を示している。本処理は、前述したIG信号がONに切り換わったときに開始され、所定周期(例えば200msec)で実行される。
まず、図3のステップ1(「S1」と図示。以下同じ)では、エンジン停止時間CENGSTPが、所定の判定時間TMNSTHOT以上であるか否かを判別する。このエンジン停止時間CENGSTPは、エンジン3の前回の停止時から今回の始動時までの停止時間であり、ECU2のタイマ(図示せず)によって計時される。また、上記の判定時間TMNSTHOTは、エンジン3の始動時、エンジン3で自己着火が発生しやすいか否かを判定するためのものであり、実験などによって設定されている。
上記ステップ1の答がYESのときには、エンジン3の停止時間が比較的、長いため、エンジン3が停止中に外気によって十分に冷却されており、自己着火が発生しにくいと判定する。そして、通常モードによってインジェクタ5の噴射動作を制御するために、高温モードフラグF_NSTHOTを「0」にセットし(ステップ2)、本処理を終了する。これにより、インジェクタ5の噴射動作が、通常モードによって制御される。この通常モードについては後述する。一方、ステップ1の答がNOのときには、エンジン停止時間CENGSTPに応じ、図4に示す所定のマップを検索することによって、所定の判定温度TWNSTHOTを算出する(ステップ3)。
この判定温度TWNSTHOTは、エンジン水温TWとの比較によって自己着火が発生しやすいか否かを判定するためのものであり、エンジン停止時間CENGSTPに応じて、自己着火が発生する確率がほぼ0%になるようなエンジン水温TWに、実験により設定されている。図4に示すように、上記のマップでは、判定温度TWNSTHOTは、エンジン停止時間CENGSTPが短いほど、より低い値に設定されている。この理由については後述する。
前記ステップ3に続くステップ4では、検出されたエンジン水温TWがステップ3で算出された判定温度TWNSTHOTよりも高いか否かを判別する。この答がNOのときには、前記ステップ2を実行し、本処理を終了する一方、YESのときには、自己着火が発生しやすいとして、これを防止すべく、高温モードによってインジェクタ5の噴射動作を制御するために、高温モードフラグF_NSTHOTを「1」にセットし(ステップ5)、本処理を終了する。これにより、インジェクタ5の噴射動作が、高温モードによって制御される。また、判定温度TWNSTHOTがエンジン停止時間CENGSTPに応じて上述したように設定されているのは、エンジン停止時間CENGSTPが短いほど、エンジン3が停止中に外気によって冷却される度合いが小さいことから、自己着火がより発生しやすいため、高温モードによる制御を強制的に実行することによって自己着火の発生を確実に防止するためである。
次に、高温モードについて説明する。この高温モード中、第1燃料噴射制御処理および第2燃料噴射制御処理が、順に実行される。図5は、この第1燃料噴射制御処理を示している。本処理は、エンジン3の始動性を向上させるために、4つの気筒#1〜#4のすべてに同時に燃料を噴射する斉時噴射を行うためのものであり、エンジン3の始動の開始に伴い、前述したIG信号がOFFからONに切り換わったときに開始される。
まず、図5のステップ11では、始動フラグF_ENGSTが「1」であるか否かを判別する。この始動フラグF_ENGSTは、エンジン3の始動の開始に伴い、IG信号がOFFからONに切り換わったときに、「1」にセットされ、その後、4つの気筒#1〜#4のすべてにおいて燃焼が1回、行われたときに、「0」にリセットされる。
上記ステップ11の答がNOのときには、そのまま本処理を終了する。一方、ステップ11の答がYESで、F_ENGST=1のとき、すなわち、エンジン3の始動時には、所定の第1行程用の補正係数KSTHOT[1]、第2行程用の補正係数KSTHOT[2]、第3行程用の補正係数KSTHOT[3]および第4行程用の補正係数KSTHOT[4]のうちの最小のものを、最小補正係数KSTHOTMINとして設定する(ステップ12)。
この最小補正係数KSTHOTMINは、斉時噴射用の燃料量の算出に係数として用いられるものである。また、上記の第1〜第4行程用の補正係数KSTHOT[1]〜[4]はそれぞれ、検出された吸気圧PAに応じ、所定のマップ(図示せず)を検索することによって算出され、このマップでは、全体として値1.0よりも小さな値に設定されている。これは、前述したように自己着火が発生しやすいときに本処理が行われることから、自己着火の発生を防止すべく、斉時噴射による燃料量を低減するためである。また、上記のマップでは、第1〜第4行程用の補正係数KSTHOT[1]〜[4]は、大気圧PAが低いほど、より大きな値に設定されている。これは、大気圧PAが低いほど、エンジン3の有効圧縮比が小さくなり、圧縮動作における気筒#1〜#4内の温度上昇が小さくなることによって、自己着火が発生しにくいため、斉時噴射による燃料量を大きく低減する必要がないためである。
上記ステップ12に続くステップ13では、気筒番号値iをインクリメントする。この気筒番号値iは、気筒#1〜#4の番号を表すものであり(i=1〜4のいずれか)、本処理の開始時に値0にリセットされる。次いで、ステップ12で算出された最小補正係数KSTHOTMINを、要求噴射量TCYLに乗算することによって、第1燃料噴射すなわち1行程目の最終燃料噴射量TOUT[1]を算出する(ステップ14)。この要求噴射量TCYLは、各気筒に要求される燃料噴射量であり、図6のステップ21において、エンジン水温TWや、算出されたエンジン回転数、吸気管4内の圧力などのエンジン3の運転状態を表すパラメータに応じて算出される。この場合、例えば、要求噴射量TCYLは、エンジン水温TWが高いほど、燃料が気化し易くなるために、より小さな値に算出される。また、図6に示す要求噴射量TCYLを算出する処理は、前述したCRK信号に応じ、所定の第2クランク角(例えば180°)ごとに実行される。
図5に戻り、上記ステップ14に続くステップ15では、ステップ14で算出された最終燃料噴射量TOUT[1]に基づく駆動信号を、当該気筒#iに対応するインジェクタ5に出力する。これにより、最終燃料噴射量TOUT[1]分の燃料が当該気筒#iに対して噴射される。
次いで、最終燃料噴射量TOUT[1]を、当該気筒#iの初回噴射量TOUT1st[i]として設定する(ステップ16)。次に、当該気筒#iに対して、エンジン3の始動の開始時から1回目の燃料の噴射が行われたことを表すために、当該気筒#iの初回噴射済みフラグF_INJFLG[i]を「1」にセットする(ステップ17)。次いで、ステップ13でインクリメントされた気筒番号値iが、気筒数NOFCYL(=4)と等しいか否かを判別する(ステップ18)。この答がNOのときには、前記ステップ13に戻る一方、YESのとき、すなわち、ステップ14〜17が、4つの気筒#1〜#4のすべてに対して実行されたときには、斉時噴射が完了したとして、本処理を終了する。
以上のように、第1燃料噴射制御処理では、ステップ15による燃料の噴射動作が、1回のループ中に、1番〜4番気筒#1〜#4に対して、順に実行されるので、ほぼ同時に実行される。それにより、4つの気筒#1〜#4のすべてに対して、燃料がほぼ同時に斉時噴射される。
次に、図7および図8を参照しながら、前述した第2燃料噴射制御処理で用いられる各種のパラメータを設定するための処理について説明する。図7は、クランク角度位置CA[i]を気筒ごとに算出するためのクランク角度位置算出処理を示している。本処理は、エンジン3の始動の開始に伴い、IG信号がOFFからONに切り換わったときに開始され、CRK信号の発生に同期して実行される。図7のステップ31では、クランク角度位置CA[i]を、4つの気筒#1〜#4のそれぞれに対して算出し、本処理を終了する。この算出は次のように行われる。
すなわち、CRK信号と、前述したTDC信号の立ち上がりと立ち下がりの組合せのパターンに基づいて、4つの気筒#1〜#4のいずれかが圧縮行程の開始時にあるか否かを判別する。そして、この判別結果とCRK信号に基づいて、圧縮行程の開始時にあると判別された気筒(以下「判別気筒」という)のクランク角度位置CA[i]を、その圧縮行程の開始時をゼロ点として算出する。また、他の気筒のクランク角度位置CA[i]については、算出された判別気筒のクランク角度位置CA[i]に基づいて算出される。例えば、判別気筒が1番気筒#1で、他の気筒が2番気筒#2の場合には、2番気筒#2のクランク角度位置CA[2]は、算出された1番気筒#1のクランク角度位置CA[1]に、クランク角540°を加算することによって算出される。
また、上述した判別気筒の判別は例えば次のように行われる。すなわち、図2に示す1番気筒#1の吸入行程から圧縮行程におけるCRK信号およびTDC信号の推移から明らかなように、TDC信号が立ち上がった後に、TDC信号がすぐに立ち下がったときには、その直後にCRK信号が発生したタイミングを、1番気筒#1の圧縮行程の開始時として判別する。他の気筒についても、同様にして行われる。
次に、図8を参照しながら、前述した初回噴射済みフラグF_INJFLG[i]を初期化するための処理について説明する。本処理は、上述したクランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われた直後に開始されるとともに、第2燃料噴射制御処理と併行して、CRK信号に応じ、所定の第3クランク角(例えば30°)ごとに実行される。
まず、ステップ41では、気筒番号値iをインクリメントする。なお、気筒番号値iは、本処理の開始に伴って値0にリセットされる。次いで、当該気筒#iのクランク角度位置が値0であるか否かを判別する(ステップ42)。この答がNOで、CA[i]≠0のとき、すなわち、エンジン3の始動の開始後、当該気筒#iにおいて圧縮行程がまだ開始されていないときには、気筒番号値iが気筒数NOFCYL(=4)と等しいか否かを判別する(ステップ43)。この答がNOのときには、上記ステップ41に戻る一方、YESのとき、すなわち、ステップ42のクランク角度位置CA[i]に関する判別が4つの気筒#1〜#4のすべてに対して実行されたときには、そのまま本処理を終了する。
一方、ステップ42の答がYESになり、CA[i]=0になったとき、すなわち、エンジン3の始動の開始後、当該気筒において圧縮行程が開始されたときには、当該気筒の初回噴射済みフラグF_INJFLG[i]を「0」にリセットし(ステップ44)、上記ステップ43以降を実行する。以上のステップ41〜43の実行によって、初回噴射済みフラグF_INJFLG[i]が4つの気筒#1〜#4のすべてに対して初期化された後には、エンジン3が再度、始動されるまで、本処理は実行されない。
次に、図9を参照しながら、前述した第2燃料噴射制御処理について説明する。本処理は、付加噴射と始動後噴射を行うためのものであり、この付加噴射は、斉時噴射の実行後、斉時噴射によって初爆が行われる初爆気筒以外の3つの気筒に対し、最初の圧縮行程が開始されるまでの間に、燃料を、斉時噴射による燃料に対して付加的に噴射するものである。また、始動後噴射とは、付加噴射の実行後の次回の燃焼サイクル中に、すなわち、エンジン3の始動の開始後の2回目の燃焼サイクル中に、各気筒に対して行われるものである。さらに、本処理は、クランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われた直後に、すなわち第1燃料噴射制御処理の終了後に、開始されるとともに、CRK信号に応じ、前記第3クランク角ごとに実行される。
まず、図9のステップ51では、気筒番号値iをインクリメントする。次いで、当該気筒#iのクランク角度位置CA[i]が、所定の目標噴射角度INJOBJ[i]と等しいか否かを判別する(ステップ52)。この目標噴射角度INJOBJは、付加噴射の噴射時期の目標値であり、本実施形態では、吸入行程における所定のクランク角度位置に設定されている。
上記ステップ52の答がNOで、CA[i]≠INJOBJ[i]のときには、当該気筒#iに対して付加噴射または始動後噴射を行うタイミングではないとして、上記ステップ51に戻る。このように、ステップ52の答がYESになるまで、ステップ51が繰り返し実行され、それにより、気筒番号値iのインクリメントが繰り返される。この場合、ステップ51において、気筒番号値iは、気筒数NOFCYL=4と等しくなった後には、値0にリセットされ、再度、インクリメントされる。これにより、気筒番号値iは、ステップ51の実行ごとに、1→2→3→4→1……の順に、繰り返し設定される。
一方、ステップ52の答がYESになり、当該気筒#iに対して付加噴射または始動後噴射を行うタイミングになったときには、図5のステップ17または図8のステップ44でセットされた初回噴射済みフラグF_INJFLG[i]が「1」であるか否かを判別する(ステップ53)。この答がYESのとき、すなわち、エンジン3の始動の開始後、当該気筒#iにおいて圧縮行程がまだ開始されていないときには、付加噴射用の燃料量の暫定値Tempを算出する(ステップ54)。具体的には、第n行程用の補正係数KSTHOT[n]を要求噴射量TCYLに乗算した値から、図5のステップ16で設定された当該気筒#iの初回噴射量TOUT1st[i]を減算する(TCYL×KSTHOT[n]−TOUT1st[i])ことによって、暫定値Tempを算出する。
この「n」は、行程数であり、図10のステップ61において設定される。具体的には、行程数nは、エンジン3の始動の開始に伴い、IG信号がOFFからONに切り換わったときに値1に設定され、その後、エンジン3のピストンがTDCまたはBDCに位置するごとに、すなわちエンジン3の1行程ごとに、CRK信号およびTDC信号に応じて、インクリメントされる。これにより、行程数nは、エンジン3の始動の開始時からの行程数を表す。
また、上記の第n行程用の補正係数KSTHOT[n]は、行程数nおよび大気圧PAに応じ、所定のマップ(図示せず)を検索することによって算出される。このマップでは、補正係数KSTHOT[n]は、全体として、前述した最小補正係数KSTHOTMINと同じ値、または、最小補正係数KSTHOTMINよりも大きな値に設定されるとともに、値1.0よりも小さな値に設定されている。このように値1.0よりも小さな値に設定されているのは、前述したように自己着火が発生しやすいときに本処理が行われることから、自己着火の発生を防止すべく、付加噴射による燃料量を低減するためである。
また、上記のマップでは、補正係数KSTHOT[n]は、行程数nが大きいほど、また、大気圧PAが低いほど、より大きな値に設定されている。これは、行程数nが大きいほど、すなわち、初爆気筒以外の複数の気筒のうち、より遅いタイミングで爆発行程が開始される気筒ほど、前述したように、より低温の吸入空気や燃料が供給されることから、自己着火が発生しにくいため、付加噴射による燃料量を大きく低減する必要がないためである。また、大気圧PAが低いほど、前述したように圧縮動作における気筒#i内の温度上昇が小さくなることによって、自己着火が発生しにくいため、付加噴射による燃料量を大きく低減する必要がないためである。
一方、前記ステップ53の答がNOのとき、すなわち、エンジン3の始動の開始後、当該気筒#iにおいて圧縮行程がすでに終了しており、当該気筒#iが2回目以降の燃焼サイクル中にあるときには、始動後噴射用の燃料量の暫定値Tempを、要求噴射量TCYLに補正係数KSTHOT[n]を乗算することによって算出する(ステップ55)。
前記ステップ54または55に続くステップ56では、ステップ54または55で算出された暫定値Tempが値0よりも大きいか否かを判別する。この答がYESのときには、暫定値Tempを、当該気筒#iの最終燃料噴射量TOUT[n]として設定する(ステップ57)とともに、設定された最終燃料噴射量TOUT[n]に基づく駆動信号を、当該気筒#iに対応するインジェクタ5に出力した(ステップ58)後、ステップ59を実行する。このステップ58の実行により、最終燃料噴射量TOUT[n]分の燃料が、インジェクタ5から噴射される。一方、ステップ56の答がNOのときには、ステップ57および58をスキップし、ステップ59を実行する。
このステップ59では、気筒番号値iが気筒数NOFCYL(=4)と等しいか否かを判別する。この答がNOのときには、ステップ51に戻る一方、YESのときには、本処理を終了する。なお、本処理は、ステップ59の答がYESになった後にも、IG信号がOFFになるまで、第3クランク角ごとに実行される。
なお、前述した通常モードは、上述した高温モードと比較して、次の点のみが異なっている。すなわち、通常モード中、高温モード中と異なり、斉時噴射のみが行われ、付加噴射は行われない。この場合、斉時噴射用の燃料量の算出は、高温モード中と異なり、最小補正係数KSTHOTMINを用いることなく行われ、斉時噴射用の燃料量として要求噴射量TCYLがそのまま設定される。
図11は、高温モード中の動作例を、低温モード中の動作例とともに示している。同図において、ハッチング付きの三角形の面積は、高温モード中における斉時噴射および付加噴射用の最終燃料噴射量TOUT[n]に相当し、二点鎖線の三角形の面積は、通常モード中における斉時噴射用の最終燃料噴射量TOUT[n]に相当する。また、実線の中抜きの三角形の面積は、始動後噴射用の最終燃料噴射量TOUT[n]に相当する。さらに、図11に示す動作例は、斉時噴射によって初爆が行われる初爆気筒が2番気筒#2の例である。
図11に示すように、エンジン3の始動が開始され、IG信号がONに切り換わると、それに伴い、前述した第1燃料噴射制御処理が実行されることによって、4つの気筒#1〜#4に対して燃料が同時に噴射される結果、斉時噴射が行われる(時点t1)。この場合、斉時噴射用の燃料量としての最終燃料噴射量TOUT[1]は、通常モード中には、要求噴射量TCYLに設定される一方、高温モード中には、値1.0よりも小さな最小補正係数KSTHOTMINを要求噴射量TCYLに乗算することによって、通常モード中よりも小さくなるように算出される(図5のステップ14)。
また、エンジン3の始動が開始されるのに伴い、図7のクランク角度位置算出処理が実行されることによって、クランク角度位置CA[i]の算出、すなわち、各気筒の行程の判別が行われる。そして、高温モード中、クランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われると(図11の時点t2)、図9の第2燃料噴射制御処理が開始される。
このように、第2燃料噴射制御処理は、クランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われた直後に開始され、また、第2燃料噴射制御処理の実行中、各気筒において、クランク角度位置CA[i]が目標噴射角度INJOBJ[i]になったとき、すなわち、吸入行程中の所定のタイミングになったときに、インジェクタ5に駆動信号が出力される結果、付加噴射が行われる。また、斉時噴射およびクランク角度位置CA[i]の算出は、エンジン3の始動の開始に伴って開始される。さらに、前述したクランク角度位置CA[i]の算出手法から明らかなように、クランク角度位置CA[i]の算出を4つの気筒#1〜#4のすべてに対して少なくとも1回、行うためには、最大でクランク角180°の区間でのCRK信号などの発生を待たなければならない。
以上から、図11に示すように、第2燃料噴射制御処理が開始されたタイミング(時点t2)では、初爆気筒(2番気筒#2)において吸入行程がすでに終了しており、その結果、初爆気筒には、付加噴射が行われず、初爆気筒以外の1番、3番および4番気筒#1,#3,#4に対し、斉時噴射後における当該気筒#iの最初の吸入行程中の所定のタイミングにおいて、付加噴射が行われる(時点t3、t4およびt5)(図9のステップ52〜54および56〜58)。
この場合、前述したように、行程数nが大きいほど、すなわち、より遅いタイミングで爆発行程が開始される気筒ほど、付加噴射用の最終燃料噴射量TOUT[n]の算出に係数として用いられる補正係数KSTHOT[n]が、より大きな値に算出される(図9のステップ54)。これにより、図11に示すように、この動作例では、付加噴射用の最終燃料噴射量TOUT[n]は、1番、3番および4番気筒#1,#3,#4の順に、より大きな値に算出され、より遅いタイミングで爆発行程が開始される気筒#iほど、エンジン3の始動の開始時から供給される気筒ごとの燃料の総量(以下「始動時総燃料量」という)がより大きくなるように、算出される。なお、より遅いタイミングで爆発行程が開始される気筒#iほど、充填空気量が小さくなることにより、要求噴射量TCYLがより小さくなることによって、この動作例とは異なり、少なくとも2つの気筒の間で始動時総燃料量が互いに同じになる場合がある。
また、各気筒において、圧縮行程が開始されたときに、初回噴射済みフラグF_INJFLG[i]が「0」にリセットされ(図8のステップ44)、その後の2回目以降の燃焼サイクル中に、始動後噴射が行われる。この始動後噴射用の最終燃料噴射量TOUT[n]は、要求噴射量TCYL×KSTHOT[n]に設定される(図9のステップ55)。
また、本実施形態における各種の要素と、請求項に係る発明(以下「本発明」という)における各種の構成要素の対応関係は、次のとおりである。すなわち、本実施形態におけるECU2が、本発明における始動判定手段、第1燃料供給手段、停止時間計時手段、第1燃料量設定手段、行程判別手段、第2燃料供給手段、および第2燃料量設定手段に相当する。また、本実施形態におけるインジェクタ5が、本発明における第1燃料供給手段および第2燃料供給手段に相当するとともに、本実施形態における水温センサ11およびIG・SW16が、本発明における機関温度パラメータ検出手段および始動判定手段にそれぞれ相当する。さらに、本実施形態におけるクランク角センサ13およびカム角センサ14が、本発明における行程判別手段に相当する。また、本実施形態におけるエンジン停止時間CENGSTPおよび判定時間TMNSTHOTが、停止時間および所定時間にそれぞれ相当するとともに、エンジン水温TWおよび判定温度TWNSTHOTが、機関温度パラメータおよびしきい値にそれぞれ相当する。
以上のように、本実施形態によれば、エンジン3の始動時に、斉時噴射が行われるので、エンジン3において初爆を早めることで、その始動性を向上させることができる。また、エンジン3の始動時、エンジン停止時間CENGSTPが判定時間TMNSTHOT以下で、かつ、エンジン水温TWが判定温度TWNSTHOTよりも高いときに高温モードによる制御が、それ以外のときに通常モードによる制御が、それぞれ実行される。さらに、この高温モード中、斉時噴射用の最終燃料噴射量TOUT[1]が、通常モード中よりも小さくなるように算出される。これにより、エンジン3の始動時において、自己着火が発生しやすいようなときに、斉時噴射用の最終燃料噴射量TOUT[1]が低減されるので、自己着火の発生を防止することができる。また、判定温度TWNSTHOTがエンジン停止時間CENGSTPに応じて設定されるので、停止中におけるエンジン3の冷却度合に応じて判定温度TWNSTHOTを適切に設定でき、ひいては、上述した自己着火の防止効果を有効に得ることができる。
さらに、クランク角度位置CA[i]が気筒ごとに算出されるとともに、高温モード中、算出されたクランク角度位置CA[i]に応じ、初爆気筒以外の複数の気筒に対して付加噴射が行われ、それにより、燃料が、斉時噴射による燃料に対して付加的に供給される。この場合、前述した始動時総燃料量(エンジン3の始動の開始時から供給される気筒ごとの燃料の総量)が、より遅いタイミングで爆発行程が開始される気筒(以下「後発気筒」という)ほど大きくなるように、または、少なくとも2つの気筒の間で互いに同じになるように、付加噴射用の最終燃料噴射量TOUT[n]が算出される。これにより、エンジン3の始動時、初爆気筒や、その直後に爆発行程が開始される気筒、すなわち、自己着火が前述したように比較的、発生しやすい気筒には、より少ない燃料が供給される一方、自己着火が比較的、発生しにくい後発気筒には、より多くの燃料が供給される。したがって、後発気筒における燃料の不足を防止し、失火の発生を防止しながら、自己着火の発生を4つの気筒#1〜#4のすべてにおいて防止することができ、それにより、商品性を向上させることができる。
また、各気筒への燃料の供給が、吸気ポートへのインジェクタ5の燃料噴射によって行われ、付加噴射の噴射時期が、斉時噴射の実行後の最初の吸入行程における所定のタイミングに制御される。したがって、各気筒への付加噴射による燃料の供給を適切に行うことができる。さらに、付加噴射用の最終燃料噴射量TOUT[n]の算出が、初回噴射量TOUT1st[i]、すなわち斉時噴射された燃料量に応じて行われる(図9のステップ54)ので、エンジン3の始動時において、各気筒に、より適切な量の燃料を供給することができる。したがって、上述した効果、すなわち、失火の発生を防止しながら、4つの気筒#1〜#4のすべてにおいて自己着火の発生を防止することができるという効果を、より有効に得ることができる。
また、斉時噴射が4つの気筒#1〜#4のすべてに対して同時に行われるので、エンジン3の始動時、各気筒の行程の判別が完了していない状況においても、斉時噴射による燃料を4つの気筒#1〜#4の一部に速やかに且つ確実に供給でき、それにより、エンジン3の始動性をさらに向上させることができる。
なお、第1実施形態では、付加噴射の噴射時期を、斉時噴射の実行後の最初の吸入行程における所定のタイミングに制御しているが、斉時噴射の実行後の最初の圧縮行程が開始されるまでの間であれば、任意のタイミングに制御してもよい。
次に、本発明の第2実施形態について説明する。この第2実施形態は、第1実施形態と比較して、斉時噴射ではなく、4つの気筒#1〜#4のうちの一部の気筒に同時に燃料を噴射するグループ噴射を行うことが異なっている。また、このような相違から、第2実施形態では、グループ噴射が行われた気筒(以下「グループ噴射実行気筒」という)のうちの初爆気筒以外の気筒に対して、グループ噴射の実行後、最初の圧縮行程が開始されるまでの間に、付加噴射が行われることによって、燃料が、グループ噴射による燃料に対して付加的に噴射される。また、グループ噴射実行気筒以外の気筒に対しても、グループ噴射の実行後、初回の燃焼サイクル中に、燃料が噴射される。なお、グループ噴射実行気筒以外の気筒に対して行われる燃料噴射についても、説明の便宜上、付加噴射に含めるものとする。また、以上のような第1実施形態との相違から、第2実施形態の燃料供給装置では、第1実施形態と比較して、第1燃料噴射制御処理が主に異なっている。このため、以下、これらの処理を中心に説明する。
図12は、第2実施形態による第1燃料噴射制御処理を示している。本処理は、グループ噴射を行うためのものであり、エンジン3の始動が開始されるのに伴い、前述したIG信号がOFFからONに切り換わったときに開始され、グループ噴射が完了するまで、CRK信号が発生するごとに実行される。まず、図12のステップ71では、前述した始動フラグF_ENGSTが「1」であるか否かを判別する。
上記ステップ71の答がNOのときには、そのまま本処理を終了する一方、YESで、F_ENGST=1のとき、すなわち、エンジン3の始動時には、第1および第3行程用の補正係数KSTHOT[1],[3]のうちの最小のものを、最小補正係数KSTHOTMINとして設定する(ステップ72)。この最小補正係数KSTHOTMINは、グループ噴射用の燃料量の算出に係数として用いられるものである。また、これらの第1および第3行程用の補正係数KSTHOT[1],[3]は、第1実施形態と同様にして算出される。
次いで、気筒番号値iをインクリメントする(ステップ73)とともに、当該気筒#iが圧縮行程または排気行程にあるか否かを判別する(ステップ74)。なお、気筒番号値iは、本処理の開始時に値0にリセットされる。また、このステップ74の判別は、図2に示すCRK信号の推移に基づいて行われる。具体的には、CRK信号が前述したように第1クランク角よりも若干、大きなパルス間隔で発生したときに、1番気筒#1および4番気筒#4が圧縮行程または排気行程にあると判別する。
上記ステップ74の答がNOのときには、気筒番号値iが気筒数NOFCYL=4と等しいか否かを判別する(ステップ75)。この答がNOで、ステップ74の判別が4つの気筒#1〜#4のすべてに対して行われていないときには、ステップ73に戻る一方、YESのときには、本処理を終了する。
一方、ステップ74の答がYESのとき、すなわち、当該気筒#iが圧縮行程または排気行程にあるときには、要求噴射量TCYLに、前記ステップ72で設定された最小補正係数KSTHOTMINを乗算することによって、当該気筒#iの最終燃料噴射量TOUT[1]を算出する(ステップ76)。次いで、このステップ76で算出された最終燃料噴射量TOUT[1]に基づく駆動信号を、当該気筒#iに対応するインジェクタ5に出力する(ステップ77)。これにより、最終燃料噴射量TOUT[1]分の燃料が当該気筒#iに対して噴射される。
次に、最終燃料噴射量TOUT[1]を、当該気筒#iの初回噴射量TOUT1st[i]として設定する(ステップ78)とともに、当該気筒#iに対して、グループ噴射が行われたことを表すために、当該気筒#iの初回噴射済みフラグF_INJFLG[i]を「1」にセットする(ステップ79)。次いで、ステップ75以降を実行する。
以上の第1燃料噴射制御処理では、ステップ73〜79の実行によって、圧縮行程にある気筒および排気行程にある気筒に対して燃料が噴射される。この燃料の噴射は、1回のループ中に行われ、それにより、圧縮行程にある気筒および排気行程にある気筒に対して、燃料がほぼ同時にグループ噴射される。
次に、第2実施形態による第2燃料噴射制御処理について説明する。本処理は、第1実施形態と同様、図9に示すフローチャートに従って実行される。この場合、第2実施形態では、第1実施形態と異なり、グループ噴射が行われる関係上、ステップ53〜55の実行内容の意味が第1実施形態と異なっている。以下、この点を中心に説明する。
ステップ53の答がYESのとき、すなわち、当該気筒#iに対してグループ噴射が行われているとともに、エンジン3の始動の開始後、当該気筒#iにおいて圧縮行程がまだ開始されていないときには、ステップ54を実行することによって、第1実施形態で述べたように、付加噴射用の燃料量の暫定値Tempを算出する。
一方、ステップ53の答がNOのとき、すなわち、当該気筒#iに対してグループ噴射が行われていないとともに、当該気筒#iが1回目の燃焼サイクル中にあるときには、ステップ55を実行することによって、燃料量の暫定値Tempが算出される。この場合、前述した行程数nに応じた補正係数KSTHOT[n]の設定手法から明らかなように、付加噴射用の燃料量の暫定値Tempは、値1.0よりも小さな補正係数KSTHOT[n]を要求噴射量TCYLに乗算することによって算出される。
以上により、第2燃料噴射制御処理によれば、付加噴射用の燃料量は、グループ噴射実行気筒に対しては、グループ噴射による燃料量である初回噴射量TOUT1st[i]が減算されることによって算出され、それ以外の気筒に対しては、初回噴射量TOUT1st[i]が減算されずに算出される。
なお、第2実施形態において、第2燃料噴射制御処理では、前述した目標噴射角度INJOBJは、排気行程における所定のクランク角度位置に設定されている。これにより、付加噴射および始動後用噴射は、当該気筒#iの排気行程中の所定のタイミングにおいて行われる。また、行程数nは、グループ噴射の開始時に値1に設定され、その後、エンジン3のピストンがTDCまたはBDCに位置するごとに、すなわち、エンジン3の1行程ごとに、CRK信号およびTDC信号に応じて、インクリメントされる。これにより、第2実施形態では、行程数nは、グループ噴射の開始時からの行程数を表す。
また、第2実施形態において、通常モード中、上述したグループ噴射が行われる一方、高温モード中と異なり、グループ噴射実行気筒に対しては、付加噴射が行われず、それ以外の気筒に対して、燃料が噴射される。この場合、グループ噴射用の燃料量の算出は、上述した高温モード中と異なり、最小補正係数KSTHOTMINを用いることなく行われ、要求噴射量TCYLがグループ噴射用の燃料量としてそのまま設定される。また、付加噴射用の燃料量、すなわちグループ噴射実行気筒以外の気筒に噴射される燃料量は、高温モード中と異なり、補正係数KSTHOT[n]を用いることなく算出され、要求噴射量TCYLが付加噴射用の燃料量としてそのまま設定される。
図13は、第2実施形態における高温モード中の動作例を、通常モード中の動作例とともに示している。同図において、前述した図11の場合と同様、ハッチング付きの三角形の面積は、高温モード中における最終燃料噴射量TOUT[n]に相当し、二点鎖線の三角形の面積は、通常モード中における最終燃料噴射量TOUT[n]に相当する。また、実線の中抜きの三角形の面積は、始動後噴射用の最終燃料噴射量TOUT[n]に相当する。さらに、図13に示す動作例は、初爆気筒が1番気筒#1の例である。
図13に示すように、エンジン3の始動の開始時、第1燃料噴射制御処理が実行されることによって、4つの気筒#1〜#4のうち、圧縮行程にある気筒と、排気行程にある気筒に対して、燃料が同時に噴射される結果、グループ噴射が行われる(時点t6)。この場合、グループ噴射用の燃料量としての最終燃料噴射量TOUT[1]は、通常モード中には、要求噴射量TCYLに設定されるのに対し、高温モード中には、値1.0よりも小さな最小補正係数KSTHOTMINを要求噴射量TCYLに乗算することによって、通常モード中よりも小さくなるように算出される(図12のステップ76)。
また、図7に示すクランク角度位置算出処理が実行されることによって、クランク角度位置CA[i]の算出、すなわち、各気筒の行程の判別が行われる。そして、高温モード中、クランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われると(図13の時点t7)、第1実施形態と同様、図9の第2燃料噴射制御処理が開始される。
このように、第2燃料噴射制御処理は、クランク角度位置CA[i]の算出が4つの気筒#1〜#4のすべてに対して1回、行われた直後に開始され、また、第2燃料噴射制御処理の実行中、各気筒において、クランク角度位置CA[i]が目標噴射角度INJOBJ[i]になったとき、すなわち、排気行程中の所定のタイミングになったときに、インジェクタ5に駆動信号が出力される結果、付加噴射が行われる。また、クランク角度位置CA[i]の算出はグループ噴射の完了直後に開始され、前述したように、この算出を4つの気筒#1〜#4のすべてに対して少なくとも1回、行うためには、最大でクランク角180°の区間でのCRK信号などの発生を待たなければならない。
以上から、図13に示すように、第2燃料噴射制御処理が開始されたタイミング(時点t7)では、初爆気筒(1番気筒#1)において排気行程がすでに終了しており、その結果、初爆気筒には、付加噴射が行われず、初爆気筒以外の3番、4番および2番気筒#3,#4,#2に対して、グループ噴射後における当該気筒#iの最初の排気行程中の所定のタイミングにおいて、付加噴射が行われる(時点t8、t9およびt10)。
また、高温モード中、第1実施形態と同様、行程数nに応じて、より遅いタイミングで爆発行程が開始される気筒ほど、付加噴射用の最終燃料噴射量TOUT[n]の算出に係数として用いられる補正係数KSTHOT[n]がより大きな値に算出される。さらに、付加噴射用の最終燃料噴射量TOUT[n]は、グループ噴射実行気筒に対しては、初回噴射量TOUT1st[i]すなわちグループ噴射による燃料量(TCYL・KSTHOTMIN)を減算することによって算出され、それ以外の気筒に対しては、グループ噴射による燃料量を減算せずに算出される(図9のステップ54、55)。以上により、この動作例では、最終燃料噴射量TOUT[n]は、初爆気筒以外の気筒に対して、より遅いタイミングで爆発行程が開始される気筒#iほど、始動時総燃料量(エンジン3の始動の開始時から供給される気筒ごとの燃料の総量、図13のハッチング付きの三角形の総面積)がより大きくなるように、算出される。なお、より遅いタイミングで爆発行程が開始される気筒#iほど、充填空気量が小さくなることにより、要求噴射量TCYLがより小さくなることによって、この動作例とは異なり、少なくとも2つの気筒の間で始動時総燃料量が互いに同じになる場合がある。
以上のように、本実施形態によれば、エンジン3の始動時に、グループ噴射が行われるので、エンジン3において初爆を早めることで、その始動性を向上させることができる。また、エンジン3の始動時、エンジン停止時間CENGSTPが判定時間TMNSTHOT以下で、かつ、エンジン水温TWが判定温度TWNSTHOTよりも高いときに高温モードによる制御が、それ以外のときに通常モードによる制御が、それぞれ実行される。さらに、この高温モード中、グループ噴射用の最終燃料噴射量TOUT[1]が、通常モード中よりも小さくなるように算出される。これにより、エンジン3の始動時において、自己着火が発生しやすいようなときに、グループ噴射用の最終燃料噴射量TOUT[1]が低減されるので、自己着火の発生を防止することができる。また、第1実施形態と同様、判定温度TWNSTHOTがエンジン停止時間CENGSTPに応じて設定されるので、停止中におけるエンジン3の冷却度合に応じて判定温度TWNSTHOTを適切に設定でき、ひいては、上述した自己着火の防止効果を有効に得ることができる。
さらに、第1実施形態と同様、クランク角度位置CA[i]が気筒ごとに算出されるとともに、高温モード中、算出されたクランク角度位置CA[i]に応じ、初爆気筒以外の複数の気筒に対して付加噴射が行われる。これにより、グループ噴射実行気筒のうちの初爆気筒以外の気筒に対しては、燃料が、グループ噴射による燃料に対して付加的に噴射され、グループ噴射実行気筒以外の気筒に対しても、燃料が噴射される。
この場合、第1実施形態と同様、始動時総燃料量が、より遅いタイミングで爆発行程が開始される気筒すなわち後発気筒ほど大きくなるように、または、少なくとも2つの気筒の間で互いに同じになるように、最終燃料噴射量TOUT[n]が算出される。これにより、エンジン3の始動時、初爆気筒や、その直後に爆発行程が開始される気筒、すなわち、自己着火が比較的、発生しやすい気筒には、より少ない燃料が供給される一方、自己着火が比較的、発生しにくい後発気筒には、より多くの燃料が供給される。したがって、後発気筒における燃料の不足を防止し、失火の発生を防止しながら、自己着火の発生を4つの気筒#1〜#4のすべてにおいて防止することができ、それにより、商品性を向上させることができる。
また、各気筒への燃料の供給が、吸気ポートへのインジェクタ5の燃料噴射によって行われ、付加噴射の噴射時期が、グループ噴射の実行後の最初の排気行程における所定のタイミングに制御される。したがって、各気筒への付加噴射による燃料の供給を適切に行うことができる。さらに、グループ噴射が一部の気筒に限定して行われるので、インジェクタ5に供給される燃料の圧力の低下が軽減され、燃料の噴射量の制御精度を向上させることができる。また、グループ噴射実行気筒に対して、付加噴射用の最終燃料噴射量TOUT[n]の算出が、初回噴射量TOUT1st[i]、すなわちグループ噴射された燃料量に応じて行われるので、エンジン3の始動時において、より適切な量の燃料をグループ噴射実行気筒に供給することができる。したがって、上述した効果、すなわち、失火の発生を防止しながら、4つの気筒#1〜#4のすべてにおいて、自己着火の発生を防止することができるという効果を、より有効に得ることができる。
なお、第2実施形態では、付加噴射の噴射時期を、グループ噴射の実行後の最初の排気行程における所定のタイミングに制御しているが、グループ噴射の実行後の最初の圧縮行程が開始されるまでの間であれば、任意のタイミングに制御してもよい。また、第2実施形態では、グループ噴射を、圧縮行程または排気行程にある気筒に行っているが、吸入行程または爆発行程にある気筒に行ってもよい。さらに、第2実施形態では、圧縮行程または排気行程にある気筒の判別を、CRK信号の推移に基づいて行っているが、TDC信号の推移に基づいて行ってもよい。
次に、本発明の第3実施形態について説明する。この第3実施形態は、第2実施形態と比較して、算出された4つの気筒#1〜#4のクランク角度位置CA[1]〜[4]を、エンジン3の停止時にECU2のEEPROMに記憶することと、記憶されたクランク角度位置CA[i]に応じ、吸入行程中にある気筒および排気行程中にある気筒を判別するとともに、判別したこれらの気筒にグループ噴射を行うことが、主に異なっている。以下、第2実施形態と異なる点を中心に説明する。
第3実施形態では、各気筒のクランク角度位置CA[i]の算出は、エンジン3の始動の開始に伴って開始され、エンジン3のクランクシャフトが停止するまで、行われる。また、その開始時、クランク角度位置CA[i]は、前回のエンジン3の停止時にEEPROMに記憶されたクランク角度位置CA[i]に設定され、その後、クランク角度位置CA[i]は、記憶されたクランク角度位置CA[i]と、CRK信号に基づいて算出される。なお、クランク角度位置CA[i]が記憶されていない初回時には、クランク角度位置CA[i]は、第1実施形態と同様に算出される。
具体的には、クランク角度位置CA[i]の記憶は、図14に示す処理に従って行われる。本処理は、CRK信号が発生するごとに実行される。まず、ステップ81では、IG信号がONからOFFに切り換わったか否かを判別する。この答がNOのときには、そのまま本処理を終了する一方、YESで、IG信号がONからOFFに切り換わったときには、そのときから所定時間が経過したか否かを判別する(ステップ82)。
このステップ82の答がNOのときには、そのまま本処理を終了する。一方、ステップ82の答がYESのとき、すなわち、IG信号がONからOFFに切り換わった後、所定時間が経過したときには、エンジン3のクランクシャフトが完全に停止したとして、そのときに算出された4つの気筒#1〜#4のクランク角度位置CA[i]をすべて、EEPROMに記憶し(ステップ83)、本処理を終了する。
また、図15は、第3実施形態による第1燃料噴射制御処理を示している。同図において、第2実施形態による第1燃料噴射制御処理と同じ実行内容の部分には、同じステップ番号を付している。図15と図12との比較から明らかなように、第2実施形態と比較して、ステップ72および74に代えて、ステップ91および92を実行する点のみが異なっているので、以下、これらのステップ91および92の実行内容を中心に説明する。なお、本処理は、第2実施形態と異なり、エンジン3の始動が開始されるのに伴い、前述したIG信号がOFFからONに切り換わったときに開始される。
ステップ91では、第1および第2行程用の補正係数KSTHOT[1],[2]のうちの最小のものを、最小補正係数KSTHOTMINとして設定する。この最小補正係数KSTHOTMINは、グループ噴射用の燃料量の算出に係数として用いられるものである。また、これらの第1および第2行程用の補正係数KSTHOT[1],[2]は、第1実施形態と同様にして算出される。
ステップ92では、当該気筒#iのクランク角度位置CA[i]に基づき、当該気筒#iが吸入行程または排気行程にあるか否かを判別する。この判別には、前回の停止時に記憶されたクランク角度位置CA[i]が用いられる。この答がNOのときには、前記ステップ75以降を実行する一方、YESのときには、前記ステップ76以降を実行する。
以上の第1燃料噴射制御処理では、ステップ73、75、76〜79および92が実行されることにより、吸入行程にある気筒および排気行程にある気筒に対して、燃料が噴射される。この燃料の噴射は、1回のループ中に行われ、それにより、吸入行程にある気筒および排気行程にある気筒に対して、燃料がほぼ同時にグループ噴射される。
なお、第3実施形態では、行程数nは、第1実施形態と同様、エンジン3の始動の開始に伴い、IG信号がOFFからONに切り換わったときに値1に設定され、その後、エンジン3のピストンがTDCまたはBDCに位置するごとに、すなわちエンジン3の1行程ごとに、CRK信号およびTDC信号に応じて、インクリメントされる。また、第2燃料噴射制御処理は、第1燃料噴射制御処理の終了後、ただちに開始される。さらに、第3実施形態において、第2燃料噴射制御処理では、前述した目標噴射角度INJOBJは、第1実施形態と同様、吸入行程における所定のクランク角度位置に設定されている。これにより、付加噴射および始動後噴射は、当該気筒#iの吸入行程中の所定のタイミングにおいて行われる。
図16は、第3実施形態における高温モード中の動作例を、通常モード中の動作例とともに示している。同図において、前述した図11の場合と同様、ハッチング付きの三角形の面積は、高温モード中における最終燃料噴射量TOUT[n]に相当し、二点鎖線の三角形の面積は、通常モード中における最終燃料噴射量TOUT[n]に相当する。また、実線の中抜きの三角形の面積は、始動後噴射用の最終燃料噴射量TOUT[n]に相当する。さらに、図16に示す動作例は、初爆気筒が2番気筒#2の例である。
エンジン3の始動が開始され、IG信号がONに切り換わると、それに伴い、クランク角度位置CA[i]の算出、すなわち、各気筒の行程の判別が行われる。第3実施形態では、第1および第2実施形態と異なり、クランク角度位置CA[i]は、エンジン3の始動の開始時には、前回の停止時に記憶されたクランク角度位置CA[i]に設定され、その後、クランク角度位置CA[i]は、記憶されたクランク角度位置CA[i]と、CRK信号に基づいて算出される。また、図16に示すように、第1燃料噴射制御処理が実行されることによって、記憶されたクランク角度位置CA[i]に基づき、4つの気筒#1〜#4のうちの吸入行程にある気筒と排気行程にある気筒に対して、燃料が同時に噴射される結果、グループ噴射が行われる(時点t11)。この場合、第2実施形態と同様、グループ噴射用の燃料量としての最終燃料噴射量TOUT[1]は、通常モード中よりも小さくなるように算出される。
そして、高温モード中、第1燃料噴射制御処理が終了すると、図9の第2燃料噴射制御処理が開始される。この第2燃料噴射制御処理の実行中、各気筒において、クランク角度位置CA[i]が目標噴射角度INJOBJ[i]になったとき、すなわち、吸入行程中の所定のタイミングになったときに、インジェクタ5に駆動信号が出力される結果、付加噴射が行われる。また、付加噴射用の燃料量としての最終燃料噴射量TOUT[n]は、行程数nが値1のときには、前記ステップ54の演算において、TCYL×KSTHOT[n]と、TOUT1st[i]が互いに等しくなることによって、値0に算出される。
以上から、図16に示すように、第2燃料噴射制御処理の実行中、初爆気筒には、付加噴射が行われず、初爆気筒以外の1番、3番および4番気筒#1,#3,#4に対して、グループ噴射後における当該気筒#iの最初の吸入行程中の所定のタイミングにおいて、付加噴射が行われる(時点t12、t13およびt14)。
また、高温モード中、第2実施形態と同様、この動作例では、付加噴射用の最終燃料噴射量TOUT[n]は、初爆気筒以外の気筒に対して、より遅いタイミングで爆発行程が開始される気筒#iほど、始動時総燃料量(エンジン3の始動の開始時から供給される気筒ごとの燃料の総量、図16のハッチング付きの三角形の総面積)がより大きくなるように、算出される。なお、より遅いタイミングで爆発行程が開始される気筒#iほど、充填空気量が小さくなることにより、要求噴射量TCYLがより小さくなることによって、この動作例とは異なり、少なくとも2つの気筒の間で始動時総燃料量が互いに同じになる場合がある。
さらに、本実施形態では、IG・SW16およびECU2が、本発明における停止判定手段に相当するとともに、ECU2が本発明における記憶手段に相当する。
以上のように、本実施形態によれば、エンジン3の停止時に算出されたクランク角度位置CA[i]が記憶される。また、エンジン3の始動の開始時、クランク角度位置CA[i]が、前回の停止時に記憶されたクランク角度位置CA[i]に設定されるとともに、その後、クランク角度位置CA[i]は、記憶されたクランク角度位置CA[i]と、CRK信号に基づいて算出される。さらに、エンジン3の始動の開始時、吸入行程にある気筒および排気行程にある気筒が、前回の停止時に記憶されたクランク角度位置CA[i]に応じて判別されるとともに、これらの気筒に、燃料がグループ噴射される。
このように吸入行程にある気筒および排気行程にある気筒にグループ噴射を行うことによって、グループ噴射による燃料を、これらの気筒に速やかに供給できるとともに、次行程から排気行程噴射により連続して燃焼させることができ、したがって、エンジン3の始動性をさらに向上させることができるとともに、排出エミッションの悪化を抑制することができる。また、前回の停止時に記憶されたクランク角度位置CA[i]に基づいてグループ噴射を行うことにより、グループ噴射を早期に行うことができ、したがって、エンジン3を早期に始動させることができる。
また、本実施形態によれば、第2実施形態によるその他の効果、すなわち、エンジン3の始動性の向上効果や、後発気筒における失火の発生を防止しながら自己着火の発生を4つの気筒#1〜#4のすべてにおいて防止できることによる商品性の向上効果などを、同様に得ることができる。
なお、第3実施形態では、付加噴射の噴射時期を、グループ噴射の実行後の最初の吸入行程における所定のタイミングに制御しているが、グループ噴射の実行後の最初の圧縮行程が開始されるまでの間であれば、任意のタイミングに制御してもよい。また、第3実施形態では、エンジン3の停止時、すなわちエンジン3が停止したタイミングで算出されたクランク角度位置CA[i]を記憶しているが、エンジン3の停止中に、クランク角度位置CA[i]を、気筒ごとに算出するとともに、記憶してもよい。さらに、第3実施形態では、クランク角度位置CA[i]をECU2のEEPROMに記憶しているが、エンジン3の停止中にデータを保持可能な不揮発性のメモリ、例えばフラッシュメモリやバックアップ用の電源を備えたRAMでもよい。
なお、本発明は、説明した第1〜第3実施形態(以下、単に「実施形態」という)に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、本発明における機関温度パラメータは、エンジン水温TWであるが、エンジン3の温度を表すのであれば、他の適当なパラメータ、例えばエンジン3の潤滑油の温度や、吸気管4内の温度、あるいは、これらのパラメータの少なくとも1つに応じて推定したエンジン3の燃焼室の温度でもよい。また、実施形態では、エンジン3の始動時であるか否かの判定を、IG・SW16の出力に応じて行っているが、スタータスイッチの出力に応じて行ってもよい。それに加え、1stCRK信号を組み合わせることで、より高精度でエンジン3の始動を把握することができる。
さらに、実施形態では、各気筒の行程の判別を、CRK信号およびTDC信号に応じて行っているが、TDC信号のみに応じて行ってもよい。また、複数の気筒の任意の行程にそれぞれ対応する、互いに異なるパルス幅のCRK信号を発生させるタイプのクランク角センサや、クランク角度位置を気筒ごとに検出可能なタイプのクランク角センサを用いた場合には、そのようなクランク角センサの出力のみに応じて、各気筒の行程の判別を行ってもよい。
また、実施形態では、付加噴射用の最終燃料噴射量TOUT[n]を、初回噴射量TOUT1st[i]すなわち斉時噴射された燃料量(またはグループ噴射された燃料量)を減算することによって算出しているが、初回噴射量TOUT1st[i]に応じて、例えば、所定のマップ(図示せず)を検索することによって算出してもよい。さらに、実施形態では、付加噴射の回数は1回であるが、複数回でもよい。
また、実施形態は、吸気ポートに燃料を噴射する、いわゆるポート噴射式のエンジン3に本発明を適用した例であるが、本発明は、これに限らず、気筒#i内に燃料を直接、噴射する、いわゆる筒内直接噴射式の内燃機関に、適用可能である。その場合には、付加噴射のタイミングは、点火の実行までの間に設定される。さらに、実施形態では、気筒#iの数は、4つであるが、初爆気筒以外の気筒が複数であれば、いくつでもよい。また、この場合、気筒#iの配置は、実施形態で述べた直列型に限らず、V型や水平対向型でもよい。さらに、実施形態では、エンジン3は、車両用の4サイクルガソリンエンジンであるが、内燃機関であれば、他の産業用の各種のエンジンでもよく、例えば、2サイクルエンジンや、ディーゼルエンジン、クランクシャフトを鉛直方向に配置した船外機などのような船舶推進機用エンジンでもよい。その他、本発明の趣旨の範囲内で、細部の構成や各種のパラメータの算出手法などを適宜、変更することが可能である。