(57)【要約】    【課題】  排気特性をほとんど悪化させることなく、触媒の劣化度合を精度良く検出することができる触媒劣化検出装置を提供する。    【解決手段】  検出される吸入空気流量ＧＡＩＲ及び三元触媒１４ａの上流側に設けられた酸素濃度センサ１７の出力に基づいて、三元触媒１４ａに流入する酸素量ＯＳを算出する。流入酸素量ＯＳと目標値ＯＳＯＢＪＲ，ＯＳＯＢＪＬとの比較結果に応じて、空燃比のリッチ／リーン切換制御（パータベーション）を行う。下流側に設けらたＯ２センサ１８の出力ＳＶＯ２が空燃比のパータベーション中に大きく変動する場合に、三元触媒１４ａが劣化していると判定する。目標値ＯＳＯＢＪＲ，ＯＳＯＢＪＬを適切に設定することにより、三元触媒１４ａが正常であれば、Ｏ２センサ出力ＳＶＯ２はほとんど変動しない。【選択図】  図１
2007285288.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられた排気浄化用の触媒の劣化を検出する触媒劣化検出装置において、
前記機関の吸入空気流量を検出する吸入空気流量検出手段と、
前記触媒の上流側に設けられた第１酸素濃度センサと、
前記触媒の下流側に設けられた第２酸素濃度センサと、
前記第１酸素濃度センサにより検出される酸素濃度及び前記吸入空気流量検出手段により検出される吸入空気流量に応じて前記触媒に流入する酸素量を算出する流入酸素量算出手段と、
前記流入酸素量と該流入酸素量の目標値との比較結果に応じて前記機関に供給する混合気の空燃比を、理論空燃比よりリーン側及びリッチ側に交互に制御する空燃比切換制御手段と、
前記空燃比切換制御手段の作動中に、前記第２酸素濃度センサの出力に基づいて、前記触媒の劣化度合を検出する劣化検出手段とを備えることを特徴とする触媒劣化検出装置。
【請求項２】
前記空燃比切換制御手段は、前記第２酸素濃度センサの出力と所定値との比較結果に応じて、前記空燃比の切換制御を行うことを特徴とする請求項１に記載の触媒劣化検出装置。
【請求項３】
前記空燃比切換制御手段は、前記吸入空気流量に応じて前記目標値を算出することを特徴とする請求項１または２に記載の触媒劣化検出装置。
【請求項４】
前記触媒の温度を検出する触媒温度検出手段を備え、前記空燃比切換制御手段は、前記触媒温度に応じて前記目標値を算出することを特徴とする請求項１から３の何れか１項に記載の触媒劣化検出装置。
【請求項５】
前記流入酸素量に応じて前記劣化検出手段による劣化度合検出を禁止する禁止手段をさらに備えることを特徴とする請求項１から４の何れか１項に記載の触媒劣化検出装置。
【請求項６】
前記排気系には、前記第２酸素濃度センサの下流側にも排気浄化用の触媒が設けられていることを特徴とする請求項１から５の何れか１項に記載の触媒劣化検出装置。
【請求項７】
前記空燃比切換制御手段は、前記空燃比の切換時における前記空燃比の更新速度を前記機関の吸入空気流量及び前記目標値に応じて設定することを特徴とする請求項１から６の何れか１項に記載の触媒劣化検出装置。
【請求項８】
前記第１酸素濃度センサの出力特性の変化を示す特性変化パラメータを検出する特性変化検出手段と、
前記特性変化パラメータに応じて前記第１酸素濃度センサの出力を補正する補正手段とをさらに備え、
前記流入酸素量算出手段は、前記補正手段により補正されたセンサ出力を用いて前記酸素量を算出することを特徴とする請求項１から７の何れか１項に記載の触媒劣化検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排気系に設けられる排気浄化用触媒の劣化度合を検出する触媒劣化検出装置に関する。
【背景技術】
【０００２】
内燃機関の排気系に設けられる排気浄化用触媒（以下単に「触媒」という）の劣化を判定する技術は、従来より知られている。例えば特許文献１には、機関に供給する混合気の空燃比を理論空燃比よりリーン側からリッチ側に切り換えた時点から、触媒の下流側に設けられた空燃比センサ（酸素濃度センサ）の出力がリッチ空燃比を示す値に変化するまでの第１の時間ＣＢ、及び／または空燃比を理論空燃比よりリッチ側からリーン側に切り換えた時点から、触媒の下流側に設けられた空燃比センサの出力がリーン空燃比を示す値に変化するまでの第２の時間ＣＡを計測し、第１の時間ＣＢ及び／または第２の時間ＣＡに基づいて、触媒の劣化を判定する装置が示されている。
【０００３】
【特許文献１】特開平２−２０７１５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の装置では、触媒下流側に設けられた空燃比センサの出力を所定値以上変化させることにより触媒の劣化度合が検出されるため、正常な（劣化していない）触媒について判定を行う場合でも必ず下流側空燃比センサの出力が所定値以上変化する程度に空燃比を変化させる必要がある。そのため、劣化検出を行うことによって排気特性を悪化させる時間が長くなるという課題があった。
【０００５】
本発明はこの点に着目してなされたものであり、排気特性をほとんど悪化させることなく、触媒の劣化度合を精度良く検出することができる触媒劣化検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、内燃機関（１）の排気系（１３）に設けられた排気浄化用の触媒（１４ａ）の劣化を検出する触媒劣化検出装置において、前記機関の吸入空気流量（ＧＡＩＲ）を検出する吸入空気流量検出手段（７）と、前記触媒の上流側に設けられた第１酸素濃度センサ（１７）と、前記触媒の下流側に設けられた第２酸素濃度センサ（１８）と、前記第１酸素濃度センサ（１７）により検出される酸素濃度（Ｏ２Ｎ）及び前記吸入空気流量検出手段により検出される吸入空気流量（ＧＡＩＲ）に応じて前記触媒（１４ａ）に流入する酸素量（ＯＳ）を算出する流入酸素量算出手段と、前記流入酸素量（ＯＳ）と該流入酸素量の目標値（ＯＳＯＢＪＲ，ＯＳＯＢＪＬ）との比較結果に応じて前記機関に供給する混合気の空燃比を理論空燃比よりリーン側及びリッチ側に交互に制御する空燃比切換制御手段と、前記空燃比切換制御手段の作動中に、前記第２酸素濃度センサの出力（ＳＶＯ２）に基づいて、前記触媒の劣化度合（ＲＥＳＵＬＴ）を検出する劣化検出手段とを備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の触媒劣化検出装置において、前記空燃比切換制御手段は、前記第２酸素濃度センサの出力（ＳＶＯ２）と所定値（ＳＶＯ２ＬＥＡＮ，ＳＶＯ２ＲＩＣＨ）との比較結果に応じて、前記空燃比の切換制御を行うことを特徴とする。
請求項３に記載の発明は、請求項１または２に記載の触媒劣化検出装置において、前記空燃比切換制御手段は、前記吸入空気流量（ＧＡＩＲ）に応じて前記目標値（ＯＳＯＢＪＲ，ＯＳＯＢＪＬ）を算出することを特徴とする。
【０００８】
請求項４に記載の発明は、請求項１から３の何れか１項に記載の触媒劣化検出装置において、前記触媒の温度（ＴＣＡＴ）を検出する触媒温度検出手段（１９）を備え、前記空燃比切換制御手段は、前記触媒温度（ＴＣＡＴ）に応じて前記目標値（ＯＳＯＢＪＲ，ＯＳＯＢＪＬ）を算出することを特徴とする。
【０００９】
請求項５に記載の発明は、請求項１から４の何れか１項に記載の触媒劣化検出装置において、前記流入酸素量（ＯＳ）に応じて前記劣化検出手段による劣化度合検出を禁止する禁止手段をさらに備えることを特徴とする。
請求項６に記載の発明は、請求項１から５の何れか１項に記載の触媒劣化検出装置において、前記排気系には、前記第２酸素濃度センサ（１８）の下流側にも排気浄化用の触媒（１４ｂ）が設けられていることを特徴とする。
【００１０】
請求項７に記載の発明は、請求項１から６の何れか１項に記載の触媒劣化検出装置において、前記空燃比切換制御手段は、前記空燃比の切換時における前記空燃比の更新速度（ΔＫＣＭＤＲ，ΔＫＣＭＤＬ）を前記機関の吸入空気流量（ＧＡＩＲ）及び前記目標値（ＯＳＯＢＪＲ，ＯＳＯＢＪＬ）に応じて設定することを特徴とする。
【００１１】
請求項８に記載の発明は、請求項１から７の何れか１項に記載の触媒劣化検出装置において、前記第１酸素濃度センサの出力特性の変化を示す特性変化パラメータ（ＶＬＡＦＦＣ）を検出する特性変化検出手段と、前記特性変化パラメータ（ＶＬＡＦＦＣ）に応じて前記第１酸素濃度センサの出力（ＶＬＡＦ）を補正する補正手段とをさらに備え、前記流入酸素量算出手段は、前記補正手段により補正されたセンサ出力（ＶＬＡＦ）を用いて前記酸素量（ＯＳ）を算出することを特徴とする。
【発明の効果】
【００１２】
請求項１に記載の発明によれば、第１酸素濃度センサにより検出される酸素濃度及び吸入空気流量検出手段により検出される吸入空気流量に応じて触媒に流入する酸素量が算出され、該流入酸素量と該流入酸素量の目標値との比較結果に応じて機関に供給する混合気の空燃比を理論空燃比よりリーン側からリッチ側に、またはその逆に切り換える空燃比切換制御（パータベーション制御）が行われる。そして、空燃比切換制御実行中に第２酸素濃度センサの出力に基づいて、触媒の劣化度合が検出される。流入酸素量の目標値を、触媒が正常であるときは第２酸素濃度センサ出力がほとんど変化せず、触媒が劣化すると第２酸素濃度センサ出力が大きく変化するように設定することにより、触媒が正常な状態では排気特性を全く悪化させることがなく、触媒が劣化し始めた時点で排気特性をほとんど悪化させることなく、迅速に劣化度合を検出することが可能となる。
【００１３】
請求項２に記載の発明によれば、第２酸素濃度センサの出力値と所定値との比較結果に応じて、空燃比の切換制御が行われるので、触媒が劣化し、流入酸素量が目標値に達する前に第２酸素濃度センサの出力値が変化した場合に、排気特性を悪化させることを防止できる。
【００１４】
請求項３に記載の発明によれば、吸入空気流量に応じて流入酸素量の目標値が算出される。触媒に蓄積可能な酸素量は、排気流量、すなわち吸入空気流量に依存して変化するので、目標値を吸入空気流量に応じて設定することにより、空燃比の切換時期が適切なものとなり、触媒の劣化度合を正確に検出するとともに、排気特性の悪化を確実に防止することができる。
【００１５】
請求項４に記載の発明によれば、触媒温度に応じて流入酸素量の目標値が算出される。触媒に蓄積可能な酸素量は、触媒の温度に依存して変化するので、触媒温度に応じて目標値を算出することにより、空燃比の切換時期が適切なものとなり、触媒の劣化度合を正確に検出するとともに、排気特性の悪化を確実に防止することができる。
【００１６】
請求項５に記載の発明によれば、流入酸素量に応じて劣化度合の検出が禁止される。算出された流入酸素量が異常に大きくなったときは、正確な劣化度合の検出を行うことができないため、劣化度合検出を禁止することにより、検出精度の低下を防止することができる。
【００１７】
請求項６に記載の発明によれば、第２酸素濃度センサの下流側に設けられた触媒により排気浄化が行われるため、劣化した触媒について劣化度合検出処理を実行したときに、ＨＣやＮＯｘの排出を防止し、良好な排気特性を維持することができる。
【００１８】
請求項７に記載の発明によれば、空燃比の切換時における空燃比の更新速度が機関の吸入空気流量及び流入酸素量の目標値に応じて設定される。これにより、空燃比切換の周期を、機関運転状態の変化に拘わらずほぼ一定とすることができる。例えば吸入空気流量が大きい高負荷運転時は、空燃比の更新速度を低下させることにより、第２酸素濃度センサの応答特性劣化の影響を軽減し、正確な触媒劣化判定が可能となる。一方、吸入空気流量が小さい低負荷運転時は、空燃比の更新速度を高めることにより、触媒劣化判定に要する時間を短縮することができる。
【００１９】
請求項８に記載の発明によれば、第１酸素濃度センサの出力特性の変化を示す特性変化パラメータが検出され、この特性変化パラメータに応じて第１酸素濃度センサの出力が補正され、補正されたセンサ出力を用いて触媒流入酸素量が算出される。したがって、第１酸素濃度センサの出力特性の経時変化の影響を受けることなく、正確な酸素量の算出が可能となり、正確な触媒劣化判定を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下本発明の実施の形態を図面を参照して説明する。
［第１の実施形態］
図１は、本発明の一実施形態にかかる触媒劣化検出装置を含む、内燃機関（以下「エンジン」という）及びその制御装置の全体構成図であり、例えば４気筒のエンジン１の吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（ＴＨ）センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子制御ユニット（以下「ＥＣＵ」という）５に供給する。
【００２１】
燃料噴射弁６はエンジン１とスロットル弁３との間かつ吸気管２の図示しない吸気弁の少し上流側に各気筒毎に設けられており、各噴射弁は図示しない燃料ポンプに接続されていると共にＥＣＵ５に電気的に接続されて当該ＥＣＵ５からの信号により燃料噴射弁６の開弁時間が制御される。
【００２２】
スロットル弁３の上流側には吸入空気流量ＧＡＩＲを検出する吸入空気流量センサ７が設けられている。またスロットル弁３の下流側には吸気圧ＰＢＡを検出する吸気圧センサ８、及び吸気温ＴＡを検出する吸気温センサ９が設けられている。これらのセンサの検出信号は、ＥＣＵ５に供給される。
【００２３】
エンジン１の本体に装着されたエンジン水温（ＴＷ）センサ１０はサーミスタ等から成り、エンジン水温（冷却水温）ＴＷを検出して対応する温度信号を出力してＥＣＵ５に供給する。
ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１１が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１１は、エンジン１の特定の気筒の所定クランク角度位置でパルス（以下「ＣＹＬパルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣパルスを出力するＴＤＣセンサ及びＴＤＣパルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫパルス」という）を発生するＣＲＫセンサから成り、ＣＹＬパルス、ＴＤＣパルス及びＣＲＫパルスがＥＣＵ５に供給される。これらのパルスは、燃料噴射時期、点火時期等の各種タイミング制御、エンジン回転数（エンジン回転速度）ＮＥの検出に使用される。
【００２４】
排気管１３には三元触媒１４ａ及び１４ｂが１つの容器内に収容された触媒ユニット１５が設けられている。
三元触媒１４ａ及び１４ｂは、酸素蓄積能力を有し、エンジン１に供給される混合気の空燃比が理論空燃比よりリーン側に設定され、排気中の酸素濃度が比較的高い排気リーン状態では、排気中の酸素を蓄積し、逆にエンジン１に供給される混合気の空燃比が理論空燃比よりリッチ側に設定され、排気中の酸素濃度が低く、ＨＣ、ＣＯ成分が多い排気リッチ状態では、蓄積した酸素により排気中のＨＣ，ＣＯを酸化する機能を有する。
【００２５】
触媒ユニット１５の上流側には、比例型酸素濃度センサ１７（以下「ＬＡＦセンサ１７」という）が装着されており、このＬＡＦセンサ１７は排気中の酸素濃度（空燃比）にほぼ比例した電気信号を出力し、ＥＣＵ５に供給する。
三元触媒１４ａと１４ｂの間には、二値型酸素濃度センサ（以下「Ｏ２センサ」という）１８が装着されており、その検出信号はＥＣＵ５に供給される。このＯ２センサ１８は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。また三元触媒１４ａには、その温度（以下「触媒温度」という）ＴＣＡＴを検出する触媒温度センサ１９が設けられており、その検出信号はＥＣＵ５に供給される。
【００２６】
ＥＣＵ５は、各種センサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット（以下「ＣＰＵ」という）、該ＣＰＵで実行される各種演算プログラム及び演算結果等を記憶する記憶回路、前記燃料噴射弁６に駆動信号を供給する出力回路等から構成される。
【００２７】
ＥＣＵ５のＣＰＵは、上述の各種エンジンパラメータ信号に基づいて、種々のエンジン運転状態を判別するとともに、該判別されたエンジン運転状態に応じて、次式（１）を用いて、前記ＴＤＣ信号パルスに同期して開弁作動する燃料噴射弁６の燃料噴射時間ＴＯＵＴを演算する。
ＴＯＵＴ＝ＴＩＭ×ＫＣＭＤ×ＫＡＦ×Ｋ１＋Ｋ２  （１）
【００２８】
ここに、ＴＩＭは基本燃料量、具体的には燃料噴射弁６の基本燃料噴射時間であり、吸入空気流量ＧＡＩＲに応じて設定されたＴＩＭテーブルを検索して決定される。ＴＩＭテーブルは、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。
【００２９】
ＫＣＭＤは目標空燃比係数であり、通常制御中は、Ｏ２センサ１８の出力ＳＶＯ２に応じて設定される。目標空燃比係数ＫＣＭＤは、空燃比Ａ／Ｆの逆数、すなわち燃空比Ｆ／Ａに比例し、理論空燃比のとき値１．０をとるので、目標当量比ともいう。後述する触媒の劣化判定を行うときは、空燃比を理論空燃比よりリッチ側及びリーン側に交互に制御するように設定される。
【００３０】
ＫＡＦは、フィードバック制御の実行条件が成立するときは、ＬＡＦセンサ１７の検出値から算出される検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するようにＰＩＤ（比例積分微分）制御あるいは適応制御器（Self Tuning Regulator）を用いた適応制御により算出される空燃比補正係数である。
【００３１】
Ｋ１及びＫ２は夫々各種エンジンパラメータ信号に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に決定される。
【００３２】
ＥＣＵ５のＣＰＵは上述のようにして求めた燃料噴射時間ＴＯＵＴに基づいて燃料噴射弁６を開弁させる駆動信号を出力回路を介して燃料噴射弁６に供給する。また、ＥＣＵ５のＣＰＵは、以下に説明するように三元触媒１４ａの劣化判定を行う。なお、三元触媒１４ａが劣化したと判定されたときは、三元触媒１４ｂもほぼ同様に劣化していると推定され、例えば警告灯の点灯が行われる。
【００３３】
三元触媒の劣化判定は、エンジン１に供給する混合気の空燃比を理論空燃比を中心として変動させたとき（リーン運転とリッチ運転を交互に行ったとき）のＯ２センサ出力ＳＶＯ２に基づいて行われる。このようにリーン運転とリッチ運転とを交互に実行する制御を、以下「パータベーション制御」という。具体的には、正常な三元触媒は蓄積可能であるが、劣化した三元触媒は蓄積できない程度の量の酸素を三元触媒に供給するようにリーン運転を実行し、その後リッチ運転に切り換えて蓄積した酸素をほぼすべて放出するようにリッチ運転を実行する。このようなパータベーション制御を実行したとき、三元触媒が劣化していなければ、図２（ａ）に示すように、Ｏ２センサ出力ＳＶＯ２はほとんど変化しないが、三元触媒が劣化しているときは、同図（ｂ）に示すように大きく変化する。したがって、本実施形態では、この違いを検出することにより、三元触媒の劣化判定を行う。
【００３４】
図３は、三元触媒の劣化判定処理のメインルーチンのフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１０ミリ秒）毎に実行される。
ステップＳ１では、図４及び図５に示す処理を実行し、空燃比を変化させるためのパータベーション信号を生成する。具体的には、パータベーション信号の生成は、空燃比切換パラメータＫＯＳＦＢを「１」または「−１」に設定することに相当する。ステップＳ２では、図７に示す処理を実行し、空燃比切換パラメータＫＯＳＦＢに応じて、目標空燃比係数ＫＣＭＤの設定を行う。目標空燃比係数ＫＣＭＤは、通常制御中は、Ｏ２センサ１８の出力ＳＶＯ２に応じて設定されるが、三元触媒の劣化判定を行うときは、ステップＳ１で設定される、空燃比切換パラメータＫＯＳＦＢに応じて設定される。これにより、空燃比のパータベーション制御が行われる。
【００３５】
ステップＳ３では、図９及び図１０に示す処理を実行し、パータベーション制御中のＯ２センサ出力ＳＶＯ２に基づいて、三元触媒の劣化度合を示す判定パラメータＲＥＳＵＬＴを算出するとともに、判定パラメータＲＥＳＵＬＴが判定閾値ＲＳＴＴＨを超えると、三元触媒が異常と判定する。
【００３６】
図４及び図５は、図３のステップＳ１で実行されるパータベーション信号生成処理のフローチャートである。
ステップＳ１１では、ＬＡＦセンサ１７の出力に応じて算出される検出当量比ＫＡＣＴに応じて図６（ａ）に示すＯ２Ｎテーブルを検索し、排気中の酸素濃度に比例する酸素濃度パラメータＯ２Ｎを算出する。Ｏ２Ｎテーブルは、理論空燃比に相当する酸素濃度Ｏ２ＳＴ（ＫＡＣＴ＝１．０）で酸素濃度パラメータＯ２Ｎが「０」となり、ＬＡＦセンサ１７により検出される酸素濃度が、酸素濃度Ｏ２ＳＴより高いとき（空燃比が理論空燃比よりリーン側にあるとき）正の値をとり、酸素濃度Ｏ２ＳＴより低いとき（空燃比が理論空燃比よりリッチ側にあるとき）負の値をとるように設定されている。
【００３７】
ステップＳ１２では、吸入空気流量ＧＡＩＲに応じて図６（ｂ）に示すＯＳＣテーブルを検索し、劣化触媒の基準となる基準酸素量ＯＳＣ［ｇ］を算出する。ＯＳＣテーブルは、吸入空気流量ＧＡＩＲが増加するほど基準酸素量ＯＳＣが減少するように設定されている。吸入空気流量ＧＡＩＲが増加するほど、排気が三元触媒を通過する時間が短くなる一方、三元触媒における反応速度（酸素の蓄積速度）は、触媒温度、及び三元触媒に流入する排気中の酸素濃度（ａ）と三元触媒内の排気中の酸素濃度（ｂ）との差（ｂ−ａ）が一定であれば、ほぼ一定である。そのため、吸入空気流量ＧＡＩＲが増加するほど、三元触媒に蓄積可能な酸素量は減少する。したがって、ＯＳＣテーブルは、図６（ｂ）に示すように設定されている。
【００３８】
ステップＳ１３では、触媒温度ＴＣＡＴに応じて図６（ｃ）に示すＫＴＣＡＴＲテーブルを検索し、第１温度補正係数ＫＴＣＡＴＲを算出する。ＫＴＣＡＴＲテーブルは、第１温度補正係数ＫＴＣＡＴＲが負の値をとり、触媒温度ＴＣＡＴが上昇するほど第１温度補正係数ＫＴＣＡＴＲが減少する（絶対値が増加する）ように設定されている。
【００３９】
ステップＳ１４では、触媒温度ＴＣＡＴに応じて図６（ｄ）に示すＫＴＣＡＴＬテーブルを検索し、第２温度補正係数ＫＴＣＡＴＬを算出する。ＫＴＣＡＴＬテーブルは、第２温度補正係数ＫＴＣＡＴＬが正の値をとり、触媒温度ＴＣＡＴが上昇するほど第２側温度補正係数ＫＴＣＡＴＬが増加するように設定されている。
【００４０】
ステップＳ１５では、下記式（２）、（３）に基準酸素量ＯＳＣ、温度補正係数ＫＴＣＡＴＲ及びＫＴＣＡＴＬを適用し、リッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＯＢＪＬを算出する。
ＯＳＯＢＪＲ＝ＯＳＣ×ＫＴＣＡＴＲ              （２）
ＯＳＯＢＪＬ＝ＯＳＣ×ＫＴＣＡＴＬ              （３）
【００４１】
このようにして算出されるリッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＯＢＪＬは、ステップＳ１６で算出される流入酸素量ＯＳの目標値であり、空燃比を切り換える時点を決定するための閾値として、後述するステップＳ３１またはＳ３２で使用される。リーン側限界値ＯＳＯＢＪＬは、正常な三元触媒は蓄積可能であるが、劣化した三元触媒では蓄積できない程度の流入酸素量に相当し、リッチ側限界値ＯＳＯＢＪＲは、リーン側限界値ＯＳＯＢＪＬと絶対値がほぼ等しい負の値に設定される。換言すれば、リッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＯＢＪＬは、三元触媒が正常なときはＯ２センサ出力ＳＶＯ２がほとんど変化せず、三元触媒が劣化するとＯ２センサ出力ＳＶＯ２が大きく変化するように設定される。
【００４２】
ステップＳ１６では、下記式（４）に酸素濃度パラメータＯ２Ｎを適用して流入酸素流量Ｏ２を算出し、下記式（５）に流入酸素流量Ｏ２を適用して流入酸素量ＯＳを算出するとともに、空燃比切換パラメータの前回値ＫＯＳＦＢＺを今回値ＫＯＳＦＢに設定する。
Ｏ２＝Ｏ２Ｎ×ＧＡＩＲＡＶＥ                      （４）
ＯＳ＝ＯＳ＋Ｏ２                                  （５）
ここで、ＧＡＩＲＡＶＥは、吸入空気流量ＧＡＩＲの例えば６個程度のデータの移動平均値であり、式（５）の右辺のＯＳは前回算出値である。なお、移動平均値ＧＡＩＲＡＶＥの算出処理（図示せず）は、ＣＲＫパルスの発生に同期して実行される。
【００４３】
ステップＳ１７では、空燃比切換パラメータＫＯＳＦＢが「−１」であるか否かを判別し、その答が肯定（ＹＥＳ）であってリーン運転中であるときは、リセットフラグＦＲＥＳＥＴＯＳが「１」であるか否かを判別する（ステップＳ２４）。リセットフラグＦＲＥＳＥＴＯＳは、空燃比切換パラメータＫＯＳＦＢの値を変更したとき（ステップＳ３８，Ｓ４０参照）、「１」に設定される。空燃比切換パラメータＫＯＳＦＢが「−１」に変更された直後であるときは、ステップＳ２４の答は肯定（ＹＥＳ）となるので、ステップＳ２７に進み、流入酸素流量Ｏ２が正の値であるか否かを判別する。リーン運転の開始当初は、ステップＳ２７の答は否定（ＮＯ）となり、直ちにステップＳ３２（図５）に進む。リーン運転を行って排気中の酸素濃度が高くなってくると、ステップＳ２７の答が肯定（ＹＥＳ）となり、ステップＳ２８に進んで、流入酸素量ＯＳを「０」に設定するとともに、リセットフラグＦＲＥＳＥＴＯＳを「０」に戻す。その後ステップＳ３２に進む。
【００４４】
リセットフラグＦＲＥＳＥＴＯＳが「０」に戻されると、ステップＳ２４の答が否定（ＮＯ）となり、ステップＳ２５に進んで、流入酸素量ＯＳが負の値であるか否かを判別する。通常この答が否定（ＮＯ）となるので、直ちにステップＳ３２に進む。もし流入酸素量ＯＳが負の値となっているときは、「０」にリセットして（ステップＳ２６）、ステップＳ３２に進む。
【００４５】
ステップＳ３２では、流入酸素量ＯＳがリーン側限界値ＯＳＯＢＪＬより大きいか否かを判別する。リーン運転開始当初はこの答は否定（ＮＯ）となるので、ステップＳ３３に進み、Ｏ２センサ出力ＳＶＯ２が理論空燃比より若干リーン側の空燃比に相当するリーン側所定値ＳＶＯ２ＬＥＡＮより小さく、かつ下流側酸素濃度パラメータＫＯＳＬＥＡＮが「１」であるか否かを判別する（ステップＳ３３）。下流側酸素濃度パラメータＫＯＳＬＥＡＮは、Ｏ２センサ出力ＳＶＯ２がリーン空燃比を示す値であるとき「０」に設定されるパラメータである（ステップＳ３９参照）。通常はこの答が否定（ＮＯ）となるので、ステップＳ３５に進んで、Ｏ２センサ出力ＳＶＯ２が理論空燃比より若干リッチ側の空燃比に相当するリッチ側所定値ＳＶＯ２ＲＩＣＨ（＞ＳＶＯ２ＬＥＡＮ）より大きく、かつ下流側酸素濃度パラメータＫＯＳＬＥＡＮが「０」であるか否かを判別する。この答も通常は否定（ＮＯ）となるので、直ちにステップＳ４１に進む。
【００４６】
その後リーン運転を継続すると、流入酸素量ＯＳが徐々に増加していく。そして、ステップＳ３２で流入酸素量ＯＳがリーン側限界値ＯＳＯＢＪＬを超えると、ステップＳ４０に進んで、空燃比切換パラメータＫＯＳＦＢを「１」に設定するとともに、リセットフラグＦＲＥＳＥＴＯＳを「１」に設定する。これにより、リッチ運転が開始される。
【００４７】
空燃比切換パラメータＫＯＳＦＢが「−１」から「１」に変更されると、ステップＳ１７からステップＳ１９に進み、リセットフラグＦＲＥＳＥＴＯＳが「１」であるか否かを判別する。最初は、ステップＳ１９の答は肯定（ＹＥＳ）となるので、ステップＳ２２に進み、流入酸素流量Ｏ２が負の値であるか否かを判別する。リッチ運転の開始当初は、ステップＳ２２の答は否定（ＮＯ）となり、直ちにステップＳ３１（図５）に進む。リッチ運転を開始して排気中の酸素濃度が低下してくると、ステップＳ２２の答が肯定（ＹＥＳ）となり、ステップＳ２３に進んで、流入酸素量ＯＳを「０」に設定するとともに、リセットフラグＦＲＥＳＥＴＯＳを「０」に戻す。その後ステップＳ３１に進む。流入酸素量ＯＳは、以後リッチ運転中は負の値をとる。このことは、三元触媒１４ａに還元剤（ＨＣ，ＣＯ）が供給され、蓄積された酸素が還元剤の酸化に使われて減少（流出）することを意味する。
【００４８】
リセットフラグＦＲＥＳＥＴＯＳが「０」に戻されると、ステップＳ１９の答が否定（ＮＯ）となり、ステップＳ２０に進んで、流入酸素量ＯＳが正の値であるか否かを判別する。通常この答が否定（ＮＯ）となるので、直ちにステップＳ３１に進む。もし流入酸素量ＯＳが正の値となっているときは、「０」にリセットして（ステップＳ２１）、ステップＳ３１に進む。
【００４９】
ステップＳ３１では、流入酸素量ＯＳがリッチ側限界値ＯＳＯＢＪＲより小さいか否かを判別する。リッチ運転開始当初はこの答は否定（ＮＯ）となるので、前記ステップＳ３３に進む。通常はステップＳ３３及びＳ３５の答がともに否定（ＮＯ）となる。
【００５０】
その後リッチ運転を継続すると、流入酸素量ＯＳが徐々に減少していく（負の値の絶対値が増加していく）。そして、ステップＳ３１で流入酸素量ＯＳがリッチ側限界値ＯＳＯＢＪＲを下回ると、ステップＳ３８に進んで、空燃比切換パラメータＫＯＳＦＢを「−１」に設定するとともに、リセットフラグＦＲＥＳＥＴＯＳを「１」に設定する。これにより、リーン運転が開始される。
【００５１】
三元触媒１４ａの劣化が進むと、リーン運転中にステップＳ３３の答が肯定（ＹＥＳ）となることがある。そのときは、ステップＳ３３からステップＳ３９に進み、下流側酸素濃度パラメータＫＯＳＬＥＡＮを「０」に設定する。その後ステップＳ４０に進んでリッチ運転に移行する。すなわち、この場合には流入酸素量ＯＳがリーン側限界値ＯＳＯＢＪＬを超える前に、リッチ運転への切換が行われる。また、リッチ運転中にステップＳ３５の答が肯定（ＹＥＳ）となることもある。そのときは、ステップＳ３５からステップＳ３７に進み、下流側酸素濃度パラメータＫＯＳＬＥＡＮを「１」に設定する。その後ステップＳ３８に進んでリーン運転に移行する。すなわち、この場合には流入酸素量ＯＳがリッチ側限界値ＯＳＯＢＪＲを下回る前に、リーン運転への切換が行われる。
【００５２】
Ｏ２センサ出力ＳＶＯ２に加えて下流側酸素濃度パラメータＫＯＳＬＥＡＮを用いて判定を行うのは、ヒステリシスによって制御のハンチングを防止するためである。
ステップＳ３３，Ｓ３５，Ｓ３７，及びＳ３９により、三元触媒１４ａが劣化し、流入酸素量ＯＳが限界値ＯＳＯＢＪＬまたはＯＳＯＢＪＲを超える前にＯ２センサ出力ＳＶＯ２が変化した場合でも、排気特性を悪化させることを防止できる。
【００５３】
ステップＳ４１では、触媒温度ＴＣＡＴに応じて図６（ｅ）に示すＫＴＣＡＴＤテーブルを検索し、第３温度補正係数ＫＴＣＡＴＤを算出する。ＫＴＣＡＴＤテーブルは、ＫＴＣＡＴＬテーブルと同様に、触媒温度ＴＣＡＴが上昇するほど、第３温度補正係数ＫＴＣＡＴＤが増加し、かつ同一の触媒温度ＴＣＡＴでは、第２温度補正係数ＫＴＣＡＴＬより大きな値となるように設定されている。
【００５４】
ステップＳ４２では、下記式（６）に第３温度補正係数及びステップＳ１２で算出される基準酸素量ＯＳＣを適用し、禁止判定閾値ＯＳＤＩＳＡＢＬＥを算出する。
ＯＳＤＩＳＡＢＬＥ＝ＯＳＣ×ＫＴＣＡＴＤ              （６）
【００５５】
ステップＳ４３では、流入酸素量ＯＳの絶対値が禁止判定閾値ＯＳＤＩＳＡＢＬＥより大きいか否かを判別し、その答が肯定（ＹＥＳ）であるときは、禁止フラグＦＤＩＳＡＢＬＥＯＳを「１」に設定する（ステップＳ４５）。｜ＯＳ｜≦ＯＳＤＩＳＡＢＬＥであるときは、禁止フラグＦＤＩＳＡＢＬＥＯＳを「０」に設定する（ステップＳ４４）。禁止フラグＦＤＩＳＡＢＬＥＯＳが「１」に設定されると、触媒の劣化判定が中止される（図９，ステップＳ７１参照）。
【００５６】
例えば、スロットル弁開度が急激に変化したときに空燃比制御が吸入空気量の変化に迅速に追従できなかったような場合に、流入酸素量ＯＳの絶対値が異常に大きくなる可能性がある。そのような場合には、正確な劣化判定を行うことができないため、劣化判定を禁止することにより、判定精度の低下を防止することができる。
【００５７】
図７は、図３のステップＳ２で実行されるＫＣＭＤ算出処理のフローチャートである。
ステップＳ５１では、空燃比のパータベーションを実行しているか否かを判別し、その答が肯定（ＹＥＳ）であるときは、図４及び図５の処理で設定される空燃比切換パラメータＫＯＳＦＢが、その前回値ＫＯＳＦＢＺと等しいか否かを判別する（ステップＳ５２）。
【００５８】
ステップＳ５１またはＳ５２の答が否定（ＮＯ）であって、パータベーションを実行していないとき、または空燃比切換パラメータＫＯＳＦＢの値が変化したときは、目標空燃比係数ＫＣＭＤを「１．０」に設定し（ステップＳ５３）、ステップＳ５４に進む。ＫＯＳＦＢ＝ＫＯＳＦＢＺであるときは、直ちにステップＳ５４に進む。
【００５９】
ステップＳ５４では、空燃比切換パラメータＫＯＳＦＢが「１」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、下記式（７）により目標空燃比係数ＫＣＭＤを更新する（ステップＳ５５）。
ＫＣＭＤ＝ＫＣＭＤ＋ΔＫＣＭＤ                    （７）
ここで、ΔＫＣＭＤは、所定更新値であり、例えば０．０００２に設定される。
【００６０】
空燃比切換パラメータＫＯＳＦＢが「１」であるときは、ステップＳ５５を繰り返し実行することにより、目標空燃比係数ＫＣＭＤは「１．０」から徐々に増加していく。すなわち空燃比が徐々にリッチ方向に変化する。
ステップＳ５４でＫＯＳＦＢ＝−１であるときは、下記式（８）により目標空燃比係数ＫＣＭＤを更新する（ステップＳ５６）。
ＫＣＭＤ＝ＫＣＭＤ−ΔＫＣＭＤ                    （８）
【００６１】
したがって、空燃比切換パラメータＫＯＳＦＢが「−１」であるときは、ステップＳ５６を繰り返し実行することにより、目標空燃比係数ＫＣＭＤは「１．０」から徐々に減少していく。すなわち空燃比が徐々にリーン方向に変化する。
【００６２】
ステップＳ５７〜Ｓ６０では、算出された目標空燃比係数ＫＣＭＤのリミット処理を行う。すなわち、目標空燃比係数ＫＣＭＤが上限値ＫＣＭＤＨ（例えば１．０３）より大きいときは、目標空燃比係数ＫＣＭＤを上限値ＫＣＭＤＨに設定し（ステップＳ５７，Ｓ５８）、目標空燃比係数ＫＣＭＤが下限値ＫＣＭＤＬ（例えば０．９７）より小さいときは、目標空燃比係数ＫＣＭＤを下限値ＫＣＭＤＬに設定する（ステップＳ５９，Ｓ６０）。
【００６３】
図７の処理により、目標空燃比係数ＫＣＭＤは、図８に示すように、空燃比切換パラメータＫＯＳＦＢの値（同図（ａ））に応じて、同図（ｂ）に示すように変化する。
【００６４】
図９及び図１０は、図３のステップＳ３で実行される劣化判定処理のフローチャートである。
ステップＳ７１では、禁止フラグＦＤＩＳＡＢＬＥＯＳが「１」であるか否かを判別する。この答が否定（ＮＯ）であるときは、空燃比のパータベーション実行中であるか否かを判別する（ステップＳ７２）。ステップＳ７１の答が肯定（ＹＥＳ）またはステップＳ７２の答が否定（ＮＯ）であるときは、Ｏ２センサ出力ＳＶＯ２の最大値ＳＶＯ２ＭＡＸを「０」に設定するとともに、最小値ＳＶＯ２ＭＩＮを「１５００」に設定し（ステップＳ７３）、直ちに本処理を終了する。
【００６５】
ステップＳ７２の答が肯定（ＹＥＳ）、すなわち空燃比のパータベーションを実行しているときは、空燃比切換パラメータＫＯＳＦＢが前回値ＫＯＳＦＢＺと等しいか否かを判別する（ステップＳ７４）。ＫＯＳＦＢ＝ＫＯＳＦＢＺであるときは、下記式（９）及び（１０）により、最大値ＳＶＯ２ＭＡＸ及び最小値ＳＶＯ２ＭＩＮを更新する。式（９）の右辺は、前回までに算出された最大値ＳＶＯ２ＭＡＸと、今回のＯ２センサ出力ＳＶＯ２のうち大きい方を選択する演算であり、式（１０）の右辺は、前回までに算出された最小値ＳＶＯ２ＭＩＮと、今回のＯ２センサ出力ＳＶＯ２のうち小さい方を選択する演算である。ステップＳ７５を実行した後は、ステップＳ８９に進む。
ＳＶＯ２ＭＡＸ＝ｍａｘ（ＳＶＯ２ＭＡＸ，ＳＶＯ２）          （９）
ＳＶＯ２ＭＩＮ＝ｍｉｎ（ＳＶＯ２ＭＩＮ，ＳＶＯ２）          （１０）
【００６６】
ステップＳ７４の答が否定（ＮＯ）、すなわち空燃比切換パラメータＫＯＳＦＢが変更された直後であるときは、最大値ＳＶＯ２ＭＡＸまたは最小値ＳＶＯ２ＭＩＮの第２記憶値ＳＶＯ２ＬＰ２を、第１記憶値ＳＶＯ２ＬＰ１に設定する（ステップＳ７６）。第１記憶値ＳＶＯ２ＬＰ１は、前回の空燃比切換直後にステップＳ７８またはＳ８０で最大値ＳＶＯ２ＭＡＸまたは最小値ＳＶＯ２ＭＩＮに設定されている。
【００６７】
ステップＳ７７では、空燃比切換パラメータＫＯＳＦＢが「１」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、第１記憶値ＳＶＯ２ＬＰ１をそのときの最大値ＳＶＯ２ＭＡＸに設定するとともに、最大値ＳＶＯ２ＭＡＸを「０」にリセットする（ステップＳ７８）。空燃比切換パラメータＫＯＳＦＢが「−１」であるときは、ステップＳ７７の答は否定（ＮＯ）となるので、直ちにステップＳ７９に進む。
【００６８】
ステップＳ７９では、空燃比切換パラメータＫＯＳＦＢが「−１」であるか否かを判別する。空燃比切換パラメータＫＯＳＦＢが「−１」であるときは、ステップＳ８０に進み、第１記憶値ＳＶＯ２ＬＰ１をそのときの最小値ＳＶＯ２ＭＩＮに設定するとともに、最小値ＳＶＯ２ＭＩＮを「１５００」にリセットする（ステップＳ７８）。空燃比切換パラメータＫＯＳＦＢが「１」であるときは、ステップＳ７９の答は否定（ＮＯ）となるので、直ちにステップＳ８１に進む。
【００６９】
ステップＳ８１では、最大値ＳＶＯ２ＭＡＸと最小値ＳＶＯ２ＭＩＮの差分を示す第３差分パラメータＳＶＯ２Ｄ３を第２差分パラメータＳＶＯ２Ｄ２に設定するとともに、第２差分パラメータＳＶＯ２Ｄ２を第１差分パラメータＳＶＯ２Ｄ１に設定する。そして、ステップＳ８２〜Ｓ８７により、第１差分パラメータＳＶＯ２Ｄ１の更新を行う。
【００７０】
ステップＳ８２では、第２記憶値ＳＶＯ２ＬＰ２が、理論空燃比に相当する所定値ＳＶＯ２ＯＢＪより大きく、かつ第１記憶値ＳＶＯ２ＬＰ１が所定値ＳＶＯ２ＯＢＪより小さいか否かを判別する。この答が否定（ＮＯ）であるときは、さらに第２記憶値ＳＶＯ２ＬＰ２が所定値ＳＶＯ２ＯＢＪより小さく、かつ第１記憶値ＳＶＯ２ＬＰ１が所定値ＳＶＯ２ＯＢＪより大きいか否かを判別する（ステップＳ８４）。ステップＳ８２及びＳ８４の答がともに否定（ＮＯ）であるとき、すなわち、第１及び第２記憶値ＳＶＯ２ＬＰ１，ＳＶＯ２ＬＰ２がともに所定値ＳＶＯ２ＯＢＪより小さいとき、または第１及び第２記憶値ＳＶＯ２ＬＰ１，ＳＶＯ２ＬＰ２がともに所定値ＳＶＯ２ＯＢＪより大きいときは、Ｏ２センサ出力ＳＶＯ２がほとんど変化していないことを示す。したがって、第１差分パラメータＳＶＯ２Ｄ１を「０」に設定し（ステップＳ８７）、ステップＳ８８に進む。
【００７１】
ステップＳ８２またはＳ８４の答が肯定（ＹＥＳ）であるとき、すなわち連続する空燃比切換時点における最大値ＳＶＯ２ＭＡＸが所定値ＳＶＯ２ＯＢＪより大きくかつ最小値ＳＶＯ２ＭＩＮが所定値ＳＶＯ２ＯＢＪより小さいときは、下記式（１１）に第１記憶値ＳＶＯ２ＬＰ１及び第２記憶値ＳＶＯ２ＬＰ２を適用し、第１差分パラメータＳＶＯ２Ｄ１を算出する（ステップＳ８６）。その後、ステップＳ８８に進む。
ＳＶＯ２Ｄ１＝｜ＳＶＯ２ＬＰ１−ＳＶＯ２ＬＰ２｜            （１１）
【００７２】
ステップＳ８８では下記式（１２）により、第１〜第３差分パラメータＳＶＯ２Ｄ１，ＳＶＯ２Ｄ２，ＳＶＯ２Ｄ３の最小値として、最小差分値ＳＶＯ２Ｄを算出し、さらに下記式（１３）により、最小差分値ＳＶＯ２Ｄを積算して判定パラメータＲＥＳＵＬＴを算出するとともに、カウンタＣＲＥＳＵＬＴを「１」だけインクリメントする。判定パラメータＲＥＳＵＬＴが、三元触媒１４ａの劣化度合を示す。
ＳＶＯ２Ｄ＝ｍｉｎ（ＳＶＯ２Ｄ１，ＳＶＯ２Ｄ２，ＳＶＯ２Ｄ３）
（１２）
ＲＥＳＵＬＴ＝ＲＥＳＵＬＴ＋ＳＶＯ２Ｄ                      （１３）
【００７３】
差分パラメータＳＶＯ２Ｄ１が３回以上連続して大きな値をとらない限り、最小差分値ＳＶＯ２Ｄは比較的小さな値となる。したがって連続する３つのサンプリング時点における差分パラメータＳＶＯ２Ｄ１，ＳＶＯ２Ｄ２，ＳＶＯ２Ｄ３の最小値である最小差分値ＳＶＯ２Ｄを用いることにより、Ｏ２センサ出力ＳＶＯ２の一時的な変動の影響を排除して、正確な判定パラメータＲＥＳＵＬＴを得ることができる。
【００７４】
ステップＳ８９では、カウンタＣＲＥＳＵＬＴの値が所定回数ＣＲＳＴ０（例えば６）より大きいか否かを判別し、この答が否定（ＮＯ）であるときは直ちに本処理を終了する。ステップＳ８９でカウンタＣＲＥＳＵＬＴの値が所定回数ＣＲＳＴ０を超えると、ステップＳ９０に進み、判定パラメータＲＥＳＵＬＴが劣化判定閾値ＲＳＴＴＨより大きいか否かを判別する。この答が否定（ＮＯ）であるときは、三元触媒１４ａは正常と判定する（ステップＳ９２）。判定パラメータＲＥＳＵＬＴが劣化判定閾値ＲＳＴＴＨを超えているときは、三元触媒１４ａは異常と判定する（ステップＳ９１）。異常と判定したときは、例えば警告灯を点灯させる。
【００７５】
判定パラメータＲＥＳＵＬＴは、Ｏ２センサ出力ＳＶＯ２が図２（ａ）に示すように推移するとき、すなわち三元触媒１４ａの正常時はほぼゼロとなる一方、Ｏ２センサ出力ＳＶＯ２が図２（ｂ）に示すように推移するとき、すなわち三元触媒１４ａの劣化時は大きな値となるので、判定パラメータＲＥＳＵＬＴにより、三元触媒１４ａの劣化度合を正確に検出することができる。
【００７６】
以上詳述したように本実施形態では、ＬＡＦセンサ１７出力に応じて算出される酸素濃度パラメータＯ２Ｎ、及び吸入空気流量センサ７により検出される吸入空気流量ＧＡＩＲに応じて三元触媒１４ａに流入する酸素量ＯＳが算出され、該流入酸素量ＯＳと、リッチ側限界値ＯＳＯＢＪＲまたはリーン側限界値ＯＳＯＢＪＬとの比較結果に応じて、空燃比を理論空燃比よりリーン側及びリッチ側に交互に制御するパータベーション制御が実行される。そして、パータベーション制御実行中のＯ２センサ出力ＳＶＯ２に基づいて、三元触媒１４ａの劣化度合を示す判定パラメータＲＥＳＵＬＴが算出される。流入酸素量ＯＳの目標値であるリッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＯＢＪＬは、三元触媒が正常であるときはＯ２センサ出力ＳＶＯ２がほとんど変化せず、三元触媒が劣化するとＯ２センサ出力ＳＶＯ２が大きく変化するように設定されるので、三元触媒が正常な状態では排気特性を全く悪化させることがなく、三元触媒が劣化し始めた時点で排気特性をほとんど悪化させることなく、迅速に劣化度合を検出することが可能となる。
【００７７】
また、三元触媒１４ａに蓄積可能な酸素量は吸入空気流量ＧＡＩＲに依存して変化する（吸入空気流量ＧＡＩＲが増加するほど減少する）ので、リッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＯＢＪＬを吸入空気流量ＧＡＩＲが増加するほど減少するように設定することにより、適切な目標値設定を行い、排気特性の悪化を抑制することができる。
【００７８】
また三元触媒１４ａに蓄積可能な酸素量は、触媒温度ＴＣＡＴに依存して変化するので、温度補正係数ＫＴＣＡＴＲ及びＫＴＣＡＴＬによる補正を行うことにより、空燃比の切換時期が適切なものとなり、触媒の劣化度合を正確に検出するとともに、排気特性の悪化を確実に防止することができる。
【００７９】
さらにＯ２センサ１８の下流側にも三元触媒１４ｂが設けられているので、三元触媒１４ａが劣化したときにＨＣやＮＯｘが排出されることを防止し、良好な排気特性を維持することができる。
【００８０】
本実施形態では、吸入空気流量センサ７、ＬＡＦセンサ１７、及びＯ２センサ１８が、それぞれ吸入空気流量検出手段、第１酸素濃度センサ、及び第２酸素濃度センサに相当する。また、ＥＣＵ５が流入酸素量算出手段、空燃比切換制御手段、劣化検出手段、及び禁止手段を構成する。具体的には、図４のステップＳ１１及びＳ１６が流入酸素量算出手段に相当し、図４のステップＳ１２〜Ｓ１５，Ｓ１７〜Ｓ２８，及び図５のステップＳ３１〜Ｓ４０、並びに図７の処理が空燃比切換制御手段に相当し、図９のステップＳ７２〜Ｓ８１、及び図１０のステップＳ８２〜Ｓ９２が劣化検出手段に相当し、図５のステップＳ４１〜４５、及び図９のステップＳ７１が禁止手段に相当する。
【００８１】
［第２の実施形態］
本実施形態は、第１の実施形態に示した触媒劣化判定処理をさらに改良したものである。なお、以下に説明する点以外は、第１の実施形態と同一である。
１）エンジン１への燃料供給を遮断するフュエルカット運転中に、ＬＡＦセンサ１７の出力特性の変化を示す特性変化パラメータであるフュエルカット出力ＶＬＡＦＦＣを検出し、フュエルカット出力ＶＬＡＦＦＣに応じてＬＡＦセンサ出力ＶＬＡＦの補正を行う。
２）目標当量比ＫＣＭＤの所定更新値ΔＫＣＭＤに代えて、リッチ側更新値ΔＫＣＭＤＲ及びリーン側更新値ΔＫＣＭＤＬを用い、リッチ側更新値ΔＫＣＭＤＲを吸入空気流量ＧＡＩＲ及びリッチ側限界値ＯＳＯＢＪＲに応じて設定し、リーン側更新値ΔＫＣＭＤＬを吸入空気流量ＧＡＩＲ及びリーン側限界値ＯＳＯＢＪＬに応じて設定する。
【００８２】
図１１は、本実施形態における三元触媒劣化判定処理のメインルーチンのフローチャートである。この処理は、ＥＣＵ５のＣＰＵで所定時間（例えば１０ミリ秒）毎に実行される。
【００８３】
ステップＳ１０１では、図１３に示すＬＡＦセンサ出力補正処理を実行し、ＬＡＦセンサ１７の出力特性変化に応じたセンサ出力ＶＬＡＦの補正を行う。ステップＳ１０２では、図１６に示すＦＭＣＮＤ算出処理を実行し、劣化判定実行条件が成立しているとき、判定許可フラグＦＭＣＮＤを「１」に設定する。
【００８４】
ステップＳ１０３では、判定許可フラグＦＭＣＮＤが「１」であるか否かを判別し、その答が否定（ＮＯ）であるときは直ちに本処理を終了する。ＦＭＣＮＤ＝１であるときは、パータベーション信号生成処理（ステップＳ１０４）、ＫＣＭＤ算出処理（Ｓ１０５）、及び劣化判定処理（Ｓ１０６）を順次実行する。
【００８５】
ステップＳ１０４のパータベーション信号生成処理及びステップＳ１０６の劣化判定処理は、第１の実施形態の図４，図５及び図９，図１０の処理と同一である。ステップＳ１０５では、図１７に示すＫＣＭＤ算出処理を実行する。
【００８６】
図１２は、ＬＡＦセンサ１７の出力特性、すなわち空燃比Ａ／Ｆと、ＬＡＦセンサ出力ＶＬＡＦとの関係の経時変化を説明するための図である。同図の実線Ｌ１が初期状態における平均的な特性を示し、破線Ｌ２が傾きが増加する方向に変化した例を示し、破線Ｌ３が傾きが減少する方向に変化した例を示す。後述する補正演算により、破線Ｌ２またはＬ３で示す特性が、実線Ｌ１で示す特性となるように、ＬＡＦセンサ出力ＶＬＡＦが補正される。
【００８７】
図１３は、図１１のステップＳ１０１で実行されるＬＡＦセンサ出力補正処理のフローチャートである。
ステップＳ１２１では、補正終了フラグＦＶＬＥＮＤが「１」であるか否かを判別する。補正終了フラグＦＶＬＥＮＤは、補正が完了したときステップＳ１３１で「１」に設定される。したがって、最初はステップＳ１２１の答は否定（ＮＯ）となり、エンジン１のフュエルカット運転中であるか否かを判別する。フュエルカット運転中でないときは、アップカウントタイマＴＭＦＣの値を「０」に設定し（ステップＳ１２３）、直ちにステップＳ１３２に進む。
【００８８】
フュエルカット運転中であるときは、タイマＴＭＦＣの値が所定待機時間ＴＤＬＹ（例えば３秒）以上であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１２５に進み、アップカウントタイマＴＭＤＥＴの値を「０」に設定するとともに、ＬＡＦセンサ出力ＶＬＡＦの積算値ＶＬＡＦＩ及びカウンタＣＤＥＴの値を「０」に設定する。その後ステップＳ１３２に進む。
【００８９】
ステップＳ１２４の答が肯定（ＹＥＳ）となると、ステップＳ１２６に進み、タイマＴＭＤＥＴの値が所定検出時間ＴＤＥＴ（例えば２．５秒）以上であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ステップＳ１２７に進み、カウンタＣＤＥＴを「１」だけインクリメントするとともに、下記式（２１）により、積算値ＶＬＡＦＩを算出する。その後ステップＳ１３２に進む。
ＶＬＡＦＩ＝ＶＬＡＦＩ＋ＶＬＡＦ                    （２１）
ここで、右辺のＶＬＡＦＩは前回算出値である。
【００９０】
ステップＳ１２６の答が肯定（ＹＥＳ）となると、ステップＳ１２８に進み、下記式（２２）により、所定検出時間ＴＤＥＴ内に検出されたＬＡＦセンサ出力の平均値であるフュエルカット出力ＶＬＡＦＦＣを算出する。すなわち、フュエルカット出力ＶＬＡＦＦＣは、図１４に示すように、フュエルカット運転を開始した時刻ｔ０（フラグＦＦＣが「０」から「１」に変化した時点）から所定待機時間ＴＤＬＹ経過後の時刻ｔ１から時刻ｔ２までの検出期間中におけるＬＡＦセンサ出力ＶＬＡＦの平均値に相当する。
ＶＬＡＦＦＣ＝ＶＬＡＦＩ／ＣＤＥＴ                （２２）
【００９１】
図１４の実線Ｌ１１、破線Ｌ１２及びＬ１３は、それぞれ図１２の実線Ｌ１、破線Ｌ２及びＬ３に対応する。すなわち、実線Ｌ１１は平均的な特性を示し、破線Ｌ１２は、出力特性を示す直線の傾きが増加する方向に変化した例に対応し、破線Ｌ１３は、傾きが減少する方向に変化した例に対応する。
【００９２】
図１３のステップＳ１２９では、フュエルカット出力ＶＬＡＦＦＣに応じて図１５に示すＫＶＬＦＦＣテーブルを検索し、傾き補正係数ＫＶＬＦＦＣを算出する。ＫＶＬＦＦＣテーブルは、フュエルカット出力ＶＬＡＦＦＣが高くなるほど傾き補正係数ＫＶＬＦＦＣが減少するように設定されている。
【００９３】
ステップＳ１３１では、補正終了フラグＦＶＬＥＮＤを「１」に設定し、その後本処理を終了する。補正終了フラグＦＶＬＥＮＤが「１」に設定された後は、ステップＳ１２１の答が肯定（ＹＥＳ）となり、ステップＳ１２３を経由してステップＳ１３２に進む。
【００９４】
ステップＳ１３２では、ステップＳ１２９で算出されたＬＡＦセンサ出力ＶＬＡＦ及び傾き補正係数ＫＶＬＦＦＣを下記式（２３）の右辺に適用し、補正ＬＡＦセンサ出力ＶＬＡＦＣＲを算出する。なお、ステップＳ１２９が実行される前は、傾き補正係数ＫＶＬＦＦＣは「１．０」に初期化されている。
ＶＬＡＦＣＲ＝（ＶＬＡＦ−ＶＣＮＴ）×ＫＶＬＦＦＣ＋ＶＣＮＴ  （２３）
ここで、ＶＣＮＴは図１２に示すように理論空燃比ＡＦＳＴに対応するＬＡＦセンサ出力である。
【００９５】
式（２３）による補正によって、図１２に破線Ｌ２，Ｌ３で示す出力特性が、実線Ｌ１で示す特性に補正される。
【００９６】
したがって、本実施形態では、図１１のステップＳ１０４のパータべーション信号生成処理で使用される酸素濃度パラメータＯ２Ｎは、補正ＬＡＦセンサ出力ＶＬＡＦＣＲを用いて算出される。
【００９７】
図１６は、図１１のステップＳ１０２で実行されるＦＭＣＮＤ算出処理のフローチャートである。
ステップＳ１１１では、補正終了フラグＦＶＬＥＮＤが「１」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、吸入空気流量ＧＡＩＲが所定下限値ＧＡＩＲＬＭＬ（例えば８［ｇ／ｓｅｃ］）より大きく、かつ所定上限値ＧＡＩＲＬＭＨ（例えば１６［ｇ／ｓｅｃ］）より小さいか否かを判別する（ステップＳ１１２）。この答が肯定（ＹＥＳ）であるときは、吸入空気流量ＧＡＩＲの変化量ＤＧＡＩＲ（例えば吸入空気流量ＧＡＩＲの現在値と、５００ミリ秒前の検出値との差）が所定上限変化量ＤＧＡＩＲＬＭＨ（例えば３［ｇ／ｓｅｃ］）より小さいか否かを判別する（ステップＳ１１３）。この答が肯定（ＹＥＳ）であるときは、さらに触媒温度ＴＣＡＴが所定下限温度ＴＣＡＴＬＭＬ（例えば３００℃）以上であるか否かを判別する（ステップＳ１１４）。
【００９８】
ステップＳ１１４の答が肯定（ＹＥＳ）であるときは、触媒劣化判定の実行を許可すべく、判定許可フラグＦＭＣＮＤを「１」に設定する。一方、ステップＳ１１１〜Ｓ１１４の何れかの答が否定（ＮＯ）であるときは、判定許可フラグＦＭＣＮＤを「０」に設定し、触媒劣化判定を実行しない。
【００９９】
図１７は、図１１のステップＳ１０５で実行されるＫＣＭＤ算出処理のフローチャートである。
この処理のステップＳ１５１〜１５３は、図７のステップＳ５１〜Ｓ５３と同一であり、ステップＳ１５５、Ｓ１６２〜Ｓ１６５は、図７のステップＳ５４，Ｓ５７〜Ｓ６０と同一である。以下、異なる点のみ説明する。
【０１００】
ステップＳ１５４では、吸入空気流量ＧＡＩＲに応じて図１８（ａ）に示すＳＴＥＰ６７テーブルを検索し、基本更新値ＳＴＥＰ６７を算出する。ＳＴＥＰ６７テーブルは、吸入空気流量ＧＡＩＲが増加するほど基本更新値ＳＴＥＰ６７が減少するように設定されている。図１８（ａ）の流量ＧＡＩＲ１，ＧＡＩＲ２は、それぞれ例えば１０［ｇ／ｓｅｃ］，２０［ｇ／ｓｅｃ］に設定され、更新値ＳＴＥＰＸ１，ＳＴＥＰＸ２は、それぞれ例えば０．００１，０．００２に設定される。
【０１０１】
空燃比切換パラメータＫＯＳＦＢが「１」であるときは、ステップＳ１５５からステップＳ１５６に進み、リッチ側限界値ＯＳＯＢＪＲの絶対値に応じて図１８（ｂ）に示すＫＳＴＥＰ６７テーブルを検索し、ステップ補正係数ＫＳＴＥＰ６７を算出する。ＫＳＴＥＰ６７テーブルは、リッチ側限界値ＯＳＯＢＪＲの絶対値またはリーン側限界値ＯＳＯＢＪＬが増加するほど、ステップ補正係数ＫＳＴＥＰ６７が増加するように設定されている。図１８（ｂ）において、酸素量ＯＳＣ１及びＯＳＣ２は、それぞれ例えば１０及び２０に設定され、係数値ＫＳＴＥＰ１及びＫＳＴＥＰ２は、それぞれ１．０及び２．０に設定されている。
【０１０２】
ステップＳ１５７では、ステップ補正係数ＫＳＴＥＰ６７及び基本更新値ＳＴＥＰ６７を下記式（２４）に適用し、リッチ側更新値ΔＫＣＭＤＲを算出する。そして、ステップＳ１５８では、算出されたリッチ側更新値ΔＫＣＭＤＲを下記式（２５）に適用して、目標空燃比係数ＫＣＭＤの更新を行う。
ΔＫＣＭＤＲ＝ＫＳＴＥＰ６７×ＳＴＥＰ６７            （２４）
ＫＣＭＤ＝ＫＣＭＤ＋ΔＫＣＭＤＲ                      （２５）
【０１０３】
一方、空燃比切換パラメータＫＯＳＦＢが「−１」であるときは、ステップＳ１５５からステップＳ１５９に進み、リーン側限界値ＯＳＯＢＪＬに応じて図１８（ｂ）に示すＫＳＴＥＰ６７テーブルを検索し、ステップ補正係数ＫＳＴＥＰ６７を算出する。
【０１０４】
ステップＳ１６０では、ステップ補正係数ＫＳＴＥＰ６７及び基本更新値ＳＴＥＰ６７を下記式（２６）に適用し、リーン側更新値ΔＫＣＭＤＬを算出する。そして、ステップＳ１６１では、算出されたリーン側更新値ΔＫＣＭＤＬを下記式（２７）に適用して、目標空燃比係数ＫＣＭＤの更新を行う。
ΔＫＣＭＤＬ＝ＫＳＴＥＰ６７×ＳＴＥＰ６７            （２６）
ＫＣＭＤ＝ＫＣＭＤ−ΔＫＣＭＤＬ                      （２７）
【０１０５】
図１７の処理によれば、目標空燃比係数ＫＣＭＤを漸増または漸減するときの更新速度に相当するパラメータである更新値ΔＫＣＭＤＲ及びΔＫＣＭＤＬが、吸入空気流量ＧＡＩＲが大きいほど小さくなるように、またリッチ側限界値ＯＳＯＢＪＲ及びリーン側限界値ＯＳＢＪＬが、大きくなるほど大きくなるように設定されるので、吸入空気流量が大きい高負荷運転時は、目標空燃比係数ＫＣＭＤの更新速度が低下し、Ｏ２センサ１８の応答特性劣化の影響を軽減し、正確な触媒劣化判定が可能となる。一方、吸入空気流量が小さい低負荷運転時は、目標空燃比係数ＫＣＭＤの更新速度が高められるので、触媒劣化判定に要する時間を短縮することができる。
【０１０６】
また本実施形態では、ＬＡＦセンサ１８の出力特性（空燃比Ａ／Ｆと、センサ出力ＶＬＡＦとの関係を示す直線の傾き）の経時変化を補正する処理（図１３）が行われるので、ＬＡＦセンサ１８の出力特性の経時変化の影響を受けることなく、三元触媒１４ａに流入する酸素量の算出精度を維持し、正確な触媒劣化判定を行うことができる。
【０１０７】
本実施形態では、図１７の処理が空燃比切換制御手段の一部に相当し、図１３のステップＳ１２２〜Ｓ１２８が特性変化検出手段に相当し、同図のステップＳ１２９，Ｓ１３０が補正手段に相当する。
【０１０８】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、三元触媒１４ａ及び１４ｂが１つの容器に格納されているが、別体に構成されていてもよい。また、Ｏ２センサ１８の下流側に三元触媒が設けられていない場合であっても、本発明の適用は可能であり、従来技術と比較して、劣化判定実行時の排気特性の悪化をより軽減することができる。
【０１０９】
またＬＡＦセンサ１８の応答特性の劣化を判定し、劣化度合が大きくなったときには、センサ出力ＶＬＡＦに対して応答劣化を補償する演算をおこない、該補償後のセンサ出力を用いて触媒劣化判定を行うようにしてもよい。その場合には、図１６のＦＭＣＮＤ算出処理では、応答劣化補償が完了したことを劣化判定実行条件に追加して、判定許可フラグＦＭＣＮＤの設定を行う。
【０１１０】
また本発明は、クランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの排気系に装着される排気浄化用触媒の劣化判定にも適用が可能である。
【図面の簡単な説明】
【０１１１】
【図１】本発明の一実施形態にかかる触媒劣化検出装置を含む、内燃機関及びその制御装置の構成を示す図である。
【図２】触媒の劣化検出手法を説明するための図である。
【図３】触媒劣化検出を行うメインルーチンのフローチャートである。
【図４】図３の処理で実行されるパータベーション信号生成処理のフローチャートである。
【図５】図３の処理で実行されるパータベーション信号生成処理のフローチャートである。
【図６】図４または図５の処理で参照されるテーブルを示す図である。
【図７】図３の処理で実行されるＫＣＭＤ算出処理のフローチャートである。
【図８】図７の処理を説明するためのタイムチャートである。
【図９】図３の処理で実行される劣化判定処理のフローチャートである。
【図１０】図３の処理で実行される劣化判定処理のフローチャートである。
【図１１】本発明の第２の実施形態にかかる劣化判定処理のメインルーチンのフローチャートである。
【図１２】比例型酸素濃度センサの出力特性の経時変化を説明するための図である。
【図１３】図１１の処理で実行される、比例型酸素濃度センサの出力を補正する処理のフローチャートである。
【図１４】比例型酸素濃度センサの出力特性の変化を示すパラメータ（ＶＬＡＦＦＣ）の算出手法を説明するためのタイムチャートである。
【図１５】図１３の処理で参照されるテーブルを示す図である。
【図１６】図１１の処理で実行されるＦＭＣＮＤ算出処理のフローチャートである。
【図１７】図１１の処理で実行されるＫＣＭＤ算出処理のフローチャートである。
【図１８】図１７の処理で参照されるテーブルを示す図である。
【符号の説明】
【０１１２】
１  内燃機関
５  電子制御ユニット（流入酸素量算出手段、空燃比切換制御手段、劣化検出手段、禁止手段、特性変化検出手段）
６  燃料噴射弁
７  吸入空気流量センサ（吸入空気量検出手段）
１７  比例型酸素濃度センサ（第１酸素濃度センサ）
１８  二値型酸素濃度センサ（第２酸素濃度センサ）
【図１】
2007285288.tif 000003
【図２】
2007285288.tif 000004
【図３】
2007285288.tif 000005
【図４】
2007285288.tif 000006
【図５】
2007285288.tif 000007
【図６】
2007285288.tif 000008
【図７】
2007285288.tif 000009
【図８】
2007285288.tif 000010
【図９】
2007285288.tif 000011
【図１０】
2007285288.tif 000012
【図１１】
2007285288.tif 000013
【図１２】
2007285288.tif 000014
【図１３】
2007285288.tif 000015
【図１４】
2007285288.tif 000016
【図１５】
2007285288.tif 000017
【図１６】
2007285288.tif 000018
【図１７】
2007285288.tif 000019
【図１８】
2007285288.tif 000020