以下、図面を参照して本発明の空燃比制御装置の実施形態について説明する。図1に、本発明の空燃比制御装置が適用された火花点火式内燃機関が示されている。内燃機関10はシリンダブロック、シリンダブロックロワケース、および、オイルパン等を含むシリンダブロック部20と、該シリンダブロック部20上に固定されたシリンダヘッド部30と、シリンダブロック部20に燃料と空気とからなる混合気を供給するための吸気通路40と、シリンダブロック部20からの排気ガスを外部に排出するための排気通路50とを具備する。
シリンダブロック部20はシリンダ21と、ピストン22と、コンロッド23と、クランクシャフト24とを有する。ピストン22はシリンダ21内で往復動し、該ピストン22の往復動がコンロッド23を介してクランクシャフト24に伝達され、これによってクランクシャフト24が回転せしめられる。また、シリンダ21の内壁面と、ピストン22の上壁面と、シリンダヘッド部30の下壁面とによって燃焼室25が形成されている。
シリンダヘッド部30は燃焼室25に連通する吸気ポート31と、該吸気ポート31を開閉する吸気弁32と、燃焼室25に連通する排気ポート34と、該排気ポート34を開閉する排気弁25とを有する。さらに、シリンダヘッド部30は燃焼室25内の燃料に点火する点火栓37と、該点火栓37に高電圧を付与するイグニッションコイルを備えたイグナイタ38と、燃料を吸気ポート31内に噴射する燃料噴射弁39とを有する。
吸気通路40は吸気ポート31に接続された吸気枝管41と、該吸気枝管41に接続されたサージタンク42と、該サージタンク42に接続された吸気ダクト43とを有する。さらに、吸気ダクト43には、吸気ダクト43の上流端から下流に向かって(すなわち、サージタンク42に向かって)順にエアフィルタ44と、スロットル弁46と、該スロットル弁46を駆動するスロットル弁駆動要アクチュエータ46aとが配置されている。また、吸気ダクト43には、該吸気ダクト43内を流れる空気の量を検出するエアフローメータ61が配置されている。
スロットル弁46は吸気ダクト43に回転可能に取り付けられており、スロットル弁駆動要アクチュエータ46aによって駆動されることによってその開度が調節されるようになっている。
また、排気通路50は、排気ポート34に接続された排気枝管を含む排気管51と、該排気管51に配置された三元触媒52とを有する。三元触媒52の上流の排気管51には、排気ガスの空燃比を検出する空燃比センサ(以下この空燃比センサを「上流側空燃比センサ」という)53が取り付けられている。一方、三元触媒52の下流の排気管51にも、排気ガスの空燃比を検出する空燃比センサ(以下この空燃比センサを「下流側空燃比センサ」という)54が取り付けられている。
図2に示されているように、三元触媒52はその温度が或る温度(いわゆる、活性温度)よりも高く且つそこに流入する排気ガスの空燃比が理論空燃比近傍の領域X内にあるときに排気ガス中の窒素酸化物(NOx)と、一酸化炭素(COと表記する)と、炭化水素(HC)とを同時に高い浄化率でもって浄化することができる。一方、三元触媒52はそこに流入する排気ガスの空燃比が理論空燃比よりもリーンであるときに排気ガス中の酸素を吸蔵し、そこに流入する排気ガスの空燃比が理論空燃比よりもリッチであるときにそこに吸蔵されている酸素を放出する酸素吸蔵・放出能力を有する。したがって、この酸素吸蔵・放出能力が正常に機能している限り、三元触媒52に流入する排気ガスの空燃比が理論空燃比よりもリーンであっても理論空燃比よりもリッチであっても三元触媒52の内部雰囲気が略理論空燃比近傍に維持されることから、三元触媒52において排気ガス中のNOx、CO、および、HCが同時に高い浄化率で浄化される。
また、内燃機関10はクランクシャフト24の位相角を検出するクランクポジションセンサ65と、アクセルペダル67の踏込量を検出するアクセル開度センサ66と、電気制御装置(ECU)70とを具備する。クランクポジションセンサ65はクランクシャフト24が10°回転する毎に幅狭のパルス信号を発生すると共にクランクシャフト24が360°回転する毎に幅広のパルス信号を発生する。クランクポジションセンサ65が発生するパルス信号に基づいて機関回転数(内燃機関の回転数)が算出可能である。
電気制御装置(ECU)70はマイクロコンピュータからなり、双方向性バスによって互いに接続されたCPU(マイクロプロセッサ)71と、ROM(リードオンリメモリ)72と、RAM(ランダムアクセスメモリ)73と、バックアップRAM54と、AD変換器を含むインターフェース75とを有する。インターフェース75はイグナイタ38、燃料噴射弁39、スロットル弁駆動用アクチュエータ46a、上流側空燃比センサ53、下流側空燃比センサ54、および、エアフローメータ61に接続されている。
なお、スロットル弁46の開度は、基本的には、アクセル開度センサ66によって検出されるアクセルペダル67の踏込量に応じて制御される。すなわち、アクセルペダル67の踏込量が大きいほどスロットル弁46の開度が大きくなるように、すなわち、該スロットル弁46を通過して燃焼室25に吸入される空気の量(以下この空気の量を「吸気量」という)が多くなるようにスロットル弁駆動用アクチュエータ46aが作動せしめられ、アクセルペダル67の踏込量が小さいほどスロットル弁46の開度が小さくなるように、すなわち、吸気量が少なくなるようにスロットル弁駆動用アクチュエータ46aが作動せしめられる。
ところで、上述したように、三元触媒52はそこに流入する排気ガスの空燃比が理論空燃比近傍にあるときにNOx、CO、および、HCを同時に高い浄化率でもって浄化することができる。したがって、三元触媒において高い浄化率を確保するという観点では、燃焼室25に形成される混合気の空燃比が理論空燃比に制御されることが好ましい。そこで、本実施形態(以下「第1実施形態」という)では、内燃機関の運転状態(以下これを「機関運転状態」という)が通常の状態にあるときには、混合気の空燃比を以下のように理論空燃比に制御するストイキ制御が実行される。
すなわち、第1実施形態の通常ストイキ制御では、燃焼室25に吸入される空気の量、すなわち、吸気量が算出される。ここで、吸気量は、基本的には、エアフローメータ61によって検出される吸気ダクト43内を流れる空気の量に一致する。しかしながら、エアフローメータ61を通過した空気が実際に燃焼室25に吸入されるまでには、該空気が一定の長さの空気通路40内を流れることになる。このため、エアフローメータ61によって検出される空気の量が吸気量に一致しないこともある。そこで、第1実施形態では、このことを考慮し、エアフローメータ61によって検出される空気の量を吸気量に一致させるための係数(以下この係数を「吸気量算出係数」という)が別途算出され、この吸気量算出係数をエアフローメータ61によって検出される空気の量に乗ずることによって吸気量が算出される。
なお、上記吸気量算出係数を「KG」とし、エアフローメータ61によって検出される空気の量を「GA」、目標燃料噴射量を「TQ」、および、空燃比センサ53によって検出される空燃比を「A/F」としたとき、上記吸気量算出係数KGは、次式1によって順次算出され、学習値としてECU70に記憶される係数である。
KG=(GA/TQ)/A/F …(1)
次いで、上述したように算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量(以下、燃料噴射弁から噴射される燃料の量を「燃料噴射量」という)が基準燃料噴射量として算出され、基本的には、この算出された基準燃料噴射量が目標燃料噴射量に設定され、この設定された目標燃料噴射量の燃料が燃料噴射弁39から噴射されるように燃料噴射弁39の動作が制御される。
そして、ストイキ制御中、上流側空燃比センサ53によって検出される空燃比(以下この空燃比を「検出空燃比」という)と目標空燃比、すなわち、理論空燃比とが比較され、検出空燃比が理論空燃比よりもリッチであるとき、すなわち、混合気の空燃比が理論空燃比よりもリッチであるときには、混合気の空燃比が理論空燃比よりもリーンになるように燃料噴射弁39から噴射させる燃料の量(以下、燃料噴射弁から噴射させる燃料の量を「燃料噴射量」という)が少なくされる。一方、検出空燃比が理論空燃比よりもリーンであるとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであるときには、混合気の空燃比が理論空燃比よりもリッチになるように燃料噴射量が多くされる。したがって、第1実施形態のストイキ制御によれば、理論空燃比よりもリーンな空燃比の混合気と理論空燃比よりもリッチな空燃比の混合気とが交互に燃焼室25に形成され、これによって、全体として、混合気の空燃比が理論空燃比に制御される。
また、このように、理論空燃比よりもリーンな混合気と理論空燃比よりもリッチな空燃比とが交互に燃焼室25に形成されることによって、理論空燃比よりもリーンな排気ガスと理論空燃比よりもリッチな排気ガスとが交互に三元触媒52に流入すると、三元触媒への酸素の吸蔵と三元触媒からの酸素の放出とが常時行われることになり、三元触媒に流入する排気ガスの空燃比に係わらず、三元触媒の内部の空燃比が理論空燃比近傍に維持される。このため、三元触媒の浄化性能が高く維持されることになる。
ところで、上述したように、三元触媒52は酸素吸蔵・放出能力を有する。そして、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリッチであるとき、三元触媒が吸蔵している酸素を放出することによって三元触媒の内部の排気ガスの空燃比が理論空燃比とされ、一方、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリーンであるとき、三元触媒が排気ガス中の酸素を吸蔵することによって三元触媒の内部の排気ガスの空燃比が理論空燃比とされる。このように、三元触媒がそこに流入する排気ガスの空燃比に応じて酸素を放出したり酸素を吸蔵したりすることによって、三元触媒の内部の排気ガスの空燃比が理論空燃比に維持されるのである。云い換えれば、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリッチであるときに、三元触媒が酸素を放出することができなければならないし、一方、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリーンであるとき、三元触媒が酸素を吸蔵することができなければならない。さもなければ、三元触媒の内部の排気ガスの空燃比が確実に理論空燃比に維持されなくなってしまう。
したがって、三元触媒の内部の排気ガスの空燃比を確実に理論空燃比に維持し、三元触媒の浄化性能を高く維持するためには、常に、三元触媒が酸素を放出することができると共に、三元触媒が酸素を吸蔵することができなければならない。
ここで、三元触媒52が酸素を放出することができないとき、或いは、三元触媒が放出することができる酸素の量が極めて少ないとき、すなわち、三元触媒の酸素放出能力が予定通りに機能していないとき、三元触媒から流出する排気ガスの空燃比は理論空燃比よりもリッチになっている傾向にある。したがって、このとき、下流側空燃比センサ54は理論空燃比よりもリッチな空燃比を検出することになる。一方、三元触媒が酸素を吸蔵することができないとき、或いは、三元触媒が吸蔵することができる酸素の量が極めて少ないとき、すなわち、三元触媒の酸素吸蔵能力が予定通りに機能していないとき、三元触媒から流出する排気ガスの空燃比は理論空燃比よりもリーンになっている傾向にある。したがって、このとき、下流側空燃比センサは理論空燃比よりもリーンな空燃比を検出することになる。
一方、三元触媒52が吸蔵している酸素の量が零であるとき、或いは、極めて少ないとき、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリッチであったとしても、三元触媒が酸素を放出することができず、或いは、三元触媒が放出することができる酸素の量が極めて少なくなる。この場合、理論空燃比よりもリーンな空燃比の排気ガスが三元触媒に供給されれば、三元触媒は十分な量の酸素を吸蔵することができる。そして、その後は、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリッチになったとしても、三元触媒はその内部の排気ガスの空燃比を理論空燃比にするのに十分な量の酸素を放出することができる。一方、三元触媒が吸蔵している酸素の量が吸蔵可能な限界の量であるとき、或いは、極めて多いとき、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリーンであったとしても、三元触媒が酸素を吸蔵することができず、或いは、三元触媒が吸蔵することができる酸素の量が極めて少なくなる。この場合、理論空燃比よりもリッチな空燃比の排気ガスが三元触媒に供給されれば、三元触媒は十分な量の酸素を放出することができる。そして、その後は、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリーンになったとしても、三元触媒はその内部の排気ガスの空燃比を理論空燃比にするのに十分な量の酸素を吸蔵することができる。
すなわち、下流側空燃比センサ54が理論空燃比よりもリッチな空燃比を検出している期間が比較的長いとき、理論空燃比よりもリーンな空燃比の排気ガスが三元触媒52に供給され、一方、下流側空燃比センサが理論空燃比よりもリーンな空燃比を検出している期間が比較的長いとき、理論空燃比よりもリッチな空燃比の排気ガスが三元触媒に供給されれば、三元触媒の酸素吸蔵・放出能力を予定通りに機能させることができる。
そこで、第1実施形態において、混合気の空燃比を理論空燃比に制御するときに、基本的には、上述したように、上流側空燃比センサ53によって検出される空燃比が理論空燃比よりもリッチであるとき、燃料噴射量を少なくし、一方、上流側空燃比センサによって検出される空燃比が理論空燃比よりもリーンであるとき、燃料噴射量を多くするが、下流側空燃比センサ54によって検出される空燃比が理論空燃比よりもリッチである期間が比較的長いときには、上流側空燃比センサによって検出される排気ガスの空燃比が理論空燃比よりもリーンであったとしても、燃料噴射量を多くせず、混合気の空燃比を理論空燃比よりもリーンに維持し、一方、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリーンである期間が比較的長いときには、上流側空燃比センサによって検出される排気ガスの空燃比が理論空燃比よりもリッチであったとしても、燃料噴射量を少なくせず、混合気の空燃比を理論空燃比よりもリッチに維持するようにしてもよい。すなわち、第1実施形態において、混合気の空燃比を理論空燃比に制御するときに、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリッチである期間が比較的長いときには、一定期間、混合気の空燃比を理論空燃比よりもリーンに維持し、これによって、三元触媒に流入する排気ガスの平均の空燃比を理論空燃比よりもリーンに維持し、一方、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリーンである期間が比較的長いときには、一定期間、混合気の空燃比を理論空燃比よりもリッチに維持し、これによって、三元触媒に流入する排気ガスの平均の空燃比を理論空燃比よりもリッチに維持するようにしてもよい。
ところで、上述したように、第1実施形態のストイキ制御では、混合気の空燃比が理論空燃比よりもリッチであるときには、混合気の空燃比が理論空燃比よりもリーンになるように燃料噴射量が少なくされ、混合気の空燃比が理論空燃比よりもリーンであるときには、混合気の空燃比が理論空燃比よりもリッチになるように燃料噴射量が多くされる。ここで、第1実施形態のストイキ制御では、混合気の空燃比が理論空燃比よりもリッチであるときに混合気の空燃比を理論空燃比よりもリーンにする度合と、混合気の空燃比が理論空燃比よりもリーンであるときに混合気の空燃比を理論空燃比よりもリッチにする度合とが等しくなるようにする。
すなわち、第1実施形態のストイキ制御では、目標空燃比である理論空燃比を基準として一定の度合だけ混合気の空燃比が理論空燃比よりもリーンにされ或いは理論空燃比よりもリッチにされる。すなわち、混合気の空燃比は理論空燃比を中心として理論空燃比よりも一定の度合だけリーンな空燃比と理論空燃比よりも一定の度合だけリッチな空燃比とを交互に繰り返すように制御される。別の云い方をすれば、混合気の空燃比は理論空燃比を中心として一定の振幅でもって理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返すように制御される。
ところで、上述したように、第1実施形態のストイキ制御では、混合気の空燃比は理論空燃比を中心として一定の振幅でもって理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返すように制御される。ここで、混合気の空燃比が理論空燃比を中心として理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返すときの空燃比の振幅(以下この振幅を単に「空燃比の振幅」という)が大きいほど、混合気の空燃比が理論空燃比よりもリーンにされたときに混合気の空燃比が理論空燃比よりもリーンである度合が大きくなる。したがって、混合気の空燃比が理論空燃比よりもリーンにされたときに三元触媒52に流入する排気ガス中の酸素の量は空燃比の振幅が大きいほど多いことになる。一方、空燃比の振幅が大きいほど、混合気の空燃比が理論空燃比よりもリッチにされたときに混合気の空燃比が理論空燃比よりもリッチであると度合が大きくなる。したがって、混合気の空燃比が理論空燃比よりもリッチにされたときに三元触媒に流入する排気ガス中の未燃燃料の量は混合気の振幅が大きいほど多いことになる。このように空燃比の振幅が大きいほど三元触媒に流入する酸素の量および未燃燃料の量が多くなり、三元触媒における未燃燃料の燃焼量が多くなることから、三元触媒における未燃燃料の燃焼によって発生する発熱量は空燃比の振幅が大きいほど大きくなる。ここで、三元触媒における未燃燃料の燃焼によって発生する発熱量が大きく、且つ、三元触媒の温度(以下この温度を「触媒温度」という)が高いと、三元触媒の熱劣化を招く可能性がある。また、触媒温度が高いほど三元触媒において未燃燃料が一気に燃焼することから、触媒温度が高いほど三元触媒の熱劣化を招く可能性が高くなる。したがって、三元触媒の熱劣化を抑制するためには、触媒温度が高いときには、三元触媒に流入する排気ガス中の酸素の量、および、三元触媒に流入する排気ガス中の未燃燃料の量が少なくされるべきである。そこで、第1実施形態のストイキ制御では、空燃比の振幅が以下のように設定される。
すなわち、上述したように、三元触媒に流入する酸素の量および未燃燃料の量が同じである場合、触媒温度(三元触媒52の温度)が高いほど三元触媒の熱劣化を招く可能性が高くなる。そこで、第1実施形態では、三元触媒に流入させたとしても三元触媒の熱劣化を招くことのない酸素の量および未燃燃料の量、すなわち、混合気の空燃比が理論空燃比よりもリーンにされたときの混合気の空燃比と混合気の空燃比が理論空燃比よりもリッチにされたときの混合気の空燃比との間の幅、すなわち、混合気の空燃比の振幅が触媒温度に応じて予め実験等によって求められ、この振幅が図3に示されているように触媒温度Tcの関数のマップの形で目標振幅TΔA/FstとしてECU70に記憶されている。ここで、斯くして記憶されている目標振幅TΔA/Fstは、図3から判るように、触媒温度Tcが或る温度Tcthよりも低いときには比較的大きい一定の値をとり、触媒温度Tcが或る温度Tcthよりも高いときには触媒温度Tcが高くなるほど小さい値をとる。
そして、第1実施形態では、ストイキ制御中、図3のマップから触媒温度Tcに応じた目標振幅TΔA/Fstが読み込まれ、この読み込まれた目標振幅TΔA/Fstが達成されるように、上述したように算出される基準燃料噴射量が補正される。詳細には、混合気の空燃比が理論空燃比よりもリッチであるときには、目標振幅TΔA/Fstが達成されるように、上述したように算出される基準燃料噴射量が少なくされ、混合気の空燃比が理論空燃比よりもリーンであるときには、目標振幅TΔA/Fstが達成されるように、上述したように算出される基準燃料噴射量が多くされる。
そして、第1実施形態のストイキ制御では、斯くして補正された基準燃料噴射量が目標燃料噴射量に設定され、この目標燃料噴射量の燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
このように、触媒温度(三元触媒52の温度)に応じて燃料噴射弁39から噴射される燃料の量が制御されることによって、三元触媒の熱劣化が抑制される。
なお、斯くして目標振幅が達成されるように基準燃料噴射量を補正するという考え方は、上述したように、第1実施形態において、下流側空燃比センサによって検出される空燃比が理論空燃比よりリッチである期間が比較的長いときに、一定期間、混合気の空燃比を理論空燃比よりもリーンに維持し、一方、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリーンである期間が比較的長いときに、一定期間、混合気の空燃比を理論空燃比よりもリッチに維持する場合にも適用可能である。
次に、第1実施形態に従った混合気の空燃比の制御を実行するフローチャートの一例について説明する。第1実施形態の混合気の空燃比制御では、図4および図5のフローチャートが利用される。
図4のルーチンが開始されると、始めに、ステップ100において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ101以降のステップに進み、ストイキ制御が実行される。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ111以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチな空燃比に制御する制御(以下この制御を「リッチ制御」という)が実行されるか、或いは、燃料噴射弁39からの燃料の噴射を停止する制御、すなわち、燃料噴射量を零にする制御(以下この制御を「フューエルカット制御」という)が実行される。
図4のステップ100においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ101に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗じることによって吸気量が算出される。次いで、ステップ102において、ステップ101で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ103において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ104において、ステップ103で推定された触媒温度Tcに応じた目標振幅TΔA/Fstが図3のマップから読み込まれる。次いで、ステップ105において、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ106以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ109以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図4のステップ105においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ106に進むと、混合気の空燃比と理論空燃比との差(以下この差を「空燃比差」という)ΔA/Fが算出される。次いで、ステップ107において、ステップ104で読み込まれた目標振幅TΔA/Fstとステップ106で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ104で読み込まれた目標振幅TΔA/Fstが達成されるように、ステップ102で算出された基準燃料噴射量Qbstを減量する量(以下この量を「減量補正量」という)ΔQdstが算出される。次いで、ステップ108において、ステップ102で算出された基準燃料噴射量Qbstがステップ107で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図4のステップ108で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図4のステップ105においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ110に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ111において、ステップ104で読み込まれた目標振幅TΔA/Fstとステップ110で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ104で読み込まれた目標振幅TΔA/Fstが達成されるように、ステップ102で算出された基準燃料噴射量Qbstを増量する量(以下この量を「増量補正量」という)ΔQistが算出される。次いで、ステップ112において、ステップ102で算出された基準燃料噴射量Qbstがステップ111で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図4のステップ112で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図4のステップ100においてストイキ制御の実行が要求されていないと判別され、ルーチンが図5のステップ113に進むと、混合気の空燃比を理論空燃比よりもリッチな空燃比に制御するリッチ制御の実行が要求されているか否かが判別される。ここで、リッチ制御の実行が要求されていると判別されたときには、ルーチンはステップ113A以降のステップに進み、リッチ制御が実行される。一方、リッチ制御の実行が要求されていない、すなわち、燃料噴射量を零にするフューエルカット制御の実行が要求されていると判別されたときには、ルーチンはステップ122以降のステップに進み、フューエルカット制御が実行される。
図5のステップ113においてリッチ制御の実行が要求されていると判別され、ルーチンがステップ113Aに進むと、図9のマップから機関回転数Nと機関負荷Lとに応じた目標とすべきリッチな空燃比(以下、この空燃比を「目標リッチ空燃比」)という)A/Frが読み込まれる。ここで、図9のマップは、リッチ制御において機関運転状態に応じて最適なリッチな空燃比が予め実験等によって求められ、このリッチな空燃比が機関回転数Nと機関負荷Lとの関数のマップの形で目標リッチ空燃比A/FrとしてECU70に記憶されたものである。ステップ113Aに次いで、ステップ114において、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗ずることによって吸気量が算出される。次いで、ステップ115において、ステップ114で算出された吸気量に基づいて混合気の空燃比をステップ113Aで読み込まれた目標リッチ空燃比A/Frにするために燃料噴射弁39から噴射させるべき燃料の量が基準リッチ燃料噴射量Qbrとして算出される。次いで、ステップ116において、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標リッチ空燃比A/Frよりも小さい(A/F<A/Fr)、すなわち、混合気の空燃比が目標リッチ空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Frであると判別されたときには、ルーチンはステップ117以降のステップに進み、混合気の空燃比を目標リッチ空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Frであると判別されたときには、ルーチンはステップ121以降のステップに進み、混合気の空燃比を目標リッチ空燃比よりもリッチにする処理が実行される。
図5のステップ116においてA/F<A/Frであると判別され、すなわち、混合気の空燃比が目標リッチ空燃比よりもリッチであると判別され、ルーチンがステップ117に進むと、混合気の空燃比と目標リッチ空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ118において、ステップ117で算出された空燃比差ΔA/Fを考慮したときに混合気の空燃比が目標リッチ空燃比よりもリーンになるように、ステップ115で算出された基準リッチ燃料噴射量Qbrを減量する量(減量補正量)ΔQdrが算出される。次いで、ステップ119において、ステップ115で算出された基準リッチ燃料噴射量Qbrがステップ118で算出された減量補正量ΔQdrだけ少なくされ(Qbr−ΔQdr)、この少なくされた基準リッチ燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図5のステップ119で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図5のステップ116においてA/F≧A/Frであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ121に進むと、混合気の空燃比と目標リッチ空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ122において、ステップ121で算出された空燃比差ΔA/Fを考慮したときに混合気の空燃比が目標リッチ空燃比よりもリッチになるように、ステップ115で算出された基準リッチ燃料噴射量Qbrを増量する量(増量補正量)ΔQirが算出される。次いで、ステップ123において、ステップ115で算出された基準リッチ燃料噴射量Qbrがステップ122で算出された増量補正量ΔQirだけ多くされ(Qbr+ΔQir)、この多くされた基準リッチ燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図5のステップ123で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図5のステップ113においてリッチ制御の実行が要求されていないと判別され、すなわち、フューエルカット制御の実行が要求されていると判別され、ルーチンがステップ124に進むと、フューエルカット制御において最適な吸気量がECU70から基準吸気量Gabfcとして読み込まれる。ここで、この基準吸気量Gabfcは、フューエルカット制御において最適な吸気量が予め実験等によって求められ、この吸気量が基準吸気量としてECU70に記憶されたものである。ステップ124に次いで、ステップ125において、目標燃料噴射量TQに零が入力される。次いで、ステップ126において、ステップ124で読み込まれた基準吸気量Gabfcが目標吸気量TGaに入力され、ルーチンが終了する。
そして、この場合、図5のステップ125で目標燃料噴射量TQが零に設定されていることから、燃料噴射弁39からは燃料が噴射されず、ステップ126で設定された目標吸気量TGaの空気が燃焼室25に吸入されるようにスロットル弁46の開度が制御される。
次に、第1実施形態に従った混合気の空燃比の制御を実行するフローチャートの別の一例について説明する。この例では、図6〜図8、および、図5のフローチャートが利用される。なお、図5のフローチャートは既に説明されているので、その詳細な説明は省略する。
図6のルーチンが開始されると、始めに、ステップ200において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ201以降のステップに進む。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ113以降のステップに進み、リッチ制御が実行されるか、或いは、フューエルカット制御が実行される。
図6のステップ200においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ201に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗ずることによって吸気量が算出される。次いで、ステップ202において、ステップ201で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ203において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ204において、ステップ203で推定された触媒温度Tcに応じた目標振幅TΔA/Fstが図3のマップから読み込まれる。次いで、ステップ205において、下流側空燃比センサ54が理論空燃比よりもリーンな空燃比を検出し続けている期間(以下この期間を「リーン継続期間」という)Tleanが算出される。次いで、ステップ206において、下流側空燃比センサが理論空燃比よりもリッチな空燃比を検出し続けている期間(以下この期間を「リッチ継続期間」という)Trichが算出される。次いで、ステップ207において、ステップ205で算出されたリーン継続期間Tleanが予め定められた期間Tthよりも短い(Tlean<Tth)か否かが判別される。ここで、Tlean<Tthであると判別されたときには、ルーチンはステップ208に進む。一方、Tlean≧Tthであると判別されたときには、ルーチンは図8のステップ223に進む。
図6のステップ207においてTlean<Tthであると判別され、すなわち、リーン継続期間が予め定められた期間よりも短いと判別され、ルーチンがステップ208に進むと、ステップ206で算出されたリッチ継続期間Trichが予め定められた期間Tthよりも短い(Trich<Tth)か否かが判別される。ここで、Trich<Tthであると判別されたときには、ルーチンは図7のステップ209に進む。一方、Trich≧Tthであると判別されたときには、ルーチンは図8のステップ217に進む。
図6のステップ207においてTlean<Tthであると判別され、且つ、図6のステップ208においてTrich<Tthであると判別され、すなわち、リーン継続期間もリッチ継続期間も予め定められた期間よりも短いと判別され、ルーチンが図7のステップ209に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ210以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ214以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図7のステップ209においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ210に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ211において、図6のステップ204で読み込まれた目標振幅TΔA/Fstとステップ210で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ204で読み込まれた目標振幅TΔA/Fstが達成されるように、図6のステップ202で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ212において、ステップ202で算出された基準燃料噴射量Qbstがステップ211で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図7のステップ212で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図7のステップ209においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ214に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ215において、図6のステップ204で読み込まれた目標振幅TΔA/Fstとステップ214で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ204で読み込まれた目標振幅TΔA/Fstが達成されるように、図6のステップ202で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ216において、ステップ202で算出された基準燃料噴射量Qbstがステップ215で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図7のステップ216で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図6のステップ207においてTlean≧Tthであると判別され、すなわち、リーン継続期間が予め定められた期間以上であると判別され、ルーチンが図8のステップ223に進むと、混合気の空燃比が理論空燃比よりもリッチとなり且つ図6のステップ204で読み込まれた目標振幅TΔA/Fstが達成されるように、図6のステップ202で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQirichが算出される。次いで、ステップ224において、ステップ202で算出された基準燃料噴射量Qbstがステップ223で算出された増量補正量ΔQirichだけ多くされ(Qbst+ΔQirich)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ226において、混合気の空燃比が理論空燃比よりもリッチに継続的に維持されている期間を示すカウンタCrichがインクリメントされる。次いで、ステップ227において、ステップ226でインクリメントされたカウンタCrichが予め定められた値Crichth以上になった(Crich≧Crichth)か否かが判別される。ここで、Crich<Crichthであると判別されたときには、ルーチンはステップ226に戻り、カウンタCrichがさらにインクリメントされる。一方、Crich≧Crichthであると判別されたときには、ルーチンはステップ228に進み、カウンタCrichがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ227において、カウンタCrichが予め定められた値Crichth以上になるまで、ステップ224で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が必要以上に吸蔵してしまっている酸素を放出し、三元触媒の酸素吸蔵能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図6のステップ208においてTrich≧Tthであると判別され、すなわち、リッチ継続期間が予め定められた期間以上であると判別され、ルーチンが図8のステップ217に進むと、混合気の空燃比が理論空燃比よりもリーンとなり且つ図6のステップ204で読み込まれた目標振幅TΔA/Fstが達成されるように、図6のステップ202で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdleanが算出される。次いで、ステップ218において、ステップ202で算出された基準燃料噴射量Qbstがステップ217で算出された減量補正量ΔQdleanだけ少なくされ(Qbst−ΔQdlean)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ220において、混合気の空燃比が理論空燃比よりもリーンに継続的に維持されている期間を示すカウンタCleanがインクリメントされる。次いで、ステップ221において、ステップ220でインクリメントされたカウンタCleanが予め定められた値Cleanth以上になった(Clean≧Cleanth)か否かが判別される。ここで、Clean<Cleanthであると判別されたときには、ルーチンはステップ220に戻り、カウンタCleanがさらにインクリメントされる。一方、Clean≧Cleanthであると判別されたときには、ルーチンはステップ222に進み、カウンタCleanがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ221において、カウンタCleanが予め定められた値Cleanth以上になるまで、ステップ218で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が十分な量の酸素を吸蔵し、三元触媒の酸素放出能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
ところで、上述した第1実施形態のストイキ制御では、混合気の空燃比が理論空燃比よりもリッチであるときに混合気の空燃比を理論空燃比よりもリーンにする度合(目標リーン度合)と、混合気の空燃比が理論空燃比よりもリーンであるときに混合気の空燃比を理論空燃比よりもリッチにする度合(目標リッチ度合)とを達成するために目標とすべき混合気の空燃比の振幅、すなわち、目標振幅が触媒温度(三元触媒52の温度)にのみ応じて設定される。しかしながら、この目標振幅が以下のように設定されてもよい。
すなわち、上述したように、三元触媒52はそこに流入する排気ガスの空燃比が理論空燃比よりもリーンであるときに排気ガス中の酸素を吸蔵すると共にそこに流入する排気ガスの空燃比が理論空燃比よりもリッチであるときに吸蔵している酸素を放出する酸素吸蔵・放出能力を有する。したがって、三元触媒に流入する排気ガスの空燃比が理論空燃比よりもリーンであるときには、三元触媒は排気ガス中の酸素を吸蔵する。しかしながら、三元触媒が単位時間当たりに吸蔵することができる酸素の量には限界がある。このため、流入する排気ガスの空燃比が理論空燃比よりもリーンであったとしても、流入する排気ガスの量が多いと、三元触媒は排気ガス中の酸素全てを吸蔵することができない可能性がある。したがって、上述したように、三元触媒の浄化性能を高く維持するためには理論空燃比を中心として理論空燃比よりもリーンな混合気と理論空燃比よりもリッチな混合気とを交互に燃焼室25に形成されることが好ましいが、このときの混合気の空燃比の振幅が過剰に大きくても、三元触媒の浄化性能は一定の浄化率よりも高くはならない。一方、混合気の空燃比の振幅が過剰に大きく、三元触媒に吸蔵されない酸素があると、この酸素によって三元触媒に堆積している未燃燃料が燃焼する。ここで、三元触媒52に吸蔵されない酸素が多いと、三元触媒に堆積している未燃燃料が一気に燃焼する可能性がある。そして、未燃燃料が一気に燃焼した場合、三元触媒が熱劣化する可能性がある。したがって、三元触媒の熱劣化を抑制するためには、三元触媒に流入する排気ガスの量が多いとき、すなわち、燃焼室25に吸入される空気の量(吸気量)が多いときには、三元触媒に流入する排気ガス中の酸素の量が少なくされるべきであると言える。そこで、本実施形態(以下「第2実施形態」という)のストイキ制御では、空燃比の振幅、すなわち、混合気の空燃比が理論空燃比を中心として理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返す振幅が以下のように設定される。
すなわち、上述したように、三元触媒52に流入する排気ガスの量、すなわち、燃焼室25に吸入される空気の量(吸気量)が多いほど三元触媒の熱劣化を招く可能性が高くなる。そこで、第2実施形態では、三元触媒に流入させたとしても三元触媒の熱劣化を招くことのない酸素の量および未燃燃料の量、すなわち、混合気の空燃比が理論空燃比よりもリーンにされたときの混合気の空燃比と混合気の空燃比が理論空燃比よりもリッチにされたときの混合気の空燃比との間の幅、すなわち、混合気の空燃比の振幅が吸気量に応じて予め実験等によって求められ、この振幅が図10(A)に示されているように吸気量Gaの関数のマップの形で基準振幅ΔA/FstとしてECU70に記憶されている。ここで、斯くして記憶されている基準振幅ΔA/Fstは、図10(A)から判るように、吸気量Gaが或る量Gathよりも少ないときには比較的大きい一定の値をとり、吸気量Gaが或る量Gathよりも多いときには吸気量Gaが多いほど小さい値をとる。
ところで、第1実施形態に関連して説明したように、三元触媒52の熱劣化を抑制するためには、触媒温度(三元触媒の温度)も考慮すべきである。すなわち、触媒温度が高いほど三元触媒において未燃燃料が一気に燃焼することから、触媒温度が高いほど三元触媒の熱劣化を招く可能性が高くなる。したがって、図10(A)のマップから吸気量Gaに応じて読み込まれた基準振幅ΔA/Fstでもって混合気の空燃比を理論空燃比よりもリーンにしたり理論空燃比よりもリッチにしたりしたときに、触媒温度によっては三元触媒が熱劣化する可能性がある。そこで、第2実施形態では、触媒温度を考慮したときに三元触媒の熱劣化を招くことのない空燃比の振幅の上限値が触媒温度に応じて予め実験等によって求められ、この上限値が図10(B)に示されているように触媒温度Tcの関数のマップの形で目標振幅上限値ΔA/FstgとしてECU70に記憶されている。ここで、斯くして記憶されている目標振幅上限値ΔA/Fstgは、図10(B)から判るように、触媒温度Tcが或る温度Tcthよりも低いときには比較的大きい一定の値をとり、触媒温度Tcが或る温度Tcthよりも高いときには触媒温度Tcが高いほど小さい値をとる。
そして、第2実施形態のストイキ制御では、図10(A)のマップから吸気量Gaに応じた基準振幅ΔA/Fstが読み込まれ、さらに、図10(B)のマップから触媒温度Tcに応じた目標振幅上限値ΔA/Fstgが読み込まれる。そして、これら基準振幅ΔA/Fstと目標振幅上限値ΔA/Fstgとが比較され、基準振幅が目標振幅上限値よりも小さいときには、図10(A)のマップから読み込まれた基準振幅ΔA/Fstがそのまま目標振幅に設定され、この設定された目標振幅が達成されるように、上述したように算出される基準燃料噴射量Qbstが補正される。詳細には、混合気の空燃比が理論空燃比よりもリッチであるときには、目標振幅TΔA/Fstが達成されるように、上述したように算出される基準燃料噴射量Qbstが少なくされ、混合気の空燃比が理論空燃比よりもリーンであるときには、目標振幅TΔA/Fstが達成されるように、上述したように算出される基準燃料噴射量Qbstが多くされる。そして、斯くして補正された基準燃料噴射量が目標燃料噴射量に設定され、この目標燃料噴射量の燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図10(A)のマップから読み込まれた基準振幅ΔA/Fstが図10(B)のマップから読み込まれた目標振幅上限値ΔA/Fstgよりも大きいときには、図10(B)のマップから読み込まれた目標振幅上限値ΔA/Fstgが目標振幅に設定され、この設定された目標振幅が達成されるように、上述したように算出される基準燃料噴射量Gbstが補正される。詳細には、混合気の空燃比が理論空燃比よりもリッチであるときには、目標振幅TΔA/Fstgが達成されるように、上述したように算出される基準燃料噴射量Qbstが少なくされ、混合気の空燃比が理論空燃比よりもリーンであるときには、目標振幅TΔA/Fstgが達成されるように、上述したように算出される基準燃料噴射量Qbstが多くされる。そして、斯くして補正された基準燃料噴射量が目標燃料噴射量に設定され、この目標燃料噴射量の燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
このように、吸気量および触媒温度(三元触媒52の温度)に応じて燃料噴射弁39から噴射される燃料の量が制御されることによって、三元触媒の熱劣化が抑制される。
なお、斯くして目標振幅が達成されるように基準燃料噴射量を補正するという考え方は、第1実施形態に関連して説明したように、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリッチである期間が比較的長いときに、一定期間、混合気の空燃比を理論空燃比よりもリーンに維持し、一方、下流側空燃比センサによって検出される空燃比が理論空燃比よりもリッチである期間が比較的長いときに、一定期間、混合気の空燃比を理論空燃比よりもリーンに維持する場合にも適用可能である。
次に、第2実施形態に従った混合気の空燃比の制御を実行するフローチャートの一例について説明する。第2実施形態の混合気の空燃比制御では、図11、図12、および、図5のフローチャートが利用される。なお、図5のフローチャートについては既に説明されているので、その説明は省略する。
図11のルーチンが開始されると、始めに、ステップ300において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ301以降のステップに進み、ストイキ制御が実行される。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ113以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチな空燃比に制御する制御(リッチ制御)が実行されるか、或いは、燃料噴射弁39からの燃料の噴射を停止する制御、すなわち、燃料噴射量を零にする制御(フューエルカット制御)が実行される。
図11のステップ300においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ301に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗ずることによって吸気量が算出される。次いで、ステップ302において、ステップ301で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ304において、ステップ301で算出された吸気量Gaに応じた基準振幅ΔA/Fstが図10(A)のマップから読み込まれる。次いで、ステップ305において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ306において、ステップ305で推定された触媒温度Tcに応じた目標振幅上限値ΔA/Fstgが図10(B)のマップから読み込まれる。次いで、図12のステップ307において、図11のステップ304で読み込まれた基準振幅ΔA/Fstが図11のステップ306で読み込まれた目標振幅上限値ΔA/Fstgよりも小さい(ΔA/Fst<ΔA/Fstg)か否かが判別される。ここで、ΔA/Fst<ΔA/Fstgであると判別されたときには、ルーチンはステップ308に進み、図11のステップ304で読み込まれた基準振幅ΔA/Fstが目標振幅TΔA/Fstに入力され、ルーチンがステップ309に進む。一方、ΔA/Fst≧ΔA/Fstgであると判別されたときには、ルーチンはステップ314に進み、図11のステップ306で読み込まれた目標振幅上限値ΔA/Fstgが目標振幅TΔA/Fstに入力され、ルーチンがステップ309に進む。
図12のステップ308またはステップ314が実行され、ルーチンがステップ309に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ310以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ315以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図12のステップ309においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ310に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ311において、ステップ308またはステップ314で設定された目標振幅TΔA/Fstとステップ310で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ308またはステップ314で設定された目標振幅TΔA/Fstが達成されるように、図11のステップ302で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ312において、図11のステップ302で算出された基準燃料噴射量Qbstがステップ311で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図12のステップ312で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図12のステップ309においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ315に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ316において、ステップ308またはステップ314で設定された目標振幅TΔA/Fstとステップ315で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ308またはステップ314で設定された目標振幅TΔA/Fstが達成されるように、図11のステップ302で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ317において、図11のステップ302で算出された基準燃料噴射量Qbstがステップ316で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図12のステップ317で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
次に、第2実施形態に従った混合気の空燃比の制御を実行するフローチャートの別の一例について説明する。この例では、図13〜図15、および、図5のフローチャートが利用される。なお、図5のフローチャートは既に説明されているので、その説明は省略する。
図13のルーチンが開始されると、始めに、ステップ400において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ401以降のステップに進む。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ113以降のステップに進み、リッチ制御が実行されるか、或いは、フューエルカット制御が実行される。
図13のステップ400においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ401に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗ずることによって吸気量が算出される。次いで、ステップ402において、ステップ401で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ404において、ステップ401で算出された吸気量Gaに応じた基準振幅ΔA/Fstが図10(A)のマップから読み込まれる。次いで、ステップ405において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ406において、ステップ405で推定された触媒温度Tcに応じた目標振幅上限値ΔA/Fstgが図10(B)のマップから読み込まれる。次いで、ステップ407において、ステップ404で読み込まれた基準振幅ΔA/Fstがステップ406で読み込まれた目標振幅上限値ΔA/Fstgよりも小さい(ΔA/Fst<ΔA/Fstg)か否かが判別される。ここで、ΔA/Fst<ΔA/Fstgであると判別されたときには、ルーチンはステップ408に進み、ステップ404で読み込まれた基準振幅ΔA/Fstが目標振幅TΔA/Fstに入力され、ルーチンがステップ409に進む。一方、ΔA/Fst≧ΔA/Fstgであると判別されたときには、ルーチンはステップ411に進み、ステップ406で読み込まれた目標振幅上限値ΔA/Fstgが目標振幅TΔA/Fstに入力され、ルーチンがステップ409に進む。
図13のステップ408またはステップ411が実行され、ルーチンがステップ409に進むと、下流側空燃比センサ54が理論空燃比よりもリーンな空燃比を検出し続けている期間(リーン継続期間)Tleanが算出される。次いで、ステップ410において、下流側空燃比センサが理論空燃比よりもリッチな空燃比を検出し続けている期間(リッチ継続期間)Trichが算出される。次いで、図14のステップ412において、図13のステップ409で算出されたリーン継続期間Tleanが予め定められた期間Tthよりも短い(Tlean<Tth)か否かが判別される。ここで、Tlean<Tthであると判別されたときには、ルーチンはステップ413に進む。一方、Tlean≧Tthであると判別されたときには、ルーチンは図15のステップ428に進む。
図14のステップ412においてTlean<Tthであると判別され、すなわち、リーン継続期間が予め定められた期間よりも短いと判別され、ルーチンがステップ413に進むと、図13のステップ410で算出されたリッチ継続期間Trichが予め定められた期間Tthよりも短い(Trich<Tth)か否かが判別される。ここで、Trich<Tthであると判別されたときには、ルーチンは図15のステップ422に進む。一方、Trich≧Tthであると判別されたときには、ルーチンはステップ414に進む。
図14のステップ412においてTlean<Tthであると判別され、且つ、図14のステップ413においてTrich<Tthであると判別され、すなわち、リーン継続期間もリッチ継続期間も予め定められた期間よりも短いと判別され、ルーチンがステップ414に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ415以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ419以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図14のステップ414においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ415に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ416において、図13のステップ408またはステップ411で設定された目標振幅TΔA/Fstとステップ415で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ408またはステップ411で設定された目標振幅TΔA/Fstが達成されるように、図13のステップ402で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ417において、図13のステップ402で算出された基準燃料噴射量Qbstがステップ416で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図14のステップ417で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図14のステップ414においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ419に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ420において、ステップ408またはステップ411で設定された目標振幅TΔA/Fstとステップ419で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ408またはステップ411で設定された目標振幅TΔA/Fstが達成されるように、図13のステップ402で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ421において、図13のステップ402で算出された基準燃料噴射量Qbstがステップ420で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図14のステップ421で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図14のステップ412においてTlean≧Tthであると判別され、すなわち、リーン継続期間が予め定められた期間以上であると判別され、ルーチンが図15のステップ428に進むと、混合気の空燃比が理論空燃比よりもリッチとなり且つ図13のステップ408またはステップ411で設定された目標振幅TΔA/Fstが達成されるように、図13のステップ402で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQirichが算出される。次いで、ステップ429において、ステップ402で算出された基準燃料噴射量Qbstがステップ428で算出された増量補正量ΔQirichだけ多くされ(Qbst+ΔQirich)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ431において、混合気の空燃比が理論空燃比よりもリッチに継続的に維持されている期間を示すカウンタCrichがインクリメントされる。次いで、ステップ432において、ステップ431でインクリメントされたカウンタCrichが予め定められた値Crichth以上になった(Crich≧Crichth)か否かが判別される。ここで、Crich<Crichthであると判別されたときには、ルーチンはステップ431に戻り、カウンタCrichがさらにインクリメントされる。一方、Crich≧Crichthであると判別されたときには、ルーチンはステップ433に進み、カウンタCrichがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ432において、カウンタCrichが予め定められた値Crichth以上になるまで、ステップ429で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が必要以上に吸蔵してしまっている酸素を放出し、三元触媒の酸素吸蔵能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図14のステップ413においてTrich≧Tthであると判別され、すなわち、リッチ継続期間が予め定められた期間以上であると判別され、ルーチンが図15のステップ422に進むと、混合気の空燃比が理論空燃比よりもリーンとなり且つ図13のステップ408またはステップ411で設定された目標振幅TΔA/Fstが達成されるように、図13のステップ402で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdleanが算出される。次いで、ステップ423において、ステップ402で算出された基準燃料噴射量Qbstがステップ422で算出された減量補正量ΔQdleanだけ少なくされ(Qbst−ΔQdlean)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ425において、混合気の空燃比が理論空燃比よりもリーンに継続的に維持されている期間を示すカウンタCleanがインクリメントされる。次いで、ステップ426において、ステップ425でインクリメントされたカウンタCleanが予め定められた値Cleanth以上になった(Clean≧Cleanth)か否かが判別される。ここで、Clean<Cleanthであると判別されたときには、ルーチンはステップ425に戻り、カウンタCleanがさらにインクリメントされる。一方、Clean≧Cleanthであると判別されたときには、ルーチンはステップ427に進み、カウンタCleanがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ426において、カウンタCleanが予め定められた値Cleanth以上になるまで、ステップ423で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が十分な量の酸素を吸蔵し、三元触媒の酸素放出能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
なお、第1実施形態に関連して説明したように、理論空燃比よりもリーンな排気ガスと理論空燃比よりもリッチな排気ガスとが交互に三元触媒52に流入するように、理論空燃比よりもリーンな混合気と理論空燃比よりもリッチな空燃比とが交互に燃焼室25に形成されると、三元触媒の浄化性能が高く維持される。ここで、一般的には、空燃比の振幅、すなわち、混合気の空燃比が理論空燃比を中心として理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返す振幅が大きいほど、三元触媒の浄化性能が高く維持される。したがって、この観点を考慮すると、第1実施形態および第2実施形態のストイキ制御では、触媒温度に応じて空燃比の振幅が小さくされることから、その分だけ三元触媒の浄化性能が低くなるとも言える。しかしながら、一般的には、三元触媒の浄化性能は触媒温度が高いほど高くなる。そして、上述した第1実施形態および第2実施形態のストイキ制御では、触媒温度が高くなるほど空燃比の振幅が小さくされる。したがって、第1実施形態および第2実施形態では、触媒温度が高く、三元触媒の浄化性能が高いときに、空燃比の振幅が小さくされることから、三元触媒の浄化性能が十分に高く維持される。
また、上述した第1実施形態は混合気の空燃比を理論空燃比に制御するストイキ制御において混合気の空燃比の振幅を触媒温度に応じて制御し、上述した第2実施形態は混合気の空燃比を理論空燃比に制御するストイキ制御において混合気の空燃比の振幅を吸気量および触媒温度に応じて制御するものである。しかしながら、第1実施形態または第2実施形態のストイキ制御における空燃比の振幅の設定に関する考え方は、混合気の空燃比を理論空燃比よりもリッチな空燃比に制御する制御にも適用可能である。すなわち、目標とする空燃比が理論空燃比よりもリッチな空燃比(以下この空燃比を「目標リッチ空燃比」という)とされ、混合気の空燃比が目標リッチ空燃比よりもリッチであるときに混合気の空燃比が目標リッチ空燃比よりもリーンになり且つ理論空燃比よりもリーンになるように制御されると共に、混合気の空燃比が目標リッチ空燃比よりもリーンであるときに混合気の空燃比が目標リッチ空燃比よりもリッチになり且つ理論空燃比よりもリッチになるように制御される制御において、混合気の空燃比が目標リッチ空燃比を中心として目標リッチ空燃比よりも一定の度合だけリーンな空燃比と目標リッチ空燃比よりも一定の度合だけリッチな空燃比とを交互に繰り返す振幅の設定にも、第1実施形態または第2実施形態のストイキ制御における振幅の設定に関する考え方は適用可能である。
また、第1実施形態または第2実施形態のストイキ制御における混合気の空燃比の振幅の設定に関する考え方は、混合気の空燃比を理論空燃比よりもリーンな空燃比に制御する制御にも適用可能である。すなわち、目標とする空燃比が理論空燃比よりもリーンな空燃比(以下この空燃比を「目標リーン空燃比」という)とされ、混合気の空燃比が目標リーン空燃比よりもリッチであるときに混合気の空燃比が目標リーン空燃比よりもリーンになり且つ理論空燃比よりもリーンになるように制御されると共に、混合気の空燃比が目標リーン空燃比よりもリーンであるときに混合気の空燃比が目標リーン空燃比よりもリッチになり且つ理論空燃比よりもリッチになるように制御される制御において、混合気の空燃比が目標リーン空燃比を中心として目標リーン空燃比よりも一定の度合だけリーンな空燃比と目標リーン空燃比よりも一定の度合だけリッチな空燃比とを交互に繰り返す振幅の設定にも、第1実施形態または第2実施形態のストイキ制御における混合気の空燃比の振幅の設定に関する考え方は適用可能である。
また、上述した第1実施形態および第2実施形態は、三元触媒の酸素吸蔵・放出能力を発揮させて三元触媒の浄化性能を高く維持するために理論空燃比よりもリーンな混合気と理論空燃比よりもリッチな混合気とが交互に燃焼室に形成されるストイキ制御における混合気の空燃比の振幅の設定に関する。しかしながら、特定の目的で理論空燃比よりもリーンな混合気と理論空燃比よりもリッチな混合気とが交互に燃焼室に形成される場合にも、第1実施形態および第2実施形態の混合気の空燃比の振幅の設定に関する考え方は適用可能である。
また、上述した第1実施形態のストイキ制御では、触媒温度(三元触媒の温度)に関係なく常に触媒温度に応じて設定される混合気の空燃比の振幅を目標振幅として利用している。しかしながら、触媒温度が或る温度よりも高いときにのみ触媒温度に応じて設定される混合気の空燃比の振幅を利用し、触媒温度が或る温度よりも低いときには触媒温度以外のパラメータによって設定される混合気の空燃比の振幅を利用するようにしてもよい。
また、上述した第1実施形態のストイキ制御において、触媒温度(三元触媒の温度)に応じて設定される混合気の空燃比の振幅は、触媒温度が比較的低い或る温度よりも低いときを除いて、触媒温度が高くなるほど小さい値に設定される。しかしながら、触媒温度が上記比較的低い或る温度よりも高いが比較的高い或る温度よりも低いときには混合気の空燃比の振幅が比較的大きい一定の振幅に設定され、触媒温度が上記比較的高い或る温度よりも高いときには混合気の空燃比の振幅が比較的小さい一定の振幅に設定されてもよい。
また、上述した第2実施形態のストイキ制御において、吸気量に応じて設定される混合気の空燃比の振幅は、吸気量が比較的少ない或る量よりも少ないときを除いて、吸気量が多くなるほど小さい値に設定される。しかしながら、吸気量が上記比較的少ない或る量よりも多いが比較的多い或る量よりも少ないときには混合気の空燃比の振幅が比較的大きい一定の振幅に設定され、吸気量が上記比較的多い或る量よりも多いときには混合気の空燃比の振幅が比較的小さい一定の振幅に設定されてもよい。
また、上述した第1実施形態では、触媒温度(三元触媒の温度)に関係なく、ストイキ制御中、常に触媒温度に応じて設定される空燃比の振幅(混合気の空燃比が理論空燃比を中心として理論空燃比よりもリーンな空燃比と理論空燃比よりもリッチな空燃比とを交互に繰り返すときの空燃比の振幅)が目標振幅に設定される。しかしながら、ストイキ制御中、触媒温度が予め定められた温度よりも高いときのみ、第1実施形態に従って目標振幅が設定され、触媒温度が予め定められた温度よりも低いときには、触媒温度に関係なく一定値の振幅が目標振幅に設定されてもよい。
また、上述した第2実施形態でも、触媒温度に関係なく、ストイキ制御中、常に吸気量に応じて空燃比の振幅が設定されると共に触媒温度に応じて空燃比の振幅が設定され、これらいずれかの振幅が目標振幅に設定される。しかしながら、ストイキ制御中、触媒温度が予め定められた温度よりも高いときにのみ、第2実施形態に従って目標振幅が設定され、触媒温度が予め定められた温度よりも低いときには、触媒温度に関係なく一定値の振幅が目標振幅に設定されてもよい。
最後に、この実施形態(以下「第3実施形態」という)に従った混合気の空燃比の制御を実行するフローチャートの一例について説明する。第3実施形態の混合気の空燃比制御では、例えば、図5、および、図16〜図18のフローチャートが利用される。なお、図5のフローチャートについて既に説明されているのでその説明は省略する。
図16のルーチンが開始されると、始めに、ステップ500において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ501以降のステップに進み、ストイキ制御が実行される。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ113以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチに制御する制御(リッチ制御)が実行されるか、或いは、燃料噴射弁39からの燃料の噴射を停止する制御、すなわち、燃料噴射量を零にする制御(フューエルカット制御)が実行される。
図16のステップ500においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ501に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗算することによって吸気量が算出される。次いで、ステップ502において、ステップ501で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ503において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ504において、ステップ503で推定された触媒温度Tcが予め定められた温度Tcbよりも高い(Tc>Tcb)か否かが判別される。ここで、Tc>Tcbであると判別されたときには、ルーチンがステップ506以降のステップに進む。一方、Tc≦Tcbであると判別されたときには、ルーチンが図18のステップ519に進む。
図16のステップ504においてTc>Tcbであると判別され、ルーチンがステップ506に進むと、ステップ501で算出された吸気量Gaに応じた基準振幅ΔA/Fstが図10(A)のマップから読み込まれる。次いで、ステップ507において、ステップ503で推定された触媒温度Tcに応じた目標振幅上限値ΔA/Fstgが図10(B)のマップから読み込まれる。次いで、図17のステップ508において、図16のステップ506で読み込まれた基準振幅ΔA/Fstが図16のステップ507で読み込まれた目標振幅上限値ΔA/Fstgよりも小さい(ΔA/Fst<ΔA/Fstg)か否かが判別される。ここで、ΔA/Fst<ΔA/Fstgであると判別されたときには、ルーチンはステップ509に進み、図16のステップ506で読み込まれた基準振幅ΔA/Fstが目標振幅TΔA/Fstに入力され、ルーチンがステップ510に進む。一方、ΔA/Fst≧ΔA/Fstgであると判別されたときには、ルーチンはステップ515に進み、図16のステップ507で読み込まれた目標振幅上限値ΔA/Fstgが目標振幅TΔA/Fstに入力され、ルーチンがステップ510に進む。
図17のステップ509またはステップ515が実行され、ルーチンがステップ510に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ511以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ516以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図17のステップ510においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ511に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ512において、ステップ509またはステップ515で設定された目標振幅TΔA/Fstとステップ511で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ509またはステップ515で設定された目標振幅TΔA/Fstが達成されるように、図16のステップ502で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ513において、図16のステップ502で算出された基準燃料噴射量Qbstがステップ512で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図17のステップ513で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図17のステップ510においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ516に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ517において、ステップ509またはステップ515で設定された目標振幅TΔA/Fstとステップ516で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ509またはステップ515で設定された目標振幅TΔA/Fstが達成されるように、図16のステップ502で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ518において、図16のステップ502で算出された基準燃料噴射量Qbstがステップ517で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図17のステップ518で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図16のステップ504においてTc≦Tcbであると判別され、ルーチンが図18のステップ519に進むと、触媒温度Tcが上記予め定められた温度Tcb以下であるときのストイキ制御に最適な混合気の空燃比の振幅がECU70から基準振幅ΔA/Fstbとして読み込まれる。ここで、この基準振幅ΔA/Fstbは、触媒温度が上記予め定められた温度以下であるときのストイキ制御において最適な混合気の空燃比の振幅が予め実験等によって求められ、この振幅が基準振幅としてECU70に記憶されたものである。ステップ519に次いで、ステップ520において、ステップ519で読み込まれた基準振幅ΔA/Fstbが目標振幅TΔA/Fstに入力される。次いで、ステップ521において、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ522以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ526以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図18のステップ521においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ522に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ523において、ステップ520で設定された目標振幅TΔA/Fstとステップ522で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ520で設定された目標振幅TΔA/Fstが達成されるように、図16のステップ502で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ524において、図16のステップ502で算出された基準燃料噴射量Qbstがステップ523で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、ステップ524で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図18のステップ521においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ526に進むと、混合気の空燃比と理論空燃比との差(空燃比さ)ΔA/Fが算出される。次いで、ステップ527において、ステップ520で設定された目標振幅TΔA/Fstとステップ526で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ520で設定された目標振幅TΔA/Fstが達成されるように、図16のステップ502で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ528において、図16のステップ502で算出された基準燃料噴射量Qbstがステップ527で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図18のステップ528で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
次に、第3実施形態に従った混合気の空燃比の制御を実行するフローチャートの別の一例について説明する。この例では、図19〜図22、および、図5のフローチャートが利用される。なお、図5のフローチャートは既に説明されているので、その説明は省略する。
図19のルーチンが開始されると、始めに、ステップ600において、ストイキ制御の実行が要求されているか否かが判別される。ここで、ストイキ制御の実行が要求されていると判別されたときには、ルーチンはステップ601以降のステップに進む。一方、ストイキ制御の実行が要求されていないと判別されたときには、ルーチンは図5のステップ113以降のステップに進み、リッチ制御が実行されるか、或いは、フューエルカット制御が実行される。
図19のステップ600においてストイキ制御の実行が要求されていると判別され、ルーチンがステップ601に進むと、エアフローメータ61によって検出される空気の量に上記吸気量算出係数を乗ずることによって吸気量が算出される。次いで、ステップ602において、ステップ601で算出された吸気量に基づいて混合気の空燃比を理論空燃比にするために燃料噴射弁39から噴射させるべき燃料の量が基準燃料噴射量Qbstとして算出される。次いで、ステップ603において、触媒温度(三元触媒52の温度)Tcが推定される。次いで、ステップ604において、ステップ603で推定された触媒温度Tcが予め定められた温度Tcbよりも高い(Tc>Tcb)か否かが判別される。ここで、Tc>Tcbであると判別されたときには、ルーチンがステップ606以降のステップに進む。一方、Tc≦Tcbであると判別されたときには、ルーチンが図21のステップ623に進む。
図19のステップ604においてTc>Tcbであると判別され、ルーチンがステップ606に進むと、ステップ601で算出された吸気量Gaに応じた基準振幅ΔA/Fstが図10(A)のマップから読み込まれる。次いで、ステップ607において、ステップ603で推定された触媒温度Tcに応じた目標振幅上限値ΔA/Fstgが図10(B)のマップから読み込まれる。次いで、ステップ608において、ステップ606で読み込まれた基準振幅ΔA/Fstがステップ607で読み込まれた目標振幅上限値ΔA/Fstgよりも小さい(ΔA/Fst<ΔA/Fstg)か否かが判別される。ここで、ΔA/Fst<ΔA/Fstgであると判別されたときには、ルーチンはステップ609に進み、ステップ606で読み込まれた基準振幅ΔA/Fstが目標振幅TΔA/Fstに入力され、ルーチンが図20のステップ611に進む。一方、ΔA/Fst≧ΔA/Fstgであると判別されたときには、ルーチンはステップ610に進み、ステップ607で読み込まれた目標振幅上限値ΔA/Fstgが目標振幅TΔA/Fstに入力され、ルーチンが図20のステップ611に進む。
図19のステップ609またはステップ610が実行され、ルーチンが図20のステップ611に進むと、下流側空燃比センサ54が理論空燃比よりもリーンな空燃比を検出し続けている期間(リーン継続期間)Tleanが算出される。次いで、ステップ612において、下流側空燃比センサが理論空燃比よりもリッチな空燃比を検出し続けている期間(リッチ継続期間)Trichが算出される。次いで、ステップ613において、ステップ611で算出されたリーン継続期間Tleanが予め定められた期間Tthよりも短い(Tlean<Tth)か否かが判別される。ここで、Tlean<Tthであると判別されたときには、ルーチンはステップ614に進む。一方、Tlean≧Tthであると判別されたときには、ルーチンは図22のステップ643に進む。
図20のステップ613においてTlean<Tthであると判別され、すなわち、リーン継続期間が予め定められた期間よりも短いと判別され、ルーチンがステップ614に進むと、ステップ612で算出されたリッチ継続期間Trichが予め定められた期間Tthよりも短い(Trich<Tth)か否かが判別される。ここで、Trich<Tthであると判別されたときには、ルーチンはステップ615に進む。一方、Trich≧Tthであると判別されたときには、ルーチンは図22のステップ637に進む。
図20のステップ613においてTlean<Tthであると判別され、且つ、図20のステップ614においてTrich<Tthであると判別され、すなわち、リーン継続期間もリッチ継続期間も予め定められた期間よりも短いと判別され、ルーチンがステップ615に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ616以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ620以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図20のステップ615においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ616に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ617において、図19のステップ609またはステップ610で設定された目標振幅TΔA/Fstとステップ616で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ609またはステップ610で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ618において、図19のステップ602で算出された基準燃料噴射量Qbstがステップ617で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図20のステップ618で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図20のステップ615においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ620に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ621において、ステップ609またはステップ610で設定された目標振幅TΔA/Fstとステップ620で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ609またはステップ610で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ622において、図19のステップ602で算出された基準燃料噴射量Qbstがステップ621で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図20のステップ622で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。これによれば、吸気量および触媒温度(三元触媒52の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図19のステップ604においてTc≦Tcbであると判別され、ルーチンが図21のステップ623に進むと、触媒温度Tcが上記予め定められた温度Tcb以下であるときのストイキ制御に最適な混合気の空燃比の振幅がECU70から基準振幅ΔA/Fstbとして読み込まれる。ここで、この基準振幅ΔA/Fstbは、触媒温度が上記予め定められた温度以下であるときのストイキ制御において最適な混合気の空燃比の振幅が予め実験等によって求められ、この振幅が基準振幅としてECU70に記憶されたものである。ステップ623に次いで、ステップ624において、ステップ623で読み込まれた基準振幅ΔA/Fstbが目標振幅TΔA/Fstに入力される。次いで、ステップ625において、下流側空燃比センサ54が理論空燃比よりもリーンな空燃比を検出し続けている期間(リーン継続期間)Tleanが算出される。次いで、ステップ626において、下流側空燃比センサが理論空燃比よりもリッチな空燃比を検出し続けている期間(リッチ継続期間)Trichが算出される。次いで、ステップ627において、ステップ625で算出されたリーン継続期間Tleanが予め定められた期間Tthよりも短い(Tlean<Tth)か否かが判別される。ここで、Tlean<Tthであると判別されたときには、ルーチンはステップ628に進む。一方、Tlean≧Tthであると判別されたときには、ルーチンは図22のステップ643に進む。
図21のステップ627においてTlean<Tthであると判別され、すなわち、リーン継続期間が予め定められた期間よりも短いと判別され、ルーチンがステップ628に進むと、ステップ626で算出されたリッチ継続期間Trichが予め定められた期間Tthよりも短い(Trich<Tth)か否かが判別される。ここで、Trich<Tthであると判別されたときには、ルーチンはステップ629に進む。一方、Trich≧Tthであると判別されたときには、ルーチンは図22のステップ637に進む。
図21のステップ627においてTlean<Tthであると判別され、且つ、図21のステップ628においてTrich<Tthであると判別され、すなわち、リーン継続期間もリッチ継続期間も予め定められた期間よりも短いと判別され、ルーチンがステップ629に進むと、検出空燃比(上流側空燃比センサ53によって検出される空燃比)、すなわち、混合気の空燃比が目標空燃比である理論空燃比よりも小さい(A/F<A/Fst)か否か、すなわち、混合気の空燃比が理論空燃比よりもリッチであるか否かが判別される。ここで、A/F<A/Fstであると判別されたときには、ルーチンはステップ630以降のステップに進み、混合気の空燃比を理論空燃比よりもリーンにする処理が実行される。一方、A/F≧A/Fstであると判別されたとき、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別されたときには、ルーチンはステップ634以降のステップに進み、混合気の空燃比を理論空燃比よりもリッチにする処理が実行される。
図21のステップ629においてA/F<A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリッチであると判別され、ルーチンがステップ630に進むと、混合気の空燃比と理論空燃比との差(空燃比差)ΔA/Fが算出される。次いで、ステップ631において、ステップ624で設定された目標振幅TΔA/Fstとステップ630で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリーンとなり且つステップ624で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdstが算出される。次いで、ステップ632において、図19のステップ602で算出された基準燃料噴射量Qbstがステップ631で算出された減量補正量ΔQdstだけ少なくされ(Qbst−ΔQdst)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、ステップ632で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図21のステップ629においてA/F≧A/Fstであると判別され、すなわち、混合気の空燃比が理論空燃比よりもリーンであると判別され、ルーチンがステップ634に進むと、混合気の空燃比と理論空燃比との差(空燃比さ)ΔA/Fが算出される。次いで、ステップ635において、ステップ624で設定された目標振幅TΔA/Fstとステップ634で算出された空燃比差ΔA/Fとを考慮したときに混合気の空燃比が理論空燃比よりもリッチになり且つステップ624で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQistが算出される。次いで、ステップ636において、図19のステップ602で算出された基準燃料噴射量Qbstがステップ635で算出された増量補正量ΔQistだけ多くされ(Qbst+ΔQist)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力され、ルーチンが終了する。
そして、この場合、図21のステップ636で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御される。
一方、図20のステップ613においてTlean≧Tthであると判別され、すなわち、リーン継続期間が予め定められた期間以上であると判別され、ルーチンが図22のステップ643に進むと、混合気の空燃比が理論空燃比よりもリッチとなり且つ図19のステップ609またはステップ610で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQirichが算出される。次いで、ステップ644において、ステップ602で算出された基準燃料噴射量Qbstがステップ643で算出された増量補正量ΔQirichだけ多くされ(Qbst+ΔQirich)、この多くされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ646において、混合気の空燃比が理論空燃比よりもリッチに継続的に維持されている期間を示すカウンタCrichがインクリメントされる。次いで、ステップ647において、ステップ646でインクリメントされたカウンタCrichが予め定められた値Crichth以上になった(Crich≧Crichth)か否かが判別される。ここで、Crich<Crichthであると判別されたときには、ルーチンはステップ646に戻り、カウンタCrichがさらにインクリメントされる。一方、Crich≧Crichthであると判別されたときには、ルーチンはステップ648に進み、カウンタCrichがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ647において、カウンタCrichが予め定められた値Crichth以上になるまで、ステップ644で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が必要以上に吸蔵してしまっている酸素を放出し、三元触媒の酸素吸蔵能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図20のステップ614においてTrich≧Tthであると判別され、すなわち、リッチ継続期間が予め定められた期間以上であると判別され、ルーチンが図22のステップ637に進むと、混合気の空燃比が理論空燃比よりもリーンとなり且つ図19のステップ609またはステップ610で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdleanが算出される。次いで、ステップ638において、ステップ602で算出された基準燃料噴射量Qbstがステップ637で算出された減量補正量ΔQdleanだけ少なくされ(Qbst−ΔQdlean)、この少なくされた基準燃料噴射量が目標燃料噴射量TQに入力される。次いで、ステップ640において、混合気の空燃比が理論空燃比よりもリーンに継続的に維持されている期間を示すカウンタCleanがインクリメントされる。次いで、ステップ641において、ステップ640でインクリメントされたカウンタCleanが予め定められた値Cleanth以上になった(Clean≧Cleanth)か否かが判別される。ここで、Clean<Cleanthであると判別されたときには、ルーチンはステップ640に戻り、カウンタCleanがさらにインクリメントされる。一方、Clean≧Cleanthであると判別されたときには、ルーチンはステップ642に進み、カウンタCleanがクリアされ、ルーチンが終了する。
すなわち、このとき、ステップ641において、カウンタCleanが予め定められた値Cleanth以上になるまで、ステップ638で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が十分な量の酸素を吸蔵し、三元触媒の酸素放出能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図21のステップ627においてTlean≧Tthであると判別され、すなわち、リーン継続期間が予め定められた期間以上であると判別され、ルーチンが図22のステップ643に進むと、混合気の空燃比が理論空燃比よりもリッチとなり且つ図21のステップ624で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを増量する量(増量補正量)ΔQirichが算出される。そして、これ以降、上述したように、ステップ644〜ステップ648が実行される。
このときにも、ステップ647において、カウンタCrichが予め定められた値Crichth以上になるまで、ステップ644で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が必要以上に吸蔵してしまっている酸素を放出し、三元触媒の酸素吸蔵能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の未燃燃料しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。
一方、図21のステップ628においてTrich≧Tthであると判別され、すなわち、リッチ継続期間が予め定められた期間以上であると判別され、ルーチンが図22のステップ637に進むと、混合気の空燃比が理論空燃比よりもリーンとなり且つ図21のステップ624で設定された目標振幅TΔA/Fstが達成されるように、図19のステップ602で算出された基準燃料噴射量Qbstを減量する量(減量補正量)ΔQdleanが算出される。そして、これ以降、上述したように、ステップ638〜ステップ642が実行される。
このときにも、ステップ641において、カウンタCleanが予め定められた値Cleanth以上になるまで、ステップ638で設定された目標燃料噴射量TQの燃料が燃料噴射弁39から噴射されるように燃料噴射弁の動作が制御され続ける。これによれば、三元触媒52が十分な量の酸素を吸蔵し、三元触媒の酸素放出能力が回復されると共に、触媒温度(三元触媒の温度)に応じて三元触媒の熱劣化を招くことのない量の酸素しか三元触媒に流入しないことから、三元触媒の熱劣化が抑制される。