(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設された酸素吸蔵機能を有する触媒と、
前記触媒の下流の排気通路に配設されて同触媒から流出するガスの空燃比に応じた値を出力する空燃比センサと、
燃料を噴射する燃料噴射弁と、
を備えた内燃機関に適用され、
前記空燃比センサの出力値と理論空燃比に相当する目標値との偏差に相当する値を逐次積算して更新されていく偏差積分値に少なくとも基づいて前記触媒に流入するガスの空燃比が前記理論空燃比になるように前記燃料噴射弁から噴射される燃料量をフィードバック制御する理論空燃比制御を行う空燃比フィードバック制御手段と、
前記内燃機関の運転状態に応じて前記燃料噴射弁からの燃料噴射を中断するフューエルカット制御を行うフューエルカット制御手段と、
前記フューエルカット制御から復帰した後、前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第１リッチ制御を行う第１リッチ制御手段と、
を備えた内燃機関の燃料噴射制御装置であって、
前記偏差積分値が収束したか否かを判定する収束判定手段を備え、
前記第１リッチ制御手段は、
前記偏差積分値が収束したと判定されている場合、前記第１リッチ制御により前記触媒の酸素吸蔵量を前記触媒が吸蔵し得る最大量である最大酸素吸蔵量の半分より小さい所定の値になるように制御し、前記偏差積分値が収束していないと判定されている場合、前記第１リッチ制御により前記触媒の酸素吸蔵量を前記最大酸素吸蔵量の半分になるように制御するよう構成された内燃機関の燃料噴射制御装置。
【請求項２】
請求項１に記載の内燃機関の燃料噴射量制御装置において、
前記第１リッチ制御手段は、
前記偏差積分値が収束したと判定されている場合、前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が前記最大酸素吸蔵量の半分より小さい前記所定の値に達した時点で前記第１リッチ制御を終了し、前記偏差積分値が収束していないと判定されている場合、前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が前記最大酸素吸蔵量の半分に達した時点で前記第１リッチ制御を終了するように構成された内燃機関の燃料噴射制御装置。
【請求項３】
内燃機関の排気通路に配設された酸素吸蔵機能を有する触媒と、
前記触媒の下流の排気通路に配設されて同触媒から流出するガスの空燃比に応じた値を出力する空燃比センサと、
燃料を噴射する燃料噴射弁と、
を備えた内燃機関に適用され、
前記空燃比センサの出力値と理論空燃比に相当する目標値との偏差に相当する値を逐次積算して更新されていく偏差積分値に少なくとも基づいて前記触媒に流入するガスの空燃比が前記理論空燃比になるように前記燃料噴射弁から噴射される燃料量をフィードバック制御する理論空燃比制御を行う空燃比フィードバック制御手段と、
前記内燃機関の運転状態に応じて前記燃料噴射弁からの燃料噴射を中断するフューエルカット制御を行うフューエルカット制御手段と、
前記フューエルカット制御から復帰した後、前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第１リッチ制御を行う第１リッチ制御手段と、
前記内燃機関が加速状態に移行した後、前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第２リッチ制御を行う第２リッチ制御手段と、
を備えた内燃機関の燃料噴射制御装置であって、
前記偏差積分値が収束したか否かを判定する収束判定手段を備え、
前記偏差積分値が収束したと判定されている場合、前記第１リッチ制御手段により前記第１リッチ制御が実行されるとともに、前記第２リッチ制御手段により前記第２リッチ制御が実行され、前記偏差積分値が収束していないと判定されている場合、前記第１リッチ制御手段により前記第１リッチ制御が実行されるとともに、前記第２リッチ制御手段により前記第２リッチ制御が実行されるべきときに前記第２リッチ制御に代えて前記理論空燃比制御が実行されるように構成された内燃機関の燃料噴射制御装置。
【請求項４】
請求項３に記載の内燃機関の燃料噴射制御装置において、
前記第１リッチ制御手段は、
前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が前記最大酸素吸蔵量の半分に達した時点で前記第１リッチ制御を終了するように構成された内燃機関の燃料噴射制御装置。
【請求項５】
内燃機関の排気通路に配設された酸素吸蔵機能を有する触媒と、
前記触媒の下流の排気通路に配設されて同触媒から流出するガスの空燃比に応じた値を出力する空燃比センサと、
燃料を噴射する燃料噴射弁と、
を備えた内燃機関に適用され、
前記空燃比センサの出力値と理論空燃比に相当する目標値との偏差に相当する値を逐次積算して更新されていく偏差積分値に少なくとも基づいて前記触媒に流入するガスの空燃比が前記理論空燃比になるように前記燃料噴射弁から噴射される燃料量をフィードバック制御する理論空燃比制御を行う空燃比フィードバック制御手段と、
前記内燃機関の運転状態に応じて前記燃料噴射弁からの燃料噴射を中断するフューエルカット制御を行うフューエルカット制御手段と、
前記フューエルカット制御から復帰した後、前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第１リッチ制御を行う第１リッチ制御手段と、
前記内燃機関が加速状態に移行した後、前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第２リッチ制御を行う第２リッチ制御手段と、
を備えた内燃機関の燃料噴射制御装置であって、
前記偏差積分値が収束したか否かを判定する収束判定手段を備え、
前記偏差積分値が収束したと判定されている場合、前記第１リッチ制御手段により前記第１リッチ制御が実行されるとともに、前記第２リッチ制御手段により前記第２リッチ制御が実行され、前記偏差積分値が収束していないと判定されている場合、前記第２リッチ制御手段により前記第２リッチ制御が実行されるとともに、前記第１リッチ制御手段により前記第１リッチ制御が実行されるべきときに前記第１リッチ制御に代えて前記理論空燃比制御が実行されるように構成された内燃機関の燃料噴射制御装置。
【請求項６】
請求項５に記載の内燃機関の燃料噴射制御装置において、
前記第２リッチ制御手段は、
前記偏差積分値が収束していないと判定されている場合、前記偏差積分値が収束したと判定されている場合に比して、前記第２リッチ制御の実行による前記触媒の酸素吸蔵量の減少の程度を大きくするように構成された内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気通路に配設された触媒の下流に設けられた空燃比センサの出力値に基づいて触媒に流入するガスの空燃比を制御する内燃機関の燃料噴射制御装置に関する。
【背景技術】
【０００２】
従来より、この種の燃料噴射制御装置が広く知られている。例えば、特許文献１に記載の燃料噴射制御装置（排気浄化装置）では、内燃機関の排気通路に配設された酸素吸蔵機能を有する触媒（三元触媒）の下流に空燃比センサ（通常は、濃淡電池型の酸素濃度センサ）が設けられている。この空燃比センサの出力値と目標空燃比（＝理論空燃比）に相当する目標値（目標空燃比相当値）との偏差を比例・積分・微分処理（ＰＩＤ処理）してフィードバック補正値が算出される。そして、このフィードバック補正値に基づいて燃料噴射量が補正されることで内燃機関に供給する混合気の空燃比（従って、触媒に流入するガスの空燃比、以下、単に「空燃比」とも称呼する。）が目標空燃比に一致するようにフィードバック制御されるようになっている。
【０００３】
上記フィードバック補正値には、積分項（Ｉ項）の値、即ち、上記空燃比センサの出力値と目標空燃比相当値との偏差を逐次積算して更新されていく偏差積分値にゲインを乗じた値が含まれている。これにより、エアフローメータの出力特性のばらつき、インジェクタの噴射特性のばらつき等に起因して、実際の燃料噴射量と空燃比を目標空燃比に一致させるために必要な燃料噴射量との差（以下、「燃料噴射量の誤差」と称呼する。）が発生していても、上述したフィードバック制御の実行により、燃料噴射量の誤差が偏差積分値（従って、積分項の値）により補償され得、この結果、空燃比を目標空燃比に一致させることができる。
【０００４】
換言すれば、偏差積分値は、燃料噴射量の誤差の大きさを表す値となり得る。この種の燃料噴射制御装置では、このような性格を有する偏差積分値を記憶するとともに記憶されている偏差積分値（以下、「偏差積分値の学習値」とも称呼する。）を所定のタイミング毎に更新（学習）していく偏差積分値の学習が実行される場合が多い。
【０００５】
ところで、近年、燃費向上等の観点から、アクセル開度がゼロ等の所定の条件が成立している間は燃料の噴射を中断するフューエルカット制御（以下、「ＦＣ」と称呼することもある。）が実行されるようになっている。ＦＣ中は、酸素を含んだ空気そのものが触媒に流入するため触媒の酸素吸蔵量が増大する。この結果、ＦＣからの復帰時では、触媒の酸素吸蔵量が触媒に吸蔵され得る最大量（以下「最大酸素吸蔵量」と称呼する。）、或いは最大酸素吸蔵量近傍に達している場合が多い。
【０００６】
この状態では、その後において空燃比が理論空燃比よりもリーンの排ガスが流入した場合、触媒は酸素吸蔵機能を発揮し得ず、従って、排ガス中のＮＯｘを効果的に浄化することができない。即ち、触媒を、空燃比が理論空燃比に対してリッチ及びリーンの何れの排ガスが流入しても酸素吸蔵機能を十分に発揮し得る状態とするためには、触媒の酸素吸蔵量が所定の適切な値（例えば、最大酸素吸蔵量の半分程度等）に調整されることが好ましい。
【０００７】
そこで、係る問題に対処するため、例えば、特許文献２に記載の内燃機関の制御装置では、ＦＣから復帰した後において空燃比が一時的に理論空燃比よりもリッチ空燃比に意図的に制御されて触媒の酸素吸蔵量が所定の適切な目標値（例えば、最大酸素吸蔵量の半分程度等）に調整されるようになっている。以下、係る制御を「ＦＣ後リッチ制御」と称呼する。
【０００８】
係るＦＣ後リッチ制御中は、触媒から流出するガスの空燃比が理論空燃比から離れた値（具体的には、理論空燃比よりもリッチな空燃比）となり得、従って、空燃比センサの出力値も目標空燃比相当値から離れた値となり得る。この結果、ＦＣ後リッチ制御中に上記空燃比フィードバック制御が実行されると（従って、上記偏差積分値が更新されると）、偏差積分値が収束すべき値（即ち、上記燃料噴射量の誤差の大きさを正確に表す値、以下、「収束値」と称呼する。）からずれていく可能性がある。更には、ＦＣ後リッチ制御中に上述した偏差積分値の学習が実行されると、偏差積分値の学習値も上記収束値からずれていく可能性がある。
【０００９】
即ち、上記燃料噴射量の誤差が適切に補償され得ず、この結果、空燃比が目標空燃比に適切に一致し得ない可能性がある。そこで、特許文献２の記載の装置では、ＦＣ後リッチ制御中は、上記空燃比フィードバック制御を中断して上記偏差積分値の更新を中断するようになっている。
【００１０】
ところで、ＦＣ後リッチ制御の前の段階（より具体的には、ＦＣの前の段階）において、上記偏差積分値（或いは、偏差積分値の学習値）が上記収束値に既に収束している場合（以下、「既収束の場合」と称呼する。）と収束していない場合（以下、「未収束の場合」と称呼する。）とが考えられる。既収束の場合は上記燃料噴射量の誤差の大きさが正確に取得できた場合、或いは偏差積分値の学習が完了した場合に相当し、未収束の場合は上記燃料噴射量の誤差の大きさが未だ取得できていない場合、或いは偏差積分値の学習が完了していない場合に相当する。
【００１１】
本発明者は、既収束の場合と未収束の場合とで、上記ＦＣ後リッチ制御等、ＦＣ後において行われる空燃比を理論空燃比よりもリッチとする制御のパターンを異ならせることが、内燃機関を総合的な観点から制御する上で好ましいことを見出した。
【特許文献１】特開２００４−１８３５８５号公報
【特許文献２】特開２００５−６１３５６号公報
【発明の開示】
【００１２】
従って、本発明の目的は、触媒下流の空燃比センサの出力値と目標空燃比相当値との偏差に相当する値の積算により更新されていく偏差積分値に少なくとも基づいて空燃比フィードバック制御を行う燃料噴射制御装置において、ＦＣ後において行われる空燃比を理論空燃比よりもリッチとする制御のパターンを既収束の場合と未収束の場合とで異ならせるものを提供することにある。
【００１３】
本発明による燃料噴射制御装置は、内燃機関の排気通路に配設された酸素吸蔵機能を有する触媒（三元触媒等）と、前記触媒の下流の排気通路に配設されて同触媒から流出するガスの空燃比に応じた値を出力する空燃比センサと、燃料を噴射する燃料噴射弁とを備えた内燃機関に適用される。ここにおいて、前記空燃比センサとしては、一般には、濃淡電池型の酸素濃度センサが使用される。
【００１４】
本発明による第１の燃料噴射制御装置は、前記空燃比センサの出力値と理論空燃比に相当する目標値（目標空燃比相当値）との偏差に相当する値を逐次積算して更新されていく偏差積分値に少なくとも基づいて前記触媒に流入するガスの空燃比が前記理論空燃比になるように前記燃料噴射弁から噴射される燃料量をフィードバック制御する空燃比フィードバック制御手段と、前記内燃機関の運転状態に応じて前記燃料噴射弁からの燃料噴射を中断するフューエルカット制御（即ち、ＦＣ）を行うフューエルカット制御手段と、ＦＣから復帰した後（例えば、ＦＣから復帰した直後）、（前記空燃比フィードバック制御に優先して）前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第１リッチ制御（即ち、上記ＦＣ後リッチ制御）を行う第１リッチ制御手段とを備えている。
【００１５】
ここにおいて、前記「空燃比センサの出力値と目標空燃比相当値との偏差に相当する値」とは、例えば、空燃比センサの出力値と目標空燃比相当値との偏差そのもの、空燃比センサによる検出空燃比と目標空燃比との偏差等を含んでいる。また、前記空燃比フィードバック制御手段は、前記偏差積分値を使用して算出される積分項のみに基づいて（積分処理（Ｉ処理）して）、或いは、前記積分項と前記偏差に相当する値そのものを使用して算出される比例項とに基づいて（比例・積分処理（ＰＩ処理）して）、或いは、前記積分項と前記比例項と前記偏差に相当する値の時間微分値を使用して算出される微分項とに基づいて（比例・積分・微分処理（ＰＩＤ処理）して）、フィードバック補正値を算出し、このフィードバック補正値に基づいて前記燃料噴射弁から噴射される燃料量をフィードバック制御するように構成される。
【００１６】
本発明による第１の燃料噴射制御装置の特徴は、前記偏差積分値が収束したか否かを判定する収束判定手段を備え、前記第１リッチ制御手段は、前記偏差積分値が収束したと判定されている場合（上記既収束の場合）と前記偏差積分値が収束していないと判定されている場合（上記未収束の場合）とで、前記第１リッチ制御（ＦＣ後リッチ制御）の実行による前記触媒の酸素吸蔵量の減少の程度（減少量）を異ならせるように構成されたことにある。
【００１７】
具体的には、前記第１リッチ制御手段は、既収束の場合、前記第１リッチ制御（ＦＣ後リッチ制御）により前記触媒の酸素吸蔵量を前記触媒が吸蔵し得る最大量である最大酸素吸蔵量の半分より小さい所定の値になるように制御し、未収束の場合、前記第１リッチ制御により前記触媒の酸素吸蔵量を前記最大酸素吸蔵量の半分になるように制御するよう構成される。
【００１８】
この場合、例えば、既収束の場合、前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が同触媒が吸蔵し得る最大量の半分より小さい所定の値に達した時点で前記第１リッチ制御が終了され、未収束の場合、前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が同触媒が吸蔵し得る最大量の半分に達した時点で前記第１リッチ制御が終了される。
【００１９】
一般に、機関が加速状態にある場合、燃焼室内に吸入される空気量が少なめに推定されることに起因して空燃比が理論空燃比よりもリーンとなる傾向がある。以下、この傾向を「加速リーン傾向」と称呼する。上記構成によれば、既収束の場合、ＦＣ後リッチ制御終了時点にて触媒内が若干リッチ雰囲気に設定される。これにより、ＦＣ後リッチ制御終了後において理論空燃比よりもリーン空燃比の排ガスが触媒に流入する場合に対して触媒の酸素吸蔵機能が発揮され得る余裕度を大きめに確保しておくことができる。この結果、既収束の場合、ＦＣ後リッチ制御終了後において加速リーン傾向が発生した場合において排ガス中のＮＯｘを効果的に浄化することができる。
【００２０】
一方、未収束の場合、ＦＣ後リッチ制御終了時点にて触媒内が理論空燃比相当の雰囲気に設定される。これにより、ＦＣ後リッチ制御終了時点以降、触媒から流出するガスの空燃比が理論空燃比近傍となる傾向が強くなり、従って、空燃比センサの出力値が目標空燃比相当値近傍となる傾向が強くなる。この結果、上記空燃比フィードバック制御の実行により上記偏差積分値が更新される場合（或いは、偏差積分値の学習が実行される場合）、偏差積分値（或いは、偏差積分値の学習値）が上記収束値から離れていく事態の発生を抑制することができる。換言すれば、未収束の場合、偏差積分値（或いは、偏差積分値の学習値）を収束値に効率良く収束させることができる。
【００２１】
なお、本発明による第１燃料噴射制御装置においては、前記空燃比フィードバック制御手段は、前記第１リッチ制御中は前記空燃比フィードバック制御を中断して前記偏差積分値の更新を中断することが好適である。また、前記空燃比フィードバック制御手段は、前記第１リッチ制御の終了後、直ちに前記空燃比フィードバック制御を再開する（前記偏差積分値の更新を再開する）ように構成されることが好ましい。加えて、未収束の場合において前記偏差積分値の学習が実行される場合、前記第１リッチ制御中は前記偏差積分値の学習が中断され、前記第１リッチ制御の終了後直ちに前記偏差積分値の学習が再開されるように構成されることが好適である。
【００２２】
本発明による第２の燃料噴射制御装置は、上記本発明による第１の燃料噴射制御装置が有するものと同じフィードバック制御手段、フューエルカット制御手段、及び第１リッチ制御手段に加え、更に、第２リッチ制御手段を備えている。
【００２３】
第２リッチ制御手段は、（ＦＣ後において）前記内燃機関が加速状態に移行した後、（前記空燃比フィードバック制御に優先して）前記触媒に流入するガスの空燃比が前記理論空燃比よりもリッチな空燃比になるように前記燃料噴射弁から噴射される燃料量を制御する第２リッチ制御を行う手段である。以下、係る制御を「再加速時リッチ制御」と称呼する。この再加速時リッチ制御は、上記加速リーン傾向によりＮＯｘが排出されることを抑制するための制御である。
【００２４】
本発明による第２の燃料噴射制御装置の特徴は、上記第１の燃料噴射制御装置が有するものと同じ前記収束判定手段を備え、既収束の場合、前記第１リッチ制御手段により前記第１リッチ制御（ＦＣ後リッチ制御）が実行されるとともに前記第２リッチ制御手段により前記第２リッチ制御（再加速時リッチ制御）が実行され、未収束の場合、前記第１リッチ制御手段により前記第１リッチ制御が実行されるとともに前記第２リッチ制御手段により前記第２リッチ制御が実行されるべきときに前記第２リッチ制御に代えて前記理論空燃比制御が実行されるように構成されたことにある。
【００２５】
これによれば、既収束の場合、ＦＣ後において、ＦＣ後リッチ制御も再加速時リッチ制御も共に実行され得る。即ち、ＦＣ後リッチ制御の実行によりＦＣ後において触媒の酸素吸蔵量を所定の適切な値に調整でき、且つ、再加速時リッチ制御の実行により加速リーン傾向に基づく排ガス中のＮＯｘの排出を抑制できる。
【００２６】
一方、未収束の場合、ＦＣ後において、ＦＣ後リッチ制御は実行され得るが再加速時リッチ制御は実行されない。これにより、ＦＣ後リッチ制御の実行によりＦＣ後において触媒の酸素吸蔵量を所定の適切な値に調整できる。
【００２７】
加えて、未収束の場合、既収束の場合において再加速時リッチ制御が実行される状況であっても上記空燃比フィードバック制御手段により空燃比が目標空燃比に一致するように制御され得る。従って、既収束の場合において再加速時リッチ制御実行中となる期間中であっても、空燃比センサの出力値が目標空燃比相当値近傍に維持される傾向が強くなり、この結果、同期間中においても偏差積分値（或いは、偏差積分値の学習値）を収束値に効率良く近づける（収束させる）ことができる。即ち、未収束の場合においても再加速時リッチ制御が実行される場合に比して、偏差積分値（或いは、偏差積分値の学習値）を収束値により早期に収束させることができる。
【００２８】
この場合、前記第１リッチ制御手段は、（既収束の場合も未収束の場合も）前記第１リッチ制御により減少していく前記触媒の酸素吸蔵量が同触媒が吸蔵し得る最大量の半分に達した時点で前記第１リッチ制御を終了するように構成されることが好適である。
【００２９】
これによれば、ＦＣ後リッチ制御終了時点にて触媒内が理論空燃比相当の雰囲気に設定される。これにより、ＦＣ後リッチ制御終了直後から触媒から流出するガスの空燃比が理論空燃比近傍となる傾向が強くなる。この結果、未収束の場合において、ＦＣ後リッチ制御終了直後から偏差積分値（或いは、偏差積分値の学習値）を収束値に効率良く近づける（収束させる）ことができる。即ち、ＦＣ後リッチ制御終了時点にて触媒内が理論空燃比相当の雰囲気以外の雰囲気に設定される場合に比して偏差積分値（或いは、偏差積分値の学習値）を収束値により早期に収束させることができる。
【００３０】
なお、本発明による第２燃料噴射制御装置においては、前記空燃比フィードバック制御手段は、前記第１リッチ制御中、並びに前記第２リッチ制御中は前記空燃比フィードバック制御を中断して前記偏差積分値の更新を中断することが好適である。また、前記空燃比フィードバック制御手段は、前記第１リッチ制御の終了後、並びに前記第２リッチ制御の終了後、直ちに前記空燃比フィードバック制御を再開する（前記偏差積分値の更新を再開する）ように構成されることが好ましい。加えて、未収束の場合において前記偏差積分値の学習が実行される場合、前記第１リッチ制御中は前記偏差積分値の学習が中断され、前記第１リッチ制御の終了後直ちに前記偏差積分値の学習が再開されるように構成されることが好適である。
【００３１】
本発明による第３の燃料噴射制御装置は、上記本発明による第２の燃料噴射制御装置が有するものと同じフィードバック制御手段、フューエルカット制御手段、第１リッチ制御手段に加え、及び、第２リッチ制御手段を備えている。
【００３２】
本発明による第３の燃料噴射制御装置の特徴は、上記第１の燃料噴射制御装置が有するものと同じ前記収束判定手段を備え、既収束の場合、前記第１リッチ制御手段により前記第１リッチ制御（ＦＣ後リッチ制御）が実行されるとともに前記第２リッチ制御手段により前記第２リッチ制御（再加速時リッチ制御）が実行され、未収束の場合、前記第２リッチ制御手段により前記第２リッチ制御が実行されるとともに前記第１リッチ制御手段により前記第１リッチ制御が実行されるべきときに前記第１リッチ制御に代えて前記理論空燃比制御が実行されるように構成されたことにある。
【００３３】
これによれば、既収束の場合、上記第２の燃料噴射制御装置と同様、ＦＣ後において、ＦＣ後リッチ制御も再加速時リッチ制御も共に実行され得る。
【００３４】
一方、未収束の場合、ＦＣ後において、再加速時リッチ制御は実行され得るがＦＣ後リッチ制御は実行されない。従って、既収束の場合においてＦＣ後リッチ制御が実行される状況であっても上記空燃比フィードバック制御手段により空燃比が目標空燃比に一致するように制御され得る。
【００３５】
これにより、未収束の場合、ＦＣ終了時点以降において、触媒の酸素吸蔵量がＦＣ終了時点での値（即ち、最大酸素吸蔵量近傍の値）の近傍で推移する。従って、ＦＣ後における再加速時リッチ制御開始時点での触媒の酸素吸蔵量が最大酸素吸蔵量に近い大きい値になっている場合が多い。よって、再加速時リッチ制御の実行による触媒の酸素吸蔵量の減少量を大きめに設定できる。この結果、加速リーン傾向によりＮＯｘが発生し易い加速状態においてＮＯｘの排出を十分に抑制できる。
【００３６】
このように、未収束の場合において再加速時リッチ制御の実行による触媒の酸素吸蔵量の減少量を大きめに設定する場合、具体的には、前記第２リッチ制御手段は、前記偏差積分値が収束していないと判定されている場合（未収束の場合）、前記偏差積分値が収束したと判定されている場合（既収束の場合）に比して、前記第２リッチ制御の実行による前記触媒の酸素吸蔵量の減少の程度を大きくするように構成されると好ましい。
【００３７】
なお、本発明による第３燃料噴射制御装置においては、前記空燃比フィードバック制御手段は、前記第１リッチ制御中、並びに前記第２リッチ制御中は前記空燃比フィードバック制御を中断して前記偏差積分値の更新を中断することが好適である。また、前記空燃比フィードバック制御手段は、前記第１リッチ制御の終了後、並びに前記第２リッチ制御の終了後、直ちに前記空燃比フィードバック制御を再開する（前記偏差積分値の更新を再開する）ように構成されることが好ましい。加えて、未収束の場合において前記偏差積分値の学習が実行される場合、前記第２リッチ制御中は前記偏差積分値の学習が中断され、前記第２リッチ制御の終了後直ちに前記偏差積分値の学習が再開されるように構成されることが好適である。
【発明を実施するための最良の形態】
【００３８】
以下、本発明による内燃機関の燃料噴射制御装置の各実施形態について図面を参照しつつ説明する。これらの燃料噴射制御装置は、機関の燃料噴射量を制御する燃料噴射量制御装置でもある。
【００３９】
（第１実施形態）
図１は、本発明の実施形態に係る燃料噴射制御装置を４サイクル火花点火式多気筒内燃機関１０に適用したシステムの概略構成を示している。なお、図１は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００４０】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００４１】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００４２】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００４３】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットルバルブ４３及びスワールコントロールバルブ４４を備えている。
【００４４】
スロットルバルブ４３は、ＤＣモータからなるスロットルバルブアクチュエータ４３ａにより吸気管４１内で回転駆動されるようになっている。ＳＣＶ４４は、ＤＣモータからなるＳＣＶアクチュエータ４４ａにより回転駆動されるようになっている。
【００４５】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、エキゾーストパイプ５２に配設された上流側触媒５３、上流側触媒５３よりも下流のエキゾーストパイプ５２に配設された下流側触媒５４を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００４６】
上流側触媒５３及び下流側触媒５４のそれぞれは、所謂、白金等の貴金属からなる活性成分を担持する三元触媒装置である。各触媒は、触媒流入ガスがほぼ理論空燃比であるとき、ＨＣ，ＣＯなどの未燃ガスを酸化するとともに、窒素酸化物（ＮＯｘ）を還元する機能を有する。更に、各触媒は、酸素を吸蔵（貯蔵）する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃ガス及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア(CeO2)によってもたらされる。
【００４７】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、スロットルポジションセンサ６３、カムポジションセンサ６４、クランクポジションセンサ６５、水温センサ６６、空燃比センサ６７、酸素濃度センサ６８、及びアクセル開度センサ６９を備えている。
【００４８】
エアフローメータ６１は、吸気管４１内を流れる吸入空気の質量流量（吸入空気流量）Gaに応じた信号を出力するようになっている。吸気温センサ６２は、吸入空気の温度を検出し、吸気温度THAを表す信号を出力するようになっている。スロットルポジションセンサ６３は、スロットルバルブ４３の開度（スロットルバルブ開度）を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。
【００４９】
カムポジションセンサ６４は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６５は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ６６は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【００５０】
空燃比センサ６７は、排気通路であって上流側触媒５３よりも上流側に配設されている。空燃比センサ６７は、所謂「限界電流式酸素濃度センサ」であって、上流側触媒５３に流入する排ガス中の空燃比を検出し、図２に示したように、検出した空燃比（検出空燃比）に応じた信号Vabyf(V)を出力するようになっている。
【００５１】
酸素濃度センサ６８は、排気通路であって上流側触媒５３よりも下流側であり下流側触媒５４よりも上流側に配設されている。酸素濃度センサ６８は、所謂「濃淡電池型の酸素センサ」である。図３に示したように、酸素濃度センサ６８は、上流側触媒５３から流出するガスの空燃比が理論空燃比よりもリッチ及びリーンのとき最大値max(V)及び最小値min(V)をそれぞれ出力し、上流側触媒５３から流出するガスの空燃比が理論空燃比であるとき最大値maxと最小値minの略中間の値（目標空燃比相当値Voxsref(V)）を出力するようになっている。
【００５２】
アクセル開度センサ６９は、運転者によって操作されるアクセルペダル７１の操作量Accpを表す信号を出力するようになっている。
【００５３】
電気制御装置８０は、互いにバスで接続されたＣＰＵ８１、ＣＰＵ８１が実行するプログラム、テーブル（マップ、関数）及び定数等を予め記憶したＲＯＭ８２、ＣＰＵ８１が必要に応じてデータを一時的に格納するＲＡＭ８３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ８４並びにＡＤコンバータを含むインターフェース８５等からなるマイクロコンピュータである。
【００５４】
インターフェース８５は、前記センサ６１〜６９と接続され、ＣＰＵ８１にセンサ６１〜６９からの信号を供給するとともに、ＣＰＵ８１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットルバルブアクチュエータ４３ａ及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００５５】
（空燃比フィードバック制御の概要）
次に、上記のように構成された燃料噴射制御装置（以下、「本装置」と称呼する。）による空燃比フィードバック制御の概要について説明する。本装置は、上流側触媒５３から流出するガスの空燃比が目標空燃比（＝理論空燃比AFstoich）となるように機関に供給する混合気の空燃比（従って、上流側触媒５３に流入するガスの空燃比。以下、単に「空燃比」とも称呼する。）を制御する。
【００５６】
具体的には、本装置は、上流側触媒５３の下流に配設された酸素濃度センサ６８の出力値Voxs(V)と、理論空燃比AFstoichに相当する上記目標空燃比相当値Voxsref(V)（一定）と、の偏差DVoxs(＝Voxsref−Voxs)についてＰＩＤ処理してフィードバック補正値（サブフィードバック補正量Vafsfb(V)）を求め、サブフィードバック補正量Vafsfbに基づいて（実際には、空燃比センサ６７の出力値Vabyfにも基づいて）、空燃比をフィードバック制御する。なお、酸素濃度センサ６８の出力値Voxsに基づく空燃比フィードバック制御を、特に「サブフィードバック制御」と呼ぶこともある。
【００５７】
また、本装置は、上記ＰＩＤ処理におけるＩ処理に必要となる上記偏差DVoxsの積算値(＝ΣDVoxs、以下、「偏差積分値SDVoxs」と称呼する。)に基づいて、所定のタイミング毎に偏差積分値SDVoxsの「学習」を行う（具体的には、後述する偏差積分値の学習値Learnを更新する）。加えて、本装置は、偏差積分値SDVoxsが収束したか否かの判定（即ち、偏差積分値の学習が完了したか否かの判定）を行い、偏差積分値SDVoxsが収束した（学習が完了した）と判定されている間は、偏差積分値の学習を行わない。
【００５８】
また、本装置は、機関の運転状態に応じてフューエルカット制御（ＦＣ）を行う。本装置は、ＦＣ中は上記空燃比フィードバック制御を中断する（従って、偏差積分値SDVoxsの更新を中断する）。
【００５９】
また、本装置は、ＦＣ後において上流側触媒５３の酸素吸蔵量を所定の目標値とするため、ＦＣ終了時点から或る期間に亘って空燃比を理論空燃比よりもリッチ空燃比（＝値AFrich1）に制御する「ＦＣ後リッチ制御」を行う。その際、本装置は、偏差積分値SDVoxsが収束したと判定されている間（即ち、上記「既収束の場合」）と、偏差積分値SDVoxsが収束していないと判定されている間（即ち、上記「未収束の場合」）とで、ＦＣ後リッチ制御における上記酸素吸蔵量の目標値を異ならせる。なお、本装置は、ＦＣ後リッチ制御中も、上記空燃比フィードバック制御を中断する（従って、偏差積分値SDVoxsの更新を中断する）。以上が、本装置による空燃比フィードバック制御の概要である。
【００６０】
（実際の作動）
次に、上記のように構成された燃料噴射制御装置の実際の作動について、図４Ａ、図４Ｂに示したタイムチャート、並びに、電気制御装置８０のＣＰＵ８１が実行するルーチン（プログラム）をフローチャートにより示した図５〜図１０を参照しながら説明する。
【００６１】
図４Ａは、既収束の場合において、時刻ｔ１〜ｔ２においてＦＣが実行され、時刻ｔ２〜ｔ３においてＦＣ後リッチ制御が実行された場合における、目標空燃比、上流側触媒５３の酸素吸蔵量の変化の一例を示したタイムチャートである。図４Ｂは、未収束の場合において、時刻ｔ１〜ｔ２においてＦＣが実行され、時刻ｔ２〜ｔ３においてＦＣ後リッチ制御が実行された場合における、目標空燃比、上流側触媒５３の酸素吸蔵量の変化の一例を示したタイムチャートである。以下、現時点が時刻ｔ１以前であるものとして（加えて、後述する空燃比フィードバック制御条件、及びサブフィードバック制御条件が成立しているものとして）説明を開始する。
【００６２】
ＣＰＵ８１は、図５に示した燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンを、任意の気筒のクランク角が吸気上死点前の所定クランク角度（例えば、ＢＴＤＣ９０°ＣＡ）となる毎に、繰り返し実行するようになっている。従って、或る気筒（以下、「燃料噴射気筒」と称呼する。）のクランク角度が前記所定クランク角度になると、ＣＰＵ８１はステップ５００から処理を開始してステップ５０５に進み、フラグＸＦＣが「０」であるか否かを判定する。
【００６３】
ここで、フラグＸＦＣの値は、後述するルーチンの実行により設定・変更されるようになっていて、フラグＸＦＣは、その値が「１」のときＦＣ中であることを示し、その値が「０」のときＦＣ中でないことを示す。
【００６４】
現時点は、時刻ｔ１以前であるからＦＣ中ではない（即ち、ＸＦＣ＝０）。従って、ＣＰＵ８１はステップ５０５にて「Ｙｅｓ」と判定してステップ５１０に進み、エアフローメータ６１により計測されている吸入空気流量Gaとエンジン回転速度NEとに基づいて今回の吸気行程において燃焼室２５内に吸入される空気量（筒内吸入空気量Mc(k)）をテーブルMapMcから求める。このテーブルMapMcは、ＲＯＭ８２に予め記憶されている。なお、添え字の(k)は、今回の吸気行程に対する値であることを表している。
【００６５】
続いて、ＣＰＵ８１はステップ５１５に進み、フラグＸＲＩＣＨの値が「０」であるか否かを判定する。ここで、フラグＸＲＩＣＨの値は、後述するルーチンの実行により設定・変更されるようになっていて、フラグＸＲＩＣＨは、その値が「１」のときＦＣ後リッチ制御実行中であることを示し、その値が「０」のときＦＣ後リッチ制御実行中でないことを示す。
【００６６】
現時点は、時刻ｔ１以前であるからＦＣ後リッチ制御中ではない（即ち、ＸＲＩＣＨ＝０）。従って、ＣＰＵ８１はステップ５１５にて「Ｙｅｓ」と判定してステップ５２０に進み、上記求めた筒内吸入空気量Mc(k)を理論空燃比AFstoichで除することで空燃比を目標空燃比（＝理論空燃比AFstoich）とするための基本燃料噴射量Fbaseを求める。
【００６７】
次いで、ＣＰＵ８１はステップ５２５に進み、燃料噴射量Fiを、上記求めた基本燃料噴射量Fbaseに後述する空燃比フィードバック補正量DFiを加えた値に設定する。
【００６８】
そして、ＣＰＵ８１はステッ５３０に進んで燃料噴射量Fiの燃料を噴射するための指示を燃料噴射気筒に対応するインジェクタ３９に対して行い、ステップ５９５に進んで本ルーチンを一旦終了する。これにより、空燃比フィードバック補正された燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。このような処理は、ＦＣが開始されるまで（図４の時刻ｔ１が到来するまで）繰り返し実行される。
【００６９】
次に、上記空燃比フィードバック補正量DFiの算出について説明する。ＣＰＵ８１は図６に示したルーチンを図５のルーチンの実行に同期して（即ち、燃料噴射に同期して）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ６００から処理を開始し、ステップ６０５に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、ＦＣが実行されておらず（ＸＦＣ＝０）、ＦＣ後リッチ制御が実行されておらず（ＸＲＩＣＨ＝０）、水温センサ６６により検出される機関の冷却水温THWが第１所定温度以上であり、機関の一回転当りの吸入空気量（負荷）が所定値以下であり、且つ、空燃比センサ６７が正常であるとき成立する。
【００７０】
現時点では、上述したように、空燃比フィードバック制御条件が成立している（即ち、ＸＦＣ＝０、ＸＲＩＣＨ＝０）。従って、ＣＰＵ８１はステップ６０５にて「Ｙｅｓ」と判定してステップ６１０に進み、現時点の空燃比センサ６７の出力Vabyfと後述するサブフィードバック補正量Vafsfbとの和（Vabyf＋Vafsfb）及び図２に示したマップに基づいて現時点における上流側触媒５３の上流の空燃比を求める。この空燃比は、上流側触媒５３の上流におけるガスの「みかけの空燃比」であり、以下、「制御用空燃比abyfs」と称呼される。
【００７１】
次に、ＣＰＵ８１はステップ６１５に進み、現時点からＮストローク（Ｎ回の吸気行程）前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた制御用空燃比abyfsで除することにより、現時点からＮストローク前の筒内燃料供給量Fc(k−N)を求める。値Ｎは、内燃機関の排気量及び燃焼室２５から空燃比センサ６７までの距離等により異なる値である。
【００７２】
このように、現時点からＮストローク前の筒内燃料供給量Fc(k−N)を求めるために、現時点からＮストローク前の筒内吸入空気量Mc(k−N)を制御用空燃比abyfsで除するのは、燃焼室２５内で燃焼された混合気が空燃比センサ６７に到達するまでには、Ｎストロークに相当する時間を要しているからである。なお、筒内吸入空気量Mcは、先のステップ５１０の処理により各気筒の吸気行程毎に求められ、各吸気行程に対応してＲＡＭ８３内に記憶されている。
【００７３】
次いで、ＣＰＵ８１はステップ６２０に進み、現時点からＮストローク前の筒内吸入空気量Mc(k−N)を現時点からＮストローク前の時点における目標空燃比abyfr(k−N)（＝理論空燃比AFstoich）で除することにより、現時点からＮストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
【００７４】
そして、ＣＰＵ８１はステップ６２５に進んで、筒内燃料供給量偏差DFcを、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値に設定する。即ち、筒内燃料供給量偏差DFcは、Ｎストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
【００７５】
次に、ＣＰＵ８１はステップ６３０に進み、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ６２５にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求める（即ち、筒内燃料供給量偏差の積分値SDFcを更新する）。
【００７６】
続いて、ＣＰＵ８１はステップ６３５に進んで、ステップ６３５内に記載の式に基づいて空燃比フィードバック補正量DFiを求めた後、ステップ６９５にて本ルーチンを一旦終了する。ここにおいて、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、(1)式の係数KFBはエンジン回転速度NE及び筒内吸入空気量Ｍｃ等により可変とすることが好適であるが、ここでは「１」としている。
【００７７】
以上により、空燃比フィードバック補正量DFiが比例・積分処理（ＰＩ処理）により求められ、この空燃比フィードバック補正量DFiが前述した図５のステップ５２５により燃料噴射量Fiに反映される。この結果、現時点からＮストローク前の燃料供給量の過不足が補償されるので、機関の空燃比（従って、上流側触媒５３に流入するガスの空燃比）の平均値が目標空燃比abyfr（＝理論空燃比AFstoich）と略一致せしめられる。
【００７８】
一方、ステップ６０５の判定時において、空燃比フィードバック制御条件が不成立であると、ＣＰＵ８１は同ステップ６０５にて「Ｎｏ」と判定してステップ６４０に進み、空燃比フィードバック補正量DFiの値を「０」に設定し、ステップ６９５に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、空燃比フィードバック補正量DFiを「０」として空燃比（基本燃料噴射量Fbase）の補正を行わない。
【００７９】
次に、酸素濃度センサ６８の出力Voxsに基づく空燃比フィードバック制御（即ち、サブフィードバック制御）について説明する。このサブフィードバック制御により、上述したサブフィードバック補正量Vafsfb(V)が算出される。
【００８０】
ＣＰＵ８１は、サブフィードバック補正量Vafsfbを求めるために、図７に示したルーチンを図５のルーチンの実行に同期して（即ち、燃料噴射に同期して）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ７００から処理を開始し、ステップ７０５に進み、サブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、上記空燃比フィードバック制御条件が成立していて、機関の冷却水温THWが上記第１所定温度より高い第２所定温度以上であり、且つ、酸素濃度センサ６８が正常であるとき成立する。
【００８１】
上述のごとく、現時点では、サブフィードバック制御条件が成立している。従って、ＣＰＵ８１はステップ７０５にて「Ｙｅｓ」と判定してステップ７１０に進み、偏差DVoxsを、目標空燃比相当値Voxsref（一定）から酸素濃度センサ６８の出力値Voxsを減じた値に設定する。この偏差DVoxsは、前記「空燃比センサの出力値と理論空燃比に相当する目標値との偏差に相当する値」に対応する。
【００８２】
次いで、ＣＰＵ８１はステップ７１５に進んで、その時点における偏差積分値SDVoxsに上記ステップ７１０にて求めた偏差DVoxsを加えることで偏差積分値SDVoxsを更新する。このように、偏差積分値SDVoxsは、「空燃比センサの出力値と理論空燃比に相当する目標値との偏差に相当する値（DVoxs）」を逐次積算して更新されていく。
【００８３】
続いて、ＣＰＵ８１はステップ７２０に進んで、上記ステップ７１０にて求めた偏差DVoxsと、前回の偏差DVoxsbと、ステップ７２０内に記載の式とに基づいて偏差DVoxsの時間微分値DDVoxsを求める。前回の偏差DVoxsbとしては、前回の本ルーチン実行時において後述するステップ７３０にて更新されている値が使用される。Δｔは本ルーチンの前回の実行時から今回の実行時までの時間（即ち、前回の燃料噴射から今回の燃料噴射までの時間）である。
【００８４】
次に、ＣＰＵ８１はステップ７２５に進み、上記ステップ７１０にて求めた偏差DVoxsと、上記ステップ７１５にて更新した偏差積分値SDVoxsと、上記ステップ７２０にて求めた偏差の時間微分値DDVoxsと、後述する偏差積分値SDVoxsの学習値Learnと、ステップ７２５内に記載の式とに基づいてサブフィードバック補正量Vafsfbを求める。ここにおいて、Kpは予め設定された比例ゲイン、Kiは予め設定された積分ゲイン、Kdは予め設定された微分ゲインである。
【００８５】
ステップ７２５内に記載の式において、右辺第１項「Kp・DVoxs」が比例項に、右辺第２項「Ki・SDVoxs」と右辺第４項「Ki・Learn」の和が積分項に、右辺第３項「Kd・DDVoxs」が微分項にそれぞれ対応している。即ち、サブフィードバック補正量Vafsfbは、比例項と、積分項と、微分項とに基づいて、偏差DVoxsについてＰＩＤ処理して算出される。
【００８６】
そして、ＣＰＵ８１はステップ７３０に進んで、前回の偏差DVoxsbを上記ステップ７１０にて求めた偏差DVoxsに設定した後、ステップ７９５に進んで本ルーチンを一旦終了する。
【００８７】
このようにして、サブフィードバック補正量Vafsfb(V)が求められ、この値は前述した図６のステップ６１０における制御用空燃比abyfsの計算に使用される。換言すると、制御用空燃比abyfsは、空燃比センサ６７が実際に検出している空燃比に対して、酸素濃度センサ６８の出力値Voxsに基づいて求められるサブフィードバック補正量Vafsfbに相当する分だけ異なる空燃比として求められる。
【００８８】
この結果、前述した図６のステップ６１５にて計算される筒内燃料供給量Fc(k−N)が酸素濃度センサ６８の出力値Voxsに応じて変化するので、ステップ６２５〜６３５によって空燃比フィードバック補正量DFiが酸素濃度センサ６８の出力値Voxsに応じて変更せしめられる。これにより、上流側触媒５３の下流側の空燃比が目標空燃比abyfr（＝理論空燃比AFstoich）に一致するように、空燃比が制御せしめられる。
【００８９】
例えば、機関の平均的な空燃比がリーンであるために酸素濃度センサ６８の出力値Voxsが目標空燃比相当値Voxsrefよりも小さい値（即ち、リーン側に偏移した値）となっていると、ステップ７１０にて求められる偏差DVoxsが正の値となるので、ステップ７２５にて求められるサブフィードバック補正量Vafsfbは正の値となる。従って、ステップ６１０にて求められる制御用空燃比abyfsは空燃比センサ６７が実際に検出している空燃比よりもリーンな値（より大きな値）として求められる。
【００９０】
このため、ステップ６１５にて求められる筒内燃料供給量Fc(k−N)は小さい値となり、ステップ６２５にて求められる筒内燃料供給量偏差DFcは大きい値となる。従って、空燃比フィードバック補正量DFiが大きい正の値となる。この結果、図５のステップ５２５にて求められる燃料噴射量Fiは、基本燃料噴射量Fbaseよりも大きくなって、空燃比がリッチ側の値となるように制御される。
【００９１】
反対に、機関の平均的な空燃比がリッチであるために酸素濃度センサ６８の出力値Voxsが目標空燃比相当値Voxsrefよりも大きい値（即ち、リッチ側に偏移した値）となっていると、偏差DVoxsが負の値となるので、サブフィードバック補正量Vafsfbは負の値となる。従って、ステップ６１０にて求められる制御用空燃比abyfsは空燃比センサ６７が実際に検出している空燃比よりもリッチな値（より小さな値）として求められる。
【００９２】
従って、筒内燃料供給量Fcは大きい値となるので、筒内燃料供給量偏差DFcは負の値となる。その結果、空燃比フィードバック補正量DFiが負の値となる。これにより、燃料噴射量Fiは、基本燃料噴射量Fbaseよりも小さくなって、空燃比がリーン側の値となるように制御される。このような処理は、ＦＣが開始されるまで（図４の時刻ｔ１が到来するまで）繰り返し実行される。
【００９３】
次に、偏差積分値SDVoxsの学習値Learnの更新（学習）、学習完了判定について説明する。ＣＰＵ８１は、図８に示したルーチンを図５のルーチンの実行に同期して（即ち、燃料噴射に同期して）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ８０５に進み、偏差積分値SDVoxsを所定の時定数をもってローパスフィルタ処理してローパスフィルタ処理後偏差積分値SDVoxslowを取得する。
【００９４】
次いで、ＣＰＵ８１はステップ８１０に進み、フラグＸＣＯＭＰの値が「０」であるか否かを判定する。ここで、フラグＸＣＯＭＰは、その値が「１」のとき偏差積分値SDVoxsが或る収束値に収束していること（即ち、偏差積分値の学習が完了していること、上記既収束の場合）を示し、その値が「０」のとき偏差積分値SDVoxsが収束値に収束していないこと（即ち、偏差積分値の学習が完了していないこと、未収束の場合）を示す。
【００９５】
先ず、偏差積分値の学習が完了していない場合について説明する。この場合、フラグＸＣＯＭＰの値が「０」となっている。従って、ＣＰＵ８１はステップ８１０にて「Ｙｅｓ」と判定してステップ８１５に進み、偏差積分値の学習値Learnの更新（学習）タイミングが到来しているか否かを判定し、「Ｎｏ」と判定する場合、ステップ８９５に直ちに進んで本ルーチンを一旦終了する。偏差積分値の学習値Learnの学習タイミングは、例えば、本例では、燃料噴射回数が所定の回数に達する毎に到来する。
【００９６】
このような処理は、偏差積分値の学習値Learnの学習タイミングが到来するまで繰り返し実行される。これにより、図７のステップ７１５にて更新されていく偏差積分値SDVoxsの更新に同期してローパスフィルタ処理後偏差積分値SDVoxslowが更新されていく。
【００９７】
そして、偏差積分値の学習値Learnの学習タイミングが到来した場合、ＣＰＵ８１はステップ８１５に進んだとき「Ｙｅｓ」と判定してステップ８２０に進み、フラグＸＦＣの値が「０」であり、且つフラグＸＲＩＣＨの値が「０」であるか否かを判定し、「Ｎｏ」と判定する場合、ステップ８９５に直ちに進んで本ルーチンを一旦終了する。
【００９８】
現時点では、上述したように、フラグＸＦＣ＝０、フラグＸＲＩＣＨ＝０である。従って、ＣＰＵ８１はステップ８２０にて「Ｙｅｓ」と判定してステップ８２５に進み、図７のステップ７１５にて更新されている偏差積分値SDVoxsの絶対値｜SDVoxs｜が収束判定値Zより大きいか否かを判定する。
【００９９】
いま、偏差積分値の絶対値｜SDVoxs｜が収束判定値Zより大きいものとすると（即ち、収束判定条件が成立していないものとすると）、ＣＰＵ８１はステップ８２５にて「Ｙｅｓ」と判定してステップ８３０に進んで偏差積分値の学習値Learnを更新するための更新値DLearnを上記ステップ８０５にて更新されているローパスフィルタ処理後偏差積分値SDVoxslowと等しい値に設定する。
【０１００】
続いて、ＣＰＵ８１はステップ８３５に進み、その時点での学習値Learnに上記設定された更新値DLearnを加えて学習値Learnを更新し（偏差積分値を学習し）、更新した学習値LearnをバックアップＲＡＭ８４の所定の領域に記憶する。次いで、ＣＰＵ８１はステップ８４０に進んで、その時点での偏差積分値SDVoxsから上記更新値DLearnを減じることで偏差積分値SDVoxsを再設定し、続くステップ８４５にてローパスフィルタ処理後偏差積分値SDVoxslowを「０」に設定した後、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１０１】
このように、偏差積分値SDVoxsが収束していないと判定されている場合（ＸＣＯＭＰ＝０）であって、且つ、ＦＣ及びＦＣ後リッチ制御が共に実行されていない場合、学習タイミングが到来する毎に、偏差積分値SDVoxsの収束判定が行われる。この収束判定において偏差積分値SDVoxsの収束判定条件が成立していない場合（ステップ８２５で「Ｙｅｓ」と判定される場合）、偏差積分値SDVoxsと偏差積分値の学習値Learnの和（SDVoxs＋Learn）を変更することなく（即ち、ステップ７２５に記載の式における積分項の値を変更することなく）偏差積分値の学習値Learnが更新されていく。
【０１０２】
これにより、偏差積分値の学習値Learnが更新される毎に（即ち、偏差積分値が学習される毎に）、偏差積分値SDVoxsが「０」に近づいていく一方、偏差積分値の学習値Learnが上記「燃料噴射量の誤差」の大きさを正確に表す値（即ち、偏差積分値の学習値Learnが収束すべき値）に近づいていく。なお、偏差積分値の学習値Learnが上記「燃料噴射量の誤差」の大きさを正確に表す値に近づいていく速度は、上記ローパスフィルタ処理後偏差積分値SDVoxslowを更新する際に使用されるローパスフィルタの時定数が大きいほど小さくなる。このような処理は、偏差積分値SDVoxsの収束判定条件が成立するまで繰り返し実行される。
【０１０３】
そして、偏差積分値の絶対値｜SDVoxs｜が上記収束判定値Z以下になったものとすると（即ち、偏差積分値SDVoxsの収束判定条件が成立したものとすると）、ＣＰＵ８１はステップ８２５にて「Ｎｏ」と判定してステップ８５０に進んでフラグＸＣＯＭＰの値を「０」から「１」に変更する。これにより、偏差積分値SDVoxsが収束したと判定された状態（即ち、偏差積分値の学習が完了したと判定された状態）になる。
【０１０４】
以降、ＣＰＵ８１はステップ８１０に進んだとき「Ｎｏ」と判定してステップ８５５に進むようになり、図７のステップ７１５にて更新されている偏差積分値SDVoxsの絶対値｜SDVoxs｜が再び上記収束判定値Zより大きくなったか否かを判定し、「Ｎｏ」と判定する場合、ステップ８９５に直ちに進む。このように、偏差積分値SDVoxsが収束したと判定されている場合（ＸＣＯＭＰ＝１）、偏差積分値の学習値Learnは更新されない（即ち、偏差積分値の学習が実行されない）。
【０１０５】
一方、偏差積分値SDVoxsが収束したと判定されている場合（ＸＣＯＭＰ＝１）において偏差積分値SDVoxsの絶対値｜SDVoxs｜が再び上記収束判定値Zより大きくなっている場合、ＣＰＵ８１はステップ８５５にて「Ｙｅｓ」と判定してステップ８６０に進んで、フラグＸＣＯＭＰの値を「１」から「０」に変更した後、ステップ８３０以降の処理（即ち、偏差積分値の学習値Learnの更新処理）を行う。
【０１０６】
このように、偏差積分値SDVoxsが収束したと判定されている場合（ＸＣＯＭＰ＝１）において偏差積分値SDVoxsの上記収束判定条件が再び成立しなくなると、再び、偏差積分値SDVoxsが収束していないと判定された状態（即ち、偏差積分値の学習が完了していないと判定された状態）になるとともに、上述と同じように偏差積分値の学習値Learnが更新されていく（偏差積分値の学習が実行されていく）。
【０１０７】
次に、フラグＸＦＣの設定・変更について説明する。ＣＰＵ８１は、図９に示したルーチンを図５のルーチンの実行に同期して（即ち、燃料噴射に同期して）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ９０５に進み、フラグＸＦＣの値が「０」であるか否かを判定する。
【０１０８】
現時点は、図４の時刻ｔ１以前であり、上述したようにフラグＸＦＣ＝０である。従って、ＣＰＵ８１はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、ＦＣ開始条件が成立しているか否かを判定する。
【０１０９】
ＦＣ開始条件は、本例では、ステップ９１０内に記載のように、アクセルペダル操作量Accpが「０」であり、且つ、エンジン回転速度NEが所定値NEref1よりも大きい場合に成立する。
【０１１０】
現時点は、図４の時刻ｔ１以前であり、ＦＣ開始条件が成立していない。従って、ＣＰＵ８１はステップ９１０にて「Ｎｏ」と判定してステップ９９５に直ちに進んで本ルーチンを一旦終了する。このような処理は、図４の時刻ｔ１が到来するまで繰り返し実行される。
【０１１１】
次に、図４の時刻ｔ１が到来した場合について説明する。この場合、ＣＰＵ８１はステップ９１０に進んだとき「Ｙｅｓ」と判定してステップ９１５に進み、フラグＸＦＣの値を「０」から「１」に変更する。
【０１１２】
これにより、フラグＸＦＣの値が「１」になるから、図５のルーチンを繰り返し実行しているＣＰＵ８１はステップ５０５に進んだとき「Ｎｏ」と判定してステップ５９５に直ちに進むようになる。この結果、ステップ５３０の処理が実行されなくなって、ＦＣが開始される。
【０１１３】
また、フラグＸＦＣの値が「１」になっているから、上述した空燃比フィードバック制御条件、及びサブフィードバック制御条件が不成立となる。従って、図６、図７のルーチンを繰り返し実行しているＣＰＵ８１は、ステップ６０５、或いはステップ７０５に進んだとき「Ｎｏ」と判定するようになる。即ち、上述した空燃比フィードバック制御（及びサブフィードバック制御）が中断される。
【０１１４】
また、偏差積分値の学習が完了していない場合（ＸＣＯＭＰ＝０）、図８のステップ８２０に進んだとき「Ｎｏ」と判定されるから、偏差積分値の学習が中断される。
【０１１５】
加えて、図９のルーチンを繰り返し実行しているＣＰＵ８１は、ステップ９０５に進んだとき「Ｎｏ」と判定してステップ９２０に進み、ＦＣ終了条件が成立しているか否かを判定する。ＦＣ終了条件は、本例では、ステップ９２０内に記載のように、アクセルペダル操作量Accpが「０」よりも大きい場合、又は、エンジン回転速度NEが所定値NEref2(＜NEref1)よりも小さい場合に成立する。
【０１１６】
現時点は、時刻ｔ１が到来した直後であり、ＦＣ終了条件は成立していない。従って、ＣＰＵ８１はステップ９２０にて「Ｎｏ」と判定してステップ９９５に進む。以降、ＣＰＵ８１はステップ９２０にてＦＣ終了条件が成立したか否かをモニタするようになる。以上、このような処理は、図４の時刻ｔ２が到来するまで（フラグＸＦＣの値が「１」に維持されている間）繰り返し実行される。
【０１１７】
また、ＦＣが継続される時刻ｔ１〜ｔ２の間、酸素を含んだ空気そのものが上流側触媒５３に流入するようになる。従って、図４に示すように、上流側触媒５３の酸素吸蔵量は増大していき、ＦＣ中の或る時点で最大酸素吸蔵量Cmaxに達する。以降、上流側触媒５３の酸素吸蔵量は、ＦＣが終了するまでの間、最大酸素吸蔵量Cmaxに維持される。
【０１１８】
次に、図４の時刻ｔ２が到来した場合について説明する。この場合、図９のルーチンを繰り返し実行しているＣＰＵ８１はステップ９２０に進んだとき「Ｙｅｓ」と判定してステップ９２５に進み、フラグＸＦＣの値を「１」から「０」に変更する。
【０１１９】
これにより、以降、ＣＰＵ８１はステップ９０５に進んだとき「Ｙｅｓ」と判定してステップ９１０に進み、上述したＦＣ開始条件が成立したか否かをモニタするようになる。
【０１２０】
また、ＣＰＵ８１は、フラグＸＲＩＣＨの設定・変更を行うため、図１０に示したルーチンを図５のルーチンの実行に同期して（即ち、燃料噴射に同期して）繰り返し実行している。従って、所定のタイミングになると、ＣＰＵ８１はステップ１００５に進み、フラグＸＲＩＣＨの値が「０」であるか否かを判定する。
【０１２１】
上述のごとく、現時点では、フラグＸＲＩＣＨ＝０である。従って、ＣＰＵ８１はステップ１００５にて「Ｙｅｓ」と判定してステップ１０１０に進み、ＦＣ後リッチ制御開始条件が成立しているか否かを判定する。ＦＣ後リッチ制御開始条件は、本例では、フラグＸＦＣの値が「１」から「０」に変更された場合に（即ち、ＦＣが終了した時点で）成立する。
【０１２２】
いま、先のステップ９２５の実行により、フラグＸＦＣの値が「１」から「０」に変更された直後であるもの（即ち、図４の時刻ｔ２が到来したもの）とすると、ＣＰＵ８１はステップ１０１０にて「Ｙｅｓ」と判定してステップ１０１５に進み、フラグＸＲＩＣＨの値を「０」から「１」に変更する。
【０１２３】
続いて、ＣＰＵ８１はステップ１０２０に進み、上流側触媒５３の酸素吸蔵量推定値OSAを上流側触媒５３の最大酸素吸蔵量Cmaxと等しい値に設定する。最大酸素吸蔵量Cmaxは、周知の手法（例えば、酸素濃度センサ６８の出力値Voxsが反転するタイミングで空燃比を所定のリッチ・リーン空燃比の一方から他方に切り換える所謂アクティブ空燃比制御等）により所定のタイミング毎に取得・更新されている。
【０１２４】
次いで、ＣＰＵ８１はステップ１０２５に進んで、フラグＸＣＯＭＰの値が「１」であるか否か（即ち、偏差積分値の学習が完了しているか否か）を判定し、「Ｙｅｓ」と判定する場合（学習が完了している場合）、ステップ１０３０に進んで酸素吸蔵量目標値OSArefを値αに設定する。値αは、最大酸素吸蔵量Cmaxの半分よりも小さい値であり、本例では、α＝(1/3)・Cmaxである。一方、偏差積分値の学習が完了していない場合、ＣＰＵ８１はステップ１０３５に進んで酸素吸蔵量目標値OSArefを値βに設定する。値βは、最大酸素吸蔵量Cmaxの半分の値である（β＝(1/2)・Cmax）。
【０１２５】
以降、フラグＸＦＣ＝０となる一方で、フラグＸＲＩＣＨ＝１となっている。従って、上述した空燃比フィードバック制御条件、及びサブフィードバック制御条件は不成立のままとなる。即ち、ステップ６０５、或いはステップ７０５にて「Ｎｏ」と判定されて、上述した空燃比フィードバック制御（及びサブフィードバック制御）が中断されたままとなる。
【０１２６】
また、偏差積分値の学習が完了していない場合（ＸＣＯＭＰ＝０）、図８のステップ８２０に進んだとき「Ｎｏ」と判定されるから、偏差積分値の学習が継続してなお中断される。
【０１２７】
また、図５のルーチンを繰り返し実行しているＣＰＵ８１はステップ５０５に進んだとき再び「Ｙｅｓ」と判定するようになり、ステップ５１０の処理を実行した後、ステップ５１５に進んで「Ｎｏ」と判定してステップ５３５に進むようになる。
【０１２８】
ステップ５３５では、ステップ５１０にて求めた筒内吸入空気量Mc(k)を所定の第１リッチ空燃比AFrich1(＜AFstoich)で除することで空燃比を第１リッチ空燃比AFrich1とするための基本燃料噴射量Fbaseが求められる。
【０１２９】
また、上述のように、空燃比フィードバック制御（及びサブフィードバック制御）は中断されているから、図６のステップ６４０の実行により空燃比フィードバック補正量DFi＝０となっている。従って、ステップ５２５では、燃料噴射量Fiが、空燃比を第１リッチ空燃比AFrich1とするための基本燃料噴射量Fbaseと等しい値に設定される。
【０１３０】
これにより、空燃比が第１リッチ空燃比AFrich1になるように制御されて、ＦＣ後リッチ制御が開始される。このような処理は、ＦＣ後リッチ制御が終了するまで（フラグＸＲＩＣＨ＝１の間、図４の時刻ｔ３が到来するまで）繰り返し実行される。
【０１３１】
また、ＦＣ後リッチ制御が継続される時刻ｔ２〜ｔ３の間、理論空燃比よりもリッチの第１リッチ空燃比のガスが上流側触媒５３に流入するようになる。従って、図４に示すように、上流側触媒５３の酸素吸蔵量は、時刻ｔ２以降、最大酸素吸蔵量Cmaxから減少していく。
【０１３２】
上述したように、時刻ｔ２以降、フラグＸＲＩＣＨ＝１となっている。従って、図１０のルーチンを燃料噴射と同期して繰り返し実行しているＣＰＵ８１はステップ１００５に進んだとき「Ｎｏ」と判定してステップ１０４０に進むようになり、酸素吸蔵量減少量ΔO2を、ステップ１０４０内に記載の式に従って求める。ここで、値「0.23」は、空気中に含まれる酸素の質量割合である。Fiは図５のステップ５２５にて決定されている最新値である。
【０１３３】
ステップ１０４０内に記載の式において、値「(AFstoich−AFrich1)・Fi」は、燃料噴射間隔当たりにおいて上流側触媒５３に流入するガス中の空気の不足量（質量）を表す。従って、値「0.23・(AFstoich−AFrich1)・Fi」（＝ΔO2）は、燃料噴射間隔当たりにおいて上流側触媒５３に流入するガス中の酸素の不足量（質量）、即ち、ＦＣ後リッチ制御実行中の燃料噴射間隔当たりにおける上流側触媒５３の酸素吸蔵量の減少分（＞０）を表す。
【０１３４】
次に、ＣＰＵ８１はステップ１０４５に進み、その時点における酸素吸蔵量推定値OSA（時刻ｔ２の直後では、先のステップ１０２０の処理により最大酸素吸蔵量Cmaxと等しい）から上記ステップ１０４０にて求めた酸素吸蔵量減少量ΔO2（＞０）を減じることで酸素吸蔵量推定値OSAを更新する（減少させる）。
【０１３５】
次いで、ＣＰＵ８１はステップ１０５０に進み、ステップ１０４５にて更新された酸素吸蔵量推定値OSAが上記ステップ１０３０、或いはステップ１０３５にて設定されたで酸素吸蔵量目標値OSAref以下となった否かを判定する。
【０１３６】
現時点は時刻ｔ２の直後であるから、酸素吸蔵量推定値OSAは酸素吸蔵量目標値OSArefにまで減少していない。従って、ＣＰＵ８１はステップ１０５０にて「Ｎｏ」と判定してステップ１０９５に直ちに進む。このような処理は、先のステップ１０４５の処理の繰り返しにより減少していく酸素吸蔵量推定値OSAが酸素吸蔵量目標値OSArefに達するまで繰り返し実行される。
【０１３７】
そして、酸素吸蔵量推定値OSAが酸素吸蔵量目標値OSArefに達すると、即ち、偏差積分値の学習が完了している場合では図４Ａの時刻ｔ３に示すように酸素吸蔵量OSAが値α(＝(1/3)・Cmax)に達すると、或いは、偏差積分値の学習が完了していない場合では図４Ｂの時刻ｔ３に示すように酸素吸蔵量OSAが値β(＝(1/2)・Cmax)に達すると、ＣＰＵ８１はステップ１０５０に進んだとき「Ｙｅｓ」と判定してステップ１０５５に進み、フラグＸＲＩＣＨの値を「１」から「０」に変更する。
【０１３８】
これにより、以降、ＣＰＵ８１はステップ１００５に進んだとき「Ｙｅｓ」と判定してステップ１０１０に進み、上述したＦＣ後リッチ制御開始条件が成立したか否かをモニタするようになる。
【０１３９】
以降、フラグＸＦＣの値もフラグＸＲＩＣＨの値も「０」となっている。従って、上述した空燃比フィードバック制御条件、及びサブフィードバック制御条件が再び成立する。即ち、ステップ６０５、或いはステップ７０５にて「Ｙｅｓ」と判定されて、上述した空燃比フィードバック制御（及びサブフィードバック制御）が再開される。
【０１４０】
また、図５のルーチンを繰り返し実行しているＣＰＵ８１はステップ５０５にて「Ｙｅｓ」と判定後、ステップ５１５に進んだとき再び「Ｙｅｓ」と判定するようになる。この結果、上述した空燃比フィードバック制御が再開されて、図４の時刻ｔ１以前と同じように、空燃比が目標空燃比である理論空燃比AFstoichと一致するようフィードバック制御されるようになる。
【０１４１】
また、偏差積分値の学習が完了していない場合（ＸＣＯＭＰ＝０）、図８のステップ８２０に進んだとき「Ｙｅｓ」と判定されるようになり、図４Ｂの時刻ｔ３以降に示すように、偏差積分値の学習が再開される。以上、このような処理は、ＦＣ開始条件が再び成立するまで（即ち、図９のステップ９１０にて「Ｙｅｓ」と判定されるまで）継続される。
【０１４２】
このように空燃比フィードバック制御が再開されると、上流側触媒５３には理論空燃比近傍のガスが流入する。従って、以降、図４の時刻ｔ３以降に示すように、上流側触媒５３の酸素吸蔵量は、空燃比フィードバック制御再開時点（図４の時刻ｔ３）での値の近傍で推移していく傾向が強い。
【０１４３】
以上、説明したように、本発明の第１実施形態に係る燃料噴射制御装置によれば、上流側触媒５３の下流の酸素濃度センサ６８の出力値Voxsと理論空燃比AFstoichに相当する目標空燃比相当値Voxsrefとの偏差DVoxsについてＰＩＤ処理してサブフィードバック補正量Vafsfbが計算され、サブフィードバック補正量Vafsfbに基づいて空燃比が理論空燃比AFstoichに一致するように燃料噴射量Fiがフィードバック制御される。
【０１４４】
また、第１実施形態では、機関の運転状態に応じてＦＣが行われ、ＦＣ終了直後からＦＣ後リッチ制御が行われる。上記空燃比フィードバック制御は、ＦＣ実行中及びＦＣ後リッチ制御実行中は中断される。これにより、ＦＣ実行中及びＦＣ後リッチ制御実行中は、上記ＰＩＤ処理におけるＩ処理に必要となる上記偏差DVoxsの積算値(＝偏差積分値SDVoxs)の更新も中断される。
【０１４５】
また、第１実施形態では、所定のタイミング毎に、上記偏差積分値SDVoxsの「学習」を行う（具体的には、偏差積分値の学習値Learnを更新する）。この偏差積分値の学習は、ＦＣ実行中及びＦＣ後リッチ制御実行中は行われない。更には、偏差積分値SDVoxsの収束判定が行われ、偏差積分値SDVoxsが収束した（偏差積分値の学習が完了した）と判定されている間は偏差積分値の学習は行われない。
【０１４６】
加えて、第１実施形態では、偏差積分値SDVoxsが収束したと判定されている場合（ＸＣＯＭＰ＝１の場合、即ち、上記「既収束の場合」）、ＦＣ後リッチ制御中において、上流側触媒５３の酸素吸蔵量推定値OSAが減少して最大酸素吸蔵量Cmaxの半分よりも小さい値α(＝(1/3)・Cmax)に達した時点でＦＣ後リッチ制御が終了されて上記空燃比フィードバック制御が再開される。一方、偏差積分値SDVoxsが収束していないと判定されている場合（ＸＣＯＭＰ＝０の場合、即ち、上記「未収束の場合」）、ＦＣ後リッチ制御中において、酸素吸蔵量推定値OSAが減少して最大酸素吸蔵量Cmaxの半分の値β(＝(1/2)・Cmax)に達した時点でＦＣ後リッチ制御が終了されて上記空燃比フィードバック制御が再開される。
【０１４７】
これによれば、既収束の場合、ＦＣ後リッチ制御終了時点（図４Ａの時刻ｔ３を参照）にて上流側触媒５３内が若干リッチ雰囲気に設定される。これにより、ＦＣ後リッチ制御終了後（図４Ａの時刻ｔ３以降）において理論空燃比よりもリーン空燃比の排ガスが上流側触媒５３に流入する場合に対して上流側触媒５３の酸素吸蔵機能が発揮され得る余裕度が大きめに確保され得る。この結果、既収束の場合、ＦＣ後リッチ制御終了後において上記「加速リーン傾向」が発生した場合において排ガス中のＮＯｘを効果的に浄化することができる。
【０１４８】
一方、未収束の場合、ＦＣ後リッチ制御終了時点（図４Ｂの時刻ｔ３を参照）にて上流側触媒５３内が理論空燃比相当の雰囲気に設定される。これにより、ＦＣ後リッチ制御終了時点以降（図４Ｂの時刻ｔ３以降）、上流側触媒５３から流出するガスの空燃比が理論空燃比近傍となる傾向が強くなり、従って、酸素濃度センサ６８の出力値Voxsが目標空燃比相当値Voxsref近傍となる傾向が強くなる。この結果、ＦＣ後リッチ制御終了直後から再開される偏差積分値の学習において、偏差積分値SDVoxs（偏差積分値の学習値Learn）が収束値から離れていく事態の発生を抑制することができる。即ち、未収束の場合、偏差積分値SDVoxs（偏差積分値の学習値Learn）を収束値に効率良く収束させることができる。
【０１４９】
このように、既収束の場合（ＸＣＯＭＰ＝１）と未収束の場合（ＸＣＯＭＰ＝０）とで、ＦＣ後リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少の程度が異なり、既収束の場合、未収束の場合に比して、ＦＣ後リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少の程度が大きくされる。これにより、内燃機関が総合的な観点から適切に制御され得る。
【０１５０】
本発明は上記第１実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。既収束の場合と未収束の場合とでＦＣ後リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少の程度を異ならせるため、上記第１実施形態では、ＦＣ後リッチ制御中において設定されるリッチ空燃比AFrich1を一定としつつ既収束の場合と未収束の場合とでＦＣ後リッチ制御終了時点での上流側触媒５３の酸素吸蔵量を異ならせているが、例えば、既収束の場合と未収束の場合とでＦＣ後リッチ制御中において設定されるリッチ空燃比を異ならせてもよい。この場合、例えば、ＦＣ後リッチ制御の継続時間は一定とされる一方で、既収束の場合、未収束の場合に比して、ＦＣ後リッチ制御中において設定されるリッチ空燃比がよりリッチに設定される。
【０１５１】
また、既収束の場合と未収束の場合とでＦＣ後リッチ制御の継続時間を異ならせてもよい。この場合、例えば、ＦＣ後リッチ制御中において設定されるリッチ空燃比は一定とされる一方で、既収束の場合、未収束の場合に比して、ＦＣ後リッチ制御の継続時間がより長く設定される。
【０１５２】
（第２実施形態）
次に、本発明の第２実施形態に係る燃料噴射制御装置について説明する。図１１Ａは、第２実施形態が適用される場合における図４Ａに対応する既収束の場合におけるタイムチャートであり、図１１Ｂは、第２実施形態が適用される場合における図４Ｂに対応する未収束の場合におけるタイムチャートである。
【０１５３】
図１１Ａ及び図１１Ｂと、図４Ａ及び図４Ｂとの比較から理解できるように、第２実施形態は、既収束の場合も未収束の場合もＦＣ後リッチ制御中において上流側触媒５３の酸素吸蔵量が上記値β(＝(1/2)・Cmax)に達した時点でＦＣ後リッチ制御が終了される点、並びに、既収束の場合のみ上述した「再加速時リッチ制御」が実行される点、においてのみ上記第１実施形態と異なっている。
【０１５４】
（第２実施形態の実際の作動）
以下、第２実施形態に係る燃料噴射制御装置の実際の作動について説明する。この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図５〜図１０に示したルーチンのうち、図６〜図９に示したルーチンをそのまま実行する。一方、この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図５、図１０に示したルーチンに代えて図１２、図１３にフローチャートにより示したルーチンを燃料噴射と同期してそれぞれ実行する。加えて、この装置のＣＰＵ８１は、図１４にフローチャートにより示したルーチンを燃料噴射と同期して実行する。
【０１５５】
以下、第２実施形態に特有の図１２〜図１４に示したルーチンについて説明する。なお、図１２〜図１４に示したルーチンにおいて前出のルーチンのステップと同じステップについては前出のルーチンのステップ番号と同じステップ番号を付すことでそれらの説明に代える（以下に説明する、第３実施形態に係る図１６〜図１８についても同様）。
【０１５６】
図１２に示したルーチンは、ステップ５１５とステップ５２０の間にステップ１２０５を挿入した点、並びに、ステップ１２１０を追加した点においてのみ、図５に示したルーチンと異なる。
【０１５７】
また、図１３に示したルーチンは、ステップ１０２５、１０３０、１０３５を削除した点、並びに、ステップ１０５０をステップ１３０５に置き換えた点においてのみ、図１０に示したルーチンと異なる。
【０１５８】
ステップ１３０５では、図１３のステップ１０４５にて更新された酸素吸蔵量推定値OSAが常に、値β(＝(1/2)・Cmax)と比較される。これにより、既収束の場合も未収束の場合も、ＦＣ後リッチ制御中において上流側触媒５３の酸素吸蔵量が上記値β(＝(1/2)・Cmax)に達した時点でＦＣ後リッチ制御が終了される（図１１の時刻ｔ３を参照）。
【０１５９】
図１２のステップ１２０５は、ＦＣが実行されておらず（ＸＦＣ＝０）、且つ、ＦＣ後リッチ制御が実行されていない（ＸＲＩＣＨ＝０）場合に実行される。ステップ１２０５では、フラグＸＲＥＡＣの値が「０」であるか否かが判定される。ここで、フラグＸＲＥＡＣの値は、後述する図１４のルーチンの実行により設定・変更されるようになっていて、フラグＸＲＥＡＣは、その値が「１」のとき再加速時リッチ制御実行中であることを示し、その値が「０」のとき再加速時リッチ制御実行中でないことを示す。
【０１６０】
なお、第２実施形態では、「フラグＸＲＥＡＣ＝０」も空燃比フィードバック制御条件（及び、サブフィードバック制御条件）に加えられている。即ち、ＦＣ実行中、ＦＣ後リッチ制御実行中に加えて、再加速時リッチ制御実行中も空燃比フィードバック制御（及び、サブフィードバック制御）が中断される。
【０１６１】
フラグＸＲＥＡＣ＝０のときは、ステップ５２０が実行されて、上述したように空燃比を理論空燃比AFstoichに一致させる空燃比フィードバック制御が実行される。一方、フラグＸＲＥＡＣ＝１のときは、ステップ１２１０が実行される。
【０１６２】
ステップ１２１０では、図１２のステップ５１０にて求めた筒内吸入空気量Mc(k)を所定の第２リッチ空燃比AFrich2(＜AFstoich)で除することで空燃比を第２リッチ空燃比AFrich2とするための基本燃料噴射量Fbaseが求められる。また、この場合、上述のように、空燃比フィードバック制御（及びサブフィードバック制御）は中断されているから、空燃比フィードバック補正量DFi＝０となっている。
【０１６３】
従って、図１２のステップ５２５では、燃料噴射量Fiが、空燃比を第２リッチ空燃比AFrich2とするための基本燃料噴射量Fbaseと等しい値に設定される。これにより、空燃比が第２リッチ空燃比AFrich2になるように制御されて、再加速時リッチ制御が実行される（図１１Ａの時刻ｔ４〜ｔ５を参照）。
【０１６４】
以下、フラグＸＲＥＡＣの値を設定・変更するための図１４のルーチンについて説明する。図１４のルーチンの処理の流れは、フラグＸＲＩＣＨの値を設定・変更するための図１３のルーチンのものと類似している。
【０１６５】
再加速時リッチ制御が実行されていない場合（ＸＲＥＡＣ＝０）においては、ステップ１４０５にて「Ｙｅｓ」と判定されて、ステップ１４１０及びステップ１４１５に対応する「再加速時リッチ制御の開始条件」が成立しているか否かが判定される。
【０１６６】
再加速時リッチ制御の開始条件は、本例では、アクセルペダル操作量Accpが「０」より大きく、フラグＸＦＣ＝０であり、フラグＸＲＩＣＨ＝０であり、且つ、フラグＸＣＯＭＰ＝１の場合に成立する。即ち、加速中であって、ＦＣ及びＦＣ後リッチ制御が共に実行されておらず、且つ、既収束の場合に成立する。換言すれば、未収束の場合は、再加速時リッチ制御の開始条件が成立し得ない。
【０１６７】
再加速時リッチ制御の開始条件が成立すると（図１１Ａの時刻ｔ４を参照）、ステップ１４２０が実行されてフラグＸＲＥＡＣの値が「０」から「１」に変更され、続くステップ１４２５にて酸素吸蔵量減少量積算値ΔO2sumが「０」に初期化される。
【０１６８】
このように、再加速時リッチ制御の開始条件が成立するとフラグＸＲＥＡＣ＝１となる。これにより、上述したように、図１２のステップ１２０５にて「Ｎｏ」と判定されて再加速時リッチ制御が開始される。
【０１６９】
以降、ステップ１４０５にて「Ｎｏ」と判定されて、ステップ１４３０が実行される。ステップ１４３０では、酸素吸蔵量減少量ΔO2が、図１３のステップ１０４０に類似したステップ１４３０内に記載の式に従って求められる。即ち、酸素吸蔵量減少量ΔO2は、再加速時リッチ制御実行中の燃料噴射間隔当たりにおける上流側触媒５３の酸素吸蔵量の減少分（＞０）を表す。
【０１７０】
次のステップ１４３５では、その時点における酸素吸蔵量減少量積算値ΔO2sum（再加速時リッチ制御開始時の直後では、先のステップ１４２５の処理により「０」）に上記ステップ１４３０にて求めた酸素吸蔵量減少量ΔO2（＞０）を加えることで酸素吸蔵量減少量積算値ΔO2sumが更新される（増大される）。即ち、酸素吸蔵量減少量積算値ΔO2sumは、再加速時リッチ制御開始時点から現時点までにおける上流側触媒５３の酸素吸蔵量の減少分を表す。
【０１７１】
次のステップ１４４０では、ステップ１４３５にて更新された酸素吸蔵量減少量積算値ΔO2sumが所定の酸素吸蔵量減少量目標値ΔO2ref1を超えたか否かが判定され、「Ｙｅｓ」と判定される場合（図１１Ａの時刻ｔ５を参照）、ステップ１４４５にてフラグＸＲＥＡＣの値が「１」から「０」に変更される。これにより、上述したように、図１２のステップ１２０５にて「Ｙｅｓ」と判定され、再加速時リッチ制御に代えて上述した空燃比フィードバック制御が再開される。
【０１７２】
このように、再加速時リッチ制御は、既収束の場合のみ実行され得る。また、再加速時リッチ制御は、再加速時リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少量が所定の酸素吸蔵量減少量目標値ΔO2ref1に達した時点で終了される。
【０１７３】
以上、説明したように、本発明の第２実施形態に係る燃料噴射制御装置によれば、既収束の場合、ＦＣ後において、ＦＣ後リッチ制御も再加速時リッチ制御も共に実行され得る。これにより、ＦＣ後リッチ制御の実行によりＦＣ後リッチ制御終了時点（図１１Ａの時刻ｔ３を参照）において上流側触媒５３の酸素吸蔵量が最大酸素吸蔵量Cmaxの半分の値β(＝(1/2)・Cmax)に調整され得、且つ、再加速時リッチ制御の実行により上述した「加速リーン傾向」に基づく排ガス中のＮＯｘの排出を抑制できる。
【０１７４】
一方、未収束の場合、ＦＣ後において、既収束の場合と同様、ＦＣ後リッチ制御は実行され得る。これにより、ＦＣ後リッチ制御終了時点（図１１Ｂの時刻ｔ３を参照）にて上流側触媒５３内が理論空燃比相当の雰囲気に設定される。これにより、上記第１実施形態と同様、ＦＣ後リッチ制御終了時点以降（図１１Ｂの時刻ｔ３以降）において再開される偏差積分値の学習において、偏差積分値SDVoxs（偏差積分値の学習値Learn）が収束値から離れていく事態の発生を抑制することができる。即ち、未収束の場合、偏差積分値SDVoxs（偏差積分値の学習値Learn）を収束値に効率良く収束させることができる。
【０１７５】
加えて、未収束の場合、既収束の場合において再加速時リッチ制御が実行される状況（図１１Ａの時刻ｔ４〜ｔ５を参照）であっても再加速時リッチ制御が実行されず、上記空燃比フィードバック制御により空燃比が理論空燃比AFstoichに一致するように制御され得る。従って、既収束の場合において再加速時リッチ制御実行中となる期間中であっても、酸素濃度センサ６８の出力値Voxsが目標空燃比相当値Voxsref近傍に維持される傾向が強くなり、この結果、同期間中においても偏差積分値SDVoxs（偏差積分値の学習値Learn）を収束値に効率良く近づける（収束させる）ことができる。即ち、未収束の場合においても再加速時リッチ制御が実行される場合に比して、偏差積分値SDVoxs（偏差積分値の学習値Learn）を収束値により早期に収束させることができる。
【０１７６】
（第３実施形態）
次に、本発明の第３実施形態に係る燃料噴射制御装置について説明する。図１５Ａは、第３実施形態が適用される場合における図１１Ａに対応する既収束の場合におけるタイムチャートであり、図１５Ｂは、第３実施形態が適用される場合における図１１Ｂに対応する未収束の場合におけるタイムチャートである。
【０１７７】
図１５Ａ及び図１５Ｂと、図１１Ａ及び図１１Ｂとの比較から理解できるように、第３実施形態は、既収束の場合では第２実施形態と全く同じ作動を行う。一方、第３実施形態は、未収束の場合、再加速時リッチ制御は実行するがＦＣ後リッチ制御は実行しない点で、ＦＣ後リッチ制御は実行するが再加速時リッチ制御は実行しない上記第２実施形態と異なっている。
【０１７８】
（第３実施形態の実際の作動）
以下、第３実施形態に係る燃料噴射制御装置の実際の作動について説明する。この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図５〜図１０に示したルーチンのうち、図６、図７、及び図９に示したルーチンをそのまま実行し、第２実施形態のＣＰＵ８１が実行する図１２に示したルーチンをそのまま実行する。
【０１７９】
また、この装置のＣＰＵ８１は、第１実施形態のＣＰＵ８１が実行する図８に示したルーチンに代えて図１６にフローチャートにより示したルーチンを燃料噴射と同期して実行する。加えて、この装置のＣＰＵ８１は、第２実施形態のＣＰＵ８１が実行する図１３、図１４に示したルーチンに代えて図１７、図１８にフローチャートにより示したルーチンを燃料噴射と同期してそれぞれ実行する。以下、第３実施形態に特有の図１６、図１７、及び図１８に示したルーチンについて説明する。
【０１８０】
図１６に示したルーチンは、ステップ８２０をステップ１６０５に置き換えた点においてのみ、図８に示したルーチンと異なる。ステップ１６０５は、未収束の場合（ＸＣＯＭＰ＝０）に実行される。ステップ１６０５では、現時点が、ＦＣ開始後であって再加速時リッチ制御終了までの間（図１５Ｂの時刻ｔ１〜ｔ５を参照）であるか否かが判定され、「Ｙｅｓ」と判定された場合、ステップ１６９５に直ちに進む。
【０１８１】
これにより、偏差積分値の学習は、ＦＣが開始されると中断され、以降、（最初に実行された）再加速時リッチ制御が終了するまで継続して中断される。そして、その再加速時リッチ制御が終了した時点から、偏差積分値の学習が再開される（図１５Ｂの時刻ｔ５を参照）。
【０１８２】
図１７に示したルーチンは、ステップ１０１０とステップ１０１５の間にステップ１７０５が挿入された点においてのみ、図１３に示したルーチンと異なる。
【０１８３】
ステップ１７０５では、フラグＸＣＯＭＰ＝１であるか否かが判定される。この条件は、ステップ１０１０の条件と合わせてＦＣ後リッチ制御の開始条件を構成する。即ち、第３実施形態では、ＦＣ後リッチ制御は、既収束の場合にのみ実行され、未収束の場合は実行され得ない。
【０１８４】
図１８に示したルーチンは、ステップ１４１５を削除した点、ステップ１４２５の次にステップ１８０５、１８１０、１８１５を挿入した点、並びに、ステップ１４４０をステップ１８２０に置き換えた点においてのみ、図１４に示したルーチンと異なる。
【０１８５】
ステップ１４１５が削除されたことにより、再加速時リッチ制御開始条件から「フラグＸＣＯＭＰ＝１」が削除されることになる。この結果、再加速時リッチ制御は、既収束の場合のみならず、未収束の場合も実行され得る。
【０１８６】
ステップ１８０５、１８１０、１８１５は、再加速時リッチ制御開始条件（ステップ１４１０の条件）が成立した場合に実行される。これにより、既収束の場合（ＸＣＯＭＰ＝１）、酸素吸蔵量減少量目標値ΔO2refが上記第２実施形態と同じ値ΔO2ref1（ステップ１４４０、図１１Ａの時刻ｔ５を参照）に設定され、未収束の場合（ＸＣＯＭＰ＝０）、酸素吸蔵量減少量目標値ΔO2refが上記値ΔO2ref1よりも大きい値ΔO2ref2に設定される。
【０１８７】
ステップ１８２０では、図１８のステップ１４３５にて更新された酸素吸蔵量減少量積算値ΔO2sumが上記のように設定された酸素吸蔵量減少量目標値ΔO2refを超えたか否かが判定される。これにより、既収束の場合、再加速時リッチ制御は、再加速時リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少量が値ΔO2ref1に達した時点で終了される（図１５Ａの時刻ｔ５を参照）。一方、未収束の場合、再加速時リッチ制御は、再加速時リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少量が値ΔO2ref2(＞ΔO2ref1)に達した時点で終了される（図１５Ｂの時刻ｔ５を参照）。この値ΔO2ref2は、最大酸素吸蔵量Cmaxの半分よりも大きい値に設定される。
【０１８８】
以上、説明したように、本発明の第３実施形態に係る燃料噴射制御装置によれば、既収束の場合、上記第２実施形態と同様、ＦＣ後において、ＦＣ後リッチ制御も再加速時リッチ制御も共に実行され得る。
【０１８９】
一方、未収束の場合、ＦＣ後において、再加速時リッチ制御は実行され得るがＦＣ後リッチ制御は実行されない。従って、既収束の場合においてＦＣ後リッチ制御が実行される状況（図１５Ａの時刻ｔ２〜ｔ３を参照）であっても上述した空燃比フィードバックが実行されて空燃比が理論空燃比AFstoichに一致するように制御される。
【０１９０】
これにより、未収束の場合、ＦＣ終了時点以降において、上流側触媒５３の酸素吸蔵量がＦＣ終了時点での値（即ち、最大酸素吸蔵量Cmax近傍の値）の近傍で推移する（図１５Ｂの時刻ｔ２以降を参照）。この結果、ＦＣ後における再加速時リッチ制御開始時点（図１５Ｂの時刻ｔ４を参照）での上流側触媒５３の酸素吸蔵量が最大酸素吸蔵量Cmaxに近い大きい値になっている場合が多い。よって、上述のように、再加速時リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少量（＝ΔO2ref2）を大きめに設定できる。この結果、上述した「加速リーン傾向」によりＮＯｘが発生し易い加速状態において、ＮＯｘの排出を十分に抑制できる。
【０１９１】
本発明は上記第３実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第３実施形態では、既収束の場合と未収束の場合とで再加速時リッチ制御の実行による上流側触媒５３の酸素吸蔵量の減少の程度を異ならせるため、再加速時リッチ制御中において設定されるリッチ空燃比AFrich2を一定としつつ既収束の場合と未収束の場合とで再加速時リッチ制御による上流側触媒５３の酸素吸蔵量の減少量を異ならせているが、例えば、既収束の場合と未収束の場合とで再加速時リッチ制御中において設定されるリッチ空燃比を異ならせてもよい。この場合、例えば、再加速時リッチ制御の継続時間は一定とされる一方で、未収束の場合、既収束の場合に比して、再加速時リッチ制御中において設定されるリッチ空燃比がよりリッチに設定される。
【０１９２】
また、既収束の場合と未収束の場合とで再加速時リッチ制御の継続時間を異ならせてもよい。この場合、例えば、再加速時リッチ制御中において設定されるリッチ空燃比は一定とされる一方で、未収束の場合、既収束の場合に比して、再加速時リッチ制御の継続時間がより長く設定される。
【０１９３】
また、上記第２、第３実施形態においては、ＦＣ後リッチ制御中において設定されるリッチ空燃比AFrich1と、再加速時リッチ制御中において設定されるリッチ空燃比AFrich2とを、同じとしてもよいし、異ならせてもよい。
【０１９４】
加えて、上記第１、第２、第３実施形態においては、ＦＣ後リッチ制御実行中において、第２、第３実施形態においては更に、再加速時リッチ制御実行中において、上述した空燃比フィードバック制御が中断されているが、空燃比フィードバック制御を継続してもよい。この場合、ＦＣ後リッチ制御実行中は、図６のステップ６２０の目標空燃比abyfrが値AFrich1に設定されるとともに図７のステップ７１０の目標空燃比相当値Voxsrefが目標空燃比abyfr（＝値AFrich1）に相当する値に設定される必要がある。同様に、再加速時リッチ制御実行中は、図６のステップ６２０の目標空燃比abyfrが値AFrich2に設定されるとともに図７のステップ７１０の目標空燃比相当値Voxsrefが目標空燃比abyfr（＝値AFrich2）に相当する値に設定される必要がある。
【図面の簡単な説明】
【０１９５】
【図１】内燃機関に適用した本発明の第１実施形態に係る燃料噴射制御装置（燃料噴射量制御装置）の概略を示した図である。
【図２】図１に示した空燃比センサの出力と空燃比の関係を示したグラフである。
【図３】図１に示した酸素濃度センサの出力と空燃比の関係を示したグラフである。
【図４Ａ】本発明の第１実施形態が適用された場合であって、偏差積分値が収束したと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図４Ｂ】本発明の第１実施形態が適用された場合であって、偏差積分値が収束していないと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図５】図１に示したＣＰＵが実行する燃料噴射制御ルーチンを示したフローチャートである。
【図６】図１に示したＣＰＵが空燃比フィードバック補正量を算出するために実行するルーチンを示したフローチャートである。
【図７】図１に示したＣＰＵがサブフィードバック補正量を算出するために実行するルーチンを示したフローチャートである。
【図８】図１に示したＣＰＵが偏差積分値の学習値の更新、及び学習完了判定を行うために実行するルーチンを示したフローチャートである。
【図９】図１に示したＣＰＵがフラグＸＦＣの設定を行うために実行するルーチンを示したフローチャートである。
【図１０】図１に示したＣＰＵがフラグＸＲＩＣＨの設定を行うために実行するルーチンを示したフローチャートである。
【図１１Ａ】本発明の第２実施形態が適用された場合であって、偏差積分値が収束したと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図１１Ｂ】本発明の第２実施形態が適用された場合であって、偏差積分値が収束していないと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図１２】本発明の第２実施形態のＣＰＵが実行する燃料噴射制御ルーチンを示したフローチャートである。
【図１３】本発明の第２実施形態のＣＰＵがフラグＸＲＩＣＨの設定を行うために実行するルーチンを示したフローチャートである。
【図１４】本発明の第２実施形態のＣＰＵがフラグＸＲＥＡＣの設定を行うために実行するルーチンを示したフローチャートである。
【図１５Ａ】本発明の第３実施形態が適用された場合であって、偏差積分値が収束したと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図１５Ｂ】本発明の第３実施形態が適用された場合であって、偏差積分値が収束していないと判定されている場合における、目標空燃比、及び上流側触媒の酸素吸蔵量の変化の一例を示したタイムチャートである。
【図１６】本発明の第３実施形態のＣＰＵが偏差積分値の学習値の更新、及び学習完了判定を行うために実行するルーチンを示したフローチャートである。
【図１７】本発明の第３実施形態のＣＰＵがフラグＸＲＩＣＨの設定を行うために実行するルーチンを示したフローチャートである。
【図１８】本発明の第３実施形態のＣＰＵがフラグＸＲＥＡＣの設定を行うために実行するルーチンを示したフローチャートである。
【符号の説明】
【０１９６】
２５…燃焼室、３９…インジェクタ、５３…上流側触媒、６１…エアフローメータ、６７…空燃比センサ、６８…酸素濃度センサ、８０…電気制御装置、８１…ＣＰＵ
【図１】
0004553144.tif 000002
【図２】
0004553144.tif 000003
【図３】
0004553144.tif 000004
【図４Ａ】
0004553144.tif 000005
【図４Ｂ】
0004553144.tif 000006
【図５】
0004553144.tif 000007
【図６】
0004553144.tif 000008
【図７】
0004553144.tif 000009
【図８】
0004553144.tif 000010
【図９】
0004553144.tif 000011
【図１０】
0004553144.tif 000012
【図１１Ａ】
0004553144.tif 000013
【図１１Ｂ】
0004553144.tif 000014
【図１２】
0004553144.tif 000015
【図１３】
0004553144.tif 000016
【図１４】
0004553144.tif 000017
【図１５Ａ】
0004553144.tif 000018
【図１５Ｂ】
0004553144.tif 000019
【図１６】
0004553144.tif 000020
【図１７】
0004553144.tif 000021
【図１８】
0004553144.tif 000022