(57)【要約】【課題】公差下限品の空燃比センサにおいても好適且つ的確に気筒間空燃比ばらつき異常を検出する。【課題手段】空燃比センサの出力変動度合いに相関する第１パラメータＸ１を算出し、算出された第１パラメータＸ１が所定の一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否かを判定する。算出された第１パラメータＸ１が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行する。強制アクティブ制御の実行中に第１パラメータＸ２を算出し、算出された第１パラメータＸ２を所定の二次判定値α２と比較してばらつき異常の有無を判定する。【選択図】図１３
2014185553.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒に共通の排気通路に設置された空燃比センサの出力変動度合いに相関する第１パラメータを算出し、算出された前記第１パラメータに基づいて気筒間空燃比ばらつき異常を検出する多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
（Ａ）前記第１パラメータを算出するステップと、
（Ｂ）算出された前記第１パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（Ｃ）算出された前記第１パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップと、
（Ｄ）前記強制アクティブ制御の実行中に前記第１パラメータを算出するステップと、
（Ｅ）前記強制アクティブ制御の実行中に算出された前記第１パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記二次判定値が、
前記空燃比センサが公差下限品であり、且つ前記強制アクティブ制御が実行中であるときの、前記第１パラメータと、気筒間空燃比ばらつき度合いを表す第２パラメータとの関係を表す第１特性線上において、前記第２パラメータの所定の上限目標値に対応した前記第１パラメータの値として、予め定められる
ことを特徴とする請求項１に記載の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記一次判定下限値が、
前記空燃比センサが公差下限品であり、且つ前記強制アクティブ制御が実行されてないときの、前記第１パラメータと前記第２パラメータとの関係を表す第２特性線上において、前記第２パラメータの前記上限目標値に対応した前記第１パラメータの値として、予め定められる
ことを特徴とする請求項２に記載の気筒間空燃比ばらつき異常検出装置。
【請求項４】
前記一次判定上限値が、
前記空燃比センサが公差上限品であり、且つ前記強制アクティブ制御が実行されてないときの、前記第１パラメータと前記第２パラメータとの関係を表す第３特性線上において、前記第２パラメータの所定の下限目標値に対応した前記第１パラメータの値として、予め定められる
ことを特徴とする請求項２または３に記載の気筒間空燃比ばらつき異常検出装置。
【請求項５】
（Ｆ）前記ステップ（Ｂ）において前記第１パラメータが前記一次判定上限値および前記一次判定下限値の間の値でないと判定されたとき、当該第１パラメータを前記一次判定上限値および前記一次判定下限値の少なくとも一方と比較して、ばらつき異常の有無を判定するステップ、をさらに実行するように構成された
ことを特徴とする請求項１〜４のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項６】
前記ステップ（Ｄ）の実行中に、これを実行するための所定の前提条件が非成立となったとき、前記第１パラメータの算出は停止する一方、前記強制アクティブ制御は停止せず継続して実行する
ことを特徴とする請求項１〜５のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【請求項７】
前記前提条件が非成立状態から再成立したとき、その再成立時点から前記第１パラメータの算出を開始する
ことを特徴とする請求項６に記載の気筒間空燃比ばらつき異常検出装置。
【請求項８】
前記ステップ（Ｄ）の実行中に、前記空燃比センサの出力に基づく空燃比メインフィードバック制御と、前記空燃比センサの下流側の前記排気通路に触媒を挟んで設置された別の空燃比センサの出力に基づく空燃比サブフィードバック制御とを併せて実行し、且つ、前記空燃比サブフィードバック制御に関する学習値を、前記強制アクティブ制御による空燃比ずれの減少量に応じた分だけ補正する
ことを特徴とする請求項１〜７のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置に係り、特に、ある１気筒の空燃比が残部気筒の空燃比に対し比較的大きくずれる異常（インバランス異常）を検出するための装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションにそれ程影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１９７７９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
気筒間空燃比ばらつき異常を検出する場合、空燃比センサの出力変動度合いに相関するパラメータを算出し、この算出されたパラメータを所定の判定値と比較してばらつき異常を検出することが考えられる。
【０００７】
一方、内燃機関に実際に設置されている空燃比センサの出力特性（ゲイン、応答性等）は、その製造ばらつき等に起因して、公差上限品と公差下限品との間でばらつく。よって、同一の空燃比ばらつき度合いに対応するパラメータの算出値も、空燃比センサに応じてばらつく。
【０００８】
一方、異常と検出しなければならない空燃比ばらつき度合いの要求値が法規上定められている場合があり、この場合、当該要求値を考慮して前記判定値が定められる。
【０００９】
ところが、前述の空燃比センサのばらつきに起因して、必ずしも全ての空燃比センサで前記要求値を満足できる訳ではないことが判明した。すなわち、公差上限品では、パラメータが要求値相当未満のときに異常と検出できるものの、公差下限品ではパラメータが要求値相当を超えないと異常と検出できないことがあることが判明した。
【００１０】
そこで本発明は、上記事情に鑑みて創案され、その目的は、公差下限品の空燃比センサにおいても好適且つ的確にばらつき異常を検出できる気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一の態様によれば、
複数の気筒に共通の排気通路に設置された空燃比センサの出力変動度合いに相関する第１パラメータを算出し、算出された前記第１パラメータに基づいて気筒間空燃比ばらつき異常を検出する多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
（Ａ）前記第１パラメータを算出するステップと、
（Ｂ）算出された前記第１パラメータが、所定の一次判定上限値および一次判定下限値の間の値であるか否かを判定するステップと、
（Ｃ）算出された前記第１パラメータが前記一次判定上限値および前記一次判定下限値の間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップと、
（Ｄ）前記強制アクティブ制御の実行中に前記第１パラメータを算出するステップと、
（Ｅ）前記強制アクティブ制御の実行中に算出された前記第１パラメータを、所定の二次判定値と比較して、ばらつき異常の有無を判定するステップと、
を実行するように構成されたことを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１２】
好ましくは、前記二次判定値が、
前記空燃比センサが公差下限品であり、且つ前記強制アクティブ制御が実行中であるときの、前記第１パラメータと、気筒間空燃比ばらつき度合いを表す第２パラメータとの関係を表す第１特性線上において、前記第２パラメータの所定の上限目標値に対応した前記第１パラメータの値として、予め定められる。
【００１３】
好ましくは、前記一次判定下限値が、
前記空燃比センサが公差下限品であり、且つ前記強制アクティブ制御が実行されてないときの、前記第１パラメータと前記第２パラメータとの関係を表す第２特性線上において、前記第２パラメータの前記上限目標値に対応した前記第１パラメータの値として、予め定められる。
【００１４】
好ましくは、前記一次判定上限値が、
前記空燃比センサが公差上限品であり、且つ前記強制アクティブ制御が実行されてないときの、前記第１パラメータと前記第２パラメータとの関係を表す第３特性線上において、前記第２パラメータの所定の下限目標値に対応した前記第１パラメータの値として、予め定められる。
【００１５】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、（Ｆ）前記ステップ（Ｂ）において前記第１パラメータが前記一次判定上限値および前記一次判定下限値の間の値でないと判定されたとき、当該第１パラメータを前記一次判定上限値および前記一次判定下限値の少なくとも一方と比較して、ばらつき異常の有無を判定するステップ、をさらに実行するように構成される。
【００１６】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記ステップ（Ｄ）の実行中に、これを実行するための所定の前提条件が非成立となったとき、前記第１パラメータの算出は停止する一方、前記強制アクティブ制御は停止せず継続して実行する。
【００１７】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記前提条件が再成立したとき、その再成立時点から前記第１パラメータの算出を開始する。
【００１８】
好ましくは、前記気筒間空燃比ばらつき異常検出装置は、前記ステップ（Ｄ）の実行中に、前記空燃比センサの出力に基づく空燃比メインフィードバック制御と、前記空燃比センサの下流側の前記排気通路に触媒を挟んで設置された別の空燃比センサの出力に基づく空燃比サブフィードバック制御とを併せて実行し、且つ、前記空燃比サブフィードバック制御に関する学習値を、前記強制アクティブ制御による空燃比ずれの減少量に応じた分だけ補正する。
【発明の効果】
【００１９】
本発明によれば、公差下限品の空燃比センサにおいても好適且つ的確にばらつき異常を検出できるという、優れた効果が発揮される。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】気筒間空燃比ばらつき度合いに応じた排気空燃比の変動を示すグラフである。
【図４】図３のＵ部に相当する拡大図である。
【図５】インバランス率の要求値について説明するためのグラフである。
【図６】比較例において、触媒前センサが公差上限品および公差下限品であるときの特性線を示すグラフである。
【図７】比較例において、検出要求インバランス率Ｂｚが６０（％）の場合を示すグラフである。
【図８】比較例において、検出要求インバランス率Ｂｚが４０（％）の場合を示すグラフである。
【図９】図８の場合の対策を説明するためのグラフである。
【図１０】本実施形態において、一次判定上限値、一次判定下限値および二次判定値の設定方法を説明するためのグラフである。
【図１１】強制アクティブ制御を実行していないときと実行したときとでインバランス率を比較するための表である。
【図１２】出力変動パラメータ算出処理のフローチャートである。
【図１３】ばらつき異常検出処理のフローチャートである。
【図１４】第１の変形実施例について説明するためのタイムチャートである。
【図１５】第２の変形実施例について説明するための図である。
【図１６】第２の変形実施例におけるばらつき異常検出処理のフローチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態を添付図面に基づき説明する。
【００２２】
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒火花点火式内燃機関（ガソリンエンジン）である。内燃機関１は＃１〜＃４気筒を備える。但し内燃機関１の気筒数、形式等は特に限定されない。
【００２３】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒毎に配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒毎に取り付けられている。
【００２４】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５（吸入空気量検出装置）と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管４、サージタンク８及び吸気管１３により吸気通路が形成される。
【００２５】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒毎に配設されている。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。なおインジェクタは燃焼室３内に燃料を直接噴射するものであってもよい。
【００２６】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。
【００２７】
また、排気マニフォールド１４の排気集合部１４ｂから下流側の排気通路は、複数の気筒である＃１〜＃４気筒に共通の排気通路を形成する。
【００２８】
排気管６の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒１１と下流触媒１９が直列に取り付けられている。これら触媒１１，１９は酸素吸蔵能（Ｏ２ストレージ能）を有する。すなわち、触媒１１，１９は、排気ガスの空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．５）より大きい（リーンな）ときに排気ガス中の過剰酸素を吸蔵し、ＮＯｘを還元する。また触媒１１，１９は、排気ガスの空燃比がストイキより小さい（リッチな）ときに吸蔵酸素を放出し、排気ガス中のＨＣ，ＣＯを酸化する。
【００２９】
上流触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、上流触媒１１の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。触媒前センサ１７が本発明にいう「空燃比センサ」に該当し、触媒後センサ１８が本発明にいう「別の空燃比センサ」に該当する。
【００３０】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御装置または制御ユニットとしての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望のエンジン出力が得られるように、ＲＯＭに格納された各種プログラムに従い、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。
【００３１】
スロットルバルブ１０にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの信号がＥＣＵ２０に送られる。ＥＣＵ２０は、通常、アクセル開度に応じて定まる目標スロットル開度に、実際のスロットル開度が一致するよう、スロットル開度をフィードバック制御する。
【００３２】
ＥＣＵ２０は、エアフローメータ５からの信号に基づき、単位時間当たりの吸入空気の量である吸入空気量すなわち吸気流量を検出する。そしてＥＣＵ２０は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン１の負荷を検出する。
【００３３】
ＥＣＵ２０は、クランク角センサ１６からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。
【００３４】
触媒前センサ１７は所謂広域Ａ／Ｆセンサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキであるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３５】
他方、触媒後センサ１８は所謂Ｏ2センサもしくは酸素センサからなり、ストイキを境に出力値が急変するＺ特性を持つ。図２に触媒後センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ１８の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３６】
上流触媒１１及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３７】
そこで通常運転時、燃焼室３から排出され上流触媒１１に供給される排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御がＥＣＵ２０により実行される。この空燃比フィードバック制御は、触媒前センサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比メインフィードバック制御と、触媒後センサ１８によって検出された排気空燃比をストイキに一致させるように混合気の空燃比、具体的には燃料噴射量を制御する空燃比サブフィードバック制御とからなる。
【００３８】
このような目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ストイキは基準空燃比をなす。
【００３９】
さて、例えば全気筒のうちの一部の気筒、特に１気筒に故障が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生する場合がある。例えば、＃１気筒のインジェクタ１２が故障し、＃１気筒の燃料噴射量が残部の＃２〜＃４気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が＃２〜＃４気筒の空燃比より大きくリッチ側にずれる場合等である。このときでも前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ１７に供給されるトータルガスの空燃比、すなわち各気筒の空燃比の平均値をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２、＃３及び＃４気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４０】
以下、本実施形態におけるばらつき異常検出の一態様を説明する。
【００４１】
図３に概略的に示すように、排気空燃比はエンジンサイクル（＝７２０°ＣＡ）毎に周期的に変動するが、気筒間空燃比ばらつきが発生すると１エンジンサイクル内での排気空燃比の変動が大きくなる。（Ｂ）の空燃比線図ａ，ｂ，ｃはそれぞればらつき無し、１気筒のみ＋２０％のインバランス率でリッチずれ、及び１気筒のみ＋５０％のインバランス率でリッチずれの場合の、触媒前センサ１７による検出空燃比Ａ／Ｆを示す。見られるように、ばらつき度合いが大きくなるほど空燃比変動の振幅が大きくなる。
【００４２】
ここでインバランス率とは、気筒間空燃比のばらつき度合いを表す一つのパラメータ（本発明にいう「第２パラメータ」）である。即ち、インバランス率とは、全気筒のうちある１気筒のみが残部気筒に対し空燃比ずれを起こしている場合に、その空燃比ずれを起こしている気筒（インバランス気筒）の空燃比がどれくらいの割合で、空燃比ずれを起こしていない気筒（バランス気筒）の空燃比からずれているかを示す値である。本実施形態の場合、インバランス率Ｂは次式で表される。インバランス率Ｂが１から離れるほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。
【００４３】
【数１】
2014185553.tif 000003
【００４４】
Ａ／Ｆｂはバランス気筒の空燃比、Ａ／Ｆｉｂはインバランス気筒の空燃比である。便宜上、インバランス率をパーセンテージで表示することもある。この場合インバランス率Ｂ（％）は次式で表される。インバランス率Ｂ（％）の絶対値が大きくなるほど、インバランス気筒のバランス気筒に対する空燃比ずれが大きく、空燃比ばらつき度合いは大きい。
【００４５】
【数２】
2014185553.tif 000004
【００４６】
図３から理解されるように、インバランス率Ｂ（％）の絶対値が大きいほど、すなわち空燃比ばらつき度合いが大きいほど、触媒前センサ１７の出力変動が大きくなる。
【００４７】
よってこの特性を利用し、本実施形態では、触媒前センサ１７の出力変動度合いに相関するパラメータ（本発明にいう「第１パラメータ」）である出力変動パラメータＸを算出もしくは検出し、この算出された出力変動パラメータＸに基づいてばらつき異常を検出する。
【００４８】
以下に出力変動パラメータＸの算出方法を説明する。図４は図３のＵ部に相当する拡大図であり、特に１エンジンサイクル内の触媒前センサ出力の変動を簡略的に示す。触媒前センサ出力としては、触媒前センサ１７の出力電圧Ｖｆを空燃比Ａ／Ｆに換算した値を用いる。但し触媒前センサ１７の出力電圧Ｖｆを直接用いることも可能である。
【００４９】
図４（Ｂ）に示すように、ＥＣＵ２０は、１エンジンサイクル内において、所定のサンプル周期τ毎に、触媒前センサ出力Ａ／Ｆの値を取得する。そして今回（ｎ）のタイミングで取得した値Ａ／Ｆｎと、前回（ｎ−１）のタイミングで取得した値Ａ／Ｆｎ−１との差（出力差またはセンサ出力差ともいう）ΔＡ／Ｆｎを次式により求める。この出力差ΔＡ／Ｆｎは今回のタイミングにおける触媒前センサ出力の微分値と言い換えることができる。
【００５０】
【数３】
2014185553.tif 000005
【００５１】
最も単純には、この出力差ΔＡ／Ｆｎ自体が触媒前センサ出力の変動の大きさを表す。そこで所定の１タイミングにおける出力差ΔＡ／Ｆｎの絶対値を出力変動パラメータとすることができる。但し、本実施形態では精度向上のため、複数の出力差ΔＡ／Ｆｎの平均値を出力変動パラメータとする。本実施形態では、Ｍエンジンサイクル分（例えばＭ＝５０）の出力差ΔＡ／Ｆｎの平均化値を出力変動パラメータＸとして算出する。触媒前センサ出力の変動度合いが大きくなるほど出力変動パラメータＸは大きくなる。
【００５２】
但し、出力差ΔＡ／Ｆｎはプラスの場合とマイナスの場合とがあるので、本実施形態ではこれらを区別して算出を行う。算出方法の詳細は後に説明する。但しこの区別を行わないで算出を行うことも可能である。
【００５３】
なお、触媒前センサ出力の変動度合いに相関する如何なる値をも出力変動パラメータとすることができる。例えば、１エンジンサイクル内における触媒前センサ出力の最大ピークと最小ピークの差（所謂ピーク・トゥ・ピーク; peak to peak）、または２階微分値の最大ピークまたは最小ピークの絶対値に基づいて、出力変動パラメータを算出することもできる。触媒前センサ出力の変動度合いが大きいほど、触媒前センサ出力の最大ピークと最小ピークの差は大きくなり、また２階微分値の最大ピークまたは最小ピークの絶対値も大きくなるからである。
【００５４】
このように算出された出力変動パラメータＸは所定の判定値αと比較され、これによりばらつき異常の有無が判定される。例えば、算出された出力変動パラメータＸが判定値αより大きければばらつき異常あり（異常）、算出された出力変動パラメータＸが判定値α以下であればばらつき異常なし（正常）と判定することができる。なお後に詳述するように、判定値αは排気エミッションに関するＯＢＤ（On-Board Diagnosis）規制値を考慮して設定される。
【００５５】
ところで、前述したように、エンジン１に実際に設置されている触媒前センサ１７の出力特性（ゲイン、応答性等）は、その製造ばらつき等に起因して、公差上限品と公差下限品との間でばらつく。よって、同一の空燃比ばらつき度合い、すなわちインバランス率Ｂに対応する出力変動パラメータＸの算出値も、触媒前センサ１７に応じてばらつく。
【００５６】
一方、異常と検出しなければならないインバランス率Ｂの要求値が法規上定められている場合があり、この場合、当該要求値を考慮して前記判定値αが定められる。
【００５７】
ところが、前述の触媒前センサ１７のばらつきに起因して、必ずしも全ての触媒前センサ１７で前記要求値を満足できる訳ではないことが判明した。すなわち、公差上限品では、出力変動パラメータＸが要求値相当未満のときに異常と検出できるものの、公差下限品では出力変動パラメータＸが要求値相当を超えないと異常と検出できないことがあることが判明した。以下、この点についてより具体的に説明する。
【００５８】
図５は、インバランス率Ｂの要求値について説明するためのグラフである。横軸はインバランス率Ｂ（％）を示し、縦軸は特定のエミッション成分、ここではＮＯｘの排出量Ｍを示す。Ｍ１はＮＯｘ排出量に関して法規上定められたエミッション規制値であり、Ｍ２は法規上定められたＯＢＤ規制値である。ＯＢＤ規制値Ｍ２は例えばエミッション規制値Ｍ１の１．５倍に定められる。
【００５９】
図示するように、インバランス率Ｂ（％）が０に対し増加するほど、すなわちリッチ側の空燃比ずれ（リッチ側インバランス）を起こしている１気筒の空燃比ずれ量が増加するほど、ＮＯｘ排出量Ｍは増加する。そしてＯＢＤ規制値Ｍ２に対応するインバランス率Ｂｚ（％）が前記要求値である。この要求値を検出要求インバランス率と称する。
【００６０】
実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには、必ず異常と検出しなければならない。そうしなければＮＯｘ排出量ＭがＯＢＤ規制値Ｍ２を超えてしまうからである。言い換えれば、検出要求インバランス率Ｂｚ（％）は、異常と検出しなければならないインバランス率Ｂ（％）の下限値を意味する。
【００６１】
検出要求インバランス率Ｂｚ（％）の値は、車種やエンジン１によって異なるが、例えば４０〜６０（％）の範囲内の値をとる。
【００６２】
図６は、触媒前センサ１７が公差上限品および公差下限品であるときの、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す特性もしくは特性線をそれぞれ示す。図中、ＬＸＨは公差上限品であるときの特性もしくは特性線、ＬＸＬは公差下限品であるときの特性もしくは特性線を示す。周知のように、公差上限品とは公差範囲内で応答が最も早いものをいい、公差下限品とは公差範囲内で応答が最も遅いものをいう。なお本実施形態は、実際にエンジン１に設置されている触媒前センサ１７は公差範囲内の正常なセンサであることを前提とする。
【００６３】
図６に示すように、インバランス率Ｂ（％）と出力変動パラメータＸとの間には線形且つ一次比例的な関係もしくは特性が存在する。但しこの関係は触媒前センサ１７の出力特性（以下、単にセンサ出力特性ともいう）に応じて変化し、例えば公差上限品の特性線ＬＸＨの傾きは公差下限品の特性線ＬＸＬの傾きより大きくなる。実際に設置されているセンサに応じて、特性線の傾きがＬＸＨとＬＸＬとの間で変化することとなる。
【００６４】
ここで、比較例としての判定値αの設定方法もしくは適合方法を述べる。図６に示すように、まず、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを１０（％）以下とする。この範囲ａは、確実な正常状態におけるインバランス率Ｂ（％）のばらつき範囲に相当する。この範囲ａの上限値を規定するインバランス率ＢＬ（＝１０（％））を下限目標インバランス率と称す。
【００６５】
次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを判定値αとして決定する。公差上限品の特性線ＬＸＨ上における値とする理由は、公差上限品が最も異常側の出力変動パラメータＸの値をもたらすからである。
【００６６】
一方、公差下限品の特性線ＬＸＬ上において、判定値αに対応するインバランス率は５０（％）である。つまりこの異常検出装置は、実際のインバランス率が５０（％）を超えなければ、センサ出力特性に因らず正確に異常と検出することができない。言い換えれば、実際に設置された触媒前センサ１７が公差下限品であるときに、実際のインバランス率が５０（％）を超えていなければ、正確に異常と検出することができない。公差下限品のときに正確に異常と検出できるインバランス率の実力は５０（％）である。このような正確に異常と検出できるインバランス率の範囲をｃで示す。また公差下限品の特性線ＬＸＬ上において判定値αに対応するインバランス率Ｂｙ（＝５０（％））を下限品検出可能インバランス率と称す。
【００６７】
範囲ａと範囲ｃの間の範囲ｂは、実際に設置されている触媒前センサ１７が公差上限品であるときには異常と検出してもよい範囲である。
【００６８】
図７は、図６に示した比較例において、検出要求インバランス率Ｂｚ（％）が６０（％）の場合を示す。この場合、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より大きいので、比較例による異常検出装置でも問題なく、システム上成立する。
【００６９】
一方、図８は、図６に示した比較例において、検出要求インバランス率Ｂｚ（％）が４０（％）の場合を示す。この場合だと、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さいので、実際に設置されている触媒前センサ１７が公差下限品であるときに正確に異常と検出できないことがある。すなわち、Ｂｚ（％）からＢｙ（％）までの範囲ｄでは、本来異常と検出しなければならないのに、実際の出力変動パラメータＸの値が判定値αを超えないために正常と誤検出してしまう。よって比較例による異常検出装置では問題があり、システム上も成立しない。
【００７０】
この図８の場合に次のような対策が考えられる。すなわち、図９に示すように、まず検出要求インバランス率Ｂｚ＝４０（％）に対し所定のマージンだけ小さい上限目標インバランス率ＢＨ（％）を定める。図示例ではこれを３５（％）とし、マージンを５（％）としている。
【００７１】
そして、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを判定値α’とする。つまり公差下限品の特性線ＬＸＬに基づいて判定値をより小さい値α’に変更する。こうすれば、実際に設置されている触媒前センサ１７が公差下限品のとき、実際のインバランス率が検出要求インバランス率Ｂｚ（％）に達する前に確実に異常と検出できる。また上記のような誤検出を未然に防止できる。
【００７２】
しかし、こうすると、実際に設置されている触媒前センサ１７が公差上限品のとき、実際のインバランス率が下限目標インバランス率ＢＬ（＝１０（％））より小さいのに異常と検出してしまうことがある。図示例では、６〜１０（％）の間の範囲ｅにおいて異常と検出してしまう。つまり下限目標インバランス率ＢＬが実質的に低下してしまう。すると、本来異常と検出するのが不適切な範囲ａ内で異常と検出してしまい、上記の前提に反する。
【００７３】
このように、公差上限品の特性線ＬＸＨと公差下限品の特性線ＬＸＬとの二本の特性線のみに基づいて単一の判定値を定めようとしても、検出要求インバランス率Ｂｚ（％）が下限品検出可能インバランス率Ｂｙ（％）より小さい場合には、それを適切に定めるのが困難である。
【００７４】
そこで、本実施形態では、これら特性線以外の別の特性線に基づいて別の判定値を付加的に定め、これら判定値に基づいてばらつき異常を検出する。そしてこれにより、センサ出力特性に因らず、特に公差下限品の触媒前センサ１７が実際に設置されている場合でも、好適且つ的確にばらつき異常を検出することを可能としている。
【００７５】
以下に、本実施形態におけるばらつき異常検出方法を詳細に説明する。まず本実施形態のばらつき異常検出は、概してＥＣＵ２０が次のステップ（Ａ）〜（Ｅ）を実行することにより実行される。
（Ａ）出力変動パラメータＸを算出するステップ。
（Ｂ）算出された出力変動パラメータＸが、所定の一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否かを判定するステップ。
（Ｃ）算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であると判定されたとき、最も大きい空燃比ずれを起こしている１気筒に対し、その空燃比ずれを減少するような強制アクティブ制御を実行するステップ。
（Ｄ）強制アクティブ制御の実行中に出力変動パラメータＸを算出するステップ。
（Ｅ）強制アクティブ制御の実行中に算出された出力変動パラメータＸを、所定の二次判定値α２と比較して、ばらつき異常の有無を判定するステップ。
【００７６】
ここで、一次判定上限値α１Ｈ、一次判定下限値α１Ｌおよび二次判定値α２の設定方法を図１０を参照して説明する。この設定は適合段階においてなされ、設定された各判定値はＥＣＵ２０に予め記憶される。
【００７７】
図１０は、インバランス率Ｂ（％）と出力変動パラメータＸの間の関係を表す各特性もしくは特性線を示す。特に横軸のインバランス率Ｂ（％）は、成行状態、すなわち通常制御としてのストイキ制御が実行されている状態でのインバランス率Ｂ（％）をいい、強制アクティブ制御が実行されていないときのインバランス率Ｂ（％）をいう。なお強制アクティブ制御が実行されているときには、ベースとなるストイキ制御が実行されている上でさらに強制アクティブ制御が実行される。
【００７８】
前記同様、ＬＸＨは触媒前センサ１７が公差上限品であるときの特性線、ＬＸＬは触媒前センサ１７が公差下限品であるときの特性線であり、これらはいずれも強制アクティブ制御が実行されてないときの特性線である。
【００７９】
ＬＸＨＡは、触媒前センサ１７が公差上限品であり、且つ強制アクティブ制御が実行されているときの特性線である。またＬＸＬＡは、触媒前センサ１７が公差下限品であり、且つ強制アクティブ制御が実行されているときの特性線である。なお詳しくは後述するが、図示例は、所定の強制アクティブ制御量Ｂｆで強制アクティブ制御が実行されたときの特性線を示す。
【００８０】
図から理解されるように、強制アクティブ制御が実行されると各特性線ＬＸＨ，ＬＸＬは出力変動パラメータＸの減少側（ばらつき小側）にシフトし、また両特性線ＬＸＨ，ＬＸＬの特性差は小さくなる。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒の空燃比ずれを減少するような制御だからである。
【００８１】
（１）まず前記同様、センサ出力特性に因らず異常と検出するのが不適切な（異常と検出したくない）インバランス率Ｂ（％）の範囲ａを決定する。図示例ではこれを２０（％）以下とする。すなわち、この範囲ａの上限値を規定する下限目標インバランス率ＢＬは２０（％）である。
【００８２】
（２）次に、公差上限品の特性線ＬＸＨ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定上限値α１Ｈとして決定する。図示例ではα１Ｈ＝約０．１９である。
【００８３】
（３）次に、公差上限品且つ強制アクティブ制御実行時の特性線ＬＸＨＡ上において、下限目標インバランス率ＢＬ（％）に対応する出力変動パラメータＸの値を求め、これを二次判定値α２として決定する。図示例ではα２＝約０．１である。
【００８４】
（４）次に、公差下限品且つ強制アクティブ制御実行時の特性線ＬＸＬＡ上において、二次判定値α２に対応するインバランス率の値Ｂ１（％）を求める。そしてこの値Ｂ１（％）が、検出要求インバランス率Ｂｚ（％）以下か否かを確認する。図示例ではＢ１＝約３５（％）、Ｂｚ＝４０（％）なので、Ｂ１（％）がＢｚ（％）より小さい。よってこのＢ１（％）を上限目標インバランス率ＢＨ（％）として決定する。
【００８５】
（５）最後に、公差下限品の特性線ＬＸＬ上において、上限目標インバランス率ＢＨ（％）に対応する出力変動パラメータＸの値を求め、これを一次判定下限値α１Ｌとして決定する。図示例ではα１Ｌ＝約０．１４である。
【００８６】
図示例において、検出要求インバランス率Ｂｚ（＝４０％）が下限品検出可能インバランス率Ｂｙ（＝約４８％）より小さいので、前述したように、一次判定上限値α１Ｈだけだと、実際に公差下限品が設置されているときに範囲ｄ内で正常と誤検出してしまう。
【００８７】
しかし、本実施形態では、まず、実際に算出された出力変動パラメータＸが一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわち、実際に公差下限品が設置されているときに正常と誤検出する可能性があるグレーゾーンにあるか否かを判定する。そして判定がイエスの場合、強制アクティブ制御を実行し、その実行中に算出された出力変動パラメータＸを二次判定値α２と比較してばらつき異常の有無を判定する。つまり、実際に算出された出力変動パラメータＸがグレーゾーンにある場合、強制アクティブ制御を実行して特性線をより特性差の小さいＬＸＨＡ，ＬＸＬＡに変更し、検出要求インバランス率Ｂｚより小さい上限目標インバランス率ＢＨを確保した上で、ばらつき異常の有無を判定する。
【００８８】
結果的に、強制アクティブ制御の実行によって範囲ｄ内の値は範囲ｄ’内の値にシフトし、これが二次判定値α２より大きいことから、ばらつき異常有りと判定することができる。これによって誤検出を回避し、公差下限品の触媒前センサ１７が実際に設置されている場合においても、好適且つ的確にばらつき異常を検出することができる。
【００８９】
また本実施形態によれば、成行状態においてＢｚ〜Ｂｙの範囲にまで至らないＢＨ〜Ｂｚの範囲内のばらつき異常も好適且つ的確に検出できる。従って、実際のインバランス率Ｂ（％）が検出要求インバランス率Ｂｚ（％）を超えているときには必ず異常と検出しなければならないという法規上の要件も十分満足することができる。
【００９０】
上記において、Ｂ１（％）が検出要求インバランス率Ｂｚ（％）以下か否かを確認する理由は次の通りである。強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、どの程度の量の強制アクティブ制御を実行するか、言い換えれば強制アクティブ制御量をどのような値に設定するかによって変化する。よって場合によってはＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きくなることもあり得る。しかしこうなるとシステム上成立しない。よってＢ１（％）が検出要求インバランス率Ｂｚ（％）以下の場合に限って、Ｂ１（％）を上限目標インバランス率ＢＨ（％）として決定する。逆にＢ１（％）が検出要求インバランス率Ｂｚ（％）より大きければ、強制アクティブ制御量を変更する等、適合作業をやり直すことになる。
【００９１】
なお、ここでは上限目標インバランス率ＢＨ（％）を検出要求インバランス率Ｂｚ（％）より小さい値に設定したが、検出要求インバランス率Ｂｚ（％）に等しい値に設定してもよい。
【００９２】
以上の説明から分かるように、特性線ＬＸＬＡが本発明にいう「第１特性線」に該当し、上限目標インバランス率ＢＨ（％）が本発明にいう「第２パラメータの上限目標値」に該当し、特性線ＬＸＬが本発明にいう「第２特性線」に該当し、特性線ＬＸＨが本発明にいう「第３特性線」に該当し、下限目標インバランス率ＢＬ（％）が本発明にいう「第２パラメータの下限目標値」に該当する。
【００９３】
次に、強制アクティブ制御について説明する。強制アクティブ制御は、最も大きい空燃比ずれを起こしている１気筒の空燃比ずれを減少するような制御、所謂逆アクティブ制御である。
【００９４】
図１１は、強制アクティブ制御を実行していないとき（実行前）と実行したとき（実行後）とで、インバランス率を比較するための表である。ここで（Ａ）、（Ｂ）に示される燃料量と空燃比の値は全て、ストイキ制御の結果、トータルガスの空燃比がストイキ（１４．５）に収束した後の値である。
【００９５】
図１１（Ａ）は、成行状態においてインバランスがあり且つ強制アクティブ制御実行前の状態を示す。図から分かるように、燃料量は全気筒共に１であるが、＃１気筒の空気系異常に起因して空気量に違いが生じており、＃１気筒のみ１３、他の気筒は１５となっている。よって空燃比も＃１気筒のみ１３、他の気筒は１５となっている。よってインバランス率は１５／１３＝１．１５＝１５％である。＃１気筒に空燃比のリッチずれが生じている。
【００９６】
なおこの状態は、例えば＃１気筒において気筒別吸気通路（枝管４、吸気ポート）にデポジット等による詰まりが生じたり、吸気弁の開弁不良が生じたりしたときなどに起こり得る。
【００９７】
図１１（Ｂ）は、図１１（Ａ）の状態から強制アクティブ制御を実行したときの状態を示す。このとき、＃１気筒のリッチずれを減少するよう、＃１気筒のみの燃料量が強制的に減量される。こうした減量とストイキ制御の結果、燃料量は＃１気筒のみ０．９１、他の気筒は１．０３となり、空燃比は＃１気筒のみ１４．２８、他の気筒は１４．５６となる。よってインバランス率は１４．５６／１４．２８＝１．０２＝２％となる。
【００９８】
燃料量に着目すると、燃料量のインバランス率は１．０３／０．９１＝１．１３＝１３％である。これに対し図１１（Ａ）に示した強制アクティブ制御実行前だと、燃料量のインバランス率は１／１＝１＝０％である。強制アクティブ制御の実行により、燃料量のインバランス率で１３％分だけ、リッチずれを起こしている＃１気筒の燃料量が強制的に減量されたこととなる。
【００９９】
そこでこの燃料量のインバランス率＝１３％を、本実施形態における強制アクティブ制御による空燃比ずれの減少量、すなわち強制アクティブ制御量Ｂｆとする。つまりある１気筒にリッチずれが生じている場合、その１気筒のみに対し、燃料量のインバランス率で１３％分だけ、燃料量の強制減量がなされる。なお１３％という値は例示であり適宜変更可能である。
【０１００】
かかる強制アクティブ制御量Ｂｆは一定値として予めＥＣＵ２０に記憶される。また、図１０に示した強制アクティブ制御実行時の特性線ＬＸＨＡ，ＬＸＬＡは、同一の強制アクティブ制御量Ｂｆで強制アクティブ制御を実行したときの特性線である。
【０１０１】
ところで、強制アクティブ制御を実行するには、全気筒のうち最も大きい空燃比ずれを起こしている１気筒、すなわち強制アクティブ制御の実行対象となる１気筒（これを強制アクティブ気筒という）を特定する必要がある。そこで本実施形態では、かかる特定を以下の方法で行う。
【０１０２】
図４に示すように、１エンジンサイクル中において＃１、＃３、＃４、＃２気筒の順に点火および燃焼が行われ、これら各気筒の排気空燃比に応じて触媒前センサ出力Ａ／Ｆが変化する。図中、ＴＤＣは圧縮上死点を意味する。図示例は、成行状態において＃４気筒にリッチずれインバランスが発生している場合を示す。図示するように、＃４気筒の排ガスを触媒前センサ１７が受けたときに触媒前センサ出力Ａ／Ｆが比較的急激にリッチ側に減少し、それ以外のときでは触媒前センサ出力Ａ／Ｆが比較的緩やかにリーン側に増大している。
【０１０３】
よって本実施形態では、触媒前センサ出力Ａ／Ｆおよび出力差ΔＡ／Ｆｎと各気筒との対応付けを行い、気筒毎に出力差ΔＡ／Ｆｎの平均値を求めると共に、この平均値がマイナス側に最も大きい気筒を強制アクティブ気筒として特定する。
【０１０４】
なお、代替的もしくは付加的に、最も大きいリーンずれインバランスが発生している１気筒を強制アクティブ気筒とし、この強制アクティブ気筒に対し、燃料噴射量を強制的に増量する強制アクティブ制御を実行してもよい。この場合、気筒毎の出力差ΔＡ／Ｆｎの平均値がプラス側に最も大きい気筒を強制アクティブ気筒として特定する。
【０１０５】
なお、強制アクティブ気筒の特定方法は公知方法も含め他の方法も可能である。例えば図４に示すように、触媒前センサ出力Ａ／Ｆの最大ピークおよび最小ピークとクランク角との関係から強制アクティブ気筒を特定してもよい。
【０１０６】
次に、本実施形態のばらつき異常検出のより具体的な検出処理について説明する。
【０１０７】
まず、本実施形態の基本的処理である出力変動パラメータＸの算出処理について説明する。当該算出処理はＥＣＵ２０が図１２に示すようなルーチンを所定の演算周期毎に繰り返し実行することによりなされる。
【０１０８】
まずステップＳ１０１において、今回の演算時期ないしタイミングｎにおける触媒前センサ出力Ａ／Ｆｎが取得される。そして今回のタイミングにおけるセンサ出力差ΔＡ／Ｆｎが前式（２）より算出される。ここで触媒前センサ出力Ａ／Ｆｎおよびセンサ出力差ΔＡ／Ｆｎの両値には、両値をもたらした排ガスの排出先の気筒の番号が対応づけられ、両値と気筒番号とがセットでＥＣＵ２０に記憶される。これは、後に強制アクティブ気筒を特定するためである。
【０１０９】
次いでステップＳ１０２において、今回のタイミングにおけるセンサ出力差ΔＡ／Ｆｎがゼロより大きいか否かが判断される。
ゼロより大きい場合、すなわち今回タイミングのセンサ出力差（傾き）ΔＡ／Ｆｎがプラスであり、触媒前センサ出力の増加時の値である場合には、ステップＳ１０３で今回のタイミングにおけるプラスのセンサ出力差ΔＡ／Ｆｎが積算され、その積算値ΣΔＡ／Ｆｎ＋が次式（３）より算出される。
【０１１０】
【数４】
2014185553.tif 000006
【０１１１】
そしてステップＳ１０４において、プラスのセンサ出力差ΔＡ／Ｆｎの積算回数Ｃ１＋の値が１だけ増加（インクリメント）される。
【０１１２】
他方、ステップＳ１０２において、今回のタイミングにおけるセンサ出力差ΔＡ／Ｆｎがゼロ以下の場合、すなわち今回タイミングのセンサ出力差（傾き）ΔＡ／Ｆｎがゼロまたはマイナスであり、触媒前センサ出力の無変化時または減少時の値である場合には、ステップＳ１０５で今回のタイミングにおけるマイナスのセンサ出力差ΔＡ／Ｆｎが積算され、その積算値ΣΔＡ／Ｆｎ−が次式（４）より算出される。
【０１１３】
【数５】
2014185553.tif 000007
【０１１４】
そしてステップＳ１０６において、マイナスのセンサ出力差ΔＡ／Ｆｎの積算回数Ｃ１−の値が１だけ増加（インクリメント）される。
【０１１５】
次いで、ステップＳ１０７において、今回のタイミングにおけるクランク角θが、１エンジンサイクル（０〜７２０°ＣＡ）中の基準クランク角である０°ＣＡであるか否かが判断される。この基準クランク角は、１エンジンサイクル中のセンサ出力差ΔＡ／Ｆｎの平均値を算出するタイミングを規定する。なお基準クランク角は０°ＣＡ以外の値に定めることも可能である。本実施形態の場合、基準クランク角である０°ＣＡは＃１気筒の圧縮上死点に等しくされている（図４参照）。
【０１１６】
クランク角θが０°ＣＡでない場合、ルーチンが終了される。他方、クランク角θが０°ＣＡである場合、ステップＳ１０８において、今回の１エンジンサイクル終了時点におけるセンサ出力差ΔＡ／Ｆｎの平均値が算出されると共に、この平均値が積算される。まずプラスのセンサ出力差ΔＡ／Ｆｎについては、プラスのセンサ出力差の積算値ΣΔＡ／Ｆｎ＋が積算回数Ｃ１＋で除算されてエンジンサイクル毎の平均値Ｒｍ＋（＝（ΣΔＡ／Ｆｎ＋）／Ｃ１＋）が算出される。そしてこの平均値Ｒｍ＋が、エンジンサイクル毎の平均値の積算値に加算され、平均値Ｒｍ＋の積算値ΣＲｍ＋が求められる。積算値ΣＲｍ＋は次式（５）より算出される。
【０１１７】
【数６】
2014185553.tif 000008
【０１１８】
同様に、マイナスのセンサ出力差ΔＡ／Ｆｎについては、マイナスのセンサ出力差の積算値ΣΔＡ／Ｆｎ−が積算回数Ｃ１−で除算されてエンジンサイクル毎の平均値Ｒｍ−（＝（ΣΔＡ／Ｆｎ−）／Ｃ１−）が算出される。そしてこの平均値Ｒｍ−が、エンジンサイクル毎の平均値の積算値に加算され、平均値Ｒｍ−の積算値ΣＲｍ−が求められる。積算値ΣＲｍ−は次式（６）より算出される。
【０１１９】
【数７】
2014185553.tif 000009
【０１２０】
次に、ステップＳ１０９において、エンジンサイクル毎のプラス平均値Ｒｍ＋とマイナス平均値Ｒｍ−の積算回数Ｃ２＋、Ｃ２−の値が１ずつ増加（インクリメント）される。
【０１２１】
この後ステップＳ１１０において、プラスのセンサ出力差の積算値ΣΔＡ／Ｆｎ＋とマイナスのセンサ出力差の積算値ΣΔＡ／Ｆｎ−との値がゼロにクリアされる。そしてステップＳ１１１において、プラスのセンサ出力差の積算回数Ｃ１＋とマイナスのセンサ出力差の積算回数Ｃ１−との値がゼロにクリアされる。
【０１２２】
次いでステップＳ１１２において、エンジンサイクル毎のプラス平均値の積算回数Ｃ２＋が所定のしきい値Ｍ＋以上に達し、且つエンジンサイクル毎のマイナス平均値の積算回数Ｃ２−が所定のしきい値Ｍ−以上に達したか否かが判断される。本実施形態においては例えばＭ＋＝Ｍ−＝５０とされる。ノーの場合にはルーチンが終了される。
【０１２３】
他方、イエスの場合には、ステップＳ１１３において、積算値ΣＲｍ＋を積算回数Ｃ２＋で除してなるＭ＋エンジンサイクル中の平均値（ΣＲｍ＋）／Ｃ２＋と、積算値ΣＲｍ−を積算回数Ｃ２−で除してなるＭ−エンジンサイクル中の平均値（ΣＲｍ−）／Ｃ２−とが算出される。そしてこれら両平均値に基づき出力変動パラメータＸが算出される。
【０１２４】
本実施形態では、両平均値の絶対値の平均値が出力変動パラメータＸとして算出される。但し他の値も可能であり、例えば両平均値の絶対値のうち大きい方、あるいは両平均値の絶対値の和を出力変動パラメータＸとして算出してもよい。こうして出力変動パラメータＸが算出されたならばルーチンが終了される。
【０１２５】
次に、本実施形態のばらつき異常検出処理について説明する。当該検出処理はＥＣＵ２０により、図１３のフローチャートに表されるようなアルゴリズムに従って実行される。
【０１２６】
まずステップＳ２０１において、ばらつき異常検出を実行するのに適した所定の前提条件が成立したか否かが判断される。例えば次の各条件が成立した場合に前提条件が成立する。
（１）エンジンの暖機が終了している。
（２）触媒前センサ１７および触媒後センサ１８が活性化している。
（３）上流触媒１１および下流触媒１９が活性化している。
（４）エンジンの回転数Ｎｅと負荷ＫＬが所定範囲内にある。例えば回転数Ｎｅが１２００〜２０００（ｒｐｍ）の範囲内にあり、且つ負荷ＫＬが４０〜６０（％）の範囲内にある。
（５）ストイキ制御中である。
【０１２７】
なお前提条件については他の例も可能である。例えば、（６）エンジンが定常運転中である、という条件を加えてもよい。
【０１２８】
前提条件が成立してなければ待機し、前提条件が成立したならばステップＳ２０２に進む。なおここでは、Ｓ２０２以降の各ステップは前提条件が成立している場合に限って実行されるものとする。
【０１２９】
ステップＳ２０２では、強制アクティブ制御を実行していないときの成行状態での出力変動パラメータＸ１の値が算出される。この算出は図１２に示したルーチンの実行によりなされる。
【０１３０】
ステップＳ２０３においては、算出された出力変動パラメータＸ１の値が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値であるか否か、すなわちα１Ｌ＜Ｘ１≦α１Ｈの範囲内にあるか否かが判断される。このような判断もしくは判定を一次判定という。
【０１３１】
α１Ｌ＜Ｘ１≦α１Ｈの範囲内にある場合、いずれかの１気筒で上記のグレーゾーンにあるような空燃比ずれが起きていると予想される。従ってこの場合、ステップＳ２０４において、強制アクティブ気筒が特定される。このとき、図１２のルーチンのステップＳ１０１で取得された、センサ出力差ΔＡ／Ｆｎと気筒番号との組データが利用される。
【０１３２】
例えば、気筒番号毎のセンサ出力差ΔＡ／Ｆｎの平均値（プラスかマイナスかを問わない）が求められ、この平均値の絶対値が最も大きい気筒が強制アクティブ気筒として特定される。図４から理解されるように、成行状態でリッチずれインバランスが発生している＃４気筒のセンサ出力差ΔＡ／Ｆｎの平均値の絶対値は、他の気筒のそれよりも大きい。よってこの方法で強制アクティブ気筒を特定することが可能である。
【０１３３】
ここで、強制アクティブ気筒が成行状態でリッチずれインバランスしているのか、あるいはリーンずれインバランスしているのかの特定も、併せて実行される。このとき、強制アクティブ気筒のセンサ出力差ΔＡ／Ｆｎの平均値がプラスであればリーンずれインバランス、マイナスであればリッチずれインバランスと特定される。
【０１３４】
次に、ステップＳ２０５において、強制アクティブ制御が実行される。すなわち強制アクティブ気筒に対して、その空燃比ずれを減少するよう、燃料噴射量が所定量減量または増量される。このとき、ステップＳ２０４で強制アクティブ気筒がリッチずれインバランスと特定されていれば、そのリッチずれを減少するよう燃料噴射量が減量される。逆に、ステップＳ２０４で強制アクティブ気筒がリーンずれインバランスと特定されていれば、そのリーンずれを減少するよう燃料噴射量が増量される。
【０１３５】
ステップＳ２０６において、強制アクティブ制御が実行されているときの出力変動パラメータＸ２の値が算出される。この算出は再び、図１２に示したルーチンの実行によりなされる。
【０１３６】
ステップＳ２０７においては、算出された出力変動パラメータＸ２の値が二次判定値α２と比較され、その大小が判断される。このような判断もしくは判定を二次判定という。
【０１３７】
出力変動パラメータＸ２の値が二次判定値α２以下の場合、ステップＳ２０８においてばらつき異常なし、すなわち正常と判定される。
【０１３８】
他方、出力変動パラメータＸ２の値が二次判定値α２より大きい場合、ステップＳ２０９においてばらつき異常あり、すなわち異常と判定される。このときにはチェックランプ等の警告装置が起動され、異常の事実がユーザに知らされ、ユーザに対し修理が促される。
【０１３９】
ところで、ステップＳ２０３において、成行状態の出力変動パラメータＸ１の値がα１Ｌ＜Ｘ１≦α１Ｈの範囲内にない場合、明らかな正常状態または異常状態であることが予想される。従ってこの場合、ステップＳ２１０において、出力変動パラメータＸ１の値が一次判定下限値α１Ｌと比較され、正常または異常が直接判定される。
【０１４０】
すなわち、出力変動パラメータＸ１の値が一次判定下限値α１Ｌ以下の場合、ステップＳ２１０においてばらつき異常なし、すなわち正常と判定される。
【０１４１】
他方、出力変動パラメータＸ１の値が一次判定下限値α１Ｌより大きい場合、これは、出力変動パラメータＸ１の値が一次判定上限値α１Ｈより大きいことを意味するから、ステップＳ２１２においてばらつき異常あり、すなわち異常と判定される。
【０１４２】
なお、正常または異常を直接判定する際の判定方法は、ここで述べたような一次判定下限値α１Ｌのみと比較する方法のほか、一次判定上限値α１Ｈのみと比較する方法、一次判定下限値α１Ｌおよび一次判定上限値α１Ｈの両方と比較する方法等が可能である。
【０１４３】
このように本実施形態では、ＥＣＵ２０が次のステップ（Ｆ）をも実行する。
（Ｆ）ステップ（Ｂ）において出力変動パラメータＸ１が一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの間の値でないと判定されたとき、当該出力変動パラメータＸ１を一次判定上限値α１Ｈおよび一次判定下限値α１Ｌの少なくとも一方と比較して、ばらつき異常の有無を判定するステップ。
【０１４４】
次に、本実施形態の変形実施例を説明する。
【０１４５】
まず第１の変形実施例について説明する。上記の基本実施例においては、Ｓ２０２以降の各ステップを前提条件が成立している場合に限って実行することとした。
【０１４６】
一方、図１４に示すように、強制アクティブ制御の実行中に前提条件が一旦非成立となり（ｔ１）、強制アクティブ制御が停止もしくは中断され（仮想線で示す）、その後前提条件が再成立して強制アクティブ制御が再開される（ｔ２）場合がある。この前提条件の非成立および再成立の原因として、エンジンの回転数Ｎｅと負荷ＫＬが一旦所定範囲から外れ、その後所定範囲に入る場合が挙げられる。強制アクティブ制御が停止されている間（ｔ１〜ｔ２）は当然に、出力変動パラメータＸ２の算出が停止され、当該算出に要するデータの取得も停止される。
【０１４７】
強制アクティブ制御が停止状態から再開されたとき、空燃比フィードバック制御と各センサ出力が落ち着くまでに例えば５〜１０エンジンサイクル程度の時間がかかる。このため、強制アクティブ制御が再開された直後の所定時間の間（ｔ２〜ｔ３）は、信頼性の観点から、出力変動パラメータＸ２の算出とデータの取得を停止している（仮想線で示す）。
【０１４８】
しかしこうすると、前記所定時間の間（ｔ２〜ｔ３）で、前提条件が成立しているにも拘わらず出力変動パラメータＸ２の算出とデータの取得を停止することとなり、出力変動パラメータＸ２の算出機会、データの取得機会ひいては異常検出の機会を逸してしまう。
【０１４９】
そこで本実施例においては、前記ステップ（Ｄ）の実行中に前提条件が非成立となったとき、出力変動パラメータＸ２の算出（具体的にはそのためのデータ取得）は停止する一方、強制アクティブ制御は停止せず継続して実行する（実線で示す）。
【０１５０】
強制アクティブ制御を継続して実行するので、前提条件が再成立した直後においても空燃比フィードバック制御と各センサ出力は適切な状態もしくは値に落ち付いている。よって、本実施例では、前提条件が再成立した時点（ｔ２）から出力変動パラメータＸ２の算出、具体的にはデータ取得が開始され（実線で示す）、これにより出力変動パラメータＸ２の算出機会、データの取得機会ひいては異常検出の機会をより多く確保することが可能である。
【０１５１】
しかも、強制アクティブ制御は空燃比ずれを減少し、インバランス状態を軽減させるような制御なので、排気エミッションやドライバビリティをむしろ向上させる。従って前提条件非成立中に強制アクティブ制御を実行しても、排気エミッションやドライバビリティへの影響を少なくすることができる。
【０１５２】
次に、第２の変形実施例について説明する。
【０１５３】
上記の基本実施例においては、ストイキ制御中に出力変動パラメータＸ１，Ｘ２が算出される。またストイキ制御は、図１５に示すように、触媒前センサ１７の出力（空燃比Ａ／Ｆｆで表す）をストイキに一致させるような空燃比メインフィードバック制御と、触媒後センサ１８の出力（出力電圧Ｖｒで表す）をストイキに一致させるような空燃比サブフィードバック制御とからなる。
【０１５４】
知られているように（例えば特開２００９−３０４５５号公報参照）、ある１気筒において、空燃比がストイキから比較的大きくリッチ側にずれるリッチずれが発生すると、図１５（Ａ）に示すように、当該気筒から発生される水素の影響で、触媒前センサ出力Ａ／Ｆｆが真の空燃比Ａ／Ｆｚからリッチ側にずれる。その一方で触媒前センサ出力Ａ／Ｆｆは空燃比メインフィードバック制御によりストイキ近傍に維持される。
【０１５５】
他方、水素が上流触媒１１を通過するときに除去されるので、触媒後センサ出力Ｖｒは真の空燃比Ａ／Ｆｚすなわちストイキよりリーンな空燃比を指し示す。従って触媒後センサ出力Ｖｒはストイキに対しリーン側にずれる。
【０１５６】
この後、図１５（Ｂ）に示すように、空燃比サブフィードバック制御に関する学習値Ｋｒが、触媒後センサ出力Ｖｒのリーンずれを解消すべく、燃料噴射量をリッチ側（増大側）に補正するような値（プラスの値）に徐々に更新され、やがて収束する。つまり触媒後センサ出力Ｖｒのリーンずれ量に相当する分だけ、学習値Ｋｒがプラス側に変更される。これにより、図１５（Ｃ）に示すようにリーンずれが解消される。
【０１５７】
ところで、図１５（Ｂ）に示すように、強制アクティブ制御の開始前に学習値Ｋｒが収束していた場合、強制アクティブ制御を実行するとインバランス率が変化するので、これに伴って学習値Ｋｒが仮想線ａで示すように現状に見合わない不適切な値に更新されてしまう。そして強制アクティブ制御の終了後、学習値Ｋｒが適切な値に更新されるまでの間、不適切な学習値Ｋｒによって空燃比サブフィードバック制御が実行されてしまい、排気エミッションが悪化する虞がある。
【０１５８】
これを図１５（Ｄ）の概念図を用いて説明する。ある１気筒のリッチずれを減少するように強制アクティブ制御を実行すると、水素影響に起因した真の空燃比Ａ／Ｆｚに対する触媒前センサ出力Ａ／Ｆｆのリッチずれ量が減少する。よって触媒後センサ出力Ｖｒのストイキに対するリーンずれ量も減少する。この減少したリーンずれを解消するよう学習値Ｋｒが更新されるので、学習値Ｋｒの値は、図１５（Ｂ）に仮想線ａで示すように、減少することとなる。しかし、この減少した学習値Ｋｒは、強制アクティブ制御の終了後にはもはや不適切な値となる。
【０１５９】
そこで本実施例においては、ステップ（Ｄ）の実行中、学習値Ｋｒを、強制アクティブ制御による空燃比ずれの減少量に応じた分だけ補正する。例えば空燃比ずれがリッチずれである場合、強制アクティブ制御によるリッチずれの減少量である強制アクティブ制御量Ｂｆ相当だけ、学習値Ｋｒを減少側に補正する。例えば、学習値Ｋｒを、その１（％）だけ少ない０．９９Ｋｒに補正する。なお、強制アクティブ制御量Ｂｆが予め定められているので、学習値Ｋｒの補正量も予め定められた値とすることができる。
【０１６０】
補正は、強制アクティブ制御の開始時点から終了時点まで継続して行う。またその間、強制アクティブ制御の開始直前の学習値Ｋｒを補正し、補正後の学習値Ｋｒを用いて空燃比サブフィードバック制御を行う。
【０１６１】
こうすることで、図１５（Ｂ）に実線で示すように、強制アクティブ制御の実行中に学習値Ｋｒが不適切な値に更新されてしまうことを回避でき、強制アクティブ制御の終了後に不適切な学習値Ｋｒによって空燃比サブフィードバック制御が開始もしくは実行され、排気エミッションが悪化してしまうのを回避できる。
【０１６２】
一方、こうすると強制アクティブ制御の実行中に学習値Ｋｒを元の適切な値に維持できる。図１５（Ｄ）に示すように、補正後は、触媒後センサ出力Ｖｒのストイキに対するずれが実質的にないので、学習値Ｋｒは変化しない。よって、図１５（Ｅ）に示すように、強制アクティブ制御の実行中も学習値Ｋｒの更新は停止せず、継続して実行される。
【０１６３】
本実施例に係るばらつき異常検出処理のフローチャートを図１６に示す。当該検出処理は図１３に示した基本実施例の検出処理と大略同様であり、同一のステップについては符号を３００番台に変更して図示するに止め、説明を割愛する。
【０１６４】
本実施例の検出処理が基本実施例の検出処理と異なるのは、ステップＳ３０５とステップＳ３０６の間にステップＳ３０５Ａが追加されている点のみである。
【０１６５】
すなわち、ステップＳ３０５において強制アクティブ制御が実行されたとき、ステップＳ３０５Ａにおいて空燃比サブフィードバック制御に関する学習値Ｋｒが補正される。このとき、空燃比ずれを起こしている強制アクティブ気筒の空燃比ずれがリッチずれであれば、学習値Ｋｒが例えば０．９９Ｋｒに補正され、空燃比ずれがリーンずれであれば、学習値Ｋｒが例えば１．０１Ｋｒに補正される。
【０１６６】
なお、この第２の変形実施例に関する特徴は、第１の変形実施例と組み合わせることも可能である。
【０１６７】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば上記の数値は例示であり、種々の変更が可能である。また上記の説明において、リッチ側とリーン側の一方についてしか説明していない箇所があるが、一方への説明が他方へも適用可能であることが、当業者によって容易に理解されるであろう。
【０１６８】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０１６９】
１  内燃機関（エンジン）
６  排気管
１１  上流触媒
１２  インジェクタ
１４  排気マニフォールド
１７  触媒前センサ
１８  触媒後センサ
Ｘ  出力変動パラメータ
Ｂ  インバランス率
α１Ｈ  一次判定上限値
α１Ｌ  一次判定下限値
α２  二次判定値
ＬＸＨ，ＬＸＬ，ＬＸＨＡ，ＬＸＬＡ  特性線
Ｋｒ  学習値
【図１】
2014185553.tif 000010
【図２】
2014185553.tif 000011
【図３】
2014185553.tif 000012
【図４】
2014185553.tif 000013
【図５】
2014185553.tif 000014
【図６】
2014185553.tif 000015
【図７】
2014185553.tif 000016
【図８】
2014185553.tif 000017
【図９】
2014185553.tif 000018
【図１０】
2014185553.tif 000019
【図１１】
2014185553.tif 000020
【図１２】
2014185553.tif 000021
【図１３】
2014185553.tif 000022
【図１４】
2014185553.tif 000023
【図１５】
2014185553.tif 000024
【図１６】
2014185553.tif 000025