(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に配設された酸素吸蔵作用を有する触媒と、
前記触媒に吸蔵されている酸素吸蔵量を推定する吸蔵量推定手段と、
前記触媒の酸素吸蔵量の目標値を設定する目標値設定手段と、
前記吸蔵量推定手段によって推定される酸素吸蔵量が前記目標値設定手段によって設定された目標値となるように吸入空燃比を制御する吸入空燃比制御手段とを備えており、
前記目標値設定手段が、前記吸蔵量推定手段によって推定された酸素吸蔵量の履歴に基づいて、酸素吸蔵量の目標値を設定することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記触媒の下流側の排気空燃比を検出する下流側空燃比検出手段をさらに備えており、
前記下流側空燃比検出手段によって検出された排気空燃比が所定の空燃比となったときに前記吸蔵量推定手段によって推定された酸素吸蔵量に基づいて、前記目標値設定手段が前記目標値を設定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
前記触媒の下流側の排気空燃比を検出する下流側空燃比検出手段をさらに備えており、
前記下流側空燃比検出手段によって検出された排気空燃比が所定範囲外となった場合は、前記吸蔵量推定手段による酸素吸蔵量の推定を禁止することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項４】
前記吸蔵量推定手段は、ある時点での酸素吸蔵量を基準として前記下流側空燃比検出手段によって検出された排気空燃比が大きい側で所定範囲外となったときの酸素吸蔵量を上限値とし、前記下流側空燃比検出手段によって検出された排気空燃比が小さい側で所定範囲外となったときの酸素吸蔵量を下限値とし、
前記目標値設定手段は、設定された上限値及び下限値から前記目標値を設定することを特徴とする請求項２に記載の内燃機関の空燃比制御装置。
【請求項５】
請求項１〜３の何れか一項に記載の内燃機関の空燃比制御装置によって前記触媒の劣化を判定する内燃機関の触媒劣化判定装置であって、
前記触媒の下流側の排気空燃比を検出する下流側空燃比検出手段と、前記触媒の劣化を判定する触媒劣化判定手段とをさらに備えており、
前記下流側空燃比検出手段によって検出された排気空燃比が所定の空燃比となったときに前記吸蔵量推定手段によって推定された酸素吸蔵量に基づいて、前記触媒劣化判定手段が前記触媒の劣化を判定することを特徴とする内燃機関の触媒劣化判定装置。
【請求項６】
請求項１に記載の内燃機関の空燃比制御装置によって前記触媒の劣化を判定する内燃機関の触媒劣化判定装置であって、
前記触媒の劣化を判定する触媒劣化判定手段と、前記触媒の温度を検出する触媒温度検出手段とをさらに備えており、
前記触媒劣化判定手段が、前記吸蔵量推定手段によって推定された酸素吸蔵量の履歴と前記触媒温度検出手段によって検出された前記触媒の温度とから、前記触媒の劣化を判定することを特徴とする内燃機関の触媒劣化判定装置。
【請求項７】
前記触媒の上流側の排気空燃比を検出する上流側空燃比検出手段と、前記触媒の下流側の排気空燃比を検出する下流側空燃比検出手段とをさらに備え、
前記上流側空燃比検出手段の検出結果が正常で、かつ、前記下流側空燃比検出手段の検出結果が正常でない場合には、前記上流側空燃比検出手段の検出結果に基づいて前記内燃機関の燃料噴射量のフィードバック制御を行うことを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項８】
前記上流側空燃比検出手段の検出結果が正常で、かつ、前記下流側空燃比検出手段の検出結果が正常でない場合でも、前記吸蔵量推定手段が、前記上流側空燃比検出手段の検出結果に基づいて前記触媒に吸蔵されている酸素吸蔵量を推定することを特徴とする請求項７に記載の内燃機関の空燃比制御装置。
【請求項９】
前記触媒の下流側の排気空燃比を検出する下流側空燃比検出手段と、前記触媒の酸素吸蔵能力を推定する吸蔵能力推定手段とをさらに備え、
前記吸蔵能力推定手段は、前記下流側空燃比検出手段の応答遅れを考慮しつつ、前記下流側空燃比検出手段の検出結果に基づいて前記触媒の酸素吸蔵能力を更新することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項１０】
前記触媒の上流側の排気空燃比を検出する上流側空燃比検出手段をさらに備え、
前記吸蔵量推定手段は、前記上流側空燃比検出手段の検出結果に基づいて前記触媒に吸蔵される酸素量を積算する際になまし処理を行いつつ前記触媒の酸素吸蔵量を推定し、
前記吸蔵能力推定手段は、前記吸蔵量推定手段によってなまし処理された酸素吸蔵量と前記下流側空燃比検出手段の検出結果とに基づいて前記触媒の酸素吸蔵能力を更新することによって、前記下流側空燃比検出手段の応答遅れを考慮することを特徴とする請求項９に記載の内燃機関の空燃比制御装置。
【請求項１１】
前記触媒の上流側の排気空燃比を検出する上流側空燃比検出手段をさらに備え、
前記吸蔵量推定手段は、前記上流側空燃比検出手段の検出結果に基づいて前記触媒に吸蔵される酸素量を積算する際に、前記上流側空燃比検出手段から前記下流側空燃比検出手段への排気ガスの移動時間に相当するディレイ処理を行いつつ前記触媒の酸素吸蔵量を推定し、
前記吸蔵能力推定手段は、前記吸蔵量推定手段によってディレイ処理された酸素吸蔵量と前記下流側空燃比検出手段の検出結果とに基づいて前記触媒の酸素吸蔵能力を更新することによって、前記下流側空燃比検出手段の応答遅れを考慮することを特徴とする請求項９に記載の内燃機関の空燃比制御装置。
【請求項１２】
前記下流側空燃比検出手段の応答遅れが、前記下流側空燃比検出手段自体の特性に起因するもの、前記下流側空燃比検出手段までの排気ガスの移動遅れに起因するもの、又は、これらの双方に起因するものであることを特徴とする請求項９に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
内燃機関の排気ガス内の窒素酸化物ＮＯｘ、一酸化炭素ＣＯ、炭化水素ＨＣなどの有害物質は、排気通路上に配設された三元触媒によって浄化されている（ディーゼルエンジンでは、上述した有害物質に加えて粒子状物質も浄化する四元触媒も用いられる）。この触媒の酸素吸蔵作用に着目して有害物質の浄化率をより一層向上させるために、この酸素吸蔵作用を効果的に利用するための空燃比制御が従来から検討されている。このような酸素吸蔵作用に着目した空燃比制御装置としては、特開平９−３１０６３５号公報に記載のものなどがある。特開平９−３１０６３５号公報に記載の空燃比制御装置は、三元触媒に吸蔵される酸素吸蔵量が予め設定された目標吸蔵量に一致するように空燃比制御を行うものであった。
【０００３】
この空燃比制御装置においては、三元触媒に吸蔵させる酸素の目標吸蔵量は一定値に固定されている。具体的には、三元触媒に流入する排気ガス（入ガス）の排気空燃比がリーンの時に三元触媒によって吸蔵し得る酸素吸蔵マージンと、排気空燃比がリッチの時に三元触媒から放出し得る酸素放出マージンとがほぼ等しくなるように、三元触媒の吸蔵し得る酸素吸蔵能力の半分を目標吸蔵量として固定的に設定している。
【０００４】
【発明が解決しようとする課題】
触媒に実際に吸蔵されている酸素吸蔵量は、入ガスの量やその排気空燃比から比較的精度良く求めることが可能である。しかし、酸素吸蔵能力は種々の条件によって大きく影響を受けるので、実際には常に変化している。このため、上述したように目標吸蔵量を固定的に設定している場合には、常に変化している酸素吸蔵能力に対して、実際の酸素吸蔵量が多くなりすぎたり、少なくなりすぎたりする場合が生じることが危惧される。酸素吸蔵能力に対して実際の酸素吸蔵量が多くなりすぎれば、入ガスの排気空燃比がリーンとなった場合に窒素酸化物ＮＯｘを充分に還元できない。これとは反対に、酸素吸蔵能力に対して実際の酸素吸蔵量が少なくなりすぎれば、入ガスの排気空燃比がリッチになった場合に一酸化炭素ＣＯや炭化水素ＨＣを充分に酸化できない。
【０００５】
従って、本発明の目的は、触媒の酸素吸蔵量の目標吸蔵量を変動する酸素吸蔵能力に対応させて更新し、排気浄化率の良い空燃比制御を行うことのできる内燃機関の空燃比制御装置を提供することにある。
【０００６】
【課題を解決するための手段】
本発明は、内燃機関の排気通路に配設された酸素吸蔵作用を有する触媒と、触媒に吸蔵されている酸素吸蔵量を推定する吸蔵量推定手段と、触媒の酸素吸蔵量の目標値を設定する目標値設定手段と、吸蔵量推定手段によって推定される酸素吸蔵量が目標値設定手段によって設定された目標値となるように吸入空燃比を制御する吸入空燃比制御手段とを備えており、目標値設定手段が、吸蔵量推定手段によって推定された酸素吸蔵量の履歴に基づいて、酸素吸蔵量の目標値を設定することを特徴としている。
【０００７】
本発明によれば、触媒によって実際に吸蔵した酸素吸蔵量の履歴に基づいて、酸素吸蔵量の目標値を設定（新規設定・更新設定）するので、酸素吸蔵量の目標値が常に最適な値に維持される。この結果、触媒に吸蔵される酸素吸蔵量を常に最適な範囲に維持でき、排気ガスの浄化を好適に行うことができる。
【０００８】
ここで、触媒の下流側の排気空燃比を検出する下流側空燃比検出手段をさらに備えており、下流側空燃比検出手段によって検出された排気空燃比が所定の空燃比となったときに吸蔵量推定手段によって推定された酸素吸蔵量に基づいて、目標値設定手段が目標値を設定することが好ましい。触媒の下流側の排気空燃比を検出することによって、触媒の酸素吸蔵状態を検出することができる。触媒の下流側の排気空燃比が所定の空燃比となったとき、即ち、触媒の酸素吸蔵状態が所定の状態となったときに、酸素吸蔵量の目標値を設定（新規設定・更新設定）するようにすれば、目標値をより正確に適正な値に維持することができる。
【０００９】
また、ここで、触媒の下流側の排気空燃比を検出する下流側空燃比検出手段をさらに備えており、下流側空燃比検出手段によって検出された排気空燃比が所定範囲外となった場合は、吸蔵量推定手段による酸素吸蔵量の推定を禁止することが好ましい。触媒の下流側の排気空燃比を検出することによって、触媒の酸素吸蔵状態を検出することができる。触媒の下流側の排気空燃比が所定範囲外となったとき、即ち、触媒の酸素吸蔵状態が所定範囲外となったときに酸素吸蔵量の推定を禁止することによって、実際には酸素の吸蔵・放出が行われていない場合（あるいは酸素吸蔵量の推定精度の低い状態にある場合）に酸素吸蔵量を更新してしまうことを防止できる。この結果、酸素吸蔵量の履歴が正確になり、排気ガスの浄化をより好適に行うことができる。
【００１０】
また、ここで、吸蔵量推定手段は、ある時点での酸素吸蔵量を基準として下流側空燃比検出手段によって検出された排気空燃比が大きい側（リーン側）で所定範囲外となったときの酸素吸蔵量を上限値とし、前記下流側空燃比検出手段によって検出された排気空燃比が小さい側（リッチ側）で所定範囲外となったときの酸素吸蔵量を下限値とし、目標値設定手段は、設定された上限値及び下限値から目標値を設定することが好ましい。このようにされていると、目標値が上述した基準近傍に設定されることになり、目標値が大きく変動することがなくなる。目標値の変動が少ないので、制御が行い易くなり、酸素吸蔵量の推定時に異常が生じても、その影響度を小さくすることもできる。
【００１１】
さらに、上述したように、吸蔵量推定手段は、ある時点での酸素吸蔵量を基準として下流側空燃比検出手段によって検出された排気空燃比が大きい側（リーン側）で所定範囲外となったときの酸素吸蔵量を上限値とし、前記下流側空燃比検出手段によって検出された排気空燃比が小さい側（リッチ側）で所定範囲外となったときの酸素吸蔵量を下限値とするので、酸素吸蔵量をより正確に設定でき、より正確な目標値を設定することができる。
【００１３】
また、ここで、触媒の下流側の排気空燃比を検出する下流側空燃比検出手段と、触媒の劣化を判定する触媒劣化判定手段とをさらに備えており、下流側空燃比検出手段によって検出された排気空燃比が所定の空燃比となったときに吸蔵量推定手段によって推定された酸素吸蔵量に基づいて、触媒劣化判定手段が触媒の劣化を判定することが好ましい。触媒の酸素吸蔵能力は、触媒の劣化度合いによって変動するので、触媒の酸素吸蔵量の履歴から触媒の劣化を判定することができる。また、触媒の下流側の排気空燃比を検出することによって、触媒の酸素吸蔵状態を検出することができる。このため、触媒の下流側の排気空燃比が所定の空燃比となったとき、即ち、触媒の酸素吸蔵状態が所定の状態となったときに、触媒の劣化を判定するようにすれば、その劣化判定をより正確に行うことができる。
【００１４】
あるいは、触媒の劣化を判定する触媒劣化判定手段と、触媒の温度を検出する触媒温度検出手段とをさらに備えており、触媒劣化判定手段が、吸蔵量推定手段によって推定された酸素吸蔵量の履歴と触媒温度検出手段によって検出された触媒の温度とから、触媒の劣化を判定することが好ましい。触媒の酸素吸蔵能力は、触媒の劣化度合いによって変化し、触媒の温度にも依存する。このため、触媒の下流側の排気空燃比が所定の空燃比となったとき、即ち、触媒の酸素吸蔵状態が所定の状態となったときに、触媒の温度を参照しつつ触媒の酸素吸蔵量の履歴から触媒の劣化を判定するようにすれば、その劣化判定をより正確に行うことができる。
【００１５】
さらに、触媒の上流側の排気空燃比を検出する上流側空燃比検出手段と、触媒の下流側の排気空燃比を検出する下流側空燃比検出手段とをさらに備え、上流側空燃比検出手段の検出結果が正常で、かつ、下流側空燃比検出手段の検出結果が正常でない場合には、上流側空燃比検出手段の検出結果に基づいて内燃機関の燃料噴射量のフィードバック制御を行うことが好ましい。各空燃比検出手段が正常でない場合とは、故障している場合や、各空燃比検出手段が酸素センサであるときに活性状態に達していない場合などである。このようにすれば、下流側空燃比検出手段が正常でない場合でも、上流側空燃比制御手段に基づく燃料噴射量のフィードバック制御を行うことによって排気空燃比を制御し、排気ガス中の有害物質を低減させることができる。
【００１６】
ここで、上流側空燃比検出手段の検出結果が正常で、かつ、下流側空燃比検出手段の検出結果が正常でない場合でも、吸蔵量推定手段が、上流側空燃比検出手段の検出結果に基づいて触媒に吸蔵されている酸素吸蔵量を推定することが好ましい。このようにすれば、下流側空燃比検出手段が正常な状態になったと同時に、酸素吸蔵量の履歴に基づいてその目標値を更新することができる。この結果、酸素吸蔵量の目標値が常に最適な値に維持され、触媒に吸蔵される酸素吸蔵量を常に最適な範囲に維持でき、排気ガスの浄化を好適に行うことができる。
【００１７】
またさらに、触媒の下流側の排気空燃比を検出する下流側空燃比検出手段と、触媒の酸素吸蔵能力を推定する吸蔵能力推定手段とをさらに備え、吸蔵能力推定手段は、下流側空燃比検出手段の応答遅れを考慮しつつ、下流側空燃比検出手段の検出結果に基づいて触媒の酸素吸蔵能力を更新することも好ましい。このようにすれば、下流側空燃比検出手段に応答遅れがある場合であっても、酸素吸蔵能力をより正確に推定することができ、排気ガスの浄化を好適に行うことができる。
【００１８】
ここで、触媒の上流側の排気空燃比を検出する上流側空燃比検出手段をさらに備え、吸蔵量推定手段は、上流側空燃比検出手段の検出結果に基づいて触媒に吸蔵される酸素量を積算する際になまし処理を行いつつ触媒の酸素吸蔵量を推定し、吸蔵能力推定手段は、吸蔵量推定手段によってなまし処理された酸素吸蔵量と下流側空燃比検出手段の検出結果とに基づいて触媒の酸素吸蔵能力を更新することによって、下流側空燃比検出手段の応答遅れを考慮することが好ましい。このように、なまし処理によって応答遅れを考慮すれば、触媒の酸素吸蔵能力をより正確に推定することができ、排気ガスの浄化を好適に行うことができる。
【００１９】
あるいは、触媒の上流側の排気空燃比を検出する上流側空燃比検出手段をさらに備え、吸蔵量推定手段は、上流側空燃比検出手段の検出結果に基づいて触媒に吸蔵される酸素量を積算する際に、上流側空燃比検出手段から下流側空燃比検出手段への排気ガスの移動時間に相当するディレイ処理を行いつつ触媒の酸素吸蔵量を推定し、吸蔵能力推定手段は、吸蔵量推定手段によってディレイ処理された酸素吸蔵量と下流側空燃比検出手段の検出結果とに基づいて触媒の酸素吸蔵能力を更新することによって、下流側空燃比検出手段の応答遅れを考慮してもよい。このように、ディレイ処理によって応答遅れを考慮すれば、触媒の酸素吸蔵能力をより正確に推定することができ、排気ガスの浄化を好適に行うことができる。
【００２０】
【発明の実施の形態】
実施形態の説明の前に、触媒の酸素吸蔵作用について簡単に説明する。
【００２１】
以下に説明する実施形態においては触媒として三元触媒を用いており、この三元触媒は、セリア（ＣｅＯ２）等の成分を有し、排気ガス中の酸素を吸蔵・放出する性質を有している。この三元触媒は、入ガスの排気空燃比がリーンの時は、排気ガス中の酸素を吸蔵して還元雰囲気寄りの状態を形成させ、余剰の窒素酸化物ＮＯｘを還元して排気ガス浄化を促進する。一方、この三元触媒は、入ガスの排気空燃比がリッチの時は、吸蔵しておいた酸素を放出して、余剰の一酸化炭素ＣＯや炭化水素ＨＣを酸化して排気ガス浄化を促進する。このように、三元触媒の酸素を吸蔵・放出する性質を利用して、排気ガスの浄化率を向上させることができる。
【００２２】
このとき、上述したように、三元触媒がその酸素吸蔵能力の限界まで酸素を吸蔵していれば、入ガスの排気空燃比がリーンとなったときに酸素を吸蔵することができなくなり、排気ガス中の窒素酸化物ＮＯｘを充分に浄化できなくなる。一方、三元触媒が酸素を放出しきって酸素を全く吸蔵していなければ、入ガスの排気空燃比がリッチとなったときに酸素を放出することができないので、排気ガス中の一酸化炭素ＣＯや炭化水素ＨＣを充分に浄化できなくなる。このため、入ガスの排気空燃比がリーンとなってもリッチとなっても対応できるように、三元触媒の酸素吸蔵量が常に酸素吸蔵能力のほぼ半分となるように目標値を設定し、酸素吸蔵量をこの目標値となるように維持することが好ましい。
【００２３】
しかし、上述したように、三元触媒の酸素吸蔵能力は、その温度や劣化状態などの様々な要因に依存しており、常に変動している。このため、以下に説明する実施形態の空燃比制御装置においては、変動する酸素吸蔵能力に対応させて目標値を設定し、三元触媒の酸素吸蔵量をこの目標値に維持するように空燃比を制御する。本発明の内燃機関の空燃比制御装置の一実施形態について、図面を参照しつつ以下に説明する。図１に、本実施形態の空燃比制御装置を有する内燃機関の構成図を示す。
【００２４】
本実施形態の空燃比制御装置は、内燃機関であるエンジン１の空燃比を制御するものである。エンジン１は、図１に示されるように、点火プラグ２によって各シリンダ３内の混合気に対して点火を行うことによって駆動力を発生する。エンジン１の燃焼に際して、外部から吸入した空気は吸気通路４を通り、インジェクタ５から噴射された燃料と混合され、混合気としてシリンダ３内に吸気される。シリンダ３の内部と吸気通路４との間は、吸気バルブ６によって開閉される。シリンダ３の内部で燃焼された混合気は、排気ガスとして排気通路７に排気される。シリンダ３の内部と排気通路７との間は、排気バルブ８によって開閉される。
【００２５】
吸気通路４上には、シリンダ３内に吸入される吸入空気量Ｇａを調節するスロットルバルブ９が配設されている。このスロットルバルブ９には、その開度を検出するスロットルポジションセンサ１０が接続されている。また、吸気通路４上には、アイドル時（スロットルバルブ９の全閉時）にバイパス通路１１を介してシリンダ３に供給される吸入空気量Ｇａを調節するエアバイパスバルブ１２も配されている。さらに、吸気通路４上には、吸入空気量Ｇａを検出するためのエアフローメーター１３も取り付けられている。エアフローメーター１３は、吸入空気の温度を検出する吸気温センサとしても機能する。
【００２６】
エンジン１のクランクシャフト近傍には、クランクシャフトの位置を検出するクランクポジションセンサ１４が取り付けられている。クランクポジションセンサ１４の出力からは、シリンダ３内のピストン１５の位置や、エンジン回転数ＮＥを求めることもできる。また、エンジン１には、エンジン１のノッキングを検出するノックセンサ１６や冷却水温度を検出する水温センサ１７も取り付けられている。
【００２７】
これらの点火プラグ２、インジェクタ５、スロットルポジションセンサ１０、エアバイパスバルブ１２、エアフローメーター１３、クランクポジションセンサ１４、ノックセンサ１６、水温センサ１７やその他のセンサ類は、エンジン１を総合的に制御する電子制御ユニット（ＥＣＵ）１８と接続されており、ＥＣＵ１８からの信号に基づいて制御され、あるいは、検出結果をＥＣＵ１８に対して送出している。ＥＣＵ１８には、アクセル開度を検出するアクセルポジションセンサ１９や、排気通路７上に配設された三元触媒２０の温度を測定する触媒温度検出手段としての触媒温度センサ２１、チャコールキャニスタ２２によって捕集された燃料タンク内での蒸発燃料を吸気通路４上にパージさせるパージコントロールバルブ２３も接続されている。
【００２８】
また、ＥＣＵ１８には、三元触媒２０の上流側に取り付けられた上流側空燃比センサ２４及び、三元触媒２０の下流側に取り付けられた下流側空燃比センサ２５も接続されている。上流側空燃比センサ２４は、三元触媒２０の上流側空燃比を検出する上流側空燃比検出手段として機能し、下流側空燃比センサ２５は、三元触媒２０の下流側空燃比を検出する下流側空燃比検出手段として機能する。本実施形態においては、これらの空燃比センサ２４，２５は、それぞれの取付位置における排気ガス中の酸素濃度から排気空燃比を検出するＯ２センサ（酸素センサ）である。なお、これらの空燃比センサ２４，２５は、所定の温度（活性化温度）以上とならなければ正確な検出を行えないため、早期に活性化温度に昇温されるように、ＥＣＵ１８から供給される電力によって昇温される。
【００２９】
さらに、ＥＣＵ１８は、内部に演算を行うＣＰＵや演算結果などの各種情報量を記憶するＲＡＭやバッテリによってその記憶内容が保持されるバックアップＲＡＭ等を有している。そして、これらによって、ＥＣＵ１８の内部には、三元触媒２０に吸蔵されていると推定される酸素吸蔵量Ｏ２ＳＵＭを算出する吸蔵量算出部１８ａや、インジェクタ５によって噴射する燃料噴射量を算出する燃料算出部１８ｂ、酸素吸蔵量Ｏ２ＳＵＭの履歴から三元触媒２０の劣化を判定する触媒劣化判定部１８ｃが構築されていると言える。なお、吸蔵量算出部１８ａは、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを記憶しておく上下限値記憶部としても機能する。即ち、ＥＣＵ１８は、三元触媒２０に吸蔵されている酸素量を酸素吸蔵量Ｏ２ＳＵＭとして推定する吸蔵量推定手段や、三元触媒２０の劣化を判定する触媒劣化判定手段として機能する。
【００３０】
以下に、上述した空燃比制御装置によって、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭを好適な値に維持するフィードバック制御について説明する。説明を容易にするために、本制御における各制御量の時間的変化の例を図２に示す。
【００３１】
酸素吸蔵量Ｏ２ＳＵＭは、上流側空燃比センサ２４によって検出される三元触媒２０の上流側の排気空燃比ＡＦと理論空燃比ＡＦｓｔとの差ΔＡＦ＝（ＡＦ−ＡＦｓｔ）から、三元触媒２０に吸蔵される、あるいは、三元触媒２０から放出される酸素の吸蔵・放出量Ｏ２ＡＤを推定し、これを積算していくことによって得られる。ここでは、吸蔵・放出量Ｏ２ＡＤが正の値の時は酸素が三元触媒２０に吸蔵され、負の値の時は酸素が放出されるものとする。まず、酸素吸蔵量Ｏ２ＳＵＭの算出について、図３に示されるフローチャートに基づいて説明する。
【００３２】
なお、本実施形態においては、酸素吸蔵量Ｏ２ＳＵＭは、ある時点（例えばイグニションオン時）を基準（Ｏ２ＳＵＭ＝０）として算出される。即ち、酸素吸蔵量Ｏ２ＳＵＭは、三元触媒２０に酸素が吸蔵される場合は加算され、放出される場合は減算される。上述したある時点で三元触媒２０が既に酸素を吸蔵している場合もあるので、酸素吸蔵量Ｏ２ＳＵＭは正の値だけでなく、負の値も取り得る。
【００３３】
まず、上流側空燃比センサ２４によって三元触媒２０への入ガスの排気空燃比ＡＦを検出し、この排気空燃比ＡＦと理論空燃比ＡＦｓｔとの差ΔＡＦ＝（ＡＦ−ＡＦｓｔ）をＥＣＵ１８において求める。一方、エアフローメーター１３によって吸入空気量Ｇａを検出し、この吸入空気量Ｇａと空燃比差ΔＡＦとから、三元触媒２０に吸蔵・放出される酸素の吸蔵・放出量Ｏ２ＡＤを算出する（ステップ１００）。この吸蔵・放出量Ｏ２ＡＤの算出は、ＥＣＵ１８内のマップから求めても良いし、ＥＣＵ１８に記憶させた計算式を用いて算出しても良い。
【００３４】
ステップ１００の後、下流側排気空燃比のリーンフラグＸｌｅａｎがオンで、かつ、算出した吸蔵・放出量Ｏ２ＡＤが正の値であるか否かを判定する（ステップ１１０）。なお、下流側排気空燃比のリーンフラグＸｌｅａｎ及びリッチフラグＸｒｉｃｈについては追って詳述するが、リーンフラグＸｌｅａｎ及びリッチフラグＸｒｉｃｈは、三元触媒２０の下流側の排気空燃比がリーンの時はリーンフラグＸｌｅａｎがオンとされ、リッチの時はリッチフラグＸｒｉｃｈがオンとされるものである。
【００３５】
ステップ１１０において、下流側排気空燃比のリーンフラグＸｌｅａｎがオンということは、三元触媒２０からの出ガスの排気空燃比がリーンで酸素量が余剰であるということである。また、吸蔵・放出量Ｏ２ＡＤが正の値であるということは、三元触媒２０への入ガスには、吸蔵し得る酸素が含まれている状態であると言える。従って、ステップ１１０が肯定される場合は、三元触媒２０への入ガスには吸蔵し得る酸素が含まれているにもかかわらず、三元触媒２０は既に限界まで酸素を吸蔵しており、それ以上酸素を吸蔵できない状態である。
【００３６】
このため、ステップ１１０が肯定される場合は、そのままこのルーチンを終了し、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭを更新しない。ステップ１１０が肯定されているときに酸素吸蔵量Ｏ２ＳＵＭを更新してしまうと、実際には吸蔵できない酸素を吸蔵したとしてしまうので、このように酸素吸蔵量Ｏ２ＳＵＭの更新を禁止する。ステップ１１０が否定される場合は、今度は、下流側排気空燃比のリッチフラグＸｒｉｃｈがオンで、かつ、算出した吸蔵・放出量Ｏ２ＡＤが負の値であるか否かを判定する（ステップ１２０）。
【００３７】
下流側排気空燃比のリッチフラグＸｒｉｃｈがオンということは、三元触媒２０からの出ガスの排気空燃比がリッチで酸素量が不足している状態ということである。また、吸蔵・放出量Ｏ２ＡＤが負の値であるということは、三元触媒２０への入ガスの排気空燃比がリッチであり三元触媒２０が吸蔵している酸素を放出させて排気ガスを浄化すべき状態であると言える。従って、ステップ１２０が肯定される場合は、三元触媒２０への入ガスは三元触媒２０から放出される酸素によって浄化される状態であるにもかかわらず、三元触媒２０は既に酸素を放出しきっており、それ以上酸素を放出することができない状態である。
【００３８】
このため、ステップ１２０が肯定される場合は、それ以上、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭを更新しない。ステップ１２０が肯定されているときに酸素吸蔵量Ｏ２ＳＵＭを更新してしまうと、実際には放出できない酸素を放出したとしてしまうので、このように酸素吸蔵量Ｏ２ＳＵＭの更新を禁止する。ステップ１２０も否定された場合は、上述したように、入ガス中に吸蔵できる酸素があるのに酸素を吸蔵しきっている状態や酸素を放出すべきであるのに酸素を放出しきっている状態ではないので、算出された吸蔵・放出量Ｏ２ＡＤを用いて酸素吸蔵量Ｏ２ＳＵＭを更新する（ステップ１３０）。
【００３９】
このように、酸素吸蔵量Ｏ２ＳＵＭを吸蔵・放出量Ｏ２ＡＤを用いて更新する（ステップ１１０又はステップ１２０が肯定される場合は更新は禁止されるが）ことによって、三元触媒２０に吸蔵されている酸素量を常に正確に推定することができる。このようにして生成された酸素吸蔵量Ｏ２ＳＵＭの履歴が、図２のタイミングチャートの上段に示されている。逐次更新される酸素吸蔵量Ｏ２ＳＵＭは、ＥＣＵ１８の吸蔵量算出部１８ａに記憶される。
【００４０】
次いで、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの算出について、図４に示すフローチャートに基づいて説明する。
【００４１】
なお、上述したように酸素吸蔵量Ｏ２ＳＵＭがある時点を基準としているため、本実施形態においては、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎもこの時点を基準とする。即ち、酸素吸蔵量Ｏ２ＳＵＭの基準（Ｏ２ＳＵＭ＝０）が規定される時点では、Ｏ２ＳＵＭｍａｘ＝Ｏ２ＳＵＭｍｉｎ＝０である。
【００４２】
まず、図２のタイミングチャート中の下段に示されるように、下流側空燃比センサ２５の出力電圧ＶＯ２が、予め定められたリーン側閥値Ｖｌｅａｎ（ここでは、具体的には０．３Ｖ）未満であるか否かを判定する（ステップ２００）。出力電圧ＶＯ２がリーン側閥値Ｖｌｅａｎ未満であるということは、三元触媒２０がその酸素吸蔵能力の限界まで酸素を吸蔵しているので、それ以上吸蔵することができない状態であると考えられる。このため、ステップ２００が肯定される場合は、酸素吸蔵量Ｏ２ＳＵＭが上限に達しているとして、その時点の酸素吸蔵量Ｏ２ＳＵＭを上限値Ｏ２ＳＵＭｍａｘとしてＥＣＵ１８内の吸蔵量算出部１８ａに記憶する。また、三元触媒２０の下流側排気空燃比の状態を示すフラグについては、リーンフラグＸｌｅａｎをオンにセットし、リッチフラグＸｒｉｃｈをオフにセットする（ステップ２１０）。
【００４３】
ステップ２００が否定される場合は、下流側空燃比センサ２５の出力電圧ＶＯ２が、予め定められたリッチ側閥値Ｖｒｉｃｈ（ここでは、具体的には０．７Ｖ）を超えているか否かを判定する（ステップ２２０）。出力電圧ＶＯ２がリッチ側閥値Ｖｒｉｃｈを超えているということは、三元触媒２０が酸素を吸蔵しておらず、それ以上酸素を放出できない状態であると考えられる。このため、ステップ２２０が肯定される場合は、酸素吸蔵量Ｏ２ＳＵＭが下限に達しているとして、その時点の酸素吸蔵量Ｏ２ＳＵＭを下限値Ｏ２ＳＵＭｍｉｎとしてＥＣＵ１８内の吸蔵量算出部１８ａに記憶する。また、三元触媒２０の下流側排気空燃比の状態を示すフラグについては、リーンフラグＸｌｅａｎをオフにセットし、リッチフラグＸｒｉｃｈをオンにセットする（ステップ２３０）。
【００４４】
ステップ２２０が否定される場合は、下流側空燃比センサ２５の出力電圧ＶＯ２が、リーン側閥値Ｖｌｅａｎとリッチ側閥値Ｖｒｉｃｈとの間にある（Ｖｌｅａｎ≦ＶＯ２≦Ｖｒｉｃｈ）ので、三元触媒２０からの出ガスの排気空燃比はリーンでもリッチでもなく、理論空燃比近傍にあるとみなせる。この場合は、リーンフラグＸｌｅａｎ・リッチフラグＸｒｉｃｈ共オフにする（ステップ２４０）。
【００４５】
上述したように、酸素吸蔵量Ｏ２ＳＵＭの履歴が逐次更新され、この履歴と下流側空燃比センサ２５の出力とから上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎが更新されていく。このため、上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎとの差（Ｏ２ＳＵＭｍａｘ−Ｏ２ＳＵＭｍｉｎ）をとれば、三元触媒２０の吸蔵し得る最大限の酸素量（酸素吸蔵能力に相当する吸蔵量）を得ることができる。そして、三元触媒２０の吸蔵し得る最大限の酸素量（Ｏ２ＳＵＭｍａｘ−Ｏ２ＳＵＭｍｉｎ）は、上述したように三元触媒２０の温度などに依存して変動しているが、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎが常に更新されるので、常に最適な値に維持される。そして、この上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎとの差（Ｏ２ＳＵＭｍａｘ−Ｏ２ＳＵＭｍｉｎ）を算出するＥＣＵ１８は、酸素吸蔵能力を推定する吸蔵能力推定手段としても機能している。
【００４６】
次いで、上述した上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎから酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆを設定し、この目標値Ｏ２ＳＵＭｒｅｆから燃料噴射量の補正係数ＫＡＦを算出する制御について説明する。この制御を示すフローチャートを図５に示す。
【００４７】
まず、エアフローメーター１３によって検出される吸入空気量Ｇａが予め設定された閥値Ｃ１未満であり、かつ、クランクポジションセンサ１４によって検出されるエンジン回転数ＮＥが予め設定された閥値Ｃ２未満であるか否かを判定する（ステップ３００）。ステップ３００が肯定される場合は、エンジン１が、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭに基づく燃料噴射量のフィードバック制御範囲内の軽負荷領域で運転されていると判断することができる。この場合は、酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆを、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎとの平均値（Ｏ２ＳＵＭｍａｘ＋Ｏ２ＳＵＭｍｉｎ）／２に設定する（ステップ３１０）。
【００４８】
これらの演算はＥＣＵ１８内において行われる。即ち、ＥＣＵ１８は、目標値設定手段としても機能している。このように目標値Ｏ２ＳＵＭｒｅｆを設定することによって、三元触媒２０の酸素吸蔵マージンと酸素放出マージンとをほぼ等しくすることができ、酸素を吸蔵させる場合と酸素を放出させる場合との何れにも等しく対応し得る状態を目標とすることになる。
【００４９】
一方、ステップ３００が否定される場合は、エンジン１が、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭに基づく燃料噴射量のフィードバック制御範囲内の高負荷領域で運転されていると判断することができる。この場合は、酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆを、上述した平均値（Ｏ２ＳＵＭｍａｘ＋Ｏ２ＳＵＭｍｉｎ）／２よりも下限値Ｏ２ＳＵＭｍｉｎ寄りの値に設定する（ステップ３２０）。ここでは、目標値Ｏ２ＳＵＭｒｅｆを、（Ｏ２ＳＵＭｍａｘ×０．４＋Ｏ２ＳＵＭｍｉｎ×０．６）として求めている。このようにフィードバック領域内の高負荷寄りの状態では、目標値Ｏ２ＳＵＭｒｅｆを下限値Ｏ２ＳＵＭｍｉｎ寄りに設定する理由は、以下に述べる理由による。
【００５０】
このような高負荷領域でエンジン１が運転される場合は、排気ガス中の窒素酸化物ＮＯｘの量が低負荷領域で運転される場合よりも多くなる。このため、三元触媒２０が酸素を吸蔵しきってそれ以上酸素を吸蔵できない状態になると、三元触媒２０によって窒素酸化物ＮＯｘを還元させにくくなり、窒素酸化物ＮＯｘを充分に浄化できなくなってしまう。このため、高負荷寄りの領域では、三元触媒２０の酸素吸蔵マージンを多めにとり、即ち、目標値Ｏ２ＳＵＭｒｅｆを下限値Ｏ２ＳＵＭｍｉｎ寄りに設定し、三元触媒２０が酸素を吸蔵しきってそれ以上酸素を吸蔵できない状態となるのを防止して窒素酸化物ＮＯｘを確実に浄化するようにしている。
【００５１】
ステップ３１０又はステップ３２０において目標値Ｏ２ＳＵＭｒｅｆが設定されたら、その時点での酸素吸蔵量Ｏ２ＳＵＭと目標値Ｏ２ＳＵＭｒｅｆとのズレ量Ｏ２ＳＵＭｅｒを算出する（ステップ３３０）。次いで、このズレ量Ｏ２ＳＵＭｅｒに基づいて、燃料噴射制御に用いる補正係数ＫＡＦをＲＡＭ１８内に記憶されたマップから求める（ステップ３４０）。この補正係数ＫＡＦを用いて燃料噴射量を補正することによって、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭが目標値Ｏ２ＳＵＭｒｅｆとなるようにフィードバック制御される。
【００５２】
上述した補正係数ＫＡＦを用いた燃料噴射量の補正について簡単に述べる。まず、実際にインジェクタ５によって噴射される燃料噴射量（あるいは、燃料噴射のためのインジェクタ５の開弁時間）ＴＡＵは、ＥＣＵ１８内において以下の式によって決定される。
ＴＡＵ＝ＴＡＵＰ×ＫＡＦ×α＋β
ここで、ＴＡＵＰは、吸入空気量Ｇａとエンジン回転数ＮＥとから求められる基本燃料噴射量である。この基本燃料噴射量ＴＡＵＰを上述した酸素吸蔵量Ｏ２ＳＵＭのフィードバック制御に関する補正係数ＫＡＦやその他の各種補正係数α，βで補正することによって、最終的な燃料噴射量ＴＡＵが決定される。上述した補正係数α，βの一例としては、空燃比フィードバック係数ＦＡＦがよく知られている。
【００５３】
この燃料噴射量ＴＡＵを制御することによってエンジン１の吸入空燃比が制御される。ここでは、ＥＣＵ１８は吸入空燃比を制御する吸入空燃比制御手段としても機能している。なお、上述した補正係数ＫＡＦ以外の各種補正係数α，βについての詳しい説明は省略する。このように補正係数ＫＡＦを用いて燃料噴射量を補正することによって、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭが目標値Ｏ２ＳＵＭｒｅｆとなるようにフィードバック制御が行われる。
【００５４】
本実施形態においては、ある時点での酸素吸蔵量Ｏ２ＳＵＭを基準（Ｏ２ＳＵＭ＝０）に対して酸素吸蔵量Ｏ２ＳＵＭの履歴を更新しているので、酸素吸蔵量Ｏ２ＳＵＭは、この基準に対して正の値も負の値も取り得る。酸素吸蔵量Ｏ２ＳＵＭを正側及び負側で更新させて、その上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの平均値近傍に目標値Ｏ２ＳＵＭｒｅｆを設定するようにすると、この目標値Ｏ２ＳＵＭｒｅｆは基準（Ｏ２ＳＵＭ＝０）近傍に設定されることになって大きく変動しない。即ち、このように上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎを用いて目標値Ｏ２ＳＵＭｒｅｆを設定する場合は、目標値Ｏ２ＳＵＭｒｅｆが大きく変動することがなくなり、酸素吸蔵量Ｏ２ＳＵＭや目標値Ｏ２ＳＵＭｒｅｆなどを格納するＥＣＵ１８内のＲＡＭのダイナミックレンジを確保しやすいという利点がある。また、上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎを用いて目標値Ｏ２ＳＵＭｒｅｆを設定することによって目標値Ｏ２ＳＵＭｒｅｆの変動が小さくなれば、もし仮に酸素吸蔵量Ｏ２ＳＵＭの演算に異常が生じた場合でも、その影響度を小さく（誤補正になる危険性を低く）することができるという利点もある。
【００５５】
上述した実施形態の空燃比制御装置によれば、三元触媒２０が実際に吸蔵したと推定される酸素吸蔵量Ｏ２ＳＵＭの履歴に基づいて、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを介して、酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆを更新する。このため、この目標値Ｏ２ＳＵＭｒｅｆは常に最適な値に維持され、三元触媒２０に吸蔵される酸素量を常に最適な範囲に維持でき、排気ガスの浄化を好適に行うことができる。
【００５６】
また、上述した実施形態においては、下流側空燃比センサ２５によって検出した排気空燃比が所定の空燃比となり、即ち、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ又はリッチ側閥値Ｖｒｉｃｈとなり、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎが更新されたときに目標値Ｏ２ＳＵＭｒｅｆが更新される。下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ又はリッチ側閥値Ｖｒｉｃｈとなったということは、三元触媒２０が酸素を吸蔵しきっている、又は、放出しきっている状態であると判断できる。このようなときに目標値Ｏ２ＳＵＭｒｅｆを更新しするので、目標値Ｏ２ＳＵＭｒｅｆをより正確に適正な値に維持することができる。その結果、排気ガスの浄化をより好適に行うことができる。
【００５７】
さらに、上述した実施形態においては、下流側空燃比センサ２５によって検出した排気空燃比が所定範囲外の空燃比となり、即ち、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満である間又はリッチ側閥値Ｖｒｉｃｈを超えている間は、酸素吸蔵量Ｏ２ＳＵＭの更新が禁止される。下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満である間又はリッチ側閥値Ｖｒｉｃｈを超えている間は、三元触媒２０が酸素を吸蔵しきってそれ以上吸蔵し得ない場合、又は、放出しきってそれ以上放出し得ない状態であると判断できる。このため、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭは変動し得ない状態にあるので、その更新を禁止し、酸素吸蔵量Ｏ２ＳＵＭの履歴をより正確なものとすることができる。その結果、排気ガスの浄化をより好適に行うことができる。
【００５８】
また、本実施形態においては、上述した上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを用いて、三元触媒２０の劣化判定も行う。三元触媒２０が吸蔵し得る最大の酸素量は、劣化するにつれて少なくなる。また、ある時点での三元触媒２０が吸蔵し得る最大の酸素量は、その温度が高いほど多くなる。このため、図６に示されるようにマップを作成し、ある温度下にある三元触媒２０の上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎから（Ｏ２ＳＵＭｍａｘ−Ｏ２ＳＵＭｍｉｎ）を算出して図６中にプロットする。「正常」の領域内にプロットされれば、三元触媒２０はまだ劣化していないと判定でき、「劣化」の領域内にプロットされるようであれば、三元触媒２０が吸蔵し得る最大の酸素量が低下しているとして劣化と判定できる。
【００５９】
また、この三元触媒２０の劣化判定は、下流側空燃比センサ２５によって検出した排気空燃比が所定の空燃比となり、即ち、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ又はリッチ側閥値Ｖｒｉｃｈとなり、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎが更新されたときに行うことが好ましい。このようにすれば、上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎが最新の値に更新されたときに三元触媒の劣化判定を行うことになるため、より正確にその判定を行うことができる。
【００６０】
さらに、三元触媒２０が吸蔵し得る酸素量は、上述したように三元触媒２０の温度に依存するので、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎも三元触媒２０の温度に依存するといえる。このため、三元触媒２０の劣化を判定するに際しては、単に、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎから求めた（Ｏ２ＳＵＭｍａｘ−Ｏ２ＳＵＭｍｉｎ）によってのみではなく、さらに三元触媒２０の温度も参照して判定することが好ましい。三元触媒２０の温度も参照して劣化判定を行えば、より正確に判定を行うことができる。
【００６１】
本発明の空燃比制御装置は、上述した実施形態のものに限定されない。例えば、上述した実施形態においては、ある時点での酸素吸蔵量Ｏ２ＳＵＭを基準（Ｏ２ＳＵＭ＝０）に対して酸素吸蔵量Ｏ２ＳＵＭの履歴を更新した。このため、酸素吸蔵量Ｏ２ＳＵＭは、正の値も負の値も取り得るものであった。しかし、三元触媒２０が酸素を放出しきった状態を常に検出できるようであれば、この点を基準（Ｏ２ＳＵＭ＝０）にしてもよい。この場合は、酸素吸蔵量Ｏ２ＳＵＭは正の値のみをとることになり、上限値Ｏ２ＳＵＭｍａｘのみが設定されることになる。このように、上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎとで制御せずに、上限値Ｏ２ＳＵＭｍａｘ側のみで制御することも考え得る。
【００６２】
また、上述した実施形態においては、上流側空燃比センサ２４の出力から酸素吸蔵量Ｏ２ＳＵＭを更新したが、これに限定されるものではない。例えば、吸入空気量Ｇａと燃料噴射量ＴＡＵとから三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭを更新するなど、他の手法によってもよい。
【００６３】
上述した図２に基づく説明は、上流側空燃比センサ２４及び下流側空燃比センサ２５の双方が活性化温度に達している場合である。しかし、これらの空燃比センサ２４，２５は、たとえ電力の供給によって強制的に昇温されたとしても、エンジン始動（イグニッションオン）後に活性化温度となるまでにはある程度の時間がかかる。なお、空燃比センサ２４，２５の昇温は、上述した電力による昇温のほか、排気ガスの温度によっても昇温される。このため、排気通路上においてエンジン１の燃焼室に近い（排気ガス温度の高い）上流側空燃比センサ２４の方が下流側空燃比センサ２５よりも早期に活性化温度に達する。
【００６４】
言い換えれば、イグニッションオン後には、空燃比センサ２４，２５の双方とも活性化温度に達していない場合や、上流側空燃比センサ２４は活性化温度に達しているが下流側空燃比センサ２５は活性化温度に達していない場合も生じ得る。既に説明したように、上流側空燃比センサ２４が活性化していなければ酸素吸蔵量Ｏ２ＳＵＭは推定できないし、下流側空燃比センサ２５が活性化していなければ、酸素吸蔵能力の変動に応じて酸素吸蔵量Ｏ２ＳＵＭの更新停止や上限値Ｏ２ＳＵＭｍａｘ、下限値Ｏ２ＳＵＭｍｉｎ及び目標値Ｏ２ＳＵＭｒｅｆの更新を行うことができない。
【００６５】
そこで、イグニションオン後に空燃比センサ２４，２５がまだ活性化していない状態での制御ついて以下にいくつかの具体例（例１、例２、例３）を説明する。
【００６６】
（例１：図７）
イグニッションオンからまず上流側空燃比センサ２４が活性化し、次いで、下流側空燃比センサ２５が活性化するときの図２相当図を図７に示す。まず、イグニッションオン直後には、空燃比センサ２４，２５は活性温度に達していないので、三元触媒２０の上流側でも下流側でも排気空燃比を検出することができない。このため、イグニッションオン直後には、排気空燃比に基づく燃料噴射量のフィードバック制御は行われない（図７の期間Ａ参照）。次いで、まず上流側空燃比センサ２４が活性化すると、上流側空燃比センサ２４の出力結果に基づいて、酸素吸蔵量Ｏ２ＳＵＭが推定・積算される。また、この酸素吸蔵量Ｏ２ＳＵＭの積算に伴って、その上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎが更新される（図７の期間Ｂ参照）。酸素吸蔵量Ｏ２ＳＵＭ、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの推定方法は、図２に基づく説明時において説明したのとほぼ同様である。
【００６７】
ただし、この期間Ｂにおいては、まだ下流側空燃比センサ２５は活性化していないので、下流側空燃比センサ２５に基づいて酸素吸蔵量Ｏ２ＳＵＭの積算が停止されることはない。下流側空燃比センサ２５の検出結果から三元触媒２０の状態を反映させることはできないが、上流側空燃比センサ２４が活性化しているので酸素吸蔵量Ｏ２ＳＵＭを推定することは可能である。そこで、このように、下流側空燃比センサ２５が活性化するのを待たずに酸素吸蔵量Ｏ２ＳＵＭの推定を行っておくことによって、下流側空燃比センサ２５が活性化した時点で、上述した目標値Ｏ２ＳＵＭｒｅｆを用いたより正確な制御が可能となる。
【００６８】
また、この期間Ｂにおいては、活性化して正常な状態にある上流側空燃比センサ２４の出力に基づいて、燃料噴射量のフィードバック制御が行われる。ここでは、上流側空燃比センサ２４によって検出される排気空燃比に基づいて、空燃比フィードバック補正係数ＦＡＦを用いた空燃比フィードバック補正制御と、その他の補正制御（吸気温補正や暖機補正、始動後増量補正、高負荷増量補正など）とが行われる。このように、上流側空燃比センサ２４の検出結果に基づく燃料噴射量のフィードバック制御を行うことによって、期間Ｂでの排気ガス中の有害物質を低減することができる。
【００６９】
そして、下流側空燃比センサ２５が活性化したところで、上述した目標値Ｏ２ＳＵＭｒｅｆを設定し、補正係数ＫＡＦを用いて燃料噴射量のフィードバック制御を行う（図７の期間Ｃ参照）。この時点で、酸素吸蔵量Ｏ２ＳＵＭとその上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎは積算・更新されているので、より正確な目標値Ｏ２ＳＵＭｒｅｆを設定することができ、三元触媒２０の酸素吸蔵量Ｏ２ＳＵＭに基づいてより的確な燃料噴射量制御を行うことができる。なお、このとき、補正係数ＫＡＦを用いた燃料噴射量のフィードバック制御に、空燃比フィードバック補正係数ＦＡＦやその他の補正係数を用いた燃料噴射量制御を併用することも可能である。
【００７０】
図７に示される制御を、図８に示したフローチャートを用いて説明する。図８に示される制御ルーチンは、所定時間（例えば数ミリ秒）毎に繰り返し実行される。なお、イグニッションオン時には既に説明したリッチフラグＸｒｉｃｈ及びリーンフラグＸｌｅａｎは双方ともオフにセットされる。そして、リッチフラグＸｒｉｃｈ及びリーンフラグＸｌｅａｎは、下流側空燃比センサ２５が活性化し、その検出結果によって変更されるまではオフを維持する。即ち、図４に示すルーチンは、下流側空燃比センサ２５の活性化後に実行される。
【００７１】
まず、上流側空燃比センサ２４が正常であるか（活性化しているか）否かを判定する（ステップ４００）。上流側空燃比センサ２４が活性化していない場合は、燃料噴射量のフィードバック制御は行われない（ステップ４６０）。上流側空燃比センサ２４が活性化している場合は、その出力に基づいて酸素吸蔵量Ｏ２ＳＵＭを積算・更新する（ステップ４１０）。これについては、図３に基づいて説明した通りである。なお、上述したように、下流側空燃比センサ２５が活性化する以前には、リッチフラグＸｒｉｃｈ及びリーンフラグＸｌｅａｎは双方ともオフであるため、酸素吸蔵量Ｏ２ＳＵＭの更新が停止されることはなく、常に積算・更新される。
【００７２】
次いで、積算された酸素吸蔵量Ｏ２ＳＵＭに基づいて、その上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎが更新される（ステップ４２０）。このとき、下流側空燃比センサ２５が活性化していれば、図４に示されるルーチンに従って上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎが更新されるが、下流側空燃比センサ２５が活性化していない場合は、単純にイグニッションオン以降に酸素吸蔵量Ｏ２ＳＵＭの最大値が上限値Ｏ２ＳＵＭｍａｘとされ、最小値が下限値Ｏ２ＳＵＭｍｉｎとされる。
【００７３】
ステップ４２０の後、下流側空燃比センサ２５が正常であるか（活性化しているか）否かを判定する（ステップ４３０）。下流側空燃比センサ２５が活性化していれば、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎから目標値Ｏ２ＳＵＭｒｅｆを求め、これに基づく補正係数ＫＡＦを用いた燃料噴射量のフィードバック制御を行う（ステップ４４０）。上述したように、このとき、補正係数ＫＡＦを用いたフィードバック制御以外の燃料噴射制御（空燃比フィードバック補正制御などを含む）を併用してもよい。
【００７４】
しかし、下流側空燃比センサ２５が活性化していない場合、即ちステップ４３０が否定される場合は、上流側空燃比センサ２４の出力にのみ基づいて、燃料噴射量のフィードバック制御が行われる（ステップ４５０）。ここでは、上流側空燃比センサ２４の出力にのみ基づく燃料噴射量のフィードバック制御として、上流側空燃比センサ２４の出力から空燃比フィードバック補正係数ＦＡＦを設定し、この空燃比フィードバック補正係数ＦＡＦに基づく空燃比フィードバック制御を行っている。なお、この場合も、他の燃料噴射量制御（暖機補正など）を併用することが可能である。
【００７５】
上述した実施形態では、空燃比センサ２４，２５が活性である場合を正常な状態、不活性である場合を正常でない状態の例として説明した。しかし、下流側空燃比センサ２５が故障しているような場合も、下流側空燃比センサ２５が正常でない場合であり、このような場合にも、上述した実施形態と同様の制御を行うことができる。
【００７６】
このように、下流側空燃比センサ２５が活性化する以前から酸素吸蔵量Ｏ２ＳＵＭを積算・更新し、その上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを更新しておくことによって、下流側空燃比センサ２５が活性化状態になったと同時に、より的確な目標値Ｏ２ＳＵＭｒｅｆを設定することができる。この結果、補正係数ＫＡＦを用いたフィードバック制御の開始初期から、排気ガスの浄化をより好適に行うことができる。また、下流側空燃比センサ２５が活性化する以前は、上流側空燃比センサ２４の出力に基づいて燃料噴射量のフィードバック制御が行なわれるので、補正係数ＫＡＦを用いたフィードバック制御が行われていなくても、排気ガス中の有害物質を低減させることができる。
【００７７】
（例２：図９）
イグニッションオンの後、まず上流側空燃比センサ２４が活性化し、次いで、下流側空燃比センサ２５が活性化するときの図２・図７相当図を図９に示す。まず、イグニッションオン直後には、空燃比センサ２４，２５は活性温度に達していないので、三元触媒２０の上流側でも下流側でも排気空燃比を検出することができない。このため、イグニッションオン直後には、排気空燃比に基づく燃料噴射量のフィードバック制御は行われない（図９の期間Ａ参照）。その後、まず上流側空燃比センサ２４が活性化すると、上流側空燃比センサ２４の出力結果に基づいて、酸素吸蔵量Ｏ２ＳＵＭが推定・積算が開始される（図９の期間Ｂ前半の期間ｂ１参照）。酸素吸蔵量Ｏ２ＳＵＭの推定方法は、図２に基づく説明時において説明したのと同様である。
【００７８】
その後、下流側空燃比センサ２５が活性化し、酸素吸蔵量Ｏ２ＳＵＭが推定・積算時に、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満となったり、リッチ側閥値Ｖｒｉｃｈを超えたときは、酸素吸蔵量Ｏ２ＳＵＭの更新は停止される。この酸素吸蔵量Ｏ２ＳＵＭの更新停止については、図２に基づく説明時において既に述べたとおりである。
【００７９】
そして、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満となったときには、酸素吸蔵量Ｏ２ＳＵＭの更新が停止されるだけでなく、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘが新規に設定される。また、下流側空燃比センサ２５の出力がリッチ側閥値Ｖｒｉｃｈを超えたときには、酸素吸蔵量Ｏ２ＳＵＭの更新が停止されるだけでなく、酸素吸蔵量Ｏ２ＳＵＭの下限値Ｏ２ＳＵＭｍｉｎも新規に設定される。図９に示した例では、まず最初に下流側空燃比センサ２５の出力がリッチ側閥値Ｖｒｉｃｈとなり、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘが設定され、その後に下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎとなり、酸素吸蔵量Ｏ２ＳＵＭの下限値Ｏ２ＳＵＭｍｉｎが設定されている。
【００８０】
ここで、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの双方が揃わないと、酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆが設定できないので、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの双方が設定される以前（図９の期間Ｂ）は、上流側空燃比センサ２４による吸入空燃比のフィードバック制御が行われる。このため、期間Ｂの後半の期間ｂ２のように、上流側空燃比センサ２４及び下流側空燃比センサ２５の双方が活性化していても、上流側空燃比センサ２４と下流側空燃比センサ２５の双方を用いた吸入空燃比のフィードバック制御（即ち、目標値Ｏ２ＳＵＭｒｅｆに基づいて設定される燃料噴射量の補正係数ＫＡＦを用いたフィードバック制御）が行われない状態が存在する。
【００８１】
期間Ｂにおいては、上流側空燃比センサ２４によって検出される排気空燃比に基づいて、空燃比フィードバック補正係数ＦＡＦを用いた空燃比フィードバック補正制御と、その他の補正制御（吸気温補正や暖機補正、始動後増量補正、高負荷増量補正など）とが行われる。このように、上流側空燃比センサ２４の検出結果に基づく燃料噴射量のフィードバック制御を行うことによって、期間Ｂでの排気ガス中の有害物質を低減することができる。
【００８２】
そして、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの双方が設定されると同時に目標値Ｏ２ＳＵＭｒｅｆが設定される。なお、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎに基づいて目標値Ｏ２ＳＵＭｒｅｆを設定する手法は、上述した図２に基づく説明時に述べたのと同様の手法による。目標値Ｏ２ＳＵＭｒｅｆが設定されてからは、目標値Ｏ２ＳＵＭｒｅｆに基づいて設定される燃料噴射量の補正係数ＫＡＦを用いたフィードバック制御に移行する（図９の期間Ｃ参照）。なお、このとき、補正係数ＫＡＦを用いた燃料噴射量のフィードバック制御に、空燃比フィードバック補正係数ＦＡＦやその他の補正係数を用いた燃料噴射量制御を併用することも可能である。
【００８３】
下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満であるときは、三元触媒２０がその酸素吸蔵能力の限界まで酸素を吸蔵している状態であることは既に説明した。反対に、下流側空燃比センサ２５の出力がリッチ側閥値Ｖｒｉｃｈを超えているときは、三元触媒２０が酸素を全く吸蔵していない（放出しきっている）状態であることも既に説明した。即ち、このようなときに酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを新規に設定することによって、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎを非常に正確に設定することができる。
【００８４】
この例２のような制御を行うと、例１のような制御よりも、より正確に目標値Ｏ２ＳＵＭｒｅｆ、即ち、補正係数ＫＡＦに基づく吸入空燃比のフィードバック制御を開始することができる。しかし、補正係数ＫＡＦに基づく吸入空燃比のフィードバック制御を開始自体は、例１の制御よりも遅くなると思われる。そこで、より正確、かつより早期に目標値Ｏ２ＳＵＭｒｅｆ、即ち、補正係数ＫＡＦに基づく吸入空燃比のフィードバック制御を開始するために、次に説明する例３のような手法も考えられる。
【００８５】
（例３：図１０）
イグニッションオンの後、まず上流側空燃比センサ２４が活性化し、次いで、下流側空燃比センサ２５が活性化するときの図２・図７・図９相当図を図１０に示す。この例では、下流側空燃比センサ２５の出力が、リーン側閥値Ｖｌｅａｎ未満となるかリッチ側閥値Ｖｒｉｃｈを超えるまで、即ち、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎの何れか一方が新規に設定されるまでは、上述した図９に示す例２と全く同様である。このため、それまでの詳しい説明は省略する。
【００８６】
本例では、下流側空燃比センサ２５の出力に基づいて酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎの何れか一方が新規に設定された時点で、その新規に設定された値から他方の値を学習値に基づいて決定する。図１０においては、下流側空燃比センサ２５の出力に基づいて酸素吸蔵量Ｏ２ＳＵＭの下限値Ｏ２ＳＵＭｍｉｎが新規に設定され、これと同時に、新規に設定された下限値Ｏ２ＳＵＭｍｉｎから上限値Ｏ２ＳＵＭｍａｘを推定して新規に設定している。
【００８７】
ここで、下限値Ｏ２ＳＵＭｍｉｎから上限値Ｏ２ＳＵＭｍａｘを推定する際には、ＥＣＵ１８に記憶された学習値が用いられる。この学習値は、それ以前の下限値Ｏ２ＳＵＭｍｉｎ及び上限値Ｏ２ＳＵＭｍａｘの変化を学習して逐次記憶・更新している値であり、ここでは、三元触媒２０の温度と（上限値Ｏ２ＳＵＭｍａｘ−下限値Ｏ２ＳＵＭｍｉｎ）との関係のマップとしてＥＣＵ１８内に記憶された値を用いている。即ち、ＥＣＵ１８は、酸素吸蔵能力学習手段としても機能する。三元触媒２０の酸素吸蔵能力（即ち、上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎとの差分：以下、ΔＯ２ＳＵＭとも言うこととする）は常に変化しているが、ここでは、三元触媒２０の温度と関係付け、三元触媒２０がある温度のときの酸素吸蔵能力を学習値としてＥＣＵ１８内に記憶・更新している。学習値の更新時には、なまし処理などが行われても良い。この学習値は、バックアップＲＡＭ内に記憶され、イグニッションがオフにされても保持される。
【００８８】
図１０に示す場合を例に具体的に説明する。まず、下流側空燃比センサ２５の出力が、リッチ側閥値Ｖｒｉｃｈを超えた時点で、酸素吸蔵量Ｏ２ＳＵＭから、その下限値Ｏ２ＳＵＭｍｉｎが新規に設定される。このとき、触媒温度センサ２１によって三元触媒２０の温度を検出し、ＥＣＵ１８内に保存されている学習値のマップ内から、検出された三元触媒２０の温度に対応する酸素吸蔵能力ΔＯ２ＳＵＭを取り出す。そして、
Ｏ２ＳＵＭｍｉｎ＋ΔＯ２ＳＵＭ＝Ｏ２ＳＵＭｍａｘとして、上限値Ｏ２ＳＵＭｍａｘを設定する。
【００８９】
このようにすると、下限値Ｏ２ＳＵＭｍｉｎ及び上限値Ｏ２ＳＵＭｍａｘがほぼ同時に設定されるので、目標値Ｏ２ＳＵＭｒｅｆもほぼ同時に設定される。目標値Ｏ２ＳＵＭｒｅｆが設定された後は、目標値Ｏ２ＳＵＭｒｅｆに基づいて設定される燃料噴射量の補正係数ＫＡＦを用いたフィードバック制御に移行する（図１０の期間Ｃ参照）。なお、このとき、補正係数ＫＡＦを用いた燃料噴射量のフィードバック制御に、空燃比フィードバック補正係数ＦＡＦやその他の補正係数を用いた燃料噴射量制御を併用することも可能である。
【００９０】
さらにその後に、下流側空燃比センサ２５の出力がリーン側閥値Ｖｌｅａｎ未満となったときには、上限値Ｏ２ＳＵＭｍａｘは、今度は下限値Ｏ２ＳＵＭ及び学習値から求められるのではなく、積算・更新されている酸素吸蔵量Ｏ２ＳＵＭに基づいて更新される。なお、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭの双方が設定されてから以降は、その差分がΔＯ２ＳＵＭが三元触媒２０の温度を関連付けられて、逐次学習値として更新保存される。
【００９１】
この例３のような制御を行うと、上限値Ｏ２ＳＵＭｍａｘ又は下限値Ｏ２ＳＵＭｍｉｎの何れか一方が、下流側空燃比センサ２５の出力に基づいて正確に設定される。そして、その設定された値と学習値とに基づいて、他方の値も正確に設定することができる。学習値は、それ以前の酸素吸蔵能力に基づいて逐次学習しているものなので、一方の値を正確に設定できれば、他方の値を正確に設定することができる。このようにすることによって、より正確、かつ、より早期に、目標値Ｏ２ＳＵＭｒｅｆ、即ち、補正係数ＫＡＦに基づく吸入空燃比のフィードバック制御を開始することができる。
【００９２】
次に、下流側空燃比センサ２５の応答遅れを考慮する場合について説明する。下流側空燃比センサ２５としてどのようなセンサを選択するか、あるいは、上流側空燃比センサ２４及び下流側空燃比センサ２５の設置状態にもよるが、下流側空燃比センサ２５の検出結果に、応答遅れが生じる場合も懸念される。ここでは、このような応答遅れが生じる場合の応答遅れを考慮した制御について説明する。
【００９３】
下流側空燃比センサ２５の応答遅れとしては、以下の二つの事象が主として考えられる。一つは、下流側空燃比センサ２５自体の応答遅れである。ここでは下流側空燃比センサ２５として酸素センサを用いているが、排気ガスが下流側空燃比センサ２５の検出部に来たときに、排気ガス中の酸素量に基づいて検出結果を出力するが、この間に僅かではあるが時間がかかる。ここで言う応答遅れとは、このタイムラグのことである。
【００９４】
もう一つは、既に説明した上述の制御は、上流側空燃比センサ２４の出力に基づいて酸素吸蔵量Ｏ２ＳＵＭを積算・更新するが、酸素吸蔵量Ｏ２ＳＵＭの更新停止や上下限値Ｏ２ＳＵＭｍａｘ、Ｏ２ＳＵＭｍｉｎの更新は下流側空燃比センサ２５の出力に基づいている。しかし、実際には、上流側空燃比センサ２４によって検出された排気ガスは、三元触媒２０を通過し、下流側空燃比センサ２５に達したところで下流側空燃比センサ２５によって検出される。即ち、上流側空燃比センサ２４から下流側空燃比センサ２５に排気ガスが移動するのに僅かではあるが時間がかかり、これが上流側空燃比センサ２４に対する下流側空燃比センサ２５の応答遅れとして作用してしまう。
【００９５】
このような下流側空燃比センサ２５の応答遅れを考慮した制御を行うことによって、酸素吸蔵能力（上限値Ｏ２ＳＵＭｍａｘと下限値Ｏ２ＳＵＭｍｉｎとの差）をより正確に推定することができ、排気ガスの浄化を好適に行うことができる。以下に、上述した応答遅れを考慮した制御例として、いわゆる「なまし処理」を用いた例と「ディレイ処理」とを用いた例との二例を説明する。
【００９６】
まず、いわゆる「なまし処理」を用いた例について説明する。「なまし処理」とは、実際に検出された値をそのまま適用せず、その前回値を用いて影響度を低減させ（なまし）た後に今回値として適用する処理である。ここでは、この「なまし処理」を酸素吸蔵能力の推定に用いて、応答遅れによる影響を低減させる。本制御を行った場合の図２相当図を図１１に示す。
【００９７】
図１１に示されるように、本実施形態においては、上述した実施形態と同様に、上流側空燃比センサ２４の出力に基づいて酸素の吸蔵・放出量Ｏ２ＡＤを求め、これを積算することによって、まず酸素吸蔵量Ｏ２ＳＵＭｒａｗを生成する。ここでは、この酸素吸蔵量Ｏ２ＳＵＭｒａｗに対しては、下流側空燃比センサ２５の出力に応じた更新停止は行わない。そして、この酸素吸蔵量Ｏ２ＳＵＭｒａｗに対して、なまし処理と下流側空燃比センサ２５の出力に応じた更新停止とを適用して、酸素吸蔵量Ｏ２ＳＵＭを生成する。
【００９８】
ここでは、なまし処理は、以下の式を用いて行っている。（今回のＯ２ＳＵＭ）＝（前回のＯ２ＳＵＭ）＋（Ｏ２ＳＵＭｒａｗ−前回のＯ２ＳＵＭ）／（なまし係数）。なお、なまし係数は、１を超える数である。例として適当な数値を入れて考えてみる。前回のＯ２ＳＵＭが１０、Ｏ２ＳＵＭｒａｗが２０、なまし係数が２である場合を考える。なまし処理を行わないでＯ２ＳＵＭｒａｗをそのまま適用してしまうと２０であるが、上述した式を用いて計算すると今回のＯ２ＳＵＭは１５になり、なまし処理されることになる。
【００９９】
なお、同時に下流側空燃比センサ２５の出力に基づいて、推定される酸素吸蔵量Ｏ２ＳＵＭの更新停止も行われる。また、このなまし処理の行われた酸素吸蔵量Ｏ２ＳＵＭに基づいて、上限値Ｏ２ＳＵＭｍａｘ、下限値Ｏ２ＳＵＭｍｉｎ及び目標値Ｏ２ＳＵＭｒｅｆが決定・更新される。そして、この目標値Ｏ２ＳＵＭｒｅｆから補正係数ＫＡＦを設定して、燃料噴射量のフィードバック制御を行う。
【０１００】
上述した制御を、図１２に示すフローチャートを用いて説明する。まず、上流側空燃比センサ２４の検出結果に基づいて、吸蔵・放出量Ｏ２ＡＤを算出する（ステップ５００）。次いで、算出した吸蔵・放出量Ｏ２ＡＤを積算して、酸素吸蔵量Ｏ２ＳＵＭｒａｗを生成する（ステップ５１０）。さらに、この酸素吸蔵量Ｏ２ＳＵＭｒａｗに対してなまし処理を行って、酸素吸蔵量Ｏ２ＳＵＭを生成する（ステップ５２０）。ここで、酸素吸蔵量Ｏ２ＳＵＭの生成に際し、下流側空燃比センサ２５の出力結果に応じて更新停止を行うことは上に述べた通りである。生成された酸素吸蔵量Ｏ２ＳＵＭに基づく上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの更新、並びに、これらから求められる目標値Ｏ２ＳＵＭｒｅｆ及び補正係数ＫＡＦに基づく燃料噴射量のフィードバック制御については、図２に基づく説明と同様であるので、詳しい説明は省略する。
【０１０１】
なお、この「なまし処理」を用いた制御では、酸素吸蔵量Ｏ２ＳＵＭのゲイン幅が小さくなるという特性がある。しかし、目標値Ｏ２ＳＵＭｒｅｆは、酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの平均値近傍に設定されるため、酸素吸蔵量Ｏ２ＳＵＭのゲイン幅が小さくなることにはほとんど影響を受けない。
【０１０２】
次に、「ディレイ処理」を用いた例について説明する。「ディレイ処理」とは、実際に検出された値をそのまま直ぐに適用せず、一定の時間をおいてから適用する処理である。ここでは、この「ディレイ処理」を酸素吸蔵能力の推定に用いて、応答遅れによる影響を低減させる。本制御を行った場合の図２相当図を、図１３に示す。
【０１０３】
図１３に示されるように、図１１に示される場合と同様に、上流側空燃比センサ２４の出力に基づいて酸素の吸蔵・放出量Ｏ２ＡＤを求め、これを積算することによって、まず酸素吸蔵量Ｏ２ＳＵＭｒａｗを生成する。ここでも、この酸素吸蔵量Ｏ２ＳＵＭｒａｗに対しては、下流側空燃比センサ２５の出力に応じた更新停止は行わない。そして、この酸素吸蔵量Ｏ２ＳＵＭｒａｗをＥＣＵ１８内のＲＡＭなどに一旦格納する。そして、排気ガスが上流側空燃比センサ２４から下流側空燃比センサ２５まで移動するのに対応する時間後に、再度ＲＡＭから格納してあった酸素吸蔵量Ｏ２ＳＵＭｒａｗを取り出して、下流側空燃比センサ２５の出力に応じた更新停止を適用して、酸素吸蔵量Ｏ２ＳＵＭを生成する。
【０１０４】
このとき、下流側空燃比センサ２５の出力に応じた更新停止終了時には、更新停止終了時の酸素吸蔵量Ｏ２ＳＵＭとディレイ処理によって新たに取り出された酸素吸蔵量Ｏ２ＳＵＭｒａｗとが一致しない場合がある。この場合は、取り出した酸素吸蔵量Ｏ２ＳＵＭｒａｗが更新停止中の酸素吸蔵量Ｏ２ＳＵＭ以下であれば、取り出した酸素吸蔵量Ｏ２ＳＵＭｒａｗを新しい酸素吸蔵量Ｏ２ＳＵＭとして更新する。取り出した酸素吸蔵量Ｏ２ＳＵＭｒａｗが更新停止中の酸素吸蔵量Ｏ２ＳＵＭよりも大きければ、取り出した酸素吸蔵量Ｏ２ＳＵＭｒａｗが更新停止中の酸素吸蔵量Ｏ２ＳＵＭとなるまで、酸素吸蔵量Ｏ２ＳＵＭは更新停止中の値を維持する。このように生成された酸素吸蔵量Ｏ２ＳＵＭの基づいて、上限値Ｏ２ＳＵＭｍａｘ、下限値Ｏ２ＳＵＭｍｉｎ及び目標値Ｏ２ＳＵＭｒｅｆが決定・更新される。そして、この目標値Ｏ２ＳＵＭｒｅｆから補正係数ＫＡＦを設定して、燃料噴射量のフィードバック制御を行う。
【０１０５】
上述した制御を、図１４に示すフローチャートを用いて説明する。まず、上流側空燃比センサ２４の検出結果に基づいて、吸蔵・放出量Ｏ２ＡＤを算出する（ステップ６００）。次いで、算出した吸蔵・放出量Ｏ２ＡＤを積算して、酸素吸蔵量Ｏ２ＳＵＭｒａｗを生成する（ステップ６１０）。生成した酸素吸蔵量Ｏ２ＳＵＭｒａｗをＲＡＭに一旦格納し、所定時間後に再度取り出すディレイ処理を行って、酸素吸蔵量Ｏ２ＳＵＭを生成する（ステップ６２０）。ここで、酸素吸蔵量Ｏ２ＳＵＭの生成に際し、下流側空燃比センサ２５の出力結果に応じた更新停止を行うことは上に述べた通りである。生成された酸素吸蔵量Ｏ２ＳＵＭに基づく上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの更新、並びに、これらから求められる目標値Ｏ２ＳＵＭｒｅｆ及び補正係数ＫＡＦに基づく燃料噴射量のフィードバック制御については、図２に基づく説明と同様であるので、詳しい説明は省略する。
【０１０６】
なお、下流側空燃比センサ２５の応答遅れを考慮した上述した二つの実施形態では、なまし処理やディレイ処理を行った後の酸素吸蔵量Ｏ２ＳＵＭから目標値Ｏ２ＳＵＭｒｅｆ及び補正係数ＫＡＦが設定され、これに基づいて燃料噴射量のフィードバック制御が行われた。しかし、上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの更新にはなまし処理やディレイ処理を行った後の酸素吸蔵量Ｏ２ＳＵＭを用い、燃料噴射量のフィードバック制御のための補正量（補正係数ＫＡＦなど）の決定に際しては、なまし処理やディレイ処理を行う前の酸素吸蔵量Ｏ２ＳＵＭｒａｗを用いてもよい。このようにすれば、三元触媒２０の変動する酸素吸蔵能力（上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの差）をより正確に推定しつつ、直接的かつ最新の排気ガス状態に基づいて燃料噴射量のフィードバック制御を行うことができる。
【０１０７】
また、上述した実施形態では、なまし処理とディレイ処理とを独立して適用したが、これらを併用することも可能である。このように、下流側空燃比センサ２５の応答遅れを考慮することによって、三元触媒２０の変動する酸素吸蔵能力をより正確に推定することができ、排気ガスの浄化を好適に行うことができる。
【０１０８】
【発明の効果】
本発明の内燃機関の空燃比制御装置は、触媒と、触媒に吸蔵されている酸素吸蔵量を推定する吸蔵量推定手段と、この酸素吸蔵量の目標値を設定する目標値設定手段と、酸素吸蔵量が設定された目標値となるように吸入空燃比を制御する吸入空燃比制御手段とを備え、目標値設定手段が吸蔵量推定手段によって推定された酸素吸蔵量の履歴に基づいて酸素吸蔵量の目標値を更新する。このため、本発明の内燃機関の空燃比制御装置によれば、触媒によって実際に吸蔵した酸素吸蔵量の履歴に基づいて、酸素吸蔵量の目標値を更新するので、酸素吸蔵量の目標値が常に最適な値に維持され、触媒に吸蔵される酸素吸蔵量を常に最適な範囲に維持できる。この結果、排気ガスの浄化を好適に行うことができる。
【図面の簡単な説明】
【図１】本発明の空燃比制御装置の一実施形態を有する内燃機関を示す断面図である。
【図２】三元触媒の酸素吸蔵量Ｏ２ＳＵＭと、その目標値Ｏ２ＳＵＭｒｅｆ、及び、下流側空燃比センサ出力の様子を示すタイミングチャートである。
【図３】酸素吸蔵量Ｏ２ＳＵＭの更新制御のフローチャートである。
【図４】酸素吸蔵量Ｏ２ＳＵＭの上限値Ｏ２ＳＵＭｍａｘ及び下限値Ｏ２ＳＵＭｍｉｎの更新制御を示すフローチャートである。
【図５】酸素吸蔵量Ｏ２ＳＵＭの目標値Ｏ２ＳＵＭｒｅｆの更新制御及び燃料噴射量の補正係数ＫＡＦの算出に関すフローチャートである。
【図６】三元触媒の劣化判定に用いるマップである。
【図７】イグニションオン後の図２相当図（例１）である。
【図８】上・下流側酸素センサの状態に基づく空燃比フィードバック制御を示すフローチャートである。
【図９】イグニションオン後の図２相当図（例１）である。
【図１０】イグニションオン後の図２相当図（例１）である。
【図１１】なまし処理を行った場合の図２相当図である。
【図１２】なまし処理を行う場合の酸素吸蔵量推定制御のフローチャートである。
【図１３】ディレイ処理を行った場合の図２相当図である。
【図１４】ディレイ処理を行う場合の酸素吸蔵量推定制御のフローチャートである。
【符号の説明】
１…エンジン（内燃機関）、１８…ＥＣＵ（吸蔵量推定手段、目標値設定手段、吸入空燃比制御手段、触媒劣化判定手段、吸蔵能力推定手段、酸素吸蔵能力学習手段）、２０…三元触媒（触媒）、２１…触媒温度センサ（触媒温度検出手段）、２４…上流側空燃比センサ（吸蔵量推定手段）、２４…上流側空燃比センサ、２５…下流側空燃比センサ（下流側空燃比検出手段）。
【図１】
0003627612.tif 000002
【図２】
0003627612.tif 000003
【図３】
0003627612.tif 000004
【図４】
0003627612.tif 000005
【図５】
0003627612.tif 000006
【図６】
0003627612.tif 000007
【図７】
0003627612.tif 000008
【図８】
0003627612.tif 000009
【図９】
0003627612.tif 000010
【図１０】
0003627612.tif 000011
【図１１】
0003627612.tif 000012
【図１２】
0003627612.tif 000013
【図１３】
0003627612.tif 000014
【図１４】
0003627612.tif 000015