(57)【特許請求の範囲】
【請求項１】
気筒別に設けられる燃料噴射弁と、
複数気筒からの排気を集合させた部位に位置する空燃比センサと、
各気筒の排気行程に合わせて前記空燃比センサ出力をサンプリングするセンサ出力サンプリング手段と、
これら各気筒のサンプリング値に基づいて、前記燃料噴射弁からの噴射燃料により形成される混合気の空燃比が理論空燃比となるように空燃比のフィードバック制御を行う空燃比フィードバック制御手段と
を備える多気筒エンジンの空燃比制御装置において、
前記複数気筒のうちの一つの気筒について排気弁から前記空燃比センサまでの流路長さが残りの気筒より長くかつ前記一つの気筒の燃料噴射弁に通常より流量の少ないものまたは通常より流量の多いものが用いられている場合に、空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値と空燃比センサへの排気当たりの良い前記残りの気筒のサンプリング値との偏差を算出する偏差算出手段と、
この偏差算出手段により算出される偏差を所定のゲインで補正した値で空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正するサンプリング値補正手段と
を備え、
前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定することを特徴とするエンジンの空燃比制御装置。
【請求項２】
気筒別に設けられる燃料噴射弁と、
複数気筒からの排気を集合させた部位に位置する空燃比センサと、
各気筒の排気行程に合わせて前記空燃比センサ出力をサンプリングするセンサ出力サンプリング手段と、
これら各気筒のサンプリング値に基づいて、前記燃料噴射弁からの噴射燃料により形成される混合気の空燃比が理論空燃比となるように空燃比のフィードバック制御を行う空燃比フィードバック制御手段と
を備える多気筒エンジンの空燃比制御装置において、
前記複数気筒のうちの一つの気筒について排気弁から前記空燃比センサまでの流路長さが残りの気筒より長くかつ前記一つの気筒の燃料噴射弁に通常より流量の少ないものまたは通常より流量の多いものが用いられている場合に、空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値と空燃比センサへの排気当たりの良い前記残りの気筒のサンプリング値との偏差を算出する偏差算出手段と、
この偏差算出手段により算出される偏差を所定のゲインで補正した値で空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正するサンプリング値補正手段と
を備え、
前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定することを特徴とするエンジンの空燃比制御装置。
【請求項３】
前記偏差算出手段の用いる空燃比センサへの排気当たりの良い前記残りの気筒は点火順序において空燃比センサへの排気当たりの悪い前記一つの気筒の直前の気筒であることを特徴とする請求項１または２に記載のエンジンの空燃比制御装置。
【請求項４】
空燃比センサへの排気当たりの悪い前記一つの気筒を除く残りの気筒の全てのサンプリング値の平均値を、前記偏差を演算するときの空燃比センサへの排気当たりの良い前記残りの気筒のサンプリング値とすることを特徴とする請求項１または２に記載のエンジンの空燃比制御装置。
【請求項５】
前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正する運転領域と、前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正することを禁止する運転領域とに分けることを特徴とする請求項１から４までのいずれか一つに記載のエンジンの空燃比制御装置。
【請求項６】
前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正する運転領域は低回転速度かつ低負荷の運転領域であることを特徴とする請求項５に記載のエンジンの空燃比制御装置。
【請求項７】
前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正する運転領域は低負荷の運転領域であることを特徴とする請求項５に記載のエンジンの空燃比制御装置。
【請求項８】
前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正することを禁止する運転領域は高負荷の領域であることを特徴とする請求項５に記載のエンジンの空燃比制御装置。
【請求項９】
前記偏差に基づいて空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正した値を上限値と下限値でガードすることを特徴とする請求項１から８までのいずれか一つに記載のエンジンの空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は多気筒エンジンの空燃比制御装置に関する。
【０００２】
【従来の技術】
排気マニフォルドの集合部に１つのＯ2センサを設けたものがある（特開平１１−２８７１４５号公報参照）。
【０００３】
【発明が解決しようとする課題】
ところで、各気筒からのＯ2センサに対する排気の当たりかたの相違により、Ｏ2センサ出力が影響を受けて変化することが知られている。排気マニフォルドの集合部に１つのＯ2センサを設ける場合には、排気弁位置からＯ2センサまでの流路長さが気筒間で揃うように、かつＯ2センサに対して各気筒からの排気が均等に当たるように排気マニフォルドの形状とＯ2センサの取付位置を設定することが理想であるが、実際にはエンジンレイアウトの制約などを受けるため、Ｏ2センサへの排気当たりが各気筒で異なり、この気筒毎のＯ2センサへの排気当たりの違いに起因してＯ2センサ出力が影響を受けざるを得ない。そして、このＯ2センサ出力への影響によりＯ2センサへの排気当たりの悪い気筒ではＯ2センサ出力がなまされてしまう。
【０００４】
これについてさらに説明する。エンジンレイアウト上の制約を受けて直列４気筒エンジンの排気マニフォルドの形状が仮に図２で示したようにＮｏ．４気筒についてだけ排気弁からＯ2センサまでの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合を考える。このケースでは、Ｎｏ．４気筒がＯ2センサへの排気当たりの悪い気筒、残りの３つの気筒がＯ2センサへの排気当たりの良い気筒である。
【０００５】
このとき、Ｏ2センサ出力は、図３のようにＮｏ．４気筒についてだけ他の３つの気筒より値が小さくなる（リーン側になる）。Ｎｏ．４気筒についても排気弁からＯ2センサまでの流路長さが他の３つの気筒と同等であるときには、Ｎｏ．４気筒について通常より流量の少ない燃料噴射弁が用いられているのであるから、Ｎｏ．４気筒についてのＯ2センサ出力は、その流量の少ない分に対応して一点鎖線で示したようにリーン側の値を示すはずであるが、Ｎｏ．４気筒だけ排気弁からＯ2センサまでの流路長さが他の３つの気筒より長くそのためにＯ2センサへの排気当たりが悪いと、その影響を受けてＯ2センサ出力はＮｏ．４気筒についてだけ一点鎖線より実線へと、つまりリッチ側になまされてしまい、本来のあるべき値である一点鎖線から外れるのである。
【０００６】
このため、図３に実線で示す、Ｎｏ．４気筒の部分でなまされた波形を有するＯ2センサ出力に基づき、各気筒の排気行程に合わせてＯ2センサ出力をサンプリングし、これらＳ１、Ｓ２、Ｓ３、Ａ、Ｓ４、Ｓ５、Ｓ６といったサンプリング値の加重平均値を求めると、その加重平均値（＝Ｏ2センサ平滑化電圧）は図４上段の破線のように変化する。そして、この加重平均値に基づいて算出される空燃比フィードバック補正係数αは図４下段の破線のように変化し、このαにより全気筒平均の排気空燃比がウインドウに収まるように燃料供給量がフィードバック補正される。
【０００７】
しかしながら、本来あるべきＯ2センサ出力はＮｏ．４気筒の部分について図３において一点鎖線のようでなければならないため、図３において実線に示すＯ2センサ出力から得られるサンプリング値にそのまま基づいて空燃比フィードバック制御を行ったのでは、リッチ側への空燃比補正が足りず、この補正の不足で全気筒平均の排気空燃比をウインドウに収めることができない事態が生じ得るのである。
【０００８】
そこで本発明は、空燃比センサ（Ｏ2センサ）への排気当たりの悪い気筒であるＮｏ．４気筒について、空燃比センサ出力のサンプリング値が図３で仮にＡであったとしたとき、本来のあるべき値であるＢへと強制的に戻すことにより、空燃比センサへの排気当たりの悪い一つの気筒があっても、空燃比フィードバック制御に影響することがないようにすることを目的とする。
【０００９】
一方、上記の従来装置では、
（ａ）第１の気筒についてＯ2センサへの排気当たりが良く、かつその気筒の燃料噴射弁の流量特性が正常である、
（ｂ）第２の気筒についてＯ2センサへの排気当たりが悪く、かつその気筒の燃料噴射弁の流量特性が正常の場合より少なくリーン側に傾く傾向にある、
場合に、吸入空気量が多くなるなどＯ2センサへの排気当たりの影響が無視できなくなる運転領域になると、Ｏ2センサへの排気当たりの良い第１の気筒の排気空燃比がＯ2センサ出力に対して支配的となるため、空燃比フィードバック補正係数もこの第１の気筒の排気空燃比に対してこれを補正する態様で形成される。
【００１０】
そして、空燃比フィードバック補正係数がリーン側に補正すべくスキップされる場合には、上記リーン側に傾く傾向にある第２の気筒の排気空燃比がリーン側に過大に補正されるおそれがあることから、従来装置においても、第２の気筒（一部気筒）における過補正を防止する点で、空燃比フィードバック制御に影響することがないようにする本発明の解決課題と類似する。
【００１１】
しかしながら、上記の従来装置は、Ｏ2センサへの排気当たりの悪い第２の気筒のほうをＯ2センサへの排気当たりの良い第１の気筒より、空燃比フィードバック制御に用いるスキップ量（比例分）を小さく設定するものに過ぎず、本発明のように、空燃比センサ出力の波形が、排気当りの悪い気筒の部分でなまされることに着目し、排気当りの悪い気筒の部分でも、本来あるべき値に戻そうとするものではない。
【００１２】
【課題を解決するための手段】
請求項１に記載の発明は、気筒別に設けられる燃料噴射弁と、複数気筒からの排気を集合させた部位に位置する空燃比センサと、各気筒の排気行程に合わせて前記空燃比センサ出力をサンプリングするセンサ出力サンプリング手段と、これら各気筒のサンプリング値に基づいて、前記燃料噴射弁からの噴射燃料により形成される混合気の空燃比が理論空燃比となるように空燃比のフィードバック制御を行う空燃比フィードバック制御手段とを備える多気筒エンジンの空燃比制御装置において、前記複数気筒のうちの一つの気筒について排気弁から前記空燃比センサまでの流路長さが残りの気筒より長くかつ前記一つの気筒の燃料噴射弁に通常より流量の少ないものまたは通常より流量の多いものが用いられている場合に、空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値と空燃比センサへの排気当たりの良い前記残りの気筒のサンプリング値との偏差を算出する偏差算出手段と、この偏差算出手段により算出される偏差を所定のゲインで補正した値で空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正するサンプリング値補正手段とを備え、前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定する。
請求項２に記載の発明は、気筒別に設けられる燃料噴射弁と、複数気筒からの排気を集合させた部位に位置する空燃比センサと、各気筒の排気行程に合わせて前記空燃比センサ出力をサンプリングするセンサ出力サンプリング手段と、これら各気筒のサンプリング値に基づいて、前記燃料噴射弁からの噴射燃料により形成される混合気の空燃比が理論空燃比となるように空燃比のフィードバック制御を行う空燃比フィードバック制御手段とを備える多気筒エンジンの空燃比制御装置において、前記複数気筒のうちの一つの気筒について排気弁から前記空燃比センサまでの流路長さが残りの気筒より長くかつ前記一つの気筒の燃料噴射弁に通常より流量の少ないものまたは通常より流量の多いものが用いられている場合に、空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値と空燃比センサへの排気当たりの良い前記残りの気筒のサンプリング値との偏差を算出する偏差算出手段と、この偏差算出手段により算出される偏差を所定のゲインで補正した値で空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値を補正するサンプリング値補正手段とを備え、前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定する。
【００１３】
【発明の効果】
例えば一つの気筒に供給される燃料供給装置からの燃料供給量が通常より少ない（従ってこの一つの気筒からの排気の空燃比がリーン傾向にある）ことを前提として、
〈１〉前記一つの気筒について空燃比センサへの排気当たりが悪く、これに対して残り        の気筒については空燃比センサへの排気当たりが良い場合と、
〈２〉前記一つの気筒も含めた全ての気筒について空燃比センサへの排気当たりが良い        場合
とを比較したとき、上記〈２〉の場合には、空燃比センサ出力は、排気当たりが悪い前記一つの気筒の部分で、この一つの気筒の排気空燃比がリーン傾向にあるのを表すように、残りの気筒の部分の値より外れる（例えばＯ2センサであればセンサ出力が小さくなる）のに対して、上記〈１〉の場合には、排気当たりが悪い前記一つの気筒の部分で空燃比センサ出力が後者の場合よりもなまされる。
【００１４】
このとき、請求項１に記載の発明によれば、上記〈１〉の場合に、排気当たりの悪い前記一つの気筒のサンプリング値と排気当たりの良い残りの気筒の少なくとも一つのサンプリング値との偏差に基づいて、排気当たりの悪い前記一つの気筒のサンプリング値を補正するようにしたので、排気当たりの悪い前記一つの気筒においても、なまされる前の本来あるべき空燃比センサ出力に対応したサンプリング値が得られる。
【００１５】
このため、各気筒の排気行程に合わせて空燃比センサ出力サンプリングし、そのサンプリングした値より荷重平均値を算出し、その加重平均値に基づいて全気筒平均の空燃比がウインドウに収まるようにフィードバック制御する場合には、排気当たりの悪い前記一つの気筒について空燃比がリーン側に傾く傾向があっても、空燃比フィードバック制御に影響することがなく、従って全気筒平均の排気空燃比をウインドウに収めることができる。
また、請求項１に記載の発明によれば、前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合にエンジンの回転速度が高いほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定するので、エンジン回転速度が変化してもゲインを過不足無く与えることができる。
また、請求項２に記載の発明によれば、前記ゲインを、前記一つの気筒の燃料噴射弁に通常より流量の少ないものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が増幅される側に、前記一つの気筒の燃料噴射弁に通常より流量の多いものが用いられている場合に吸入空気量が小さいほど空燃比センサへの排気当たりの悪い前記一つの気筒のサンプリング値が縮小される側に設定するので、吸入空気量が変化してもゲインを過不足無く与えることができる。
【００１６】
【発明の実施の形態】
図１において、１はエンジン本体で、その吸気通路２には吸気絞り弁３の下流に位置して気筒別に燃料噴射弁４が設けられ、エンジンコントローラ１１からの噴射信号により運転条件に応じて所定の空燃比となるように、吸気中に燃料を噴射供給する。詳細には、ＰＯＳセンサ（ポジションセンサ）１２、ＰＨＡＳＥセンサ（フェーズセンサ）１３からの信号、エアフローメータ１４からの吸入空気流量の信号、水温センサ１５からのエンジン冷却水温の信号等が主にマイコンからなるエンジンコントローラ１１に入力され、エンジンコントローラ１１では、これらの信号に基づいて基本空燃比（例えば理論空燃比）の混合気が得られる基本噴射パルス幅Ｔｐを算出し、これに水温増量などの各種の補正を行って燃料噴射パルス幅Ｔｉを求め、所定のタイミングでこのＴｉに対応する期間だけ燃料噴射弁４を開く。
【００１７】
排気マニフォルドの集合部には１つのＯ2センサ１６（空燃比センサ）を備える。このＯ2センサ１６には各気筒からの排気が、４気筒であればクランク角で１８０°ずつずれて順次当たる（衝突する）ので、エンジンコントローラ１１では、クランク角で１８０°ずつサンプリングのタイミングをずらせることで各気筒の排気行程に合わせてＯ2センサ出力をサンプリングする。そして、排気行程に合わせた各気筒のＯ2センサ出力のサンプリング値の加重平均値をＯ2センサ平滑化電圧ＭＶＯ２として算出し、空燃比のフィードバック制御条件が成立したときにはこのＯ2センサ平滑化電圧ＭＶＯ２を改めてＯ2センサ出力として空燃比フィードバック制御を行う。この空燃比フィードバック制御は全気筒平均の排気空燃比が理論空燃比を中心とする狭い範囲内（ウインドウ）で周期的に振らすようにした制御であり、このとき排気通路６に設けた三元触媒７、８が最大の転換効率をもって、排気中のＮＯｘの還元とＨＣ、ＣＯの酸化を行う。
【００１８】
この場合、各気筒の排気弁位置からＯ2センサ１６までの流路長さが等しくなるように、かつＯ2センサ１６に対して各気筒からの排気が均等に当たるように排気マニフォルドの形状とＯ2センサ１６の取付位置を設計できれば理想であるが、実際にはエンジンレイアウトの制約などを受けるため、Ｏ2センサ１６に対する排気当たり（以下単に「排気当たり」という。）が各気筒で異なり、この気筒毎の排気当たりの違いに起因してＯ2センサ出力が影響を受けることが知られている（特開平１１−２８７１４５号公報参照）。
【００１９】
気筒間で排気当たりが異なって生じる原因は、排気弁からＯ2センサ１６までの流路長さが気筒毎に違うこと、また気筒間で排気がＯ2センサ１６へと流れる方向が違うことの２つである。すなわち、気筒間で排気当たりが異なって生じる原因は専ら排気マニフォルドの形状とＯ2センサ１６の取付位置によるのであり、経時劣化は関係ない。言い換えると、設計の段階からいずれの気筒が排気当たりが悪い気筒であるのか、あるいは排気当たりが良い気筒であるのかは予めわかっている。
【００２０】
本発明では、こうした気筒間で排気当たりが異なっているものを前提として、排気当たりが悪い気筒についてのＯ2センサ出力のサンプリング値に対して、排気当たりが良い気筒と同等のサンプリング値が得られるように補正を行う。
【００２１】
これについて具体的に説明する。エンジンレイアウト上の制約を受けて直列４気筒エンジンの排気マニフォルド２１の形状が、仮に図２で示したようにＮｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁４に通常より流量の少ないものが用いられている場合を考える。このケース（ケース１）では、Ｎｏ．４気筒が排気当たりの悪い気筒、残りの３つのＮｏ．１、Ｎｏ．２、Ｎｏ．３の各気筒が排気当たりの良い気筒である。
【００２２】
このとき、Ｏ2センサ出力は、図３のようにＮｏ．４気筒についてだけ他の３つの気筒より値がリーン側になる。詳細にはＮｏ．４気筒についても排気弁からＯ2センサ１６までの流路長さが他の３つの気筒と同等であるときには、Ｎｏ．４気筒について通常より流量の少ない燃料噴射弁４が用いられているのであるから、Ｎｏ．４気筒についてのＯ2センサ出力は、その流量の少ない分に対応して、一点鎖線で示したようにリーン側の値を示すはずであるが、Ｎｏ．４気筒だけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、そのために排気当たりが悪いとその影響を受けて、Ｎｏ．４気筒についてのＯ2センサ出力が、一点鎖線より実線へとリッチ側にずれ、本来のあるべき一点鎖線より外れてしまうのである。
【００２３】
このため、図３に実線で示すＯ2センサ出力より、図示のように各気筒でＯ2センサ出力が安定するほぼ真中の位置をサンプリング位置としてＳ１、Ｓ２、Ｓ３、Ａ、Ｓ４、Ｓ５、Ｓ６といったＯ2センサ出力をＡ／Ｄ変換して順次取り込み（サンプリングし）、これらのサンプリング値よりＯ2センサ平滑化電圧ＭＶＯ２を算出し、このＯ2センサ平滑化電圧ＭＶＯ２を空燃比フィードバック制御に用いるＯ2センサ出力としたとき、空燃比フィードバック補正係数αは図４下段の破線のように変化し、このαにより全気筒平均の排気空燃比がウインドウに収まるように燃料供給量がフィードバック補正される。
【００２４】
なお、図３と図４とではタイムスケールが異なり、図４上段の一部を切り取って拡大したのが図３のタイムスケールに相当する。
【００２５】
しかしながら、本来あるべきＮｏ．４気筒のＯ2センサ出力は図３において一点鎖線のようでなければならないため、図３において実線に示すＯ2センサ出力からサンプリングした値にそのまま基づいて空燃比フィードバック制御を行ったのでは、リッチ側への空燃比補正が足りず、この補正の不足で全気筒平均の排気空燃比をウインドウに収めることができない事態が生じ得る。
【００２６】
そこで、排気当たりの悪い気筒であるＮｏ．４気筒について、Ｏ2センサ出力のサンプリング値が図３でＡであったとしたとき、本来のあるべき値であるＢへと戻すには、１．０を超える補正ゲインを導入し、実際のサンプリング値Ａにこの補正ゲインを掛けることにより増幅してＢとすることである。
【００２７】
次には、上記の補正ゲインを運転条件に応じてどのように与えるかを考慮しなければならない。これについて上記の同じケース、つまりＮｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁４に通常より流量の少ないものが用いられている場合について実験を行った結果が図５である。
【００２８】
同図は横軸にクランク角、縦軸に気筒毎のガス濃度（＝排気流量）を採ったもので、上段は例えばエンジンの回転速度Ｎｅが小さくかつ排気流量Ｑｅｘｈが多いとき（低回転速度高負荷）の特性である。上段に示したように、Ｎｏ．４気筒についてだけ排気当たりが悪いことによる影響が、次の２点に現れている。
【００２９】
第１点：ガス濃度の立ち上がりが他のＮｏ．３気筒やＮｏ．２気筒の場合より緩やかになっている。
【００３０】
第２点：点火順序ですぐ前の気筒であるＮｏ．３気筒のガス濃度の立ち下がりが他のＮｏ．４気筒やＮｏ．２気筒より緩やかになり、Ｎｏ．４気筒にまで大きく干渉している。
【００３１】
ここで、上記第１点は、Ｎｏ．４気筒については排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長いことからＯ2センサ１６への排気の到達が遅れてしまうことによるためと推定される。上記第２点は、Ｎｏ．３気筒についての排気弁からＯ2センサ１６までの流路長さが、Ｎｏ．４気筒についての排気弁からＯ2センサ１６までの流路長さより短いため、Ｎｏ．４気筒の排気がＯ2センサ１６に到達するのが遅れる分をカバーするようにＮｏ．３気筒の排気がＯ2センサ１６に当たり続けるためであると推定される。
【００３２】
次に、下段は、上段の特性を得たエンジン回転速度Ｎｅと排気流量Ｑｅｘｈの状態からエンジン回転速度Ｎｅを高くするかまたは排気流量Ｑｅｘｈを小さくしたとき（高回転速度または低負荷）の特性である。下段になると、Ｎｏ．４気筒の排気がＯ2センサ１６に到達している期間がＴ１からＴ２へと短くなることがわかる。このことは、ＮＯ．４気筒について上段の場合より一段と排気当たりが悪くなることを意味する。
【００３３】
さらに述べると、低回転速度かつ高排気流量のとき図５上段の特性が得られたとして、この状態よりエンジン回転速度Ｎｅのみを高くしたとき図５下段の特性となったとする。また、図５上段の状態で図３に示す実線の波形が得られたとする。このとき図３に示す実際のサンプリング値Ａに対して１．０を超える値の補正ゲインＧ１を与えたとき、Ａ×Ｇ１＝Ｂとなったとすれば、図５下段の状態になると（排気当たりが一段と悪くなると）、図３に示すＡの位置がさらに上側に移動して例えばＡ’となったものと推定される。従って、このときの補正ゲインとしてはＧ１よりも大きな値の補正ゲインであるＧ２を与えることでＡ’×Ｇ２＝Ｂとすることができる。従って、図６上段のように、横軸に回転速度Ｎｅを、縦軸に補正ゲインを採り、上記のＧ１、Ｇ２を書き込み、これら２点を結べば、排気流量が一定の場合の補正ゲインの特性が得られる。
【００３４】
同様にして、低回転速度かつ高排気流量のとき図５上段の特性が得られたとして、この状態より排気流量Ｑｅｘｈのみを小さくしたとき図５下段の特性となったとする。また、図５上段の状態で図３に示す実線の波形が得られたとする。このとき図３に示す実際のサンプリング値Ａに対して１．０を超える値の補正ゲインＧ３を与えたとき、Ａ×Ｇ３＝Ｂとなったとすれば、図５下段の状態になると（排気当たりが一段と悪くなると）、図３に示すＡの位置がさらに上側に移動して例えばＡ”となったものと推定される。従って、このときの補正ゲインとしてはＧ３よりも大きな値の補正ゲインであるＧ４を与えることでＡ”×Ｇ４＝Ｂとすることができる。従って、図６下段のように、横軸に排気流量Ｑｅｘｈを、縦軸に補正ゲインを採り、上記のＧ３、Ｇ４を書き込み、これら２点を結べば、回転速度が一定の場合の補正ゲインの特性が得られる。
【００３５】
ここで、排気流量（≒空気流量）はエンジンの負荷と回転速度により定まるので、エンジンの負荷と回転速度をパラメータとして補正ゲインの特性を定めることができる。すなわち、補正ゲインの特性としては、図７に示したように、エンジンの負荷が同じであれば回転速度が大きいほど大きく設定し、また回転速度が同じであればエンジンの負荷が小さいほど大きく設定すればよい。
【００３６】
次に、エンジンコントローラ１１で実行されるこれらの制御（Ｏ2センサ出力のサンプリング、サンプリング値に基づく空燃比フィードバック制御）の内容を、以下のフローチャートにしたがって説明する。
【００３７】
図８は各気筒の排気行程にあわせたＯ2センサ出力をサンプリングすると共に、そのサンプリング値に基づいてＯ2センサ平滑化電圧ＭＶＯ２を演算するためのもので、クランク角の１°毎に実行する。図８のフローチャートは請求項１に記載の発明でいう「センサ出力サンプリング手段」を実現するものある。
【００３８】
ただし、図８は上記のケース１（Ｎｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁４に通常より流量の少ないものが用いられている場合）について適用することができる。同じ直列４気筒エンジンでも、排気当たりの悪い気筒と排気当たりの良い気筒が異なれば、図８をそのまま使うことはできず、その場合、予めわかっている排気当たりの悪い気筒と排気当たりの良い気筒から同様の考えをもって適宜変更すればよい。
【００３９】
ステップ１ではＰＯＳセンサ１２、ＰＨＡＳＥセンサ１３により検出される現在のクランク角を読み込む。
【００４０】
ここで、クランク角（１°単位）は次のようにして得ている。すなわち、ＰＨＡＳＥセンサ１３は、排気側のカムスプロケットに１８０°毎に設けた凸部数（Ｎｏ．１気筒について１個、Ｎｏ．２気筒について２個、Ｎｏ．３気筒について３個、Ｎｏ．４気筒について４個）に応じたパルス信号（ＰＨＡＳＥ信号）を発生する。ＰＯＳセンサ１２は、クランクシャフトに取り付けられたシグナルプレートの歯に応じて１０°毎のパルス（ＰＯＳ信号）を発生する（シグナルプレートには一部に歯抜けがある）。これら２つのＰＨＡＳＥ信号、ＰＯＳ信号より各気筒の基準位置（ＢＴＤＣ５０°）を算出している。そして、ＰＯＳ信号の１０°間および歯抜け間は時間計測を行って１°単位のクランク角を得ている。
【００４１】
このようにして各気筒の基準位置と１°単位のクランク角とから現在のクランク角を知ることができる。ここでは、現在のクランク角は、後述するＮｏ．１気筒の基準位置でゼロにリセットされ、クランク角の１°毎に１ずつ増加する値である。
【００４２】
ステップ２、３、４、５はＮｏ．１、Ｎｏ．３、Ｎｏ．４、Ｎｏ．２の各気筒の排気がＯ2センサ１６に到達するタイミング（サンプリングタイミング）であるかどうかをみる部分である。これについては図９により説明する。同図に示したように、例えばＮｏ．１気筒の基準位置がＮｏ．１気筒の圧縮上死点前５０°であるとすると、このＮｏ．１気筒の基準位置よりＮｏ．１気筒の排気がＯ2センサ１６に到達するのに要するクランク角区間は予めわかっている。従って、Ｎｏ．１気筒の排気がＯ2センサ１６に到達するのに要するクランク角区間［°］を「Ｏ２ＲＥＦ」とすれば、現在のクランク角がＯ２ＲＥＦ（＝θ１）と一致したとき、Ｎｏ．１気筒の排気がＯ2センサ１６に到達したタイミングであると判定することができる。
【００４３】
４気筒エンジンでは気筒間で排気がＯ2センサ１６に到達するタイミングがクランク角で１８０°ずつずれているので、現在のクランク角がＯ２ＲＥＦ＋１８０°（＝θ３）と一致したときＮｏ．３気筒の排気がＯ2センサ１６に到達したタイミングであると、現在のクランク角がＯ２ＲＥＦ＋３６０°（＝θ４）と一致したときＮｏ．４気筒の排気がＯ2センサ１６に到達したタイミングであると、現在のクランク角がＯ２ＲＥＦ＋５４０°（＝θ２）と一致したときＮｏ．２気筒の排気がＯ2センサ１６に到達したタイミングであるとそれぞれ判定することができる。
【００４４】
なお、サンプリングタイミングは、各気筒のＯ2センサ出力が安定する真中を狙う。
【００４５】
これらの判定結果より、Ｎｏ．１、Ｎｏ．３、Ｎｏ．２の各気筒の排気がＯ2センサ１６に到達したタイミングであるときの操作は従来と同様である。すなわち、Ｎｏ．１気筒の排気のＯ2センサ到達タイミングであるときにはステップ２よりステップ６に進みそのときのＯ2センサ出力をメモリＶＯ２１に入れることによりサンプリングし、ステップ７でこのサンプリング値ＶＯ２１をそのままＯ2センサ出力ＶＯ２とし、Ｎｏ．３気筒の排気のＯ2センサ到達タイミングであるときにはステップ３よりステップ８に進みそのときのＯ2センサ出力をメモリＶＯ２３に入れることによりサンプリングし、ステップ９でこのサンプリング値ＶＯ２３をそのままＯ2センサ出力ＶＯ２とし、Ｎｏ．２気筒の排気のＯ2センサ到達タイミングであるときにはステップ５よりステップ１０に進みそのときのＯ2センサ出力をメモリＶＯ２２に入れることによりサンプリングし、ステップ１１でこのサンプリング値ＶＯ２２をそのままＯ2センサ出力ＶＯ２とする。
【００４６】
一方、Ｎｏ．４気筒の排気のＯ2センサ到達タイミングであるときにはステップ４よりステップ１２に進みそのときのＯ2センサ出力をメモリＶＯ２４’に入れることによりサンプリングする。
【００４７】
これを図３の場合で見ると、連続的に変化するＯ2センサ出力より、Ｓ１、Ｓ２、Ｓ３、Ａ、Ｓ４、Ｓ５、Ｓ６がサンプリングされることになる。
【００４８】
Ｎｏ．４気筒の排気のセンサ到達タイミングであるときにはさらにステップ１３でエンジンの負荷と回転速度から定まる運転条件が、補正ゲインの計算領域にあるかどうかをみる。
【００４９】
ここで、補正ゲインの計算領域は図１０のようにほぼ低負荷の領域である。これは、前述のケース１の場合に排気当たりが悪くなるのは、回転速度が高い領域や排気流量が小さい領域（低負荷域）であるので、これに対応して低負荷域を補正ゲインを計算する運転領域であるとし、それ以外の運転領域を補正ゲインを計算しない領域として区別したものである。
【００５０】
補正ゲインの計算領域でないときにはステップ１４に進み、従来と同様にサンプリング値ＶＯ２４’をそのままＯ2センサ出力ＶＯ２とする。
【００５１】
これに対して補正ゲインの計算領域であるときにはステップ１５に進み、従来と相違して補正サンプリング値ＶＯ２４を計算する。この補正サンプリング値ＶＯ２４の計算は図１１のフローにより説明する。
【００５２】
図１１（図８のステップ１５のサブルーチン）において、ステップ２１ではエンジンの負荷と回転速度Ｎｅを読み込み、これらからステップ２２において上記の図７を内容とするマップを検索することにより１．０を超える値である補正ゲインＧを演算する。
【００５３】
ステップ２３ではＮｏ．４気筒のサンプリング値ＶＯ２４’と点火順序で一つ前の気筒であるＮｏ．３気筒のサンプリング値ＶＯ２３との偏差ΔＶを、
ΔＶ＝ＶＯ２３−ＶＯ２４’…（１）
の式により計算し、この偏差ΔＶ、補正ゲインＧ及びＮｏ．３気筒のサンプリング値ＶＯ２３とを用いて、
ＶＯ２４＝ＶＯ２３−ΔＶ×Ｇ…（２）、
の式によりＮｏ．４気筒の補正サンプリング値ＶＯ２４を計算する。
【００５４】
これを図３と対応づけると、ＶＯ２３がＳ３、ＶＯ２４’がＡであるから（１）式の偏差ΔＶはＳ３−Ａであり、これにゲインＧを掛けた値はＳ３−Ｂを求めていることになる。従って、（２）式は
0004103412.tif 000002
となってＢが残ることになり、Ｎｏ．４気筒についても本来あるべきセンサ出力（一点鎖線）のサンプリング値が得られることになる。
【００５５】
ここで、ステップ２３は請求項１に記載の発明でいう「偏差算出手段」、ステップ２４は、「サンプリング値補正手段」を実現するものある。
【００５６】
図３はＮｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁４に通常より流量の少ないものが用いられている場合（ケース１）のものであったが、Ｎｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、かつＮｏ．４気筒の燃料噴射弁に通常より流量の多いものが用いられている場合（ケース２）が考えられる。ケース２では、図１２に示したように、Ｎｏ．４気筒についてのＯ2センサ出力だけが他の３つの気筒についてのＯ2センサ出力よりリッチ側になる。詳細にはＮｏ．４気筒についても排気弁からＯ2センサ１６までの流路長さが他の３つの気筒と同等であるとき、Ｎｏ．４気筒では通常より流量の多い燃料噴射弁が用いられているのであるから、Ｎｏ．４気筒についてのＯ2センサ出力は、一点鎖線で示したようにその流量の多い分に対応してリッチ側の値を示すはずであるが、Ｎｏ．４気筒についてだけ排気弁からＯ2センサ１６までの流路長さが他の３つの気筒より長く、そのために排気当たりが悪いとその影響を受けて、Ｎｏ．４気筒についてのＯ2センサ出力が、一点鎖線より実線へとリーン側にずれ、本来のあるべき一点鎖線から外れて（なまされて）しまうのである。
【００５７】
この場合には、本来あるべきＮｏ．４気筒のＯ2センサ出力は図１２において一点鎖線のようでなければならないため、図１２において実線に示すＯ2センサ出力からサンプリングした値にそのまま基づいて加重平均値を求め、この加重平均値に基づいて全気筒平均の排気空燃比がウインドウに収まるように空燃比のフィードバック制御を行ったのでは、リーン側への空燃比の補正が足りず、この補正の不足で全気筒平均の排気空燃比をウインドウに収めることができない事態が生じ得る。
【００５８】
そこで、Ｎｏ．４気筒のＯ2センサ出力の実際のサンプリング値が図１２で仮にＣであったとき、本来のあるべき値であるＤへと戻すには、実際のサンプリング値Ｃに１．０を超える値である補正ゲインを掛けることにより増幅してＤとすることである。
【００５９】
図１２に示したこのようなケース２に対しても図８、図１１のフローチャートはそのまま適用可能である。図１２に示したケース２では、ＶＯ２３がＳ３、ＶＯ２４’がＣであるから上記（１）式の偏差ΔＶはＳ３−Ｃ（値としては負）であり、これにゲインＧを掛けた値はＳ３−Ｄを求めていることになる。従って、上記（２）式は
0004103412.tif 000003
となってＤが残ることになり、本来あるべきＯ2センサ出力（一点鎖線）のサンプリング値が得られることになる。
【００６０】
図１１に戻り、ステップ２５〜２８は補正サンプリング値ＶＯ２４に対してリミッタ処理を行う部分である。すなわち、ステップ２５では補正サンプリング値ＶＯ２４と下限値ＶＯ２ｍｉｎを比較し、ＶＯ２４が下限値ＶＯ２ｍｉｎ未満のときにはステップ２６に進んでＶＯ２４を下限値ＶＯ２ｍｉｎに制限する（ガードする）。ステップ２７ではＶＯ２４と上限値ＶＯ２ｍａｘを比較し、ＶＯ２４が上限値ＶＯ２ｍａｘを超えているときにはステップ２８に進んでＶＯ２４を上限値ＶＯ２ｍａｘに制限する。
【００６１】
これは、Ｏ2センサ１６にノイズ等が乗りそのノイズ等の影響により空燃比のフィードバック制御が過補正となることがあるので、これを回避するためのものである。
【００６２】
これについて説明すると、図１３はＮｏ．４気筒のＯ2センサ出力のサンプリングタイミングでたまたまノイズが乗ったときの波形を図１２に対応して拡大して示したものである。このときにはＣ’がサンプリングされるため、上記（２）式により補正を行った後のＶＯ２４はＤ’となり、ノイズ分はもともとＣとＣ’の差でしかなかったものが、補正ゲインＧにより、ＣとＣ’の差よりも大きなＤとＤ’の差へと増幅される。すなわち、ノイズがなければＤでよいものが、ノイズ分をも補正したＤ’へと増幅されてしまうため、Ｄ’を補正サンプリング値ＶＯ２４として加重平均値を計算し、これに基づいて空燃比フィードバック補正係数αを演算すれば全気筒平均の排気空燃比を過度にリーン側に補正してしまうのである。
【００６３】
これに対して、補正サンプリング値ＶＯ２４を図１１のステップ２５〜２８でリミッタ（ＶＯ２ｍｉｎ、ＶＯ２ｍａｘ）に制限することで、Ｏ2センサ出力に乗るノイズ等の影響を小さくすることが可能となる。
【００６４】
このようにして、図１１により補正サンプリング値ＶＯ２４の計算を終了したら図８に戻り、ステップ１６で補正サンプリング値ＶＯ２４をＯ2センサ出力ＶＯ２とする。
【００６５】
最後にステップ１７ではこのようにして得たＯ2センサ出力ＶＯ２（ステップ７、９、１６、１４、１１参照）を用いて、
ＭＶＯ２＝ＭＶＯ２（old）×（１−ａ）＋ＶＯ２×ａ  …（３）
ただし、Ａ：平滑化定数（ａ＜１）
ＭＶＯ２（old）：ＭＶＯ２の前回値
の式によりＯ2センサ平滑化電圧（＝加重平均値）ＭＶＯ２を計算する。ただし、初回電源投入時はＶＯ２をそのままＭＶＯ２に入れる。
【００６６】
図１４はＯ2センサ平滑化電圧ＭＶＯ２に基づいて全気筒平均の排気空燃比がウインドウに収まるように各気筒に共通の空燃比フィードバック補正係数αを演算するためのもので、各気筒の基準位置の信号に同期して実行する。基準位置信号に同期させるのは、燃料噴射が基準位置信号同期であり、系の乱れも基準位置信号同期であるため、これに合わせたものである。ここで、図１４のフローチャートと、後述する（６）式を演算する部分と、燃料噴射弁４と、これを駆動する部分とで、請求項１に記載の発明でいう「空燃比フィードバック制御手段」が実現される。
【００６７】
ステップ３１では、Ｏ2センサ出力に基づく空燃比フィードバック制御条件が成立しているかどうかをみる。たとえば、次の条件、
（ア）水温センサ１５により検出される冷却水温Ｔｗが空燃比フィードバック制御の開始水温を超えていること、
（イ）目標当量比Ｔｆｂｙａ（後述する）＝１であること、
（ウ）フラグＦＬＧＣＬ＝１であること（つまりＯ2センサ１６出力が所定回数（たとえば１回）反転していること）、
を一つずつチェックし、いずれかでも満たさないときは空燃比フィードバック制御条件の非成立時と判断してステップ３２に進み、αに１．０を入れて（αをクランプ）、図１４のフローを終了する。
【００６８】
ここで、上記の（ウ）はＯ2センサ１６が活性化したどうかをみる部分で、詳細には始動後にＯ2センサ出力が所定値ＶＣＬＳＲ以上になったとき（あるいは所定値ＶＣＬＳＬ以下となったとき）、図示しないルーチンにおいてＦＬＧＣＬ＝１となる。ＦＬＧＣＬ＝１となるタイミングがＯ2センサ１６が活性化したタイミングである。
【００６９】
上記の（ア）〜（ウ）のすべてを満足するときは空燃比フィードバック制御条件の成立時と判断してステップ３３に進む。
【００７０】
ステップ３３ではＯ2センサ平滑化電圧ＭＶＯ２を読み込み、ステップ３４においてこのＭＶＯ２とスライスレベル（たとえば５００ｍＶ付近）ＳＬＦを比較する。
【００７１】
ＭＶＯ２＞ＳＬＦであればＯ2センサ出力がリッチ側にあると判断し、ステップ３５でフラグＦ１＝１とし、ＭＶＯ２≦ＳＬＦであるときはＯ2センサ出力がリーン側にあると判断し、ステップ３６においてフラグＦ１＝０とする。これによってＦ１＝０はＯ2センサ出力がリーン側にあることを、Ｆ１＝１はリッチ側にあることを表す。
【００７２】
なお、フラグＦ１は、すぐ後に出てくるフラグＦ０とともに電源投入時のイニシャライズでゼロに初期設定し、またすぐ後に述べるメモリα（old）前述のメモリＭＶＯ２（old）も電源投入時のイニシャライズでゼロに初期設定するものである。
【００７３】
ステップ３７ではフラグＦ０の値を読み込む。このフラグＦ０は前回に空燃比がリッチあるいはリーンのいずれの側にあったかを示すフラグであり、Ｆ０＝０は前回リーン側にあったことを、Ｆ０＝１は前回リッチ側にあったことを表す。
【００７４】
ステップ３８では２つのフラグＦ０、Ｆ１を比較し、両者の値が等しくないときは、ＭＶＯ２（Ｏ2センサ出力）のリッチからリーンへの反転時あるいはその反対にリーンからリッチへの反転時であると判断し、ステップ３９に進んでフラグＦ１の値をみる。Ｆ１＝０（リッチからリーンへの反転時）であればステップ４０で
α＝α（old）＋ＰＬ…（４）
ただし、α（old）：αの前回値、
の式により、またＦ１＝１（リーンからリッチへの反転時）であるときはステップ４１において
α＝α（old）−ＰＲ…（５）
ただし、α（old）：αの前回値、
の式によりαをそれぞれ更新する。
【００７５】
一方、ステップ３８で２つのフラグＦ０、Ｆ１の値が等しいときは、反転時でないと判断し、Ｓ４２に進んでフラグＦ１の値をみる。Ｆ１＝０（前回、今回ともリーン）であれば、ステップ４３でα（old）に積分分ＩＬを加算することによって、またＦ１＝１（前回、今回ともリッチ）であるときはステップ４４でα（old）より積分分ＩＲを減算することによってそれぞれαを更新する。
【００７６】
ステップ４５では次回制御のためフラグＦ１の値をフラグＦ０に移して図１４のフローを終了する。
【００７７】
このようにして演算される空燃比フィードバック補正係数αを用い、図示しないルーチンにより、各気筒の燃料噴射弁４に与える燃料噴射パルス幅Ｔｉを、
Ｔｉ＝（Ｔｐ＋Ｋａｔｈｏｓ）×Ｔｆｂｙａ×（α＋αｍ−１）×２
＋Ｔｓ                                    …（６）
ただし、Ｔｐ：基本噴射パルス幅、
Ｋａｔｈｏｓ：過渡補正量、
Ｔｆｂｙａ：目標当量比、
αｍ：空燃比学習値、
Ｔｓ：無効パルス幅、
の式で計算する。この計算したＴｉの値は、これも図示しないが噴射タイミングで出力レジスタに転送し、エンジン２回転毎に１回、Ｔｉに応じた燃料量を各気筒毎に噴射する。
【００７８】
ここで、（６）式のＴｐはエンジン回転速度と吸入空気流量から計算される値で、このＴｐによりほぼ理論空燃比の混合気が得られる。Ｔｆｂｙａは水温増量補正係数Ｋｔｗや始動後増量補正係数Ｋａｓなどの和であり、冷間始動直後より空燃比フィードバック制御が開始されるまでのあいだでＴｆｂｙａが１．０より大きい値になって燃料増量が行われ、理論空燃比よりもリッチ側の空燃比で運転される。空燃比フィードバック制御条件の成立時にはＴｆｂｙａ＝１．０となる。
【００７９】
ここで、本実施形態（請求項１に記載の発明）の作用、効果を図４を参照しながら説明する。
【００８０】
排気当たりの悪い気筒であるＮｏ．４気筒のＯ2センサ出力のサンプリング時には、そのサンプリング後に、排気当たりの良い気筒（多くは点火順序で排気当たりの良い気筒より一つ前の気筒）であるＮｏ．３気筒のＯ2センサ出力のサンプリング値ＶＯ２３とＮｏ．４気筒のＯ2センサ出力のサンプリング値ＶＯ２４’との偏差ΔＶが計算され、この偏差ΔＶに対し補正ゲインＧをかけた値と、Ｎｏ．３気筒のＯ2センサ出力のサンプリング値ＶＯ２３とからＮｏ．４気筒の補正サンプリング値ＶＯ２４が計算され、これがＮｏ．４気筒のＯ2センサ出力のサンプリング値とされると、Ｎｏ．４気筒について本来あるべきＯ2センサ出力のサンプリング値が得られる。すなわち、排気当たりが悪いゆえ、Ｎｏ．３気筒の排気の影響を受けてなまされてしまったＮｏ．４気筒のＯ2センサ出力のサンプリング値の補正が可能となる。
【００８１】
このため、Ｏ2センサ平均化電圧ＭＶＯ２の波形は、図４上段に示したように従来装置によれば破線であったものが実線へと変化する。すなわち、実線の特性によれば、破線の場合よりリーンからリッチに反転するときの応答時間が遅くなり、かつリッチからリーンに反転するときの応答時間が早くなる。図４下段のように空燃比フィードバック補正係数αは従来装置によれば破線であったものがこれに応じて実線へと変化する。この結果、αの平均値が従来装置の場合（破線参照）大きくなる側に補正され（実線参照）、その補正分だけ全気筒平均の排気空燃比がリッチ側へと動く。
【００８２】
このように、本実施形態では、特開平１１−２８７１４５号公報に記載の技術のように気筒別の空燃比フィードバック制御時に排気当たりの悪い気筒について排気当たりの良い気筒よりも比例分を小さくするのではなく、新たに導入した補正ゲインＧにより排気当たりの悪い気筒のＯ2センサ出力のサンプリング値を補正し、排気当たりの悪い気筒について本来あるべきＯ2センサ出力のサンプリング値を得、これを含めて計算した加重平均値に基づいて空燃比フィードバック制御を行うことで、排気当たりの悪い気筒があっても、全気筒平均の排気空燃比をウインドウへと収束させることが可能となる。
【００８３】
また、Ｎｏ．４気筒では、エンジン回転速度が高くなるほどＮｏ．４気筒からの排気がＯ2センサ１６に到達している期間が短くなる。このことは排気当たりが一段と悪くなることを意味するのであるが、本実施形態（請求項１に記載の発明）によれば、補正ゲインＧを、エンジンの回転速度が高いほどＮｏ．４気筒のサンプリング値が増幅される側に設定しているので、エンジン回転速度が変化しても補正ゲインＧを過不足なく与えることができる。
【００８４】
また、エンジンの負荷が小さくなるほど排気の流速が小さくなるので、Ｎｏ．４気筒からの排気がＯ2センサ１６に到達している期間が短くなり、このことは空燃比センサへの排気当たりが一段と悪くなることを意味するのであるが、本実施形態（請求項２に記載の発明）によれば、補正ゲインＧを、吸入空気量（≒排気量）が小さいほどＮｏ．４気筒のサンプリング値が増幅される側に設定しているので、吸入空気量が変化しても補正ゲインＧを過不足なく与えることができる。
【００８５】
また、排気当たりの悪さがＯ2センサ出力に影響しない運転領域もあり、こうした運転領域では、補正を行うことによるエラーの発生をも考慮するとむしろ補正しないほうが良い場合もある。本実施形態（請求項５に記載の発明）では、偏差ΔＶに基づいてＮｏ．４気筒のサンプリング値を補正することを禁止する運転領域を、ゲインを計算しない領域として設けているので、当該ゲインを計算しない領域で、補正を行うことによるエラーの発生を確実に防止できる。
【００８６】
図１５は第２実施形態のフローチャートで、第１実施形態の図１１と置き換わるものである。図１１と同一部分には同一のステップ番号を付けている。
【００８７】
第２実施形態は、特にＮｏ．３気筒のＯ2センサ出力に乗るノイズ等の影響により空燃比フィードバック制御が過補正となる場合があるので、これを回避するためのものである。
【００８８】
例えば、第１実施形態の（２）式においてＮｏ．３気筒のサンプリング値ＶＯ２３にノイズが乗っていれば、その分だけＮｏ．４気筒の補正サンプリング値ＶＯ２４がリッチ側に傾いて全気筒平均の排気空燃比を実際よりリーン側にしてしまうことになる。
【００８９】
そこで第２実施形態では、排気当たりの悪い気筒であるＮｏ．４気筒を除いた、排気当たりの良い気筒のすべてのサンプリング値の平均値ＡＶＥＶＯ２を求め、この平均値を、偏差ΔＶの計算に用いることで、Ｎｏ．３気筒のＯ2センサ出力に乗るノイズ等の影響を小さく抑えることができる。
【００９０】
第１実施形態と異なる部分を主に説明すると、ステップ５１で、排気当たりの悪い気筒であるＮｏ．４気筒を除いた、排気当たりの良い気筒すべて（Ｎｏ．２、Ｎｏ．１、Ｎｏ．３の気筒）のＯ2センサ出力のサンプリング値ＶＯ２２、ＶＯ２１、ＶＯ２３を単純平均し、ステップ５１においてその平均値ＡＶＥＶＯ２とＮｏ．４気筒のＯ2センサ出力のサンプリング値ＶＯ２４’との偏差ΔＶを、
ΔＶ＝ＡＶＥＶＯ２−ＶＯ２４’…（７）
の式により計算し、ステップ５３でこの偏差ΔＶ、補正ゲインＧ及び上記の平均値ＡＶＥＶＯ２とを用いて、
ＶＯ２４＝ＡＶＥＶＯ２−ΔＶ×Ｇ…（８）、
の式によりＮｏ．４気筒の補正サンプリング値ＶＯ２４を計算する。
【００９１】
このように、第２実施形態においては、排気当たりの悪いＮｏ．４気筒を除く残りの気筒の全てのサンプリング値の平均値を、偏差ΔＶを演算するときの排気当たりの良い気筒のサンプリング値とするので、点火順序でＮｏ．４気筒より一つ前の気筒であるＮｏ．３気筒のサンプリング値ＶＯ２３にノイズが乗っていても、このノイズの乗ったＮｏ．３気筒のサンプリング値ＶＯ２３より平均値ＡＶＥＶＯ２のほうが小さな値となり、ノイズ分をうち消す方向に働く。この結果、第１実施形態と同様の作用効果が得られることに加えて、Ｎｏ．３気筒のＯ2センサ出力に乗るノイズ等の影響を小さくすることが可能となる。
【００９２】
実施形態では、直列４気筒エンジンのうち１つの気筒だけ排気当たりが悪く、残り３つの気筒は排気当たりが良い場合（具体的には上記のケース１、ケース２）で説明したが、これはこの場合が最も確率的に大きいからであり、これに限らず次のケースにも適用がある。なお、Ｖ型エンジンでは基本的に片バンク毎に考えればよい。
【００９３】
ケース３：直列４気筒において２つの気筒について排気当たりが悪く、残り２つの気筒            は排気当たりが良い場合、
ケース４：片バンクが３つの気筒である場合に１つの気筒について排気当たりが悪く、            残り２つの気筒は排気当たりが良い場合、
ケース５：片バンクが４つの気筒である場合に２つの気筒について排気当たりが悪く、            残り２つの気筒は排気当たりが良い場合、
【００９４】
実施形態では、全気筒に対してＯ2センサ（空燃比センサ）が一つの場合で説明したが、最近では、全気筒に対して複数の空燃比センサを備えるものが出現している。例えば直列多気筒エンジンからの排気を半分気筒ずつ集合させ、その各集合部にそれぞれ空燃比センサを備えるものがある。こうしたものにも本発明は適用がある。
【００９５】
実施形態では排気当たりの悪い気筒を中心に考えたが、実は排気当たりの良い気筒を中心に考えることもできる。例えば、直列４気筒エンジンのうち１つの気筒だけ排気当たりが良く、残り３つの気筒は排気当たりが悪い場合で考えると、排気当たりが良い気筒のサンプリング値に対しては、１．０より小さな補正ゲインを導入してやればよい。
【００９６】
実施形態では、前提としての空燃比フィードバック制御が、全気筒平均の排気空燃比をウインドウに収めようとするものであったが、これに限らず、気筒毎にサンプリングしたＯ2センサ出力に基づいて気筒別に排気空燃比をウインドウに収めようとするものを前提とする場合にも適用がある。
【００９７】
実施形態では、偏差ΔＶに基づいてＮｏ．４気筒のサンプリング値を補正する運転領域が低負荷の運転領域である場合で説明したが、低回転速度かつ低負荷の運転領域としてもよい。
【図面の簡単な説明】
【図１】第１実施形態の制御システム図。
【図２】排気マニフォルドのレイアウトと燃料噴射弁の取付位置を示す図。
【図３】気筒毎のＯ2センサ出力の波形図。
【図４】Ｏ2センサ平滑化電圧と空燃比フィードバック補正係数の波形図。
【図５】回転速度と排気流量の影響を示すガス濃度特性図。
【図６】補正ゲインの特性図。
【図７】補正ゲインの特性図。
【図８】Ｏ2センサ出力のサンプリングを説明するためのフローチャート。
【図９】サンプリングタイミングを説明するための特性図。
【図１０】補正ゲインの計算を行う領域と行わない領域とを示す領域図。
【図１１】補正サンプリング値の計算を説明するためのフローチャート。
【図１２】気筒毎のＯ2センサ出力の波形図。
【図１３】Ｏ2センサ出力の一部拡大波形図。
【図１４】空燃比フィードバック補正係数の演算を説明するためのフローチャート。
【図１５】第２実施形態の補正サンプリング値の計算を説明するためのフローチャート。
【符号の説明】
４  燃料噴射弁
６  排気通路
７  三元触媒
１１  エンジンコントローラ
１２  ＰＯＳセンサ
１３  ＰＨＡＳＥセンサ
１４  エアフローメータ
１６  Ｏ2センサ（空燃比センサ）
【図１】
0004103412.tif 000004
【図２】
0004103412.tif 000005
【図３】
0004103412.tif 000006
【図４】
0004103412.tif 000007
【図５】
0004103412.tif 000008
【図６】
0004103412.tif 000009
【図７】
0004103412.tif 000010
【図８】
0004103412.tif 000011
【図９】
0004103412.tif 000012
【図１０】
0004103412.tif 000013
【図１１】
0004103412.tif 000014
【図１２】
0004103412.tif 000015
【図１３】
0004103412.tif 000016
【図１４】
0004103412.tif 000017
【図１５】
0004103412.tif 000018