(57)【要約】【課題】高価な広域空燃比センサを用いることなく、燃料カット中における第２触媒の酸素ストレージ量の推定を可能とし得るエンジンの空燃比制御装置を提供する。【解決手段】第１触媒（２１）と、第２触媒（２５）と、フロント空燃比センサ（２２）と、このフロント空燃比センサの出力に基づいて第１触媒の酸素ストレージ量を推定し、この第１触媒の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カット中に第２触媒（２５）の酸素ストレージ量を推定する第２触媒酸素ストレージ量推定手段（１１）と、燃料カットリカバーに際しこの第２触媒（２５）の酸素ストレージ量推定値に基づいて空燃比リッチ化処理を行う空燃比リッチ化処理手段（１１、６）とを備える。【選択図】図１
2008121530.tif 000002
【特許請求の範囲】
【請求項１】
排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第１触媒と、
前記第１触媒の下流に配置され同じく排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第２触媒と、
前記第１触媒上流に設置したフロント空燃比センサと、
このフロント空燃比センサの出力に基づいて前記第１触媒の酸素ストレージ量を推定し、この第１触媒の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段と
を備えるエンジンの空燃比制御装置において、
燃料カット中に前記第２触媒の酸素ストレージ量を推定する第２触媒酸素ストレージ量推定手段と、
燃料カットリカバーに際しこの第２触媒の酸素ストレージ量推定値に基づいて空燃比リッチ化処理を行う空燃比リッチ化処理手段と
を備えることを特徴とするエンジンの空燃比制御装置。
【請求項２】
前記第１触媒下流で前記第２触媒上流に設置したリア空燃比センサを備え、
前記第２触媒酸素ストレージ量推定手段は、燃料カットリカバー後に前記リア空燃比センサ出力がストイキよりリーンに切換わったタイミングより前記第２触媒に所定値ずつ酸素がストレージされるとみなして前記第２触媒の酸素ストレージ量を推定することを特徴とする請求項１に記載のエンジンの空燃比制御装置。
【請求項３】
前記第１触媒下流で前記第２触媒上流に設置したリア空燃比センサを備え、
前記第２触媒酸素ストレージ量推定手段は、燃料カットリカバー後に前記リア空燃比センサ出力がストイキよりリーンに切換わったタイミングよりエンジン回転速度の積算値または吸入空気量の積算値に基づいて前記第２触媒の酸素ストレージ量を推定することを特徴とする請求項１に記載のエンジンの空燃比制御装置。
【請求項４】
前記第２触媒の酸素ストレージ量の推定は燃料カットの終了タイミングまでであることを特徴とする請求項３に記載のエンジンの空燃比制御装置。
【請求項５】
大気圧に応じても前記第２触媒の酸素ストレージ量を推定することを特徴とする請求項３または４に記載のエンジンの空燃比制御装置。
【請求項６】
前記空燃比リッチ化処理手段は、前記第１触媒の酸素ストレージ推定量が最小値となるように第１リッチ化処理を行う第１リッチ化処理手段と、前記第１リッチ化処理手段により第１触媒の酸素ストレージ推定量が最小値となった後に前記第２触媒の酸素ストレージ推定量が目標値となるように第２リッチ化処理を行う第２リッチ化処理手段とを備え、
前記第２リッチ化処理における空燃比リッチ化程度を燃料カット中における前記第２触媒の酸素ストレージ量推定値に基づいて設定することを特徴とする請求項１に記載のエンジンの空燃比制御装置。
【請求項７】
前記空燃比リッチ化処理手段は、前記第１触媒の酸素ストレージ推定量が最小値となるように第１リッチ化処理を行う第１リッチ化処理手段と、前記第１リッチ化処理手段により第１触媒の酸素ストレージ推定量が最小値となった後に前記第２触媒の酸素ストレージ推定量が目標値となるように第２リッチ化処理を行う第２リッチ化処理手段とを備え、
前記第２空燃比リッチ化処理における空燃比リッチ化時間を燃料カット中における前記第２触媒の酸素ストレージ量推定値に基づいて設定することを特徴とする請求項１に記載のエンジンの空燃比制御装置。
【請求項８】
前記燃料カットリカバー後に前記リア空燃比センサ出力がリーンよりリッチに切換わったタイミングよりエンジン回転速度の積算値または吸入空気量の積算値と、前記フロント空燃比センサ出力とに基づいて前記第２触媒の酸素ストレージ量を推定し、この第２触媒の酸素ストレージ量推定値に基づいて前記第２リッチ化処理を終了するか否かを判定することを特徴とする請求項６または７に記載のエンジンの空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はエンジン（内燃機関）の空燃比制御装置、特に燃料カットリカバー直後のＮＯｘの抑制に関するものである。
【背景技術】
【０００２】
排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第１触媒と、同じく排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第２触媒であって前記第１触媒の下流に配置される第２触媒と、前記第１触媒上流に設置したフロント空燃比センサと、このフロント空燃比センサの出力に基づいて前記第１触媒の酸素ストレージ量を推定し、この第１触媒の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カットによって第１触媒、第２触媒の２つの触媒とも酸素ストレージ量が最大値となった後の燃料カットリカバー時に空燃比のリッチ化処理を開始すると共に、第１触媒の酸素ストレージ量が最小値になった後も空燃比のリッチ化処理を延長するようにしたものがある（特許文献１参照）。
【０００３】
燃料カットリカバー時に空燃比リッチ化処理を開始した後に、第１触媒下流で第２触媒上流に設置したリア空燃比センサの出力がリーンよりリッチに切換わったとき直ちに空燃比リッチ化処理を終了するのでは、第２触媒の酸素ストレージ量が最大値のままとなり、この状態の第２触媒に、第１触媒で還元されなかったＮＯｘを含んだ排気が流れてきたときこのＮＯｘは還元されないまま第２触媒の下流に放出されてしまうこととなる。これは、ＮＯｘを還元するにはＮＯｘから酸素を奪うことであるが、酸素ストレージ量が最大値の状態、つまり酸素が飽和状態にまでストレージされている状態になると、ＮＯｘから酸素を奪ってストレージできる余地がなくなり、従ってＮＯｘを還元できなくなってしまうためである。
【０００４】
そこで、特許文献１の技術では、リア空燃比センサ出力がリーンよりリッチに切換わった後にまで空燃比リッチ化処理を延長して、ＨＣ、ＣＯを多く含んだ排気を第２触媒に流し、これらＨＣ、ＣＯを浄化（酸化）させるめに第２触媒にストレージしている酸素を消費させ、第２触媒の酸素ストレージ量を中間程度にまで減らようにしている。
【特許文献１】特開平２００５−２６４７５１公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１の技術では、リア空燃比センサにより検出される空燃比（触媒後空燃比）と制御切換判定値Ｋｓとを比較し、リア空燃比センサにより検出される空燃比が制御切換判定値Ｋｓ以上であるあいだ、第１触媒前制御空燃比Ｋｆとして１４．１を設定することによって空燃比リッチ化処理を延長しているように思われる。従って、必ずしも第２触媒の酸素ストレージ量を推定しているわけでない。
【０００６】
しかしながら、燃料カットリカバー後に第２触媒の酸素ストレージ量を精度良く目標値へと戻すには第２触媒の酸素ストレージ量を推定することが必要である。
【０００７】
一方、上記特許文献１の技術によれば、リア空燃比センサとしては、２値的に切換わる酸素センサでなく、空燃比を検出することの可能な、いわゆる広域空燃比センサを用いる必要がある。しかしながら、高価な広域空燃比センサを用いて空燃比リッチ化処理をどのていど延長するのか否かを判定するのでは、コスト面で不利なシステムとなってしまう。
【０００８】
そこで本発明は、高価な広域空燃比センサを用いることなく、燃料カット中における第２触媒の酸素ストレージ量の推定を可能とし得るエンジンの空燃比制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第１触媒と、前記第１触媒の下流に配置され同じく排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第２触媒と、前記第１触媒上流に設置したフロント空燃比センサと、このフロント空燃比センサの出力に基づいて前記第１触媒の酸素ストレージ量を推定し、この第１触媒の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カット中に前記第２触媒の酸素ストレージ量を推定し、燃料カットリカバーに際しこの第２触媒の酸素ストレージ量推定値に基づいて空燃比リッチ化処理を行うように構成する。
【発明の効果】
【００１０】
第１の発明によれば、排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第１触媒と、同じく排気空燃比に応じて排気中の酸素を取り込み、あるいは放出する酸素ストレージ能力のある第２触媒であって前記第１触媒の下流に配置される第２触媒と、前記第１触媒上流に設置したフロント空燃比センサと、このフロント空燃比センサの出力に基づいて前記第１触媒の酸素ストレージ量を推定し、この第１触媒の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カット中に前記第２触媒の酸素ストレージ量を推定し、燃料カットリカバーに際しこの第２触媒の酸素ストレージ量推定値に基づいて空燃比リッチ化処理を行うので、高価な広域空燃比センサを用いることなく、燃料カット中における第２触媒の酸素ストレージ量を推定することが可能となった。従って、第２触媒の酸素ストレージ量を精度良く目標値へと戻すことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。
【００１２】
図１は本発明のエンジンの空燃比制御装置の概略構成を示している。
【００１３】
図１において、１はエンジン本体、２は吸気通路、３は燃焼室、４は排気通路、５はＤＣモータ等からなるスロットルアクチュエータ５ａによりスロットル弁５ｂが駆動されるスロットル装置、６はエンジンコントローラ１１からの噴射信号を受けて燃料を吸気ポートへ噴射供給する燃料噴射弁である。
【００１４】
マイクロプロセッサ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏインターフェースなどで構成されるエンジンコントローラ１１にはクランクシャフトポジションセンサ１２からのクランクシャフトポジジョンの信号、カムシャフトポジションセンサ１３からのカムシャフトポジションの信号、エアフローセンサ１４からの吸入空気流量の信号、アクセルペダルポジションセンサ１５からのアクセル開度の信号などが入力し、吸入空気流量とエンジン回転速度とから基本噴射パルス幅Ｔｐを演算し、所定のタイミングになったとき、燃料噴射弁６を開かせる。基本噴射パルス幅Ｔｐは１回転速度当たりに必要となる燃料噴射量を与えるもので、この基本噴射パルス幅Ｔｐによりほぼ理論空燃比の混合気が得られる。
【００１５】
上記のエンジン回転速度はクランクシャフトポジションセンサ１２からのクランクシャフトポジジョンの信号と、カムシャフトポジションセンサ１３からのカムシャフトポジションの信号とに基づいて算出されている。
【００１６】
エンジンコントローラ１１では、アクセル開度とエンジン回転速度から目標吸入空気量を算出し、この目標吸入空気量が得られるようにスロットルアクチュエータ５ａを介してスロットル弁５ｂの開度を制御する。
【００１７】
エンジン１の排気通路４には触媒２１を備える。触媒２１はいわゆる三元触媒であって、触媒雰囲気が理論空燃比のときにＮＯｘ、ＨＣ、ＣＯを最大効率で浄化する。触媒２１は触媒担体にセリア等の酸素ストレージ材で被覆されており、流入する排気の空燃比に応じて酸素を保持したり、放出したりする機能（酸素ストレージ機能）を有している。
【００１８】
触媒２１の上流にはリニアな特性のフロント空燃比センサ２２、触媒２１の下流にはリア空燃比センサ２３が設置されている。フロント空燃比センサ２２は排気中の酸素濃度に応じたリニアな出力特性をもち、リア空燃比センサ２３はストイキの付近で２値的に切換わる特性をもっている。
【００１９】
エンジンコントローラ１１では、エアフローセンサ１４と、フロント空燃比センサ２２の出力に基づいて触媒２１の酸素ストレージ量を演算し、このストレージ量が目標値となるように空燃比をフィードバック制御する。
【００２０】
触媒２１の酸素ストレージ量の演算は、触媒２１上流の排気空燃比とそのときの吸入空気量から推定する。まず、触媒２１上流の排気空燃比から換算して排気中の酸素の過剰または不足する割合である酸素過剰率を求める。酸素過剰率はストイキ（理論空燃比）のときをゼロとして、ストイキよりもリーン側で正、ストイキよりもリッチ側で負の値となる。
【００２１】
酸素過剰率とそのときの吸入空気量とから触媒２１に吸収される酸素量または放出される酸素量が分かり、これを積算していくことで触媒２１の酸素ストレージ量を推定できる。予め触媒２１の最大酸素ストレージ量（最大値）を実験等により確認しておき、例えばその半分の保持量を目標値として設定し、酸素ストレージ量がこの目標値と一致するように空燃比を制御するのである。
【００２２】
演算した酸素ストレージ量が目標値よりも少ないときは、目標空燃比をリーン側にして保持量を増やし、逆に目標値よりも多いときはリッチ側にして酸素ストレージ量を減らし、これらにより目標値に一致させる。
【００２３】
ただし、空燃比の目標値としては、エンジンの運転要求からも制御され、基本的にはストイキとなるようにフィードバック制御されるので、目標ストレージ量からのずれ分を修正するにしても、その修正量については運転性を悪化させない範囲に、ストイキに対しての修正幅が制限される。
【００２４】
また、演算誤差により、演算された酸素ストレージ量と実際の酸素ストレージ量との間にずれを生じるが、リア空燃比センサ５の検出する酸素濃度に基づいて、例えばエンジンの燃料カット時などに、燃料カットに移行してから所定のタイミングで演算した酸素ストレージ量のリセットを行い、ずれを修正する。
【００２５】
ところで、三元触媒は、排気の空燃比がストイキの近傍で有害三成分であるＨＣ、ＣＯ、ＮＯｘを同時に効率よく浄化できるのであるが、三元触媒が活性化するまでは三元触媒が働かないため、排気通路２のうち、排気マニフォルドの集合部に比較的小容量の三元触媒（この触媒を「マニ触媒」という。）２１を、また下流側の位置である車両の床下に比較的大容量の三元触媒（この触媒を「床下触媒」という。）２５を配置し、エンジンの冷間始動時にはまず小容量のマニ触媒２１を早期に活性化させ、その後に床下触媒２５を活性化することで、排気性能を高めるようにしている。
【００２６】
酸素ストレージ量を制御するときの目標値を触媒２１、２５が酸素をストレージし得る最大値の例えば半分に設定するのは、ＮＯｘ対策である。すなわち、ＮＯｘの浄化のためには触媒２１、２５により酸素を奪うこと（還元）であるが、飽和状態の酸素や飽和状態に近い酸素がストレージされている触媒２１、２５では、ＮＯｘから酸素を奪う余地がなくなり、つまりＮＯｘを還元できなくなり、還元されないＮＯｘがそのまま触媒２１、２５下流に排出されてしまうためである。
【００２７】
ここで、触媒２１、２５に飽和状態の酸素や飽和状態に近い酸素がストレージされる事態が生じる運転時は主に燃料カット時である。従って、燃料カットリカバー時に一時的に空燃比のリッチ化処理を行ってストイキよりもリッチ雰囲気の排気を流し、この排気中のＨＣ、ＣＯにより、触媒２１、２５にストレージされている酸素を消費させ、各触媒２１、２５の酸素ストレージ量を目標値へと戻すことが考えられる。
【００２８】
ここで特に下流側の床下触媒２５について考えると、床下触媒２５の上流にはマニ触媒２１が存在するため、マニ触媒２１にストレージされている酸素を全て奪った後でないと、床下触媒２５にストレージされている酸素を奪うことができない。
【００２９】
そこで本発明では、広域空燃比センサを用いることなく、燃料カット中における床下触媒２５の酸素ストレージ量を推定し、燃料カットリカバー時になるとマニ触媒２１にストレージされている酸素が全て消費され尽くすように第１の空燃比リッチ化処理をまず行い、続いて燃料カット中における床下触媒２５の酸素ストレージ量推定値が目標値となるように第２の空燃比リッチ化処理を行う。
【００３０】
具体的に図２、図３を参照して説明する。図２、図３において、燃料カット条件が成立するｔ１のタイミングで目標当量比ＴＦＢＹＡが１よりゼロに切換わり、その後に燃料カットリカバー条件が成立するｔ４のタイミングで目標当量比ＴＦＢＹＡがゼロより１へと切換わっている。目標当量比ＴＦＢＹＡが１のときストイキ運転が行われ、目標当量比ＴＦＢＹＡがゼロになると燃料噴射が停止される。つまり、目標当量比ＴＦＢＹＡがゼロになっている期間が燃料カット中である。
【００３１】
燃料カット中にはマニ触媒２１を新気が流れるため、この新気中の酸素が全てマニ触媒２１によってストレージされる。このため、マニ触媒２１の酸素ストレージ量は、燃料カットの直前には目標値にあったとしても、ｔ１より増加してゆきｔ２のタイミングで最大値（＝１００％）に達している。マニ触媒２１が酸素を一杯にため込んだ後にはマニ触媒２１は酸素をそれ以上ため込むことができない（ストレージできない）ため、マニ触媒２１によってはストレージされない酸素を含んだ新気が下流側の床下触媒２５を流れ、今度は床下触媒２５により新気中の酸素がストレージされる。このため、床下触媒２５の酸素ストレージ量は、マニ触媒の酸素ストレージ量が最大となるｔ２より初めて増加しｔ４のタイミングで最大値（＝１００％）に達している。
【００３２】
床下触媒２５が酸素を一杯にため込んだ後には床下触媒２５も酸素をそれ以上ため込むことができないため、ｔ４以降も燃料カットが継続されるとすれば、床下触媒２５によってもストレージされない酸素を含んだ新気が床下触媒２５の下流にそのまま放出されることとなる。しかしながら、図２、図３においてはｔ４のタイミングで燃料カットリカバー時を迎えている。
【００３３】
ｔ４で燃料カットリカバー時になると、空燃比リッチ化処理を実行しなければならない。このｔ４からの空燃比リッチ化処理により排気中にＨＣ、ＣＯが増加し、このＨＣ、ＣＯを浄化（酸化）するためにマニ触媒２１にストレージされている酸素が消費される。このため、マニ触媒２１の酸素ストレージ量は空燃比リッチ化処理を開始するｔ４より減少してゆくことになりｔ６のタイミングで最小値（＝０％）に達するとする。つまり、マニ触媒２１にストレージされている酸素が消費され尽くしマニ触媒２１に酸素がストレージされていない状態（空の状態）となる。このあとは、ＨＣ、ＣＯを含んだ排気が浄化されずにそのまま下流側のリア空燃比センサ２３を流れ、リア空燃比センサ出力がｔ６のタイミングでリーンよりリッチに切換わる。
【００３４】
ｔ６でマニ触媒２１に酸素がストレージされていない状態（空の状態）となった後には、ＨＣ、ＣＯが浄化されずにそのまま下流側の床下触媒２５を流れる。このとき床下触媒２５ではＨＣ、ＣＯを浄化（酸化）するために床下触媒２５にストレージされている酸素が消費される。このため、床下触媒２５の酸素ストレージ量はマニ触媒２１に酸素がストレージされていない状態（空の状態）となるｔ６より、初めて減少しｔ７のタイミングで目標値（≒５０％）に戻されている。そして、床下触媒２５の酸素ストレージ量が目標値に戻されるｔ７のタイミングで空燃比リッチ化処理を終了するため、リア空燃比センサ出力がリッチよりストイキへと切換わる。
【００３５】
燃料カットによりマニ触媒２１が酸素を一杯にまでため込んだ後の燃料カットリカバー時に、このようにマニ触媒２１から全ての酸素を消費し尽くすこととしている理由は、マニ触媒２１から全ての酸素を消費し尽くした後でないと、床下触媒２５にストレージされている酸素を消費させて目標値へと戻すことができないためである。
【００３６】
さて、図２、図３、図４にはそれぞれ第１、第２、第３の実施形態の燃料カット中における床下触媒２５の酸素ストレージ量の３つの推定方法を示している。ただし、燃料カット前には床下触媒２５の酸素ストレージ量は目標値（≒５０％）にあるものとする。
【００３７】
先ず第１実施形態の図２は、燃料カット中にｔ２のタイミングより所定の制御周期当たり一定値Ｃ２ずつ酸素ストレージ量が増加するとみなして燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２を推定するものである。これを制御周期毎に更新する式に表すとすれば、次のようになる。
【００３８】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋Ｃ２                     …（補１）
ただし、ＨＯＳＣ２（new）：酸素ストレージ量の前回値、
Ｃ２             ：所定値、
なお、図２では燃料カットリカバー時であるｔ４で床下触媒２５の酸素ストレージ量が最大値に達しているが、これはたまたまであり、図２最下段に一点鎖線で示したように、燃料カットリカバー時を迎える前のｔ３で早くも最大値に達したり、図２最下段に二点鎖線で示したように最大値に達することのない場合が考えられる。
【００３９】
次に、第２実施形態の図３は、次式により燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２を制御周期毎に更新するものである。
【００４０】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋ＳＵＭＮ×Ｄ             …（補２）
ただし、ＨＯＳＣ２（new）：酸素ストレージ量の前回値、
ＳＵＭＮ         ：制御周期当たりの回転速度の積算値、
Ｄ               ：酸素量に換算するための値、
これは、床下触媒２５を通過する空気量がエンジン回転速度に比例するとみなすものである。すなわち、制御周期当たりに床下触媒２５を通過する新気量は制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに比例定数としての換算値Ｄを乗算することによって制御周期当たりに床下触媒２５にストレージされる酸素量（ＳＵＭＮ×Ｄ）を算出し、この酸素ストレージ量（ＳＵＭＮ×Ｄ）をｔ２からｔ４までの期間でサイクリックに積算していくことで、燃料カット中における床下触媒２５の酸素ストレージ量を推定するのである。なお、制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに代えて、制御周期当たりの吸入空気流量の積算値を用いることができる。
【００４１】
なお、図３では、燃料カット中における回転速度が直線で低下しているため、ｔ２よりｔ４までの期間における回転速度積算値が直線となり（図３第５段目参照）、従ってｔ２よりｔ４までの期間における床下触媒２５の酸素ストレージの増加が直線となっているが（図３最下段の実線参照）、燃料カット中における回転速度が直線で低下しなければ、図３最下段に一点鎖線で示したように、曲線的に増加することが考えられる。
【００４２】
また、図３で燃料カット中における床下触媒２５の酸素ストレージ量の増加（推定）を燃料カットリカバー時のｔ４までとするのは、次の理由からである。すなわち、ｔ４からｔ６の期間もリーン雰囲気の新気が床下触媒２５を流れるのであるが、ｔ２よりｔ４までの期間における酸素濃度が高濃度であるのに対して、ｔ２よりｔ４までの期間における酸素濃度は低濃度であるので、ｔ４よりｔ６までの期間に床下触媒２５にストレージされる酸素量は少ないとして床下触媒２５の酸素ストレージ量の算出に含ませないようにし算出の簡略化を図るためである。
【００４３】
次に、第３実施形態の図４は第２実施形態の図３に対してさらに環境条件（例えば大気圧）により変化する新気中の酸素濃度を考慮するものである。すなわち、図４では次式により燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２を制御周期毎に更新する。
【００４４】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋ＳＵＭＮ×Ｅ×Ｆ         …（補３）
ただし、ＨＯＳＣ２（old）：酸素ストレージ量の前回値、
ＳＵＭＮ         ：制御周期当たりの回転速度積算値、
Ｅ               ：空気量に換算するための値、
Ｆ               ：空気中の酸素濃度、
これは、制御周期当たりに床下触媒２５を通過する新気量は制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ（または制御周期当たりの吸入空気流量の積算値）に比例するとみなし、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに比例定数としての換算値Ｅを乗算することによって制御周期当たりに床下触媒を流れる新気量（ＳＵＭＮ×Ｅ）を算出し、この制御周期当たりに流れる新気量に空気中の酸素濃度Ｆを乗算することによって床下触媒２５にストレージされる酸素量（ＳＵＭＮ×Ｅ×Ｆ）を算出し、この酸素ストレージ量（ＳＵＭＮ×Ｅ×Ｆ）をｔ２からｔ４までの期間でサイクリックに積算していくことで、燃料カット中における床下触媒２５の酸素ストレージ量を推定するのである。ここで、空気中の酸素濃度Ｆは大気圧センサにより検出すればよい。
【００４５】
低地での空気中の酸素濃度は約２１％であるが、高地になると、空気中の酸素濃度が低地よりも低くなる。従って、高地では床下触媒２５の酸素ストレージ量が図４最下段に実線で示したように増加するのに対して、この高地での運転と同じ運転を低地で行うとすれば、低地では床下触媒２５の酸素ストレージ量が図４最下段に破線で示したように高地での場合より酸素濃度が高い分だけ増加の割合が大きくなる。
【００４６】
次に、図５、図６は第１、第２の実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示しており、図５、図６はそれぞれ図２、図３に対応する。
【００４７】
空燃比リッチ化処理方法には公知になっている各種の方法があるが、ここではリッチ化係数を導入し、このリッチ化係数を目標当量比ＴＦＢＹＡに乗算することでリッチ化処理を行わせる場合で説明する。
【００４８】
図５、図６の最下段に示したように、ｔ４からｔ６までの期間とｔ６からｔ７までの期間とに分け、ｔ４からｔ６までの期間における空燃比リッチ化処理を第１リッチ化処理、ｔ６からｔ７までの期間における空燃比リッチ化処理を第２リッチ化処理として区別する。これは、第１リッチ化処理をマニ触媒２１から全ての酸素を消費し尽くすための処理、第２リッチ化処理を床下触媒２５の酸素ストレージ量を目標値に戻すための処理として位置づけ、空燃比リッチ化処理の考え方をスッキリさせるためである。
【００４９】
図５、図６に示したように燃料カットリカバー時のｔ４から第１リッチ化処理を行うと、空燃比のリッチ化によりＨＣ、ＣＯの多く含まれる排気がマニ触媒２１を流れることになり、この排気中のＨＣ、ＣＯを浄化（酸化）するためにマニ触媒２１の酸素ストレージ量が減少してゆきｔ６のタイミングで最小値（＝０％）になる。この後には排気中のＨＣ、ＣＯが酸化されることなくマニ触媒２１下流に放出されるため、これを検出してリア空燃比センサ出力がリーンよりリッチに切換わる。すなわち、リア空燃比センサ出力がリーンよりリッチに切換わるタイミングが第１リッチ化処理の終了タイミングである。言い替えると、第１リッチ化処理の終了はリア空燃比センサ出力で検出することができるため、第１リッチ化処理としては、リッチ化時間を設定する必要は無く、リッチ化係数Ｋｒｉｃｈ１（空燃比リッチ化程度）だけを設定すればよい。
【００５０】
第１リッチ化処理の終了タイミングであるｔ６より第２リッチ化処理を続けて行うと、排気中のＨＣ、ＣＯを浄化（酸化）するために床下触媒２５の酸素ストレージ量が減少してゆく。第２リッチ化処理は床下触媒２５の酸素ストレージ量を目標値（≒５０％）に戻すことであるから、第２リッチ化処理を行わせるために、リッチ化係数Ｋｒｉｃｈ１（空燃比リッチ化程度）及びリッチ化時間Ｔｒｉｃｈ（空燃比リッチ化時間）を設定する。
【００５１】
第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１の特性を図７に、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２の特性を図８に、また第２リッチ化処理におけるリッチ化期間Ｔｒｉｃｈの特性を図９に示す。
【００５２】
図７に示したように、第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１は、燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が目標値以下の領域で１であり、燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が目標値より増えていくほど１より大きくなり、燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が最大値以上の領域で最大値となる値である。リッチ化係数Ｋｒｉｃｈ１の最大値は基本的にはマニ触媒２１の容量に応じて定める値であり、最終的には適合により定める。
【００５３】
図８に示したように、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２は、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が目標値以下の領域で１であり、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が目標値より増えていくほど１より大きくなり、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値以上の領域で最大値となる値である。図９に示したように、第２リッチ化処理におけるリッチ化時間Ｔｒｉｃｈは、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が目標値以下の領域でゼロであり、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が目標値より増えていくほどゼロより大きくなり、床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値以上の領域で最大値となる値である。リッチ化係数Ｋｒｉｃｈ２の最大値とリッチ化時間Ｔｒｉｃｈの最大値とは基本的には床下触媒２５の容量に応じて定める値であり、最終的には適合により定める。
【００５４】
次に、エンジンコントローラ１１により実行されるこうした制御内容を以下のフローチャートに従って詳しく説明する。
【００５５】
図１０は第１、第２、第３の実施形態の目標当量比ＴＦＢＹＡを設定するためのもので、一定時間毎（例えば１０ｍｓ毎）に実行する。
【００５６】
ステップ１では目標当量比ＴＦＢＹＡ（エンジンの始動時に１に初期設定）をみる。目標当量比ＴＦＢＹＡ＝１であればステップ２、３に進み、燃料カット条件が今回に成立しているか否か、前回に燃料カット条件が成立していたか否かをみる。燃料カット条件が今回に成立していないときや燃料カット条件が今回に成立しかつ前回にも燃料カット条件が成立していたときにはそのまま今回の処理を終了する。
【００５７】
燃料カット条件が今回に成立しかつ前回に燃料カット条件が成立していなかった、つまり燃料カット条件の不成立から成立への切換時にだけステップ４に進んで目標当量比ＴＦＢＹＡ＝０とする。この目標当量比ＴＦＢＹＡ＝０の状態は次回以降も保持しておく。
【００５８】
この目標当量比ＴＦＢＹＡ＝０により、次回にはステップ１よりステップ５、６に進む。ステップ５、６では燃料カットリカバー条件が今回に成立しているか否か、前回に燃料カットリカバー条件が成立していたか否かをみる。燃料カットリカバー条件が今回に成立していないときや燃料カットリカバー条件が今回に成立しかつ前回にも燃料カットリカバー条件が成立していたときにはそのまま今回の処理を終了する。
【００５９】
燃料カットリカバー条件が今回に成立しかつ前回に燃料カットリカバー条件が成立していなかった、つまり燃料カットリカバー条件の不成立から成立への切換時にだけステップ７に進んで目標当量比ＴＦＢＹＡ＝１とする。この目標当量比ＴＦＢＹＡ＝１の状態は次回以降も保持しておく。
【００６０】
このようにして、燃料カット中になるとゼロとなり燃料カットリカバー時に１となる目標当量比ＴＦＢＹＡを設定している。
【００６１】
図１１、図１３、図１４は第１、第２、第３の実施形態のリッチ化処理のための値（リッチ化係数とリッチ化時間）を設定するためのもので、図１０のフローに続けて一定時間毎（例えば１０ｍｓ毎）に実行する。
【００６２】
まず第１実施形態の図１１から説明する。ステップ１１、１２では、目標当量比ＴＦＢＹＡ（図１０により設定済み）が今回にゼロであるか、目標当量比ＴＦＢＹＡが前回に１であったか否をみる。目標当量比ＴＦＢＹＡが今回にゼロでありかつ目標当量比ＴＦＢＹＡが前回に１であったとき、つまり目標当量比が１よりゼロに切換わったときには燃料カットに入ったと判断し、ステップ１２、１３よりステップ１３、１４に進み、マニ触媒２１の酸素ストレージ量ＨＳＣ１［％］、床下触媒２５の酸素ストレージ量ＨＳＣ２［％］にそれぞれ目標値（＝５０［％］）を入れる。
【００６３】
ステップ１５では第２リッチ化処理終了フラグ＝０とする。これは、燃料カットリカバー時の後に行われる第２リッチ化処理に備えるためである。
【００６４】
ステップ１１、１２で目標当量比ＴＦＢＹＡが今回にゼロでありかつ目標当量比ＴＦＢＹＡが前回にもゼロであったとき、つまり目標当量比が前回、今回ともゼロであるときには燃料カット中と判断し、ステップ１６に進み、マニ触媒２１の酸素ストレージ量ＨＯＳＣ１と酸素ストレージ量の最大値（＝１００［％］）を比較する。ステップ１６に進んできた当初はマニ触媒２１の酸素ストレージ量ＨＯＳＣ１は最大値より小さいので、ステップ１７に進み、次式によりマニ触媒２１の酸素ストレージ量ＨＳＣ１を増量側に更新する。
【００６５】
ＨＯＳＣ１＝ＨＯＳＣ１（old）＋Ｃ１                     …（１）
ただし、ＨＯＳＣ１（old）：酸素ストレージ量の前回値、
Ｃ１             ：正の所定値［％］、
マニ触媒２１の酸素ストレージ量の前回値である「ＨＯＳＣ１（old）」の初期値には目標値が入っている。
【００６６】
（１）式は、燃料カットによりマニ触媒２１を新気が通過し、マニ触媒２１に酸素がストレージされていくので、このストレージされていくマニ触媒２１の酸素ストレージ量が制御周期当たり（１０ｍｓ当たり）所定値Ｃ１ずつ増えていくとみなして燃料カット中のマニ触媒２１の酸素ストレージ量を推定するものである。
【００６７】
燃料カット中にステップ１７の操作を繰り返すとやがてマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が最大値に達する。このときには、ステップ１６よりステップ１８に進み、床下触媒２５の酸素ストレージ量ＨＯＳＣ２と酸素ストレージ量の最大値（＝１００［％］）を比較する。ステップ１８に進んできた当初は床下触媒２５の酸素ストレージ量ＨＯＳＣ２は最大値より小さいので、ステップ１９に進み、次式により床下触媒２５の酸素ストレージ量ＨＳＣ２を増量側に更新する。
【００６８】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋Ｃ２                     …（２）
ただし、ＨＯＳＣ２（old）：酸素ストレージ量の前回値、
Ｃ２             ：正の所定値［％］、
床下触媒２５の酸素ストレージ量の前回値である「ＨＯＳＣ２（old）」の初期値には目標値が入っている。
【００６９】
燃料カット中にはまず、新気中の酸素は全て上流側のマニ触媒２１にストレージされるので、マニ触媒２１に酸素が一杯にストレージさるまでは新気中の酸素が下流側の床下触媒２５に流れることはない。そして、マニ触媒２１に酸素が一杯にストレージされ、それ以上マニ触媒２１に酸素をストレージできなくなった後に、マニ触媒２１にストレージされない酸素が下流側の床下触媒２５を流れ、床下触媒２５にストレージされることとなる。（２）式は、このストレージされていく床下触媒２５の酸素ストレージ量が制御周期当たり（１０ｍｓ当たり）所定値Ｃ２ずつ増えていくとみなして燃料カット中の床下触媒２５の酸素ストレージ量を推定するものである。
【００７０】
燃料カット中にステップ１９の操作を繰り返すとやがて床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値に達する。このときには、ステップ１８よりステップ１９を飛ばして今回の処理を終了する。
【００７１】
一方、ステップ１１で目標当量比ＴＦＢＹＡが今回に１であるときにはステップ２０に進み、前回は目標当量比ＴＦＢＹＡが１であったか否かをみる。目標当量比ＴＦＢＹＡが今回に１でありかつ前回に目標当量比ＴＦＢＹＡがゼロであったとき、つまり目標当量比ＴＦＢＹＡが今回にゼロより１に切換わったときには燃料カットリカバー時であると判断し、ステップ１、２０よりステップ２１に進み、そのときの、つまり燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１から図７を内容とするテーブルを検索することにより第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１を設定する。
【００７２】
ステップ２２では、ステップ２１と同様にして、そのときの、つまり燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２から図８を内容とするテーブルを検索することにより第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２を設定し、ステップ２３ではそのときの、つまり燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２から図９を内容とするテーブルを検索することにより第２リッチ化処理におけるリッチ化時間Ｔｒｉｃｈを算出する。
【００７３】
燃料カットが長引き、燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２がともに最大値となっているときには、第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２、第２リッチ化処理におけるリッチ化時間Ｔｒｉｃｈの全てが最大の値となる。
【００７４】
また、燃料カット中におけるマニ触媒２１の酸素ストレージ量ＨＯＳＣ１や燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値に達していないときには第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２、第２リッチ化処理におけるリッチ化時間Ｔｒｉｃｈがその最大値に達していない酸素ストレージ量に応じた値となる。このように、燃料カット中における床下触媒２５の酸素ストレージ量を推定していることで、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２とリッチ化時間Ｔｒｉｃｈとを最適に与えることができることとなっている。
【００７５】
ステップ１１、２０で目標当量比ＴＦＢＹＡが前回、今回とも１であるとき、つまり目標当量比ＴＦＢＹＡが１を継続するときには燃料カットリカバー後にあると判断しステップ２４に進み、リア空燃比センサ出力がリーンよりリッチに切換わったか否かをみる。リア空燃比センサ出力がリーンよりリッチに切換わったときにはマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が最小値（＝０％）になったと判断し、ステップ２５に進んでマニ触媒の酸素ストレージ量ＨＳＣ１に最小値（＝０［％］）を入れる。
【００７６】
ステップ２６ではタイマを起動する（タイマ値ｔｍ１＝０）。このタイマはリア空燃比センサ出力がリーンよりリッチに切換わってからの経過時間を計測するためのものである。
【００７７】
ステップ２７ではタイマ値ｔｍ１とリッチ化時間Ｔｒｉｃｈ（ステップ２３で設定済み）を比較する。ステップ２７に進んだ当初はタイマ値ｔｍ１はリッチ化時間Ｔｒｉｃｈに満たないので、ステップ２８に進み、タイマ値ｔｍ１をインクリメントする。
【００７８】
ステップ２８のタイマ値ｔｍ１のインクリメントを繰り返すとやがてタイマ値ｔｍ１がリッチ化時間Ｔｒｉｃｈに達する。このときには第２リッチ化処理を終了するタイミングになったと判断しステップ２７よりステップ２９に進んで床下触媒２５の酸素ストレージ量ＨＯＳＣ２に目標値（＝５０％）を入れ、ステップ３０で第２リッチ化処理終了フラグをゼロから１に切換える。
【００７９】
次に、第２、第３の実施形態の図１３、図１４を説明すると、図１３、図１４は第１実施形態の図１１と置き換わるものである。図１３、図１４において図１１と同一部分には同一のステップ番号を付けている。
【００８０】
第１実施形態の図１１と相違する部分は第２実施形態の図１３においてステップ５１、５２だけ、第３実施形態の図１４においてステップ５１、５３だけである。すなわち、第２実施形態の図１３においてステップ１８で床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値より小さいときにはステップ５１に進み、制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ［ｒｐｍ］を算出し、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮを用いステップ５２で次式により床下触媒２５の酸素ストレージ量ＨＳＣ２を増量側に更新する。
【００８１】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋ＳＵＭＮ×Ｄ             …（３）
ただし、ＨＯＳＣ２（new）：酸素ストレージ量の前回値、
Ｄ               ：酸素量に換算するための値、
（３）式は、制御周期当たりに床下触媒２５を通過する新気量が制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ（または制御周期当たりの吸入空気流量の積算値）に比例するとみなし、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに比例定数としての換算値Ｄを乗算することによって制御周期当たりに床下触媒２５にストレージされる酸素量（ＳＵＭＮ×Ｄ）を算出し、この酸素ストレージ量（ＳＵＭＮ×Ｄ）を酸素ストレージ量の前回値に加算することで、今回の床下触媒２５の酸素ストレージ量を推定するものである。
【００８２】
燃料カット中にステップ５１、５２の操作を繰り返すとやがて床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値に達する。このときには、ステップ１８よりステップ５１、５２を飛ばして今回の処理を終了する。
【００８３】
次に、第３実施形態においては、図１４のステップ５３で上記（３）式に代えて次式により床下触媒２５の酸素ストレージ量ＨＳＣ２を増量側に更新する。
【００８４】
ＨＯＳＣ２＝ＨＯＳＣ２（old）＋ＳＵＭＮ×Ｅ×Ｆ         …（４）
ただし、ＨＯＳＣ２（old）：酸素ストレージ量の前回値、
Ｅ               ：空気量に換算するための値、
Ｆ               ：空気中の酸素濃度、
（４）式は、制御周期当たりに床下触媒２５を通過する新気量が制御周期当たりのエンジン回転速度の積算値ＳＵＭＮに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ（または制御周期当たりの吸入空気流量の積算値）に比例定数としての換算値Ｅを乗算することによって制御周期当たりに床下触媒を流れる新気量（ＳＵＭＮ×Ｅ）を算出し、この制御周期当たりに流れる新気量に空気中の酸素濃度Ｆを乗算することによって床下触媒２５にストレージされる酸素量（ＳＵＭＮ×Ｅ×Ｆ）を算出し、この酸素ストレージ量（ＳＵＭＮ×Ｅ×Ｆ）を酸素ストレージ量の前回値に加算することで、今回の床下触媒２５の酸素ストレージ量を推定するものである。空気中の酸素濃度Ｆは大気圧センサにより検出する。
【００８５】
燃料カット中にステップ５１、５３の操作を繰り返すとやがて床下触媒２５の酸素ストレージ量ＨＯＳＣ２が最大値に達する。このときには、ステップ１９よりステップ５１、５３を飛ばして今回の処理を終了する。
【００８６】
なお、図１１、図１３、図１４（後述する図１６においても）ではマニ触媒２１の酸素ストレージ量ＨＯＳＣ１の増量側への更新を上記（１）式で示すのみであるが、第２、第３の実施形態において、マニ触媒２１の酸素ストレージ量ＨＯＳＣ１の増量側への更新の式として、上記（３）式、（４）式と同様の式を採用するようにしてもかまわない。
【００８７】
また、図１１、図１３、図１４（後述する図１６においても）ではステップ１６で床下触媒２５の酸素ストレージ量ＨＯＳＣ１と最大値との比較により床下触媒２５の酸素ストレージ量ＨＯＳＣ１が最大値になったか否かを判定しているが、これに限られない。すなわち、床下触媒２５の酸素ストレージ量ＨＯＳＣ１が最大値になった後には、還元されないＮＯｘがマニ触媒下流に流れてきてリア空燃比センサ出力がストイキよりリーンへと切換わるので、リア空燃比センサ出力がストイキよりリーンへと切換わったとき、床下触媒２５の酸素ストレージ量ＨＯＳＣ１が最大値になったと判定させることができる。
【００８８】
図１２は第１、第２、第３の実施形態の燃料噴射パルス幅Ｔｉを算出するためのもので、図１１、図１３、図１４のいずれかのフローに続けて一定時間毎（例えば１０ｍｓ毎）に実行する。まず、ステップ４１、４２では目標当量比ＴＦＢＹＡが今回にゼロであるか否か、目標当量比ＴＦＢＹＡが前回にゼロであったか否かをみる。目標当量比ＴＦＢＹＡが今回に１でありかつ目標当量比ＴＦＢＹＡが前回にゼロであったとき、つまり目標当量比ＴＦＢＹＡがゼロから１に切換わったときには燃料カットリカバー時であると判断し、ステップ４３に進んで次式によりシーケンシャル噴射時の燃料噴射パルス幅を算出する。
【００８９】
Ｔｉ＝ＴＰ×ＴＦＢＹＡ×Ｋｒｉｃｈ１×２＋Ｔｓ          …（５）
ただし、Ｔｐ：基本噴射パルス幅、
ＴＦＢＹＡ：目標当量比、
Ｔｓ：無効噴射パルス幅、
（５）式によれば、空燃比が第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１（図１１、図１３、図１４のいずれかのフローにより設定済み）の分だけストイキよりもリッチ側に制御される。
【００９０】
ステップ４１、４２で目標当量比ＴＦＢＹＡが今回に１でありかつ目標当量比ＴＦＢＹＡが前回に１であったとき、つまり前回、今回とも目標当量比ＴＦＢＹＡ＝１であるときには燃料カットリカバー後であると判断し、ステップ４４に進み、リア空燃比センサ出力がリッチであるか否かをみる。リア空燃比センサ出力がリーンであるときにはマニ触媒２１から全ての酸素がまだなくなっていないと判断し、マニ触媒２１にストレージされている酸素を消費するためステップ４４よりステップ４３に進みステップ４３の操作（第１リッチ化処理）を実行する。
【００９１】
このステップ４３の操作（第１リッチ化処理）を繰り返すと、やがてマニ触媒２１にストレージされている酸素が消費され尽くしマニ触媒２１に酸素がストレージされていない状態（空の状態）となる。このときには、排気中のＨＣ、ＣＯが浄化されずにそのまま下流のリア空燃比センサ２３を流れることになり、リア空燃比センサ出力がリーンよりリッチに切換わる。
【００９２】
リア空燃比センサ出力がリッチになったときにはマニ触媒２１の酸素ストレージ量が最小値（＝０％）になったと判断し、第１リッチ化処理を終了して第２リッチ化処理に移るため、ステップ４５に進んで第２リッチ化処理終了フラグ（図１１、図１３、図１４のいずれかのフローにより設定済み）をみる。第１リッチ化処理を終了したばかりのときには第２リッチ化処理終了フラグ＝０であるので、ステップ４６に進み、次式によりシーケンシャル噴射時の燃料噴射パルス幅を算出する。
【００９３】
Ｔｉ＝ＴＰ×ＴＦＢＹＡ×Ｋｒｉｃｈ２×２＋Ｔｓ          …（６）
ただし、Ｔｐ：基本噴射パルス幅、
ＴＦＢＹＡ：目標当量比、
Ｔｓ：無効噴射パルス幅、
（６）式によれば、空燃比が第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２（図１１、図１３、図１４のいずれかのフローにより設定済み）の分だけストイキよりもリッチ側に制御される。第２リッチ化処理終了フラグ＝０である間は、ステップ４６の操作（第２リッチ化処理）を実行する。このステップ４６の操作（第２リッチ化処理）を繰り返すと、やがて図１１、図１３、図１４のフローにおいて第２リッチ化処理終了フラグ＝１となる。第２リッチ化処理終了フラグ＝１になったときには第２リッチ化処理を終了させるためステップ４５よりステップ４７に進み、次式によりシーケンシャル噴射時の燃料噴射パルス幅Ｔｉ［ｍｓ］ｉを算出する。
【００９４】
Ｔｉ＝ＴＰ×ＴＦＢＹＡ×２＋Ｔｓ                        …（７）
ただし、Ｔｐ：基本噴射パルス幅、
ＴＦＢＹＡ：目標当量比、
Ｔｓ：無効噴射パルス幅、
一方、ステップ４１で目標当量比ＴＦＢＹＡがゼロであるとき、つまり燃料カット中ににもステップ４７に進んでステップ４７の操作を実行する。ただし、このときには目標当量比ＴＦＢＹＡ＝０であることより、Ｔｉ＝Ｔｓとなる。
【００９５】
このようにして算出された燃料噴射パルス幅Ｔｉを用いて、図示しない燃料噴射ルーチンでは、所定の噴射タイミングとなったときこの燃料噴射パルス幅Ｔｉの分だけ各気筒に設けた燃料インジェクタ６が開かれ、燃料噴射が行われる。すなわち、燃料カット中には目標当量比ＴＦＢＹＡ＝０であることより、燃料噴射パルス幅Ｔｉ＝無効噴射パルス幅Ｔｓとなり、燃料は噴射されない（燃料カット）。燃料カットリカバー時より上記（５）式のように第１リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ１を用いて第１リッチ化処理が行われ、第１リッチ化処理が終了すると続いて（６）式のように第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２を用いて第２リッチ化処理が行われ、第２リッチ化処理が終了したときには（７）式のようにストイキ運転時の燃料噴射が行われる。
【００９６】
ここで本実施形態の作用効果を説明する。
【００９７】
第１、第２、第３の実施形態（請求項１に記載の発明）によれば、マニ触媒２１（第１触媒）と、床下触媒２５（第２触媒）と、フロント空燃比センサ２２と、このフロント空燃比センサ２２の出力に基づいてマニ触媒２１の酸素ストレージ量を推定し、このマニ触媒２１の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カット中に床下触媒２５の酸素ストレージ量を推定し（図１１のステップ１６、１８、１９、図１３のステップ１６、１８、５１、５２、図１４のステップ１６、１８、５１、５３参照）、燃料カットリカバーに際しこの第２触媒の酸素ストレージ量推定値（ＨＯＳＣ２）に基づいて空燃比リッチ化処理を行うので（図１１のステップ２０〜３０、図１３のステップ２０〜３０、図１４のステップ２０〜３０参照）、高価な広域空燃比センサを用いることなく、燃料カット中における床下触媒２５の酸素ストレージ量を推定することが可能となった。従って、第２触媒の酸素ストレージ量を精度良く目標値へと戻すことができる。
【００９８】
本実施形態（請求項２に記載の発明）によれば、床下触媒酸素ストレージ量推定手段が、燃料カットリカバー後にマニ触媒の酸素ストレージ量ＨＯＳＣ１が最大値になったタイミング（リア空燃比センサ出力がストイキよりリーンに切換わったタイミング）より床下触媒２５に所定値（Ｃ２）ずつ酸素がストレージされるとみなして床下触媒２５の酸素ストレージ量を推定するので（図１１のステップ１６、１８、１９参照）、燃料カット中における床下触媒２５の酸素ストレージ量を簡易に推定することができる。
【００９９】
運転条件により床下触媒２５を流れる新気中の酸素量が変化するため燃料カット中における床下触媒２５の酸素ストレージ量が、運転条件例えばエンジン回転速度（または吸入空気流量）によって変化するのであるが、第２、第３の実施形態（請求項３に記載の発明）によれば、床下触媒酸素ストレージ量推定手段は、燃料カットリカバー後にマニ触媒の酸素ストレージ量ＨＯＳＣ１が最大値になったタイミング（リア空燃比センサ出力がストイキよりリーンに切換わったタイミング）よりエンジン回転速度の積算値ＳＵＭＮ（または吸入空気量の積算値）に基づいて床下触媒２５の酸素ストレージ量を推定するので（図１３のステップ１６、１８、５１、５２、図１４のステップ１６、１８、５１、５３参照）、運転条件例えばエンジン回転速度（または吸入空気流量）が相違しても燃料カット中における床下触媒２５の酸素ストレージ量を精度良く推定することができる。
【０１００】
図３で前述したように、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間（ｔ４からｔ６までの期間）もリーン雰囲気の新気が床下触媒２５を流れるのであるが、燃料カット終了タイミングまでの期間（ｔ２よりｔ４までの期間）における酸素濃度が高濃度であるのに対して、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間（ｔ４からｔ６までの期間）における酸素濃度は低濃度であるので（図３の第２段目参照）、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間（ｔ４からｔ６までの期間）に床下触媒２５にストレージされる酸素量は少ないものであり、床下触媒２５の酸素ストレージ量の算出の対象から除くことができることに対応し、第１、第２、第３の実施形態（請求項４に記載の発明）によれば、床下触媒２５の酸素ストレージ量の推定は燃料カットの終了タイミングまでとしているので（図１１、図１３、図１４においてステップ１１でＴＦＢＹＡ＝１となった後ではステップ１９、５１、５２、５１、５３に進むことができない点を参照）、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間（ｔ４からｔ６までの期間）における無駄な算出をしないで済ますことができる。
【０１０１】
第３実施形態（請求項５に記載の発明）によれば、大気圧に応じても床下触媒２５の酸素ストレージ量を推定するので（図１４のステップ５３の酸素濃度Ｆを参照）、環境条件である大気圧が相違しても燃料カット中における床下触媒２５の酸素ストレージ量を精度良く推定することができる。
【０１０２】
第１、第２、第３の実施形態（請求項６に記載の発明）によれば、空燃比リッチ化処理手段が、マニ触媒２１の酸素ストレージ推定量が最小値となるように第１リッチ化処理を行う第１リッチ化処理手段と、第１リッチ化処理手段によりマニ触媒２１の酸素ストレージ推定量が最小値となった後に床下触媒２５の酸素ストレージ推定量が目標値となるように第２リッチ化処理を行う第２リッチ化処理手段とを備え、第２リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２（空燃比リッチ化程度）を、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２（酸素ストレージ量推定値）に基づいて設定するので（図１１、図１３、図１４のステップ２２参照）、燃料カット中における床下触媒２５の酸素ストレージ量推定値（ＨＯＳＣ２）が相違しても、第２空燃比リッチ化処理におけるリッチ化係数Ｋｒｉｃｈ２を過不足無く与えることができる。
【０１０３】
第１、第２、第３の実施形態（請求項７に記載の発明）によれば、空燃比リッチ化処理手段が、マニ触媒２１の酸素ストレージ推定量が最小値となるように第１リッチ化処理を行う第１リッチ化処理手段と、第１リッチ化処理手段によりマニ触媒２１の酸素ストレージ推定量が最小値となった後に床下触媒２５の酸素ストレージ推定量が目標値となるように第２リッチ化処理を行う第２リッチ化処理手段とを備え、第２空燃比リッチ化処理におけるリッチ化時間Ｔｒｉｃｈ（空燃比リッチ化時間）を、燃料カット中における床下触媒２５の酸素ストレージ量ＨＯＳＣ２（酸素ストレージ量推定値）に基づいて設定するので（図１１、図１３、図１４のステップ２３参照）、燃料カット中における床下触媒２５の酸素ストレージ量推定値（ＨＯＳＣ２）が相違しても、第２リッチ化処理におけるリッチ化時間Ｔｒｉｃｈを過不足無く与えることができる。
【０１０４】
図１５は第４実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示す波形図、図１６は第４実施形態のリッチ化処理のための値を設定するためのもので、それぞれ第２実施形態の図６、図１３と置き換わるものである。図１６のフローも図１０のフローに続けて一定時間毎（例えば１０ｍｓ毎）に実行する。図１６において図１３と同一部分には同一のステップ番号を付けている。
【０１０５】
第１、第２、第３の実施形態は燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったときのタイミングを起点として所定の時間（リッチ化時間Ｔｒｉｃｈ）が経過したときに床下触媒２５の酸素ストレージ量ＨＯＳＣ２が目標値に到達したものとみなして第２空燃比リッチ化処理を終了するものであった。こうした考え方は、図２〜図６に示したように、床下触媒２５の酸素ストレージ量ＨＯＳＣ２が、リア空燃比センサ出力がリーンよりリッチに切換わるｔ６より直線的に減少するとみなすものである。言い替えると、図９に示した特性は、所定の運転条件（エンジン回転速度と吸入空気流量）にあり、かつフロント空燃比センサ２２により検出されるマニ触媒２１上流の空燃比が所定値のときに適合している。このため、図９適合時の運転条件及びマニ触媒２１上流の空燃比と相違する運転条件やマニ触媒２１上流の空燃比のときには排気中のＨＣ、ＣＯの量が相違し、従って、床下触媒の酸素ストレージ量の減少度合が図９適合時の運転条件及びマニ触媒２１上流の空燃比とは異なったものとなる。従って、図９適合時の運転条件やマニ触媒２１上流の空燃比から外れたきにはもはや図９に示すリッチ化時間Ｔｒｉｃｈが最適値を与えず、床下触媒２５の酸素ストレージ量ＨＯＳＣ２が実際には目標値より小さくなっているのにまだ第２リッチ化処理を終了するタイミングになっていないとみなして第２リッチ化処理を終了しなかったり、この逆に床下触媒２５の酸素ストレージ量ＨＯＳＣ２が実際には目標値より大きく目標値に戻っていないのに第２リッチ化処理を終了するタイミングになっているとみなして第２リッチ化処理を終了したりする事態が生じ得る。
【０１０６】
そこで、第４実施形態は燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったときのタイミング、つまり第１リッチ化処理の終了タイミングを起点として、運転条件を表すエンジン回転速度の積算値（または吸入空気量の積算値）と、フロント空燃比センサ出力とに基づいて、減少していく床下触媒２５の酸素ストレージ量を推定し、この減少していく床下触媒２５の酸素ストレージ量推定値が目標値に到達したときに、第２空燃比リッチ化処理を終了させるようにしたものである。
【０１０７】
この結果、図１５第４段目に示したように、フロント空燃比センサ２２より検出される空燃比が、第１リッチ化処理終了タイミングであるｔ６より一様でない変化をするとき、第４実施形態によれば、図１５第５段目に示したように、第１リッチ化処理終了タイミングであるｔ６からの床下触媒２５の酸素ストレージ量は、直線でなく曲線で推定されることとなる。
【０１０８】
図１６において、第２実施形態の図１３と相違する部分を主に説明すると、ステップ２４でリア空燃比センサ出力がリーンよりリッチに切換わったときにはマニ触媒２１の酸素ストレージ量ＨＯＳＣ１が最小値になった、つまり第１リッチ化処理の終了タイミングであると判断し、ステップ２５に進んでマニ触媒２１の酸素ストレージ量ＨＳＣ１に最小値を入れた後に、ステップ６１で床下触媒２５の酸素ストレージ量ＨＯＳＣ２と目標値（＝５０［％］）を比較する。燃料カット時間が長引いていれば、床下触媒２５の酸素ストレージ量ＨＯＳＣ２は最大値（＝１００［％］）になっており、このとき目標値より大きいので、ステップ６２に進み、制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ２［ｒｐｍ］（または制御周期当たりの吸入空気流量の積算値）を算出し、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ２を用いステップ６３で次式により床下触媒２５の酸素ストレージ量ＨＳＣ２を減量側に更新する。
【０１０９】
ＨＯＳＣ２＝ＨＯＳＣ２（old）−ＳＵＭＮ２×Ｇ           …（８）
ただし、ＨＯＳＣ２（new）：酸素ストレージ量の前回値、
Ｇ               ：空燃比補正係数、
ここで、空燃比補正係数Ｇはフロント空燃比センサ出力（フロント空燃比センサ２２により検出されるマニ触媒２１上流の空燃比）から図１７の特性を内容とするテーブルを検索することにより算出する。空燃比補正係数Ｇは図１７に示したように、フロント空燃比センサ出力がストイキにあるときゼロであり、フロント空燃比センサ出力がリッチ側にあるとき正の値となる値である。
【０１１０】
また、図１７においてフロント空燃比センサ出力がリッチである領域で、フロント空燃比センサ出力がリッチになるほど空燃比補正係数Ｇを正で大きくしている。これは、フロント空燃比センサ出力がリッチになるほど排気中のＨＣ、ＣＯが多くなり、床下触媒２５から消費される酸素量が増える、つまり制御周期当たりの酸素ストレージ量の減少量が大きくなるためである。
【０１１１】
（８）式は、制御周期当たりに床下触媒２５より減少する酸素ストレージ量が制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ２とマニ触媒上流の空燃比とに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値ＳＵＭＮ２と、マニ触媒上流の空燃比から求まる空燃比補正係数Ｇとを乗算することによって制御周期当たりに床下触媒２５より減少する酸素ストレージ量（ＳＵＭＮ２×Ｇ）を算出し、この酸素ストレージ量（ＳＵＭＮ２×Ｇ）を酸素ストレージ量の前回値から減算することで、今回の床下触媒２５の酸素ストレージ量を推定するものである。
【０１１２】
第２空燃比リッチ化処理中にステップ６２、６３の操作を繰り返すと床下触媒２５の酸素ストレージ量ＨＯＳＣ２が小さくなってゆきやがて目標値に達する。このときには、第２リッチ化処理を終了させるためステップ６１よりステップ２９に進んで床下触媒２５の酸素ストレージ量ＨＯＳＣ２に目標値（＝５０％）を入れ、ステップ３０で第２リッチ化処理終了フラグ＝１とする。
【０１１３】
このように第４実施形態（請求項８に記載の発明）によれば、燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング（第１リッチ化処理の終了タイミング）よりエンジン回転速度の積算値（または吸入空気量の積算値）とフロント空燃比センサ出力とに基づいて床下触媒２５の酸素ストレージ量を推定し（図１６のステップ２４、６１、６２、６３参照）、この床下触媒２５の酸素ストレージ量推定値（ＨＯＳＣ２）に基づいて第２リッチ化処理を終了するか否かを判定する（図１６のステップ６１、３０参照）ので、燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング後の運転条件例えばエンジン回転速度（吸入空気量）が相違しても燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング後における床下触媒２５の酸素ストレージ量を精度良く推定できることから、第２リッチ化処理を終了するか否かの判定精度が第１、第２、第３の実施形態より向上する。
【０１１４】
請求項１に記載の第２触媒酸素ストレージ量推定手段の機能は図１１のステップ１６、１８、１９、図１３のステップ１６、１８、５１、５２、図１４のステップ１６、１８、５１、５３により、空燃比リッチ化処理手段の機能は図１１のステップ２０〜３０、図１３のステップ２０〜３０、図１４のステップ２０〜３０によりそれぞれ果たされている。
【図面の簡単な説明】
【０１１５】
【図１】本発明の一実施形態のエンジンの空燃比制御装置の概略構成図。
【図２】第１実施形態の燃料カット中における床下触媒の酸素ストレージ量の推定方法を示す波形図。
【図３】第２実施形態の燃料カット中における床下触媒の酸素ストレージ量の推定方法を示す波形図。
【図４】第３実施形態の燃料カット中における床下触媒の酸素ストレージ量の推定方法を示す波形図。
【図５】第１実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示す波形図。
【図６】第２実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示す波形図。
【図７】第１リッチ化処理におけるリッチ化係数の特性図。
【図８】第２リッチ化処理におけるリッチ化係数の特性図。
【図９】第２リッチ化処理におけるリッチ化時間の特性図。
【図１０】第１、第２、第３の実施形態の目標当量比の算出を説明するためのフローチャート。
【図１１】第１実施形態のリッチ化係数、リッチ化時間の算出を説明するためのフローチャート。
【図１２】第１、第２、第３の実施形態の燃料噴射パルス幅の算出を説明するためのフローチャート。
【図１３】第２実施形態のリッチ化係数、リッチ化時間の算出を説明するためのフローチャート。
【図１４】第３実施形態のリッチ化係数、リッチ化時間の算出を説明するためのフローチャート。
【図１５】第４実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示す波形図。
【図１６】第４実施形態のリッチ化係数、リッチ化時間の算出を説明するためのフローチャート。
【図１７】空燃比補正係数の特性図。
【符号の説明】
【０１１６】
１  エンジン
１１  エンジンコントローラ
２１  マニ触媒（第１触媒）
２２  フロント空燃比センサ
２３  リア空燃比センサ
２５  床下触媒（第２触媒）
【図１】
2008121530.tif 000003
【図２】
2008121530.tif 000004
【図３】
2008121530.tif 000005
【図４】
2008121530.tif 000006
【図５】
2008121530.tif 000007
【図６】
2008121530.tif 000008
【図７】
2008121530.tif 000009
【図８】
2008121530.tif 000010
【図９】
2008121530.tif 000011
【図１０】
2008121530.tif 000012
【図１１】
2008121530.tif 000013
【図１２】
2008121530.tif 000014
【図１３】
2008121530.tif 000015
【図１４】
2008121530.tif 000016
【図１５】
2008121530.tif 000017
【図１６】
2008121530.tif 000018
【図１７】
2008121530.tif 000019