(57)【要約】【課題】多気筒内燃機関において、排気エミッションの悪化を抑制することができる気筒間空燃比ばらつき異常検出装置を提供する。【解決手段】空燃比検出手段の出力に基づいて空燃比を所定の目標空燃比に制御する空燃比フィードバック制御手段と、このフィードバック制御の実行中に学習制御する学習制御手段と、所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、所定の対象気筒に対して燃料噴射量変更制御が実行されたときの変更前後の所定の対象気筒の回転変動に基づき気筒間空燃比ばらつき異常を検出する検出手段と、を備える。燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときは、学習制御手段による学習制御を停止し、また、燃料噴射量変更制御における所定の対象気筒の燃料噴射量の変更量に対応した分、空燃比フィードバック制御における目標空燃比が所定の目標空燃比から変更される。【選択図】図１
2013007278.tif 000002
【特許請求の範囲】
【請求項１】
排気通路に設けられた空燃比検出手段の出力に基づいて空燃比を所定の目標空燃比に制御する空燃比フィードバック制御手段と、
この空燃比フィードバック制御の実行中に学習制御する学習制御手段と、
１つ以上の気筒を含む所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、
前記所定の対象気筒に対して前記燃料噴射量変更制御が実行されたとき、少なくとも当該変更後の前記所定の対象気筒の回転変動に基づき気筒間空燃比ばらつき異常を検出する検出手段と、
を備える多気筒内燃機関において、
空燃比フィードバック制御中に前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるとき、前記学習制御手段による学習制御を停止することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときに、該燃料噴射量変更制御における該所定の対象気筒の燃料噴射量の変更量に対応した分、前記空燃比フィードバック制御における目標空燃比を前記所定の目標空燃比から変更後目標空燃比に変更する目標空燃比変更手段をさらに含むことを特徴とする請求項１記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比のばらつき異常を検出するための装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に追従させるようにフィードバック制御を実施している。そして、このフィードバック制御の精度を向上させるべく、空燃比学習制御が実施されている。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対して同一の制御量を用いて空燃比フィードバック制御を行うため、空燃比フィードバック制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションに影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系や吸気バルブの動弁機構が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは、異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態で検出することが要請されており（所謂ＯＢＤ；On-Board Diagnostics）、最近ではこれを法規制化する動きもある。
【０００５】
例えば、特許文献１に開示された内燃機関では、まず、空燃比フィードバック制御の演算値に基づいて内燃機関の気筒間の空燃比がインバランス状態になっていることが判断される。該内燃機関では、排気通路の浄化触媒の上流側に設けられたＡ／Ｆセンサの検出結果に基づいて、メイン空燃比フィードバック制御が実行され、その浄化触媒の下流側に設けられたＯ2センサの検出結果に基づいて、サブ空燃比フィードバック制御が実行されている。このサブ空燃比フィードバック制御の演算値の平均値が通常値を超えるときに、気筒間の空燃比がインバランス状態になっていると判断される。さらに、特許文献１の内燃機関では、そのようにして気筒間に空燃比異常があると判断されたときに、各気筒への燃料噴射時間を所定時間ずつ短縮させる処理が実行され、それにより失火が生じた気筒において空燃比インバランスが生じていると特定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１１２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、いずれかの気筒に空燃比異常が生じている場合、当該気筒への燃料噴射量を強制的に増量又は減量して変更制御すると、当該気筒の回転変動が顕著に大きくなる。よって、このような回転変動の増大を検出することで、気筒間空燃比ばらつき異常、つまり気筒間の空燃比がインバランス状態になっていることを検出することが可能である。一方、そのような燃料噴射量変更制御を実行しているときに、空燃比を理論空燃比などの所定の目標空燃比に追従させる空燃比フィードバック制御や空燃比学習制御が実行されると、これらの空燃比フィードバック制御や空燃比学習制御の実行により、燃料噴射量変更制御により変更された通常とは異なる燃料噴射量の値が学習されることになる。この結果、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、この通常とは異なる学習値が空燃比フィードバック制御に反映され、排気エミッションの悪化が生じる虞がある。
【０００８】
そこで本発明は、以上の事情に鑑みて創案され、その目的は、多気筒内燃機関において、排気エミッションの悪化を抑制することができる気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するための本発明の一形態に係る気筒間空燃比ばらつき異常検出装置は、排気通路に設けられた空燃比検出手段の出力に基づいて空燃比を所定の目標空燃比に制御する空燃比フィードバック制御手段と、このフィードバック制御の実行中に学習制御する学習制御手段と、１つ以上の気筒を含む所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、前記所定の対象気筒に対して前記燃料噴射量変更制御が実行されたとき、少なくとも当該変更後の前記所定の対象気筒の回転変動に基づき気筒間空燃比ばらつき異常を検出する検出手段と、を備える多気筒内燃機関において、空燃比フィードバック制御中に前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるとき、前記学習制御手段による学習制御を停止することを特徴とする。
【００１０】
この形態によれば、空燃比フィードバック制御中に燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときは、学習制御手段による学習制御が停止されるので、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、通常と異なる学習値が空燃比フィードバック制御に反映されない。したがって、排気エミッションの悪化が生じるのが抑制される。
【００１１】
ここで、上記形態は、前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときに、該燃料噴射量変更制御における該所定の対象気筒の燃料噴射量の変更量に対応した分、前記空燃比フィードバック制御における目標空燃比を前記所定の目標空燃比から変更後目標空燃比に変更する目標空燃比変更手段をさらに含むことが好ましい。
【００１２】
この形態によれば、燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときには、目標空燃比変更手段によって、空燃比フィードバック制御における目標空燃比が、所定の対象気筒の燃料噴射量の変更量に対応した分だけ所定の目標空燃比から変更後の目標空燃比に変更される。したがって、外乱による空燃比変動などが生じるのが防止されるので、結果として気筒間空燃比ばらつき異常の誤検出を防止し、ドライバビリティの悪化を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】空燃比フィードバック制御のメインルーチンを示すフローチャートである。
【図４】主空燃比補正量の算出マップである。
【図５】補助空燃比補正量の設定のためのサブルーチンを示すフローチャートである。
【図６】触媒後センサ出力差とその積算の様子を示すフローチャートである。
【図７】補助空燃比補正量の算出マップである。
【図８】回転変動を表す値を説明するためのタイムチャートである。
【図９】回転変動を表す別の値を説明するためのタイムチャートである。
【図１０】一の対象気筒のインバランス率と回転変動量との関係を概念的に表したグラフである。
【図１１】図５の特性線の一部を拡大したグラフであり、燃料噴射量の増量と、増量前後の回転変動量の変化との関係を説明するためのグラフである。
【図１２】目標空燃比と各気筒への燃料噴射量とそのときの触媒前センサ及び触媒後センサの出力する電圧信号との関係を説明する図であり、（Ａ）行は全気筒の燃料噴射量がストイキ相当量Ｑｓｔの場合、（Ｂ）行は＃１気筒のみ燃料噴射量がストイキ相当量Ｑｓｔより４０％分多くされた場合、（Ｃ）行は燃料噴射量が（Ｂ）から一律に１０％ずつ減量補正すべくフィードバック制御された場合、及び（Ｄ）行は、燃料噴射量は（Ｂ）行と同じであるが、目標空燃比が変更される場合を示し、そして（イ）列は各気筒への燃料噴射量、（ロ）列は目標空燃比と触媒前センサの出力する電圧信号、（ハ）列は同じく目標空燃比と触媒後センサの出力する電圧信号とを示している。
【図１３】本発明の実施形態の制御ルーチンの一例を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を添付図面に基づき説明する。
【００１５】
図１は、本発明の一実施形態に係る内燃機関（エンジン）１０の概略図である。図示されるように、エンジン１０は、シリンダブロック１２を含むエンジン１０内に形成された燃焼室１４で燃料および空気の混合気を燃焼させ、燃焼室１４内でピストンを往復移動させることにより動力を発生する。このエンジン１０は、１サイクル４ストロークエンジンである。エンジン１０は自動車用の多気筒内燃機関であり、より具体的には直列４気筒の火花点火式内燃機関すなわちガソリンエンジンである。ここではエンジン１０は車両に搭載されている。ただし本発明が適用可能な内燃機関はこのようなものに限られず、２気筒以上を有する多気筒内燃機関であれば気筒数、形式等は特に限定されない。
【００１６】
図示しないが、エンジン１０のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されている。各吸気弁および各排気弁はカムシャフトによって開閉される。シリンダヘッドの頂部には、燃焼室１４内の混合気または燃料に点火するための点火プラグ１６が気筒ごとに取り付けられている。
【００１７】
各気筒の吸気ポートは気筒毎の枝管１８を介して吸気集合室であるサージタンク２０に接続されている。サージタンク２０の上流側には吸気管２２が接続されており、吸気管２２の上流端にはエアクリーナ２４が設けられている。そして吸気管２２には、上流側から順に、吸入空気量を検出するためのエアフローメータ２６と、電子制御式のスロットルバルブ２８とが組み込まれている。吸気ポート、枝管１８、サージタンク２０および吸気管２２により吸気通路３０が実質的に形成される。
【００１８】
吸気通路、特に吸気ポート内に燃料を噴射する燃料噴射弁（インジェクタ）３２が気筒ごとに配設されている。インジェクタ３２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室１４に吸入され、ピストンで圧縮され、点火プラグ１６で点火燃焼させられる。
【００１９】
一方、各気筒の排気ポートは排気マニホールド３４に接続される。排気マニホールド３４は、その上流部をなす気筒毎の枝管３４ａと、その下流部をなす排気集合部３４ｂとからなる。排気集合部３４ｂの下流側には排気管３６が接続されている。排気ポート、排気マニホールド３４および排気管３６により排気通路３８が実質的に形成される。排気管３６には三元触媒を含む触媒コンバータ４０が取り付けられている。この触媒コンバータ４０が排気浄化装置をなしている。なお、触媒コンバータ４０は、流入する排気の空燃比（排気空燃比）Ａ／Ｆが理論空燃比（ストイキ、例えばＡ／Ｆ＝１４．６）近傍のときに排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化するように機能する。
【００２０】
触媒コンバータ４０の上流側および下流側にそれぞれ排気空燃比を検出するための第１および第２空燃比センサ、換言すると、触媒前センサ４２および触媒後センサ４４が設置されている。これら触媒前センサ４２および触媒後センサ４４は、触媒コンバータ４０の直前および直後の位置の排気通路に設置され、排気中の酸素濃度に基づく信号を出力する。
【００２１】
上述の点火プラグ１６、スロットルバルブ２８およびインジェクタ３２等は、電子制御ユニット（ＥＣＵ）５０に電気的に接続されている。ＥＣＵ５０は、エンジン１０における各種制御手段（制御装置）および各種検出手段（検出部）としての各機能を実質的に担うように構成されている。ＥＣＵ５０は、何れも図示されないＣＰＵ、ＲＯＭおよびＲＡＭを含む記憶装置、並びに入出力ポート等を含むものである。またＥＣＵ５０には、図示されるように、前述のエアフローメータ２６、触媒前センサ４２、触媒後センサ４４のほか、内燃機関１０のクランク角を検出するためのクランク角センサ５２、アクセル開度を検出するためのアクセル開度センサ５４、エンジン冷却水温を検出するための水温センサ５６、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ５０は、各種センサによる出力および／または検出値等に基づいて、所望の出力が得られるように、点火プラグ１６、スロットルバルブ２８、インジェクタ３２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。またスロットルバルブ２８にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの出力信号がＥＣＵ５０に送られる。ＥＣＵ５０は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ２８の開度（スロットル開度）をフィードバック制御する。
【００２２】
ＥＣＵ５０は、クランク角センサ５２からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１０の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では回転数とは１分間当たりの回転数ｒｐｍのことをいう。
【００２３】
そして、ＥＣＵ５０は、通常、吸入空気量およびエンジン回転速度つまりエンジン運転状態に基づいて、予め記憶装置に記憶するデータ等を用いて、燃料噴射量（または燃料噴射時間）を設定する。そして、その燃料噴射量に基づいて、インジェクタ３２からの燃料の噴射が制御される。なお、このような通常時の燃料噴射制御による燃料噴射量をここでは基準噴射量と称する。
【００２４】
ところで、空燃比センサである触媒前センサ４２は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ４２の出力特性を示す。図示するように、触媒前センサ４２は、触媒前の排気空燃比（Ａ／Ｆｆ）に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．６）であるときの出力電圧は、Ｖｒｅｆｆ（例えば約３．３Ｖ）である。
【００２５】
他方、空燃比センサである触媒後センサ４４は、所謂Ｏ2センサからなり、ストイキを境に出力値が急変する特性を持つ。図２に示すように、触媒後の排気空燃比（Ａ／Ｆｒ）がストイキであるときの出力電圧、すなわちストイキ相当値は、Ｖｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ４４の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。概して排気空燃比がストイキよりリーンのとき、触媒後センサ４４の出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサ４４の出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒより高くなる。
【００２６】
触媒コンバータ４０は三元触媒を備え、上記したように、そこに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化する機能を有する。しかし、この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００２７】
そこで、エンジン１０の通常運転時、触媒コンバータ４０に流入する排気の空燃比をストイキ近傍に制御するための空燃比制御（ストイキ制御）がＥＣＵ５０により実行される。この空燃比制御は、触媒前センサ４２によって検出された排気空燃比が所定の目標空燃比に一致するように混合気の空燃比（具体的には燃料噴射量）をフィードバック制御する主空燃比制御（主空燃比フィードバック制御）と、触媒後センサ４４によって検出された排気空燃比がその所定の目標空燃比に一致するように混合気の空燃比（具体的には燃料噴射量）をフィードバック制御する補助空燃比制御（補助空燃比フィードバック制御）とからなる。
【００２８】
ここでストイキ制御について説明する。図３にはストイキ制御のメインルーチンを示す。このメインルーチンはＥＣＵ５０により１エンジンサイクル（＝７２０°ＣＡ）毎に繰り返し実行される。
【００２９】
まずステップＳ３０１では、筒内混合気の空燃比をストイキとするような基本の燃料噴射量即ち基本噴射量Ｑｂが算出される。基本噴射量Ｑｂは例えば、エアフローメータにより検出された吸入空気量Ｇａに基づき、式：Ｑｂ＝Ｇａ／１４．６により算出される。
【００３０】
ステップＳ３０２では、触媒前センサ４２の出力Ｖｆが取得される。ステップＳ３０３では、このセンサ出力Ｖｆとストイキ相当センサ出力Ｖｒｅｆｆ（図２参照）との差、即ち触媒前センサ出力差ΔＶｆ＝Ｖｆ−Ｖｒｅｆｆが算出される。
【００３１】
ステップＳ３０４では、この触媒前センサ出力差ΔＶｆに基づき、図４に示したようなマップ（関数でもよい、以下同様）から主空燃比補正量（補正係数）Ｋｆが算出される。触媒前センサ出力差ΔＶｆ及び主空燃比補正量Ｋｆは、主空燃比フィードバック制御のための制御量をなす。例えばゲインをＰｆとするとＫｆ＝Ｐｆ×ΔＶｆで表される。
【００３２】
そしてステップＳ３０５では、図５に示すサブルーチンで設定された補助空燃比補正量Ｋｒの値が取得される。最後に、ステップＳ３０６にて、インジェクタ２から噴射すべき最終的な燃料噴射量即ち最終噴射量Ｑｆｎｌが式：Ｑｆｎｌ＝Ｋｆ×Ｑｂ＋Ｋｒにより算出される。
【００３３】
図４のマップによれば、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより大きい（ΔＶｆ＞０）ほど、即ち実際の触媒前空燃比がストイキからリーン側に離れるほど、１に対しより大きな補正量Ｋｆが得られ、基本噴射量Ｑｂは増量補正される。反対に、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより小さい（ΔＶｆ＜０）ほど、即ち実際の触媒前空燃比がストイキからリッチ側に離れるほど、１に対しより小さな補正量Ｋｆが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒前センサ４２によって検出された空燃比をストイキに一致させるような主空燃比フィードバック制御が実行される。
【００３４】
ここで、ステップＳ３０６で得られた最終噴射量Ｑｆｎｌの値は、制御対象となる全気筒に対し一律に用いられる。即ち、１エンジンサイクルの間、最終噴射量Ｑｆｎｌに等しい量の燃料が各気筒のインジェクタ２から順次噴射され、次のエンジンサイクルでは新たに計算された最終噴射量Ｑｆｎｌの燃料が各気筒のインジェクタ２から順次噴射される。
【００３５】
なお、周知のように、最終噴射量Ｑｆｎｌの算出に当たっては他の補正（水温補正、バッテリ電圧補正等）を追加することも可能である。
【００３６】
図５には、補助空燃比補正量の設定（学習制御）のためのサブルーチンを示す。このサブルーチンはＥＣＵ５０により所定の演算周期で繰り返し実行される。
【００３７】
まずステップＳ５０１では、ＥＣＵ５０に装備されたタイマのカウントが実行され、ステップＳ５０２では、触媒後センサ４４の出力Ｖｒが取得される。ステップＳ５０３では、このセンサ出力Ｖｒとストイキ相当センサ出力Ｖｒｅｆｒ（図２参照）との差、即ち触媒後センサ出力差ΔＶｒ＝Ｖｒｅｆｒ−Ｖｒが算出されると共に、この触媒後センサ出力差ΔＶｒが前回積算値に積算される。図６には、この触媒後センサ出力差ΔＶｒとその積算の様子を示す。
【００３８】
そして、ステップＳ５０４では、タイマ値が所定値ｔｓを超えたか否かが判断される。所定値ｔｓを超えていなければルーチンが一旦終了される。
【００３９】
ステップＳ５０４の判定で、タイマ値が所定値ｔｓを超えている場合には、ステップＳ５０５に進み、この時点での触媒後センサ出力差積算値ΣΔＶｒが、触媒後センサ学習値ΔＶｒｇとして更新記憶すなわち学習される。そしてステップＳ５０６で、この触媒後センサ学習値ΔＶｒｇに基づき、図７に示したようなマップから、補助空燃比補正量Ｋｒが算出され、この補助空燃比補正量Ｋｒが更新記憶すなわち学習される。触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒは、補助空燃比フィードバック制御のための制御量をなす。例えばゲインをＰｒとするとＫｒ＝Ｐｒ×ΔＶｒｇで表される。最後に、ステップＳ５０７にて、触媒後センサ出力差積算値ΣΔＶｒ及びタイマがリセットされる。
【００４０】
触媒後センサ出力差ΔＶｒを所定時間ｔｓの間積算する理由は、触媒後センサ出力Ｖｒのストイキ相当センサ出力Ｖｒｅｆｒに対する時間平均的なズレ量を検知するためである。積算時間を規定する所定値ｔｓは１エンジンサイクルより遙かに長い時間であり、よって触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒの更新、すなわち、学習は１エンジンサイクルより長い周期で行われる。
【００４１】
図７のマップによれば、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより小さい（ΔＶｒｇ＞０）ほど、即ち実際の触媒後空燃比がストイキからリーン側に離れるほど、０に対しより大きな補正量Ｋｒが得られ、最終噴射量算出の際に基本噴射量Ｑｂは増量補正される。反対に、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより大きい（ΔＶｒｇ＜０）ほど、即ち実際の触媒後空燃比がストイキからリッチ側に離れるほど、０に対しより小さな補正量Ｋｒが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒後センサ４４によって検出された触媒後空燃比をストイキに一致させるような補助空燃比フィードバック制御が実行される。
【００４２】
エンジン及び車両の個体バラツキや触媒前センサ４２の劣化等の理由で、主空燃比フィードバック制御を実行してもその結果がストイキからズレることがあるので、このズレを補正する目的で、かかる補助空燃比フィードバック制御が実行される。
【００４３】
なお、この例では新たな学習値ΔＶｒｇ及び補正量Ｋｒが算出される度にこれらの値自身で更新を行うようにしたが、なまし等の平均化処理を行って更新速度を遅らせるようにしてもよい。
【００４４】
さて、例えば全気筒のうちの一部の気筒（特に１気筒）において、インジェクタ３２の故障等が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生することがある。例えばインジェクタ３２の閉弁不良により＃１気筒の燃料噴射量が他の＃２，＃３，＃４気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が他の＃２，＃３，＃４気筒の空燃比よりも大きくリッチ側にずれる場合である。
【００４５】
このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ４２に供給されるトータルガス（合流後の排気ガス）の空燃比をストイキに制御できる場合がある。しかしこれは、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２，＃３，＃４気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、排気エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４６】
ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の全気筒のうちのある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量すなわち基準噴射量からズレているかを示す値である。インバランス率をＩＢ（％）、インバランス気筒の燃料噴射量をＱｉｂ、バランス気筒の燃料噴射量すなわち基準噴射量をＱｓとすると、ＩＢ＝（Ｑｉｂ−Ｑｓ）／Ｑｓ×１００で表される。インバランス率ＩＢが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００４７】
本実施形態においては、所定の対象気筒の燃料噴射量をアクティブに、すなわち、強制的に増量または減量し、少なくとも燃料噴射量の増量または減量後の対象気筒の出力変動としての回転変動に基づき、ばらつき異常を検出する。
【００４８】
ここで、この回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいう。図８には回転変動を説明するための一例としてのタイムチャートを示す。図示例は直列４気筒エンジンの例であり、その点火順序は＃１，＃３，＃４，＃２気筒の順である。図８において、（Ａ）はエンジンのクランク角（°ＣＡ）を示す。１エンジンサイクルは７２０（°ＣＡ）であり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。図８（Ｂ）は、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Ｔ（ｓ）を示す。ここでは所定角度が３０（°ＣＡ）であるが、他の値（例えば１０（°ＣＡ））としてもよい。回転時間Ｔが長いほど（図中上側に至るほど）エンジン回転速度は遅く、逆に回転時間Ｔが短いほどエンジン回転速度は速い。この回転時間Ｔはクランク角センサ５２の出力に基づきＥＣＵ５０により検出される。図８（Ｃ）は、後に説明する回転時間差ΔＴを示す。図中、「正常」とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、「リーンずれ異常」とは、＃１気筒のみに例えばインバランス率ＩＢ＝−３０％のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。
【００４９】
まず、各気筒の同一タイミングにおける回転時間ＴがＥＣＵにより検出される。ここでは各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける回転時間Ｔが検出される。この回転時間Ｔが検出されるタイミングを検出タイミングという。
【００５０】
次いで、検出タイミング毎に、当該検出タイミングにおける回転時間Ｔ２と、直前の検出タイミングにおける回転時間Ｔ１との差（Ｔ２−Ｔ１）がＥＣＵにより算出される。この差が図８（Ｃ）に示す回転時間差ΔＴであり、ΔＴ＝Ｔ２−Ｔ１である。
【００５１】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため回転時間Ｔが低下し、その後の圧縮行程では回転速度が低下するため回転時間Ｔが増大する。
【００５２】
しかしながら、図８（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルク（出力）が得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける回転時間Ｔは大きくなっている。それ故、＃３気筒ＴＤＣにおける回転時間差ΔＴは、図８（Ｃ）に示すように大きな正の値となる。この＃３気筒ＴＤＣにおける回転時間および回転時間差をそれぞれ＃１気筒の回転時間および回転時間差とし、それぞれＴ1およびΔＴ1で表す。他の気筒についても同様である。
【００５３】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ回転時間Ｔが若干低下しているに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の回転時間差ΔＴ3は、図８（Ｃ）に示すように小さな負の値となる。このようにある気筒の回転時間差ΔＴが、点火気筒ＴＤＣ毎に検出される。
【００５４】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の回転時間差ΔＴ4および＃２気筒の回転時間差ΔＴ2はともに小さな負の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００５５】
このように、各気筒の回転時間差ΔＴは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔＴを各気筒の回転変動の指標値つまり回転変動量として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔＴは大きくなる。他方、図８（Ｃ）に示すように、正常の場合には回転時間差ΔＴが常時ゼロ付近である。
【００５６】
図８の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち１気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。
【００５７】
次に、図９を参照して、回転変動を表す別の値つまり別の回転変動量の例を説明する。図９（Ａ）は図８（Ａ）と同様にエンジンのクランク角（°ＣＡ）を示す。図９（Ｂ）は、前記回転時間Ｔの逆数である角速度ω（ｒａｄ／ｓ）を示す。ω＝１／Ｔである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Ｔの波形を上下反転した形となる。図９（Ｃ）は、前記回転時間差ΔＴと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔＴの波形を上下反転した形となる。図中の「正常」および「リーンずれ異常」については図８と同様である。
【００５８】
まず、各気筒の同一タイミングにおける角速度ωがＥＣＵにより検出される。ここでも各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける角速度ωが検出される。角速度ωは、１を前記回転時間Ｔで除することにより算出される。
【００５９】
次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω２と、直前の検出タイミングにおける角速度ω１との差（ω２−ω１）がＥＣＵにより算出される。この差が図９（Ｃ）に示す角速度差Δωであり、Δω＝ω２−ω１である。
【００６０】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。
【００６１】
しかしながら、図９（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける角速度ωは小さくなっている。それ故、＃３気筒ＴＤＣにおける角速度差Δωは、図９（Ｃ）に示すように大きな負の値となる。この＃３気筒ＴＤＣにおける角速度および角速度差をそれぞれ＃１気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。
【００６２】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ角速度ωが若干上昇するに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の角速度差Δω3は、図９（Ｃ）に示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒ＴＤＣ毎に検出される。
【００６３】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の角速度差Δω4および＃２気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００６４】
このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなる（マイナス方向に大きくなる）。
【００６５】
他方、図９（Ｃ）に示すように、正常の場合には角速度差Δωが常時ゼロ付近である。逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。
【００６６】
次に、ある１気筒の燃料噴射量をアクティブにつまり強制的に増量または減量して当該気筒での空燃比を変化させたときの回転変動量の変化を、図１０の概念図を参照して説明する。ただし、この場合、燃料噴射量をアクティブに増量または減量するとき、吸入空気量は変化しないようにスロットルバルブ２８等の作動は制御される。
【００６７】
図１０において、横軸はインバランス率ＩＢを示し、縦軸は回転変動量を示す。ここでは、全４気筒のうちのある１気筒のみのインバランス率ＩＢを燃料噴射量を増減させることで変化させ、このときの当該１気筒のインバランス率ＩＢと当該１気筒の回転変動量との関係を線Ｌ１にしたがって示す。当該１気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量Ｑｓとしてストイキ相当量を噴射しているものとする。
【００６８】
図１０において、アクティブ対象気筒の燃料噴射量がストイキ相当量であるときに相当するインバランス率が０％の線Ｓから左側に移動するほど、インバランス率ＩＢがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、図１０中、インバランス率ＩＢが０％の線Ｓから右側に移動するほど、インバランス率ＩＢはマイナス方向に増加し（減少し）、燃料噴射量としては過少すなわちリーンな状態となる。また、図１０中、上側に移動するほど、回転変動量は大きくなる。
【００６９】
特性線Ｌ１から理解され得るように、アクティブ対象気筒のインバランス率ＩＢが０％からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動量は大きくなる傾向にある。そして、インバランス率ＩＢが０％から離れるほど、特性線Ｌ１の傾きが急になり、インバランス率ＩＢの変化量または変化割合に対する回転変動量の変化量または変化割合は大きくなる傾向にある。
【００７０】
ここで、図１０においてインバランス率ＩＢがプラスの範囲の一部領域を拡大して、図１１に示す。なお、図１１の線Ｌ２は図１０の線Ｌ１の一部に相当する。
【００７１】
図１１には、アクティブ対象気筒における２つのインバランス率ＩＢの例が線Ａ、Ｂで表されている。線Ａにおけるインバランス率ＩＢａは、ストイキ相当値である０％のインバランス率（図１０の線Ｓ参照）からプラス方向にずれているが許容範囲内のものの一例である。これに対して、線Ｂにおけるインバランス率ＩＢｂは、線Ａにおけるインバランス率ＩＢａよりも燃料噴射量がさらに多い方向にずれていて、許容範囲外のものの一例である。
【００７２】
ここで、通常運転時にストイキ制御を行っているときのアクティブ対象気筒の状態が線Ａ上の状態である場合を考える。このときに、矢印Ｆ１で示すように、アクティブ対象気筒の燃料噴射量を、所定量Δｆ１、強制的に増量変更したとする。所定量Δｆ１は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約４５％相当の増量が図られる。ＩＢ＝０％の近辺（図１１中右端側）では特性線Ｌ２の傾きが緩やかであることから、ストイキ制御を行っているときのアクティブ対象気筒の状態が線Ａ上の状態である場合、燃料噴射量を増量変更したときの線Ａ´上の状態における回転変動量Ｖａ´は増量前の回転変動量Ｖａと大きく変わらない。
【００７３】
他方、ストイキ制御を行っているときのアクティブ対象気筒の状態が既に線Ｂ上の状態である場合を考える。このとき、アクティブ対象気筒においては既に許容範囲を超えるリッチずれが生じており、そのインバランス率ＩＢｂは比較的大きなプラス側の値になっている。例えば、線Ｂでのインバランス率ＩＢｂは、インバランス率で約６０％のリッチずれに相当する。この状態から矢印Ｆ２で示すように、アクティブ対象気筒の燃料噴射量を同一所定量Δｆ１だけ、強制的に増量したとすると、燃料噴射量を増量変更したときの線Ｂ´を含む領域では特性線Ｌ２の傾きが急であることから、増量後の回転変動量Ｖｂ´は増量前の回転変動量Ｖｂよりかなり大きく、増量前後の回転変動量の差（Ｖｂ´―Ｖｂ）は大きくなる。すなわちこのような燃料噴射量の増量により、アクティブ対象気筒の回転変動は十分に大きくなる。
【００７４】
よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量変更したときの少なくとも増量後のアクティブ対象気筒の回転変動量に基づき、ばらつき異常を検出することが可能である。例えば、増量後の回転変動量の大きさ（例えば｜Ｖｂ´｜）が所定量よりも大きいときにはばらつき異常があると判断することができる。さらに、複数サイクルに関してアクティブ対象気筒に関して求めた回転変動量の平均値または統計処理して求めた値を、回転変動量として、所定量と比較することで、気筒間空然比ばらつき異常があるか否かが判断されてもよい。このように、燃料噴射量の増量により、気筒間空然比ばらつき異常があるときにはそれを顕著に燃焼室での燃料つまり混合気の燃焼状態に反映させて、その結果を回転変動量として検出して、該回転変動量に基づいて気筒間空然比ばらつき異常を検出することができる。
【００７５】
なお、上記説明では、燃料噴射量を所定量分だけ強制的に増量変更させる制御（燃料噴射量増量制御）を行って、気筒間空然比ばらつき異常を検出した。これは、インバランス気筒で燃料噴射量が多い側にずれているときに有効である。
【００７６】
逆に、インバランス気筒で燃料噴射量が少ない側にずれているときには、燃料噴射量を所定量Δｆ２分だけ強制的に減量変更させる制御（燃料噴射量減量制御）を行って、ばらつき異常を検出することが有効である。このインバランス率が負の領域で強制減量を行う場合も、上記の場合から理解できるので、その説明は省略される。ただし、燃料噴射量減量制御における減量量（大きさ）Δｆ２は燃料噴射量増量制御における増量量（大きさ）Δｆ１よりも少ないことが好ましい。これは、リーンずれ異常気筒に対しあまりに多くの減量を行ってしまうと失火の虞があるからである。ただし、燃料噴射量の減量（または増量）により失火を生じさせ、そのときの出力変動に基づいてばらつき異常を検出することを本発明は排除しない。所定量Δｆ２は任意に設定され得るが、例えば、燃料噴射量はインバランス率で約１５％相当の減量がなされ得る。なお、燃料噴射量増量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である上記所定値と、燃料噴射量減量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である所定値は同じであっても異なってもよい。
【００７７】
なお、燃料噴射量の増量制御や減量制御は、全気筒一律且つ同時に適用されることが可能であり、この場合、所定の対象気筒は全気筒である。しかし、これらの燃料噴射量変更制御は、一部の気筒である所定の対象気筒のみに一時に適用され、順次、燃料噴射量変更制御が適用される対象気筒が他の気筒に移行されてもよい。
【００７８】
以上述べたように、気筒間空燃比ばらつき異常を検出するためには、上記したように、燃料噴射量を強制的に増量変更または減量変更させる制御つまり燃料噴射量変更制御を行って回転変動量を大きくすることが有効である。一方、かかる燃料噴射量変更制御を行うのと同時に、空燃比をストイキなどの所定の目標空燃比に追従させる空燃比フィードバック制御や空燃比学習制御を実行すると、燃料噴射量変更制御により変更された燃料噴射量をも含めて空燃比フィードバック制御され、その値が学習される。その結果として、後述するように、ばらつき異常の正しい検出ができなくなることが判明した。また、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、この通常時と異なる燃料噴射量変更制御時に学習された学習値が通常時の空燃比フィードバック制御に反映され、排気エミッションの悪化が生じたりすることが判明した。
【００７９】
以下、これらの点につき図１２を参照して説明する。図１２は、目標空燃比と各気筒への燃料噴射量と触媒前センサ４２及び触媒後センサ４４の出力する電圧信号との関係を説明する図である。図１２の（Ａ）行は、全気筒の燃料噴射量がストイキ相当量Ｑｓｔの場合、（Ｂ）行は＃１気筒のみ燃料噴射量がストイキ相当量Ｑｓｔより４０％分増量変更された場合、（Ｃ）行は燃料噴射量が（Ｂ）から一律に１０％ずつ減量補正すべくフィードバック制御された場合、及び（Ｄ）行は燃料噴射量は（Ｂ）行と同じであるが、目標空燃比が変更される場合を示し、そして（イ）列は各気筒への燃料噴射量、（ロ）列は目標空燃比と触媒前センサ４２の出力する電圧信号、（ハ）列は同じく目標空燃比と触媒後センサ４４の出力する電圧信号とを示している。そして、図１２の（ロ）列及び（ハ）列において、目標空燃比が破線で示され、電圧信号が実線で示されている。
【００８０】
ここで、図１２の（Ａ）、（イ）は、異常発生前で且つ各気筒の燃料噴射量が正常な場合の各気筒の燃料噴射量を示している。この場合、破線で示される目標空燃比はストイキであり、このストイキ制御の結果、各気筒の燃料噴射量はストイキ相当量Ｑｓｔとなっている。このストイキ相当量Ｑｓｔが前述の基準噴射量Ｑｓであり、＃１，＃２，＃３，＃４気筒のインバランス率は図示されるように±０％である。なお、この場合、触媒前センサ４２の出力電圧Ｖｆはストイキ相当値Ｖｒｅｆｆにほぼ等しく、触媒後センサ４４の出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒにほぼ等しい。
【００８１】
次に、図１２の（Ｂ）、（イ）は、対象気筒に対し燃料噴射量を強制的に所定量増量変更した時点における各気筒の燃料噴射量を示す。この場合、＃１気筒の燃料噴射量がストイキ相当量Ｑｓｔより４０％分多く、他の＃２，＃３，＃４気筒の燃料噴射量はストイキ相当量Ｑｓｔとなっている。例えば図示されるように、＃１気筒のインバランス率は+４０％であり、＃２，＃３，＃４気筒のインバランス率は±０％である。
【００８２】
この状態では、触媒前センサ４２に供給されるトータルガス（全気筒分の排気ガス）の空燃比はリッチ状態であるから、触媒前センサ４２の出力電圧Ｖｆはストイキ相当値Ｖｒｅｆｆより１０％分リッチ側（図１２（Ｂ）、（ロ）の１０％upＶｒｅｆｆ参照）となり、同様に、触媒後センサ４４の出力電圧Ｖｒもストイキ相当値Ｖｒｅｆｒよりリッチ側（図１２（Ｂ）、（ハ）のＶｒｅｆｒ参照）となる。すなわち、＃１気筒のみ４０％のリッチずれが生じても、触媒前センサ４２に対する影響は４０％を全気筒数４で除した１０％であり、触媒前センサ４２からは１０％のリッチずれが生じたという情報が得られる。この情報に基づき、ＥＣＵ５０はストイキ制御により、全気筒の燃料噴射量を一律に１０％ずつ減量補正すべくフィードバック制御するのである。
【００８３】
この減量補正が開始されてある程度時間が経過すると、各気筒の燃料噴射量は図１２の（Ｃ）、（イ）に示す如く変化し、＃１気筒の燃料噴射量はストイキ相当量Ｑｓｔに対し３０％相当多いリッチ状態、他の＃２，＃３，＃４気筒の燃料噴射量はストイキ相当量Ｑｓｔに対し１０％相当少ないリーン状態となる。言い換えれば、図示されるように、＃１気筒のインバランス率は+３０％であり、＃２，＃３，＃４気筒のインバランス率は-１０％となる。そして、触媒前センサ４２の出力電圧Ｖｆはストイキ相当値Ｖｒｅｆｆ、触媒後センサ４４の出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒに戻る（図１２の（Ｃ）、（ロ）及び（ハ）のＶｆ及びＶｒ参照）。
【００８４】
このように、気筒間空燃比ばらつき異常を検出するために、対象気筒に対し燃料噴射量を強制的に所定量変更させる制御を行ったとしても、目標空燃比をストイキとする空燃比フィードバック制御を継続する限り、その対象気筒を含む他の気筒に対する燃料噴射量が所望のようには維持されず（すなわち、図１２の（Ｂ）、（イ）の状態には維持されず）、結果的に気筒間の空燃比ばらつき異常を正しく検出することができないのである。
【００８５】
そこで、このときの空燃比フィードバック制御では、ここではストイキである所定の目標空燃比から、燃料噴射量変更制御における所定の対象気筒の燃料噴射量の変更量に応じた量、図１２（Ｄ）、（ロ）に示すように、目標空燃比を変更する（ズラす）ようにしている。すなわち、目標空燃比をストイキより１０％リッチ側にしている。これにより燃料噴射量を所望の状態に維持することができる。
【００８６】
ところで、目標空燃比は変更されたとしても、図１２（Ｄ）、（イ）における燃料噴射量は、対象気筒及び他の気筒をも含めて、図１２（Ｂ）、（イ）と同じであり、上述のように、触媒前センサ４２の出力電圧Ｖｆはストイキ相当値Ｖｒｅｆｆより１０％分リッチ側となり、同様に、触媒後センサ４４の出力電圧Ｖｒもストイキ相当値Ｖｒｅｆｒより１０％分リッチ側となってしまう（図１２（Ｄ）、（ロ）及び（ハ）のＶｆ及びＶｒ参照）。
【００８７】
この結果、触媒後センサ４４からは１０％のリッチずれが生じたという触媒後センサ出力差ΔＶｒ（＝Ｖｒｅｆｒ−Ｖｒ）の情報が得られ、ＥＣＵ５０は前述のように、その積算値に基づき求められる触媒後センサ学習値ΔＶｒｇを更新記憶すなわち学習する。したがって、燃料噴射量変更制御が終了して、通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、このような通常時と異なる学習値が空燃比フィードバック制御に反映されてしまい、排気エミッションの悪化が生じたりする。
【００８８】
そこで、以下に説明する実施形態では、上述の気筒間空燃比ばらつき異常を検出するために燃料噴射量の強制的な増量や減量制御（以下、アクティブ燃料噴射制御と称す）を実行するのに対応させて、学習制御を停止あるいは禁止するようにして、通常制御に復帰した際の排気エミッションの悪化が生じないようにしている。
【００８９】
ここで、その制御ルーチンの一例を、図１３のフローチャートを参照して説明する。この制御ルーチンは、ＥＣＵ５０により所定の周期毎に繰り返し実行される。すなわち、制御がスタートすると、ステップＳ１３０１でアクティブ燃料噴射制御を実行するための所定条件が成立しているか否かが判定される。ここで、所定条件としては、エンジン始動後の所定の運転状態、例えば、エンジン冷却水温が所定温度（例えば７０℃）以上であること、負荷（例えば、吸入空気量）が所定範囲（例えば、１５〜５０ｇ／ｓ）内にあること、エンジン回転速度が所定速度域（例えば、１５００ｒｐｍ〜２０００ｒｐｍ）にあることの全てを満たすことなどであってもよい。
【００９０】
ステップＳ１３０１での判定の結果、アクティブ燃料噴射制御条件が満たされていなければ、この制御ルーチンは一旦終了される。そして、満たされているとき（ＹＥＳ）はステップＳ１３０２に進み、アクティブ燃料噴射制御が実行中であるか否かが判定される。アクティブ燃料噴射制御が実行中でないときはステップＳ１３０３に進み、実行中であるときはステップＳ１３０４に進む。
【００９１】
アクティブ燃料噴射制御が実行中でないときに進むステップＳ１３０３においては、通常は、上記したように触媒コンバータ４０での排気浄化をより好適に行うために、排気空燃比がストイキに追従するようにストイキを目標空燃比として、空燃比フィードバック制御が実行されると共に、上述のような空燃比学習制御が実行される。
【００９２】
なお、ステップＳ１３０２で実行される、又は実行されているアクティブ燃料噴射制御では、上述のように増量又は減量変更した燃料噴射量が算出される。この変更量の算出は、エンジン回転速度およびエンジン負荷に基づいて、予め記憶装置に記憶された燃料噴射量変更用のデータを検索することで実行される。なお、所定の演算式に基づいて所定の演算が行われてもよい。例えば、変更量として４０％、４５％などの増量用変更量が算出される。なお、この変更量はそのように可変とされずに一定とされてもよい。そして、対象気筒の燃料噴射量がその変更量に基づいて変更される。例えば、対象気筒が＃１の気筒であるときは、その気筒の基本制御用つまり通常制御用に算出された燃料噴射量に、算出された変更量が加えられて、これにより燃料噴射量変更制御における燃料噴射量が定められる。例えば、変更量として４０％が定められたときは、変更後の燃料噴射量は基準噴射量の１４０％になる。なお、ここでは、基準噴射量は、ストイキ相当量である。
【００９３】
そして、アクティブ燃料噴射制御が実行中であるときに進むステップＳ１３０４においては、この目標空燃比をストイキから変更して、空燃比フィードバック制御が実行されると共に、上述のような学習制御は停止ないしは禁止される。すなわち、この目標空燃比の変更は、ステップＳ１３０２において実行中であるとされたアクティブ燃料噴射制御での所定の対象気筒の燃料噴射量の変更量に対応させて行われる。例えば、対象気筒が＃１の気筒であり、この対象気筒への燃料噴射量が所定の割合（本実施形態では４０％）増量されて変更される場合には、この変更割合である４０％増量分を全気筒数（本実施形態では４）で除して得られる平均割合（すなわち、本実施形態では１０％）だけ空燃比フィードバック制御における制御中心つまり目標空燃比を変更する（ズラす）ことによって行われる。具体的には、ストイキの空燃比を１４．６とすると、この場合、変更後の目標空燃比はストイキ空燃比より１０％リッチの空燃比（すなわち、１３．１）として算出される。
【００９４】
そして、この変更後の目標空燃比（例えば、ストイキ空燃比より１０％リッチの空燃比）へのフィードバック制御においては、触媒前センサ４２の出力Ｖｆと変更後の空燃比（すなわち、１３．１）に相当するセンサ出力Ｖｒｅｆｆ‘（図２参照）との差、即ち触媒前センサ出力差ΔＶｆ＝Ｖｆ−Ｖｒｅｆｆ’が算出される。さらに、この触媒前センサ出力差ΔＶｆに基づき、前述のように、図４に示したようなマップから主空燃比補正量（補正係数）Ｋｆが算出され、インジェクタ２から噴射すべき最終的な燃料噴射量即ち最終噴射量Ｑｆｎｌが求められることになる。しかし、この変更後の目標空燃比へのフィードバック制御は、所定の対象気筒の燃料噴射量の変更分に対応した分だけ所定の目標空燃比から変更された変更後目標空燃比へのフィードバック制御であるから、所定の対象気筒に対しては変更分を確実に含んだ燃料噴射量となり、前述のように他の気筒がリーンとなるようなことが防止される。
【００９５】
特に、この変更後の目標空燃比へのフィードバック制御中は、前述したような触媒後センサ４４の出力Ｖｒに基づく学習制御は禁止される。この場合、触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒは更新されず、燃料噴射量変更制御開始時の値に維持される。よって、燃料噴射量変更制御後に通常制御に戻った際に、燃料噴射量変更制御開始時の触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒの値からフィードバック制御が開始されて排気エミッションの悪化が防止される。  なお、上記実施形態では、燃料噴射量変更制御により燃料噴射量を所定量変更し始めると実質的に同時に空燃比フィードバック制御の目標空燃比をその変更量に応じて変化させた（ズラした）。しかし、燃料噴射量変更制御により燃料噴射量を所定量変更し始めた後、所定期間経過後に、空燃比フィードバック制御の目標空燃比を変更するようにしてもよい。所定期間経過前に各気筒の燃料噴射量が所望の状態に維持されていることがあるからである。
【００９６】
以上、本発明を上記実施形態に基づいて説明したが、本発明は、種々の形式の２つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。また、学習制御は、上記実施形態で説明した触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒを学習するものに限らず、広くフィードバック制御に関する学習値を学習するものであってもよい。
【符号の説明】
【００９７】
１０  内燃機関（エンジン）
３２  インジェクタ
４０  触媒コンバータ
４２  触媒前センサ
４４  触媒後センサ
５２  クランク角センサ
５４  アクセル開度センサ
【図１】
2013007278.tif 000003
【図２】
2013007278.tif 000004
【図３】
2013007278.tif 000005
【図４】
2013007278.tif 000006
【図５】
2013007278.tif 000007
【図６】
2013007278.tif 000008
【図７】
2013007278.tif 000009
【図８】
2013007278.tif 000010
【図９】
2013007278.tif 000011
【図１０】
2013007278.tif 000012
【図１１】
2013007278.tif 000013
【図１２】
2013007278.tif 000014
【図１３】
2013007278.tif 000015