(57)【要約】【課題】気筒間空燃比のばらつき異常を好適に検出する。【解決手段】水素を浄化可能な触媒要素の上下流側にそれぞれ第１の空燃比センサと第２の空燃比センサを設け、第１の空燃比センサ出力に基づいて主空燃比制御を実行し、第２の空燃比センサ出力に基づいて補助空燃比制御を実行する。補助空燃比制御のための制御量ΔＶｒｇが所定速度で更新され、この制御量が所定の異常判定値ΔＶｒｇｓに達したとき気筒間空燃比ばらつき異常が発生したと判断する。異常検出時、異常判定値を含むようにガード範囲ΔＶｒｇＨが拡大されると共に、制御量の更新速度が増加される。これによりガード範囲と異常判定値との干渉を防止すると共に検出時間の長期化を防止できる。【選択図】図１１
2009074388.tif 000002
【特許請求の範囲】
【請求項１】
多気筒内燃機関の排気通路に配置され、排気中に含まれる少なくとも水素を酸化して浄化する触媒要素と、
前記触媒要素の上流側の排気通路に配置され、前記触媒要素を通過していない排気の空燃比である第１の排気空燃比を検出する第１の空燃比センサと、
前記触媒要素の下流側の排気通路に配置され、前記触媒要素を通過した排気の空燃比である第２の排気空燃比を検出する第２の空燃比センサと、
前記第１の排気空燃比の検出値を所定の第１の目標空燃比に一致させるような主空燃比制御及び前記第２の排気空燃比の検出値を所定の第２の目標空燃比に一致させるような補助空燃比制御を実行する空燃比制御手段であって、前記第２の空燃比センサの出力に基づき前記補助空燃比制御のための制御量を所定の更新速度で更新する空燃比制御手段と、
前記制御量が、前記第２の排気空燃比をよりリッチ側に補正するような所定の異常判定値に達したとき、気筒間空燃比ばらつき異常の発生を検出するばらつき異常検出手段と
を備え、
前記空燃比制御手段は、前記制御量を所定のガード範囲内としつつ前記補助空燃比制御を実行し、且つ、前記ばらつき異常検出手段による気筒間空燃比ばらつき異常の検出を実行する際、前記ガード範囲を少なくとも前記異常判定値を含むように拡大すること、及び前記制御量の更新速度を上げることの少なくとも一つを実行する
ことを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記ばらつき異常検出手段による気筒間空燃比ばらつき異常の検出の前に、気筒間空燃比ばらつき異常の発生の可能性があることを予備的に検出する予備検出手段を備え、
前記ばらつき異常検出手段は、前記予備検出手段により気筒間空燃比ばらつき異常の発生の可能性があることが検出されたときに、気筒間空燃比ばらつき異常の検出を実行する
ことを特徴とする請求項１記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記予備検出手段は、前記第１の空燃比センサの出力と前記第１の目標空燃比相当のセンサ出力との差を所定時間積算して得られる積算値が所定値を超えたとき、前記第１の目標空燃比よりもリーン側の第２の排気空燃比が前記第２の空燃比センサによって所定時間以上検出されたとき、及び前記触媒要素の吸蔵酸素量と放出酸素量との比又は差が所定値より大きいときの少なくとも一つであるとき、気筒間空燃比ばらつき異常の発生の可能性があることを検出する
ことを特徴とする請求項２記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置に係り、特に、多気筒内燃機関において気筒間の空燃比が比較的大きくばらついていることを検出する装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションに影響を与えず、特に問題とならない。しかし、例えば一部の気筒の燃料噴射系が故障したりして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションの悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されており、最近ではこれを法規制化する動きもある。
【０００４】
特許文献１には、空燃比フィードバック制御における空燃比フィードバック補正係数が所定値以上であるときに燃料供給系の不良を診断する装置が開示されている。
【０００５】
【特許文献１】特開平４−３１８２５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の装置では、燃料供給系全体に何等かの不良があることは診断できるものの、いずれか一部の気筒が他の気筒に対し空燃比ずれを起こしているというばらつき異常までは検出することができない。
【０００７】
そこで、本発明はかかる事情に鑑みてなされたものであって、その目的は、気筒間空燃比のばらつき異常を好適に検出することができる多気筒内燃機関の気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明によれば、
多気筒内燃機関の排気通路に配置され、排気中に含まれる少なくとも水素を酸化して浄化する触媒要素と、
前記触媒要素の上流側の排気通路に配置され、前記触媒要素を通過していない排気の空燃比である第１の排気空燃比を検出する第１の空燃比センサと、
前記触媒要素の下流側の排気通路に配置され、前記触媒要素を通過した排気の空燃比である第２の排気空燃比を検出する第２の空燃比センサと、
前記第１の排気空燃比の検出値を所定の第１の目標空燃比に一致させるような主空燃比制御及び前記第２の排気空燃比の検出値を所定の第２の目標空燃比に一致させるような補助空燃比制御を実行する空燃比制御手段であって、前記第２の空燃比センサの出力に基づき前記補助空燃比制御のための制御量を所定の更新速度で更新する空燃比制御手段と、
前記制御量が、前記第２の排気空燃比をよりリッチ側に補正するような所定の異常判定値に達したとき、気筒間空燃比ばらつき異常の発生を検出するばらつき異常検出手段と
を備え、
前記空燃比制御手段は、前記制御量を所定のガード範囲内としつつ前記補助空燃比制御を実行し、且つ、前記ばらつき異常検出手段による気筒間空燃比ばらつき異常の検出を実行する際、前記ガード範囲を少なくとも前記異常判定値を含むように拡大すること、及び前記制御量の更新速度を上げることの少なくとも一つを実行する
ことを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置が提供される。
【０００９】
一部の気筒で空燃比がリッチ側にずれると、排気中の水素量が極端に増加する傾向がある。一方、水素を含む排気が触媒要素を通過すると水素が酸化して浄化される。よって、触媒要素を通過せず、従って水素が浄化されていない排気の第１の排気空燃比の検出値は、触媒要素を通過して水素が浄化された排気の第２の排気空燃比の検出値よりも、水素の影響でリッチ側にずれる。逆に言えば、第２の排気空燃比検出値は、第１の排気空燃比検出値よりも、水素の影響でリーン側にずれる。そこでこのリーン側へのずれ（乖離）状態に基づき、気筒間空燃比ばらつき異常が検出される。このリーン側へのずれ量は、一部気筒の空燃比のみがリッチ側にずれているときの方が、全気筒が等価的に一律にずれているときよりも顕著である。なぜなら前者の方が後者より排気中の水素量が多いからである。よって、かかるリーン側へのずれ状態を監視することにより、全気筒が一律にずれているときと区別して気筒間空燃比ばらつき異常を検出できる。空燃比センサに高い応答性を必要としないなど、実用性が非常に高く、高精度且つ好適にばらつき異常検出が可能である。
【００１０】
一部気筒のインジェクタの故障等により気筒間空燃比ばらつき異常が発生すると、第２の空燃比センサが継続的にリーンな値を検出するので、補助空燃比制御のための制御量は、このリーンずれを解消すべくリッチ側に補正するような値となる。そこでこれを利用し、前記制御量が、第２の排気空燃比をよりリッチ側に補正するような所定値以上の値となったとき、気筒間空燃比ばらつき異常が発生していることを検出する。
【００１１】
ところで、前記制御量のガード範囲を定めると、このガード範囲と、前記制御量の比較対象である異常判定値とが干渉し、制御量が異常判定値に到達できない場合がある。一方、制御量が次第に更新されていくものであるため、実際に異常判定値に到達するまでに時間がかかるという問題がある。そこでこれらの問題を解消すべく、ガード範囲を少なくとも異常判定値を含むように拡大すること、及び制御量の更新速度を上げることの少なくとも一つが実行される。これにより好適に空燃比ばらつき異常を検出することができる。
【００１２】
好ましくは、前記ばらつき異常検出手段による気筒間空燃比ばらつき異常の検出の前に、気筒間空燃比ばらつき異常の発生の可能性があることを予備的に検出する予備検出手段を備え、
前記ばらつき異常検出手段は、前記予備検出手段により気筒間空燃比ばらつき異常の発生の可能性があることが検出されたときに、気筒間空燃比ばらつき異常の検出を実行する。
【００１３】
好ましくは、前記予備検出手段は、前記第１の空燃比センサの出力と前記第１の目標空燃比相当のセンサ出力との差を所定時間積算して得られる積算値が所定値を超えたとき、前記第１の目標空燃比よりもリーン側の第２の排気空燃比が前記第２の空燃比センサによって所定時間以上検出されたとき、及び前記触媒要素の吸蔵酸素量と放出酸素量との比又は差が所定値より大きいときの少なくとも一つであるとき、気筒間空燃比ばらつき異常の発生の可能性があることを検出する。
【発明の効果】
【００１４】
本発明によれば、気筒間空燃比のばらつき異常を好適に検出することができるという、優れた効果が発揮される。
【発明を実施するための最良の形態】
【００１５】
以下、本発明を実施するための最良の形態を添付図面に基づき説明する。
【００１６】
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車用の多気筒内燃機関であり、より具体的には並列４気筒の火花点火式内燃機関即ちガソリンエンジンである。但し本発明が適用可能な内燃機関はこのようなものに限られず、多気筒内燃機関であれば気筒数、形式等は特に限定されない。
【００１７】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒ごとに取り付けられている。
【００１８】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管、サージタンク８及び吸気管１３により吸気通路が形成される。
【００１９】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒ごとに配設される。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。
【００２０】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。排気管６には三元触媒からなる触媒１１が取り付けられている。この触媒１１が本発明にいう触媒要素をなしている。触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、触媒１１の直前及び直後の位置の排気通路に設置され、排気中の酸素濃度に基づいて空燃比を検出する。このように、排気合流部となる触媒上流側の排気通路に単一の触媒前センサ１７が設置されている。
【００２１】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御手段としての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。なおスロットル開度は通常アクセル開度に応じた開度に制御される。
【００２２】
触媒１１は、これに流入する排気の空燃比Ａ／Ｆが理論空燃比（ストイキ、例えばＡ／Ｆ＝１４．６）近傍のときに排気中の有害成分であるＮＯｘ ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。加えて、触媒１１は、排気中に混入する水素Ｈ2も酸化（燃焼）して浄化する。
【００２３】
触媒前センサ１７は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２には触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、検出した排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキであるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）であり、このストイキを境に空燃比−電圧特性の傾きが変化する。
【００２４】
他方、触媒後センサ１８は所謂Ｏ2センサからなり、ストイキを境に出力値が急変する特性を持つ。図３には触媒後センサ１８の出力特性を示す。図示するように、触媒後センサ１８の出力電圧Ｖｒはストイキを境に過渡的に変化し、検出した排気空燃比がストイキよりリーンのときには０．１Ｖ程度の低い電圧を示し、検出した排気空燃比がストイキよりリッチのときには０．９Ｖ程度の高い電圧を示す。これらのほぼ中間の電圧Ｖｒｅｆｒ＝０．４５Ｖをストイキ相当値とし、センサ出力電圧がＶｒｅｆｒより高いときには排気空燃比はストイキよりリッチ、センサ出力電圧がＶｒｅｆｒより低いときには排気空燃比はストイキよりリーンというように、排気空燃比を検出している。
【００２５】
燃焼室３から排出された排気中に水素が含まれている場合、触媒１１を通過する前の、水素が含まれた排気ガスの空燃比即ち第１の排気空燃比が、第１の空燃比センサである触媒前センサ１７によって検出される。一方、この水素を含む排気ガスが触媒１１を通過すると、排気中の水素が触媒１１によって浄化される。この触媒１１を通過した後の、水素が浄化された排気ガスの空燃比即ち第２の排気空燃比が、第２の空燃比センサである触媒後センサ１８によって検出される。
【００２６】
なお、触媒後センサ１８のセンサ素子には触媒が設けられており、この触媒即ちセンサ触媒によっても排気中水素の浄化が可能である。よって、センサ触媒も本発明にいう触媒要素の一部をなし、仮に触媒１１で未浄化の水素があれば、このセンサ触媒によって未浄化水素を浄化し、水素浄化後の排気空燃比を触媒後センサ１８で検出することができる。もっとも、触媒後センサ１８の触媒は任意であり、省略も可能である。センサ触媒は触媒前センサ１７には設けられていない。
【００２７】
触媒１１に流入する排気ガスの空燃比がストイキ近傍に制御されるように、本実施形態では以下のような空燃比制御がＥＣＵ２０により実行される。この空燃比制御は、触媒前センサ１７によって検出された排気空燃比を所定の第１の目標空燃比に一致させるような主空燃比制御と、触媒後センサ１８によって検出された排気空燃比を所定の第２の目標空燃比に一致させるような補助空燃比制御とからなる。第１の目標空燃比及び第２の目標空燃比は理論空燃比に等しく設定されている。
【００２８】
図４に空燃比制御ルーチンを示す。このルーチンはＥＣＵ２０により１エンジンサイクル（＝７２０°クランク角）毎に繰り返し実行される。
【００２９】
まずステップＳ１０１では、燃焼室内混合気の空燃比をストイキとするような基本の燃料噴射量即ち基本噴射量Ｑｂが算出される。基本噴射量Ｑｂは例えば、エアフローメータにより検出された吸入空気量Ｇａに基づき、式：Ｑｂ＝Ｇａ／１４．６により算出される。
【００３０】
ステップＳ１０２では触媒前センサ１７の出力Ｖｆが取得される。ステップＳ１０３では、このセンサ出力Ｖｆとストイキ相当センサ出力Ｖｒｅｆｆ（図２参照）との差、即ち触媒前センサ出力差ΔＶｆ＝Ｖｆ−Ｖｒｅｆｆが算出される。
【００３１】
ステップＳ１０４では、この触媒前センサ出力差ΔＶｆに基づき、図５に示したようなマップ（関数でもよい、以下同様）から主空燃比補正量（補正係数）Ｋｆが算出される。触媒前センサ出力差ΔＶｆ及び主空燃比補正量Ｋｆは、主空燃比制御のための制御量をなす。例えばゲインをＰｆとするとＫｆ＝Ｐｆ×ΔＶｆで表される。そしてステップＳ１０５では、図６に示す別ルーチンで設定された補助空燃比補正量Ｋｒの値が取得される。最後に、ステップＳ１０６にて、インジェクタ１２から噴射すべき最終的な燃料噴射量即ち最終噴射量Ｑｆｎｌが式：Ｑｆｎｌ＝Ｋｆ×Ｑｂ＋Ｋｒにより算出される。
【００３２】
図５のマップによれば、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより大きい（ΔＶｆ＞０）ほど、即ち実際の触媒前空燃比がストイキからリーン側に離れるほど、１に対しより大きな補正量Ｋｆが得られ、基本噴射量Ｑｂは増量補正される。反対に、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより小さい（ΔＶｆ＜０）ほど、即ち実際の触媒前空燃比がストイキからリッチ側に離れるほど、１に対しより小さな補正量Ｋｆが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒前センサ１７によって検出された触媒前空燃比をストイキに一致させるような主空燃比フィードバック制御が実行される。
【００３３】
ステップＳ１０６で得られた最終噴射量Ｑｆｎｌの値は、全気筒に対し一律に用いられる。即ち、１エンジンサイクルの間、最終噴射量Ｑｆｎｌに等しい量の燃料が各気筒のインジェクタ１２から順次噴射され、次のエンジンサイクルでは新たに計算された最終噴射量Ｑｆｎｌの燃料が各気筒のインジェクタ１２から順次噴射される。
【００３４】
なお、周知のように、最終噴射量Ｑｆｎｌの算出に当たっては他の補正（水温補正、バッテリ電圧補正等）を追加することも可能である。
【００３５】
図６には補助空燃比補正量の設定ルーチンを示す。このルーチンはＥＣＵ２０により所定の演算周期で繰り返し実行される。
【００３６】
まずステップＳ２０１では、ＥＣＵ２０に装備されたタイマのカウントが実行され、ステップＳ２０２では、触媒後センサ１７の出力Ｖｒが取得される。ステップＳ２０３では、このセンサ出力Ｖｒとストイキ相当センサ出力Ｖｒｅｆｒ（図３参照）との差、即ち触媒後センサ出力差ΔＶｒ＝Ｖｒｅｆｒ−Ｖｒが算出され、この触媒後センサ出力差ΔＶｒが前回積算値に積算される。図７には触媒後センサ出力差ΔＶｒとその積算の様子を示す。
【００３７】
ステップＳ２０４では、タイマ値が所定値ｔｓを超えたか否かが判断される。所定値ｔｓを超えていなければルーチンが終了される。
【００３８】
タイマ値が所定値ｔｓを超えている場合、ステップＳ２０５で、この時点での触媒後センサ出力差積算値ΣΔＶｒが、触媒後センサ学習値ΔＶｒｇとして更新記憶される。そしてステップＳ２０６で、この触媒後センサ学習値ΔＶｒｇに基づき、図８に示したようなマップから、補助空燃比補正量Ｋｒが算出され、この補助空燃比補正量Ｋｒが更新記憶される。触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒは、補助空燃比制御のための制御量をなす。例えばゲインをＰｒとするとＫｒ＝Ｐｒ×ΔＶｒｇで表される。最後に、ステップＳ２０７にて、触媒後センサ出力差積算値ΣΔＶｒ及びタイマがリセットされる。
【００３９】
触媒後センサ出力差ΔＶｒを所定時間ｔｓの間積算する理由は、触媒後センサ出力Ｖｒのストイキ相当センサ出力Ｖｒｅｆｒに対する時間平均的なズレ量を検知するためである。積算時間を規定する所定値ｔｓは１エンジンサイクルより遙かに長い時間であり、よって触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒの更新は１エンジンサイクルより遙かに長い周期で行われる。
【００４０】
図８のマップによれば、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより小さい（ΔＶｒｇ＞０）ほど、即ち実際の触媒後空燃比がストイキからリーン側に離れるほど、０に対しより大きな補正量Ｋｒが得られ、最終噴射量算出の際に基本噴射量Ｑｂは増量補正される。反対に、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより大きい（ΔＶｒｇ＜０）ほど、即ち実際の触媒後空燃比がストイキからリッチ側に離れるほど、０に対しより小さな補正量Ｋｒが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒後センサ１８によって検出された触媒後空燃比をストイキに一致させるような補助空燃比フィードバック制御が実行される。触媒前センサ１７の劣化等の理由で主空燃比フィードバック制御を実行してもその結果がストイキからズレることがあるので、このズレを補正する目的で、補助空燃比フィードバック制御が実行される。
【００４１】
なお、この例では新たな学習値ΔＶｒｇ及び補正量Ｋｒが算出される度にこれらの値自身で更新を行うようにしたが、なまし等の平均化処理を行って更新速度を遅らせるようにしてもよい。
【００４２】
次に、本実施形態における気筒間空燃比ばらつき異常検出について説明する。
【００４３】
特許文献１にも開示されているように、インジェクタ等の燃料供給系やエアフローメータ等の空気系に全気筒に影響を及ぼすような異常が発生した場合、主空燃比制御におけるフィードバック補正量の絶対値が大きくなるため、これをＥＣＵでモニタすることでその異常を検出、診断できる。例えば、燃料噴射量が全体的にストイキ相当量より５％ずれている（即ち、全ての気筒において燃料噴射量がストイキ相当量より５％ずつずれている）と、主空燃比制御におけるフィードバック補正量はその５％ズレを補正するような値、即ち−５％相当の補正量となり、これにより燃料供給系若しくは空気系が５％ずれていることを検出することができる。そしてこのフィードバック補正量が比較的大きい所定値以上となったときに、燃料供給系若しくは空気系が全体として異常であることを検出することができる。本実施形態においてもこのような異常検出手段、即ち、主空燃比補正量Ｋｆ又は触媒前センサ出力差ΔＶｆに基づく別の異常検出手段が装備されている。
【００４４】
一方、燃料供給系や空気系が全体的にずれているのではなく、気筒間にばらつき（インバランス：imbalance）が発生している場合を考える。図９は、１気筒（＃１気筒）のみが他の３気筒（＃２〜＃４気筒）よりも空燃比リッチ側にずれている場合を示す。例えば、＃１気筒のインジェクタに異常が発生し、＃１気筒の燃料噴射量がストイキ相当から大きく２０％ずれており、他方、＃２〜＃４気筒では正常で、燃料噴射量がストイキ相当であるとする。このときトータルで見れば２０％のずれであり（２０＋０＋０＋０＝２０）、これは、全気筒が５％ずつずれているときと同じとなるはずである（５＋５＋５＋５＝２０）。
【００４５】
しかし、１気筒のみ大きくリッチ側にずれているときの方が、全気筒で少なく均等にリッチ側にずれているときよりも、燃焼室から発生する水素量が多くなる。そしてこの水素量が多くなった分、排気中の酸素濃度が減少することから、触媒前センサ１７の出力Ｖｆは、１気筒のみずれているときの方が全気筒均等にずれているときよりもリッチ側にずれることとなる。
【００４６】
図１０には、１気筒の混合気のストイキに対するリッチ側への空燃比ズレ量（横軸）と、燃焼室で発生する水素量（縦軸）との関係を示す。図示するように、空燃比リッチズレ量の増加に対して発生水素量は二次関数的に増加する。よって、１気筒のみリッチ側に２０％ずれた場合の方が、全気筒が５％ずつずれた場合より発生水素量が多くなり、触媒前センサ出力Ｖｆはよりリッチ側の値を示すようになる。
【００４７】
トータルとして同等のずれであっても、気筒間に空燃比ばらつきのある場合の方が、全体がずれている場合よりもエミッションが悪化する。例えば後者で、全気筒が５％ずつずれている場合には、例えば補助空燃比フィードバック制御で−５％の補正を行えば、全気筒一律に５％ずれを解消することができる。しかし前者で、１気筒のみ２０％ずれている場合には、補助空燃比フィードバック制御で−５％の補正をしても、＃１気筒＝１５％、＃２気筒＝−５％、＃３気筒＝−５％、＃４気筒＝−５％のずれとなり、トータルではズレが解消しているように見えるが（１５＋（−５）＋（−５）＋（−５）＝０）、気筒別に見ればズレているのであり、よって気筒単位でエミッションが悪化する。
【００４８】
一方、主空燃比フィードバック制御では、トータルとしての触媒前空燃比を検出してこれをストイキとするよう制御するため、主空燃比フィードバック制御の補正量からは、気筒間空燃比ばらつきが発生していることを検出することができない。つまり気筒間空燃比ばらつきが発生していても、トータルでのズレ量がゼロであれば補正量もゼロとなり、見掛け上はあたかも主空燃比フィードバック制御が問題なく正常に行われているように見えてしまう。
【００４９】
そこで、本実施形態では、気筒間空燃比ばらつきがある場合に全体がずれている場合よりも水素量が多くなり、触媒前センサ出力Ｖｆがリッチ側にずれるという特性を利用して、以下のようにして気筒間空燃比ばらつき異常を検出することとしている。
【００５０】
排気中に水素が含まれている場合、この排気に触媒を作用させることにより、排気中の水素を酸化（燃焼）して浄化することができる。そして、触媒を通過せず水素が浄化されていない排気の空燃比即ち第１の排気空燃比を第１の空燃比センサで検出し、触媒を通過し水素が浄化された排気の空燃比即ち第２の排気空燃比を第２の空燃比センサで検出する。第１の排気空燃比検出値は、第２の排気空燃比検出値よりも、水素の影響でリッチ側にずれる。逆に言えば、第２の排気空燃比検出値は、第１の排気空燃比検出値よりも、水素の影響でリーン側にずれる。そこでこのリーン側へのずれ（乖離）状態に基づき、気筒間空燃比ばらつき異常が検出される。
【００５１】
分かり易くいうと、水素浄化後の第２の排気空燃比検出値が真の排気空燃比と言えるものであり、水素浄化前の第１の排気空燃比検出値は、真の排気空燃比に水素分が加わって見掛け上リッチにずれた排気空燃比である。言ってしまえば、第１の空燃比センサが騙されているのである。一部気筒の残部気筒に対する空燃比リッチずれ量が多いほど、水素分は二次関数的に多くなる。よって第１の排気空燃比検出値が第２の排気空燃比検出値よりリッチ側に大きくずれているとき、即ち第２の排気空燃比検出値が第１の排気空燃比検出値よりリーン側に大きくずれているとき、気筒間空燃比ばらつき異常が発生しているとみなせるのである。
【００５２】
以下、この原理に従う気筒間空燃比ばらつき異常検出の一態様について述べる。
【００５３】
図９に示すように、例えば＃１気筒のみでインジェクタに異常が発生し、＃１気筒の空燃比が他の＃２〜＃４気筒の空燃比より大きくリッチ側にずれているとする。このとき主空燃比フィードバック制御が実行されているので、全気筒の排ガスが合流した後のトータルの排ガスの空燃比は、図９（Ａ）に示すように、ストイキ近傍に制御されている。即ち、触媒前センサ出力Ｖｆはストイキ相当センサ出力Ｖｒｅｆｆの近傍となっている。しかしながら、＃１気筒の空燃比はストイキより大きくリッチであり、＃２〜＃４気筒の空燃比はストイキよりリーンであり、全体のバランスとしてストイキ近傍になっているに過ぎない。しかも＃１気筒から水素が多量に発生される結果、触媒前センサ１７の出力Ｖｆは、真の空燃比よりもリッチ側にずれた空燃比を誤ってストイキとして表示している。
【００５４】
他方、水素を含む排ガスが触媒１１を通過すると、水素が浄化されてその影響が取り除かれる。従って、図９（Ｂ）に示すように、触媒後センサ１８の出力Ｖｒは、真の空燃比、即ちストイキよりリーンの空燃比を表示することとなる。即ち、触媒後センサ出力Ｖｒはストイキ相当センサ出力Ｖｒｅｆｒよりリーン側の低い値となる。
【００５５】
別の見方をすると、例えば全体で２５という触媒前空燃比検出値のリッチズレを補正するため、主空燃比フィードバック制御で−２５のリーン補正を行い、触媒前空燃比検出値のリッチズレを０とする。しかし、２５のうちの５は純粋な空燃比ずれではなく水素の影響によるもので、主空燃比フィードバック制御は５だけリーン側に補正しすぎである。よって触媒後空燃比はリーンに５だけずれる結果となる。
【００５６】
よって、主空燃比フィードバック制御により触媒前空燃比がストイキに制御されているにも拘わらず、触媒後センサ１８からは、ストイキよりリーンの触媒後空燃比が継続的に検出されるようになる（即ち、触媒後センサ出力がリーンに張り付く）。このような触媒前後の空燃比の相違は、一部の気筒のインジェクタ等の故障により水素が顕著に多く発生したからである。
【００５７】
なお、触媒後センサ１８がストイキよりリーンの排気空燃比を検出すると、補助空燃比フィードバック制御によるリッチ補正がなされ、燃料噴射量が全気筒一律に増量される。すると触媒前空燃比検出値のリッチずれはさらに大きくなり、触媒後空燃比はリーンに維持される。こうしてやがては、ばらつき異常の程度に見合った主空燃比補正量及び補助空燃比補正量に収束していく。
【００５８】
ところで、図６〜図８を用いて説明したように、補助空燃比フィードバック制御においては、所定時間毎に（即ち所定の更新速度で）、触媒後センサ学習値ΔＶｒｇと補助空燃比補正量Ｋｒとが学習ないし更新される。ここで一部気筒のインジェクタの故障等により気筒間空燃比ばらつき異常が発生すると、触媒後センサ出力Ｖｒが継続的にリーンな値となるので、触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒは、大きなリーンずれをストイキに戻すような大きな正の値となる。
【００５９】
これを示すのが図１１である。図１１は、全気筒のうちのある１気筒のみの燃料噴射量がストイキ相当量からずれたときのずれの割合、即ちインバランス割合（％）と、触媒後センサ学習値ΔＶｒｇとの関係を調べた試験結果である。インバランス割合はリッチずれのときが正、リーンずれのときが負である。図示するように、インバランス割合がリッチずれ方向に大きくなるほど、触媒後センサ学習値ΔＶｒｇはより大きな値、即ち空燃比をよりリッチ側に補正するような値となる。
【００６０】
そこで、この一態様では、触媒後センサ学習値ΔＶｒｇが所定の異常判定値ΔＶｒｇｓ以上となったとき、気筒間空燃比ばらつき異常が発生していると判断する。或いは代替的に、触媒後センサ学習値ΔＶｒｇに基づいて算出された補助空燃比補正量Ｋｒが所定値Ｋｒｓ以上となったとき、気筒間空燃比ばらつき異常が発生していると判断する。
【００６１】
この一態様によれば、空燃比センサに高い応答性が要求されず、ある程度劣化して応答性が低下したセンサでも十分使用可能である。高速のデータサンプルや処理能力の高いＥＣＵも不要である。また外乱に強く、ロバスト性が高く、機関運転条件やセンサ設置位置にも制約がない。従って非常に実用的であり、高精度な異常検出が可能である。
【００６２】
ここで図１１に示すように、異常判定値ΔＶｒｇｓに対応するインバランス割合をＩＢｓとする。このインバランス割合ＩＢｓは、エミッション等の観点から許容できないほどの大きさを有するインバランス割合の最小値である。図１１は１気筒のみがずれたとき（即ち、インバランス故障のとき）の触媒後センサ学習値ΔＶｒｇの勾配を示すが、全気筒が均等にずれたとき（即ち、バランス故障のとき）には仮想線Ｚで示すように勾配が遙かに緩やかになる。その理由は、全体がずれたときには主空燃比制御の方で容易に一律に補正できるので、補助空燃比補正量に与える影響は小さいからである。もっとも、全体が大きくずれたときには主空燃比制御の補正量が大きくなるので、前に触れた主空燃比補正量に基づく別の異常検出手段により、本実施形態の異常検出よりも先に、異常が検出されるであろう。
【００６３】
一部気筒が残部気筒に対しリーンずれすることもあり、この場合には、触媒後センサ学習値ΔＶｒｇの値は、図１１に負のインバランス割合領域で示される如くなる。こちらの領域の勾配は正のインバランス割合領域の勾配よりも緩い。ここでリーンずれとは、燃料噴射量が規定量よりも少なくなることであり、ある気筒で大きなリーンずれが起きた場合、当該気筒は通常は失火に陥る。よってリーンずれによるばらつき異常は別の失火検出手段によって先に検出されるであろう。本実施形態の異常検出はリッチずれ異常に対して特に有利な内容のものである。
【００６４】
ところで、前述の別の異常検出手段に関連して、主空燃比フィードバック制御及び補助空燃比フィードバック制御においては、制御量を所定のガード範囲内としつつ、それらが実行されるようになっている。図５に示すように、主空燃比フィードバック制御の触媒前センサ出力差ΔＶｆは、制御上、上下のガード値ΔＶｆＨ，ΔＶｆＬの範囲内の値しかとることができず（ΔＶｆＬ≦ΔＶｆ≦ΔＶｆＨ）、これに対応して、主空燃比補正量Ｋｆも上下のガード値ＫｆＨ，ＫｆＬの範囲内の値しかとることができない（ＫｆＬ≦Ｋｆ≦ＫｆＨ、）。例えば、計算上の触媒前センサ出力差ΔＶｆが上限ガード値ΔＶｆＨ以上になったとき、触媒前センサ出力差ΔＶｆは上限ガード値ΔＶｆＨに達したとみなされ、制御上、触媒前センサ出力差ΔＶｆは上限ガード値ΔＶｆＨに固定される。そしてこれと同時に、燃料供給系若しくは空気系が全体として異常である（バランス故障が発生した）と検出される。これにより、燃料供給系若しくは空気系が全体として異常であるにも拘わらず、異常なほどに大きい制御量を用いて主空燃比制御が行われることを防止できる。
【００６５】
これと同様に、図８に示す如く、補助空燃比フィードバック制御においても、触媒後センサ学習値ΔＶｒｇは、制御上、上下のガード値ΔＶｒｇＨ，ΔＶｒｇＬの範囲内の値しかとることができず（ΔＶｒｇＬ≦ΔＶｒｇ≦ΔＶｒｇＨ）、これに対応して、補助空燃比補正量Ｋｒも上下のガード値ＫｒＨ，ＫｒＬの範囲内の値しかとることができない（ＫｒＬ≦Ｋｒ≦ＫｒＨ）。例えば、計算上の触媒後センサ学習値ΔＶｒｇが上限ガード値ΔＶｒｇＨ以上になったとき、触媒後センサ学習値ΔＶｒｇは上限ガード値ΔＶｒｇＨに達したとみなされ、制御上、触媒後センサ学習値ΔＶｒｇは上限ガード値ΔＶｒｇＨに固定される。そしてこれと同時に、燃料供給系若しくは空気系が全体として異常である（バランス故障が発生した）と検出される。これにより、燃料供給系若しくは空気系が全体として異常であるにも拘わらず、異常なほどに大きい制御量を用いて補助空燃比制御が行われることを防止できる。
【００６６】
ところで、このようにガード範囲を定めると、気筒間空燃比ばらつき異常を検出する上で次のような問題が生じる。図１１に示したように、バランス故障のときには、インバランス割合と触媒後センサ学習値ΔＶｒｇとの関係が仮想線Ｚで示す如くなる。そしてこの関係に対応して前記ガード範囲、特に上限ガード値ΔＶｒｇＨが設定されている。つまりバランス故障のときには仮想線Ｚに沿う形で触媒後センサ学習値ΔＶｒｇが増大し、触媒後センサ学習値ΔＶｒｇが上限ガード値ΔＶｒｇＨ以上になったときにバランス故障が発生しているとみなされる。
【００６７】
しかし、インバランス故障を判定するのに適した異常判定値ΔＶｒｇｓは、バランス故障を判定するのに適した上限ガード値ΔＶｒｇＨより高いことが多い。このため、両者の干渉によりインバランス故障を検出できないといった問題が生ずる。具体的にいうと、インバランス故障が原因で実際の触媒後センサ学習値ΔＶｒｇが増大しても、異常判定値ΔＶｒｇｓより先に上限ガード値ΔＶｒｇＨに到達してしまい、バランス故障とみなされてしまうのである。
【００６８】
そこで、この問題を解決するため、本実施形態においては、気筒間空燃比ばらつき異常の検出を実行する際には、補助空燃比フィードバック制御におけるガード範囲が少なくとも異常判定値ΔＶｒｇｓを含むように拡大される。具体的には、前記上限ガード値ΔＶｒｇＨが異常判定値ΔＶｒｇｓ以上の値（本実施形態では異常判定値ΔＶｒｇｓと等しい値）に変更される。これにより、触媒後センサ学習値ΔＶｒｇは既定のガード範囲を超えて可変となり、即ち制御上においても既定の上限ガード値ΔＶｒｇＨより大きい値を取ることが可能になり、異常判定値ΔＶｒｇｓに到達可能となって、気筒間空燃比ばらつき異常を問題なく検出できるようになる。
【００６９】
なお、代替的に、補助空燃比補正量Ｋｒのガード範囲を拡大してもよく、具体的には補助空燃比補正量Ｋｒの上限ガード値ＫｒＨを、前記異常判定値ΔＶｒｇｓに対応した補助空燃比補正量以上の値に変更してもよい。これらガード範囲を拡大する際、下限ガード値は変更しなくてもよく、或いはより小さい値（拡大側）に変更してもよい。
【００７０】
一方、図７に示したように、触媒後センサ学習値ΔＶｒｇは所定時間毎ｔｓ毎に更新されていくものであるため、気筒間空燃比ばらつき異常が発生した場合でも、触媒後センサ学習値ΔＶｒｇが実際に異常判定値ΔＶｒｇｓに到達するまでには時間がかかる。そして到達時間があまりに長いと検出に要する時間が長くなる問題がある。
【００７１】
そこで、この問題を解決するため、本実施形態においては、気筒間空燃比ばらつき異常の検出を実行する際には、触媒後センサ学習値ΔＶｒｇの更新速度が既定速度よりも上げられる。即ち、前記更新時間ｔｓが規定値よりも短縮される。これにより触媒後センサ学習値ΔＶｒｇの更新を速やかに行い、検出時間を短くすることができる。なお、触媒後センサ学習値ΔＶｒｇの更新速度を上げることにより補助空燃比補正量Ｋｒの更新速度も追従して上がる。
【００７２】
本実施形態においては、前述のようなガード範囲拡大と更新速度増大との両方を行う。しかしながら、いずれか一方のみを行うようにしてもよい。例えばガード範囲拡大について、既定状態における異常判定値ΔＶｒｇｓがガード範囲内に設定されているときはガード範囲の拡大を行わなくてもよい。
【００７３】
図１２に当該一態様の異常検出ルーチンを示す。当該ルーチンはＥＣＵ２０により所定の演算周期毎に繰り返し実行される。
【００７４】
まずステップＳ３０１では、異常検出のための前提条件が成立しているか否かが判断される。この前提条件とは、例えば、エンジンの暖機が終了していること、触媒が活性温度に達していることなどである。
【００７５】
前提条件が成立していない場合ルーチンが終了される。他方、前提条件が成立している場合、ステップＳ３０２において、主空燃比及び補助空燃比フィードバック制御の実行条件が成立しているか否かが判断される。この条件とは、例えば、触媒前センサ１７及び触媒後センサ１８が活性化していることであり、具体的には、ＥＣＵ２０によって検出される両センサの素子インピーダンスが、センサの最小活性温度に相当する所定値より低くなっていることである。
【００７６】
実行条件が成立していない場合ルーチンが終了される。他方、実行条件が成立している場合、ステップＳ３０３に進んで、触媒後センサ学習値ΔＶｒｇのガード範囲が拡大されると共に、触媒後センサ学習値ΔＶｒｇの更新速度が増大される。即ち、前述したように、触媒後センサ学習値ΔＶｒｇの上限ガード値ΔＶｒｇＨが既定値より高い異常判定値ΔＶｒｇｓと等しい値に変更され、また、触媒後センサ学習値ΔＶｒｇの更新時間ｔｓが規定値よりも短縮される。
【００７７】
こうしてガード範囲拡大と更新速度増大とが行われたならば、次にステップＳ３０４において、ストイキを目標空燃比とする主空燃比及び補助空燃比フィードバック制御（ストイキＦ／Ｂ制御）が実行される。
【００７８】
次に、ステップＳ３０５において、ストイキＦ／Ｂ制御開始時から所定時間が経過したか否か、即ち、触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒが空燃比ばらつき状態に対応した値に更新されるのに十分な時間が経過したか否かが判断される。ここで、ステップＳ３０３において更新速度が増大されているので、所定時間は比較的短い時間に設定することが可能であり、これにより検出時間の短縮が図られる。
【００７９】
所定時間が経過していない場合、ルーチンが終了される。他方、所定時間が経過している場合には、ステップＳ３０６において、現時点での触媒後センサ学習値ΔＶｒｇの値が取得される。
【００８０】
そしてステップＳ３０７において、この取得された触媒後センサ学習値ΔＶｒｇが異常判定値ΔＶｒｇｓ以上か否かが判定される。ステップＳ３０３において上限ガード値ΔＶｒｇＨが異常判定値ΔＶｒｇｓに拡大変更されているので、触媒後センサ学習値ΔＶｒｇは異常判定値ΔＶｒｇｓまで増大することが可能である。
【００８１】
触媒後センサ学習値ΔＶｒｇが異常判定値ΔＶｒｇｓ以上である（即ち異常判定値ΔＶｒｇｓに等しい）場合、ステップＳ３０８において、気筒間空燃比ばらつき異常が発生したと判定され、ルーチンが終了される。なおこの異常判定の後、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動させるのが好ましい。
【００８２】
他方、触媒後センサ学習値ΔＶｒｇが異常判定値ΔＶｒｇｓ未満である場合、気筒間空燃比ばらつき異常は発生していないとみなされ、ステップＳ３０９に進んで、触媒後センサ学習値ΔＶｒｇのガード範囲及び更新速度が既定状態に戻され、ルーチンが終了される。
【００８３】
なお、ここでは触媒後センサ学習値ΔＶｒｇの所定値との比較によって気筒間空燃比ばらつき異常の発生を検出したが、当然に、補助空燃比補正量Ｋｒの所定値との比較によって気筒間空燃比ばらつき異常の発生を検出してもよい。
【００８４】
次に、気筒間空燃比ばらつき異常検出の別の態様について述べる。
【００８５】
この別の態様では、前述のような気筒間空燃比ばらつき異常の検出の前に、気筒間空燃比ばらつき異常の発生の可能性があることが予備的に検出される。以下、前者の検出を本検出、後者の検出を予備検出と称す。そして予備検出により気筒間空燃比ばらつき異常の発生の可能性があることが検出されたときに、本検出が実行される。このように本検出の前に予備検出を行うことにより、いわゆるダブルチェックが可能となり、検出の精度と信頼性を増すことができる。
【００８６】
予備検出の第１実施例をここで説明する。図１３に示すように、気筒間空燃比ばらつき異常が発生すると、１エンジンサイクル間（＝７２０°ＣＡ）での排気空燃比の変動が大きくなる。（Ｂ）の空燃比線図ａ，ｂ，ｃはそれぞればらつき無し、１気筒のみ２０％のインバランス割合でリッチずれ、及び１気筒のみ５０％のインバランス割合でリッチずれの場合の触媒前空燃比の検出値を示す。見られるように、ばらつきの程度が大きくなるほど空燃比変動の振幅は大きくなり、周波数が大きくなる。
【００８７】
よってその空燃比変動の振幅や周波数が所定値よりも大きくなった場合に気筒間空燃比ばらつき異常の発生の可能性があると検出することができる。本実施形態では振幅に着目して次のように予備検出を行う。即ち、触媒前センサ出力Ｖｆとストイキ相当センサ出力Ｖｒｅｆｆとの差、具体的にはその差である触媒前センサ出力差ΔＶｆの絶対値が、所定時間積算され、これにより得られる積算値が所定値を超えたとき、気筒間空燃比ばらつき異常の発生の可能性があると判断する。変動が大きいほど触媒前センサ出力差ΔＶｆの絶対値が大きくなるので、このことを利用してばらつき異常発生の可能性があることを検出することができる。
【００８８】
図１４に予備検出の第１実施例を含む異常検出ルーチンを示す。当該ルーチンはＥＣＵ２０により所定の演算周期毎に繰り返し実行される。
【００８９】
ステップＳ４０１，Ｓ４０２は前記ステップＳ３０１，Ｓ３０２と同様である。ステップＳ４０３では前記ステップＳ３０４と同様、ストイキＦ／Ｂ制御が実行される。但しこの段階ではまだ触媒後センサ学習値ΔＶｒｇのガード範囲拡大と更新速度増大とは実行されない。
【００９０】
続くステップＳ４０４では、今回の触媒前センサ出力差ΔＶｆの絶対値が計算され、この値が前回積算値に加算されることにより、触媒前センサ出力差ΔＶｆが積算される。次いでステップＳ４０５では積算開始時（即ちステップＳ４０３のストイキＦ／Ｂ制御開始時）から所定の積算時間が経過したか否かが判断される。所定の積算時間が経過していない場合、ルーチンが終了される。他方、所定の積算時間が経過している場合には、ステップＳ４０６において、触媒前センサ出力差ΔＶｆの最終的な積算値が取得され、この最終積算値が所定の予備異常判定値と比較される。
【００９１】
最終積算値が予備異常判定値以下の場合、気筒間空燃比ばらつき異常の発生の可能性がないと判断され、ルーチンが終了される。他方、最終積算値が予備異常判定値を超えている場合、気筒間空燃比ばらつき異常の発生の可能性があると判断され、ステップＳ４０７に進む。
【００９２】
以降、ステップＳ４０７〜ステップＳ４１２では前述したような本検出に関わる処理が行われる。即ち、ステップＳ４０７では前記ステップＳ３０３と同様、触媒後センサ学習値ΔＶｒｇのガード範囲が拡大されると共に、触媒後センサ学習値ΔＶｒｇの更新速度が増大される。そしてこの状態でステップＳ４０８においてストイキＦ／Ｂ制御開始時から所定時間（これは前記積算時間より長い）が経過したか否かが判断される。所定時間が経過していない場合、ルーチンが終了される。他方、所定時間が経過している場合には、ステップＳ４０９〜Ｓ４１２において、前記ステップＳ３０６〜Ｓ３０９と同様の処理が行われ、気筒間空燃比ばらつき異常が適宜検出される。
【００９３】
次に、予備検出の第２実施例を説明する。図９に示したように、気筒間空燃比ばらつき異常が発生すると、主空燃比フィードバック制御により触媒後センサ１８からはストイキ近傍の触媒前空燃比が継続的に検出されるが、水素の影響により、触媒後センサ１８からは、ストイキよりリーンの触媒後空燃比が継続的に検出されるようになる（即ち、触媒後センサ出力がリーンに張り付く）。そこでこのことを利用し、予備検出の第２実施例では、主空燃比フィードバック制御により触媒前空燃比がストイキに制御されているにも拘わらず、触媒後センサ１８によってストイキよりリーンの触媒後空燃比が所定時間以上検出されたとき、気筒間空燃比ばらつき異常の発生の可能性があると判断する。
【００９４】
図１５に予備検出の第２実施例を含む異常検出ルーチンを示す。当該ルーチンはＥＣＵ２０により所定の演算周期毎に繰り返し実行される。
【００９５】
ステップＳ５０１，Ｓ５０２は前記ステップＳ３０１，Ｓ３０２と同様である。ステップＳ５０３では前記ステップＳ３０４と同様、ストイキＦ／Ｂ制御が実行される。但しこの段階ではまだ触媒後センサ学習値ΔＶｒｇのガード範囲拡大と更新速度増大とは実行されない。
【００９６】
続くステップＳ５０４では、触媒後センサ１８の出力Ｖｒが取得されると共に、この取得された触媒後センサ出力Ｖｒがストイキ相当値Ｖｒｅｆｒより低いか否か、即ち触媒後センサ１８によって検出された触媒後空燃比がストイキよりリーンであるか否かが判定される。触媒後センサ出力Ｖｒがストイキ相当値Ｖｒｅｆｒより低い場合、ステップＳ５０５において、ＥＣＵ２０に装備されたリーン継続カウンタのカウント値Ｃｌがカウントアップされ、ステップＳ５０７に進む。リーン継続カウンタは、触媒後空燃比の検出値がストイキよりリーンとなっている時間をカウントするためのものである。他方、触媒後センサ出力Ｖｒがストイキ相当値Ｖｒｅｆｒ以上の場合、ステップＳ５０６においてリーン継続カウンタがクリアされ、ステップＳ５０７に進む。
【００９７】
ステップＳ５０７においては、リーン継続カウンタのカウント値Ｃｌが所定値Ｃｌｓ以上に達したか否か、即ち、触媒後空燃比の検出値のリーン継続時間が所定時間以上に達したか否かが判断される。
【００９８】
カウント値Ｃｌが所定値Ｃｌｓ以上に達していない場合、気筒間空燃比ばらつき異常の発生の可能性がないと判断され、ルーチンが終了される。他方、カウント値Ｃｌが所定値Ｃｌｓ以上に達している場合、気筒間空燃比ばらつき異常の発生の可能性があると判断され、ステップＳ５０８に進む。
【００９９】
以降、ステップＳ５０８〜Ｓ５１３では前記ステップＳ４０７〜Ｓ４１２と同様の本検出に関わる処理が行われる。
【０１００】
次に、予備検出の第３実施例を説明する。本実施形態では触媒１１として酸素吸蔵能を有する三元触媒が用いられている。この場合、触媒に流入する排気ガスの空燃比（触媒前空燃比）がストイキよりリーンのときには触媒が排気ガス中の酸素を吸蔵し、排気ガスの空燃比がストイキよりリッチのときには触媒が既に吸蔵していた酸素を放出する。一方、かかる三元触媒の劣化診断法として所謂Ｃｍａｘ法が知られている。これは、触媒が劣化すると触媒の酸素吸蔵能が低下するという特性を利用して、触媒が現状で吸蔵（又は放出）可能な酸素量（即ち、酸素吸蔵容量ＯＳＣ）を計測し、この計測値を所定値と比較して触媒の劣化を判定する方法である。この劣化検出においては、空燃比をリッチ・リーンに強制的に切替制御するアクティブ空燃比制御が実行され、このアクティブ空燃比制御実行中に触媒の吸蔵酸素量と放出酸素量とを複数ずつ計測し、その平均値を最終的な酸素吸蔵容量ＯＳＣとして、所定値と比較する。
【０１０１】
ここで、吸蔵酸素量と放出酸素量との計測について図１６を参照しつつ説明する。（Ａ）は目標空燃比Ａ／Ｆｔ（破線）と、触媒前センサ１７で検出された触媒前空燃比Ａ／Ｆｆ（実線）を示す。また（Ｂ）は触媒後センサ出力Ｖｒを示す。（Ｃ）は触媒から放出された酸素量即ち放出酸素量ＯＳＡａの積算値を示し、（Ｄ）は触媒に吸蔵された酸素量即ち吸蔵酸素量ＯＳＡｂの積算値を示す。
【０１０２】
図示するように、アクティブ空燃比制御の実行により、触媒に流入する排気ガスの空燃比は所定のタイミングで強制的にリーン及びリッチに交互に切り替えられる。例えば時刻ｔ１より前では目標空燃比Ａ／Ｆｔがストイキよりリーン（例えば１５．１）に設定され、触媒１１にはリーンガスが流入されている。このとき触媒１１では酸素を吸収し続け、排気中のリーン成分（ＮＯｘ）を還元して浄化するが、飽和状態即ち満杯まで酸素を吸収した時点でそれ以上酸素を吸収できなくなり、リーンガスが触媒１１を通り抜けて触媒１１の下流側に流れ出す。こうなると触媒後センサ１８の出力がリーン側に反転し、触媒後センサ１８の出力がストイキ相当値Ｖｒｅｆｒに達する（時刻ｔ１）。この時点で、目標空燃比Ａ／Ｆｔがストイキよりリッチ（例えば１４．１）に切り替えられる。
【０１０３】
そして今度は触媒１１にリッチガスが流入される。このとき触媒１１では、それまで吸蔵していた酸素を放出し続け、排気中のリッチ成分（ＨＣ，ＣＯ）を酸化して浄化するが、やがて触媒１１から全ての吸蔵酸素が放出され尽くすとその時点で酸素を放出できなくなり、リッチガスが触媒１１を通り抜けて触媒１１の下流側に流れ出す。こうなると触媒後空燃比がリッチ側に変化し、触媒後センサ１８の出力がストイキ相当値Ｖｒｅｆｒに達する（時刻ｔ２）。この時点で、目標空燃比Ａ／Ｆｔがリーン空燃比に切り替えられる。このようにして、空燃比のリッチ・リーンへの切替えが繰り返し実行される。
【０１０４】
（Ｃ）に示すように、時刻ｔ１〜ｔ２の放出サイクルでは、極短い所定周期毎の放出酸素量ＯＳＡａが順次積算されていく。より詳しくは、触媒前センサ１７の出力がストイキ相当値に達した時ｔ１１から、触媒後センサ１８の出力がリーン側に反転した（Ｖｒｅｆｒに達した）時ｔ２まで、１演算周期毎の放出酸素量ｄＯＳＡ（ｄＯＳＡａ）が次式（１）により計算され、この１演算周期毎の値が周期毎に積算されていく。こうして得られた最終的な積算値が、触媒の酸素吸蔵容量に相当する放出酸素量ＯＳＡａの計測値となる。
【０１０５】
【数１】
2009074388.tif 000003
【０１０６】
Ｑは燃料噴射量であり、空燃比差ΔＡ／Ｆに燃料噴射量Ｑを乗じると過剰又は不足分の空気量を計算できる。Ｋは空気に含まれる酸素割合（約０．２３）である。
【０１０７】
時刻ｔ２〜ｔ３の吸蔵サイクルでも同様に、（Ｄ）に示すように、触媒前センサ１７の出力がストイキ相当値に達した時ｔ２１から、触媒後センサ１８の出力がリッチ側に反転した（Ｖｒｅｆｒに達した）時ｔ３まで、１演算周期毎の吸蔵酸素量ｄＯＳＡ（ｄＯＳＡｂ）が前記式（１）により計算され、この１演算周期毎の値が周期毎に積算されていく。こうして得られた最終的な積算値が、触媒の酸素吸蔵容量に相当する吸蔵酸素量ＯＳＡｂの計測値となる。こうして放出サイクルと吸蔵サイクルを繰り返すことにより、複数ずつの放出酸素量ＯＳＡａと吸蔵酸素量ＯＳＡｂとが計測、取得される。
【０１０８】
ところで、原理的には、触媒における吸蔵可能な酸素量と放出可能な酸素量とは等しく、よって上記の放出酸素量ＯＳＡａと吸蔵酸素量ＯＳＡｂとは等しいはずである。つまり両者は対称の関係にある。ところが、気筒間空燃比ばらつき異常が発生すると、この対称関係が崩れ、両者は非対称となる。即ち、触媒前センサ１７の出力は水素の影響で真の値よりリッチ側にずれた値である。このため触媒に実際に与えられている排気ガスの空燃比は、触媒前センサ１７で検出される見掛け上の空燃比より若干リーンである。よって、放出酸素量ＯＳＡａと吸蔵酸素量ＯＳＡｂとの計測値は等しくならず、前者は後者より大きくなる。
【０１０９】
よってこのことを利用して予備検出を行う。即ち、放出酸素量ＯＳＡａと吸蔵酸素量ＯＳＡｂとをそれぞれ計測すると共に、これら計測値の比Ｒ＝ＯＳＡａ／ＯＳＡｂを算出し、この比Ｒが所定値より大きいとき、気筒間空燃比ばらつき異常の発生の可能性があると判断する。なお、両計測値の差が所定値より大きいとき気筒間空燃比ばらつき異常の発生の可能性があると判断してもよい。
【０１１０】
図１７に予備検出の第３実施例を含む異常検出ルーチンを示す。当該ルーチンはＥＣＵ２０により所定の演算周期毎に繰り返し実行される。
【０１１１】
ステップＳ６０１，Ｓ６０２は前記ステップＳ３０１，Ｓ３０２と同様である。ステップＳ６０３では、アクティブ空燃比制御を実行するのに適した所定条件が成立しているか否かが判断される。例えば、吸入空気量Ｇａ及び機関回転速度Ｎｅの検出値の変動幅が所定範囲内にあるなど、エンジンが定常運転状態であれば、条件成立となる。条件が成立していない場合にはルーチンが終了され、他方、条件が成立している場合にはステップＳ６０４に進む。
【０１１２】
ステップＳ６０４ではアクティブ空燃比制御が実行される。そしてステップＳ６０５において放出酸素量ＯＳＡａと吸蔵酸素量ＯＳＡｂとが計測され、これら計測値が複数ずつ取得される。次いでステップＳ６０６では複数の放出酸素量ＯＳＡａの計測値と、複数の吸蔵酸素量ＯＳＡｂの計測値との平均値ＯＳＡａＡＶ，ＯＳＡｂＡＶがそれぞれ算出され、これら平均値ＯＳＡａＡＶ，ＯＳＡｂＡＶの比Ｒ＝ＯＳＡａＡＶ／ＯＳＡｂＡＶが算出される。そして、この比Ｒと所定値Ｒｓとが比較される。所定値Ｒｓは１より大きい値に設定されている。
【０１１３】
比Ｒが所定値Ｒｓ以下の場合、気筒間空燃比ばらつき異常の発生の可能性がないと判断され、ルーチンが終了される。他方、比Ｒが所定値Ｒｓより大きい場合、気筒間空燃比ばらつき異常の発生の可能性があると判断され、ステップＳ６０７に進む。
【０１１４】
ステップＳ６０７以降では本検出に関わる処理が行われる。まずステップＳ６０７で前記ステップＳ４０３と同様、ストイキＦ／Ｂ制御が実行され、ステップＳ６０８で前記ステップＳ４０７と同様、触媒後センサ学習値ΔＶｒｇのガード範囲拡大と更新速度増大とが実行される。以降のステップＳ６０９〜６１３では前記ステップＳ４０８〜Ｓ４１２と同様の処理が行われる。
【０１１５】
なお、予備検出の第１実施例〜第３実施例については、これらを二つ以上組み合わせてもよい。
【０１１６】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば上述の内燃機関は吸気ポート（吸気通路）噴射式であったが、直噴式エンジンや両噴射方式を兼ね備えたデュアル噴射式エンジンにも、本発明は適用可能である。前記実施形態では触媒前に広域空燃比センサを用い、触媒後にＯ2センサを用いたが、例えば触媒後に広域空燃比センサを用いたり、触媒前にＯ2センサを用いてもよい。これら広域空燃比センサ及びＯ2センサを含め、広く、排気の空燃比を検出するためのセンサを本発明にいう空燃比センサというものとする。前記実施形態では主空燃比制御と補助空燃比制御とで目標空燃比を等しくストイキに設定したが、必ずしもそうする必要はない。両制御の目標空燃比を異ならせることもできる。また例えばエンジンの始動時や暖機時などで主及び補助空燃比制御の目標空燃比をストイキより若干リッチにすることがあるが、このような場合にも本発明は適用可能である。
【０１１７】
前記実施形態では４気筒エンジンにおいて、そのうちの１気筒（＃１気筒）が残りの３気筒（＃２〜＃４気筒）に対しリッチずれした例を示したが、リッチずれ気筒数に制限は無い。一部の複数気筒（例えば＃１、＃２気筒）が残りの気筒（例えば＃３、＃４気筒）に対しリッチずれしたような場合にも、本発明は適用可能である。例えば＃１〜＃３気筒が＃４気筒に対しリッチずれした場合には、＃１〜＃３気筒から見れば、＃４気筒がリーンずれしていることになるが、この場合にも本発明は適用可能である。
【０１１８】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【図面の簡単な説明】
【０１１９】
【図１】本発明の一実施形態に係る内燃機関の概略図である。
【図２】触媒前センサの出力特性を示すグラフである。
【図３】触媒後センサの出力特性を示すグラフである。
【図４】空燃比制御ルーチンを示すフローチャートである。
【図５】主空燃比補正量の算出マップである。
【図６】補助空燃比補正量の設定ルーチンを示すフローチャートである。
【図７】触媒後センサ出力差とその積算の様子を示すグラフである。
【図８】補助空燃比補正量の算出マップである。
【図９】１気筒が他の３気筒よりも空燃比リッチ側にずれている場合を示し、異常検出の第１の態様を説明するための図である。
【図１０】１気筒のリッチ側への空燃比ズレ量と、燃焼室から排出される水素量との関係を示すグラフである。
【図１１】インバランス割合と触媒後センサ学習値との関係を調べた試験結果である。
【図１２】異常検出の一態様に係る異常検出ルーチンを示すフローチャートである。
【図１３】気筒間空燃比ばらつき異常が発生したときの排気空燃比の変動を示すグラフである。
【図１４】予備検出の第１実施例を含む異常検出ルーチンを示すフローチャートである。
【図１５】予備検出の第２実施例を含む異常検出ルーチンを示すフローチャートである。
【図１６】吸蔵酸素量と放出酸素量との計測方法を説明するためのタイムチャートである。
【図１７】予備検出の第３実施例を含む異常検出ルーチンを示すフローチャートである。
【符号の説明】
【０１２０】
１  内燃機関
３  燃焼室
６  排気管
１１  触媒
１２  インジェクタ
１４  排気マニフォールド
１７  触媒前センサ
１８  触媒後センサ
２０  電子制御ユニット（ＥＣＵ）
【図１】
2009074388.tif 000004
【図２】
2009074388.tif 000005
【図３】
2009074388.tif 000006
【図４】
2009074388.tif 000007
【図５】
2009074388.tif 000008
【図６】
2009074388.tif 000009
【図７】
2009074388.tif 000010
【図８】
2009074388.tif 000011
【図９】
2009074388.tif 000012
【図１０】
2009074388.tif 000013
【図１１】
2009074388.tif 000014
【図１２】
2009074388.tif 000015
【図１３】
2009074388.tif 000016
【図１４】
2009074388.tif 000017
【図１５】
2009074388.tif 000018
【図１６】
2009074388.tif 000019
【図１７】
2009074388.tif 000020