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