以下、図面を参照しながら、本発明の第1実施形態に係る内燃機関の制御装置について説明する。図1に示すように、この制御装置1は、ECU2を備えており、このECU2は、内燃機関(以下「エンジン」という)3の運転状態に応じて、後述するように、各種の制御処理を実行する。
エンジン3は、図示しない車両に搭載された直列4気筒型ガソリンエンジンであり、1〜4番気筒#1〜#4(複数の気筒)を備えている。このエンジン3の吸気通路4は、インテークマニホールド4aの4つの分岐部4bを介して4つの気筒#1〜#4にそれぞれ接続されている。
各分岐部4bには、各気筒の図示しない吸気ポートの上流側に、燃料噴射弁5が取り付けられている。各燃料噴射弁5は、エンジン3の運転中、ECU2からの制御入力信号によって、後述するように、その開弁時間(すなわち燃料噴射量)と開弁タイミングが制御される。すなわち、燃料噴射制御が実行される。
また、エンジン3の図示しないシリンダヘッドには、点火プラグ6が気筒ごとに取り付けられている(1つのみ図示)。この点火プラグ6は、図示しない点火コイルを介してECU2に接続されており、ECU2からの制御入力信号(電圧信号)が、点火時期に応じたタイミングで加えられることによって放電し、燃焼室内の混合気を燃焼させる。すなわち、点火時期制御が実行される。
このエンジン3は、4サイクルエンジンタイプのものであり、そのため、4つの気筒#1〜#4では、燃料噴射制御処理および点火時期制御処理が#1→#3→#4→#2→#1→#3→……の順に実行される。
また、エンジン3の吸気通路4には、上流側から順に、スロットル弁機構7および吸気圧センサ20などが設けられており、このスロットル弁機構7は、スロットル弁7aおよびこれを開閉駆動するTHアクチュエータ7bなどを備えている。スロットル弁7aは、吸気通路4の途中に回動自在に設けられており、当該回動に伴う開度の変化によりスロットル弁7aを通過する空気の流量を変化させる。THアクチュエータ7bは、ECU2に接続されたモータにギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの制御入力信号によって制御されることにより、スロットル弁7aの開度を変化させる。
さらに、吸気圧センサ20は、例えば半導体圧力センサなどで構成され、吸気通路4内の圧力(以下「吸気圧」という)PBAを検出して、それを表す検出信号をECU2に出力する。この吸気圧PBAは、絶対圧として検出される。
一方、エンジン3のシリンダブロックには、水温センサ21が取り付けられている。この水温センサ21は、例えばサーミスタなどで構成され、エンジンのシリンダブロック内を循環する冷却水の温度であるエンジン水温TWを検出して、それを表す検出信号をECU2に出力する。
また、ECU2には、大気圧センサ22、クランク角センサ23、カム角センサ24、アクセル開度センサ25およびイグニッション・スイッチ(以下「IG・SW」という)26がそれぞれ接続されている。この大気圧センサ22は、半導体圧力センサで構成されており、大気圧PAを検出して、それを表す検出信号をECU2に出力する。なお、本実施形態では、水温センサ21および大気圧センサ22が動作環境パラメータ検出手段に相当し、エンジン水温TWおよび大気圧PAが動作環境パラメータに相当する。
一方、クランク角センサ23は、マグネットロータおよびMREピックアップで構成されており、エンジン3のクランクシャフト(図示せず)の回転に伴い、パルス信号であるCRK信号をECU2に出力する。また、カム角センサ24も、クランク角センサ23と同様に、マグネットロータおよびMREピックアップで構成されており、エンジン3の吸気カムシャフト(図示せず)の回転に伴い、パルス信号であるTDC信号をECU2に出力する。
本実施形態の場合、以上のCRK信号およびTDC信号は、図2に示すように、クランク角度位置に対して変化する。なお、同図に示すように、このエンジン3では、説明の便宜上、吸気行程、圧縮行程、爆発行程および排気行程がいずれも、ピストン(図示せず)のTDC位置とBDC位置との間における、クランクシャフトの回転角(以下「クランク角」という)180°分の区間に設定されている。
CRK信号は、基本的には、所定の第1クランク角(例えば6゜)ごとに発生し、1番気筒#1における圧縮行程の終期および排気行程の終期には、この所定の第1クランク角よりも若干、大きなパルス間隔で発生する。ECU2は、このCRK信号に基づいて、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。
また、TDC信号は、1番気筒#1における圧縮行程の終期に立ち上がった後、その次の爆発行程の終期に立ち下がり、その次の排気行程の開始直前に立ち上がる。そして、この排気行程の終期に立ち下がった後、その次の吸入行程の終期に立ち上がり、その次の圧縮行程の開始直前に立ち下がる。
さらに、IG・SW26は、イグニッションキー(図示せず)操作によりON/OFFされるとともに、そのON/OFF状態を表すIG信号をECU2に出力する。
一方、ECU2は、CPU、RAM、ROM、EEPROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜25の検出信号およびIG・SW26のIG信号などに応じて、エンジン3の運転状態を判別するとともに、以下に述べるように、エンジン始動用の燃料噴射制御処理を含む各種の制御処理を実行する。
なお、本実施形態では、ECU2が、始動動作判定手段、空気量制御手段、第1燃料量制御手段、第2燃料量制御手段、動作環境パラメータ検出手段、行程判定手段および記憶手段に相当する。
以下、ECU2によって実行される燃料噴射制御処理について説明する。この燃料噴射制御処理では、以下に述べるように、燃料噴射量TOUTの算出処理、第1燃料噴射制御処理、フラグ初期化処理および第2燃料噴射制御処理などが実行される。
まず、図3を参照しながら、燃料噴射量TOUTの算出処理について説明する。この算出処理の場合、初回のループがクランキングの開始タイミング(すなわちIG信号がOFF状態からON状態に切り換わったタイミング)で実行され、2回目以降のループが、4つの気筒#1〜#4のいずれかのピストンがTDC位置に達したタイミングで実行される。
この算出処理では、まず、ステップ1(図では「S1」と略す。以下同じ)で、行程数Nが値0であるか否かを判別する。この行程数Nは、クランキング開始以降の行程の数を表すものであり(図13参照)、後述するように、その値が設定される。なお、行程数Nの初期値、すなわちクランキングを開始した行程での行程数Nは値0に設定される。
ステップ1の判別結果がYESで、クランキングを開始した行程であるときには、ステップ2に進み、燃焼番号値kを値1インクリメントする。この燃焼番号値kは、クランキング開始後、混合気の燃焼がk番目に実行される気筒の番号を表すものである。なお、以下の説明では、クランキング開始後、混合気の燃焼がk番目に実行される気筒を「k爆気筒」といい、特に、混合気の燃焼が最初に実行される気筒を「初爆気筒」という。また、燃焼番号値kは、本処理の初回のループ開始時、初回のループの実行に先立って値0に設定されるようになっており、そのため、本処理の初回のループでは、このステップ2において、燃焼番号値kが値1に設定される。
次いで、ステップ3に進み、エンジン水温TWに応じて、図4に示すテーブルを検索することにより、k爆気筒用の推定エンジン回転数NE[k]を算出する。同図において、TW1〜TWm(m:整数)はエンジン水温TWの所定値を表している。このテーブルでは、k爆気筒用の推定エンジン回転数NE[k]は、エンジン水温TWが高いほど、より高い値に設定されている。
次に、ステップ4で、エンジン水温TWに応じて、図5に示すテーブルを検索することにより、k爆気筒用の推定吸気圧PBA[k]を算出する。このテーブルでは、k爆気筒用の推定吸気圧PBA[k]は、エンジン水温TWが高いほど、より低い値(すなわちより負圧側の値)に設定されている。
ステップ4に続くステップ5で、エンジン回転数NEおよび吸気圧PBAをそれぞれ、上記ステップ3,4で算出したk爆気筒用の推定エンジン回転数NE[k]および推定吸気圧PBA[k]に設定する。
次いで、ステップ6に進み、エンジン回転数NEおよび吸気圧PBAに応じて、図6に示すマップを検索することにより、燃料噴射量の基本値TOUT_MAPを算出する。同図において、NE1〜NEm(m:整数)はエンジン回転数NEの所定値を、PBA1〜PBAn(n:整数)は吸気圧PBAの所定値をそれぞれ表している。このマップでは、基本値TOUT_MAPは、吸気圧PBAが高いほど、より大きい値に設定されている。
次に、ステップ7で、燃料の気化補正を行うために、エンジン水温TWに応じて、図示しないテーブルを検索することにより、気化補正係数KTWを算出し、空気の密度補正を行うために、吸気温度に応じて、図示しないテーブルを検索することにより、密度補正係数KTAを算出するとともに、大気圧PAに応じて、図示しないテーブルを検索することにより、密度補正係数KPAを算出する。
ステップ7に続くステップ8で、下式(1)により、k爆気筒用の燃料噴射量TOUT[k]を算出する。
TOUT[k]=TOUT_MAP・KTW・KTA・KPA ……(1)
次に、ステップ9で、燃焼番号値kが気筒数NOFCYL(=4)と等しいか否かを判別する。この判別結果がNOで、k<NOFCYLのときには、前述したように、ステップ2以降を実行する。一方、ステップ9の判別結果がYESのときには、そのまま本処理を終了する。
一方、ステップ1の判別結果がNOで、N≧1のときには、ステップ10に進み、前述したステップ6と同じ演算手法により、燃料噴射量の基本値TOUT_MAPを算出する。
次いで、ステップ11に進み、前述したステップ7と同じ演算手法により、気化補正係数KTW、密度補正係数KTAおよび密度補正係数KPAを算出する。
次に、ステップ12で、下式(2)により、N+1爆気筒用の燃料噴射量TOUT[N+2]を算出した後、本処理を終了する。
TOUT[N+2]=TOUT_MAP・KTW・KTA・KPA ……(2)
以上のように、本処理では、N=0の場合、1回のループでステップ3〜8が4回(すなわち4気筒分)実行されることにより、初爆気筒用および2〜4爆気筒用の燃料噴射量TOUT[1]〜[4]が算出される。この場合、4つの燃料噴射量TOUT[1]〜[4]は、TOUT[1]≧TOUT[2]≧TOUT[3]≧TOUT[4]の関係が成立するように算出される。
なお、本実施形態では、初爆気筒用および2〜4爆気筒用の燃料噴射量TOUT[1]〜[4]が複数の燃料量に相当し、4爆気筒用の燃料噴射量TOUT[4]が最小値に相当する。
次に、図7を参照しながら、前述した行程数Nの設定処理について説明する。この処理では、初回のループがクランキングの開始タイミングで実行され、2回目以降のループがCRK信号の発生タイミングに同期して実行される。この処理では、まず、ステップ15で、4つの気筒#1〜#4のいずれかのピストンがTDC位置に達したか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。
一方、ステップ15の判別結果がYESで、4つの気筒#1〜#4のいずれかのピストンがTDC位置に達したときには、ステップ16に進み、行程数Nを値1インクリメントする。その後、本処理を終了する。以上のように行程数Nを設定した場合、前述したように、行程数Nの初期値は値0に設定されるので、クランキングを開始してからいずれかのピストンがTDC位置に達するまでの間は、行程数Nは値0に保持される。
次に、図8を参照しながら、第1燃料噴射制御処理について説明する。この制御処理は、エンジン3の始動性を高めるために、4つの気筒#1〜#4に対して、同じ燃料量を同時に噴射するものである。この制御処理では、初回のループがクランキングの開始タイミングに同期して実行され、2回目以降のループが所定の第2クランク角(例えば30゜)ごとに実行される。なお、以下の説明では、4つの気筒#1〜#4に対して、同じ燃料量を同時に噴射することを「斉時噴射」という。
この制御処理では、まず、ステップ20で、今回の制御タイミングがクランキングの開始タイミングであるか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。なお、本実施形態では、このステップ20の内容が始動動作判定手段に相当し、より具体的には、内燃機関の始動が開始されたか否かを判定するものに相当する。
一方、ステップ20の判別結果がYESで、今回の制御タイミングがクランキングの開始タイミングであるときには、ステップ21に進み、第1燃料噴射量TOUTminを4爆気筒用の燃料噴射量TOUT[4]に設定する。なお、本実施形態では、第1燃料噴射量TOUTminが第1燃料量に相当する。
次に、ステップ22で、気筒番号値iを値1インクリメントする。この気筒番号値iは、4つの気筒#i(i=1〜4)の番号を表すものであり、例えば、i=1の場合には1番気筒#1を表す。なお、気筒番号値iは、本処理の初回のループ開始時、初回のループの実行に先立って値0に設定されるようになっており、そのため、本処理の初回のループでは、このステップ22において、気筒番号値iが値1に設定される。
ステップ22に続くステップ23で、第1燃料噴射量TOUTminに基づいて制御入力信号の値を算出し、この制御入力信号を気筒#iの燃料噴射弁5に供給する。それにより、第1燃料噴射量TOUTmin分の燃料が燃料噴射弁5から気筒#iに噴射される。
次いで、ステップ24に進み、第1燃料噴射量TOUTmin分の燃料が気筒#iに噴射されたことを表すために、初回噴射済みフラグF_INJFLG[i]を「1」に設定する。
次に、ステップ25で、気筒番号値iが気筒数NOFCYL(=4)と等しいか否かを判別する。この判別結果がNOで、i<NOFCYLのときには、前述したように、ステップ22以降を実行する。
一方、ステップ25の判別結果がYESのときには、そのまま本処理を終了する。以上のように、本処理では、1回のループでステップ23,24が4回(すなわち4気筒分)実行されることにより、4つの気筒#1〜#4において、第1燃料噴射量TOUTmin分の燃料がほぼ同時に噴射される。すなわち、斉時噴射が実行される。
次に、図9を参照しながら、フラグ初期化処理について説明する。この処理は、前述した初回噴射済みフラグF_INJFLG[i]をいずれも「0」に初期化するためものである。この処理では、初回のループが、後述するクランク角度位置CA[i]の算出処理の初回のループ実行直後に上記第1燃料噴射制御処理に連続して実行されるとともに、2回目以降のループが、前述した所定の第3クランク角(例えば30°)ごとの制御周期で、上記第1燃料噴射制御処理に連続して実行される。
本処理では、まず、ステップ30で、前述したステップ22と同様に、気筒番号値iをインクリメントする。なお、気筒番号値iは、本処理の初回のループ開始時、初回のループの実行に先立って値0に設定されるようになっており、そのため、本処理の初回のループでは、このステップ30において、気筒番号値iが値1に設定される。
次に、ステップ31に進み、当該気筒#iのクランク角度位置CA[i]が値0であるか否かを判別する。このクランク角度位置CA[i]は、図10のステップ40において以下に述べるように算出される。この算出処理は、その初回のループがクランキング開始タイミングに同期して実行され、それ以降のループはCRK信号の発生タイミングに同期して実行される。
このステップ40では、まず、前述したTDC信号およびCRK信号に基づき、4つの気筒#1〜#4のいずれかが圧縮行程の開始時にあるか否かを判別し、圧縮行程の開始時にあると判別された気筒(以下「判別気筒」という)のクランク角度位置CA[i]を、その圧縮行程の開始時を720゜とし、それ以降のクランク角度位置CA[i]を、720゜からクランクシャフトの回転角度分を減算することによって算出するとともに、吸気行程の終了時すなわち圧縮行程の開始時に0゜になったタイミングで720゜に設定する。すなわち、クランク角度位置CA[i]は、圧縮行程の開始時が0゜および720゜に、爆発行程の開始時が540゜に、排気行程の開始時が360゜に、吸気行程の開始時が180゜にそれぞれなるように、ダウンカウント式に算出される。
また、他の気筒のクランク角度位置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の圧縮行程の開始時として判別する。他の気筒についても、同様にして行われる。以上のように、ステップ40で全気筒#1〜#4のクランク角度位置CA[i]を算出した後、本処理を終了する。
図9に戻り、ステップ31の判別結果がNOで、クランキング開始以降、当該気筒#iにおいて圧縮行程がまだ開始されていないときには、後述するステップ33に進む。一方、ステップ31の判別結果がYESで、当該気筒#iが圧縮行程の開始タイミングであるときには、ステップ32に進み、当該気筒#iの初回噴射済みフラグF_INJFLG[i]を「0」に設定する。
ステップ31または32に続くステップ33で、気筒番号値iが気筒数NOFCYL(=4)と等しいか否かを判別する。この判別結果がNOのときには、前述したように、ステップ30以降を実行する。一方、この判別結果がYESで、ステップ31のクランク角度位置CA[i]に関する判別が4つの気筒#1〜#4のすべてに対して実行されたときには、本処理を終了する。以上のステップ30〜33の実行によって、4つの初回噴射済みフラグF_INJFLG[1]〜[4]がいずれも「0」に設定され、初期化されると、それ以降、今回の運転サイクルでは本処理の実行が禁止される。
次に、図11を参照しながら、第2燃料噴射制御処理について説明する。この制御処理は、クランキング開始後の1回目の燃焼サイクルで、エンジン3の始動性を高めることを目的として、斉時噴射実行済みの4つの気筒#1〜#4(所定気筒)に対して追加して燃料噴射を気筒ごとに実行するとともに、2回目以降の燃焼サイクルで、通常の燃料噴射を気筒ごとに実行するものである。
この制御処理では、初回のループは、前述した図10の処理において4つのクランク角度位置CA[1]〜[4]がいずれも算出されたタイミングで実行され、2回目以降のループは、前述したフラグ初期化処理に連続してこれと同じ制御周期で実行される。なお、以下の説明では、クランキング開始後の1回目の燃焼サイクル中、斉時噴射を実行済みの気筒#iに対して、燃料を追加して噴射することを「付加噴射」という。
図11に示すように、この処理では、まず、ステップ50で、前述したステップ22,30と同様に、気筒番号値iをインクリメントする。なお、気筒番号値iは、本処理の初回のループ開始時、初回のループの実行に先立って値0に設定されるようになっており、そのため、本処理の初回のループでは、このステップ50において、気筒番号値iが値1に設定される。
次に、ステップ51に進み、当該気筒#iのクランク角度位置CA[i]が所定の目標噴射角度INJOBJ[i]以下であるか否かを判別する。この所定の目標噴射角度INJOBJ[i]は、気筒番号値iにかかわらず、排気行程中の同じ値(例えば270゜)に設定されている。ステップ51の判別結果がNOで、CA[i]>INJOBJ[i]のときには、当該気筒#iが燃料を噴射すべきタイミングにないと判定して、後述するステップ58に進む。
一方、ステップ51の判別結果がYESで、CA[i]≦INJOBJ[i]のときには、当該気筒#iが燃料を噴射すべきタイミングにあると判定して、ステップ52に進み、初回噴射済みフラグF_INJFLG[i]が「1」であるか否かを判別する。
この判別結果がYESのときは、当該気筒#iにおいて、斉時噴射を実行済みであり、付加噴射を実行すべきであると判定して、ステップ53に進み、クランク角度位置CA[i]が吸気行程中の値であるか否かを判別する。この判別結果がYESで、クランク角度位置CA[i]が吸気行程中の値であるときには、ステップ54に進み、第2燃料噴射量TOUT2ndを、N爆気筒用の燃料噴射量から第1燃料噴射量を減算した値TOUT[N+1]−TOUTminに設定する。次いで、後述するステップ57に進む。
一方、ステップ53の判別結果がNOで、クランク角度位置CA[i]が吸気行程以外の行程中の値であるときには、ステップ55に進み、第2燃料噴射量TOUT2ndを、N+1爆気筒用の燃料噴射量から第1燃料噴射量を減算した値TOUT[N+2]−TOUTminに設定する。次いで、後述するステップ57に進む。
一方、ステップ52の判別結果がNOのときには、当該気筒#iにおいて付加噴射を実行すべきでないと判定して、ステップ56に進み、第2燃料噴射量TOUT2ndを、N+1爆気筒用の燃料噴射量TOUT[N+2]に設定する。
以上のステップ54〜56のいずれかに続くステップ57で、第2燃料噴射量TOUT2ndに基づいて制御入力信号の値を算出し、この制御入力信号を気筒#iの燃料噴射弁5に供給する。それにより、第2燃料噴射量TOUT2nd分の燃料が燃料噴射弁5から気筒#iに噴射される。なお、本実施形態では、第2燃料噴射量TOUT2ndが第2燃料量に相当する。
ステップ51または57に続くステップ58に進み、前述したステップ25,33と同様に、気筒番号値iが気筒数NOFCYL(=4)と等しいか否かを判別する。この判別結果がNOのときには、前述したように、ステップ50以降を実行する。一方、この判別結果がYESで、ステップ51のクランク角度位置CA[i]に関する判別が4つの気筒#1〜#4のすべてに対して実行されたときには、本処理を終了する。
次に、図12を参照しながら、吸気制御処理について説明する。この制御処理は、スロットル弁機構7を介して、吸気量を制御するものであり、初回のループがクランキングの開始タイミングで実行され、2回目以降のループは、前述した所定の第2クランク角ごとに実行される。
この制御処理では、まず、ステップ70で、エンジン回転数NEが所定の完爆回転数NErefを上回っているか否かを判別する。この所定の完爆回転数NErefは、エンジン3が完爆状態になり、完全に始動したと推定される値(例えば500rpm)に設定されている。なお、本実施形態では、このステップ70の内容が始動動作判定手段に相当し、より具体的には、内燃機関の始動が終了したか否かを判定するものに相当する。
ステップ70の判別結果がNOのときには、エンジン3の始動動作中であると判定して、ステップ71に進み、目標スロットル弁開度TH_cmdを値0に設定する。
一方、ステップ70の判別結果がYESのときには、エンジン3が始動済みであると判定して、ステップ72に進み、目標スロットル弁開度TH_cmdを、通常運転用値TH_APとアイドル運転用値TH_IDLEの大きい方に設定する。なお、この通常運転用値TH_APは、図示しない算出処理において、アクセル開度APに応じて、図示しないマップを検索することにより算出され、アイドル運転用値TH_IDLEは、図示しない算出処理において、エンジン水温TWなどに応じて、図示しないマップを検索することにより算出される。
ステップ71または72に続くステップ73で、算出された目標スロットル弁開度TH_cmdに対応する制御入力信号を、THアクチュエータ7bに供給することにより、THアクチュエータ7bを駆動する。これにより、実際のスロットル弁7aの開度が、目標スロットル弁開度TH_cmdになるように制御される。この場合、TH_cmd=0のときには、スロットル弁7aが全閉状態に制御される。以上のようにステップ73を実行した後、本処理を終了する。
本実施形態では、吸気制御処理が以上のように実行されることによって、エンジン3の始動動作中、スロットル弁7aが全閉状態に制御される。それにより、気筒内の混合気への点火がより遅いタイミングで実行される気筒ほど、吸入空気量がより小さくなるように制御される。その結果、エンジン3の始動動作中において、スロットル弁7aを全閉状態に制御しない場合と比べて、エンジン3から排出される総排ガス量を低減することができ、排ガス特性を向上させることができる。
次に、図13を参照しながら、燃料噴射制御処理を以上のように実行した場合の噴射動作例について説明する。同図は、クランキングを開始した際、1番気筒#1が排気行程にあったときの動作例を示している。同図に示すように、横軸を時間に設定した場合、実際の制御では、クランキングの開始以降、エンジン回転数NEの上昇に伴って、1つの行程の実行期間がより短くなるが、同図では、便宜上、いずれの行程の実行期間も同じ長さで示されている。この点は、後述する図15,18においても同様である。
また、同図においては、三角形で示す領域が燃料噴射が実行されたことを表しており、これらの領域の面積が燃料噴射量を表している。さらに、ハッチングで示す領域の燃料噴射は、前述した斉時噴射および付加噴射を表しており、それ以外の領域の燃料噴射は、4つの初回噴射済みフラグF_INJFLG[1]〜[4]がいずれも「1」から「0」に初期化された以降の、通常の燃料噴射を表している。
同図に示すように、クランキングが開始されたタイミング(時刻t1)で、前述した図8の第1燃料噴射制御処理が実行されることにより、第1燃料噴射量TOUTmin分の燃料が4気筒#1〜#4に同時に噴射される。すなわち、斉時噴射が実行され、4つの初回噴射済みフラグF_INJFLG[1]〜[4]がいずれも「1」に設定される。これに加えて、クランキングの開始に伴い、図10のクランク角度位置算出処理が実行されることによって、4つのクランク角度位置CA[1]〜[4]が算出される。
そして、4つのクランク角度位置CA[1]〜[4]がいずれも算出され、4つの気筒#1〜#4の行程がいずれも判定されたタイミング(時刻t2)で、図11の第2燃料噴射制御処理が開始される。その際、1,2番気筒#1,#2において、ステップ51,52の判別結果がいずれもYESとなり、吸気行程にある2番気筒#2では、前述したステップ53の判別結果がYESとなることで、TOUT[1]−TOUTmin(=TOUT[N+1]−TOUTmin)分の燃料が付加噴射され、排気行程にある1番気筒#1では、前述したステップ53の判別結果がNOとなることで、TOUT[2]−TOUTmin(=TOUT[N+2]−TOUTmin)分の燃料が付加噴射される。
さらに、クランクシャフトの回転に伴い、3番気筒#3において、ステップ51,52の判別結果がいずれもYESとなったタイミング(時刻t3)で、TOUT[3]−TOUTmin(=TOUT[N+2]−TOUTmin)分の燃料が付加噴射される。その後、クランクシャフトの回転に伴い、4番気筒#4において、ステップ51,52の判別結果がYESとなったタイミング(時刻t4)では、ステップ55の演算において、TOUT[N+2]−TOUTmin=TOUT[4]−TOUT[4]=0が成立し、それによって、付加噴射が実行されない。
このように、クランキング開始時点で、2番気筒#2が吸気行程にある場合、4つの気筒#1〜#4において、#2→#1→#3→#4の順に点火動作が開始されるとともに、点火動作以前に噴射される総燃料量が、TOUT[1]→TOUT[2]→TOUT[3]→TOUT[4]と段階的に減少するように制御される。また、各気筒の2回目以降の燃焼サイクルでは、ステップ51の判別結果がYESとなったタイミング(例えば時刻t5)で、ステップ52の判別結果がNOとなり、それによって、TOUT[N+2]分の燃料がその気筒に噴射される。
以上のように、第1実施形態の制御装置1によれば、吸気制御処理において、エンジン3の始動動作中、スロットル弁7aが全閉状態に保持され、それにより、気筒内の混合気への点火がより遅いタイミングで実行される気筒ほど、吸入空気量がより小さくなるように制御される。一方、燃料噴射制御処理において、エンジン3の始動動作の開始時、第1燃料噴射量TOUTmin分の燃料が全気筒#1〜#4に斉時噴射されるので、この斉時噴射によって始動性を高めることができる。また、斉時噴射の実行後、第2燃料噴射量TOUT2nd分の燃料を付加噴射することによって、全気筒#1〜#4において、気筒内の混合気への点火がより遅いタイミングで実行される気筒ほど、より小さくなるように制御される。その結果、各気筒の空燃比を、良好な始動性と良好な排ガス特性をバランスよく確保できるような値に精度よく制御することができ、排ガス特性および始動性をいずれも向上させることができる。これに加えて、エンジン3の始動動作中において、スロットル弁7aが全閉状態に制御されるので、スロットル弁7aを全閉状態に制御しない場合と比べて、エンジン3から排出される総排ガス量を低減することができ、排ガス特性をさらに向上させることができる。
さらに、初爆気筒用および2〜4爆気筒用の燃料噴射量TOUT[1]〜[4]が、エンジン水温TW、大気圧PAおよび吸気温度に応じて算出されるので、これらの4つの燃料噴射量TOUT[1]〜[4]を、エンジン3の動作環境を反映させながら、良好な始動性と良好な排ガス特性をバランスよく確保できる値として算出することができる。
また、斉時噴射される第1燃料噴射量TOUTminが、4つの燃料噴射量TOUT[1]〜[4]のうちの最小値TOUT[4]に設定され、付加噴射される第2燃料噴射量TOUT2ndが、4つの燃料噴射量TOUT[1]〜[4]から第1燃料噴射量TOUTminを減算することによって算出されるので、これらの燃料噴射量TOUTmin,TOUT2ndによって、排ガス特性および始動性を確実に向上させることができる。これに加えて、クランキングを開始した際、燃料が最も遅いタイミングで点火される気筒では、第1燃料噴射量TOUTminのみしか噴射されないので、その分、燃料の噴射回数を減少させることができ、燃料噴射の制御精度を向上させることができる。
なお、第1実施形態は、本発明の制御装置を4気筒型の内燃機関に適用した例であるが、本発明の制御装置が適用される内燃機関はこれに限らず、複数の気筒を有する内燃機関であればよい。例えば、本発明の制御装置を6気筒型、8気筒型、10気筒型または12気筒型の内燃機関などに適用してもよい。
また、第1実施形態は、内燃機関として、ガソリンを燃料とするものを用いた例であるが、本発明の内燃機関はこれに限らず、内燃機関であればよい。例えば、内燃機関として、軽油や天然ガスなどを燃料とするものを用いてよい。
さらに、第1実施形態は、動作環境パラメータとして、エンジン水温TW、吸気圧PBAおよび大気圧PAを用いた例であるが、本発明の動作環境パラメータはこれに限らず、内燃機関の動作環境を表すものであればよい。例えば、動作環境パラメータとして、吸気通路内を流れる空気の温度や流量を用いてもよい。
一方、第1実施形態は、内燃機関として、ポート噴射式の内燃機関を用いた例であるが、これに代えて、筒内噴射式の内燃機関を用いてもよい。その場合には、付加噴射を、斉時噴射の供給後であって爆発行程が終了するまでの間に実行すればよい。
また、第1実施形態は、エンジン3のクランキング開始時、吸気行程にある気筒に対しては、付加噴射を斉時噴射に連続して実行し、それ以外の気筒に対しては、付加噴射を排気行程中の所定の目標噴射角度INJOBJ[i]で実行した例であるが、付加噴射の実行タイミングはこれらに限らず、その気筒において、斉時噴射後から圧縮行程が開始されるまでの間であればよい。例えば、全気筒において、付加噴射を吸気行程で実行するように構成してもよい。このように構成した場合、第1実施形態の制御手法と比べて、排ガス特性の悪化を招くおそれがある。そのため、始動性および排ガス特性の双方を良好な状態でバランスよく確保する観点からは、第1実施形態の制御手法の方が優れている。
次に、本発明の第2実施形態に係る内燃機関の制御装置について説明する。この第2実施形態の制御装置は、第1実施形態の制御装置1と比べて、以下に述べるように、燃料噴射制御処理における第1燃料噴射制御処理の内容のみが異なっているので、以下、この第1燃料噴射制御処理を中心に説明するとともに、第1実施形態の制御装置1と同じ制御処理に関しては、その説明および図示を省略する。
まず、図14を参照しながら、本実施形態の第1燃料噴射制御処理について説明する。この第1燃料噴射制御処理は、以下に述べるように、クランキングの開始タイミングで、前述した斉時噴射に代えて、4つの気筒#1〜#4のうちの、排気行程および圧縮行程にある2つの所定気筒に対してのみ燃料を同時に噴射するためのものである。なお、以下の説明では、このように、クランキングの開始タイミングで、2つの所定気筒に対してのみ燃料を同時に噴射することを「グループ噴射」という。
同図に示すように、この第1燃料噴射制御処理は、前述した図8の第1燃料噴射制御処理と比べて、ステップ83,87のみが異なっており、それら以外の点は同じように構成されているので、以下、ステップ83,87を中心に説明する。この処理では、ステップ82に続くステップ83で、クランク角度位置CA[i]が圧縮行程の値であるか否かを判別する。この判別結果がYESのときには、ステップ84〜86を、前述したステップ23〜25と同様に実行する。
一方、ステップ83の判別結果がNOのときには、ステップ87に進み、クランク角度位置CA[i]が排気行程の値であるか否かを判別する。この判別結果がYESのときには、上述したように、ステップ84以降を実行する。一方、ステップ87の判別結果がNOのときには、ステップ86以降を実行する。以上のように、本処理では、排気行程および圧縮行程にある2つの所定気筒に対してのみ、ステップ84,85が実行され、それにより、グループ噴射が2つの所定気筒に対して実行されるとともに、これらの所定気筒に対応する2つの初回噴射済みフラグF_INJFLG[i]が「1」に設定される。
次に、図15を参照しながら、第2実施形態の制御装置によって燃料噴射制御処理を以上のように実行した場合の噴射動作例について説明する。同図は、クランキングを開始した際、1番気筒#1が排気行程にあったときの動作例を示しており、同図のハッチングで示す領域の燃料噴射が、前述したグループ噴射および付加噴射を表している。
同図に示すように、クランキングが開始されたタイミング(時刻t10)で、前述した図14の第1燃料噴射制御処理が実行されることにより、第1燃料噴射量TOUTmin分の燃料が1番および4番気筒#1,#4に同時に噴射される。すなわち、グループ噴射が実行され、2つの初回噴射済みフラグF_INJFLG[1],F_INJFLG[4]がいずれも「1」に設定される。これに加えて、クランキングの開始に伴い、前述した図10のクランク角度位置算出処理が実行されることによって、4つのクランク角度位置CA[1]〜[4]が算出される。
そして、4つのクランク角度位置CA[1]〜[4]がいずれも算出され、4つの気筒#1〜#4の行程がいずれも判定されたタイミング(時刻t11)で、前述した図11の第2燃料噴射制御処理が開始される。その際、排気行程にある1番気筒#1では、前述したステップ51,52の判別結果がいずれもYESになり、かつ前述したステップ53の判別結果がNOとなることで、TOUT[2]−TOUTmin(=TOUT[N+2]−TOUTmin)分の燃料が付加噴射される。
さらに、クランクシャフトの回転に伴い、3番気筒#3において、ステップ51の判別結果がYESとなったタイミング(時刻t12)では、前述したステップ52の判別結果がNOとなることで、TOUT[3](=TOUT[N+2])分の燃料が噴射される。その後、クランクシャフトの回転に伴い、4番気筒#4において、ステップ51,52の判別結果がYESとなったタイミング(時刻t13)では、前述したステップ55の演算で、TOUT[N+2]−TOUTmin=TOUT[4]−TOUT[4]=0が成立することで、付加噴射が実行されない。
次いで、クランクシャフトの回転に伴い、2番気筒#2において、ステップ51の判別結果がYESとなったタイミング(時刻t14)では、前述したステップ52の判別結果がNOとなることで、TOUT[5](=TOUT[N+2])分の燃料が噴射される。
このように、クランキング開始時点で、1番気筒#1が排気行程にある場合、4つの気筒#1〜#4では、点火動作が#1→#3→#4→#2の順に実行されるとともに、点火動作以前に噴射される総燃料量が、TOUT[2]→TOUT[3]→TOUT[4]→TOUT[5]と段階的に減少するように制御される。また、各気筒の2回目以降の燃焼サイクルでは、ステップ51の判別結果YESとなったタイミング(例えば時刻t14)で、ステップ52の判別結果がNOとなることによって、TOUT[N+2]分の燃料がその気筒に噴射される。
以上のように、第2実施形態の制御装置によれば、吸気制御処理が第1実施形態の制御装置1と同様に実行される。また、燃料噴射制御処理では、クランキングの開始時、第1燃料噴射量TOUTmin分の燃料が、排気行程および圧縮行程にある2つの所定気筒に対してグループ噴射されるので、このグループ噴射によって、始動性を高めることができるとともに、第1実施形態のような斉時噴射を実行した場合と比べて、燃料圧の低下を抑制することができる。
さらに、グループ噴射の実行後、第2燃料噴射量TOUT2nd分の燃料を、クランキングの開始時に排気行程にあった所定気筒に対してのみ付加噴射するとともに、クランキングの開始時に吸気行程および爆発行程にあった気筒に対して、第2燃料噴射量TOUT2nd分の燃料を排気行程中の所定タイミングで噴射することによって、全気筒#1〜#4において、気筒内の混合気への点火がより遅いタイミングで実行される気筒ほど、より小さくなるように制御される。その結果、良好な始動性と良好な排ガス特性をバランスよく確保できるような値に精度よく制御することができ、排ガス特性および始動性をいずれも向上させることができる。
また、グループ噴射される2つの所定気筒のうち、クランキング開始時に圧縮行程にある気筒に対しては、付加噴射が実行されず、第1燃料噴射量TOUTmin分の燃料しか噴射されないので、燃料の噴射回数を減少させることができるとともに、上記燃料圧の低下を抑制できることで、付加噴射の際、第2燃料噴射量TOUT2nd分の燃料を精度よく噴射することができる。その結果、燃料噴射の制御精度を向上させることができる。
なお、第2実施形態は、グループ噴射を、クランキング開始時に排気行程および圧縮行程にある気筒に対して実行した例であるが、グループ噴射を、クランキング開始時に吸気行程および爆発行程にある気筒に対して実行してもよい。
次に、本発明の第3実施形態に係る内燃機関の制御装置について説明する。この第3実施形態の制御装置は、前述した第2実施形態の制御装置と比べると、クランキングの開始時、排気行程および圧縮行程にある2つの所定気筒に代えて、吸気行程および排気行程にある2つの所定気筒に対してグループ噴射を実行する点が異なっている。また、具体的な制御処理としては、以下に述べるように、クランク角度位置CA[i]の算出処理の内容と、クランク角度位置CA[i]をEEPROMに記憶する処理を実行する点と、第1燃料噴射制御処理の内容とが第2実施形態の制御装置と異なっているので、以下、これらの制御処理を中心に説明する。
まず、本実施形態の制御装置では、各気筒のクランク角度位置CA[i]の算出は、クランキングの開始タイミングに同期して開始されるとともに、エンジン3のクランクシャフトが停止するまで行われる。また、クランク角度位置CA[i]の算出開始時、クランク角度位置CA[i]は、以下に述べるようにEEPROMに記憶されているクランク角度位置CA[i]に設定されるとともに、それ以降、記憶されたクランク角度位置CA[i]とCRK信号に基づいて算出される。
次に、図16を参照しながら、クランク角度位置CA[i]をEEPROMに記憶する処理について説明する。この処理は、エンジン停止時のクランク角度位置CA[i]を全気筒分、記憶するものであり、CRK信号の発生タイミングに同期して実行される。この処理では、まず、ステップ90で、IG信号がOFF状態にあるか否かを判別する。この判別結果がNOで、IG信号がON状態にあるときには、そのまま本処理を終了する。
一方、ステップ90の判別結果がYESのときには、ステップ91に進み、IG信号がON状態からOFF状態に切り換わった後、所定時間が経過したか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。一方、ステップ91の判別結果がYESのときには、エンジン3のクランクシャフトが完全に停止したと判定して、ステップ92に進み、その時点での全気筒分のクランク角度位置CA[i]を、EEPROMに記憶した後、本処理を終了する。以上のように、ステップ92で、全気筒分のクランク角度位置CA[i]がEEPROMに記憶された以降、本処理の実行は、次回の運転サイクルにおけるエンジン停止時まで禁止される。
次に、図17を参照しながら、本実施形態の第1燃料噴射制御処理について説明する。同図に示すように、この第1燃料噴射制御処理は、前述した第2実施形態の図14の第1燃料噴射制御処理と比べて、ステップ101,103のみが異なっており、それら以外の点は同じように構成されているので、以下、ステップ101,103を中心に説明する。この処理では、ステップ100に続くステップ101で、第1燃料噴射量TOUTminを2爆気筒用の燃料噴射量TOUT[2]に設定する。次いで、ステップ102を前述したステップ22,82と同様に実行した後、ステップ103で、クランク角度位置CA[i]が吸気行程の値であるか否かを判別する。この判別結果がYESのときには、ステップ104〜106を、前述したステップ23〜25または84〜86と同様に実行する。
一方、ステップ103の判別結果がNOのときには、ステップ107を前述したステップ87と同様に実行した後、ステップ104以降またはステップ106以降を実行する。以上のように、本実施形態の第1燃料噴射制御処理は実行される。
また、本実施形態の場合、前述した第2燃料噴射制御処理は、初回のループが燃料噴射弁5が第1燃料噴射量TOUTmin分の燃料を噴射し終わったと推定されるタイミングで実行され、2回目以降のループは、前述したフラグ初期化処理に連続してこれと同じ制御周期で実行される。
次に、図18を参照しながら、第3実施形態の制御装置によって燃料噴射制御処理を以上のように実行した場合の噴射動作例について説明する。同図は、クランキングを開始した際、1番気筒#1が排気行程にあったときの動作例を示しており、同図のハッチングで示す領域の燃料噴射が、前述したグループ噴射および付加噴射を表している。
同図に示すように、クランキングが開始されたタイミング(時刻t20)で、EEPROMに記憶されたデータを用い、1番および2番気筒#1,#2のクランク角度位置CA[i]がそれぞれ、排気行程および吸気行程の値に設定されるとともに、前述した図17の第1燃料噴射制御処理が実行されることにより、第1燃料噴射量TOUTmin(=TOUT[2])分の燃料が1番および2番気筒#1,#2に同時に噴射される。すなわち、グループ噴射が実行され、2つの初回噴射済みフラグF_INJFLG[1],F_INJFLG[2]がいずれも「1」に設定される。
そして、第1燃料噴射量TOUTmin(=TOUT[2])分の燃料が1番および2番気筒#1,#2に噴射し終わったタイミング(時刻t21)で、前述した図11の第2燃料噴射制御処理が開始される。その際、1番および2番気筒#1,#2において、前述したステップ51,52の判別結果がいずれもYESとなるものの、排気行程にある1番気筒#1の場合、前述したステップ53の判別結果がNOとなり、ステップ55の演算で、TOUT[N+2]−TOUTmin=TOUT[2]−TOUT[2]=0が成立することで、付加噴射が実行されない。一方、吸気行程にある2番気筒#2の場合、前述したステップ53の判別結果がYESとなるので、ステップ54で演算されたTOUT[1]−TOUTmin(=TOUT[N+1]−TOUTmin)分の燃料が付加噴射される。
さらに、クランクシャフトの回転に伴い、3番気筒#3において、ステップ51の判別結果がYESとなったタイミング(時刻t22)では、前述したステップ52の判別結果がNOとなることで、TOUT[3](=TOUT[N+2])分の燃料が噴射される。その後、クランクシャフトの回転に伴い、4番気筒#4において、ステップ51の判別結果がYESとなったタイミング(時刻t23)では、前述したステップ52の判別結果がNOとなることで、TOUT[4](=TOUT[N+2])分の燃料が噴射される。
このように、クランキング開始時点で、1番気筒#1が排気行程にあり、2番気筒#2が吸気行程にある場合、4つの気筒#1〜#4では、点火動作が#2→#1→#3→#4の順に実行されるとともに、点火動作の前に噴射される総燃料量が、TOUT[1]→TOUT[2]→TOUT[3]→TOUT[4]と段階的に減少するように制御される。また、各気筒の2回目以降の燃焼サイクルでは、ステップ51の判別結果YESとなったタイミング(例えば時刻t24)で、ステップ52の判別結果がNOとなることによって、TOUT[N+2]分の燃料がその気筒に噴射される。
以上のように、第3実施形態の制御装置によれば、吸気制御処理が第1実施形態の制御装置1と同様に実行される。また、燃料噴射制御処理では、クランキングの開始時、第1燃料噴射量TOUTmin分の燃料が、排気行程および吸気行程にある2つの所定気筒に対してグループ噴射されるので、このグループ噴射によって、始動性を高めることができるとともに、第1実施形態のような斉時噴射を実行した場合と比べて、燃料圧の低下を抑制することができる。
さらに、グループ噴射の実行後、第2燃料噴射量TOUT2nd分の燃料を、クランキングの開始時に吸気行程にあった所定気筒に対してのみ付加噴射するとともに、クランキングの開始時に圧縮行程および爆発行程にあった気筒に対して、第2燃料噴射量TOUT2nd分の燃料を排気行程中の所定タイミングで噴射することによって、各気筒の空燃比が、気筒内の混合気への点火がより遅いタイミングで実行される気筒ほど、より小さくなるように制御される。その結果、各気筒の空燃比を、良好な始動性と良好な排ガス特性をバランスよく確保できるような値に精度よく制御することができ、排ガス特性および始動性をいずれも向上させることができる。
また、グループ噴射される2つの所定気筒のうち、クランキング開始時に排気行程にある気筒に対しては、付加噴射が実行されず、第1燃料噴射量TOUTmin分の燃料しか噴射されないので、燃料の噴射回数を減少させることができるとともに、上記燃料圧の低下を抑制できることで、付加噴射の際、第2燃料噴射量TOUT2nd分の燃料を精度よく噴射することができる。その結果、燃料噴射の制御精度を向上させることができる。