(57)【要約】【課題】触媒の上流側及び下流側の空燃比センサの各々の出力値に基いて機関の空燃比をフィードバック制御する内燃機関の排気浄化装置において、起電力式の下流側空燃比センサを較正することができるものを提供すること。【解決手段】この排気浄化装置は、起電力式の下流側空燃比センサ６７の出力値Ｖｏｘｓと理論空燃比に相当する下流側目標値Ｖｏｘｓｒｅｆとの定常偏差がゼロになるようにサブフィードバック制御量ｖａｆｓｆｂを算出し、同サブフィードバック制御量ｖａｆｓｆｂと不活性状態時の特性を利用して較正した後の限界電流式の上流側空燃比センサ６６の出力値ｖａｂｙｆｓとの和に基づく見かけ上の空燃比ａｂｙｆｓと理論空燃比である上流側目標空燃比ａｂｙｆｒとの定常偏差がゼロになるように機関の空燃比をフィードバック制御する。そして定常状態にあるとき、前記サブフィードバック制御量ｖａｆｓｆｂがゼロになるように下流側空燃比センサ６７を較正する。【選択図】  図５
2004183585.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、
前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサと、
前記上流側空燃比センサの出力値と所定の上流側目標空燃比に対応する所定の上流側目標値とに基いて前記機関の空燃比をフィードバック制御するメインフィードバック制御手段と、
前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値とに基いて、前記フィードバック制御される機関の空燃比を調整するための調整量を算出するとともに同調整量を前記フィードバック制御に使用させることで同機関の空燃比を調整するサブフィードバック制御手段と、を備えた内燃機関の排気浄化装置であって、
前記上流側目標空燃比に対応する前記上流側空燃比センサの出力値と前記上流側目標値とが一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正する上流側較正手段と、
前記上流側較正手段により前記上流側空燃比センサの出力値又は前記上流側目標値が較正された後であって、且つ、前記内燃機関が定常運転状態にあるとき、同上流側空燃比センサの出力値及び前記下流側空燃比センサの出力値に基いて、前記下流側目標空燃比に対応する同下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する下流側較正手段と、
を備えた内燃機関の排気浄化装置。
【請求項２】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、
前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサと、
前記上流側空燃比センサの出力値と所定の上流側目標空燃比に対応する所定の上流側目標値との定常偏差がゼロになるように同上流側空燃比センサの出力値に基いて前記機関の空燃比をフィードバック制御するメインフィードバック制御手段と、
前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値との定常偏差がゼロになるように同下流側空燃比センサの出力値に基いて、前記上流側空燃比センサの出力値又は前記上流側目標値を調整する調整量を算出するとともに同調整量を前記フィードバック制御に使用させることで前記フィードバック制御される機関の空燃比を調整するサブフィードバック制御手段と、を備えた内燃機関の排気浄化装置であって、
前記上流側目標空燃比に対応する前記上流側空燃比センサの出力値と前記上流側目標値とが前記調整量による調整前において一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正する上流側較正手段と、
前記上流側較正手段により前記上流側空燃比センサの出力値又は前記上流側目標値が較正された後の前記フィードバック制御中であって、且つ、前記内燃機関が定常運転状態にあるとき、前記上流側目標空燃比と前記下流側目標空燃比の差、及び前記調整量に基いて、前記下流側目標空燃比に対応する前記下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する下流側較正手段と、
を備えた内燃機関の排気浄化装置。
【請求項３】
請求項２に記載の内燃機関の排気浄化装置において、
前記サブフィードバック制御手段は、少なくとも前記下流側目標値と前記下流側空燃比センサの出力値との差の時間積分値に基いて前記上流側空燃比センサの出力値を調整する前記調整量を算出するように構成されているとともに、
前記上流側目標空燃比と前記下流側目標空燃比とは一致していて、
前記下流側較正手段は、前記時間積分値がゼロになるように同時間積分値に基いて前記下流側空燃比センサの出力値又は前記下流側目標値を較正するよう構成された内燃機関の排気浄化装置。
【請求項４】
内燃機関の排気通路に配設された触媒と、
前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、
前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサとを備えた排気浄化装置に適用される内燃機関の排気浄化方法であって、
所定の上流側目標空燃比に対応する前記上流側空燃比センサの出力値と同上流側目標空燃比に対応する所定の上流側目標値とが一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正し、
その後、前記上流側空燃比センサの出力値と前記上流側目標値との定常偏差がゼロになるように同上流側空燃比センサの出力値に基いて前記機関の空燃比をフィードバック制御し、
前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値との定常偏差がゼロになるように同下流側空燃比センサの出力値に基いて、前記上流側空燃比センサの出力値又は前記上流側目標値を調整する調整量を算出するとともに同調整量を前記フィードバック制御に使用することで前記フィードバック制御される機関の空燃比を調整するとともに、
前記フィードバック制御中であって、且つ、前記内燃機関が定常運転状態にあるとき、前記上流側目標空燃比と前記下流側目標空燃比の差、及び前記調整量に基いて、前記下流側目標空燃比に対応する前記下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する内燃機関の排気浄化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の排気通路に配設された触媒の上流側及び下流側の排気通路にそれぞれ空燃比センサを備え、各空燃比センサの出力値に基いて機関の空燃比をフィードバック制御する内燃機関の排気浄化装置に関する。
【０００２】
【従来の技術】
従来より、この種の排気浄化装置として、例えば下記特許文献１に開示された技術が知られている。この特許文献１に開示された内燃機関の排気浄化装置は、内燃機関の排気通路に配設された触媒よりも上流側及び下流側の排気通路にそれぞれ上流側空燃比センサ、及び下流側空燃比センサを介装し、上流側空燃比センサの出力値と所定の上流側目標空燃比に対応する所定の上流側目標値とが等しくになるように前記機関の空燃比をフィードバック制御するとともに、このフィードバック制御中において下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値とが等しくなるように、前記上流側空燃比センサの出力値を調整する調整量を算出するとともに同調整量を前記フィードバック制御に使用することで前記フィードバック制御される機関の空燃比を調整するようになっている。
【０００３】
換言すれば、上記開示した装置では、前記調整量により調整された後の上流側空燃比センサの出力値が上流側目標値と等しくなるとともに下流側空燃比センサの出力値が下流側目標値と等しくなるように機関の空燃比がフィードバック制御され、その結果、機関の空燃比は最終的には上流側目標値に対応する上流側目標空燃比に拘わらず、下流側目標値に対応する下流側目標空燃比になるように調整される。特に、内燃機関が（所定時間以上継続して）定常運転状態にあると、下流側空燃比センサの出力値が下流側目標値と等しくなって機関の空燃比は前記下流側目標空燃比と等しくなる。
【０００４】
【特許文献１】
特開平７−１９７８３７号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、このとき、新品時における出力特性のばらつきや経年変化等により下流側目標空燃比に対応する（検出される排気ガスの空燃比が下流側目標空燃比であるときの）下流側空燃比センサの出力値が前記下流側目標値から偏移していると、機関の空燃比は同偏移に応じた分だけ前記下流側目標空燃比（例えば、理論空燃比）から外れた値に制御されることになり、その結果、触媒の排気ガス浄化効率が低下することによりエミッションの排出量が増大する。
【０００６】
従って、上記開示した装置では必要に応じて下流側空燃比センサを較正する必要がある。しかしながら、上記開示された装置は下流側空燃比センサを較正するための構成を有していないので、必用に応じて下流側空燃比センサを較正することができないという問題がある。
【０００７】
従って、本発明の目的は、内燃機関の排気通路に配設された触媒の上流側及び下流側の排気通路にそれぞれ上流側空燃比センサ及び下流側空燃比センサを備え、各空燃比センサの出力値に基いて機関の空燃比をフィードバック制御する内燃機関の排気浄化装置において、下流側空燃比センサを較正することができるものを提供することにある。
【０００８】
【本発明の概要】
本発明の第１の特徴は、内燃機関の排気通路に配設された触媒と、前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサと、前記上流側空燃比センサの出力値と所定の上流側目標空燃比に対応する所定の上流側目標値とに基いて前記機関の空燃比をフィードバック制御するメインフィードバック制御手段と、前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値とに基いて、前記フィードバック制御される機関の空燃比を調整するための調整量を算出するとともに同調整量を前記フィードバック制御に使用させることで同機関の空燃比を調整するサブフィードバック制御手段と、を備えた内燃機関の排気浄化装置が、前記上流側目標空燃比に対応する前記上流側空燃比センサの出力値と前記上流側目標値とが一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正する上流側較正手段と、前記上流側較正手段により前記上流側空燃比センサの出力値又は前記上流側目標値が較正された後であって、且つ、前記内燃機関が定常運転状態にあるとき、同上流側空燃比センサの出力値及び前記下流側空燃比センサの出力値に基いて、前記下流側目標空燃比に対応する同下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する下流側較正手段とを備えたことにある。
【０００９】
一般に、触媒よりも上流の前記排気通路に配設された上流側空燃比センサは、広い範囲に渡って排気ガスの空燃比を正確に検出する必要があるので、同上流側空燃比センサとして、広い範囲で空燃比に略比例した出力値を発生することができる所謂限界電流式の酸素濃度センサが使用されることが多い。
【００１０】
この限界電流式の酸素濃度センサは、十分に暖機されて同センサの温度が活性化温度に到達した後に空燃比に応じた出力値を発生する一方で、冷間始動時（機関の温度が略外気温まで低下している状態から機関が始動された時）等、同センサの温度が活性化温度より低くて同センサ（内の触媒）が不活性な状態にあるときは、排気ガスの実際の空燃比に拘わらず理論空燃比に対応する（検出される排気ガスの空燃比が理論空燃比であるときの）出力値を発生し続けるという特性を有する。
【００１１】
従って、上流側空燃比センサとして例えば限界電流式の酸素濃度センサを使用し、且つ、同センサの前記した不活性状態時における特性を利用することにより、上流側較正手段は、冷間始動直後等の上流側空燃比センサが不活性な状態にあるときに、理論空燃比に対応する同上流側空燃比センサの（予め既知となっている）所定の出力目標値（所定の上流側目標値）と同出力目標値と同一の値となるべき同上流側空燃比センサの実際の出力値とを比較することで、所定の上流側目標空燃比（理論空燃比）に対応する同上流側空燃比センサの出力値と同上流側目標空燃比に対応する所定の上流側目標値とが一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正することができる。これにより、以後、較正された上流側空燃比センサは、検出される排気ガスの空燃比に応じた出力値を正確に発生することができるようになる。
【００１２】
一方、触媒に流入した排気ガスの空燃比が短時間理論空燃比から外れた場合でも、同触媒の所謂酸素吸蔵・放出機能により、同触媒から流出した排気ガスの空燃比は理論空燃比近傍に保持され得る。従って、触媒よりも下流の排気ガスの空燃比の理論空燃比からの偏移量は比較的小さい場合が多い。従って、一般に、触媒よりも下流の前記排気通路に配設された下流側空燃比センサでは、理論空燃比近傍における排気ガスの空燃比のみを正確に検出できることが要求されるので、同下流側空燃比センサとして、理論空燃比近傍のみで空燃比に略比例した出力値を発生する比較的安価な所謂起電力式（濃淡電池式）の酸素濃度センサが使用されることが多い。
【００１３】
しかしながら、この起電力式の酸素濃度センサは上記限界電流式の酸素濃度センサとは異なり、検出される排気ガスの実際の空燃比が未知であるときには較正され得ない。従って、起電力式の酸素濃度センサを較正するためには、同センサを通過している（検出される）排気ガスの実際の空燃比が既知である必要がある。
【００１４】
他方、内燃機関が所定時間以上継続して定常運転状態にあるとき、触媒内部の状態も定常状態となって触媒の上流側の排気ガスの空燃比と同触媒の下流側の排気ガスの空燃比とが等しくなる。従って、上流側空燃比センサが上記のように較正された後であれば、上流側空燃比センサの出力値に対応する（予め既知となっている）空燃比は、下流側空燃比センサを通過している排気ガスの真の空燃比を表す値となる。
【００１５】
かかる知見に基き、下流側較正手段は、上流側較正手段により上流側空燃比センサの出力値又は上流側目標値が較正された後（上流側空燃比センサが較正された後）であって、且つ、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、上流側空燃比センサの出力値に対応する前記真の空燃比に相当する（検出される排気ガスの空燃比が前記真の空燃比であるときの）下流側空燃比センサの所定の出力目標値（較正後の下流側空燃比センサが出力するであろう出力値）と同出力目標値と同一の値となるべき下流側空燃比センサの実際の出力値とを比較することで（即ち、上流側空燃比センサの出力値及び下流側空燃比センサの出力値に基いて）、所定の下流側目標空燃比（例えば、理論空燃比）に対応する下流側空燃比センサの出力値と同下流側目標空燃比に対応する所定の下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正することができる。これにより、下流側空燃比センサは起電力式の酸素濃度センサであるときでも較正され得、以後、検出される排気ガスの空燃比に応じた出力値を正確に発生することができるようになる。
【００１６】
本発明の第２の特徴は、前記第１の特徴と同様の触媒、上流側空燃比センサ、及び下流側空燃比センサ、及び上流側較正手段を備えるとともに、前記上流側空燃比センサの出力値と所定の上流側目標空燃比に対応する所定の上流側目標値との定常偏差がゼロになるように同上流側空燃比センサの出力値に基いて前記機関の空燃比をフィードバック制御するメインフィードバック制御手段と、前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値との定常偏差がゼロになるように同下流側空燃比センサの出力値に基いて、前記上流側空燃比センサの出力値又は前記上流側目標値を調整する調整量を算出するとともに同調整量を前記フィードバック制御に使用させることで前記フィードバック制御される機関の空燃比を調整するサブフィードバック制御手段とを備えた内燃機関の排気浄化装置が、前記上流側較正手段により前記上流側空燃比センサの出力値又は前記上流側目標値が較正された後の前記フィードバック制御中であって、且つ、前記内燃機関が定常運転状態にあるとき、前記上流側目標空燃比と前記下流側目標空燃比の差、及び前記調整量に基いて、前記下流側目標空燃比に対応する前記下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する下流側較正手段とを備えたことにある。
【００１７】
これによれば、前記フィードバック制御中であって、且つ、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、前記調整量による調整後である上流側空燃比センサの出力値が上流側目標値と等しくなる（、或いは、前記調整量による調整後である上流側目標値が上流側空燃比センサの（実際の）出力値と等しくなる。いずれにしろ、両者の定常偏差がゼロになる）。
【００１８】
ここで、上述したように上流側空燃比センサが較正された後であれば、同センサの出力値に対応する空燃比は触媒の上流側の排気ガスの真の空燃比を表す値となっている。従って、このとき、触媒の上流側の排気ガスの真の空燃比は、（前記調整量による調整前の）上流側目標値に対応する上流側目標空燃比から同調整量に相当する空燃比の変化分だけ正確に偏移した値となっている。
【００１９】
一方、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、上述したように触媒の上流側の排気ガスの空燃比と同触媒の下流側の排気ガスの空燃比とは等しくなる。よって、触媒の下流側の排気ガスの真の空燃比も、前記上流側目標空燃比から同調整量に相当する空燃比の変化分だけ正確に偏移した値となっている。
【００２０】
他方、前記フィードバック制御中であって、且つ、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、下流側空燃比センサの出力値が下流側目標値と等しくなっている（両者の定常偏差がゼロになっている）。従って、このとき、仮に、下流側空燃比センサが較正されていれば（検出される排気ガスの空燃比に応じた出力値を正確に発生していれば）、触媒の下流側の排気ガスの真の空燃比は下流側目標値に対応する下流側目標空燃比となっているはずであり、この結果、前記上流側目標空燃比から前記調整量に相当する空燃比の変化分だけ偏移した空燃比が下流側目標空燃比と等しくなるはずである。
【００２１】
換言すれば、前記調整量に相当する空燃比の変化分は上流側目標空燃比と下流側目標空燃比との差と等しくなっているはずである（従って、上流側目標空燃比と下流側目標空燃比とが等しい場合、前記調整量はゼロになる）。また、前記調整量に相当する空燃比の変化分は、上流側空燃比センサの出力値と空燃比との関係を規定するテーブル等を利用して求めることができる。従って、前記調整量に相当する既知である空燃比の変化分と上流側目標空燃比と下流側目標空燃比との差との間に相違があれば、その相違量は、下流側目標空燃比に対応する下流側空燃比センサの（実際の）出力値の同下流側目標空燃比に対応する下流側目標値からの偏移量（誤差）に応じた量となる。
【００２２】
以上のことから、下流側較正手段は、上流側空燃比センサが較正された後の前記フィードバック制御中であって、且つ、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、上流側目標空燃比と下流側目標空燃比の差、及び前記調整量に基いて、前記下流側目標空燃比に対応する前記下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正することができる。これにより、下流側空燃比センサは起電力式の酸素濃度センサであるときでも較正され得、以後、検出される排気ガスの空燃比に応じた出力値を正確に発生することができるようになる。
【００２３】
この場合、前記サブフィードバック制御手段は、少なくとも前記下流側目標値と前記下流側空燃比センサの出力値との差の時間積分値に基いて前記上流側空燃比センサの出力値を調整する前記調整量を算出するように構成されているとともに、前記上流側目標空燃比と前記下流側目標空燃比とは一致していて、前記下流側較正手段は、前記時間積分値がゼロになるように同時間積分値に基いて前記下流側空燃比センサの出力値又は前記下流側目標値を較正するよう構成されることが好適である。
【００２４】
これによれば、少なくとも下流側目標値と下流側空燃比センサの出力値との差の時間積分値に基いて前記調整量が算出されるので、前記フィードバック制御中であって、且つ、内燃機関が（所定時間以上継続して）定常運転状態にあるとき、下流側目標値と下流側空燃比センサの出力値との定常偏差がゼロになることが保証される。
【００２５】
また、上流側目標空燃比と下流側目標空燃比と一致しているので、上述したように、仮に、下流側空燃比センサが較正されていれば前記調整量はゼロになる。従って、前記調整量がゼロでなければ、同調整量は、下流側目標空燃比に対応する下流側空燃比センサの（実際の）出力値の同下流側目標空燃比に対応する下流側目標値からの偏移量（誤差）に応じた量となる。
【００２６】
一方、下流側目標値と下流側空燃比センサの出力値との差がゼロに維持されているので、前記調整量は前記時間積分値のみに応じた量となる。よって、以上のことから、下流側較正手段は、前記時間積分値がゼロになるように同時間積分値に基いて前記下流側空燃比センサの出力値又は前記下流側目標値を較正することで、下流側空燃比センサを較正することができる。
【００２７】
また、本発明の第３の特徴に係る排気浄化方法は、上記本発明の第２の特徴を方法の観点から捉えたものであって、内燃機関の排気通路に配設された触媒と、前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、前記触媒よりも下流の前記排気通路に配設された下流側空燃比センサとを備えた排気浄化装置に適用される内燃機関の排気浄化方法であって、所定の上流側目標空燃比に対応する前記上流側空燃比センサの出力値と同上流側目標空燃比に対応する所定の上流側目標値とが一致するように同上流側空燃比センサの出力値又は同上流側目標値を較正し、その後、前記上流側空燃比センサの出力値と前記上流側目標値との定常偏差がゼロになるように同上流側空燃比センサの出力値に基いて前記機関の空燃比をフィードバック制御し、前記フィードバック制御中において前記下流側空燃比センサの出力値と所定の下流側目標空燃比に対応する所定の下流側目標値との定常偏差がゼロになるように同下流側空燃比センサの出力値に基いて、前記上流側空燃比センサの出力値又は前記上流側目標値を調整する調整量を算出するとともに同調整量を前記フィードバック制御に使用することで前記フィードバック制御される機関の空燃比を調整するとともに、前記フィードバック制御中であって、且つ、前記内燃機関が定常運転状態にあるとき、前記上流側目標空燃比と前記下流側目標空燃比の差、及び前記調整量に基いて、前記下流側目標空燃比に対応する前記下流側空燃比センサの出力値と前記下流側目標値とが一致するように同下流側空燃比センサの出力値又は同下流側目標値を較正する内燃機関の排気浄化方法である。
【００２８】
【発明の実施の形態】
以下、本発明による内燃機関の排気浄化装置を含む空燃比制御装置の実施形態について図面を参照しつつ説明する。図１は、この空燃比制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。
【００２９】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排気ガスを外部に放出するための排気系統５０とを含んでいる。
【００３０】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００３１】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３２】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａ、スワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４、及びＤＣモータからなるＳＣＶアクチュエータ４４ａを備えている。
【００３３】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１（実際には、各排気ポート３４に連通した各々のエキゾーストマニホールド５１が集合した集合部）に接続されたエキゾーストパイプ（排気管）５２、エキゾーストパイプ５２に配設（介装）された上流側の三元触媒５３（上流側触媒コンバータ、又はスタート・キャタリティック・コンバータとも云うが、以下「第１触媒５３」と称呼する。）、及びこの第１触媒５３の下流のエキゾーストパイプ５２に配設（介装）された下流側の三元触媒５４（車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第２触媒５４」と称呼する。）を備えている。排気ポート３４、エキゾーストマニホールド５１、及びエキゾーストパイプ５２は、排気通路を構成している。
【００３４】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、第１触媒５３の上流の排気通路（本例では、上記各々のエキゾーストマニホールド５１が集合した集合部）に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、第１触媒５３の下流であって第２触媒５４の上流の排気通路に配設された空燃比センサ６７（以下、「下流側空燃比センサ６７」と称呼する。）、及びアクセル開度センサ６８を備えている。
【００３５】
熱線式エアフローメータ６１は、吸気管４１内を流れる吸入空気の単位時間あたりの質量流量に応じた電圧Ｖｇを出力するようになっている。かかるエアフローメータ６１の出力Ｖｇと、計測された吸入空気量（流量）Ｇａとの関係は、図２に示したとおりである。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度ＮＥを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００３６】
上流側空燃比センサ６６は、限界電流式の酸素濃度センサであり、図３に実線にて示したように、空燃比Ａ／Ｆに応じた電流を出力し、この電流に応じた電圧である出力値ｖａｂｙｆｓを出力するようになっていて、特に、空燃比が理論空燃比であるときには出力値ｖａｂｙｆｓは上流側目標値ｖｓｔｏｉｃｈになる。図３から明らかなように、上流側空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。
【００３７】
下流側空燃比センサ６７は、起電力式（濃淡電池式）の酸素濃度センサであり、図４に実線にて示したように、理論空燃比近傍において急変する電圧である出力値Ｖｏｘｓを出力するようになっている。より具体的に述べると、下流側空燃比センサ６７は、空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、及び空燃比が理論空燃比のときは０．５（Ｖ）の電圧を出力するようになっている。アクセル開度センサ６８は、運転者によって操作されるアクセルペダル８１の操作量を検出し、同アクセルペダル８１の操作量Ａｃｃｐを表す信号を出力するようになっている。
【００３８】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）、及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットル弁アクチュエータ４３ａ、及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００３９】
（空燃比フィードバック制御の概要）
次に、上記のように構成された排気浄化装置を含んだ空燃比制御装置が行う機関の空燃比のフィードバック制御の概要について説明する。
【００４０】
第１触媒５３（第２触媒５４も同様である。）は、同第１触媒５３に流入するガスの空燃比が理論空燃比であるときに、ＨＣ，ＣＯを酸化するとともにＮＯｘを還元し、これらの有害成分を高い効率で浄化する。また、第１触媒５３は、酸素を吸蔵・放出する機能（酸素吸蔵・放出機能）を有し、この酸素吸蔵・放出機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ、及びＮＯｘを浄化することができる。即ち、機関の空燃比がリーンとなって第１触媒５３に流入するガスにＮＯｘが多量に含まれると、第１触媒５３はＮＯｘから酸素分子を奪って同酸素分子を吸蔵するとともに同ＮＯｘを還元し、これによりＮＯｘを浄化する。また、機関の空燃比がリッチになって第１触媒５３に流入するガスにＨＣ，ＣＯが多量に含まれると、三元触媒はこれらに吸蔵している酸素分子を与えて（放出して）酸化し、これによりＨＣ，ＣＯを浄化する。
【００４１】
従って、第１触媒５３が連続的に流入する多量のＨＣ，ＣＯを効率的に浄化するためには、同第１触媒５３が酸素を多量に貯蔵していなければならず、逆に連続的に流入する多量のＮＯｘを効率的に浄化するためには、同第１触媒５３が酸素を十分に貯蔵し得る状態になければならないことになる。以上のことから、第１触媒５３の浄化能力は、同第１触媒５３が貯蔵し得る最大の酸素量（最大酸素吸蔵量）に依存する。
【００４２】
一方、第１触媒５３のような三元触媒は燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化し、これに伴い最大酸素吸蔵量が次第に低下してくる。このように最大酸素吸蔵量が低下した場合であっても、エミッションの排出量を継続的に抑制するには、第１触媒５３から排出されるガスの空燃比（従って、第１触媒５３に流入するガスの平均空燃比）が、理論空燃比に極めて近い状態となるように制御する必要がある。
【００４３】
そこで、本実施形態の空燃比制御装置は、下流側空燃比センサ６７の出力値が下流側目標空燃比としての理論空燃比に対応する下流側目標値Ｖｏｘｓｒｅｆ（０．５（Ｖ））となるように、下流側空燃比センサ６７の出力値Ｖｏｘｓ（即ち、第１触媒下流の空燃比）に応じて機関１０に供給される混合気の空燃比（即ち、機関の空燃比）を制御する。
【００４４】
より具体的に述べると、この空燃比制御装置（以下、「本装置」と云うこともある。）は、機能ブロック図である図５に示したように、Ａ１〜Ａ１９の各手段を含んで構成されている。以下、図５を参照しながら各手段について説明していく。
【００４５】
＜基本燃料噴射量の算出＞
先ず、一時遅れ処理手段Ａ１は、エアフローメータ６１が計測している吸入空気流量Ｇａに所定の時定数Ｔ、所定の比例定数Ｋによる一時遅れ処理を施し、同一時遅れ処理後の現時点での吸入空気流量を求める。筒内吸入空気量算出手段Ａ２は、一時遅れ処理手段Ａ１により求められた一時遅れ処理後の現時点での吸入空気流量をクランクポジションセンサ６４の出力に基いて得られるエンジン回転速度ＮＥで除することで今回の吸気行程を迎える気筒の吸入空気量である筒内吸入空気量Ｍｃ（ｋ）を求める。ここで、添え字の（ｋ）は、今回の吸気行程に対する値であることを示している（以下、他の物理量についても同様。）。筒内吸入空気量Ｍｃは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００４６】
上流側目標空燃比設定手段Ａ３は、内燃機関１０の運転状態であるエンジン回転速度ＮＥ、及びスロットル弁開度ＴＡ等に基いて上流側目標空燃比ａｂｙｆｒ（ｋ）を決定する。この上流側目標空燃比ａｂｙｆｒ（ｋ）は、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比ａｂｙｆｒは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００４７】
基本燃料噴射量算出手段Ａ４は、筒内吸入空気量算出手段Ａ２により求められた筒内吸入空気量Ｍｃ（ｋ）を上流側目標空燃比設定手段Ａ３により設定された上流側目標空燃比ａｂｙｆｒ（ｋ）で除することにより、機関の空燃比を理論空燃比とするための今回の吸気行程に対する目標筒内燃料供給量Ｆｃｒ（ｋ）（即ち、基本燃料噴射量Ｆｂａｓｅ）を求める。目標筒内燃料供給量Ｆｃｒは、各気筒の吸気行程に対応されながらＲＡＭ７３に記憶されていく。
【００４８】
このように、本装置は、一時遅れ処理手段Ａ１、筒内吸入空気量算出手段Ａ２、上流側目標空燃比設定手段Ａ３、及び基本燃料噴射量算出手段Ａ４を利用して、下記数１に基き基本燃料噴射量Ｆｂａｓｅを求める。下記数１において、関数ｆは、吸入空気流量Ｇａ、エンジン回転速度ＮＥ、及び上流側目標空燃比ａｂｙｆｒ（ｋ）を引数として基本燃料噴射量Ｆｂａｓｅを求める関数である。
【００４９】
【数１】
Ｆｂａｓｅ＝ｆ（Ｇａ，ＮＥ，ａｂｙｆｒ（ｋ））
【００５０】
＜燃料噴射量の算出＞
本装置は、燃料噴射量算出手段Ａ５により、基本燃料噴射量算出手段Ａ４により求められた基本燃料噴射量Ｆｂａｓｅに後述するＰＩコントローラＡ１９により求められるメインフィードバック制御量ＤＦｉを加えることで、下記数２に基いて燃料噴射量Ｆｉを求める。そして、本装置は、燃料噴射量算出手段Ａ５により求められた燃料噴射量Ｆｉの燃料を今回の吸気行程を迎える気筒に対してインジェクタ３９により噴射する。
【００５１】
【数２】
Ｆｉ＝Ｆｂａｓｅ＋ＤＦｉ
【００５２】
＜上流側空燃比センサの出力値の設定＞
本装置は、上流側空燃比センサ出力値設定手段Ａ７により、上流側空燃比センサ６６が出力する較正前の実際の出力値ｖａｂｙｆｓ０に後述する上流側空燃比センサ較正値設定手段Ａ６により現時点にて求められている（最新の）上流側空燃比センサ較正値ｖａｂｙｆｓａｄｄを加えることで、下記数３に基いて現時点での出力値ｖａｂｙｆｓを求め、この値を上流側空燃比センサ６６の現時点での（較正後の実際の）出力値ｖａｂｙｆｓとして設定する。
【００５３】
【数３】
ｖａｂｙｆｓ＝ｖａｂｙｆｓ０＋ｖａｂｙｆｓａｄｄ
【００５４】
＜下流側空燃比センサの出力値の設定＞
本装置は、下流側空燃比センサ出力値設定手段Ａ９により、下流側空燃比センサ６７が出力する較正前の実際の出力値Ｖｏｘｓ０に後述する下流側空燃比センサ較正値更新手段Ａ８により現時点にて求められている（最新の）下流側空燃比センサ較正値Ｖｏｘｓａｄｄを加えることで、下記数４に基いて現時点での出力値Ｖｏｘｓを求め、この値を下流側空燃比センサ６７の現時点での（較正後の実際の）出力値Ｖｏｘｓとして設定する。
【００５５】
【数４】
Ｖｏｘｓ＝Ｖｏｘｓ０＋Ｖｏｘｓａｄｄ
【００５６】
＜サブフィードバック制御量の算出＞
先ず、下流側目標値設定手段Ａ１０は、上述した上流側目標値設定手段Ａ３と同様、内燃機関１０の運転状態であるエンジン回転速度ＮＥ、及びスロットル弁開度ＴＡ等に基いて下流側目標空燃比に対応する下流側目標値Ｖｏｘｓｒｅｆを決定する。この下流側目標値Ｖｏｘｓｒｅｆは、例えば、内燃機関１０の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である０．５（Ｖ）に設定されている（図４を参照。）。また、本例では、下流側目標値Ｖｏｘｓｒｅｆは、同下流側目標値Ｖｏｘｓｒｅｆに対応する下流側目標空燃比が上述した上流側目標空燃比ａｂｙｆｒ（ｋ）と常時一致するように設定される。
【００５７】
出力偏差量算出手段Ａ１１は、下記数５に基いて、下流側目標値設定手段Ａ１０により設定されている現時点での下流側目標値Ｖｏｘｓｒｅｆから下流側空燃比センサ出力値設定手段Ａ９により設定されている現時点での下流側空燃比センサ６７の出力値Ｖｏｘｓを減じることにより、出力偏差量ＤＶｏｘｓを求める。
【００５８】
【数５】
ＤＶｏｘｓ＝Ｖｏｘｓｒｅｆ−Ｖｏｘｓ
【００５９】
ＰＩＤコントローラＡ１２は、出力偏差量算出手段Ａ１１により算出された出力偏差量ＤＶｏｘｓを比例・積分・微分処理（ＰＩＤ処理）することで、下記数６に基いて上流側空燃比センサ６６の出力値を調整するための調整量としてのサブフィードバック制御量ｖａｆｓｆｂを求める。
【００６０】
【数６】
ｖａｆｓｆｂ＝Ｋｐ・ＤＶｏｘｓ＋Ｋｉ・ＳＤＶｏｘｓ＋Ｋｄ・ＤＤＶｏｘｓ
【００６１】
上記数６において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＳＤＶｏｘｓは出力偏差量ＤＶｏｘｓの時間積分値であり、ＤＤＶｏｘｓは出力偏差量ＤＶｏｘｓの時間微分値である。
【００６２】
ここで、ＰＩＤコントローラＡ１２は積分項Ｋｉ・ＳＤＶｏｘｓを含んでいるので、定常状態では出力偏差量ＤＶｏｘｓがゼロになることが保証される。換言すれば、下流側目標値Ｖｏｘｓｒｅｆと下流側空燃比センサ６７の出力値Ｖｏｘｓとの定常偏差がゼロになる。また、定常状態では、出力偏差量ＤＶｏｘｓがゼロになることで比例項Ｋｐ・ＤＶｏｘｓ、微分項Ｋｄ・ＤＤＶｏｘｓが共にゼロとなるから、サブフィードバック制御量ｖａｆｓｆｂは積分項Ｋｉ・ＳＤＶｏｘｓの値と同一となる（従って、前記時間積分値ＳＤＶｏｘｓのみに応じた値となる）。
【００６３】
このようにして、本装置は、下流側目標値Ｖｏｘｓｒｅｆと下流側空燃比センサ６７の出力値Ｖｏｘｓとの定常偏差がゼロになるように同出力値Ｖｏｘｓに基いて、調整量としてのサブフィードバック制御量ｖａｆｓｆｂを求める。ここで、下流側目標値設定手段Ａ１０、出力偏差量算出手段Ａ１１、及びＰＩＤコントローラＡ１２がサブフィードバック制御手段に相当する。
【００６４】
＜上流側空燃比センサの出力値の調整＞
本装置は、上流側空燃比センサ出力値調整手段Ａ１３により、上流側空燃比センサ出力値設定手段Ａ７により設定されている現時点での上流側空燃比センサ６６の出力値ｖａｂｙｆｓにＰＩＤコントローラＡ１２により求められているサブフィードバック制御量ｖａｆｓｆｂを加えることで上流側空燃比センサ６６の出力値を調整するとともに、調整後の上流側空燃比センサ６６の出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）を求める。
【００６５】
＜メインフィードバック制御量の算出＞
先ず、テーブル変換手段Ａ１４は、上流側空燃比センサ出力値調整手段Ａ１３により調整された調整後の上流側空燃比センサ６６の出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）と、先に説明した図３にグラフ（実線）により示した上流側空燃比センサ出力値と空燃比との関係を規定したテーブルとに基いて、現時点におけるメインフィードバック制御用空燃比ａｂｙｆｓを求める。このメインフィードバック制御用空燃比ａｂｙｆｓは、上流側空燃比センサ６６の出力値をサブフィードバック制御量ｖａｆｓｆｂにより調整したことにより得られる第１触媒５３の上流における現時点での「見かけ上の空燃比」である。
【００６６】
筒内吸入空気量遅延手段Ａ１５は、筒内吸入空気量算出手段Ａ２により吸気行程毎に求められＲＡＭ７３に記憶されている筒内吸入空気量Ｍｃのうち、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の筒内吸入空気量ＭｃをＲＡＭ７３から読み出し、これを筒内吸入空気量Ｍｃ（ｋ−Ｎ）として設定する。
【００６７】
筒内燃料供給量算出手段Ａ１６は、筒内吸入空気量遅延手段Ａ１５により求められた現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）をテーブル変換手段Ａ１４により求められた現時点におけるメインフィードバック制御用空燃比ａｂｙｆｓで除することで、現時点からＮストローク前の実際の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。ここで、前記値Ｎは、内燃機関１０の排気量、及び燃料室２５から上流側空燃比センサ６６までの距離等により異なる値である。
【００６８】
このように、現時点からＮストローク前の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求めるために、現時点からＮストローク前の筒内吸入吸気量Ｍｃ（ｋ−Ｎ）をメインフィードバック制御用空燃比ａｂｙｆｓで除するのは、燃焼室２５内で燃料された混合気が上流側空燃比センサ６６に到達するまでには、Ｎストロークに相当する時間Ｌを要しているからである。
【００６９】
目標筒内燃料供給量遅延手段Ａ１７は、基本燃料噴射量算出手段Ａ４により吸気行程毎に求められＲＡＭ７３に記憶されている目標筒内燃料供給量Ｆｃｒのうち、現時点からＮストローク前の目標筒内燃料供給量ＦｃｒをＲＡＭ７３から読み出し、これを目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）として設定する。
【００７０】
筒内燃料供給量偏差算出手段Ａ１８は、下記数７に基いて、目標筒内燃料供給量遅延手段Ａ１７により設定された現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量算出手段Ａ１６により求められた現時点からＮストローク前の実際の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じることにより、筒内燃料供給量偏差ＤＦｃを求める。この筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
【００７１】
【数７】
ＤＦｃ＝Ｆｃｒ（ｋ−Ｎ）−Ｆｃ（ｋ−Ｎ）
【００７２】
ＰＩコントローラＡ１９は、筒内燃料供給量偏差算出手段Ａ１８により算出された筒内燃料供給量偏差ＤＦｃを比例・積分処理（ＰＩ処理）することで、下記数８に基いてＮストローク前の燃料供給量の過不足を補償するためのメインフィードバック制御量ＤＦｉを求める。このメインフィードバック制御量ＤＦｉは、前述したように、基本燃料噴射量算出手段Ａ４により求められた基本燃料噴射量Ｆｂａｓｅに加えられて燃料噴射量Ｆｉに反映されていく。
【００７３】
【数８】
ＤＦｉ＝（Ｇｐ・ＤＦｃ＋Ｇｉ・ＳＤＦｃ）・ＫＦＢ
【００７４】
上記数８において、Ｇｐは予め設定された比例ゲイン（比例定数）、Ｇｉは予め設定された積分ゲイン（積分定数）である。ＳＤＦｃは筒内燃料供給量偏差ＤＦｃの時間積分値である。また、係数ＫＦＢは、エンジン回転速度ＮＥ、及び筒内吸入空気量Ｍｃ等により可変とすることが好適であるが、本例では「１」としている。
【００７５】
ここで、ＰＩコントローラＡ１９は積分項Ｇｉ・ＳＤＦｃを含んでいるので、定常状態では筒内燃料供給量偏差ＤＦｃがゼロになることが保証される。換言すれば、現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）と現時点からＮストローク前の実際の筒内燃料供給量Ｆｃ（ｋ−Ｎ）との定常偏差がゼロになる（上流側目標値ｖｓｔｏｉｃｈと上記調整後の上流側空燃比センサ６６の出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）との定常偏差がゼロになる）。また、定常状態では、筒内燃料供給量偏差ＤＦｃがゼロになることで比例項Ｇｐ・ＤＦｃがゼロとなるから、メインフィードバック制御量ＤＦｉは積分項Ｇｉ・ＳＤＦｃの値と同一となる（従って、前記時間積分値ＳＤＦｃのみに応じた値となる）。
【００７６】
このように、本装置は、現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）と現時点からＮストローク前の実際の筒内燃料供給量Ｆｃ（ｋ−Ｎ）との定常偏差がゼロになるように（上流側目標値ｖｓｔｏｉｃｈと上記調整後の上流側空燃比センサ６６の出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）との定常偏差がゼロになるように）上流側空燃比センサ６６の出力値ｖａｂｙｆｓに基いて機関の空燃比をフィードバックする。換言すれば、前記現時点での「見かけ上の空燃比」が（現時点からＮストローク前の）上流側目標空燃比ａｂｙｆｒと一致するように機関の空燃比がフィードバックされる。ここで、テーブル変換手段Ａ１４、筒内吸入空気量遅延手段Ａ１５、筒内燃料供給量算出手段Ａ１６、目標筒内燃料供給量遅延手段Ａ１７、筒内燃料供給量偏差算出手段Ａ１８、及びＰＩコントローラＡ１９がメインフィードバック制御手段に相当する。
【００７７】
以上のように、ＰＩＤコントローラＡ１２によりサブフィードバック制御量ｖａｆｓｆｂが求められ、この値は上流側空燃比センサ出力値調整手段Ａ１３により上流側空燃比センサ６６の実際の出力値ｖａｂｙｆｓに加えられ、その和（ｖａｂｙｆｓ  ＋  ｖａｆｓｆｂ）が、テーブル変換手段Ａ１４によってメインフィードバック制御用空燃比ａｂｙｆｓに変換される。このようにして、下流側空燃比センサ６７の出力Ｖｏｘｓに基いて求められるメインフィードバック制御用空燃比ａｂｙｆｓは、上流側空燃比センサ６６が実際に検出している空燃比ｖａｂｙｆｓに対して、サブフィードバック制御量ｖａｆｓｆｂに相当する分だけ異なる空燃比として求められる。
【００７８】
この結果、筒内燃料供給量算出手段Ａ１６により求められる筒内燃料供給量Ｆｃ（ｋ−Ｎ）が下流側空燃比センサ６７の出力Ｖｏｘｓに応じて変化するので、ＰＩコントローラＡ１９により求められるメインフィードバック制御量ＤＦｉが同下流側空燃比センサ６７の出力Ｖｏｘｓに応じて変更せしめられる。
【００７９】
例えば、機関の平均的な空燃比がリーンであるために下流側空燃比センサ６７の出力Ｖｏｘｓが理論空燃比よりもリーンである空燃比に対応した値を示すと、出力偏差量算出手段Ａ１１により求められる出力偏差量ＤＶｏｘｓが正の値となるので（図４を参照。）、ＰＩＤコントローラＡ１２にて求められるサブフィードバック制御量ｖａｆｓｆｂは正の値となる。従って、テーブル変換手段Ａ１４にて求められるメインフィードバック制御用空燃比ａｂｙｆｓは上流側空燃比センサ６６が実際に検出している空燃比よりもリーンな値（より大きな値）として求められる。このため、筒内燃料供給量算出手段Ａ１６にて求められる筒内燃料供給量Ｆｃ（ｋ−Ｎ）は小さい値となり、筒内燃料供給量偏差ＤＦｃは大きい正の値として求められるので、メインフィードバック制御量ＤＦｉが大きい正の値となる。これにより、燃料噴射量算出手段Ａ５にて求められる燃料噴射量Ｆｉは、基本燃料噴射量Ｆｂａｓｅよりも大きくなって、機関の空燃比がリッチとなるように制御される。
【００８０】
反対に、機関の平均的な空燃比がリッチであるために下流側空燃比センサ６７の出力Ｖｏｘｓが理論空燃比よりもリッチ空燃比に対応した値を示すと、出力偏差量算出手段Ａ１１により求められる出力偏差量ＤＶｏｘｓが負の値となるので（図４を参照。）、ＰＩＤコントローラＡ１２にて求められるサブフィードバック制御量ｖａｆｓｆｂは負の値となる。従って、テーブル変換手段Ａ１４にて求められるメインフィードバック制御用空燃比ａｂｙｆｓは上流側空燃比センサ６６が実際に検出している空燃比よりもリッチな値（より小さな値）として求められる。このため、筒内燃料供給量算出手段Ａ１６にて求められる筒内燃料供給量Ｆｃ（ｋ−Ｎ）は大きい値となり、筒内燃料供給量偏差ＤＦｃは負の値として求められるので、メインフィードバック制御量ＤＦｉが負の値となる。これにより、燃料噴射量算出手段Ａ５にて求められる燃料噴射量Ｆｉは、基本燃料噴射量Ｆｂａｓｅよりも小さくなって、機関の空燃比がリーンとなるように制御される。
【００８１】
このようにして、第１触媒５３の下流側の空燃比が下流側目標値設定手段Ａ１０により設定された目標値Ｖｏｘｓｒｅｆで表された空燃比に一致するように、機関の空燃比が制御せしめられる。以上が、上記のように構成された排気浄化装置を含んだ空燃比制御装置が行う機関の空燃比のフィードバック制御の概要である。
【００８２】
（上流側空燃比センサの較正）
次に、上流側空燃比センサ６６の較正の概要について説明する。限界電流式の酸素濃度センサである上流側空燃比センサ６６は、先に説明したように、冷間始動時等、同上流側空燃比センサ６６の温度が活性化温度より低くて同上流側空燃比センサ６６（内の触媒）が不活性な状態にあるときは、排気ガスの実際の空燃比に拘わらず理論空燃比に対応する（検出される排気ガスの空燃比が理論空燃比であるときの）出力値を発生し続けるという特性を有する。従って、上流側空燃比センサ６６が検出される排気ガスの空燃比に応じた出力値を正確に発生していれば、冷間始動直後においては、上流側空燃比センサ６６が出力する較正前の実際の出力値ｖａｂｙｆｓ０が上流側目標値ｖｓｔｏｉｃｈと一致するはずである（図３において実線を参照。）。
【００８３】
しかしながら、新品時における出力特性のばらつきや経年変化等により上流側空燃比センサ６６の出力値が図３において実線にて示される正常値から偏移していることがある（例えば、図３において一点鎖線を参照。）。この場合、冷間始動直後において上流側空燃比センサ６６が出力する較正前の実際の出力値ｖａｂｙｆｓ０が上流側目標値ｖｓｔｏｉｃｈ（一定値）と一致しなくなる。
【００８４】
そこで、かかる知見に基き、本装置は、上流側空燃比センサ較正値設定手段Ａ６により、内燃機関１０が冷間始動される直後毎に、下記数９に基き上流側センサ出力較正値ｖａｂｙｆｓａｄｄを求める。そして、本装置は、次回の冷間始動時点にて上流側センサ出力較正値ｖａｂｙｆｓａｄｄが更新されるまで、上流側空燃比センサ出力値設定手段Ａ７により、今回求めた上流側センサ出力較正値ｖａｂｙｆｓａｄｄを上流側空燃比センサ６６が出力する較正前の実際の出力値ｖａｂｙｆｓ０に加えた値を上流側空燃比センサ６６の（較正後の実際の）出力値ｖａｂｙｆｓとして設定する。
【００８５】
【数９】
ｖａｂｙｆｓａｄｄ＝ｖｓｔｏｉｃｈ−ｖａｂｙｆｓ０
【００８６】
これにより、理論空燃比である上流側目標空燃比ａｂｙｆｒに対応する上流側空燃比センサ６６の出力値ｖａｂｙｆｓと上流側目標値ｖｓｔｏｉｃｈとが（前記サブフィードバック制御量ｖａｆｓｆｂによる調整前において）一致するように上流側空燃比センサ６６の出力値が較正され、上流側空燃比センサ６６は図３において実線にて示されるように、検出される排気ガスの空燃比に応じた出力値を正確に発生するようになる。このように、上記数９に基いて上流側センサ出力較正値ｖａｂｙｆｓａｄｄを求めるとともに同出力較正値ｖａｂｙｆｓａｄｄを較正前の実際の出力値ｖａｂｙｆｓ０に加えて較正後の上流側空燃比センサ６６の出力値ｖａｂｙｆｓを求める手段が上流側較正手段に相当する。以上が、上流側空燃比センサ６６の較正の概要である。
【００８７】
（下流側空燃比センサの較正）
次に、下流側空燃比センサ６７の較正について説明する。下流側空燃比センサ６７は、先に説明したように起電力式の酸素濃度センサである。この下流側空燃比センサ６７においても、新品時における出力特性のばらつきや経年変化等によりその出力値が図４において実線にて示される正常値から偏移することがある（例えば、図４において一点鎖線及び二点鎖線を参照。）。この起電力式の酸素濃度センサは上記限界電流式の酸素濃度センサとは異なり、検出される排気ガスの実際の空燃比が未知であるときには較正され得ない。従って、下流側空燃比センサ６７を較正するためには、同センサ６７を通過している（検出される）排気ガスの実際の空燃比が既知となっている必要がある。
【００８８】
ここで、上述した空燃比フィードバック制御中であって、且つ、内燃機関１０が（所定時間以上継続して）定常運転状態にあるとき、先に説明したように、前記サブフィードバック制御量ｖａｆｓｆｂによる調整後である上流側空燃比センサの出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）が上流側目標値ｖｓｔｏｉｃｈと等しくなる。
【００８９】
このとき、上流側空燃比センサ６６が較正されていれば、同センサ６６の出力値ｖａｂｙｆｓに対応する空燃比（検出空燃比）は第１触媒５３の上流側の排気ガスの真の空燃比を表す値となっている。従って、このとき、第１触媒５３の上流側の排気ガスの真の空燃比は、上流側目標値ｖｓｔｏｉｃｈに対応する上流側目標空燃比ａｂｙｆｒからサブフィードバック制御量ｖａｆｓｆｂに相当する空燃比の変化分だけ正確に偏移した値となっている。
【００９０】
一方、内燃機関１０が（所定時間以上継続して）定常運転状態にあるとき、先に説明したように第１触媒５３内部の状態も定常状態となって同触媒５３の上流側の排気ガスの空燃比と同触媒５３の下流側の排気ガスの空燃比とは等しくなる。よって、第１触媒５３の下流側の排気ガスの真の空燃比（従って、下流側空燃比センサ６７を通過している（検出される）排気ガスの真の空燃比）も、上流側目標空燃比ａｂｙｆｒ（即ち、理論空燃比）からサブフィードバック制御量ｖａｆｓｆｂに相当する空燃比の変化分だけ正確に偏移した値となっている。
【００９１】
他方、前記空燃比フィードバック制御中であって、且つ、内燃機関１０が（所定時間以上継続して）定常運転状態にあるとき、先に説明したように、下流側空燃比センサ６７の出力値Ｖｏｘｓが下流側目標値Ｖｏｘｓｒｅｆ（一定値）と等しくなっている。従って、このとき、仮に、下流側空燃比センサ６７が較正されていれば（図４に実線にて示すように、検出される排気ガスの空燃比に応じた出力値を正確に発生していれば）、第１触媒５３の下流側の排気ガスの真の空燃比は下流側目標値Ｖｏｘｓｒｅｆに対応する下流側目標空燃比（理論空燃比。即ち、上流側目標空燃比と同一の空燃比）となっているはずであり、この結果、サブフィードバック制御量ｖａｆｓｆｂに相当する空燃比の変化分（即ち、サブフィードバック制御量ｖａｆｓｆｂ）はゼロになっているはずである。
【００９２】
換言すれば、上流側空燃比センサ６６が較正された後の前記空燃比フィードバック制御中であって、且つ、内燃機関１０が（所定時間以上継続して）定常運転状態にあるとき、前記サブフィードバック制御量ｖａｆｓｆｂがゼロでなければ、そのサブフィードバック制御量ｖａｆｓｆｂ（このとき、ＰＩＤコントローラＡ１２内の比例項Ｋｐ・ＤＶｏｘｓ、及び微分項Ｋｄ・ＤＤＶｏｘｓは共にゼロになっているので、サブフィードバック制御量ｖａｆｓｆｂは積分項Ｋｉ・ＳＤＶｏｘｓの値と等しくなっている。）は、下流側目標空燃比（理論空燃比）に対応する下流側空燃比センサ６７の（実際の）出力値Ｖｏｘｓの下流側目標値Ｖｏｘｓｒｅｆからの偏移量（誤差）に応じた量となる。
【００９３】
より具体的に述べると、上流側空燃比センサ６６の出力値ｖａｂｙｆｓ、及び下流側空燃比センサ６７の出力値Ｖｏｘｓが、それぞれ、図３、及び図４に実線で示したように正常値となっているとき、内燃機関１０が（所定時間以上継続して）定常運転状態にあると、上記のようにサブフィードバック制御量ｖａｆｓｆｂがゼロになるとともに、上流側空燃比センサ６６の出力値ｖａｂｙｆｓが上流側目標値ｖｓｔｏｉｃｈと等しくなり、下流側空燃比センサ６７の出力値Ｖｏｘｓが下流側目標値Ｖｏｘｓｒｅｆと等しくなって、機関の空燃比、第１触媒５３の上流側及び下流側の空燃比が全て理論空燃比に維持される。
【００９４】
この状態から、例えば、下流側空燃比センサ６７の出力値が図４に一点鎖線で示すように正常値から負の方向にｏｆｆｓｅｔ１だけオフセットされたと仮定すると、出力偏差量ＤＶｏｘｓが正の値となるので、サブフィードバック制御量ｖａｆｓｆｂは正の値となる。従って、メインフィードバック制御用空燃比ａｂｙｆｓは上流側空燃比センサ６６が実際に検出している理論空燃比よりもリーンな値（より大きな値）として求められ、この結果、機関の空燃比がリッチとなるように制御される。これにより、第１触媒５３の上流側及び下流側の空燃比はリッチとなって下流側目標値Ｖｏｘｓｒｅｆに対応する下流側空燃比６７の検出空燃比ｒｉｃｈ０（図４を参照。）に近づくと共に、調整後の上流側空燃比センサの出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）が上流側目標値ｖｓｔｏｉｃｈに近づく。
【００９５】
そして、定常状態になると、機関の空燃比、第１触媒５３の上流側及び下流側の空燃比が全て前記検出空燃比ｒｉｃｈ０に維持されると共に、サブフィードバック制御量ｖａｆｓｆｂが正の所定値に維持される。この正の所定値は、前記負の方向へのオフセット量ｏｆｆｓｅｔ１の増加に応じて大きくなる値である。以上のことから、定常状態において、サブフィードバック制御量ｖａｆｓｆｂが正の所定値に維持されているとき、同正の所定値の増加に応じて増加する量だけ下流側空燃比センサ６７の出力値を正の方向にオフセットすれば、下流側空燃比センサ６７を較正することができる。即ち、その後の定常状態において、サブフィードバック制御量ｖａｆｓｆｂ（従って、積分項Ｋｉ・ＳＤＶｏｘｓ（時間積分値））がゼロになるとともに、機関の空燃比、第１触媒５３の上流側及び下流側の空燃比が全て理論空燃比に維持される。
【００９６】
一方、例えば、下流側空燃比センサ６７の出力値が図４に二点鎖線で示すように正常値から正の方向にｏｆｆｓｅｔ２だけオフセットされたと仮定すると、同様にして、その後の定常状態において、機関の空燃比、第１触媒５３の上流側及び下流側の空燃比が全て検出空燃比ｌｅａｎ０（図４を参照。）に維持されると共に、サブフィードバック制御量ｖａｆｓｆｂが負の所定値に維持される。この負の所定値（の絶対値）も、前記正の方向へのオフセット量ｏｆｆｓｅｔ２の増加に応じて大きくなる値である。よって、定常状態において、サブフィードバック制御量ｖａｆｓｆｂが負の所定値に維持されているとき、同負の所定値（の絶対値）の増加に応じて増加する量だけ下流側空燃比センサ６７の出力値を負の方向にオフセットすれば、下流側空燃比センサ６７を較正することができる。
【００９７】
以上のことから、上流側空燃比センサ６６が較正された後の前記空燃比フィードバック制御中であって、且つ、内燃機関１０が（所定時間以上継続して）定常運転状態にあるとき、その時点におけるサブフィードバック制御量ｖａｆｓｆｂと、サブフィードバック制御量ｖａｆｓｆｂとオフセット量ｏｆｆｓｅｔとの関係を規定する図６にグラフにより示したテーブルとに基いてオフセット量ｏｆｆｓｅｔを求め、下流側空燃比センサ６７のその時点での出力値に同オフセット量ｏｆｆｓｅｔを加えることで下流側空燃比センサ６７を較正することができる。
【００９８】
そこで、かかる知見に基き、本装置は、下流側空燃比センサ較正値更新手段Ａ８により、内燃機関１０が定常運転状態に維持されているときであって所定時間Ｔ１が経過する毎に、その時点でのサブフィードバック制御量ｖａｆｓｆｂと、図６に示したサブフィードバック制御量ｖａｆｓｆｂとオフセット量ｏｆｆｓｅｔとの関係を規定するテーブルとに基きオフセット量ｏｆｆｓｅｔを求め、下記数１０に基きその時点での下流側センサ出力較正値Ｖｏｘｓａｄｄに前記オフセット量ｏｆｆｓｅｔを加えた値を新たな下流側センサ出力較正値Ｖｏｘｓａｄｄとして設定（更新）する。そして、本装置は、次回下流側センサ出力較正値Ｖｏｘｓａｄｄが更新されるまで、下流側空燃比センサ出力値設定手段Ａ９により、今回更新した下流側センサ出力較正値Ｖｏｘｓａｄｄを下流側空燃比センサ６７が出力する較正前の実際の出力値Ｖｏｘｓ０に加えた値を下流側空燃比センサ６７の（較正後の実際の）出力値Ｖｏｘｓとして設定する。
【００９９】
【数１０】
Ｖｏｘｓａｄｄ＝Ｖｏｘｓａｄｄ＋ｏｆｆｓｅｔ
【０１００】
このようにして、上流側空燃比センサ６６が較正された後の定常状態におけるサブフィードバック制御量ｖａｆｓｆｂ（即ち、積分項Ｋｉ・ＳＤＶｏｘｓ（時間積分値））がゼロになるように同サブフィードバック制御量ｖａｆｓｆｂに基いて、下流側空燃比センサ６７の出力値が較正され、この結果、理論空燃比である下流側目標空燃比に対応する下流側空燃比センサ６７の出力値Ｖｏｘｓと下流側目標値Ｖｏｘｓｒｅｆとが一致するようになる。これにより、下流側空燃比センサ６７は図４において実線にて示されるように、検出される排気ガスの空燃比に応じた出力値を正確に発生するようになる。このように、上記数１０に基いて下流側センサ出力較正値Ｖｏｘｓａｄｄを更新とともに同出力較正値Ｖｏｘｓａｄｄを較正前の実際の出力値Ｖｏｘｓ０に加えて較正後の下流側空燃比センサ６７の出力値Ｖｏｘｓを求める手段が下流側較正手段に相当する。以上が、下流側空燃比センサ６７の較正の概要である。
【０１０１】
（実際の作動）
次に、上記空燃比制御装置の実際の作動について説明する。
＜上流側空燃比センサの較正＞
ＣＰＵ７１は、図７にフローチャートにより示した上流側空燃比センサ６６の較正を行うルーチンを、所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ７００から処理を開始し、ステップ７０５に進んで、図示しないイグニッションスイッチが「ＯＦＦ」から「ＯＮ」に変更されたか否かを判定する。ここで、イグニッションスイッチが「ＯＦＦ」から「ＯＮ」に変更された直後でなければ、ＣＰＵ７１はステップ７９５に直接進んで本ルーチンを一旦終了する。
【０１０２】
いま、運転者によりイグニッションスイッチが「ＯＦＦ」から「ＯＮ」に変更されて冷間始動された直後であるものとすると、ＣＰＵ７１はステップ７０５の判定にて「Ｙｅｓ」と判定してステップ７１０に進み、上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値を「０」に設定する。ここで、上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴは、その値が「１」のとき上流側空燃比センサ６６が較正された状態にあることを示し、その値が「０」のとき同上流側空燃比センサ６６が較正された状態にないことを示す。
【０１０３】
次に、ＣＰＵ７１はステップ７１５に進んで、水温センサ６５が検出する冷却水温ＴＨＷが冷間始動判定基準値ＴＨＷｒｅｆ以下であるか否かを判定し、冷却水温ＴＨＷが冷間始動判定基準値ＴＨＷｒｅｆより高ければステップ７９５に直接進んで本ルーチンを一旦終了する。
【０１０４】
現時点は、冷間始動された直後であるから、冷却水温ＴＨＷは冷間始動判定基準値ＴＨＷｒｅｆ以下となっている。従って、ＣＰＵ７１はステップ７１５の判定にて「Ｙｅｓ」と判定してステップ７２０以降の上流側空燃比センサ６６の較正処理を行う。即ち、本例では、冷間始動された直後のみ、上流側空燃比センサ６６の較正処理が実行される。
【０１０５】
ＣＰＵ７１はステップ７２０に進むと、上記数９に従って、一定値である上流側目標値ｖｓｔｏｉｃｈから現時点での上流側空燃比センサ６６の較正前の実際の出力値ｖａｂｙｆｓ０を減じた値を上流側センサ出力較正値ｖａｂｙｆｓａｄｄとして設定する。次いで、ＣＰＵ７１はステップ７２５に進み、以後、今回求めた上流側センサ出力較正値ｖａｂｙｆｓａｄｄを上流側空燃比センサ６６が出力する較正前の実際の出力値ｖａｂｙｆｓ０に加えた値を上流側空燃比センサ６６の（較正後の実際の）出力値ｖａｂｙｆｓとして設定する。
【０１０６】
そして、ＣＰＵ７１はステップ７３０に進んで、上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値を「１」に設定した後、ステップ７９５に進んで本ルーチンを一旦終了する。以降、ＣＰＵ７１はステップ７０５に進んだとき「Ｎｏ」と判定してステップ７９５に直接進んで本ルーチンを一旦終了するようになる。
【０１０７】
以上のようにして、冷間始動される直後毎に、上流側空燃比センサ６６の較正が実行される。そして、内燃機関１０が冷間始動されて上流側空燃比センサの較正が実行された場合には上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値が「１」に設定され、一方、内燃機関１０が冷間始動されずに（内燃機関１０が暖機された状態で始動されて）上流側空燃比センサの較正が実行されなかった場合には上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値が「０」に設定される。
【０１０８】
＜空燃比フィードバック制御＞
ＣＰＵ７１は、図８にフローチャートにより示した燃料噴射量Ｆｉの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、ＣＰＵ７１はステップ８００から処理を開始してステップ８０５に進み、上記数１に従って、エアフローメータ６１により計測された吸入空気流量Ｇａ、エンジン回転速度ＮＥ等に基いて、機関の空燃比を理論空燃比とするための基本燃料噴射量Ｆｂａｓｅを求める。
【０１０９】
次いで、ＣＰＵ７１はステップ８１０に進み、上記数２に従って、基本燃料噴射量Ｆｂａｓｅに後述する空燃比フィードバック補正量（メインフィードバック制御量）ＤＦｉを加えた値を燃料噴射量Ｆｉとして設定する。
【０１１０】
次に、ＣＰＵ７１はステップ８１５に進み、同ステップ８１５にて燃料噴射量Ｆｉの燃料を噴射するための指示をインジェクタ３９に対して行った後、ステップ８９５に進み、本ルーチンを一旦終了する。以上により、フィードバック補正された燃料噴射量Ｆｉの燃料が吸気行程を迎える気筒に対して噴射される。
【０１１１】
次に、上記メインフィードバック制御量ＤＦｉを算出する際の作動について説明すると、ＣＰＵ７１は図９にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ９００から処理を開始し、ステップ９０５に進んで空燃比フィードバック制御条件（メインフィードバック条件）が成立しているか否かを判定する。この空燃比フィードバック制御条件は、例えば、機関の冷却水温ＴＨＷが第１所定温度以上であって、機関の一回転当りの吸入空気量（負荷）が所定値以下であるときに成立する。
【０１１２】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、現時点の上流側空燃比センサ６６の（較正後の）出力値ｖａｂｙｆｓと後述するサブフィードバック制御量ｖａｆｓｆｂとの和（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）を図３に実線にて示したテーブルに基いて変換することにより、現時点におけるメインフィードバック制御用空燃比ａｂｙｆｓを求める。このメインフィードバック制御用空燃比ａｂｙｆｓが、上流側空燃比センサ６６の出力をサブフィードバック制御量ｖａｆｓｆｂにより補正した第１触媒５３の上流における上記「見かけ上の空燃比」である。
【０１１３】
次に、ＣＰＵ７１はステップ９１５に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Ｍｃ（ｋ−Ｎ）を前記求めたメインフィードバック制御用空燃比ａｂｙｆｓで除することにより、現時点からＮストローク前の実際の筒内燃料供給量Ｆｃ（ｋ−Ｎ）を求める。
【０１１４】
次いで、ＣＰＵ７１はステップ９２０に進み、現時点からＮストローク前の筒内吸入空気量Ｍｃ（ｋ−Ｎ）を現時点からＮストローク前の目標空燃比ａｂｙｆｒ（ｋ−Ｎ）で除することにより、現時点からＮストローク前の目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）を求める。
【０１１５】
そして、ＣＰＵ７１はステップ９２５に進んで、上記数７に従って、目標筒内燃料供給量Ｆｃｒ（ｋ−Ｎ）から筒内燃料供給量Ｆｃ（ｋ−Ｎ）を減じた値を筒内燃料供給量偏差ＤＦｃとして設定する。つまり、筒内燃料供給量偏差ＤＦｃは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、ＣＰＵ７１はステップ９３０に進み、上記数８に基いてメインフィードバック制御量ＤＦｉを求める。
【０１１６】
次いで、ＣＰＵ７１は、ステップ９３５にてその時点における筒内燃料供給量偏差ＤＦｃの積分値ＳＤＦｃに上記ステップ９２５にて求めた筒内燃料供給量偏差ＤＦｃを加えて、新たな筒内燃料供給量偏差の積分値ＳＤＦｃを求め、ステップ９９５にて本ルーチンを一旦終了する。
【０１１７】
以上により、メインフィードバック制御量ＤＦｉが比例積分制御により求められ、このメインフィードバック制御量ＤＦｉが前述した図８のステップ８１０により燃料噴射量に反映されるので、Ｎストローク前の燃料供給量の過不足が補償され、内燃機関の空燃比が目標空燃比ａｂｙｆｒと略一致せしめられるようにフィードバック制御される。
【０１１８】
一方、ステップ９０５の判定時において、空燃比フィードバック制御条件が不成立であると、ＣＰＵ７１は同ステップ９０５にて「Ｎｏ」と判定してステップ９４０に進んでメインフィードバック制御量ＤＦｉの値を「０」に設定し、その後ステップ９９５に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、メインフィードバック制御量ＤＦｉを「０」として空燃比の補正を行わない。
【０１１９】
次に、下流側空燃比センサ６７の出力Ｖｏｘｓに基く空燃比フィードバック制御（サブフィードバック制御）について説明する。このサブフィードバック制御により、サブフィードバック制御量ｖａｆｓｆｂが算出される。
【０１２０】
ＣＰＵ７１は、サブフィードバック制御量ｖａｆｓｆｂを求めるために、図１０に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１０００から処理を開始し、ステップ１００５に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ９０５での空燃比フィードバック制御条件に加え、機関の冷却水温ＴＨＷが前記第１所定温度よりも高い第２所定温度以上のときに成立する。
【０１２１】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、ＣＰＵ７１はステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進み、上記数５に従って、所定の下流側目標値Ｖｏｘｓｒｅｆから現時点の下流側空燃比センサ６７の出力値Ｖｏｘｓを減じることにより、出力偏差量ＤＶｏｘｓを求める。
【０１２２】
次に、ＣＰＵ７１はステップ１０１５に進んで、下記数１１に基き出力偏差量ＤＶｏｘｓの微分値ＤＤＶｏｘｓを求める。
【０１２３】
【数１１】
ＤＤＶｏｘｓ＝（ＤＶｏｘｓ−ＤＶｏｘｓ１）／Δｔ
【０１２４】
上記数１１において、ＤＶｏｘｓ１は前回の本ルーチン実行時において後述するステップ１０３０にて設定（更新）された出力偏差量ＤＶｏｘｓの前回値である。また、Δｔは本ルーチンの計算周期（前記所定時間）である。
【０１２５】
次いで、ＣＰＵ７１はステップ１０２０に進み、上記数６に従って、サブフィードバック制御量ｖａｆｓｆｂを求めた後、ステップ１０２５に進んで、その時点における出力偏差量の積分値ＳＤＶｏｘｓに上記ステップ１０１０にて求めた出力偏差量ＤＶｏｘｓを加えて、新たな出力偏差量の積分値ＳＤＶｏｘｓを求め、続くステップ１０３０にて、上記ステップ１０１０にて求めた出力偏差量ＤＶｏｘｓを出力偏差量ＤＶｏｘｓの前回値ＤＶｏｘｓ１として設定した後、ステップ１０９５に進んで本ルーチンを一旦終了する。このようにして、サブフィードバック制御量ｖａｆｓｆｂが求められ、この値は前述した図９のステップ９１０にて上流側空燃比センサ６６の実際の出力値ｖａｂｙｆｓに加えられる。
【０１２６】
一方、サブフィードバック制御条件が不成立であるとき、ＣＰＵ７１はステップ１００５にて「Ｎｏ」と判定してステップ１０３５に進み、同ステップ１０３５にてサブフィードバック制御量ｖａｆｓｆｂを「０」に設定し、ステップ１０９５にて本ルーチンを一旦終了する。これにより、下流側空燃比センサ６７の出力Ｖｏｘｓに基くサブフィードバック制御が停止される。
【０１２７】
＜下流側空燃比センサの較正＞
ＣＰＵ７１は、図１１にフローチャートにより示した下流側空燃比センサ６７の較正を行うルーチンを、所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ７１はステップ１１００から処理を開始し、ステップ１１０５に進んで、上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値が「１」になっているか否かを判定し、上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値が「０」になっていれば、ステップ１１０５にて「Ｎｏ」と判定してステップ１１４０に直接進んでカウンタＭの値を「０」に設定した後ステップ１１９５に直接進んで本ルーチンを一旦終了する。
【０１２８】
いま、冷間始動により上流側空燃比センサ較正フラグＸＣＯＲＲＥＣＴの値が「１」になっているものとすると、ＣＰＵ７１はステップ１１０５の判定にて「Ｙｅｓ」と判定してステップ１１１０に進み、内燃機関１０が定常運転状態にあるか否かを判定する。ここで、内燃機関１０が定常運転状態にあると判定される場合は、例えば、前述したステップ１００５でのサブフィードバック制御条件に加え、エンジン回転速度ＮＥ、及び、機関の一回転当りの吸入空気量（負荷）が共に所定時間以上略一定である場合である。
【０１２９】
ここで、ステップ１１１０の判定において、内燃機関１０が定常運転状態にないと判定されると、ＣＰＵ７１はステップ１１１０にて「Ｎｏ」と判定してステップ１１４０に直接進んでカウンタＭの値を「０」に設定した後ステップ１１９５に進んで本ルーチンを一旦終了する。
【０１３０】
一方、いま、内燃機関１０が定常運転状態になったものとすると、ＣＰＵ７１はステップ１１１０にて「Ｙｅｓ」と判定してステップ１１１５に進んでその時点でのカウンタＭの値（現時点では「０」）を「１」だけ増大した値を新たなカウンタＭの値として設定する。即ち、カウンタＭの値は、内燃機関１０の定常運転状態の継続時間に対応する値である。
【０１３１】
次に、ＣＰＵ７１は１１２０に進んで、カウンタＭの値が前記所定時間Ｔ１に相当する下流側較正判定基準値Ｍｃｏｒ以上であるか否かを判定する。現時点では、カウンタＭの値が「１」であって下流側較正判定基準値Ｍｃｏｒ未満であるので、ＣＰＵ７１はステップ１１２０にて「Ｎｏ」と判定してステップ１１９５に直接進んで本ルーチンを一旦終了する。以降、内燃機関１０が定常運転状態に維持されている限りにおいて所定時間Ｔ１が経過するまで、ＣＰＵ７１はステップ１１００、１１０５（「Ｙｅｓ」と判定）、１１１０（「Ｙｅｓ」と判定）、１１１５、１１２０（「Ｎｏ」と判定）、１１９５の処理を繰り返し実行する。
【０１３２】
そして、ステップ１１２５が繰り返し実行されることによりカウンタＭの値が下流側較正判定基準値Ｍｃｏｒ以上になると（即ち、内燃機関１０の定常運転状態の継続時間が所定時間Ｔ１に達すると）、ＣＰＵ７１はステップ１１２０に進んだとき「Ｙｅｓ」と判定してステップ１１２５に進み、現時点でのサブフィードバック制御量ｖａｆｓｆｂの値と、図６に示したテーブルと同様のステップ１１２５内に記載のテーブルとに基いてオフセット量ｏｆｆｓｅｔを計算する。
【０１３３】
次に、ＣＰＵ７１はステップ１１３０に進んで、上記数１０に従って、その時点での下流側センサ出力較正値Ｖｏｘｓａｄｄにステップ１１２５にて算出したオフセット量ｏｆｆｓｅｔを加えた値を新たな下流側センサ出力較正値Ｖｏｘｓａｄｄとして設定（更新）する。そして、ＣＰＵ７１はステップ１１３５に進んで、次回下流側センサ出力較正値Ｖｏｘｓａｄｄが更新されるまで、ステップ１１３０にて更新した下流側センサ出力較正値Ｖｏｘｓａｄｄを下流側空燃比センサ６７が出力する較正前の実際の出力値Ｖｏｘｓ０に加えた値を下流側空燃比センサ６７の（較正後の実際の）出力値Ｖｏｘｓとして設定する。
【０１３４】
次いで、ＣＰＵ７１はステップ１１４０に進んで、カウンタＭの値を「０」に設定した後、ステップ１１９５に進んで本ルーチンを一旦終了する。以降、内燃機関１０の定常運転状態の継続時間が所定時間Ｔ１に達する毎に、ＣＰＵ７１はステップ１１２０にて「Ｙｅｓ」と判定してステップ１１２５以降の上記下流側空燃比センサ６７の較正処理を実行する。以上のようにして、内燃機関１０の定常運転状態の継続時間が所定時間Ｔ１に達する毎に、下流側空燃比センサ６７の較正が実行される。
【０１３５】
以上、説明したように、本発明による内燃機関の排気浄化装置の実施形態によれば、検出する排気ガスの空燃比が未知であっても不活性状態における特性を利用して較正することができる限界電流式の上流側空燃比センサ６６が冷間始動直後毎に較正された後、上記空燃比フィードバック制御中において内燃機関１０の定常運転状態の継続時間が所定時間Ｔ１に達する毎に、その時点でのサブフィードバック制御量ｖａｆｓｆｂの値、即ち、積分項Ｋｉ・ＳＤＶｏｘｓ（時間積分値）の値に基いて起電力式の下流側空燃比センサ６７が較正され得る。従って、起電力式の下流側空燃比センサ６７が使用される場合であっても、前記空燃比フィードバック制御を継続しながら機関の空燃比が下流側目標空燃比（理論空燃比）に正確に一致するように制御され得ることになり、その結果、第１触媒５３（従って、第２触媒５４）の排気ガス浄化効率が低下することなくエミッションの排出量が増大するを防止できた。
【０１３６】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、上流側空燃比センサの較正前の出力値ｖａｂｙｆｓ０に上流側センサ出力較正値ｖａｂｙｆｓａｄｄを加えることで上流側空燃比センサを較正しているが、上流側空燃比センサの出力値には変更を加えることなく、上流側目標値ｖｓｔｏｉｃｈから同出力較正値ｖａｂｙｆｓａｄｄを減じた値を新たな上流側目標値ｖｓｔｏｉｃｈとして設定することで上流側空燃比センサを較正するように構成してもよい。
【０１３７】
また、上記実施形態においては、下流側空燃比センサの較正前の出力値Ｖｏｘｓ０に下流側センサ出力較正値Ｖｏｘｓａｄｄを加えることで下流側空燃比センサを較正しているが、下流側空燃比センサの出力値には変更を加えることなく、下流側目標値Ｖｏｘｓｒｅｆから同出力較正値Ｖｏｘｓａｄｄを減じた値を新たな下流側目標値Ｖｏｘｓｒｅｆとして設定することで下流側空燃比センサを較正するように構成してもよい。
【０１３８】
また、上記実施形態においては、サブフィードバック制御量ｖａｆｓｆｂを上流側空燃比センサ６７の出力値ｖａｂｙｆｓに加えることで上流側空燃比センサ６７の出力値ｖａｂｙｆｓを調整し、調整後の上流側空燃比センサ６７の出力値（ｖａｂｙｆｓ＋ｖａｆｓｆｂ）が上流側目標値ｖｓｔｏｉｃｈになるように機関の空燃比がフィードバック制御されているが、サブフィードバック制御量ｖａｆｓｆｂを上流側目標値ｖｓｔｏｉｃｈから減じることで上流側目標値ｖｓｔｏｉｃｈを調整し、上流側空燃比センサ６７の出力値ｖａｂｙｆｓが調整後の上流側目標値（ｖｓｔｏｉｃｈ−ｖａｆｓｆｂ）になるように機関の空燃比がフィードバック制御されるように構成してもよい。
【０１３９】
また、上記実施形態において、上流側センサ出力較正値ｖａｂｙｆｓａｄｄが所定値よりも大きい場合、上流側空燃比センサの異常と判定し、上記空燃比フィードバック制御を中止する等の処置を行うように構成してもよい。同様に、下流側センサ出力較正値Ｖｏｘｓａｄｄが所定値よりも大きい場合、下流側空燃比センサの異常と判定し、上記空燃比フィードバック制御（或いは、上記サブフィードバック制御のみ）を中止する等の処置を行うように構成してもよい。
【０１４０】
また、上記実施形態においては、下流側空燃比センサの較正を行う際に、定常状態におけるサブフィードバック制御量ｖａｆｓｆｂ（積分項、時間積分値）の値自体を使用して下流側センサ出力較正値Ｖｏｘｓａｄｄ（オフセット量ｏｆｆｓｅｔ）を決定しているが、サブフィードバック制御量（積分項、時間積分値）の値自体に所定のローパスフィルタ処理を施した後の値を使用して下流側センサ出力較正値Ｖｏｘｓａｄｄ（オフセット量ｏｆｆｓｅｔ）を決定するように構成してもよい。
【０１４１】
また、上記実施形態においては、下流側空燃比センサの較正を行う際に、上流側空燃比センサの較正後の定常状態におけるサブフィードバック制御量ｖａｆｓｆｂ（積分項、時間積分値）の値に基いて同サブフィードバック制御量ｖａｆｓｆｂがその後の定常状態においてゼロになるように下流側センサ出力較正値Ｖｏｘｓａｄｄ（オフセット量ｏｆｆｓｅｔ）を決定しているが、上流側空燃比センサの較正後の定常状態における上流側空燃比センサの出力値に対応する空燃比（検出空燃比）に相当する（検出される排気ガスの空燃比が上流側空燃比センサの検出空燃比であるときの）下流側空燃比センサの出力目標値（下流側空燃比センサが図４に実線にて示した正常値を出力する場合の同下流側空燃比センサの出力値）から下流側空燃比センサの実際の出力値Ｖｏｘｓを減じた値を下流側センサ出力較正値Ｖｏｘｓａｄｄ（オフセット量ｏｆｆｓｅｔ）として決定するように構成してもよい。
【図面の簡単な説明】
【図１】本発明の実施形態に係る空燃比制御装置（排気浄化装置）を適用した内燃機関の概略図である。
【図２】図１に示したエアフローメータの出力電圧と計測された吸入空気流量との関係を示したグラフである。
【図３】図１に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図４】図１に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図５】図１に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。
【図６】図１に示したＣＰＵが参照するサブフィードバック制御量とオフセット量との関係を規定したテーブルを示したグラフである。
【図７】図１に示したＣＰＵが実行する上流側空燃比センサを較正するためのルーチンを示したフローチャートである。
【図８】図１に示したＣＰＵが実行する燃料噴射量計算のためのルーチンを示したフローチャートである。
【図９】図１に示したＣＰＵが実行する空燃比フィードバック補正量（メインフィードバック制御量）を計算するためのルーチンを示したフローチャートである。
【図１０】図１に示したＣＰＵが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図１１】図１に示したＣＰＵが実行する下流側空燃比センサを較正するためのルーチンを示したフローチャートである。
【符号の説明】
１０…内燃機関、２５…燃焼室、３９…インジェクタ、５２…エキゾーストパイプ（排気管）、５３…三元触媒（第１触媒）、５４…三元触媒（第２触媒）、６６…上流側空燃比センサ、６７…下流側空燃比センサ、７０…電気制御装置、７１…ＣＰＵ
【図１】
2004183585.tif 000003
【図２】
2004183585.tif 000004
【図３】
2004183585.tif 000005
【図４】
2004183585.tif 000006
【図５】
2004183585.tif 000007
【図６】
2004183585.tif 000008
【図７】
2004183585.tif 000009
【図８】
2004183585.tif 000010
【図９】
2004183585.tif 000011
【図１０】
2004183585.tif 000012
【図１１】
2004183585.tif 000013