(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段と、
前記機関が吸入する吸入空気量と前記空燃比補正量に相関する値とに基づいて前記燃料噴射弁から噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記吸入空気量と前記指示燃料噴射量とにより定まる指示空燃比を減少させるための始動補正量を算出する始動補正量算出手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値に相関する値に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を減少補正する減少補正手段と、
を含み、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記指示燃料噴射量を決定するように構成された燃料噴射量制御装置であって、
前記減少補正手段は、
前記機関の始動時における前記三元触媒の酸素吸蔵量である始動時酸素吸蔵量に相関を有する始動時酸素吸蔵量相関値を取得するとともに、前記取得した酸素吸蔵量相関値により表される前記始動時酸素吸蔵量が小さいほど前記始動後期間における前記インバランスリッチ補正量の大きさをより小さくするように構成された燃料噴射量制御装置。
【請求項２】
請求項１に記載の燃料噴射量制御装置において、
前記減少補正手段は、
前記機関が始動される前の運転停止時間Ｔstopに基いて前記始動時酸素吸蔵量相関値を取得するように構成された燃料噴射量制御装置。
【請求項３】
請求項１又は請求項２に記載の燃料噴射量制御装置において、
前記減少補正手段は、
前記上流側空燃比センサの出力値により表される空燃比であって前記機関の始動後において最初に取得される極小値である始動後最深リッチ空燃比africhmaxに基いて前記始動時酸素吸蔵量相関値を取得するように構成された燃料噴射量制御装置。
【請求項４】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段と、
前記機関が吸入する吸入空気量と前記空燃比補正量に相関する値とに基づいて前記燃料噴射弁から噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記吸入空気量と前記指示燃料噴射量とにより定まる指示空燃比を減少させるための始動補正量を算出する始動補正量算出手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値に相関する値に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を減少補正する減少補正手段と、
を含み、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記指示燃料噴射量を決定するように構成された燃料噴射量制御装置であって、
前記減少補正手段は、
前記排気通路であって前記三元触媒よりも下流側の位置に配設された下流側空燃比センサを含み、前記インバランスリッチ補正量を減少補正する程度を前記下流側空燃比センサの出力値と所定の参照値との比較の結果に基づいて変更するように構成された燃料噴射量制御装置。
【請求項５】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段と、
前記機関が吸入する吸入空気量と前記空燃比補正量に相関する値とに基づいて前記燃料噴射弁から噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記吸入空気量と前記指示燃料噴射量とにより定まる指示空燃比を減少させるための始動補正量を算出する始動補正量算出手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値に相関する値に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を減少補正する減少補正手段と、
を含み、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記指示燃料噴射量を決定するように構成された燃料噴射量制御装置であって、
前記減少補正手段は、
前記機関の冷却水温ＴＨＷを取得するとともに、前記取得した冷却水温ＴＨＷが低いほど前記始動後期間における前記インバランスリッチ補正量の大きさをより小さくするように構成された燃料噴射量制御装置。
【請求項６】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段と、
前記機関が吸入する吸入空気量と前記空燃比補正量に相関する値とに基づいて前記燃料噴射弁から噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記吸入空気量と前記指示燃料噴射量とにより定まる指示空燃比を減少させるための始動補正量を算出する始動補正量算出手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値に相関する値に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を減少補正する減少補正手段と、
を含み、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記指示燃料噴射量を決定するように構成された燃料噴射量制御装置であって、
前記減少補正手段は、
前記三元触媒の最大酸素吸蔵量Ｃmaxを取得するとともに、前記取得した最大酸素吸蔵量Ｃmaxが小さいほど前記始動後期間における前記インバランスリッチ補正量の大きさをより小さくするように構成された燃料噴射量制御装置。
【請求項７】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段と、
前記機関が吸入する吸入空気量と前記空燃比補正量に相関する値とに基づいて前記燃料噴射弁から噴射される燃料の量の指示値である指示燃料噴射量を決定する指示燃料噴射量決定手段と、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
を備える内燃機関の燃料噴射量制御装置において、
前記指示燃料噴射量決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記吸入空気量と前記指示燃料噴射量とにより定まる指示空燃比を減少させるための始動補正量を算出する始動補正量算出手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段と、
前記機関の前回の運転中に取得された前記空燃比不均衡指標値に相関する値に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を始動直後の時点から減少補正する減少補正手段と、
を含み、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記指示燃料噴射量を決定するように構成された燃料噴射量制御装置。
【請求項８】
請求項７に記載の燃料噴射量制御装置において、
前記減少補正手段は、
始動後時間Ｔafstを計測するとともに同始動後時間Ｔafstが大きくなるほど前記インバランスリッチ補正量を減少する程度が小さくなるように前記インバランスリッチ補正量を減少補正する、燃料噴射量制御装置。

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