(57)【特許請求の範囲】
【請求項１】
排気空燃比に応じて排気中の酸素を取り込み、放出する酸素ストレージ能力のある触媒を備え、この酸素ストレージ量が目標値になるように空燃比を制御する装置において、触媒の上流側の空燃比センサの出力に基づいて酸素ストレージ量を推定し、この酸素ストレージ量が目標値と一致するように空燃比を制御する手段と、
下流側の空燃比センサの出力がストイキ領域とリーン側、またはストイキ領域とリッチ側との間で周期的に変動しているかどうかを判断する変動判断手段と、
前記リーン側またはリッチ側で変動している所定周期に積算された排気中の酸素過不足量に対応して上流側空燃比センサの出力を補正する更正手段を備えることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記下流側空燃比センサの出力が、リーン側、ストイキ領域、リーン側へと、またはリッチ側、ストイキ領域、リッチ側へと変化したときに、それぞれリーン側またはリッチ側で変動していると判断する請求項１に記載の内燃機関の空燃比制御装置  。
【請求項３】
前記リーン側の所定周期は、触媒下流側の空燃比センサの出力がリーン状態からストイキ状態を経て再度リーン状態になるまでの期間、リッチ側の所定周期は、触媒下流側の空燃比センサの出力がリッチ状態からストイキ状態を経て再度リッチ状態になるまでの期間とする請求項１または２に記載の内燃機関の空燃比制御装置。
【請求項４】
前記酸素過不足量は、吸入空気量と、上流側空燃比センサの出力から換算した理論空燃比を基準とする酸素過剰率とに基づいて算出される請求項１〜３のいずれか一つに記載の内燃機関の空燃比制御装置。
【請求項５】
前記上流側空燃比センサの補正値は、酸素過不足量と吸入空気量との各積算値とから平均酸素過剰率を求め、この平均酸素過剰率に基づいて算出する請求項４に記載の内燃機関の空燃比制御装置。
【請求項６】
燃料カット運転時には前記酸素過不足量の積算を中止し、センサ出力の補正を行わないようにする請求項１〜５のいずれか一つに記載の内燃機関の空燃比制御装置。
【請求項７】
前記補正値の絶対値が所定値以上のときに上流側空燃比センサの異常を判定する請求項１〜６のいずれか一つに記載の内燃機関の空燃比制御装置。
【請求項８】
前記酸素ストレージ量を吸収速度の速い高速成分と吸収速度が高速成分よりも遅い低速成分とに分けて演算することにより推定する請求項１〜７のいずれか一つに記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は内燃機関の空燃比制御装置に関するものである。
【０００２】
【従来の技術】
内燃機関の排気中のＨＣ、ＣＯ、ＮＯｘを三元触媒によって同時に浄化するには触媒雰囲気を理論空燃比（以下ストイキという）にする必要があり、ストイキから少しでもずれたときの浄化効率が低下することないように、触媒に酸素ストレージ能力を持たせている。
【０００３】
ストイキよりもリーンな排気を与えると、触媒が排気中の酸素を取り込み、この酸素ストレージ量が飽和するまでは、触媒雰囲気をストイキに維持できる。また、ストイキよりもリッチな排気を与えると、触媒が保持している酸素が放出され、保持酸素のすべてを放出するまでは、触媒雰囲気をストイキに維持する。このようにして一時的な空燃比のずれから生じる酸素の過不足を触媒が補い、触媒雰囲気を実質的にストイキに保つことが可能となる。
【０００４】
この場合、触媒の酸素ストレージ量が常に目標値、例えば最大ストレージ量の半分程度となるように空燃比を制御してやると、触媒の取り込みと放出の容量が均等化し、空燃比のストイキからのリッチ、リーンのいずれ側の変動に対しても吸収能力が高まり、排気の浄化効率を最良に保てる。
【０００５】
このため、空燃比センサの出力に基づいて触媒に流入する排気の酸素過不足量（空燃比から換算する）を積算して触媒の酸素ストレージ量を求め、この酸素ストレージ量が目標値と一致するように空燃比をフィードバック制御する提案が、特開平５−１９５８４２号公報や特開平７−２５９６０２号公報によってなされている。
【０００６】
【発明が解決すべき課題】
触媒の上流側に設置される空燃比センサは、高い排気温度に晒されることなどから経時的に劣化しやすく、またセンサ製造時の品質のバラツキもあって空燃比の検出特性に誤差（リッチ側またはリーン側へのシフト）を生じることがある。
【０００７】
検出される空燃比に誤差を生じると、空燃比センサの出力に基づいて触媒の酸素ストレージ量を正確に演算することができなくなり、結果として触媒の酸素ストレージ量が目標値に収束しなくなり、排気の浄化効率が低下してしまう。
【０００８】
本発明はこのような問題を解決するために、触媒上流側の空燃比センサの劣化による出力変動を修正し、酸素ストレージ量を常に正確に目標値に制御することを目的とする。
【０００９】
【課題を解決するための手段】
第１の発明は、排気空燃比に応じて排気中の酸素を取り込み、放出する酸素ストレージ能力のある触媒を備え、この酸素ストレージ量が目標値になるように空燃比を制御する装置において、触媒の上流側の空燃比センサの出力に基づいて酸素ストレージ量を推定し、この酸素ストレージ量が目標値と一致するように空燃比を制御する手段と、下流側の空燃比センサの出力がストイキ領域とリーン側、またはストイキ領域とリッチ側との間で周期的に変動しているかどうかを判断する変動判断手段と、前記リーン側またはリッチ側で変動している所定周期に積算された排気中の酸素過不足量に対応して上流側空燃比センサの出力を補正する更正手段を備える。また、第２の発明は、第１の発明において、前記下流側空燃比センサの出力が、リーン側、ストイキ領域、リーン側へと、またはリッチ側、ストイキ領域、リッチ側へと変化したときに、それぞれリーン側またはリッチ側で変動していると判断する。
【００１０】
第３の発明は、第１または第２の発明において、前記リーン側の所定周期は、触媒下流側の空燃比センサの出力がリーン状態からストイキ状態を経て再度リーン状態になるまでの期間、リッチ側の所定周期は、触媒下流側の空燃比センサの出力がリッチ状態からストイキ状態を経て再度リッチ状態になるまでの期間とする。
【００１１】
第４の発明は、第１〜第３の発明において、前記酸素過不足量は、吸入空気量と、上流側空燃比センサの出力から換算した理論空燃比を基準とする酸素過剰率とに基づいて算出される。
【００１２】
第５の発明は、第４の発明において、前記上流側空燃比センサの補正値は、酸素過不足量と吸入空気量との各積算値とから平均酸素過剰率を求め、この平均酸素過剰率に基づいて算出する。
【００１３】
第６の発明は、第１〜第５の発明において、燃料カット運転時には前記酸素過不足量の積算を中止し、センサ出力の補正を行わないようにする。
【００１４】
第７の発明は、第１〜第６の発明において、前記補正値の絶対値が所定値以上のときに上流側空燃比センサの異常を判定する。
【００１５】
第８の発明は、第１〜第７の発明において、前記酸素ストレージ量を吸収速度の速い高速成分と吸収速度が高速成分よりも遅い低速成分とに分けて演算することにより推定する。
【００１６】
【作用、効果】
第１〜第３の発明において、触媒の酸素ストレージ量は常に目標値になるように制御されるため、触媒上流側の空燃比に多少の変動があっても、触媒の酸素ストレージ能力により、触媒下流側の空燃比はストイキに維持される。しかし、上流側の空燃比センサの出力にズレ（出力シフト）があると、実際の触媒の酸素ストレージ量は目標値に一致しなくなる。
【００１７】
例えば、上流側の空燃比センサの出力が、正規の状態よりも見かけ上はリッチ側にシフトしていると、酸素ストレージ量が不足していると判断され、空燃比がリーン側に制御され、この状態が継続していくうちに、触媒の酸素ストレージ量が飽和し、下流側の空燃比がストイキ（ただしストイキであっても所定の空燃比幅があるが）からリーン側となる。
【００１８】
ただし、上流側空燃比センサの出力に基づいて制御される空燃比にはフィードバックがかかるので、正常時でも目標空燃比を中心にしてある周期をもってリッチ側とリーン側に僅かづつ振れている。このため、下流側の空燃比がリーン側にズレたときにも、リーン側において周期的に変動する。
【００１９】
このようなリーン側における空燃比の周期的変動を検出したときは、上流側空燃比センサの出力にシフトが生じていると判断でき、また、下流側空燃比がリッチ側で周期的に変動したときにも同じく、上流側空燃比センサの出力シフトが生じていると判断できる。
【００２０】
このような場合には、リッチ側またはリーン側での所定の周期における排気中の酸素過不足量が算出され、これに基づいて上流側空燃比センサの出力に対する補正が行われる。酸素過不足量は実際の空燃比が目標空燃比からズレるほど大きくなり、したがって、この酸素過不足量に応じてセンサ補正値を決定し、この補正値を空燃比制御にフィードバックすることで、触媒の酸素ストレージ量を目標値に向けて修正することできる。このようにして上流側空燃比センサの劣化などによる出力シフトがあっても、触媒酸素ストレージ量を正確に目標値に制御可能となる。
【００２１】
第４、第５の発明において、上流側の空燃比センサの出力に基づいて理論空燃比のときの酸素過剰率をゼロとして、リーン側では正の値、リッチ側では負の値となる酸素過剰率を算出し、これとそのときの吸入空気量とから排気中の酸素過不足量を求めることができる。また、所定の空燃比変動周期間における酸素過不足量の積算値を、吸入空気量の積算値で除することにより、その間の平均酸素過剰率が求まり、この平均酸素過剰率は上流側の空燃比センサの出力シフトに相関関係を持つので、これに応じて補正値を算出することにより、出力シフトに対応した修正が可能となる。
【００２２】
第６の発明では、燃料カット時には上流側空燃比センサの出力が実際の排気空燃比と対応しなくなるので、このようなときにはセンサ補正値の演算を中止することで、制御の混乱を回避できる。
【００２３】
第７の発明では、上流側空燃比センサの出力に対する補正が多く、センサ補正値が所定値に達したときには、制御の正確性、安定性の維持が難しくなり、排気性能に悪影響を及ぼす可能性があるので、このときにはセンサ異常を判定し、例えばこれを報知することにより修理や交換などを促すことができる。
【００２４】
第８の発明において、触媒に対する酸素ストレージ特性は、触媒の貴金属に高速で吸収／放出される特性と、触媒のセリアなどの酸素ストレージ材に低速で吸収／放出される特性に分かれることから、酸素ストレージ量をこの特性に合わせて高速と低速成分に分けて演算することにより、触媒の特性に応じた実際のストレージ量を正確に演算でき、したがって実酸素ストレージ量を精度よく目標値に制御することが可能となる。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２６】
図１は本発明が適用される排気浄化装置の概略構成を示し、エンジン１の排気管２には触媒３が設けられ、その上流にはリニア空燃比センサ４、下流には空燃比センサ（酸素センサ）５が設置され、これらセンサ出力に基づいてエンジン１に供給する燃料の空燃比を制御するコントローラ６が備えられる。
【００２７】
エンジン１の吸気管７にはスロットル弁８と、スロットル弁８により調整された吸入空気量を測定するエアフローメータ９が設けられる。
【００２８】
触媒３はいわゆる三元触媒であって、触媒雰囲気が理論空燃比のときにＮＯｘ、ＨＣ、ＣＯを最大効率で浄化する。触媒３は触媒担体がセリア等の酸素ストレージ材で被覆されており、流入する排気の空燃比に応じて酸素を保持したり、放出する機能（酸素ストレージ機能）を有している。
【００２９】
触媒３の上流に設けた空燃比センサ４は排気の空燃比に応じたリニアな出力特性をもち、下流側の空燃比センサ５は排気の酸素濃度を検出する。
【００３０】
また、エンジン１には冷却水の温度を検出する温度センサ１０が取付けられ、エンジン１の運転状態と共に触媒３の活性化状態などを判定するため等に用いられる。
【００３１】
コントローラ６はマイクロプロセッサ、ＲＡＭ、ＲＯＭ、Ｉ／Ｏインターフェイスなどで構成され、エアフローメータ９と、上流側空燃比センサ４の出力に基づいて触媒３の酸素ストレージ量を演算し、このストレージ量が目標値にとなるように空燃比をフィードバック制御する。演算した酸素ストレージ量が目標値よりも少ないときは、目標空燃比をリーン側にして保持量を増やし、逆に目標値よりも多いときはリッチ側にして酸素ストレージ量を減らし、これらにより目標値に一致させる。また、演算誤差により演算された酸素ストレージ量と実際の酸素ストレージ量との間にずれを生じるが、下流側空燃比センサ５の検出する酸素濃度に基づいて、例えばエンジンの燃料カット時などに、燃料カットに移行してから所定のタイミングで演算した酸素ストレージ量のリセットを行い、ずれを修正する。
【００３２】
なお、触媒３の酸素ストレージ量の演算方法については後述するが、本出願人よる特願平１０−２９５１１０号等にも詳しく記載されており、ここでは原理のみ簡単に述べる。
【００３３】
触媒上流の排気空燃比から換算して排気中の酸素の過剰または不足する割合である酸素過剰率が分かる。酸素過剰率は理論空燃比のときをゼロとして、リーン側で正、リッチ側で負の値となる。
【００３４】
酸素過剰率とそのときの吸入空気量とから触媒３に吸収される酸素量または放出される酸素量が分かり、これを積算していくことで触媒３の酸素ストレージ量を推定できる。下流側の空燃比がリーン側のときは、触媒３の酸素ストレージ量が飽和保持量に達しているときで、それ以上の酸素量の保持はできず、そのまま下流に流れ出る。この状態から空燃比がストイキよりもリッチ側になると、酸素の不足量に応じて保持酸素量は最大値から減っていく。下流側の空燃比がリッチのときは、酸素ストレージ量がゼロのときであり、その状態から空燃比がリーン側になると、そのときの酸素過剰量に応じて触媒３の酸素ストレージ量が増加していく。このようにしてある運転状態を基準として、触媒３の酸素ストレージ量を演算により求めることが可能で、これを積算していくことで、現在の酸素ストレージ量とすることができる。予め触媒３の最大酸素ストレージ量を実験等により確認しておき、例えばその半分の保持量を目標値として設定し、酸素ストレージ量がこの目標値と一致するように空燃比を制御するのである。
【００３５】
ただし、エンジンの空燃比は運転条件による要求値があり、触媒３を三元触媒として機能させるときは、ストイキ近傍に制御する必要があり、この運転状態で酸素ストレージ量を目標値に一致させるには、空燃比をストイキとするための公知のλコントロールに対して、酸素ストレージ量の目標値からの偏差分に対応した値を補正値として付与することで、エンジン１の要求燃焼特性を満たしつつ、酸素ストレージ量を目標値に収束させられる。
【００３６】
そして本発明では、コントローラ６は、さらに酸素ストレージ量を演算するための上流側の空燃比センサ４の出力が正常かどうか判断し、もしもセンサ劣化などにより出力にリッチ側またはリーン側へのシフト（変動）を生じているときは、これに応じて空燃比センサ４の出力を補正し、酸素ストレージ量の目標値からの変動を防いでいる。
【００３７】
触媒３の酸素ストレージ量は常に目標値になるように制御されるため、触媒上流側の空燃比に多少の変動があっても、触媒３の酸素ストレージ能力により、触媒下流側の空燃比はストイキ（ただし所定の空燃比幅がある）に維持される。
【００３８】
しかし、上流側の空燃比センサ４に出力シフトがあると、触媒３の酸素ストレージ量は目標値からずれてくる。例えば、上流側の空燃比センサの出力が、正規の状態よりも見かけ上はリッチ側にシフトしていると、酸素ストレージ量が不足していると判断され、空燃比はリーン側に制御される。この状態が継続していくうちに、触媒３の酸素ストレージ量が飽和し、下流側の空燃比がストイキからリーン側となり、周期的にリーン側で変動する。このような状態のときは上流側空燃比センサ４の出力シフトがあるものと見なして、上流側空燃比センサ４の出力の補正を行うようになっている。
【００３９】
この補正制御の内容を図２のフローチャートにしたがって詳しく説明する。
【００４０】
このフローはコントローラ６において一定の時間毎に繰り返し実行される。
【００４１】
ステップＳ１では、触媒上流側の空燃比センサ４の出力に基づいて触媒３の酸素ストレージ量が目標値となるように空燃比の制御が行われる。目標空燃比が酸素ストレージ量の演算値と目標値との比較に基づいて決定され、この空燃比となるようにエンジン１への燃料供給量が制御される。
【００４２】
次いでステップＳ２でエンジンに対するフューエルカットが行われているかどうかの判断を行い、フューエルカット中はこの制御動作を終了する。
【００４３】
フューエルカット中でなければ、ステップＳ３で排気中の酸素過不足量の積算値と、吸入空気量の積算値とを演算する。この演算は次のように行う。
【００４４】
まず、上流側空燃比センサ４の出力から排気中の酸素過剰率を換算する。理論空燃比のときの酸素過剰率をゼロとして、それ以外のときは、リーン側ではセンサ出力の大きさに応じた正の値、リッチ側では同じく負の値となる。この酸素過剰率と、そのときの吸入空気量及び酸素分圧とから単位時間当たりの酸素過不足量を算出する。なお、酸素分圧は一定値と見なすことにより、測定する必要はないし、単に定数として処理することもできる。同一の酸素過剰率でも吸入空気量が異なると酸素過不足量は変化する。そしてこの単位時間毎の酸素過不足量を順次積算して積算値を求める。
【００４５】
また、吸入空気量の積算値は、単位時間当たりの吸入空気量を積算することにより算出する。
【００４６】
次にステップＳ４で下流側空燃比センサ５の出力がストイキかどうかの判断を行い、ストイキならばこのルーチンを終了するが、ストイキでないときは、ステップＳ５〜ステップＳ８に進んで、下流側空燃比がどのように変化したかの判断が行われる。
【００４７】
つまり、ステップＳ５でストイキからリーンに変化し、ステップＳ６に進んで、ここで前回の空燃比がリーンからストイキに変化しているときは、空燃比がリーン、ストイキ、リーンに変化した、つまりリーン側で周期的に変動しているものと判定する。
【００４８】
これに対して、ステップＳ５でストイキからリーンへの変化でないときは、ステップＳ７に移り、ここで空燃比がストイキからリッチへと変化しており、さらにステップＳ８で前回の空燃比がリッチからストイキへの変化であるときは、下流側空燃比がリッチ側で周期的に変動しているものと判定する。
【００４９】
上記以外のときは、いずれも後述するステップＳ１２に進み、吸入空気量の積算値と酸素過不足量の積算値をクリアする。
【００５０】
そして、下流側空燃比がリーン側で周期的に変動しているときと、リッチ側で周期的に変動しているときに、ステップＳ９において、それぞれ上流側空燃比センサ４の出力シフト量を演算する。
【００５１】
このシフト量の演算は、上記の各変動周期の期間中に、前記のようにして求めた酸素過不足量の積算値を吸入空気量の積算値で除して、平均酸素過剰率を求め、この平均酸素過剰率に基づいて次のように算出する。
【００５２】
センサシフト量＝｛１４．７／（１−平均酸素過剰率）｝−１４．７
したがって平均酸素過剰率がリーン側の正の値ならば、センサシフト量は正の値となり、逆にリッチ側の負の値のときは、センサシフト量は負の値となる。
【００５３】
ステップＳ１０ではこのようにして算出したセンサシフト量を、上流側空燃比センサの補正値として、ステップＳ１の触媒酸素ストレージ量を目標値にするための空燃比制御にフィードバックする。
【００５４】
上流側の空燃比センサ４の出力が実際の空燃比よりも見かけ上、リッチ側にシフト（正規値からのずれ）していると、このセンサ出力に基づいて目標値となるようにフィードバック制御しても、実際の酸素ストレージ量は目標値よりも多くなる。これを継続することにより、やがて触媒３の酸素ストレージ量が飽和し、下流側の空燃比がストイキからリーン側となってしまう。したがってこの場合には、上流側の空燃比センサ４の出力に対してリーン側への補正を行い、これを空燃比の制御にフィードバックする。
【００５５】
逆に上流側の空燃比センサ４の出力が実際の空燃比よりも見かけ上、リーン側にシフトしていると、実際の酸素ストレージ量が目標値よりも少なくなり、やがてゼロとなり、下流側の空燃比がストイキからリッチ側になる。この場合には上流側の空燃比センサ４の出力に対してリッチ側への補正を行い、リーンシフト分を補うのである。
【００５６】
平均酸素過剰率の絶対値は、実際の空燃比が目標空燃比からのズレ幅が大きくなるほど大きくなり、したがってこの平均酸素過剰率に基づいての補正量は、実際の上流側空燃比センサ４のシフト量に対応するものとなり、酸素ストレージ量を短期間のうちに目標値まで収束させることができる。
【００５７】
一方、ステップＳ１１では、このセンサ出力に対するシフト量が所定値を超えているときには、上流側空燃比センサ４の異常判定を行う。
【００５８】
これは上流側の空燃比センサ４の出力に対する補正量の絶対値が所定値に達したときに、空燃比センサ４の異常であると判断するもので、空燃比センサ４の劣化が進んで、安定した空燃比制御が難しくなり、排気性能に悪影響を及ぼす可能性があるので、異常を判定し、報知することにより早期の修理、交換を促すのである。
【００５９】
ステップＳ１２では吸入空気量と酸素過不足量の積算値をクリアし、このルーチンを終了する。
【００６０】
次に全体的な作用について説明する。
【００６１】
触媒３の酸素ストレージ量は目標値である、例えば最大ストレージ量の半分程度に制御されることで、触媒３はＮＯｘとＨＣ、ＣＯの浄化を効率よく行える。酸素ストレージ量は上流側空燃比センサ４の出力に基づいて演算され、これが目標値よりも減ると空燃比がリーン側に制御され、ストレージ量を増やし、反対に目標値よりも増えるとリッチ側に制御され、ストレージ量を減らす。
【００６２】
このため触媒３が適正に機能する正常状態では、触媒３の下流側の空燃比はストイキとなり、リーンやリッチとなることはない。
【００６３】
しかし、上流側空燃比センサ４が経時的に劣化し、センサ出力が正規の状態からシフトすると、空燃比を実際によりもリーン側に検出したり、リッチ側に検出したりする。すると、この空燃比センサ４の出力に基づいて酸素ストレージ量を演算しても、正確な保持量が求められず、触媒３の酸素ストレージ量が飽和したり、全て放出されたりする可能性がある。
【００６４】
この場合には、触媒下流側の空燃比がストイキからリッチまたはリーンに変動する。図３にも示すように、このような空燃比の変動により、いま仮に下流側空燃比がリーン側で周期的に変動したとする。
【００６５】
なお、上流側空燃比センサ４の出力に基づいて制御される空燃比にはフィードバックがかかるので、正常時でも空燃比は一定値をとるのではなく、目標空燃比を中心にしてある周期をもってリッチ側とリーン側に僅かづつ振れている。このため、下流側の空燃比がリーン側に変化しても、リーン側において空燃比はリーンとストイキの間で周期的に変動する。
【００６６】
このようなリーン側における空燃比の周期的変動を検出したときは、上流側空燃比センサ４が見かけ上、実際よりもリッチ側にシフトされていることを意味する。これに対しては、センサ出力をリーン側に補正することにより、実際の空燃比がリーンからリッチ側に補正されることになる。
【００６７】
上流側空燃比センサ４の補正量は、リーン側で変動する所定周期における排気中の酸素過不足量に応じて決定される。この酸素過不足量（過剰量と不足量）は上流側空燃比センサ４の出力シフト量と相関をもち、見かけ上リッチ側へのシフト幅が大きくなるほど、実際に制御される排気中の酸素過剰量が大きくなる。
【００６８】
したがって、このように決定された補正値を空燃比制御にフィードバックすることにより、上流側空燃比センサ４の出力補正値は実際の空燃比を正確に表すことになり、このため、これに基づいて空燃比を制御することで、酸素ストレージ量を目標値に向けて修正できる。
【００６９】
以上のことは、空燃比センサ４の出力が見かけ上、リーン側にシフトしているときでも、同じようにして行われ、このときは補正の方向が逆になり、酸素ストレージ量を目標値に収束させることが可能となる。
【００７０】
また、上流側の空燃比センサ４の出力が大幅にずれているときは、空燃比センサ出力の補正量が大きくなるが、このような場合には、センサ劣化が大幅に進んでいる可能性が高いので、空燃比センサ４の異常を判定し、補正を継続するよりも新品と交換すること等を促すようになっている。
【００７１】
なお、酸素過不足量の演算は、上流側空燃比センサ４の出力の正確性が担保できない、燃料カット運転時には中止されるので、センサ出力シフト量の演算動作の混乱を避け、補正制御の安定性を確保できる。
【００７２】
次に、図４、図５により、上流側空燃比センサ４の出力に基づいて触媒３の酸素ストレージ量を演算する具体例を説明する。触媒３に対する酸素ストレージ特性は、触媒の貴金属に高速で吸収／放出される特性と、触媒のセリアなどの酸素ストレージ材に低速で吸収／放出される特性に分かれる。したがって酸素ストレージ量をこの特性に合わせて高速と低速成分に分けて演算することにより、触媒の特性に応じた実際のストレージ量を正確に演算できる。
【００７３】
図４は高速成分の酸素ストレージ量を演算するフローチャート、図５は同じく低速成分を演算するフローチャートである。
【００７４】
図４において、このサブルーチンでは触媒３に流入する排気の酸素酸素過不足量O2INと高速成分の酸素放出率Aに基づき高速成分HO2の演算が行われる。
【００７５】
これによると、まず、ステップＳ３１では酸素過不足量O2INの値に基づき高速成分HO2が酸素を吸収する状態にあるか、あるいは酸素を放出する状態にあるかが判断される。
【００７６】
その結果、触媒３に流入する排気の空燃比がリーンであって、酸素過不足量O2INがゼロより大きい場合、高速成分HO2が酸素を吸収する状態にあると判断して、ステップＳ３２に進み、次式（１）、
HO2 ＝ HO2z ＋ O2IN  …  （１）
HO2z：高速成分HO2の前回値
により高速成分HO2が演算される。
【００７７】
一方、酸素過不足量O2INがゼロ以下の値で、高速成分が酸素を放出する状態にあると判断された場合はステップＳ３３に進み、次式（２）、
HO2 ＝ HO2z ＋ O2IN × A  …  （２）
A：高速成分HO2の酸素放出率
により高速成分HO2が演算される。
【００７８】
このようにして高速成分HO2が演算されたら、ステップＳ３４、Ｓ３５でその値が高速成分の最大量HO2MAXを超えていないか、あるいは最小量HO2MIN（＝０）以下になっていないかが判断される。
【００７９】
そして、高速成分HO2が最大量HO2MAX以上になっている場合はステップＳ３６に進み、高速成分HO2に吸収されずに溢れ出るオーバフロー分（過剰量）OVERFLOWが次式（３）、
OVERFLOW ＝ HO2 - HO2MAX  …  （３）
により演算され、さらに、高速成分HO2が最大量HO2MAXに制限される。
【００８０】
また、高速成分HO2が最小量HO2MIN以下になっている場合はステップＳ３７に進み、高速成分HO2に吸収されずに溢れ出るオーバフロー分（不足量）OVERFLOWが次式（４）、
OVERFLOW ＝ HO2 − HO2MIN  …  （４）
により演算され、さらに、高速成分HO2が最小量HO2MINに制限される。なお、ここでは最小量HO2MINとして０を与えているから、高速成分HO2をすべて放出した状態で不足する酸素量が負のオーバフロー分として算出されることになる。
【００８１】
また、高速成分HO2が最大量HO2MAXと最小量HO2MINの間にあるときは、触媒３に流入した排気の酸素過不足量O2INは全て高速成分HO2に吸収されるので、オーバフロー分OVERFLOWにはゼロが設定される。
【００８２】
ここで、高速成分HO2が最大量HO2MAX以上あるいは最小量HO2MIN以下となって高速成分HO2から溢れ出たオーバフロー分OVERFLOWは、低速成分LO2で吸収あるいは放出される。
【００８３】
また、図５は酸素ストレージ量の低速成分LO2を演算するためのサブルーチンの内容を示す。このサブルーチンでは高速成分HO2から溢れ出たオーバフロー分OVERFLOWに基づき低速成分LO2が演算される。
【００８４】
これによると、ステップＳ４１では低速成分LO2が次式（５）、
LO2 ＝ LO2z ＋ OVERFLOW × B  …  （５）
LO2z：低速成分LO2の前回値
B：低速成分の酸素吸収放出率
により演算される。ここで低速成分の酸素吸収放出率Bは１以下の正の値に設定されるが、実際には吸収と放出とで異なる特性を有し、また実際の吸収放出率は触媒温度TCAT、低速成分LO2等の影響を受けるので、吸収率と放出率とをそれぞれ分離して設定するようにしても良い。その場合、オーバフロー分OVERFLOWが正であるとき、酸素が過剰であり、このときの酸素吸収Bは、例えば触媒温度TCATが高いほど、また低速成分LO2が小さいほど大きな値に設定される。また、オーバフロー分OVERFLOWが負であるとき、酸素が不足しており、このときの酸素放出率Ｂは、例えば触媒温度TCATが高いほど、また低速成分LO2が大きいほど大きな設定される。
【００８５】
ステップＳ４２、Ｓ４３では、高速成分HO2の演算時と同様に、演算された低速成分LO2がその最大量LO2MAXを超えていないか、あるいは最小量LO2MIN（＝０）以下になっていないかが判断される。
【００８６】
その結果、最大量LO2MAXを超えている場合はステップＳ４４に進み、低速成分LO2から溢れる酸素過不足量O2OUTが次式（６）、
O2OUT ＝ LO2 − LO2MAX  …  （６）
により演算されて低速成分LO2が最大量LO2MAXに制限される。酸素過不足量O2OUTはそのまま触媒３の下流に流出する。
【００８７】
一方、最小量以下になっている場合はステップＳ４５へ進み、低速成分LO2が最小量LO2MINに制限される。
【００８８】
このようにして触媒３に対する酸素ストレージ量が演算され、この酸素ストレージ量が目標値と一致するように、空燃比が制御されるのである。
【００８９】
本発明は上記の実施の形態に限定されずに、その技術的な思想の範囲内において種々の変更がなしうることは明白である。
【図面の簡単な説明】
【図１】本発明の概略構成図である。
【図２】制御動作を示すフローチャートである。
【図３】触媒下流側の空燃比と上流側空燃比センサの補正量との関係を説明するもので、（Ａ）は下流側の空燃比がリッチの場合、（Ｂ）は同じくリーンの場合を示す。
【図４】酸素ストレージ量（高速成分ストレージ量）を演算するためのフローチャートである。
【図５】酸素ストレージ量（低速成分ストレージ量）を演算するためのフローチャートである。
【符号の説明】
１  エンジン
３  触媒
４  上流側空燃比センサ
５  下流側空燃比センサ
６  コントローラ
【図１】
0003675282.tif 000002
【図２】
0003675282.tif 000003
【図３】
0003675282.tif 000004
【図４】
0003675282.tif 000005
【図５】
0003675282.tif 000006