(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、
前記排気浄化触媒の排気流れ方向下流側に配置されると共に該排気浄化触媒から流出する排気ガスの空燃比を検出する下流側空燃比センサと、
前記排気浄化触媒に流入する排気ガスの空燃比が目標空燃比となるようにフィードバック制御を行う空燃比制御装置と、
を具備する内燃機関において、
前記空燃比制御装置は、
前記下流側空燃比センサによって検出された空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になった時に前記目標空燃比を理論空燃比よりもリーンなリーン設定空燃比に切り替え、
前記目標空燃比を前記リーン設定空燃比に切り替えた後であって前記排気浄化触媒の酸素吸蔵量の推定値が最大吸蔵可能酸素量よりも少ない所定の切替基準吸蔵量以上になる前の所定のリーン度合い変更時期に前記目標空燃比を前記リーン設定空燃比よりもリーン度合いが小さいリーン空燃比に変更し、
前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になった時に前記目標空燃比を理論空燃比よりもリッチなリッチ空燃比に切り替えるように構成され、
前記空燃比制御装置はさらに、
機関運転状態が定常運転状態であるか否かを判定し、
機関運転状態が定常運転状態にあると判定され且つ機関運転状態が低負荷運転状態である場合には、機関運転状態が定常運転状態にないと判定され且つ機関運転状態が中高負荷運転状態である場合に比べて、前記目標空燃比がリーン空燃比に設定されている間の該目標空燃比の平均リーン度合い及び前記目標空燃比がリッチ空燃比に設定されている間の該目標空燃比の平均リッチ度合いの少なくとも何れか一方を増大させるように構成される、
内燃機関。
【請求項２】
前記空燃比制御装置はさらに、
機関運転状態が定常運転状態にあると判定され且つ機関運転状態が低負荷運転状態である場合には、機関運転状態が定常運転状態にないと判定され且つ機関運転状態が中高負荷運転状態である場合に比べて、前記リーン設定空燃比のリーン度合い及び前記リッチ空燃比のリッチ度合いの少なくとも何れか一方を増大させるように構成される、請求項１に記載の内燃機関。
【請求項３】
前記リーン度合い変更時期後における前記目標空燃比の平均リーン度合いは、機関運転状態が定常運転状態にあると判定され且つ機関運転状態が低負荷運転状態である場合と機関運転状態が定常運転状態にないと判定され且つ機関運転状態が中高負荷運転状態である場合との間で変更されない、請求項１又は２に記載の内燃機関。
【請求項４】
内燃機関の排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、
前記排気浄化触媒の排気流れ方向下流側に配置されると共に該排気浄化触媒から流出する排気ガスの空燃比を検出する下流側空燃比センサと、
前記排気浄化触媒に流入する排気ガスの空燃比が目標空燃比となるようにフィードバック制御を行う空燃比制御装置と、
を具備する内燃機関において、
前記空燃比制御装置は、
前記下流側空燃比センサによって検出された空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になった時に前記目標空燃比を理論空燃比よりもリーンなリーン設定空燃比に切り替え、
前記目標空燃比を前記リーン設定空燃比に切り替えた後であって前記排気浄化触媒の酸素吸蔵量の推定値が最大吸蔵可能酸素量よりも少ない所定の切替基準吸蔵量以上になる前の所定のリーン度合い変更時期に前記目標空燃比を前記リーン設定空燃比よりもリーン度合いが小さいリーン空燃比に変更し、
前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になった時に前記目標空燃比を理論空燃比よりもリッチなリッチ空燃比に切り替えるように構成され、
前記空燃比制御装置はさらに、
前記下流側空燃比センサの出力空燃比に基づいて前記フィードバック制御に関するパラメータを補正する学習制御を行い、
前記学習制御による前記パラメータの補正を促進する必要があるときに成立する学習促進条件が成立したときには、該学習促進条件が成立していないときに比べて、前記目標空燃比がリーン空燃比に設定されている間の目標空燃比の平均リーン度合い及び前記目標空燃比がリッチ空燃比に設定されている間の目標空燃比の平均リッチ度合いのうち少なくともいずれか一方を増大させるように構成される、
内燃機関。
【請求項５】
前記学習促進条件が成立したときであっても、前記リーン度合い変更時期から前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になるまでの空燃比のリーン度合いは増大せしめられずにそのまま維持される、請求項４に記載の内燃機関。
【請求項６】
前記リーン度合い変更時期は、前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下から該リッチ判定空燃比よりも大きな空燃比に変化した時以降とされる、請求項１から５のいずれか１項に記載の内燃機関。
【請求項７】
前記リーン度合い変更時期は、前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になった時からの経過時間が予め定められた時間以上となった時以降とされる、請求項１から６のいずれか１項に記載の内燃機関。
【請求項８】
前記リーン度合い変更時期から前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になる時までの前記目標空燃比は一定の値に維持される、請求項１から７のいずれか１項に記載の内燃機関。
【請求項９】
前記リーン設定空燃比は、前記下流側空燃比センサによって検出された空燃比に応じて変更せしめられる、請求項１から８のいずれか１項に記載の内燃機関。
【請求項１０】
前記目標空燃比が前記リッチ空燃比に切り替えられてから前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になるまでの前記目標空燃比は一定の値に維持される、請求項１から９のいずれか１項に記載の内燃機関。
【請求項１１】
前記空燃比制御装置は、前記目標空燃比を前記リッチ空燃比に切り替えた後であって前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になる前の所定のリッチ度合い変更時期に前記目標空燃比を前記リッチ空燃比よりも理論空燃比からの差が小さい第２のリッチ空燃比に変更する、請求項１から９のいずれか１項に記載の内燃機関。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関に関する。
【背景技術】
【０００２】
従来から、排気浄化触媒の排気流れ方向上流側に空燃比センサを設け、排気流れ方向下流側に酸素センサを設けた内燃機関の制御装置が知られている（例えば、特許文献１）。斯かる制御装置では、例えば、上流側の空燃比センサの出力に基づいてこの空燃比センサの出力が目標空燃比に相当する目標値となるようにフィードバック制御が行われる。加えて、下流側の酸素センサの出力に基づいて上流側の空燃比センサの目標値が補正される。なお、以下の説明では、排気流れ方向上流側を単に「上流側」と称し、排気流れ方向下流側を単に「下流側」と称する場合もある。
【０００３】
例えば、特許文献１に記載の制御装置では、下流側の酸素センサの出力電圧が高側閾値以上であって、排気浄化触媒の状態が酸素不足状態であるときには、排気浄化触媒に流入する排気ガスの目標空燃比が理論空燃比よりもリーンな空燃比（以下、「リーン空燃比」ともいう）とされる。逆に、下流側酸素センサの出力電圧が低側閾値以下であって、排気浄化触媒の状態が酸素過剰状態であるときには、目標空燃比が理論空燃比よりもリッチな空燃比（以下、「リッチ空燃比」ともいう）とされる。特許文献１によれば、これにより、酸素不足状態又は酸素過剰状態にあるときに、排気浄化触媒の状態を速やかに両状態の中間の状態（すなわち、排気浄化触媒に適当な量の酸素が吸蔵されている状態）に戻すことができるとされている。
【０００４】
加えて、上記制御装置では、下流側の酸素センサの出力電圧が高側閾値と低側閾値との間にある場合、酸素センサの出力電圧が増大傾向にあるときには目標空燃比がリーン空燃比とされる。逆に、酸素センサの出力電圧が減少傾向にあるときには目標空燃比がリッチ空燃比とされる。特許文献１によれば、これにより、排気浄化触媒の状態が酸素不足状態又は酸素過剰状態になることを未然に防止することができるとされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−０６９３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、本願の発明者らによれば、上流側排気浄化触媒の排気下流側に下流側空燃比センサを設けると共に、この下流側空燃比センサの出力に基づいて排気浄化触媒に流入する排気ガスの目標空燃比を以下のように制御することが提案されている。すなわち、下流側空燃比センサの出力空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になったときに目標空燃比がリーン空燃比に切り替えられる。加えて、排気浄化触媒の酸素吸蔵量の推定値がその最大吸蔵可能酸素量よりも少ない所定の切替基準吸蔵量以上になったときに、目標空燃比がリッチ空燃比に切り替えられる。このような制御を行うことにより、下流側空燃比センサの出力空燃比がリーン空燃比になることがほとんどなくなる。すなわち、上流側排気浄化触媒からのＮＯｘ流出量が減少せしめられる。
【０００７】
このような空燃比制御を行った場合、目標空燃比をリーン空燃比に設定している際のリーン度合い（理論空燃比からの偏差）を大きくすると、排気浄化触媒からリーン空燃比の排気ガスが流出してしまう可能性が高くなる。すなわち、内燃機関の運転状態が急激に変化すること等によって排気浄化触媒に流入する排気ガスの空燃比が一時的に変動する場合がある。この場合、排気浄化触媒の酸素吸蔵量が最大吸蔵可能酸素量に到達しておらずに排気浄化触媒に更に酸素を吸蔵する余裕があっても、排気ガス中の一部の酸素が排気浄化触媒において吸蔵されずに排気浄化触媒から流出してしまうことがある。このとき、酸素の流出に伴って、ＮＯｘも排気浄化触媒から流出してしまう。
【０００８】
また、排気浄化触媒の劣化に伴って最大吸蔵可能酸素量が減少すると、上述したような制御を行った場合であっても排気浄化触媒の酸素吸蔵量が最大吸蔵可能酸素量に到達して排気浄化触媒からリーン空燃比の排気ガスが流出する。このとき、排気浄化触媒から流出する排気ガスのリーン度合いは、目標空燃比をリーン空燃比に設定している際のリーン度合いが大きいほど大きくなる。したがって、これらを考慮すると、目標空燃比をリーン空燃比に設定している際のリーン度合いは小さい方が好ましいといえる。
【０００９】
ところが、目標空燃比のリーン度合いを小さくすると、目標空燃比をリーン空燃比に設定している際に排気浄化触媒からリッチ空燃比の排気ガスが流出してしまう可能性がある。すなわち、目標空燃比のリーン度合いを小さくした場合、内燃機関の運転状態が急激に変化すること等によって排気浄化触媒に流入する排気ガスの空燃比が一時的にリッチ側に変動すると、排気浄化触媒に流入する排気ガスの空燃比がリッチ空燃比になることがある。そして、上述した制御を行った場合、目標空燃比をリッチ空燃比からリーン空燃比に切り替えた直後は、排気浄化触媒の酸素吸蔵量がほぼゼロとなっている。このため、排気浄化触媒に流入する排気ガスの空燃比がリッチ空燃比になると、排気浄化触媒では排気ガス中の未燃ガスが浄化されず、排気浄化触媒からリッチ空燃比の排気ガスが流出してしまうことになる。
【００１０】
また、上流側空燃比センサの出力値に相当する空燃比（以下、「出力空燃比」ともいう）に基づいてフィードバック制御を行っている場合、上流側空燃比センサにずれが生じると、これに伴って排気浄化触媒に流入する排気ガスの空燃比にもずれが生じる。特に、上流側空燃比センサの出力空燃比が実際の空燃比よりもリーン側にずれていると、排気浄化触媒に流入する排気ガスの空燃比はリッチ側にずれることになる。目標空燃比のリーン度合いを小さくすると、上流側空燃比センサの出力空燃比が大きくリーン側にずれた場合に、目標空燃比をリーン空燃比に設定している際に排気浄化触媒に流入する排気ガスの空燃比がリッチ空燃比になってしまう。この場合、目標空燃比をリーン空燃比に設定しているにもかかわらず、排気浄化触媒からリッチ空燃比の排気ガスが流出し続けることになる。
【００１１】
そこで、上記課題に鑑みて、本発明の目的は、目標空燃比をリーン空燃比に設定している際に排気浄化触媒からリッチ空燃比の排気ガスが流出するのを抑制することができる内燃機関を提供することにある。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、第１の発明では、内燃機関の排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、該排気浄化触媒の排気流れ方向下流側に配置されると共に該排気浄化触媒から流出する排気ガスの空燃比を検出する下流側空燃比センサと、前記排気浄化触媒に流入する排気ガスの空燃比が目標空燃比となるようにフィードバック制御を行う空燃比制御装置とを具備する内燃機関において、前記空燃比制御装置は、前記下流側空燃比センサによって検出された空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になった時に前記目標空燃比を理論空燃比よりもリーンな前記リーン設定空燃比に切り替え、前記目標空燃比をリーン設定空燃比に切り替えた後であって前記排気浄化触媒の酸素吸蔵量の推定値が最大吸蔵可能酸素量よりも少ない所定の切替基準吸蔵量以上になる前の所定のリーン度合い変更時期に前記目標空燃比を前記リーン設定空燃比よりもリーン度合いが小さいリーン空燃比に変更し、前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になった時に前記目標空燃比を理論空燃比よりもリッチなリッチ空燃比に切り替える。
【００１３】
第２の発明では、第１の発明において、前記リーン度合い変更時期は、前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下から該リッチ判定空燃比よりも大きな空燃比に変化した時以降とされる。
【００１４】
第３の発明では、第１又は第２の発明において、前記リーン度合い変更時期は、前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になった時からの経過時間が予め定められた時間以上となった時以降とされる。
【００１５】
第４の発明では、第１から第３のいずれか一つの発明において、前記リーン度合い変更時期から前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になる時までの前記目標空燃比は一定の値に維持される。
【００１６】
第５の発明では、第１から第４のいずれか一つの発明において、前記リーン設定空燃比は、前記下流側空燃比センサによって検出された空燃比に応じて変更せしめられる。
【００１７】
第６の発明では、第１から第５のいずれか一つの発明において、前記目標空燃比がリッチ空燃比に切り替えられてから前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になるまで、前記目標空燃比は一定のリッチ設定空燃比に維持される。
【００１８】
第７の発明では、第１から第５のいずれか一つの発明において、前記空燃比制御装置は、前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になった時に前記目標空燃比を理論空燃比よりもリッチなリッチ設定空燃比に切り替え、前記目標空燃比を該リッチ設定空燃比に切り替えた後であって前記下流側空燃比センサによって検出された空燃比が前記リッチ判定空燃比以下になる前の所定のリッチ度合い変更時期に前記目標空燃比を前記リッチ設定空燃比よりも理論空燃比からの差が小さいリッチ空燃比に変更する。
【００１９】
第８の発明では、第６又は第７の発明において、前記空燃比制御装置は、機関運転状態が定常運転状態であって且つ低負荷運転状態である場合には、機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合に比べて、前記目標空燃比がリーン空燃比に設定されている間の該目標空燃比の平均リーン度合い及び前記目標空燃比がリッチ空燃比に設定されている間の該目標空燃比の平均リッチ度合いの少なくとも何れか一方を増大させる。
【００２０】
第９の発明では、第８の発明において、前記空燃比制御装置は、機関運転状態が定常運転状態であって且つ低負荷運転状態である場合には、機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合に比べて、前記リーン設定空燃比のリーン度合い及び前記リッチ設定空燃比のリッチ度合いの少なくとも何れか一方を増大させる。
【００２１】
第１０の発明では、第１から第９のいずれか一つの発明において、前記リーン度合い変更時期後における前記目標空燃比の平均リーン度合いは、機関運転状態が定常運転状態であって且つ低負荷運転状態である場合と機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合との間で変更されない。
【００２２】
第１１の発明では、第１から第１０のいずれか一つの発明において、前記空燃比制御装置は、前記下流側空燃比センサの出力空燃比に基づいて前記フィードバック制御に関するパラメータを補正する学習制御を行い、前記学習制御による前記パラメータの補正を促進する必要があるときに成立する学習促進条件が成立したときには、該学習促進条件が成立していないときに比べて、前記目標空燃比がリーン空燃比に設定されている間の目標空燃比の平均リーン度合い及び前記目標空燃比がリッチ空燃比に設定されている間の目標空燃比の平均リッチ度合いのうち少なくともいずれか一方を増大させる。
【００２３】
第１２の発明では、第１１の発明において、前記学習促進条件が成立したときであっても、前記リーン度合い変更時期から前記排気浄化触媒の酸素吸蔵量の推定値が前記切替基準吸蔵量以上になるまでの空燃比のリーン度合いは増大せしめられずにそのまま維持される。
【発明の効果】
【００２４】
本発明によれば、目標空燃比をリーン空燃比に設定している際に排気浄化触媒からリッチ空燃比の排気ガスが流出するのを抑制することができる内燃機関が提供される。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の制御装置が用いられる内燃機関を概略的に示す図である。
【図２】図２は、排気浄化触媒の酸素吸蔵量と排気浄化触媒から流出する排気ガス中のＮＯｘ濃度又はＨＣ、ＣＯ濃度との関係を示す図である。
【図３】図３は、各排気空燃比におけるセンサ印加電圧と出力電流との関係を示す図である。
【図４】図４は、センサ印加電圧を一定にしたときの排気空燃比と出力電流との関係を示す図である。
【図５】図５は、第一実施形態に係る内燃機関の制御装置による空燃比制御を行った場合の、空燃比補正量等のタイムチャートである。
【図６】図６は、第一実施形態に係る内燃機関の制御装置による空燃比制御を行った場合の、空燃比補正量等のタイムチャートである。
【図７】図７は、制御装置の機能ブロック図である。
【図８】図８は、空燃比補正量の算出制御の制御ルーチンを示すフローチャートである。
【図９】図９は、第二実施形態に係る内燃機関の制御装置による空燃比制御を行った場合の、空燃比補正量等のタイムチャートである。
【図１０】図１０は、空燃比補正量の算出制御の制御ルーチンを示すフローチャートである。
【図１１】図１１は、各設定空燃比の設定制御を行う際における目標空燃比等の、図５と同様なタイムチャートである。
【図１２】図１２は、各設定空燃比の設定制御を行う際における目標空燃比等の、図５と同様なタイムチャートである。
【図１３】図１３は、各設定空燃比の設定制御を行う際における目標空燃比等の、図５と同様なタイムチャートである。
【図１４】図１４は、リッチ設定空燃比及びリーン設定空燃比等の設定制御における制御ルーチンを示すフローチャートである。
【図１５】図１５は、上流側空燃比センサの出力空燃比にずれが生じている際の空燃比補正量等のタイムチャートである。
【図１６】図１６は、通常学習制御を行う際の空燃比補正量等のタイムチャートである。
【図１７】図１７は、上流側空燃比センサの出力空燃比に大きなずれが生じている際の空燃比補正量等のタイムチャートである。
【図１８】図１８は、上流側空燃比センサの出力空燃比に大きなずれが生じている際の空燃比補正量等のタイムチャートである。
【図１９】図１９は、理論空燃比張付き学習を行う際の空燃比補正量等のタイムチャートである。
【図２０】図２０は、リーン張付き学習等を行う際の空燃比補正量等のタイムチャートである。
【図２１】図２１は、学習促進制御を行う際の空燃比補正量等のタイムチャートである。
【図２２】図２２は、学習促進制御を行う際の空燃比補正量等のタイムチャートである。
【図２３】図２３は、通常学習制御の制御ルーチンを示すフローチャートである。
【図２４】図２４は、学習促進制御の制御ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００２７】
＜内燃機関全体の説明＞
図１は、本発明に係る制御装置が用いられる内燃機関を概略的に示す図である。図１において、１は機関本体、２はシリンダブロック、３はシリンダブロック２内で往復動するピストン、４はシリンダブロック２上に固定されたシリンダヘッド、５はピストン３とシリンダヘッド４との間に形成された燃焼室、６は吸気弁、７は吸気ポート、８は排気弁、９は排気ポートをそれぞれ示す。吸気弁６は吸気ポート７を開閉し、排気弁８は排気ポート９を開閉する。
【００２８】
図１に示したようにシリンダヘッド４の内壁面の中央部には点火プラグ１０が配置され、シリンダヘッド４の内壁面周辺部には燃料噴射弁１１が配置される。点火プラグ１０は、点火信号に応じて火花を発生させるように構成される。また、燃料噴射弁１１は、噴射信号に応じて、所定量の燃料を燃焼室５内に噴射する。なお、燃料噴射弁１１は、吸気ポート７内に燃料を噴射するように配置されてもよい。また、本実施形態では、燃料として理論空燃比が１４．６であるガソリンが用いられる。しかしながら、本実施形態の内燃機関は他の燃料を用いても良い。
【００２９】
各気筒の吸気ポート７はそれぞれ対応する吸気枝管１３を介してサージタンク１４に連結され、サージタンク１４は吸気管１５を介してエアクリーナ１６に連結される。吸気ポート７、吸気枝管１３、サージタンク１４、吸気管１５は吸気通路を形成する。また、吸気管１５内にはスロットル弁駆動アクチュエータ１７によって駆動されるスロットル弁１８が配置される。スロットル弁１８は、スロットル弁駆動アクチュエータ１７によって回動せしめられることで、吸気通路の開口面積を変更することができる。
【００３０】
一方、各気筒の排気ポート９は排気マニホルド１９に連結される。排気マニホルド１９は、各排気ポート９に連結される複数の枝部とこれら枝部が集合した集合部とを有する。排気マニホルド１９の集合部は上流側排気浄化触媒２０を内蔵した上流側ケーシング２１に連結される。上流側ケーシング２１は、排気管２２を介して下流側排気浄化触媒２４を内蔵した下流側ケーシング２３に連結される。排気ポート９、排気マニホルド１９、上流側ケーシング２１、排気管２２及び下流側ケーシング２３は、排気通路を形成する。
【００３１】
電子制御ユニット（ＥＣＵ）３１はデジタルコンピュータからなり、双方向性バス３２を介して相互に接続されたＲＡＭ（ランダムアクセスメモリ）３３、ＲＯＭ（リードオンリメモリ）３４、ＣＰＵ（マイクロプロセッサ）３５、入力ポート３６および出力ポート３７を具備する。吸気管１５には、吸気管１５内を流れる空気流量を検出するためのエアフロメータ３９が配置され、このエアフロメータ３９の出力は対応するＡＤ変換器３８を介して入力ポート３６に入力される。また、排気マニホルド１９の集合部には排気マニホルド１９内を流れる排気ガス（すなわち、上流側排気浄化触媒２０に流入する排気ガス）の空燃比を検出する上流側空燃比センサ４０が配置される。加えて、排気管２２内には排気管２２内を流れる排気ガス（すなわち、上流側排気浄化触媒２０から流出して下流側排気浄化触媒２４に流入する排気ガス）の空燃比を検出する下流側空燃比センサ４１が配置される。これら空燃比センサ４０、４１の出力も対応するＡＤ変換器３８を介して入力ポート３６に入力される。
【００３２】
また、アクセルペダル４２にはアクセルペダル４２の踏込み量に比例した出力電圧を発生する負荷センサ４３が接続され、負荷センサ４３の出力電圧は対応するＡＤ変換器３８を介して入力ポート３６に入力される。クランク角センサ４４は例えばクランクシャフトが１５度回転する毎に出力パルスを発生し、この出力パルスが入力ポート３６に入力される。ＣＰＵ３５ではこのクランク角センサ４４の出力パルスから機関回転数が計算される。一方、出力ポート３７は対応する駆動回路４５を介して点火プラグ１０、燃料噴射弁１１及びスロットル弁駆動アクチュエータ１７に接続される。なお、ＥＣＵ３１は、内燃機関の制御を行う制御装置として機能する。
【００３３】
なお、本実施形態に係る内燃機関は、ガソリンを燃料とする無過給内燃機関であるが、本発明に係る内燃機関の構成は、上記構成に限定されるものではない。例えば、本発明に係る内燃機関は、気筒配列、燃料の噴射態様、吸排気系の構成、動弁機構の構成、過給器の有無、及び過給態様等が、上記内燃機関と異なるものであってもよい。
【００３４】
＜排気浄化触媒の説明＞
上流側排気浄化触媒２０及び下流側排気浄化触媒２４は、いずれも同様な構成を有する。排気浄化触媒２０、２４は、酸素吸蔵能力を有する三元触媒である。具体的には、排気浄化触媒２０、２４は、セラミックから成る基材に、触媒作用を有する貴金属（例えば、白金（Ｐｔ））及び酸素吸蔵能力を有する物質（例えば、セリア（ＣｅＯ2））を担持させたものである。排気浄化触媒２０、２４は、所定の活性温度に達すると、未燃ガス（ＨＣやＣＯ等）と窒素酸化物（ＮＯｘ）とを同時に浄化する触媒作用に加えて、酸素吸蔵能力を発揮する。
【００３５】
排気浄化触媒２０、２４の酸素吸蔵能力によれば、排気浄化触媒２０、２４は、排気浄化触媒２０、２４に流入する排気ガスの空燃比が理論空燃比よりもリーン（リーン空燃比）であるときには排気ガス中の酸素を吸蔵する。一方、排気浄化触媒２０、２４は、流入する排気ガスの空燃比が理論空燃比よりもリッチ（リッチ空燃比）であるときには、排気浄化触媒２０、２４に吸蔵されている酸素を放出する。
【００３６】
排気浄化触媒２０、２４は、触媒作用及び酸素吸蔵能力を有することにより、酸素吸蔵量に応じてＮＯｘ及び未燃ガスの浄化作用を有する。すなわち、排気浄化触媒２０、２４に流入する排気ガスの空燃比がリーン空燃比である場合、図２（Ａ）に示したように、酸素吸蔵量が少ないときには排気浄化触媒２０、２４により排気ガス中の酸素が吸蔵される。また、これに伴って、排気ガス中のＮＯｘが還元浄化される。一方、酸素吸蔵量が多くなると、最大吸蔵可能酸素量（上限吸蔵量）Ｃｍａｘ近傍の或る吸蔵量（図中のＣｕｐｌｉｍ）を境に排気浄化触媒２０、２４から流出する排気ガス中の酸素及びＮＯｘの濃度が急激に上昇する。
【００３７】
一方、排気浄化触媒２０、２４に流入する排気ガスの空燃比がリッチ空燃比である場合、図２（Ｂ）に示したように、酸素吸蔵量が多いときには排気浄化触媒２０、２４に吸蔵されている酸素が放出され、排気ガス中の未燃ガスは酸化浄化される。一方、酸素吸蔵量が少なくなると、ゼロ（下限吸蔵量）近傍の或る吸蔵量（図中のＣｌｏｗｌｉｍ）を境に排気浄化触媒２０、２４から流出する排気ガス中の未燃ガスの濃度が急激に上昇する。
【００３８】
以上のように、本実施形態において用いられる排気浄化触媒２０、２４によれば、排気浄化触媒２０、２４に流入する排気ガスの空燃比及び酸素吸蔵量に応じて排気ガス中のＮＯｘ及び未燃ガスの浄化特性が変化する。なお、触媒作用及び酸素吸蔵能力を有していれば、排気浄化触媒２０、２４は三元触媒とは異なる触媒であってもよい。
【００３９】
＜空燃比センサの出力特性＞
次に、図３及び図４を参照して、本実施形態における空燃比センサ４０、４１の出力特性について説明する。図３は、本実施形態における空燃比センサ４０、４１の電圧−電流（Ｖ−Ｉ）特性を示す図であり、図４は、印加電圧を一定に維持したときの、空燃比センサ４０、４１周りを流通する排気ガスの空燃比（以下、「排気空燃比」という）と出力電流Ｉとの関係を示す図である。なお、本実施形態では、両空燃比センサ４０、４１として同一構成の空燃比センサが用いられる。
【００４０】
図３からわかるように、本実施形態の空燃比センサ４０、４１では、出力電流Ｉは、排気空燃比が高くなるほど（リーンになるほど）、大きくなる。また、各排気空燃比におけるＶ−Ｉ線には、Ｖ軸にほぼ平行な領域、すなわちセンサ印加電圧が変化しても出力電流がほとんど変化しない領域が存在する。この電圧領域は限界電流領域と称され、このときの電流は限界電流と称される。図３では、排気空燃比が１８であるときの限界電流領域及び限界電流をそれぞれＷ18、Ｉ18で示している。したがって、空燃比センサ４０、４１は限界電流式の空燃比センサであるということができる。
【００４１】
図４は、印加電圧を０．４５Ｖ程度で一定にしたときの、排気空燃比と出力電流Ｉとの関係を示す図である。図４からわかるように、空燃比センサ４０、４１では、排気空燃比が高くなるほど（すなわち、リーンになるほど）、空燃比センサ４０、４１からの出力電流Ｉが大きくなるように、排気空燃比に対して出力電流がリニアに（比例するように）変化する。加えて、空燃比センサ４０、４１は、排気空燃比が理論空燃比であるときに出力電流Ｉが零になるように構成される。また、排気空燃比が一定以上に大きくなったとき、或いは一定以下に小さくなったときには、排気空燃比の変化に対する出力電流の変化の割合が小さくなる。
【００４２】
なお、上記例では、空燃比センサ４０、４１として限界電流式の空燃比センサを用いている。しかしながら、排気空燃比に対して出力電流がリニアに変化するものであれば、空燃比センサ４０、４１として、限界電流式ではない空燃比センサ等、如何なる空燃比センサを用いてもよい。また、両空燃比センサ４０、４１は互いに異なる構造の空燃比センサであってもよい。
【００４３】
＜空燃比制御の概要＞
次に、本実施形態の内燃機関の制御装置における空燃比制御の概要を説明する。本実施形態の空燃比制御では、上流側空燃比センサ４０の出力空燃比に基づいて、上流側空燃比センサ４０の出力空燃比が目標空燃比となるように燃料噴射弁１１からの燃料噴射量を制御するフィードバック制御が行われる。なお、「出力空燃比」は、空燃比センサの出力値に相当する空燃比を意味する。
【００４４】
一方、本実施形態の空燃比制御では、下流側空燃比センサ４１の出力空燃比に基づいて目標空燃比を設定する目標空燃比の設定制御が行われる。目標空燃比の設定制御では、下流側空燃比センサ４１の出力空燃比が理論空燃比よりも僅かにリッチなリッチ判定空燃比（例えば、１４．５５）以下となったときに、下流側空燃比センサ４１によって検出された排気ガスの空燃比がリッチ空燃比になったと判断される。このとき、目標空燃比はリーン設定空燃比に設定される。ここで、リーン設定空燃比は、理論空燃比（制御中心となる空燃比）よりも或る程度リーンである予め定められた空燃比であり、例えば、１４．６５〜２０、好ましくは１４．６５〜１８、より好ましくは１４．６５〜１６程度とされる。また、リーン設定空燃比は、制御中心となる空燃比（本実施形態では、理論空燃比）にリーン設定補正量を加算した空燃比として表すこともできる。
【００４５】
その後、目標空燃比をリーン設定空燃比に設定した状態で、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比よりもリッチ度合いの小さい空燃比（リッチ判定空燃比よりも理論空燃比に近い空燃比）になると、下流側空燃比センサ４１によって検出された排気ガスの空燃比がほぼ理論空燃比になったと判断される。このとき、目標空燃比は、弱リーン設定空燃比に設定される。ここで、弱リーン設定空燃比は、リーン設定空燃比よりもリーン度合いの小さい（理論空燃比からの差が小さい）リーン空燃比であり、例えば、１４．６２〜１５．７、好ましくは１４．６３〜１５．２、より好ましくは１４．６５〜１４．９程度とされる。
【００４６】
また、目標空燃比がリーン空燃比（リーン設定空燃比及び弱リーン設定空燃比）に設定されているときには、上流側排気浄化触媒２０に流入する排気ガスの酸素過不足量が積算される。酸素過不足量は、上流側排気浄化触媒２０に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素の量又は不足する酸素の量（過剰な未燃ガス等の量）を意味する。特に、目標空燃比がリーン設定空燃比となっているときには上流側排気浄化触媒２０に流入する排気ガス中の酸素は過剰となり、この過剰な酸素は上流側排気浄化触媒２０に吸蔵される。したがって、酸素過不足量の積算値（以下、「積算酸素過不足量」という）は、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの推定値であるといえる。
【００４７】
なお、酸素過不足量の算出は、上流側空燃比センサ４０の出力空燃比、及びエアフロメータ３９の出力等に基づいて算出される燃焼室５内への吸入空気量の推定値又は燃料噴射弁１１からの燃料供給量等に基づいて行われる。具体的には、酸素過不足量ＯＥＤは、例えば、下記式（１）により算出される。
ＯＥＤ＝０．２３・Ｑｉ／（ＡＦｕｐ−ＡＦＲ）      …（１）
ここで、０．２３は空気中の酸素濃度、Ｑｉは燃料噴射量、ＡＦｕｐは上流側空燃比センサ４０の出力空燃比、ＡＦＲは制御中心となる空燃比（本実施形態では、理論空燃比）をそれぞれ表している。
【００４８】
このようにして算出された酸素過不足量を積算した積算酸素過不足量が、予め定められた切替基準値（後述する切替基準吸蔵量Ｃｒｅｆに相当）以上になると、目標空燃比がリッチ設定空燃比に設定される。リッチ設定空燃比は、理論空燃比（制御中心となる空燃比）よりも僅かにリッチである予め定められた空燃比であり、例えば、例えば、１３．５〜１４．５８、好ましくは１４〜１４．５７、より好ましくは１４．３〜１４．５５程度とされる。また、リッチ設定空燃比は、制御中心となる空燃比（本実施形態では、理論空燃比）からリッチ設定補正量を減算した空燃比として表すこともできる。なお、本実施形態では、リッチ設定空燃比の理論空燃比からの差（リッチ度合い）は、リーン設定空燃比の理論空燃比からの差（リーン度合い）と同一又はそれ以下とされる。その後、下流側空燃比センサ４１の出力空燃比が再びリッチ判定空燃比以下となったときに、目標空燃比が再びリーン設定空燃比とされる。
【００４９】
この結果、本実施形態では、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下になると、まず、目標空燃比がリーン設定空燃比に設定される。その後、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比よりも大きくなると目標空燃比が弱リーン設定空燃比に設定される。一方、目標空燃比をリッチ設定空燃比に切り替えてからの積算酸素過不足量が予め定められた切替基準値以上になると、目標空燃比がリッチ設定空燃比に設定される。その後、同様な制御が繰り返される。
【００５０】
なお、上述したような制御を行った場合であっても、積算酸素過不足量が切替基準値に到達する前に上流側排気浄化触媒２０の実際の酸素吸蔵量が最大吸蔵可能酸素量に到達する場合がある。その原因としては、例えば、上流側排気浄化触媒２０の最大吸蔵可能酸素量が低下したり、一時的に上流側排気浄化触媒２０に流入する排気ガスの空燃比が急激に変化したりすることが挙げられる。このように酸素吸蔵量が最大吸蔵可能酸素量に到達すると、上流側排気浄化触媒２０からはリーン空燃比の排気ガスが流出することになる。そこで、本実施形態では、下流側空燃比センサ４１の出力空燃比がリーン空燃比となったときには、目標空燃比はリッチ設定空燃比に切り替えられる。特に、本実施形態では、下流側空燃比センサ４１の出力空燃比が理論空燃比よりも僅かにリーンであるリーン判定空燃比（例えば、１４．６５）以上になったときに、下流側空燃比センサ４１の出力空燃比がリーン空燃比になったと判断される。
【００５１】
また、リッチ判定空燃比及びリーン判定空燃比は、理論空燃比の１％以内、好ましくは０．５％以内、より好ましくは０．３５％以内の空燃比とされる。したがって、リッチ判定空燃比及びリーン判定空燃比の理論空燃比からの差は、理論空燃比が１４．６の場合には、０．１５以下、好ましくは０．０７３以下、より好ましくは０．０５１以下とされる。また、目標空燃比（例えば、弱リーン設定空燃比やリーン設定空燃比）の理論空燃比からの差は、上述した差よりも大きくなるように設定される。
【００５２】
＜タイムチャートを用いた空燃比制御の説明＞
図５を参照して、上述したような操作について具体的に説明する。図５は、本実施形態の空燃比制御を行った場合における、空燃比補正量ＡＦＣ、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡ、積算酸素過不足量ΣＯＥＤ、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ及び上流側排気浄化触媒２０から流出する排気ガス中のＮＯｘ濃度のタイムチャートである。
【００５３】
なお、空燃比補正量ＡＦＣは、上流側排気浄化触媒２０に流入する排気ガスの目標空燃比に関する補正量である。空燃比補正量ＡＦＣが０のときには目標空燃比は制御中心となる空燃比（以下、「制御中心空燃比」という）に等しい空燃比（本実施形態では、理論空燃比）とされ、空燃比補正量ＡＦＣが正の値であるときには目標空燃比は制御中心空燃比よりもリーンな空燃比（本実施形態では、リーン空燃比）となり、空燃比補正量ＡＦＣが負の値であるときには目標空燃比は制御中心空燃比よりもリッチな空燃比（本実施形態では、リッチ空燃比）となる。また、「制御中心空燃比」は、機関運転状態に応じて空燃比補正量ＡＦＣを加算する対象となる空燃比、すなわち空燃比補正量ＡＦＣに応じて目標空燃比を変動させる際に基準となる空燃比を意味する。
【００５４】
図示した例では、時刻ｔ1以前の状態では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈ（リッチ設定空燃比に相当）とされている。すなわち、目標空燃比はリッチ空燃比とされており、これに伴って上流側空燃比センサ４０の出力空燃比がリッチ空燃比となる。上流側排気浄化触媒２０に流入する排気ガス中に含まれている未燃ガスは、上流側排気浄化触媒２０で浄化され、これに伴って、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは徐々に減少していく。したがって、積算酸素過不足量ΣＯＥＤも徐々に減少していく。上流側排気浄化触媒２０における浄化により上流側排気浄化触媒２０から流出する排気ガス中には未燃ガスは含まれていないため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはほぼ理論空燃比となる。上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ空燃比となっているため、上流側排気浄化触媒２０からのＮＯｘ排出量はほぼゼロとなる。
【００５５】
上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に減少すると、酸素吸蔵量ＯＳＡはゼロに近づき、これに伴って、上流側排気浄化触媒２０に流入した未燃ガスの一部は上流側排気浄化触媒２０で浄化されずに流出し始める。これにより、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが徐々に低下する。その結果、時刻ｔ1において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。
【００５６】
本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、酸素吸蔵量ＯＳＡを増大させるべく、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎ（リーン設定空燃比に相当）に切り替えられる。したがって、目標空燃比はリッチ空燃比からリーン空燃比へと切り替えられる。また、このとき、積算酸素過不足量ΣＯＥＤは０にリセットされる。
【００５７】
なお、本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比からリッチ空燃比に変化してすぐではなく、リッチ判定空燃比ＡＦｒｉｃｈに到達してから、空燃比補正量ＡＦＣの切替を行っている。これは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが十分であっても、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比から極僅かにずれてしまう場合があるためである。逆に言うと、リッチ判定空燃比は、上流側排気浄化触媒２０の酸素吸蔵量が十分であるときには、上流側排気浄化触媒２０から流出する排気ガスの空燃比が到達することのないような空燃比とされる。なお、上述したリーン判定空燃比についても同じことがいえる。
【００５８】
時刻ｔ1において、目標空燃比をリーン空燃比に切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ空燃比からリーン空燃比に変化する。また、これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリーン空燃比となる（実際には、目標空燃比を切り替えてから上流側排気浄化触媒２０に流入する排気ガスの空燃比が変化するまでには遅れが生じるが、図示した例では便宜上同時に変化するものとしている）。時刻ｔ1において上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン空燃比に変化すると、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは増大していく。また、これに伴って、積算酸素過不足量ΣＯＥＤも徐々に増大していく。
【００５９】
このように、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大していくと、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比へ向かって変化する。このため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも理論空燃比へ向かって変化する。図５に示した例では、時刻ｔ2において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値となる。すなわち、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比となる。これは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが或る程度多くなっていることを意味する。
【００６０】
そこで、本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値に変化した時には、空燃比補正量ＡＦＣが弱リーン設定補正量ＡＦＣｓｌｅａｎ（弱リーン設定空燃比に相当）に切り替えられる。したがって、時刻ｔ2では目標空燃比のリーン度合いが低下せしめられる。以下では、時刻ｔ2をリーン度合い変更時期と称する。
【００６１】
リーン度合い変更時期である時刻ｔ2において、空燃比補正量ＡＦＣを弱リーン設定補正量ＡＦＣｓｌｅａｎに切り替えると、上流側排気浄化触媒２０に流入する排気ガスのリーン度合いも小さくなる。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは小さくなると共に、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの増加速度が低下する。
【００６２】
時刻ｔ2以降においては、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、その増加速度が遅いながらも、徐々に増加していく。上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に増加すると、酸素吸蔵量ＯＳＡはやがて時刻ｔ3において切替基準吸蔵量Ｃｒｅｆに到達する。このため、積算酸素過不足量ΣＯＥＤが、切替基準吸蔵量Ｃｒｅｆに相当する切替基準値ＯＥＤｒｅｆに到達する。本実施形態では、積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になると、上流側排気浄化触媒２０への酸素の吸蔵を中止すべく、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。したがって、目標空燃比はリッチ空燃比とされる。また、このとき、積算酸素過不足量ΣＯＥＤが０にリセットされる。
【００６３】
ここで、図５に示した例では、時刻ｔ3において目標空燃比を切り替えると同時に酸素吸蔵量ＯＳＡが低下しているが、実際には目標空燃比を切り替えてから酸素吸蔵量ＯＳＡが低下するまでには遅れが発生する。また、内燃機関を搭載した車両の加速により機関負荷が高くなって吸入空気量が瞬間的に大きくずれた場合等、上流側排気浄化触媒２０に流入する排気ガスの空燃比が意図せずに瞬間的に目標空燃比から大きくずれる場合がある。
【００６４】
これに対して、切替基準吸蔵量Ｃｒｅｆは上流側排気浄化触媒２０が未使用であるときの最大吸蔵可能酸素量Ｃｍａｘよりも十分に低く設定される。このため、上述したような遅れが生じたり実際の排気ガスの空燃比が意図せずに目標空燃比から瞬間的に大きくずれたりしたときであっても、酸素吸蔵量ＯＳＡは最大吸蔵可能酸素量Ｃｍａｘには到達しない。逆に言うと、切替基準吸蔵量Ｃｒｅｆは、上述したような遅れや意図しない空燃比のずれが生じても、酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量Ｃｍａｘには到達しないように十分少ない量とされる。例えば、切替基準吸蔵量Ｃｒｅｆは、上流側排気浄化触媒２０が未使用であるときの最大吸蔵可能酸素量Ｃｍａｘの３／４以下、好ましくは１／２以下、より好ましくは１／５以下とされる。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎに到達する前に空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられることになる。
【００６５】
時刻ｔ3において目標空燃比をリッチ空燃比に切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比からリッチ空燃比に変化する。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリッチ空燃比となる（実際には、目標空燃比を切り替えてから上流側排気浄化触媒２０に流入する排気ガスの空燃比が変化するまでには遅れが生じるが、図示した例では便宜上同時に変化するものとしている）。上流側排気浄化触媒２０に流入する排気ガス中には未燃ガスが含まれることになるため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは徐々に減少していき、やがて下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが低下し始める。この間も、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ空燃比となっているため、上流側排気浄化触媒２０からのＮＯｘの排出はほぼゼロされる。
【００６６】
次いで、時刻ｔ4において、時刻ｔ1と同様に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。これにより、空燃比補正量ＡＦＣがリーン設定空燃比に相当する値ＡＦＣｌｅａｎに切り替えられる。その後、上述した時刻ｔ1〜ｔ4のサイクルが繰り返される。
【００６７】
＜空燃比制御における効果＞
以上の説明から分かるように本実施形態によれば、上流側排気浄化触媒２０からのＮＯｘ排出量を常に抑制することができる。すなわち、上述した制御を行っている限り、基本的には上流側排気浄化触媒２０からのＮＯｘ排出量をほぼゼロとすることができる。また、積算酸素過不足量ΣＯＥＤを算出する際の積算期間が短いため、長期間に亘って積算する場合に比べて算出誤差が生じにくい。このため、積算酸素過不足量ΣＯＥＤの算出誤差によりＮＯｘが排出されてしまうことが抑制される。
【００６８】
また、一般に、排気浄化触媒の酸素吸蔵量が一定に維持されると、その排気浄化触媒の酸素吸蔵能力が低下する。すなわち、排気浄化触媒の酸素吸蔵能力を高く維持するためには、排気浄化触媒の酸素吸蔵量が変動することが必要になる。これに対して、本実施形態によれば、図５に示したように、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは常に上下に変動しているため、酸素吸蔵能力が低下することが抑制される。
【００６９】
加えて、上述した空燃比制御によれば、時刻ｔ2〜ｔ3においては、目標空燃比がリーン度合いの小さい弱リーン設定空燃比に設定される。また、時刻ｔ3〜ｔ4においては、目標空燃比がリッチ度合いの小さいリッチ設定空燃比に設定される。このため、斯かる期間中においては、内燃機関の運転状態が急激に変化すること等によって上流側排気浄化触媒２０に流入する排気ガスの空燃比が一時的に変動しても、上流側排気浄化触媒２０からＮＯｘや未燃ガスが流出するのを抑制することができる。
【００７０】
また、上述した空燃比制御によれば、時刻ｔ1及び時刻ｔ4等において目標空燃比がリッチ空燃比からリーン空燃比に変更された直後（すなわち、時刻ｔ1〜ｔ2、ｔ4〜ｔ5）には、目標空燃比はリーン度合いの大きなリーン空燃比とされる。このため、時刻ｔ1、ｔ4において上流側排気浄化触媒２０から流出していた未燃ガスを迅速に減少させることができる。したがって、上流側排気浄化触媒２０からの未燃ガスの流出を抑制することができる。
【００７１】
さらに、上述した空燃比制御においては、時刻ｔ1及び時刻ｔ4等において、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがほぼゼロになっている。しかしながら、時刻ｔ1及び時刻ｔ4直後においては、目標空燃比はリーン度合いの大きなリーン空燃比とされる。このため、この期間（すなわち、時刻ｔ1〜ｔ2、時刻ｔ4〜ｔ5）において、内燃機関の運転状態が急激に変化すること等によって上流側排気浄化触媒２０に流入する排気ガスの空燃比が一時的に目標空燃比よりもリッチ側に変動したとしても、斯かる排気ガスの空燃比はリーン空燃比のまま維持される。したがって、このような排気ガスの空燃比における変動が生じたとしても、上流側排気浄化触媒２０から未燃ガスを含んだリッチ空燃比の排気ガスが流出してしまうことが抑制される。
【００７２】
また、上述したように、上流側空燃比センサ４０の出力空燃比がリーン側にずれている場合、上流側排気浄化触媒２０に流入する排気ガスの空燃比は目標空燃比よりもリッチ側にずれた空燃比となる。これに対して、上述した空燃比制御によれば、上述したように時刻ｔ1及び時刻ｔ4等において目標空燃比がリッチ空燃比からリーン空燃比に変更された直後（すなわち、時刻ｔ1〜ｔ2、時刻ｔ4〜ｔ5）には、目標空燃比はリーン度合いの大きなリーン空燃比とされる。このため、上流側空燃比センサ４０の出力空燃比がリーン側にずれている場合であっても、時刻ｔ1〜ｔ2及び時刻ｔ4〜ｔ5においては上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比のまま維持される。このため、少なくとも時刻ｔ1〜ｔ2及び時刻ｔ4〜ｔ5の間は上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大することになる。したがって、上流側空燃比センサ４０の出力空燃比がリーン側にずれている場合であっても、上流側排気浄化触媒２０からリッチ空燃比の排気ガスが流出し続けてしまうことが抑制される。
【００７３】
＜第一実施形態の変更例＞
なお、上記実施形態では、時刻ｔ1〜ｔ2及び時刻ｔ4〜ｔ5において、目標空燃比は予め定められた一定のリーン設定空燃比に設定される。しかしながら、リーン設定空燃比は必ずしも一定の値でなくてもよく、変動してもよい。例えば、リーン設定空燃比は、下流側空燃比センサ４１の現在の出力空燃比のリッチ度合いに応じて変化するように設定されてもよい。この場合、具体的には、下流側空燃比センサ４１の現在の出力空燃比ＡＦｄｗｎのリッチ度合いが大きくなるほど、リーン設定空燃比のリーン度合いが大きくなるように設定される。この様子を図６に示す。図６に示した例では、時刻ｔ1〜ｔ2において、すなわち目標空燃比がリーン設定空燃比に設定される期間において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが低くなるほど、空燃比補正量ＡＦＣが大きくされる。
【００７４】
或いは、リーン設定空燃比は、目標空燃比を前回リーン設定空燃比に設定したときの下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎのリッチ度合いにおける最大値（以下、「最大リッチ度合い」という）に応じて変更されてもよい。すなわち、この場合、図５に示した例を参考にすると、時刻ｔ4〜ｔ5におけるリーン設定空燃比は、時刻ｔ1〜ｔ2における下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの最大リッチ度合に応じて変更されることになる。この場合、具体的には、目標空燃比を前回リーン設定空燃比に設定したときの下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの最大リッチ度合いが大きくなるほど、今回のリーン設定空燃比のリーン度合いが大きくなるように設定される。これらをまとめて表現すると、リーン設定空燃比は、下流側空燃比センサ４１の出力空燃比のリッチ度合いに応じて設定されてもよい。
【００７５】
同様に、上記実施形態では、時刻ｔ2〜ｔ3等において、目標空燃比は予め定められた一定の弱リーン設定空燃比に設定される。しかしながら、弱リーン設定空燃比は必ずしも一定の値でなくてもよく、変動してもよい。例えば、弱リーン設定空燃比は、リーン度合い変更時期からの経過時間が長くなるにつれて徐々にリーン度合いが小さくなるように変更されてもよい。ただし、いずれせよ、弱リッチ設定空燃比は、常に、時刻ｔ1〜ｔ2におけるリッチ設定空燃比の最小値よりも小さい値とされる。
【００７６】
また、上記実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値に変化した時が、目標空燃比をリーン設定空燃比から弱リーン設定空燃比に切り替える時期であるリーン度合い変更時期とされる。リーン度合い変更時期をこのような時期としているのは以下のような理由である。すなわち、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値に変化したことは、上流側排気浄化触媒２０からリッチ空燃比の排気ガスが流出していないことを意味する。すなわち、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大していることを意味する。したがって、リーン度合い変更時期をこのような時期にすれば、少なくとも上流側排気浄化触媒２０に或る程度の酸素を必ず吸蔵させることができる。
【００７７】
しかしながら、リーン度合い変更時期は、必ずしもこの時でなくてもよい。したがって、例えば、リーン度合い変更時期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値に変化した時よりも後の時期であってもよい。したがって、リーン度合い変更時期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値になった時からの経過時間が予め定められた所定の時間になった時、又は斯かる時からの積算酸素過不足量や積算吸入空気量が予め定められた所定量になった時とされてもよい。ただし、この場合、リーン度合い変更時期は、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの推定値が切替基準吸蔵量Ｃｒｅｆ以上になるよりも前の時期とされる。
【００７８】
或いは、リーン度合い変更時期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎを用いずに、目標空燃比をリーン空燃比に切り替えた時からの経過時間が予め定められた所定の時間になった時、又は斯かる時からの積算酸素過不足量や積算吸入空気量が予め定められた所定量になった時とされてもよい。この場合、予め定められた所定時間は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなるまでに通常かかる時間よりも長い時間とされる。同様に、予め定められた所定量は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなるまでに通常到達する積算酸素過不足量や積算吸入空気量よりも多い量とされる。ただし、この場合でも、リーン度合い変更時期は、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの推定値が切替基準吸蔵量Ｃｒｅｆ以上になるよりも前の時期とされる。
【００７９】
いずれにせよ、目標空燃比をリーン設定空燃比から弱リーン設定空燃比に切り替える時期であるリーン度合い変更時期は、目標空燃比をリーン設定空燃比に切り替えた後であって上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの推定値が切替基準吸蔵量Ｃｒｅｆ以上になる前の時期とされる。
【００８０】
また、上記実施形態では、積算酸素過不足量ΣＯＥＤは、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ及び燃焼室５内への吸入空気量の推定値等に基づいて算出されている。しかしながら、酸素吸蔵量ＯＳＡはこれらパラメータに加えて他のパラメータに基づいて算出されてもよいし、これらパラメータとは異なるパラメータに基づいて推定されてもよい。また、上記実施形態では、積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になると、目標空燃比がリーン設定空燃比からリッチ設定空燃比へと切り替えられる。しかしながら、目標空燃比をリーン設定空燃比からリッチ設定空燃比へと切り替えるタイミングは、例えば目標空燃比をリッチ設定空燃比からリーン設定空燃比へ切り替えてからの機関運転時間や積算吸入空気量等、他のパラメータを基準としてもよい。ただし、この場合であっても、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量よりも少ないと推定される間に、目標空燃比をリーン設定空燃比からリッチ設定空燃比へと切り替えることが必要となる。
＜具体的な制御の説明＞
次に、図７及び図８を参照して、上記実施形態における制御装置について具体的に説明する。本実施形態における制御装置は、機能ブロック図である図７に示したように、Ａ１〜Ａ９の各機能ブロックを含んで構成されている。以下、図７を参照しながら各機能ブロックについて説明する。これら各機能ブロックＡ１〜Ａ８における操作は、基本的にＥＣＵ３１において実行される。
【００８１】
＜燃料噴射量の算出＞
まず、燃料噴射量の算出について説明する。燃料噴射量の算出に当たっては、筒内吸入空気量算出手段Ａ１、基本燃料噴射量算出手段Ａ２、及び燃料噴射量算出手段Ａ３が用いられる。
【００８２】
筒内吸入空気量算出手段Ａ１は、吸入空気流量Ｇａと、機関回転数ＮＥと、ＥＣＵ３１のＲＯＭ３４に記憶されたマップ又は計算式とに基づいて、各気筒への吸入空気量Ｍｃを算出する。吸入空気流量Ｇａはエアフロメータ３９によって計測され、機関回転数ＮＥはクランク角センサ４４の出力に基づいて算出される。
【００８３】
基本燃料噴射量算出手段Ａ２は、筒内吸入空気量算出手段Ａ１によって算出された筒内吸入空気量Ｍｃを、目標空燃比ＡＦＴで除算することにより、基本燃料噴射量Ｑｂａｓｅを算出する（Ｑｂａｓｅ＝Ｍｃ／ＡＦＴ）。目標空燃比ＡＦＴは、後述する目標空燃比設定手段Ａ６によって算出される。
【００８４】
燃料噴射量算出手段Ａ３は、基本燃料噴射量算出手段Ａ２によって算出された基本燃料噴射量Ｑｂａｓｅに、後述するＦ／Ｂ補正量ＤＦｉを加えることで燃料噴射量Ｑｉを算出する（Ｑｉ＝Ｑｂａｓｅ＋ＤＦｉ）。このようにして算出された燃料噴射量Ｑｉの燃料が燃料噴射弁１１から噴射されるように、燃料噴射弁１１に対して噴射指示が行われる。
【００８５】
＜目標空燃比の算出＞
次に、目標空燃比の算出について説明する。目標空燃比の算出に当たっては、酸素過不足量算出手段Ａ４、空燃比補正量算出手段Ａ５、及び目標空燃比設定手段Ａ６が用いられる。
【００８６】
酸素過不足量算出手段Ａ４は、燃料噴射量算出手段Ａ３によって算出された燃料噴射量Ｑｉ及び上流側空燃比センサ４０の出力空燃比ＡＦｕｐに基づいて積算酸素過不足量ΣＯＥＤを算出する。酸素過不足量算出手段Ａ４は、例えば、上流側空燃比センサ４０の出力空燃比と制御中心空燃比との差分に燃料噴射量Ｑｉを乗算すると共に、求めた値を積算することによって積算酸素過不足量ΣＯＥＤを算出する。
【００８７】
空燃比補正量算出手段Ａ５では、酸素過不足量算出手段Ａ４によって算出された積算酸素過不足量ΣＯＥＤと、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎとに基づいて、目標空燃比の空燃比補正量ＡＦＣが算出される。具体的には、図８に示したフローチャートに基づいて空燃比補正量ＡＦＣが算出される。
【００８８】
目標空燃比設定手段Ａ６は、制御中心空燃比（本実施形態では理論空燃比）ＡＦＲに、空燃比補正量算出手段Ａ５で算出された空燃比補正量ＡＦＣを加算することで、目標空燃比ＡＦＴを算出する。このようにして算出された目標空燃比ＡＦＴは、基本燃料噴射量算出手段Ａ２及び後述する空燃比偏差算出手段Ａ７に入力される。
【００８９】
＜Ｆ／Ｂ補正量の算出＞
次に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐに基づいたＦ／Ｂ補正量の算出について説明する。Ｆ／Ｂ補正量の算出に当たっては、空燃比偏差算出手段Ａ７、Ｆ／Ｂ補正量算出手段Ａ８が用いられる。
【００９０】
空燃比偏差算出手段Ａ７は、上流側空燃比センサ４０の出力空燃比ＡＦｕｐから目標空燃比設定手段Ａ６によって算出された目標空燃比ＡＦＴを減算することによって空燃比偏差ＤＡＦを算出する（ＤＡＦ＝ＡＦｕｐ−ＡＦＴ）。この空燃比偏差ＤＡＦは、目標空燃比ＡＦＴに対する燃料供給量の過不足を表す値である。
【００９１】
Ｆ／Ｂ補正量算出手段Ａ８は、空燃比偏差算出手段Ａ７によって算出された空燃比偏差ＤＡＦを、比例・積分・微分処理（ＰＩＤ処理）することで、下記式（２）に基づいて燃料供給量の過不足を補償するためのＦ／Ｂ補正量ＤＦｉを算出する。このようにして算出されたＦ／Ｂ補正量ＤＦｉは、燃料噴射量算出手段Ａ３に入力される。
ＤＦｉ＝Ｋｐ・ＤＡＦ＋Ｋｉ・ＳＤＡＦ＋Ｋｄ・ＤＤＡＦ      …（２）
【００９２】
なお、上記式（２）において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＤＤＡＦは、空燃比偏差ＤＡＦの時間微分値であり、今回更新された空燃比偏差ＤＡＦと前回更新されていた空燃比偏差ＤＡＦとの偏差を更新間隔に対応する時間で除算することで算出される。また、ＳＤＡＦは、空燃比偏差ＤＡＦの時間積分値であり、この時間積分値ＤＤＡＦは前回更新された時間積分値ＤＤＡＦに今回更新された空燃比偏差ＤＡＦを加算することで算出される（ＳＤＡＦ＝ＤＤＡＦ＋ＤＡＦ）。
【００９３】
なお、上記実施形態では、上流側排気浄化触媒２０に流入する排気ガスの空燃比を上流側空燃比センサ４０によって検出している。しかしながら、上流側排気浄化触媒２０に流入する排気ガスの空燃比の検出精度は必ずしも高い必要はないことから、例えば、燃料噴射弁１１からの燃料噴射量及びエアフロメータ３９の出力に基づいてこの排気ガスの空燃比を推定するようにしてもよい。
【００９４】
＜フローチャート＞
図８は、空燃比補正量の算出制御における制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。
【００９５】
図８に示したように、まず、ステップＳ１１において空燃比補正量ＡＦＣの算出条件が成立しているか否かが判定される。空燃比補正量ＡＦＣの算出条件が成立している場合とは、通常制御中であること、例えば燃料カット制御中ではないこと等が挙げられる。ステップＳ１１において空燃比補正量ＡＦＣの算出条件が成立していると判定された場合には、ステップＳ１２へと進む。
【００９６】
ステップＳ１２では、リーン設定フラグＦｌがＯＦＦに設定されているか否かが判定される。リーン設定フラグＦｌは、目標空燃比がリーン空燃比に設定されているとき、すなわち空燃比補正量ＡＦＣが０以上に設定されているときには、ＯＮとされ、それ以外のときにはＯＦＦとされるフラグである。ステップＳ１２においてリーン設定フラグＦｌがＯＦＦに設定されていると判定された場合には、ステップＳ１３へと進む。ステップＳ１３では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下であるか否かが判定される。
【００９７】
ステップＳ１３において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きいと判定された場合には、ステップＳ１４へと進む。ステップＳ１４では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定され、制御ルーチンが終了せしめられる。
【００９８】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがほぼゼロになって下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、次の制御ルーチンでは、ステップＳ１３からステップＳ１５へと進む。ステップＳ１５では、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定される。次いで、ステップＳ１６では、リーン設定フラグＦｌがＯＮにセットされ、制御ルーチンが終了せしめられる。
【００９９】
リーン設定フラグＦｌがＯＮにセットされると、次の制御ルーチンでは、ステップＳ１２からステップＳ１７へと進む。ステップＳ１７では、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されてからの積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上であるか否かが判定される。ステップＳ１７において、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが少なく、積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆよりも少ないと判定された場合には、ステップＳ１８へと進む。ステップＳ１８では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きいか否かが判定される。出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下であると判定された場合には、ステップＳ１９へと進む。ステップＳ１９では、空燃比補正量ＡＦＣが引き続きリーン設定補正量ＡＦＣｌｅａｎに設定され、制御ルーチンが終了せしめられる。
【０１００】
その後、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比に近づき、リッチ判定空燃比ＡＦｒｉｃｈよりも大きくなると、次の制御ルーチンでは、ステップＳ１８からステップＳ２０へと進む。ステップＳ２０では、空燃比補正量ＡＦＣが弱リーン設空燃比ＡＦＣｓｌｅａｎに設定され、制御ルーチンが終了せしめられる。
【０１０１】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大して積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になると、次の制御ルーチンでは、ステップＳ１７からステップＳ２１へと進む。ステップＳ２１では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定される。次いで、ステップＳ２２では、リーン設定フラグＦｌがＯＦＦにリセットされ、制御ルーチンが終了せしめられる。
【０１０２】
＜第二実施形態＞
次に、図９及び図１０を参照して、本発明の第二実施形態について説明する。第二実施形態における制御装置の構成及び制御は基本的に上記第一実施形態と同様である。しかしながら、上記実施形態では、目標空燃比をリッチ空燃比に設定するときには、一定のリッチ設定空燃比に維持されているのに対して、本実施形態では、リッチ設定空燃比から弱リッチ設定空燃比に変更せしめられる。
【０１０３】
本実施形態における目標空燃比の設定制御では、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下となったときに目標空燃比がリーン設定空燃比に設定される。その後、目標空燃比をリッチ設定空燃比に設定した状態で、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比よりもリッチ度合いの小さい空燃比になると、目標空燃比が弱リーン設定空燃比に設定される。
【０１０４】
その後、目標空燃比をリーン設定空燃比に切り替えてからの積算酸素過不足量が予め定められた切替基準値以上になると、目標空燃比がリッチ設定空燃比に設定される。ここで、本実施形態におけるリッチ設定空燃比は、理論空燃比（制御中心となる空燃比）よりも或る程度リッチである予め定められた空燃比であり、例えば、１０〜１４．５５、好ましくは１２〜１４．５２、より好ましくは１３〜１４．５程度とされる。また、リッチ設定空燃比は、制御中心となる空燃比（本実施形態では、理論空燃比）からリッチ設定補正量を減算した空燃比として表すこともできる。
【０１０５】
その後、目標空燃比をリッチ設定空燃比に設定してからの経過時間が予め定められた時間以上になると、目標空燃比が弱リッチ設定空燃比に設定される。ここで、弱リッチ設定空燃比は、リッチ設定空燃比よりもリッチ度合いの小さい（理論空燃比からの差が小さい）リッチ空燃比であり、例えば、１３．５〜１４．５８、好ましくは１４〜１４．５７、より好ましくは１４．３〜１４．５５程度とされる。
【０１０６】
この結果、本実施形態では、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下になると、まず、目標空燃比がリーン設定空燃比に設定される。その後、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比よりも大きくなると目標空燃比が弱リーン設定空燃比に設定される。一方、目標空燃比をリッチ設定空燃比に切り替えてからの積算酸素過不足量が予め定められた切替基準値以上になると、まず、目標空燃比がリッチ設定空燃比に設定される。その後、目標空燃比をリッチ設定空燃比に設定してからの経過時間が予め定められた時間以上になると、目標空燃比が弱リッチ設定空燃比に設定される。その後、同様な制御が繰り返される。
【０１０７】
＜タイムチャートを用いた空燃比制御の説明＞
図９を参照して、上述したような操作について具体的に説明する。図９は、本実施形態の空燃比制御を行った場合における、空燃比補正量ＡＦＣ等の図５と同様なタイムチャートである。
【０１０８】
時刻ｔ1〜時刻ｔ3では、図５の時刻ｔ1〜時刻ｔ3と同様な制御が行われる。したがって、時刻ｔ3以降、空燃比補正量ＡＦＣはリッチ設定補正量ＡＦＣｒｉｃｈに設定されている。すなわち、目標空燃比はリッチ空燃比に設定されている。時刻ｔ3において、目標空燃比がリッチ空燃比に設定されると、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ空燃比となる。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリッチ空燃比となる。この結果、時刻ｔ3以降、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは減少していく。
【０１０９】
その後、本実施形態では、時刻ｔ3からの経過時間が予め定められた基準時間Δｔｒｅｆ以上になると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈから弱リッチ設定補正量ＡＦＣｓｒｉｃｈ（弱リッチ設定空燃比に相当）に切り替えられる（時刻ｔ4）。基準時間Δｔｒｅｆは、目標空燃比をリッチ設定空燃比に設定してから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になるまでに通常かかる時間よりも短い時間とされる。
【０１１０】
時刻ｔ4において、空燃比補正量ＡＦＣを弱リッチ設定補正量ＡＦＣｓｒｉｃｈに切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比のリッチ度合いも小さくなる。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは増大すると共に、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度が低下する。
【０１１１】
時刻ｔ4以降においては、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、その減少速度が遅いながらも、徐々に減少していく。上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に減少すると、酸素吸蔵量ＯＳＡはやがてゼロに近づき、上流側排気浄化触媒２０から未燃ガスが流出し始める。その後、時刻ｔ5において、時刻ｔ1と同様に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になる。その後は、時刻ｔ1〜ｔ5の操作と同様な操作が繰り返される。
【０１１２】
＜第二実施形態の変更例＞
なお、上記第二実施形態では、目標空燃比をリッチ空燃比に設定する際には、常に二段階に設定している（すなわち、リッチ設定空燃比と弱リッチ設定空燃比との二段階）。しかしながら、目標空燃比をリッチ空燃比に設定する際には、必ずしも常に二段階に設定しなくてもよい。この場合、例えば、一定の条件下においてはリッチ空燃比が二段階に設定され、それ以外の場合にはリッチ空燃比は弱リッチ設定空燃比のみに設定される（すなわち、図９の時刻ｔ3〜ｔ5において空燃比補正量ＡＦＣが一定の弱リッチ設定補正量ＡＦＣｓｒｉｃｈに設定される）。
【０１１３】
ここで、上述した一定の条件下とは、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比以上になった場合である。すなわち、上述したように、上記空燃比制御を行った場合であっても上流側排気浄化触媒２０からリーン空燃比の排気ガスが流出する場合があり、このような場合にはリッチ空燃比が二段階に設定される。
【０１１４】
この場合、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比以上になった時に、目標空燃比がリッチ設定空燃比に切り替えられる。その後、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比よりも小さくなった時に目標空燃比が弱リッチ設定空燃比に切り替えられる。
【０１１５】
なお、目標空燃比をリッチ設定空燃比から弱リッチ設定空燃比に切り替える時期であるリッチ度合い変更時期は、リーン度合い変更時期と同様に、必ずしもこの時でなくてもよい。したがって、リーン度合い変更時期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎよりも小さな値に変化した時よりも後の時期であってもよい。或いは、リーン度合い変更時期は、目標空燃比をリッチ空燃比に切り替えた時からの積算酸素過不足量や積算吸入空気量が予め定められた基準量になった時とされてもよい。
【０１１６】
また、上記実施形態では、時刻ｔ3〜ｔ4において、目標空燃比は予め定められた一定のリッチ設定空燃比に設定される。しかしながら、リッチ設定空燃比は必ずしも一定の値でなくてもよく、変動してもよい。例えば、リッチ設定空燃比は下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの出力空燃比のリーン度合いに応じて変化するように設定されてもよい。
【０１１７】
同様に、上記実施形態では、時刻ｔ4〜ｔ5において、目標空燃比は予め定められた一定の弱リッチ設定空燃比に設定される。しかしながら、弱リッチ設定空燃比は必ずしも一定の値でなくてもよく、変動してもよい。例えば、弱リッチ設定空燃比はリッチ度合い変更時期からの経過時間が長くなるにつれて徐々にリッチ度合いが小さくなるように変更されてもよい。ただし、いずれにせよ、弱リッチ設定空燃比は、常に、時刻ｔ3〜ｔ4におけるリッチ設定空燃比の最大値よりも大きい値とされる。
【０１１８】
＜第二実施形態におけるフローチャート＞
図１０は、第二実施形態に係る空燃比補正量の算出制御における制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。なお、図１０のステップＳ３１〜Ｓ３３はそれぞれ図７のステップＳ１１〜Ｓ１３と同様であり、図１０のステップＳ３７〜Ｓ４４はそれぞれ図７のステップＳ１５〜Ｓ２２と同様であることから説明を省略する。
【０１１９】
ステップＳ３３において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きいと判定された場合には、ステップＳ３４へと進む。ステップＳ３４では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣに設定されてからの経過時間Δｔが基準時間Δｔｒｅｆ以上であるか否かが判定される。経過時間Δｔが基準時間Δｔｒｅｆよりも短いと判定された場合には、ステップＳ３５へと進む。ステップＳ３５では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されたまま維持され、制御ルーチンが終了せしめられる。
【０１２０】
その後、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣに設定されてから時間が経過して、経過時間Δｔが基準時間Δｔｒｅｆ以上になると、次の制御ルーチンでは、ステップＳ３４からステップＳ３６へと進む。ステップＳ３６では、空燃比補正量ＡＦＣが弱リッチ設定補正量ＡＦＣｓｒｉｃｈに設定され、制御ルーチンが終了せしめられる。
【０１２１】
＜第三実施形態＞
次に、図１１〜図１４を参照して、本発明の第三実施形態について説明する。第三実施形態における制御装置の構成及び制御は、以下で説明する点を除いて、基本的に上記第一実施形態と同様である。
【０１２２】
ところで、上述した空燃比制御においては、目標空燃比がリッチ空燃比とリーン空燃比との間で交互に切り替えられる。そして、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い（理論空燃比からの差）は、比較的小さく抑えられる。これは、内燃機関を搭載した車両の急加速等により上流側排気浄化触媒２０に流入する排気ガスの空燃比が一時的に乱れた場合や、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがほぼゼロになって上流側排気浄化触媒２０からリッチ空燃比の排気ガスが流出した場合に、排気ガス中の未燃ガスの濃度をできるだけ低く抑えるためである。
【０１２３】
同様に、リーン設定空燃比及び弱リーン設定空燃比のリーン度合い（理論空燃比からの差）も、比較的小さく抑えられる。これは、内燃機関を搭載した車両の急減速等により上流側排気浄化触媒２０に流入する排気ガスの空燃比が一時的に乱れた場合に、排気ガス中のＮＯｘの濃度をできるだけ低く抑えるためである。
【０１２４】
一方、排気浄化触媒の酸素吸蔵能力は、排気浄化触媒に流入する排気ガスの空燃比のリッチ度合い及びリーン度合いに応じて変化する。具体的には、排気浄化触媒に流入する排気ガスの空燃比のリッチ度合い及びリーン度合いが大きい方が、排気浄化触媒に吸蔵可能な酸素量を多いものとすることができる。ところが、上述したように、上流側排気浄化触媒２０から流出する排気ガス中の未燃ガス濃度やＮＯｘ濃度という観点から、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い並びにリーン設定空燃比及び弱リーン設定空燃比のリーン度合いは比較的小さく抑えられる。このため、このような制御を行うと、上流側排気浄化触媒２０の酸素吸蔵能力を十分に高く維持することができない。
【０１２５】
ここで、上流側排気浄化触媒２０に流入する排気ガスの一時的な乱れ（外乱）が生じるのは、機関運転状態が定常運転状態でないときである。逆に言うと、機関運転状態が定常運転状態となっているときには、外乱が生じにくい。加えて、機関負荷が低いほど、すなわち機関運転状態が低負荷運転状態であるほど、一時的な乱れが生じたとしても、上流側排気浄化触媒２０に流入する排気ガスの空燃比に生じる変化が小さい。
【０１２６】
このため、機関運転状態が定常運転状態となっているときや機関運転状態が低負荷運転状態であるときには、リッチ設定空燃比のリッチ度合いやリーン設定空燃比のリーン度合いを大きくしても、上流側排気浄化触媒２０からＮＯｘや未燃ガスが流出する可能性は低く、また、仮に上流側排気浄化触媒２０からＮＯｘや未燃ガスが流出してもその量を低く抑えることができる。なお、機関運転状態が定常運転状態にあるときとは、例えば、内燃機関の機関負荷の単位時間当たりの変化量が予め定められた変化量以下であるとき、或いは内燃機関の吸入空気量の単位時間当たりの変化量が予め定められた変化量以下であるときである。
【０１２７】
＜各設定空燃比の設定制御＞
そこで、本実施形態では、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるときには、機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合に比べて、目標空燃比をリッチ空燃比としているときのリッチ度合い及び目標空燃比をリーン空燃比としているときのリーン度合いを大きくするようにしている。なお、本明細書における低負荷、中負荷及び高負荷については、全機関負荷を三等分したときに、最も低い負荷領域を低負荷、中程度の負荷領域を中負荷、最も高い負荷領域を高負荷と称している。
【０１２８】
図１１は、本実施形態に係る各設定空燃比の設定制御を行う際における目標空燃比等の、図５と同様なタイムチャートである。図１１に示した例では、時刻ｔ7まで、図５に示した例と同様な制御が行われている。したがって、時刻ｔ1、ｔ4において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になった時に、空燃比補正量ＡＦＣがリーン設定空燃比ＡＦＣｌｅａｎ1（以下、「通常時リーン設定空燃比」という）に切り替えられる。その後、時刻ｔ2、ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなると、空燃比補正量ＡＦＣが弱リーン設定空燃比ＡＦＣｓｌｅａｎ1（以下、「通常時弱リーン設定空燃比」という）に切り替えられる。
【０１２９】
一方、時刻ｔ3において、積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆになった時に、空燃比補正量ＡＦＣがリッチ設定空燃比ＡＦＣｒｉｃｈ1（以下、「通常時リッチ設定空燃比」という）に切り替えられる。なお、時刻ｔ9までは、機関運転状態は定常運転状態であって且つ低負荷運転状態にはなっていない。このため、機関運転状態が定常運転状態であって且つ低負荷運転状態になっているときにオンにされる定常・低負荷フラグは、オフとされている。
【０１３０】
一方、時刻ｔ7において、機関運転状態が定常運転状態であって且つ低負荷運転状態になると、したがって定常・低負荷フラグがオンにされると、リーン設定補正量ＡＦＣｌｅａｎ、弱リーン設定補正量ＡＦＣｓｌｅａｎ及びリッチ設定補正量ＡＦＣｒｉｃｈ（以下、これらをまとめて「設定補正量」という）の絶対値が増大せしめられる。
【０１３１】
この結果、時刻ｔ7において、空燃比補正量ＡＦＣが、通常時リッチ設定補正量ＡＦＣｒｉｃｈ1から、これよりも絶対値の大きい増大時リッチ設定補正量ＡＦＣｒｉｃｈ2へ変更せしめられる。すなわち、目標空燃比が、通常時リッチ設定空燃比よりもリッチ度合いの大きい増大時リッチ設定空燃比とされる。したがって、時刻ｔ7以降、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度が速くなる。
【０１３２】
その後、時刻ｔ8において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、空燃比補正量ＡＦＣが、通常時リーン設定補正量ＡＦＣｌｅａｎ1よりも絶対値の大きい増大時リーン設定補正量ＡＦＣｌｅａｎ2へ切り替えられる。すなわち、目標空燃比が、通常時リーン設定空燃比よりもリーン度合いの大きい増大時リーン設定空燃比とされる。したがって、時刻ｔ8以降における上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの増加速度は、時刻ｔ1〜ｔ2、時刻ｔ4〜ｔ5における増加速度よりも速くなる。
【０１３３】
時刻ｔ9において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなると、空燃比補正量ＡＦＣが通常時弱リーン設定補正量ＡＦＣｓｌｅａｎ1よりも絶対値の大きい増大時弱リーン設定補正量ＡＦＣｓｌｅａｎ2へ切り替えられる。すなわち、目標空燃比が、通常時弱リーン設定空燃比よりもリーン度合いの大きい増大時弱リーン設定空燃比とされる。したがって、時刻ｔ9以降における上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの増加速度は、時刻ｔ2〜ｔ3、時刻ｔ5〜ｔ6における増加速度よりも速くなる。
【０１３４】
その後、時刻ｔ10において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、空燃比補正量ＡＦＣが、通常時リッチ設定補正量ＡＦＣｒｉｃｈ1よりも絶対値の大きい増大時リッチ設定補正量ＡＦＣｒｉｃｈ2へ切り替えられる。すなわち、目標空燃比が、通常時リッチ設定空燃比よりもリッチ度合いの大きい増大時リッチ設定空燃比とされる。したがって、時刻ｔ10以降における上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度は、時刻ｔ3〜ｔ4、時刻ｔ6〜ｔ7における減少速度よりも速くなる。その後、機関運転状態が定常運転状態であって且つ低負荷運転状態にある限り、時刻ｔ8〜ｔ11の操作が繰り返される。
【０１３５】
本実施形態によれば、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるときに、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合いが大きくされ、また、リーン設定空燃比のリーン度合いが大きくされる。このため、上流側排気浄化触媒２０からのＮＯｘや未燃ガスの流出をできるだけ少なく抑えつつ、上流側排気浄化触媒２０の酸素吸蔵能力をより高く維持することができる。
【０１３６】
＜第三実施形態の変形例＞
なお、上記実施形態では、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるときには、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い並びにリーン設定空燃比のリーン度合いが共に大きくされている。しかしながら、必ずしもリッチ度合い及びリーン度合いの両方を大きくする必要はなく、これらリッチ度合い及びリーン空燃比のリーン度合いのうちのいずれか一方のみを増大してもよい。
【０１３７】
また、上記実施形態では、機関運転状態が定常運転状態であって且つ低負荷運転状態であるときに、設定空燃比のリッチ度合い及びリーン度合いを増大させるようにしている。しかしながら、機関運転状態が定常運転状態でなく且つ中高負荷運転状態であるときを除けば、機関運転状態が定常運転状態であって且つ低負荷運転状態であるとき以外のときに、設定空燃比のリッチ度合い及びリーン度合いを増大させてもよい。例えば、機関運転状態が定常運転状態であって中負荷運転状態又は中高負荷運転状態であるとき等に、設定空燃比のリッチ度合い及びリーン度合いを増大させてもよい。
【０１３８】
加えて、図１１に示した例では、第一実施形態の空燃比制御を行うことを前提としている。しかしながら、第二実施形態の空燃比制御を行うことを前提とした場合であっても同様な制御を行うことが可能である。この場合、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるとき、すなわち定常・低負荷フラグがオンにされると、弱リッチ設定補正量ＡＦＣｓｒｉｃｈの絶対値が増大せしめられる。すなわち、定常・低負荷フラグがオンにされると、図１２に示したように、弱リッチ設定補正量ＡＦＣｓｒｉｃｈが、通常時弱リッチ設定補正量ＡＦＣｓｒｉｃｈ1から、通常時弱リッチ設定補正量ＡＦＣｓｒｉｃｈ1よりも絶対値の大きい増大時弱リッチ設定補正量ＡＦＣｓｒｉｃｈ2に切り替えられる。
【０１３９】
さらに、上記実施形態では、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるときには、機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合に比べて、リーン設定補正量ＡＦＣｌｅａｎ、弱リーン設定補正量ＡＦＣｓｌｅａｎ、リッチ設定補正量ＡＦＣｒｉｃｈ及び弱リッチ設定補正量ＡＦＣｓｒｉｃｈ全ての絶対値が増大せしめられる。しかしながら、必ずしもこれら全ての絶対値を大きくする必要はなく、これらのうち少なくとも一つの設定補正量の絶対を増大させればよい。
【０１４０】
したがって、例えば、図１３に示したように、機関運転状態が定常運転状態であって且つ低負荷運転状態にあるときには、機関運転状態が定常運転状態でなく且つ中高負荷運転状態である場合に比べて、リーン設定補正量及びリッチ設定補正量のみを増大させて、弱リーン設定補正量及び弱リッチ設定補正量はそのまま維持することも可能である。これにより、例えば、時刻ｔ10や時刻ｔ12において上流側排気浄化触媒２０からＮＯｘや未燃ガスが流出したとしても、その量を少なく抑えることが可能である。
【０１４１】
＜フローチャート＞
【０１４２】
図１４は、リッチ設定空燃比及びリーン設定空燃比の設定制御における制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。
【０１４３】
まず、ステップＳ５１において、機関運転状態が定常運転状態であって且つ機関低負荷運転状態にあるか否かが判定される。具体的には、例えば、負荷センサ４３によって検出された内燃機関の機関負荷の単位時間当たりの変化量が予め定められた変化量以下であるとき、或いはエアフロメータ３９によって検出された内燃機関の吸入空気量の単位時間当たりの変化量が予め定められた変化量以下であるときに機関運転状態が定常運転状態にあると判定され、それ以外のときには機関運転状態は過渡運転状態にある（定常運転状態にない）と判定される。
【０１４４】
ステップＳ５１において、機関運転状態が定常運転状態にない或いは中高負荷運転状態にあると判定された場合には、ステップＳ５２へと進む。ステップＳ３２ではリッチ設定補正量ＡＦＣｒｉｃｈが通常時リッチ設定補正量ＡＦＣｒｉｃｈ1とさる。したがって、図８に示したフローチャートのステップＳ１５、Ｓ２１において、空燃比補正量ＡＦＣは、通常時リッチ設定補正量ＡＦＣｒｉｃｈ1とさる。
【０１４５】
次いで、ステップＳ５３では、リーン設定補正量ＡＦＣｌｅａｎが通常時リーン設定補正量ＡＦＣｌｅａｎ1とさる。したがって、図８に示したフローチャートのステップＳ１５、Ｓ１９において、空燃比補正量ＡＦＣは、通常時リーン設定補正量ＡＦＣｌｅａｎ1とさる。加えて、ステップＳ５３では、弱リーン設定補正量ＡＦＣｓｌｅａｎが通常時弱リッチ設定補正量ＡＦＣｓｌｅａｎ1とさる。したがって、図８に示したフローチャートのステップＳ２０において、空燃比補正量ＡＦＣは、通常時リーン設定補正量ＡＦＣｌｅａｎ1とさる。
【０１４６】
一方、ステップＳ５１において、機関運転状態が定常運転状態であって且つ機関低負荷運転状態にあると判定された場合には、ステップＳ５４へと進む。ステップＳ５４では、リッチ設定補正量ＡＦＣｒｉｃｈが増大時リッチ設定補正量ＡＦＣｒｉｃｈ2とさる。次いで、ステップＳ５５では、リーン設定補正量ＡＦＣｌｅａｎが増大時リーン設定補正量ＡＦＣｌｅａｎ2とさる。加えて、弱リーン設定補正量ＡＦＣｓｌｅａｎが増大時弱リッチ設定補正量ＡＦＣｓｌｅａｎ2とさる。
【０１４７】
＜第四実施形態＞
次に、図１５〜図２４を参照して、本発明の第四実施形態について説明する。第四実施形態における制御装置の構成及び制御は、以下で説明する点を除いて、基本的に上記第一実施形態と同様である。
【０１４８】
＜上流側空燃比センサにおけるずれ＞
ところで、機関本体１が複数の気筒を有する場合、各気筒から排出される排気ガスの空燃比には気筒間でずれが生じる場合がある。一方、上流側空燃比センサ４０は排気マニホルド１９の集合部に配置されるが、その配置位置に応じて各気筒から排出された排気ガスが上流側空燃比センサ４０に曝される程度が気筒間で異なる。この結果、上流側空燃比センサ４０の出力空燃比は、或る特定の気筒から排出された排気ガスの空燃比の影響を強く受けることになる。このため、この或る特定の気筒から排出された排気ガスの空燃比が全気筒から排出される排気ガスの平均空燃比とは異なる空燃比となっている場合、平均空燃比と上流側空燃比センサ４０の出力空燃比との間にはずれが生じる。すなわち、上流側空燃比センサ４０の出力空燃比は実際の排気ガスの平均空燃比よりもリッチ側又はリーン側にずれることになる。
【０１４９】
また、未燃ガスのうち水素は空燃比センサの拡散律速層の通過速度が速い。このため、排気ガス中の水素濃度が高いと、上流側空燃比センサ４０の出力空燃比が排気ガスの実際の空燃比よりも低い側（すなわち、リッチ側）にずれてしまう。このように上流側空燃比センサ４０の出力空燃比にずれが生じていると、上述したような制御を適切に行うことができなくなる。以下では、図１５を参照して斯かる現象について説明する。
【０１５０】
図１５は、図５と同様な、上流側排気浄化触媒２０の空燃比補正量ＡＦＣ等のタイムチャートである。図１５は、上流側空燃比センサ４０の出力空燃比がリッチ側にずれている場合を示している。図中、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにおける実線は、上流側空燃比センサ４０の出力空燃比を示している。一方、破線は、上流側空燃比センサ４０周りを流通する排気ガスの実際の空燃比を示している。
【０１５１】
図１５に示した例では、時刻ｔ1以前の状態では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈとされており、よって目標空燃比がリッチ設定空燃比とされている。これに伴い、上流側空燃比センサ４０の出力空燃比ＡＦｕｐはリッチ設定空燃比と等しい空燃比となる。しかしながら、上述したように、上流側空燃比センサ４０の出力空燃比はリッチ側にずれているため、排気ガスの実際の空燃比は弱リッチ設定空燃比よりもリーン側の空燃比となっている。すなわち、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは、実際の空燃比（図中の破線）よりも低い（リッチ側）ものとなっている。
【０１５２】
また、図１５に示した例では、時刻ｔ1において、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに切り替えられると、上流側空燃比センサ４０の出力空燃比ＡＦｕｐはリーン設定空燃比に等しい空燃比となる。しかしながら、上述したように、上流側空燃比センサ４０の出力空燃比はリッチ側にずれているため、排気ガスの実際の空燃比はリーン設定空燃比よりもリーンの空燃比となっている。すなわち、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは、実際の空燃比（図中の破線）よりも低い（リッチ側）ものとなっている。
【０１５３】
このように、上流側空燃比センサ４０の出力空燃比がリッチ側にずれが生じていると、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比は常に目標空燃比よりもリーンな空燃比になる。このため、例えば、上流側空燃比センサ４０の出力空燃比におけるずれが図１５に示した例よりも大きいような場合には、時刻ｔ3〜ｔ4において、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比が理論空燃比又はリーン空燃比になる。
【０１５４】
時刻ｔ3〜ｔ4において、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比が理論空燃比になると、その後、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下やリーン判定空燃比以上になることがなくなり、また、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡも一定のまま維持される。また、時刻ｔ3〜ｔ4において、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比がリーン空燃比になると、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大してしまう。この結果、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡを最大吸蔵可能酸素量Ｃｍａｘとゼロとの間で変化させることができなくなり、上流側排気浄化触媒２０の酸素吸蔵能力の低下を招く。
【０１５５】
以上より、上流側空燃比センサ４０の出力空燃比におけるずれを検出することが必要になると共に、検出されたずれに基づいて出力空燃比等の補正を行うことが必要である。
【０１５６】
＜通常学習制御＞
そこで、本発明の実施形態では、上流側空燃比センサ４０の出力空燃比におけるずれを補償すべく、通常運転中（すなわち、上述したような目標空燃比に基づいてフィードバック制御を行っているとき）に学習制御が行われる。このうち、まず、通常学習制御について説明する。
【０１５７】
ここで、目標空燃比をリーン空燃比に切り替えてから積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になるまでの期間を酸素増大期間（第１期間）とする。同様に、目標空燃比をリッチ空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下になるまでの期間を酸素減少期間（第２期間）とする。本実施形態の通常学習制御では、酸素増大期間における積算酸素過不足量ΣＯＥＤの絶対値としてリーン酸素量積算値（第１酸素量積算値）を算出する。加えて、酸素減少期間における積算酸素過不足量の絶対値としてリッチ酸素量積算値（第２酸素量積算値）を算出する。そして、これらリーン酸素量積算値とリッチ酸素量積算値との差が小さくなるように制御中心空燃比ＡＦＲが補正される。図１６にこの様子を示す。
【０１５８】
図１６は、制御中心空燃比ＡＦＲ、空燃比補正量ＡＦＣ、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡ、積算酸素過不足量ΣＯＥＤ、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ及び学習値ｓｆｂｇのタイムチャートである。図１６は、図１５と同様に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐが低い側（リッチ側）にずれている場合を示している。なお、学習値ｓｆｂｇは、上流側空燃比センサ４０の出力空燃比（出力電流）のずれに応じて変化する値であり、本実施形態では制御中心空燃比ＡＦＲを補正するのに用いられる。また、図中、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにおける実線は、上流側空燃比センサ４０の出力空燃比を、破線は、上流側空燃比センサ４０周りを流通する排気ガスの実際の空燃比をそれぞれ示している。加えて、一点鎖線は、目標空燃比、すなわち空燃比補正量ＡＦＣに相当する空燃比を示している。
【０１５９】
図示した例では、図５及び図６と同様に、時刻ｔ1以前の状態では、制御中心空燃比が理論空燃比とされ、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈとされている。このとき、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは実線で示したようにリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにはずれが生じているため、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンの空燃比となっている（図１６の破線）。ただし、図１６に示した例では、図１６の破線から分かるように、時刻ｔ1以前の実際の排気ガスの空燃比はリッチ設定空燃比よりもリーンながらも、リッチ空燃比となっている。したがって、上流側排気浄化触媒２０の酸素吸蔵量は徐々に減少していく。
【０１６０】
時刻ｔ1において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。これにより、上述したように、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに切り替えられる。時刻ｔ1以降は、上流側空燃比センサ４０の出力空燃比はリーン設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、排気ガスの実際の空燃比は、リーン設定空燃比よりもリーンな空燃比、すなわちリーン度合いの大きい空燃比となる（図１６の破線を参照）。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは急速に増大する。また、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなる時刻ｔ2において、空燃比補正量ＡＦＣが弱リーン設定補正量ＡＦＣｓｌｅａｎに切り替えられる。このときも、排気ガスの実際の空燃比は、弱リーン設定空燃比よりもリーンな空燃比となる。
【０１６１】
その後、積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンな空燃比、すなわちリッチ度合いの小さい空燃比となる（図１６の破線を参照）。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度は遅い。
【０１６２】
ところで、本実施形態では、上述したように、時刻ｔ1から時刻ｔ3までにおいて、積算酸素過不足量ΣＯＥＤが算出される。ここで、目標空燃比をリーン空燃比に切り替えた時（時刻ｔ1）から下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になった時（時刻ｔ3）までの期間を酸素増大期間Ｔｉｎｃと称すると、本実施形態では酸素増大期間Ｔｉｎｃに積算酸素過不足量ΣＯＥＤが算出される。図１６では、時刻ｔ1〜時刻ｔ3の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値をＲ1で示している。
【０１６３】
この酸素増大期間Ｔｉｎｃの積算酸素過不足量ΣＯＥＤ（Ｒ1）は、時刻ｔ3における酸素吸蔵量ＯＳＡに相当する。しかしながら、上述したように、酸素過不足量の推定には上流側空燃比センサ４０の出力空燃比ＡＦｕｐが用いられ、この出力空燃比ＡＦｕｐにはずれが生じている。このため、図１６に示した例では、時刻ｔ1〜時刻ｔ3の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤは、時刻ｔ3における実際の酸素吸蔵量ＯＳＡに相当する値よりも少ないものとなっている。
【０１６４】
また、本実施形態では、時刻ｔ3から時刻ｔ4までにおいても、積算酸素過不足量ΣＯＥＤが算出される。ここで、目標空燃比をリッチ空燃比に切り替えた時（時刻ｔ3）から下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になった時（時刻ｔ4）までの期間を酸素減少期間Ｔｄｅｃと称すると、本実施形態では酸素減少期間Ｔｄｅｃに積算酸素過不足量ΣＯＥＤが算出される。図１６では、時刻ｔ3〜時刻ｔ4の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値をＦ1で示している。
【０１６５】
この酸素減少期間Ｔｄｅｃの積算酸素過不足量ΣＯＥＤ（Ｆ1）は、時刻ｔ3から時刻ｔ4までに上流側排気浄化触媒２０から放出された総酸素量に相当する。しかしながら、上述したように、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにはずれが生じている。このため、図１６に示した例では、時刻ｔ3〜時刻ｔ4の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤは、時刻ｔ3から時刻ｔ4までに上流側排気浄化触媒２０から実際に放出された総酸素量に相当する値よりも多いものとなっている。
【０１６６】
ここで、酸素増大期間Ｔｉｎｃでは上流側排気浄化触媒２０に酸素が吸蔵されると共に、酸素減少期間Ｔｄｅｃでは吸蔵されていた酸素が全て放出される。したがって、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1とは基本的に同一の値になるはずある。ところが、上述したように、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにずれが生じている場合、このずれに応じてこれら積算値の値も変化する。上述したように、上流側空燃比センサ４０の出力空燃比が低い側（リッチ側）にずれている場合、絶対値Ｒ1に対して絶対値Ｆ1の方が多くなる。逆に、上流側空燃比センサ４０の出力空燃比が高い側（リーン側）にずれている場合、絶対値Ｒ1に対して絶対値Ｆ1の方が少なくなる。加えて、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の差ΔΣＯＥＤ（＝Ｒ1−Ｆ1。以下、「過不足量誤差」という）は上流側空燃比センサ４０の出力空燃比におけるずれの程度を表している。これら絶対値Ｒ1、Ｆ1の差が大きくなるほど、上流側空燃比センサ４０の出力空燃比におけるずれが大きいといえる。
【０１６７】
そこで、本実施形態では、過不足量誤差ΔΣＯＥＤに基づいて、制御中心空燃比ＡＦＲを補正するようにしている。特に、本実施形態では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の差ΔΣＯＥＤが小さくなるように制御中心空燃比ＡＦＲを補正するようにしている。
【０１６８】
具体的には、本実施形態では、下記式（３）により学習値ｓｆｂｇを算出すると共に、下記式（４）により制御中心空燃比ＡＦＲが補正される。
ｓｆｂｇ（ｎ）＝ｓｆｂｇ（ｎ−１）＋ｋ1・ΔΣＯＥＤ      …（３）
ＡＦＲ＝ＡＦＲｂａｓｅ＋ｓｆｂｇ（ｎ）      …（４）
なお、上記式（３）において、ｎは計算回数又は時間を表している。したがって、ｓｆｂｇ（ｎ）は今回の計算又は現在の学習値である。加えて、上記式（３）におけるｋ1は、過不足量誤差ΔΣＯＥＤを制御中心空燃比ＡＦＲに反映させる程度を表すゲインである。ゲインｋ1の値が大きいほど制御中心空燃比ＡＦＲの補正量が大きくなる。さらに、上記式（４）において、基本制御中心空燃比ＡＦＲｂａｓｅは、基本となる制御中心空燃比であり、本実施形態では理論空燃比である。
【０１６９】
図１６の時刻ｔ3においては、上述したように、絶対値Ｒ1、Ｆ1に基づいて学習値ｓｆｂｇが算出される。特に、図１６に示した例では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1よりも酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の方が大きいことから、時刻ｔ3において学習値ｓｆｂｇは減少せしめられる。
【０１７０】
ここで、制御中心空燃比ＡＦＲは、上記式（４）を用いて学習値ｓｆｂｇに基づいて補正される。図１６に示した例では、学習値ｓｆｂｇは負の値となっているため、制御中心空燃比ＡＦＲは、基本制御中心空燃比ＡＦＲｂａｓｅよりも小さな値、すなわちリッチ側の値となっている。これにより、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に補正されることになる。
【０１７１】
この結果、時刻ｔ4以降、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻ｔ4以前と比べて小さなものとなる。したがって、時刻ｔ4以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻ｔ4以前における差よりも小さくなっている（時刻ｔ4以前においては、目標空燃比は下流側空燃比センサ４１の出力空燃比に一致しているため実線と重なっている）。
【０１７２】
また、時刻ｔ4以降も、時刻ｔ1〜時刻ｔ4における操作と同様な操作が行われる。したがって、時刻ｔ6において積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上になると、目標空燃比がリーン空燃比からリッチ空燃比へと切り替えられる。その後、時刻ｔ7において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、再度、目標空燃比がリーン空燃比に切り替えられる。
【０１７３】
時刻ｔ4〜時刻ｔ6は、上述したように酸素増大期間Ｔｉｎｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図１６のＲ2で表せる。また、時刻ｔ6〜時刻ｔ7は、上述したように酸素減少期間Ｔｄｅｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図１６のＦ2で表せる。そして、これら絶対値Ｒ2、Ｆ2の差ΔΣＯＥＤ（＝Ｒ2−Ｆ2）に基づいて、上記式（３）を用いて学習値ｓｆｂｇが更新される。本実施形態では、時刻ｔ7以降も同様な制御が繰り返され、これにより学習値ｓｆｂｇの更新が繰り返される。
【０１７４】
通常学習制御によりこのように学習値ｓｆｂｇの更新を行うことにより、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは徐々に目標空燃比から離れていくが、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比は徐々に目標空燃比に近づいていく。これにより、上流側空燃比センサ４０の出力空燃比におけるずれを補償することができる。
【０１７５】
なお、上述したように、学習値ｓｆｂｇの更新は、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤと、この酸素増大期間Ｔｉｎｃの直後に続く酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤとに基づいて行われるのが好ましい。これは、上述したように、酸素増大期間Ｔｉｎｃに上流側排気浄化触媒２０に吸蔵される総酸素量とこの直後に続く酸素減少期間Ｔｄｅｃに上流側排気浄化触媒２０から放出される総酸素量が等しくなるためである。
【０１７６】
加えて、上記実施形態では、１回の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤと、１回の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤとに基づいて学習値ｓｆｂｇの更新が行われている。しかしながら、複数回の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの合計値又は平均値と、複数回の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの合計値又は平均値とに基づいて学習値ｓｆｂｇの更新を行ってもよい。
【０１７７】
また、上記実施形態では、学習値ｓｆｂｇに基づいて、空燃比補正量ＡＦＣ（すなわち、目標空燃比）を補正することとしている。しかしながら、学習値ｓｆｂｇに基づいて補正するのは、フィードバック制御に関する他のパラメータであってもよい。他のパラメータとしては、例えば、燃焼室５内への燃料供給量や、上流側空燃比センサ４０の出力空燃比、空燃比補正量等が挙げられる。
【０１７８】
＜上流側空燃比センサにおける大きなずれ＞
ところで、図１５に示した例では、上流側排気浄化触媒２０の出力空燃比にずれが生じているが、その程度はそれほど大きくない場合を示している。したがって、図１５の破線からもわかるように、目標空燃比がリッチ設定空燃比に設定されている場合において、実際の排気ガスの空燃比は、リッチ設定空燃比よりもリーンながらも、リッチ空燃比となっている。
【０１７９】
これに対して、上流側排気浄化触媒２０に生じているずれが大きくなると、上述したように、目標空燃比が弱リッチ設定空燃比に設定されていても、実際の排気ガスの空燃比が理論空燃比になってしまう場合がある。この様子を、図１７に示す。
【０１８０】
図１７に示した例では、時刻ｔ2において上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリーン判定空燃比ＡＦｌｅａｎ以上になると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。これに伴い、上流側空燃比センサ４０の出力空燃比ＡＦｕｐはリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比は大きくリッチ側にずれているため、排気ガスの実際の空燃比は理論空燃比となっている（図中の破線）。
【０１８１】
この結果、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは変化せずに一定の値に維持される。このため、空燃比補正量ＡＦＣを弱リッチ設定補正量ＡＦＣｓｒｉｃｈに切り替えてから長時間が経過しても、上流側排気浄化触媒２０から未燃ガスが排出されることはない。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはほぼ理論空燃比のまま維持される。上述したように、空燃比補正量ＡＦＣのリッチ設定補正量ＡＦＣｒｉｃｈからリーン設定補正量ＡＦＣｌｅａｎへの切替は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達した時に行われる。しかしながら、図１７に示した例では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比のまま維持されることから、空燃比補正量ＡＦＣは長時間に亘って弱リッチ設定補正量ＡＦＣｓｒｉｃｈに維持されることになる。ここで、上述した通常学習制御は、目標空燃比がリッチ空燃比とリーン空燃比との間で交互に切り替えられることを前提としている。したがって、上流側空燃比センサ４０の出力空燃比が大きくずれている場合には、上述した通常学習制御を行うことはできない。
【０１８２】
図１８は、上流側空燃比センサ４０の出力空燃比が極めて大きくリッチ側にずれている場合を示す図１７と同様な図である。図１８に示した例では、図１７に示した例と同様に、時刻ｔ2において、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定される。これに伴い、上流側空燃比センサ４０の出力空燃比ＡＦｕｐはリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、実際の排気ガスの空燃比がリーン空燃比になっている（図中の破線）。
【０１８３】
この結果、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているにもかかわらず、上流側排気浄化触媒２０にはリーン空燃比の排気ガスが流入する。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは時刻ｔ2以降も増大し、時刻ｔ3において最大吸蔵可能酸素量Ｃｍａｘに到達する。この結果、時刻ｔ3以降は、上流側排気浄化触媒２０に流入したリーン空燃比の排気ガスはそのまま流出せしめられる。このため、時刻ｔ3以降は下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比以上に維持される。したがって、空燃比補正量ＡＦＣもリーン設定補正量ＡＦＣｌｅａｎに切り替えられることなく、そのまま維持される。この結果、上流側空燃比センサ４０の出力空燃比が極めて大きくずれている場合にも、空燃比補正量ＡＦＣの切替が行われず、よって上述した通常制御を行うことはできない。加えて、この場合には、上流側排気浄化触媒２０からＮＯｘを含んだ排気ガスが流出し続けることになる。
【０１８４】
＜張付き学習制御＞
そこで、本実施形態では、上流側空燃比センサ４０の出力空燃比におけるずれが大きな場合であってもそのずれを補償すべく、上述した通常学習制御に加えて、理論空燃比張付き学習制御、リーン張付き学習制御及びリッチ張付き学習制御が行われる。
【０１８５】
＜理論空燃比張付き学習＞
まず、理論空燃比張付き学習制御について説明する。理論空燃比張付き学習制御は、図１７に示した例のように、下流側空燃比センサ４１によって検出される空燃比が理論空燃比に張り付いてしまっている場合に行われる学習制御である。
【０１８６】
ここで、リッチ判定空燃比ＡＦｒｉｃｈとリーン判定空燃比ＡＦｌｅａｎとの間の領域を中間領域Ｍと称する。この中間領域Ｍは、リッチ判定空燃比とリーン判定空燃比との間の空燃比領域である理論空燃比近傍領域に相当する。理論空燃比張付き学習制御では、空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに切り替えた後に、すなわち目標空燃比をリッチ空燃比に設定した状態で、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められた理論空燃比維持判定時間以上に亘って中間領域Ｍ内に維持されているか否かを判断する。或いは、空燃比補正量ＡＦＣをリーン設定補正量ＡＦＣｌｅａｎに切り替えた後に、すなわち目標空燃比をリーン空燃比に設定した状態で、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められた理論空燃比維持判定時間以上に亘って中間領域Ｍ内に維持されているか否かを判断する。そして、理論空燃比維持判定時間以上に亘って中間領域Ｍ内に維持されている場合には、上流側排気浄化触媒２０に流入する排気ガスの空燃比が変化するように学習値ｓｆｂｇが変更せしめられる。このとき、目標空燃比がリッチ空燃比に設定されていた場合には上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側へ変化するように学習値ｓｆｂｇが減少せしめられる。一方、目標空燃比がリーン空燃比に設定されていた場合には上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン側へ変化するように学習値ｓｆｂｇが増大せしめられる。図１９にこの様子を示す。
【０１８７】
図１９は、空燃比補正量ＡＦＣ等のタイムチャートを示す図１６と同様な図である。図１９は、図１７と同様に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐが低い側（リッチ側）に大きくずれている場合を示している。
【０１８８】
図示した例では、図１７と同様に、時刻ｔ2において、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定される。しかしながら、上流側空燃比センサ４０の出力空燃比は大きくリッチ側にずれているため、図１７に示した例と同様に、排気ガスの実際の空燃比はほぼ理論空燃比となっている。このため、時刻ｔ2以降、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは一定の値に維持される。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは長期間に亘って理論空燃比近傍に維持され、よって中間領域Ｍ内に維持される。
【０１８９】
そこで、本実施形態では、目標空燃比がリッチ空燃比とされているときに、予め定められた理論空燃比維持判定時間Ｔｓｔｏ以上に亘って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが中間領域Ｍ内に維持されている場合には、制御中心空燃比ＡＦＲを補正するようにしている。特に、本実施形態では、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に変化するように学習値ｓｆｂｇが更新される。
【０１９０】
具体的には、本実施形態では、下記式（５）により学習値ｓｆｂｇを算出すると共に、上記式（４）により制御中心空燃比ＡＦＲが補正される。
ｓｆｂｇ（ｎ）＝ｓｆｂｇ（ｎ−１）＋ｋ2・ＡＦＣ      …（５）
なお、上記式（５）において、ｋ2は、制御中心空燃比ＡＦＲを補正する程度を表すゲインである（０＜ｋ2≦１）。ゲインｋ2の値が大きいほど、制御中心空燃比ＡＦＲの補正量が大きくなる。また、式（５）におけるＡＦＣには、現在の空燃比補正量ＡＦＣが代入され、図１９の時刻ｔ3の場合には、リッチ設定補正量ＡＦＣｒｉｃｈとされる。
【０１９１】
ここで、上述したように、目標空燃比がリッチ空燃比とされているときに、長期間に亘って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが中間領域Ｍ内に維持されている場合には、排気ガスの実際の空燃比はほぼ理論空燃比近傍の値となっている。このため、上流側空燃比センサ４０におけるずれは、制御中心空燃比（理論空燃比）と目標空燃比（この場合は、リッチ設定空燃比）との差と同程度になっている。本実施形態では、上記式（４）に示したように制御中心空燃比と目標空燃比との差に相当する空燃比補正量ＡＦＣに基づいて学習値ｓｆｂｇを更新しており、これにより、より適切に上流側空燃比センサ４０の出力空燃比におけるずれを補償することができる。
【０１９２】
図１９に示した例では、時刻ｔ2において、空燃比補正量ＡＦＣはリッチ設定補正量ＡＦＣｒｉｃｈとされている。このため、式（５）を用いると、時刻ｔ3において学習値ｓｆｂｇは減少せしめられる。この結果、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比はリッチ側に変化することになる。これにより、時刻ｔ3以降、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻ｔ3以前と比べて小さなものとなる。したがって、時刻ｔ3以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻ｔ3以前における差よりも小さくなっている。
【０１９３】
図１９に示した例では、ゲインｋ2を比較的小さい値にした例を示している。このため、時刻ｔ3において学習値ｓｆｂｇの更新が行われてもなお、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれが残っている。このため、排気ガスの実際の空燃比は、リッチ設定空燃比よりもリーンな空燃比、すなわちリッチ度合いの小さい空燃比となる（図１９の破線参照）。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度は遅い。
【０１９４】
この結果、時刻ｔ3から理論空燃比維持判定時間Ｔｓｔｏが経過した時刻ｔ4まで、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比近傍に維持され、よって中間領域Ｍ内に維持される。このため、図１０に示した例では、時刻ｔ4においても、式（４）を用いて、学習値ｓｆｂｇの更新が行われる。
【０１９５】
図１９に示した例では、その後、時刻ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下となる。このように、出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になった後には、上述したように目標空燃比がリーン空燃比とリッチ空燃比とに交互に設定される。これに伴って、上述した通常学習制御が行われるようになる。
【０１９６】
理論空燃比張付き学習制御によりこのように学習値ｓｆｂｇの更新を行うことにより、上流側空燃比センサ４０の出力空燃比ＡＦｕｐのずれが大きい場合であっても、学習値の更新を行うことができる。これにより、上流側空燃比センサ４０の出力空燃比におけるずれを補償することができる。
【０１９７】
＜理論空燃比張付き学習の変形例＞
なお、上記実施形態では、理論空燃比維持判定時間Ｔｓｔｏは予め定められた時間とされている。この場合、理論空燃比維持判定時間は、目標空燃比をリッチ空燃比に切り替えてからの積算酸素過不足量ΣＯＥＤの絶対値が新品時の上流側排気浄化触媒２０の最大吸蔵可能酸素量に到達するまでに通常かかる時間以上とされる。具体的には、その２倍〜４倍程度の時間とするのが好ましい。
【０１９８】
或いは、理論空燃比維持判定時間Ｔｓｔｏは、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが中間領域Ｍ内に維持されている間の積算酸素過不足量ΣＯＥＤ等、他のパラメータに応じて変化させてもよい。具体的には、例えば、積算酸素過不足量ΣＯＥＤが多くなるほど、理論空燃比維持判定時間Ｔｓｔｏが短くされる。
【０１９９】
また、上記理論空燃比張付き学習制御では、下流側空燃比センサ４１によって検出された空燃比が理論空燃比維持判定時間Ｔｓｔｏ以上に亘って理論空燃比近傍空燃比領域内に維持されている場合に学習値の更新を行っている。しかしながら、時間以外のパラメータに基づいて理論空燃比張付き学習を行うようにしてもよい。
【０２００】
例えば、下流側空燃比センサ４１によって検出される空燃比が理論空燃比に張り付いてしまっている場合には、目標空燃比をリーン空燃比とリッチ空燃比との間で切り替えてからの積算酸素過不足量が多くなる。そこで、目標空燃比を切り替えてからの積算酸素過不足量の絶対値、または下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが中間領域Ｍ内に維持されている間の積算酸素過不足量の絶対値が予め定められた所定値以上大きくなった場合に、上述したような学習値の更新を行ってもよい。
【０２０１】
さらに、図１０に示した例では、目標空燃比をリッチ空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比維持判定時間Ｔｓｔｏ以上に亘って理論空燃比近傍空燃比領域内に維持されている場合を示している。しかしながら、目標空燃比をリーン空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比維持判定時間Ｔｓｔｏ以上に亘って理論空燃比近傍空燃比領域内に維持されている場合についても同様な制御が可能である。
【０２０２】
したがって、これらをまとめて表現すると、本実施形態では、学習手段は、目標空燃比が理論空燃比よりも一方側にずれた空燃比（すなわち、リッチ空燃比又はリーン空燃比）に設定されているときに、理論空燃比維持判定時間Ｔｓｔｏ以上に亘って又は積算酸素過不足量が予め定められた所定値以上になるまでの期間にわたって、下流側空燃比センサ４１によって検出された空燃比が理論空燃比近傍空燃比領域内に維持されている場合、フィードバック制御において上流側排気浄化触媒２０に流入する排気ガスの空燃比が前記一方側に変化するようにフィードバック制御に関するパラメータを補正する理論空燃比張付き学習を行うといえる。
【０２０３】
＜リッチ・リーン張付き学習＞
次に、リーン張付き学習制御について説明する。リーン張付き学習制御は、図１８に示した例のように、目標空燃比をリッチ空燃比にしているにもかかわらず、下流側空燃比センサ４１によって検出される空燃比がリーン空燃比に張り付いてしまっている場合に行われる学習制御である。リーン張付き学習制御では、空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに切り替えた後に、すなわち目標空燃比をリッチ空燃比に設定した状態で、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められたリーン空燃比維持判定時間以上に亘ってリーン空燃比に維持されているかを判断する。そして、リーン空燃比維持判定時間以上に亘ってリーン空燃比に維持されている場合には、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に変化するように学習値ｓｆｂｇが減少せしめられる。図２０にこの様子を示す。
【０２０４】
図２０は、空燃比補正量ＡＦＣ等のタイムチャートを示す図１８と同様な図である。図２０は、図１８と同様に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐが低い側（リッチ側）に極めて大きくずれている場合を示している。
【０２０５】
図示した例では、時刻ｔ0において、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎからリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。しかしながら、上流側空燃比センサ４０の出力空燃比は極めて大きくリッチ側にずれているため、図１８に示した例と同様に、排気ガスの実際の空燃比はリーン空燃比となっている。このため、時刻ｔ0以降、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン空燃比に維持される。
【０２０６】
そこで、本実施形態では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定された後に、予め定められたリーン空燃比維持判定時間Ｔｌｅａｎ以上に亘って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン空燃比に維持されている場合には、制御中心空燃比ＡＦＲを補正するようにしている。特に、本実施形態では、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に変化するように学習値ｓｆｂｇが補正される。
【０２０７】
具体的には、本実施形態では、下記式（６）により学習値ｓｆｂｇを算出すると共に、上記式（４）により学習値ｓｆｂｇに基づいて制御中心空燃比ＡＦＲが補正される。
ｓｆｂｇ（ｎ）＝ｓｆｂｇ（ｎ−１）＋ｋ3・（ＡＦＣｒｉｃｈ−（ＡＦｄｗｎ−１４．６））      …（６）
なお、上記式（６）において、ｋ3は、制御中心空燃比ＡＦＲを補正する程度を表すゲインである（０＜ｋ3≦１）。ゲインｋ3の値が大きいほど、制御中心空燃比ＡＦＲの補正量が大きくなる。
【０２０８】
ここで、図２０に示した例では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているときに、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン空燃比に維持されている。この場合、上流側空燃比センサ４０におけるずれは、目標空燃比と下流側空燃比センサ４１の出力空燃比との差に相当する。これを分解すると、上流側空燃比センサ４０におけるずれは、目標空燃比と理論空燃比との差（リッチ設定補正量ＡＦＣｒｉｃｈに相当）と、理論空燃比と下流側空燃比センサ４１の出力空燃比との差とを加算した量と同程度となっているといえる。そこで、本実施形態では、上記式（６）に示したように、リッチ設定補正量ＡＦＣｒｉｃｈに下流側空燃比センサ４１の出力空燃比と理論空燃比との差を加算した値に基づいて学習値ｓｆｂｇを更新している。特に、上述した理論空燃比張付き学習では、リッチ設定補正量ＡＦＣｒｉｃｈ相当分だけ学習値を補正しているのに対して、リーン張付き学習ではこれに加えて下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ相当分だけ学習値を補正している。また、ゲインｋ3はゲインｋ2と同程度とされる。このため、リーン張付き学習における補正量は、理論空燃比張付き学習における補正量よりも大きい。
【０２０９】
図２０に示した例では、式（６）を用いると、時刻ｔ1において、学習値ｓｆｂｇは減少せしめられる。この結果、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比はリッチ側に変化することになる。これにより、時刻ｔ1以降、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻ｔ1以前と比べて小さなものとなる。したがって、時刻ｔ1以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻ｔ1以前における差よりも小さくなっている。
【０２１０】
図１１に示した例では、時刻ｔ1において学習値ｓｆｂｇの更新が行われると、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれが小さくなる。これにより、図示した例では、時刻ｔ1以降には、排気ガスの実際の空燃比はほぼ理論空燃比となる。これに伴って、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン空燃比からほぼ理論空燃比に変化する。特に、図１１に示した例では、時刻ｔ2から時刻ｔ3まで理論空燃比維持判定時間Ｔｓｔｏに亘って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比、すなわち中間領域Ｍ内に維持される。このため、時刻ｔ3において、理論空燃比張付き学習により、上記式（５）を用いて学習値ｓｆｂｇの補正が行われる。
【０２１１】
リーン張付き学習制御によってこのように学習値ｓｆｂｇの更新を行うことにより、上流側空燃比センサ４０の出力空燃比ＡＦｕｐのずれが極めて大きい場合であっても、学習値の更新を行うことができる。これにより、上流側空燃比センサ４０の出力空燃比におけるずれを小さくすることができる。
【０２１２】
なお、上記実施形態では、リーン空燃比維持判定時間Ｔｌｅａｎは予め定められた時間とされている。この場合、リーン空燃比維持判定時間Ｔｌｅａｎは、目標空燃比をリッチ空燃比に切り替えてからそれに応じて下流側空燃比センサ４１の出力空燃比が変化するまでに通常かかる下流側空燃比センサの応答遅れ時間以上とされる。具体的には、その２倍〜４倍程度の時間とするのが好ましい。また、リーン空燃比維持判定時間Ｔｌｅａｎは、目標空燃比をリッチ空燃比に切り替えてからの積算酸素過不足量ΣＯＥＤの絶対値が未使用時の上流側排気浄化触媒２０の最大吸蔵可能酸素量に到達するまでに通常かかる時間よりも短い。したがって、リーン空燃比維持判定時間Ｔｌｅａｎは、上述した理論空燃比維持判定時間Ｔｓｔｏよりも短いものとされる。
【０２１３】
或いは、リーン空燃比維持判定時間Ｔｌｅａｎは、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比以上である間に積算された排気ガス流量等、他のパラメータに応じて変化させてもよい。具体的には、例えば、積算排気ガス流量ΣＧｅが多くなるほど、リーン空燃比維持判定時間Ｔｌｅａｎが短くされる。これにより、目標空燃比をリッチ空燃比に切り替えてからの積算排気ガス流量が所定の量になったときに、上述したような学習値ｓｆｂｇの更新を行うようにすることもできる。また、この場合、所定の量は、目標空燃比を切り替えてからそれに応じて下流側空燃比センサ４１の出力空燃比が変化するまでに必要な排気ガスの総流量以上とすることが必要である。具体的には、斯かる総流量の２倍〜４倍程度の量とすることが好ましい。
【０２１４】
次に、リッチ張付き学習制御について説明する。リッチ張付き学習制御は、リーン張付き学習制御と同様な制御であり、目標空燃比をリーン空燃比にしているにもかかわらず、下流側空燃比センサ４１によって検出される空燃比がリッチ空燃比に張り付いてしまっている場合に行われる学習制御である。リッチ張付き学習制御では、目標空燃比がリーン空燃比に設定されている状態で、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められたリッチ空燃比維持判定時間（リーン空燃比維持判定時間と同様）以上に亘ってリッチ空燃比に維持されているかを判断する。そして、リッチ空燃比維持判定時間以上に亘ってリッチ空燃比に維持されている場合には、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン側に変化するように学習値ｓｆｂｇが増大せしめられる。すなわち、リッチ張付き学習制御では、上述したリーン張付き学習制御とはリッチ及びリーンが逆にした制御が行われる。
【０２１５】
＜学習促進制御＞
ところで、上流側空燃比センサ４０の出力空燃比ＡＦｕｐに大きなずれが生じている場合には、このずれを迅速に解消するために、学習制御による学習値ｓｆｂｇの更新を促進することが必要になる。
【０２１６】
そこで、本実施形態では、学習制御による学習値ｓｆｂｇの更新を促進する必要があるときには、促進する必要がないときに比べて、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合いが増大せしめられる。加えて、学習制御による学習値ｓｆｂｇの更新を促進する必要があるときには、促進する必要がないときに比べて、リーン設定空燃比及び弱リーン設定空燃比のリッチ度合いが増大せしめられる。以下では、このような制御を学習促進制御と称する。
【０２１７】
特に、本実施形態では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値（リーン酸素量積算値）Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値（リッチ酸素量積算値）Ｆ1の差ΔΣＯＥＤが予め定められた促進判定基準値以上であった場合に、学習制御による学習値ｓｆｂｇの更新を促進する必要があると判断される。加えて、本実施形態では、空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに切り替えてから、すなわち目標空燃比をリッチ設定空燃比に切り替えてから、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められた理論空燃比促進判定時間（理論空燃比維持判定時間以下であることが好ましい）以上に亘って中間領域Ｍ内に維持されている場合に、学習制御による学習値ｓｆｂｇの更新を促進する必要があると判断される。さらに、本実施形態では、空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに切り替えてから、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められたリーン空燃比促進判定時間（リーン空燃比維持判定時間以下であることが好ましい）以上に亘ってリーン空燃比に維持されている場合にも、学習制御による学習値ｓｆｂｇの更新を促進する必要があると判断される。同様に、空燃比補正量ＡＦＣをリーン設定補正量ＡＦＣｌｅａｎに切り替えてから、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが予め定められたリッチ空燃比促進判定時間（リッチ空燃比維持判定時間以下であることが好ましい）以上に亘ってリッチ空燃比に維持されている場合にも、学習制御による学習値ｓｆｂｇの更新を促進する必要があると判断される。なお、リーン空燃比促進判定時間及びリッチ空燃比促進判定時間は、理論空燃比促進判定時間よりも短い時間とされる。
【０２１８】
図２１は、制御中心空燃比ＡＦＲ等の図１６等と同様なタイムチャートである。図２１は、図１６等と同様に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐが低い側（リッチ側）にずれている場合を示している。
【０２１９】
図示した例では、時刻ｔ1以前の状態では、制御中心空燃比が理論空燃比とされ、空燃比補正量ＡＦＣが弱リッチ設定補正量ＡＦＣｓｒｉｃｈ1（図１６に示した例の弱リッチ設定補正量ＡＦＣｒｉｃｈと同程度の値）とされている。このとき、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは弱リッチ設定空燃比に相当する空燃比となっている。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンの空燃比となっている（図２１の破線）。
【０２２０】
図２１に示した例では、時刻ｔ1〜時刻ｔ4では、図１６に示した例と同様な制御が行われている。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になった時刻ｔ1において、空燃比補正量ＡＦＣはリーン設定補正量ＡＦＣｌｅａｎに切り替えられる。その後、時刻ｔ2において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きくなった時刻ｔ2において、空燃比補正量ＡＦＣが弱リーン設定空燃比ＡＦＣｓｌｅａｎに切り替えられる。加えて、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になった時刻ｔ3において、空燃比補正量ＡＦＣはリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。
【０２２１】
ここで、時刻ｔ4において、酸素増大期間Ｔｉｎｃ（時刻ｔ1〜時刻ｔ3）における積算酸素過不足量ΣＯＥＤの絶対値がＲ1として算出される。同様に、酸素減少期間Ｔｄｅｃ（時刻ｔ3〜時刻ｔ5）における積算酸素過不足量ΣＯＥＤの絶対値がＦ1として算出される。そして、図２１に示した例では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1との差（過不足量誤差）ΔΣＯＥＤが予め定められた促進判定基準値以上となっている。このため、図２１に示した例では、時刻ｔ4において、学習制御による学習値ｓｆｂｇの更新を促進する必要があるときであると判断される。
【０２２２】
そこで、本実施形態では、時刻ｔ4において、学習促進制御が開始される。具体的には、時刻ｔ4において、リッチ設定補正量ＡＦＣｒｉｃｈがＡＦＣｒｉｃｈ1からＡＦＣｒｉｃｈ2へと増大せしめられる。よって、リッチ設定空燃比のリッチ度合いが増大せしめられる。加えて、時刻ｔ4において、リーン設定補正量ＡＦＣｌｅａｎがＡＦＣｌｅａｎ1からＡＦＣｌｅａｎ2へと増大せしめられ、弱リーン設定補正量ＡＦＣｓｌｅａｎがＡＦＣｓｌｅａｎ1からＡＦＣｓｌｅａｎ2へと増大せしめられる。よってリーン設定空燃比及び弱リーン設定空燃比のリーン度合いが増大せしめられる。
【０２２３】
また、本実施形態では、図１６に示した例と同様に、時刻ｔ4において上記式（３）により学習値ｓｆｂｇの更新が行われ、上記式（４）により制御中心空燃比ＡＦＲが補正される。この結果、時刻ｔ5において学習値ｓｆｂｇが減少せしめられると共に、制御中心空燃比ＡＦＲがリッチ側に補正される。
【０２２４】
時刻ｔ4において、空燃比補正量ＡＦＣが増大されたリーン設定補正量ＡＦＣｌｅａｎ2に切り替えられると、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大していく。このときの酸素吸蔵量ＯＳＡの増大速度は、基本的に時刻ｔ1〜ｔ2における増大速度に比べて速い。また、時刻ｔ5において、空燃比補正量ＡＦＣが増大された弱リーン設定補正量ＡＦＣｓｌｅａｎ2に切り替えられた後において、酸素吸蔵量ＯＳＡの増大速度は基本的に時刻ｔ2〜ｔ3における増大速度に比べて速い。このため、時刻ｔ4において空燃比補正量ＡＦＣをリーン設定補正量ＡＦＣｌｅａｎに切り替えてから積算酸素過不足量ΣＯＥＤが切替基準値ＯＥＤｒｅｆ以上となるまでの時間が、時刻ｔ4以前に比べて短くなる。
【０２２５】
その後、時刻ｔ6において、空燃比補正量ＡＦＣが増大されたリッチ設定補正量ＡＦＣｒｉｃｈ2に切り替えられると、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが減少していく。このときの酸素吸蔵量ＯＳＡの減少速度は、基本的に時刻ｔ3〜ｔ4における減少速度に比べて速い。このため、時刻ｔ6において空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに切り替えてから時刻ｔ7において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下となるまでの時間が、時刻ｔ5以前に比べて短くなる。
【０２２６】
時刻ｔ7では、図１６に示した例と同様に、学習値ｓｆｂｇの更新が行われる。すなわち、時刻ｔ4〜時刻ｔ6は酸素増大期間Ｔｉｎｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図２１のＲ2で表せる。また、時刻ｔ6〜時刻ｔ7は酸素減少期間Ｔｄｅｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図２１のＦ2で表せる。そして、これら絶対値Ｒ2、Ｆ2の差ΔΣＯＥＤ（＝Ｒ2−Ｆ2）に基づいて、上記式（３）を用いて学習値ｓｆｂｇが更新される。本実施形態では、時刻ｔ7以降も同様な制御が繰り返され、これにより学習値ｓｆｂｇの更新が繰り返される。
【０２２７】
その後、学習促進制御は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下に達して、その後再びリッチ判定空燃比ＡＦｒｉｃｈ以下に達するまでのサイクル（例えば、図２１の時刻ｔ4〜ｔ7）を予め定められた所定回数繰り返してから終了せしめられる。或いは、学習促進制御は、学習促進制御の開始から予め定められた所定時間が経過してから終了せしめられてもよい。学習促進制御が終了せしめられると、リッチ設定補正量ＡＦＣｒｉｃｈがＡＦＣｒｉｃｈ2からＡＦＣｒｉｃｈ1へと減少せしめられる。よって、リッチ設定空燃比のリッチ度合いが減少せしめられる。加えて、リーン設定補正量ＡＦＣｌｅａｎがＡＦＣｌｅａｎ2からＡＦＣｌｅａｎ1へと減少せしめられ、弱リッチ設定補正量ＡＦＣｓｌｅａｎがＡＦＣｓｒｉｃｈ2からＡＦＣｓｒｉｃｈ1へと減少せしめられる。よって、リーン設定空燃比のリーン度合いが減少せしめられる。
【０２２８】
ここで、上述したように、時刻ｔ4以降において目標空燃比がリッチ空燃比に設定されている間の目標空燃比の平均値（以下、「平均目標空燃比」ともいう）におけるリッチ度合いを増大させることにより時刻ｔ4〜ｔ6までの時間が短くなる。加えて、時刻ｔ4以降において目標空燃比がリーン空燃比に設定されている間の平均目標空燃比のリーン度合いを増大させることにより時刻ｔ6〜ｔ7までの時間が短くなる。したがって、これらを合わせて考えると、時刻ｔ4から時刻ｔ7までの１サイクルにかかる時間が短くなる（図２１の時間Ｔｃ2が時間Ｔｃ1よりも短くなる）。一方で、上述したように、学習値ｓｆｂｇの更新には、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃを含むサイクルが必要となる。したがって、本実施形態では、学習値ｓｆｂｇの更新に必要な１サイクル（例えば、時刻ｔ4〜時刻ｔ7）の時間を短くすることができ、学習値の更新を促進させることができる。
【０２２９】
また、学習値の更新を促進させる方法としては、上記式（３）、（５）、（６）におけるゲインｋ1、ｋ2、ｋ3を大きくすることが考えられる。しかしながら、これらゲインｋ1、ｋ2、ｋ3は、通常、学習値ｓｆｂｇが最適な値に迅速に収束するような値に設定されている。したがって、これらゲインｋ1、ｋ2、ｋ3を大きくすると、学習値ｓｆｂｇの最終的な収束が遅れてしまう。これに対して、リッチ設定補正量ＡＦＣｒｉｃｈ等の変更では、これらゲインｋ1、ｋ2、ｋ3を変更していないため、学習値ｓｆｂｇの最終的な収束に遅れが生じるのが抑制される。
【０２３０】
＜学習促進制御の変形例＞
なお、上記実施形態では、第一実施形態の空燃比制御を行うことを前提としている。しかしながら、第二実施形態の空燃比制御を行うことを前提とした場合であっても同様な制御を行うことが可能である。この場合、学習促進制御実行中には、弱リッチ設定補正量ＡＦＣｓｒｉｃｈの絶対値が増大せしめられる。すなわち、学習促進制御実行中には、弱リッチ設定空燃比のリッチ度合いが増大せしめられる。
【０２３１】
また、上記実施形態では、学習促進制御実行中には、学習促進制御を実行していないときに比べて、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い、及びリーン設定空燃比及び弱リーン設定空燃比のリーン度合いの全てを増大させている。しかしながら、学習促進制御においては、必ずしもこれらリッチ度合い及びリーン度合いの全てを増大させなくてもよく、これらのうちの一部のみを増大させるようにしてもよい。
【０２３２】
例えば、図２２に示したように、学習促進制御実行中には、リッチ設定空燃比のリッチ度合い及びリーン設定空燃比のリーン度合いのみを増大させて、弱リーン設定空燃比のリーン度合いは増大させずにそのまま維持するようにしてもよい。
【０２３３】
また、例えば、学習促進制御実行中には、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合いのみを増大させて、リーン設定空燃比及び弱リーン設定空燃比のリーン度合いは増大させずにそのまま維持するようにしてもよい。この場合、リーン度合いが増大されないことにより、上流側排気浄化触媒２０からＮＯｘが流出するのを抑制することができる。
【０２３４】
同様に、例えば、学習促進制御実行中には、リーン設定空燃比及び弱リーン設定空燃比のリーン度合いのみを増大させて、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合いは増大させずにそのまま維持するようにしてもよい。この場合、リッチ度合いが増大されないことにより、上流側排気浄化触媒２０から未燃ガスが流出するのを抑制することができる。
【０２３５】
また、上記実施形態では、学習促進制御において、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い並びにリーン設定空燃比及び弱リーン設定空燃比のリーン度合いを増大させる量又はその割合は一定とされる。しかしながら、これらリッチ度合い及びリーン度合いを増大させる量又はその割合は各パラメータ毎に異なるものであってもよい。
【０２３６】
加えて、学習促進制御において、リッチ設定空燃比及び弱リッチ設定空燃比のリッチ度合い並びにリーン設定空燃比及び弱リーン設定空燃比のリーン度合いを増大させる量又はその割合は、時間の経過に伴って小さくされてもよい。すなわち、学習促進制御において目標空燃比がリーン空燃比に設定されている間の平均目標空燃比のリーン度合いを増大させる場合にリーン度合いを増大させる程度を、目標空燃比をリッチ空燃比からリーン空燃比に切り替えた時からの経過時間が長くなるほど小さくするようにしてもよい。同様に、学習促進制御において目標空燃比がリッチ空燃比に設定されている間の平均目標空燃比のリッチ度合いを増大させる場合にリッチ度合いを増大させる程度を、目標空燃比をリーン空燃比からリッチ空燃比に切り替えた時からの経過時間が長くなるほど小さくなるようにしてもよい。
【０２３７】
以上をまとめると、本実施形態では、学習制御によるパラメータの補正を促進する必要があるときに成立する学習促進条件が成立したときには、学習促進条件が成立していないときに比べて、目標空燃比がリーン空燃比に設定されている間の平均目標空燃比のリーン度合い及び目標空燃比がリッチ空燃比に設定されている間の平均目標空燃比のリッチ度合いのうち少なくともいずれか一方を増大させるようにしているといえる。
【０２３８】
また、上記実施形態では、学習促進制御が行われるときにも、上記式（３）、（５）、（６）におけるゲインｋ1、ｋ2、ｋ3を変更しないようにしている。しかしながら、学習促進制御が行われるときには、学習促進制御を行われないときと比較して、ゲインｋ1、ｋ2、ｋ3を増大させるようにしてもよい。この場合であっても、本実施形態では、学習促進制御が行われるときにリッチ設定補正量等を変更しているため、ゲインｋ1、ｋ2、ｋ3のみを増大させる場合に比べて、ゲインｋ1、ｋ2、ｋ3を増大させる程度が低く抑えられる。したがって、学習値ｓｆｂｇの最終的な収束に遅れが生じるのが抑制される。
【０２３９】
＜通常学習制御のフローチャート＞
図２３は、通常学習制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。
【０２４０】
図２３に示したように、まず、ステップＳ６１において、学習値ｓｆｂｇの更新条件が成立しているか否かが判定される。更新条件が成立している場合とは、例えば、通常制御中であること等が挙げられる。ステップＳ６１において、学習値ｓｆｂｇの更新条件が成立していると判定された場合には、ステップＳ６２へと進む。ステップＳ６２では、リーンフラグＦｌが０に設定されているか否かが判定される。ステップＳ６２において、リーンフラグＦｌが０に設定されていると判定された場合には、ステップＳ６３へと進む。
【０２４１】
ステップＳ６３では、空燃比補正量ＡＦＣが０よりも大きいか否か、すなわち目標空燃比がリーン空燃比であるか否かが判定される。ステップＳ６３において、空燃比補正量ＡＦＣが０よりも大きいと判定された場合には、ステップＳ６４へと進む。ステップＳ６４では、積算酸素過不足量ΣＯＥＤに現在の酸素過不足量ＯＥＤが加算される。
【０２４２】
その後、目標空燃比がリッチ空燃比へと切り替えられると、次の制御ルーチンではステップＳ６３において空燃比補正量ＡＦＣが０以下であると判定され、ステップＳ６５へと進む。ステップＳ６５では、リーンフラグＦｌが１にセットされ、次いで、ステップＳ６６ではＲｎが現在の積算酸素過不足量ΣＯＥＤの絶対値とされる。次いで、ステップＳ６７では、積算酸素過不足量ΣＯＥＤが０にリセットされ、制御ルーチンが終了せしめられる。
【０２４３】
一方、リーンフラグＦｌが１にセットされると、次の制御ルーチンでは、ステップＳ６２からステップＳ６８へと進む。ステップＳ６８では、空燃比補正量ＡＦＣが０よりも小さいか否か、すなわち目標空燃比がリッチ空燃比であるか否かが判定される。ステップＳ６８において、空燃比補正量ＡＦＣが０よりも小さいと判定された場合にはステップＳ６９へと進む。ステップＳ６９では、積算酸素過不足量ΣＯＥＤに現在の酸素過不足量ＯＥＤが加算される。
【０２４４】
その後、目標空燃比がリーン空燃比へと切り替えられると、次の制御ルーチンではステップＳ６８において空燃比補正量ＡＦＣが０以上であると判定され、ステップＳ７０へと進む。ステップＳ７０では、リーンフラグＦｌが０にセットされ、次いで、ステップＳ７１では、Ｆｎが現在の積算酸素過不足量ΣＯＥＤの絶対値とされる。次いで、ステップＳ７２では、積算酸素過不足量ΣＯＥＤが０にリセットされる。次いで、ステップＳ７３では、ステップＳ６６で算出されたＲｎとステップＳ７１で算出されたＦｎに基づいて学習値ｓｆｂｇが更新され、制御ルーチンが終了せしめられる。
【０２４５】
＜学習促進制御のフローチャート＞
図２４は、学習促進制御の制御ルーチンを示すフローチャートである。図２４に示した制御ルーチンは一定時間間隔の割り込みによって行われる。図２４に示したように、まず、ステップＳ８１において、学習促進フラグＦａが１にセットされているか否かが判定される。学習促進フラグＦａは、学習促進制御を行う場合に１にセットされ、それ以外の場合に０にセットされるフラグである。ステップＳ８１において、学習促進フラグＦａが０にセットされていると判定された場合には、ステップＳ８２へと進む。
【０２４６】
ステップＳ８２では、学習促進条件が成立しているか否かが判定される。学習促進条件は、学習制御による学習値の更新を促進する必要があるときに成立する。具体的には、上述した過不足量誤差ΔΣＯＥＤが促進判定基準値以上であるとき、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比促進判定時間以上に亘って中間領域Ｍ内に維持されているとき、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン空燃比促進判定時間又はリッチ空燃比促進判定時間以上に亘ってリーン空燃比又はリッチ空燃比に維持されているとき等に、学習促進条件が成立する。或いは、学習促進条件は、上記式（３）、（５）、（６）においてｓｆｂｇ（ｎ−１）に加算される学習値更新量の値が予め定められた基準値以上である場合に学習促進条件が成立するとしてもよい。
【０２４７】
ステップＳ８２において、学習促進条件が成立していないと判定された場合には、ステップＳ８３へと進む。ステップＳ８３では、リッチ設定補正量ＡＦＣｒｉｃｈがＡＦＣｒｉｃｈ1に設定される。次いで、ステップＳ８４では、リーン設定補正量ＡＦＣｌｅａｎ及び弱リーン設定補正量ＡＦＣｌｅａｎがそれぞれＡＦＣｌｅａｎ1及びＡＦＣｓｌｅａｎ1に設定され、制御ルーチンが終了せしめられる。
【０２４８】
一方、ステップＳ８２において、学習促進条件が成立していると判定された場合には、ステップＳ８５へと進む。ステップＳ８５では、学習促進フラグＦａが１にセットされる。次いで、ステップＳ８６では、反転カウンタＣＴがＮ以上であるか否かが判定される。反転カウンタＣＴは、目標空燃比がリッチ空燃比とリーン空燃比との間で反転される毎に１が加算されるカウンタである。
【０２４９】
ステップＳ８６において、反転カウンタＣＴがＮ未満であると判定されたとき、すなわち目標空燃比の反転回数がＮ回未満であると判定されたときには、ステップＳ８７へと進む。ステップＳ８７では、リッチ設定補正量ＡＦＣｒｉｃｈがＡＦＣｒｉｃｈ1よりも絶対値の大きいＡＦＣｒｉｃｈ2に設定される。次いで、ステップＳ８８では、リーン設定補正量ＡＦＣｌｅａｎがＡＦＣｌｅａｎ1よりも絶対値の大きいＡＦＣｌｅａｎ2に設定され、弱リーン設定補正量ＡＦＣｓｌｅａｎがＡＦＣｓｌｅａｎ1よりも絶対値の大きいＡＦＣｓｌｅａｎ2に設定される。その後、制御ルーチンが終了せしめられる。
【０２５０】
目標空燃比の反転が複数回行われると、次の制御ルーチンでは、ステップＳ８６において、反転カウンタＣＴがＮ以上であると判定され、ステップＳ８９へと進む。ステップＳ８９では、リッチ設定補正量ＡＦＣｒｉｃｈがＡＦＣｒｉｃｈ1に設定される。次いで、ステップＳ９０では、リーン設定補正量ＡＦＣｌｅａｎ及び弱リーン設定補正量ＡＦＣｌｅａｎがそれぞれＡＦＣｌｅａｎ1及びＡＦＣｓｌｅａｎ1に設定される。次いで、ステップＳ９１において学習促進フラグＦａが０にリセットされると共に、ステップＳ９２において反転カウンタＣＴが０にリセットされ、制御ルーチンが終了せしめられる。
【符号の説明】
【０２５１】
１    機関本体
５    燃焼室
７    吸気ポート
９    排気ポート
１９    排気マニホルド
２０    上流側排気浄化触媒
２４    下流側排気浄化触媒
３１    ＥＣＵ
４０    上流側空燃比センサ
４１    下流側空燃比センサ
【図１】
0006314727.tif 000002
【図２】
0006314727.tif 000003
【図３】
0006314727.tif 000004
【図４】
0006314727.tif 000005
【図５】
0006314727.tif 000006
【図６】
0006314727.tif 000007
【図７】
0006314727.tif 000008
【図８】
0006314727.tif 000009
【図９】
0006314727.tif 000010
【図１０】
0006314727.tif 000011
【図１１】
0006314727.tif 000012
【図１２】
0006314727.tif 000013
【図１３】
0006314727.tif 000014
【図１４】
0006314727.tif 000015
【図１５】
0006314727.tif 000016
【図１６】
0006314727.tif 000017
【図１７】
0006314727.tif 000018
【図１８】
0006314727.tif 000019
【図１９】
0006314727.tif 000020
【図２０】
0006314727.tif 000021
【図２１】
0006314727.tif 000022
【図２２】
0006314727.tif 000023
【図２３】
0006314727.tif 000024
【図２４】
0006314727.tif 000025