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