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