(57)【要約】      （修正有）【課題】使用燃料のアルコール濃度に拘わらず正確な検出を可能とする。【解決手段】アルコール燃料を使用可能な多気筒内燃機関１の気筒間空燃比ばらつき異常検出装置は、使用燃料のアルコール濃度を取得するためのセンサ３５と、排気通路に設けられた空燃比センサ１７とを備える。空燃比センサの出力変動度合いに相関する出力変動パラメータと所定の判定値とに基づき、正常、異常または保留の第１判定を実行する。第１判定において保留と判定されたとき、取得されたアルコール濃度に応じて異なる補正値を用いて、出力変動パラメータおよび判定値の一方を補正する。補正された一方と、他方とに基づき、正常または異常の第２判定を実行する。【選択図】図１
2012132392.tif 000002
【特許請求の範囲】
【請求項１】
アルコール燃料を使用可能な多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
使用燃料のアルコール濃度を取得する取得手段と、
前記内燃機関の排気通路に設けられた空燃比センサと、
前記空燃比センサの出力変動度合いに相関する出力変動パラメータと所定の判定値とに基づき、正常、異常または保留の第１判定を実行する第１判定手段と、
前記第１判定手段により保留と判定されたとき、前記取得手段により取得されたアルコール濃度に応じて異なる補正値を用いて、前記出力変動パラメータおよび前記判定値の一方を補正する補正手段と、
前記補正手段により補正された一方と、他方とに基づき、正常または異常の第２判定を実行する第２判定手段と、
を備えることを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記第１判定手段により保留と判定されたとき、異常気筒を特定する特定手段をさらに備え、
前記補正手段は、前記第１判定手段により保留と判定されたとき、前記特定手段により特定された異常気筒と、前記取得手段により取得されたアルコール濃度とに応じて異なる補正値を用いて、前記出力変動パラメータおよび前記判定値の一方を補正する
ことを特徴とする請求項１に記載の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記補正手段は、前記特定手段により特定された異常気筒が前記空燃比センサに対しガス当たりの強い気筒であるときには、アルコール濃度に応じて変化するような補正値を用い、前記特定された異常気筒が前記空燃比センサに対しガス当たりの弱い気筒であるときには、アルコール濃度に応じて変化しないような補正値を用いる
ことを特徴とする請求項２に記載の気筒間空燃比ばらつき異常検出装置。
【請求項４】
前記内燃機関の吸入空気量を検出する吸入空気量検出手段をさらに備え、
前記補正手段は、前記吸入空気量検出手段により検出された吸入空気量に基づき、前記補正された一方をさらに補正し、
前記第２判定手段は、前記さらに補正された一方と、他方とに基づき、正常または異常の第２判定を実行する
ことを特徴とする請求項１〜３のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項５】
前記出力変動パラメータは、異なる二つのタイミングにおける空燃比センサ出力の差に基づく値である
ことを特徴とする請求項１〜４のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項６】
アルコール燃料を使用可能な多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
使用燃料のアルコール濃度を取得する取得手段と、
前記内燃機関の排気通路に設けられた触媒と、
前記触媒の上流側に設けられた空燃比センサとしての触媒前センサと、
前記触媒の下流側に設けられた空燃比センサとしての触媒後センサと、
前記触媒前センサの出力に基づく主空燃比制御と、前記触媒後センサの出力に基づく補助空燃比制御とを実行する空燃比制御手段と、
前記触媒後センサの出力に基づき前記補助空燃比制御のための制御量を算出する制御量算出手段と、
前記制御量算出手段により算出された前記制御量と所定の判定値とに基づき、正常、異常または保留の第１判定を実行する第１判定手段と、
前記第１判定手段により保留と判定されたとき、前記取得手段により取得されたアルコール濃度に応じて異なる補正値を用いて、前記制御量および前記判定値の一方を補正する補正手段と、
前記補正手段により補正された一方と、他方とに基づき、正常または異常の第２判定を実行する第２判定手段と、
を備えることを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項７】
前記第１判定手段により保留と判定されたとき、異常気筒を特定する特定手段をさらに備え、
前記補正手段は、前記第１判定手段により保留と判定されたとき、前記特定手段により特定された異常気筒と、前記取得手段により取得されたアルコール濃度とに応じて異なる補正値を用いて、前記制御量および前記判定値の一方を補正する
ことを特徴とする請求項６に記載の気筒間空燃比ばらつき異常検出装置。
【請求項８】
前記補正手段は、前記特定手段により特定された異常気筒が前記触媒前センサに対しガス当たりの強い気筒であるときには、アルコール濃度に応じて大きく変化するような補正値を用い、前記特定された異常気筒が前記空燃比センサに対しガス当たりの弱い気筒であるときには、アルコール濃度に応じて小さく変化するような補正値を用いる
ことを特徴とする請求項７に記載の気筒間空燃比ばらつき異常検出装置。
【請求項９】
前記内燃機関の吸入空気量を検出する吸入空気量検出手段をさらに備え、
前記補正手段は、前記吸入空気量検出手段により検出された吸入空気量に基づき、前記補正された一方をさらに補正し、
前記第２判定手段は、前記さらに補正された一方と、他方とに基づき、正常または異常の第２判定を実行する
ことを特徴とする請求項６〜８のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項１０】
前記空燃比制御手段は、前記制御量を所定のガード範囲内としつつ所定の更新速度で更新し、且つばらつき異常検出時、前記ガード範囲を所定の基準範囲よりも拡大すること、および前記更新速度を所定の基準速度よりも増大することの少なくとも一方を実行する
ことを特徴とする請求項６〜９のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項１１】
前記制御量が、触媒後センサ学習値と補助空燃比補正量のいずれか一方からなる
ことを特徴とする請求項６〜１０のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項１２】
燃料給油があったことを判定する給油判定手段をさらに備え、前記給油判定手段により燃料給油があったと判定された時から所定時間経過後にばらつき異常検出を行う
ことを特徴とする請求項１〜１１のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比のばらつき異常を検出するための装置に係り、特に、多気筒内燃機関において気筒間の空燃比が比較的大きくばらついていることを検出する装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションに影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されており、最近ではこれを法規制化する動きもある。
【０００５】
例えば特許文献１に記載の装置では、触媒の前後に設置された空燃比センサの出力乖離に基づき、気筒間空燃比ばらつき異常を検出するようにしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−３０４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、代替燃料としてのアルコール燃料を使用可能な多気筒内燃機関を搭載した車両（所謂ＦＦＶ（Flexible Fuel Vehicle））が実用化されている。かかる内燃機関においては、基準のガソリン燃料に対し０〜１００％濃度のアルコール燃料を含む燃料が使用可能である。
【０００８】
かかる内燃機関に上述のばらつき異常検出を行うと、使用燃料のアルコール濃度に応じて検出結果が異なる場合があることが判明した。
【０００９】
そこで本発明は、上記事情に鑑みて創案され、その目的は、使用燃料のアルコール濃度に拘わらず正確な検出を可能とし、検出精度を向上できる気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明の一の態様によれば、
アルコール燃料を使用可能な多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
使用燃料のアルコール濃度を取得する取得手段と、
前記内燃機関の排気通路に設けられた空燃比センサと、
前記空燃比センサの出力変動度合いに相関する出力変動パラメータと所定の判定値とに基づき、正常、異常または保留の第１判定を実行する第１判定手段と、
前記第１判定手段により保留と判定されたとき、前記取得手段により取得されたアルコール濃度に応じて異なる補正値を用いて、前記出力変動パラメータおよび前記判定値の一方を補正する補正手段と、
前記補正手段により補正された一方と、他方とに基づき、正常または異常の第２判定を実行する第２判定手段と、
を備えることを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１１】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記第１判定手段により保留と判定されたとき、異常気筒を特定する特定手段をさらに備え、
前記補正手段は、前記第１判定手段により保留と判定されたとき、前記特定手段により特定された異常気筒と、前記取得手段により取得されたアルコール濃度とに応じて異なる補正値を用いて、前記出力変動パラメータおよび前記判定値の一方を補正する。
【００１２】
好ましくは、前記補正手段は、前記特定手段により特定された異常気筒が前記空燃比センサに対しガス当たりの強い気筒であるときには、アルコール濃度に応じて変化するような補正値を用い、前記特定された異常気筒が前記空燃比センサに対しガス当たりの弱い気筒であるときには、アルコール濃度に応じて変化しないような補正値を用いる。
【００１３】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記内燃機関の吸入空気量を検出する吸入空気量検出手段をさらに備え、
前記補正手段は、前記吸入空気量検出手段により検出された吸入空気量に基づき、前記補正された一方をさらに補正し、
前記第２判定手段は、前記さらに補正された一方と、他方とに基づき、正常または異常の第２判定を実行する。
【００１４】
好ましくは、前記出力変動パラメータは、異なる二つのタイミングにおける空燃比センサ出力の差に基づく値である。
【００１５】
本発明の他の態様によれば、
アルコール燃料を使用可能な多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
使用燃料のアルコール濃度を取得する取得手段と、
前記内燃機関の排気通路に設けられた触媒と、
前記触媒の上流側に設けられた空燃比センサとしての触媒前センサと、
前記触媒の下流側に設けられた空燃比センサとしての触媒後センサと、
前記触媒前センサの出力に基づく主空燃比制御と、前記触媒後センサの出力に基づく補助空燃比制御とを実行する空燃比制御手段と、
前記触媒後センサの出力に基づき前記補助空燃比制御のための制御量を算出する制御量算出手段と、
前記制御量算出手段により算出された前記制御量と所定の判定値とに基づき、正常、異常または保留の第１判定を実行する第１判定手段と、
前記第１判定手段により保留と判定されたとき、前記取得手段により取得されたアルコール濃度に応じて異なる補正値を用いて、前記制御量および前記判定値の一方を補正する補正手段と、
前記補正手段により補正された一方と、他方とに基づき、正常または異常の第２判定を実行する第２判定手段と、
を備えることを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１６】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記第１判定手段により保留と判定されたとき、異常気筒を特定する特定手段をさらに備え、
前記補正手段は、前記第１判定手段により保留と判定されたとき、前記特定手段により特定された異常気筒と、前記取得手段により取得されたアルコール濃度とに応じて異なる補正値を用いて、前記制御量および前記判定値の一方を補正する。
【００１７】
好ましくは、前記補正手段は、前記特定手段により特定された異常気筒が前記触媒前センサに対しガス当たりの強い気筒であるときには、アルコール濃度に応じて大きく変化するような補正値を用い、前記特定された異常気筒が前記空燃比センサに対しガス当たりの弱い気筒であるときには、アルコール濃度に応じて小さく変化するような補正値を用いる。
【００１８】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記内燃機関の吸入空気量を検出する吸入空気量検出手段をさらに備え、
前記補正手段は、前記吸入空気量検出手段により検出された吸入空気量に基づき、前記補正された一方をさらに補正し、
前記第２判定手段は、前記さらに補正された一方と、他方とに基づき、正常または異常の第２判定を実行する。
【００１９】
好ましくは、前記空燃比制御手段は、前記制御量を所定のガード範囲内としつつ所定の更新速度で更新し、且つばらつき異常検出時、前記ガード範囲を所定の基準範囲よりも拡大すること、および前記更新速度を所定の基準速度よりも増大することの少なくとも一方を実行する。
【００２０】
好ましくは、前記制御量が、触媒後センサ学習値と補助空燃比補正量のいずれか一方からなる。
【００２１】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、燃料給油があったことを判定する給油判定手段をさらに備え、前記給油判定手段により燃料給油があったと判定された時から所定時間経過後にばらつき異常検出を行う。
【発明の効果】
【００２２】
本発明によれば、使用燃料のアルコール濃度に拘わらず正確な検出を可能とし、検出精度を向上できるという、優れた効果が発揮される。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】気筒間空燃比ばらつき度合いに応じた排気空燃比の変動を示すグラフである。
【図４】図３のＵ部に相当する拡大図である。
【図５】インバランス割合と出力変動パラメータの関係を示すグラフである。
【図６】アルコール濃度、センサへのガス当たり、および吸入空気量の出力変動パラメータへの影響を示すグラフである。
【図７】アルコール濃度補正における補正値の一例を示す。
【図８】吸入空気量補正における補正値の一例を示す。
【図９】異常気筒特定の原理を説明するための図である。
【図１０】第１の態様に係るばらつき異常検出ルーチンのフローチャートである。
【図１１】第１の態様に係る保留時処理のフローチャートである。
【図１２】空燃比制御ルーチンを示すフローチャートである。
【図１３】主空燃比補正量の算出マップである。
【図１４】補助空燃比補正量の設定ルーチンを示すフローチャートである。
【図１５】触媒後センサ出力差とその積算の様子を示すタイムチャートである。
【図１６】補助空燃比補正量の算出マップである。
【図１７】インバランス割合と触媒後センサ学習値との関係を示すグラフである。
【図１８】アルコール濃度およびセンサへのガス当たりの触媒後センサ学習値への影響を示すグラフである。
【図１９】アルコール濃度補正における補正値の一例を示す。
【図２０】吸入空気量補正における補正値の一例を示す。
【図２１】第２の態様に係るばらつき異常検出ルーチンのフローチャートである。
【図２２】第２の態様に係る保留時処理のフローチャートである。
【発明を実施するための形態】
【００２４】
以下、本発明の実施形態を添付図面に基づき説明する。  
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒火花点火式内燃機関である。内燃機関１は＃１〜＃４気筒を備える。但し気筒数、形式等は特に限定されない。
【００２５】
特に本実施形態の内燃機関１は、燃料として、アルコール燃料とガソリン燃料とをそれぞれ単独でまたは混合して使用可能なＦＦＶ用エンジンとして構成されている。燃料のアルコール濃度は０％（ガソリンのみ）〜１００％（アルコールのみ）の範囲内でユーザが任意に設定可能である。以下、特に言及しない限り、基準燃料であるガソリンのみが使用燃料であるとして説明を進める。
【００２６】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒ごとに取り付けられている。
【００２７】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管、サージタンク８及び吸気管１３により吸気通路が形成される。
【００２８】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒ごとに配設されている。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。
【００２９】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。
【００３０】
排気管６の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒１１と下流触媒１９が直列に取り付けられている。上流触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、上流触媒１１の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。このように上流触媒１１の上流側の排気合流部に単一の触媒前センサ１７が設置されている。上流触媒１１が本発明にいう「触媒」に該当する。
【００３１】
各気筒のインジェクタ１２に燃料を供給する共通のデリバリパイプ３０は、燃料配管３１を介して燃料タンク３２に接続されている。燃料配管３１には、デリバリパイプ３０に燃料タンク３２内の燃料を供給するための燃料ポンプ３３と、燃料のアルコール濃度を検出するためのアルコール濃度センサ３４とが設けられている。燃料タンク３２には、燃料タンク３２内の燃料残量を検知するための燃料残量センサ３５（例えばセンダーゲージ）が設けられている。
【００３２】
アルコール濃度センサ３４としては、燃料の誘電率に基づいてアルコール濃度を検出する静電容量式のもの、あるいは燃料中の光の屈折率に基づいてアルコール濃度を検出する光学式のものなどが使用可能である。本実施形態ではアルコール濃度センサ３４が燃料配管３１に設けられているが、燃料タンク３２やデリバリパイプ３０等、燃料経路中のあらゆる部位に設置することが可能である。
【００３３】
なお、ここでは燃料のアルコール濃度をアルコール濃度センサ３４により直接検出するが、これを推定するようにしてもよい。当該推定方法は既に公知であり、例えば特開２００７−３０３３８９号公報、特開２００９−２２２０１４号公報、特開２００９−２２８５９２号公報の手法が採用可能である。またアルコール濃度の検出値または推定値をＥＣＵ２０に学習してもよい。
【００３４】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御手段としての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、内燃機関１の冷却水の温度を検出する水温センサ２２、上流触媒１１の温度（床温）を検出する温度センサ２１、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。また燃料ポンプ３３、アルコール濃度センサ３４および燃料残量センサ３５もそれぞれＥＣＵ２０に電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。なおスロットル開度は通常アクセル開度に応じた開度に制御される。
【００３５】
温度センサ２１は、その温度検出部（素子部）が上流触媒１１に挿入されて触媒床温を直接検出するようになっている。その温度検出部の位置については基本的には任意であるが、本実施形態では後述する理由から、上流触媒１１の流路長Ｌの中間位置Ｌ／２よりも上流側（前側）とされている。
【００３６】
触媒前センサ１７は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．６）であるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３７】
他方、触媒後センサ１８は所謂Ｏ2センサからなり、ストイキを境に出力値が急変する特性を持つ。図２に触媒後センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ１８の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３８】
上流触媒１１及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３９】
そこで上流触媒１１に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比制御（ストイキ制御）がＥＣＵ２０により実行される。この空燃比制御は、触媒前センサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるような主空燃比制御（主空燃比フィードバック制御）と、触媒後センサ１８によって検出された排気空燃比をストイキに一致させるような補助空燃比制御（補助空燃比フィードバック制御）とからなる。
【００４０】
さて、例えば全気筒のうちの一部の気筒のインジェクタ１２が故障し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生したとする。例えば＃１気筒が他の＃２、＃３及び＃４気筒よりも燃料噴射量が多くなり、その空燃比が大きくリッチ側にずれる場合等である。このときでも前述の主空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ１７に供給されるトータルガスの空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２、＃３及び＃４気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４１】
［ばらつき異常検出の第１の態様］
以下、ばらつき異常検出の第１の態様を説明する。  
図３に示すように、気筒間空燃比ばらつきが発生すると、１エンジンサイクル間（＝７２０°ＣＡ）での排気空燃比の変動が大きくなる。（Ｂ）の空燃比線図ａ，ｂ，ｃはそれぞればらつき無し、１気筒のみ２０％のインバランス割合でリッチずれ、及び１気筒のみ５０％のインバランス割合でリッチずれの場合の、触媒前センサ１７による検出空燃比Ａ／Ｆを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。
【００４２】
ここでインバランス割合（％）とは、気筒間空燃比のばらつき度合いに関するパラメータである。即ち、インバランス割合とは、全気筒のうちある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス割合をＩＢ、インバランス気筒の燃料噴射量をＱｉｂ、バランス気筒の燃料噴射量即ち基準噴射量をＱｓとすると、ＩＢ＝（Ｑｉｂ−Ｑｓ）／Ｑｓで表される。インバランス割合ＩＢが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００４３】
空燃比ばらつき異常が発生すると触媒前センサ１７の出力変動が大きくなるので、この特性を利用し、当該出力変動に基づいてばらつき異常を検出することが可能である。
【００４４】
本実施形態では、空燃比センサ出力の変動度合いに相関するパラメータである出力変動パラメータを算出すると共に、この出力変動パラメータと、所定の異常判定値とに基づき、異常を検出する。
【００４５】
以下に出力変動パラメータの算出方法を説明する。図４は図３のＵ部に相当する拡大図であり、特に１エンジンサイクル内の触媒前センサ出力の変動を簡略的に示す。触媒前センサ出力としては、触媒前センサ１７の出力電圧Ｖｆを空燃比Ａ／Ｆに換算した値を用いる。但し触媒前センサ１７の出力電圧Ｖｆを直接用いることも可能である。
【００４６】
図４（Ｂ）に示すように、ＥＣＵ２０は、１エンジンサイクル内において、所定のサンプル周期τ（単位時間、例えば４ｍｓ）毎に、触媒前センサ出力Ａ／Ｆの値を取得する。そして今回のタイミング（第２のタイミング）で取得した値Ａ／Ｆnと、前回のタイミング（第１のタイミング）で取得した値Ａ／Ｆn-1との差ΔＡ／Ｆnの絶対値を次式（１）により求める。この差ΔＡ／Ｆnは今回のタイミングにおける微分値あるいは傾きと言い換えることができる。
【００４７】
【数１】
2012132392.tif 000003
【００４８】
最も単純には、この差ΔＡ／Ｆnが触媒前センサ出力の変動を表す。変動度合いが大きくなるほど空燃比線図の傾きが大きくなり、差ΔＡ／Ｆnが大きくなるからである。そこで所定の１タイミングにおける差ΔＡ／Ｆnの値を出力変動パラメータとすることができる。
【００４９】
但し、本実施形態では精度向上のため、複数の差ΔＡ／Ｆnの平均値を出力変動パラメータとする。本実施形態では、１エンジンサイクル内において、各タイミング毎に差ΔＡ／Ｆnを積算し、最終積算値をサンプル数Ｎで除し、１エンジンサイクル内の差ΔＡ／Ｆnの平均値を求める。そしてさらに、Ｍエンジンサイクル分（例えばＭ＝１００）だけ差ΔＡ／Ｆnの平均値を積算し、最終積算値をサイクル数Ｍで除し、Ｍエンジンサイクル内の差ΔＡ／Ｆnの平均値を求める。こうして求められた最終的な平均値を出力変動パラメータとし、以下「Ｘ」で表示する。触媒前センサ出力の変動度合いが大きいほど出力変動パラメータＸは大きくなる。
【００５０】
なお、触媒前センサ出力Ａ／Ｆは増加する場合と減少する場合とがあるので、これら各場合の一方についてだけ上記差ΔＡ／Ｆnあるいはその平均値を求め、これを出力変動パラメータとしても良い。特に１気筒のみリッチずれの場合、当該１気筒に対応した排気ガスを触媒前センサが受けた時にその出力が急速にリッチ側に変化（すなわち急減）するので、減少側のみの値をリッチずれ検出のために用いることも可能である。もっとも、これに限定されず、増加側の値のみを用いることも可能である。
【００５１】
また、触媒前センサ出力の変動度合いに相関する如何なる値をも出力変動パラメータとすることができる。例えば、１エンジンサイクル内における触媒前センサ出力の最大ピークと最小ピークの差（所謂ピークトゥピーク; peak to peak）、または２階微分値の最大ピークまたは最小ピークの絶対値に基づいて、出力変動パラメータを算出することもできる。触媒前センサ出力の変動度合いが大きいほど、触媒前センサ出力の最大ピークと最小ピークの差は大きくなり、また２階微分値の最大ピークまたは最小ピークの絶対値も大きくなるからである。
【００５２】
図５には、インバランス割合ＩＢ（％）と出力変動パラメータＸの関係を示す。図示されるように、インバランス割合ＩＢと出力変動パラメータＸの間には強い相関関係があり、インバランス割合ＩＢの絶対値が増加するほど空燃比変動パラメータＸも増加する。
【００５３】
基本的には、算出された出力変動パラメータＸが所定の判定値以上であればばらつき異常ありと判定することができ、算出された出力変動パラメータＸが判定値より小さければばらつき異常なし、即ち正常と判定することができる。しかしながら、本実施形態では、後述するように、検出精度向上の観点からこのような判定を２段階に分けて実行する。最初に行われる第１判定においては正常、異常または保留の判定を実行し、保留の場合に所定の処理を行って正常または異常の第２判定を実行する。
【００５４】
＜出力変動パラメータの補正＞
ところで、使用燃料にアルコールが含まれていると、使用燃料がガソリンのみの場合と比べて、触媒前センサ出力変動が変化し、出力変動パラメータＸの値が異なることが判明した。
【００５５】
すなわち、使用燃料にアルコールが含まれていると、使用燃料がガソリンのみの場合と比べて、排気中の水素（Ｈ2）濃度が増加する。水素は分子サイズが小さいため、触媒前センサの拡散層を選択的に通過可能である。従って排気中の水素濃度が増加するとセンサの反応が速くなる。この影響で、触媒前センサ出力変動が増大し、出力変動パラメータＸの値が増大する。
【００５６】
よって、検出精度向上のためには、使用燃料のアルコール濃度に基づき出力変動パラメータＸを補正するのが望ましい。具体的には、使用燃料のアルコール濃度に応じて異なる補正値を用いて出力変動パラメータＸを補正し、使用燃料のアルコール濃度が増加するほど出力変動パラメータＸの値を減少側に補正する。
【００５７】
こうすることで、使用燃料のアルコール濃度に拘わらず正確な検出を可能とし、検出精度を向上することができる。
【００５８】
なお、出力変動パラメータＸを補正する代わりに、その比較対象となる判定値を補正してもよい。具体的には、使用燃料のアルコール濃度が増加するほど判定値を増大側に補正する。
【００５９】
一方、多気筒エンジンの場合、触媒前センサ１７に対するガス当たりが強い気筒と弱い気筒が存在する。ガス当たりが強い気筒が異常であると、前述のようなアルコール濃度に応じた出力変動変化が顕著であるが、ガス当たりが弱い気筒が異常であるとかかる出力変動変化が少ないかまたは殆どない場合がある。
【００６０】
そこで、前記第１判定において保留と判定した場合、異常気筒を特定し、この異常気筒に応じても異なる補正値を用いて出力変動パラメータＸを補正するのが好ましい。より好ましくは、異常気筒がガス当たりの弱い気筒である場合、アルコール濃度に基づく補正は実質的になされないようにし（そのような補正値に設定し）、異常気筒がガス当たりの強い気筒である場合のみ、アルコール濃度に基づく補正がなされるようにする（そのような補正値に設定する）。
【００６１】
こうすることで、ガス当たりの強弱の影響まで含めて補正することが可能であり、検出精度をより一層向上することができる。
【００６２】
なお、気筒間のガス当たり強さの相違は主に触媒前センサ１７の設置位置や、センサ上流側の排気通路構造に起因する。このガス当たり強さの相違は予め実験的に把握でき、また気筒番号とガス当たり強さとの対応関係はＥＣＵ２０に予め情報として入力しておくことができる。
【００６３】
ところで、触媒前センサ出力変動の大きさは、前述のアルコール濃度およびガス当たり強さに加え、触媒前センサに対する排気ガス流量によっても変化することが判明した。
【００６４】
すなわち、排気ガス流量が多いほど触媒前センサ１７が水素を処理しきれなくなり、触媒前センサ出力変動への影響が大きくなる。具体的には、排気ガス流量が多いほど触媒前センサ出力変動が増大し、出力変動パラメータＸの値が増大する。
【００６５】
そこで、排気ガス流量の代用値である吸入空気量に応じて異なる補正値を用いて、出力変動パラメータＸを補正するのが好ましい。より好ましくは、吸入空気量が増加するほど出力変動パラメータＸの値を減少側に補正する。
【００６６】
ここで、アルコール濃度のときと同様、異常気筒がガス当たりの強い気筒か弱い気筒かによって、出力変動パラメータＸに対する排気ガス流量の影響度が異なる。例えば、ガス当たりの強い気筒が異常であると、排気ガス流量に応じた出力変動変化が顕著であるが、ガス当たりの弱い気筒が異常であるとかかる出力変動変化が少ないかまたは殆どない場合がある。
【００６７】
そこで、排気ガス流量ないし吸入空気量に基づく補正を実施するときには、異常気筒に応じて異なる補正値を用いるのが好ましい。より好ましくは、異常気筒がガス当たりの弱い気筒である場合、吸入空気量に基づく補正は実質的になされないようにし（そのような補正値に設定し）、異常気筒がガス当たりの強い気筒である場合のみ、吸入空気量に基づく補正がなされるようにする（そのような補正値に設定する）。
【００６８】
こうすることで、排気ガス流量の大小の影響まで含めて補正することが可能であり、検出精度をより一層向上することができる。
【００６９】
図６（Ａ）〜（Ｄ）には、燃料のアルコール濃度（％）、センサへのガス当たり、および吸入空気量Ｇａ（ｇ／ｓ）が出力変動パラメータＸに及ぼす影響を調べた試験結果を示す。アルコール濃度としてエタノール濃度が用いられている。（Ａ）、（Ｃ）はガス当たりの弱い気筒（本実施形態では＃１，＃３気筒）が異常気筒である場合、（Ｂ）、（Ｄ）はガス当たりの強い気筒（本実施形態では＃２，＃４気筒）が異常気筒である場合を示す。また（Ａ）、（Ｂ）は吸入空気量Ｇａが２０（ｇ／ｓ）の場合、（Ｃ）、（Ｄ）は吸入空気量Ｇａがより多い３０（ｇ／ｓ）の場合を示す。
【００７０】
図中の各データないしプロットについては、三角がインバランス割合６０％の場合、四角がインバランス割合４０％の場合、菱形がインバランス割合２０％の場合を示す。ここではセンサ出力の増大時と減少時でデータを分けている。すなわち、前記式（１）の右辺は絶対値とせず、増大時のみの差ΔＡ／Ｆnを平均化して黒塗りで示すような正の出力変動パラメータＸを得ると共に、減少時のみの差ΔＡ／Ｆnを平均化して白抜きで示すような負の出力変動パラメータＸを得ている。
【００７１】
まず（Ｂ）、（Ｄ）に着目する。見られるように、エタノール濃度の増大につれ出力変動パラメータＸの絶対値は大きくなる傾向がある（エタノール濃度に対する感度大）。また吸入空気量Ｇａの増大によっても出力変動パラメータＸの絶対値は大きくなる傾向がある（吸入空気量に対する感度大）。このことから、ガス当たりの強い気筒が異常気筒である場合には、アルコール濃度および吸入空気量に基づく補正を行うのが好ましいことが分かる。
【００７２】
次に（Ａ）、（Ｃ）に着目する。見られるように、エタノール濃度の増大によって出力変動パラメータＸの絶対値はほぼ変わらず（エタノール濃度に対する感度小）、また吸入空気量Ｇａの増大によっても出力変動パラメータＸの絶対値はそれほど変わらない（吸入空気量に対する感度小）という傾向がある。このことから、ガス当たりの弱い気筒が異常気筒である場合には、アルコール濃度および吸入空気量に基づく補正を実質的に行わないのが好ましいことが分かる。
【００７３】
図７（Ａ）、（Ｂ）には、アルコール濃度補正における補正値としての補正係数Ｋａの一例を示す。（Ａ）はガス当たりの弱い気筒が異常気筒である場合、（Ｂ）はガス当たりの強い気筒が異常気筒である場合を示す。補正係数Ｋａは出力変動パラメータＸに対する乗算値である。但し加算値を用いるようにしてもよい。
【００７４】
（Ｂ）に見られるように、ガス当たりの強い気筒が異常気筒である場合、アルコール濃度ＡＬの増大につれ補正係数Ｋａは徐々に小さくなり、出力変動パラメータＸをより大きく減少側に補正するような値とされている。基準状態はアルコール濃度ＡＬ＝０（％）、すなわち燃料がガソリンのみの場合で、このとき補正係数Ｋａは１すなわち実質的に補正無しである。アルコール濃度ＡＬが増大しても出力変動パラメータＸが基準状態相当に補正されるよう、補正係数Ｋａが設定され、アルコール濃度ＡＬの変化分が補償されている。
【００７５】
他方（Ａ）に見られるように、ガス当たりの弱い気筒が異常気筒である場合だと、アルコール濃度ＡＬが変化しても補正係数Ｋａは常に１すなわち実質的に補正無しである。
【００７６】
次に、図８（Ａ）、（Ｂ）には、吸入空気量補正における補正値としての補正係数Ｋｇの一例を示す。（Ａ）はガス当たりの弱い気筒が異常気筒である場合、（Ｂ）はガス当たりの強い気筒が異常気筒である場合を示す。ここでも補正係数Ｋｇは出力変動パラメータＸに対する乗算値である。但し加算値を用いるようにしてもよい。
【００７７】
（Ｂ）に見られるように、ガス当たりの強い気筒が異常気筒である場合、吸入空気量Ｇａの増大につれ補正係数Ｋｇは徐々に小さくなり、出力変動パラメータＸをより大きく減少側に補正するような値とされている。基準状態は吸入空気量Ｇａ＝０（ｇ／ｓ）で、このとき補正係数Ｋｇは１である。吸入空気量Ｇａが増大しても出力変動パラメータＸが基準状態相当に補正されるよう、補正係数Ｋｇが設定され、吸入空気量Ｇａの変化分が補償されている。
【００７８】
他方（Ａ）に見られるように、ガス当たりの弱い気筒が異常気筒である場合だと、吸入空気量Ｇａが変化しても補正係数Ｋｇは常に１すなわち実質的に補正無しである。
【００７９】
なお、ガス当たりの強い気筒が異常気筒である場合に、出力変動パラメータＸではなく判定値を補正する場合には上記と逆となる。すなわち、判定値に乗算または加算する補正値は、アルコール濃度の増大につれ大きくなり、吸入空気量の増大につれ大きくなる。他方、ガス当たりの弱い気筒が異常気筒である場合に判定値を補正する場合、補正値は、アルコール濃度の増大によっても吸入空気量の増大によっても変化せず、基準状態の値と等しい一定値となる。
【００８０】
＜異常気筒特定＞
上述したように、第１判定において保留判定を行った場合、異常気筒の特定が実行される。異常気筒の特定については様々な方法があるが、そのうち好ましい一例を以下に説明する。
【００８１】
本実施形態では、気筒毎に燃料噴射量を強制的に増量または減量したときの触媒温度の変化に基づき異常気筒を特定する。
【００８２】
空燃比ばらつきが発生し、図３に示したような１エンジンサイクル間における排気空燃比の変動が生じると、上流触媒１１において短い周期で酸化還元反応が繰り返され、上流触媒１１の活性が促進される。その結果、空燃比ばらつきが無いときに比べ、上流触媒１１の温度が上昇する。ここで上流触媒１１（下流触媒１９も同様）は酸素吸蔵能（Ｏ2ストレージ能）を有し、供給された排気ガスの空燃比がストイキよりリーンのときに排気ガス中の過剰酸素を吸着保持する一方、供給された排気ガスの空燃比がストイキよりリッチのときには吸着保持していた酸素を放出する。このときの酸素吸着が酸化反応、酸素放出が還元反応である。図３に示したように、空燃比ばらつきが発生すると上流触媒１１に供給される排気ガスの空燃比が１エンジンサイクル間でリーン、リッチと変化するので、その度に酸化還元反応が行われ、上流触媒１１の温度が上昇する。
【００８３】
かかる特性を踏まえ、強制増量または減量を伴う異常気筒特定の原理を、図９を参照しつつ説明する。
【００８４】
例えば図９（Ａ）に示すように、＃１気筒が異常であって＃１気筒の燃料噴射量がストイキ相当量に対し４０％の割合で多くなっており（即ちインバランス割合が＋４０％）、他の＃２，＃３，＃４気筒では燃料噴射量がストイキ相当量となっている（即ちインバランス割合が０％）場合を想定する。このとき、主・補助空燃比制御をある程度の時間実行すると、やがて図９（Ｂ）に示すように、トータルの燃料噴射量がストイキ相当量となるように＃１気筒では＋３０％のインバランス割合、他の＃２，＃３，＃４気筒ではそれぞれ−１０％のインバランス割合となる。このときにもやはり各気筒でストイキ相当量に対し＋または−の噴射量ずれが生じている。よって１エンジンサイクル間で触媒の酸化還元反応が起こり、全気筒で噴射量ずれが生じていない場合に比べ触媒温度は高くなる。
【００８５】
この図９（Ｂ）の状態から、例えば図９（Ｃ）に示すように、＃１気筒の燃料噴射量をストイキ相当量の４０％だけ強制的に減量する。こうすると＃１気筒は−１０％のインバランス割合となり、他の＃２，＃３，＃４気筒のインバランス割合と等しくなる。
【００８６】
この状態から、＃１気筒の燃料噴射量減量状態を維持しつつ、主・補助空燃比制御をある程度の時間実行すると、やがて図９（Ｄ）に示すように、各気筒の燃料噴射量が＋１０％ずつ補正され、各気筒の燃料噴射量がストイキ相当量になる（即ち各気筒のインバランス割合は０％）。よって触媒温度は全気筒で噴射量ずれが生じていないときのレベルにまで低下する。このことから、燃料噴射量を強制的に所定量減量したときに触媒温度が所定値以上低下した気筒は異常気筒（特にリッチずれ異常気筒）であると特定することができる。
【００８７】
一方、図９（Ｂ）の状態から、例えば図９（Ｅ）に示すように、正常な＃２気筒において燃料噴射量をストイキ相当量の４０％だけ強制的に減量したとする。こうすると各気筒のインバランス割合は＃１気筒では変わらず＋３０％、＃２気筒では−５０％、＃３，＃４気筒では変わらずー１０％となる。
【００８８】
この状態から、＃２気筒の燃料噴射量減量状態を維持しつつ、主・補助空燃比制御をある程度の時間実行すると、やがて図９（Ｆ）に示すように、トータルの燃料噴射量がストイキ相当量となるように＃１気筒では＋４０％、＃２気筒では−４０％、＃３，＃４気筒では０％となる。この場合にも、１エンジンサイクル間で触媒の酸化還元反応が起こり、全気筒で噴射量ずれが生じていない場合に比べ触媒温度は高くなる。このことから、燃料噴射量を強制的に所定量減量したときに触媒温度が所定値以上低下しなかった気筒は異常気筒ではなく、正常気筒であると特定することができる。
【００８９】
図示しないが、逆のパターンで、例えば図９（Ａ）の例のうち＃１気筒のみが異常でその燃料噴射量が−４０％少なくなっている（即ちインバランス割合が−４０％）場合を想定する。すると、気筒毎に燃料噴射量を強制的に増量した場合に、触媒温度が所定値以上低下した気筒は異常気筒（特にリーンずれ異常気筒）であり、触媒温度が所定値以上低下しなかった気筒は正常気筒であると特定することができる。
【００９０】
従って、気筒毎に燃料噴射量を強制的に増量または減量したときの増量または減量前後の触媒温度の変化量を温度センサ２１で検知し、この変化量が所定値以上である気筒は異常気筒、所定値未満である気筒は正常気筒というように異常気筒が特定される。
【００９１】
なお、上流触媒１１においては、その上流端（前端）から供給ガスを受けるので、その上流端から下流側（後側）に向けて徐々に温度変化するようになる。よって上流触媒１１の温度変化を即座に検知すべく、温度センサ２１の温度検出部は、本実施形態の如く上流触媒１１の流路長Ｌの中間位置Ｌ／２よりも上流側に位置されるのが好ましく、より言えばできるだけ上流側に位置されるのが好ましい。
【００９２】
かかる強制増量または減量を伴う異常気筒特定は、少なからず通常のエンジン制御、エミッション、燃費等に影響を及ぼすことから、可能な限り実施しないのが望ましい。本実施形態では第１判定において保留判定の場合のみ異常気筒特定を実施するので、通常のエンジン制御等への影響を最小限に止めることができる。
【００９３】
＜ばらつき異常検出ルーチン＞
次に、図１０を用いてばらつき異常検出ルーチンを説明する。このルーチンはＥＣＵ２０により所定の演算周期τ毎に繰り返し実行される。
【００９４】
まずステップＳ１０１では、異常検出を行うのに適した所定の前提条件が成立しているか否かが判断される。この前提条件は、例えば次の各条件が成立したときに成立する。
（１）エンジンの暖機が終了している。ＥＣＵ２０は、水温センサ２２で検出された水温が所定値（例えば７５℃）以上であるとき暖機終了と判断する。
（２）触媒前センサ１７および触媒後センサ１８が活性化している。ＥＣＵ２０は、両センサのインピーダンスがそれぞれ所定の活性温度相当の値になっているとき、両センサが活性化していると判断する。
（３）上流触媒１１および下流触媒１９が活性化している。ＥＣＵ２０は、温度センサ２１により検出された上流触媒１１の温度と、別途推定した下流触媒１９の温度がそれぞれ所定の活性温度相当の値になっているとき、両触媒が活性化していると判断する。
（４）エンジンが定常運転中である。
（５）ストイキ制御中である。
（６）直近の燃料給油判定時から所定時間以上経過している。
【００９５】
条件（６）に関して、ＥＣＵ２０は、燃料残量センサ３５の検出値に基づき燃料給油があったことを判定する。すなわち、燃料残量センサ３５の検出値が所定量以上増大したとき、ＥＣＵ２０は燃料給油があったと判定する。
【００９６】
既存の使用燃料に対しアルコール濃度の異なる燃料が新たに給油された場合、給油直後はデリバリパイプ３０や燃料配管３１等に既存の燃料が残っており、これらが消費されるまでの間は、アルコール濃度センサ３４により検出されるアルコール濃度と実際に噴射される燃料のアルコール濃度とが異なる状態が続く。よってこの間はばらつき異常検出を実行しないようにする。こうすることで誤判定や誤検出を未然に防止することができる。
【００９７】
ここで所定時間は、デリバリパイプ３０等に残った既存燃料が消費され尽くす積算燃料噴射量となるまでの時間とするのが好ましい。
【００９８】
前提条件が成立していない場合にはルーチンが終了される。他方、前提条件が成立している場合には、ステップＳ１０２において、今回のタイミングにおける吸入空気量Ｇａnと、触媒前センサ出力Ａ／Ｆnとが取得される。なお吸入空気量Ｇａnはエアフローメータ５により検出された値であり、触媒前センサ出力Ａ／Ｆnは触媒前センサ１７の出力電圧を空燃比に換算した値である。
【００９９】
次に、ステップＳ１０３において、今回のタイミングにおける出力差ΔＡ／Ｆnが前式（１）より算出される。
【０１００】
次に、ステップＳ１０４において、出力差ΔＡ／Ｆnが積算され、すなわち今回のタイミングにおける積算出力差ΣΔＡ／Ｆnが次式（２）より算出される。
【０１０１】
【数２】
2012132392.tif 000004
【０１０２】
次に、ステップＳ１０５において、１エンジンサイクルが終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップＳ１０６に進む。
【０１０３】
ステップＳ１０６では、今回の１エンジンサイクル終了時点における最終的な積算出力差ΣΔＡ／ＦNがサンプル数Ｎで除して平均化され、平均出力差Ｒmが算出される。
【０１０４】
そしてステップＳ１０７において、平均出力差Ｒmが積算され、すなわち今回のエンジンサイクル終了時における積算平均出力差ΣＲmが次式（３）より算出される。
【０１０５】
【数３】
2012132392.tif 000005
【０１０６】
次に、ステップＳ１０８において、Ｍエンジンサイクル（但しＭは２以上の整数）が終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップＳ１０９に進む。
【０１０７】
ステップＳ１０９では、Ｍエンジンサイクル終了時点における最終的な積算平均出力差ΣＲMがサイクル数Ｍで除して平均化され、出力変動パラメータＸが算出される。
【０１０８】
次いで、ステップＳ１１０〜Ｓ１１４において第１判定が実行される。ここでは判定値として、アルコール濃度等の影響があっても確実に異常と判定できるような異常判定値α１と、アルコール濃度等の影響があっても確実に正常と判定できるような正常判定値α２とが用いられる。これら異常判定値α１と正常判定値α２は予め実験等に基づいて設定され、ＥＣＵ２０に記憶される。異常判定値α１は正常判定値α２より大きな値である。
【０１０９】
まずステップＳ１１０において、出力変動パラメータＸが異常判定値α１と比較される。
【０１１０】
出力変動パラメータＸが異常判定値α１以上である場合、ステップＳ１１１に進んでばらつき異常有り、すなわち異常と判定され、ルーチンが終了される。なお異常判定と同時に、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動するのが好ましい。
【０１１１】
他方、出力変動パラメータＸが異常判定値α１未満である場合、ステップＳ１１２に進んで出力変動パラメータＸが正常判定値α２と比較される。
【０１１２】
出力変動パラメータＸが正常判定値α２未満である場合、ステップＳ１１３に進んでばらつき異常無し、すなわち正常と判定され、ルーチンが終了される。
【０１１３】
他方、出力変動パラメータＸが正常判定値α２以上である場合、ステップＳ１１４に進んで保留の判定が行われ、ステップＳ１１５において保留時処理が行われた後、ルーチンが終了される。
【０１１４】
このように、アルコール濃度等の影響があっても確実に正常または異常と判定できる場合には正常または異常と最終判定するので、正常または異常が明らかな場合に検出時間を短縮できる。また、それ以外の場合は保留し再判定するので、アルコール濃度等の影響を含めた微妙な判定が可能であり、検出精度を向上できる。
【０１１５】
このように、アルコール濃度等の影響があっても確実に正常または異常と判定できる場合のみ、正常または異常と判定し、それ以外の場合は保留するので、アルコール濃度等の影響を含めた検出が可能であり、検出精度を向上できる。
【０１１６】
次に、図１１を用いて保留時処理のルーチンを説明する。このルーチンもＥＣＵ２０により所定の演算周期τ毎に繰り返し実行される。
【０１１７】
ステップＳ２０１では、前述した燃料噴射量強制増量または減量を伴う異常気筒特定処理が実行される。
【０１１８】
ステップＳ２０２では、異常気筒特定処理が終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップＳ２０３に進む。
【０１１９】
ステップＳ２０３では、使用燃料のアルコール濃度ＡＬが取得される。アルコール濃度ＡＬはアルコール濃度センサ３４により検出された値である。
【０１２０】
ステップＳ２０４では、先のばらつき異常検出ルーチン（図１０）のステップＳ１０２において、出力変動パラメータＸの算出過程で取得された全吸入空気量Ｇａnの値が平均化され、平均吸入空気量Ｓが算出される。
【０１２１】
ステップＳ２０５では、先のばらつき異常検出ルーチン（図１０）のステップＳ１０９において算出された出力変動パラメータＸが補正される。
【０１２２】
すなわち、まずステップＳ２０１の異常気筒特定処理の結果として特定された異常気筒が読み出される。そしてこの異常気筒と、ステップＳ２０３で取得されたアルコール濃度ＡＬと、ステップＳ２０４で算出された平均吸入空気量Ｓとに対応した補正係数Ｋａ、Ｋｇが算出される。この補正係数Ｋａ、Ｋｇの算出には、図７および図８の関係が規定されたマップ（関数でもよい。以下同様）が用いられる。すなわちＥＣＵ２０は、図７および図８の関係が規定されたマップを予め記憶しており、このマップを用いて補正係数Ｋａ、Ｋｇを算出する。
【０１２３】
例えば、異常気筒が＃２気筒、アルコール濃度ＡＬが２０（％）、平均吸入空気量Ｓが１０（ｇ／ｓ）である場合、図７（Ｂ）のマップからアルコール濃度ＡＬ＝２０（％）に対応したアルコール濃度補正係数Ｋａ＝０．９が算出され、図８（Ｂ）のマップから吸入空気量Ｇａ＝１０（ｇ／ｓ）に対応した空気量補正係数Ｋｇ＝０．９７５が算出される。
【０１２４】
こうして補正係数Ｋａ、Ｋｇが算出されたならば、次式（４）により出力変動パラメータＸが補正され、補正後の出力変動パラメータＸ’が算出される。
【０１２５】
【数４】
2012132392.tif 000006
【０１２６】
なお、例えば異常気筒が＃１気筒である場合には、アルコール濃度ＡＬおよび平均吸入空気量Ｓがどのような値であっても、図７（Ａ）のマップからアルコール濃度補正係数Ｋａ＝１が算出され、図８（Ａ）のマップから空気量補正係数Ｋｇ＝１が算出されるので、Ｘ’＝Ｘとなる。
【０１２７】
次いで、ステップＳ２０６〜Ｓ２０８において第２判定が実行される。ここでは判定値として、アルコール濃度等の影響を考慮しない（基準状態を前提とした）正異常判定値α３が用いられる。この正異常判定値α３も予め実験等に基づいて設定され、ＥＣＵ２０に記憶される。正異常判定値α３は、異常判定値α１より小さく正常判定値α２より大きな値である。
【０１２８】
まずステップＳ２０６において、補正後の出力変動パラメータＸ’が正異常判定値α３と比較される。
【０１２９】
補正後の出力変動パラメータＸ’が正異常判定値α３以上である場合、ステップＳ２０７に進んでばらつき異常有り、すなわち異常と判定され、ルーチンが終了される。
【０１３０】
他方、補正後の出力変動パラメータＸ’が正異常判定値α３未満である場合、ステップＳ２０８に進んでばらつき異常無し、すなわち正常と判定され、ルーチンが終了される。
【０１３１】
このように、第１判定で保留判定した場合、アルコール濃度等の影響を無くすよう補正した上で再度第２判定を実行し、正常又は異常を最終判定するので、アルコール濃度等の影響に拘わらず正確な検出が可能であり、検出精度を向上することが可能である。
【０１３２】
なお変形例として、例えば、吸入空気量に基づく補正の不実施、異常気筒特定の不実施、および異常気筒に応じた補正値変更の不実施の少なくとも一つを採用した例が可能である。
【０１３３】
［ばらつき異常検出の第２の態様］
次に、ばらつき異常検出の第２の態様を説明する。  
この第２の態様では、空燃比ばらつき度合いを表すパラメータとして、前記出力変動パラメータの代わりに、補助空燃比制御のための制御量を用いる。まず前提技術として主・補助空燃比制御（ストイキ制御）の内容を説明する。
【０１３４】
図１２に空燃比制御ルーチンを示す。このルーチンはＥＣＵ２０により１エンジンサイクル（＝７２０°クランク角）毎に繰り返し実行される。
【０１３５】
まずステップＳ３０１では、筒内混合気の空燃比をストイキとするような基本の燃料噴射量即ち基本噴射量Ｑｂが算出される。基本噴射量Ｑｂは例えば、エアフローメータ５により検出された吸入空気量Ｇａに基づき、式：Ｑｂ＝Ｇａ／１４．６により算出される。
【０１３６】
ステップＳ３０２では触媒前センサ出力Ｖｆが取得される。ステップＳ３０３では、このセンサ出力Ｖｆとストイキ相当センサ出力Ｖｒｅｆｆ（図２参照）との差、即ち触媒前センサ出力差ΔＶｆ＝Ｖｆ−Ｖｒｅｆｆが算出される。
【０１３７】
ステップＳ３０４では、この触媒前センサ出力差ΔＶｆに基づき、図１３に示すようなマップから主空燃比補正量（補正係数）Ｋｆが算出される。触媒前センサ出力差ΔＶｆ及び主空燃比補正量Ｋｆは、主空燃比制御のための制御量をなす。例えばゲインをＰｆとするとＫｆ＝Ｐｆ×ΔＶｆで表される。そしてステップＳ３０５では、図１４に示す別ルーチンで設定された補助空燃比補正量Ｋｒの値が取得される。最後に、ステップＳ３０６にて、インジェクタ１２から噴射すべき最終的な燃料噴射量即ち最終噴射量Ｑｆｎｌが式：Ｑｆｎｌ＝Ｋｆ×Ｑｂ＋Ｋｒにより算出される。
【０１３８】
図１３のマップによれば、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより大きい（ΔＶｆ＞０）ほど、即ち実際の排気空燃比がストイキからリーン側に離れるほど、１に対しより大きな補正量Ｋｆが得られ、基本噴射量Ｑｂは増量補正される。反対に、触媒前センサ出力Ｖｆがストイキ相当センサ出力Ｖｒｅｆｆより小さい（ΔＶｆ＜０）ほど、即ち実際の排気空燃比がストイキからリッチ側に離れるほど、１に対しより小さな補正量Ｋｆが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒前センサ１７によって検出された空燃比をストイキに一致させるような主空燃比フィードバック制御が実行される。
【０１３９】
ステップＳ３０６で得られた最終噴射量Ｑｆｎｌの値は、全気筒に対し一律に用いられる。即ち、１エンジンサイクルの間、最終噴射量Ｑｆｎｌに等しい量の燃料が各気筒のインジェクタ１２から順次噴射され、次のエンジンサイクルでは新たに計算された最終噴射量Ｑｆｎｌの燃料が各気筒のインジェクタ１２から順次噴射される。
【０１４０】
なお、周知のように、最終噴射量Ｑｆｎｌの算出に当たっては他の補正（水温補正、バッテリ電圧補正等）を追加することも可能である。
【０１４１】
図１４には補助空燃比補正量の設定ルーチンを示す。このルーチンはＥＣＵ２０により所定の演算周期で繰り返し実行される。
【０１４２】
まずステップＳ４０１では、ＥＣＵ２０に装備されたタイマのカウントが実行され、ステップＳ４０２では、触媒後センサ１８の出力Ｖｒが取得される。ステップＳ４０３では、このセンサ出力Ｖｒとストイキ相当センサ出力Ｖｒｅｆｒ（図２参照）との差、即ち触媒後センサ出力差ΔＶｒ＝Ｖｒｅｆｒ−Ｖｒが算出され、この触媒後センサ出力差ΔＶｒが前回積算値に積算される。図１５には触媒後センサ出力差ΔＶｒとその積算の様子を示す。
【０１４３】
ステップＳ４０４では、タイマ値が所定値ｔｓを超えたか否かが判断される。所定値ｔｓを超えていなければルーチンが終了される。
【０１４４】
タイマ値が所定値ｔｓを超えている場合、ステップＳ４０５で、この時点での触媒後センサ出力差積算値ΣΔＶｒが、触媒後センサ学習値ΔＶｒｇとして更新記憶される。そしてステップＳ４０６で、この触媒後センサ学習値ΔＶｒｇに基づき、図１６に示すようなマップから、補助空燃比補正量Ｋｒが算出され、この補助空燃比補正量Ｋｒが更新記憶される。触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒは、補助空燃比制御のための制御量をなす。例えばゲインをＰｒとするとＫｒ＝Ｐｒ×ΔＶｒｇで表される。最後に、ステップＳ４０７にて、触媒後センサ出力差積算値ΣΔＶｒ及びタイマがリセットされる。
【０１４５】
触媒後センサ出力差ΔＶｒを所定時間ｔｓの間積算する理由は、触媒後センサ出力Ｖｒのストイキ相当センサ出力Ｖｒｅｆｒに対する時間平均的なズレ量を検知するためである。積算時間を規定する所定値ｔｓは１エンジンサイクルより遙かに長い時間であり、よって触媒後センサ学習値ΔＶｒｇ及び補助空燃比補正量Ｋｒの更新は１エンジンサイクルより遙かに長い周期で行われる。
【０１４６】
図１６のマップによれば、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより小さい（ΔＶｒｇ＞０）ほど、即ち実際の触媒後空燃比がストイキからリーン側に離れるほど、０に対しより大きな補正量Ｋｒが得られ、最終噴射量算出の際に基本噴射量Ｑｂは増量補正される。反対に、触媒後センサ出力Ｖｒが時間平均的にストイキ相当センサ出力Ｖｒｅｆｒより大きい（ΔＶｒｇ＜０）ほど、即ち実際の触媒後空燃比がストイキからリッチ側に離れるほど、０に対しより小さな補正量Ｋｒが得られ、基本噴射量Ｑｂは減量補正される。こうして、触媒後センサ１８によって検出された空燃比をストイキに一致させるような補助空燃比フィードバック制御が実行される。触媒前センサ１７の劣化等の理由で主空燃比フィードバック制御を実行してもその結果がストイキからズレることがあるので、このズレを補正する目的で、補助空燃比フィードバック制御が実行される。
【０１４７】
なお、この例では新たな学習値ΔＶｒｇ及び補正量Ｋｒが算出される度にこれらの値自身で更新を行うようにしたが、なまし等の平均化処理を行って更新速度を遅らせるようにしてもよい。
【０１４８】
これら主空燃比フィードバック制御及び補助空燃比フィードバック制御においては、制御量を所定のガード範囲内としつつ、それらが実行されるようになっている。図１３に示すように、主空燃比フィードバック制御の触媒前センサ出力差ΔＶｆは、制御上、上下のガード値ΔＶｆＨ，ΔＶｆＬの範囲内の値しかとることができず（ΔＶｆＬ≦ΔＶｆ≦ΔＶｆＨ）、これに対応して、主空燃比補正量Ｋｆも上下のガード値ＫｆＨ，ＫｆＬの範囲内の値しかとることができない（ＫｆＬ≦Ｋｆ≦ＫｆＨ、）。例えば、計算上の触媒前センサ出力差ΔＶｆが上限ガード値ΔＶｆＨ以上になったとき、制御上、触媒前センサ出力差ΔＶｆは上限ガード値ΔＶｆＨに固定される。異常なほどに大きい制御量を用いて主空燃比制御が行われることを防止するためである。なお、通常のストイキ制御時に触媒前センサ出力差ΔＶｆがガード値ΔＶｆＨ，ΔＶｆＬに所定時間以上固定された（張り付いた）場合、燃料供給系若しくは空気系が全体として異常（インバランス故障でなくバランス故障が発生した）と判断してもよい。
【０１４９】
これと同様に、図１６に示す如く、補助空燃比フィードバック制御においても、触媒後センサ学習値ΔＶｒｇは、制御上、上下のガード値ΔＶｒｇＨ，ΔＶｒｇＬの範囲内の値しかとることができず（ΔＶｒｇＬ≦ΔＶｒｇ≦ΔＶｒｇＨ）、これに対応して、補助空燃比補正量Ｋｒも上下のガード値ＫｒＨ，ＫｒＬの範囲内の値しかとることができない（ＫｒＬ≦Ｋｒ≦ＫｒＨ）。例えば、計算上の触媒後センサ学習値ΔＶｒｇが上限ガード値ΔＶｒｇＨ以上になったとき、制御上、触媒後センサ学習値ΔＶｒｇは上限ガード値ΔＶｒｇＨに固定される。異常なほどに大きい制御量を用いて補助空燃比制御が行われることを防止するためである。なお、通常のストイキ制御時に触媒後センサ学習値ΔＶｒｇがガード値ΔＶｒｇＨ，ΔＶｒｇＬに所定時間以上固定された（張り付いた）場合、燃料供給系若しくは空気系が全体として異常と判断してもよい。
【０１５０】
ところで、１気筒のみが異常でその空燃比が大きくリッチ側にずれたとする。このとき主空燃比制御が実行されていると、全気筒の排ガスが合流した後のトータルの排ガスの空燃比は、暫くしてストイキに制御される。しかしながら、異常気筒の空燃比はストイキより大きくリッチであり、残りの正常気筒の空燃比はストイキよりリーンであり、全体のバランスとしてストイキになっているに過ぎない。しかも異常気筒から水素が多量に発生される結果、触媒前センサ１７の出力は、真の空燃比よりもリッチ側にずれた空燃比を誤ってストイキとして表示する。
【０１５１】
他方、水素を含む排ガスが上流触媒１１を通過すると、水素が浄化されてその影響が取り除かれる。従って、触媒後センサ１８の出力は、真の空燃比、即ちストイキよりリーンな空燃比を表示することとなる。このようにリッチずれ異常が生じると触媒前センサ１７の出力がリッチ側にずれること、および触媒前センサ１７および触媒後センサ１８の出力の間に乖離が生じることは、例えば特許文献１により公知である。
【０１５２】
異常発生から所定時間が経過すると、触媒後センサ１８の出力は、リッチずれの度合いに応じた一定値に収束する。この一定値は、ストイキよりリーンな値であり、燃料噴射量をリッチ側に補正しようとする値である。この触媒後センサ１８の出力変化に追従して、触媒後センサ学習値ΔＶｒｇと補助空燃比補正量Ｋｒも、燃料噴射量をリッチ側に補正するような正の一定値に収束する。
【０１５３】
これを示すのが図１７である。図１７は、ある１気筒のみの燃料噴射量がストイキ相当量からずれたときのインバランス割合（％）と、触媒後センサ学習値ΔＶｒｇとの関係を調べた試験結果である。インバランス割合はリッチずれのときが正、リーンずれのときが負である。図示するように、インバランス割合がリッチずれ方向に大きくなるほど、触媒後センサ学習値ΔＶｒｇはより大きな値、即ち空燃比をよりリッチ側に補正するような値に収束する傾向にある。図示しないが、補助空燃比補正量Ｋｒにも同様の傾向がある。
【０１５４】
なお、１気筒のみの空燃比が大きくリーン側にずれることもあり、この場合には、触媒後センサ学習値ΔＶｒｇの値は、図１７に負のインバランス割合領域で示される如くなる。こちらの領域の勾配は正のインバランス割合領域の勾配よりも緩い。ここでリーンずれとは、燃料噴射量が規定量よりも少なくなることであり、ある気筒で大きなリーンずれが起きた場合、当該気筒は通常は失火に陥る。よってリーンずれによるばらつき異常は別の失火検出手段によって検出可能である。ここでの異常検出はリッチずれ異常に対して特に有効である。
【０１５５】
このように、空燃比ばらつき異常が発生すると補助空燃比制御のための制御量（補助空燃比制御量という）は大きくなる。そこでこの第２の態様では、補助空燃比制御量（具体的には触媒後センサ学習値ΔＶｒｇと補助空燃比補正量Ｋｒの少なくとも一方）と所定の判定値とに基づき、異常を検出する。以下、補助空燃比制御量として触媒後センサ学習値ΔＶｒｇを用いた場合を例にとって説明する。
【０１５６】
基本的には、算出された触媒後センサ学習値ΔＶｒｇが所定の判定値以上であればばらつき異常ありと判定することができ、算出された触媒後センサ学習値ΔＶｒｇが判定値より小さければばらつき異常なし、即ち正常と判定することができる。しかしながら、この第２の態様においても第１の態様と同様、検出精度向上の観点から判定を２段階に分けて実行する。すなわち、最初に行われる第１判定においては正常、異常または保留の判定を実行し、保留の場合に所定の処理を行って正常または異常の第２判定を実行する。
【０１５７】
＜補助空燃比制御量の補正＞
使用燃料にアルコールが含まれていると、使用燃料がガソリンのみの場合と比べて、触媒後センサ学習値ΔＶｒｇが変化し、触媒後センサ学習値ΔＶｒｇの値が異なることが判明した。
【０１５８】
すなわち、使用燃料にアルコールが含まれていると、使用燃料がガソリンのみの場合と比べて、排気中の水素（Ｈ2）濃度が増加する。水素は分子サイズが小さいため、触媒前センサの拡散層を選択的に通過可能である。排気中の水素濃度が増加すると前述の水素影響による触媒前センサ出力ズレが大きくなり、触媒後センサ学習値ΔＶｒｇの値が増大する。
【０１５９】
よって、検出精度向上のためには、使用燃料のアルコール濃度に基づき触媒後センサ学習値ΔＶｒｇを補正するのが望ましい。具体的には、使用燃料のアルコール濃度に応じて異なる補正値を用いて触媒後センサ学習値ΔＶｒｇを補正し、使用燃料のアルコール濃度が増加するほど触媒後センサ学習値ΔＶｒｇを減少側に補正する。
【０１６０】
こうすることで、使用燃料のアルコール濃度に拘わらず正確な検出を可能とし、検出精度を向上することができる。
【０１６１】
なお、触媒後センサ学習値ΔＶｒｇを補正する代わりに、その比較対象となる判定値を補正してもよい。具体的には、使用燃料のアルコール濃度が増加するほど判定値を増大側に補正する。
【０１６２】
一方、多気筒エンジンの場合、触媒前センサ１７に対するガス当たりが強い気筒と弱い気筒が存在する。ガス当たりが強い気筒が異常であると、水素影響が大きいため、前述のようなアルコール濃度に応じた触媒後センサ学習値ΔＶｒｇの変化が顕著である。しかしながらガス当たりが弱い気筒が異常であると、水素影響が小さいため、かかる変化が少ないかまたは殆どない場合がある。
【０１６３】
そこで、前記第１判定において保留と判定した場合、異常気筒を特定し、この異常気筒に応じても異なる補正値を用いて触媒後センサ学習値ΔＶｒｇを補正するのが好ましい。より好ましくは、異常気筒がガス当たりの弱い気筒である場合、アルコール濃度に基づく補正が小さくなされるようにし（そのような補正値に設定し）、異常気筒がガス当たりの強い気筒である場合、アルコール濃度に基づく補正が大きくなされるようにする（そのような補正値に設定する）。
【０１６４】
こうすることで、ガス当たりの強弱の影響まで含めて補正することが可能であり、検出精度をより一層向上することができる。
【０１６５】
ところで、触媒後センサ学習値ΔＶｒｇは、前述のアルコール濃度およびガス当たり強さに加え、触媒前センサ１７に対する排気ガス流量によっても変化することが判明した。
【０１６６】
すなわち、排気ガス流量が多いほど触媒前センサ１７が水素を処理しきれなくなり、触媒前センサ出力への影響が大きくなる。具体的には、排気ガス流量が多いほど触媒前センサ出力ズレが増大し、触媒後センサ学習値ΔＶｒｇの値が増大する。
【０１６７】
そこで、排気ガス流量の代用値である吸入空気量に応じて異なる補正値を用いて、触媒後センサ学習値ΔＶｒｇを補正するのが好ましい。より好ましくは、吸入空気量が増加するほど触媒後センサ学習値ΔＶｒｇの値を減少側に補正する。
【０１６８】
ここで、アルコール濃度のときと同様、異常気筒がガス当たりの強い気筒か弱い気筒かによって、触媒後センサ学習値ΔＶｒｇに対する排気ガス流量の影響度が異なる。例えば、ガス当たりの強い気筒が異常であると、排気ガス流量に応じた触媒後センサ学習値ΔＶｒｇの変化が顕著であるが、ガス当たりの弱い気筒が異常であるとかかる変化が少ないかまたは殆どない場合がある。
【０１６９】
そこで、排気ガス流量ないし吸入空気量に基づく補正を実施するときには、異常気筒に応じて異なる補正値を用いるのが好ましい。より好ましくは、異常気筒がガス当たりの弱い気筒である場合、吸入空気量に基づく補正が小さくなされるようにし（そのような補正値に設定し）、異常気筒がガス当たりの強い気筒である場合、吸入空気量に基づく補正が大きくなされるようにする（そのような補正値に設定する）。
【０１７０】
こうすることで、排気ガス流量の大小の影響まで含めて補正することが可能であり、検出精度をより一層向上することができる。
【０１７１】
図１８には、燃料のアルコール濃度（％）およびセンサへのガス当たりが触媒後センサ学習値ΔＶｒｇに及ぼす影響を調べた試験結果を示す。アルコール濃度としてエタノール濃度が用いられており、Ｅ０，Ｅ２０，Ｅ５０，Ｅ８５はそれぞれアルコール濃度が０，２０，５０，８５（％）の燃料の場合を示す。（Ａ）はガス当たりの弱い気筒（本実施形態では＃１，＃３気筒）が＋４０（％）のインバランス割合で異常である場合、（Ｂ）はガス当たりの強い気筒（本実施形態では＃２，＃４気筒）が＋４０（％）のインバランス割合で異常である場合を示す。βは基準燃料（ガソリンのみ）の場合の判定値である。
【０１７２】
まず（Ｂ）に着目する。見られるように、エタノール濃度の増大につれ触媒後センサ学習値ΔＶｒｇは大きい割合で増大する傾向がある（エタノール濃度に対する感度大）。このことから、ガス当たりの強い気筒が異常気筒である場合には、アルコール濃度に基づく補正を大きく行うのが好ましいことが分かる。
【０１７３】
次に（Ａ）に着目する。見られるように、エタノール濃度の増大につれ触媒後センサ学習値ΔＶｒｇは小さい割合で増大する傾向がある（エタノール濃度に対する感度小）。このことから、ガス当たりの弱い気筒が異常気筒である場合には、アルコール濃度に基づく補正を小さく行うのが好ましいことが分かる。
【０１７４】
図１９（Ａ）、（Ｂ）には、アルコール濃度補正における補正値としての補正係数Ｋａの一例を示す。（Ａ）はガス当たりの弱い気筒が異常気筒である場合、（Ｂ）はガス当たりの強い気筒が異常気筒である場合を示す。補正係数Ｋａは触媒後センサ学習値ΔＶｒｇに対する乗算値である。但し加算値を用いるようにしてもよい。
【０１７５】
（Ｂ）に見られるように、ガス当たりの強い気筒が異常気筒である場合、アルコール濃度ＡＬの増大につれ補正係数Ｋａは徐々に小さくなり、触媒後センサ学習値ΔＶｒｇをより大きく減少側に補正するような値とされている。基準状態はアルコール濃度ＡＬ＝０（％）、すなわち燃料がガソリンのみの場合で、このとき補正係数Ｋａは１すなわち実質的に補正無しである。アルコール濃度ＡＬが増大しても触媒後センサ学習値ΔＶｒｇが基準状態相当に補正されるよう、補正係数Ｋａが設定され、アルコール濃度ＡＬの変化分が補償されている。
【０１７６】
他方（Ａ）に見られるように、ガス当たりの弱い気筒が異常気筒である場合だと、アルコール濃度ＡＬの増大につれ補正係数Ｋｇが徐々に小さくなる点は同じだが、その減少割合が（Ｂ）よりも少ない。これは、アルコール濃度ＡＬの増大に対する触媒後センサ学習値ΔＶｒｇの増大量が、ガス当たりの強い気筒が異常気筒である場合よりも少ないことに対応する。なお（Ｂ）と同様、基準状態はアルコール濃度ＡＬ＝０（％）のときで、このとき補正係数Ｋａは１である。
【０１７７】
次に、図２０（Ａ）、（Ｂ）には、吸入空気量補正における補正値としての補正係数Ｋｇの一例を示す。（Ａ）はガス当たりの弱い気筒が異常気筒である場合、（Ｂ）はガス当たりの強い気筒が異常気筒である場合を示す。ここでも補正係数Ｋｇは触媒後センサ学習値ΔＶｒｇに対する乗算値である。但し加算値を用いるようにしてもよい。
【０１７８】
（Ｂ）に見られるように、ガス当たりの強い気筒が異常気筒である場合、吸入空気量Ｇａの増大につれ補正係数Ｋｇは徐々に小さくなり、触媒後センサ学習値ΔＶｒｇをより大きく減少側に補正するような値とされている。基準状態は吸入空気量Ｇａ＝０（ｇ／ｓ）で、このとき補正係数Ｋｇは１である。吸入空気量Ｇａが増大しても触媒後センサ学習値ΔＶｒｇが基準状態相当に補正されるよう、補正係数Ｋｇが設定され、吸入空気量Ｇａの変化分が補償されている。
【０１７９】
他方（Ａ）に見られるように、ガス当たりの弱い気筒が異常気筒である場合だと、吸入空気量Ｇａの増大につれ補正係数Ｋｇが徐々に小さくなる点は同じだが、その減少割合が（Ｂ）よりも少ない。これは、吸入空気量Ｇａの増大に対する触媒後センサ学習値ΔＶｒｇの増大量が、ガス当たりの強い気筒が異常気筒である場合よりも少ないことに対応する。なお（Ｂ）と同様、基準状態は吸入空気量Ｇａ＝０（ｇ／ｓ）で、このとき補正係数Ｋｇは１である。
【０１８０】
なお、触媒後センサ学習値ΔＶｒｇではなく判定値を補正する場合には上記と逆となる。すなわち、判定値に乗算または加算する補正値は、アルコール濃度の増大につれ大きくなり、吸入空気量の増大につれ大きくなる。アルコール濃度または吸入空気量の増大に対する補正値の増大割合は、異常気筒がガス当たりの強い気筒の場合には大きくなり、異常気筒がガス当たりの弱い気筒の場合には小さくなる。
【０１８１】
＜異常気筒特定＞
第１判定において保留判定を行った場合、異常気筒の特定が実行されるが、その方法は第１の態様と同様であるので説明を省略する。
【０１８２】
＜ばらつき異常検出ルーチン＞
図２１を用いてばらつき異常検出ルーチンを説明する。このルーチンはＥＣＵ２０により所定の演算周期τ毎に繰り返し実行される。
【０１８３】
まずステップＳ５０１では、前記ステップＳ１０１と同様、所定の前提条件が成立しているか否かが判断される。
【０１８４】
前提条件が成立していない場合にはルーチンが終了される。他方、前提条件が成立している場合には、ステップＳ５０２において使用燃料のアルコール濃度ＡＬと、今回のタイミングにおける吸入空気量Ｇａnとが取得される。
【０１８５】
次に、ステップＳ５０３において、触媒後センサ学習値ΔＶｒｇのガード範囲が拡大されると共に、触媒後センサ学習値ΔＶｒｇの更新速度が増大される。
【０１８６】
ばらつき異常が生じた場合、触媒後センサ学習値ΔＶｒｇは、図１６に示した如き通常のストイキ制御を前提とした基準のガード範囲を超えることが多く、特に基準の上限ガード値ΔＶｒｇＨより高くなることが多い。そこで、ばらつき異常検出時には、ガード範囲が基準の範囲よりも拡大され、特に上限ガード値ΔＶｒｇＨが基準値より大きい値に変更（増大）される。これにより、触媒後センサ学習値ΔＶｒｇが基準のガード範囲を超えて可変となり、ばらつき異常検出を問題なく実施できるようになる。
【０１８７】
なおこれに伴い、補助空燃比補正量Ｋｒのガード範囲も拡大される。これにより補助空燃比補正量Ｋｒを用いる場合にもばらつき異常検出を問題なく実施できるようになる。
【０１８８】
一方、図１５に示したように、触媒後センサ学習値ΔＶｒｇは所定の時間すなわち更新周期ｔｓ毎に更新されていくが、この更新周期ｔｓは通常のストイキ制御を前提としたものであるため、ばらつき異常検出にとっては長すぎ、触媒後センサ学習値ΔＶｒｇがばらつき度合いに対応した値に収束するのに時間がかかり過ぎる場合がある。
【０１８９】
そこで、ばらつき異常検出実行時には、更新周期ｔｓが基準値よりも短くされ、更新速度が基準速度よりも増大される。これにより触媒後センサ学習値ΔＶｒｇの更新を速やかに行い、検出時間を短縮することができる。
【０１９０】
なおこれに伴い、補助空燃比補正量Ｋｒの更新速度も増大される。これにより補助空燃比補正量Ｋｒを用いる場合にも検出時間を短縮することができる。
【０１９１】
本実施形態においては、ガード範囲拡大と更新速度増大との両方を行う。しかしながら、いずれか一方のみを行うようにしてもよい。
【０１９２】
好ましくは、ガード範囲の拡大量と、更新周期の短縮量（あるいは更新速度の増大量）との少なくとも一方が、ステップＳ５０２で取得されたアルコール濃度ＡＬに応じて変更される。この際、所定のマップを利用し、アルコール濃度ＡＬが大であるほどガード範囲の拡大量を増大し、更新周期の短縮量（あるいは更新速度の増大量）を増大する。アルコール濃度ＡＬが大であるほど触媒後センサ学習値ΔＶｒｇが増大するからである。
【０１９３】
次に、ステップＳ５０４において、所定の更新条件が成立したか否かが判断される。ここでは、触媒後センサ学習値ΔＶｒｇの更新時期が到来した時に更新条件が成立したと判断される。
更新条件が成立していない場合にはルーチンが終了される。他方、更新条件が成立している場合にはステップＳ５０５に進む。
【０１９４】
ステップＳ５０５おいては、ＥＣＵ２０内のカウンタ（初期値０）が１だけカウントアップされる。そしてステップＳ５０６において、今回の更新時期において更新された触媒後センサ学習値ΔＶｒｇiが取得される（但しｉ＝１，２，・・・）。
【０１９５】
ステップＳ５０７では、触媒後センサ学習値ΔＶｒｇiが積算され、今回の更新時期における積算学習値ΣΔＶｒｇiが次式（５）より算出される。
【０１９６】
【数５】
2012132392.tif 000007
【０１９７】
次に、ステップＳ５０８において、カウンタの値がＩ（但しＩは２以上の整数）に達したか否かが判断される。達してなければルーチンが終了され、達した場合にはステップＳ５０９に進む。ここでは実質的にＩ更新周期が終了したか否かが判断されている。
ステップＳ５０９では、現時点すなわちＩ更新周期終了時点における最終的な積算学習値ΣΔＶｒｇIが更新周期数Ｉで除して平均化され、平均触媒後センサ学習値Ｚ＝ΔＶｒｇI／Ｉが算出される。
【０１９８】
後は第１の態様と同様に、ステップＳ５１０〜Ｓ５１４において第１判定が実行される。ここでは判定値として、アルコール濃度等の影響があっても確実に異常と判定できるような異常判定値β１と、アルコール濃度等の影響があっても確実に正常と判定できるような正常判定値β２とが用いられる。これら異常判定値β１と正常判定値β２は予め実験等に基づいて設定され、ＥＣＵ２０に記憶される。異常判定値β１は正常判定値β２より大きな値である。
【０１９９】
まずステップＳ５１０において、平均触媒後センサ学習値Ｚが異常判定値β１と比較される。
【０２００】
平均触媒後センサ学習値Ｚが異常判定値β１以上である場合、ステップＳ５１１に進んでばらつき異常有り、すなわち異常と判定され、ルーチンが終了される。なお異常判定と同時に、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動するのが好ましい。
【０２０１】
他方、平均触媒後センサ学習値Ｚが異常判定値β１未満である場合、ステップＳ５１２に進んで平均触媒後センサ学習値Ｚが正常判定値β２と比較される。
【０２０２】
平均触媒後センサ学習値Ｚが正常判定値β２未満である場合、ステップＳ５１３に進んでばらつき異常無し、すなわち正常と判定され、ルーチンが終了される。
【０２０３】
他方、平均触媒後センサ学習値Ｚが正常判定値β２以上である場合、ステップＳ５１４に進んで保留の判定が行われ、ステップＳ５１５において保留時処理が行われた後、ルーチンが終了される。
【０２０４】
このように、アルコール濃度等の影響があっても確実に正常または異常と判定できる場合には正常または異常と最終判定するので、正常または異常が明らかな場合に検出時間を短縮できる。また、それ以外の場合は保留し再判定するので、アルコール濃度等の影響を含めた微妙な判定が可能であり、検出精度を向上できる。
【０２０５】
次に、図２２を用いて保留時処理のルーチンを説明する。このルーチンもＥＣＵ２０により所定の演算周期τ毎に繰り返し実行される。
【０２０６】
ステップＳ６０１では、前述した燃料噴射量強制増量または減量を伴う異常気筒特定処理が実行される。
【０２０７】
ステップＳ６０２では、異常気筒特定処理が終了したか否かが判断される。終了してなければルーチンが終了され、終了した場合にはステップＳ６０３に進む。
【０２０８】
ステップＳ６０３では、使用燃料のアルコール濃度ＡＬが取得される。
【０２０９】
ステップＳ６０４では、先のばらつき異常検出ルーチン（図２１）のステップＳ５０２において、平均触媒後センサ学習値Ｚの算出過程で取得された全吸入空気量Ｇａnの値が平均化され、平均吸入空気量Ｓが算出される。
【０２１０】
ステップＳ６０５では、先のばらつき異常検出ルーチン（図２１）のステップＳ５０９において算出された平均触媒後センサ学習値Ｚが補正される。
【０２１１】
すなわち、まずステップＳ６０１の異常気筒特定処理の結果として特定された異常気筒が読み出される。そしてこの異常気筒と、ステップＳ６０３で取得されたアルコール濃度ＡＬと、ステップＳ６０４で算出された平均吸入空気量Ｓとに対応した補正係数Ｋａ、Ｋｇが算出される。この補正係数Ｋａ、Ｋｇの算出には、図１９および図２０の関係が規定されたマップが用いられる。すなわちＥＣＵ２０は、図１９および図２０の関係が規定されたマップを予め記憶しており、このマップを用いて補正係数Ｋａ、Ｋｇを算出する。
【０２１２】
例えば、異常気筒が＃２気筒、アルコール濃度ＡＬが２０（％）、平均吸入空気量Ｓが１０（ｇ／ｓ）である場合、図１９（Ｂ）のマップからアルコール濃度ＡＬ＝２０（％）に対応したアルコール濃度補正係数Ｋａ＝０．９が算出され、図２０（Ｂ）のマップから吸入空気量Ｇａ＝１０（ｇ／ｓ）に対応した空気量補正係数Ｋｇ＝０．９５が算出される。
【０２１３】
こうして補正係数Ｋａ、Ｋｇが算出されたならば、次式（６）により平均触媒後センサ学習値Ｚが補正され、補正後の平均触媒後センサ学習値Ｚ’が算出される。
【０２１４】
【数６】
2012132392.tif 000008
【０２１５】
なお、例えば異常気筒が＃１気筒、アルコール濃度ＡＬが２０（％）、平均吸入空気量Ｓが１０（ｇ／ｓ）である場合、図１９（Ａ）のマップからアルコール濃度ＡＬ＝２０（％）に対応したアルコール濃度補正係数Ｋａ＝０．９５が算出され、図２０（Ａ）のマップから吸入空気量Ｇａ＝１０（ｇ／ｓ）に対応した空気量補正係数Ｋｇ＝０．９７５が算出される。
【０２１６】
次いで、ステップＳ６０６〜Ｓ６０８において第２判定が実行される。ここでは判定値として、アルコール濃度等の影響を考慮しない（基準状態を前提とした）正異常判定値β３が用いられる。この正異常判定値β３も予め実験等に基づいて設定され、ＥＣＵ２０に記憶される。正異常判定値β３は、異常判定値β１より小さく正常判定値β２より大きな値である。なお正異常判定値β３は図１８に示した判定値βと等しい値に設定することができる。
【０２１７】
まずステップＳ６０６において、補正後の平均触媒後センサ学習値Ｚ’が正異常判定値β３と比較される。
【０２１８】
補正後の平均触媒後センサ学習値Ｚ’が正異常判定値β３以上である場合、ステップＳ６０７に進んでばらつき異常有り、すなわち異常と判定され、ルーチンが終了される。
【０２１９】
他方、補正後の平均触媒後センサ学習値Ｚ’が正異常判定値β３未満である場合、ステップＳ６０８に進んでばらつき異常無し、すなわち正常と判定され、ルーチンが終了される。
【０２２０】
このように、第１判定で保留判定した場合、アルコール濃度等の影響を無くすよう補正した上で再度第２判定を実行し、正常又は異常を最終判定するので、アルコール濃度等の影響に拘わらず正確な検出が可能であり、検出精度を向上することが可能である。
【０２２１】
なお変形例として、例えば、吸入空気量に基づく補正の不実施、異常気筒特定の不実施、および異常気筒に応じた補正値変更の不実施の少なくとも一つを採用した例が可能である。
【０２２２】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。
【０２２３】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０２２４】
１  内燃機関（エンジン）
２  インジェクタ
１１  上流触媒
１７  触媒前センサ
１８  触媒後センサ
２０  電子制御ユニット（ＥＣＵ）
３４  アルコール濃度センサ
【図１】
2012132392.tif 000009
【図２】
2012132392.tif 000010
【図３】
2012132392.tif 000011
【図４】
2012132392.tif 000012
【図５】
2012132392.tif 000013
【図６】
2012132392.tif 000014
【図７】
2012132392.tif 000015
【図８】
2012132392.tif 000016
【図９】
2012132392.tif 000017
【図１０】
2012132392.tif 000018
【図１１】
2012132392.tif 000019
【図１２】
2012132392.tif 000020
【図１３】
2012132392.tif 000021
【図１４】
2012132392.tif 000022
【図１５】
2012132392.tif 000023
【図１６】
2012132392.tif 000024
【図１７】
2012132392.tif 000025
【図１８】
2012132392.tif 000026
【図１９】
2012132392.tif 000027
【図２０】
2012132392.tif 000028
【図２１】
2012132392.tif 000029
【図２２】
2012132392.tif 000030