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