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