(57)【要約】【課題】  空燃比フィードバック補正値のガード値への「張り付き判定」における判定精度を高くすることができる内燃機関の空燃比制御装置を提供すること。【解決手段】  この装置では、触媒上下流にそれぞれ配設された空燃比センサの各出力値に基づいてフィードバック補正値が求められ、この値を所定範囲内にガード処理した値DFiを用いて空燃比フィードバック制御が行われる。ガード処理されたフィードバック補正値DFiをローパスフィルタ処理して得られる値DFilowが所定期間に亘ってガード値に維持された場合に「DFi張り付き」と判定され、空燃比フィードバック制御が中止される。このように、ローパスフィルタ処理により変動が抑制された値DFilowを用いて「張り付き判定」が行われるため、空燃比制御系の異常等に起因して「DFi張り付き」と判定されるべき場合において「DFi張り付き」と判定され得ない事態の発生を抑制できる。【選択図】図５
2007291984.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設されて同排気通路内のガスの空燃比に応じた値を出力する空燃比センサと、
指令燃料噴射量の燃料の噴射指示に応じて燃料を噴射する燃料噴射手段と、
を備えた内燃機関に適用される内燃機関の空燃比制御装置であって、
前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、
前記空燃比センサの出力値に基づいて前記基本燃料噴射量を補正するためのフィードバック補正値を取得するフィードバック補正値取得手段と、
前記フィードバック補正値が予め設定されたガード値を超えた場合に同フィードバック補正値を同ガード値に制限するガード処理を行うガード処理実行手段と、
前記基本燃料噴射量を前記ガード処理されたフィードバック補正値に基づいて補正することで前記指令燃料噴射量を算出する指令燃料噴射量算出手段と、
前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比を前記目標空燃比に一致するようにフィードバック制御する空燃比制御手段と、
前記フィードバック補正値にローパスフィルタ処理を施した値である張り付き判定用フィードバック補正値を取得する張り付き判定用フィードバック補正値取得手段と、
前記張り付き判定用フィードバック補正値が所定期間に亘って前記ガード値以上に維持された場合に前記フィードバック補正値が前記ガード値に張り付いたと判定する張り付き判定手段と、
を備えた内燃機関の空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置において、
前記フィードバック補正値取得手段による前記フィードバック補正値の取得に使用される前記空燃比センサとして、前記内燃機関の前記排気通路に配設された触媒よりも上流に配設された上流側空燃比センサが含まれている内燃機関の空燃比制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の空燃比制御装置において、
前記張り付き判定用フィードバック補正値取得手段は、
前記内燃機関の運転状態に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項４】
請求項３に記載の内燃機関の空燃比制御装置において、
前記張り付き判定用フィードバック補正値取得手段は、
吸気行程において前記内燃機関の燃焼室に吸入された空気の量、及び前記内燃機関の運転速度に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項５】
請求項１又は請求項２に記載の内燃機関の空燃比制御装置において、
前記フィードバック補正値取得手段は、
前記フィードバック補正値を取得するために使用されるフィードバックゲインを前記内燃機関の運転状態に応じて変更するように構成されていて、
前記張り付き判定用フィードバック補正値取得手段は、
前記フィードバックゲインに応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項６】
請求項１又は請求項２に記載の内燃機関の空燃比制御装置において、
前記張り付き判定用フィードバック補正値取得手段は、
前記空燃比センサの劣化状態を取得するセンサ劣化状態取得手段を備え、
前記取得された空燃比センサの劣化状態に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項７】
請求項１又は請求項２に記載の内燃機関の空燃比制御装置において、
前記張り付き判定用フィードバック補正値取得手段は、
前記空燃比センサの活性状態を表す値を取得するセンサ活性状態指標値取得手段を備え、
前記取得された空燃比センサの活性状態を表す値に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項８】
請求項１に記載の内燃機関の空燃比制御装置において、
前記フィードバック補正値取得手段による前記フィードバック補正値の取得に使用される前記空燃比センサとして、前記内燃機関の前記排気通路に配設された触媒よりも下流に配設された下流側空燃比センサが含まれていて、
前記張り付き判定用フィードバック補正値取得手段は、
前記触媒の活性状態を表す値を取得する触媒活性状態指標値取得手段を備え、
前記取得された触媒の活性状態を表す値に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項９】
請求項１に記載の内燃機関の空燃比制御装置において、
前記フィードバック補正値取得手段による前記フィードバック補正値の取得に使用される前記空燃比センサとして、前記内燃機関の前記排気通路に配設された触媒よりも下流に配設された下流側空燃比センサが含まれていて、
前記張り付き判定用フィードバック補正値取得手段は、
前記触媒の劣化状態を取得する触媒劣化状態取得手段を備え、
前記取得された触媒の劣化状態に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１０】
請求項１に記載の内燃機関の空燃比制御装置において、
前記内燃機関は、複数の気筒を備えているとともに、前記内燃機関の運転状態に応じて前記複数の気筒のうちの一部を前記内燃機関の動力の発生に寄与しない休止気筒とする一部気筒休止機構を備えていて、
前記張り付き判定用フィードバック補正値取得手段は、
前記休止気筒の数に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１１】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも上流の前記排気通路に配設されて同排気通路内のガスの空燃比に応じた値を出力する上流側空燃比センサと、
指令燃料噴射量の燃料の噴射指示に応じて燃料を噴射する燃料噴射手段と、
を備えた内燃機関に適用される内燃機関の空燃比制御装置であって、
前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、
前記上流側空燃比センサの出力値に基づく値であってハイパスフィルタ処理された値に基づいて前記基本燃料噴射量を補正するためのフィードバック補正値を取得するフィードバック補正値取得手段と、
前記指令燃料噴射量が前記基本燃料噴射量と等しい場合において前記燃料噴射手段が実際に噴射する燃料の量が前記内燃機関に供給される混合気の空燃比を前記目標空燃比とするために必要な量となるように前記基本燃料噴射量を補正するための値、であってローパスフィルタ処理された値、である基本燃料噴射量補正値を、前記上流側空燃比センサの出力値と、前記目標空燃比と、前記指令燃料噴射量と、前記基本燃料噴射量とに基づいて取得する基本燃料噴射量補正値取得手段と、
前記基本燃料噴射量補正値が予め設定されたガード値を超えた場合に同基本燃料噴射量補正値を同ガード値に制限するガード処理を行うガード処理実行手段と、
前記基本燃料噴射量を、前記ガード処理された基本燃料噴射量補正値と、前記フィードバック補正値と、に基づいて補正することで前記指令燃料噴射量を算出する指令燃料噴射量算出手段と、
前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比を前記目標空燃比に一致するようにフィードバック制御する空燃比制御手段と、
前記ガード処理された基本燃料噴射量補正値が所定期間に亘って前記ガード値に維持された場合に前記基本燃料噴射量補正値が前記ガード値に張り付いたと判定する張り付き判定手段と、
を備えた内燃機関の空燃比制御装置。
【請求項１２】
請求項１１に記載の内燃機関の空燃比制御装置において、
前記基本燃料噴射量補正値取得手段は、
前記内燃機関の運転状態に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１３】
請求項１２に記載の内燃機関の空燃比制御装置において、
前記基本燃料噴射量補正値取得手段は、
吸気行程において前記内燃機関の燃焼室に吸入された空気の量、及び前記内燃機関の運転速度に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１４】
請求項１１に記載の内燃機関の空燃比制御装置において、
前記基本燃料噴射量補正値取得手段は、
前記上流側空燃比センサの劣化状態を取得するセンサ劣化状態取得手段を備え、
前記取得された上流側空燃比センサの劣化状態に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１５】
請求項１１に記載の内燃機関の空燃比制御装置において、
前記基本燃料噴射量補正値取得手段は、
前記上流側空燃比センサの活性状態を表す値を取得するセンサ活性状態指標値取得手段を備え、
前記取得された上流側空燃比センサの活性状態を表す値に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１６】
請求項１１に記載の内燃機関の空燃比制御装置において、
前記内燃機関は、複数の気筒を備えているとともに、前記内燃機関の運転状態に応じて前記複数の気筒のうちの一部を前記内燃機関の動力の発生に寄与しない休止気筒とする一部気筒休止機構を備えていて、
前記基本燃料噴射量補正値取得手段は、
前記休止気筒の数に応じて前記ローパスフィルタ処理におけるカットオフ周波数を変更するように構成された内燃機関の空燃比制御装置。
【請求項１７】
内燃機関の排気通路に配設されて同排気通路内のガスの空燃比に応じた値を出力する空燃比センサと、
指令燃料噴射量の燃料の噴射指示に応じて燃料を噴射する燃料噴射手段と、
を備えた内燃機関に適用される内燃機関の空燃比制御装置であって、
前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、
前記空燃比センサの出力値に基づいて前記基本燃料噴射量を補正するためのフィードバック補正値を取得するフィードバック補正値取得手段と、
前記フィードバック補正値が予め設定されたガード値を超えた場合に同フィードバック補正値を同ガード値に制限するガード処理を行うガード処理実行手段と、
前記基本燃料噴射量を前記ガード処理されたフィードバック補正値に基づいて補正することで前記指令燃料噴射量を算出する指令燃料噴射量算出手段と、
前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比を前記目標空燃比に一致するようにフィードバック制御する空燃比制御手段と、
前記指令燃料噴射量の算出に使用される前記フィードバック補正値と等しい値に決定される張り付き判定用フィードバック補正値であって、前記張り付き判定用フィードバック補正値が所定の程度まで前記ガード値に近づいた場合、前記フィードバック補正値に代えて、前記フィードバック補正値の取得に使用されるフィードバックゲインよりも小さいフィードバックゲインを使用して前記フィードバック補正値を取得した場合に前記フィードバック補正値として得られる値に決定される張り付き判定用フィードバック補正値、を取得する張り付き判定用フィードバック補正値取得手段と、
前記張り付き判定用フィードバック補正値が所定期間に亘って前記ガード値以上に維持された場合に前記フィードバック補正値が前記ガード値に張り付いたと判定する張り付き判定手段と、
を備えた内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に配設された空燃比センサを備えた内燃機関に適用され、空燃比センサの出力値に基づいて内燃機関に供給される混合気の空燃比（以下、「空燃比」と称呼する。）をフィードバック制御する内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
従来より、この種の空燃比制御装置として、例えば特許文献１に開示されたものが知られている。この内燃機関（以下、単に「機関」と称呼することもある。）の空燃比制御装置では、排気通路に配設された触媒の上下流に上流側空燃比センサ及び下流側空燃比センサがそれぞれ配設されていて、以下のように空燃比制御が実行される。
【０００３】
機関の運転状態（エアフローメータの出力値、運転速度等）に基づいて目標空燃比を得るための燃料の量（基本燃料噴射量）がテーブル検索により決定される。下流側空燃比センサの出力値とこの出力値の目標値との偏差を比例・積分・微分処理（ＰＩＤ処理）して下流側フィードバック補正値が算出される。この下流側フィードバック補正値で上流側空燃比センサの出力値を補正した値に基づいて制御用空燃比が算出される。この制御用空燃比と目標空燃比との偏差（に相当する偏差）を比例・積分処理（ＰＩ処理）して上流側フィードバック補正値が算出される。基本燃料噴射量に上流側フィードバック補正値を加えることで指令燃料噴射量が算出される。そして、指令燃料噴射量の燃料の噴射指示がインジェクタに対して行われることで、空燃比が目標空燃比と一致するようにフィードバック制御されるようになっている。
【０００４】
一般に、上記テーブル検索で決定される基本燃料噴射量と目標空燃比を得るために必要な真の燃料量との差（テーブルの誤差）、基本燃料噴射量を取得するために使用されるエアフローメータにより計測される吸入空気流量と実際の空気流量との差（エアフローメータのばらつき）、インジェクタに噴射指示される指令燃料噴射量と実際に噴射された燃料の量との差（インジェクタのばらつき）等（以下、これらを「基本燃料噴射量の誤差」と総称する。）が不可避的に発生する。
【０００５】
上記上流側・下流側フィードバック補正値（以下、単に「フィードバック補正値」とも称呼する。）には、積分項（Ｉ項）の値、即ち、上記偏差を逐次積算して更新されていく偏差積分値にフィードバックゲインを乗じた値が含まれている。これにより、上記「基本燃料噴射量の誤差」が発生していても、上述したフィードバック制御の実行により、「基本燃料噴射量の誤差」が偏差積分値（従って、積分項の値）により補償され得、この結果、空燃比を目標空燃比に一致・収束させることができる。
【０００６】
上述したフィードバック制御実行中において空燃比制御系に異常が発生した場合（例えば、エアフローメータ、インジェクタ、空燃比センサ等に異常が発生した場合）、上記偏差が大きい値に維持され続ける。この結果、上記偏差積分値（従って、積分項の値）が次第に増大していくことでフィードバック補正値が次第に増大し得る。フィードバック補正値が過度に大きくなると、指令燃料噴射量に対応する空燃比が可燃領域から逸脱する等の問題が生じ得る。
【０００７】
以上より、フィードバック補正値（或いは、偏差積分値）に対してガード値を設定し、フィードバック補正値（或いは、偏差積分値）がガード値を超えた場合に同フィードバック補正値（或いは、偏差積分値）を同ガード値に制限するガード処理を行うことが好ましい。
【０００８】
例えば、特許文献２では、下流側フィードバック補正値にガード処理が行われている例が示されている。また、特許文献３では、上流側フィードバック補正値に含まれる積分項の偏差積分値にガード処理が行われている例が示されている。
【０００９】
ところで、上述のように、フィードバック補正値（或いは、偏差積分値）にガード処理が行われる場合において、上述した空燃比制御系の異常が継続すると、フィードバック補正値（或いは、偏差積分値）がガード値に維持される（張り付く）ことになる。換言すれば、フィードバック補正値（或いは、偏差積分値）が所定時間に亘ってガード値に維持されている場合、「空燃比制御系に異常が発生した」と判定することができる。この場合、例えば、上記フィードバック制御を中止する等の処置を行うことができる。以下、フィードバック補正値（或いは、偏差積分値）が所定時間に亘ってガード値に維持されることを「張り付き」と称呼し、「張り付き」が発生しているか否かの判定を「張り付き判定」と称呼する。
【００１０】
ところが、空燃比センサの出力値は、機関稼動中において種々の要因により変動する。従って、空燃比センサの出力値に基づいて算出されるフィードバック補正値（或いは、偏差積分値）も変動する。この結果、上述した「張り付き判定」において「張り付き」と判定されるべき場合であっても、フィードバック補正値（或いは、偏差積分値）の変動幅が大きいと、フィードバック補正値（或いは、偏差積分値）が一時的にガード値から離れることで「張り付き」と判定され得ない事態が発生し得る。換言すれば、「張り付き判定」における判定精度が低いという問題があった。
【特許文献１】特開２００４−１８３５８５号公報
【特許文献２】特開２００５−３６７４２号公報
【特許文献３】特開２００４−６０６１３号公報
【発明の開示】
【００１１】
従って、本発明の目的は、張り付き判定における判定精度を高くすることができる内燃機関の空燃比制御装置を提供することにある。
【００１２】
本発明に係る第１の空燃比制御装置は、空燃比センサ（上流側空燃比センサ、及び／又は下流側空燃比センサ）と、燃料噴射手段（インジェクタ）とを備えた内燃機関に適用される。
【００１３】
上記第１の空燃比制御装置では、基本燃料噴射量取得手段により、内燃機関の運転状態に基づいて上記基本燃料噴射量が取得される。
【００１４】
フィードバック補正値取得手段により、前記空燃比センサの出力値に基づいて前記基本燃料噴射量を補正するためのフィードバック補正値が取得される。ここにおいて、前記フィードバック補正値は、例えば、前記空燃比センサの出力値に基づく値と前記目標空燃比に相当する値との偏差に相当する値を逐次積算して更新されていく偏差積分値そのものであってもよいし、前記「偏差に相当する値」をＰＩＤ処理等して得られる値であってもよい。前記「空燃比センサの出力値に基づく値」は、例えば、上流側空燃比センサの出力値そのもの、下流側空燃比センサの出力値そのもの、上流側空燃比センサの出力値を下流側空燃比センサの出力値に基づいて補正した値等である。また、前記「偏差に相当する値」は、例えば、空燃比センサの出力値と目標空燃比相当出力値との偏差、空燃比センサによる検出空燃比と目標空燃比との偏差等である。
【００１５】
ガード処理実行手段により、前記フィードバック補正値が予め設定されたガード値を超えた場合に同フィードバック補正値を同ガード値に制限するガード処理が行われる。
【００１６】
指令燃料噴射量算出手段により、前記基本燃料噴射量を前記ガード処理されたフィードバック補正値に基づいて補正することで指令燃料噴射量が算出される。そして、空燃比制御手段により、前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで空燃比が前記目標空燃比に一致するようにフィードバック制御される。
【００１７】
上記第１の空燃比制御装置の特徴は、張り付き判定用フィードバック補正値取得手段と、張り付き判定手段とを備えたことにある。
【００１８】
張り付き判定用フィードバック補正値取得手段は、前記フィードバック補正値にローパスフィルタ処理を施して張り付き判定用フィードバック補正値を取得する。これにより、張り付き判定用フィードバック補正値の変動が抑制されて、張り付き判定用フィードバック補正値の変動幅がフィードバック補正値の変動幅よりも小さくなる。
【００１９】
なお、張り付き判定用フィードバック補正値は、ガード処理されたフィードバック補正値にローパスフィルタ処理を施した値であってもよいし、ガード処理される前のフィードバック補正値そのものにローパスフィルタ処理を施した値であってもよい。張り付き判定用フィードバック補正値がガード処理される前のフィードバック補正値そのものにローパスフィルタ処理を施した値である場合、張り付き判定用フィードバック補正値に上記ガード処理と同じガード処理を行ってもよいし、行わなくてもよい。
【００２０】
張り付き判定手段は、前記張り付き判定用フィードバック補正値が所定期間に亘って前記ガード値以上に維持された場合に前記フィードバック補正値が前記ガード値に張り付いたと判定する。これにより、上述のように変動が抑制された張り付き判定用フィードバック補正値を用いて「張り付き判定」が行われる。
【００２１】
従って、「張り付き判定」において「張り付き」と判定されるべき場合、張り付き判定用フィードバック補正値がガード値に達した後同ガード値以上に維持され易くなり、この結果、「張り付き」と判定され易くなる。換言すれば、「張り付き判定」における判定精度を高くすることができる。
【００２２】
加えて、この張り付き判定用フィードバック補正値は基本燃料噴射量の補正（即ち、指令燃料噴射量の算出）には使用されない。即ち、上述したように、基本燃料噴射量の補正には上記ガード処理されたフィードバック補正値そのもの（即ち、ローパスフィルタ処理されていない値）が使用される。従って、空燃比フィードバック制御そのものにローパスフィルタ処理による悪影響が及ぼされることはない。
【００２３】
ところで、フィードバック補正値に施されるローパスフィルタ処理におけるカットオフ周波数（以下、単に「カットオフ周波数」とも称呼する。）が小さいほど（即ち、ローパスフィルタ処理における時定数が大きいほど）、張り付き判定用フィードバック補正値の応答遅れの程度が大きくなる。この結果、上述した「空燃比制御系の異常」が発生した後、フィードバック補正値がガード値に達するまでの時間が長くなる。このことは、「空燃比制御系の異常」が発生した後において「張り付き」と判定される時期が遅れることを意味する。従って、「張り付き」と判定される時期の遅れを抑制する観点からは、カットオフ周波数は大きい方が好ましい。
【００２４】
一方、空燃比センサの出力値の変動（従って、フィードバック補正値の変動）における周波数分布のうちの主たる部分は、或る周波数帯域（以下、「変動周波数レンジ」と称呼する。）内に集中する傾向がある。従って、張り付き判定用フィードバック補正値の変動を確実に抑制する観点からは、カットオフ周波数を「変動周波数レンジ」の下限値以下とすることが好ましい。
【００２５】
以上、上述した２つの観点を鑑みれば、カットオフ周波数は、「変動周波数レンジ」の下限値近傍に設定されることが最適であると考えられる。ここで、「変動周波数レンジ」は、以下に述べるように、機関の運転状態に応じて移動する。従って、カットオフ周波数は、機関の運転状態に応じて変更されることが好適である。
【００２６】
具体的には、例えば、筒内吸入空気量（吸気行程において燃焼室に吸入された空気の量）、及び機関の運転速度に応じてカットオフ周波数が変更されることが好ましい。空燃比センサ（特に、上流側空燃比センサ）の出力値の変動周波数は、機関の運転速度が大きくなるほど、或いは機関の負荷（即ち、筒内吸入空気量）が大きくなるほど、大きくなる傾向がある。換言すれば、「変動周波数レンジ」は、機関の運転速度が大きくなるほど、或いは筒内吸入空気量が大きくなるほど、より高周波数側に移動する。
【００２７】
従って、機関の運転速度が大きくなるほど、或いは筒内吸入空気量が大きくなるほど、カットオフ周波数をより大きい値に設定することが好ましい。上記構成は、係る知見に基づくものである。
【００２８】
また、フィードバック補正値を取得するために使用されるフィードバックゲインが機関の運転状態に応じて変更されるように構成されている場合、そのフィードバックゲインに応じてカットオフ周波数が変更されることが好ましい。
【００２９】
フィードバックゲインが大きいほど、フィードバック補正値の変動幅が大きくなる。一方、カットオフ周波数が小さいほど（即ち、時定数が大きいほど）、張り付き判定用フィードバック補正値の変動を抑制する程度を大きくすることができる。以上より、張り付き判定用フィードバック補正値の変動を確実に抑制するためには、フィードバックゲインが大きいほど、カットオフ周波数をより小さい値に設定することが好ましい。上記構成は、係る知見に基づくものである。
【００３０】
また、空燃比センサの劣化状態が取得される場合、取得された空燃比センサの劣化状態に応じてカットオフ周波数が変更されることが好ましい。空燃比センサの出力値の変動周波数は、その空燃比センサの劣化の程度が大きくなるほど小さくなる傾向がある。換言すれば、「変動周波数レンジ」は、空燃比センサの劣化の程度が大きくなるほど、より低周波数側に移動する。従って、空燃比センサの劣化の程度が大きくなるほど、カットオフ周波数をより小さい値に設定することが好ましい。上記構成は、係る知見に基づくものである。
【００３１】
また、空燃比センサの活性状態を表す値が取得される場合、取得された空燃比センサの活性状態を表す値に応じてカットオフ周波数が変更されることが好ましい。空燃比センサの出力値の変動周波数は、その空燃比センサの活性状態が完全活性状態に近づくにつれて大きくなる傾向がある。換言すれば、「変動周波数レンジ」は、空燃比センサの活性状態が完全活性状態に近づくにつれてより高周波数側に移動する。従って、空燃比センサの活性状態が完全活性状態に近づくにつれて、カットオフ周波数をより大きい値に設定することが好ましい。上記構成は、係る知見に基づくものである。ここにおいて、「空燃比センサの活性状態を表す値」としては、例えば、機関の冷却水の温度、空燃比センサそのものの温度、始動後における筒内吸入空気量の積算値、始動後における述べ燃料噴射回数等が挙げられる。
【００３２】
また、前記フィードバック補正値の取得に使用される空燃比センサとして下流側空燃比センサが含まれている場合であって触媒の活性状態を表す値が取得される場合、取得された触媒の活性状態を表す値に応じてカットオフ周波数が変更されることが好ましい。下流側空燃比センサの出力値の変動周波数は、その下流側空燃比センサの上流に配設された触媒の活性状態が完全活性状態に近づくにつれて小さくなる傾向がある。換言すれば、「変動周波数レンジ」は、触媒の活性状態が完全活性状態に近づくにつれてより低周波数側に移動する。従って、触媒の活性状態が完全活性状態に近づくにつれて、カットオフ周波数をより小さい値に設定することが好ましい。上記構成は、係る知見に基づくものである。ここにおいて、「触媒の活性状態を表す値」としては、例えば、機関の冷却水の温度、触媒そのものの温度、始動後における筒内吸入空気量の積算値、始動後における述べ燃料噴射回数等が挙げられる。
【００３３】
また、前記フィードバック補正値の取得に使用される空燃比センサとして下流側空燃比センサが含まれている場合であって触媒の劣化状態が取得される場合、取得された触媒の劣化状態に応じてカットオフ周波数が変更されることが好ましい。下流側空燃比センサの出力値の変動周波数は、その下流側空燃比センサの上流に配設された触媒の劣化の程度が大きくなるほど大きくなる傾向がある。換言すれば、「変動周波数レンジ」は、触媒の劣化の程度が大きくなるほど、より高周波数側に移動する。従って、触媒の劣化の程度が大きくなるほど、カットオフ周波数をより大きい値に設定することが好ましい。上記構成は、係る知見に基づくものである。
【００３４】
また、機関が、運転状態に応じて複数の気筒のうちの一部を動力の発生に寄与しない「休止気筒」とする一部気筒休止機構を備えている場合、「休止気筒」の数に応じてカットオフ周波数が変更されることが好ましい。空燃比センサ（特に、全ての気筒からの排ガスが集合する箇所よりも下流の上流側空燃比センサ）の出力値の変動周波数は、「休止気筒」の数が大きくなるほど小さくなる傾向がある。換言すれば、「変動周波数レンジ」は、「休止気筒」の数が大きくなるほど、より低周波数側に移動する。従って、「休止気筒」の数が大きくなるほど、カットオフ周波数をより小さい値に設定することが好ましい。上記構成は、係る知見に基づくものである。
【００３５】
次に、本発明に係る第２の空燃比制御装置について説明する。近年、本発明者により、上流側空燃比センサの出力値に基づいて得られる、基本燃料噴射量を補正するための値（即ち、指令燃料噴射量の算出に使用される値）として、上記「基本燃料噴射量の誤差」を補償するための値（以下、「基本燃料噴射量補正値」と称呼する。）と、過渡の外乱に対する補正を行うためのフィードバック補正値とを使用する技術が提案されてきている（例えば、特開２００５−２７３５２４を参照）。
【００３６】
ここにおいて、上記フィードバック補正値は、上流側空燃比センサの出力値に基づく値であってハイパスフィルタ処理された値に基づいて取得される。一方、上記基本燃料噴射量補正値は、指令燃料噴射量が基本燃料噴射量と等しい場合において実際に噴射される燃料の量が空燃比を目標空燃比とするために必要な量となるように基本燃料噴射量を補正するための値、であってローパスフィルタ処理された値であり、上流側空燃比センサの出力値と、目標空燃比と、（過去の）指令燃料噴射量と、基本燃料噴射量とに基づいて取得される。
【００３７】
このように、上記基本燃料噴射量補正値は、既にローパスフィルタ処理された後の値である。加えて、上記「空燃比制御系の異常」が発生・継続した場合、基本燃料噴射量補正値は大きい値（基本燃料噴射量を補正する程度が大きい値）に維持され得る。以上のことから、基本燃料噴射量補正値そのものにガード処理を施すとともに、ガード処理された基本燃料噴射量補正値を用いて上記「張り付き判定」を行っても、上記第１の空燃比制御装置と同様、「張り付き判定」における判定精度を高くすることができる。
【００３８】
上記第２の空燃比制御装置は係る知見に基づくものである。即ち、上記第２の空燃比制御装置は、少なくとも上流側空燃比センサを備えた機関に適用され、第１の空燃比制御装置のものと同じ基本燃料噴射量取得手段と、上記過渡の外乱に対する補正を行うための「フィードバック補正値」を取得するフィードバック補正値取得手段と、上記「基本燃料噴射量の誤差」を補償するための「基本燃料噴射量補正値」を取得する基本燃料噴射量補正値取得手段と、前記基本燃料噴射量補正値が予め設定されたガード値を超えた場合に同基本燃料噴射量補正値を同ガード値に制限するガード処理を行うガード処理実行手段と、前記基本燃料噴射量を、前記ガード処理された基本燃料噴射量補正値と、前記フィードバック補正値と、に基づいて補正することで前記指令燃料噴射量を算出する指令燃料噴射量算出手段と、上記第１の空燃比装置のものと同じ空燃比制御手段と、前記ガード処理された基本燃料噴射量補正値が所定期間に亘って前記ガード値に維持された場合に前記基本燃料噴射量補正値が前記ガード値に張り付いたと判定する張り付き判定手段とを備えている。
【００３９】
この第２の空燃比装置においても、上記第１の空燃比装置と同じ理由により、基本燃料噴射量補正値に施されているローパスフィルタ処理のカットオフ周波数を、機関の運転状態に応じて変更することが好適である。
【００４０】
具体的には、上記カットオフ周波数は、筒内吸入空気量、及び機関の運転速度に応じて、例えば、機関の運転速度が大きくなるほど、或いは筒内吸入空気量が大きくなるほど、より大きい値に設定されることが好ましい。
【００４１】
また、上記カットオフ周波数は、上流側空燃比センサの劣化状態に応じて、例えば、上流側空燃比センサの劣化の程度が大きくなるほど、より小さい値に設定されることが好ましい。
【００４２】
また、上記カットオフ周波数は、上流側空燃比センサの活性状態を表す値に応じて、例えば、上流側空燃比センサの活性状態が完全活性状態に近づくにつれて、より大きい値に設定されることが好ましい。
【００４３】
また、上記カットオフ周波数は、「休止気筒」の数に応じて、例えば、「休止気筒」の数が大きくなるほど、より小さい値に設定されることが好ましい。
【００４４】
次に、本発明に係る第３の空燃比制御装置について説明する。この第３の空燃比制御装置は、張り付き判定用フィードバック補正値の取得方法においてのみ、上記第１の空燃比制御装置と異なる。
【００４５】
即ち、上記第３の空燃比制御装置では、張り付き判定用フィードバック補正値は、指令燃料噴射量の算出に使用される（従って、基本燃料噴射量の補正に使用される）前記フィードバック補正値と等しい値に原則的に決定される。一方、張り付き判定用フィードバック補正値（＝前記フィードバック補正値）が所定の程度まで前記ガード値に近づいた場合、張り付き判定用フィードバック補正値は、前記フィードバック補正値に代えて、前記フィードバック補正値の取得に使用されるフィードバックゲインよりも小さいフィードバックゲインを使用して前記フィードバック補正値を取得した場合に前記フィードバック補正値として得られる値に決定される。
【００４６】
一般に、フィードバック補正値の算出に使用されるフィードバックゲインが小さいほど、フィードバック補正値の変動幅が小さくなる。従って、上記構成によれば、張り付き判定用フィードバック補正値がガード値に近づくと、張り付き判定用フィードバック補正値の変動幅が前記フィードバック補正値そのものの変動幅よりも小さくなる。即ち、このように変動が抑制された張り付き判定用フィードバック補正値を用いて「張り付き判定」を行っても、上記第１の空燃比制御装置と同様、「張り付き判定」における判定精度を高くすることができる。
【００４７】
なお、この場合も、上記第１の空燃比制御装置と同様、張り付き判定用フィードバック補正値に上記ガード処理と同じガード処理を行ってもよいし、行わなくてもよい。
【発明を実施するための最良の形態】
【００４８】
以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。
【００４９】
（第１実施形態）
図１は、第１実施形態による空燃比制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排気ガスを外部に放出するための排気系統５０とを含んでいる。
【００５０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００５１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともにインテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００５２】
吸気系統４０は、吸気ポート３１に連通し吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、及びスロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。
【００５３】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１（実際には、各排気ポート３４に連通した各々のエキゾーストマニホールド５１が集合した集合部）に接続されたエキゾーストパイプ（排気管）５２、エキゾーストパイプ５２に配設（介装）された上流側の三元触媒５３（上流側触媒コンバータ、又はスタート・キャタリティック・コンバータとも云うが、以下「第１触媒５３」と称呼する。）、及びこの第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）された下流側の三元触媒５４（車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第２触媒５４」と称呼する。）を備えている。排気ポート３４、エキゾーストマニホールド５１、及びエキゾーストパイプ５２は、排気通路を構成している。
【００５４】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路（本例では、上記各々のエキゾーストマニホールド５１が集合した集合部）に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６７（以下、「下流側空燃比センサ６７」と称呼する。）、及びアクセル開度センサ６８を備えている。
【００５５】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Gaを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともにクランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、運転速度NEを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００５６】
上流側空燃比センサ６６は、限界電流式の酸素濃度センサであり、図２に示したように、空燃比Ａ／Ｆに応じた電流を出力し、この電流に応じた電圧である出力値Vabyfsを出力するようになっていて、特に、空燃比が理論空燃比であるときには出力値Vabyfsは上流側目標値Vstoichになる。図２から明らかなように、上流側空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。
【００５７】
下流側空燃比センサ６７は、起電力式（濃淡電池式）の酸素濃度センサであり、図３に示したように、理論空燃比近傍において急変する電圧である出力値Voxsを出力するようになっている。より具体的に述べると、下流側空燃比センサ６７は、空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、及び空燃比が理論空燃比のときは０．５（Ｖ）の電圧を出力するようになっている。アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、アクセルペダル８１の操作量Accpを表す信号を出力するようになっている。
【００５８】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）、及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、及びスロットル弁アクチュエータ４３ａに駆動信号を送出するようになっている。
【００５９】
（空燃比フィードバック制御の概要）
次に、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要について説明する。
【００６０】
この空燃比制御装置は、下流側空燃比センサ６７の出力値が理論空燃比に対応する下流側目標値Voxsref（＝０．５（Ｖ））となるように、上流側空燃比センサ６６の出力値Vabyfs（即ち、第１触媒５３上流の空燃比）、及び下流側空燃比センサ６７の出力値Voxs（即ち、第１触媒５３下流の空燃比）に応じて空燃比を制御する。
【００６１】
より具体的に述べると、この空燃比制御装置（以下、「本装置」と云うこともある。）は、機能ブロック図である図４に示したように、Ａ１〜Ａ１７の各機能ブロックを含んで構成されている。以下、図４を参照しながら各機能ブロックについて説明していく。
【００６２】
<基本燃料噴射量の算出>
先ず、筒内吸入空気量算出手段Ａ１は、エアフローメータ６１が計測している吸入空気流量Gaと、クランクポジションセンサ６４の出力に基づいて得られる運転速度NEと、ＲＯＭ７２が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の（k）は、今回の吸気行程に対する値であることを示している（以下、他の物理量についても同様。）。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００６３】
上流側目標空燃比設定手段Ａ２は、内燃機関１０の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて上流側目標空燃比abyfr(k)を決定する。この上流側目標空燃比abyfr(k)は、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比abyfrは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００６４】
基本燃料噴射量算出手段Ａ３は、上記筒内吸入空気量Mc(k)を上記上流側目標空燃比abyfr(k)で除することにより、空燃比を上流側目標空燃比abyfr(k)とするための今回の吸気行程に対する目標筒内燃料供給量Fcr(k)（即ち、基本燃料噴射量Fbase）を求める。目標筒内燃料供給量Fcrは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。この基本燃料噴射量算出手段Ａ３は、「基本燃料噴射量取得手段」に相当する。
【００６５】
<指令燃料噴射量の算出>
指令燃料噴射量算出手段Ａ４は、上記基本燃料噴射量Fbaseに、後述する（ガード処理された）上流側フィードバック補正値DFiを加えることで、下記(1)式に基づいて指令燃料噴射量Fiを求める。この指令燃料噴射量算出手段Ａ４は、「指令燃料噴射量算出手段」に相当する。
Fi＝Fbase＋DFi  ・・・(1)
【００６６】
このようにして、本装置は、基本燃料噴射量Fbaseを（ガード処理された）上流側フィードバック補正値DFiに基づいて補正することにより得られる指令燃料噴射量Fiの燃料の噴射指示を今回の吸気行程を迎える気筒についてのインジェクタ３９に対して行う。このように燃料の噴射指示を行う手段が「空燃比制御手段」に相当する。
【００６７】
<下流側フィードバック補正値の取得>
先ず、下流側目標値設定手段Ａ５は、上述した上流側目標空燃比設定手段Ａ２と同様、内燃機関１０の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて下流側目標値Voxsrefを決定する。この下流側目標値Voxsrefは、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である０．５（Ｖ）に設定されている（図３を参照。）。また、本例では、下流側目標値Voxsrefは、下流側目標値Voxsrefに対応する空燃比が上述した上流側目標空燃比abyfr(k)と常時一致するように設定される。
【００６８】
出力偏差量算出手段Ａ６は、下記(2)式に基づいて、現時点（具体的には、今回のFiの噴射指示開始時点）での下流側目標値Voxsrefから現時点での下流側空燃比センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs＝Voxsref−Voxs  ・・・(2)
【００６９】
ＰＩＤコントローラＡ７は、出力偏差量DVoxsを比例・積分・微分処理（ＰＩＤ処理）することで、下記(3)式に基づいて下流側フィードバック補正値Vafsfbを求める。下記(3)式において、Kpは予め設定された比例ゲイン（一定値）、Kiは予め設定された積分ゲイン（一定値）、Kdは予め設定された微分ゲイン（一定値）である。
Vafsfb＝Kp・DVoxs＋Ki・SDVoxs＋Kd・DDVoxs  ・・・(3)
【００７０】
また、SDVoxsは出力偏差量DVoxsの時間積分値であり、DDVoxsは出力偏差量DVoxsの時間微分値である。ここで、ＰＩＤコントローラＡ７は積分項Ki・SDVoxsを含んでいるので、定常状態では出力偏差量DVoxsがゼロになることが保証される。換言すれば、下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの定常偏差がゼロになる。
【００７１】
このようにして、本装置は、下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの定常偏差がゼロになるように出力値Voxsに基づいて、下流側フィードバック補正値Vafsfbを求める。この下流側フィードバック補正値Vafsfbは、後述するように制御用空燃比abyfsの取得に用いられる。ここで、下流側目標値設定手段Ａ５、出力偏差量算出手段Ａ６、及びＰＩＤコントローラＡ７は、下流側フィードバック補正値取得手段に相当する。
【００７２】
<制御用空燃比の取得>
制御用空燃比相当出力値算出手段Ａ８は、現時点での上流側空燃比センサ６６の出力値Vabyfsに、下流側フィードバック補正値Vafsfbを加えることで、制御用空燃比相当出力値(Vabyfs+Vafsfb)を求める。
【００７３】
テーブル変換手段Ａ９は、上記制御用空燃比相当出力値(Vabyfs+Vafsfb)と、先に説明した図２にグラフにより示した上流側空燃比センサの出力値Vabyfsと空燃比Ａ／Ｆとの関係を規定したテーブルMapabyfsとに基づいて、現時点における制御用空燃比abyfsを求める。これにより、制御用空燃比abyfsは、上流側空燃比センサ６６の出力値Vabyfsから得られる空燃比に対して下流側フィードバック補正値Vafsfbに相当する分だけ異なる空燃比となる。ここで、制御用空燃比相当出力値算出手段Ａ８、及びテーブル変換手段Ａ９は、制御用空燃比取得手段に相当する。
【００７４】
<上流側フィードバック補正値の取得>
筒内吸入空気量遅延手段Ａ１０は、筒内吸入空気量算出手段Ａ１により吸気行程毎に求められＲＡＭ７３に記憶されている筒内吸入空気量Mcのうち、現時点からＮストローク前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k-N)をＲＡＭ７３から読み出す。ここで、ストローク数Ｎは、「行程遅れに係る時間」と「輸送遅れに係る時間」と「応答遅れに係る時間」の和（以下、「無駄時間Ｌ」と称呼する。）に相当するストローク数である。
【００７５】
「行程遅れに係る時間」は、燃料の噴射指示から、この噴射指示により噴射された燃料の燃焼に基づく排ガスが排気弁３５を介して燃焼室２５から排気通路へ排出されるまでの時間である。「輸送遅れに係る時間」は、排ガスが排気弁３５を介して排気通路へ排出されてから上流側空燃比センサ６６（の検出部）に到達するまでの時間である。「応答遅れに係る時間」は、上流側空燃比センサ６６（の検出部）に到達した排ガスの空燃比の変化が上流側空燃比センサ６６の出力値Vabyfsの変化として現れるまでの時間である。
【００７６】
筒内燃料供給量算出手段Ａ１１は、上記現時点からＮストローク前の筒内吸入空気量Mc(k-N)を今回の制御用空燃比abyfsで除することで、現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を求める。
【００７７】
このように、現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を求めるために、現時点からＮストローク前の筒内吸入吸気量Mc(k-N)を今回の制御用空燃比abyfsで除するのは、燃料の噴射指示から、その噴射指示に対応する燃料の燃焼に基づく排ガスの空燃比の変化が上流側空燃比センサ６６の出力値Vabyfsの変化として現れるまでには、Ｎストロークに相当する無駄時間Ｌを要しているからである。
【００７８】
目標筒内燃料供給量遅延手段Ａ１２は、基本燃料噴射量算出手段Ａ３により吸気行程毎に求められＲＡＭ７３に記憶されている目標筒内燃料供給量Fcrのうち、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)をＲＡＭ７３から読み出す。
【００７９】
筒内燃料供給量偏差算出手段Ａ１３は、下記(4)式に基づいて、上記現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)から上記現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc＝Fcr(k-N)-Fc(k-N)  ・・・(4)
【００８０】
ＰＩコントローラＡ１４は、上記筒内燃料供給量偏差DFcを比例・積分処理（ＰＩ処理）することで、下記(5)式に基づいてＮストローク前の燃料供給量の過不足を補償するための上流側フィードバック補正値DFi（ガード処理される前の値）を求める。
DFi＝(Gp・DFc+Gi・SDFc)・KFB  ・・・(5)
【００８１】
上記(5)式において、Gpは比例ゲイン、Giは積分ゲインである。SDFcは筒内燃料供給量偏差DFcの時間積分値（前記「偏差積分値」に対応する）である。後述するように、比例ゲインGp、積分ゲインGiは運転状態に応じて変更される。また、係数KFBは、運転速度NE、及び筒内吸入空気量Mc等により可変とすることが好適であるが、本例では「１」としている。
【００８２】
上記(5)式にて求められる上流側フィードバック補正値DFiが前記「偏差積分値に少なくとも基づく、基本燃料噴射量を補正するためのフィードバック補正値」に対応する。ここで、筒内吸入空気量遅延手段Ａ１０、筒内燃料供給量算出手段Ａ１１、目標筒内燃料供給量遅延手段Ａ１２、筒内燃料供給量偏差算出手段Ａ１３、及びＰＩコントローラＡ１４は上流側フィードバック補正値算出手段に相当する。加えて、上記下流側フィードバック補正値取得手段（Ａ５〜Ａ７）、上記制御用空燃比取得手段（Ａ８〜Ａ９）、及び上記上流側フィードバック補正値算出手段（Ａ１０〜Ａ１４）が前記「フィードバック補正値取得手段」に相当する。
【００８３】
<ガード処理>
ガード処理実行手段Ａ１５は、上記(5)式にて求められた上流側フィードバック補正値DFiが予め設定された下限ガード値を下回った場合に上流側フィードバック補正値DFiを下限ガード値に制限し、上記(5)式にて求められた上流側フィードバック補正値DFiが予め設定された上限ガード値を超えた場合に上流側フィードバック補正値DFiを上限ガード値に制限する処理（以下、「ガード処理」と称呼する。）を行う。ここにおいて、上限ガード値は、可燃領域に対応する空燃比範囲のリッチ側限界値に相当する値であり、下限ガード値は、可燃領域に対応する空燃比範囲のリーン側限界値に相当する値である。
【００８４】
このようにガード処理された上流側フィードバック補正値DFiが、先に述べたように指令燃料噴射量算出手段Ａ４により指令燃料噴射量Fiを求める際に使用される。これにより、上述した「空燃比制御系の異常」が発生した場合等において、指令燃料噴射量Fiに対応する空燃比が可燃領域から逸脱する事態の発生が回避され得る。このガード処理実行手段Ａ１５が前記「ガード処理実行手段」に相当する。
【００８５】
このように、本装置は、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)とが一致するように上流側空燃比センサ６６の出力値Vabyfsに基づいて空燃比をフィードバック制御する。換言すれば、上記現時点での制御用空燃比が（現時点からＮストローク前の）上流側目標空燃比abyfrと一致するように空燃比がフィードバック制御される。
【００８６】
加えて、制御用空燃比abyfsは、上述したように、上流側空燃比センサ６６の出力値Vabyfsから得られる空燃比を下流側フィードバック補正値Vafsfbに相当する分だけ補正した空燃比である。従って、制御用空燃比abyfsは出力偏差量DVoxsにも応じて変化する。この結果、下流側空燃比センサ６７の出力値Voxsが下流側目標値Voxsrefに一致するようにも空燃比がフィードバック制御される。
【００８７】
加えて、ＰＩコントローラＡ１４は積分項Gi・SDFcを含んでいるので、定常状態では筒内燃料供給量偏差DFcがゼロになることが保証される。換言すれば、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)と現時点からＮストローク前の制御用筒内燃料供給量Fc(k-N)との定常偏差がゼロになる（即ち、上流側目標空燃比abyfr(k-N)と制御用空燃比abyfsとの定常偏差がゼロになる）。このことは、定常状態において、制御用空燃比abyfsが上流側目標空燃比abyfrに一致すること、従って、第１触媒５３の上下流の空燃比が上流側目標空燃比abyfrに一致することが保証されることを意味する。
【００８８】
また、定常状態では、筒内燃料供給量偏差DFcがゼロになることで比例項Gp・DFcがゼロとなるから、上流側フィードバック補正値DFiは積分項Gi・SDFcの値と等しくなる。この積分項Gi・SDFcの値は、「基本燃料噴射量の誤差」に応じた値になる。これにより、「基本燃料噴射量の誤差」を補償することができる。
【００８９】
<張り付き判定>
ローパスフィルタＡ１６は、その特性をラプラス演算子sを用いて表した下記(6)式に示すように、一次のディジタルフィルタである。下記(6)式において、ωcutはカットオフ周波数である。ローパスフィルタＡ１６は、上記ガード処理された上流側フィードバック補正値DFiを入力するとともに、下記(6)式に従って張り付き判定用上流側フィードバック補正値DFilowを出力する。
１／（１＋(1/ωcut)・s）  ・・・(6)
【００９０】
カットオフ周波数ωcutは、上流側空燃比センサ６６の出力値Vabyfsの変動（従って、上流側フィードバック補正値DFiの変動）における周波数分布のうちの主たる部分が集中する周波数範囲（以下、「変動周波数レンジ」と称呼する。）の下限値近傍の値に設定される。これにより、張り付き判定用上流側フィードバック補正値DFilowでは、上記ガード処理された上流側フィードバック補正値DFiにおける主たる変動が確実に除去されている。
【００９１】
従って、張り付き判定用上流側フィードバック補正値DFilowの変動幅は、上記ガード処理された上流側フィードバック補正値DFiの変動幅よりも小さくなる。なお、上記「変動周波数レンジ」が機関の運転状態に応じて変化することに対応して、カットオフ周波数ωcutは、後述するように、機関の運転状態に応じて変更される。このローパスフィルタＡ１６が前記「張り付き判定用フィードバック補正値取得手段」に相当する。
【００９２】
張り付き判定手段Ａ１７は、上記張り付き判定用フィードバック補正値DFilowが所定期間に亘って上記上限ガード値、又は上記下限ガード値に維持された場合に「フィードバック補正値DFiがガード値に張り付いた」（即ち、上記「張り付き」が発生した）と判定する。本装置では、「張り付き」と判定された場合、空燃比フィードバック制御が中止される。
【００９３】
図５は、「上流側フィードバック補正値DFiが上限ガード値に張り付いた」と判定されるべき場合における、上記ガード処理された上流側フィードバック補正値DFi、及び張り付き判定用上流側フィードバック補正値DFilowの変化の一例を示したタイムチャートである。このような状況は、例えば、上述した「空燃比制御系の異常」の発生等により上記筒内燃料供給量偏差DFcが大きい値に維持され続け、この結果、上記時間積分値SDFc（従って、上流側フィードバック補正値DFi）（上記(5)式を参照）が次第に増大していく場合に発生する。
【００９４】
図５に示したように、張り付き判定用上流側フィードバック補正値DFilowは、上記ガード処理された上流側フィードバック補正値DFiに比して、ガード値に達した後において同ガード値に維持され易い。従って、この場合、上記ガード処理された上流側フィードバック補正値DFiよりも張り付き判定用上流側フィードバック補正値DFilowを用いて「張り付き判定」を行った方が「張り付き」と判定され易くなる。
【００９５】
即ち、張り付き判定手段Ａ１７によれば、張り付き判定用上流側フィードバック補正値DFilowを用いて「張り付き判定」が行われるから、「張り付き判定」における判定精度を高くすることができる。この張り付き判定手段Ａ１７が前記「張り付き判定手段」に相当する。以上が、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要である。
【００９６】
（実際の作動）
次に、前記空燃比制御装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、現在値が使用される。
【００９７】
<空燃比フィードバック制御>
ＣＰＵ７１は、図６にフローチャートにより示した燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が上記所定クランク角度になると、ＣＰＵ７１はステップ６００から処理を開始してステップ６０５に進み、テーブルMapMc(NE,Ga)に基づいて今回の吸気行程を迎える気筒（以下、「燃料噴射気筒」と云うこともある。）に吸入された今回の筒内吸入空気量Mc(k)を推定・決定する。
【００９８】
次に、ＣＰＵ７１はステップ６１０に進んで、上記筒内吸入空気量Mc(k)を今回の目標空燃比abyfr(k)で除することにより、基本燃料噴射量Fbaseを決定する。次いで、ＣＰＵ７１はステップ６１５に進み、今回の目標筒内燃料供給量Fcr(k)を上記基本燃料噴射量Fbaseと等しい値に決定する。
【００９９】
続いて、ＣＰＵ７１はステップ６２０に進み、上記(1)式に従って上記基本燃料噴射量Fbaseに後述するルーチンにて（前回の燃料噴射時点にて）求められている最新の（ガード処理された）上流側フィードバック補正値DFiを加えることにより指令燃料噴射量Fiを決定する。
【０１００】
そして、ＣＰＵ７１はステップ６２５に進んで、上記指令燃料噴射量Fiの燃料の噴射指示を行った後、ＣＰＵ７１はステップ６９５に進んで本ルーチンを一旦終了する。以上により、基本燃料噴射量Fbaseがフィードバック補正された後の指令燃料噴射量Fiの燃料の噴射指示が燃料噴射気筒に対してなされる。
【０１０１】
<上流側フィードバック補正値の計算>
次に、（ガード処理された）上流側フィードバック補正値DFiを算出する際の作動について説明すると、ＣＰＵ７１は図７にフローチャートにより示したルーチンを、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、ＣＰＵ７１はステップ７００から処理を開始し、ステップ７０５に進んで、後述するルーチンにより「DFi張り付き」と判定されているか否かを判定する。
【０１０２】
いま、「DFi張り付き」と判定されていないものとして説明を続けると、ＣＰＵ７１はステップ７０５にて「Ｎｏ」と判定してステップ７１０に進み、テーブルMapＮ(Mc(k),NE)に基づいて上記ストローク数Ｎを決定する。これは、ストローク数Ｎが、筒内吸入空気量Mc(k)が大きいほど、或いは運転速度NEが大きいほど小さくなることに基づく。
【０１０３】
次に、ＣＰＵ７１はステップ７１５に進んで、現時点の上流側空燃比センサ６６の出力値Vabyfsと後述するルーチンにて求められている下流側フィードバック補正値Vafsfbの最新値との和である合成空燃比相当出力値(Vabyfs+Vafsfb)をテーブルMapabyfs(Vabyfs+Vafsfb)に基づいて変換することにより、現時点における制御用空燃比abyfsを求める（図２を参照）。
【０１０４】
次いで、ＣＰＵ７１はステップ７２０に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k-N)を上記制御用空燃比abyfsで除することにより、現時点からＮストローク前の実際の筒内燃料供給量Fc(k-N)を求める。
【０１０５】
続いて、ＣＰＵ７１はステップ７２５に進んで、現時点からＮストローク前の筒内吸入空気量Mc(k-N)を現時点からＮストローク前の目標空燃比abyfr(k-N)で除することにより、現時点からＮストローク前の目標筒内燃料供給量Fcr(k-N)を求める。
【０１０６】
次に、ＣＰＵ７１はステップ７３０に進んで、上記(4)式に従って、上記目標筒内燃料供給量Fcr(k-N)から前記筒内燃料供給量Fc(k-N)を減じることにより筒内燃料供給量偏差DFcを求める。つまり、筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
【０１０７】
次いで、ＣＰＵ７１はステップ７３５に進み、テーブルMapGp(Mc(k),NE)に基づいて比例ゲインGpを決定し、テーブルMapGi(Mc(k),NE)に基づいて積分ゲインGiを決定する。このように、比例ゲインGp、及び積分ゲインGiは、筒内吸入空気量Mc(k)、及び運転速度NEに応じて変更される。
【０１０８】
次に、ＣＰＵ７１はステップ７４０に進んで、上記(5)式に基づいて上流側フィードバック補正値DFiを求め、続くステップ７４５にて上流側フィードバック補正値DFiに上記ガード処理（下限ガード値≦DFi≦上限ガード値）を行い、続くステップ７５０にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ７３０にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求めた後、ステップ７９５に進んで本ルーチンを一旦終了する。
【０１０９】
以上により、ガード処理された上流側フィードバック補正値DFiが求められ、このガード処理された上流側フィードバック補正値DFiが前述した図６のステップ６２０により指令燃料噴射量Fiに反映されることで空燃比フィードバック制御が実行される。
【０１１０】
一方、ステップ７０５の判定時において、「DFi張り付き」と判定されている場合、ＣＰＵ７１はステップ７０５にて「Ｙｅｓ」と判定してステップ７５５に進んで上流側フィードバック補正値DFiの値を「０」に設定し、その後ステップ７９５に進んで本ルーチンを一旦終了する。このように、「DFi張り付き」と判定されている場合、上流側フィードバック補正値DFiを「０」として基本燃料噴射量Fbaseの補正を行わない。
【０１１１】
<下流側フィードバック補正量の計算>
次に、下流側フィードバック補正値Vafsfbを算出する際の作動について説明すると、ＣＰＵ７１は図８にフローチャートにより示したルーチンを、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来する毎に、繰り返し実行するようになっている。
【０１１２】
従って、燃料噴射気筒について燃料噴射開始時期が到来すると、ＣＰＵ７１はステップ８００から処理を開始し、ステップ８０５に進んで、上記(2)式に従って、下流側目標値Voxsrefから現時点の下流側空燃比センサ６７の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。次に、ＣＰＵ７１はステップ８１０に進んで、下記(7)式に基づき出力偏差量DVoxsの微分値DDVoxsを求める。
DDVoxs＝(DVoxs−DVoxs1)／Δt  ・・・(7)
【０１１３】
上記(7)式において、DVoxs1は前回の本ルーチン実行時において後述するステップ８２５にて更新された出力偏差量DVoxsの前回値である。また、Δtは本ルーチンが前回実行された時点から今回実行された時点までの時間である。
【０１１４】
次いで、ＣＰＵ７１はステップ８１５に進み、上記(3)式に基づいて下流側フィードバック補正値Vafsfbを求める。
【０１１５】
続いて、ＣＰＵ７１はステップ８２０に進んで、その時点における出力偏差量の積分値SDVoxsに上記ステップ８０５にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、続くステップ８２５にて、出力偏差量DVoxsの前回値DVoxs1を上記ステップ８０５にて求めた出力偏差量DVoxsと等しい値に設定した後、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１１６】
以上により、下流側フィードバック補正値Vafsfbが求められる。この下流側フィードバック補正値Vafsfbは、前述した図７のルーチンの次回の実行時においてステップ７１５にて制御用空燃比abyfsを求めるのに用いられる。
【０１１７】
<DFiの張り付き判定>
次に、上流側フィードバック補正値DFiの張り付き判定を行う際の作動について説明すると、ＣＰＵ７１は図９にフローチャートにより示したルーチンを、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来する毎に、繰り返し実行するようになっている。以下、上流側空燃比センサ６６の出力値Vabyfs、及び下流側空燃比センサ６７の出力値Voxsの変動（従って、上流側フィードバック補正値DFiの変動）における周波数分布のうちの主たる部分が集中する周波数帯域を「変動周波数レンジ」と称呼する。
【０１１８】
燃料噴射気筒について燃料噴射開始時期が到来すると、ＣＰＵ７１はステップ９００から処理を開始し、ステップ９０５に進んで、テーブルMapω1(Mc(k),NE)に基づいて周波数ω1を決定する。この周波数ω1は、筒内吸入空気量Mc(k)、及び運転速度NEの観点から設定される「変動周波数レンジ」の下限値である。
【０１１９】
これにより、周波数ω1は、筒内吸入空気量Mc(k)が大きいほど、或いは運転速度NEが大きいほどより大きい値に設定される。これは、筒内吸入空気量Mc(k)が大きいほど、或いは運転速度NEが大きいほど、上流側空燃比センサ６６の変動周波数が大きくなり、これにより、「変動周波数レンジ」がより高周波数側に移動する傾向があることに基づく。
【０１２０】
続いて、ＣＰＵ７１はステップ９１０に進み、テーブルMapω2(τres)に基づいて周波数ω2を決定する。この周波数ω2は、上流側空燃比センサ６６の応答時定数τresの観点から設定される「変動周波数レンジ」の下限値である。応答時定数τresは、上流側空燃比センサ６６の劣化状態を表す値である。
【０１２１】
これにより、周波数ω2は、応答時定数τresが大きいほどより小さい値に設定される。これは、上流側空燃比センサ６６の応答時定数τresが大きいほど（即ち、上流側空燃比センサ６６の劣化の程度が大きいほど）、上流側空燃比センサ６６の変動周波数が小さくなり、これにより、「変動周波数レンジ」がより低周波数側に移動する傾向があることに基づく。なお、応答時定数τresは、例えば、ステップ応答法等を用いた周知の手法の１つを利用して所定のタイミング毎に取得・更新され得る。このステップ９１０は、前記「センサ劣化状態取得手段」に相当する。
【０１２２】
次いで、ＣＰＵ７１はステップ９１５に進み、テーブルMapω3(THW)に基づいて周波数ω3を決定する。この周波数ω3は、冷却水温THWの観点から設定される「変動周波数レンジ」の下限値である。冷却水温THWは、上流側空燃比センサ６６の活性状態を表す値であり、且つ、第１触媒５３の活性状態を表す値でもある。
【０１２３】
これにより、周波数ω3は、冷却水温THWに応じた値に変更される。これは、上流側空燃比センサ６６の活性状態が完全活性状態に近づくにつれて（即ち、冷却水温THWが高くなるにつれて）上流側空燃比センサ６６の変動周波数が大きくなり、これにより、「変動周波数レンジ」がより高周波数側に移動する傾向、並びに、第１触媒５３の活性状態が完全活性状態に近づくにつれて（即ち、冷却水温THWが高くなるにつれて）下流側空燃比センサ６７の変動周波数が小さくなり、これにより、「変動周波数レンジ」がより低周波数側に移動する傾向があることに基づく。このステップ９１５は、前記「センサ活性状態指標値取得手段」及び前記「触媒活性状態指標値取得手段」に相当する。
【０１２４】
続いて、ＣＰＵ７１はステップ９２０に進み、テーブルMapω4(Cmax)に基づいて周波数ω4を決定する。この周波数ω4は、第１触媒５３が吸蔵し得る酸素の量の最大値である最大酸素吸蔵量Cmaxの観点から設定される「変動周波数レンジ」の下限値である。最大酸素吸蔵量Cmaxは、第１触媒５３の劣化状態を表す値である。
【０１２５】
これにより、周波数ω4は、最大酸素吸蔵量Cmaxが小さいほどより大きい値に設定される。これは、第１触媒５３の最大酸素吸蔵量Cmaxが小さいほど（即ち、第１触媒５３の劣化の程度が大きいほど）、下流側空燃比センサ６７の変動周波数が大きくなり、これにより、「変動周波数レンジ」がより高周波数側に移動する傾向があることに基づく。なお、最大酸素吸蔵量Cmaxは、例えば、下流側空燃比センサ６７の出力値Voxsが反転するタイミングで空燃比を所定のリッチ・リーン空燃比の一方から他方に切り換える所謂アクティブ空燃比制御等、周知の手法の１つを利用して所定のタイミング毎に取得・更新され得る。このステップ９２０は、前記「触媒劣化状態取得手段」に相当する。
【０１２６】
次に、ＣＰＵ７１はステップ９２５に進み、テーブルMapω5(Gp,Gi)に基づいて周波数ω5を決定する。この周波数ω5は、比例ゲインGp、及び積分ゲインGiの観点から設定される値である。これにより、周波数ω5は、比例ゲインGp、及び積分ゲインGiが大きいほどより小さい値に設定される。これは、比例ゲインGp、及び積分ゲインGiが大きいほど、張り付き判定用上流側フィードバック補正値DFilowの変動を抑制する程度を大きくする必要があることに基づく。
【０１２７】
次いで、ＣＰＵ７１はステップ９３０に進んで、張り付き判定用上流側フィードバック補正値DFilowを求めるために施されるローパスフィルタ処理におけるカットオフ周波数ωcutを、上記求めた周波数ω1〜ω5のうちの最小値に決定する。換言すれば、カットオフ周波数ωcutは、上記４つの観点からそれぞれ設定される「変動周波数レンジ」の下限値のうちの最小値と、比例ゲインGp及び積分ゲインGiの観点から設定される周波数ω5と、のうち小さい方の値に決定される。
【０１２８】
このように、カットオフ周波数ωcutは、種々の観点から設定される値のうちの最小値に決定されるから、張り付き判定用上流側フィードバック補正値DFilowにおける変動（特に、「変動周波数レンジ」内の変動）が確実に抑制され得る。
【０１２９】
次に、ＣＰＵ７１はステップ９３５に進み、図７のルーチンのステップ７４５にて取得される「ガード処理された上流側フィードバック補正値DFi」を、上記決定されたカットオフ周波数ωcutを用いてローパスフィルタ処理して張り付き判定用上流側フィードバック補正値DFilowを取得する。
【０１３０】
続いて、ＣＰＵ７１はステップ９４０に進んで、上記張り付き判定用上流側フィードバック補正値DFilowが下限ガード値以下、又は上限ガード値以上であるか否か（即ち、下限ガード値、又は上限ガード値に維持されているか否か）を判定する。
【０１３１】
ステップ９４０にて「Ｎｏ」と判定される場合、ＣＰＵ７１はステップ９４５に進んで、カウンタzを初期値「０」に設定した後、ステップ９９５に進んで本ルーチンを一旦終了する。一方、ステップ９４０にて「Ｙｅｓ」と判定される場合、ＣＰＵ７１はステップ９５０に進んで、カウンタzを「１」だけインクリメントする。即ち、カウンタｚは、上記張り付き判定用上流側フィードバック補正値DFilowが下限ガード値、又は上限ガード値に維持されている時間を表す。
【０１３２】
ＣＰＵ７１はステップ９５５に進むと、カウンタｚが所定値ｚ１に達したか否か、即ち、上記張り付き判定用上流側フィードバック補正値DFilowが下限ガード値、又は上限ガード値に上記所定期間に亘って維持されたか否かを判定し、「Ｎｏ」と判定する場合、ステップ９９５に直ちに進む。一方、ステップ９５５にて「Ｙｅｓ」と判定される場合、ＣＰＵ７１はステップ９６０に進んで「DFi張り付き」と判定する。
【０１３３】
このように、「DFi張り付き」と判定されると、以降、ＣＰＵ７１は図７のステップ７０５に進んだとき「Ｙｅｓ」と判定するようになる。この結果、上流側フィードバック補正値DFiが「０」に設定されて、基本燃料噴射量Fbaseの補正（従って、空燃比フィードバック制御）が中止される。
【０１３４】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第１実施形態によれば、第１触媒５３上流の上流側空燃比センサ６６の出力値Vabyfsに基づく空燃比を第１触媒５３下流の下流側空燃比センサ６７の出力値Voxsに基づいて補正して得られる制御用空燃比abyfsと、目標空燃比abyfrと、の偏差をＰＩ処理して上流側フィードバック補正値DFiが求められる。この上流側フィードバック補正値DFiにはガード処理が行われる。指令燃料噴射量Fiは、基本燃料噴射量Fbaseに、ガード処理された上流側フィードバック補正値DFiを加えた値に決定される。これにより、ガード処理された上流側フィードバック補正値DFiに基づいて空燃比が目標空燃比abyfrに一致するようにフィードバック制御される。
【０１３５】
他方、ガード処理された上流側フィードバック補正値DFiをカットオフ周波数ωcutを用いてローパスフィルタ処理して張り付き判定用上流側フィードバック補正値DFilowが取得される。この張り付き判定用上流側フィードバック補正値DFilowが所定期間に亘ってガード値（具体的には、上限ガード値、又は下限ガード値）に維持された場合に「DFi張り付き」と判定され、空燃比フィードバック制御が中止される。
【０１３６】
このように、ローパスフィルタ処理により変動が抑制された張り付き判定用上流側フィードバック補正値DFilowを用いて「張り付き判定」が行われるため、「空燃比制御系の異常」等の発生に起因して「DFi張り付き」と判定されるべき場合において、「DFi張り付き」と判定され得ない事態の発生を抑制できる。
【０１３７】
加えて、この張り付き判定用フィードバック補正値DFilowは、基本燃料噴射量Fbaseの補正（即ち、指令燃料噴射量Fiの算出）には使用されない。従って、空燃比フィードバック制御そのものに上記ローパスフィルタ処理による悪影響が及ぼされることはない。
【０１３８】
更には、張り付き判定用上流側フィードバック補正値DFilowの変動における周波数分布において除去されるべき「変動周波数レンジ」が機関の運転状態に応じて変化することに対応して、上記カットオフ周波数ωcutが、「変動周波数レンジ」の下限値近傍で推移するように、機関の運転状態に応じて変更される。従って、張り付き判定用上流側フィードバック補正値DFilowの応答遅れに起因して「DFi張り付き」と判定される時期が遅れることを抑制しつつ、張り付き判定用フィードバック補正値DFilowの変動を確実に抑制できる。
【０１３９】
本発明は上記第１実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１実施形態においては、ガード処理された上流側フィードバック補正値DFiにローパスフィルタ処理を施して張り付き判定用上流側フィードバック補正値DFilowが取得されているが、ガード処理される前の上流側フィードバック補正値DFiそのものにローパスフィルタ処理を施して張り付き判定用上流側フィードバック補正値DFilowを取得してもよい。
【０１４０】
この場合、張り付き判定用フィードバック補正値DFilowそのものを用いて「張り付き判定」を行ってもよいし、張り付き判定用フィードバック補正値DFilowに上記ガード処理と同じガード処理を行った値を用いて「張り付き判定」を行ってもよい。
【０１４１】
また、上記第１実施形態においては、ローパスフィルタ処理におけるカットオフ周波数ωcutを機関の運転状態に応じて変更しているが、カットオフ周波数ωcutを一定値としてもよい。この場合、カットオフ周波数ωcutは、この第１実施形態において採り得る範囲の最小値に設定されることが好ましい。
【０１４２】
（第２実施形態）
次に、本発明の第２実施形態に係る空燃比制御装置について説明する。図１０は、この第２実施形態の機能ブロック図である。図１０に示すように、第２実施形態は、ハイパスフィルタＡ１８を挿入した点、ＰＩコントローラＡ１４に代えてＰコントローラＡ１９を使用する点、基本燃料噴射量補正係数設定手段Ａ２０及び補正前基本燃料噴射量補正手段Ａ２１を加えた点、ローパスフィルタＡ１６及び張り付き判定手段Ａ１７に代えて張り付き判定手段Ａ２２を使用する点、下流側フィードバック補正値DFisubが基本燃料噴射量Fbaseに直接加えられる点で、図４に機能ブロック図が示される第１実施形態と異なる。以下、係る相違点を中心として説明する。
【０１４３】
ハイパスフィルタＡ１８は、その特性をラプラス演算子sを用いて表した下記(8)式に示すように、一次のディジタルフィルタである。下記(8)式において、ω1はカットオフ周波数である。ハイパスフィルタＡ１８は、上記筒内燃料供給量偏差DFcを入力するとともに、下記(8)式に従ってハイパスフィルタ処理後筒内燃料供給量偏差DFchiを出力する。
１−(１／（１＋τ1・s）)  ・・・(8)
【０１４４】
ＰコントローラＡ１９は、上記ハイパスフィルタ処理後筒内燃料供給量偏差DFchiを比例処理（Ｐ処理）することで、下記(9)式に基づいて、過渡の外乱に対する基本燃料噴射量Fbaseの補正を行うための上流側フィードバック補正値DFimainを求める。下記(9)式において、Gpは比例ゲインである。この上流側フィードバック補正値DFimainが前記「フィードバック補正値」に相当する。
DFimain＝Gp・DFchi  ・・・(9)
【０１４５】
ＰコントローラＡ１９は、第１実施形態のＰＩコントローラＡ１４と異なり積分項を含んでいないので、上記「基本燃料噴射量の誤差」が補償され得ない。従って、上流側フィードバック補正値DFmainによる補正とは別に、「基本燃料噴射量の誤差」が補償される必要がある。このためには、例えば、基本燃料噴射量算出手段Ａ３により算出される基本燃料噴射量Fbaseそのものを補正した値である補正後基本燃料噴射量が、実際の空燃比を目標空燃比abyfrとするために吸気行程を迎える気筒のインジェクタ３９に噴射指示すべき燃料の量（以下、「目標基本燃料噴射量Fbaset」と称呼する。）と一致する（近づく）ように基本燃料噴射量Fbaseを補正する必要がある。以下、基本燃料噴射量算出手段Ａ３により算出される基本燃料噴射量を「補正前基本燃料噴射量Fbaseb(k)」と称呼する。
【０１４６】
そこで、第２実施形態では、図１０に示すように、基本燃料噴射量補正係数KFが導入される。即ち、基本燃料噴射量補正係数設定手段Ａ２０により設定される基本燃料噴射量補正係数KFを補正前基本燃料噴射量補正手段Ａ２１により補正前基本燃料噴射量Fbaseb(k)に乗じた値（以下、「補正後基本燃料噴射量Fbase」と称呼する。）が、上記目標基本燃料噴射量Fbasetと一致する（近づく）ように、基本燃料噴射量補正係数KFが設定される。そして、この補正後基本燃料噴射量Fbaseが指令燃料噴射量算出手段Ａ４による指令燃料噴射量Fiの算出に使用される。以下、基本燃料噴射量補正係数設定手段Ａ２０、及び補正後基本燃料噴射量算出手段Ａ２１について説明する。
【０１４７】
一般に、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもとでは、燃料噴射量と、空燃比（従って、排気ガスの空燃比）の積は一定となる。従って、係る仮定のもとでは、一般に、現時点から無駄時間Ｌに相当する上記Ｎストローク（Ｎ回の吸気行程）前の指令燃料噴射量Fi(k-N)と上流側空燃比センサ６６により得られる現時点での空燃比（以下、「検出空燃比abyfd(k)」と称呼する。）の積は、現時点からＮストローク前の上記目標基本燃料噴射量Fbasetと現時点からＮストローク前の目標空燃比abyfr(k-N)の積に等しい、という関係が成立する。従って、現時点からＮストローク前の目標基本燃料噴射量Fbasetは、一般に、下記(10)式に従って表すことができる。
Fbaset＝(abyfd(k)／abyfr(k-N))・Fi(k−N)  ・・・(10)
【０１４８】
このように、現時点からＮストローク前の目標基本燃料噴射量Fbasetが計算される際、燃料噴射量Fi及び目標空燃比abyfrとしては、Ｎストローク前の値である燃料噴射量Fi(k−N)及び目標空燃比abyfr(k-N)が使用される一方、検出空燃比abyfdとして今回の検出空燃比abyfd(k)が使用される。これは、燃料の噴射指示から燃焼室２５内での燃焼に基づく排ガスが上流側空燃比センサ６６に到達するまでには、Ｎストロークに相当する無駄時間Ｌを要しているからである。
【０１４９】
係る知見に基づいて、基本燃料噴射量補正係数設定手段Ａ２０は、上記(10)式を利用して基本燃料噴射量補正係数KFを設定する。加えて、機関が過渡運転状態にある場合、検出空燃比abyfd、燃料噴射量Fi、及び補正前基本燃料噴射量Fbasebが別個独立に所定の周波数以上の高周波数で大きく変動し得る。このような場合、上記(10)式に示した関係が維持され得なくなる可能性がある。従って、安定した補正前基本燃料噴射量Fbasebの補正を実現するためには、基本燃料噴射量補正係数KFはローパスフィルタ処理された後の値であることが好ましい。
【０１５０】
更には、この第２実施形態では、基本燃料噴射量補正係数KFがローパスフィルタ処理された後の値であることを利用して、基本燃料噴射量補正係数KFにガード処理が行われ、ガード処理された基本燃料噴射量補正係数KFを用いて「張り付き判定」が行われる。
【０１５１】
以上のことから、基本燃料噴射量補正係数設定手段Ａ２０は、その機能ブロック図である図１１に示したようにＡ２０ａ〜Ａ２０gの各機能ブロックを含んで構成されている。即ち、指令燃料噴射量遅延手段Ａ２０ａは、指令燃料噴射量算出手段Ａ４により吸気行程毎に求められＲＡＭ７３に記憶されている指令燃料噴射量Fiのうち、現時点からＮストローク前の指令燃料噴射量Fi(k−N)をＲＡＭ７３から読み出す。
【０１５２】
目標空燃比遅延手段Ａ２０ｂは、上流側目標空燃比設定手段Ａ２により吸気行程毎に求められＲＡＭ７３に記憶されている目標空燃比abyfrのうち、現時点からＮストローク前の目標空燃比(k−N)をＲＡＭ７３から読み出す。
【０１５３】
目標基本燃料噴射量算出手段Ａ２０ｃは、上記(10)式に従って、今回の検出空燃比abyfd(k)の値を上記Ｎストローク前の目標空燃比abyfr(k-N)で除した値に、上記Ｎストローク前の指令燃料噴射量Fi(k-N)の値を乗じることで目標基本燃料噴射量Fbasetを求める。
【０１５４】
補正前基本燃料噴射量遅延手段Ａ２０ｄは、基本燃料噴射量算出手段Ａ３により吸気行程毎に求められＲＡＭ７３に記憶されている補正前基本燃料噴射量Fbasebのうち、現時点からＮストローク前の補正前基本燃料噴射量Fbaseb(k-N)をＲＡＭ７３から読み出す。
【０１５５】
基本燃料噴射量補正係数算出手段Ａ２０ｅは、下記(11)式に従って、上記目標基本燃料噴射量Fbasetを上記Ｎストローク前の補正前基本燃料噴射量Fbaseb(k-N)で除することで、ローパスフィルタ処理前基本燃料噴射量補正係数KF1を求める。
KF1＝Fbaset／Fbaseb(k-N)  ・・・（11）
【０１５６】
ローパスフィルタＡ２０ｆは、上記第１実施形態におけるローパスフィルタＡ１６と同様の、カットオフ周波数ωcutを用いたローパスフィルタである。ローパスフィルタＡ２０ｆは、上記ローパスフィルタ処理前基本燃料噴射量補正係数KF1の値を入力し、上記(6)式と同じ下記(12)式に従って、上記KF1の値をローパスフィルタ処理した後の値である基本燃料噴射量補正係数KFを出力する。このカットオフ周波数ωcutも、上記第１実施形態におけるローパスフィルタＡ１６におけるカットオフ周波数ωcutと同様、後述するように、機関の運転状態に応じて変更される。この基本燃料噴射量補正係数KFが前記「基本燃料噴射量補正値」に相当する。
１／（１＋(1/ωcut)・s）  ・・・(12)
【０１５７】
ガード処理実行手段Ａ２０ｇは、上記基本燃料噴射量補正係数KFが予め設定された下限ガード値を下回った場合に基本燃料噴射量補正係数KFを下限ガード値に制限し、上記基本燃料噴射量補正係数KFが予め設定された上限ガード値を超えた場合に基本燃料噴射量補正係数KFを上限ガード値に制限する処理（ガード処理）を行う。上記第１実施形態と同様、上限ガード値は、可燃領域に対応する空燃比範囲のリッチ側限界値に相当する値であり、下限ガード値は、可燃領域に対応する空燃比範囲のリーン側限界値に相当する値である。このようにガード処理された基本燃料噴射量補正係数KFが基本燃料噴射量補正係数設定手段Ａ２０から出力される。
【０１５８】
そして、補正前基本燃料噴射量補正手段Ａ２１は、基本燃料噴射量算出手段Ａ３により求められた補正前基本燃料噴射量Fbaseb(k)に、基本燃料噴射量補正係数設定手段Ａ２０から出力されるガード処理された基本燃料噴射量補正係数KFを乗じることで、下記(13)式に基づいて補正後基本燃料噴射量Fbaseを求める。
Fbase＝KF・Fbaseb(k)  ・・・(13)
【０１５９】
指令燃料噴射量算出手段Ａ４は、このように求められた補正後基本燃料噴射量Fbaseに、上記ＰコントローラＡ１９から出力される上流側フィードバック補正値DFimainと、上記第１実施形態のものと同じＰＩＤコントローラＡ７から出力される下流側フィードバック補正値DFisubと、を加えて指令燃料噴射量Fiを算出する。
【０１６０】
このように、第２実施形態では、上流側空燃比センサ６６の出力値Vabyfsに基づいて得られる、補正前基本燃料噴射量Fbasebを補正するための値（即ち、指令燃料噴射量Fiの算出に使用される値）として、「基本燃料噴射量の誤差」を補償するための値である基本燃料噴射量補正係数KFと、過渡の外乱に対する補正を行うための上流側フィードバック補正値DFimainとが使用される。
【０１６１】
また、第２実施形態における張り付き判定手段Ａ２２は、上記基本燃料噴射量補正係数KF（即ち、カットオフ周波数ωcutを用いてローパスフィルタ処理されている値）が所定期間に亘って上記上限ガード値、又は上記下限ガード値に維持された場合に「基本燃料噴射量補正係数KFがガード値に張り付いた」（即ち、上記「張り付き」が発生した）と判定する。第２実施形態でも、上記第１実施形態と同様、「張り付き」と判定された場合、空燃比フィードバック制御が中止される。
【０１６２】
（第２実施形態における実際の作動）
第２実施形態のＣＰＵ７１は、上記第１実施形態のＣＰＵ７１が実行する図６〜図９に示したルーチンに代えて、図１２〜図１７にフローチャートにより示したルーチンを実行する。以下、図１２以降のルーチンにおいて、前出のルーチンのステップと同じステップについては前出のルーチンのステップ番号と同じステップ番号を付すことでそれらの説明に代える。
【０１６３】
図１２は、図６に対応するルーチンである。図１２において、ステップ１２０５は図６のステップ６１０に対応し、ステップ１２１０は図６のステップ６１５に対応し、ステップ１２２０は図６のステップ６２０に対応する。図１２のルーチンは、図６のルーチンと類似しているので、その詳細な説明を省略する。
【０１６４】
図１３は、図７に対応するルーチンである。図１３において、ステップ１３０５は図７のステップ７０５に対応し、ステップ１３１０は図７のステップ７１５に対応し、ステップ１３１５は図７のステップ７２０に対応し、ステップ１３２５は図７のステップ７３５に対応し、ステップ１３３０は図７のステップ７４０に対応し、ステップ１３３５は図７のステップ７５５に対応する。
【０１６５】
図１３に示すように、「KF張り付き」と判定されている場合、ステップ１３０５にて「Ｎｏ」と判定されてステップ１３３５にて上流側フィードバック補正値DFimainが「０」に設定される。即ち、この場合、図１２のステップ１２２０において上流側フィードバック補正値DFimainによる補正後基本燃料噴射量Fbaseの補正が行われない。図１３のルーチンは、図７のルーチンと類似しているので、その詳細な説明を省略する。
【０１６６】
図１４は、図８に対応するルーチンである。図１４において、ステップ１４１０は図８のステップ８１５に対応する。図１４に示すように、「KF張り付き」と判定されている場合、ステップ１４０５にて「Ｎｏ」と判定されてステップ１４１５にて下流側フィードバック補正値DFisubが「０」に設定される。即ち、この場合、図１２のステップ１２２０において下流側フィードバック補正値DFisubによる補正後基本燃料噴射量Fbaseの補正が行われない。
【０１６７】
図１５は、基本燃料噴射量補正係数KFを求めるためのルーチンである。図１５において、ステップ１５１０は、図１１の目標基本燃料噴射量算出手段Ａ２０ｃに対応し、ステップ１５１５は、図１１の基本燃料噴射量補正係数算出手段Ａ２０ｅに対応する。
【０１６８】
ステップ１５２０では、図１６に示したルーチンの実行によりカットオフ周波数ωcutが設定される。図１６において、ステップ１６０５〜１６１５は図９のステップ９０５〜９１５にそれぞれ対応し、ステップ１６２０は図９のステップ９３０に対応する。これにより、上記第１実施形態と同様、カットオフ周波数ωcutが機関の運転状態に応じて変更される。
【０１６９】
ステップ１５２５は、図１１のローパスフィルタＡ２０ｆに対応し、ステップ１５３０は、図１１のガード処理実行手段Ａ２０ｇに対応する。
【０１７０】
加えて、図１５に示すように、「KF張り付き」と判定されている場合、ステップ１５０５にて「Ｎｏ」と判定されてステップ１５３５にて基本燃料噴射量補正係数KFが「１」に設定される。即ち、この場合、図１２のステップ１２１５において基本燃料噴射量補正係数KFによる補正前基本燃料噴射量Fbasebの補正が行われない。
【０１７１】
以上のように、第２実施形態では、「KF張り付き」と判定されている場合、上流側フィードバック補正値DFimain＝「０」、下流側フィードバック補正値DFisub＝「０」、基本燃料噴射量補正係数KF＝「１」となり、補正前基本燃料噴射量Fbasebの補正が行われない。即ち、指令燃料噴射量Fi＝Fbasebとなる。
【０１７２】
図１７は、図９に対応する、基本燃料噴射量補正係数KFの張り付き判定を行うためのルーチンである。図１７において、ステップ１７０５〜１７２５は図９のステップ９４０〜９６０にそれぞれ対応する。これにより、基本燃料噴射量補正係数KFの値そのものを用いて「張り付き判定」が行われる。
【０１７３】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第２実施形態によれば、補正前基本燃料噴射量Fbasebの補正に使用される、既にローパスフィルタ処理されているガード処理された基本燃料噴射量補正係数KFを用いて「張り付き判定」が行われる。この結果、上記第１の空燃比制御装置と同様、「張り付き判定」における判定精度を高くすることができる。
【０１７４】
更には、上記第１実施形態と同様、上記ローパスフィルタ処理におけるカットオフ周波数ωcutが、上記「変動周波数レンジ」の下限値近傍で推移するように、機関の運転状態に応じて変更され得る。従って、基本燃料噴射量補正係数KFの応答遅れに起因して「KF張り付き」と判定される時期が遅れることを抑制しつつ、基本燃料噴射量補正係数KFの変動を確実に抑制できる。
【０１７５】
本発明は上記第１、第２実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第１、第２実施形態が、運転状態に応じて複数の気筒のうちの一部を「休止気筒」とする一部気筒休止機構を備えている機関に適用される場合、「休止気筒」の数が大きいほど、前記ローパスフィルタ処理におけるカットオフ周波数ωcutをより小さい値に設定することが好ましい。
【０１７６】
具体的には、例えば、運転状態に応じて６気筒のうちの３気筒を「休止気筒」とする一部気筒休止機構を備えているＶ型６気筒内燃機関に適用される場合では、３気筒が「休止気筒」となっている場合、全ての気筒が稼動している場合に比して、前記ローパスフィルタ処理におけるカットオフ周波数ωcutをより小さい値に設定することが好ましい。これは、「休止気筒」の数が大きくなるほど、上流側空燃比センサ６６（全ての気筒からの排ガスが集合する箇所よりも下流の空燃比センサ）の変動周波数が小さくくなり、これにより、「変動周波数レンジ」がより低周波数側に移動する傾向があることに基づく。
【０１７７】
（第３実施形態）
次に、本発明の第３実施形態に係る空燃比制御装置について説明する。図１８は、この第３実施形態の機能ブロック図である。図１８に示すように、第３実施形態は、ローパスフィルタＡ１６及び張り付き判定手段Ａ１７に代えて、ゲイン低減処理を行うＰＩコントローラＡ２３及び張り付き判定手段Ａ２４を使用する点で、図４に機能ブロック図が示される第１実施形態と異なる。以下、係る相違点を中心として説明する。
【０１７８】
ＰＩコントローラＡ２３の機能は、図１９にフローチャートにより示したルーチンの実行により達成され、張り付き判定手段Ａ２４の機能は、図２０にフローチャートにより示したルーチンの実行により達成される。
【０１７９】
第３実施形態のＣＰＵ７１は、上記第１実施形態のＣＰＵ７１が実行する図６〜図９に示したルーチンのうち図６〜図８に示したルーチンをそのまま実行し、図１９に示したルーチンを追加的に実行し、図９のルーチンに代えて図２０に示したルーチンを実行する。以下、第３実施形態に特有の図１９、図２０に示したルーチンについて順に説明する。
【０１８０】
図１９は、張り付き判定用フィードバック補正値DFisを計算するためのルーチンである。図１９において、ステップ１９０５では、後述する「ゲイン低減処理」の実行中であるか否かが判定される。ここで、後述するように、「ゲイン低減処理」中でない場合、値β＝１となっている。
【０１８１】
「ゲイン低減処理」中でない場合（β＝１）、ステップ１９１０にて、張り付き判定用フィードバック補正値DFisの前回値DFisbが、(下限ガード値・α1)より小さいか、或いは、(上限ガード値・α1)よりも大きいか否かが判定される。ここで、値α1は「１」より小さい「１」に近い正の値であり、例えば、「０．８」である。即ち、ここでは、張り付き判定用フィードバック補正値DFisがガード値に近づいたか否かが判定される。
【０１８２】
ステップ１９１０にて「Ｙｅｓ」と判定される場合、ステップ１９１５にて、値β＝ａに設定される。ここで値ａは、「１」よりも小さい正の値である。この値β（＜１）が「ゲイン低減処理」に使用される。ステップ１９１０にて「Ｎｏ」と判定される場合、値β＝１に維持される。
【０１８３】
一方、「ゲイン低減処理」中である場合（β＝ａ＜１）、ステップ１９２０にて、張り付き判定用フィードバック補正値DFisの前回値DFisbが(下限ガード値・α2)より大きいか、或いは、(上限ガード値・α2)よりも小さいか否かが判定される。ここで、値α2は、値α1よりも小さい正の値であり、例えば、「０．６」である。即ち、ここでは、ガード値に近づいていた張り付き判定用フィードバック補正値DFisがガード値から離れたか否かが判定される。
【０１８４】
ステップ１９２０にて「Ｙｅｓ」と判定される場合、ステップ１９２５にて、値β＝１に戻される。ステップ１９２０にて「Ｎｏ」と判定される場合、値β＝ａ（＜１）に維持される。
【０１８５】
ステップ１９３０では、比例ゲインGpsが、図７のステップ７３５にて決定されている比例ゲインGpに上記値βを乗じた値に設定され、積分ゲインGisが、図７のステップ７３５にて決定されている積分ゲインGiに上記値βを乗じた値に設定される。
【０１８６】
これにより、「ゲイン低減処理」が実行されていない間（即ち、張り付き判定用フィードバック補正値DFisがガード値に近づいていない間、即ち、値β＝１のとき）、比例ゲインGps及び積分ゲインGisは、比例ゲインGp及び積分ゲインGiと等しい値にそれぞれ設定される。一方、「ゲイン低減処理」が実行されている間（即ち、張り付き判定用フィードバック補正値DFisがガード値に近づいている間、即ち、値β＝ａ（＜１）のとき）、比例ゲインGps及び積分ゲインGisは、比例ゲインGp及び積分ゲインGiよりも小さい値にそれぞれ設定される。
【０１８７】
ステップ１９３５では、ＰＩコントローラＡ１４に対応する上記(5)式において、比例ゲインGp及び積分ゲインGiを、比例ゲインGps及び積分ゲインGisにそれぞれ置き換えて得られる下記(14)式に従って張り付き判定用上流側フィードバック補正値DFisが求められる。ここにおいて、DFcとしては、図７のステップ７３０にて決定されている値が使用され、SDFcとしては、図７のステップ７５０にて更新されている値が使用される。
DFis＝(Gps・DFc+Gis・SDFc)・KFB  ・・・(14)
【０１８８】
これにより、「ゲイン低減処理」が実行されていない間（即ち、値β＝１のとき）、張り付き判定用上流側フィードバック補正値DFisは、上流側フィードバック補正値DFiと等しい値に決定される。一方、「ゲイン低減処理」が実行されている間（即ち、値β＝ａ（＜１）のとき）、上流側フィードバック補正値DFiの算出に使用されるフィードバックゲインGp,Giよりも小さいフィードバックゲインGps,Gisを使用して張り付き判定用上流側フィードバック補正値DFisが算出されるから、張り付き判定用上流側フィードバック補正値DFisの変動幅が上流側フィードバック補正値DFiの変動幅よりも小さくなる。
【０１８９】
ステップ１９４０では、図７のステップ７４５と同様に、張り付き判定用上流側フィードバック補正値DFisにガード処理が行われる。ステップ１９４５では、張り付き判定用フィードバック補正値DFisの前回値DFisbがステップ１９４０にて得られたガード処理された張り付き判定用上流側フィードバック補正値DFisと等しい値に設定される。この前回値DFisbが次回の本ルーチン実行時において上記ステップ１９１０、１９２０にて使用される。
【０１９０】
図２０は、図９に対応する、上流側フィードバック補正値DFiの張り付き判定を行うためのルーチンである。図２０において、ステップ２００５〜２０２５は図９のステップ９４０〜９６０にそれぞれ対応する。これにより、ガード処理された張り付き判定用上流側フィードバック補正値DFisを用いて「張り付き判定」が行われる。
【０１９１】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第３実施形態によれば、張り付き判定用上流側フィードバック補正値DFisがガード値に近づくと、張り付き判定用上流側フィードバック補正値DFisの変動幅が上流側フィードバック補正値DFiの変動幅よりも小さくなる。即ち、このように変動が抑制された張り付き判定用上流側フィードバック補正値DFisを用いて「張り付き判定」を行っても、上記第１の空燃比制御装置と同様、「張り付き判定」における判定精度を高くすることができる。
【０１９２】
本発明は上記第３実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第３実施形態においては、ガード処理された張り付き判定用上流側フィードバック補正値DFisを用いて「張り付き判定」が行われているが、ガード処理される前の張り付き判定用上流側フィードバック補正値DFisを用いて「張り付き判定」が行われてもよい。
【０１９３】
また、上記各実施形態においては、ガード処理におけるガード値（具体的には、上限ガード値、及び下限ガード値）が一定であるが、ガード処理におけるガード値が機関の運転状態に応じて変更されてもよい。
【図面の簡単な説明】
【０１９４】
【図１】本発明の第１実施形態に係る空燃比制御装置を適用した内燃機関の概略図である。
【図２】図１に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図３】図１に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図４】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図５】上流側フィードバック補正値が上限ガード値に張り付いたと判定されるべき場合における、ガード処理された上流側フィードバック補正値、及び張り付き判定用上流側フィードバック補正値の変化の一例を示したタイムチャートである。
【図６】図１に示したＣＰＵが実行する燃料噴射量の計算、及び噴射指示を行うためのルーチンを示したフローチャートである。
【図７】図１に示したＣＰＵが実行する上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図８】図１に示したＣＰＵが実行する下流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図９】図１に示したＣＰＵが実行する上流側フィードバック補正値の張り付き判定を行うためのルーチンを示したフローチャートである。
【図１０】本発明の第２実施形態に係る空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図１１】図１０に示した基本燃料噴射量補正係数設定手段が基本燃料噴射量補正係数を設定する際の機能ブロック図である。
【図１２】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する燃料噴射量の計算、及び噴射指示を行うためのルーチンを示したフローチャートである。
【図１３】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図１４】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する下流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図１５】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する基本燃料噴射量補正係数を計算するためのルーチンを示したフローチャートである。
【図１６】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する、ローパスフィルタ処理におけるカットオフ周波数を設定するためのルーチンを示したフローチャートである。
【図１７】本発明の第２実施形態に係る空燃比制御装置のＣＰＵが実行する基本燃料噴射量補正係数の張り付き判定を行うためのルーチンを示したフローチャートである。
【図１８】本発明の第３実施形態に係る空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図１９】本発明の第３実施形態に係る空燃比制御装置のＣＰＵが実行する張り付き判定用上流側フィードバック補正値を計算するためのルーチンを示したフローチャートである。
【図２０】本発明の第３実施形態に係る空燃比制御装置のＣＰＵが実行する上流側フィードバック補正値の張り付き判定を行うためのルーチンを示したフローチャートである。
【符号の説明】
【０１９５】
１０…内燃機関、２５…燃焼室、３９…インジェクタ、５２…エキゾーストパイプ（排気管）、５３…三元触媒（第１触媒）、６５…水温センサ、６６…上流側空燃比センサ、６７…下流側空燃比センサ、７０…電気制御装置、７１…ＣＰＵ
【図１】
2007291984.tif 000003
【図２】
2007291984.tif 000004
【図３】
2007291984.tif 000005
【図４】
2007291984.tif 000006
【図５】
2007291984.tif 000007
【図６】
2007291984.tif 000008
【図７】
2007291984.tif 000009
【図８】
2007291984.tif 000010
【図９】
2007291984.tif 000011
【図１０】
2007291984.tif 000012
【図１１】
2007291984.tif 000013
【図１２】
2007291984.tif 000014
【図１３】
2007291984.tif 000015
【図１４】
2007291984.tif 000016
【図１５】
2007291984.tif 000017
【図１６】
2007291984.tif 000018
【図１７】
2007291984.tif 000019
【図１８】
2007291984.tif 000020
【図１９】
2007291984.tif 000021
【図２０】
2007291984.tif 000022