(57)【要約】【課題】  エミッションやドライバビリティの悪化を抑制しながら精度良く三元触媒の最大酸素吸蔵量を算出できるようにする。【解決手段】  排気通路に備えられた三元触媒の最大酸素吸蔵量を算定する際、通常算定モード（選択図）では、触媒の上流側の空燃比をリーン→リッチ→リーンと振って、２つの最大酸素吸蔵量Ｃmax2，Ｃmax3を求め、その平均を最大酸素吸蔵量とする。更に上記通常算定モードでは、基準空燃比abyfbasisを変数とおいてＣmax2，Ｃmax3と基準空燃比との関係を求めた上で、Ｃmax2＝Ｃmax3の関係から基準空燃比abyfbasisの解を求める。簡易算定モードでは、触媒の上流側の空燃比をリーン→リッチと振って、最大酸素吸蔵量Ｃmax2を求め、これと基準空燃比abyfbasisの解から最大酸素吸蔵量を求める。【選択図】  図２
2006016980.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に備えられた三元触媒の最大酸素吸蔵量を算出する触媒酸素吸蔵量算出装置であって、
前記触媒の上流側の空燃比を検出する上流側空燃比検出手段と、
前記触媒の下流側の空燃比を検出する下流側空燃比検出手段と、
前記触媒の上流側の目標空燃比を所定のリッチ空燃比と所定のリーン空燃比との間で切り換えつつ設定可能な目標値設定手段と、
前記目標値設定手段で設定された目標空燃比となるように前記触媒の上流側の空燃比を制御する上流側空燃比制御手段と、
基準空燃比を変数としておいた上で、前記目標空燃比が前記リッチ空燃比から前記リーン空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリッチな空燃比からリーンな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒から放出された第１酸素量と前記基準空燃比との関係を求め、
前記目標空燃比が前記リーン空燃比から前記リッチ空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリーンな空燃比からリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒に吸蔵された第２酸素量と前記基準空燃比との関係を求める、酸素量算出手段と、
前述の第１酸素量と第２酸素量とが等しいとおくことによって、前記基準空燃比の値を算出する、基準空燃比算出手段と、
前記第１酸素量又は第２酸素量の少なくとも何れか一方を用いて前記触媒の最大酸素吸蔵量を算出する、最大酸素吸蔵量第１算出手段と、
前記目標空燃比が前記リッチ空燃比又は前記リーン空燃比から前記リーン空燃比又は前記リッチ空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリッチ又はリーンな空燃比からリーン又はリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と過去に前記基準空燃比算出手段によって求められ記憶された基準空燃比の値との差を累積し、これに基づいて前記触媒の最大酸素吸蔵量を求める、最大酸素吸蔵量第２算出手段と、
を備える、触媒酸素吸蔵量算出装置。
【請求項２】
請求項１に記載の触媒酸素吸蔵量算出装置であって、
前記最大酸素吸蔵量第１算出手段は、前記酸素量算出手段によって算出された第１酸素量及び第２酸素量と前記基準空燃比との関係において、予め定められた固定値を当該基準空燃比に代入して、当該第１酸素量及び第２酸素量の平均値を前記触媒の最大酸素吸蔵量として求めることを特徴とする、触媒酸素吸蔵量算出装置。
【請求項３】
請求項１又は請求項２に記載の触媒酸素吸蔵量算出装置であって、
前記酸素量算出手段は、所定の条件で、前記第１酸素量と基準空燃比との関係及び前記第２酸素量と基準空燃比との関係を再計算し、
前記基準空燃比算出手段は、この再計算された第１酸素量と第２酸素量とが等しいとおくことによって前記基準空燃比の値を再計算し、
基準空燃比の値の再計算後は、前記最大酸素吸蔵量第２算出手段は、再計算後の値を使用して前記触媒の最大酸素吸蔵量を求めることを特徴とする、触媒酸素吸蔵量算出装置。
【請求項４】
請求項３に記載の触媒酸素吸蔵量算出装置であって、
前記再計算時には、前記最大酸素吸蔵量第１算出手段は、前記酸素量算出手段によって再計算され算出された第１酸素量及び第２酸素量と前記基準空燃比との関係において、過去に前記基準空燃比算出手段によって求められ記憶された基準空燃比の値を当該基準空燃比に代入して、当該第１酸素量及び第２酸素量の平均値を前記触媒の最大酸素吸蔵量として求めることを特徴とする、触媒酸素吸蔵量算出装置。
【請求項５】
請求項１から請求項４までの何れか一項に記載の触媒酸素吸蔵量算出装置であって、
前記基準空燃比算出手段によって算出された基準空燃比の値は、計算時において内燃機関に加わっていた負荷と関連付けて記憶手段に記憶され、
前記酸素吸蔵量算出手段は、内燃機関に現在加わっている負荷に対応する基準空燃比の値を前記記憶手段から読み出して取得し、この値を使用して前記触媒の最大酸素吸蔵量を求めることを特徴とする、触媒酸素吸蔵量算出装置。
【請求項６】
内燃機関の排気通路に三元触媒を備えるとともに、前記触媒の上流側の空燃比を検出する上流側空燃比検出手段と、前記触媒の下流側の空燃比を検出する下流側空燃比検出手段と、を備えた構成における、前記三元触媒の最大酸素吸蔵量を算出する触媒酸素吸蔵量算出方法であって、
基準空燃比を変数としておいた上で、目標空燃比を前記リッチ空燃比から前記リーン空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリッチな空燃比からリーンな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒から放出された第１酸素量と前記基準空燃比との関係を求め、
前記目標空燃比を前記リーン空燃比から前記リッチ空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリーンな空燃比からリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒に吸蔵された第２酸素量と前記基準空燃比との関係を求め、
前記第１酸素量又は第２酸素量の少なくとも何れか一方を用いて前記触媒の最大酸素吸蔵量を算出するとともに、前述の第１酸素量と第２酸素量とが等しいとおくことによって、前記基準空燃比の値を算出して記憶し、
更に、前記目標空燃比を前記リッチ空燃比又は前記リーン空燃比から前記リーン空燃比又は前記リッチ空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリッチ又はリーンな空燃比からリーン又はリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と過去に求められ記憶された基準空燃比の値との差を累積し、これに基づいて前記触媒の最大酸素吸蔵量を求めることを特徴とする、触媒酸素吸蔵量算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路に触媒を備えた内燃機関における当該触媒の最大酸素吸蔵量算出装置に関する。
【背景技術】
【０００２】
従来より、内燃機関の排気ガスを浄化するための三元触媒（本明細書においては単に「触媒」と称することもある）が、その排気通路に配設されている。この触媒は酸素を貯蔵（吸蔵）するＯ２ストレージ機能（酸素貯蔵機能ないし吸蔵機能）を有していて、流入するガスの空燃比がリッチである場合には貯蔵している酸素によりＨＣ、ＣＯ等の未燃成分を酸化するとともに、流入するガスの空燃比がリーンである場合には窒素酸化物（ＮＯｘ）を還元して同ＮＯｘから奪った酸素を内部に貯蔵する。これにより三元触媒は、機関の空燃比が理論空燃比から偏移した場合でも、未燃成分や窒素酸化物を効率よく浄化することができる。従って、三元触媒が貯蔵し得る酸素量の最大値が大きいほど、三元触媒の浄化能力は高くなる。
【０００３】
一方、触媒は使用するにつれて、燃料中に含まれる鉛や硫黄等による被毒、あるいは触媒に加わる熱により劣化し、この劣化の程度に応じて前記最大酸素吸蔵量は変化する。従って、触媒の最大酸素吸蔵量が精度良く算出・推定できれば、同触媒が劣化したか否かを、この推定した最大酸素吸蔵量に基づいて判定することができることになる。
【０００４】
特許文献１は、上記の触媒の劣化の度合いと最大酸素吸蔵量との関連性を指摘するとともに、最大酸素吸蔵量の測定を以下のようにして行う空燃比制御装置（最大酸素吸蔵量測定装置）を開示する。
【０００５】
即ち、排気管に備えられた触媒の最大酸素吸蔵量を算出する場合、触媒の下流側に設けられた空燃比センサ（下流側空燃比センサ）の検出値がリッチになっているときに、第１モードに切り換わって、触媒の上流の目標空燃比を所定のリーン空燃比に設定し、触媒の上流側の空燃比センサ（上流側空燃比センサ）の空燃比が目標空燃比となるように制御する。この結果、触媒にリーンなガスが流入して触媒の酸素吸蔵量が徐々に増大する。第１モードでは、触媒の酸素吸蔵量が上記の最大酸素吸蔵量に達して、下流側空燃比センサの検出値がリッチからリーンに反転するまで待機する。
【０００６】
下流側空燃比センサの検出値がリッチからリーンに反転すると、第２モードに切り換わり、触媒の上流の目標空燃比を所定のリッチ空燃比に設定し、触媒の上流側の空燃比センサの空燃比が目標空燃比となるように制御する。この結果、触媒にリッチなガスが流入して触媒の酸素吸蔵量が徐々に減少する。第２モードでは、酸素吸蔵量の変化量を上流側空燃比センサの検出値に基づいて算出してこれを積算していきながら、触媒の酸素吸蔵量がゼロになって下流側空燃比センサの検出値がリーンからリッチに反転するまで待機し、当該反転の時点での積算値を、最大酸素吸蔵量Ｃmax2として算出する。
【０００７】
下流側空燃比センサの検出値がリーンからリッチに反転すると、第３モードに切り換わり、触媒の上流の目標空燃比を所定のリッチ空燃比に再び設定し、触媒の上流側の空燃比センサの空燃比が目標空燃比となるように制御する。この結果、触媒にリーンなガスが流入して触媒の酸素吸蔵量が徐々に増大していく。第３モードでは、酸素吸蔵量の変化量を上流側空燃比センサの検出値に基づいて算出してこれを積算していきながら、触媒の酸素吸蔵量が上記の最大酸素吸蔵量に達して下流側空燃比センサの検出値がリッチからリーンに反転するまで待機し、当該反転の時点での積算値を、最大酸素吸蔵量Ｃmax3として算出する。
【０００８】
次に、上記第２モードで得られた最大酸素吸蔵量Ｃmax2と、上記第３モードで得られた最大酸素吸蔵量Ｃmax3との平均値を、触媒の最大酸素吸蔵量Ｃmaxとして算出する（Ｃmax＝（Ｃmax2＋Ｃmax3）／２）。そして、この最大酸素吸蔵量Ｃmaxを適宜の回数だけ算出し、その平均が所定の基準値より小さい場合は、その触媒が劣化していると判定する構成になっている。
【特許文献１】特開２００３−３３６５３５（図５、第１モードについて００４２〜００４５、第２モードについて００４６〜００５３、第３モードについて００５５〜００６１、最大酸素吸蔵量の算出について００６３）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、上記特許文献１の構成は、触媒上流側の空燃比を第１モードでリーンに制御し、第２モードでリッチに制御し、第３モードでリーンに制御し、というように、最大酸素吸蔵量Ｃmaxを計算するために触媒上流側の空燃比を理論空燃比を跨いでリッチ／リーンに少なくとも３回振らなければならず、エミッションやドライバビリティ向上の観点から改善の余地が残されていた。
【課題を解決するための手段及び効果】
【００１０】
本発明の解決しようとする課題は以上の如くであり、次にこの課題を解決するための手段とその効果を説明する。
【００１１】
◆本発明の第１の観点によれば、以下のように構成する、内燃機関の排気通路に備えられた三元触媒の最大酸素吸蔵量を算出する最大酸素吸蔵量算出装置が提供される。
前記触媒の上流側の空燃比を検出する上流側空燃比検出手段と、前記触媒の下流側の空燃比を検出する下流側空燃比検出手段と、前記触媒の上流側の目標空燃比を所定のリッチ空燃比と所定のリーン空燃比との間で切り換えつつ設定可能な目標値設定手段と、前記目標値設定手段で設定された目標空燃比となるように前記触媒の上流側の空燃比を制御する上流側空燃比制御手段と、を有する。
最大酸素吸蔵量算出装置は更に酸素量算出手段を備える。この酸素量算出手段は、基準空燃比を変数としておいた上で、前記目標空燃比が前記リッチ空燃比から前記リーン空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリッチな空燃比からリーンな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒から放出された第１酸素量と前記基準空燃比との関係を求める。また酸素量算出手段は、前記目標空燃比が前記リーン空燃比から前記リッチ空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリーンな空燃比からリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒に吸蔵された第２酸素量と前記基準空燃比との関係を求める。
最大酸素吸蔵量算出装置は更に、前述の第１酸素量と第２酸素量とが等しいとおくことによって前記基準空燃比の値を算出する基準空燃比算出手段と、前記第１酸素量又は第２酸素量の少なくとも何れか一方を用いて前記触媒の最大酸素吸蔵量を算出する、最大酸素吸蔵量第１算出手段と、前記目標空燃比が前記リッチ空燃比又は前記リーン空燃比から前記リーン空燃比又は前記リッチ空燃比へ切り換えられてから、前記下流側空燃比検出手段の検出空燃比がリッチ又はリーンな空燃比からリーン又はリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と過去に前記基準空燃比算出手段によって求められ記憶された基準空燃比の値との差を累積し、これに基づいて前記触媒の最大酸素吸蔵量を求める、最大酸素吸蔵量第２算出手段と、を備える。
【００１２】
なお、前記酸素量算出手段は、第１酸素量と前記基準空燃比との関係を求めてから第２酸素量と前記基準空燃比との関係を求めても良いし、逆の順序で求めても良い。また下流側空燃比検出手段は、現在の空燃比が特定の空燃比よりリッチかリーンかを判定するための値を出力するものであれば良い。従って下流側空燃比検出手段には、例えば、空燃比の変化に応じて変化する何らかのパラメータの値を検出して出力するものが含まれる。
【００１３】
これにより、酸素量算出手段で第１酸素量及び第２酸素量を求め、これから最大酸素吸蔵量第１算出手段で三元触媒の最大酸素吸蔵量を算出する際に、前記基準空燃比の解の値を基準空燃比算出手段によって併せて求めて、この値を、次回以降の測定回での最大酸素吸蔵量第２算出手段での最大酸素吸蔵量の測定に用いて、最大酸素吸蔵量を精度良く求めることができる。従って、前記酸素量算出手段及び最大酸素吸蔵量第１算出手段での最大酸素吸蔵量の測定に代えて、触媒の上流側の目標空燃比を振る回数が比較的少なくて済む最大酸素吸蔵量第２算出手段での最大酸素吸蔵量の測定を行うことで、エミッションの悪化やドライバビリティの悪化を抑制できる。
【００１４】
◆前記の触媒酸素吸蔵量算出装置においては、前記最大酸素吸蔵量第１算出手段は、前記酸素量算出手段によって算出された第１酸素量及び第２酸素量と前記基準空燃比との関係において、予め定められた固定値を当該基準空燃比に代入して、当該第１酸素量及び第２酸素量の平均値を前記触媒の最大酸素吸蔵量として求めることが好ましい。
【００１５】
即ち、三元触媒では、ＮＯｘ浄化時の効率とＨＣ，ＣＯ浄化時の効率とが一致しない場合も現実に存在する。しかしながら第１酸素量と第２酸素量の平均値を求めることで上記の誤差が打ち消し合うので、最大酸素吸蔵量第１算出手段による触媒の最大酸素吸蔵量の算出精度が良好である。また上述のとおり、最大酸素吸蔵量第２算出手段での最大酸素吸蔵量の測定の際は前述の基準空燃比の解の値を用いて算出するから、上記の誤差を加味した形で最大酸素吸蔵量を精度良く求めることができる。
【００１６】
◆前記の触媒酸素吸蔵量算出装置においては、以下のように構成することが好ましい。前記酸素量算出手段は、所定の条件で、前記第１酸素量と基準空燃比との関係及び前記第２酸素量と基準空燃比との関係を再計算する。前記基準空燃比算出手段は、この再計算された第１酸素量と第２酸素量とが等しいとおくことによって前記基準空燃比の値を再計算する。基準空燃比の値の再計算後は、前記最大酸素吸蔵量第２算出手段は、再計算後の値を使用して前記触媒の最大酸素吸蔵量を求める。
【００１７】
これにより、所定の条件で第１酸素量及び第２酸素量が酸素量算出手段によって再計算され、これによって、基準空燃比の解の値が最新の値に更新される。従って、最大酸素吸蔵量第２算出手段での最大酸素吸蔵量の測定精度を安定して良好に維持できる。
【００１８】
◆前記の触媒酸素吸蔵量算出装置においては、前記再計算時には、前記最大酸素吸蔵量第１算出手段は、前記酸素量算出手段によって再計算され算出された第１酸素量及び第２酸素量と前記基準空燃比との関係において、過去に前記基準空燃比算出手段によって求められ記憶された基準空燃比の値を当該基準空燃比に代入し、当該第１酸素量及び第２酸素量の平均値を前記触媒の最大酸素吸蔵量として求めることが好ましい。
【００１９】
これにより、最大酸素吸蔵量第１算出手段での最大酸素吸蔵量の算出の精度を良好とすることができる。
【００２０】
◆前記の触媒酸素吸蔵量算出装置においては、以下のように構成することが好ましい。前記基準空燃比算出手段によって算出された基準空燃比の値は、計算時において内燃機関に加わっていた負荷と関連付けて記憶手段に記憶される。前記酸素吸蔵量算出手段は、内燃機関に現在加わっている負荷に対応する基準空燃比の値を前記記憶手段から読み出して取得し、この値を使用して前記触媒の最大酸素吸蔵量を求める。
【００２１】
これにより、基準空燃比の解の値を内燃機関の負荷に応じて適切に選択することで、最大酸素吸蔵量第２算出手段での触媒の最大酸素吸蔵量の測定精度を一層良好とすることができる。
【００２２】
◆本発明の第２の観点によれば、以下のような、触媒酸素吸蔵量算出方法が提供される。内燃機関の排気通路に三元触媒を備えるとともに、前記触媒の上流側の空燃比を検出する上流側空燃比検出手段と、前記触媒の下流側の空燃比を検出する下流側空燃比検出手段と、を備えた構成における、前記三元触媒の最大酸素吸蔵量を算出する。基準空燃比を変数としておいた上で、目標空燃比を前記リッチ空燃比から前記リーン空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリッチな空燃比からリーンな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒から放出された第１酸素量と前記基準空燃比との関係を求める。前記目標空燃比を前記リーン空燃比から前記リッチ空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリーンな空燃比からリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と前記基準空燃比との差を累積し、これに基づいて、前記触媒に吸蔵された第２酸素量と前記基準空燃比との関係を求める。前記第１酸素量又は第２酸素量の少なくとも何れか一方を用いて前記触媒の最大酸素吸蔵量を算出するとともに、前述の第１酸素量と第２酸素量とが等しいとおくことによって、前記基準空燃比の値を算出して記憶する。更に、前記目標空燃比を前記リッチ空燃比又は前記リーン空燃比から前記リーン空燃比又は前記リッチ空燃比へ切り換えて、当該目標空燃比となるように前記触媒の上流側の空燃比を制御するとともに、上記切り換えた時点から前記下流側空燃比検出手段の検出空燃比がリッチ又はリーンな空燃比からリーン又はリッチな空燃比に変化するまでの間の、前記上流側空燃比検出手段の検出空燃比と過去に求められ記憶された基準空燃比の値との差を累積し、これに基づいて前記触媒の最大酸素吸蔵量を求める。
【００２３】
これにより、先ず第１酸素量及び第２酸素量を求めて最大酸素吸蔵量を求める際に基準空燃比の解の値を求め、この値を、次回以降の測定回での最大酸素吸蔵量の測定に用いて、最大酸素吸蔵量を精度良く求めることができる。従って、２回目以降の測定では、触媒の上流側の目標空燃比を振る回数が比較的少なくて済み、エミッションの悪化やドライバビリティの悪化を抑制できる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明による三元触媒の最大酸素吸蔵量算出装置の実施形態について図面を参照しつつ説明する。図１は、この触媒の最大酸素吸蔵量算出装置を火花点火式多気筒（４気筒）内燃機関に適用したシステムの概略構成を、ブロック図として示している。
【００２５】
図１において、機関本体１は吸気ポート２と排気ポート３とを有している。各吸気ポート２は、対応する枝管４を通じてサージタンク５に連結され、サージタンク５は吸気ダクト６及びエアフローメータ７を介してエアクリーナ８に連結される。吸気ダクト６内にはスロットルバルブ９が配置される。前記枝管４には、それぞれＥＣＵ２０の出力信号に基づいて制御される燃料噴射弁１２が配置される。一方、各排気ポート３は、排気マニホールド１０を介して、三元触媒（以下、単に「触媒」と称することがある。）を内蔵した触媒コンバータ１１に接続される。
【００２６】
ＥＣＵ２０は、ＲＯＭ（リードオンリーメモリ）２２、ＲＡＭ（ランダムアクセスメモリ）２３、ＥＣＵ２０の電源がＯＦＦとされてもその記憶内容を保持可能なＥＰＲＯＭ３４、ＣＰＵ（セントラルプロセッシングユニット）２４、入力ポート２５及び出力ポート２６を具備し、これらは双方向バスによって相互に接続されている。ＲＯＭ２２、ＲＡＭ２３、ＥＰＲＯＭ３４は、記憶手段を構成している。なお、前記のＥＰＲＯＭ３４の代わりに、電源を切ってもその記憶内容がバックアップされるバックアップＲＡＭを用いても良い。エアフローメータ７は吸入空気量に比例した出力電圧を発生し、この出力電圧がＡＤコンバータ２７を介して入力ポート２５に入力される。
【００２７】
スロットルバルブ９には、当該スロットルバルブ９がアイドリング位置にあるときにＯＮとなるアイドル検出スイッチ１３が設けられ、このアイドル検出スイッチ１３の出力信号が入力ポート２５に入力される。また、機関本体１には機関冷却水温に応じた出力電圧を発生する水温センサ１４が取り付けられて、この水温センサ１４の出力電圧がＡＤコンバータ２８を介して入力ポート２５に入力される。更に、入力ポート２５には、機関回転数に相当する出力パルスを発生する回転数センサ１５が接続される。
【００２８】
触媒コンバータ１１上流の排気通路（本実施形態では、排気マニホールド１０内）には、空燃比センサ（上流側空燃比検出手段）１６が配置される。この空燃比センサ１６としては、例えば限界電流式の酸素濃度センサを用いることが考えられる。一方、触媒コンバータ１１下流の排気通路１７にはＺ特性出力を有するＯ２センサ１８が配置される。このＯ２センサ１８としては起電力式（濃淡電池式）の酸素濃度センサを用いており、このＯ２センサ１８に酸素濃度（空燃比の変化に応じて変化する値）を検出させることで、触媒下流側のガスが所定空燃比（例えば、理論空燃比）よりリッチであるかリーンであるかを検出する手段、即ち下流側空燃比検出手段としての役割を担わせている。これら空燃比センサ１６及びＯ２センサ１８の発生する信号は、それぞれ対応するＡＤ変換器３１，３２を介して、入力ポート２５に入力される。また、出力ポート２６は駆動回路３３を介して燃料噴射弁１２に接続されるとともに、触媒の劣化度を表示する表示装置３５に接続される。
【００２９】
（通常時の空燃比制御の概要）
次に、上記のように構成された内燃機関の空燃比制御装置が通常行う空燃比制御の概要について説明する。
【００３０】
触媒コンバータ１１の内蔵する三元触媒は、酸素を貯蔵（吸蔵）するＯ２ストレージ機能（酸素貯蔵機能）を有し、この酸素貯蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ，及びＮＯｘを浄化することができる。即ち、機関の空燃比がリーンとなって、触媒に流入するガス中の酸素及びＮＯｘが増加すると、酸素の一部を触媒が吸蔵することで還元雰囲気を作り出し、ＮＯｘの還元・浄化を促進する。また、機関の空燃比がリッチになって触媒に流入するガスにＨＣ，ＣＯが多量に含まれると、三元触媒は内部に吸蔵している酸素分子を放出し、これらのＨＣ，ＣＯに酸素分子を与え、酸化・浄化を促進する。
【００３１】
従って、触媒が連続的に流入する多量のＨＣ，ＣＯを効率的に浄化するためには、当該触媒が酸素を多量に貯蔵していなければならず、逆に連続的に流入する多量のＮＯｘを効率的に浄化するためには、触媒が酸素を十分に貯蔵し得る状態になければならないことになる。以上のことから、触媒の浄化能力は、当該触媒が貯蔵し得る最大の酸素量（最大酸素吸蔵量）に依存する。
【００３２】
一方、三元触媒は燃料中に含まれる鉛や硫黄等による被毒、あるいは触媒に加わる熱により劣化し、これに伴い最大酸素吸蔵量が次第に低下してくる。このように最大酸素吸蔵量が低下した場合であってもエミッションを良好に維持するには、触媒に流入するガスの平均空燃比が理論空燃比に極めて近い状態となるように制御する必要がある。
【００３３】
そこで、本実施形態のＥＣＵ２０は、内燃機関の排気に関する状態量の一つである触媒下流側のＯ２センサ１８の出力が理論空燃比に略相当する目標値となるように、触媒下流側のＯ２センサ１８の出力（即ち、触媒下流の空燃比）に応じて機関に供給される混合気の空燃比（即ち、機関の空燃比）をフィードバック制御する。注記すると、機関の空燃比と触媒の上流側におけるガスの空燃比（以下、単に「触媒上流側空燃比」とも称する場合がある。）は等しいので、ＥＣＵ２０は触媒上流側空燃比をフィードバック制御しているとも言える。
【００３４】
（最大酸素吸蔵量Ｃmax算出時の空燃比制御と最大酸素吸蔵量Ｃmaxの算出）
上述したように、触媒は劣化するに従ってその最大酸素吸蔵量は次第に低下してくるが、本実施形態の内燃機関は、触媒の最大酸素吸蔵量Ｃmaxを算出・推定し、この算出された最大酸素吸蔵量Ｃmaxが所定の基準値より小さいか否かを判定することにより、触媒が劣化したか否かを判定するようになっている。
【００３５】
本内燃機関は触媒の最大酸素吸蔵量Ｃmaxの測定のために、通常算定モードと簡易算定モードの２つのモードを有している。最初に、通常算定モードの空燃比制御（空燃比強制設定制御、アクティブ制御）について、図２のタイムチャートを参照しながら説明する。
【００３６】
ＥＣＵ２０は先ず、図２の上側のグラフに示すように、時刻ｔ１までは前述した通常の空燃比制御を行い、この時刻ｔ１にて通常算定モードで最大酸素吸蔵量を算出する所定の条件（この例では、その時点でＯ２センサ１８の出力が所定のしきい値よりもリッチであることも、その所定条件に含められている。）が成立すると、上記触媒の上流のガスの目標空燃比（触媒上流側空燃比の目標値）abyfrを、所定の設定リーン空燃比abyfLeanに設定する。この結果、触媒上流側空燃比は理論空燃比よりもリーンな前記設定リーン空燃比abyfLeanに制御され、触媒上流側の空燃比センサ１６の検出値が前記設定リーン空燃比abyfLean付近の値を示すようになる。
【００３７】
この結果、触媒コンバータ１１内の触媒にはリーンな空燃比のガスが流入するので、そのガスに含まれる酸素、あるいはＮＯｘから還元・分離した酸素が、触媒に吸蔵されてゆく。そして吸蔵される酸素量が限界（最大酸素吸蔵量）に達すると、触媒はそれ以上はガス中より酸素を奪うことができなくなって、触媒の下流にもリーンな空燃比のガスが流出し始める。この結果、図２の下側のグラフの時刻ｔ２に示すように、Ｏ２センサ１８の出力は、リッチを示す値からリーンを示す値へと変化する。なお、この時刻ｔ１〜ｔ２間の作動を第１モードにおける作動と呼ぶ。
【００３８】
時刻ｔ２にて、触媒下流側のＯ２センサ１８の出力がリッチを示す値からリーンを示す値に変化すると、ＥＣＵ２０は、上記触媒の上流のガスの目標空燃比abyfrを、所定の設定リッチ空燃比abyfRichに設定する。この結果、触媒上流側空燃比は、理論空燃比よりもリッチな前記設定リッチ空燃比abyfRichになるよう制御され、触媒上流側の空燃比センサ１６の検出値が前記設定リッチ空燃比abyfRich付近の値を示すようになる。
【００３９】
ここで触媒コンバータ１１内の触媒は、前記の時刻ｔ１〜ｔ２の制御によって、その吸蔵する酸素量は時刻ｔ２の時点で最大になっている。そして時刻ｔ２以降において触媒にリッチな空燃比のガスが流入すると、触媒内に吸蔵されていた酸素が、当該触媒に流入する未燃ＨＣ，ＣＯの酸化のために消費されてゆく。そして、触媒の酸素吸蔵量がゼロとなると、それ以上は未燃ＨＣ，ＣＯを酸化することができなくなって、触媒の下流にもリッチな空燃比のガスが流出し始める。この結果、図２の下側のグラフの時刻ｔ３に示すように、触媒下流側のＯ２センサ１８の出力はリーンを示す値からリッチを示す値へと変化する。なお、この時刻ｔ２〜ｔ３間の作動を第２モードにおける作動と呼ぶ。
【００４０】
そして本空燃比制御装置は、かかる時刻ｔ２〜ｔ３間のうちの所定の計算周期tsample内における酸素吸蔵量変化量ΔＯ２を下記の式１に従って計算する。
ΔＯ２ ＝ 0.23・ｍｆｒ・（abyfbasis − abyfs）  …（式１）
【００４１】
式１において、値「0.23」は大気中に含まれる酸素の重量割合であり、ｍｆｒは所定時間（計算周期tsample）内の燃料噴射量の合計量である。abyfbasisは基準空燃比を意味し、未知の変数である。abyfsは、上記計算周期において上流側空燃比センサ１６で検出された空燃比Ａ／Ｆである。この式１に示したように、計算周期tsample内の燃料噴射量の合計量ｍｆｒに、検出された空燃比Ａ／Ｆの基準空燃比からの偏移量（abyfbasys − abyfs）を乗じると、同所定時間tsampleにおける酸素吸蔵量変化量ΔＯ２を基準空燃比abyfbasisとの関係で求めることができる。
【００４２】
そして、下記式２のように前記の酸素吸蔵量変化量ΔＯ２を時刻ｔ２〜ｔ３にわたって積算することで、触媒が酸素を最大限貯蔵していた状態から酸素を全て消費（放出）した状態となるまでの酸素消費量、即ち最大酸素吸蔵量Ｃmax2が前記基準空燃比abyfbasisを用いた式として求められる。なお、Ｃmax2の「2」とは、「第２モードで算出された」という意味である。
Ｃmax2 ＝ ΣΔＯ２（区間ｔ２〜ｔ３）  …（式２）
【００４３】
ここで理論的にいえば、上記の酸素吸蔵量変化量ΔＯ２を計算する際は、空燃比センサ１６で検出された空燃比Ａ／Ｆの基準空燃比からの偏移量（abyfbasys − abyfs）ではなく、理論空燃比stoich（例えば、14.7）からの偏移量を用いて良いことになる。上記特許文献１は、その方法を用いて酸素吸蔵量変化量ΔＯ２及び最大酸素吸蔵量Ｃmax2を計算している。
【００４４】
しかしながら三元触媒は、その製造個体差や経時変化等によって、酸素を吸蔵する行程を利用し検出・算出される最大酸素吸蔵量と、酸素を放出する行程を利用し検出・算出される最大酸素吸蔵量と、が一致しない場合も現実に存在する。この原因としては、触媒中に含まれる酸素吸蔵物質、例えば酸化セリウム等、の酸素吸蔵時の効率と酸素放出時の効率が異なる場合、あるいは、触媒中に含まれる触媒金属、例えばパラジウムや白金等、の効率が、排気ガスの空燃比がリッチの時及びリーンの時で異なる場合、等がありえる。そしてこの場合、理論空燃比stoichからの偏移量をもとに酸素吸蔵量変化量ΔＯ２を求め、これから最大酸素吸蔵量Ｃmax2を求める場合、当該最大酸素吸蔵量Ｃmax2の誤差が大きくなってしまう。
【００４５】
なお、上記最大酸素吸蔵量Ｃmax2の他にもう１つ最大酸素吸蔵量Ｃmax3を後述のように求めて、両最大酸素吸蔵量Ｃmax2，Ｃmax3の平均を結論としての最大酸素吸蔵量Ｃmaxとする通常算定モードでは、平均値を算出する際に上記の誤差が互いに打ち消し合うためにＣmaxの算出精度にさほど影響は出ない。しかしながら、後述の簡易算定モード（一方の最大酸素吸蔵量Ｃmax2のみから最大酸素吸蔵量Ｃmaxを求めるモード）では、Ｃmaxの算出精度に当該誤差の悪影響がそのまま現れてしまう。従って本実施形態では、後述の簡易算定モードのために、酸素吸蔵量変化量ΔＯ２を理論空燃比stoichを用いて求めるのではなく、上記式１に示すように、基準空燃比abyfbasisを変数として、酸素吸蔵量変化量ΔＯ２を当該基準空燃比abyfbasisの関係式として求めるようにしている。
【００４６】
続いての制御を説明する。時刻ｔ３にて、触媒下流側のＯ２センサ１８の出力がリーンを示す値からリッチを示す値に変化すると、本装置は触媒の上流のガスの空燃比を理論空燃比よりもリーンな所定の設定リーン空燃比に制御するため、上記触媒の上流のガスの目標空燃比abyfrを所定の設定リーン空燃比abyfLeanに設定する。この結果、触媒上流側の空燃比センサ１６の検出値が前記設定リーン空燃比abyfLean付近の値を示すようになる。
【００４７】
ここで、前記の時刻ｔ２〜ｔ３の制御の結果、時刻ｔ３の時点においては触媒の酸素吸蔵量はゼロとなっている。そしてこの状態から、時刻ｔ３以降ではリーンな空燃比のガスが触媒へ流入し、そのガスに含まれるＮＯｘから酸素が奪われて触媒に吸蔵されてゆく。そして、触媒に吸蔵される酸素量が最大（最大酸素吸蔵量）に達すると、それ以上はＮＯｘから酸素を奪うことができなくなって、触媒の下流にもリーンな空燃比のガスが流出し始めるようになる。この結果、図２の下側の時刻ｔ４に示すように、触媒下流側のＯ２センサ１８の出力はリッチを示す値からリーンを示す値に変化する。なお、この時刻ｔ３〜ｔ４間の作動を第３モードにおける作動と称する。
【００４８】
本装置は、かかる時刻ｔ３〜ｔ４間においても最大酸素吸蔵量を算出する。即ち、時刻ｔ３〜ｔ４間の所定の計算周期tsample内において、酸素吸蔵量変化量ΔＯ２を下記の式３に従って計算する。
ΔＯ２ ＝ 0.23・ｍｆｒ・（abyfs − abyfbasis）  …（式３）
【００４９】
この式３に示したように、計算周期tsample内の燃料噴射量の合計量ｍｆｒに、検出された空燃比Ａ／Ｆの前記基準空燃比からの偏移量（abyfs − abyfbasys）を乗じると、当該所定時間tsampleにおける酸素吸蔵量変化量ΔＯ２を基準空燃比abyfbasisとの関係で求めることができる。なお本実施形態では、後述の簡易算定モードのために、酸素吸蔵量変化量ΔＯ２を理論空燃比stoichを用いて求めるのではなく、上記式３に示すように、基準空燃比abyfbasisを変数として、酸素吸蔵量変化量ΔＯ２を当該基準空燃比abyfbasisの関係式として求めるようにしている。
【００５０】
そして、下記式４のように前記の酸素吸蔵量変化量ΔＯ２を時刻ｔ３〜ｔ４にわたって積算することで、触媒が酸素を全く吸蔵していない状態から酸素を最大限吸蔵した状態となるまでの酸素吸蔵量、即ち最大酸素吸蔵量Ｃmax3が前記基準空燃比abyfbasisを用いた式として求められる。なお、Ｃmax3の「3」とは、「第３モードで算出された」という意味である。
Ｃmax3 ＝ ΣΔＯ２（区間ｔ３〜ｔ４）  …（式４）
【００５１】
そして、本装置は、時刻ｔ４において、前述した通常の空燃比制御を再開し、機関に吸入される混合気の空燃比を理論空燃比に戻す。そして、この時刻ｔ４以降では、上記のように求めた最大酸素吸蔵量Ｃmax2とＣmax3とが等しいとおいて（即ちＣmax2 ＝ Ｃmax3）、前記の未知の変数としての基準空燃比abyfbasisの解を求める。
【００５２】
なお、Ｃmax2 ＝ Ｃmax3とおいて連立方程式を解いて基準空燃比abyfbasisの解の値を求めることは、図２の基準空燃比abyfbasisの高さを上下させながら、Ｓ２部分の面積（Ｃmax2に比例）とＳ３部分の面積（Ｃmax3に比例）とが丁度等しくなる高さを探すことに相当する。こうして得られた基準空燃比abyfbasisの値は、後述の簡易算定モードで使用するために、ＥＣＵ２０のＲＡＭ２３あるいはＥＰＲＯＭ３４に記憶される。
【００５３】
更に通常算定モードでは、Ｃmax2，Ｃmax3の式において、前記基準空燃比abyfbasisに理論空燃比stoich（前記ＲＯＭ２２に予め記憶されている）を代入し、それぞれ得られたＣmax2，Ｃmax3の平均を、最大酸素吸蔵量Ｃmaxとして採用する。なお、平均値Ｃmaxと基準空燃比abyfbasisとの関係を求めてから、その式に理論空燃比stoichを代入しても良い。また、理論空燃比stoichを代入することに限らず、予め定めた固定値（ＲＯＭ２２に記憶させた値）を代入してもよい。あるいは前回の通常算定モードで求めた基準空燃比abyfbasisの解が記憶されている場合は、その記憶値を理論空燃比stoichの代わりに代入しても良い。以上が、通常算定モードにおける触媒の最大酸素吸蔵量Ｃmaxの算出原理である。
【００５４】
なお前述したように、三元触媒にはＮＯｘ浄化時の効率とＨＣ，ＣＯ浄化時の効率とが一致しない場合も存在するので、基準空燃比abyfbasisに理論空燃比stoichを代入して各最大酸素吸蔵量Ｃmax2，Ｃmax3の値を得ると、各最大酸素吸蔵量Ｃmax2，Ｃmax3の誤差が大きくなってしまう。しかしながらこの誤差は、両最大酸素吸蔵量Ｃmax2，Ｃmax3の平均値を算出する際に互いに打ち消し合うので、通常算定モードで最終的に得られる最大酸素吸蔵量Ｃmaxは、精度の良好なものが得られる。
【００５５】
次に簡易算定モードを説明する。簡易算定モードでは、図３のタイムチャートに示すような空燃比制御が行われるものであって、前述の通常算定モード（図２）の時刻ｔ３までの制御と殆ど同様である。
【００５６】
以下、簡易算定モードを具体的に説明する。先ずＥＣＵ２０は、図３の上側のグラフに示したように、時刻ｔ１までは前述した通常の空燃比制御を行い、この時刻ｔ１にて簡易算定モードで最大酸素吸蔵量を算出する所定の条件（この例では、前述の通常算定モードの制御が少なくとも１回実行されて、前記基準空燃比abyfbasisの解の値が求められ記憶されていること、及び、その時点でＯ２センサ１８の出力が所定のしきい値よりもリッチであることも、その所定条件に含められている。）が成立すると、上記触媒の上流のガスの目標空燃比（触媒上流側空燃比の目標値）abyfrを、所定の設定リーン空燃比abyfLeanに設定する。この結果、触媒上流側空燃比は、理論空燃比よりもリーンな前記設定リーン空燃比abyfLeanに制御され、触媒上流側の空燃比センサ１６の検出値が前記設定リーン空燃比abyfLean付近の値を示すようになる。
【００５７】
この結果、触媒コンバータ１１内の触媒にはリーンな空燃比のガスが流入するので、そのガスに含まれるＮＯｘから酸素が奪われ、触媒に吸蔵されてゆく。そして吸蔵される酸素量が最大（最大酸素吸蔵量）に達すると、触媒はそれ以上はＮＯｘから酸素を奪うことができなくなって、触媒の下流にもリーンな空燃比のガスが流出し始める。この結果、図３の下側のグラフの時刻ｔ２に示すように、Ｏ２センサ１８の出力は、リッチを示す値からリーンを示す値へと変化する。なお、この時刻ｔ１〜ｔ２間の作動は前記通常算定モードの第１モードにおける作動と全く同一である。
【００５８】
時刻ｔ２にて、触媒下流側のＯ２センサ１８の出力がリッチを示す値からリーンを示す値に変化すると、本装置は、上記触媒の上流のガスの目標空燃比abyfrを、所定の設定リッチ空燃比abyfRichに設定する。この結果、触媒上流側空燃比は、理論空燃比よりもリッチな前記設定リッチ空燃比abyfRichになるよう制御され、触媒上流側の空燃比センサ１６の検出値が前記設定リッチ空燃比abyfRich付近の値を示すようになる。
【００５９】
この結果、触媒にリッチな空燃比のガスが流入するため、触媒内に最大限吸蔵されていた酸素が、同触媒に流入する未燃ＨＣ，ＣＯの酸化のために消費されてゆく。そして、触媒の酸素吸蔵量がゼロとなると、それ以上は未燃ＨＣ，ＣＯを酸化することができなくなって、触媒の下流にもリッチな空燃比のガス（ＨＣ，ＣＯを含むガス）が流出し始める。この結果、図３の下側のグラフの時刻ｔ３に示すように、触媒下流側のＯ２センサ１８の出力はリーンを示す値からしきい値を跨いでリッチを示す値へと変化する。なお、この時刻ｔ２〜ｔ３間の作動も、前記通常算定モードの第２モードにおける作動と全く同一である。
【００６０】
そしてＥＣＵ２０は、かかる時刻ｔ２〜ｔ３間の所定の計算周期tsample内において、酸素吸蔵量変化量ΔＯ２を前述の式１に従って計算する。なお、前記式１におけるabyfbasisとしては、前述の通常算定モードで解が求められ記憶された値を用いれば良い。そして、上記式２のように前記の酸素吸蔵量変化量ΔＯ２を時刻ｔ２〜ｔ３に渡って積算することで、触媒が酸素を最大限貯蔵していた状態から酸素を全て消費（放出）した状態となるまでの酸素消費量、即ち最大酸素吸蔵量Ｃmax2が求められる。
【００６１】
なお、酸素吸蔵量変化量ΔＯ２や最大酸素吸蔵量Ｃmax2の算出の際は、前記通常算定モードと同様に当初は基準空燃比abyfbasisを変数において算出し（酸素吸蔵量変化量ΔＯ２や最大酸素吸蔵量Ｃmax2を基準空燃比abyfbasisとの関係で算出し）、その後、前述の通常算定モードで算出され記憶された解の値を基準空燃比abyfbasisに代入して、当該酸素吸蔵量Ｃmax2の値を算出しても良い。
【００６２】
そしてＥＣＵ２０は、時刻ｔ３において前述の通常の空燃比制御を再開し、機関に吸入される混合気の空燃比を理論空燃比に戻す。そして、この時刻ｔ３以降では、上記のように求めた最大酸素吸蔵量Ｃmax2を、触媒の最大酸素吸蔵量Ｃmaxとして採用する。以上が簡易算定モードでの制御である。なお、この簡易算定モードでは、通常算定モードの第３モードに相当する制御は行わない。
【００６３】
以上に説明したように、通常算定モードでは触媒上流側の空燃比をリーン→リッチ→リーンと３回切り換える制御を行い（図２の上側のグラフ）、簡易算定モードでは触媒上流側の空燃比をリーン→リッチと２回切り換える制御を行う（図３の上側のグラフ）。言い換えれば、通常算定モードよりも簡易算定モードの方が、目標空燃比abyfrを理論空燃比を跨いで切り換える（振る）回数が１回少ないことになる。
【００６４】
（実際の制御）
次に、上記制御を実現するための実際の処理ルーチンについて詳細に説明する。図４は最大酸素吸蔵量算出開始の際の処理ルーチンを示すフロー図、図５は最大酸素吸蔵量算出のための空燃比強制設定制御の処理ルーチンを示すフロー図、図６は酸素吸蔵量の積算のための処理ルーチンを示すフロー図、図７は最大酸素吸蔵量の算出のための処理ルーチンを示すフロー図である。
【００６５】
ＣＰＵ２４は、図４〜図７のフローチャートに示された各ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ２４は酸素吸蔵量算出を開始すべきか否かを判定するために、図４に示したルーチンのステップＳ１０１の処理を開始し、空燃比強制設定フラグの値が「０」か「１」かを調べる。この空燃比強制設定フラグが「１」であるときは、空燃比が図２の時刻ｔ１〜ｔ４や図３の時刻ｔ１〜ｔ３のように、目標空燃比abyfrが設定リーン空燃比abyfLeanや設定リッチ空燃比abyfRichに強制的に設定されていることを意味する。
【００６６】
いま、最大酸素吸蔵量算出のための空燃比強制設定制御を行っておらず、且つ、最大酸素吸蔵量算出条件（触媒劣化判定条件）が成立していないものとして説明すると、前記空燃比強制設定フラグの値は「０」となっている。従って、処理はステップＳ１０２に進み、最大酸素吸蔵量算出条件が成立しているか否かを判定する。本実施形態では、この最大酸素吸蔵量算出条件は、水温センサ１４で検出された冷却水温が所定温度以上であり、図示しない車速センサにより検出された車速が所定の高車速以上であり、且つ、スロットルバルブ９の開度の単位時間当たりの変化量が所定量以下であるという条件が満足された場合、即ち、機関が定常運転されている場合に成立する。
【００６７】
更に、前記の最大酸素吸蔵量算出条件には、触媒の温度が所定の温度範囲内にあること、前回の最大酸素吸蔵量算出から所定時間以上が経過したこと、前回の最大酸素吸蔵量算出から車両が所定距離以上運転されたこと、前回の最大酸素吸蔵量算出からのトリップ数が所定回数に達したこと、前回の最大酸素吸蔵量算出から内燃機関が所定時間以上運転されたこと、前回の最大酸素吸蔵量算出からの前記エアフローメータ７で得られた吸気量の積算値が所定値に達したこと、の任意の一つ又は二つ以上の組み合わせを加えても良い。現段階では上述したように最大酸素吸蔵量算出条件は成立していないので、ステップＳ１０２で「Ｎ」と判定して、図４のルーチンをいったん終了する。
【００６８】
次に、先に説明した図２の時刻ｔ１のように、その時点までは最大酸素吸蔵量算出のための空燃比強制設定制御を行っていないが、その時点において最大酸素吸蔵量算出条件が成立したものとして説明を続けると、ＣＰＵ２４はステップＳ１０１で空燃比強制設定フラグの値を調べる。空燃比強制設定フラグは「０」であるので、ステップＳ１０２に進み、酸素吸蔵量算定条件が成立したか否かを調べる。酸素吸蔵量算定条件は成立しているので、ステップＳ１０２で「Ｙ」と判定してステップＳ１０３に進み、触媒の最大酸素吸蔵量算出を行うべく空燃比強制設定フラグを「１」に設定する。
【００６９】
次にＣＰＵ２４は、簡易算定条件が成立するか否かを調べる。簡易算定条件とは、前述の簡易算定モードで最大酸素吸蔵量Ｃmaxを求めるための条件であって、この条件には、過去に１回以上通常算定モードで最大酸素吸蔵量Ｃmax及び基準空燃比abyfbasisの解の値を求めており、その求められた基準空燃比abyfbasisの解の値がＲＡＭ２３やＥＰＲＯＭ３４に記憶されていることが含まれる。
【００７０】
なお、この簡易算定条件には、直前の通常算定モードでの最大酸素吸蔵量の算定から所定時間以内であること、直前の通常算定モードでの最大酸素吸蔵量の算定からの車両の運転距離が所定距離以内であること、直前の通常算定モードでの最大酸素吸蔵量の算定からのトリップ数が所定回数に達したこと、直前の通常算定モードでの最大酸素吸蔵量の算定からの内燃機関の運転時間が所定時間以内であること、直前の通常算定モードでの最大酸素吸蔵量の算定からの前記エアフローメータ７で得られた吸気量の積算値が所定値以内であること、の任意の一つ又は二つ以上の組み合わせを加えても良い。
【００７１】
現時点では通常算定モードによる最大酸素吸蔵量Ｃmaxの算出（基準空燃比abyfbasisの解の算出）がまだ１回も行われておらず、簡易算定条件が成立しないものとして以下説明すると、ＣＰＵ２４はステップＳ１０４で「Ｎ」と判定してステップＳ１０５に進み、通常算定モードとすべく簡易算定フラグを「０」にする。この簡易算定フラグとは、上記の何れの算定モードで最大酸素吸蔵量を測定するかを表すフラグ変数であり、前記の通常算定モードで測定する場合は「０」、簡易算定モードで測定する場合は「１」とされる。そしてステップＳ１０７で、前述の第１モードへ移行すべくモード変数の値を「１」にしてルーチンをいったん終了する。なおモード変数とは、上述の空燃比強制設定制御の第１〜第３モードのうち何れのモードに現在あるかを表す変数であって、その値は第１モードでは「１」、第２モードでは「２」、第３モードでは「３」とされる。
【００７２】
次に、図５のルーチンを説明する。図５のルーチンも所定時間の経過毎にＣＰＵ２４によって反復的に実行されるものである。この図５のルーチンでは、ステップＳ２０１において先ずモード変数の値が調べられる。モード変数の値は前述の処理で「１」とされているので、ＣＰＵ２４はステップＳ２０２で、目標空燃比abyfrを設定リーン空燃比abyfLeanに設定する。
【００７３】
なおＣＰＵ２４は、内燃機関１０の空燃比が前述した目標空燃比abyfrとなるようにフィードバック制御を行う図略のルーチンを所定時間毎に実行しており、このために内燃機関１０の空燃比（ひいては触媒上流側空燃比）は、目標空燃比abyfrに略一致せしめられるように随時制御される。従って前記ステップＳ２０２で目標空燃比abyfrを設定リーン空燃比abyfLeanに設定したことに伴い、触媒上流側空燃比は、その設定リーン空燃比abyfLeanとなるように制御されることになる。
【００７４】
そしてＣＰＵ２４は図５のステップＳ２０３に進み、Ｏ２センサ１８の状態を調べる。現時点では目標空燃比abyfrを設定リーン空燃比abyfLeanに設定した直後であるので、Ｏ２センサ１８はリッチを示す値を維持していることになる。従って、ＣＰＵ２４はステップＳ２０３で「Ｎ」と判定して、本ルーチンをいったん終了する。
【００７５】
そして触媒の酸素吸蔵量が最大に達し、触媒の下流側にリーンなガスが流出して、Ｏ２センサ１８がリッチを示す値からリーンを示す値へ所定のしきい値を跨いで変化すると、ＣＰＵ２４はステップＳ２０３で「Ｙ」と判定し、前述の第２モードへ移行すべく、モード変数の値を「２」に設定する。なお、前記しきい値としては例えば理論空燃比付近に相当する値を採用することが考えられる。例えばＯ２センサ１８が理論空燃比よりリーンな空燃比の雰囲気下にあるときに約０．１ボルトを出力し、理論空燃比よりリッチな空燃比の雰囲気下にあるときに約０．９ボルトの電圧を出力するように構成した場合、しきい値として０．５ボルトを採用することが考えられる。
【００７６】
モード変数の値が「２」とされると、図５のルーチンにおいて、ＣＰＵ２４はステップＳ２０１からステップＳ２０５へ進むことになる。このステップＳ２０５では、目標空燃比abyfrを設定リッチ空燃比abyfRichに設定する。この結果、触媒上流側空燃比が上記設定リッチ空燃比abyfRichとなるようにフィードバック制御が行われる。そしてステップＳ２０６でＯ２センサ１８の状態を検出する。そして、Ｏ２センサ１８の検出値がリーンを示す値から前記しきい値を跨いでリッチを示す値に変化するまで、ＣＰＵ２４はステップＳ２０６で「Ｎ」と判定し、本ルーチンをいったん終了するようになる。
【００７７】
そして触媒が酸素を放出してその吸蔵量がゼロになり、触媒の下流側にリッチなガスが流出して、Ｏ２センサ１８がリーンを示す値からリッチを示す値へ前記しきい値を跨いで変化すると、ＣＰＵ２４はステップＳ２０６で「Ｙ」と判定し、ステップＳ２０７に進む。ステップＳ２０７では、前述した簡易算定フラグの内容が調べられる。今回は簡易算定フラグの値は「０」となっているので、ステップＳ２０８で、前記第３モードへ移行すべくモード変数の値を「３」に設定し、本ルーチンをいったん終了する。
【００７８】
モード変数の値が「３」とされると、図５のルーチンにおいて、ＣＰＵ２４はステップＳ２０１からステップＳ２０９へ進むことになる。このステップＳ２０９では、目標空燃比abyfrを設定リーン空燃比abyfLeanに設定する。この結果、触媒上流側の空燃比が上記設定リーン空燃比abyfLeanとなるようにフィードバック制御が行われる。そしてステップＳ２１０でＯ２センサ１８の状態を検出する。そして、Ｏ２センサ１８の検出値がリッチを示す値から前記しきい値を跨いでリーンを示す値に変化するまで、ＣＰＵ２４はステップＳ２１０で「Ｎ」と判定し、本ルーチンをいったん終了するようになる。
【００７９】
そして触媒の酸素吸蔵量が最大に達し、触媒の下流側にリーンなガスが流出して、Ｏ２センサ１８がリッチを示す値からリーンを示す値へ前記しきい値を跨いで変化すると、ＣＰＵ２４はステップＳ２１０で「Ｙ」と判定し、空燃比強制設定制御を終了させて通常の制御モードへ戻すべく、ステップＳ２１１で、空燃比強制設定フラグを「０」に設定する。なお、この処理に伴って、前述の目標空燃比abyfrを理論空燃比（又はその付近の値）に設定する処理も併せて行う。
【００８０】
なお、簡易算定モードの場合は、第２モードでＯ２センサ１８がリーンを示す値からリッチを示す値に変化したときに、ステップＳ２０７において簡易算定フラグが「１」であるので、ステップＳ２１１へ進んで空燃比強制設定フラグを「０」にすることになる。要するに、簡易算定モードでは第３モードはスキップされ、第２モードが終了した時点で空燃比強制設定制御も終了する。
【００８１】
次に、酸素吸蔵量の積算ルーチンについて、図６を参照して説明する。図６のルーチンも、ＣＰＵ２４によって所定時間毎に実行されるようになっている。なお、図６のルーチンが実行される時間間隔が、前述の計算周期tsampleに相当する。
【００８２】
このルーチンでは、ステップＳ３０１において、酸素吸蔵量変化量ΔＯ２を、上記の式１・式３に対応する式（ΔＯ２ ＝ 0.23・ｍｆｒ・（abyfs − abyfbasis））に従って計算する。ｍｆｒは燃料噴射量の合計量、abyfsは触媒上流側の空燃比センサ１６で検出された空燃比、abyfbasisは基準空燃比である。なお、abyfbasisはこの時点では未知の変数として扱われており、算出される酸素吸蔵量変化量ΔＯ２はabyfbasisの関数になる。
【００８３】
次にステップＳ３０２において、モード変数の値を調べる。現時点でのモード変数の値が「２」の場合は、ステップＳ３０３に進んで、第２モードにおける積算値記憶用の変数ＯＳＡ２に、酸素吸蔵量変化量ΔＯ２の絶対値を加算する。現時点でのモード変数の値が「３」の場合は、ステップＳ３０４に進んで、第３モードにおける積算値記憶用の変数ＯＳＡ３に、酸素吸蔵量変化量ΔＯ２の絶対値を加算する。なお、酸素吸蔵量変化量ΔＯ２は基準空燃比abyfbasisの関数であるので、その積算値ＯＳＡ２，ＯＳＡ３も基準空燃比abyfbasisの関数になる。積算後は、本ルーチンをいったん終了する。
【００８４】
この図６のルーチンを反復して実行することにより、第２モードでは変数ＯＳＡ２に酸素吸蔵量変化量ΔＯ２が積算されてゆき、第３モードでは変数ＯＳＡ３に酸素吸蔵量変化量ΔＯ２が積算されていく。この結果、第２モードが終了したときには変数ＯＳＡ２に、第３モードが終了したときは変数ＯＳＡ３に、触媒の最大酸素吸蔵量を示す値が基準空燃比abyfbasisを用いた式の形で記憶されていることになる。
【００８５】
次に、最大酸素吸蔵量の算出ルーチンについて、図７を参照して説明する。なお図７のルーチンも、ＣＰＵ２４によって所定時間毎に実行されるようになっている。
【００８６】
この図７のルーチンでは、先ずステップＳ４０１で、空燃比強制設定フラグが「１」から「０」に切り換わったかを判定する。例えばフラグの値が「０」のままであったり「１」のままであった場合には、最大酸素吸蔵量を算出するタイミングではないので、ステップＳ４０１でＣＰＵ２４は「Ｎ」と判定して、ルーチンをいったん終了する。
【００８７】
空燃比強制設定制御が終了した直後であって、空燃比強制設定フラグが「１」から「０」に切り換わったことがステップＳ４０１で検出されると、ＣＰＵ２４はステップＳ４０１で「Ｙ」と判定して、最大酸素吸蔵量の算出を行うべくステップＳ４０２に進む。ステップＳ４０２では先ず簡易算定フラグの内容が調べられる。簡易算定フラグが「０」の場合（即ち通常算定モードであった場合）は、ステップＳ４０３で、前述の変数ＯＳＡ２の記憶内容を変数Ｃmax2に、変数ＯＳＡ３の記憶内容を変数Ｃmax3に、それぞれ記憶する。
【００８８】
そしてＣＰＵ２４はステップＳ４０４で、Ｃmax2 ＝ Ｃmax3の関係から前記基準空燃比abyfbasisを求める。即ち、第２モードで酸素吸蔵量をゼロから最大にさせた際に算出した最大酸素吸蔵量（Ｃmax2）と、第３モードで酸素吸蔵量を最大からゼロにさせた際に算出した最大酸素吸蔵量（Ｃmax3）とは、等しいはずである。これを用いてステップＳ４０４では、Ｃmax2 ＝ Ｃmax3とおくことで、Ｃmax2，Ｃmax3に含まれていた未知の変数としての基準空燃比abyfbasisの解を求める。そしてステップＳ４０５で、その基準空燃比abyfbasisの解の値を、ＲＡＭ２３あるいはＥＰＲＯＭ３４に記憶しておく。
【００８９】
次にＣＰＵ２４はステップＳ４０６で、Ｃmax2，Ｃmax3のabyfbasisに理論空燃比stoichを代入した上で、その代入した結果の平均を算出し、最大酸素吸蔵量Ｃmaxを得る（Ｃmax ＝（Ｃmax2 ＋ Ｃmax3）／２）。この算出したＣmaxは、ＲＡＭ２３等に適宜記憶しておき、触媒の劣化判定処理に用いられる。そしてステップＳ４０７で積算用変数ＯＳＡ２，ＯＳＡ３を次回の算出に備えてゼロにリセットし、ルーチンを終了する。
【００９０】
なお、ステップＳ４０６における前記最大酸素吸蔵量Ｃmaxの計算の際は、前述の平均値を採用せずに、Ｃmax2あるいはＣmax3の式にステップＳ４０４で得られた基準空燃比abyfbasisの解を代入して求めても構わない。
【００９１】
一方、簡易算定モードであった場合（即ち、簡易算定フラグが「１」の場合）は、ＣＰＵ２４はステップＳ４０２からステップＳ４０８に進み、変数ＯＳＡ２の記憶内容を変数Ｃmax2に格納する。そしてステップＳ４０９で、Ｃmax2の式の基準空燃比abyfbasisに、前記基準空燃比abyfbasisの解（直前回の通常算定モードの算出でのステップＳ４０５でＲＡＭ２３あるいはＥＰＲＯＭ３４に記憶された値）を代入した上で、Ｃmax2の値をＣmaxとして採用する（Ｃmax ＝ Ｃmax2）。この算出したＣmaxは、ＲＡＭ２３等に適宜記憶しておき、触媒の劣化判定処理に用いられる。そしてステップＳ４０７で、積算用変数ＯＳＡ２，ＯＳＡ３をゼロにリセットし、ルーチンを終了する。
【００９２】
なお、触媒の劣化判定処理ルーチンの詳細は図示しないが、通常算定モード或いは簡易算定モードで触媒の最大酸素吸蔵量Ｃmaxが算出される毎に呼び出されるものであって、その最大酸素吸蔵量Ｃmaxと所定の基準値とを比較し、最大酸素吸蔵量Ｃmaxがその基準値を下回った場合には、前記出力ポート２６を介して表示装置３５に信号を送り、触媒が劣化している旨を表示装置３５に表示させる。
【００９３】
以上に説明したように、本実施形態の触媒酸素吸蔵量算出装置では、通常算定モードの第２モードにおいて、基準空燃比abyfbasisを変数としておいた上で、目標空燃比abyfrが設定リッチ空燃比abyfRichから設定リーン空燃比abyfLeanへ切り換えられてから、Ｏ２センサ１８の検出値が所定のしきい値よりリッチな空燃比（に相当する値）からリーンな空燃比（に相当する値）に変化するまでの間の、前記空燃比センサ１６で検出された空燃比と前記基準空燃比abyfbasisとの差を累積し、これに基づいて、前記触媒で消費された第１酸素量Ｃmax2と前記基準空燃比abyfbasisとの関係を求める。
【００９４】
また、通常算定モードの第３モードでは、目標空燃比abyfrが設定リーン空燃比abyfLeanから設定リッチ空燃比abyfRichへ切り換えられてから、Ｏ２センサ１８の検出値が所定のしきい値よりリーンな空燃比（に相当する値）からリッチな空燃比（に相当する値）に変化するまでの間の、前記空燃比センサ１６で検出された空燃比と前記基準空燃比abyfbasisとの差を累積し、これに基づいて、前記触媒に流入する第２酸素量Ｃmax3と前記基準空燃比abyfbasisとの関係を求める。そして、第３モードの終了後は、前述の第１酸素量Ｃmax2と第２酸素量Ｃmax3とが等しいとおくことによって、基準空燃比abyfbasisの解を求め、それを記憶する。また、第１酸素量Ｃmax2と第２酸素量Ｃmax3の式において基準空燃比abyfbasisに理論空燃比stoich（あるいは、前回の通常算定モードで算出された基準空燃比abyfbasisの解）を代入し、得られた第１酸素量Ｃmax2と第２酸素量Ｃmax3との平均値を、触媒の最大酸素吸蔵量Ｃmaxとして採用する。
【００９５】
一方、簡易算定モードでは、その第２モードにおいて、目標空燃比abyfrが設定リッチ空燃比abyfRichから設定リーン空燃比abyfLeanへ切り換えられてから、Ｏ２センサ１８の検出値が所定のしきい値よりリッチな空燃比（に相当する値）からリーンな空燃比（に相当する値）に変化するまでの間の、前記空燃比センサ１６で検出された空燃比と、前回の通常算定モードによる最大酸素吸蔵量Ｃmaxの算定の際に求めて記憶しておいた基準空燃比abyfbasisの解との差を累積し、これに基づいて前記触媒の最大酸素吸蔵量Ｃmaxを求める。
【００９６】
即ち、本実施形態の通常算定モードでは最大酸素吸蔵量Ｃmaxは、第２モードで触媒の酸素吸蔵量が最大からゼロになるように空燃比を制御し、これにより最大酸素吸蔵量Ｃmax2を求め、第３モードで触媒の酸素吸蔵量がゼロから最大になるように空燃比を制御し、これにより最大酸素吸蔵量Ｃmax3を求め、結論としての最大酸素吸蔵量Ｃmaxは上記最大酸素吸蔵量Ｃmax2，Ｃmax3の平均値を採用する。一方、簡易算定モードでは、第２モードで触媒の酸素吸蔵量が最大からゼロになるように空燃比を制御し、これにより求めた最大酸素吸蔵量Ｃmax2から、結論としての最大酸素吸蔵量Ｃmaxを算定するのである。
【００９７】
従って、目標空燃比abyfrを多数回リッチ側／リーン側に振らなければならない通常算定モードでの測定の代わりに、目標空燃比abyfrを振る回数の比較的少ない簡易算定モードでの測定を行うことで、エミッションの悪化やドライバビリティの悪化を抑制できる。
【００９８】
例えば、図４のステップＳ１０２における酸素吸蔵量算定条件として、「前回の酸素吸蔵量算定からのトリップ数が１００トリップ以上であること」が条件とされ、また、ステップＳ１０４の簡易算定条件として、「前回の通常算定モードでの酸素吸蔵量算定からのトリップ数が５００トリップ未満であること」が条件とされた場合、酸素吸蔵量算定が５回行われるうち１回の割合で通常算定モードによる測定が行われ、残りは簡易算定モードでの測定が行われることになる。従って、目標空燃比abyfrを振る回数の多い通常算定モードの頻度を少なくでき、エミッションやドライバビリティへの悪影響を少なくできることになる。
【００９９】
なお、三元触媒は、その製造個体差などの何らかの事情によって、ＮＯｘ浄化時の効率とＨＣ，ＣＯ浄化時の効率とが不一致である場合も現実に存在する。しかしながらそのような場合でも、本実施形態では、通常算定モードで求めた基準空燃比abyfbasisの解を簡易算定モードでの最大酸素吸蔵量Ｃmaxの算定の際に用いるから、簡易算定モードでも最大酸素吸蔵量Ｃmaxを、上記不一致による誤差を加味した形で精度よく算出することができる。
【０１００】
本発明では、ＥＣＵ２０が、本発明の目標値設定手段、上流側空燃比制御手段、酸素量算出手段、基準空燃比算出手段、酸素吸蔵量第１算出手段、酸素吸蔵量第２算出手段に相当する。即ち、上記ＣＰＵ２４、ＲＯＭ２２、ＲＡＭ２３、ＥＰＲＯＭ３４等のハードウェアと、図４〜図７にフローを示すプログラムとにより、上記手段がＥＣＵ２０内に構築されている。
【０１０１】
また前述のとおり、前記通常算定モードでの最大酸素吸蔵量Ｃmaxの算出においては、第１酸素量Ｃmax2と第２酸素量Ｃmax3の式において基準空燃比abyfbasisに理論空燃比stoichを代入し、得られた第１酸素量Ｃmax2と第２酸素量Ｃmax3との平均値を、触媒の最大酸素吸蔵量Ｃmaxとして採用する。従って、通常算定モードでは、簡単な計算で最大酸素吸蔵量Ｃmaxを精度良く算出できる。
【０１０２】
また例えば、図４のステップＳ１０２における酸素吸蔵量算定条件として、「前回の酸素吸蔵量算定からのトリップ数が１００トリップ以上であること」が条件とされ、また、ステップＳ１０４の簡易算定条件として、「前回の通常算定モードでの酸素吸蔵量算定からのトリップ数が５００トリップ未満であること」が条件とされた場合は、車両の５００トリップ回ごとに通常算定モードで最大酸素吸蔵量Ｃmaxを求めることになる。即ち、車両の５００トリップ回ごとに、前述の最大酸素吸蔵量Ｃmax2，Ｃmax3が基準空燃比abyfbasisとの関係で計算し直され、両酸素吸蔵量Ｃmax2，Ｃmax3が等しいとおくことによって基準空燃比abyfbasisの解の値が再計算され、再計算後の値を記憶し直すように構成している。そしてこの解の再計算後は、次の簡易算定モードでは、再計算後の解の値を用いて、最大酸素吸蔵量Ｃmaxの値が算出される。この結果、基準空燃比abyfbasisの解の値が５００トリップ回ごとに最新の値に更新され、簡易算定モードでの最大酸素吸蔵量Ｃmaxの測定精度を安定して良好に維持できる。
【０１０３】
なお、通常算定モードで最大酸素吸蔵量Ｃmaxを計算する際は、前回の通常算定モードで求めた基準空燃比abyfbasisの解が記憶されているときは、その記憶されている解を第１酸素量Ｃmax2及び第２酸素量Ｃmax3の基準空燃比abyfbasisに代入して、その平均値を最大酸素吸蔵量Ｃmaxとして採用しても良い。この場合は、通常算定モードでの最大酸素吸蔵量Ｃmaxの算出の精度を良好とすることができる。
【０１０４】
また、通常算定モードで求められた基準空燃比abyfbasisの解は、最大酸素吸蔵量Ｃmaxの算出の際に内燃機関に加わっていた負荷に関連付けてＥＰＲＯＭ３４あるいはＲＡＭ２３に記憶するようにしても良い。具体例としては、ＥＰＲＯＭ３４あるいはＲＡＭ２３に、エアフローメータ７での単位時間あたりの吸入空気量（内燃機関の負荷に対応する状態量）が例えば１〜１０ｇ／秒である場合、１１〜２０ｇ／秒である場合、２１〜３０ｇ／秒である場合、・・・というように、単位時間あたりの吸入空気量の範囲を分けて、それぞれの範囲ごとに基準空燃比abyfbasisの解を記憶できるようにする。そして、通常算定モードで最大酸素吸蔵量Ｃmaxを算出する際は、エアフローメータ７によって単位時間あたりの吸入空気量（内燃機関の負荷に対応する状態量）を取得しておき、算出された基準空燃比abyfbasisの解は、その測定空気量が該当する範囲に記憶あるいは再記憶するようにする。そして、簡易算定モードで最大酸素吸蔵量Ｃmaxを求める際は、算出時のエアフローメータ７の単位時間あたりの吸入空気量が例えば２５ｇ／秒であった場合、対応する範囲（２１〜３０ｇ／秒の範囲）の基準空燃比abyfbasisの解を読み出し、それを前記最大酸素吸蔵量Ｃmax2の基準空燃比abyfbasisにあてはめて、最大酸素吸蔵量Ｃmaxとして採用する。
【０１０５】
即ち、内燃機関の負荷（更に言えば、排ガス量）に応じて基準空燃比abyfbasisを異ならせた方が、簡易算定モードで精度良く最大酸素吸蔵量Ｃmaxを算出するために好ましい場合がある。この点、上記制御を行えば、基準空燃比abyfbasisの解の値を内燃機関の負荷に応じて適切に選択することで、簡易算定モードでの最大酸素吸蔵量Ｃmaxの算出精度を一層良好とすることができる。なお、吸入空気量の範囲を数水準に分けて基準空燃比abyfbasisの解を記憶できるようにする代わりに、吸入空気量と基準空燃比abyfbasisの解との関係を関数の形で求め、その関数を記憶するようにしても良い。
【０１０６】
なお、上記実施形態では、通常算定モードにおいて触媒上流側の目標空燃比をリーン→リッチ→リーンと３回振るようにしていたが、例えば第２モードと第３モードを交互に複数回繰り返して、Ｃmax2，Ｃmax3のそれぞれの値を、各モードで取得された最大酸素吸蔵量の平均として求めても良い。この場合は、触媒上流側の目標空燃比を、例えばリーン→リッチ→リーン→リッチ→リーンと５回振ることになる。
【０１０７】
また、触媒上流側の目標空燃比を上記と逆に振っても良い。即ち、通常算定モードでは触媒上流側の目標空燃比をリッチ→リーン→リッチと振り、簡易算定モードでは触媒上流側の目標空燃比をリッチ→リーンと振る、といったようにである。
【図面の簡単な説明】
【０１０８】
【図１】触媒の最大酸素吸蔵量算出装置の構成を示すブロック図。
【図２】通常算定モードにおけるＥＣＵによる制御を示すタイムチャート図。
【図３】簡易算定モードにおけるＥＣＵによる制御を示すタイムチャート図。
【図４】最大酸素吸蔵量算出開始の際の処理ルーチンを示すフロー図。
【図５】最大酸素吸蔵量算出のための空燃比強制設定制御の処理ルーチンを示すフロー図。
【図６】酸素吸蔵量の積算のための処理ルーチンを示すフロー図。
【図７】最大酸素吸蔵量の算出のための処理ルーチンを示すフロー図。
【符号の説明】
【０１０９】
１  内燃機関本体
１１  触媒コンバータ
１６  空燃比センサ（上流側空燃比検出手段）
１８  Ｏ２センサ（下流側空燃比検出手段）
２０  ＥＣＵ
【図１】
2006016980.tif 000003
【図２】
2006016980.tif 000004
【図３】
2006016980.tif 000005
【図４】
2006016980.tif 000006
【図５】
2006016980.tif 000007
【図６】
2006016980.tif 000008
【図７】
2006016980.tif 000009