以下、本発明の実施形態を図面に基づいて説明する。
図1は本発明のエンジンの空燃比制御装置の概略構成を示している。
図1において、1はエンジン本体、2は吸気通路、3は燃焼室、4は排気通路、5はDCモータ等からなるスロットルアクチュエータ5aによりスロットル弁5bが駆動されるスロットル装置、6はエンジンコントローラ11からの噴射信号を受けて燃料を吸気ポートへ噴射供給する燃料噴射弁である。
マイクロプロセッサ、ROM、RAM、I/Oインターフェースなどで構成されるエンジンコントローラ11にはクランクシャフトポジションセンサ12からのクランクシャフトポジジョンの信号、カムシャフトポジションセンサ13からのカムシャフトポジションの信号、エアフローセンサ14からの吸入空気流量の信号、アクセルペダルポジションセンサ15からのアクセル開度の信号などが入力し、吸入空気流量とエンジン回転速度とから基本噴射パルス幅Tpを演算し、所定のタイミングになったとき、燃料噴射弁6を開かせる。基本噴射パルス幅Tpは1回転速度当たりに必要となる燃料噴射量を与えるもので、この基本噴射パルス幅Tpによりほぼ理論空燃比の混合気が得られる。
上記のエンジン回転速度はクランクシャフトポジションセンサ12からのクランクシャフトポジジョンの信号と、カムシャフトポジションセンサ13からのカムシャフトポジションの信号とに基づいて算出されている。
エンジンコントローラ11では、アクセル開度とエンジン回転速度から目標吸入空気量を算出し、この目標吸入空気量が得られるようにスロットルアクチュエータ5aを介してスロットル弁5bの開度を制御する。
エンジン1の排気通路4には触媒21を備える。触媒21はいわゆる三元触媒であって、触媒雰囲気が理論空燃比のときにNOx、HC、COを最大効率で浄化する。触媒21は触媒担体にセリア等の酸素ストレージ材で被覆されており、流入する排気の空燃比に応じて酸素を保持したり、放出したりする機能(酸素ストレージ機能)を有している。
触媒21の上流にはリニアな特性のフロント空燃比センサ22、触媒21の下流にはリア空燃比センサ23が設置されている。フロント空燃比センサ22は排気中の酸素濃度に応じたリニアな出力特性をもち、リア空燃比センサ23はストイキの付近で2値的に切換わる特性をもっている。
エンジンコントローラ11では、エアフローセンサ14と、フロント空燃比センサ22の出力に基づいて触媒21の酸素ストレージ量を演算し、このストレージ量が目標値となるように空燃比をフィードバック制御する。
触媒21の酸素ストレージ量の演算は、触媒21上流の排気空燃比とそのときの吸入空気量から推定する。まず、触媒21上流の排気空燃比から換算して排気中の酸素の過剰または不足する割合である酸素過剰率を求める。酸素過剰率はストイキ(理論空燃比)のときをゼロとして、ストイキよりもリーン側で正、ストイキよりもリッチ側で負の値となる。
酸素過剰率とそのときの吸入空気量とから触媒21に吸収される酸素量または放出される酸素量が分かり、これを積算していくことで触媒21の酸素ストレージ量を推定できる。予め触媒21の最大酸素ストレージ量(最大値)を実験等により確認しておき、例えばその半分の保持量を目標値として設定し、酸素ストレージ量がこの目標値と一致するように空燃比を制御するのである。
演算した酸素ストレージ量が目標値よりも少ないときは、目標空燃比をリーン側にして保持量を増やし、逆に目標値よりも多いときはリッチ側にして酸素ストレージ量を減らし、これらにより目標値に一致させる。
ただし、空燃比の目標値としては、エンジンの運転要求からも制御され、基本的にはストイキとなるようにフィードバック制御されるので、目標ストレージ量からのずれ分を修正するにしても、その修正量については運転性を悪化させない範囲に、ストイキに対しての修正幅が制限される。
また、演算誤差により、演算された酸素ストレージ量と実際の酸素ストレージ量との間にずれを生じるが、リア空燃比センサ5の検出する酸素濃度に基づいて、例えばエンジンの燃料カット時などに、燃料カットに移行してから所定のタイミングで演算した酸素ストレージ量のリセットを行い、ずれを修正する。
ところで、三元触媒は、排気の空燃比がストイキの近傍で有害三成分であるHC、CO、NOxを同時に効率よく浄化できるのであるが、三元触媒が活性化するまでは三元触媒が働かないため、排気通路2のうち、排気マニフォルドの集合部に比較的小容量の三元触媒(この触媒を「マニ触媒」という。)21を、また下流側の位置である車両の床下に比較的大容量の三元触媒(この触媒を「床下触媒」という。)25を配置し、エンジンの冷間始動時にはまず小容量のマニ触媒21を早期に活性化させ、その後に床下触媒25を活性化することで、排気性能を高めるようにしている。
酸素ストレージ量を制御するときの目標値を触媒21、25が酸素をストレージし得る最大値の例えば半分に設定するのは、NOx対策である。すなわち、NOxの浄化のためには触媒21、25により酸素を奪うこと(還元)であるが、飽和状態の酸素や飽和状態に近い酸素がストレージされている触媒21、25では、NOxから酸素を奪う余地がなくなり、つまりNOxを還元できなくなり、還元されないNOxがそのまま触媒21、25下流に排出されてしまうためである。
ここで、触媒21、25に飽和状態の酸素や飽和状態に近い酸素がストレージされる事態が生じる運転時は主に燃料カット時である。従って、燃料カットリカバー時に一時的に空燃比のリッチ化処理を行ってストイキよりもリッチ雰囲気の排気を流し、この排気中のHC、COにより、触媒21、25にストレージされている酸素を消費させ、各触媒21、25の酸素ストレージ量を目標値へと戻すことが考えられる。
ここで特に下流側の床下触媒25について考えると、床下触媒25の上流にはマニ触媒21が存在するため、マニ触媒21にストレージされている酸素を全て奪った後でないと、床下触媒25にストレージされている酸素を奪うことができない。
そこで本発明では、広域空燃比センサを用いることなく、燃料カット中における床下触媒25の酸素ストレージ量を推定し、燃料カットリカバー時になるとマニ触媒21にストレージされている酸素が全て消費され尽くすように第1の空燃比リッチ化処理をまず行い、続いて燃料カット中における床下触媒25の酸素ストレージ量推定値が目標値となるように第2の空燃比リッチ化処理を行う。
具体的に図2、図3を参照して説明する。図2、図3において、燃料カット条件が成立するt1のタイミングで目標当量比TFBYAが1よりゼロに切換わり、その後に燃料カットリカバー条件が成立するt4のタイミングで目標当量比TFBYAがゼロより1へと切換わっている。目標当量比TFBYAが1のときストイキ運転が行われ、目標当量比TFBYAがゼロになると燃料噴射が停止される。つまり、目標当量比TFBYAがゼロになっている期間が燃料カット中である。
燃料カット中にはマニ触媒21を新気が流れるため、この新気中の酸素が全てマニ触媒21によってストレージされる。このため、マニ触媒21の酸素ストレージ量は、燃料カットの直前には目標値にあったとしても、t1より増加してゆきt2のタイミングで最大値(=100%)に達している。マニ触媒21が酸素を一杯にため込んだ後にはマニ触媒21は酸素をそれ以上ため込むことができない(ストレージできない)ため、マニ触媒21によってはストレージされない酸素を含んだ新気が下流側の床下触媒25を流れ、今度は床下触媒25により新気中の酸素がストレージされる。このため、床下触媒25の酸素ストレージ量は、マニ触媒の酸素ストレージ量が最大となるt2より初めて増加しt4のタイミングで最大値(=100%)に達している。
床下触媒25が酸素を一杯にため込んだ後には床下触媒25も酸素をそれ以上ため込むことができないため、t4以降も燃料カットが継続されるとすれば、床下触媒25によってもストレージされない酸素を含んだ新気が床下触媒25の下流にそのまま放出されることとなる。しかしながら、図2、図3においてはt4のタイミングで燃料カットリカバー時を迎えている。
t4で燃料カットリカバー時になると、空燃比リッチ化処理を実行しなければならない。このt4からの空燃比リッチ化処理により排気中にHC、COが増加し、このHC、COを浄化(酸化)するためにマニ触媒21にストレージされている酸素が消費される。このため、マニ触媒21の酸素ストレージ量は空燃比リッチ化処理を開始するt4より減少してゆくことになりt6のタイミングで最小値(=0%)に達するとする。つまり、マニ触媒21にストレージされている酸素が消費され尽くしマニ触媒21に酸素がストレージされていない状態(空の状態)となる。このあとは、HC、COを含んだ排気が浄化されずにそのまま下流側のリア空燃比センサ23を流れ、リア空燃比センサ出力がt6のタイミングでリーンよりリッチに切換わる。
t6でマニ触媒21に酸素がストレージされていない状態(空の状態)となった後には、HC、COが浄化されずにそのまま下流側の床下触媒25を流れる。このとき床下触媒25ではHC、COを浄化(酸化)するために床下触媒25にストレージされている酸素が消費される。このため、床下触媒25の酸素ストレージ量はマニ触媒21に酸素がストレージされていない状態(空の状態)となるt6より、初めて減少しt7のタイミングで目標値(≒50%)に戻されている。そして、床下触媒25の酸素ストレージ量が目標値に戻されるt7のタイミングで空燃比リッチ化処理を終了するため、リア空燃比センサ出力がリッチよりストイキへと切換わる。
燃料カットによりマニ触媒21が酸素を一杯にまでため込んだ後の燃料カットリカバー時に、このようにマニ触媒21から全ての酸素を消費し尽くすこととしている理由は、マニ触媒21から全ての酸素を消費し尽くした後でないと、床下触媒25にストレージされている酸素を消費させて目標値へと戻すことができないためである。
さて、図2、図3、図4にはそれぞれ第1、第2、第3の実施形態の燃料カット中における床下触媒25の酸素ストレージ量の3つの推定方法を示している。ただし、燃料カット前には床下触媒25の酸素ストレージ量は目標値(≒50%)にあるものとする。
先ず第1実施形態の図2は、燃料カット中にt2のタイミングより所定の制御周期当たり一定値C2ずつ酸素ストレージ量が増加するとみなして燃料カット中における床下触媒25の酸素ストレージ量HOSC2を推定するものである。これを制御周期毎に更新する式に表すとすれば、次のようになる。
HOSC2=HOSC2(old)+C2 …(補1)
ただし、HOSC2(new):酸素ストレージ量の前回値、
C2 :所定値、
なお、図2では燃料カットリカバー時であるt4で床下触媒25の酸素ストレージ量が最大値に達しているが、これはたまたまであり、図2最下段に一点鎖線で示したように、燃料カットリカバー時を迎える前のt3で早くも最大値に達したり、図2最下段に二点鎖線で示したように最大値に達することのない場合が考えられる。
次に、第2実施形態の図3は、次式により燃料カット中における床下触媒25の酸素ストレージ量HOSC2を制御周期毎に更新するものである。
HOSC2=HOSC2(old)+SUMN×D …(補2)
ただし、HOSC2(new):酸素ストレージ量の前回値、
SUMN :制御周期当たりの回転速度の積算値、
D :酸素量に換算するための値、
これは、床下触媒25を通過する空気量がエンジン回転速度に比例するとみなすものである。すなわち、制御周期当たりに床下触媒25を通過する新気量は制御周期当たりのエンジン回転速度の積算値SUMNに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値SUMNに比例定数としての換算値Dを乗算することによって制御周期当たりに床下触媒25にストレージされる酸素量(SUMN×D)を算出し、この酸素ストレージ量(SUMN×D)をt2からt4までの期間でサイクリックに積算していくことで、燃料カット中における床下触媒25の酸素ストレージ量を推定するのである。なお、制御周期当たりのエンジン回転速度の積算値SUMNに代えて、制御周期当たりの吸入空気流量の積算値を用いることができる。
なお、図3では、燃料カット中における回転速度が直線で低下しているため、t2よりt4までの期間における回転速度積算値が直線となり(図3第5段目参照)、従ってt2よりt4までの期間における床下触媒25の酸素ストレージの増加が直線となっているが(図3最下段の実線参照)、燃料カット中における回転速度が直線で低下しなければ、図3最下段に一点鎖線で示したように、曲線的に増加することが考えられる。
また、図3で燃料カット中における床下触媒25の酸素ストレージ量の増加(推定)を燃料カットリカバー時のt4までとするのは、次の理由からである。すなわち、t4からt6の期間もリーン雰囲気の新気が床下触媒25を流れるのであるが、t2よりt4までの期間における酸素濃度が高濃度であるのに対して、t2よりt4までの期間における酸素濃度は低濃度であるので、t4よりt6までの期間に床下触媒25にストレージされる酸素量は少ないとして床下触媒25の酸素ストレージ量の算出に含ませないようにし算出の簡略化を図るためである。
次に、第3実施形態の図4は第2実施形態の図3に対してさらに環境条件(例えば大気圧)により変化する新気中の酸素濃度を考慮するものである。すなわち、図4では次式により燃料カット中における床下触媒25の酸素ストレージ量HOSC2を制御周期毎に更新する。
HOSC2=HOSC2(old)+SUMN×E×F …(補3)
ただし、HOSC2(old):酸素ストレージ量の前回値、
SUMN :制御周期当たりの回転速度積算値、
E :空気量に換算するための値、
F :空気中の酸素濃度、
これは、制御周期当たりに床下触媒25を通過する新気量は制御周期当たりのエンジン回転速度の積算値SUMN(または制御周期当たりの吸入空気流量の積算値)に比例するとみなし、この制御周期当たりのエンジン回転速度の積算値SUMNに比例定数としての換算値Eを乗算することによって制御周期当たりに床下触媒を流れる新気量(SUMN×E)を算出し、この制御周期当たりに流れる新気量に空気中の酸素濃度Fを乗算することによって床下触媒25にストレージされる酸素量(SUMN×E×F)を算出し、この酸素ストレージ量(SUMN×E×F)をt2からt4までの期間でサイクリックに積算していくことで、燃料カット中における床下触媒25の酸素ストレージ量を推定するのである。ここで、空気中の酸素濃度Fは大気圧センサにより検出すればよい。
低地での空気中の酸素濃度は約21%であるが、高地になると、空気中の酸素濃度が低地よりも低くなる。従って、高地では床下触媒25の酸素ストレージ量が図4最下段に実線で示したように増加するのに対して、この高地での運転と同じ運転を低地で行うとすれば、低地では床下触媒25の酸素ストレージ量が図4最下段に破線で示したように高地での場合より酸素濃度が高い分だけ増加の割合が大きくなる。
次に、図5、図6は第1、第2の実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示しており、図5、図6はそれぞれ図2、図3に対応する。
空燃比リッチ化処理方法には公知になっている各種の方法があるが、ここではリッチ化係数を導入し、このリッチ化係数を目標当量比TFBYAに乗算することでリッチ化処理を行わせる場合で説明する。
図5、図6の最下段に示したように、t4からt6までの期間とt6からt7までの期間とに分け、t4からt6までの期間における空燃比リッチ化処理を第1リッチ化処理、t6からt7までの期間における空燃比リッチ化処理を第2リッチ化処理として区別する。これは、第1リッチ化処理をマニ触媒21から全ての酸素を消費し尽くすための処理、第2リッチ化処理を床下触媒25の酸素ストレージ量を目標値に戻すための処理として位置づけ、空燃比リッチ化処理の考え方をスッキリさせるためである。
図5、図6に示したように燃料カットリカバー時のt4から第1リッチ化処理を行うと、空燃比のリッチ化によりHC、COの多く含まれる排気がマニ触媒21を流れることになり、この排気中のHC、COを浄化(酸化)するためにマニ触媒21の酸素ストレージ量が減少してゆきt6のタイミングで最小値(=0%)になる。この後には排気中のHC、COが酸化されることなくマニ触媒21下流に放出されるため、これを検出してリア空燃比センサ出力がリーンよりリッチに切換わる。すなわち、リア空燃比センサ出力がリーンよりリッチに切換わるタイミングが第1リッチ化処理の終了タイミングである。言い替えると、第1リッチ化処理の終了はリア空燃比センサ出力で検出することができるため、第1リッチ化処理としては、リッチ化時間を設定する必要は無く、リッチ化係数Krich1(空燃比リッチ化程度)だけを設定すればよい。
第1リッチ化処理の終了タイミングであるt6より第2リッチ化処理を続けて行うと、排気中のHC、COを浄化(酸化)するために床下触媒25の酸素ストレージ量が減少してゆく。第2リッチ化処理は床下触媒25の酸素ストレージ量を目標値(≒50%)に戻すことであるから、第2リッチ化処理を行わせるために、リッチ化係数Krich1(空燃比リッチ化程度)及びリッチ化時間Trich(空燃比リッチ化時間)を設定する。
第1リッチ化処理におけるリッチ化係数Krich1の特性を図7に、第2リッチ化処理におけるリッチ化係数Krich2の特性を図8に、また第2リッチ化処理におけるリッチ化期間Trichの特性を図9に示す。
図7に示したように、第1リッチ化処理におけるリッチ化係数Krich1は、燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1が目標値以下の領域で1であり、燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1が目標値より増えていくほど1より大きくなり、燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1が最大値以上の領域で最大値となる値である。リッチ化係数Krich1の最大値は基本的にはマニ触媒21の容量に応じて定める値であり、最終的には適合により定める。
図8に示したように、第2リッチ化処理におけるリッチ化係数Krich2は、燃料カット中における床下触媒25の酸素ストレージ量HOSC2が目標値以下の領域で1であり、燃料カット中における床下触媒25の酸素ストレージ量HOSC2が目標値より増えていくほど1より大きくなり、燃料カット中における床下触媒25の酸素ストレージ量HOSC2が最大値以上の領域で最大値となる値である。図9に示したように、第2リッチ化処理におけるリッチ化時間Trichは、燃料カット中における床下触媒25の酸素ストレージ量HOSC2が目標値以下の領域でゼロであり、燃料カット中における床下触媒25の酸素ストレージ量HOSC2が目標値より増えていくほどゼロより大きくなり、床下触媒25の酸素ストレージ量HOSC2が最大値以上の領域で最大値となる値である。リッチ化係数Krich2の最大値とリッチ化時間Trichの最大値とは基本的には床下触媒25の容量に応じて定める値であり、最終的には適合により定める。
次に、エンジンコントローラ11により実行されるこうした制御内容を以下のフローチャートに従って詳しく説明する。
図10は第1、第2、第3の実施形態の目標当量比TFBYAを設定するためのもので、一定時間毎(例えば10ms毎)に実行する。
ステップ1では目標当量比TFBYA(エンジンの始動時に1に初期設定)をみる。目標当量比TFBYA=1であればステップ2、3に進み、燃料カット条件が今回に成立しているか否か、前回に燃料カット条件が成立していたか否かをみる。燃料カット条件が今回に成立していないときや燃料カット条件が今回に成立しかつ前回にも燃料カット条件が成立していたときにはそのまま今回の処理を終了する。
燃料カット条件が今回に成立しかつ前回に燃料カット条件が成立していなかった、つまり燃料カット条件の不成立から成立への切換時にだけステップ4に進んで目標当量比TFBYA=0とする。この目標当量比TFBYA=0の状態は次回以降も保持しておく。
この目標当量比TFBYA=0により、次回にはステップ1よりステップ5、6に進む。ステップ5、6では燃料カットリカバー条件が今回に成立しているか否か、前回に燃料カットリカバー条件が成立していたか否かをみる。燃料カットリカバー条件が今回に成立していないときや燃料カットリカバー条件が今回に成立しかつ前回にも燃料カットリカバー条件が成立していたときにはそのまま今回の処理を終了する。
燃料カットリカバー条件が今回に成立しかつ前回に燃料カットリカバー条件が成立していなかった、つまり燃料カットリカバー条件の不成立から成立への切換時にだけステップ7に進んで目標当量比TFBYA=1とする。この目標当量比TFBYA=1の状態は次回以降も保持しておく。
このようにして、燃料カット中になるとゼロとなり燃料カットリカバー時に1となる目標当量比TFBYAを設定している。
図11、図13、図14は第1、第2、第3の実施形態のリッチ化処理のための値(リッチ化係数とリッチ化時間)を設定するためのもので、図10のフローに続けて一定時間毎(例えば10ms毎)に実行する。
まず第1実施形態の図11から説明する。ステップ11、12では、目標当量比TFBYA(図10により設定済み)が今回にゼロであるか、目標当量比TFBYAが前回に1であったか否をみる。目標当量比TFBYAが今回にゼロでありかつ目標当量比TFBYAが前回に1であったとき、つまり目標当量比が1よりゼロに切換わったときには燃料カットに入ったと判断し、ステップ12、13よりステップ13、14に進み、マニ触媒21の酸素ストレージ量HSC1[%]、床下触媒25の酸素ストレージ量HSC2[%]にそれぞれ目標値(=50[%])を入れる。
ステップ15では第2リッチ化処理終了フラグ=0とする。これは、燃料カットリカバー時の後に行われる第2リッチ化処理に備えるためである。
ステップ11、12で目標当量比TFBYAが今回にゼロでありかつ目標当量比TFBYAが前回にもゼロであったとき、つまり目標当量比が前回、今回ともゼロであるときには燃料カット中と判断し、ステップ16に進み、マニ触媒21の酸素ストレージ量HOSC1と酸素ストレージ量の最大値(=100[%])を比較する。ステップ16に進んできた当初はマニ触媒21の酸素ストレージ量HOSC1は最大値より小さいので、ステップ17に進み、次式によりマニ触媒21の酸素ストレージ量HSC1を増量側に更新する。
HOSC1=HOSC1(old)+C1 …(1)
ただし、HOSC1(old):酸素ストレージ量の前回値、
C1 :正の所定値[%]、
マニ触媒21の酸素ストレージ量の前回値である「HOSC1(old)」の初期値には目標値が入っている。
(1)式は、燃料カットによりマニ触媒21を新気が通過し、マニ触媒21に酸素がストレージされていくので、このストレージされていくマニ触媒21の酸素ストレージ量が制御周期当たり(10ms当たり)所定値C1ずつ増えていくとみなして燃料カット中のマニ触媒21の酸素ストレージ量を推定するものである。
燃料カット中にステップ17の操作を繰り返すとやがてマニ触媒21の酸素ストレージ量HOSC1が最大値に達する。このときには、ステップ16よりステップ18に進み、床下触媒25の酸素ストレージ量HOSC2と酸素ストレージ量の最大値(=100[%])を比較する。ステップ18に進んできた当初は床下触媒25の酸素ストレージ量HOSC2は最大値より小さいので、ステップ19に進み、次式により床下触媒25の酸素ストレージ量HSC2を増量側に更新する。
HOSC2=HOSC2(old)+C2 …(2)
ただし、HOSC2(old):酸素ストレージ量の前回値、
C2 :正の所定値[%]、
床下触媒25の酸素ストレージ量の前回値である「HOSC2(old)」の初期値には目標値が入っている。
燃料カット中にはまず、新気中の酸素は全て上流側のマニ触媒21にストレージされるので、マニ触媒21に酸素が一杯にストレージさるまでは新気中の酸素が下流側の床下触媒25に流れることはない。そして、マニ触媒21に酸素が一杯にストレージされ、それ以上マニ触媒21に酸素をストレージできなくなった後に、マニ触媒21にストレージされない酸素が下流側の床下触媒25を流れ、床下触媒25にストレージされることとなる。(2)式は、このストレージされていく床下触媒25の酸素ストレージ量が制御周期当たり(10ms当たり)所定値C2ずつ増えていくとみなして燃料カット中の床下触媒25の酸素ストレージ量を推定するものである。
燃料カット中にステップ19の操作を繰り返すとやがて床下触媒25の酸素ストレージ量HOSC2が最大値に達する。このときには、ステップ18よりステップ19を飛ばして今回の処理を終了する。
一方、ステップ11で目標当量比TFBYAが今回に1であるときにはステップ20に進み、前回は目標当量比TFBYAが1であったか否かをみる。目標当量比TFBYAが今回に1でありかつ前回に目標当量比TFBYAがゼロであったとき、つまり目標当量比TFBYAが今回にゼロより1に切換わったときには燃料カットリカバー時であると判断し、ステップ1、20よりステップ21に進み、そのときの、つまり燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1から図7を内容とするテーブルを検索することにより第1リッチ化処理におけるリッチ化係数Krich1を設定する。
ステップ22では、ステップ21と同様にして、そのときの、つまり燃料カット中における床下触媒25の酸素ストレージ量HOSC2から図8を内容とするテーブルを検索することにより第2リッチ化処理におけるリッチ化係数Krich2を設定し、ステップ23ではそのときの、つまり燃料カット中における床下触媒25の酸素ストレージ量HOSC2から図9を内容とするテーブルを検索することにより第2リッチ化処理におけるリッチ化時間Trichを算出する。
燃料カットが長引き、燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1、燃料カット中における床下触媒25の酸素ストレージ量HOSC2がともに最大値となっているときには、第1リッチ化処理におけるリッチ化係数Krich1、第2リッチ化処理におけるリッチ化係数Krich2、第2リッチ化処理におけるリッチ化時間Trichの全てが最大の値となる。
また、燃料カット中におけるマニ触媒21の酸素ストレージ量HOSC1や燃料カット中における床下触媒25の酸素ストレージ量HOSC2が最大値に達していないときには第1リッチ化処理におけるリッチ化係数Krich1、第2リッチ化処理におけるリッチ化係数Krich2、第2リッチ化処理におけるリッチ化時間Trichがその最大値に達していない酸素ストレージ量に応じた値となる。このように、燃料カット中における床下触媒25の酸素ストレージ量を推定していることで、第2リッチ化処理におけるリッチ化係数Krich2とリッチ化時間Trichとを最適に与えることができることとなっている。
ステップ11、20で目標当量比TFBYAが前回、今回とも1であるとき、つまり目標当量比TFBYAが1を継続するときには燃料カットリカバー後にあると判断しステップ24に進み、リア空燃比センサ出力がリーンよりリッチに切換わったか否かをみる。リア空燃比センサ出力がリーンよりリッチに切換わったときにはマニ触媒21の酸素ストレージ量HOSC1が最小値(=0%)になったと判断し、ステップ25に進んでマニ触媒の酸素ストレージ量HSC1に最小値(=0[%])を入れる。
ステップ26ではタイマを起動する(タイマ値tm1=0)。このタイマはリア空燃比センサ出力がリーンよりリッチに切換わってからの経過時間を計測するためのものである。
ステップ27ではタイマ値tm1とリッチ化時間Trich(ステップ23で設定済み)を比較する。ステップ27に進んだ当初はタイマ値tm1はリッチ化時間Trichに満たないので、ステップ28に進み、タイマ値tm1をインクリメントする。
ステップ28のタイマ値tm1のインクリメントを繰り返すとやがてタイマ値tm1がリッチ化時間Trichに達する。このときには第2リッチ化処理を終了するタイミングになったと判断しステップ27よりステップ29に進んで床下触媒25の酸素ストレージ量HOSC2に目標値(=50%)を入れ、ステップ30で第2リッチ化処理終了フラグをゼロから1に切換える。
次に、第2、第3の実施形態の図13、図14を説明すると、図13、図14は第1実施形態の図11と置き換わるものである。図13、図14において図11と同一部分には同一のステップ番号を付けている。
第1実施形態の図11と相違する部分は第2実施形態の図13においてステップ51、52だけ、第3実施形態の図14においてステップ51、53だけである。すなわち、第2実施形態の図13においてステップ18で床下触媒25の酸素ストレージ量HOSC2が最大値より小さいときにはステップ51に進み、制御周期当たりのエンジン回転速度の積算値SUMN[rpm]を算出し、この制御周期当たりのエンジン回転速度の積算値SUMNを用いステップ52で次式により床下触媒25の酸素ストレージ量HSC2を増量側に更新する。
HOSC2=HOSC2(old)+SUMN×D …(3)
ただし、HOSC2(new):酸素ストレージ量の前回値、
D :酸素量に換算するための値、
(3)式は、制御周期当たりに床下触媒25を通過する新気量が制御周期当たりのエンジン回転速度の積算値SUMN(または制御周期当たりの吸入空気流量の積算値)に比例するとみなし、この制御周期当たりのエンジン回転速度の積算値SUMNに比例定数としての換算値Dを乗算することによって制御周期当たりに床下触媒25にストレージされる酸素量(SUMN×D)を算出し、この酸素ストレージ量(SUMN×D)を酸素ストレージ量の前回値に加算することで、今回の床下触媒25の酸素ストレージ量を推定するものである。
燃料カット中にステップ51、52の操作を繰り返すとやがて床下触媒25の酸素ストレージ量HOSC2が最大値に達する。このときには、ステップ18よりステップ51、52を飛ばして今回の処理を終了する。
次に、第3実施形態においては、図14のステップ53で上記(3)式に代えて次式により床下触媒25の酸素ストレージ量HSC2を増量側に更新する。
HOSC2=HOSC2(old)+SUMN×E×F …(4)
ただし、HOSC2(old):酸素ストレージ量の前回値、
E :空気量に換算するための値、
F :空気中の酸素濃度、
(4)式は、制御周期当たりに床下触媒25を通過する新気量が制御周期当たりのエンジン回転速度の積算値SUMNに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値SUMN(または制御周期当たりの吸入空気流量の積算値)に比例定数としての換算値Eを乗算することによって制御周期当たりに床下触媒を流れる新気量(SUMN×E)を算出し、この制御周期当たりに流れる新気量に空気中の酸素濃度Fを乗算することによって床下触媒25にストレージされる酸素量(SUMN×E×F)を算出し、この酸素ストレージ量(SUMN×E×F)を酸素ストレージ量の前回値に加算することで、今回の床下触媒25の酸素ストレージ量を推定するものである。空気中の酸素濃度Fは大気圧センサにより検出する。
燃料カット中にステップ51、53の操作を繰り返すとやがて床下触媒25の酸素ストレージ量HOSC2が最大値に達する。このときには、ステップ19よりステップ51、53を飛ばして今回の処理を終了する。
なお、図11、図13、図14(後述する図16においても)ではマニ触媒21の酸素ストレージ量HOSC1の増量側への更新を上記(1)式で示すのみであるが、第2、第3の実施形態において、マニ触媒21の酸素ストレージ量HOSC1の増量側への更新の式として、上記(3)式、(4)式と同様の式を採用するようにしてもかまわない。
また、図11、図13、図14(後述する図16においても)ではステップ16で床下触媒25の酸素ストレージ量HOSC1と最大値との比較により床下触媒25の酸素ストレージ量HOSC1が最大値になったか否かを判定しているが、これに限られない。すなわち、床下触媒25の酸素ストレージ量HOSC1が最大値になった後には、還元されないNOxがマニ触媒下流に流れてきてリア空燃比センサ出力がストイキよりリーンへと切換わるので、リア空燃比センサ出力がストイキよりリーンへと切換わったとき、床下触媒25の酸素ストレージ量HOSC1が最大値になったと判定させることができる。
図12は第1、第2、第3の実施形態の燃料噴射パルス幅Tiを算出するためのもので、図11、図13、図14のいずれかのフローに続けて一定時間毎(例えば10ms毎)に実行する。まず、ステップ41、42では目標当量比TFBYAが今回にゼロであるか否か、目標当量比TFBYAが前回にゼロであったか否かをみる。目標当量比TFBYAが今回に1でありかつ目標当量比TFBYAが前回にゼロであったとき、つまり目標当量比TFBYAがゼロから1に切換わったときには燃料カットリカバー時であると判断し、ステップ43に進んで次式によりシーケンシャル噴射時の燃料噴射パルス幅を算出する。
Ti=TP×TFBYA×Krich1×2+Ts …(5)
ただし、Tp:基本噴射パルス幅、
TFBYA:目標当量比、
Ts:無効噴射パルス幅、
(5)式によれば、空燃比が第1リッチ化処理におけるリッチ化係数Krich1(図11、図13、図14のいずれかのフローにより設定済み)の分だけストイキよりもリッチ側に制御される。
ステップ41、42で目標当量比TFBYAが今回に1でありかつ目標当量比TFBYAが前回に1であったとき、つまり前回、今回とも目標当量比TFBYA=1であるときには燃料カットリカバー後であると判断し、ステップ44に進み、リア空燃比センサ出力がリッチであるか否かをみる。リア空燃比センサ出力がリーンであるときにはマニ触媒21から全ての酸素がまだなくなっていないと判断し、マニ触媒21にストレージされている酸素を消費するためステップ44よりステップ43に進みステップ43の操作(第1リッチ化処理)を実行する。
このステップ43の操作(第1リッチ化処理)を繰り返すと、やがてマニ触媒21にストレージされている酸素が消費され尽くしマニ触媒21に酸素がストレージされていない状態(空の状態)となる。このときには、排気中のHC、COが浄化されずにそのまま下流のリア空燃比センサ23を流れることになり、リア空燃比センサ出力がリーンよりリッチに切換わる。
リア空燃比センサ出力がリッチになったときにはマニ触媒21の酸素ストレージ量が最小値(=0%)になったと判断し、第1リッチ化処理を終了して第2リッチ化処理に移るため、ステップ45に進んで第2リッチ化処理終了フラグ(図11、図13、図14のいずれかのフローにより設定済み)をみる。第1リッチ化処理を終了したばかりのときには第2リッチ化処理終了フラグ=0であるので、ステップ46に進み、次式によりシーケンシャル噴射時の燃料噴射パルス幅を算出する。
Ti=TP×TFBYA×Krich2×2+Ts …(6)
ただし、Tp:基本噴射パルス幅、
TFBYA:目標当量比、
Ts:無効噴射パルス幅、
(6)式によれば、空燃比が第2リッチ化処理におけるリッチ化係数Krich2(図11、図13、図14のいずれかのフローにより設定済み)の分だけストイキよりもリッチ側に制御される。第2リッチ化処理終了フラグ=0である間は、ステップ46の操作(第2リッチ化処理)を実行する。このステップ46の操作(第2リッチ化処理)を繰り返すと、やがて図11、図13、図14のフローにおいて第2リッチ化処理終了フラグ=1となる。第2リッチ化処理終了フラグ=1になったときには第2リッチ化処理を終了させるためステップ45よりステップ47に進み、次式によりシーケンシャル噴射時の燃料噴射パルス幅Ti[ms]iを算出する。
Ti=TP×TFBYA×2+Ts …(7)
ただし、Tp:基本噴射パルス幅、
TFBYA:目標当量比、
Ts:無効噴射パルス幅、
一方、ステップ41で目標当量比TFBYAがゼロであるとき、つまり燃料カット中ににもステップ47に進んでステップ47の操作を実行する。ただし、このときには目標当量比TFBYA=0であることより、Ti=Tsとなる。
このようにして算出された燃料噴射パルス幅Tiを用いて、図示しない燃料噴射ルーチンでは、所定の噴射タイミングとなったときこの燃料噴射パルス幅Tiの分だけ各気筒に設けた燃料インジェクタ6が開かれ、燃料噴射が行われる。すなわち、燃料カット中には目標当量比TFBYA=0であることより、燃料噴射パルス幅Ti=無効噴射パルス幅Tsとなり、燃料は噴射されない(燃料カット)。燃料カットリカバー時より上記(5)式のように第1リッチ化処理におけるリッチ化係数Krich1を用いて第1リッチ化処理が行われ、第1リッチ化処理が終了すると続いて(6)式のように第2リッチ化処理におけるリッチ化係数Krich2を用いて第2リッチ化処理が行われ、第2リッチ化処理が終了したときには(7)式のようにストイキ運転時の燃料噴射が行われる。
ここで本実施形態の作用効果を説明する。
第1、第2、第3の実施形態(請求項1に記載の発明)によれば、マニ触媒21(第1触媒)と、床下触媒25(第2触媒)と、フロント空燃比センサ22と、このフロント空燃比センサ22の出力に基づいてマニ触媒21の酸素ストレージ量を推定し、このマニ触媒21の酸素ストレージ量推定値が目標値と一致するように空燃比を制御する空燃比制御手段とを備えるエンジンの空燃比制御装置において、燃料カット中に床下触媒25の酸素ストレージ量を推定し(図11のステップ16、18、19、図13のステップ16、18、51、52、図14のステップ16、18、51、53参照)、燃料カットリカバーに際しこの第2触媒の酸素ストレージ量推定値(HOSC2)に基づいて空燃比リッチ化処理を行うので(図11のステップ20〜30、図13のステップ20〜30、図14のステップ20〜30参照)、高価な広域空燃比センサを用いることなく、燃料カット中における床下触媒25の酸素ストレージ量を推定することが可能となった。従って、第2触媒の酸素ストレージ量を精度良く目標値へと戻すことができる。
本実施形態(請求項2に記載の発明)によれば、床下触媒酸素ストレージ量推定手段が、燃料カットリカバー後にマニ触媒の酸素ストレージ量HOSC1が最大値になったタイミング(リア空燃比センサ出力がストイキよりリーンに切換わったタイミング)より床下触媒25に所定値(C2)ずつ酸素がストレージされるとみなして床下触媒25の酸素ストレージ量を推定するので(図11のステップ16、18、19参照)、燃料カット中における床下触媒25の酸素ストレージ量を簡易に推定することができる。
運転条件により床下触媒25を流れる新気中の酸素量が変化するため燃料カット中における床下触媒25の酸素ストレージ量が、運転条件例えばエンジン回転速度(または吸入空気流量)によって変化するのであるが、第2、第3の実施形態(請求項3に記載の発明)によれば、床下触媒酸素ストレージ量推定手段は、燃料カットリカバー後にマニ触媒の酸素ストレージ量HOSC1が最大値になったタイミング(リア空燃比センサ出力がストイキよりリーンに切換わったタイミング)よりエンジン回転速度の積算値SUMN(または吸入空気量の積算値)に基づいて床下触媒25の酸素ストレージ量を推定するので(図13のステップ16、18、51、52、図14のステップ16、18、51、53参照)、運転条件例えばエンジン回転速度(または吸入空気流量)が相違しても燃料カット中における床下触媒25の酸素ストレージ量を精度良く推定することができる。
図3で前述したように、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間(t4からt6までの期間)もリーン雰囲気の新気が床下触媒25を流れるのであるが、燃料カット終了タイミングまでの期間(t2よりt4までの期間)における酸素濃度が高濃度であるのに対して、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間(t4からt6までの期間)における酸素濃度は低濃度であるので(図3の第2段目参照)、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間(t4からt6までの期間)に床下触媒25にストレージされる酸素量は少ないものであり、床下触媒25の酸素ストレージ量の算出の対象から除くことができることに対応し、第1、第2、第3の実施形態(請求項4に記載の発明)によれば、床下触媒25の酸素ストレージ量の推定は燃料カットの終了タイミングまでとしているので(図11、図13、図14においてステップ11でTFBYA=1となった後ではステップ19、51、52、51、53に進むことができない点を参照)、燃料カット終了タイミングよりリア空燃比センサ出力がリーンよりリッチに切換わるまでの期間(t4からt6までの期間)における無駄な算出をしないで済ますことができる。
第3実施形態(請求項5に記載の発明)によれば、大気圧に応じても床下触媒25の酸素ストレージ量を推定するので(図14のステップ53の酸素濃度Fを参照)、環境条件である大気圧が相違しても燃料カット中における床下触媒25の酸素ストレージ量を精度良く推定することができる。
第1、第2、第3の実施形態(請求項6に記載の発明)によれば、空燃比リッチ化処理手段が、マニ触媒21の酸素ストレージ推定量が最小値となるように第1リッチ化処理を行う第1リッチ化処理手段と、第1リッチ化処理手段によりマニ触媒21の酸素ストレージ推定量が最小値となった後に床下触媒25の酸素ストレージ推定量が目標値となるように第2リッチ化処理を行う第2リッチ化処理手段とを備え、第2リッチ化処理におけるリッチ化係数Krich2(空燃比リッチ化程度)を、燃料カット中における床下触媒25の酸素ストレージ量HOSC2(酸素ストレージ量推定値)に基づいて設定するので(図11、図13、図14のステップ22参照)、燃料カット中における床下触媒25の酸素ストレージ量推定値(HOSC2)が相違しても、第2空燃比リッチ化処理におけるリッチ化係数Krich2を過不足無く与えることができる。
第1、第2、第3の実施形態(請求項7に記載の発明)によれば、空燃比リッチ化処理手段が、マニ触媒21の酸素ストレージ推定量が最小値となるように第1リッチ化処理を行う第1リッチ化処理手段と、第1リッチ化処理手段によりマニ触媒21の酸素ストレージ推定量が最小値となった後に床下触媒25の酸素ストレージ推定量が目標値となるように第2リッチ化処理を行う第2リッチ化処理手段とを備え、第2空燃比リッチ化処理におけるリッチ化時間Trich(空燃比リッチ化時間)を、燃料カット中における床下触媒25の酸素ストレージ量HOSC2(酸素ストレージ量推定値)に基づいて設定するので(図11、図13、図14のステップ23参照)、燃料カット中における床下触媒25の酸素ストレージ量推定値(HOSC2)が相違しても、第2リッチ化処理におけるリッチ化時間Trichを過不足無く与えることができる。
図15は第4実施形態の燃料カットリカバー時の空燃比リッチ化処理方法を示す波形図、図16は第4実施形態のリッチ化処理のための値を設定するためのもので、それぞれ第2実施形態の図6、図13と置き換わるものである。図16のフローも図10のフローに続けて一定時間毎(例えば10ms毎)に実行する。図16において図13と同一部分には同一のステップ番号を付けている。
第1、第2、第3の実施形態は燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったときのタイミングを起点として所定の時間(リッチ化時間Trich)が経過したときに床下触媒25の酸素ストレージ量HOSC2が目標値に到達したものとみなして第2空燃比リッチ化処理を終了するものであった。こうした考え方は、図2〜図6に示したように、床下触媒25の酸素ストレージ量HOSC2が、リア空燃比センサ出力がリーンよりリッチに切換わるt6より直線的に減少するとみなすものである。言い替えると、図9に示した特性は、所定の運転条件(エンジン回転速度と吸入空気流量)にあり、かつフロント空燃比センサ22により検出されるマニ触媒21上流の空燃比が所定値のときに適合している。このため、図9適合時の運転条件及びマニ触媒21上流の空燃比と相違する運転条件やマニ触媒21上流の空燃比のときには排気中のHC、COの量が相違し、従って、床下触媒の酸素ストレージ量の減少度合が図9適合時の運転条件及びマニ触媒21上流の空燃比とは異なったものとなる。従って、図9適合時の運転条件やマニ触媒21上流の空燃比から外れたきにはもはや図9に示すリッチ化時間Trichが最適値を与えず、床下触媒25の酸素ストレージ量HOSC2が実際には目標値より小さくなっているのにまだ第2リッチ化処理を終了するタイミングになっていないとみなして第2リッチ化処理を終了しなかったり、この逆に床下触媒25の酸素ストレージ量HOSC2が実際には目標値より大きく目標値に戻っていないのに第2リッチ化処理を終了するタイミングになっているとみなして第2リッチ化処理を終了したりする事態が生じ得る。
そこで、第4実施形態は燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったときのタイミング、つまり第1リッチ化処理の終了タイミングを起点として、運転条件を表すエンジン回転速度の積算値(または吸入空気量の積算値)と、フロント空燃比センサ出力とに基づいて、減少していく床下触媒25の酸素ストレージ量を推定し、この減少していく床下触媒25の酸素ストレージ量推定値が目標値に到達したときに、第2空燃比リッチ化処理を終了させるようにしたものである。
この結果、図15第4段目に示したように、フロント空燃比センサ22より検出される空燃比が、第1リッチ化処理終了タイミングであるt6より一様でない変化をするとき、第4実施形態によれば、図15第5段目に示したように、第1リッチ化処理終了タイミングであるt6からの床下触媒25の酸素ストレージ量は、直線でなく曲線で推定されることとなる。
図16において、第2実施形態の図13と相違する部分を主に説明すると、ステップ24でリア空燃比センサ出力がリーンよりリッチに切換わったときにはマニ触媒21の酸素ストレージ量HOSC1が最小値になった、つまり第1リッチ化処理の終了タイミングであると判断し、ステップ25に進んでマニ触媒21の酸素ストレージ量HSC1に最小値を入れた後に、ステップ61で床下触媒25の酸素ストレージ量HOSC2と目標値(=50[%])を比較する。燃料カット時間が長引いていれば、床下触媒25の酸素ストレージ量HOSC2は最大値(=100[%])になっており、このとき目標値より大きいので、ステップ62に進み、制御周期当たりのエンジン回転速度の積算値SUMN2[rpm](または制御周期当たりの吸入空気流量の積算値)を算出し、この制御周期当たりのエンジン回転速度の積算値SUMN2を用いステップ63で次式により床下触媒25の酸素ストレージ量HSC2を減量側に更新する。
HOSC2=HOSC2(old)−SUMN2×G …(8)
ただし、HOSC2(new):酸素ストレージ量の前回値、
G :空燃比補正係数、
ここで、空燃比補正係数Gはフロント空燃比センサ出力(フロント空燃比センサ22により検出されるマニ触媒21上流の空燃比)から図17の特性を内容とするテーブルを検索することにより算出する。空燃比補正係数Gは図17に示したように、フロント空燃比センサ出力がストイキにあるときゼロであり、フロント空燃比センサ出力がリッチ側にあるとき正の値となる値である。
また、図17においてフロント空燃比センサ出力がリッチである領域で、フロント空燃比センサ出力がリッチになるほど空燃比補正係数Gを正で大きくしている。これは、フロント空燃比センサ出力がリッチになるほど排気中のHC、COが多くなり、床下触媒25から消費される酸素量が増える、つまり制御周期当たりの酸素ストレージ量の減少量が大きくなるためである。
(8)式は、制御周期当たりに床下触媒25より減少する酸素ストレージ量が制御周期当たりのエンジン回転速度の積算値SUMN2とマニ触媒上流の空燃比とに比例するとみなし、この制御周期当たりのエンジン回転速度の積算値SUMN2と、マニ触媒上流の空燃比から求まる空燃比補正係数Gとを乗算することによって制御周期当たりに床下触媒25より減少する酸素ストレージ量(SUMN2×G)を算出し、この酸素ストレージ量(SUMN2×G)を酸素ストレージ量の前回値から減算することで、今回の床下触媒25の酸素ストレージ量を推定するものである。
第2空燃比リッチ化処理中にステップ62、63の操作を繰り返すと床下触媒25の酸素ストレージ量HOSC2が小さくなってゆきやがて目標値に達する。このときには、第2リッチ化処理を終了させるためステップ61よりステップ29に進んで床下触媒25の酸素ストレージ量HOSC2に目標値(=50%)を入れ、ステップ30で第2リッチ化処理終了フラグ=1とする。
このように第4実施形態(請求項8に記載の発明)によれば、燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング(第1リッチ化処理の終了タイミング)よりエンジン回転速度の積算値(または吸入空気量の積算値)とフロント空燃比センサ出力とに基づいて床下触媒25の酸素ストレージ量を推定し(図16のステップ24、61、62、63参照)、この床下触媒25の酸素ストレージ量推定値(HOSC2)に基づいて第2リッチ化処理を終了するか否かを判定する(図16のステップ61、30参照)ので、燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング後の運転条件例えばエンジン回転速度(吸入空気量)が相違しても燃料カットリカバー後にリア空燃比センサ出力がリーンよりリッチに切換わったタイミング後における床下触媒25の酸素ストレージ量を精度良く推定できることから、第2リッチ化処理を終了するか否かの判定精度が第1、第2、第3の実施形態より向上する。
請求項1に記載の第2触媒酸素ストレージ量推定手段の機能は図11のステップ16、18、19、図13のステップ16、18、51、52、図14のステップ16、18、51、53により、空燃比リッチ化処理手段の機能は図11のステップ20〜30、図13のステップ20〜30、図14のステップ20〜30によりそれぞれ果たされている。