(57)【要約】【課題】燃焼の安定性に大きな影響を与える燃焼室内残留ガス量のバラツキを抑えて、アイドル時の目標回転速度に維持するエンジンの制御方法を提供する。【解決手段】アイドル時の目標回転速度に到達したタイミングで点火時期を始動用から触媒暖機促進用へとステップ的に遅角する処理手順と、前記タイミングで前記目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、前記タイミングよりも所定期間前にスロットル弁を開き始める処理手順と、スロットル弁を開き始めるタイミングを起点とし、前記目標回転速度に到達した後に吸気圧または吸気流速の変化が収束するまでのあいだ、燃料噴射弁からの燃料噴射量を一時的に増量する処理手順と、エンジンの燃焼変動量を推定する処理手順と、この推定した燃焼変動量に基づいて前記触媒暖機促進用の点火時期を補正する処理手順とをエンジンコントローラ（３１）が含む。【選択図】図１
2008002435.tif 000002
【特許請求の範囲】
【請求項１】
触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路にそれぞれ備えるエンジンにおいて、
クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角する点火時期遅角処理手順と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始める吸入空気量供給処理手順と、
前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量する燃料噴射量増量処理手順と、
エンジンの燃焼変動量を推定する燃焼変動量推定処理手順と、
この推定した燃焼変動量に基づいて前記触媒暖機促進用の点火時期を補正する点火時期補正処理手順と
を含むことを特徴とするエンジンの制御方法。
【請求項２】
触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路にそれぞれ備えると共に、吸気バルブの開閉タイミングを可変に制御し得る可変バルブタイミング・リフト機構を備え、クランキング開始に際して吸気バルブの開期間と排気バルブの開期間のオーバラップが大きくなるように、この可変バルブタイミング・リフト機構に与える指令値を設定しているエンジンにおいて、
クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角する点火時期遅角処理手順と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始める吸入空気量供給処理手順と、
前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量する燃料噴射量増量処理手順と、
エンジンの燃焼変動量を推定する燃焼変動量推定処理手順と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降で空燃比フィードバック制御開始後にこの推定した燃焼変動量が閾値以上であるときに、クランキング開始に際して大きくなるように設定された吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正するかまたは前記触媒暖機促進用の点火時期を進角側に補正する指令値・点火時期補正処理手順と
を含むことを特徴とするエンジンの制御方法。
【請求項３】
吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記可変バルブタイミング・リフト機構に与える指令値を第１学習値として記憶し、次回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値をこの第１学習値に設定することを特徴とする請求項２に記載のエンジンの制御方法。
【請求項４】
前記触媒暖機促進用の点火時期を進角側に補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記触媒暖機促進用の点火時期を第２学習値として記憶し、次回のクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期からこの第２学習値へとステップ的に遅角することを特徴とする請求項２に記載のエンジンの制御方法。
【請求項５】
前記可変バルブタイミング・リフト機構に与える指令値を先に補正し、前記可変バルブタイミング・リフト機構に与える指令値を限界値まで補正しても前記推定した燃焼変動量が閾値以上であるときに、前記触媒暖機促進用の点火時期を進角側に補正することを特徴とする請求項２に記載のエンジンの制御方法。
【請求項６】
前記触媒暖機促進用の点火時期を進角側に補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記触媒暖機促進用の点火時期を第２学習値として記憶し、次回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値を前記限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期からこの第２学習値へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、前記推定した燃焼変動量が閾値以上であるときには空燃比をリッチ側に補正することを特徴とする請求項５に記載のエンジンの制御方法。
【請求項７】
前記空燃比をリッチ側に補正することによって前記推定した燃焼変動量が閾値未満となったときの空燃比を第３学習値として記憶し、前記次回の次の回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値を前記限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から前記第２学習値へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、空燃比を前記第３学習値に設定することを特徴とする請求項６に記載のエンジンの制御方法。
【請求項８】
触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路にそれぞれ備えるエンジンにおいて、
クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角する点火時期遅角手段と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始める吸入空気量供給手段と、
前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量する燃料噴射量増量手段と、
エンジンの燃焼変動量を推定する燃焼変動量推定手段と、
この推定した燃焼変動量に基づいて前記触媒暖機促進用の点火時期を補正する点火時期補正手段と
を含むことを特徴とするエンジンの制御装置。
【請求項９】
触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路にそれぞれ備えると共に、吸気バルブの開閉タイミングを可変に制御し得る可変バルブタイミング・リフト機構を備え、クランキング開始に際して吸気バルブの開期間と排気バルブの開期間のオーバラップが大きくなるように、この可変バルブタイミング・リフト機構に与える指令値を設定しているエンジンにおいて、
クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角する点火時期遅角手段と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始める吸入空気量供給手段と、
前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量する燃料噴射量増量手段と、
エンジンの燃焼変動量を推定する燃焼変動量推定手段と、
エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降で空燃比フィードバック制御開始後にこの推定した燃焼変動量が閾値以上であるときに、クランキング開始に際して大きくなるように設定された吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正するかまたは前記触媒暖機促進用の点火時期を進角側に補正する指令値・点火時期補正手段と
を含むことを特徴とするエンジンの制御装置。
【請求項１０】
吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記可変バルブタイミング・リフト機構に与える指令値を第１学習値として記憶し、次回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値をこの第１学習値に設定することを特徴とする請求項９に記載のエンジンの制御装置。
【請求項１１】
前記触媒暖機促進用の点火時期を進角側に補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記触媒暖機促進用の点火時期を第２学習値として記憶し、次回のクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期からこの第２学習値へとステップ的に遅角することを特徴とする請求項９に記載のエンジンの制御装置。
【請求項１２】
前記可変バルブタイミング・リフト機構に与える指令値を先に補正し、前記可変バルブタイミング・リフト機構に与える指令値を限界値まで補正しても前記推定した燃焼変動量が閾値以上であるときに、前記触媒暖機促進用の点火時期を進角側に補正することを特徴とする請求項９に記載のエンジンの制御装置。
【請求項１３】
前記触媒暖機促進用の点火時期を進角側に補正することによって前記推定した燃焼変動量が閾値未満となったときの、前記触媒暖機促進用の点火時期を第２学習値として記憶し、次回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値を前記限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期からこの第２学習値へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、前記推定した燃焼変動量が閾値以上であるときには空燃比をリッチ側に補正することを特徴とする請求項１２に記載のエンジンの制御装置。
【請求項１４】
前記空燃比をリッチ側に補正することによって前記推定した燃焼変動量が閾値未満となったときの空燃比を第３学習値として記憶し、前記次回の次の回のクランキング開始時に前記可変バルブタイミング・リフト機構に与える指令値を前記限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から前記第２学習値へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、空燃比を前記第３学習値に設定することを特徴とする請求項１３に記載のエンジンの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジン（内燃機関）の制御方法及び制御装置、特に冷間始動時の制御に関する。
【背景技術】
【０００２】
冷間状態でのクランキングによる完爆後、エンジン回転速度が吹き上がるまでの期間は点火時期を始動用の点火時期とし、エンジン回転速度が吹き上がった後には触媒の活性化を促進させるため、圧縮上死点後の所定クランク角位置まで点火時期をステップ的に遅角させるものがある（特許文献１参照）。
【特許文献１】特開平８−２３２６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１の技術では、圧縮上死点後の所定クランク角位置まで点火時期をステップ的に遅角させるのに先立ち、ＩＳＣ開度を大きくするなどして吸入空気量を増加させ、点火時期をステップ的に遅角させるタイミングの後ではさらに吸入空気量を増加させるのが好ましいことを提案し、これによってエンジンの吹き上がりが円滑化ないしは迅速化されるとしている。
【０００４】
しかしながら、エンジンの吹き上がりを円滑化ないしは迅速化させるためとはいえ、エンジン回転速度をアイドル時の目標回転速度を超えてまで吹き上がらせることは燃料消費の面からみると、却って燃料を無駄に消費させていることになる。従って、燃費向上の観点からは、冷間始動時といえども、完爆後、エンジン回転速度がアイドル時の目標回転速度へとオーバーシュートすることなく収束させることのほうが好ましい。
【０００５】
そこで、クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角すると共に、燃費向上の観点より、エンジン回転速度がアイドル時の目標回転速度に達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、スロットル弁位置から燃焼室までの吸入空気量の応答遅れを考慮して、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前のタイミングよりスロットル弁を開き始める構成を考えた。
【０００６】
そしてこの構成で実験してみたところ、もくろみ通りにエンジン回転速度がアイドル時の目標回転速度に到達した後に、このアイドル時の目標回転速度を超えてエンジン回転速度度が吹き上がることはなくなったのであるが、実際の空燃比が燃焼安定限界を超えてリーン化し、これに起因して、アイドル時の目標回転速度からの回転落ちが生じたりＨＣが増加してしまうことが新たに判明した。
【０００７】
そこでクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始め、前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量することで、冷間始動時に触媒の暖機促進を図りながら完爆後のエンジン回転速度をアイドル時の目標回転速度に向かって速やかに収束させると共に、エンジン回転速度がアイドル時の目標回転速度に到達した後にも実際の空燃比が燃焼安定限界を超えてリーン化することのないエンジンの制御方法や制御装置とすることが考えられる。
【０００８】
一方、吸気バルブの開閉タイミングを可変に制御し得る可変バルブタイミング・リフト機構を備え、クランキング開始に際して吸気バルブの開期間と排気バルブの開期間のオーバラップが大きくなるように、この可変バルブタイミング・リフト機構に与える指令値を設定しているエンジンがある。このエンジンでは、冷間始動時に可変バルブタイミング・リフト機構を作動させて吸気バルブの開閉タイミングを、初期位置まで進角側に移動させ、吸気バルブの開期間と排気バルブの開期間のオーバーラップを大きくするようにしている。これは、吸気バルブの開期間と排気バルブの開期間のオーバーラップ中の排気ポートより吸気ポートへの高温の排気の吹き返しを利用して冷間始動時における、主に吸気ポート壁の燃料壁流の霧化を促進するためである。
【０００９】
こうした可変バルブタイミング・リフト機構の作動に伴う吸気バルブの開閉タイミングのバラツキや、点火時期、空燃比のバラツキに起因して燃焼室内残留ガス量がバラツキ、この燃焼室内残留ガス量のバラツキにより燃焼変動が生じ、アイドル回転速度に変動が生じる。このようにアイドル回転速度の変動が生じたのでは、エンジン回転速度をアイドル時の目標回転速度に維持することが難しくなる。
【００１０】
そこで本発明は、可変バルブタイミング・リフト機構の作動に伴う吸気バルブの開閉タイミングのバラツキや、点火時期、空燃比のバラツキに起因して燃焼室内残留ガス量がバラツクことがあっても、燃焼の安定性に大きな影響を与えると考えられる燃焼室内残留ガス量のバラツキを抑えて、エンジン回転速度をアイドル時の目標回転速度に維持するようにしたエンジンの制御方法や制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路（例えば吸気ポート）にそれぞれ備えるエンジンにおいて、クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始め、前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量するように構成する。さらに本発明は、エンジンの燃焼変動量を推定し、この推定した燃焼変動量に基づいて前記触媒暖機促進用の点火時期を補正するように構成する。
【００１２】
また、本発明は、触媒を排気通路に、燃料を噴射する燃料噴射弁を吸気通路にそれぞれ備えると共に、吸気バルブの開閉タイミングを可変に制御し得る可変バルブタイミング・リフト機構を備え、クランキング開始に際して吸気バルブの開期間と排気バルブの開期間のオーバラップが大きくなるように、この可変バルブタイミング・リフト機構に与える指令値を設定しているエンジンにおいて、クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始め、前記スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、前記燃料噴射弁からの燃料噴射量を一時的に増量し、エンジンの燃焼変動量を推定し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降で空燃比フィードバック制御開始後にこの推定した燃焼変動量が閾値以上であるときに、吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正するかまたは前記触媒暖機促進用の点火時期を進角側に補正するように構成する。
【発明の効果】
【００１３】
本発明によれば、始動からのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を始動用の点火時期から触媒暖機促進用の点火時期へとステップ的に遅角し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミングでエンジン回転速度をアイドル時の目標回転速度に保持させるに必要な吸入空気量が燃焼室に供給されるように、エンジン回転速度がアイドル時の目標回転速度に到達するタイミングよりも所定期間前にスロットル弁を開き始めるので、エンジン回転速度がアイドル時の目標回転速度に到達した後の吹き上がりを抑制しながら早期に排気温度を上昇させることが可能となり、無駄な燃料消費を抑制しつつ触媒活性時間を短くすることができる。
【００１４】
この場合に、エンジン回転速度がアイドル時の目標回転速度に到達した後も暫くのあいだ吸気圧や吸気ポートの吸気流速がなおも小さくなる側に変化し続けることがあり、この場合には、吸気圧や吸気ポートの吸気流速の変化に伴って吸気ポート壁の燃料壁流量が減少し、その分燃焼室に供給される燃料量が不足し、燃焼室内の混合気の空燃比が燃焼安定限界を超えてリーンとなり、ＨＣの増加やエンジンの回転落ちを招くことになるのであるが、本発明によれば、スロットル弁を開き始めるタイミングを起点とし、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧または吸気ポートの吸気流速の変化が収束するまでのあいだ、燃料噴射弁からの燃料噴射量を一時的に増量するので、エンジン回転速度がアイドル時の目標回転速度に到達した後に吸気圧や吸気ポートの吸気流速がなおも小さくなる側に変化し続けることがあっても、燃焼室内の混合気の空燃比が燃焼安定限界を超えてリーンとなることを防止できる。この結果、エンジン回転速度がアイドル時の目標回転速度に到達した後におけるＨＣの増加やアイドル時の目標回転速度からの回転落ちを抑制できる。
【００１５】
また、エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降の燃焼変動の原因として触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキが考えられるのであるが、本発明によれば、エンジンの燃焼変動量を推定し、この推定した燃焼変動量に基づいて触媒暖機促進用の点火時期を補正するので、エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降の触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動を抑制することができる。
【００１６】
また、空燃比フィードバック制御開始後であれば、空燃比についてはバラツキに起因する燃焼室内残留ガス量のバラツキがあっても空燃比フィードバック制御により解消されていると考えられるため、空燃比フィードバック制御開始後における燃焼変動の原因は、吸気バルブの開期間と排気バルブの開期間のオーバーラップのバラツキ、つまり可変バルブタイミング・リフト機構による吸気バルブの開閉タイミングのバラツキに起因する燃焼室内残留ガス量のバラツキにあるかまたは触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキにあると考えられる。この場合に、本発明によれば、エンジンの燃焼変動量を推定し、エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降で空燃比フィードバック制御開始後にこの推定した燃焼変動量が閾値以上であるときに、吸気バルブの開期間と排気バルブの開期間のオーバーラップが小さくなる側に前記可変バルブタイミング・リフト機構に与える指令値を補正するかまたは前記触媒暖機促進用の点火時期を進角側に補正するので、可変バルブタイミング・リフト機構による吸気バルブの開閉タイミングのバラツキや触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動を抑制することができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面に基づき本発明の実施形態について説明する。図１〜図７を用いて説明するところは、実際には本発明の前提となる先行発明（特願２００６−１０１４９７参照）の技術内容で、本発明はこの先行発明の改良発明として位置づけられる。先行発明に対して本発明により変更した部分については、図８以降の図を用いて説明する。
【００１８】
図１はエンジンの制御方法の実施に直接使用するエンジンの制御装置の概略構成を示している。
【００１９】
スロットル弁２３により調量される空気は、吸気コレクタ２に蓄えられた後、吸気マニホールド３を介して各気筒の燃焼室５に導入される。燃料は各気筒の吸気ポート４に配置された燃料噴射弁２１より、所定のタイミングで吸気ポート内に向けて間欠的に噴射供給される。吸気ポート４に噴射された燃料は、空気と混合して混合気を作り、この混合気は吸気バルブ１５を閉じることで燃焼室５内に閉じこめられ、ピストン６の上昇によって圧縮され、点火プラグ１４により着火されて燃焼する。この燃焼によるガス圧がピストン６を押し下げる仕事を行い、このピストン６の往復運動はクランクシャフト７の回転運動へと変換される。燃焼後のガス（排気）は排気バルブ１６が開いたとき排気通路８へと排出される。
【００２０】
排気通路８のうちマニホールドの集合部に第１触媒９（スタートアップ触媒）を、また車両の床下位置に第２触媒１０を備えている。これら２つの触媒９、１０は、例えばいずれも三元触媒で、三元触媒は排気の空燃比が理論空燃比を中心とした狭い範囲にあるとき、排気に含まれるＨＣ、ＣＯ及びＮＯｘを同時に効率よく除去できる。このため、エアフローメータ３２からの吸入空気量の信号、クランク角センサ（ポジションセンサ３３とフェーズセンサ３４）からの信号が入力されるエンジンコントローラ３１ではこれらの信号に基づいて燃料噴射弁２１からの基本燃料噴射量を定めると共に、第１触媒９の上流に設けたＯ2センサ３５からの信号に基づいて空燃比をフィードバック制御する。
【００２１】
一方、冷間始動時には触媒を早期に活性化すると共に、Ｏ2センサ３５をも早期に活性化して空燃比のフィードバック制御を実行させるため、Ｏ2センサ３５を始動直後よりヒータ（図示しない）によって加熱し、Ｏ2センサ３５の信号をみて、Ｏ2センサ３５が活性化したタイミングで空燃比のフィードバック制御を開始している。
【００２２】
なお、触媒９、１０の構成はこれに限られるものでない。例えば、エンジン暖機完了後の燃費向上のため、低負荷側の運転領域において理論空燃比よりもリーンの空燃比で運転を行うようにしているものでは、リーン運転時に多く発生するＮＯｘを吸収するため、第２触媒１０をＮＯｘトラップ触媒で構成し、このＮＯｘトラップ触媒に三元触媒機能を持たせているが、こうした構成のものでもかまわない。
【００２３】
上記のスロットル弁２３はスロットルモータ２４により駆動される。運転者が要求するトルクはアクセルペダル４１の踏み込み量（アクセル開度）に現れるので、エンジンコントローラ３１ではアクセルセンサ４２からの信号に基づいて目標トルクを定め、この目標トルクを実現するための目標空気量を定め、この目標空気量が得られるようにスロットル弁駆動装置（図示しない）ではスロットルモータ２４を介してスロットル弁２３の開度を制御する。
【００２４】
また、上記吸気バルブ１５のバルブリフト量を連続的に可変制御する多節リンク状の機構で構成される可変バルブリフト機構２６と、クランクシャフト７と吸気バルブ用カムシャフト２５との回転位相差を連続的に可変制御して、吸気バルブ１５の開閉タイミングを進遅角する可変バルブタイミング機構２７とを備えている。
【００２５】
さて、冷間状態でのクランキングからのエンジン回転速度が良好に吹き上がるようにすると共に、排気通路８に設けている特に第１触媒９を早期に暖機するため点火時期を遅角させている。この様子を図２を参照しながら４気筒エンジンの場合で具体的に説明する。
【００２６】
まず、現状の制御から説明する。現状では、図２の最上段に一点鎖線で示したように、始動のためスタータスイッチをＯＦＦよりＯＮへと切換えたｔ０のタイミングより、エンジン回転速度は３つの気筒で初回の爆発に対応して変動し、４番目の気筒の爆発でエンジン回転速度が急激に上昇し、ｔ２のタイミングでアイドル時の目標回転速度ＮＳＥＴを横切って吹き上がっている（一点鎖線参照）。そして、エンジン回転速度がアイドル時の目標回転速度ＮＳＥＴに到達したｔ２のタイミングからは、図２の第５段目に一点鎖線で示したようにアイドル時の目標回転速度ＮＳＥＴを維持できる吸入空気が燃焼室５に導入されるようにスロットル弁開度が所定開度ＴＶＯ１へとステップ的に開かれている。
【００２７】
また、燃料噴射量は、冷間始動当初は噴射燃料の全てが燃焼室５に吸入されるのではなく、噴射燃料量の一部が吸気ポート４壁や吸気弁１５傘裏部に付着し、吸気ポート壁を液状で流れる、いわゆる燃料壁流の形成に使われるため、燃焼室５への燃料供給遅れが発生する。このため、図２の第４段目に一点鎖線で示したように始動当初で吸気ポート壁の燃料壁流として多くが奪われるあいだは余分に燃料を噴射供給しており、燃料壁流の形成に多くが奪われなくなるタイミングより徐々に燃料噴射量を減少させている。
【００２８】
一方、点火時期は現状では、図２の第２段目に一点鎖線で示したように、ｔ０のタイミングより始動用の点火時期である第１点火時期ＡＤＶ１に設定され、ｔ２のタイミングからは第１触媒９の暖機促進を図るため大きく遅角させた第２点火時期ＡＤＶ２へと徐々に切換えられている。
【００２９】
ここで、クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達するｔ２のタイミングを境にして前と後に分けると、ｔ２の後には、燃費向上の観点からはエンジン回転速度Ｎｅが吹き上がることなくアイドル時の目標回転速度ＮＳＥＴへと速やかに落ち着くことが望ましい。これは、エンジン回転速度がアイドル時の目標回転速度ＮＳＥＴを超えて吹き上がるとそれだけ燃料消費が増してしまうためである。
【００３０】
また、ｔ２の後には実際の空燃比は理論空燃比に落ち着くことが望ましい。これは、暖機完了後の第１触媒９は理論空燃比を中心とする狭い範囲にあるときだけ有害三成分（ＨＣ、ＣＯ、ＮＯｘ）を同時に浄化できるためである。
【００３１】
そこで、クランキングからのエンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに達したｔ２のタイミングで、図２の第２段目に実線で示したように点火時期を第１点火時期ＡＤＶ１から第２点火時期ＡＤＶ２へとステップ的に遅角すると共に、燃費向上の観点より、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したｔ２のタイミングでエンジン回転速度Ｎｅをアイドル時の目標回転速度ＮＳＥＴに保持させるに必要な吸入空気量が燃焼室５に供給されるように、スロットル弁位置から燃焼室５までの吸入空気量の応答遅れを考慮して、図２の第５段目に実線で示したようにエンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するｔ２のタイミングよりも所定期間前のｔ１のタイミングよりスロットル弁２３を開き始める構成を考えた（ｔ１のタイミングは、（実験的手法に基づく）適合によって決めたり、エンジン回転速度がアイドル時の目標回転速度ＮＳＥＴより低く設定された所定の回転速度に到達したタイミングとして決めたりすることができる）。
【００３２】
そしてこの構成で実験してみたところ、もくろみ通りにエンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後に、このアイドル時の目標回転速度ＮＳＥＴを超えてエンジン回転速度が吹き上がることはなくなったのであるが、図２の第６段目に一点鎖線で示したように、実際の空燃比は、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するｔ２のタイミングで理論空燃比（ストイキ）となっているものの、その後に燃焼安定限界ラインを超えてリーンとなり、この過度のリーン化によって、図２の第７段目の一点鎖線に示したようにＨＣが増加することが新たに判明した。
【００３３】
この原因は、主に吸気ポート４壁の燃料壁流にあると見当をつけて実験してみたところ、図２の第３段目に示したように、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するｔ２のタイミングの後も吸気圧が低下し続けていた。すなわち、吸気ポート壁の燃料壁流量は燃料壁流が流れる部位の圧力（つまり吸気圧）や燃料壁流が流れる部位の吸気流速（吸気ポート４の吸気流速）に依存し、吸気圧が小さくなるほど小さくなる（これは吸気圧が小さくなるほど燃料の気化特性が良くなることによる）特質を、また吸気ポート４の吸気流速が大きくなるほど小さくなる（これは吸気ポート４の吸気流速が大きくなるほど燃料の気化特性が良くなることによる）特質を有するので、吸気圧や吸気ポートの吸気流速が変化している途中にあるｔ２のタイミングでの燃料壁流量よりも、吸気圧や吸気ポートの吸気流速が所定値に収束する（後に続く通常の変動の様子とほぼ変わらなくなって落ち付いた状態になる）ｔ３のタイミングでの燃料壁流量のほうが小さくなる。燃焼室５に流入する燃料量にはこの燃料壁流量も含まれるので、ｔ２よりｔ３の期間で燃料壁流量が減り続けることは、燃焼室５に流入する燃料量も、この燃料壁流量の減少に合わせて減り続けることを意味し、従って、ｔ２のタイミングで混合気の空燃比が理論空燃比となっていても、燃料壁流量の減少に合わせて実際の空燃比がリーン側へと向かい、燃焼安定限界を超えてリーン化したものと思われる。
【００３４】
そこで本発明は、次の３つの操作を実行する。
【００３５】
〔１〕エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するｔ２のタイミングからは特に第１触媒９の暖機促進を図りながらエンジン回転速度Ｎｅのアイドル時の目標回転速度ＮＳＥＴを超えての吹き上がりを抑制するために、図２の第２段目に実線で示したように、点火時期をｔ２で第１点火時期（始動用の点火時期）ＡＤＶ１から第２点火時期（触媒暖機促進用の点火時期）ＡＤＶ２へとステップ的に遅角する。こうした点火時期制御は気筒別に実行する。ここで、アイドル時とは、運転者がアクセルペダル４１を踏み込んでいない状態をいう。アイドル時の目標回転速度ＮＳＥＴは適合値である。
【００３６】
〔２〕ｔ２のタイミングよりエンジン回転速度Ｎｅをアイドル時の目標回転速度ＮＳＥＴに保持させるには、アイドル時の目標回転速度ＮＳＥＴを保持させるに必要な吸入空気量を燃焼室５に供給することであり、その燃焼室５への空気供給がｔ２のタイミングで完了している必要がある。この場合に、現状のエンジンで吸入空気量を制御するのは、吸気コレクタ２上流の吸気通路に設けられているスロットル弁２３であり、従ってスロットル弁位置から燃焼室５までの吸入空気量の応答遅れを考慮して、図２の第５段目に実線で示したように、ｔ２よりも所定期間前のｔ１のタイミングよりスロットル弁２３を所定値ＴＶＯ１に向けて開き始め、ｔ２のタイミングで所定値ＴＶＯ１に落ち着くようにする。
【００３７】
〔３〕ｔ２での点火時期のステップ遅角によりエンジン回転速度Ｎｅはアイドル時の目標回転速度ＮＳＥＴに落ち着くものの、その直後の吸気圧や吸気ポートの吸気流速の変化に伴う燃料壁流量の減少により空燃比の過度のリーン化が生じ、ＨＣが増大してしまう（あるいはエンジン回転Ｎｅがアイドル時の目標回転速度ＮＳＥＴから却って低下してしまう）ので、このＨＣの増加を防ぐため、図２の第４段目に実線で示したように、スロットル弁２３を開き始めるｔ１のタイミングを起点とし、吸気圧や吸気ポートの吸気流速の変化が収まるｔ３までのあいだ、燃焼室５への燃料壁流量の減少分を補うように燃料噴射量を一時的に増量する。
【００３８】
ここで、現状の燃料噴射制御を前提として、上記〔３〕の操作を実行するため、始動後増量補正係数ＫＡＳを用いる。これについて図３により詳述すると、図３の最上段は図２の最上段と同じである。また、図３の第２段目には上記〔１〕の操作による点火時期の動きを、第４段目には上記〔２〕の操作によるスロットル弁開度の動きを改めて示している。
【００３９】
まず現状では、図３の第３段目に一点鎖線で示したように、スタータスイッチ３６をＯＦＦよりＯＮに切換えるｔ０のタイミングより始動後増量補正係数ＫＡＳとして初期値ＫＡＳ０（図では０．３）を設定し、その後にエンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したｔ５のタイミングより所定の速度でゼロに向かって減少させている。これに対して本発明では、図３の第３段目に実線で示したように、ｔ２のタイミングまで初期値ＫＡＳ０を保持させ、ｔ２のタイミングより所定の速度でゼロに向かって減少させる。すなわち、始動後増量補正係数ＫＡＳを初期値ＫＡＳ０から減少させるタイミングをｔ５よりｔ２まで遅らせる。これによって図３の第３段目にハッチングで示した面積部分が燃料増量分となり、空燃比の燃焼安定限界を超える過度のリーン化を防止できることとなる。
【００４０】
このように、始動後増量補正係数ＫＡＳを初期値ＫＡＳ０から減少させるタイミングをｔ５よりｔ２まで遅らせた（燃料噴射弁からの燃料噴射量を一時的に増量した）ときに得られる実際の空燃比が、理論空燃比となることを確認している。すなわち、燃料噴射弁２１からの燃料噴射量を一時的に増量したときに得られる実際の空燃比が、理論空燃比となるように、始動後増量補正係数ＫＡＳ（燃料噴射弁２１からの燃料噴射量の増量分）を設定している。
【００４１】
ここでは、始動後増量補正係数ＫＡＳをｔ５よりｔ２の間で一定（初期値ＫＡＳ０）とし、その後に直線的に減少させているが、これに限られるものでない。要は、スロットル弁２３を開き始めるｔ５のタイミングを起点とし、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミングの後に吸気圧や吸気ポートの吸気流速の変化が収束するｔ３のタイミングまでのあいだで、燃料噴射弁２１からの燃料噴射量が一時的に増量されるように始動後増量補正係数ＫＡＳを変化させればよい。
【００４２】
また、始動後増量補正係数ＫＡＳを初期値ＫＡＳ０から減少させるタイミングをｔ５よりｔ２まで遅らせることにより、燃料噴射弁からの燃料噴射量を一時的に増量しているが、これに限られるものでない。例えば、始動後増量補正係数ＫＡＳとは別に新たに増量補正係数を導入し、この増量補正係数によって、スロットル弁２３を開き始めるｔ５のタイミングを起点とし、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに達したタイミングの後に吸気圧や吸気ポートの吸気流速の変化が収束するｔ３までのあいだ、燃料噴射弁２１からの燃料噴射量を一時的に増量するようにしてもかまわない。
【００４３】
また、図３ではエンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したｔ５のタイミングを、スロットル弁２３を開き始めるタイミングとしているが、これに限定されるものでもない。
【００４４】
また、上記のように、Ｏ2センサ３５が活性化したタイミングで空燃比のフィードバック制御を開始するのであるが、空燃比のフィードバック制御を開始するタイミングが、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミングの後に吸気圧や吸気ポートの吸気流速の変化が収束するｔ３のタイミングよりも前にくるようであれば、上記〔３〕の操作を中止して現状の操作に戻すことが好ましい。これは、空燃比のフィードバック制御により実際の空燃比が理論空燃比を中心とした所定のウインドウの幅内に収められ、これによって過度のリーン化を防止できるためである。
【００４５】
エンジンコントローラ３１により実行されるこの制御を以下のフローチャートにより詳述する。
【００４６】
図４は完爆フラグと目標回転到達フラグを設定するためのもので、一定時間毎（例えば１００ｍｓ毎）に実行する。
【００４７】
図４において、ステップ１ではエンジン回転速度Ｎｅを読み込む。エンジン回転速度Ｎｅはクランク角センサ（３３、３４）の信号に基づいて算出されている。
【００４８】
ステップ２では完爆フラグをみる。この完爆フラグはイグニッションスイッチ（図示しない）のＯＦＦよりＯＮへの切換時にゼロに初期設定されるフラグである。このため、当初は完爆フラグ＝０であることよりステップ２からステップ３に進み、エンジン回転速度Ｎｅと完爆回転速度Ｎ０（例えば１０００ｒｐｍ）を比較する。完爆回転速度Ｎ０は適合値である。エンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達していなければそのまま今回の処理を終了する。
【００４９】
ステップ３でエンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したとき（Ｎｅ≧Ｎ０）にはステップ４に進み、完爆回転速度Ｎ０に到達したことを示すため完爆フラグ＝１とする。
【００５０】
ステップ５ではタイマを起動する（タイマ値ＴＩＭＥ＝０）。このタイマはエンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したときからの経過時間を計測するためのものである。
【００５１】
上記の完爆フラグ＝１により、次回からはステップ２よりステップ６に進むことになり、ステップ６でタイマ値ＴＩＭＥと所定値ＤＴを比較する。所定値ＤＴは、エンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したタイミングからアイドル時の目標回転速度ＮＳＥＴに到達するタイミングまでの時間間隔で、予め適合しておく（図３参照）。タイマを起動した当初はタイマ値ＴＩＭＥが所定値ＤＴ未満にあるので、ステップ７に進み、タイマ値ＴＩＭＥを制御周期（１００ｍｓ）の分だけインクリメントする。
【００５２】
ステップ７でのタイマ値ＴＩＭＥのインクリメントを何度か繰り返すと、やがてタイマ値ＴＩＭＥが所定値ＤＴ以上となる。このときにはステップ６よりステップ８に進み、アイドル時の目標回転速度ＮＳＥＴに到達したことを示すため目標回転到達フラグ（イグニッションスイッチのＯＦＦよりＯＮへの切換時にゼロに初期設定）＝１とする。
【００５３】
図５は点火時期指令値及びスロットル弁目標開度を算出するためのもので、一定時間毎（例えば１００ｍｓ毎）に、図４のフローに続けて実行する。
【００５４】
図５において、ステップ２１ではイグニッションスイッチのＯＦＦよりＯＮへの切換時であるか否かをみる。イグニッションスイッチのＯＦＦよりＯＮへの切換時であるときにはステップ２２に進み、水温センサ３７により検出される冷却水温ＴＷを始動時水温ＴＷＩＮＴとして取り込み、この始動時水温ＴＷＩＮＴに応じて第１点火時期ＡＤＶ１を算出し、この算出した第１点火時期ＡＤＶ１をステップ２３で点火時期指令値ＡＤＶに移す。第１点火時期ＡＤＶ１は始動に最適な点火時期で、大きく進角側にある。
【００５５】
ステップ２４ではスロットル弁目標開度ｔＴＶＯに初期値（例えばゼロ）を入れる。
【００５６】
イグニッションスイッチのＯＦＦよりＯＮへの切換時のあと、つまりイグニッションスイッチのＯＮ状態になると、ステップ２１よりステップ２５、２６に進む。ステップ２５、２６では完爆フラグと目標回転到達フラグ（いずれのフラグも図４により設定されている）をみる。完爆フラグ＝０であるときにはステップ２７に進みイグニッションスイッチのＯＦＦよりＯＮへの切換時に算出した第１点火時期ＡＤＶ１を維持する。このときもステップ２４の操作を実行する。
【００５７】
完爆フラグ＝１かつ目標回転到達フラグ＝０であるときにはステップ２６よりステップ２８に進み、イグニッションスイッチのＯＦＦよりＯＮへの切換時に算出した第１点火時期ＡＤＶ１を維持する。
【００５８】
ステップ２９ではスロットル弁目標開度ｔＴＶＯを次式により算出する。
【００５９】
ｔＴＶＯ＝ｔＴＶＯ（前回）＋ΔＴＶＯ                  …（１）
ただし、ΔＴＶＯ        ：一定値、
ｔＴＶＯ（前回）：ｔＴＶＯの前回値、
ここで、（１）式の所定値ΔＴＶＯはスロットル弁目標開度の所定時間当たりの増し分を定める値であり、この値は、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するタイミングでスロットル弁目標開度ｔＴＶＯが、後述する所定値ＴＶＯ１に到達するように予め定めておく。スロットル弁目標開度の前回値である「ｔＴＶＯ（前回）」の初期値にはゼロを入れておく。
【００６０】
ステップ３０ではスロットル弁目標開度ｔＴＶＯと所定値ＴＶＯ１を比較する。所定値ＴＶＯ１は、目標回転速度ＮＳＥＴを維持するトルクを発生させるのに必要な最低の吸入空気量が流れるときのスロットル弁開度である。所定値ＴＶＯ１は予め適合により求めておく。
【００６１】
今回のエンジン運転時にステップ２９を初めて経験した後ではスロットル弁目標開度ｔＴＶＯは所定値ＴＶＯ１未満であるので今回の処理をそのまま終了する。目標回転到達フラグ＝１となるまではステップ２９の操作を繰り返すことになり、スロットル弁目標開度ｔＴＶＯが徐々に大きくなる。目標回転到達フラグ＝１となる直前でスロットル弁目標開度ｔＴＶＯが所定値ＴＶＯ１以上となる。このときにはステップ３０よりステップ３１に進んでスロットル弁目標開度ｔＴＶＯを前回と同じ値に維持する。
【００６２】
目標回転到達フラグ＝１となったときにはステップ２６よりステップ３２に進み、水温センサ３７により検出されるそのときの冷却水温ＴＷに応じて第２点火時期ＡＤＶ２を算出し、これをステップ３３で点火時期指令値ＡＤＶに移す。
【００６３】
第２点火時期ＡＤＶ２は、冷間始動時における第１触媒９の暖機促進用の点火時期で、第１触媒９の暖機完了後の点火時期よりも遅角側に設定されている。このため、点火時期は図３の第２段目に示したようにエンジン回転速度Ｎｅが目標回転速度ＮＳＥＴに到達するｔ２のタイミングで第１点火時期ＡＤＶ１より第２点火時期ＡＤＶ２へとステップ的に切換わることとなる。
【００６４】
ステップ３４ではスロットル弁目標開度ｔＴＶＯを前回と同じ値（＝ＴＶＯ１）に維持する。
【００６５】
このようにして算出される点火時期指令値ＡＤＶは出力レジスタに移され、実際のクランク角がこの点火時期指令値ＡＤＶと一致したタイミングで点火コイルの一次側電流が遮断される。
【００６６】
また、スロットル弁目標開度ｔＴＶＯを受けるスロット弁駆動装置では、実際のスロットル弁開度がこのスロットル弁目標開度ｔＴＶＯと一致するようにスロットルモータ２４を駆動する。
【００６７】
図６は目標当量比ＴＦＢＹＡを算出するためのもので、一定時間毎（例えば１００ｍｓ毎）に実行する。
【００６８】
図６において、ステップ４１ではイグニッションスイッチのＯＦＦよりＯＮへの切換時であるか否かをみる。イグニッションスイッチのＯＦＦよりＯＮへの切換時であるときにはステップ４２に進み、始動後増量補正係数の初期値ＫＡＳ０を、水温センサ３７により検出される始動時水温ＴＷＩＮＴに応じて算出し、これをステップ４３で始動後増量補正係数ＫＡＳに移す。始動後増量補正係数の初期値ＫＡＳ０は始動時水温ＴＷＩＮＴが低くなるほど大きくなる値である。
【００６９】
イグニッションスイッチのＯＦＦよりＯＮへの切換時のあと、つまりイグニッションスイッチのＯＮ状態になると、ステップ４１よりステップ４４に進む。ステップ４４では目標回転到達フラグをみる（図４により設定されている）。目標回転到達フラグ＝０であるときにはステップ４５に進み始動後増量補正係数ＫＡＳを前回と同じ値（つまり初期値ＫＡＳ０）に維持する。
【００７０】
目標回転到達フラグ＝１になったときにはステップ４４よりステップ４６に進み始動後増量補正係数ＫＡＳとゼロを比較する。目標回転到達フラグ＝１になったタイミングでは始動後増量補正係数ＫＡＳはゼロより大きいため（初期値ＫＡＳ０が入っているので）、ステップ４７に進んで始動後増量補正係数ＫＡＳを次式により算出する。
【００７１】
ＫＡＳ＝ＫＡＳ（前回）−Δｔ×ＫＡＳ（前回）          …（２）
ただし、Δｔ          ：一定値、
ＫＡＳ（前回）：ＫＡＳの前回値、
ここで、（２）式の所定値Δｔは始動後増量補正係数ＫＡＳの所定時間当たりの減少分を定める値であり、この値は吸気圧が一定値に収束するｔ３のタイミングでゼロとなるように、適合により予め定めておく。始動後増量補正係数の前回値である「ＫＡＳ（前回）」の初期値はＫＡＳ０である。
【００７２】
目標回転到達フラグ＝１である場合に、ステップ４７の操作を繰り返すと、始動後増量補正係数ＫＡＳが徐々に小さくなってゆく。従って、ステップ４８で始動後増量補正係数ＫＡＳとゼロを比較し、始動後増量補正係数ＫＡＳが負の値になったときにはステップ４９に進んで始動後増量補正係数ＫＡＳ＝０とする。
【００７３】
このようにして、始動後増量補正係数ＫＡＳは、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴと一致したタイミングより、徐々に小さくなりやがてゼロとなる値である。
【００７４】
現状では、始動後増量補正係数ＫＡＳはエンジン回転速度Ｎｅが完爆回転速度Ｎ０に到達したタイミングより徐々に小さくなるのであるが、本発明では、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴと一致するタイミングまで初期値を維持し、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴと一致したタイミングより徐々に小さくなる。
【００７５】
ステップ５０、５１は現状と同じである。すなわち、ステップ５０では水温センサ３７により検出されるそのときの冷却水温Ｔｗに応じて水温増量補正係数ＫＴＷを算出する。水温増量補正係数ＫＴＷは冷却水温Ｔｗが低くなるほど大きくなる値である。
【００７６】
ステップ５１ではこの水温増量補正係数ＫＴＷと、上記の始動後増量補正係数ＫＡＳとを用いて次式により目標当量比ＴＦＢＹＡを算出する。
【００７７】
ＴＦＢＹＡ＝１＋ＫＴＷ＋ＫＡＳ                        …（３）
目標当量比ＴＦＢＹＡは１．０を中心とする値で、エンジンの暖機完了後であれば、ＴＦＢＹＡ＝１（ＫＴＷ＝０、ＫＡＳ＝０）となり、これによって理論空燃比の混合気が得られる。冷間始動時には、上記の始動後増量補正係数ＫＡＳが加わるため目標当量比ＴＦＢＹＡは１．０を超える値となるが、これは燃料壁流量を考慮しているからである。すなわち、冷間始動時に目標当量比ＴＦＢＹＡは１．０を超える値になるものの、エンジン回転速度がアイドル時の目標回転速度ＮＳＥＴに到達するタイミングより、理論空燃比の混合気が得られることとなる。
【００７８】
図７は燃料噴射パルス幅Ｔｉを算出するためのもので、一定時間毎（例えば１００ｍｓ毎）に、図６のフロートは独立に実行する。このフローは現状と同じである。
【００７９】
図７において、ステップ６１では始動時燃料噴射パルス幅Ｔｉ１を次式により算出する。
【００８０】
Ｔｉ１＝ＴＳＴ×ＫＮＳＴ×ＫＴＳＴ                    …（４）
ただし、ＴＳＴ  ：始動時基本噴射パルス幅、
ＫＮＳＴ：回転速度補正係数、
ＫＴＳＴ：時間補正係数、
これら始動時基本噴射パルス幅ＴＳＴ、回転速度補正係数ＫＮＳＴ、時間補正係数ＫＴＳＴの求め方は周知であるので、詳細な説明は省略する。
【００８１】
ステップ６２ではエアフローメータ３２の出力が入力したか否かをみる。エアフローメータ３２の出力が入力していなければステップ６３、６４を飛ばしてステップ６５に進み、この始動時燃料噴射パルス幅Ｔｉ１を最終の燃料噴射パルス幅Ｔｉに移す。
【００８２】
一方、エアフローメータ３２の出力が入力しているときにはステップ６２よりステップ６３に進み、図６により得ている目標当量比ＴＦＢＹＡを用いて次式により通常時の燃料噴射パルス幅Ｔｉ２を算出する。
【００８３】
Ｔｉ２＝（Ｔｐ×ＴＦＢＹＡ＋Ｋａｔｈｏｓ）×（α＋αｍ−１）×２＋Ｔｓ
…（５）
ただし、Ｔｐ        ：基本噴射パルス幅、
ＴＦＢＹＡ  ：目標当量比、
Ｋａｔｈｏｓ：過渡補正量、
α          ：空燃比フィードバック補正係数、
αｍ        ：空燃比学習値、
Ｔｓ        ：無効噴射パルス幅、
（５）式の基本噴射パルス幅Ｔｐ、過渡補正量Ｋａｔｈｏｓ、空燃比フィードバック補正係数α、空燃比学習値αｍ、無効噴射パルス幅Ｔｓの求め方は周知である。例えば、基本噴射パルス幅Ｔｐは次式により算出される。
【００８４】
Ｔｐ＝Ｋ×Ｑａ／Ｎｅ                                  …（６）
ただし、Ｑａ：エアフローメータ３２より算出される吸入空気量、
（６）式の定数Ｋにより、混合気の空燃比が理論空燃比となるように設定されている。従って、上記の始動後増量補正係数ＫＡＳがゼロを超える正の値である間は、燃料噴射弁２１からの燃料噴射量（燃料噴射パルス幅Ｔｉ）が増量補正されることとなる。
【００８５】
なお、（５）式の過渡補正量Ｋａｔｈｏｓは吸気ポート壁の燃料壁流量を考慮し、基本的にエンジンの負荷、回転速度及び燃料付着部の温度に基づいて算出される値であるので、始動時にはこの過渡補正量Ｋａｔｈｏｓにより、燃料噴射量のうちから吸気ポート壁の燃料壁流として奪われる分だけ燃料噴射量を増量する側に働くと考えられるが、それでも、実験によれば、上記のように空燃比の過度のリーン化を招いたことになる。これは、過渡補正量Ｋａｔｈｏｓの算出に、吸気圧や吸気ポートの吸気流速の変化までは考慮していないためである。
【００８６】
ステップ６４〜６６では始動時燃料噴射パルス幅Ｔｉ１と通常時燃料噴射パルス幅Ｔｉ２とを比較し、値の大きい方を最終の燃料噴射パルス幅Ｔｉとして選択する。
【００８７】
上記の始動後増量補正係数ＫＡＳが燃料噴射に用いられるのは、通常時燃料噴射パルス幅Ｔｉ２が最終の燃料噴射パルス幅Ｔｉとして採用される場合である。すなわち、本発明では、図３においてｔ５のタイミング直前においては、始動時燃料噴射パルス幅Ｔｉ１より通常時燃料噴射パルス幅Ｔｉ２のほうが大きくなっていることを前提としている。
【００８８】
このようにして算出された燃料噴射パルス幅Ｔｉは出力レジスタに移され、所定の燃料噴射タイミングになると、このパルス幅Ｔｉの間だけ各気筒の燃料噴射弁２１がシーケンシャルに開かれる。
【００８９】
以上図１〜図７を用いて説明したところは、実際には本発明の前提となる先行発明（特願２００６−１０１４９７参照）の技術内容で、本発明はこの先行発明の改良発明として位置づけられるものである。
【００９０】
そこで、次には先行発明に対して本発明により変更した部分を説明する。
【００９１】
図９のフローチャートは本発明の第１実施形態で、先行発明の図５と置き換わるものである。
【００９２】
先行発明では可変バルブリフト機構２６、可変バルブタイミング機構２７のいずれも備えないエンジンを対象として述べたが、本発明の第１実施形態は、可変バルブタイミング機構２７を備えるエンジンを対象としている。なお、可変バルブリフト機構２６を備えるものは本発明の対象外というのではない。可変バルブタイミング機構２７と可変バルブリフト機構２６を総称して「可変バルブタイミング・リフト機構」というとすれば、いずれの機構２７、２６も可変バルブタイミング・リフト機構の一態様である。
【００９３】
さて、可変バルブタイミング機構（以下「ＶＴＣ機構」という。）２７を備えるエンジンでは、冷間始動時にＶＴＣ機構２７を作動させて吸気バルブ１５の開閉タイミングを、デフォルト位置（ＶＴＣ機構２７の非作動時の位置のこと）より初期位置まで進角側に移動させ、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを大きくするようにしている。これは、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップ中の排気ポートより吸気ポート４への高温の排気の吹き返しを利用して冷間始動時における、主に吸気ポート４壁の燃料壁流の霧化を促進するためである。
【００９４】
しかしながら、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを大きくして燃焼室内残留ガス量を増やしたとき、その燃焼室内残留ガス量のバラツキにより燃焼変動が生じ、アイドル回転速度に変動が生じる。このようにアイドル回転速度の変動が生じたのでは、エンジン回転速度をアイドル時の目標回転速度ＮＳＥＴに維持することが難しくなる。
【００９５】
そこで、本発明の第１実施形態では、冷間始動時に吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを大きくするエンジンを前提として、エンジンの燃焼変動量を推定し、その推定した燃焼変動量を予め定めている閾値付近に維持させる。ここで、閾値としてはこれ以上、燃焼変動量が大きくなってはならない限界値を予め設定しておく。具体的には、図８に示したように、クランキングからのエンジン回転速度Ｎｅがアイドル時の目標回転速度に到達したタイミングｔ２以降において、トルク変動の分散値σＰｉを算出し（燃焼変動量を推定し）、その算出したトルク変動の分散値σＰｉがｔ６のタイミングで予め定めている閾値を超えるまでは、触媒暖機促進用の点火時期を第２点火時期ＡＤＶ２より所定の速度で遅角側へと補正し、排気の高温化を図って第１触媒９の一層の暖機を促進させる。この遅角補正により燃焼状態が悪くなってトルク変動の分散値σＰｉがｔ６のタイミングで閾値を超えるたときには、今度は触媒暖機促進用の点火時期をｔ６の直前の値を基準として所定の速度で進角側へと補正することにより燃焼を良好にしてアイドル回転速度を安定させ、トルク変動の分散値σＰｉが閾値を下回るようにする。そして、この進角補正によりトルク変動の分散値σＰｉがｔ７のタイミングで閾値を下回ったらｔ７の直前の値を基準として再び所定の速度で遅角側に補正し排気の高温化を図って第１触媒９の暖機を促進させる。
【００９６】
図９において、先行発明の図５と相違する部分を主に説明すると、先行発明の図５に対してステップ７１〜７４が新たに追加されている。すなわち、ステップ７１ではトルク変動の分散値σＰｉと閾値を比較する。閾値としてはこれ以上トルク変動の分散値が大きくなってはならない限界値を予め設定しておく。トルク変動の分散値σＰｉが閾値未満であるときには燃焼が安定していると判断し、ステップ７２に進んで点火時期補正量ｈＡＤ１を次式により算出する。
【００９７】
ｈＡＤ１＝ｈＡＤ１（前回）−ΔＡＤ１                  …（７）
ただし、ΔＡＤ１        ：一定値、
ｈＡＤ１（前回）：ｈＡＤ１の前回値、
ここで、（７）式の所定値ΔＡＤ１は点火時期の所定時間当たりのリタード量を定める値である。点火時期補正量の前回値である「ｈＡＤ１（前回）」の初期値にはゼロを入れておく。このため、トルク変動の分散値σＰｉが閾値未満である状態が続けば、つまり閾値までの余裕分だけ点火時期をリタードさせて、一層の触媒暖機促進を図るため、点火時期補正量ｈＡＤ１は負の値で大きくなってゆく。
【００９８】
一方、トルク変動の分散値σＰｉが閾値以上であるときには燃焼が不安定であると判断し、ステップ７１よりステップ７２に進んで、点火時期補正量ｈＡＤ１を次式により算出する。
【００９９】
ｈＡＤ１＝ｈＡＤ１（前回）＋ΔＡＤ２                  …（８）
ただし、ΔＡＤ２        ：一定値、
ｈＡＤ１（前回）：ｈＡＤ１の前回値、
ここで、（８）式の所定値ΔＡＤ２は点火時期の所定時間当たりの進角量を定める値である。点火時期補正量の前回値である「ｈＡＤ１（前回）」の初期値にはゼロを入れておく。このため、トルク変動の分散値σＰｉが閾値以上である状態が続けば、つまり閾値を超えて燃焼不安定であれば点火時期を進角させて燃焼状態を安定させるため、点火時期補正量ｈＡＤ１は正の値で大きくなってゆく。
【０１００】
ステップ７３ではこのようにして算出された点火時期補正量ｈＡＤ１を第２点火時期ＡＤＶ２に加算した値を点火時期指令値ＡＤＶとする。点火時期指令値ＡＤＶの単位は圧縮上死点より進角側に計測したクランク角であるため、点火時期補正量ｈＡＤ１が負の値であればリタード補正量となり、点火時期補正量ｈＡＤ１が正の値であれば進角補正量となる。すなわち、トルク変動の分散値σＰｉが閾値未満である状態が続けば点火時期を徐々にリタードさせ、トルク変動の分散値σＰｉが閾値以上である状態が続けば点火時期を徐々に進角させることとなる。
【０１０１】
上記のトルク変動の分散値σＰｉは失火パラメータＭＩＣ（の平均値）との間に相関（比例関係）があるので、図示しない別のフローにおいてこの失火パラメータＭＩＣに比例させて求めればよい。失火パラメータＭＩＣの求め方については特開平９−６８０９５号公報に詳しいので、ここではその説明を省略する。
【０１０２】
ここで、本発明の第１実施形態の作用効果を説明する。
【０１０３】
まず先行発明と同一の作用効果を先に説明する。
【０１０４】
本発明の第１実施形態（請求項１、８に記載の発明）によれば、クランキングからのエンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２（触媒暖機促進用の点火時期）へとステップ的に遅角し（図５のステップ２６、３２参照）、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミングでエンジン回転速度Ｎｅをアイドル時の目標回転速度ＮＳＥＴに保持させるに必要な吸入空気量が燃焼室５に供給されるように、スロットル弁位置から燃焼室５までの吸入空気量の応答遅れを考慮して、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達するタイミングよりも所定期間ＤＴ前のタイミングｔ１よりスロットル弁２３を開き始めるので（図５のステップ２５、２６、２９、３０、３１参照）、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後の吹き上がりを抑制しながら早期に排気温度を上昇させることが可能となり（図２最下段の実線参照）、無駄な燃料消費を抑制しつつ触媒活性時間を短くすることができる。
【０１０５】
この場合に、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後も暫くのあいだ吸気圧や吸気ポート４の吸気流速がなおも小さくなる側に変化し続けることがあり、この場合には、吸気圧や吸気ポート４の吸気流速の変化に伴って吸気ポート壁の燃料壁流量が減少し、その分燃焼室５に供給される燃料量が不足し、燃焼室内の混合気の空燃比が燃焼安定限界を超えてリーンとなり、ＨＣの増加やアイドル時の目標回転速度ＮＳＥＴからの回転落ちを招くことになるのであるが、本発明の第１実施形態（請求項１、８に記載の発明）によれば、スロットル弁２３を開き始めるタイミングを起点とし、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後に吸気圧または吸気ポート４の吸気流速の変化が収束するまでのあいだ、始動後増量補正係数ＫＡＳを用いて、燃料噴射弁２１からの燃料噴射量を一時的に増量するので（図６のステップ４４、４５、５１参照）、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後に吸気圧や吸気ポート４の吸気流速がなおも小さくなる側に変化し続けることがあっても、燃焼室内の混合気の空燃比が燃焼安定限界を超えてリーンとなることを防止できる。この結果、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達した後におけるＨＣの増加やアイドル時の目標回転速度ＮＳＥＴからの回転落ちを抑制できる（図２第７段目の実線参照）。
【０１０６】
次に、先行発明を改良した部分の作用効果を説明する。
【０１０７】
エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミング以降の燃焼変動の原因として、触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキが考えられるのであるが、本発明の第１実施形態（請求項１、８に記載の発明）によれば、エンジンのトルク変動の分散値σＰｉを算出し（燃焼変動量を推定し）、この算出したトルク変動の分散値σＰｉに基づき、トルク変動の分散値σＰｉが閾値以上であるときには触媒暖機促進用の点火時期を進角側に補正するので（図９のステップ２６、３２、７１、７４、７３参照）、エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降の触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動を抑制することができる。
【０１０８】
また、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミング以降にエンジンのトルク変動の分散値σＰｉが閾値未満であるときには触媒暖機促進用の点火時期を遅角側に補正するので（図９のステップ２６、３２、７１、７２、７３参照）、排気を一層高温化することができ、第１触媒９の暖機を促進させることができる。
【０１０９】
次に、図１２（Ａ）、図１２（Ｂ）のフローチャートは本発明の第２実施形態の点火時期指令値、スロットル弁目標開度及び目標ＶＴＣ作動角を算出するためのもので、第１実施形態の図９と置き換わるものである。先行発明の図５、第１実施形態の図９と同一部分には同一のステップ番号を付けている。
【０１１０】
さて、空燃比フィードバック制御開始後であれば、空燃比バラツキに起因する燃焼室内残留ガス量のバラツキがあっても空燃比フィードバック制御により解消されていると考えられるため、空燃比フィードバック制御開始後における燃焼変動の原因は、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップのバラツキ、つまりＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのバラツキに起因する燃焼室内残留ガス量のバラツキにあるか、または触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキにあると考えられる。
【０１１１】
そこで第２実施形態は、冷間始動時にＶＴＣ機構２７を作動させて吸気バルブ１５の開閉タイミングをデフォルト位置より初期位置まで進角側に移動させ、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを大きくするようにしているものを対象として、次のように制御する。
〈１〉エンジン回転速度がアイドル時の目標回転速度に到達したタイミング以降で空燃比フィードバック制御開始後において、トルク変動の分散値σＰｉが閾値以上であるときに、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップが小さくなる側にＶＴＣ作動角（ＶＴＣ機構２７に与える指令値）を補正するかまたは触媒暖機促進用の点火時期を進角側に補正する。
〈２〉吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップが小さくなる側にＶＴＣ作動角を補正することによってトルク変動の分散値σＰｉが閾値未満となったときのＶＴＣ作動角を学習値１（第１学習値）として記憶し、次回のクランキング開始時にＶＴＣ作動角をこの学習値１に設定する。
〈３〉触媒暖機促進用の点火時期を進角側に補正することによってトルク変動の分散値σＰｉが閾値未満となったときの触媒暖機促進用の点火時期を学習値２（第２学習値）として記憶し、次回のクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）からこの学習値２へとステップ的に遅角する。
〈４〉ＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのバラツキと、触媒暖機促進用の点火時期のバラツキとを比較すると、ＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのほうが部品バラツキ等でばらつき易い。これに対し、触媒暖機促進用の点火時期のバラツキは比較的小さい。そこで、ＶＴＣ作動角を先に補正し、ＶＴＣ作動角を限界値まで補正してもトルク変動の分散値σＰｉが閾値以上であるときに、ＶＴＣ作動角を限界値に維持したまま、続いて触媒暖機促進用の点火時期を進角側に補正する。
【０１１２】
以下では特に上記〈１〉、〈３〉について図１０を参照して、また上記〈１〉、〈４〉について図１１を参照して詳細に説明する。
【０１１３】
図１０に示したように、空燃比フィードバック制御を開始するｔ１１のタイミングで、トルク変動の分散値σＰｉが閾値を超えていれば（図１０第３段目参照）、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップが小さくなる側、つまりＶＴＣ作動角（ＶＴＣ機構２７に与える指令値）を徐々に小さくして吸気バルブ１５の開閉タイミングを遅角する側に補正し（図１０第４段目参照）、燃焼室内残留ガス量を減らすことで燃焼が安定する方向に向かわせる。そして、ｔ１２のタイミングでトルク変動の分散値σＰｉが閾値未満に収まったので（図１０第３段目参照）、そのときのＶＴＣ作動角（＝Ａ）に維持すると共に（第４段目参照）、そのときのＶＴＣ作動角を学習値１（＝Ａ）として記憶し、次回のエンジン始動時に活かす。
【０１１４】
図１０の上４段はＶＴＣ作動角の学習前を示すのに対して、図１０の下２段はＶＴＣ作動角の学習後を示している。すなわち、ＶＴ作動角の学習後にはＶＴＣ作動角を学習値１（＝Ａ）に設定してクランキングを開始する（図１０最下段参照）。これにより、ＶＴＣ作動角の学習前と同じｔ１１のタイミングで空燃比フィードバック制御が開始されるとすると、ＶＴＣ作動角の学習後にはｔ１１のタイミングでトルク変動の分散値σＰｉが閾値以下に収まっている（図１０下から第２段目参照）。
【０１１５】
一方、図１１には、ＶＴＣ作動角を限界値（＝ａ）まで小さくしたのにトルク変動の分散値σＰｉが閾値未満に収まらなかった場合を示している。ここでＶＴＣ作動角の限界値は排気要求のために一定のオーバーラップは確保したいという要求から定まり、予め適合しておく。ＶＴＣ作動角を初期位置（ＲＯＭ設定初期値）より限界値まで小さくしたｔ１４のタイミングでトルク変動の分散値σＰｉが閾値未満に収まらなければ（図１１第３段目参照）、これ以上はＶＴＣ作動角を小さくできないので、限界値までＶＴＣ作動角を小さくしたことの情報を保存する。そして、ｔ１４のタイミングからはＶＴＣ作動角を限界値に維持したまま（図１１第４段目参照）、今度は触媒暖機促進用の点火時期を第２点火時期ＡＤＶ２より徐々に進角補正することで（図１１第５段目参照）、燃焼が安定する方向に向かわせる。図ではｔ１５のタイミングでトルク変動の分散値σＰｉが閾値未満に収まったので（図１１第３段目参照）、そのときの触媒暖機促進用の点火時期（＝Ｂ）を学習値２（＝Ｂ）として記憶し（図１１第５段目参照）、次回のエンジン始動時に活かす。
【０１１６】
図１１の上５段は触媒暖機促進用の点火時期の学習前を示すのに対して、図１１の下３段は触媒暖機促進用の点火時期の学習後を示している。すなわち、触媒暖機促進用の点火時期の学習後にはＶＴＣ作動角を限界値（＝ａ）に設定してクランキングを開始し（図１１下から第２段目参照）、かつクランキングからのエンジン回転速度がアイドル時の目標回転速度ＮＳＥＴに到達するｔ２のタイミングで点火時期を第１点火時期ＡＤＶ１より触媒暖機促進用の点火時期である学習値２（＝Ｂ）に切換える（図１１最下段参照）。こうした制御により、燃焼安定度がよくなるため、触媒暖機促進用の点火時期の学習前と同じｔ１１のタイミングで空燃比フィードバック制御が開始されるとすると、触媒暖機促進用の点火時期の学習後にはこのｔ１１のタイミングでトルク変動の分散値σＰｉが閾値以下に収まっている（図１１下から第３段目参照）。
【０１１７】
図１２（Ａ）、図１２（Ｂ）において、先行発明の図５と相違する部分を主に説明すると、目標到達フラグ＝１であるときにはステップ３２の操作を行った後、図１２（Ｂ）に進む。ステップ８１〜８７については後述する。
【０１１８】
図１２（Ｂ）においてステップ８８では空燃比のフィードバック制御開始後であるか否かをみる。Ｏ2センサ３５が活性化していなければ空燃比のフィードバック制御開始前にあると判断し、先行発明と同じにステップ３３、３４の操作を実行する。
【０１１９】
Ｏ2センサ３５が活性化していれば空燃比のフィードバック制御開始後であると判断し、ステップ８８よりステップ８９に進んでトルク変動の分散値σＰｉと閾値を比較する。トルク変動の分散値σＰｉは失火パラメータＭＩＣ（の平均値）との間に相関（比例関係）があるので、第１実施形態と同じに別のフローにおいてこの失火パラメータＭＩＣに比例させて求めればよい。トルク変動の分散値σＰｉが閾値以上であるときには燃焼が不安定であると判断し、ステップ９０以降に進み、目標ＶＴＣ作動角ｔＶＴＣを限界値ａまでの範囲で徐々に小さくしてゆく、つまり吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを小さくしてゆくことで燃焼が安定する方向に向かわせる。そのためにはまずステップ９０でＶＴＣ限界フラグ（工場出荷時にゼロに初期設定）＝１であるか否か、またステップ９１で目標ＶＴＣ作動角ｔＶＴＣが限界値ａに達しているか否かをみる。今は、ＶＴＣ限界フラグ＝０でありかつ目標ＶＴＣ作動角ｔＶＴＣが限界値ａより大きくて限界値ａに達していないとすると、このときにはステップ９２に進み、ＶＴＣ作動角の減少補正量ｈＶＴＣを次式により算出し、ステップ９３でＶＴＣ作動角の初期値からこのＶＴＣ作動角の減少補正量ｈＶＴＣを差し引いた値を目標ＶＴＣ作動角ｔＶＴＣとして設定し、ステップ９４で第２点火時期ＡＤＶ２を点火時期指令値ＡＤＶに移す。
【０１２０】
ｈＶＴＣ＝ｈＶＴＣ（前回）＋ΔＶＴＣ                  …（９）
ただし、ΔＶＴＣ        ：一定値、
ｈＶＴＣ（前回）：ｈＶＴＣの前回値、
ここで、（９）式の所定値ΔＶＴＣはＶＴＣ作動角の所定時間当たりの減少量を定める値である。ＶＴＣ作動角の減少補正量の前回値である「ｈＶＴＣ（前回）」の初期値にはゼロを入れておく。このため、トルク変動の分散値σＰｉが閾値以上である状態が続けば、つまり閾値を超えて燃焼不安定であればＶＴＣ作動角を小さくして吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを縮小し燃焼状態を安定させるため、ＶＴＣ作動角の減少補正量ｈＶＴＣは正の値で大きくなってゆき、これに伴い目標ＶＴＣ作動角ｔＶＴＣは小さくなって限界値ａへと近づいてゆく。
【０１２１】
上記のＶＴＣ作動角の初期値はクランキングの開始より吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップを大きくしておくために予め設定している値である。
【０１２２】
こうしたＶＴＣ作動角の減少補正によりトルク変動の分散値σＰｉが閾値未満となったときには、ステップ８９よりステップ９５に進み、ＶＴＣ限界フラグをみる。ここでは目標ＶＴＣ作動角ｔＶＴＣが限界値ａに到達する前にトルク変動の分散値σＰｉが閾値未満に収まっているので、ＶＴＣ限界フラグ＝０である。このため、ステップ９５よりステップ９６に進み、そのときのＶＴＣ作動角の減少補正量ｈＶＴＣの値（前回にステップ９２で得ている値）を減少補正量学習値として所定のメモリに格納し、ステップ９７ではＶＴＣ作動角の減少補正量の学習済みであることを表すため学習済フラグ１＝１とする。この学習済フラグ１の値はエンジン停止後も消失しないようにＥＥＰＲＯＭなどに記憶させておく。ステップ９８ではＶＴＣ作動角の初期値から減少補正量学習値を差し引いた値を目標ＶＴＣ作動角ｔＶＴＣとして設定し、ステップ９９で第２点火時期ＡＤＶ２を点火時期指令値ＡＤＶに移す。
【０１２３】
一方、トルク変動の分散値σＰｉが閾値未満に収まらないまま、目標ＶＴＣ作動角ｔＶＴＣが限界値ａ以下となったときにはステップ９１よりステップ１００に進み、目標ＶＴＣ作動角ｔＶＴＣが限界値ａにまで小さくなったことを表すためＶＴＣ限界フラグ＝１とし、ステップ１０１で目標ＶＴＣ作動角ｔＶＴＣを限界値ａに設定する。
【０１２４】
ステップ１０２では、点火時期の進角補正量ｈＡＤ２を次式により算出し、ステップ１０３でこのようにして算出された点火時期の進角補正量ｈＡＤ２を第２点火時期ＡＤＶ２に加算した値を点火時期指令値ＡＤＶとする。
【０１２５】
ｈＡＤ２＝ｈＡＤ２（前回）＋ΔＡＤ２                  …（１０）
ただし、ΔＡＤ２        ：一定値、
ｈＡＤ２（前回）：ｈＡＤ２の前回値、
ここで、（１０）式の所定値ΔＡＤ２は点火時期の所定時間当たりの進角量を定める値である。点火時期の進角補正量の前回値である「ｈＡＤ２（前回）」の初期値にはゼロを入れておく。このため、トルク変動の分散値σＰｉが閾値以上である状態が続けば、つまり閾値を超えて燃焼不安定であれば点火時期を進角させて燃焼状態を安定させるため、点火時期の進角補正量ｈＡＤ１は正の値で大きくなってゆき、触媒暖機促進用の点火時期を第２点火時期ＡＤＶ２より徐々に進角させることとなる。
【０１２６】
こうした触媒暖機促進用の点火時期の進角補正によりトルク変動の分散値σＰｉが閾値未満となったときには、ステップ８９よりステップ９５に進み、ＶＴＣ限界フラグをみる。ここでは目標ＶＴＣ作動角ｔＶＴＣが限界値ａに到達した後に、触媒暖機促進用の点火時期の進角補正によりトルク変動の分散値σＰｉが閾値未満に収まっているので、ＶＴＣ限界フラグ＝１となっている。このため、ステップ９５よりステップ１０４に進み、そのときの触媒暖機促進用の点火時期の進角補正量ｈＡＤＶの値（前回にステップ１０２で得ている）を進角補正量学習値として所定のメモリに格納し、ステップ１０５では触媒暖機促進用の点火時期の進角補正量ｈＡＤＶの学習済みであることを表すため学習済フラグ２＝１とする。この学習済フラグ２の値についてもエンジン停止後に消失しないようにＥＥＰＲＯＭなどに記憶させておく。ステップ１０６では第２点火時期ＡＤＶ２に進角補正量学習値を加算した値を点火時期指令値ＡＤＶとして設定し、ステップ１０６で目標ＶＴＣ作動角ｔＶＴＣを限界値ａに設定する。
【０１２７】
次回のエンジン運転時になると、図１２（Ａ）を開始することになる。この場合に、イグニッションスイッチのＯＦＦよりＯＮへの切換時にはステップ８１、８２に進んでくるので、ＥＥＰＲＯＭなどに記憶されている学習済フラグ１、学習済フラグ２の各値をみる。学習済フラグ１＝０かつ学習済フラグ２＝０であるときには、ステップ８５でＶＴＣ作動角の初期値を目標ＶＴＣ作動角ｔＶＴＣとして設定する。この操作は第１実施形態の図９には示さなかったが、第１実施形態と同じである。
【０１２８】
一方、学習済フラグ１＝１であるときにはステップ８１よりステップ８３に進み、ＶＴＣ作動角の初期値から減少補正量学習値を差し引いた値を目標ＶＴＣ作動角ｔＶＴＣとして設定する。図１０と比較すると、ＶＴＣ作動角の初期値から減少補正量学習値を差し引いた値が学習値１（＝Ａ）に相当する。学習済フラグ１＝０かつ学習済フラグ２＝１であるときにはステップ８１、８２よりステップ８４に進み、限界値ａを目標ＶＴＣ作動角ｔＶＴＣとして設定する。
【０１２９】
その後に目標到達フラグ＝１となったときにはステップ２６よりステップ８６に進んでＥＥＰＲＯＭなどに記憶されている学習済フラグ２の値をみる。学習済フラグ２＝０であるときにはステップ３２の操作を実行した後に図１２（Ｂ）に進んで前述したところを繰り返す。
【０１３０】
一方、学習済フラグ２＝１であるときにはステップ８６よりステップ８７に進み、第２点火時期ＡＤＶ２に進角補正量学習値を加算した値を点火時期指令値ＡＤＶとして設定する。図１１と比較すると、第２点火時期ＡＤＶ２に進角補正量学習値を加算した値が学習値２（＝Ｂ）に相当する。
【０１３１】
ここで、第２実施形態の作用効果を説明する。
【０１３２】
空燃比フィードバック制御開始後であれば、空燃比バラツキに起因する燃焼室内残留ガス量のバラツキがあっても空燃比フィードバック制御により解消されていると考えられるため、空燃比フィードバック制御開始後における燃焼変動の原因は、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップのバラツキ、つまりＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのバラツキに起因する燃焼室内残留ガス量のバラツキにあるかまたは第２点火時期ＡＤＶ２（触媒暖機促進用の点火時期）のバラツキに起因する燃焼室内残留ガス量のバラツキにあると考えられる。
【０１３３】
この場合に、第２実施形態（請求項２、９に記載の発明）によれば、エンジンのトルク変動の分散値σＰｉを算出し（燃焼の変動量を推定し）、エンジン回転速度Ｎｅがアイドル時の目標回転速度ＮＳＥＴに到達したタイミング以降で空燃比フィードバック制御開始後にこの算出したトルク変動の分散値σＰｉが閾値以上であるときに、吸気バルブ１５の開期間と排気バルブ１６の開期間のオーバーラップが小さくなる側にＶＴＣ作動角（可変バルブタイミング・リフト機構に与える指令値）を補正するかまたは触媒暖機促進用の点火時期を進角側に補正するので（図１２（Ｂ）のステップ８８〜９４、１００〜１０３参照）、ＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのバラツキや触媒暖機促進用の点火時期のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動を抑制することができる。
【０１３４】
また、ＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのバラツキと触媒暖機促進用の点火時期のバラツキを比較すると、ＶＴＣ機構２７による吸気バルブ１５の開閉タイミングのほうが部品バラツキ等でばらつき易い。これに対し、触媒暖機促進用の点火時期のバラツキは比較的小さい。第２実施形態（請求項５、１２に記載の発明）によれば、第１ステップとして、バラツキの大きい方であるＶＴＣ作動角（可変バルブタイミング・リフト機構に与える指令値）から先に補正し、バラツキの小さい方である触媒暖機促進用の点火時期の補正を後にするので、より効果的に燃焼の安定を図ることが可能となる。
【０１３５】
次に、図１５のフローチャートは第３実施形態で、先行発明、第１、第２の実施形態の図７と置き換わるものである。先行発明、第１、第２の実施形態の図７と同一部分には同一のステップ番号を付けている。
【０１３６】
第３実施形態は、第２実施形態を前提とするものである。すなわち、第２実施形態により、今回のエンジン運転開始後の制御で、ＶＴＣ作動角を限界値に維持した状態で触媒暖機促進用の点火時期を進角側に補正することによってトルク変動の分散値σＰｉが閾値未満になったときの触媒暖機促進用の点火時期についてはその進角補正量を学習済みであるので、次回のクランキング開始時にＶＴＣ作動角を限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり学習値２）へとステップ的に遅角することになる。すると、この後、つまり、点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり学習値２）へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、燃焼変動が再び生じるとすれば、その燃焼変動の原因は空燃比のバラツキにあると特定できることとなる。
【０１３７】
そこで第３実施形態は、今回のエンジン運転開始後に触媒暖機促進用の点火時期を進角側に補正することによってトルク変動の分散値σＰｉが閾値未満となったときの、触媒暖機促進用の点火時期の進角補正量を進角補正量学習値として記憶し、次回のクランキング開始時にＶＴＣ作動角を限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり学習値２）へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、トルク変動の分散値σＰｉが閾値以上であるときには空燃比をリッチ側に補正するものである。
【０１３８】
具体的には図１３に示したように、次回のクランキング開始時にｔ０のタイミングでＶＴＣ作動角を限界値（＝ａ）に設定してクランキングを開始し、クランキングからのエンジン回転速度Ｎｅがアイドル時の目標回転速度に到達したタイミングｔ２で触媒暖機促進用の点火時期を第１点火時期ＡＤＶ１から学習値２（＝Ｂ）に切換えているにも拘わらず、トルク変動の分散値σＰｉが閾値を上回っていることから、ｔ２のタイミング以降、空燃比フィードバック制御開始前の期間において、空燃比をリッチ側に補正、つまり燃料噴射パルス幅を増量補正して、燃焼が安定する方向に向かわせる。そして、空燃比フィードバック制御開始前のｔ１７のタイミングでトルク変動の分散値σＰｉが閾値未満に収まったので（図１３第４段目参照）、そのときの燃料噴射パルス幅（例えばＣ）に維持すると共に、そのときの燃料噴射パルス幅（＝Ｃ）を学習値３（第３学習値）として記憶し、次回のエンジン始動時に活かす。
【０１３９】
図１３が燃料噴射パルス幅の学習前を示すのに対して、図１４は燃料噴射パルス幅の学習後つまり前記次回の次の回のクランキング開始からの作用を示している。すなわち、燃料噴射パルス幅の学習後には、クランキングからのエンジン回転速度がアイドル時の目標回転速度に到達するｔ２のタイミングで燃料噴射パルス幅を学習値３（＝Ｃ）に設定する（図１４最下段参照）。こうした制御により、空燃比のバラツキがあっても、その空燃比のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動の悪化が抑制されるため、空燃比フィードバック制御を開始する前のｔ１８のタイミングでトルク変動の分散値σＰｉが閾値以下に収まっている（図１４第４段目参照）。
【０１４０】
図１５において、先行発明、第１、第２の実施形態の図７と相違する部分を主に説明すると、ステップ１１１では目標到達フラグをみる。目標到達フラグ＝０であるときにはそのまま今回の処理を終了する。
【０１４１】
目標到達フラグ＝１であるときにはステップ１１２に進み学習済フラグ３をみる。この学習済フラグ３は工場よりの出荷時にゼロに初期設定している。ここでは、学習済フラグ３＝０であるとすると、ステップ１１３、１１４に進み、ＥＥＰＲＯＭなどに記憶されている学習済フラグ２の値（図１２（Ｂ）のステップ１０５で設定され記憶されている）をみると共に、空燃比のフィードバック制御開始前であるか否かを判定する。学習済フラグ２＝０であるかまたは空燃比のフィードバック制御開始後であるときにはそのまま今回の処理を終了する。
【０１４２】
学習済フラグ２＝１かつ空燃比のフィードバック制御開始前であるときにはステップ１１５に進んでトルク変動の分散値σＰｉと閾値を比較する。トルク変動の分散値σＰｉが閾値以上であるときには燃焼が不安定でありその原因は空燃比のバラツキにあると判断し、ステップ１１６に進み、燃料噴射パルス幅の増量補正量ｈＴｉを次式により算出し、ステップ１１７で通常時燃料噴射パルス幅Ｔｉ２にこの燃料噴射パルス幅の増量補正量ｈＴｉを加算した値を燃料噴射パルス幅Ｔｉとして設定する。
【０１４３】
ｈＴｉ＝ｈＴｉ（前回）＋ΔＴｉ                        …（１１）
ただし、ΔＴｉ        ：一定値、
ｈＴｉ（前回）：ｈＴｉの前回値、
ここで、（１１）式の所定値ΔＴｉは燃料噴射パルス幅の所定時間当たりの増加量を定める値である。燃料噴射パルス幅の増量補正量の前回値である「ｈＴｉ（前回）」の初期値にはゼロを入れておく。このため、トルク変動の分散値σＰｉが閾値以上である状態が続けば、つまり閾値を超えて燃焼不安定であれば燃料噴射パルス幅を大きくして燃焼状態を安定させるため、燃料噴射パルス幅の増量補正量ｈＴｉは正の値で大きくなってゆく。つまり空燃比をリッチ側に補正することで燃焼が安定する方向に向かわせる。
【０１４４】
目標到達フラグ＝１となって以降のこうした燃料噴射パルス幅の増量補正によりトルク変動の分散値σＰｉが閾値未満となったときには、ステップ１１５よりステップ１１８に進み、燃料噴射パルス幅の増量補正量ｈＴｉ（前回にステップ１１６で得られている）を増量補正量学習値として所定のメモリに格納し、ステップ１１９では燃料噴射パルス幅の増量補正量の学習済みであることを表すため学習済フラグ３＝１とする。この学習済フラグ３の値はエンジン停止後も消失しないようにＥＥＰＲＯＭなどに記憶させておく。ステップ１２０では通常時燃料噴射パルス幅Ｔｉ２にこの増量補正量学習値を加算した値を燃料噴射パルス幅Ｔｉとして設定する。図１３と比較すると、通常時燃料噴射パルス幅Ｔｉ２にこの増量補正量学習値を加算した値が学習値３に相当する。
【０１４５】
学習済フラグ３＝１により、次回のクランキング開始後にはステップ１１２よりステップ１２１に進み通常時燃料噴射パルス幅Ｔｉ２に増量補正量学習値を加算した値を燃料噴射パルス幅Ｔｉとして設定する。
【０１４６】
ここで、第３実施形態の作用効果を説明する。
【０１４７】
第３実施形態（請求項６、１３に記載の発明）によれば、触媒暖機促進用の点火時期を進角側に補正することによってトルク変動の分散値σＰｉ（推定した燃焼変動量）が閾値未満となったときの、触媒暖機促進用の点火時期の進角補正量を進角補正量学習値として記憶し、次回のクランキング開始時にＶＴＣ作動角を限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで触媒暖機促進用の点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり学習値２）へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、トルク変動の分散値σＰｉが閾値以上であるときには燃料噴射パルス幅を増量側に補正する（空燃比をリッチ側に補正する）ので（図１５のステップ１１１〜１１７参照）、空燃比のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動の悪化も抑制できる。
【０１４８】
第３実施形態（請求項７、１４に記載の発明）によれば、前記次回のクランキング開始後に燃料噴射パルス幅を増量側に補正する（空燃比をリッチ側に補正する）ことによってトルク変動の分散値σＰｉが閾値未満となったときの燃料噴射パルス幅の増量補正量を増量補正量学習値として記憶し、前記次回の次の回のクランキング開始時にＶＴＣ作動角を限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり第２学習値）へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、燃料噴射パルス幅を通常時燃料噴射パルス幅Ｔｉ２に増量補正量学習値を加算した値に設定する（つまり空燃比を学習値３に設定する）ので（図１５のステップ１１２、１２１参照）、前記次回の次の回のクランキング開始時にＶＴＣ作動角を限界値に設定すると共に、そのクランキング開始後にクランキングからのエンジン回転速度がアイドル時の目標回転速度に到達したタイミングで点火時期を第１点火時期ＡＤＶ１（始動用の点火時期）から第２点火時期ＡＤＶ２に進角補正量学習値を加算した値（つまり第２学習値）へとステップ的に遅角した後であってその後の空燃比フィードバック制御開始前に、空燃比のバラツキに起因する燃焼室内残留ガス量のバラツキに伴う燃焼変動の悪化を抑制できる。
【０１４９】
請求項１に記載の点火時期遅角処理手順は、図５のステップ２６、３２、３３により、吸入空気量供給処理手順は図５のステップ２５、２６、２９、３０、３１により、燃料噴射量増量処理手順は図６のステップ４４、４５、５１により、燃焼変動量推定処理手順は図９のステップ７１により、点火時期補正処理手順は図９のステップ７１、７４、７３によりそれぞれ果たされている。
【０１５０】
請求項２に記載の点火時期遅角処理手順は、図５のステップ２６、３２、３３により、吸入空気量供給処理手順は図５のステップ２５、２６、２９、３０、３１により、燃料噴射量増量処理手順は図６のステップ４４、４５、５１により、燃焼変動量推定処理手順は図１２（Ｂ）のステップ８９により、指令値・点火時期補正処理手順は図９のステップ８９〜９４、１００〜１０３によりそれぞれ果たされている。
【０１５１】
請求項８に記載の点火時期遅角手段の機能は、図５のステップ２６、３２、３３により、吸入空気量供給手段の機能は図５のステップ２５、２６、２９、３０、３１により、燃料噴射量増量手段の機能は図６のステップ４４、４５、５１により、燃焼変動量推定手段の機能は図９のステップ７１により、点火時期補正手段の機能は図９のステップ７１、７４、７３によりそれぞれ果たされている。
【０１５２】
請求項９に記載の点火時期遅角手段の機能は、図５のステップ２６、３２、３３により、吸入空気量供給手段の機能は図５のステップ２５、２６、２９、３０、３１により、燃料噴射量増量手段の機能は図６のステップ４４、４５、５１により、燃焼変動量推定手段の機能は図１２（Ｂ）のステップ８９により、指令値・点火時期補正手段の機能は図９のステップ８９〜９４、１００〜１０３により
それぞれ果たされている。
【図面の簡単な説明】
【０１５３】
【図１】先行発明のエンジンの制御装置の概略構成図。
【図２】先行発明の作用を現状の制御と比較して説明するための波形図。
【図３】先行発明の制御方法を説明するための波形図。
【図４】先行発明の２つのフラグの設定を説明するためのフローチャート。
【図５】先行発明の点火時期指令値及びスロットル弁目標開度の算出を説明するためのフローチャート。
【図６】先行発明の目標当量比の算出を説明するためのフローチャート。
【図７】先行発明の燃料噴射パルス幅の算出を説明するためのフローチャート。
【図８】本発明の第１実施形態の作用を説明するための波形図。
【図９】本発明の第１実施形態の点火時期指令値及びスロットル弁目標開度の算出を説明するためのフローチャート。
【図１０】第２実施形態の作用を説明するための波形図。
【図１１】第２実施形態の作用を説明するための波形図。
【図１２（Ａ）】第２実施形態の点火時期指令値、スロットル弁目標開度及び目標ＶＴＣ作動角の算出を説明するためのフローチャート。
【図１２（Ｂ）】第２実施形態の点火時期指令値、スロットル弁目標開度及び目標ＶＴＣ作動角の算出を説明するためのフローチャート。
【図１３】第３実施形態の作用を説明するための波形図。
【図１４】第３実施形態の作用を説明するための波形図。
【図１５】第３実施形態の燃料噴射パルス幅の算出を説明するためのフローチャート。
【符号の説明】
【０１５４】
５  燃焼室
９  第１触媒
１４  点火プラグ
２１  燃料噴射弁
２３  スロットル弁
２７  ＶＴＣ機構（可変バルブタイミング・リフト機構）
３１  エンジンコントローラ
３３、３４  クランク角センサ
３６  スタータスイッチ
３７  水温センサ
【図１】
2008002435.tif 000003
【図２】
2008002435.tif 000004
【図３】
2008002435.tif 000005
【図４】
2008002435.tif 000006
【図５】
2008002435.tif 000007
【図６】
2008002435.tif 000008
【図７】
2008002435.tif 000009
【図８】
2008002435.tif 000010
【図９】
2008002435.tif 000011
【図１０】
2008002435.tif 000012
【図１１】
2008002435.tif 000013
【図１２（Ａ）】
2008002435.tif 000014
【図１２（Ｂ）】
2008002435.tif 000015
【図１３】
2008002435.tif 000016
【図１４】
2008002435.tif 000017
【図１５】
2008002435.tif 000018