(57)【特許請求の範囲】
【請求項１】
複数の気筒を有する多気筒内燃機関に適用され、気筒間の燃焼状態のばらつきを改善するように当該内燃機関の機関制御値を補正する制御装置において、
排気通路に配置される触媒の暖機度合いに相関する状態量を認識し、その触媒暖機度合いに相関する状態量が判定値よりも大きくなった場合に、前記機関制御値の補正を終了するように構成されており、
前記判定値は、気筒間の燃焼状態のばらつき度合いが高いほど、前記機関制御値補正の開始から終了までの期間が長くなるように設定されることを特徴とする多気筒内燃機関の制御装置。
【請求項２】
請求項１記載の多気筒内燃機関の制御装置において、
前記気筒間の燃焼状態のばらつきを改善するように内燃機関の機関制御値を補正する制御は、機関の回転変動に基づいて気筒への燃料噴射量を増量補正する制御であることを特徴とする多気筒内燃機関の制御装置。
【請求項３】
請求項１または２記載の多気筒内燃機関の制御装置において、
前記機関制御値の補正を終了する際に、当該機関制御値の補正量を「０」に向けて徐々に減少させることを特徴とする多気筒内燃機関の制御装置。
【請求項４】
請求項１〜３のいずれか１つに記載の多気筒内燃機関の制御装置において、
複数の気筒について前記機関制御値の補正を実施した場合に、その機関制御値補正を実施した気筒数に応じて前記判定値が可変に設定されることを特徴とする多気筒内燃機関の制御装置。
【請求項５】
請求項１〜４のいずれか１つの記載の多気筒内燃機関の制御装置において、
前記状態量は、機関始動後の積算吸入空気量または機関始動後の経過時間であることを特徴とする多気筒内燃機関の制御装置。
【請求項６】
請求項１〜４のいずれか１つに記載の多気筒内燃機関の制御装置において、
前記状態量は、機関水温または触媒床温であることを特徴とする多気筒内燃機関の制御装置。
【請求項７】
請求項１〜４のいずれか１つに記載の多気筒内燃機関の制御装置において、
前記状態量は、触媒の下流側に配置される酸素センサの出力値または実空燃比であることを特徴とする多気筒内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒を有する多気筒内燃機関の制御装置に関する。
【背景技術】
【０００２】
車両等に搭載される多気筒内燃機関においては、各気筒に設けられたインジェクタの噴射性能のばらつきや、気筒毎の吸入空気配分量のばらつき等によって、実際の空燃比が気筒間でばらつくこと（Ａ／Ｆインバランス）があり、こうした状況になると、特定気筒の燃焼悪化（リーン燃焼悪化）により排気エミッション及びドライバビリティが悪化する場合がある。その対策として、内燃機関の回転変動などの気筒別燃焼パラメータに基づいて気筒別に燃料噴射量を補正するという方法が提案されている。
【０００３】
例えば、空燃比がリーンとなる気筒では燃焼が悪化して発生トルクが減少するため、エンジンの回転変動が生じやすい点に着目し、気筒毎に生じる発生トルクに対応したエンジンの回転変動を測定し、その回転変動からトルクの段差に相当する燃料補正量を気筒別に求めて燃料噴射制御を行う技術が提案されている（例えば、特許文献１参照）。また、エンジンの回転変動に基づいて燃焼が悪化（リーン燃焼悪化）している気筒を特定し、その特定気筒の燃料噴射量を増量補正して燃焼状態を改善する制御も行われている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６７２３９号公報
【特許文献２】特開平１１−２４１６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した如く多気筒内燃機関では、空燃比が気筒間でばらついたときには燃料噴射量の増量補正を実施しているが、その増量補正が必要以上に継続されると、無駄な燃料増量によって排気エミッションが悪化するおそれがある。
【０００６】
本発明はそのような実情を考慮してなされたもので、気筒間の燃焼状態のばらつき（インバランス）を改善するように、機関制御値を補正する制御を実行する多気筒内燃機関において、排気エミッションの悪化を抑制することが可能な制御を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、複数の気筒を有する多気筒内燃機関に適用され、気筒間の燃焼状態のばらつき（インバランス）を改善するように当該内燃機関の機関制御値を補正する制御装置を前提としており、このような多気筒内燃機関の制御装置において、排気通路に配置される触媒の暖機度合いに相関する状態量を認識し、その触媒暖機度合いに相関する状態量が判定値よりも大きくなった場合に、前記機関制御値の補正を終了するように構成されており、前記判定値は、気筒間の燃焼状態のばらつき度合いが高いほど、前記機関制御値補正の開始から終了までの期間が長くなるように設定されることを特徴としている。
【０００９】
本発明について以下に説明する。
【００１０】
まず、内燃機関の排気通路に配置されている触媒が十分に暖機（活性化）された状態になると、回転変動（燃焼不安定）がある程度生じても排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）になる。このような点に着目し、本発明では、機関制御値の補正を実行している際に、触媒の暖機度合いに相関する状態量を認識し、その触媒暖機度合いに相関する状態量が判定値よりも大きくなった場合（触媒暖機が十分な状態になった場合）に、機関制御値の補正（例えば燃料噴射量の増量補正）を終了することで、必要以上に補正制御が継続されることに伴う排気エミッションの悪化（例えば無駄な燃料増量による排気エミッション悪化）を抑制する。
しかも、本発明にあっては、気筒間の燃焼状態のばらつき度合いが高いほど（機関制御値の補正量が大きいほど）、機関制御値補正の開始から終了までの期間が長くなるように上記判定値を設定しているので、機関制御値の補正制御（燃料増量補正制御）をより適切なタイミングで終了することができ、排気エミッションをより効果的に抑制することができる。
【００１１】
本発明において、上記気筒間の燃焼状態のばらつきを改善するように内燃機関の機関制御値を補正する制御の具体的な例としては、機関の回転変動に基づいて気筒への燃料噴射量を増量補正するという制御を挙げることができる。
【００１２】
本発明において、上記機関制御値の補正（例えば燃料噴射量の増量補正）を終了する際に、当該機関制御値の補正量を「０」に向けて徐々に減少させるという徐変処理を実施してもよい。このようにすれば、機関制御値の補正制御終了時（燃料増量補正終了時）において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制することができる。
【００１４】
本発明において、複数の気筒について機関制御値の補正（燃料噴射量の増量補正）を実施する場合に、その補正を実施する気筒数に応じて上記判定値を可変に設定するようにしてもよい。
【００１５】
本発明において、触媒暖機度合いに相関する状態量の具体的な例としては、機関始動後の積算吸入空気量、機関始動後の経過時間、機関水温、または、触媒床温を挙げることができる。また、他の状態量として、触媒の下流側に配置される酸素センサ（リアＯ2セン
サ）の出力値または実空燃比などを挙げることができる。
【発明の効果】
【００１６】
本発明によれば、気筒間の燃焼状態のばらつきを改善するように機関制御値を補正する制御が実行可能な多気筒内燃機関において、必要以上に補正制御が継続されることに伴う排気エミッションの悪化を抑制することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明を適用するエンジン（内燃機関）の一例を模式的に示す概略構成図である。
【図２】図１のエンジンの１気筒のみを示す概略構成図である。
【図３】エンジンの制御系の構成を示すブロック図である。
【図４】燃料噴射量補正制御の一例を示すフローチャートである。
【図５】燃料噴射量補正制御の一例を示すタイミングチャートである。
【図６】燃料噴射量補正制御の他の例を示すフローチャートである。
【図７】燃料噴射量補正制御の他の例を示すタイミングチャートである。
【図８】燃料噴射量補正制御の別の例を示すフローチャートである。
【図９】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１０】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１１】燃料噴射量補正制御の別の例を示すフローチャートである。
【図１２】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１３】燃料噴射量補正制御の別の例を示すフローチャートである。
【図１４】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１５】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１６】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１７】燃料噴射量補正制御の別の例を示すフローチャートである。
【図１８】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図１９】燃料噴射量補正制御の別の例を示すフローチャートである。
【図２０】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図２１】燃料噴射量補正制御の別の例を示すフローチャートである。
【図２２】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【図２３】燃料噴射量補正制御の別の例を示すタイミングチャートである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面に基づいて説明する。
【００１９】
まず、本発明を適用する内燃機関（以下、エンジンともいう）について説明する。
【００２０】
−エンジン−
図１及び図２は本発明を適用するエンジンの概略構成を示す図である。なお、図２にはエンジンの１気筒の構成のみを示している。
【００２１】
この例のエンジン１は、車両に搭載されるポート噴射式４気筒エンジンであって、その各気筒＃１，＃２，＃３，＃４を構成するシリンダブロック１ａ内には上下方向に往復動するピストン１ｃが設けられている。ピストン１ｃはコネクティングロッド１６を介してクランクシャフト１５に連結されており、ピストン１ｃの往復運動がコネクティングロッド１６によってクランクシャフト１５の回転へと変換される。
【００２２】
クランクシャフト１５にはシグナルロータ１７が取り付けられている。シグナルロータ１７の外周面には複数の歯（突起）１７ａが等角度（この例では、例えば１０°ＣＡ（クランク過度））ごとに設けられている。また、シグナルロータ１７は、歯１７ａの２枚分が欠落した欠歯部１７ｂを有している。
【００２３】
シグナルロータ１７の側方近傍には、クランク角を検出するクランクポジションセンサ３１が配置されている。クランクポジションセンサ３１は、例えば電磁ピックアップであって、クランクシャフト１５が回転する際にシグナルロータ１７の歯１７ａに対応するパルス状の信号（電圧パルス）を発生する。このクランクポジションセンサ３１の出力信号からエンジン回転数ＮＥを算出することができる。
【００２４】
エンジン１のシリンダブロック１ａにはエンジン冷却水の水温を検出する水温センサ３２が配置されている。また、シリンダブロック１ａの上端にはシリンダヘッド１ｂが設けられており、このシリンダヘッド１ｂとピストン１ｃとの間に燃焼室１ｄが形成されている。エンジン１の燃焼室１ｄには点火プラグ３が配置されている。点火プラグ３の点火タイミングはイグナイタ４によって調整される。イグナイタ４はＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２００によって制御される。
【００２５】
エンジン１のシリンダブロック１ａの下部には、潤滑油（エンジンオイル）を貯留するオイルパン１８が設けられている。オイルパン１８に貯留された潤滑油は、エンジン１の運転時に、異物を除去するオイルストレーナを介してオイルポンプ（図示せず）によって汲み上げられて、ピストン１ｃ、クランクシャフト１５、コネクティングロッド１６などエンジン各部に供給され、その各部の潤滑・冷却等に使用される。そして、このようにして供給された潤滑油は、エンジン各部の潤滑・冷却等のために使用された後、オイルパン１８に戻され、再びオイルポンプ１９によって汲み上げられるまでオイルパン１８内に貯留される。
【００２６】
エンジン１の燃焼室１ｄには吸気通路１１と排気通路１２とが接続されている。吸気通路１１の一部は吸気ポート１１ａ及び吸気マニホールド１１ｂによって形成されている。吸気通路１１にはサージタンク１１ｃが設けられている。また、排気通路１２の一部は排気ポート１２ａ及び排気マニホールド１２ｂによって形成されている。
【００２７】
エンジン１の吸気通路１１には、吸気を濾過するエアクリーナ７、熱線式のエアフロメータ３３、吸気温センサ３４（エアフロメータ３３に内蔵）、エンジン１の吸入空気量を調整するためのスロットルバルブ５などが配置されている。スロットルバルブ５は、サージタンク１１ｃの上流側（吸気流れの上流側）に設けられており、スロットルモータ６によって駆動される。スロットルバルブ５の開度はスロットル開度センサ３５によって検出される。スロットルバルブ５のスロットル開度はＥＣＵ２００によって駆動制御される。
【００２８】
エンジン１の排気通路１２には三元触媒８が配置されている。三元触媒８においては、燃焼室１ｄから排気通路１２に排気された排気ガス中のＣＯ、ＨＣの酸化及びＮＯｘの還元が行われ、それらを無害なＣＯ2、Ｈ2Ｏ、Ｎ2とすることで排気ガスの浄化が図られている。
【００２９】
三元触媒８の上流側（排気流れの上流側）の排気通路１２にフロント空燃比センサ３７が配置されている。フロント空燃比センサ３７は、空燃比に対してリニアな特性を示すセンサである。また、三元触媒８の下流側の排気通路１２にはリアＯ2センサ３８が配置されている。リアＯ2センサ３８は、排気ガス中の酸素濃度に応じて起電力を発生するものであり、理論空燃比に相当する電圧（比較電圧）よりも出力が高いときはリッチと判定し、逆に比較電圧よりも出力が低いときはリーンと判定する。これらフロント空燃比センサ３７及びリアＯ2センサ３８の出力信号は空燃比フィードバック制御（例えば、特開２０１０−００７５６１号公報に記載の技術参照）に用いられる。
【００３０】
吸気通路１１と燃焼室１ｄとの間に吸気弁１３が設けられており、この吸気弁１３を開閉駆動することにより、吸気通路１１と燃焼室１ｄとが連通または遮断される。また、排気通路１２と燃焼室１ｄとの間に排気弁１４が設けられており、この排気弁１４を開閉駆動することにより、排気通路１２と燃焼室１ｄとが連通または遮断される。これら吸気弁１３及び排気弁１４の開閉駆動は、クランクシャフト１５の回転がタイミングチェーン等を介して伝達される吸気カムシャフト２１及び排気カムシャフト２２の各回転によって行われる。
【００３１】
吸気カムシャフト２１の近傍には、特定の気筒（例えば第１気筒＃１）のピストン１ｃが圧縮上死点（ＴＤＣ）に達したときにパルス状の信号を発生するカムポジションセンサ３９が設けられている。カムポジションセンサ３９は、例えば電磁ピックアップであって、吸気カムシャフト２１に一体的に設けられたロータ外周面の１個の歯（図示せず）に対向するように配置されており、その吸気カムシャフト２１が回転する際にパルス状の信号（電圧パルス）を出力する。なお、吸気カムシャフト２１（及び排気カムシャフト２２）は、クランクシャフト１５の１／２の回転速度で回転するので、クランクシャフト１５が２回転（７２０°回転）するごとにカムポジションセンサ３９が１つのパルス状の信号を発生する。
【００３２】
そして、吸気通路１１の吸気ポート１１ａには、燃料を噴射可能なインジェクタ（燃料噴射弁）２が配置されている。インジェクタ２は各気筒＃１〜＃４毎に設けられている。これらインジェクタ２・・２は共通のデリバリパイプ１０１に接続されている。デリバリパイプ１０１には、後述する燃料供給系１００の燃料タンク１０４に貯溜の燃料が供給され、これによって、インジェクタ２から吸気ポート１１ａ内に燃料が噴射される。この噴射燃料は吸入空気と混合されて混合気となってエンジン１の燃焼室１ｄに導入される。燃焼室１ｄに導入された混合気（燃料＋空気）は点火プラグ３にて点火されて燃焼・爆発する。このときに生じた高温高圧の燃焼ガスによりピストン１ｃが往復動され、クランクシャフト１５が回転されてエンジン１の駆動力（出力トルク）が得られる。燃焼ガスは、排気バルブ１４の開弁にともない排気通路１２に排出される。なお、エンジン１は、第１気筒＃１→第３気筒＃３→第４気筒＃４→第２気筒＃２の順で燃焼・爆発する。以上のエンジン１の運転状態はＥＣＵ２００によって制御される。
【００３３】
一方、燃料供給系１００は、各気筒＃１〜＃４のインジェクタ２・・２に共通に接続されたデリバリパイプ１０１、このデリバリパイプ１０１に接続された燃料供給管１０２、燃料ポンプ（例えば電動ポンプ）１０３、及び、燃料タンク１０４などを備えており、燃料ポンプ１０３を駆動することにより、燃料タンク１０４内に貯留の燃料を、燃料供給管１０２を介してデリバリパイプ１０１に供給することができる。そして、このような構成の燃料供給系１００によって各気筒＃１〜＃４のインジェクタ２に燃料が供給される。
【００３４】
以上の構成の燃料供給系１００において、燃料ポンプ１０３の駆動はＥＣＵ２００によって制御される。
【００３５】
−ＥＣＵ−
ＥＣＵ２００は、図３に示すように、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３及びバックアップＲＡＭ２０４などを備えている。
【００３６】
ＲＯＭ２０２は、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。ＣＰＵ２０１は、ＲＯＭ２０２に記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、ＲＡＭ２０３は、ＣＰＵ２０１での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭ２０４は、例えばエンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００３７】
以上のＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３及びバックアップＲＡＭ２０４は、バス２０７を介して互いに接続されるとともに、入力インターフェース２０５及び出力インターフェース２０６と接続されている。
【００３８】
入力インターフェース２０５には、クランクポジションセンサ３１、水温センサ３２、エアフロメータ３３、吸気温センサ３４、スロットル開度センサ３５、アクセルペダルの踏み込み量に応じた検出信号を出力するアクセル開度センサ３６、フロント空燃比センサ３７、リアＯ2センサ３８、及び、カムポジションセンサ３９などの各種センサ類が接続されている。また、入力インターフェース２０５にはイグニッションスイッチ４０が接続されており、イグニッションスイッチ４０がオン操作されると、スタータモータ（図示せず）によるエンジン１のクランキングが開始される。
【００３９】
出力インターフェース２０６には、インジェクタ２、点火プラグ３のイグナイタ４、スロットルバルブ５のスロットルモータ６、及び、燃料供給系１００の燃料ポンプ１０３などが接続されている。
【００４０】
そして、ＥＣＵ２００は、上記した各種センサの検出信号に基づいて、インジェクタ２の駆動制御（燃料噴射量調整制御）、点火プラグ３の点火時期制御、スロットルバルブ５のスロットルモータ６の駆動制御（吸入空気量制御）、空燃比フィードバック制御などを含むエンジン１の各種制御を実行する。さらに、ＥＣＵ２００は、下記の「気筒判別処理」、「燃焼悪化気筒特定処理」、及び、「燃料噴射量補正制御」を実行する。
【００４１】
以上のＥＣＵ２００により実行されるプログラムによって、本発明の多気筒内燃機関の制御装置が実現される。
【００４２】
−気筒判別処理−
ＥＣＵ２００が実行する気筒判別処理について説明する。
【００４３】
まず、この例に適用するクランク角の検出に用いるシグナルロータ１７には、図２に示すように、各歯１７ａが例えば１０°ＣＡ毎に形成されており、２枚が欠落した３４枚の歯１７ａを有している。このシグナルロータ１７の欠歯部１７ｂがクランクポジションセンサ（電磁ピックアップ）３１の近傍を通過する際には、電圧パルスの発生間隔が長くなる。こうしたシグナルロータ１７の欠歯部１７ｂに対応した信号（欠歯信号）の出力によって、クランクシャフト１５の回転位相（クランク位置）を検出することができ、各気筒が上死点に位置する時期を認識することができる。このようなシグナルロータ１７の欠歯部１７ｂに対応したクランクポジションセンサ３１の出力信号（欠歯信号）は、気筒判別の上死点位置を判別するための信号すなわち「上死点位置判別信号」となっている。
【００４４】
ここで、４サイクル機関（４気筒エンジン）では、ピストンの昇降に応じて回転するクランクシャフトの２回転（７２０°ＣＡ）が機関サイクルの１周期となっており、各気筒は機関サイクルの１周期毎に２度ずつ上死点に位置する。そのため、上記のようなクランクポジションセンサ３１の出力信号（欠歯信号）だけでは、２度のうちのいずれの上死点にあるのかを判別することはできない。つまり気筒判別を行うことはできない。そこで、この例では、クランクポジションセンサ３１の出力信号（欠歯信号）に、カムポジションセンサ３９の出力信号（電圧パルス）を組み合わせることで気筒判別を可能としている。その気筒判別について以下に説明する。
【００４５】
まず、クランクポジションセンサ３１は、上記したように、クランクシャフト１５が１回転（３６０°ＣＡ）する間に１回（機関サイクルの１周期に２回）、上記欠歯信号を出力する。この例では、第１気筒＃１及び第４気筒＃４の上死点前の所定クランク角でクランクポジションセンサ３１が欠歯信号を出力する構成となっている。
【００４６】
また、カムポジションセンサ３９は、上記したように、クランクシャフト１５が２回転する間に１回（機関サイクルの１周期に１回）、電圧パルスを出力する。この例では、第１気筒＃１が圧縮上死点に位置し、第４気筒＃４が排気上死点に位置したときにカムポジションセンサ３９が電圧パルスを出力する構成となっている。
【００４７】
このような構成により、クランクポジションセンサ３１が欠歯信号を出力したときに、カムポジションセンサ３９が電圧パルスを発生すれば、第１気筒＃１が圧縮上死点に位置し、第４気筒＃４が排気上死点に位置することになる。また、クランクポジションセンサ３１が欠歯信号を出力したときに、カムポジションセンサ３９が電圧パルスを発生しないときには、第１気筒＃１が排気上死点に位置し、第４気筒＃４が圧縮上死点に位置することになる。このようにカムポジションセンサ３９が発生する電圧パルスは、気筒判別を行うための信号すなわち「気筒判別信号」となっている。
【００４８】
このように、クランクポジションセンサ３１の欠歯信号（上死点位置判別信号の最初の検出）と、その検出に対応したカムポジションセンサ３９の気筒判別信号（電圧パルス）の発生の有無とに基づいて、遅くともクランクシャフト１５が１回転する間において気筒判別（クランク角確定）を行うことができる。そして、そのような気筒判別により、機関始動時・始動後の運転時等において、各気筒＃１〜＃４のピストン位置（吸入行程・圧縮行程・爆発行程・排気行程）を認識することができ、精密な燃料噴射制御や点火時期制御などのエンジン運転制御を行うことができる。
【００４９】
なお、以上の処理では、クランクポジションセンサ３１及びカムポジションセンサ３９の出力信号から気筒判別（クランク角確定）及び各気筒＃１〜＃４のピストン位置の認識等を行っているが、他の公知の手段によって気筒判別（クランク角確定）及び各気筒＃１〜＃４のピストン位置の認識等を行うようにしてもよい。
【００５０】
−燃焼悪化気筒特定処理−
次に、ＥＣＵ２００が実行する燃焼悪化気筒特定処理について説明する。
【００５１】
まず、４つの気筒＃１〜＃４のうち、ある１つの気筒（例えば第１気筒＃１）のみに燃焼悪化（リーン燃焼悪化）が発生した場合、その気筒の爆発行程におけるエンジン回転速度が次第に低下していくので、この燃焼悪化が生じた気筒（第１気筒＃１）の爆発行程中においてクランクシャフト１５が一定クランク角度を回転するのに要する時間が、他の気筒（第２気筒＃２〜第４気筒＃４）の爆発行程時におけるその時間よりも長くなる。したがって、これらの時間を計測して比較することにより燃焼悪化が生じている気筒を認識することが可能になる。
【００５２】
その具体的な処理の一例について説明する。まず、ＥＣＵ２００は、クランクポジションセンサ３１及びカムポジションセンサ３９の出力信号を所定のクランク角度毎（例えば３０°ＣＡ毎）に取り込み、それらの各信号に基づいて、第１気筒＃１が爆発行程にあるときに、この爆発行程中において、クランクシャフト１５が一定クランク角度（例えば１８０°ＣＡ）を回転するのに要する経過時間Ｔ１と、この第１気筒＃１の爆発行程よりも１回前（３６０°ＣＡ前）に爆発行程を迎えていた第２気筒＃２の爆発行程中においてクランクシャフト１５が一定のクランク角度（例えば１８０°ＣＡ）を回転するのに要する経過時間Ｔ２との差を演算して、第１気筒＃１の回転変動量ΔＮＥ１（＝Ｔ１−Ｔ２）を得る。
【００５３】
また、同様にして、エンジン１の各気筒＃２〜＃４の爆発行程中においてクランクシャフト１５が一定クランク角度（例えば１８０°ＣＡ）を回転するのに要する経過時間Ｔ３（第３気筒＃３）、Ｔ４（第４気筒＃４）、Ｔ２（第２気筒＃２）を順次演算して、第３気筒＃３の回転変動量ΔＮＥ３（＝Ｔ３−Ｔ１）、第４気筒＃４の回転変動量ΔＮＥ４（＝Ｔ４−Ｔ３）、及び、第２気筒＃２の回転変動量ΔＮＥ２（＝Ｔ２−Ｔ４）を得る。
【００５４】
そして、ＥＣＵ２００は、上記演算により求めた各気筒＃１〜＃４の回転変動量ΔＮＥ１〜ΔＮＥ４と判定閾値Ｔｈｎｅ（例えば図５参照）とを比較し、回転変動量ΔＮＥが判定閾値Ｔｈｎｅを超えている気筒がある場合、その気筒を「燃焼悪化が生じている気筒」と認識する。
【００５５】
なお、回転変動量ΔＮＥに対して設定する判定閾値Ｔｈｎｅは、リーン燃焼悪化（Ａ／Ｆインバランスによる悪化）が生じて排気エミッションが悪化するエンジン１の回転変動量を実験・シミュレーション等によって取得し、その結果を基に経験的に適合した値である。この判定閾値ＴｈｎｅはＥＣＵ２００のＲＯＭ２０２内に記憶されている。
【００５６】
なお、各気筒＃１〜＃４の回転変動量は、他の公知の手法によって認識（演算）するようにしてもよい。
【００５７】
−燃料噴射量補正制御（機関制御値の補正制御）−
次に、エンジン１の回転変動を抑制するための燃料噴射量の補正制御の例（［補正制御例１］〜［補正制御例８］）について以下に説明する。
【００５８】
［補正制御例１］
まず、図１及び図２に示すようなエンジン１においては、エンジン始動後、三元触媒８が十分に暖機された状態（十分な排気浄化作用を発揮する状態）になると、回転変動（燃焼不安定）がある程度生じても排気エミッションが悪化しないようになる。こうした点に着目し、この例では、三元触媒８の暖機が十分となった場合に燃料噴射量の増量補正を終了することで、必要以上に燃料噴射量の増量補正が継続されることに伴う排気エミッションの悪化を抑制する点に特徴がある。
【００５９】
その具体的な制御の一例について図４のフローチャート及び図５のタイミングチャートを参照して説明する。図４の制御ルーチンはＥＣＵ２００において実行される。
【００６０】
この図４の制御ルーチン実行中に、ＥＣＵ２００は、上記エアフロメータ３３の出力信号に基づいてエンジン始動後の積算吸入空気量（積算Ｇａ）を算出している。
【００６１】
またＥＣＵ２００は、エンジン１が回転を開始した時点から、上記した演算処理にて、１サイクル毎（７２０°ＣＡ毎）に、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量ΔＮＥ１，回転変動量ΔＮＥ３，回転変動量ΔＮＥ４，回転変動量ΔＮＥ２を繰り返して演算し、その各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図５に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【００６２】
図４に示す制御ルーチンはイグニッションスイッチ４０がＯＮ操作された時点（ＩＧ−ＯＮ）で開始される。制御ルーチンが開始されると、ステップＳＴ１０１において、エンジン１の回転変動を判定する判定タイミングであるか否かを判定する。具体的には、エンジン始動後の経過時間が所定値（例えば、３ｓｅｃ）に達しているか否かを判定し、その経過時間が所定値に達した時点で（ステップＳＴ１０１の判定結果が肯定判定となった時点で）、「判定タイミング成立」と判定してステップＳＴ１０２に進む。
【００６３】
なお、ステップＳＴ１０１の判定条件は、エンジン１が確実に始動したことを判別するための条件である。このステップＳＴ１０１の判定処理については、例えば、水温センサ３２の出力信号から得られるエンジン冷却水の水温を判定パラメータとし、その水温が所定値に達したときに「判定タイミング成立」と判定するようにしてもよいし、また、上記エンジン始動後の経過時間とエンジン水温とを組み合わせて判定するようにしてもよい。さらに、他のパラメータを用いてステップＳＴ１０１の判定処理を実行するようにしてもよい。
【００６４】
ステップＳＴ１０２では、上記判定タイミングでの各気筒＃１〜＃４の回転変動量（＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を比較し、それらの気筒＃１〜＃４のうち、回転変動量ΔＮＥが最大となる気筒を特定する。その特定気筒（ΔＮＥが最大の気筒）の回転変動量ΔＮＥが回転変動判定値Ｔｈｎｅよりも大きい場合に、燃料噴射量の増量補正が必要であると判断して、燃料噴射量の増量値を算出する（ステップＳＴ１０３）。図５の例では、回転変動量ΔＮＥが最大となる気筒が第１気筒＃１であり、その回転変動量＃１ΔＮＥが回転変動判定値Ｔｈｎｅを超えているので、この第１気筒＃１の燃料噴射量の増量値を算出する。なお、ステップＳＴ１０２において、回転変動量ΔＮＥが回転変動判定値Ｔｈｎｅを超える気筒がない場合は、燃料噴射量の増量補正を実施せずに、この制御ルーチンを終了する。
【００６５】
ここで、燃料噴射量の増量値は、例えば、上記特定気筒の回転変動量ΔＮＥ（例えば第１気筒＃１の回転変動量ΔＮＥ＃１）が上記回転変動判定値Ｔｈｎｅを超える分（ΔＮＥ−Ｔｈｎｅ）に増量補正係数をかけることにより算出する。この増量補正係数は、リーン燃焼悪化によって生じた回転変動を抑制できるような燃料増量値を実験・計算等によって取得し、その結果を基に適合した値であって、例えばＥＣＵ２００のＲＯＭ２０２内に記憶されている。
【００６６】
また、燃料噴射量の増量値の他の算出方法として、例えば、回転変動量ΔＮＥと回転変動判定値Ｔｈｎｅとの差（ΔＮＥ−Ｔｈｎｅ）に基づいてマップを参照して算出するという方法を採用してもよい。この燃料噴射量の増量値を算出するマップについては、回転変動量ΔＮＥと回転変動判定値Ｔｈｎｅとの差（ΔＮＥ−Ｔｈｎｅ）をパラメータとして、リーン燃焼悪化により生じた回転変動を抑制できるような燃料増量値を実験・計算等により取得し、その結果を基に適合した値をマップ化したものを用いる。なお、燃料噴射量の増量値は固定値（一定値）であってもよい。
【００６７】
以上のステップＳＴ１０２で算出した燃料噴射量の増量値を用いて、回転変動量ΔＮＥが最大の特定気筒（例えば第１気筒＃１）について燃料噴射量の増量補正を実施する（ステップＳＴ１０３）。この燃料噴射量の増量補正により、特定気筒の燃焼状態が改善されてエンジン１の回転変動が抑制されていく。
【００６８】
次に、ステップＳＴ１０４において、エンジン始動後の吸入空気量（Ｇａ）の積算値（積算Ｇａ）が、図５に示す終了判定値ｔｈａ（燃料噴射量の増量補正を終了するタイミングを判定する値）よりも大きいか否かを判定する。ステップＳＴ１０４の判定結果が否定判定である場合（積算Ｇａ≦Ｔｈａ）は上記燃料噴射量の増量補正を継続する。
【００６９】
そして、積算Ｇａが終了判定値Ｔｈａよりも大きくなった時点ｔａ（ステップＳＴ１０４の判定結果が肯定判定となった時点）で、三元触媒８が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図５に示すように、徐変処理にて増量値を徐々に減少（増量値を「０」にまで徐変）させていくことにより（ステップＳＴ１０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、積算Ｇａが終了判定値Ｔｈａよりも大きくなった時点ｔａで燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【００７０】
以上のように、この例の制御によれば、三元触媒８の暖機度合いに相関するエンジン始動後の積算Ｇａを認識し、その積算Ｇａが終了判定値Ｔｈａよりも大きくなったときに、三元触媒８の暖機が十分となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）になったと判断して燃料噴射量の増量補正を終了している。このように、燃料増量が必要でなくなったときに燃料噴射量の増量補正を適正に終了することによって、増量補正が必要以上に継続されることに伴う排気エミッション悪化を抑制することができる。
【００７１】
ここで、この例のステップＳＴ１０４の判定処理に用いる終了判定値Ｔｈａは、エンジン始動後、三元触媒８の暖機が十分となり、回転変動（燃焼不安定）がある程度生じても排気エミッション悪化が問題とならない状態（回転変動による排気エミッションの浄化が可能な状態）に至るまでの積算吸入空気量を実験・計算等によって取得し、その結果を基に適合した値である。
【００７２】
この終了判定値Ｔｈａは固定値（一定値）であってもよい。また、終了判定値Ｔｈａはマップなどを用いて可変に設定するようにしてもよい。終了判定値Ｔｈａを可変とする場合、例えば、回転変動量ΔＮＥが大きいほど燃料増量の必要性が高く、三元触媒８の完全暖機近くまで燃料増量を維持した方が排気エミッション悪化を抑制できるという点を考慮して、燃料噴射量の増量値（増量補量）が大きいほど終了判定値Ｔｈａが高い側の値となるように（増量補正終了までの期間が長くなるように）可変に設定する。また、終了判定値Ｔｈａについては、エンジン１の燃焼の安定性を及ぼすパラメータ、例えば、吸気温・外気温（温度が低い程：燃焼不安定）や、運転負荷（アイドル運転時：燃焼不安定）に応じて可変に設定するようにしてもよい。
【００７３】
ここで、以上の［補正制御例１］では、エンジン始動後の積算Ｇａに基づいて燃料噴射量の増量補正の終了タイミングを判定しているが、これに替えて、エンジン始動後の経過時間をパラメータとし、そのエンジン始動後の経過時間が所定の終了判定値よりも大きくなったときを、燃料噴射量の増量補正の終了タイミングと判定するようにしてもよい。
【００７４】
この場合、エンジン始動後の経過時間に対して設定する終了判定値は、エンジン始動後、触媒暖機が十分となって排気エミッション悪化が問題とならない状態（回転変動による排気エミッションの浄化が可能な状態）に至るまでの経過時間を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。なお、この終了判定値についても、上記した終了判定値Ｔｈａと同様に、固定値（一定値）であってもよいし、燃料噴射量の増量値（増量補正量）が大きいほど終了判定値が高い側の値となるように（増量補正終了までの期間が長くなるように）可変に設定するようにしてもよい。また、吸気温・外気温や運転負荷に応じて終了判定値を可変に設定するようにしてもよい。
【００７５】
［補正制御例２］
この例では、エンジン冷却水の水温に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
【００７６】
その具体的な例について図６のフローチャート及び図７のタイミングチャートを参照して説明する。図６の制御ルーチンはＥＣＵ２００において実行される。この図６の制御ルーチンの実行中において、ＥＣＵ２００は、水温センサ３２の出力信号に基づいてエンジン冷却水の水温を逐次算出している。
【００７７】
図６に示すフローチャートのステップＳＴ２０１〜ステップＳＴ２０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図７に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【００７８】
この例では、回転変動が最大の特定気筒（図７の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ２０３）、水温センサ３２の出力信号から得られるエンジン冷却水の水温が、図７に示す終了判定値Ｔｈｂよりも大きいか否かを判定する（ステップＳＴ２０４）。ステップＳＴ２０４の判定結果が否定判定である場合（水温≦Ｔｈｂ）は上記燃料噴射量の増量補正を継続する。
【００７９】
そして、エンジン冷却水の水温が終了判定値Ｔｈｂよりも大きくなった時点ｔｂ（ステップＳＴ２０４の判定結果が肯定判定となった時点）で、三元触媒８が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図７に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ２０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、エンジン冷却水の水温が終了判定値Ｔｈｂよりも大きくなった時点ｔｂ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【００８０】
以上のように、この例の制御によれば、三元触媒８の暖機度合いに相関するエンジン冷却水の水温を認識し、その水温が終了判定値Ｔｈｂよりも大きくなったときに、三元触媒８の暖機が十分となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【００８１】
なお、この例のステップＳＴ２０４の判定処理に用いる終了判定値Ｔｈｂは、エンジン始動後、三元触媒８の暖機が十分となって排気エミッション悪化が問題とならない状態（回転変動による排気エミッションの浄化が可能な程度）に至ったときのエンジン水温を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。この終了判定値Ｔｈｄは、上記した［補正制御例１］と同様に、固定値（一定値）であってもよいし、燃料噴射量の増量値（増量補正量）が大きいほど高い側の値になるように（増量補正終了までの期間が長くなるように）可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Ｔｈｂを可変に設定するようにしてもよい。
【００８２】
ここで、以上の［補正制御例２］では、エンジン冷却水の水温に基づいて燃料噴射量の増量補正の終了を判定しているが、これに替えて、エンジン１の油温をパラメータとし、そのエンジン１の油温と所定の終了判定値とを比較し、そのエンジン油温が終了判定値よりも大きくなった時点で燃料噴射量の増量補正を終了するようにしてもよい。この場合、エンジン１の油温に対して設定する終了判定値は、触媒暖機が十分となって排気エミッション悪化が問題とならない状態に至ったときのエンジン油温を実験・計算等によって取得し、その結果を基に適合した値を設定すればよい。
【００８３】
［補正制御例３］
この例では、三元触媒８の触媒床温に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
【００８４】
その具体的な例について図８のフローチャート及び図９のタイミングチャートを参照して説明する。図８の制御ルーチンはＥＣＵ２００において実行される。この図８の制御ルーチン実行中において、ＥＣＵ２００は、例えば、クランクポジションセンサ３１の出力信号から得られるエンジン回転数ＮＥ、及び、エアフロメータ３３の出力信号から得られる吸入空気量Ｇａに基づいてマップ等を参照して三元触媒８の触媒床温を逐次推定している。
【００８５】
図８に示すフローチャートのステップＳＴ３０１〜ステップＳＴ３０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば、図９に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【００８６】
この例では、回転変動が最大の特定気筒（図９の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ３０３）、上記推定による三元触媒８の触媒床温が、図９に示す終了判定値Ｔｈｃ（燃料噴射量の増量補正を終了するタイミングを判定する値）よりも大きいか否かを判定する（ステップＳＴ３０４）。ステップＳＴ３０４の判定結果が否定判定である場合（触媒床温≦Ｔｈｃ）は上記燃料噴射量の増量補正を継続する。
【００８７】
そして、上記触媒床温が終了判定値Ｔｈｃよりも大きくなった時点ｔｃ（ステップＳＴ３０４の判定結果が肯定判定となった時点）で、三元触媒８が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図９に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ３０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、触媒床温が終了判定値Ｔｈｃよりも大きくなった時点ｔｃ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【００８８】
以上のように、この例の制御によれば、三元触媒８の触媒床温が終了判定値Ｔｈｃよりも大きくなったときに、三元触媒８の暖機が十分となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【００８９】
なお、この例のステップＳＴ３０４の判定処理に用いる終了判定値Ｔｈｃは、三元触媒８の暖機が十分となる触媒床温を実験・計算等によって適合した値（例えば、Ｔｈｃ＝６００℃）である。この終了判定値Ｔｈｃは、上記した［補正制御例１］と同様に、固定値（一定値）であってもよいし、燃料噴射量の増量値（増量補正量）が大きいほど高い側の値になるように（増量補正終了までの期間が長くなるように）可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Ｔｈｃを可変に設定するようにしてもよい。
【００９０】
また、この例では、エンジン回転数ＮＥ及び吸入空気量Ｇａから触媒床温を推定しているが、エンジン１の他の運転状態・運転履歴に基づいて触媒床温を推定するようにしてもよい。さらに、三元触媒８の上流側と下流側の排気通路１２とに温度センサを設け、それら２つの温度センサの出力信号から触媒床温を推定するようにしてもよいし、三元触媒８に温度センサを設けて触媒床温を直接検出するようにしてもよい。
【００９１】
ここで、図９の例では、上記触媒床温が終了判定値Ｔｈｃよりも大きくなったことを判定した時点ｔｃ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量値の減少開始（または燃料噴射量の増量補正を速やかに終了）しているが、これに限られることなく、例えば図１０に示すように、触媒床温が終了判定値Ｔｈｃよりも大きくなったことを判定した後に、フューエルカット（Ｆ／Ｃ：気筒への燃料供給停止）があった時点で燃料噴射量の増量補正を終了（増量値＝０に設定）するようにしてもよい。また同様に、触媒床温が終了判定値Ｔｈｃよりも大きくなったことを判定した後に、ストイキ制御でなくなった時点で燃料噴射量の増量補正を終了（増量値＝０に設定）するようにしてもよい。このような図１０の補正終了時制御は、上述した［補正制御例１］〜［補正制御例２］及び後述する［補正制御例４］〜［補正制御例８］に適用してもよい。
【００９２】
［補正制御例４］
この例では、リアＯ2センサ３８が活性化したとき（電圧信号を出力したとき）には三元触媒８が十分に暖機された状態となる点に着目し、そのリアＯ2センサ３８の出力電圧に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
【００９３】
その具体的な例について図１１のフローチャート及び図１２のタイミングチャートを参照して説明する。図１１の制御ルーチンはＥＣＵ２００において実行される。
【００９４】
図１１に示すフローチャートのステップＳＴ４０１〜ステップＳＴ４０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図１２に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【００９５】
この例では、回転変動が最大の特定気筒（図１２の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ４０３）、リアＯ2センサ３８の出力電圧が、図１２に示す終了判定値Ｔｈｄ（燃料噴射量の増量補正を終了するタイミングを判定する値）よりも大きいか否かを判定する（ステップＳＴ４０４）。ステップＳＴ４０４の判定結果が否定判定である場合（リアＯ2センサ３８の出力電圧≦Ｔｈｄ）は上記燃料噴射量の増量補正を継続する。
【００９６】
そして、リアＯ2センサ３８の出力電圧が終了判定値Ｔｈｄよりも大きくなった時点ｔｄ（ステップＳＴ４０４の判定結果が肯定判定となった時点）で、三元触媒８が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図１２に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ４０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、リアＯ2センサ３８の出力電圧が終了判定値Ｔｈｄよりも大きくなった時点ｔｄ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【００９７】
以上のように、この例の制御によれば、リアＯ2センサ３８の出力電圧が終了判定値Ｔｈｄよりも大きくなったときに（リアＯ2センサ３８が活性化したときに）、三元触媒８の暖機が十分となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）になったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【００９８】
なお、この例のステップＳＴ４０４の判定処理に用いる終了判定値Ｔｈｄは、リアＯ2センサ３８が活性化したときの出力電圧値を考慮して経験的に適合した値である。この終了判定値Ｔｈｄは、上記した［補正制御例１］と同様に、固定値（一定値）であってもよいし、燃料噴射量の増量値（増量補正量）が大きいほど高い側の値になるように（増量補正終了までの期間が長くなるように）可変に設定してもよい。また、吸気温・外気温や、運転負荷に応じて終了判定値Ｔｈｄを可変に設定するようにしてもよい。
【００９９】
［補正制御例５］
この例では、フロント空燃比センサ３７の出力信号から得られる実空燃比（Ａ／Ｆ）に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
【０１００】
その具体的な例について図１３のフローチャート及び図１４のタイミングチャートを参照して説明する。図１３の制御ルーチンはＥＣＵ２００において実行される。この図１３の制御ルーチン実行中において、ＥＣＵ２００は、フロント空燃比センサ３７の出力信号から実空燃比を逐次算出している。
【０１０１】
図１３に示すフローチャートのステップＳＴ５０１〜ステップＳＴ５０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図１４に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【０１０２】
この例では、回転変動が最大の特定気筒（図１４の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ５０３）、フロント空燃比センサ３７の出力信号から得られる実空燃比（Ａ／Ｆ）が、図１４に示す下限判定値α１から上限判定値α２までの範囲内である（α１＜Ａ／Ｆ＜α２）か、否かを判定する（ステップＳＴ５０４）。これら下限判定値α１及び上限判定値αは、三元触媒８の浄化能力が最適となる実空燃比（Ａ／Ｆ）の範囲を示す値であって、例えば理論空燃比が１４．６である場合、下限判定値α１は１４．４であり、上限判定値α２は１４．８である。
【０１０３】
そして、フロント空燃比センサ３７の出力信号から得られる実空燃比（Ａ／Ｆ）が、下限判定値α１以下（Ａ／Ｆ≦α１）または上限判定値α２以上（α２≦Ａ／Ｆ）である場合（ステップＳＴ５０４の判定結果が否定判定である場合）は上記燃料噴射量の増量補正を継続する。
【０１０４】
一方、実空燃比（Ａ／Ｆ）が、下限判定値α１〜上限判定値α２の範囲内に入った場合（α１＜Ａ／Ｆ＜α２：ステップＳＴ５０４の判定結果が肯定判定）に、燃料噴射量の増量補正の終了タイミングｔｅであると判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図１４に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ５０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングｔｅ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【０１０５】
以上のように、この例の制御によれば、フロント空燃比センサ３７の出力信号から得られる実空燃比（Ａ／Ｆ）が理論空燃比に制御される状態となったときに、三元触媒８の浄化能力が最適となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）であると判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【０１０６】
ここで、燃料噴射量の増量補正を終了する際に増量値を徐々に減少させる場合、図１４に示すように、増量値の減少率（勾配）を一定にする徐変処理のほか、例えば図１５に示すように、燃料噴射量の増量補正の終了タイミングｔｅからの経過時間ｔｎに応じて、その経過時間ｔｎが長くなるほど増量値の減少率を小さくしていく、という徐変処理を行ってもよい。また、例えば図１６に示すように、燃料噴射量の増量補正の終了タイミングｔｅでのエンジン冷却水の水温に応じて、水温が低い場合（水温低時）は、水温が高い場合（水温高時）と比較して、増量値の減少率（勾配）を小さく設定するようにしてもよい。なお、これら図１５及び図１６の補正終了時制御は、上述した［補正制御例１］〜［補正制御例４］及び後述する［補正制御例６］〜［補正制御例８］に適用してもよい。
【０１０７】
［補正制御例６］
まず、車両等に搭載されるエンジンでは、エンジン始動時（冷間始動時等）において、点火プラグによる点火時期を通常時よりも遅角（暖機遅角）し、燃焼室から排出される排気ガスの温度を上昇させることによって触媒（三元触媒）の暖機を促進する制御が実施される場合がある。このような触媒暖機制御において触媒暖機が十分となったときには、点火時期の遅角量（暖機遅角量）を減少させる側つまり点火時期を進角側に制御している。このような制御に着目し、この例では、上記触媒暖機制御時における点火時期に基づいて燃料噴射量の増量補正の終了タイミングを判定する点に特徴がある。
【０１０８】
その具体的な制御の例について図１７のフローチャート及び図１８のタイミングチャートを参照して説明する。図１７の制御ルーチンはＥＣＵ２００において実行される。
【０１０９】
図１７に示すフローチャートのステップＳＴ６０１〜ステップＳＴ６０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図１８に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【０１１０】
この例では、回転変動が最大の特定気筒（図１８の例では、第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ６０３）、点火時期が、図１８に示す終了判定値Ｔｈｆ（燃料噴射量の増量補正を終了するタイミングを判定する値）よりも進角側であるか否かを判定する（ステップＳＴ６０４）。その点火時期が終了判定値Ｔｈｆの遅角側（Ｔｈｆも含む）である場合（ステップＳＴ６０４の判定結果が否定判定である場合）は上記燃料噴射量の増量補正を継続する。
【０１１１】
そして、点火時期が終了判定値Ｔｈｆよりも進角側となった時点ｔｆ（ステップＳＴ６０４の判定結果が肯定判定となった時点）で、三元触媒８が十分に暖機したと判断して上記燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図１８に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ６０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、点火時期が終了判定値Ｔｈｆよりも進角側となった時点ｔｆ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【０１１２】
以上のように、この例の制御によれば、触媒暖機制御実行時の暖機遅角が通常時の点火時期に戻されたときに、三元触媒８の暖機が十分となり排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）になったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【０１１３】
なお、この例のステップＳＴ６０４の判定処理に用いる終了判定値Ｔｈｆは、通常時の点火時期（点火時期遅角による触媒暖機が完了したときの点火時期）を考慮して、実験・計算等によって適合した値である。この終了判定値Ｔｈｆは、上記した［補正制御例１］と同様に、固定値（一定値）であってもよいし、燃料噴射量の増量値（増量補正量）が大きいほど進角側の値となるように（増量補正終了までの期間が長くなるように）可変に設定するようにしてもよい。また、吸気温・外気温や運転負荷に応じて終了判定値Ｔｈｂを可変に設定するようにしてもよい。
【０１１４】
［補正制御例７］
まず、三元触媒８は、触媒雰囲気の酸素濃度が理論空燃比での混合気の燃焼時の値になるとき、排気ガス中の有害成分（ＨＣ，ＣＯ，ＮＯｘ）のすべてを最も効果的に除去できる。このような点を考慮して、エンジン始動後でフロント空燃比センサ３７及びリアＯ2センサ３８が活性化した時点で空燃比フィードバック制御を開始している。こうした空燃比フィードバック制御（空燃比（Ｆ／Ｂ）制御）を行うことにより、三元触媒８の浄化能力を最適にすることができる。
【０１１５】
こうような点に着目して、この例では、空燃比フィードバック制御（空燃比（Ｆ／Ｂ）制御）を開始した時点を、燃料噴射量の増量補正の終了タイミングと判定する点に特徴がある。その具体的な例について図１９のフローチャート及び図２０のタイミングチャートを参照して説明する。図１９の制御ルーチンはＥＣＵ２００において実行される。
【０１１６】
図１９に示すフローチャートのステップＳＴ７０１〜ステップＳＴ７０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図２０に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【０１１７】
この例では、回転変動が最大の特定気筒（図２０の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ７０３）、空燃比（Ｆ／Ｂ）制御フラグがＯＮであるか否かを判定し（ステップＳＴ７０４）、その判定結果が否定判定である場合は上記燃料噴射量の増量補正を継続する。
【０１１８】
そして、空燃比（Ｆ／Ｂ制御）フラグが「ＯＮ（開始）」になったときに、料噴射量の増量補正の終了タイミングｔｇであると判定して燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図２０に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ７０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングｔｇ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【０１１９】
以上のように、この例の制御によれば、空燃比（Ｆ／Ｂ）制御を開始したときに、三元触媒８が十分に暖機され（触媒浄化能力が最適となり）、回転変動（燃焼不安定）がある程度生じても排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）となった判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【０１２０】
［補正制御例８］
車両等に搭載されるエンジンでは、冷間時などにおいて触媒の温度を早期に上昇させて触媒を活性させるために、２次空気供給（ＡＩ：Ａｉｒ  Ｉｎｊｅｃｔｉｏｎ）制御を実施して触媒の上流側に２次空気を供給し、酸素濃度を高めて排気ガス中のＨＣ、ＣＯを２次燃焼させ、さらに、２次燃焼の熱により触媒の暖機を促進する制御が実施される場合がある（例えば、特開２００１−２６３０５０号公報参照）。このようなＡＩ制御が終了したときには三元触媒８の暖機が十分となる。こうした点に着目して、この例では、ＡＩ制御を実行する機能を備えている場合、そのＡＩ制御が終了した時点を燃料噴射量の増量補正の終了タイミングと判定する点に特徴がある。その具体的な例について図２１のフローチャート及び図２２のタイミングチャートを参照して説明する。図２１の制御ルーチンはＥＣＵ２００において実行される。
【０１２１】
図２１に示すフローチャートのステップＳＴ８０１〜ステップＳＴ８０３の各処理は、上記した図４のフローチャートのステップＳＴ１０１〜ステップＳＴ１０３の各処理と同じであるので、その詳細な説明は省略する。なお、この例においても、上記した［補正制御例１］と同様に、ＥＣＵ２００は、エンジン１が回転を開始した時点から、各気筒（第１気筒＃１，第２気筒＃２，第３気筒＃３，第４気筒＃４）の回転変動量の時間変化（例えば図２２に示す＃１ΔＮＥ１，＃２ΔＮＥ２，＃３ΔＮＥ３，＃４ΔＮＥ）を認識している。
【０１２２】
この例では、回転変動が最大の特定気筒（図２２の例では第１気筒＃１）の燃料噴射量の増量補正を実施しているときに（ステップＳＴ８０３）、ＡＩ制御フラグが「ＯＮ」であるか否かを判定し（ステップＳＴ８０４）、その判定結果が否定判定である場合は上記燃料噴射量の増量補正を継続する。
【０１２３】
そして、ステップＳＴ８０４の判定結果が肯定判定となったときに（ＡＩ制御フラグが「ＯＦＦ」になったときに）、燃料噴射量の増量補正の終了タイミングｔｈであると判定して燃料噴射量の増量補正を終了する。このとき、燃料噴射量の増量値を一気に「０」にするのではなく、図２２に示すように、徐変処理にて増量値を徐々に減少させていくことにより（ステップＳＴ８０５）、増量補正終了時において燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じることを抑制する。なお、そのような徐変処理は、必ずしも実行する必要はなく、燃料噴射量の増量補正の終了タイミングｔｈ（増量補正の終了タイミングを判定した時点）で燃料噴射量の増量補正を速やかに終了（増量値＝０に設定）するようにしてもよい。
【０１２４】
以上のように、この例の制御によれば、ＡＩ制御が停止したときに、三元触媒８が十分に暖機され、回転変動（燃焼不安定）がある程度生じても排気エミッション悪化が問題にならない状態（燃料増量を必要としない状態）となったと判断して燃料噴射量の増量補正を終了している。したがって、この例の場合も、増量補正が必要以上に継続されることがなくなり、無駄な燃料増量による排気エミッション悪化を抑制することができる。
【０１２５】
［他の補正制御例］
以上の補正制御例では、エンジン始動後に回転変動量ΔＮＥが最大となる気筒が第１気筒＃１である場合について説明したが、これに限られることなく、エンジン始動後に回転変動量ΔＮＥが最大となる気筒が、第２気筒＃２、第３気筒＃３、または、第４気筒＃４の場合であってもよく、その回転変動が最大となる気筒（第２気筒＃２、第３気筒＃３、第４気筒＃４）について燃料噴射量の増量補正を行うようにすればよい。
【０１２６】
以上の補正制御例では、エンジン始動後に回転変動量ΔＮＥが回転変動判定値Ｔｈｎｅを超える気筒が１つである場合の例について説明したが、これに限られることなく、複数の気筒の回転変動量ΔＮＥが上記回転変動判定値Ｔｈｎｅを超える場合は、それらの各気筒について燃料噴射量の増量補正を行うようにする。例えば、図２３に示すように、回転変動量ΔＮＥが回転変動判定値Ｔｈｎｅを超える気筒が第１気筒＃１及び第２気筒＃２である場合、その各気筒について燃料噴射量の増量補正を実施する。ただし、これら２つの気筒の燃料噴射量の増量補正の終了を同じタイミングで行うと、エンジン１の燃焼状態（出力トルク・Ａ／Ｆ）に段差が生じる場合があるので、これを抑制するために、例えば図２３に示すように、第１気筒＃１の補正終了タイミングｔｊ１に対して、第２気筒＃２の補正終了タイミングｔｊ２を所定時間だけ遅延させる。
【０１２７】
なお、回転変動量ΔＮＥが回転変動判定値Ｔｈｎｅを超える気筒が複数ある場合、その気筒数に応じて、気筒数が多いほど上記終了判定値（Ｔｈａ〜Ｔｈｅ）を高い側に可変に設定するようにしてもよい。
【０１２８】
以上の補正制御例では、エンジンの１サイクル毎（７２０°ＣＡ毎）に、回転変動量ΔＮＥ１，回転変動量ΔＮＥ３，回転変動量ΔＮＥ４，回転変動量ΔＮＥ２を繰り返して演算しているが、これに限られることなく、複数回のサイクル毎に、回転変動量ΔＮＥ１，回転変動量ΔＮＥ３，回転変動量ΔＮＥ４，回転変動量ΔＮＥ２を繰り返して演算するようにしてもよい。また、このような回転変動量の演算は、燃料噴射量の増量補正が終了した時点で停止するようにしてもよい。
【０１２９】
−他の実施形態−
以上の例では、各気筒の爆発行程中において、クランクシャフトが一定クランク角度を回転するのに要する時間からエンジンの回転変動を認識しているが、他のパラメータに基づいてエンジンの回転変動を認識するようにしてもよい。
【０１３０】
以上の例では、各気筒毎の燃焼状態をエンジンの回転変動に基づいて認識しているが、他のパラメータに基づいて各気筒毎の燃焼状態を認識するようにしてもよい。例えば、各気筒に配設された点火プラグの放電電極に対して電圧を印加した際に生じる電流（イオン電流）をイオン電流センサで検出し、そのイオン電流検出値に基づいて各気筒の燃焼状態を認識してもよいし、あるいは、筒内圧を検出する筒内圧センサを用いて各気筒の筒内圧力を検出し、その筒内圧力検出値に基づいて各気筒の燃焼状態を認識するようにしてもよい。
【０１３１】
以上の例では、４気筒ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、例えば６気筒や８気筒などの他の任意の気筒数の多気筒内燃機関の制御にも適用可能である。
【０１３２】
以上の例では、ポート噴射型ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、筒内直噴型ガソリンエンジンの制御にも適用可能である。また、直列多気筒ガソリンエンジンのほか、Ｖ型多気筒ガソリンエンジンの制御にも本発明を適用することができる。
【０１３３】
さらに、ガソリンエンジンに限られることなく、例えばガソリンとアルコールとを任意の割合で混合したアルコール含有燃料が使用可能なフレックス燃料内燃機関の制御にも本発明を適用することができる。
【産業上の利用可能性】
【０１３４】
本発明は、複数の気筒を有する多気筒内燃機関の制御に利用可能であり、さらに詳しくは、気筒間の燃焼状態のばらつきを改善するように機関制御値を補正する制御を行う多気筒内燃機関の制御装置に利用することができる。
【符号の説明】
【０１３５】
１  エンジン
＃１〜＃４  気筒
１ｄ  燃焼室
２  インジェクタ（燃料噴射弁）
３  点火プラグ
３１  クランクポジションセンサ
３２  水温センサ
３３  エアフロメータ
３４  吸気温センサ
３７  フロント空燃比センサ
３８  リアＯ2センサ
３９  カムポジションセンサ
２００  ＥＣＵ
【図１】
0005482515.tif 000002
【図２】
0005482515.tif 000003
【図３】
0005482515.tif 000004
【図４】
0005482515.tif 000005
【図５】
0005482515.tif 000006
【図６】
0005482515.tif 000007
【図７】
0005482515.tif 000008
【図８】
0005482515.tif 000009
【図９】
0005482515.tif 000010
【図１０】
0005482515.tif 000011
【図１１】
0005482515.tif 000012
【図１２】
0005482515.tif 000013
【図１３】
0005482515.tif 000014
【図１４】
0005482515.tif 000015
【図１５】
0005482515.tif 000016
【図１６】
0005482515.tif 000017
【図１７】
0005482515.tif 000018
【図１８】
0005482515.tif 000019
【図１９】
0005482515.tif 000020
【図２０】
0005482515.tif 000021
【図２１】
0005482515.tif 000022
【図２２】
0005482515.tif 000023
【図２３】
0005482515.tif 000024