(57)【特許請求の範囲】
【請求項１】
排気通路に排気浄化用触媒を配設した内燃機関に適用され、
前記排気通路に配設され同排気通路を実際に流れるガスの空燃比に対して単調増加又は単調減少する出力値を出力する空燃比センサと、
前記空燃比センサの出力値が所定の目標値と一致するように同出力値と同目標値との差である出力偏差に応じたフィードバック補正量を算出するとともに同算出されたフィードバック補正量に基づいて前記内燃機関に供給される混合ガスの空燃比を制御する空燃比フィードバック制御手段と、
を備えた内燃機関の空燃比制御装置において、
前記空燃比フィードバック制御手段は、
前記出力偏差の大きさが増加している場合に同出力偏差の時間微分値に第１微分ゲインを乗じ、同出力偏差の大きさが減少している場合に同出力偏差の時間微分値に同第１微分ゲインよりも大きさが小さい第２微分ゲインを乗じることにより前記フィードバック補正量の一部としての微分項を算出するように構成された内燃機関の空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置において、
前記空燃比フィードバック制御手段は、
現時点の前記出力偏差と現時点よりも前の時点の前記出力偏差とに基づいて前記時間微分値を求めるとともに、前記出力偏差の大きさが減少している場合において同現時点の出力偏差の符号と同前の時点の出力偏差の符号とが相違するとき、同時間微分値に前記第２微分ゲインよりも大きさが大きい第３微分ゲインを乗じることにより前記微分項を算出するように構成された内燃機関の空燃比制御装置。
【請求項３】
請求項１に記載の内燃機関の空燃比制御装置において、
前記空燃比フィードバック制御手段は、
前記出力偏差の大きさが減少している場合において同出力偏差の大きさが所定の閾値よりも小さいとき、前記時間微分値に前記第２微分ゲインよりも大きさが大きい第４微分ゲインを乗じることにより前記微分項を算出するように構成された内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に配設された空燃比センサを備える内燃機関に適用され、空燃比センサの出力値に基づいて内燃機関に供給される混合ガスの空燃比をフィードバック制御する内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
従来から、内燃機関に供給される（内燃機関の燃焼室内に形成される）混合ガスの空燃比（内燃機関の空燃比）を制御する空燃比制御装置が知られている。このような空燃比制御装置の一つは、排気通路にて排ガスを浄化する三元触媒の上流及び下流のそれぞれにて同排気通路に配設された空燃比センサ（上流側空燃比センサ及び下流側空燃比センサ）を備えている。この空燃比制御装置は、各空燃比センサの出力に基づいて噴射する燃料の量（燃料噴射量）を補正することにより実際の内燃機関の空燃比を理論空燃比等の目標とする空燃比（目標空燃比）にフィードバック制御するようになっている（例えば、特許文献１を参照。）。
【０００３】
より具体的に述べると、この空燃比制御装置は、理論空燃比近傍において検出対象ガスの空燃比がよりリーン側の空燃比となるにつれて出力値が単調に減少する下流側空燃比センサの実際の出力値Voxsと下流側目標値Voxsrefとの差である出力偏差DVoxs（＝Voxsref−Voxs）と、下記式（１）と、により下流側フィードバック補正量Vafsfbを算出する。即ち、下流側フィードバック補正量Vafsfbは、検出された空燃比が下流側目標値Voxsrefに対応する空燃比（下流側目標空燃比）よりも大きくなる（リーン側の空燃比となる）につれて正の向きに変化する。
ここで、tは時間であり、Kpは比例ゲインであり、Kiは積分ゲインであり、及び、Kdは微分ゲインである。各ゲインKp、Ki及びKdは、いずれも正の値である。
Vafsfb＝Kp・DVoxs＋Ki∫（DVoxs）dt＋Kd・dDVoxs/dt      …（１）
【０００４】
更に、空燃比制御装置は、検出対象ガスの空燃比がよりリーン側の空燃比となるにつれて出力値が単調に増加する上流側空燃比センサの出力値Vabyfsに上記算出された下流側フィードバック補正量Vafsfbを加えた値と、上流側空燃比センサの出力値と空燃比との関係と、に基づいて制御用空燃比を算出し、算出された制御用空燃比の目標値からのずれを補償するように上流側フィードバック補正量（燃料噴射量に対する補正量、燃料補正量）DFiを求める。
【０００５】
この空燃比制御装置は、内燃機関の運転状態に応じた基本燃料噴射量に上記上流側フィードバック補正量DFiを加えることにより燃料噴射量を算出し、算出された燃料噴射量の燃料を噴射する。即ち、下流側フィードバック補正量Vafsfbが大きくなるほど（空燃比が下流側目標空燃比よりもリーン側の空燃比になるほど）、上流側フィードバック補正量DFiが大きくなるから、空燃比はリッチ側に補正される。
【特許文献１】特開２００５−１２０８６９号公報
【０００６】
上述したように、上記従来の空燃比制御装置においては、下流側フィードバック補正量Vafsfbは、出力偏差DVoxsの時間微分値に基づく微分項Kd・dDVoxs/dt（上記式（１）の第３項）を含んでいる。以下、この微分項Kd・dDVoxs/dtについて、図１を参照しながら検討する。
【０００７】
図１の例においては、破線の直線Ｌ０により示したように、時点t0にて下流側目標値Voxsrefが理論空燃比に対応する値Voxsrefsから理論空燃比よりもリッチ側のリッチ空燃比に対応する値Voxsrefrへ変更される場合（即ち、内燃機関の空燃比をよりリッチ側の空燃比に制御する必要が生じた場合）を想定している。更に、時点t0より前の時点では、実線の曲線Ｌ１により示したように、下流側空燃比センサの出力値Voxsは下流側目標値Voxsrefに略一致していると仮定している。実線の曲線Ｌ２及びＬ３は、出力偏差DVoxs及び微分項Kd・dDVoxs/dtの時間tに対する変化を示している。
【０００８】
この場合、時点t0の直後において出力偏差DVoxsは、下流側目標値Voxsrefの変化量（＝Voxsrefr-Voxsrefs）と略等しい量だけ急激に増加する。この出力偏差DVoxsの変化により、微分項Kd・dDVoxs/dtは、時点t0の直後にて大きな正の値となる。また、時点t0以降において、出力偏差DVoxsが正の値となるので、下流側フィードバック補正量Vafsfbのうちの比例項Kp・DVoxs（上記式（１）の第１項）は、正の値となる。更に、積分項Ki∫(DVoxs)dt（上記式（１）の第２項）は、徐々に増大する（正の向きに変化する）。これにより、下流側フィードバック補正量Vafsfbが急激に増大するので、空燃比はリッチ側に大きく補正される。
【０００９】
その結果、出力値Voxsは、時点t0の直後、急激に増加する。そして、この出力値Voxsの増加に伴って、時点t0の直後の時点t01以降において、出力偏差DVoxsは減少し始める。従って、微分項Kd・dDVoxs/dtは、時点t01以降において負の値となる。一方、出力偏差DVoxsは正の値であるので、比例項Kp・DVoxsは正の値となり、積分項Ki∫(DVoxs)dtは徐々に増大する。これにより、出力値Voxsは下流側目標値Voxsrefに徐々に近づいて行く。
【００１０】
そして、時点t1になると、出力値Voxsは下流側目標値Voxsrefに到達する。このように、時点t01から時点t1の期間Ａにおいては、微分項Kd・dDVoxs/dtは負の値となり、下流側フィードバック補正量Vafsfbを減少させるよう、即ち、空燃比がリッチ側に補正される程度を小さくするように作用する。換言すると、期間Ａにおいては、微分項Kd・dDVoxs/dtは、出力値Voxsが下流側目標値Voxsrefに近づくこと（出力偏差DVoxsの絶対値が小さくなること）を妨げる。
【００１１】
時点t1にて出力値Voxsが下流側目標値Voxsrefを上回ると、出力偏差DVoxsは負の値となる。このため、比例項Kp・DVoxsは負の値となり、積分項Ki∫(DVoxs)dtは徐々に減少する（負の向きに変化する）。また、出力偏差DVoxsが減少しているので、微分項Kd・dDVoxs/dtは負の値となる。従って、下流側フィードバック補正量Vafsfbが減少するから、空燃比はリーン側に補正される。
【００１２】
これにより、出力値Voxsは下流側目標値Voxsrefからそれほど遠ざかることなく、時点t2にて再び下流側目標値Voxsrefに近づき始める。このように、時点t1から時点t2の期間Ｂにおいては、微分項Kd・dDVoxs/dtは、比例項Kp・DVoxs及び積分項Ki∫(DVoxs)dtとともに、下流側フィードバック補正量Vafsfbを減少させるように作用する。換言すると、期間Ｂにおいて、微分項Kd・dDVoxs/dtは、空燃比をリーン側に補正するように作用する。従って、期間Ｂにおいては、微分項Kd・dDVoxs/dtは、出力値Voxsが下流側目標値Voxsrefから遠ざかること（出力偏差DVoxsの絶対値が大きくなること）を妨げる。
【００１３】
時点t2にて出力値Voxsが下流側目標値Voxsrefに近づき始めると、出力偏差DVoxsは増加し始める。従って、微分項Kd・dDVoxs/dtは正の値となる。一方、出力偏差DVoxsが負の値のままであるので、比例項Kp・DVoxsは負の値となり、積分項Ki∫(DVoxs)dtは徐々に減少する。これにより、出力値Voxsは下流側目標値Voxsrefに徐々に近づいて行く。
【００１４】
そして、時点t3になると、出力値Voxsは再び下流側目標値Voxsrefに到達する。このように、時点t2から時点t3の期間Ｃにおいては、微分項Kd・dDVoxs/dtは正の値となり、下流側フィードバック補正量Vafsfbを増大させるよう、即ち、空燃比がリーン側に補正される程度を小さくするように作用する。換言すると、期間Ｃにおいては、微分項Kd・dDVoxs/dtは、出力値Voxsが下流側目標値Voxsrefに近づくこと（出力偏差DVoxsの絶対値が小さくなること）を妨げる。
【００１５】
時点t3にて出力値Voxsが下流側目標値Voxsrefを下回ると、出力偏差DVoxsは正の値となる。このため、比例項Kp・DVoxsは正の値となり、積分項Ki∫(DVoxs)dtは徐々に増加する。また、出力偏差DVoxsが増加しているので、微分項Kd・dDVoxs/dtは正の値となる。従って、下流側フィードバック補正量Vafsfbが増大するから、空燃比はリッチ側に補正される。
【００１６】
これにより、出力値Voxsは下流側目標値Voxsrefからそれほど遠ざかることなく、時点t4にて再び下流側目標値Voxsrefに近づき始める。このように、時点t3から時点t4の期間Ｄにおいては、微分項Kd・dDVoxs/dtは、比例項Kp・DVoxs及び積分項Ki∫(DVoxs)dtとともに、下流側フィードバック補正量Vafsfbを増大させるように作用する。換言すると、期間Ｄにおいて、微分項Kd・dDVoxs/dtは、空燃比をリッチ側に補正するように作用する。従って、期間Ｄにおいては、微分項Kd・dDVoxs/dtは、出力値Voxsが下流側目標値Voxsrefから遠ざかること（出力偏差DVoxsの絶対値が大きくなること）を妨げる。
【００１７】
以上のように、微分項Kd・dDVoxs/dtは、出力偏差の大きさ｜DVoxs｜の変化を抑制するように機能する。従って、出力偏差の大きさ｜DVoxs｜が増加しているとき（時点t0〜時点t01の期間、期間Ｂ及び期間Ｄにおいては）、出力偏差の大きさ｜DVoxs｜の増加が微分項Kd・dDVoxs/dtにより抑制されるので、出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができる。特に、時点t0〜時点t01の期間のように、出力偏差DVoxsが急激に変化する場合、微分項Kd・dDVoxs/dtの存在により、出力偏差の大きさ｜DVoxs｜を迅速に減少させることができる。
【００１８】
しかしながら、出力偏差の大きさ｜DVoxs｜が減少しているとき（期間Ａ及び期間Ｃにおいては）、出力偏差の大きさ｜DVoxs｜の減少が微分項Kd・dDVoxs/dtにより抑制されるので、出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができない。即ち、上記従来の空燃比制御装置によれば、微分項Kd・dDVoxs/dtの存在により、実際の空燃比を目標空燃比に迅速に近づけることができない場合があるという問題があった。
【発明の開示】
【００１９】
本発明は上述した課題に対処するためになされたものであって、その目的は、実際の空燃比を目標とする空燃比により迅速に一致させることができる空燃比制御装置を提供することにある。
【００２０】
かかる目的を達成するため本発明による内燃機関の空燃比制御装置は、排気通路に排気浄化用触媒を配設した内燃機関に適用される。
本発明による内燃機関の空燃比制御装置は、
前記排気通路に配設され同排気通路を実際に流れるガスの空燃比に対して単調増加又は単調減少する出力値を出力する空燃比センサと、
前記空燃比センサの出力値が所定の目標値と一致するように同出力値と同目標値との差である出力偏差に応じたフィードバック補正量を算出するとともに同算出されたフィードバック補正量に基づいて前記内燃機関に供給される混合ガスの空燃比を制御する空燃比フィードバック制御手段と、
を備える。
【００２１】
更に、前記空燃比フィードバック制御手段は、
前記出力偏差の大きさが増加している場合に同出力偏差の時間微分値に第１微分ゲインを乗じ、同出力偏差の大きさが減少している場合に同出力偏差の時間微分値に同第１微分ゲインよりも大きさが小さい第２微分ゲインを乗じることにより前記フィードバック補正量の一部としての微分項を算出するように構成される。なお、第２微分ゲインは、「０」を含んでいてもよい。
【００２２】
これによれば、出力偏差の大きさが増加しているとき、出力偏差の時間微分値に第１微分ゲインを乗じることにより微分項が算出され、同算出された微分項を含むフィードバック補正量に基づいて空燃比が制御される。これにより、出力偏差の大きさの増加が十分に抑制される。従って、出力偏差の大きさが急増した場合に出力偏差の大きさを迅速に小さくすることができるとともに、空燃比検出手段の出力値が目標値から過度に遠ざかることを防止することができる。
【００２３】
一方、出力偏差の大きさが減少しているとき、出力偏差の時間微分値に第１微分ゲインよりも大きさが小さい第２微分ゲインを乗じることにより微分項が算出される。これにより、微分項の大きさは、第１微分ゲインを用いた場合と比較して小さくなる。従って、偏差の大きさが減少しているとき、同算出された微分項を含むフィードバック補正量に基づいて空燃比が制御されることにより、出力偏差の大きさの減少は第１微分ゲインを用いる場合よりも抑制されない。
【００２４】
このように、本空燃比制御装置によれば、出力偏差の大きさが増加しているとき（即ち、出力値が目標値から遠ざかっているとき）、出力偏差の大きさの増加が十分に抑制され、一方、出力偏差の大きさが減少しているとき（即ち、出力値が目標値に近づいているとき）、出力偏差の大きさの減少がそれほど抑制されないので、出力偏差の大きさの増減にかかわらず微分ゲインが一定である場合と比較して出力値を目標値に迅速に近づけることができる。この結果、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【００２５】
この場合、前記空燃比フィードバック制御手段は、
現時点の前記出力偏差と現時点よりも前の時点の前記出力偏差とに基づいて前記時間微分値を求めるとともに、前記出力偏差の大きさが減少している場合において同現時点の出力偏差の符号と同前の時点の出力偏差の符号とが相違するとき、同時間微分値に前記第２微分ゲインよりも大きさが大きい第３微分ゲインを乗じることにより前記微分項を算出するように構成されることが好適である。なお、第３微分ゲインは、第１微分ゲインであってもよい。
【００２６】
上述したように、本空燃比制御装置においては、出力偏差の大きさが減少している場合、出力偏差の変化を抑制する程度がより小さくなるように微分項の算出に第２微分ゲインが使用される。ところで、出力偏差の大きさが減少している場合であって現時点よりも前の時点にて目標値よりも小さかった出力値が現時点にて目標値を上回る（又は、目標値よりも大きかった出力値が現時点にて目標値を下回る）場合がある。このような場合（即ち、いわゆる「オーバーシュート」又は「アンダーシュート」発生時）、出力偏差の変化を抑制する程度が小さいと、次の時点における出力値が目標値から過度に遠ざかってしまう恐れがあった。
【００２７】
これに対し、上記構成によれば、出力偏差の大きさが減少している場合において、現時点の出力偏差の符号と現時点よりも前の時点の出力偏差の符号とが相違するとき、第２微分ゲインよりも大きさが大きい第３微分ゲインを乗じることにより微分項が算出される。これにより、出力偏差の変化を抑制する程度は小さくされない。この結果、次の時点における出力値が目標値から過度に遠ざかることを防止することができる。従って、出力値を目標値により迅速に近づけることができ、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【００２８】
一方、前記空燃比フィードバック制御手段は、
前記出力偏差の大きさが減少している場合において同出力偏差の大きさが所定の閾値よりも小さいとき、前記時間微分値に前記第２微分ゲインよりも大きさが大きい第４微分ゲインを乗じることにより前記微分項を算出するように構成されることが好適である。なお、第４微分ゲインは、第１微分ゲインであってもよい。
【００２９】
上記空燃比制御装置においては、出力偏差の大きさが減少している場合、出力偏差の変化を抑制する程度がより小さくなるように微分項の算出に第２微分ゲインが使用される。ところで、前述したように、微分項は、出力偏差の大きさを抑制するように機能する。一方、空燃比センサの出力値が所定の目標値に十分に近づいているとき、即ち、出力偏差の大きさが所定の閾値よりも小さいときには、空燃比制御の目的は実質的に達成されていると考えられる。従って、そのような状態において何らかの理由により出力偏差の大きさが大きくされるならば、その出力偏差の大きさの変化を微分項により抑制するように制御したほうがよい。
【００３０】
そこで、上記構成のように、出力偏差の大きさが減少している場合であっても、出力偏差の大きさが所定の閾値よりも小さいときには、第２微分ゲインに代えて第２微分ゲインよりも大きさが大きい第４微分ゲインを乗じることにより微分項を算出することにより、出力値が目標値と略一致した状態を維持し得る可能性が高まる。即ち、実際の空燃比を目標とする空燃比に略一致させておくことが可能となる。
【発明を実施するための最良の形態】
【００３１】
＜第１実施形態＞
以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しながら説明する。図２は、本発明の第１実施形態による内燃機関の空燃比制御装置を４サイクル火花点火方式により運転される多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。なお、図２は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００３２】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０に混合ガス（本例では、ガソリン混合気）を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０と、を含んでいる。
【００３３】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１、ピストン２２のヘッド及びシリンダヘッド部３０は、燃焼室（気筒）２５を形成している。
【００３４】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともにインテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射することにより燃焼室２５内に同燃料を供給するインジェクタ（燃料供給手段）３９を備えている。
【００３５】
吸気系統４０は、吸気ポート３１に連通し吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３及びスロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａを備えている。吸気系統４０は、外部から空気を取り込むとともに同取り込んだ空気を各気筒の燃焼室２５へ供給するようになっている。
【００３６】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１（実際には、エキゾーストマニホールド５１の集合部）に接続されたエキゾーストパイプ（排気管）５２、エキゾーストパイプ５２に配設（介装）された排ガス浄化用触媒としての三元触媒５３（上流側触媒コンバータ又はスタート・キャタリティック・コンバータとも云うが、以下「第１触媒５３」と称呼する。）及び第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）された下流側の三元触媒５４（車両のフロア下方に配設されるので、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第２触媒５４」と称呼する。）を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。排気通路は、燃焼室２５にて燃料と空気とを含む混合ガスが燃焼することにより生成された燃焼ガスである排ガスが通過するようになっている。
【００３７】
第１触媒５３及び第２触媒５４のそれぞれは、排ガス中の酸素を吸蔵するようになっている。更に、第１触媒５３及び第２触媒５４のそれぞれは、排ガス中の燃料の未燃成分と、同排ガス中の酸素又は同吸蔵された酸素と、の反応を促進することにより同排ガスを排気通路内にて浄化するようになっている。
【００３８】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路（本例では、上記エキゾーストマニホールド５１の集合部）に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６７（以下、「下流側空燃比センサ６７」と称呼する。）、アクセル開度センサ６８及び電気制御装置７０を備えている。
【００３９】
熱線式エアフローメータ６１は、吸気管４１内を通る吸入空気の単位時間あたりの質量流量を検出し、吸入空気流量Gaを表す信号を出力するようになっている。
スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）生じる一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。
【００４０】
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に生じる幅狭のパルスを有するとともにクランク軸２４が３６０°回転する毎に生じる幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。
水温センサ６５は、内燃機関１０を冷却する冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００４１】
上流側空燃比センサ６６は、限界電流式の空燃比センサである。上流側空燃比センサ６６は、検出対象ガス（本例では、第１触媒５３の上流の排ガス）中の酸素濃度及び燃料の未燃成分（例えば、炭化水素）濃度に基づいて空燃比Ａ／Ｆに応じた電流を出力し、出力された電流に応じた電圧Vabyfsを出力値として出力するようになっている。
【００４２】
上流側空燃比センサ６６の出力値Vabyfsは、図３に示したように、空燃比Ａ／Ｆがよりリーン側の空燃比になるにつれて単調に増加し且つ空燃比Ａ／Ｆに略比例して変化する。更に、上流側空燃比センサ６６の出力値Vabyfsは、空燃比Ａ／Ｆが理論空燃比であるとき、理論空燃比対応値Vstoichに一致する。このような構成により、上流側空燃比センサ６６は、広い範囲にわたる空燃比Ａ／Ｆを精度良く検出する。
【００４３】
下流側空燃比センサ６７は、起電力式（濃淡電池式）の空燃比センサである。下流側空燃比センサ６７は、検出対象ガス（本例では、第１触媒５３の下流の排ガス）中の酸素濃度に基づいて空燃比Ａ／Ｆに応じた電圧Voxsを出力値として出力するようになっている。
【００４４】
下流側空燃比センサ６７の出力値Voxsは、図４に示したように、空燃比Ａ／Ｆがよりリーン側の空燃比になるにつれて単調に減少する。出力値Voxsは、理論空燃比近傍において急変する。即ち、出力値Voxsは、空燃比Ａ／Ｆが理論空燃比よりもリーン側からリッチ側へ変化する際、又は、その逆向きに変化する際、急変する。出力値Voxsは、空燃比Ａ／Ｆが理論空燃比近傍以外の空燃比であって理論空燃比よりもリーン側の空燃比であるとき略０．１（Ｖ）の値をとりながら空燃比の増大に伴って緩やかに減少し、空燃比Ａ／Ｆが理論空燃比近傍以外の空燃比であって理論空燃比よりもリッチ側の空燃比であるとき略０．９（Ｖ）の値をとりながら空燃比の減少に伴って緩やかに増大する。また、出力値Voxsは、空燃比Ａ／Ｆが理論空燃比であるとき０．５（Ｖ）となる。
【００４５】
アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、アクセルペダル８１の操作量（アクセルペダル操作量）Accpを表す信号を出力するようになっている。
【００４６】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９及びスロットル弁アクチュエータ４３ａに駆動信号を送出するようになっている。
【００４７】
次に、上記のように構成された内燃機関の空燃比制御装置が行う空燃比のフィードバック制御について説明する。
【００４８】
この空燃比制御装置は、下流側空燃比センサ６７の出力値Voxsが所定の下流側目標値Voxsrefに一致するように、上流側空燃比センサ６６の出力値Vabyfs（即ち、第１触媒５３上流の空燃比）及び下流側空燃比センサ６７の出力値Voxs（即ち、第１触媒５３下流の空燃比）に基づいて上流側フィードバック補正量DFiを決定し、同決定された上流側フィードバック補正量DFiに基づいて燃料噴射量Fiを決定することによって空燃比をフィードバック制御する。
【００４９】
より具体的に述べると、ＣＰＵ７１は、図５にフローチャートにより示した燃料噴射量Fiの算出及び燃料噴射の指示を行うルーチンを、各気筒のクランク角度が排気上死点（排気が実質的に終了するとともに吸気が実質的に開始する上死点）前の所定クランク角度（本例では、ＢＴＤＣ９０°ＣＡ、即ち、排気上死点から９０°だけ進角させた角度）となる毎に、繰り返し実行するようになっている。なお、図５のルーチンの処理が実行されることは、空燃比フィードバック制御手段の機能の一部が達成されることに対応している。
【００５０】
従って、任意の気筒（以下、「燃料噴射気筒」と云うこともある。）のクランク角度が上記所定クランク角度になると、ＣＰＵ７１は、ステップ５００から処理を開始してステップ５０５に進みエアフローメータ６１により検出された吸入空気流量Gaと、クランクポジションセンサ６４により検出されたエンジン回転速度NEと、吸入空気流量Ga及びエンジン回転速度NEと１回の燃焼サイクルに対して気筒に吸入（導入）される筒内空気量Mcとの関係を規定するテーブルMapMcと、に基づいて今回の燃焼サイクルにおいて上記燃料噴射気筒に吸入される予定の筒内吸入空気量Mc(k)（＝MapMc(Ga,NE)）を求める。
【００５１】
ここで、kは、いずれの気筒の吸気行程であるかにかかわらず内燃機関１０において発生した吸気行程の数（即ち、ストローク数）である。更に、添え字の（k）は、筒内吸入空気量Mc(k)がk回目（今回）の吸気行程（ストローク）に対する値であることを示している（以下、他の物理量についても同様。）。
ＣＰＵ７１は、求められた筒内吸入空気量Mcをストローク数kに関連づけてＲＡＭ７３に記憶させる（格納する）。
【００５２】
なお、以下の説明において、MapX(a)と表記されるテーブルは、変数aと値Xとの関係を規定するテーブルを意味することとする。また、値XをテーブルMapX(a)に基づいて求めるとは、値Xを現時点の変数aと、テーブルMapX(a)と、に基づいて求める（決定する）ことを意味することとする。なお、変数は２つ以上であってもよい。
【００５３】
次に、ＣＰＵ７１は、ステップ５１０に進み現時点のエンジン回転速度NE、現時点のアクセルペダル操作量Accp及び現時点のスロットル弁開度TA等に基づいて今回の上流側目標空燃比abyfr(k)を決定する。本例では、上流側目標空燃比abyfr(k)は、理論空燃比に設定される。ＣＰＵ７１は、決定された上流側目標空燃比abyfrをストローク数kに関連づけてＲＡＭ７３に記憶させる（格納する）。
【００５４】
次いで、ＣＰＵ７１は、ステップ５１５に進み上記ステップ５０５にて決定された筒内吸入空気量Mc(k)を上記ステップ５１０にて決定された上流側目標空燃比abyfr(k)により除することによって基本燃料噴射量Fbaseを決定する。
【００５５】
そして、ＣＰＵ７１は、ステップ５２０に進み上記ステップ５１５にて決定された基本燃料噴射量Fbaseに後述するルーチンにて求められている最新の上流側フィードバック補正量DFiを加えることにより燃料噴射量Fiを決定する。
【００５６】
そして、ＣＰＵ７１は、ステップ５２５に進み上記ステップ５２０にて決定された燃料噴射量Fiの燃料が上記燃料噴射気筒のインジェクタ３９により今回の燃焼サイクルに対して噴射されるように同インジェクタ３９に対して噴射指示信号を送出する。
その後、ＣＰＵ７１は、ステップ５９９に進んで本ルーチンを一旦終了する。
【００５７】
<上流側フィードバック補正量の算出>
一方、ＣＰＵ７１は図６にフローチャートにより示した上流側フィードバック補正量DFiの算出を行うルーチンを、所定の演算周期が経過する毎に、繰り返し実行するようになっている。なお、図６のルーチンの処理が実行されることは、空燃比フィードバック制御手段の機能の一部が達成されることに対応している。
【００５８】
従って、所定のタイミングになると、ＣＰＵ７１は、ステップ６００から処理を開始し、ステップ６０５に進んで上流側フィードバック条件が成立しているか否かを判定する。ここで、上流側フィードバック条件は、本例では、内燃機関１０の冷却水温THWが第１の閾値温度以上であり、上流側空燃比センサ６６が活性状態となっていることを含む正常状態であり、及び、筒内吸入空気量Mc（内燃機関１０の負荷）が所定の閾値量以下であるとき、成立する。
【００５９】
先ず、上流側フィードバック条件が成立している場合から説明を続けると、ＣＰＵ７１は、ステップ６０５にて「Ｙｅｓ」と判定してステップ６１０に進み、テーブルMapN(Mc(k),NE)に基づいて遅延ストローク数Nを決定する。ここで、遅延ストローク数Nは、燃料噴射が指示されてから、この指示により噴射された燃料が燃焼に供されたときの混合ガスの空燃比が前記上流側空燃比センサ６６の出力値として現れるまでの間の遅延時間に相当するストローク数である。テーブルMapN(Mc(k),NE)は、実験による測定値に基づいて予め設定されている。
【００６０】
次に、ＣＰＵ７１は、ステップ６１５に進み上記図３に示した上流側空燃比センサ６６の出力値Vabyfsと空燃比Ａ／Ｆとの関係を規定したテーブルMapabyfsと、現時点の上流側空燃比センサ６６の出力値Vabyfs及び後述するルーチンにて求められている下流側フィードバック補正量Vafsfbの和である制御用空燃比相当出力値(Vabyfs+Vafsfb)と、に基づいて現時点における制御用空燃比abyfs（＝Mapabyfs(Vabyfs+Vafsfb)）を求める。
【００６１】
次いで、ＣＰＵ７１は、ステップ６２０に進みＲＡＭ７３に記憶されている筒内吸入空気量Mcのうちの現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k-N)を上記ステップ６１５にて求められた制御用空燃比abyfsにより除することによって、現時点からＮストローク前の実際の筒内供給燃料量Fc(k-N)を求める。
【００６２】
続いて、ＣＰＵ７１は、ステップ６２５に進み上記現時点からＮストローク前の筒内吸入空気量Mc(k-N)を、ＲＡＭ７３に記憶されている目標空燃比abyfrのうちの現時点からＮストローク前の目標空燃比abyfr(k-N)により除することによって、現時点からＮストローク前の目標筒内供給燃料量Fcr(k-N)を求める。
【００６３】
次に、ＣＰＵ７１は、ステップ６３０に進み上記ステップ６２５にて求められた現時点からＮストローク前の目標筒内供給燃料量Fcr(k-N)から上記ステップ６２０にて求められた現時点からＮストローク前の実際の筒内供給燃料量Fc(k-N)を減じることにより筒内供給燃料量偏差DFc（＝Fcr(k-N)-Fc(k-N)）を求める。即ち、筒内供給燃料量偏差DFcは、現時点からＮストローク前の時点において気筒内に供給された燃料の過不足を表す量である。
【００６４】
次いで、ＣＰＵ７１は、ステップ６３５に進み下記(2)式に基づいて筒内供給燃料量偏差DFcを比例・積分処理（ＰＩ処理）することにより上流側フィードバック補正量DFiを求める。
DFi＝(Gp・DFc+Gi・SDFc)・KFB  …(2)
【００６５】
ここで、Gpは予め設定された比例ゲイン（比例定数）であり、Giは予め設定された積分ゲイン（積分定数）である。各ゲインGp及びGiは、いずれも正の値である。また、SDFcは、筒内供給燃料量偏差DFcの時間積分値である。時間積分値SDFcは、後述するステップ６４０にて算出される。なお、本例では、係数KFBは不変であり、予め「１」に設定されている。また、係数KFBは、可変であってもよく、その場合、エンジン回転速度NE及び筒内吸入空気量Mcに基づいて設定されることが好適である。
上流側フィードバック補正量DFiは、上述した図５のステップ５２０にて燃料噴射量Fiが決定される際に用いられる。
【００６６】
そして、ステップ６４０にて上記ステップ６３０にて求められた筒内供給燃料量偏差DFcと時間ステップΔtとの積を現時点における筒内供給燃料量偏差DFcの時間積分値SDFcに加えることにより時間積分値SDFcを更新する。ここで、時間ステップΔtは、本ルーチンが前回実行された時点から今回実行された時点までの時間である。
その後、ＣＰＵ７１は、ステップ６９９に進んで本ルーチンを一旦終了する。
【００６７】
このように、本空燃比制御装置は、現時点からＮストローク前の目標筒内供給燃料量Fcr(k-N)と、現時点からＮストローク前の実際の筒内供給燃料量Fc(k-N)と、が一致するように上流側空燃比センサ６６の出力値Vabyfs及び（下流側空燃比センサ６７の出力値Voxsに基づいて求められる）下流側フィードバック補正量Vafsfbに基づいて空燃比をフィードバック制御する。換言すれば、本空燃比制御装置は、現時点の制御用空燃比abyfsが（現時点からＮストローク前の）上流側目標空燃比abyfrと一致するように空燃比をフィードバック制御する。
【００６８】
次に、上流側フィードバック条件が成立していない場合について説明を続けると、ＣＰＵ７１は、ステップ６０５に進んだとき、同ステップ６０５にて「Ｎｏ」と判定してステップ６５０に進み上流側フィードバック補正量DFiの値を「０」に設定し、その後、ステップ６９９に進んで本ルーチンを一旦終了する。
このように、上流側フィードバック条件が不成立であるとき、上流側フィードバック補正量DFiの値が「０」となるので、上記ステップ５２０にて燃料噴射量Fiは基本燃料噴射量Fbaseに設定される。即ち、実質的に空燃比のフィードバック制御は行われない。
【００６９】
<下流側フィードバック補正量の算出>
また、ＣＰＵ７１は図７にフローチャートにより示した下流側フィードバック補正量Vafsfbの算出を行うルーチンを、所定の演算周期が経過する毎に、繰り返し実行するようになっている。なお、図７のルーチンの処理が実行されることは、空燃比フィードバック制御手段の機能の一部が達成されることに対応している。
【００７０】
従って、所定のタイミングになると、ＣＰＵ７１は、ステップ７００から処理を開始し、ステップ７０５に進んで下流側フィードバック条件が成立しているか否かを判定する。下流側フィードバック条件は、本例では、上述したステップ６０５の上流側フィードバック条件が成立している場合において、内燃機関１０の冷却水温THWが上記第１の閾値温度よりも高い第２の閾値温度以上であり、及び、下流側空燃比センサ６７が活性状態となっていることを含む正常状態であるとき、成立する。
【００７１】
先ず、下流側フィードバック条件が成立している場合から説明を続けると、ＣＰＵ７１は、ステップ７０５にて「Ｙｅｓ」と判定してステップ７１０に進み、下流側目標値Voxsrefから現時点の下流側空燃比センサ６７の出力値Voxsを減じることにより、出力偏差DVoxsを求める。
【００７２】
ここで、下流側目標値Voxsrefは、第１触媒５３の状態が所定の劣化状態となった時（触媒劣化時）及び暖機運転時、第１触媒５３に流入するガスの空燃比の時間平均値が理論空燃比よりもわずかにリッチ側の空燃比となるように設定される。即ち、本例では、下流側目標値Voxsrefは、理論空燃比よりもわずかにリッチ側の空燃比（リッチ空燃比）に対応する値（例えば、０．５５［Ｖ］）に設定される（図４を参照。）。更に、触媒劣化時及び暖機運転時以外のとき、理論空燃比に対応する値（０．５［Ｖ］）に設定される。なお、下流側目標値Voxsrefは、エンジン回転速度NE及びスロットル弁開度TA等に基づいて変更されてもよい。
【００７３】
次に、ＣＰＵ７１はステップ７１５に進んで、下記(3)式に基づいて出力偏差DVoxsの時間微分値（の近似値）DDVoxsを求める。
DDVoxs＝(DVoxs−DVoxs1)／Δt  …(3)
【００７４】
ここで、DVoxs1は、前回の本ルーチンの実行時（現時点より上記演算周期だけ前の時点）において後述するステップ７４０にて設定（更新）された出力偏差DVoxsの前回値である。また、Δtは、時間ステップであって、本ルーチンが前回実行された時点から今回実行された時点までの時間（即ち、上記演算周期）である。
【００７５】
次いで、ＣＰＵ７１は、ステップ７２０に進み上記ステップ７１０にて求められた現時点の出力偏差（出力偏差の今回値）DVoxsの大きさ（絶対値）|DVoxs|が、前回の本ルーチンの実行時において後述するステップ７４０にて設定された出力偏差の前回値DVoxs1の大きさ|DVoxs1|よりも大きいか否かを判定する。
【００７６】
いま、第１触媒５３の状態が上記劣化状態ではない正常状態から同劣化状態に変化したと判定されることにより下流側目標値Voxsrefが変更された場合を想定して図８を参照しながら説明を続ける。
【００７７】
図８における破線の直線Ｌ０は、時間tに対する下流側目標値Voxsrefの変化を示している。また、実線の曲線Ｌ１，Ｌ２及びＬ３は、それぞれ下流側空燃比センサの出力値Voxs、出力偏差DVoxs及び微分項Kd・dDVoxs/dtの時間tに対する変化を示している。
【００７８】
この場合、図８に示したように、第１触媒５３の状態が上記正常状態から上記劣化状態に変化したと検出（判定）された時点t0より前の時点では、下流側目標値Voxsrefは、理論空燃比に対応する理論空燃比対応値Voxsrefsに設定されている。更に、時点t0以降の時点では、下流側目標値Voxsrefは、リッチ空燃比に対応するリッチ空燃比対応値Voxsrefrに設定される。
【００７９】
従って、時点t0の直後の最初に本ルーチンが実行されている時点t01では、出力偏差の前回値の大きさ|DVoxs1|は、略０である。更に、出力偏差の今回値の大きさ|DVoxs|は、理論空燃比対応値Voxsrefsとリッチ空燃比対応値Voxsrefrとの差の大きさに略等しい。即ち、出力偏差の今回値の大きさ|DVoxs|は、出力偏差の前回値の大きさ|DVoxs1|よりも大きい（出力偏差DVoxsの大きさは急激に増加している）。従って、ＣＰＵ７１は、ステップ７２０にて「Ｙｅｓ」と判定してステップ７２５に進み微分ゲイン（微分定数）Kdを予め設定された第１微分ゲインKd1に設定する。第１微分ゲインKd1は、所定の正の値である。
【００８０】
次いで、ＣＰＵ７１は、ステップ７３０に進み下記(4)式に基づいて出力偏差DVoxsを比例・積分・微分処理（ＰＩＤ処理）することにより下流側フィードバック補正量Vafsfbを求める。
Vafsfb＝Kp・DVoxs＋Ki・SDVoxs＋Kd・DDVoxs  …(4)
【００８１】
ここで、Kpは予め設定された比例ゲイン（比例定数）であり、Kiは予め設定された積分ゲイン（積分定数）である。各ゲインKp及びKiは、いずれも正の値である。また、SDVoxsは、出力偏差DVoxsの時間積分値であり、後述するステップ７３５にて算出される。
【００８２】
このようにして、本空燃比制御装置は、下流側目標値Voxsrefと下流側空燃比センサ６７の出力値Voxsとの差である出力偏差DVoxsに基づいて下流側フィードバック補正量Vafsfbを求める。この下流側フィードバック補正量Vafsfbは、上記ステップ６１５にて制御用空燃比abyfsが求められる際に用いられる。
【００８３】
そして、ＣＰＵ７１は、ステップ７３５に進み上記ステップ７１０にて求められた出力偏差DVoxsと時間ステップΔtとの積を現時点における出力偏差の時間積分値SDVoxsに加えることにより時間積分値SDVoxsを更新する。そして、ＣＰＵ７１は、ステップ７４０に進み出力偏差の前回値DVoxs1を上記ステップ７１０にて求めた出力偏差の今回値DVoxsに設定する。
その後、ＣＰＵ７１は、ステップ７９９に進んで本ルーチンを一旦終了する。
【００８４】
このように、出力偏差DVoxsの大きさが増加しているとき（出力偏差の今回値の大きさ|DVoxs|が出力偏差の前回値の大きさ|DVoxs1|よりも大きいとき）、微分ゲインKdが第１微分ゲインKd1に設定（微分ゲインKdとして第１微分ゲインKd1が選択）され、出力偏差の時間微分値DDVoxsに第１微分ゲインKd1を乗じることにより微分項（上記(4)式の第３項）Kd・DDVoxsが算出される。
【００８５】
この時点（時点t01）では、出力偏差DVoxsが急増しているので、微分項Kd・DDVoxsは、大きな正の値となる。また、出力偏差DVoxsは正の値であるから、比例項Kp・DVoxsは正の値となり、積分項Ki・SDVoxsは増大する。これにより、下流側フィードバック補正量Vafsfbが急激に増大するので、空燃比はリッチ側に大きく補正される。この結果、出力値Voxsが急増して出力偏差DVoxsの大きさは十分に大きく減少する。
【００８６】
そして、上記演算周期が経過して再びＣＰＵ７１が本ルーチンの処理を開始する。この時点では、出力偏差DVoxsの大きさが減少しているので、出力偏差の今回値の大きさ|DVoxs|は、出力偏差の前回値の大きさ|DVoxs1|よりも小さい。
【００８７】
従って、ＣＰＵ７１がステップ７２０に進んだとき、ＣＰＵ７１は、同ステップ７２０にて「Ｎｏ」と判定してステップ７５０に進み微分ゲインKdを予め設定された第２微分ゲインKd2に設定する。ここで、第２微分ゲインKd2は、第１微分ゲインKd1と同じ符号を有し（即ち、正の値であり）且つ第１微分ゲインKd1よりも大きさが小さい値であって、本例では、「０」である。
【００８８】
次いで、ＣＰＵ７１は、上述したように、ステップ７３０に進み下流側フィードバック補正量Vafsfbを算出する。このとき、微分ゲインKdが第２微分ゲインKd2（即ち、「０」）に設定されているので、微分項Kd・DDVoxsは「０」となる。一方、出力偏差DVoxsが正の値であるので、比例項Kp・DVoxsは正の値となり、積分項Ki・SDVoxsは増大する。これにより、下流側フィードバック補正量Vafsfbが増大するので、空燃比はリッチ側に補正される。その結果、出力値Voxsは下流側目標値Voxsrefに近づけられる。
【００８９】
その後、ＣＰＵ７１は、ステップ７３５以降のステップに進んで、図７のルーチンを一旦終了する。
【００９０】
そして、時間が経過して以上の処理が繰り返し実行されることによって、出力値Voxsは下流側目標値Voxsrefに近づいていく。その後、時点t1になると、出力値Voxsは下流側目標値Voxsrefに到達する。このように、時点t01より後の時点であって時点t1までの期間Ａにおいては、出力値Voxsが下流側目標値Voxsrefに近づいていくので出力偏差DVoxsの大きさは減少している。従って、微分ゲインKdが第２微分ゲインKd2に設定されるので、微分項Kd・DDVoxsは「０」になっている。即ち、出力値Voxsを下流側目標値Voxsrefに近づけることを阻害する向きの符号を有する時間微分値DDVoxsに基づく微分項Kd・DDVoxsが実質的に下流側フィードバック補正量Vafsfbに含まれないようにされているので、出力偏差DVoxsの大きさの減少が微分項Kd・DDVoxsにより抑制されない。この結果、出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができる。
【００９１】
時点t1にて出力値Voxsがオーバーシュートして下流側目標値Voxsrefを上回ると、出力偏差DVoxsは負の値となりながら減少する。従って、時点t1以降において、出力偏差DVoxsの大きさが増加するから、この時点にて本ルーチンが実行されると、微分項Kd・DDVoxsの算出に第１微分ゲインKd1が使用される。この時点では、出力偏差DVoxsは負の値であるから、比例項Kp・DVoxsは負の値となり、積分項Ki・SDVoxsは減少する。また、出力偏差DVoxsが減少しているので、微分項Kd・DDVoxsは負の値となる。従って、下流側フィードバック補正量Vafsfbが比較的速やかに減少するから、空燃比はリーン側に補正される。
【００９２】
これにより、出力値Voxsは下流側目標値Voxsrefからそれほど遠ざかることなく、時点t2にて再び下流側目標値Voxsrefに近づき始める。このように、時点t1から時点t2の期間Ｂにおいては、微分項Kd・DDVoxsは、比例項Kp・DVoxs及び積分項Ki・SDVoxsとともに、下流側フィードバック補正量Vafsfbを減少させるように作用する。換言すると、期間Ｂにおいて、微分項Kd・DDVoxsは、空燃比をリーン側に補正するように作用する。従って、期間Ｂにおいては、微分項Kd・DDVoxsにより、出力値Voxsが下流側目標値Voxsrefから遠ざかること（出力偏差DVoxsの大きさの増加）が抑制される。
【００９３】
時点t2にて出力値Voxsが下流側目標値Voxsrefに近づき始めると、出力偏差DVoxsは負の値をとりながら増加し始める。従って、時点t2以降において、出力偏差DVoxsの大きさが減少するから、この時点にて本ルーチンが実行されると、期間Ａにて実行された場合と同様に、微分項Kd・DDVoxsの算出に第２微分ゲインKd2が使用される。従って、微分項Kd・DDVoxsは「０」となる。一方、出力偏差DVoxsが負の値のままであるので、比例項Kp・DVoxsは負の値となり、積分項Ki・SDVoxsは減少する。これにより、下流側フィードバック補正量Vafsfbが減少するので、空燃比はリーン側に補正される。その結果、出力値Voxsは下流側目標値Voxsrefに近づけられる。その後、時点t3になると、出力値Voxsは下流側目標値Voxsrefに到達する。
【００９４】
このように、時点t2から時点t3までの期間Ｃにおいては、出力値Voxsが下流側目標値Voxsrefに近づいていくので出力偏差DVoxsの大きさは減少している。従って、微分ゲインKdが第２微分ゲインKd2に設定されるので、微分項Kd・DDVoxsは「０」になっている。即ち、微分項Kd・DDVoxsが実質的に下流側フィードバック補正量Vafsfbに含まれないようにされているので、出力偏差DVoxsの大きさの減少が微分項Kd・DDVoxsにより抑制されない。この結果、出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができる。
【００９５】
時点t3にて出力値Voxsがアンダーシュートして下流側目標値Voxsrefを下回ると、出力偏差DVoxsは正の値となりながら増大する。従って、時点t3以降において、出力偏差DVoxsの大きさが増加するから、この時点にて本ルーチンが実行されると、期間Ｂにて実行された場合と同様に、微分項Kd・DDVoxsの算出に第１微分ゲインKd1が使用される。この時点では、出力偏差DVoxsは正の値であるから、比例項Kp・DVoxsは正の値となり、積分項Ki・SDVoxsは増加する。また、出力偏差DVoxsが増加しているので、微分項Kd・DDVoxsは正の値となる。従って、下流側フィードバック補正量Vafsfbが比較的速やかに増加するから、空燃比はリッチ側に補正される。
【００９６】
これにより、出力値Voxsは下流側目標値Voxsrefからそれほど遠ざかることなく、時点t4にて再び下流側目標値Voxsrefに近づき始める。このように、時点t3から時点t4の期間Ｄにおいては、微分項Kd・DDVoxsは、比例項Kp・DVoxs及び積分項Ki・SDVoxsとともに、下流側フィードバック補正量Vafsfbを増加させるように作用する。換言すると、期間Ｄにおいて、微分項Kd・DDVoxsは、空燃比をリッチ側に補正するように作用する。従って、期間Ｄにおいては、微分項Kd・DDVoxsにより、出力値Voxsが下流側目標値Voxsrefから遠ざかること（出力偏差DVoxsの大きさの増加）が抑制される。
【００９７】
このように、本空燃比制御装置によれば、出力偏差DVoxsの大きさが増加しているとき（時点t1、期間Ｂ及び期間Ｄにおいて）、出力偏差DVoxsの大きさの増加が十分に抑制され、一方、出力偏差DVoxsの大きさが減少しているとき（期間Ａ及び期間Ｃにおいて）、出力偏差DVoxsの大きさの減少がそれほど抑制されないので、出力偏差DVoxsの大きさの増減にかかわらず微分ゲインが一定である場合と比較して出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができる。この結果、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【００９８】
次に、下流側フィードバック条件が成立していない場合について説明を続けると、ＣＰＵ７１は、ステップ７０５に進んだとき、同ステップ７０５にて「Ｎｏ」と判定してステップ７６０に進み下流側フィードバック補正量Vafsfbの値を「０」に設定し、その後、ステップ７９９に進んで本ルーチンを一旦終了する。
このように、下流側フィードバック条件が不成立であるとき、下流側フィードバック補正量Vafsfbの値が「０」となるので上流側空燃比センサ６６の出力値Vabyfsのみに基づいて空燃比がフィードバック制御される。
【００９９】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第１実施形態によれば、出力偏差DVoxsの大きさが増加しているとき（即ち、出力値Voxsが下流側目標値Voxsrefから遠ざかっているとき）、出力偏差DVoxsの時間微分値に第１微分ゲインKd1を乗じることにより微分項が算出される。一方、出力偏差DVoxsの大きさが減少しているとき（即ち、出力値Voxsが下流側目標値Voxsrefに近づいているとき）、出力偏差DVoxsの時間微分値に第１微分ゲインKd1よりも大きさが小さい第２微分ゲインKd2を乗じることにより微分項が算出される。更に、同算出された微分項を含む下流側フィードバック補正量Vafsfbに基づいて空燃比が制御される。
【０１００】
これにより、出力偏差DVoxsの大きさが増加しているとき、出力偏差DVoxsの大きさの増加が十分に抑制され、一方、出力偏差DVoxsの大きさが減少しているとき、出力偏差DVoxsの大きさの減少がそれほど抑制されない。この結果、出力偏差DVoxsの大きさの増減にかかわらず微分ゲインが一定である場合と比較して出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができ、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【０１０１】
＜第２実施形態＞
次に、本発明の第２実施形態に係る内燃機関の空燃比制御装置について説明する。第２実施形態に係る空燃比制御装置は、下流側フィードバック補正量Vafsfbの算出を行うルーチンとして図７のルーチンに代わるルーチンを実行する点において上記第１実施形態に係る空燃比制御装置と相違している。以下、かかる相違点を中心として説明する。
【０１０２】
このルーチンは、上記第１実施形態に係る図７に示したルーチンのステップ７２０とステップ７３０との間に、図９にフローチャートにより示したステップ９０５及びステップ９１０の処理を加えたルーチンである。
以下、本ルーチンの処理について４つの場合に分けて説明する。
【０１０３】
まず、（１）出力偏差の今回値（現時点の出力偏差）の大きさ|DVoxs|が出力偏差の前回値（現時点よりも上記演算周期だけ前の時点の出力偏差）の大きさ|DVoxs1|よりも大きい場合から説明する。この場合、ＣＰＵ７１が本ルーチンの処理を開始して、上述したようにステップ７０５からステップ７１５までの処理を実行し、ステップ７２０に進んだとき、ＣＰＵ７１は、同ステップ７２０にて「Ｙｅｓ」と判定してステップ７２５に進み微分ゲイン（微分定数）Kdを第１微分ゲインKd1に設定する。次いで、ＣＰＵ７１は、上述したように、ステップ７３０に進み下流側フィードバック補正量Vafsfbを算出し、ステップ７３５以降のステップに進んで、本ルーチンを一旦終了する。
【０１０４】
一方、（２）出力偏差の今回値の大きさ|DVoxs|が出力偏差の前回値の大きさ|DVoxs1|以下である場合であって、出力偏差の前回値DVoxs1と出力偏差の今回値DVoxsとの積が正の値であり、且つ、出力偏差の今回値の大きさ|DVoxs|が所定の閾値αよりも大きい場合について説明を続ける。
【０１０５】
この場合、ＣＰＵ７１が本ルーチンの処理を開始してステップ７２０に進んだとき、ＣＰＵ７１は、同ステップ７２０にて「Ｎｏ」と判定してステップ９０５に進んで、出力偏差の前回値DVoxs1と出力偏差の今回値DVoxsとの積が正の値であり（即ち、出力偏差の前回値DVoxs1の符号と出力偏差の今回値DVoxsの符号とが一致し）、且つ、出力偏差の今回値の大きさ|DVoxs|が所定の閾値αよりも大きいか否かを判定する。
【０１０６】
そして、ＣＰＵ７１は、同ステップ９０５にて「Ｙｅｓ」と判定してステップ７５０に進み微分ゲインKdを第２微分ゲインKd2に設定する。次いで、ＣＰＵ７１は、上述したように、ステップ７３０に進み下流側フィードバック補正量Vafsfbを算出し、ステップ７３５以降のステップに進んで、本ルーチンを一旦終了する。
【０１０７】
また、（３）出力偏差の今回値の大きさ|DVoxs|が出力偏差の前回値の大きさ|DVoxs1|以下である場合であって出力偏差の前回値DVoxs1と出力偏差の今回値DVoxsとの積が負の値（「０」を含む。）である場合、又は、（４）出力偏差の今回値の大きさ|DVoxs|が出力偏差の前回値の大きさ|DVoxs1|以下である場合であって出力偏差の今回値の大きさ|DVoxs|が所定の閾値α以下である場合、について説明を続ける。
【０１０８】
この場合、ＣＰＵ７１が本ルーチンの処理を開始してステップ７２０に進んだとき、ＣＰＵ７１は、同ステップ７２０にて「Ｎｏ」と判定してステップ９０５に進む。更に、ＣＰＵ７１は、同ステップ９０５にて「Ｎｏ」と判定してステップ９１０に進み微分ゲインKdを第３微分ゲイン又は第４微分ゲインとしての第１微分ゲインKd1に設定する。次いで、ＣＰＵ７１は、上述したように、ステップ７３０に進み下流側フィードバック補正量Vafsfbを算出し、ステップ７３５以降のステップに進んで、本ルーチンを一旦終了する。
【０１０９】
以上のように、本ルーチンにおいては、（１）の場合、（３）の場合及び（４）の場合のいずれかの場合、微分ゲインKdは第１微分ゲインKd1に設定され、一方、（２）の場合、微分ゲインKdは第２微分ゲインKd2に設定される。
【０１１０】
以下、上述した下流側フィードバック補正量Vafsfbの算出を行うルーチンによる作用及び効果を上記第１実施形態と比較して説明する。
【０１１１】
まず、図１０に示したように、出力偏差の前回値（時点t1における同ルーチンの実行中、ステップ７４０にて設定された値）DVoxs1が負の値ＤＶ１になり、及び、出力偏差の今回値（時点t2における同ルーチンの実行中、ステップ７１０にて設定された値）DVoxsが正の値であり（即ち、出力偏差の前回値ＤＶ１と符号が異なり）且つ出力偏差の前回値ＤＶ１よりも大きさが小さい値ＤＶ２になった場合（ＤＶ１・ＤＶ２＜０、且つ、｜ＤＶ１｜＞｜ＤＶ２｜）から説明する。
【０１１２】
この場合、上記第１実施形態は、出力偏差の前回値ＤＶ１の大きさよりも出力偏差の今回値ＤＶ２の大きさが小さいために、時点t2においては、出力偏差DVoxsの大きさが減少していると判定する（図７のステップ７２０）。その結果、第１実施形態は、第２微分ゲインKd2を使用して（図７のステップ７５０）下流側フィードバック補正量Vafsfbを算出する。従って、微分項Kd・DDVoxsにより、出力偏差DVoxsの変化が抑制されない。この結果、次回の本ルーチンの実行時（時点t3）における出力偏差の今回値DVoxsは、値ＤＶ３’となる。
【０１１３】
一方、第２実施形態は、出力偏差の前回値ＤＶ１に対する出力偏差の今回値ＤＶ２の関係においては出力偏差DVoxsの大きさが減少していると判定する（図９のステップ７２０）ものの、出力偏差の前回値ＤＶ１の符号と出力偏差の今回値ＤＶ２の符号とが相違しているので「オーバーシュート」又は「アンダーシュート」が発生していると判定する（図９のステップ９０５）。
【０１１４】
その結果、第２実施形態は、第１微分ゲインKd1を使用して（図９のステップ９１０）下流側フィードバック補正量Vafsfbを算出する。従って、微分項Kd・DDVoxsにより、出力偏差DVoxsの変化が抑制される。この結果、次回の本ルーチンの実行時（時点t3）における出力偏差の今回値DVoxsは、第１実施形態の場合の値ＤＶ３’よりも大きさが小さい値ＤＶ３となる。
【０１１５】
換言すると、第１実施形態の場合（第２微分ゲインKd2が使用される場合）と比較して出力偏差DVoxsの変化を抑制する程度が小さくされないので、次の時点t3における出力値Voxsが下流側目標値Voxsrefから過度に遠ざかることを防止することができる。従って、出力値Voxsを下流側目標値Voxsrefにより迅速に近づけることができ、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【０１１６】
次に、図１１に示したように、出力偏差の前回値（時点t1における同ルーチンの実行中、ステップ７４０にて設定された値）DVoxs1が負の値であってその大きさが上記閾値αよりも大きい値ＤＶ１になり、及び、出力偏差の今回値（時点t2における同ルーチンの実行中、ステップ７１０にて設定された値）DVoxsが負の値であってその大きさが上記閾値αよりも小さい値ＤＶ２になった場合（ＤＶ１＜−α＜ＤＶ２＜０）について説明を続ける。
【０１１７】
この場合、上記第１実施形態は、出力偏差の前回値ＤＶ１の大きさよりも出力偏差の今回値ＤＶ２の大きさが小さいために、時点t2においては、出力偏差DVoxsの大きさが減少していると判定する（図７のステップ７２０）。その結果、第１実施形態は、第２微分ゲインKd2を使用して（図７のステップ７５０）下流側フィードバック補正量Vafsfbを算出する。従って、微分項Kd・DDVoxsにより、出力偏差DVoxsの変化が抑制されない。この結果、次回の本ルーチンの実行時（時点t3）における出力偏差の今回値DVoxsは、値ＤＶ３’となる。
【０１１８】
一方、第２実施形態は、出力偏差の前回値ＤＶ１と出力偏差の今回値ＤＶ２との関係からは出力偏差DVoxsの大きさが減少していると判定する（図９のステップ７２０）ものの、出力偏差の今回値ＤＶ２の大きさが所定の閾値αよりも小さいので出力値Voxsが下流側目標値Voxsrefに十分に近づいていると判定する（図９のステップ９０５）。
【０１１９】
その結果、第２実施形態は、第１微分ゲインKd1を使用して（図９のステップ９１０）下流側フィードバック補正量Vafsfbを算出する。従って、微分項Kd・DDVoxsにより、出力偏差DVoxsの変化が抑制される。この結果、次回の本ルーチンの実行時（時点t3）における出力偏差の今回値DVoxsは、第１実施形態の場合の値ＤＶ３’よりも大きさが小さい値ＤＶ３となる。
【０１２０】
換言すると、第１実施形態の場合（第２微分ゲインKd2が使用される場合）と比較して出力偏差DVoxsの変化を抑制する程度が小さくされないので、出力値Voxsが下流側目標値Voxsrefと近しい状態（略一致した状態）を維持することができ、実際の空燃比が目標とする空燃比に略一致した状態を維持することができる。
【０１２１】
以上、説明したように、本発明による内燃機関の空燃比制御装置の第２実施形態によれば、上記第１実施形態と同様に、出力偏差DVoxsの大きさが増加しているとき、出力偏差DVoxsの大きさの増加が十分に抑制され、一方、出力偏差DVoxsの大きさが減少しているとき、出力偏差DVoxsの大きさの減少がそれほど抑制されない。この結果、出力偏差DVoxsの大きさの増減にかかわらず微分ゲインが一定である場合と比較して出力値Voxsを下流側目標値Voxsrefに迅速に近づけることができる。従って、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【０１２２】
更に、上記第２実施形態によれば、出力偏差DVoxsの大きさが減少している場合であっても、出力値Voxsが下流側目標値Voxsrefを超えて変化するとき（「オーバーシュート」又は「アンダーシュート」発生時）は、微分項の算出に第２微分ゲインKd2よりも大きさが大きい第１微分ゲインKd1が選択される。これにより、出力偏差DVoxsの変化が第２微分ゲインKd2を用いる場合よりも抑制される。この結果、現時点よりも先の時点における下流側空燃比センサ６７の出力値Voxsが下流側目標値Voxsrefから過度に遠ざかることを防止することができるので、出力値Voxsを下流側目標値Voxsrefにより迅速に近づけることができる。従って、実際の空燃比を目標とする空燃比に迅速に一致させることができる。
【０１２３】
加えて、上記第２実施形態によれば、出力偏差DVoxsの大きさが減少している場合であっても、出力値Voxsが下流側目標値Voxsrefと十分に近しい値であるときは、微分項の算出に第２微分ゲインKd2よりも大きさが大きい第１微分ゲインKd1が選択される。これにより、出力偏差DVoxsの変化が第２微分ゲインKd2を用いる場合よりも抑制される。この結果、出力値Voxsが下流側目標値Voxsrefと十分に近しい状態（略一致した状態）を維持し得る可能性が高まり、実際の空燃比を目標とする空燃比に略一致させておくことが可能となる。
【０１２４】
また、上記第２実施形態は、出力偏差の前回値DVoxs1の符号と出力偏差の今回値DVoxsの符号とが相違しているという第１の条件と、出力偏差の今回値の大きさ|DVoxs|が所定の閾値α以下であるという第２の条件と、の２つの条件を１つのステップ（ステップ９０５）にて判定するように構成されていたが、同２つの条件を２つのステップにて１つずつ判定するように構成されていてもよい。
【０１２５】
この場合、以下のように構成されていることが好適である。
先ず、第１の条件の成立の可否が判定される。第１の条件が成立していると判定された場合、微分ゲインKdが第３微分ゲインに設定される。一方、第１の条件が成立していないと判定された場合、第２の条件の成立の可否が判定され、その結果、第２の条件が成立していると判定されたときには微分ゲインKdが第４微分ゲインに、第２の条件が成立していないと判定されたときには微分ゲインKdが第２微分ゲインKd2に設定される。
ここで、第３微分ゲイン及び第４微分ゲインは、いずれも第２微分ゲインKd2よりも大きさが大きい正の値である。なお、上記２つの条件の判定順序は逆であってもよい。
【０１２６】
加えて、上記第２実施形態においては、ステップ９０５内に示した条件が不成立であると判定されたとき微分ゲインKdが第１微分ゲインKd1に設定されるように構成されていたが、第１微分ゲインKd1と異なる値であって第２微分ゲインKd2よりも大きさが大きい値に設定されるように構成されていてもよい。
【０１２７】
更に、上記ステップ９０５は、上記第１の条件と、上記第２の条件と、の両方の条件に基づいて第１微分ゲインKd1及び第２微分ゲインKd2のいずれを微分項の算出に使用するかを決定するステップであったが、使用する微分ゲインをいずれか一方の条件のみに基づいて決定するステップとしてもよい。
【０１２８】
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上流側フィードバック補正量を算出するためのルーチン（図６）及び下流側フィードバック補正量を算出するためのルーチン（図７及び図９）をそれぞれ実行するタイミングは、燃料噴射気筒について燃料噴射開始時期（燃料噴射開始時点）が到来するタイミングであってもよい。
【０１２９】
また、上記各実施形態においては、下流側フィードバック補正量Vafsfbは、比例項、積分項及び微分項からなっていたが、比例項及び積分項のいずれか一方と、微分項と、からなっていてもよい。更に、比例項に代えて、出力偏差の符号に応じて符号が変化するとともに大きさが一定の値となる項を用いてもよい。
【０１３０】
また、上記各実施形態は、
排気通路（５２）に排気浄化用触媒（５３）を配設した内燃機関（１０）に適用され、
前記排気通路を実際に流れるガスの空燃比に対して単調増加又は単調減少する出力値（Voxs）を出力する空燃比センサ（６７）と、
前記空燃比センサの出力値が所定の目標値（Voxsref）と一致するように同出力値と同目標値との差である出力偏差（DVoxs）に応じたフィードバック補正量（Vafsfb）を算出するとともに同フィードバック補正量に基づいて前記内燃機関に供給される混合ガスの空燃比を制御する空燃比フィードバック制御手段（図５のルーチン、図６のルーチン及び図７のルーチン）と、
を備えた内燃機関の空燃比制御装置であって、
前記空燃比フィードバック制御手段は、
前記出力偏差に所定の比例ゲイン（Kp）を乗じた比例項（Kp・DVoxs）及び同出力偏差を時間積分した時間積分値（SDVoxs）に所定の積分ゲイン（Ki）を乗じた積分項（Ki・SDVoxs）の少なくとも１つを第１フィードバック項として算出する第１フィードバック項算出手段（図７のルーチン）と、
前記出力偏差の大きさが増加している場合には第１微分ゲイン（Kd1）を選択し（ステップ７２５）、同出力偏差の大きさが減少している場合には同第１微分ゲインと同じ正負の符号を有し且つ同第１微分ゲインよりも大きさが小さい第２微分ゲイン（Kd2）を選択する（ステップ７５０）とともに、同出力偏差の時間微分値（DDVoxs）に同選択した微分ゲイン（Kd）を乗じた微分項（Kd・DDVoxs）を第２フィードバック項として算出する第２フィードバック項算出手段（図７のルーチン）と、
前記第１フィードバック項及び前記第２フィードバック項に基づいて前記フィードバック補正量を算出するフィードバック補正量算出手段（ステップ７３０）と、
を備えた内燃機関の空燃比制御装置である、と言うこともできる。
【０１３１】
更に、上記各実施形態においては、下流側空燃比センサ６７の出力値Voxsに基づく下流側フィードバック補正量Vafsfbの算出に本発明を適用していたが、上流側フィードバック補正量DFiが微分項を含む場合には、上流側空燃比センサ６６の出力値Vabyfsに基づく上流側フィードバック補正量DFiの算出に本発明を適用してもよい。
【図面の簡単な説明】
【０１３２】
【図１】出力値、下流側目標値、出力偏差及び微分項の時間に対する変化を示したグラフである。
【図２】本発明の第１実施形態に係る内燃機関の空燃比制御装置を内燃機関に適用したシステムの概略構成図である。
【図３】図２に示した上流側空燃比センサの出力値と空燃比との関係を示したグラフである。
【図４】図２に示した下流側空燃比センサの出力値と空燃比との関係を示したグラフである。
【図５】図２に示したＣＰＵが実行する燃料噴射量の算出及び燃料の噴射指示を行うためのルーチンを示したフローチャートである。
【図６】図２に示したＣＰＵが実行する上流側フィードバック補正量を算出するためのルーチンを示したフローチャートである。
【図７】図２に示したＣＰＵが実行する下流側フィードバック補正量を算出するためのルーチンを示したフローチャートである。
【図８】出力値、下流側目標値、出力偏差及び微分項の時間に対する変化を示したグラフである。
【図９】本発明の第２実施形態に係る内燃機関の空燃比制御装置のＣＰＵが下流側フィードバック補正量を算出するために図７に示したルーチンに加えて実行する処理を表すフローチャートである。
【図１０】時間に対する出力偏差の変化を示したグラフである。
【図１１】時間に対する出力偏差の変化を示したグラフである。
【符号の説明】
【０１３３】
１０…内燃機関、２５…燃焼室、３９…インジェクタ、５２…エキゾーストパイプ、５３…三元触媒（第１触媒）、６６…上流側空燃比センサ、６７…下流側空燃比センサ、７０…電気制御装置、７１…ＣＰＵ、７３…ＲＡＭ。
【図１】
0004548373.tif 000002
【図２】
0004548373.tif 000003
【図３】
0004548373.tif 000004
【図４】
0004548373.tif 000005
【図５】
0004548373.tif 000006
【図６】
0004548373.tif 000007
【図７】
0004548373.tif 000008
【図８】
0004548373.tif 000009
【図９】
0004548373.tif 000010
【図１０】
0004548373.tif 000011
【図１１】
0004548373.tif 000012