(57)【要約】本発明による空燃比気筒間インバランス判定装置（判定装置）は、空燃比センサ６７の出力値Ｖａｂｙｆｓに基づいて、その空燃比センサが配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなるインバランス判定用パラメータＸを求める。その際、判定装置は、機関に供給される混合気の空燃比の目標値である目標空燃比を、理論空燃比から「理論空燃比以外の空燃比（目標リッチ空燃比ＡＦｒｉｃｈ又は目標リーン空燃比ＡＦｌｅａｎ）」に設定する。これにより、判定装置は、空燃比センサ６７の応答性が低下しない状態においてインバランス判定用パラメータＸを取得できるので、空燃比気筒間インバランス判定を精度良く行うことができる。
2011064899.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒を有する多気筒内燃機関に適用され、
前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気通路の同排気集合部よりも下流側の部位に配設された空燃比センサであって、固体電解質層と、同固体電解質層の一面に形成された排ガス側電極層と、同排ガス側電極層を覆うとともに前記排ガスが到達する拡散抵抗層と、同固体電解質層の他面に形成されるとともに大気室内に露呈された大気側電極層と、を有する空燃比検出部を含み、前記排ガス側電極層と前記大気側電極層との間に所定の電圧が印加されることにより前記固体電解質層に流れる限界電流に基いて前記空燃比センサが配設された部位を通過する排ガスの空燃比に応じた出力値を出力する空燃比センサと、
前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料であって指示燃料噴射量に応じた量の燃料をそれぞれ噴射する複数の燃料噴射弁と、
前記２以上の気筒の燃焼室に供給される混合気の空燃比が目標空燃比となるように前記指示燃料噴射量を制御する指示燃料噴射量制御手段と、
前記空燃比センサが配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得し、同取得されたインバランス判定用パラメータが所定のインバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、且つ、同取得されたインバランス判定用パラメータが同インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定するインバランス判定手段と、
を備える内燃機関の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
所定のインバランス判定用パラメータ取得条件が成立している期間において前記目標空燃比を理論空燃比以外の空燃比である非理論空燃比に設定するとともに前記インバランス判定用パラメータを取得し、且つ、
前記インバランス判定用パラメータ取得条件が成立していない期間において前記目標空燃比を理論空燃比に設定するように構成された空燃比気筒間インバランス判定装置。
【請求項２】
請求項１に記載の空燃比気筒間インバランス判定装置であって、
前記インバランス判定手段は、
前記インバランス判定用パラメータ取得条件が成立している期間において前記目標空燃比を前記非理論空燃比に設定する前に前記目標空燃比を理論空燃比に維持するとともに前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを暫定パラメータとして取得し、
前記取得された暫定パラメータが所定の高側閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、
前記取得された暫定パラメータが前記高側閾値よりも所定値だけ小さい低側閾値よりも小さいとき空燃比気筒間インバランス状態は発生していないと判定し、
前記取得された暫定パラメータが前記高側閾値よりも小さく且つ前記低側閾値よりも大きいとき空燃比気筒間インバランス状態が発生したか否かについての判定を保留し、
前記空燃比気筒間インバランス状態が発生したか否かについての判定が保留された状態にある場合、前記インバランス判定用パラメータ取得条件が成立している期間において前記目標空燃比を前記非理論空燃比に設定するとともに前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを最終パラメータとして取得し、
前記取得された最終パラメータが前記インバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、且つ、同取得された最終パラメータが同インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定するように構成された空燃比気筒間インバランス判定装置。
【請求項３】
請求項１又は請求項２に記載の空燃比気筒間インバランス判定装置において、
前記空燃比センサの前記空燃比検出部は、酸化還元反応を促進するとともに酸素吸蔵機能を有する触媒部を有し、
前記空燃比センサは、前記排気通路を通過する排ガスを前記触媒部を通して前記拡散抵抗層に到達させるように構成されてなる空燃比気筒間インバランス判定装置。
【請求項４】
請求項１乃至請求項３の何れか一項に記載の空燃比気筒間インバランス判定装置において、
前記空燃比センサは、前記空燃比検出部を覆うように同空燃比検出部をその内部に収容し且つ前記排気通路を通過する排ガスを同内部に流入させる流入孔及び同内部に流入した排ガスを前記排気通路に流出させる流出孔を有する保護カバーを更に備える空燃比気筒間インバランス判定装置。
【請求項５】
請求項４に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比、の時間についての微分値を、基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成された空燃比気筒間インバランス判定装置。
【請求項６】
請求項４に記載の空燃比気筒間インバランス判定装置において、
前記インバランス判定用パラメータ取得手段は、
前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比、の時間についての二階微分値、を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成された空燃比気筒間インバランス判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関に適用され、各気筒に供給される混合気の空燃比の不均衡（空燃比気筒間インバランス、空燃比気筒間ばらつき、気筒間における空燃比の不均一性）が過度に大きくなったことを判定（監視・検出）することができる「内燃機関の空燃比気筒間インバランス判定装置」に関する。
【背景技術】
【０００２】
従来から、図１に示したように、内燃機関の排気通路に配設された三元触媒（５３）と、その三元触媒（５３）の上流及び下流にそれぞれ配置された上流側空燃比センサ（６７）及び下流側空燃比センサ（６８）と、を備えた空燃比制御装置が広く知られている。【０００３】
この空燃比制御装置は、機関に供給される混合気の空燃比（機関の空燃比）が理論空燃比と一致するように、上流側空燃比センサの出力と下流側空燃比センサの出力とに基いて空燃比フィードバック量を算出し、その空燃比フィードバック量により機関の空燃比をフィードバック制御するようになっている。更に、上流側空燃比センサの出力のみに基いて「機関の空燃比を理論空燃比に一致させるための空燃比フィードバック量」を算出し、その空燃比フィードバック量により機関の空燃比をフィードバック制御する空燃比制御装置も広く知られている。このような空燃比制御装置において使用される空燃比フィードバック量は、全気筒に対して共通する制御量である。【０００４】
ところで、一般に、電子燃料噴射式内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁（３９）を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量よりも過大な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比（その特定気筒の空燃比）のみが大きくリッチ側に変化する。即ち、気筒間における空燃比の不均一性（空燃比気筒間ばらつき、空燃比の気筒間インバランス）が大きくなる。換言すると、各気筒に供給される混合気の空燃比である「気筒別空燃比」の間に不均衡が生じる。【０００５】
この場合、機関全体に供給される混合気の空燃比の平均は、理論空燃比よりもリッチ側の空燃比となる。従って、全気筒に対して共通する空燃比フィードバック量により、上記特定の気筒の空燃比は理論空燃比に近づけられるようにリーン側へと変更され、同時に、他の気筒の空燃比は理論空燃比から遠ざけられるようにリーン側へと変更させられる。この結果、機関全体に供給される混合気の空燃比の平均は略理論空燃比に一致させられる。【０００６】
しかしながら、上記特定の気筒の空燃比は依然として理論空燃比よりもリッチ側の空燃比となり、残りの気筒の空燃比は理論空燃比よりもリーン側の空燃比となるから、各気筒における混合気の燃焼状態は完全燃焼とは相違した燃焼状態となる。この結果、各気筒から排出されるエミッションの量（未燃物の量及び／又は窒素酸化物の量）が増大する。このため、機関に供給される混合気の空燃比の平均が理論空燃比であったとしても、増大したエミッションを三元触媒が浄化しきれず、結果として、エミッションが悪化する虞がある。【０００７】
従って、気筒間における空燃比の不均一性が過大になっていること（空燃比気筒間インバランス状態が発生していること）を検出し、何らかの対策を講じさせるようにすることはエミッションを悪化させないために重要である。なお、空燃比気筒間インバランスは、特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量よりも過小な量の燃料を噴射する特性」となった場合等にも発生する。【０００８】
このような空燃比気筒間インバランス状態が発生したか否かを判定する従来の装置の一つは、複数の気筒からの排ガスが集合する排気集合部に配設された空燃比センサ（上記上流側空燃比センサ６７）の出力値（出力信号）の軌跡長を取得し、その軌跡長と「機関回転速度に応じて変化する参照値」とを比較し、その比較結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定するようになっている（例えば、米国特許第７，１５２，５９４号を参照。）。【０００９】
なお、本明細書において、「空燃比気筒間インバランス状態が発生している」とは、気筒別空燃比の間の差（気筒別空燃比差）が許容値以上となっている状態が発生していること、換言すると、未燃物及び／又は窒素酸化物が規定値を超えるような過度の空燃比気筒間インバランス状態が発生していること意味する。「空燃比気筒間インバランス状態が発生したか否かの判定」は、単に「空燃比気筒間インバランス判定、又は、インバランス判定」とも称呼される。更に、残りの気筒に供給される混合気の空燃比（例えば、略理論空燃比）から乖離した空燃比の混合気が供給されるようになった気筒は「インバランス気筒」とも称呼される。インバランス気筒に供給される混合気の空燃比は「インバランス気筒の空燃比」とも称呼される。残りの気筒（インバランス気筒以外の気筒）は、「正常気筒」又は「非インバランス気筒」とも称呼される。正常気筒に供給される混合気の空燃比は、「正常気筒の空燃比」又は「非インバランス気筒の空燃比」とも称呼される。【００１０】
加えて、上述した空燃比センサの出力値の軌跡長のように、気筒別空燃比差（インバランス気筒の空燃比と正常気筒の空燃比との差）の絶対値が大きいほど大きくなる値は、空燃比変動指標量とも称呼される。即ち、空燃比変動指標量は、上述した空燃比センサに到達する排ガスの空燃比の変動が大きくなるほどその絶対値が大きくなるように「上記空燃比センサの出力値に基いて求められる値」である。更に、その空燃比変動指標量の絶対値が大きいほど大きくなる値であって空燃比変動指標量に基いて取得される値は「インバランス判定用パラメータ」とも称呼される。このインバランス判定用パラメータは、インバランス判定を実行するために、インバランス判定用閾値と比較される。
【発明の概要】
【００１１】
ところで、周知の空燃比センサは、例えば図２の（Ａ）に示したように、少なくとも「固体電解質層（６７１）、排ガス側電極層（６７２）、大気側電極層（６７３）及び拡散抵抗層（６７４）」を含む空燃比検出部を備える。排ガス側電極層（６７２）は固体電解質層（６７１）の一面に形成されている。排ガス側電極層（６７２）は拡散抵抗層（６７４）により覆われている。排気通路内の排ガスは、拡散抵抗層（６７４）の外側表面に到達し、拡散抵抗層（６７４）を通過して排ガス側電極層（６７２）に到達する。大気側電極層（６７３）は固体電解質層（６７１）の他面に形成されている。大気側電極層（６７３）は大気が導入される大気室（６７８）に露呈している。
【００１２】
図２の（Ｂ）及び（Ｃ）に示したように、排ガス側電極層（６７２）と大気側電極層（６７３）との間には「排ガスの空燃比に応じて変化する限界電流」を発生させるための電圧（Ｖｐ）が印加されている。この電圧は、一般に、大気側電極層（６７３）の電位が排ガス側電極層（６７２）の電位よりも高くなるように印加される。
【００１３】
図２の（Ｂ）に示したように、拡散抵抗層（６７４）を通過して排ガス側電極層（６７２）に到達した排ガスに過剰な酸素が含まれているとき（即ち、排ガス側電極層に到達した排ガスの空燃比が理論空燃比よりもリーンであるとき）、その酸素は前記電圧と固体電解質層（６７１）の酸素ポンプ特性とにより酸素イオンとして排ガス側電極層（６７２）から大気側電極層（６７３）へと導かれる。
【００１４】
これに対し、図２の（Ｃ）に示したように、拡散抵抗層（６７４）を通過して排ガス側電極層（６７２）に到達した排ガスに過剰な未燃物が含まれているとき（即ち、排ガス側電極層に到達した排ガスの空燃比が理論空燃比よりもリッチであるとき）、大気室（６７８）内の酸素は固体電解質層（６７１）の酸素電池特性により酸素イオンとして大気側電極層（６７３）から排ガス側電極層（６７２）へと導かれ、排ガス側電極層（６７２）の未燃物と反応する。
【００１５】
このような酸素イオンの移動量は、拡散抵抗層（６７４）の存在により、「拡散抵抗層（６７４）の外側表面に到達した排ガスの空燃比」に応じた値に制限される。換言すると、酸素イオンの移動により生じる電流は排ガスの空燃比（Ａ／Ｆ）に応じた値（即ち、限界電流Ｉｐ）となる（図３を参照。）。
【００１６】
空燃比センサは、この限界電流（排ガス側電極層と大気側電極層との間に電圧が印加されることにより固体電解質層を流れる電流）に基いて「空燃比センサが配設された部位を通過する排ガスの空燃比」に応じた出力値Ｖａｂｙｆｓを出力する。この出力値Ｖａｂｙｆｓは、一般には、予め求められている「出力値Ｖａｂｙｆｓと空燃比との図４に示した関係」に基いて検出空燃比ａｂｙｆｓに変換される。図４から理解されるように、出力値Ｖａｂｙｆｓと検出空燃比ａｂｙｆｓとは実質的に比例する。
【００１７】
一方、「インバランス判定用パラメータの基礎となるデータ」である空燃比変動指標量は、「空燃比センサの出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の軌跡長に限られず、空燃比センサが配設された部位を通過する排ガスの空燃比の変動の状態（例えば、所定期間における変動の幅）を反映した値であればよい。以下、この点について説明を加える。
【００１８】
空燃比センサには、各気筒からの排ガスが点火順（従って、排気順）に到達する。空燃比気筒間インバランス状態が発生していない場合、各気筒から排出される排ガスの空燃比は互いに略同一である。従って、空燃比気筒間インバランス状態が発生していない場合、図５の（Ｂ）において破線Ｃ１により示したように、空燃比センサの出力値Ｖａｂｙｆｓの波形（図５の（Ｂ）においては検出空燃比ａｂｙｆｓの波形）は略平坦である。
【００１９】
これに対し、「特定気筒（例えば、第１気筒）の空燃比のみが理論空燃比よりもリッチ側に偏移した空燃比気筒間インバランス状態（特定気筒リッチずれインバランス状態）」が発生している場合、その特定気筒の排ガスの空燃比と、その特定気筒以外の気筒（残りの気筒）の排ガスの空燃比と、は大きく相違する。
【００２０】
従って、例えば図５の（Ｂ）において実線Ｃ２により示したように、特定気筒リッチずれインバランス状態が発生している場合の空燃比センサの出力値Ｖａｂｙｆｓの波形（図５の（Ｂ）においては検出空燃比ａｂｙｆｓの波形）は、４気筒・４サイクル・エンジンの場合に７２０°クランク角（一つの空燃比センサに到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角）毎に大きく変動する。なお、「一つの空燃比センサに到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角が経過する期間」は、本明細書において「単位燃焼サイクル期間」とも称呼される。
【００２１】
更に、インバランス気筒の空燃比が正常気筒の空燃比から乖離するほど、空燃比センサの出力値Ｖａｂｙｆｓ及び検出空燃比ａｂｙｆｓの振幅は大きくなり、これらの値はより大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第１の値であるときの検出空燃比ａｂｙｆｓが図５（Ｂ）の実線Ｃ２のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第１の値の値よりも大きい第２の値」であるときの検出空燃比ａｂｙｆｓは図５（Ｂ）の一点鎖線Ｃ２ａのように変化する。
【００２２】
そのため、「空燃比センサの出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の単位時間あたりの変化量（即ち、「空燃比センサの出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の時間についての一階微分値、図５の（Ｂ）の角度α１，α２を参照。）は、気筒別空燃比差が小さいときには図５の（Ｃ）の破線Ｃ３により示したように小さく変動し、気筒別空燃比差が大きいときには図５の（Ｃ）の実線Ｃ４により示したように大きく変動する。即ち、微分値ｄ（Ｖａｂｙｆｓ）／ｄｔ及び微分値ｄ（ａｂｙｆｓ）／ｄｔは、空燃比気筒間インバランス状態の程度が大きくなる（気筒別空燃比差が大きくなる）につれてその絶対値が大きくなる。
【００２３】
従って、例えば、単位燃焼サイクル期間において複数個取得される「微分値ｄ（Ｖａｂｙｆｓ）／ｄｔ又は微分値ｄ（ａｂｙｆｓ）／ｄｔ」の絶対値の「最大値又は平均値」は、空燃比変動指標量として採用することができる。更に、そのような空燃比変動指標量そのもの、又は、複数の単位燃焼サイクル期間についてのそのような空燃比変動指標量の平均値は、インバランス判定用パラメータとして採用され得る。
【００２４】
更に、図５の（Ｄ）に示したように、「空燃比センサの出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の単位時間あたりの変化量の変化量（二階微分値ｄ２（Ｖａｂｙｆｓ）／ｄｔ２又は二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２」は、気筒別空燃比差が小さい場合には破線Ｃ５により示したように殆ど変動しないが、気筒別空燃比差が大きくなると実線Ｃ６により示したように大きく変動する。
【００２５】
従って、例えば、単位燃焼サイクル期間において複数個取得される「二階微分値ｄ２（Ｖａｂｙｆｓ）／ｄｔ２及び二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２」の絶対値の「最大値又は平均値」は、空燃比変動指標量として採用することができる。更に、そのような空燃比変動指標量そのもの、又は、複数の単位燃焼サイクル期間についてのそのような空燃比変動指標量の平均値は、インバランス判定用パラメータとして採用され得る。
【００２６】
そして、空燃比気筒間インバランス判定装置は、上記のようにして求められるインバランス判定用パラメータが所定の閾値（インバランス判定用閾値）よりも大きいか否かを判定することにより、空燃比気筒間インバランス状態が発生しているか否かを判定する。
【００２７】
しかしながら、本発明者は、排ガスの空燃比が理論空燃比に非常に近い空燃比領域において変動している場合、空燃比センサの出力値Ｖａｂｙｆｓが「その排ガスの変動に対して十分に良好な応答性をもって変化しない状態（空燃比センサの応答性が低下する状態）」が発生し、そのために空燃比変動指標量に応じて取得されるインバランス判定用パラメータが「空燃比気筒間インバランス状態の程度」を十分な精度にて表さなくなり、その結果、空燃比気筒間インバランス判定を精度良く行えない場合があるとの知見を得た。なお、上記「理論空燃比に非常に近い空燃比領域」は、理論空燃比を含む所定範囲の空燃比領域であり、「理論空燃比領域」とも称呼される。更に、上記「空燃比気筒間インバランス状態の程度」は、気筒別空燃比差、即ち、インバランス気筒の空燃比と正常気筒の空燃比との差、を意味する。
【００２８】
図６はこのような現象を説明するためのグラフである。図６の縦軸は、微分値ｄ（ａｂｙｆｓ）／ｄｔに基いて取得されたインバランス判定用パラメータである。図６の横軸は、そのインバランス判定用パラメータ（より正確には、インバランス判定用パラメータの基礎となる空燃比変動指標量）が取得された期間において「空燃比センサが配設された部位を通過した排ガスの空燃比」の平均値である。この排ガスの空燃比の平均値は、「パラメータ取得期間平均空燃比」とも称呼される。
【００２９】
図６の曲線Ｃ１は気筒別空燃比差が極めて小さく、従って、空燃比気筒間インバランス状態が発生したとは判定する必要がない場合のインバランス判定用パラメータを示している。
図６の曲線Ｃ２は気筒別空燃比差が曲線Ｃ１に示した場合よりも大きいが、空燃比気筒間インバランス状態が発生したとは判定する必要がない場合のインバランス判定用パラメータを示している。
図６の曲線Ｃ３は気筒別空燃比差が曲線Ｃ２に示した場合よりも大きく且つ空燃比気筒間インバランス状態が発生したと判定する必要がある場合のインバランス判定用パラメータを示している。
図６の曲線Ｃ４は気筒別空燃比差が極めて大きく（曲線Ｃ３に示した場合よりも大きく）、従って、空燃比気筒間インバランス状態が発生したと判定する必要がある場合のインバランス判定用パラメータを示している。
【００３０】
図６からも明らかなように、パラメータ取得期間平均空燃比が例えば１４．２〜１５．０程度の「理論空燃比領域」内にあるときに得られたインバランス判定用パラメータは、パラメータ取得期間平均空燃比が「リッチ領域（空燃比が例えば１４．２以下である領域）」内にあるときに得られたインバランス判定用パラメータ、及び、パラメータ取得期間平均空燃比が「リーン領域（空燃比が例えば１５．０以上である領域）」内にあるときに得られたインバランス判定用パラメータ、の何れよりも小さくなる。
【００３１】
従って、インバランス判定用パラメータがインバランス判定用閾値（図６の線Ｌ１を参照。）よりも大きいときに空燃比気筒間インバランス状態が発生したと判定すると、空燃比気筒間インバランス状態が発生したと判定すべきときに空燃比気筒間インバランス状態が発生していないとの判定がなされ（曲線Ｃ３の理論空燃比近傍の値を参照。）、或いは、空燃比気筒間インバランス状態が発生したと判定すべきではないときに空燃比気筒間インバランス状態が発生したとの判定がなされる虞がある（曲線Ｃ２のリッチ領域又はリーン領域における値を参照。）。
【００３２】
なお、排ガスの空燃比が理論空燃比領域において変動している場合（パラメータ取得期間平均空燃比が理論空燃比領域内にある場合）に空燃比センサの応答性が低下するのは、排ガスの空燃比が「理論空燃比よりもリッチな空燃比」から「理論空燃比よりもリーンな空燃比」へと又はその逆へと変化した際、排ガス側電極層における反応の方向が逆の方向に変化しなければならず、その結果、固体電解質層を通過する酸素イオンの向きが逆転するためにはある程度の時間が必要だからである、と推定される。
【００３３】
従って、本発明の目的の一つは、空燃比気筒間インバランス判定を精度良く行うことが可能な空燃比気筒間インバランス判定装置（以下、単に「本発明装置」とも称呼する。）を提供することにある。
【００３４】
本発明装置は、インバランス判定用パラメータ取得する期間において、目標空燃比を「理論空燃比以外の空燃比である非理論空燃比」に設定する。これにより、空燃比センサの応答性が低下していない状態において、インバランス判定用パラメータを取得することができる。
【００３５】
より具体的に述べると、本発明装置の一態様は、複数の気筒を有する多気筒内燃機関に適用され、空燃比センサと、複数の燃料噴射弁と、指示燃料噴射量制御手段と、インバランス判定手段と、を備える。
【００３６】
前記空燃比センサは、前記複数の気筒のうちの少なくとも２以上の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部、又は、前記排気通路の前記排気集合部よりも下流側の部位、に配設される。
【００３７】
更に、前記空燃比センサは、固体電解質層と、同固体電解質層の一面に形成された排ガス側電極層と、同排ガス側電極層を覆うとともに前記排ガスが到達する拡散抵抗層と、同固体電解質層の他面に形成されるとともに大気室内に露呈された大気側電極層と、を有する空燃比検出部を含む。前記空燃比センサは、「前記排ガス側電極層と前記大気側電極層との間に所定の電圧が印加されることにより前記固体電解質層に流れる限界電流」に基いて前記空燃比センサが配設された部位を通過する排ガスの空燃比に応じた出力値を出力する。
【００３８】
前記複数の燃料噴射弁のそれぞれは、前記少なくとも２以上の気筒のそれぞれに対応して配設されるとともに同２以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射する。即ち、燃料噴射弁は、一つの気筒に対して一つ以上設けられている。各燃料噴射弁は、その燃料噴射弁に対応する気筒に対して燃料を噴射する。
【００３９】
前記指示燃料噴射量制御手段は、前記２以上の気筒の燃焼室に供給される混合気の空燃比が目標空燃比となるように前記指示燃料噴射量を制御する。この指示燃料噴射量制御手段は、前記空燃比センサの出力値により表される空燃比と前記目標空燃比とに基いて、それらが一致するように空燃比フィードバック量を算出し、その空燃比フィードバック量に基いて前記指示燃料噴射量を決定（調整・制御）する空燃比フィードバック制御手段を含んでもよい。また、指示燃料噴射量制御手段は、係る空燃比フィードバック制御手段を含むことなく、例えば、吸入空気流量と機関回転速度とから定まる筒内吸入空気量（一回の吸気行程において一つの気筒に吸入される空気量）を前記目標空燃比によって除した値を前記指示燃料噴射量として決定（制御）するフィードフォワード制御手段であってもよい。
【００４０】
前記インバランス判定手段は、
（１）前記空燃比センサが配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなるインバランス判定用パラメータを前記空燃比センサの出力値に基づいて取得し、
（２）その取得されたインバランス判定用パラメータが所定のインバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、且つ、
（３）その取得されたインバランス判定用パラメータが同インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する。
【００４１】
前記インバランス判定用パラメータは、例えば、前述した「微分値ｄ（Ｖａｂｙｆｓ）／ｄｔ又は微分値ｄ（ａｂｙｆｓ）／ｄｔ」の絶対値の所定期間（例えば、前記単位燃焼サイクル期間）における「最大値又は平均値」、「二階微分値ｄ２（Ｖａｂｙｆｓ）／ｄｔ２又は二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２」の絶対値の所定期間（例えば、前記単位燃焼サイクル期間）における「最大値又は平均値」、及び、所定期間（例えば、前記単位燃焼サイクル期間）における「出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の軌跡長等、或いは、これらに基く値であってよく、これらに限定されない。
【００４２】
更に、前記インバランス判定手段は、
所定のインバランス判定用パラメータ取得条件が成立している期間において、前記目標空燃比を「理論空燃比以外の空燃比である非理論空燃比」に設定するとともに前記インバランス判定用パラメータを取得し、且つ、
前記インバランス判定用パラメータ取得条件が成立していない期間において、前記目標空燃比を理論空燃比に設定するように構成されている。
但し、前記インバランス判定用パラメータ取得条件が成立していない期間において、前記目標空燃比が常に理論空燃比に設定されている必要はない。換言すると、前記インバランス判定用パラメータ取得条件が成立していない期間において、例えば、始動直後又はフューエルカット制御の終了直後のような特殊な場合に前記目標空燃比は理論空燃比以外の空燃比に設定され、そのような特殊な場合を除き、前記目標空燃比は理論空燃比に設定され得る。
【００４３】
これによれば、インバランス判定用パラメータは、目標空燃比が非理論空燃比に設定されることにより機関の排ガスの空燃比が非理論空燃比の近傍にて変動している場合において、即ち、空燃比センサの出力値が排ガスの空燃比の変動に大きな遅れなく追従できる場合において、その空燃比センサの出力値に基いて取得される。
【００４４】
従って、本発明装置の一態様によれば、インバランス判定用パラメータが空燃比気筒間インバランス状態の程度（即ち、気筒別空燃比差）を精度良く表す値になるので、空燃比気筒間インバランス状態が発生しているか否かを精度良く判定することができる。
【００４５】
なお、インバランス判定用パラメータ取得条件は、例えば、今回の機関の始動後においてインバランス判定が一度もなされていないこと、吸入空気流量が一定値以上（又は所定範囲内）であること、機関回転速度が所定範囲内であること、冷却水温が閾値冷却水温以上であること、及び、スロットル弁開度又はアクセルペダル操作量の変化量が所定値以下となってから所定時間以上が経過していること等のうちの一つ以上の条件を含む。もちろん、インバランス判定用パラメータ取得条件はこれらに限定されない。
【００４６】
更に、目標空燃比に設定される非理論空燃比は、排ガスの空燃比が非理論空燃比及びその近傍の空燃比であるとき、空燃比センサの出力値が排ガスの空燃比の変動に十分追従できるような空燃比（理論空燃比から所定空燃比だけ乖離した空燃比）である。
【００４７】
ところで、気筒別空燃比差が非常に大きければ、排ガスの空燃比の変動は極めて大きくなる。従って、排ガスの空燃比が理論空燃比の近傍で変動していて空燃比センサの応答性が比較的低い場合であっても、その状況において得られるインバランス判定用パラメータは極めて大きな値となる（図６の曲線Ｃ４を参照。）。従って、目標空燃比が理論空燃比に設定されている状況においてインバランス判定用パラメータを取得し、そのインバランス判定用パラメータが「所定の閾値（高側閾値とも称呼される閾値。図６の線Ｌ２を参照。）」よりも大きければ、明らかに「空燃比気筒間インバランス状態が発生している」と判定することができる。
【００４８】
これに対し、気筒別空燃比差が非常に小さければ、排ガスの空燃比の変動は極めて小さい。従って、インバランス判定用パラメータが、排ガスの空燃比が理論空燃比の近傍で変動していて空燃比センサの応答性が比較的低い場合において得られた値であったとしても、そのインバランス判定用パラメータが極めて小さければ、明らかに「空燃比気筒間インバランス状態は発生していない」と判定することができる。換言すると、排ガスの空燃比が理論空燃比の近傍で変動している際に得られたインバランス判定用パラメータが「前記高側閾値よりも所定値だけ小さい閾値（低側閾値とも称呼される閾値。図６の線Ｌ３を参照。）」よりも小さければ、明らかに「空燃比気筒間インバランス状態は発生していない」と判定することができる（図６の曲線Ｃ１を参照。）。
【００４９】
従って、前記インバランス判定手段は、
（４）前記インバランス判定用パラメータ取得条件が成立している期間において前記目標空燃比を前記非理論空燃比に設定する前に前記目標空燃比を理論空燃比に維持するとともに、前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを暫定パラメータとして取得し、
（５）前記取得された暫定パラメータが「所定の高側閾値」よりも大きいとき「空燃比気筒間インバランス状態が発生した」と判定し、
（６）前記取得された暫定パラメータが「前記高側閾値よりも所定値だけ小さい低側閾値」よりも小さいとき「空燃比気筒間インバランス状態は発生していない」と判定するように、構成され得る。
【００５０】
この場合、前記高側閾値は前記インバランス判定用閾値以上の値であり、前記低側閾値は前記インバランス判定用閾値よりも小さい値であることが好適である。
【００５１】
一方、排ガスの空燃比が理論空燃比の近傍で変動していて空燃比センサの応答性が比較的低い場合に得られたインバランス判定用パラメータが、上記高側閾値と上記低側閾値との間にある場合、空燃比気筒間インバランス状態が発生したか否かを明確に判定することはできない。
【００５２】
よって、前記インバランス判定手段は、
（７）前記取得された暫定パラメータが前記高側閾値よりも小さく且つ前記低側閾値よりも大きいとき空燃比気筒間インバランス状態が発生したか否かについての判定を保留し、
（８）前記空燃比気筒間インバランス状態が発生したか否かについての判定が保留された状態にある場合、前記インバランス判定用パラメータ取得条件が成立している期間において前記目標空燃比を前記非理論空燃比に設定するとともに、前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを最終パラメータとして取得し、
（９）前記取得された最終パラメータが前記インバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、且つ、同取得された最終パラメータが同インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定するように構成され得る。
【００５３】
これによれば、空燃比センサの応答性が高い状態にてインバランス判定用パラメータ（最終パラメータ）を取得することができる。従って、暫定パラメータによっては空燃比気筒間インバランス状態が発生したか否かについて明確に判定することができない場合であっても、最終パラメータを用いることによってインバランス判定を精度良く行うことができる。
【００５４】
加えて、この態様の判定装置によれば、空燃比センサの応答性が比較的低い場合において得られたインバランス判定用パラメータ（暫定パラメータ）に基いて「空燃比気筒間インバランス状態が発生したか否か」について明確な判定を行うことができる場合には、目標空燃比を非理論空燃比に設定する必要がない。その結果、エミッションが悪化する頻度を低減することができる。
【００５５】
本発明装置において、
前記空燃比センサの前記空燃比検出部は、酸化還元反応を促進するとともに酸素吸蔵機能を有する触媒部を有し、
前記空燃比センサは、前記排気通路を通過する排ガスを前記触媒部を通して前記拡散抵抗層に到達させるように構成され得る。
【００５６】
例えば、リッチずれインバランス状態が発生すると、排ガスの空燃比の平均値は所定のリッチ空燃比へと変化する。この場合、総ての気筒の空燃比が一律にその所定のリッチ空燃比へと変化したときに比べ、水素を含む未燃物がより多く発生する。水素は粒子径が小さいので空燃比検出部の拡散抵抗層を他の未燃物よりも通過し易い。その結果、空燃比センサの出力値は、所定のリッチ空燃比よりも更にリッチ側の空燃比に応じた値へと移行してしまう。その結果、空燃比センサの出力値に基く空燃比フィードバック制御が正常に行われなくなる虞がある。
【００５７】
これに対し、空燃比センサに上記触媒部を設ければ、その触媒部において過剰な水素を酸化させることができるので、排ガス側電極層に到達する排ガスに含まれる過剰な水素を低減することができる。その結果、空燃比センサの出力値は排ガスの空燃比を精度良く表す値に近づく。
【００５８】
ところが、この触媒部における酸化還元反応及び酸素吸蔵機能に起因して「排ガスの空燃比の変化に対する空燃比センサの出力値の変化」が遅れる。その結果、空燃比センサの応答性は、触媒部を設けていない空燃比センサの応答性よりも低下する。特に、排ガスが理論空燃比を横切るように変動している場合、酸素吸蔵機能に起因する空燃比センサの出力値の遅れは顕著になる。従って、排ガスの空燃比が理論空燃比の近傍で変動している場合（即ち、パラメータ取得期間平均空燃比が理論空燃比に近い場合）、インバランス判定用パラメータはより一層小さくなる。それ故、このような触媒部を有する空燃比センサを備えた内燃機関において、その空燃比センサの出力値に基いて得られるインバランス判定用パラメータを用いてインバランス判定を行う場合、本発明装置はより優れた効果を奏することができる。
【００５９】
更に、前記空燃比センサは、前記空燃比検出部を覆うように同空燃比検出部をその内部に収容し且つ前記排気通路を通過する排ガスを同内部に流入させる流入孔及び同内部に流入した排ガスを前記排気通路に流出させる流出孔を有する保護カバーを更に備えることが多い。
【００６０】
この場合、前記インバランス判定用パラメータ取得手段は、
「前記空燃比センサの出力値、又は、同出力値により表される空燃比である検出空燃比」の時間についての微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成されることが好適である。
【００６１】
空燃比センサの出力値Ｖａｂｙｆｓは気筒別空燃比差が「０」でない限り、単位燃焼サイクル期間を一周期として変動する。従って、出力値Ｖａｂｙｆｓの軌跡長は機関回転速度の影響を強く受ける。そのため、インバランス判定用閾値を機関回転速度に応じて精度良く設定する必要が生じる。
【００６２】
これに対し、空燃比センサが上記保護カバーを備えている場合、その保護カバーの内部における排ガスの流速は機関回転速度に依存せず、排気通路を流れる排ガスの流速（従って、吸入空気流量）に依存する。これは、保護カバーの流出孔近傍を流れる排ガスによって生じる負圧により、排ガスが保護カバーの流入孔から保護カバーの内部へと流入するからである。
【００６３】
従って、吸入空気流量が一定であれば、「前記空燃比センサの出力値の時間についての微分値ｄ（Ｖａｂｙｆｓ）／ｄｔ、又は、前記空燃比センサの出力値により表される空燃比である検出空燃比の時間についての微分値ｄ（ａｂｙｆｓ）／ｄｔ」は、機関回転速度に依らず、排ガスの空燃比の変動を精度良く表す。従って、これらの微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得することにより、インバランス判定用パラメータを、機関回転速度の高低に関わらず気筒別空燃比差を精度良く表す値として取得することができる。
【００６４】
代替として、前記インバランス判定用パラメータ取得手段は、
前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比の時間についての二階微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成されることが好適である。
【００６５】
前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比の時間についての二階微分値（ｄ２（Ｖａｂｙｆｓ）／ｄｔ２又はｄ２（ａｂｙｆｓ）／ｄｔ２）は、排ガスの空燃比の平均値の緩やかな変化の影響を受け難い。従って、これらの二階微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得することにより、排ガスの空燃比の中心が比較的穏やかに変化しているときであっても、インバランス判定用パラメータを「気筒別空燃比差を精度良く表す値」として取得することができる。
【図面の簡単な説明】
【００６６】
【図１】図１は、本発明の各実施形態に係る空燃比気筒間インバランス判定装置が適用される内燃機関の概略平面図である。
【図２】図２の（Ａ）〜（Ｃ）のそれぞれは、図１に示した空燃比センサ（上流側空燃比センサ）が備える空燃比検出部の概略断面図である。
【図３】図３は、排ガスの空燃比と空燃比センサの限界電流値との関係を示したグラフである。
【図４】図４は、排ガスの空燃比と空燃比センサの出力値との関係を示したグラフである。
【図５】図５は、空燃比気筒間インバランス状態が発生した場合と同状態が発生していない場合のインバランス判定用パラメータに関連する各値の挙動を示したタイムチャートである。
【図６】図６は、パラメータ取得期間平均空燃比とインバランス判定用パラメータとの関係を示したグラフである。
【図７】図７は、図１に示した内燃機関の概略構成を示した同機関の断面図である。
【図８】図８は、図１及び図７に示した空燃比センサ（上流側空燃比センサ）の部分概略斜視図（透視図）である。
【図９】図９は、図１及び図７に示した空燃比センサの部分断面図である。
【図１０】図１０は、排ガスの空燃比と図１及び図７に示した下流側空燃比センサの出力値との関係を示したグラフである。
【図１１】図１１は、本発明の第１実施形態に係る空燃比気筒間インバランス判定装置（第１判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】図１２は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】図１３は、第１判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】図１４は、本発明の第２実施形態に係る空燃比気筒間インバランス判定装置（第２判定装置）のＣＰＵが実行するルーチンを示したフローチャートである。
【図１５】図１５は、第２判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１６】図１６は、第２判定装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】図１７は、本発明の第３実施形態に係る空燃比気筒間インバランス判定装置（第３判定装置）が採用したインバランス判定の原理を説明するためのグラフである。
【発明を実施するための形態】
【００６７】
以下、本発明の各実施形態に係る内燃機関の空燃比気筒間インバランス判定装置（以下、単に「判定装置」とも称呼する。）について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比（機関の空燃比）を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置の一部でもある。
【００６８】
＜第１実施形態＞
（構成）
図７は、第１実施形態に係る判定装置（以下、「第１判定装置」とも称呼する。）を、４サイクル・火花点火式・多気筒（直列４気筒）・内燃機関１０に適用したシステムの概略構成を示している。なお、図７は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００６９】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０と、を含んでいる。
【００７０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１の壁面及びピストン２２の上面は、シリンダヘッド部３０の下面とともに燃焼室２５を形成している。
【００７１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング制御装置３３、可変吸気タイミング制御装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフトを含むとともに同エキゾーストカムシャフトの位相角を連続的に変更する可変排気タイミング制御装置３６、可変排気タイミング制御装置３６のアクチュエータ３６ａ、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料噴射弁（燃料噴射手段、燃料供給手段）３９を備えている。
【００７２】
燃料噴射弁３９は、一つの燃焼室２５に対して一つずつ配設されている。燃料噴射弁３９は吸気ポート３１に設けられている。燃料噴射弁３９は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を対応する吸気ポート３１内に噴射するようになっている。このように、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁３９を備えている。
【００７３】
吸気系統４０は、インテークマニホールド４１、吸気管４２、エアフィルタ４３、及び、スロットル弁４４を備えている。
【００７４】
インテークマニホールド４１は、図１に示したように、複数の枝部４１ａとサージタンク４１ｂとからなる。複数の枝部４１ａのそれぞれの一端は、図７に示したように、複数の吸気ポート３１のそれぞれに接続されている。複数の枝部４１ａの他端はサージタンク４１ｂに接続されている。吸気管４２の一端はサージタンク４１ｂに接続されている。エアフィルタ４３は吸気管４２の他端に配設されている。スロットル弁４４は、吸気管４２内にあって吸気通路の開口断面積を可変とするようになっている。スロットル弁４４は、ＤＣモータからなるスロットル弁アクチュエータ４４ａ（スロットル弁駆動手段の一部）により吸気管４２内で回転駆動されるようになっている。
【００７５】
排気系統５０は、エキゾーストマニホールド５１、エキゾーストパイプ５２、エキゾーストパイプ５２に配設された上流側触媒５３、及び、上流側触媒５３よりも下流のエキゾーストパイプ５２に配設された図示しない下流側触媒を備えている。
【００７６】
エキゾーストマニホールド５１は、図１に示したように、それぞれの一端が排気ポートに接続された複数の枝部５１ａと、その複数の枝部５１ａのそれぞれの他端であって総ての枝部５１ａが集合している集合部５１ｂとを備えている。この集合部５１ｂは、複数（２以上であり、本例では４つ）の気筒から排出された排ガスが集合するから、排気集合部ＨＫとも称呼される。エキゾーストパイプ５２は集合部５１ｂに接続されている。図７に示したように、排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００７７】
上流側触媒５３及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属（触媒物質）からなる活性成分を担持する三元触媒装置（排気浄化触媒）である。各触媒は、各触媒に流入するガスの空燃比が理論空燃比であるとき、ＨＣ，ＣＯ，Ｈ２などの未燃成分を酸化するとともに窒素酸化物（ＮＯｘ）を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵（貯蔵）する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア（ＣｅＯ２）等の酸素吸蔵材によってもたらされる。
【００７８】
図７に示したように、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、水温センサ６３、クランクポジションセンサ６４、インテークカムポジションセンサ６５、エキゾーストカムポジションセンサ６６、上流側空燃比センサ６７、下流側空燃比センサ６８、及び、アクセル開度センサ６９を備えている。
【００７９】
エアフローメータ６１は、吸気管４２内を流れる吸入空気の質量流量（吸入空気流量）Ｇａに応じた信号を出力するようになっている。即ち、吸入空気流量Ｇａは、単位時間あたりに機関１０に吸入される空気量を表す。
スロットルポジションセンサ６２は、スロットル弁４４の開度（スロットル弁開度）を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。
水温センサ６３は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００８０】
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置７０によって機関回転速度ＮＥに変換される。
【００８１】
インテークカムポジションセンサ６５は、インテークカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置７０は、クランクポジションセンサ６４及びインテークカムポジションセンサ６５からの信号に基づいて、基準気筒（例えば第１気筒）の圧縮上死点を基準とした絶対クランク角ＣＡを取得するようになっている。この絶対クランク角ＣＡは、基準気筒の圧縮上死点において「０°クランク角」に設定され、クランク角の回転角度に応じて７２０°クランク角まで増大し、その時点にて再び０°クランク角に設定される。
【００８２】
エキゾーストカムポジションセンサ６６は、エキゾーストカムシャフトが所定角度から９０度、次いで９０度、更に１８０度回転する毎に一つのパルスを出力するようになっている。
【００８３】
上流側空燃比センサ６７（本発明における空燃比センサ）は、図１にも示したように、エキゾーストマニホールド５１の集合部５１ｂ（排気集合部ＨＫ）と上流側触媒５３との間の位置において「エキゾーストマニホールド５１及びエキゾーストパイプ５２の何れか（即ち、排気通路）」に配設されている。上流側空燃比センサ６７は、例えば、特開平１１−７２４７３号公報、特開２０００−６５７８２号公報及び特開２００４−６９５４７号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【００８４】
上流側空燃比センサ６７は、図８及び図９に示したように、空燃比検出部６７ａと、外側保護カバー６７ｂと、内側保護カバー６７ｃと、を有している。
【００８５】
外側保護カバー６７ｂは金属からなる中空円筒体である。外側保護カバー６７ｂは内側保護カバー６７ｃを覆うように、内側保護カバー６７ｃを内部に収容している。外側保護カバー６７ｂは、流入孔６７ｂ１をその側面に複数備えている。流入孔６７ｂ１は、排気通路を流れる排ガス（外側保護カバー６７ｂの外部の排ガス）ＥＸを外側保護カバー６７ｂの内部に流入させるための貫通孔である。更に、外側保護カバー６７ｂは、外側保護カバー６７ｂの内部の排ガスを外部（排気通路）に流出させるための流出孔６７ｂ２をその底面に有している。
【００８６】
内側保護カバー６７ｃは、金属からなり、外側保護カバー６７ｂの直径よりも小さい直径を有する中空円筒体である。内側保護カバー６７ｃは、空燃比検出部６７ａを覆うように空燃比検出部６７ａを内部に収容している。内側保護カバー６７ｃは流入孔６７ｃ１をその側面に複数備えている。この流入孔６７ｃ１は、外側保護カバー６７ｂの流入孔６７ｂ１を通して「外側保護カバー６７ｂと内側保護カバー６７ｃとの間の空間」に流入した排ガスを、内側保護カバー６７ｃの内部に流入させるための貫通孔である。更に、内側保護カバー６７ｃは、内側保護カバー６７ｃの内部の排ガスを外部に流出させるための流出孔６７ｃ２をその底面に有している。
【００８７】
図２の（Ａ）〜（Ｃ）に示したように、空燃比検出部６７ａは、固体電解質層６７１と、排ガス側電極層６７２と、大気側電極層６７３と、拡散抵抗層６７４と、第一壁部６７５と、触媒部６７６と、第二壁部６７７と、を含んでいる。
【００８８】
固体電解質層６７１は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層６７１は、ＺｒＯ２（ジルコニア）にＣａＯを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層６７１は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
【００８９】
排ガス側電極層６７２は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。排ガス側電極層６７２は、固体電解質層６７１の一つの面上に形成されている。排ガス側電極層６７２は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００９０】
大気側電極層６７３は、白金（Ｐｔ）等の触媒活性の高い貴金属からなる。大気側電極層６７３は、固体電解質層６７１の他の面上であって、固体電解質層６７１を挟んで排ガス側電極層６７２に対向するように形成されている。大気側電極層６７３は、化学メッキ等により浸透性を十分に有するように（即ち、多孔質状に）形成されている。
【００９１】
拡散抵抗層（拡散律速層）６７４は、多孔質セラミック（耐熱性無機物質）からなる。拡散抵抗層６７４は、排ガス側電極層６７２の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
【００９２】
第一壁部６７５は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部６７５は拡散抵抗層６７４の角部（一部）を除いて拡散抵抗層６７４を覆うように形成されている。即ち、第一壁部６７５は拡散抵抗層６７４の一部を外部に露呈させる貫通部を備えている。
【００９３】
触媒部６７６は、第一壁部６７５の貫通部を閉じるように貫通部に形成されている。触媒部６７６は、上流側触媒５３と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を含んでいる。触媒部６７６は多孔質体である。従って、図２の（Ｂ）及び図２の（Ｃ）に白抜きの矢印により示したように、排ガス（前述した内側保護カバー６７ｃの内部に流入した排ガス）は、触媒部６７６を通過して拡散抵抗層６７４に到達し、その排ガスは更に拡散抵抗層６７４を通過して排ガス側電極層６７２に到達する。
【００９４】
第二壁部６７７は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部６７７は大気側電極層６７３を収容する空間である「大気室６７８」を形成するように構成されている。大気室６７８には大気が導入されている。
【００９５】
上流側空燃比センサ６７には電源６７９が接続されている。電源６７９は、大気側電極層６７３側が高電位となり、排ガス側電極層６７２が低電位となるように、電圧Ｖ（＝Ｖｐ）を印加する。
【００９６】
このような構造を有する上流側空燃比センサ６７は、図２の（Ｂ）に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層６７４を通って排ガス側電極層６７２に到達した酸素をイオン化して大気側電極層６７３へと通過させる。この結果、電源６７９の正極から負極へと電流Ｉが流れる。この電流Ｉの大きさは、図３に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層６７２に到達した酸素の濃度（酸素分圧、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ６７は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Ｖａｂｙｆｓとして出力する。
【００９７】
これに対し、図２の（Ｃ）に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ６７は、大気室６７８に存在する酸素をイオン化して排ガス側電極層６７２へと導き、拡散抵抗層６７４を通って排ガス側電極層６７２に到達する未燃物（ＨＣ，ＣＯ及びＨ２等）を酸化する。この結果、電源６７９の負極から正極へと電流Ｉが流れる。この電流Ｉの大きさも、図３に示したように、電圧Ｖを所定値Ｖｐ以上に設定すると、排ガス側電極層６７２に到達した未燃物の濃度（即ち、排ガスの空燃比）に比例した一定値となる。上流側空燃比センサ６７は、この電流（即ち、限界電流Ｉｐ）を電圧に変換した値を出力値Ｖａｂｙｆｓとして出力する。
【００９８】
即ち、空燃比検出部６７ａは、図４に示したように、上流側空燃比センサ６７の配設位置を流れ、且つ、外側保護カバー６７ｂの流入孔６７ｂ１及び内側保護カバー６７ｃの流入孔６７ｃ１を通って空燃比検出部６７ａに到達しているガスの空燃比（上流側空燃比ａｂｙｆｓ、検出空燃比ａｂｙｆｓ）に応じた出力値Ｖａｂｙｆｓを「空燃比センサ出力」として出力する。出力値Ｖａｂｙｆｓは、空燃比検出部６７ａに到達しているガスの空燃比が大きくなるほど（リーンとなるほど）増大する。即ち、出力値Ｖａｂｙｆｓは、空燃比検出部６７ａに到達している排ガスの空燃比に実質的に比例する。なお、出力値Ｖａｂｙｆｓは、検出空燃比ａｂｙｆｓが理論空燃比であるとき、理論空燃比相当値Ｖｓｔｏｉｃｈに一致する。
【００９９】
電気制御装置７０は、図４に示した空燃比変換テーブル（マップ）Ｍａｐａｂｙｆｓを記憶していて、空燃比センサ６７の出力値Ｖａｂｙｆｓを空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより、実際の上流側空燃比ａｂｙｆｓを検出する（即ち、検出空燃比ａｂｙｆｓを取得する）。
【０１００】
ところで、上流側空燃比センサ６７は、エキゾーストマニホールド５１の排気集合部ＨＫと上流側触媒５３との間の位置においてエキゾーストマニホールド５１及びエキゾーストパイプ５２の何れかに外側保護カバー６７ｂが露呈するように配設される。
【０１０１】
より具体的には、空燃比センサ６７は、図８及び図９に示したように、保護カバー（６７ｂ、６７ｃ）の底面が排ガスＥＸの流れと平行であり、保護カバー（６７ｂ、６７ｃ）の中心軸線ＣＣが排ガスＥＸの流れと直交するように排気通路内に配設される。これにより、外側保護カバー６７ｂの流入孔６７ｂ１に到達した排気通路内の排ガスＥＸは、外側保護カバー６７ｂの流出孔６７ｂ２近傍を流れる排気通路内の排ガスＥＸの流れにより、外側保護カバー６７ｂ及び内側保護カバー６７ｃの内部へと吸い込まれる。
【０１０２】
従って、排気通路を流れる排ガスＥＸは、図８及び図９において矢印Ａｒ１により示したように外側の保護カバー６７ｂの流入孔６７ｂ１を通って外側の保護カバー６７ｂと内側の保護カバー６７ｃとの間に流入する。次いで、その排ガスは、矢印Ａｒ２に示したように「内側の保護カバー６７ｃの流入孔６７ｃ１」を通って「内側の保護カバー６７ｃの内部」に流入した後に、空燃比検出部６７ａに到達する。その後、その排ガスは、矢印Ａｒ３に示したように「内側の保護カバー６７ｃの流出孔６７ｃ２及び外側の保護カバー６７ｂの流出孔６７ｂ２」を通って排気通路に流出する。
【０１０３】
このため、「外側保護カバー６７ｂ及び内側保護カバー６７ｃ」の内部における排ガスの流速は、外側保護カバー６７ｂの流出孔６７ｂ２近傍を流れる排ガスＥＸの流速（従って、単位時間あたりの吸入空気量である吸入空気流量Ｇａ）に応じて変化する。換言すると、「ある空燃比の排ガス（第１排ガス）が流入孔６７ｂ１に到達した時点」から「その第１排ガスが空燃比検出部６７ａに到達する時点」までの時間は、吸入空気流量Ｇａに依存するが機関回転速度ＮＥには依存しない。従って、空燃比センサ６７の「排気通路を流れる排ガスの空燃比」に対する出力応答性（応答性）は、空燃比センサ６７の外側保護カバー６７ｂの近傍を流れる排ガスの流量（流速）が大きいほど良好になる。このことは、上流側空燃比センサ６７が内側保護カバー６７ｃのみを有する場合にも成立する。
【０１０４】
再び、図７を参照すると、下流側空燃比センサ６８は、エキゾーストパイプ５２であって上流側触媒５３よりも下流側であり且つ下流側触媒よりも上流側（即ち、上流側触媒５３と下流側触媒との間の排気通路）に配設されている。下流側空燃比センサ６８は、周知の起電力式の酸素濃度センサ（安定化ジルコニアを用いた周知の濃淡電池型の酸素濃度センサ）である。下流側空燃比センサ６８は、排気通路であって下流側空燃比センサ６８が配設されている部位を通過するガスである被検出ガスの空燃比（即ち、上流側触媒５３から流出し且つ下流側触媒に流入するガスの空燃比、従って、機関に供給される混合気の空燃比の時間的平均値）に応じた出力値Ｖｏｘｓを発生するようになっている。
【０１０５】
この出力値Ｖｏｘｓは、図１０に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値ｍａｘ（例えば、約０．９Ｖ）となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値ｍｉｎ（例えば、約０．１Ｖ）となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値ｍａｘと最小出力値ｍｉｎの略中間の電圧Ｖｓｔ（中間電圧Ｖｓｔ、例えば、約０．５Ｖ）となる。更に、この出力値Ｖｏｘｓは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値ｍａｘから最小出力値ｍｉｎへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値ｍｉｎから最大出力値ｍａｘへと急変する。
【０１０６】
図７に示したアクセル開度センサ６９は、運転者によって操作されるアクセルペダル８１の操作量Ａｃｃｐ（アクセルペダル操作量Ａｃｃｐ）を表す信号を出力するようになっている。アクセルペダル操作量Ａｃｃｐは、アクセルペダル８１の開度（アクセルペダル操作量）が大きくなるとともに大きくなる。
【０１０７】
電気制御装置７０は、互いにバスで接続された「ＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（マップ、関数）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、及び、バックアップＲＡＭ７４並びにＡＤコンバータを含むインターフェース７５等」からなる周知のマイクロコンピュータである。
【０１０８】
バックアップＲＡＭ７４は、機関１０を搭載した車両の図示しないイグニッション・キー・スイッチの位置（オフ位置、始動位置及びオン位置等の何れか）に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップＲＡＭ７４は、バッテリから電力の供給を受けている場合、ＣＰＵ７１の指示に応じてデータを格納する（データが書き込まれる）とともに、そのデータを読み出し可能となるように保持（記憶）する。バックアップＲＡＭ７４は、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、ＣＰＵ７１は、バックアップＲＡＭ７４への電力供給が再開されたとき、バックアップＲＡＭ７４に保持されるべきデータを初期化（デフォルト値に設定）するようになっている。
【０１０９】
インターフェース７５は、センサ６１〜６９と接続され、ＣＰＵ７１にそれらのセンサからの信号を供給するようになっている。更に、インターフェース７５は、ＣＰＵ７１の指示に応じて可変吸気タイミング制御装置３３のアクチュエータ３３ａ、可変排気タイミング制御装置３６のアクチュエータ３６ａ、各気筒のイグナイタ３８、各気筒に対応して設けられた燃料噴射弁３９、及び、スロットル弁アクチュエータ４４ａ等に駆動信号（指示信号）を送出するようになっている。
【０１１０】
なお、電気制御装置７０は、取得されたアクセルペダルの操作量Ａｃｃｐが大きくなるほどスロットル弁開度ＴＡが大きくなるように、スロットル弁アクチュエータ４４ａに指示信号を送出するようになっている。即ち、電気制御装置７０は、運転者により変更される機関１０の加速操作量（アクセルペダル操作量Ａｃｃｐ）に応じて「機関１０の吸気通路に配設されたスロットル弁４４」の開度を変更するスロットル弁駆動手段を備えている。
【０１１１】
（空燃比気筒間インバランス判定の概要）
次に、第１判定装置が採用した空燃比気筒間インバランス判定方法の概要について説明する。空燃比気筒間インバランス判定は、燃料噴射弁３９の特性が変化すること等に起因して気筒間における空燃比の不均一性が警告必要値以上となったか否かを判定するための判定である。換言すると、第１判定装置は、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさ（気筒別空燃比差）が「エミッション上許容できない程度」以上となっている場合、空燃比気筒間インバランス状態が発生したと判定する。
【０１１２】
第１判定装置は、空燃比気筒間インバランス判定を行うために、「空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される空燃比（即ち、出力値Ｖａｂｙｆｓを図４に示した空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより得られる検出空燃比ａｂｙｆｓ）」の「単位時間（一定のサンプリング時間ｔｓ）当たりの変化量」を取得する。この「検出空燃比ａｂｙｆｓの単位時間当たりの変化量」は、その単位時間が例えば４ｍ秒程度の極めて短い時間であるとき、検出空燃比ａｂｙｆｓの時間微分値ｄ（ａｂｙｆｓ）／ｄｔであると言うこともできる。従って、「検出空燃比ａｂｙｆｓの単位時間当たりの変化量」は「検出空燃比変化率ΔＡＦ」とも称呼される。
【０１１３】
空燃比センサ６７には、各気筒からの排ガスが点火順（故に、排気順）に到達する。空燃比気筒間インバランス状態が発生していない場合、各気筒から排出され且つ空燃比センサ６７に到達する排ガスの空燃比は互いに略同一である。従って、空燃比気筒間インバランス状態が発生していない場合の検出空燃比ａｂｙｆｓは、例えば、図５の（Ｂ）において破線Ｃ１により示したように変化する。即ち、空燃比気筒間インバランス状態が発生していない場合、空燃比センサ６７の出力値Ｖａｂｙｆｓの波形は略平坦である。このため、図５の（Ｃ）において破線Ｃ３により示したように、空燃比気筒間インバランス状態が発生していない場合、検出空燃比変化率ΔＡＦの絶対値は小さい。
【０１１４】
一方、「特定気筒（例えば、第１気筒）に対して燃料を噴射する燃料噴射弁３９」の特性が「指示燃料噴射量よりも多いか又は少ない燃料を噴射する特性」となって空燃比気筒間インバランス状態が発生すると、その特定気筒の排ガスの空燃比（インバランス気筒の空燃比）と、その特定気筒以外の気筒の排ガスの空燃比（非インバランス気筒の空燃比）と、は大きく相違する。
【０１１５】
従って、空燃比気筒間インバランス状態が発生している場合の検出空燃比ａｂｙｆｓは、例えば図５の（Ｂ）の実線Ｃ２により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図５の（Ｃ）において実線Ｃ４により示したように、空燃比気筒間インバランス状態が発生している場合、検出空燃比変化率ΔＡＦの絶対値は大きくなる。なお、４気筒・４サイクル・エンジンの場合における単位燃焼サイクル期間は、７２０°クランク角が経過する期間、即ち、一つの空燃比センサ６７に到達する排ガスを排出している総ての気筒である第１〜第４気筒において各一回の燃焼行程が終了するのに要するクランク角が経過する期間である。
【０１１６】
しかも、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第１の値であるときの検出空燃比ａｂｙｆｓが図５（Ｂ）の実線Ｃ２のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第１の値の値よりも大きい第２の値」であるときの検出空燃比ａｂｙｆｓは図５（Ｂ）の一点鎖線Ｃ２ａのように変化する。従って、検出空燃比変化率ΔＡＦの絶対値は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きくなる。
【０１１７】
そこで、第１判定装置は、一つの単位燃焼サイクル期間においてサンプリング時間ｔｓが経過する毎に、検出空燃比変化率ΔＡＦ（一階微分値ｄ（ａｂｙｆｓ）／ｄｔ）を基本指標量として取得する。第１判定装置は、一つの単位燃焼サイクル期間において取得された複数の検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値を求める。そして、第１判定装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた「検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値」の平均値を求め、その値を空燃比変動指標量ＡＦＤとして採用するとともに、その空燃比変動指標量ＡＦＤをインバランス判定用パラメータＸとして採用する。但し、インバランス判定用パラメータＸはこれに限定されることはなく、後述する種々の方法により取得され得る。
【０１１８】
但し、第１判定装置は、空燃比変動指標量ＡＦＤ（インバランス判定用パラメータＸ）の基本となるデータである検出空燃比変化率ΔＡＦを求める期間において、機関の空燃比の目標値である目標空燃比ａｂｙｆｒを「理論空燃比以外の空燃比である目標リッチ空燃比ＡＦｒｉｃｈ」に設定する。この目標リッチ空燃比ＡＦｒｉｃｈは、理論空燃比（例えば、１４．６）よりもリッチ側の空燃比である。即ち、目標リッチ空燃比ＡＦｒｉｃｈは、理論空燃比よりも正の所定量だけ小さい空燃比であり、例えば、１４．０である。目標リッチ空燃比ＡＦｒｉｃｈは「目標空燃比ａｂｙｆｒとして設定される非理論空燃比」の一つである。なお、第１判定装置は、非理論空燃比として「理論空燃比よりもリーン側の目標リーン空燃比ＡＦｌｅａｎ（理論空燃比よりも正の所定量だけ大きい空燃比であり、例えば、１５．２）」を採用してもよい。
【０１１９】
このように、目標空燃比ａｂｙｆｒが目標リッチ空燃比ＡＦｒｉｃｈに設定されると、機関の空燃比は目標リッチ空燃比ＡＦｒｉｃｈの近傍において変動する。従って、空燃比センサ６７の排ガス側電極層６７２において酸化反応が継続する。換言すると、排ガス側電極層６７２における反応は、目標空燃比ａｂｙｆｒが理論空燃比に設定されているときのように「酸化反応から還元反応へ又はその逆へ」と頻繁に変化しない。そのため、空燃比センサ６７の応答性は良好である。この結果、第１判定装置は、空燃比センサの応答性が低下しない状態においてインバランス判定用パラメータＸを取得することができる。よって、第１判定装置により取得されるインバランス判定用パラメータＸは「空燃比気筒間インバランス状態の程度（気筒別空燃比差）」を精度よく表す。
【０１２０】
第１判定装置は、インバランス判定用パラメータＸを取得すると、そのインバランス判定用パラメータＸとインバランス判定用閾値Ｘｔｈとを比較する。第１判定装置は、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。これに対し、第１判定装置は、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。以上が、第１判定装置が採用した空燃比気筒間インバランス判定の原理である。
【０１２１】
（実際の作動）
＜燃料噴射量制御＞
第１判定装置のＣＰＵ７１は、図１１に示した「指示燃料噴射量Ｆｉの計算及び燃料噴射の指示を行うルーチン」を、任意の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、その気筒（以下、「燃料噴射気筒」とも称呼する。）に対して繰り返し実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１１００から処理を開始し、ステップ１１１０にてフューエルカット条件（以下、「ＦＣ条件」と表記する。）が成立しているか否かを判定する。
【０１２２】
いま、ＦＣ条件が成立してないと仮定する。この場合、ＣＰＵ７１は、ステップ１１１０にて「Ｎｏ」と判定してステップ１１２０に進み、「エアフローメータ６１により計測された吸入空気流量Ｇａ、クランクポジションセンサ６４の信号に基いて取得された機関回転速度ＮＥ、及び、ルックアップテーブルＭａｐＭｃ」に基いて「燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Ｍｃ（ｋ）」を取得する。筒内吸入空気量Ｍｃ（ｋ）は、各吸気行程に対応されながらＲＡＭ内に記憶される。筒内吸入空気量Ｍｃ（ｋ）は、周知の空気モデル（吸気通路における空気の挙動を模した物理法則に従って構築されたモデル）により算出されてもよい。
【０１２３】
次に、ＣＰＵ７１は強制空燃比移行フラグＸｙｏｓｅの値が「０」であるか否かを判定する。この強制空燃比移行フラグＸｙｏｓｅの値は、イニシャルルーチンにおいて「０」に設定される。イニシャルルーチンは、機関１０が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにＣＰＵ７１により実行されるルーチンである。強制空燃比移行フラグＸｙｏｓｅの値は、後述する図１４に示したルーチンにおいて所定の条件が成立したと判定されたとき（強制空燃比移行制御を実行すべきであると判定されたとき）に「１」に設定される。
【０１２４】
ここで、強制空燃比移行フラグＸｙｏｓｅの値は「０」であると仮定する。この場合、ＣＰＵ７１はステップ１１３０にて「Ｙｅｓ」と判定し、以下に述べるステップ１１４０乃至ステップ１１７０の処理を順に行う。その後、ＣＰＵ７１は、ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１２５】
ステップ１１４０：ＣＰＵ７１は、目標空燃比ａｂｙｆｒ（上流側目標空燃比ａｂｙｆｒ）を理論空燃比ｓｔｏｉｃｈ（例えば、１４．６）に設定する。
ステップ１１５０：ＣＰＵ７１は、筒内吸入空気量Ｍｃ（ｋ）を目標空燃比ａｂｙｆｒで除することにより基本燃料噴射量Ｆｂａｓｅを求める。従って、基本燃料噴射量Ｆｂａｓｅは、目標空燃比ａｂｙｆｒを得るために必要な燃料噴射量のフィードフォワード量である。このステップ１１５０は、機関に供給される混合気の空燃比を目標空燃比ａｂｙｆｒに一致させるためのフィードフォワード制御手段（空燃比制御手段）を構成している。
【０１２６】
ステップ１１６０：ＣＰＵ７１は、基本燃料噴射量Ｆｂａｓｅをメインフィードバック量ＤＦｉにより補正する。より具体的には、ＣＰＵ７１は、基本燃料噴射量Ｆｂａｓｅにメインフィードバック量ＤＦｉを加えることにより、指示燃料噴射量（最終燃料噴射量）Ｆｉを算出する。メインフィードバック量ＤＦｉは、機関の空燃比を目標空燃比ａｂｙｆｒに一致させるための空燃比フィードバック量である。メインフィードバック量ＤＦｉの算出方法については後述する。
ステップ１１７０：ＣＰＵ７１は、「指示燃料噴射量Ｆｉの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁３９」から噴射させるための噴射指示信号を、その燃料噴射弁３９に送出する。
【０１２７】
この結果、機関の空燃比を理論空燃比に一致させるために必要な量の燃料が燃料噴射気筒の燃料噴射弁３９から噴射させられる。即ち、ステップ１１５０乃至ステップ１１７０は、「空燃比センサ６７に到達する排ガスを排出している２以上の気筒（本例においては総ての気筒）の燃焼室２５に供給される混合気の空燃比」が目標空燃比ａｂｙｆｒとなるように指示燃料噴射量Ｆｉを制御する指示燃料噴射量制御手段を構成している。
【０１２８】
一方、ＣＰＵ７１がステップ１１３０の処理を行う時点において、強制空燃比移行フラグＸｙｏｓｅの値が「１」であるとき、ＣＰＵ７１はそのステップ１１３０にて「Ｎｏ」と判定してステップ１１８０に進み、目標空燃比ａｂｙｆｒを前述した目標リッチ空燃比ＡＦｒｉｃｈに設定する。目標リッチ空燃比ＡＦｒｉｃｈは、例えば、１４．０であり、上述した「非理論空燃比」の一つである。
【０１２９】
なお、ステップ１１８０において、ＣＰＵ７１は、目標空燃比ａｂｙｆｒを理論空燃比よりもリーン側の目標リーン空燃比ＡＦｌｅａｎ（理論空燃比よりも正の所定量だけ大きい空燃比であり、例えば、１５．２）に設定してもよい。目標リーン空燃比ＡＦｌｅａｎは、上述した「非理論空燃比」の他の一つである。
【０１３０】
その後、ＣＰＵ７１は上述したステップ１１５０乃至ステップ１１７０の処理を実行する。この結果、燃料噴射弁３９の特性が正常であるとき、機関の空燃比を「目標リッチ空燃比ＡＦｒｉｃｈ（又は目標リーン空燃比ＡＦｌｅａｎ）である非理論空燃比」に一致させるために必要な量（指示燃料噴射量Ｆｉ）の燃料が、燃料噴射気筒の燃料噴射弁３９から噴射させられる。
【０１３１】
なお、ＣＰＵ７１がステップ１１１０の処理を実行する時点において、ＦＣ条件が成立していると、ＣＰＵ７１はそのステップ１１１０にて「Ｙｅｓ」と判定し、ステップ１１９５に直接進んで本ルーチンを一旦終了する。この場合、ステップ１１７０の処理による燃料噴射が実行されないので、フューエルカット制御（燃料供給停止制御）が実行される。
【０１３２】
＜メインフィードバック量の算出＞
ＣＰＵ７１は図１２にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１２００から処理を開始し、ステップ１２０５に進んで「メインフィードバック制御条件（上流側空燃比フィードバック制御条件）」が成立しているか否かを判定する。
【０１３３】
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
（Ａ１）空燃比センサ６７が活性化している。
（Ａ２）機関の負荷（負荷率）ＫＬが閾値ＫＬｔｈ以下である。
（Ａ３）フューエルカット制御中でない。
【０１３４】
なお、負荷率ＫＬは、ここでは下記の（１）式により求められる。この負荷率ＫＬに代え、アクセルペダル操作量Ａｃｃｐが用いられても良い。（１）式において、Ｍｃは筒内吸入空気量であり、ρは空気密度（単位は（ｇ／ｌ））、Ｌは機関１０の排気量（単位は（ｌ））、「４」は機関１０の気筒数である。
ＫＬ＝（Ｍｃ／（ρ・Ｌ／４））・１００％  …（１）
【０１３５】
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、ＣＰＵ７１はステップ１２０５にて「Ｙｅｓ」と判定して以下に述べるステップ１２１０乃至ステップ１２４０の処理を順に行い、ステップ１２９５に進んで本ルーチンを一旦終了する。
【０１３６】
ステップ１２１０：ＣＰＵ７１は、下記（２）式に従ってフィードバック制御用出力値Ｖａｂｙｆｃを取得する。（２）式において、Ｖａｂｙｆｓは空燃比センサ６７の出力値、Ｖａｆｓｆｂは下流側空燃比センサ６８の出力値Ｖｏｘｓに基づいて算出されるサブフィードバック量である。サブフィードバック量Ｖａｆｓｆｂの算出方法は周知である。サブフィードバック量Ｖａｆｓｆｂは、例えば、下流側空燃比センサ６８の出力値Ｖｏｘｓが理論空燃比に相当する値Ｖｓｔよりもリッチ側の空燃比を示す値であるとき減少させられ、下流側空燃比センサ６８の出力値Ｖｏｘｓが理論空燃比に相当する値Ｖｓｔよりもリーン側の空燃比を示す値であるとき増大させられる。第１判定装置は、サブフィードバック量Ｖａｆｓｆｂを「０」に設定することにより、サブフィードバック制御を実行しなくてもよい。
Ｖａｂｙｆｃ＝Ｖａｂｙｆｓ＋Ｖａｆｓｆｂ    …（２）
【０１３７】
ステップ１２１５：ＣＰＵ７１は、下記（３）式に示したように、上記フィードバック制御用出力値Ｖａｂｙｆｃを図４に示したテーブルＭａｐａｂｙｆｓに適用することにより、フィードバック制御用空燃比ａｂｙｆｓｃを得る。
ａｂｙｆｓｃ＝Ｍａｐａｂｙｆｓ（Ｖａｂｙｆｃ）    …（３）
【０１３８】
ステップ１２２０：ＣＰＵ７１は、下記（４）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２５に実際に供給された燃料の量」である「筒内燃料供給量Ｆｃ（ｋ−Ｎ）」を求める。即ち、ＣＰＵ７１は、「現時点よりもＮサイクル（即ち、Ｎ・７２０°クランク角）前の時点における筒内吸入空気量Ｍｃ（ｋ−Ｎ）」を「上記フィードバック制御用空燃比ａｂｙｆｓｃ」により除すことにより、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。
Ｆｃ（ｋ−Ｎ）＝Ｍｃ（ｋ−Ｎ）／ａｂｙｆｓｃ    …（４）
【０１３９】
このように、筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）をフィードバック制御用空燃比ａｂｙｆｓｃで除すのは、「燃焼室２５内での混合気の燃焼により生成された排ガス」が空燃比センサ６７に到達するまでに「Ｎストロークに相当する時間」を要しているからである。
【０１４０】
ステップ１２２５：ＣＰＵ７１は、下記（５）式に従って、「現時点よりもＮサイクル前の時点において燃焼室２５に供給されるべきであった燃料の量」である「目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）」を求める。即ち、ＣＰＵ７１は、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を目標空燃比ａｂｙｆｒ（＝ｓｔｏｉｃｈ又はＡＦｒｉｃｈ）で除すことにより、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。
Ｆｃｒ＝Ｍｃ（ｋ−Ｎ）／ａｂｙｆｒ    …（５）
【０１４１】
ステップ１２３０：ＣＰＵ７１は、上記（６）式に従って、筒内燃料供給量偏差ＤＦｃを取得する。即ち、ＣＰＵ７１は、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じることにより、筒内燃料供給量偏差ＤＦｃを求める。この筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
ＤＦｃ＝Ｆｃｒ（ｋ−Ｎ）−Ｆｃ（ｋ−Ｎ）    …（６）
【０１４２】
ステップ１２３５：ＣＰＵ７１は、上記（７）式に従って、メインフィードバック量ＤＦｉを求める。この（７）式において、Ｇｐは予め設定された比例ゲイン、Ｇｉは予め設定された積分ゲインである。更に、（７）式の「値ＳＤＦｃ」は「筒内燃料供給量偏差ＤＦｃの積分値」である。つまり、ＣＰＵ７１は、フィードバック制御用空燃比ａｂｙｆｓｃを目標空燃比ａｂｙｆｒに一致させるための比例積分制御により「メインフィードバック量ＤＦｉ」を算出する。
ＤＦｉ＝Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ    …（７）
【０１４３】
ステップ１２４０：ＣＰＵ７１は、その時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ１２３０にて求められた筒内燃料供給量偏差ＤＦｃを加えることにより、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを取得する。
【０１４４】
以上により、メインフィードバック量ＤＦｉが比例積分制御により求められ、このメインフィードバック量ＤＦｉが前述した図１１のステップ１１６０の処理により指示燃料噴射量Ｆｉに反映される。
【０１４５】
一方、図１２のステップ１２０５の判定時において、メインフィードバック制御条件が不成立であると、ＣＰＵ７１はそのステップ１２０５にて「Ｎｏ」と判定してステップ１２４５に進み、メインフィードバック量ＤＦｉの値を「０」に設定する。次いで、ＣＰＵ７１は、ステップ１２５０にて筒内燃料供給量偏差の積分値ＳＤＦｃに「０」を格納する。その後、ＣＰＵ７１は、ステップ１２９５に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量ＤＦｉは「０」に設定される。従って、基本燃料噴射量Ｆｂａｓｅのメインフィードバック量ＤＦｉによる補正は行わない。
【０１４６】
＜空燃比気筒間インバランス判定＞
次に、「空燃比気筒間インバランス判定」を実行するための処理について説明する。ＣＰＵ７１は、４ｍｓ（所定の一定サンプリング時間ｔｓ）が経過する毎に、図１３にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
【０１４７】
従って、所定のタイミングになると、ＣＰＵ７１はステップ１３００から処理を開始してステップ１３０５に進み、パラメータ取得許可フラグＸｋｙｏｋａの値が「１」であるか否かを判定する。
【０１４８】
このパラメータ取得許可フラグＸｋｙｏｋａの値は、絶対クランク角ＣＡが０°クランク角になった時点において「インバランス判定用パラメータ取得条件」が成立しているときに「１」に設定され、インバランス判定用パラメータ取得条件が不成立になった時点において直ちに「０」に設定される。インバランス判定用パラメータ取得条件は、単に「パラメータ取得許可条件」とも称呼される。
【０１４９】
パラメータ取得許可条件は、以下の総ての条件（条件Ｃ１乃至条件Ｃ６）が成立したときに成立する。従って、パラメータ取得許可条件は、以下の総ての条件（条件Ｃ１乃至条件Ｃ６）のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得許可条件を構成する条件は、以下の条件Ｃ１乃至条件Ｃ６に限定されることはない。
【０１５０】
（条件Ｃ１）今回の機関１０の始動後、空燃比気筒間インバランス判定の最終的な結果が得られていない。この条件Ｃ１は、インバランス判定実施要求条件とも称呼される。条件Ｃ１は、前回のインバランス判定からの「機関１０の運転時間の積算値、又は、吸入空気流量Ｇａの積算値、が所定値以上である。」ことに置換されてもよい。
（条件Ｃ２）エアフローメータ６１により取得される吸入空気流量Ｇａが、所定範囲内である。
（条件Ｃ３）機関回転速度ＮＥが所定範囲内である。即ち、機関回転速度ＮＥが、低側閾値回転速度ＮＥＬｏｔｈ以上であり且つ高側閾値回転速度ＮＥＨｉｔｈ以下である。
（条件Ｃ４）冷却水温ＴＨＷが閾値冷却水温ＴＨＷｔｈ以上である。
（条件Ｃ５）メインフィードバック制御条件が成立している。
（条件Ｃ６）フューエルカット制御中でない。
【０１５１】
いま、機関１０の始動後から未だインバランス判定がなされていない状態にてパラメータ取得許可条件が成立することにより、パラメータ取得許可フラグＸｋｙｏｋａの値が「１」に設定されたと仮定する。この場合、ＣＰＵ７１はステップ１３０５にて「Ｙｅｓ」と判定してステップ１３１０に進み、強制空燃比移行フラグＸｙｏｓｅの値を「１」に設定する。
【０１５２】
このようにステップ１３１０にて強制空燃比移行フラグＸｙｏｓｅの値が「１」に設定されると、図１１のステップ１１８０にて目標空燃比ａｂｙｆｒの値が目標リッチ空燃比ＡＦｒｉｃｈ（非理論空燃比）に設定される。この結果、機関の空燃比は目標リッチ空燃比ＡＦｒｉｃｈに一致するように制御される。即ち、強制空燃比移行制御が開始され、機関の空燃比（従って、排ガスの空燃比）は、目標リッチ空燃比ＡＦｒｉｃｈを中心に目標リッチ空燃比ＡＦｒｉｃｈの近傍において変動するようになる。
【０１５３】
次に、ＣＰＵ７１はステップ１３１５に進み、「その時点の空燃比センサ６７の出力値Ｖａｂｙｆｓ」をＡＤ変換することにより取得する。
【０１５４】
次に、ＣＰＵ７１はステップ１３２０に進み、ステップ１３１５にて取得した出力値Ｖａｂｙｆｓを図４に示した空燃比変換テーブルＭａｐａｂｙｆｓに適用することにより、今回の検出空燃比ａｂｙｆｓを取得する。なお、ＣＰＵ７１は、ステップ１３２０の処理の前に、本ルーチンを前回実行したときに取得した検出空燃比ａｂｙｆｓを前回の検出空燃比ａｂｙｆｓｏｌｄとして記憶する。即ち、前回の検出空燃比ａｂｙｆｓｏｌｄは、現時点から４ｍｓ（サンプリング時間ｔｓ）前の時点における検出空燃比ａｂｙｆｓである。前回の検出空燃比ａｂｙｆｓｏｌｄの初期値は、上述したイニシャルルーチンにおいて理論空燃比に相当する値に設定されている。
【０１５５】
次に、ＣＰＵ７１はステップ１３２５に進んで、
（Ａ）検出空燃比変化率ΔＡＦを取得し、
（Ｂ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の積算値ＳＡＦＤを更新し、且つ、
（Ｃ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の、積算値ＳＡＦＤへの積算回数カウンタＣｎを更新する。
以下、これらの更新方法について具体的に説明する。
【０１５６】
（Ａ）検出空燃比変化率ΔＡＦの取得。
検出空燃比変化率ΔＡＦは、インバランス判定用パラメータの元データとなるデータ（基本指標量）である。ＣＰＵ７１は、この検出空燃比変化率ΔＡＦを、今回の検出空燃比ａｂｙｆｓから前回の検出空燃比ａｂｙｆｓｏｌｄを減じることによって取得する。即ち、今回の検出空燃比ａｂｙｆｓをａｂｙｆｓ（ｎ）、前回の検出空燃比ａｂｙｆｓｏｌｄをａｂｙｆｓ（ｎ−１）と表記すると、ＣＰＵ７１はステップ１３２５にて「今回の検出空燃比変化率ΔＡＦ（ｎ）」を下記の（８）式に従って求める。
ΔＡＦ（ｎ）＝ａｂｙｆｓ（ｎ）−ａｂｙｆｓ（ｎ−１）  …（８）
【０１５７】
（Ｂ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の積算値ＳＡＦＤの更新。
ＣＰＵ７１は今回の積算値ＳＡＦＤ（ｎ）を下記の（９）式に従って求める。即ち、ＣＰＵ７１は、ステップ１３２５に進んだ時点における前回の積算値ＳＡＦＤ（ｎ−１）に上記算出した今回の検出空燃比変化率ΔＡＦ（ｎ）の絶対値｜ΔＡＦ（ｎ）｜を加えることにより、積算値ＳＡＦＤを更新する。
ＳＡＦＤ（ｎ）＝ＳＡＦＤ（ｎ−１）＋｜ΔＡＦ（ｎ）｜…（９）
【０１５８】
積算値ＳＡＦＤに「今回の検出空燃比変化率の絶対値｜ΔＡＦ（ｎ）｜」を積算する理由は、図５の（Ｂ）及び（Ｃ）からも理解されるように、検出空燃比変化率ΔＡＦ（ｎ）は正の値にも負の値にもなるからである。なお、積算値ＳＡＦＤも、イニシャルルーチンにおいて「０」に設定されるようになっている。
【０１５９】
（Ｃ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の、積算値ＳＡＦＤへの積算回数カウンタＣｎの更新。
ＣＰＵ７１は、下記の（１０）式に従って、カウンタＣｎの値を「１」だけ増大する。Ｃｎ（ｎ）は更新後のカウンタＣｎであり、Ｃｎ（ｎ−１）は更新前のカウンタＣｎである。このカウンタＣｎの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、後述するステップ１３７０にても「０」に設定される。従って、カウンタＣｎの値は、積算値ＳＡＦＤに積算された検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜のデータ数を示す。
Ｃｎ（ｎ）＝Ｃｎ（ｎ−１）＋１  …（１０）
【０１６０】
次に、ＣＰＵ７１はステップ１３３０に進み、基準気筒（本例では第１気筒）の圧縮上死点を基準としたクランク角ＣＡ（絶対クランク角ＣＡ）が７２０°クランク角になっているか否かを判定する。このとき、絶対クランク角ＣＡが７２０°クランク角未満であると、ＣＰＵ７１はステップ１３３０にて「Ｎｏ」と判定してステップ１３９５に直接進み、本ルーチンを一旦終了する。
【０１６１】
なお、ステップ１３３０は、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値を求めるための最小単位の期間（単位燃焼サイクル期間）を定めるステップであり、ここでは７２０°クランク角がその最小期間に相当する。勿論、この最小期間は７２０°クランク角よりも短くてもよいが、サンプリング時間ｔｓの複数倍の長さ以上の期間であることが望ましい。即ち、最小単位の期間内に複数個の検出空燃比変化率ΔＡＦが取得されるように、その最小単位の期間が定められていることが望ましい。
【０１６２】
一方、ＣＰＵ７１がステップ１３３０の処理を行う時点において、絶対クランク角ＣＡが７２０°クランク角になっていると、ＣＰＵ７１はそのステップ１３３０にて「Ｙｅｓ」と判定し、ステップ１３３５に進む。
【０１６３】
ＣＰＵ７１は、ステップ１３３５にて、
（Ｄ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦを算出し、
（Ｅ）平均値ＡｖｅΔＡＦの積算値Ｓａｖｅを更新し、且つ、
（Ｆ）積算回数カウンタＣｓを更新する。
以下、これらの更新方法について具体的に説明する。
【０１６４】
（Ｄ）検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦの算出。
ＣＰＵ７１は、積算値ＳＡＦＤをカウンタＣｎの値により除することにより、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の平均値ＡｖｅΔＡＦ（＝ＳＡＦＤ／Ｃｎ）を算出する。この後、ＣＰＵ７１は積算値ＳＡＦＤを「０」に設定する。
【０１６５】
（Ｅ）平均値ＡｖｅΔＡＦの積算値Ｓａｖｅの更新。
ＣＰＵ７１は今回の積算値Ｓａｖｅ（ｎ）を下記の（１１）式に従って求める。即ち、ＣＰＵ７１は、ステップ１３３５に進んだ時点における前回の積算値Ｓａｖｅ（ｎ−１）に上記算出した今回の平均値ＡｖｅΔＡＦを加えることにより、積算値Ｓａｖｅを更新する。この積算値Ｓａｖｅ（ｎ）の値は上述したイニシャルルーチンにおいて「０」に設定される。
Ｓａｖｅ（ｎ）＝Ｓａｖｅ（ｎ−１）＋ＡｖｅΔＡＦ    …（１１）
【０１６６】
（Ｆ）積算回数カウンタＣｓの更新。
ＣＰＵ７１は、下記の（１２）式に従って、カウンタＣｓの値を「１」だけ増大する。Ｃｓ（ｎ）は更新後のカウンタＣｓであり、Ｃｓ（ｎ−１）は更新前のカウンタＣｓである。このカウンタＣｓの値は上述したイニシャルルーチンにおいて「０」に設定される。従って、カウンタＣｓの値は、積算値Ｓａｖｅに積算された平均値ＡｖｅΔＡＦのデータ数のデータ数を示す。
Ｃｓ（ｎ）＝Ｃｓ（ｎ−１）＋１  …（１２）
【０１６７】
次に、ＣＰＵ７１はステップ１３４０に進み、カウンタＣｓの値が閾値Ｃｓｔｈ以上であるか否かを判定する。このとき、カウンタＣｓの値が閾値Ｃｓｔｈ未満であると、ＣＰＵ７１はそのステップ１３４０にて「Ｎｏ」と判定し、ステップ１３９５に直接進んで本ルーチンを一旦終了する。なお、閾値Ｃｓｔｈは自然数であり、２以上であることが望ましい。
【０１６８】
一方、ＣＰＵ７１がステップ１３４０の処理を行う時点において、カウンタＣｓの値が閾値Ｃｓｔｈ以上であると、ＣＰＵ７１はそのステップ１３４０にて「Ｙｅｓ」と判定してステップ１３４５に進み、下記（１３）式に従って積算値ＳａｖｅをカウンタＣｓの値（＝Ｃｓｔｈ）によって除することにより、空燃比変動指標量ＡＦＤであるインバランス判定用パラメータＸを取得する。即ち、第１判定装置は、空燃比変動指標量ＡＦＤ（＝Ｓａｖｅ／Ｃｓｔｈ）をインバランス判定用パラメータＸとして採用する。このインバランス判定用パラメータＸは、検出空燃比変化率ΔＡＦの絶対値｜ΔＡＦ｜の各単位燃焼サイクル期間における平均値を、複数（Ｃｓｔｈ分）の単位燃焼サイクル期間について平均した値である。
Ｘ＝Ｓａｖｅ／Ｃｓｔｈ    …（１３）
【０１６９】
次に、ＣＰＵ７１はステップ１３５０に進み、インバランス判定用パラメータＸが「インバランス判定用閾値Ｘｔｈ」よりも大きいか否かを判定する。この場合におけるインバランス判定用閾値Ｘｔｈは、例えば、図６の線Ｌ２により示した閾値ＸＨｉｔｈに等しい。即ち、インバランス判定用閾値Ｘｔｈは、リッチ領域（又はリーン領域）において取得されたインバランス判定用パラメータＸが、インバランス判定用閾値Ｘｔｈよりも大きければ空燃比気筒間インバランス状態が必ず発生しており、その取得されたインバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さければ空燃比気筒間インバランス状態が必ず発生していない値に予め設定されている。
【０１７０】
インバランス判定用パラメータＸは、強制空燃比移行制御中に取得されている。従って、空燃比センサ６７の応答性は十分に高いので、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも大きければ空燃比気筒間インバランス状態が発生していると判定することができ、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さければ空燃比気筒間インバランス状態が発生していないと判定することができる。
【０１７１】
従って、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも大きいと、ＣＰＵ７１はステップ１３５０にて「Ｙｅｓ」と判定してステップ１３５５に進み、インバランス発生フラグＸＩＮＢの値を「１」に設定する。即ち、ＣＰＵ７１は空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、ＣＰＵ７１は図示しない警告ランプを点灯してもよい。なお、インバランス発生フラグＸＩＮＢの値はバックアップＲＡＭ７４に格納される。
【０１７２】
次に、ＣＰＵ７１はステップ１３６５に進み、強制空燃比移行フラグＸｙｏｓｅの値を「０」に設定する。この結果、目標空燃比ａｂｙｆｒが理論空燃比ｓｔｏｉｃｈへと戻されるので、強制空燃比移行制御が終了される。即ち、機関の空燃比を理論空燃比へと一致させる通常の空燃比フィードバック制御が再開する。
【０１７３】
これに対し、ＣＰＵ７１がステップ１３５０の処理を行う時点において、インバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈ以下であると、ＣＰＵ７１はステップ１３５０にて「Ｎｏ」と判定してステップ１３６０に進み、インバランス発生フラグＸＩＮＢの値を「２」に設定する。即ち、ＣＰＵ７１は、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、ＣＰＵ７１はステップ１３６５及びステップ１３９５に進んで本ルーチンを一旦終了する。以上のようにして、空燃比気筒間インバランス判定が実行される。
【０１７４】
なお、ＣＰＵ７１がステップ１３０５に進んだ際にパラメータ取得許可フラグＸｋｙｏｋａの値が「１」でなければ、ＣＰＵ７１はそのステップ１３０５にて「Ｎｏ」と判定してステップ１３７０に進む。そして、ＣＰＵ７１はステップ１３７０にて各値（例えば、ΔＡＦ，ＳＡＦＤ，及びＣｎ等）を「０」に設定（クリア）する。次いで、ＣＰＵ７１はステップ１３７５に進み、強制空燃比移行フラグＸｙｏｓｅの値を「０」に設定し、その後、ステップ１３９５に直接進んで本ルーチンを一旦終了する。即ち、パラメータ取得条件が成立していないとき、強制空燃比移行フラグＸｙｏｓｅの値は「０」に設定されるので、強制空燃比移行制御は実行されず、機関の空燃比は理論空燃比に一致するように制御される。
【０１７５】
以上、説明したように、第１判定装置は、複数の気筒を有する多気筒内燃機関１０に適用される。
【０１７６】
更に、第１判定装置は、空燃比センサ６７と、複数の燃料噴射弁３９と、空燃比センサ６７に到達する排ガスを排出している２以上の気筒（本例においては総ての気筒）の燃焼室２５に供給される混合気の空燃比が目標空燃比ａｂｙｆｒとなるように指示燃料噴射量Ｆｉを制御する指示燃料噴射量制御手段（図１１のルーチン及び図１２のルーチン）と、を備える。
【０１７７】
更に、第１判定装置は、空燃比センサ６７が配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなるインバランス判定用パラメータＸを「空燃比センサ６７の出力値Ｖａｂｙｆｓ」に基づいて取得し、その取得されたインバランス判定用パラメータＸが所定のインバランス判定用閾値Ｘｔｈよりも大きいとき「空燃比気筒間インバランス状態が発生した」と判定し、且つ、その取得されたインバランス判定用パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さいとき「空燃比気筒間インバランス状態が発生していない」と判定する、インバランス判定手段を備える（図１３のルーチン）。
【０１７８】
加えて、第１判定装置のインバランス判定手段は、
所定のインバランス判定用パラメータ取得条件が成立している期間において目標空燃比ａｂｙｆｒを「理論空燃比以外の空燃比である非理論空燃比（目標リッチ空燃比ＡＦｒｉｃｈ又は目標リーン空燃比ＡＦｌｅａｎ）」に設定するとともに（図１３のステップ１３１０、図１１のステップ１１３０及びステップ１１８０）、その状態においてインバランス判定用パラメータＸを取得する（図１３のステップ１３１５乃至ステップ１３４５）。
【０１７９】
更に、そのインバランス判定手段は、
インバランス判定用パラメータ取得条件が成立していない期間において目標空燃比ａｂｙｆｒを理論空燃比ｓｔｏｉｃｈに設定するように構成されている（図１３のステップ１３６５、ステップ１３７５、図示しない上述したイニシャルルーチン、図１１のステップ１１３０及びステップ１１４０）。
【０１８０】
これによれば、インバランス判定用パラメータＸは、目標空燃比ａｂｙｆｒが非理論空燃比に設定されることにより「機関の排ガスの空燃比が非理論空燃比の近傍にて変動している場合（強制空燃比移行制御中）」において取得される。即ち、インバランス判定用パラメータＸは、空燃比センサ６７の出力値Ｖａｂｙｆｓが「排ガスの空燃比の変動に大きな遅れなく追従できる場合」において、その空燃比センサ６７の出力値Ｖａｂｙｆｓに基いて取得される。
【０１８１】
従って、第１判定装置によれば、インバランス判定用パラメータＸが空燃比気筒間インバランス状態の程度（即ち、気筒別空燃比差）を精度良く表す値になるので、空燃比気筒間インバランス状態が発生しているか否かを精度良く判定することができる。なお、ＣＰＵ７１は、図１１のステップ１１４０において特殊な条件が成立した場合に目標空燃比ａｂｙｆｒを理論空燃比以外の空燃比に設定し、特殊な条件が成立していない場合に目標空燃比ａｂｙｆｒを理論空燃比に設定してもよい。
【０１８２】
＜第２実施形態＞
次に、本発明の第２実施形態に係る判定装置（以下、単に「第２判定装置」と称呼する。）について説明する。
【０１８３】
第２判定装置は、先ず、目標空燃比ａｂｙｆｒを理論空燃比ｓｔｏｉｃｈに設定する。より具体的には、第２判定装置は、インバランス判定用パラメータ取得条件が成立していない期間において、機関始動後等の特殊な場合を除き、目標空燃比ａｂｙｆｒを理論空燃比ｓｔｏｉｃｈに設定する。
【０１８４】
そして、第２判定装置は、インバランス判定用パラメータ取得条件が成立すると、目標空燃比ａｂｙｆｒを理論空燃比ｓｔｏｉｃｈに維持したまま、第１判定装置と同様の手法に従ってインバランス判定用パラメータＸ（空燃比変動指標量ＡＦＤ）を取得する。このように、目標空燃比ａｂｙｆｒが理論空燃比ｓｔｏｉｃｈに設定されている状態において取得されるインバランス判定用パラメータＸは、便宜上、「暫定パラメータＸ」とも称呼される。
【０１８５】
第２判定装置は、暫定パラメータＸが取得されると、その暫定パラメータＸと所定のインバランス判定用閾値ＸＨｉｔｈ（図６の線Ｌ２を参照。）とを比較し、暫定パラメータＸがインバランス判定用閾値ＸＨｉｔｈよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。
【０１８６】
このインバランス判定用閾値ＸＨｉｔｈは、空燃比センサ６７の応答性が比較的低い状態において得られた暫定パラメータＸがインバランス判定用閾値ＸＨｉｔｈよりも大きいとき、気筒別空燃比差が十分に大きく、従って、空燃比気筒間インバランス状態が発生したと明らかに判定することができる比較的大きな値に設定されている。それ故、インバランス判定用閾値ＸＨｉｔｈは、高側閾値ＸＨｉｔｈとも称呼される。
【０１８７】
一方、暫定パラメータＸが高側閾値ＸＨｉｔｈよりも小さいとき、第２判定装置は暫定パラメータＸと低側閾値ＸＬｏｔｈ（図６の線Ｌ３を参照。）とを比較する。低側閾値ＸＬｏｔｈは、高側閾値ＸＨｉｔｈよりも所定値だけ小さい。低側閾値ＸＬｏｔｈは、暫定パラメータＸが低側閾値ＸＬｏｔｈよりも小さい場合、「空燃比気筒間インバランス状態が発生していない」と明らかに判定することができる比較的小さい値に設定されている。そして、第２判定装置は、暫定パラメータＸが低側閾値ＸＬｏｔｈよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。その後、今回の機関１０の運転が停止されるまで、第２判定装置は、「理論空燃比を非理論空燃比に設定する強制空燃比移行制御」を実行することなく、インバランス判定を終了する。
【０１８８】
他方、第２判定装置は、暫定パラメータＸが「高側閾値ＸＨｉｔｈよりも小さく、且つ、低側閾値ＸＬｏｔｈよりも大きい」とき、空燃比気筒間インバランス状態が発生したか否かについての判定を保留し、目標空燃比ａｂｙｆｒを非理論空燃比（目標リッチ空燃比ＡＦｒｉｃｈ又は目標リーン空燃比ＡＦｌｅａｎ）に設定する。前述したように、この非理論空燃比は、空燃比センサ６７の応答性が排ガスの空燃比の変動に対して十分に高くなるような空燃比（例えば、１４．２以下の空燃比、又は、１５以上の空燃比）に設定されている。
【０１８９】
そして、第２判定装置は、目標空燃比ａｂｙｆｒを非理論空燃比に維持した状態にて、上述した手法に基いてインバランス判定用パラメータＸを再度取得する。目標空燃比ａｂｙｆｒが非理論空燃比に設定されている状態において取得されるインバランス判定用パラメータＸは、便宜上、最終パラメータＸとも称呼される。
【０１９０】
最終パラメータＸが取得されると、第２判定装置は、その最終パラメータＸとインバランス判定用閾値Ｘｔｈ（第２判定装置において、インバランス判定用閾値Ｘｔｈは高側閾値ＸＨｉｔｈと等しい。）と、を比較し、最終パラメータＸがインバランス判定用閾値Ｘｔｈよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。これに対し、最終パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さいとき、第２判定装置は空燃比気筒間インバランス状態が発生していないと判定する。以上が、第２判定装置が採用した空燃比気筒間インバランス判定の原理である。なお、インバランス判定用閾値Ｘｔｈは、高側閾値ＸＨｉｔｈと低側閾値ＸＬｏｔｈとの間の適値に設定されればよい。換言すると、高側閾値ＸＨｉｔｈはインバランス判定用閾値Ｘｔｈ以上であり、低側閾値ＸＬｏｔｈはインバランス判定用閾値Ｘｔｈよりも小さい。
【０１９１】
（実際の作動）
第２判定装置のＣＰＵ７１は、図１１及び図１２に示したルーチンを第１判定装置のＣＰＵ７１と同様に実行する。更に、第２判定装置のＣＰＵ７１は、図１３に代わる「図１４乃至図１６」にフローチャートにより示したルーチンを実行するようになっている。図１１及び図１２に示したルーチンについては説明済みである。従って、以下、図１４乃至図１６に示したルーチンについて説明する。なお、図１４乃至図１６において図１３に示したステップと同一の処理を行うためのステップには、図１３のそのようなステップに付された符号と同一の符合が付されている。
【０１９２】
いま、機関１０の始動後から未だインバランス判定がなされていない状態にてパラメータ取得許可条件が成立することにより、パラメータ取得許可フラグＸｋｙｏｋａの値が「１」に設定されたと仮定する。この場合、ＣＰＵ７１は図１４のステップ１３０５にて「Ｙｅｓ」と判定してステップ１４１０に進み、強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値が「１」であるか否かを判定する。
【０１９３】
強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値は上述したイニシャルルーチンにおいて「０」に設定されるとともに、暫定パラメータＸが取得され且つその暫定パラメータＸに基いたインバランス判定が行われた後（且つインバランス判定が保留された後）に「１」に設定されるようになっている（後述する図１５のステップ１５８０を参照。）。
【０１９４】
従って、現時点において強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値は「０」である。このため、ＣＰＵ７１はステップ１４１０にて「Ｎｏ」と判定してステップ１４２０に進み、強制空燃比移行フラグＸｙｏｓｅの値を「０」に設定する。この結果、目標空燃比ａｂｙｆｒは理論空燃比ｓｔｏｉｃｈに維持される。なお、前述したように強制空燃比移行フラグＸｙｏｓｅの値は上述したイニシャルルーチンにおいて「０」に設定されている。従って、現段階におけるステップ１４２０の処理は強制空燃比移行フラグＸｙｏｓｅの値を実質的に変更しない。
【０１９５】
その後、ＣＰＵ７１はステップ１３１５乃至ステップ１３４５の処理によりインバランス判定用パラメータＸを「暫定パラメータＸ」として取得する。つまり、機関の空燃比を理論空燃比に一致させるための通常の空燃比フィードバック制御中においてインバランス判定用パラメータＸが取得され、そのインバランス判定用パラメータＸが暫定パラメータＸとして採用される。
【０１９６】
ステップ１３４５にて暫定パラメータＸが取得されると、ＣＰＵ７１はステップ１４４０に進み、パラメータ取得完了フラグＸｏｂｔａｉｎの値を「１」に設定する。このパラメータ取得完了フラグＸｏｂｔａｉｎも上述したイニシャルルーチンにおいて「０」に設定されるようになっている。その後、ＣＰＵ７１はステップ１４９５に進み、本ルーチンを一旦終了する。
【０１９７】
一方、ＣＰＵ７１は図１５に示したルーチンをステップ１５００から所定のタイミングにて開始し、ステップ１５１０にて「現時点が、パラメータ取得完了フラグＸｏｂｔａｉｎの値が「０」から「１」へと変化した直後の時点であるか否か」を判定する。ＣＰＵ７１は、ステップ１５１０における判定条件が成立しないとき、ステップ１５１０にて「Ｎｏ」と判定し、ステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０１９８】
同様に、ＣＰＵ７１は図１６に示したルーチンをステップ１６００から所定のタイミングにて開始し、ステップ１６１０にて「現時点が、パラメータ取得完了フラグＸｏｂｔａｉｎの値が「０」から「１」へと変化した直後の時点であるか否か」を判定する。ＣＰＵ７１は、ステップ１６１０における判定条件が成立しないとき、ステップ１６１０にて「Ｎｏ」と判定し、ステップ１６９５に直接進んで本ルーチンを一旦終了する。
【０１９９】
従って、図１４のステップ１４４０の処理により、パラメータ取得完了フラグＸｏｂｔａｉｎの値が「１」に変更されると、ＣＰＵ７１は図１５のステップ１５１０に進んだとき、そのステップ１５１０にて「Ｙｅｓ」と判定してステップ１５２０に進み、強制空燃比移行フラグＸｙｏｓｅの値が「０」であるか否かを判定する。
【０２００】
現時点において、強制空燃比移行フラグＸｙｏｓｅの値は「０」である。従って、ＣＰＵ７１はステップ１５２０にて「Ｙｅｓ」と判定してステップ１５３０に進み、暫定パラメータＸの値が「図６に線Ｌ２により示した高側閾値ＸＨｉｔｈ」よりも大きいか否かを判定する。
【０２０１】
このとき、暫定パラメータＸが高側閾値ＸＨｉｔｈよりも大きいと、ＣＰＵ７１はステップ１５３０にて「Ｙｅｓ」と判定してステップ１５４０に進み、インバランス発生フラグＸＩＮＢの値を「１」に設定する。即ち、ＣＰＵ７１は空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、ＣＰＵ７１は図示しない警告ランプを点灯してもよい。その後、ＣＰＵ７１はステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０２】
これに対し、ＣＰＵ７１がステップ１５３０の処理を行う時点において、暫定パラメータＸが高側閾値ＸＨｉｔｈ以下であると、ＣＰＵ７１はステップ１５３０にて「Ｎｏ」と判定してステップ１５５０に進み、暫定パラメータＸが「図６に線Ｌ３により示した低側閾値ＸＬｏｔｈ」よりも小さいか否かを判定する。
【０２０３】
このとき、暫定パラメータＸが低側閾値ＸＬｏｔｈよりも小さいと、ＣＰＵ７１はステップ１５５０にて「Ｙｅｓ」と判定してステップ１５６０に進み、インバランス発生フラグＸＩＮＢの値を「２」に設定する。即ち、ＣＰＵ７１は、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、ＣＰＵ７１はステップ１５９５に進んで本ルーチンを一旦終了する。
【０２０４】
一方、ＣＰＵがステップ１５５０の処理を実行する時点において、暫定パラメータＸが低側閾値ＸＬｏｔｈ以上であると、ＣＰＵ７１はインバランス判定を保留する。即ち、ＣＰＵ７１は、空燃比気筒間インバランス状態が発生したか否かについての判定の結論を出すことを保留する。そして、ＣＰＵ７１は、強制空燃比移行制御を開始し且つインバランス判定用パラメータＸの取得及びインバランス判定を再び行う。
【０２０５】
より具体的に述べると、暫定パラメータＸが低側閾値ＸＬｏｔｈ以上であると、ＣＰＵ７１はステップ１５５０にて「Ｎｏ」と判定してステップ１５７０に進み、パラメータ取得完了フラグＸｏｂｔａｉｎの値を「０」に設定する。次に、ＣＰＵ７１はステップ１５８０に進み、強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値を「１」に設定する。そして、ＣＰＵ７１はステップ１５９０に進み、インバランス判定用パラメータＸを取得する際に使用する各値（例えば、ΔＡＦ、ＳＡＦＤ、Ｃｎ、ＡｖｅΔＡＦ、Ｓａｖｅ、Ｃｓ等）を「０」に設定（クリア）し、その後、ステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０２０６】
以降、ＣＰＵ７１が再び図１４のルーチンの処理を開始し、ステップ１４１０に進むと、この時点においては強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値が「１」に設定されているから、ＣＰＵ７１はそのステップ１４１０にて「Ｙｅｓ」と判定してステップ１４３０に進み、強制空燃比移行フラグＸｙｏｓｅの値を「１」に設定する。
【０２０７】
このようにステップ１４３０にて強制空燃比移行フラグＸｙｏｓｅの値が「１」に設定されると、図１１のステップ１１８０にて目標空燃比ａｂｙｆｒの値が目標リッチ空燃比ＡＦｒｉｃｈ（非理論空燃比）に設定される。この結果、機関の空燃比は目標リッチ空燃比ＡＦｒｉｃｈに一致するように制御される。即ち、強制空燃比移行制御が開始され、機関の空燃比は目標リッチ空燃比ＡＦｒｉｃｈを中心にして変動するようになる。
【０２０８】
更に、ＣＰＵ７１はステップ１３１５乃至ステップ１３４０の処理を実行する。従って、ＣＰＵ７１は、カウンタＣｓが閾値Ｃｓｔｈ以上となったとき、ステップ１３４０からステップ１３４５に進んでインバランス判定用パラメータＸを再び取得する。このインバランス判定用パラメータＸは、インバランス判定用パラメータ取得条件が成立している期間において目標空燃比ａｂｙｆｒが「理論空燃比以外の空燃比（即ち、目標リッチ空燃比ＡＦｒｉｃｈ）である非理論空燃比」に維持された状態において取得されたパラメータである。即ち、このインバランス判定用パラメータＸは「最終パラメータＸ」である。次いで、ＣＰＵ７１はステップ１４４０にてパラメータ取得完了フラグＸｏｂｔａｉｎの値を「１」に設定し、ステップ１４９５に進んで本ルーチンを一旦終了する。
【０２０９】
この結果、パラメータ取得完了フラグＸｏｂｔａｉｎの値は「０」から「１」へと変更される。従って、ＣＰＵ７１が図１５のステップ１５１０に進むと、ＣＰＵ７１はそのステップ１５１０にて「Ｙｅｓ」と判定してステップ１５２０に進む。このとき、強制空燃比移行フラグＸｙｏｓｅは「１」である。従って、ＣＰＵ７１はステップ１５２０にて「Ｎｏ」と判定し、ステップ１５９５に直接進んで本ルーチンを一旦終了する。
【０２１０】
一方、ＣＰＵ７１が図１６のステップ１６１０に進むと、ＣＰＵ７１はそのステップ１６１０にて「Ｙｅｓ」と判定してステップ１６２０に進む。ＣＰＵ７１は、そのステップ１６２０にて強制空燃比移行フラグＸｙｏｓｅの値が「１」であるか否かを判定する。このとき、強制空燃比移行フラグＸｙｏｓｅは「１」である。従って、ＣＰＵ７１はステップ１６２０にて「Ｙｅｓ」と判定し、ステップ１６３０に進んで最終パラメータＸがインバランス判定用閾値Ｘｔｈ（本例においては、高側閾値ＸＨｉｔｈと等しい。）よりも大きいか否かを判定する。
【０２１１】
この場合、最終パラメータＸがインバランス判定用閾値Ｘｔｈよりも大きいと、ＣＰＵ７１はステップ１６３０にて「Ｙｅｓ」と判定してステップ１６４０に進み、インバランス発生フラグＸＩＮＢの値を「１」に設定する。即ち、ＣＰＵ７１は空燃比気筒間インバランス状態が発生していると判定する。その後、ＣＰＵ７１はステップ１６６０へと進む。
【０２１２】
これに対し、ＣＰＵ７１がステップ１６３０の処理を行う時点において、最終パラメータＸがインバランス判定用閾値Ｘｔｈ以下であると、ＣＰＵ７１はステップ１６３０にて「Ｎｏ」と判定してステップ１６５０に進み、インバランス発生フラグＸＩＮＢの値を「２」に設定する。即ち、ＣＰＵ７１は、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、ＣＰＵ７１はステップ１６６０へと進む。
【０２１３】
ＣＰＵ７１はステップ１６６０にて強制空燃比移行フラグＸｙｏｓｅの値を「０」に設定するとともに、ステップ１６７０にて強制空燃比移行要求フラグＸｙｏｓｅｒｅｑの値を「０」に設定し、ステップ１６９５に進んで本ルーチンを終了する。この結果、目標空燃比ａｂｙｆｒが理論空燃比ｓｔｏｉｃｈへと戻されるので、強制空燃比移行制御が終了される。即ち、機関の空燃比を理論空燃比へと一致させる通常の空燃比フィードバック制御が再開する。
【０２１４】
なお、ＣＰＵ７１は図１６のステップ１６２０に進んだとき、強制空燃比移行フラグＸｙｏｓｅの値が「０」であれば、そのステップ１６２０にて「Ｎｏ」と判定し、ステップ１６９５に直接進んで本ルーチンを一旦終了する。
【０２１５】
以上、説明したように、第２判定装置は、
インバランス判定用パラメータ取得条件が成立している期間において目標空燃比ａｂｙｆｒを非理論空燃比に設定する前に、目標空燃比ａｂｙｆｒを理論空燃比ｓｔｏｉｃｈに維持するとともに、空燃比センサ６７の出力値Ｖａｂｙｆｓに基いてインバランス判定用パラメータＸを暫定パラメータＸとして取得する（図１４のルーチン、特に、ステップ１４１０及びステップ１４２０を参照。）、インバランス判定手段を備える。
【０２１６】
更に、このインバランス判定手段は、
取得された暫定パラメータＸが「高側閾値ＸＨｉｔｈ」よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し（図１５のステップ１５３０及びステップ１５４０）、
取得された暫定パラメータＸが「高側閾値ＸＨｉｔｈよりも所定値だけ小さい低側閾値ＸＬｏｔｈ」よりも小さいとき空燃比気筒間インバランス状態は発生していないと判定し（図１５のステップ１５５０及びステップ１５６０）、
前記取得された暫定パラメータが前記高側閾値ＸＨｉｔｈよりも小さく且つ前記低側閾値ＸＬｏｔｈよりも大きいとき空燃比気筒間インバランス状態が発生したか否かについての判定を保留する（図１５のステップ１５５０における「Ｎｏ」との判定を参照。）。
【０２１７】
加えて、このインバランス判定手段は、
前記空燃比気筒間インバランス状態が発生したか否かについての判定が保留された状態にある場合、前記インバランス判定用パラメータ取得条件が成立している期間において目標空燃比ａｂｙｆｒを非理論空燃比（目標リッチ空燃比ＡＦｒｉｃｈ又は目標リーン空燃比ＡＦｌｅａｎ）に設定するとともに、空燃比センサ６７の出力値Ｖａｂｙｆｓに基いてインバランス判定用パラメータＸを最終パラメータＸとして取得し（図１５のステップ１５８０、図１４のステップ１４１０、ステップ１４３０、及び、ステップ１３１５−ステップ１３４５を参照。）、
その取得された最終パラメータＸが「インバランス判定用閾値Ｘｔｈ」よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し（図１６のステップ１６３０及びステップ１６４０）、且つ、その取得された最終パラメータＸがインバランス判定用閾値Ｘｔｈよりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する（図１６のステップ１６３０及びステップ１６５０）。
【０２１８】
この第２判定装置によれば、目標空燃比ａｂｙｆｒを理論空燃比に維持した状態において取得されるインバランス判定用パラメータＸ（暫定パラメータＸ）により、明らかにインバランス判定の結果を得ることができる場合、目標空燃比ａｂｙｆｒを非理論空燃比に設定する必要がない。従って、エミッションを良好に維持しながら空燃比気筒間インバランス判定を行うことができる。
【０２１９】
更に、暫定パラメータＸによっては、空燃比気筒間インバランス状態が発生しているか否かが明らかでない場合、目標空燃比ａｂｙｆｒを非理論空燃比に設定した状態にてインバランス判定用パラメータＸ（最終パラメータＸ）を取得し、その最終パラメータＸに基づいてインバランス判定が行われる。従って、誤ったインバランス判定を行うことを回避することができる。
【０２２０】
＜第３実施形態＞
次に、本発明の第３実施形態に係る判定装置（以下、単に「第３判定装置」と称呼する。）について説明する。
【０２２１】
第３判定装置は、第２判定装置と同様、暫定パラメータと最終パラメータとを取得する。以下、両者を明瞭に区別するため、暫定パラメータＸを暫定パラメータＸｚと表記し、最終パラメータＸを最終パラメータＸｓと表記する。
【０２２２】
第３判定装置は、暫定パラメータＸｚと最終パラメータＸｓとの差ΔＸを求め、その差ΔＸの絶対値｜ΔＸ｜が閾値ΔＸｔｈよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。これに対し、第３判定装置は、その差ΔＸの絶対値｜ΔＸ｜が閾値ΔＸｔｈよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。
【０２２３】
図１７の実線Ｄ１に示したように、空燃比気筒間インバランス状態が発生している場合、暫定パラメータＸｚ（点Ｐ１を参照。）と最終パラメータＸｓ（点Ｐ２を参照。）との差ΔＸの絶対値｜ΔＸ｜は比較的大きくなる。これに対し、図１７の破線Ｄ２に示したように、空燃比気筒間インバランス状態が発生していない場合、暫定パラメータＸｚ（点Ｐ３を参照。）と最終パラメータＸｓ（点Ｐ４を参照。）との差ΔＸの絶対値｜ΔＸ｜は比較的小さくなる。
【０２２４】
従って、第３判定装置は、差ΔＸの絶対値｜ΔＸ｜が閾値ΔＸｔｈよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定し、差ΔＸの絶対値｜ΔＸ｜が閾値ΔＸｔｈよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。
【０２２５】
なお、第３判定装置は、差ΔＸの絶対値｜ΔＸ｜の代わりに、暫定パラメータＸｚに対する最終パラメータＸｓの比（Ｘｓ／Ｘｚ）を求め、その比（Ｘｓ／Ｘｚ）が閾値Ｒｔｈよりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、その比（Ｘｓ／Ｘｚ）が閾値Ｒｔｈよりも小さいとき空燃比気筒間インバランス状態が発生していないと判定してもよい。
【０２２６】
また、差ΔＸの絶対値｜ΔＸ｜が「空燃比気筒間インバランス状態が発生しているか否か」に応じて大きく変化するように、暫定パラメータＸｚは、排ガスの空燃比が「理論空燃比領域よりも狭く且つ理論空燃比を含む領域（図１７における領域Ａ）」において変動している際に取得されることが望ましい。
【０２２７】
更に、第３判定装置は、インバランス判定用パラメータを取得した際のパラメータ取得期間平均空燃比を取得しておき、パラメータ取得期間平均空燃比が理論空燃比領域（又は領域Ａ）にあるときにインバランス判定用パラメータが得られ、パラメータ取得期間平均空燃比がリーン領域又はリッチ領域にあるときにインバランス判定用パラメータが得られていない場合、上述した強制空燃比移行制御を実行するように構成されてもよい。
【０２２８】
以上、説明したように、各判定装置は、空燃比気筒間インバランス状態が発生したか否かを精度良く判定することができる。
【０２２９】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、インバランス判定用パラメータＸ（暫定パラメータＸｚ又は最終パラメータＸｓ）として取得される空燃比変動指標量ＡＦＤは、以下に述べるパラメータであってもよい。
【０２３０】
（Ｐ１）空燃比変動指標量ＡＦＤは、空燃比センサ６７の出力値Ｖａｂｙｆｓの軌跡長（基本指標量）又は検出空燃比ａｂｙｆｓの軌跡長（基本指標量）に応じた値であってもよい。例えば、検出空燃比ａｂｙｆｓの軌跡長は、一定サンプリング時間ｔｓが経過する毎に出力値Ｖａｂｙｆｓを取得するとともに、その出力値Ｖａｂｙｆｓを検出空燃比ａｂｙｆｓへと変換し、その検出空燃比ａｂｙｆｓと、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓと、の差の絶対値を積算することによって求めることができる。
【０２３１】
この軌跡長は、単位燃焼サイクル期間毎に求められることが望ましい。複数の単位燃焼サイクル期間についての軌跡長の平均値（即ち、軌跡長に応じた値）を空燃比変動指標量ＡＦＤとして採用してもよい。なお、出力値Ｖａｂｙｆｓの軌跡長及び検出空燃比ａｂｙｆｓの軌跡長は、機関回転速度ＮＥが大きいほど大きくなる傾向を有するので、この軌跡長に基くインバランス判定用パラメータをインバランス判定に使用する場合、機関回転速度ＮＥが大きいほどインバランス判定用閾値Ｘｔｈを大きくすることが好ましい。
【０２３２】
（Ｐ２）空燃比変動指標量ＡＦＤは、「空燃比センサ６７の出力値Ｖａｂｙｆｓ又は検出空燃比ａｂｙｆｓ」の変化率の変化率（即ち、これらの値の時間に関する二階微分値）を基本指標量として求め、その基本指標量に応じた値として求められてもよい。例えば、空燃比変動指標量ＡＦＤは、「空燃比センサ６７の出力値Ｖａｂｙｆｓの時間に関する二階微分値ｄ２（Ｖａｂｙｆｓ）／ｄｔ２」の絶対値の単位燃焼サイクル期間における最大値、又は、「上流側空燃比センサ６７の出力値Ｖａｂｙｆｓにより表される検出空燃比ａｂｙｆｓの時間に関する二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２）」の絶対値の単位燃焼サイクル期間における最大値であってもよい。
【０２３３】
例えば、検出空燃比ａｂｙｆｓの変化率の変化率は次のようにして取得することができる。
・一定サンプリング時間ｔｓが経過する毎に出力値Ｖａｂｙｆｓを取得する。
・その出力値Ｖａｂｙｆｓを検出空燃比ａｂｙｆｓへと変換する。
・その検出空燃比ａｂｙｆｓと、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓと、の差を検出空燃比ａｂｙｆｓの変化率として取得する。
・その検出空燃比ａｂｙｆｓの変化率と、一定サンプリング時間ｔｓ前に取得した検出空燃比ａｂｙｆｓの変化率と、の差を検出空燃比ａｂｙｆｓの変化率の変化率（二階微分値ｄ２（ａｂｙｆｓ）／ｄｔ２）として取得する。
【０２３４】
この場合、「単位燃焼サイクル期間内において複数得られた検出空燃比ａｂｙｆｓの変化率の変化率」の中から「その絶対値が最大である値」を代表値として選択し、そのような代表値を複数の単位燃焼サイクル期間に対して求め、得られた複数の代表値の絶対値の平均値を空燃比変動指標量ＡＦＤとして採用してもよい。
【０２３５】
更に、上記各判定装置は、微分値ｄ（ａｂｙｆｓ）／ｄｔ（検出空燃比変化率ΔＡＦ）を基本指標量として採用し、その基本指標量の単位燃焼サイクル期間における平均値に基く値を空燃比変動指標量ＡＦＤとして採用していた。
【０２３６】
これに対し、上記各判定装置は、微分値ｄ（ａｂｙｆｓ）／ｄｔ（検出空燃比変化率ΔＡＦ）を基本指標量として取得し、単位燃焼サイクル期間において得られた微分値ｄ（ａｂｙｆｓ）／ｄｔのうち正の値を有するデータ中からその絶対値が最大の値Ｐ１を取得するとともに、同じ単位燃焼サイクル期間において得られた微分値ｄＶａｂｙｆｓ／ｄｔのうち負の値を有するデータ中からその絶対値が最大の値Ｐ２を取得し、値Ｐ１の絶対値及び値Ｐ２の絶対値のうちの大きい方を基本指標量として採用してもよい。そして、上記各判定装置は、複数の単位燃焼サイクル期間に対して得られた基本指標量の平均値を、空燃比変動指標量ＡＦＤとして採用してもよい。
【０２３７】
更に、上記各判定装置は、例えば、Ｖ型エンジンにも適用することができる。その場合、Ｖ型エンジンは右バンクに属する２以上の気筒の排気集合部よりも下流に右バンク上流側触媒（前記機関の排気通路であって前記複数の気筒のうちの少なくとも２以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒）を備え、左バンクに属する２以上の気筒の排気集合部よりも下流に左バンク上流側触媒（前記機関の排気通路であって前記複数の気筒のうちの少なくとも２以上の気筒以外の残りの２以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒）、を備えることができる。
【０２３８】
更に、Ｖ型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサを備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサを備えることができる。各上流側空燃比センサは、上記空燃比センサ６７と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
【０２３９】
この場合、判定装置は、右バンク用の上流側空燃比センサの出力値に基いて右バンク用の「空燃比変動指標量ＡＦＤ（インバランス判定用パラメータＸ）」を求め、それらを用いて右バンクに属する気筒間において空燃比気筒間インバランス状態が発生しているか否かを判定することができる。
【０２４０】
同様に、判定装置は、左バンク用の上流側空燃比センサの出力値に基いて左バンク用の「空燃比変動指標量ＡＦＤ（インバランス判定用パラメータＸ）」を求め、それらを用いて左バンクに属する気筒間において空燃比気筒間インバランス状態が発生しているか否かを判定することができる。
【０２４１】
加えて、上記各判定装置は、インバランス判定用閾値Ｘｔｈ（高側閾値ＸＨｉｔｈ及び低側閾値ＸＬｏｔｈを含む。）を、吸入空気流量Ｇａが大きいほど大きくなるように変更してもよい。これは、保護カバー６７ｂ及び６７ｃの存在により、吸入空気流量Ｇａが小さいほど、空燃比センサ６７の応答性が低くなるからである。
【０２４２】
更に、前記高側閾値ＸＨｉｔｈは前記インバランス判定用閾値Ｘｔｈ以上の値であり、前記低側閾値ＸＬｏｔｈは前記インバランス判定用閾値Ｘｔｈよりも小さい値であることが好適である。但し、高側閾値ＸＨｉｔｈは、暫定パラメータＸｚが高側閾値ＸＨｉｔｈよりも大きいとき、明らかに空燃比気筒間インバランス状態が発生していると断定できる値であれば、前記インバランス判定用閾値Ｘｔｈよりも小さい値であってもよい。同様に、低側閾値ＸＬｏｔｈは、暫定パラメータＸｚが低側閾値ＸＬｏｔｈよりも小さいとき、明らかに空燃比気筒間インバランス状態が発生していないと断定できる値であればよい。
【図１】
2011064899.tif 000003
【図２】
2011064899.tif 000004
【図３】
2011064899.tif 000005
【図４】
2011064899.tif 000006
【図５】
2011064899.tif 000007
【図６】
2011064899.tif 000008
【図７】
2011064899.tif 000009
【図８】
2011064899.tif 000010
【図９】
2011064899.tif 000011
【図１０】
2011064899.tif 000012
【図１１】
2011064899.tif 000013
【図１２】
2011064899.tif 000014
【図１３】
2011064899.tif 000015
【図１４】
2011064899.tif 000016
【図１５】
2011064899.tif 000017
【図１６】
2011064899.tif 000018
【図１７】
2011064899.tif 000019
【国際調査報告】
2011064899.tif 000020
2011064899.tif 000021
2011064899.tif 000022
2011064899.tif 000023