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