以下、図面を参照しながら、本発明の好ましい実施形態について説明する。図1は、第1実施形態による触媒の劣化判定装置1、およびこれを適用した内燃機関3を示している。この内燃機関(以下「エンジン」という)3は、車両(図示せず)に搭載されたディーゼルエンジンである。
エンジン3のシリンダヘッド3aには、吸気管4および排気管5が接続されるとともに、燃料噴射弁(以下「インジェクタ」という)6が、燃焼室3bに臨むように取り付けられている。このインジェクタ6は、燃焼室3bの天壁の中央に配置されており、燃料タンク(図示せず)の燃料を燃焼室3bに噴射する。インジェクタ6の燃料噴射量QINJは、後述するECU2によって設定され、ECU2からの駆動信号により、インジェクタ6の開弁時間が制御されることによって、制御される。
エンジン3には、クランク角センサ10が設けられている。クランク角センサ10は、クランクシャフト3cの回転に伴い、パルス信号であるCRK信号をECU2に出力する。CRK信号は、所定のクランク角(例えば30゜)ごとに出力される。ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。
吸気管4には、上流側から順に、エアフローセンサ11およびスロットル弁8が設けられている。スロットル弁8は、吸気管4内に回動自在に設けられており、THアクチュエータ9に連結されている。スロットル弁8の開度は、ECU2により、THアクチュエータ9を介して制御され、それにより、エンジン3に吸入される吸入空気量が制御される。エアフローセンサ11は、この吸入空気量GAIRを検出し、その検出信号をECU2に出力する。
排気管5には、NOx触媒で構成された触媒7が設けられている。この触媒7は、酸化雰囲気の排ガスが流入したときに、排ガス中のNOxを捕捉するとともに、排ガス中の酸素を貯蔵する酸素貯蔵能力を有している。また、触媒7は、酸化雰囲気の排ガスが流入したときに、捕捉したNOxを還元させ、脱離させるとともに、貯蔵していた酸素を放出するものである。
また、排気管5には、触媒7の上流側および下流側に、第1LAFセンサ12および第2LAFセンサ13がそれぞれ設けられている。これらのLAFセンサ12、13は、ジルコニアなどで構成されており、理論空燃比よりもリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排ガス中の酸素濃度をリニアに検出する。第1LAFセンサ12は、触媒7の上流側における排ガス中の酸素濃度を検出し、第2LAFセンサ13は、触媒7の下流側における排ガス中の酸素濃度を検出し、それらの検出信号はECU2に出力される。
ECU2は、第1LAFセンサ12の検出信号に基づいて、触媒7の上流側における排ガス中の還元剤(未燃燃料)と酸素との質量比(燃空比)を換算した第1当量比KACT1を算出する。この場合、第1当量比KACT1は、混合気の燃空比と理論燃空比との比として算出される。これにより、第1当量比KACT1は、触媒7の上流側における酸素濃度が理論燃空比に相当するときに値1.0になり、理論燃空比に相当する値よりも低い還元雰囲気のときに1.0よりも大きな値になり、理論燃空比に相当する値よりも高い酸化雰囲気のときに、1.0よりも小さな値になる。
同様に、ECU2は、第2LAFセンサ13の検出信号に基づいて、触媒7の下流側における排ガス中の還元剤と酸素との質量比を換算した第2当量比KACT2を算出する。
さらに、ECU2には、アクセル開度センサ14から、車両のアクセルペダル(図示せず)の踏み込み量(以下「アクセル開度」という)APを表す検出信号が出力される。
また、ECU2は、CPU、RAM、ROMおよびI/Oインターフェースなどから成るマイクロコンピュータ(いずれも図示せず)で構成されており、前述した各種のセンサ10〜14からの検出信号などに応じて、エンジン3の運転状態を判別するとともに、判別した運転状態に応じて、以下に述べる制御処理を実行する。なお、本実施形態では、ECU2が、空燃比制御手段、劣化判定手段、触媒後還元剤量算出手段、触媒前還元剤量算出手段および触媒後酸素量算出手段に相当する。
図2は、ECU2で実行される制御処理のメインフローを示す。本処理は、所定時間(例えば10msec)ごとに実行される。本処理ではまず、ステップ1(「S1」と図示。以下同じ)において、エンジン3の燃焼室3bに供給される混合気の空燃比を制御する空燃比制御処理を実行する。次いで、触媒7の劣化を判定する劣化判定処理を実行し(ステップ2)、本処理を終了する。
図3は、上記の空燃比制御処理のサブルーチンを示す。本処理ではまず、判定条件成立フラグF_JUDPREが「1」であるか否かを判別する(ステップ11)。この判定条件成立フラグF_JUDPREは、エンジン3の運転状態に応じて、触媒7の劣化判定条件が成立しているときに「1」にセットされるものである。この劣化判定条件としては、例えば、エンジン回転数NEおよび燃料噴射量QINJがそれぞれの所定範囲内にあることや、触媒7が活性化していることなどが設定されている。なお、燃料噴射量QINJは、要求トルクPMCMDおよびエンジン回転数NEに応じ、所定のマップ(図示せず)を検索することによって設定される。また、要求トルクPMCMDは、アクセル開度APおよびエンジン回転数NEに応じ、所定のマップ(図示せず)を検索することによって算出される。
上記ステップ11の判別結果がNOで、触媒7の劣化判定条件が成立していないときには、劣化判定を行わないものとし、通常運転用の空燃比制御処理を実行し(ステップ12)、本処理を終了する。具体的には、目標空燃比を当量比に換算した値である目標当量比KCMDを、要求トルクPMCMDおよびエンジン回転数NEに応じ、所定のマップ(図示せず)を検索することによって、1.0よりも小さな値に設定する。これにより、理論空燃比よりもかなりリーンな空燃比で、通常のリーン運転が実行される。また、このリーン運転では、スロットル弁8が全開状態に保持されるとともに、第1LAFセンサ12で検出された第1当量比KACT1が設定した目標当量比KCMDになるように、フィードバック制御によって燃料噴射量QINJが制御される。
一方、ステップ11の判別結果がYESで、触媒7の劣化判定条件が成立しているときには、劣化判定用の空燃比制御処理を実行し(ステップ13)、本処理を終了する。
図4は、この劣化判定用の空燃比制御処理のサブルーチンを示す。本処理ではまず、後述するようにして算出される触媒後酸素量積算値sumkact2L、触媒前還元剤量積算値sumkact1Rおよび触媒後還元剤量積算値sumkact2Rが、それぞれの所定のしきい値kpref1、kpref2およびkpref3よりも大きいか否かを判別する(ステップ21〜23)。触媒7の劣化判定条件が成立した時点では、これらの積算値がいずれも値0にリセットされているので、ステップ21〜23の判別結果がいずれもNOになり、その場合には、ステップ24に進む。
このステップ24では、目標当量比KCMDを所定の第1目標値KPREF1に設定する。この第1目標値KPREF1は、理論空燃比に比較的近い弱リッチな空燃比に相当する値(例えば1.03)に設定されている。これにより、空燃比が劣化判定の準備用の第1空燃比に切り換えられ、第1空燃比制御が開始される。この第1空燃比制御では、スロットル弁8が全開に近い状態に制御されるとともに、第1当量比KACT1が設定された目標当量比KCMDになるように、フィードバック制御によって燃料噴射量QINJが制御されることにより、弱リッチ運転が行われる。
次に、触媒前還元剤量積算値sumkact1Rおよび触媒後還元剤量積算値sumkact2Rを算出する(ステップ25および26)とともに、劣化判定の準備用の空燃比制御が完了したことを表す空燃比制御準備完了フラグF_JUDを「0」にセットした(ステップ27)後、本処理を終了する。上記の触媒前還元剤量積算値sumkact1Rは、第1空燃比制御中に触媒7に流入した還元剤の総量を表し、触媒後還元剤量積算値sumkact2Rは、第1空燃比制御中に触媒7を通過した還元剤の総量を表す。
図5は、この触媒前還元剤量積算値sumkact1Rの算出処理のサブルーチンを示す。本処理ではまず、検出された第1当量比KACT1と値1.0との偏差(=KACT1−1.0)を、第1偏差DK1Rとして算出する(ステップ41)。次に、算出した第1偏差DK1Rが値0よりも大きいか否かを判別する(ステップ42)。この判別結果がNOのときには、触媒前還元剤量積算値sumkact1Rをその前回値sumkact1RZに保持し(ステップ43)、本処理を終了する。
一方、ステップ42の判別結果がYESのときには、第1偏差DK1Rおよび吸入空気量GAIRを用い、次式(1)によって、触媒前還元剤量積算値sumkact1Rを算出し(ステップ44)、本処理を終了する。
以上のように、触媒前還元剤量積算値sumkact1Rは、DK1R>0すなわちKACT1>1.0のときに、第1偏差DK1Rと吸入空気量GAIRとの積を積算することによって算出されるので、第1空燃比制御中に触媒7に流入した還元剤の総量に相当する。
図6は、触媒後還元剤量積算値sumkact2Rの算出処理のサブルーチンを示す。本処理ではまず、検出された第2当量比KACT2と値1.0との偏差(=KACT2−1.0)を、第2偏差DK2Rとして算出する(ステップ51)。次に、算出した第2偏差DK2Rが値0よりも大きいか否かを判別する(ステップ52)。この判別結果がNOのときには、触媒後還元剤量積算値sumkact2Rをその前回値sumkact2RZに保持し(ステップ53)、本処理を終了する。
一方、ステップ52の判別結果がYESのときには、第2偏差DK2Rおよび吸入空気量GAIRを用い、次式(2)によって、触媒後還元剤量積算値sumkact2Rを算出し(ステップ54)、本処理を終了する。
以上のように、触媒後還元剤量積算値sumkact2Rは、DK2R>0すなわちKACT2>1.0のときに、第2偏差DK2Rと吸入空気量GAIRとの積を積算することによって算出されるので、第1空燃比制御中に触媒7を通過した還元剤の総量に相当する。
図4に戻り、前記ステップ22の判別結果がYESになり、触媒前還元剤量積算値sumkact1Rがしきい値kpref2を上回ったときには、触媒7に十分な量の還元剤が供給され、第1空燃比制御による、ならしリッチ運転が十分に行われたとして、第1空燃比制御を終了すべきものとし、ステップ28に進む。
同様に、前記ステップ23の判別結果がYESになり、触媒後還元剤量積算値sumkact2Rがしきい値kpref2を上回ったときにも、触媒7を多量の還元剤がすでに通過したことで、第1空燃比制御によるならしリッチ運転が十分に行われたとして、第1空燃比制御を終了すべきものとし、ステップ28に進む。
このステップ28では、目標当量比KCMDを所定の第2目標値KPREF2に設定する。この第2目標値KPREF2は、理論空燃比に比較的近い弱リーンな空燃比に相当する値(例えば0.97)に設定されている。これにより、空燃比が劣化判定の準備用の第2空燃比に切り換えられ、第2空燃比制御が開始される。この第2空燃比制御では、スロットル弁8が全開に近い状態に制御されるとともに、第1当量比KACT1が設定された目標当量比KCMDになるように、フィードバック制御によって燃料噴射量QINJが制御されることにより、弱リーン運転が行われる。
上記ステップ28に続くステップ29では、触媒前還元剤量積算値sumkact1Rおよび触媒後還元剤量積算値sumkact2Rを値0にリセットする。次に、触媒後酸素量積算値sumkact2Lを算出する(ステップ30)とともに、前記ステップ27に進み、空燃比制御準備完了フラグF_JUDを「0」にセットした後、本処理を終了する。この触媒後酸素量積算値sumkact2Lは、第2空燃比制御中に触媒7から流出した酸素の総量を表す。
図7は、この触媒後酸素量積算値sumkact2Lの算出処理のサブルーチンを示す。本処理ではまず、値1.0と第2当量比KACT2との偏差(=1.0−KACT2)を、第3偏差DK2Lとして算出する(ステップ61)。次に、算出した第3偏差DK2Lが値0よりも大きいか否かを判別する(ステップ62)。この判別結果がNOのときには、触媒後酸素量積算値sumkact2Lをその前回値sumkact2LZに保持し(ステップ63)、本処理を終了する。
一方、ステップ62の判別結果がYESのときには、第3偏差DK2Lおよび吸入空気量GAIRを用い、次式(3)によって、触媒後酸素量積算値sumkact2Lを算出し(ステップ64)、本処理を終了する。
以上のように、触媒後酸素量積算値sumkact2Lは、DK2L>0すなわちKACT2<1.0のときに、第3偏差DK2Lと吸入空気量GAIRとの積を積算することによって算出されるので、第2空燃比制御中に触媒7から流出した酸素の総量に相当する。
図4に戻り、前記ステップ21の判別結果がYESになり、触媒後酸素量積算値sumkact2Lがしきい値kpref1を上回ったときには、触媒7から多量の酸素がすでに流出していることで、触媒7に酸素が十分に貯蔵されたとして、第2空燃比制御を終了すべきものとし、ステップ31に進む。
このステップ31では、目標当量比KCMDを所定の第3目標値KPREF3に設定する。この第3目標値KPREF3は、理論空燃比に比較的近い弱リッチな空燃比に相当する値(例えば1.03)に設定されている。これにより、空燃比が劣化判定の実行用の第3空燃比に切り換えられ、第3空燃比制御が開始される。この第3空燃比制御では、スロットル弁8がほぼ全開状態に維持されるとともに、第1当量比KACT1が設定された目標当量比KCMDになるように、フィードバック制御によって燃料噴射量QINJが制御されることにより、弱リッチ運転が行われる。
上記ステップ31に続くステップ32では、触媒後酸素量積算値sumkact2Lを値0にリセットする。また、劣化判定の準備用の空燃比制御が完了したことを表すために、空燃比制御準備完了フラグF_JUDを「1」にセットし(ステップ33)、本処理を終了する。
図8は、前述した図2のステップ2で実行される劣化判定処理の算出サブルーチンを示す。本処理ではまず、上述した空燃比制御準備完了フラグF_JUDが「1」であるか否かを判別する(ステップ71)。この判別結果がNOのときには、空燃比制御の準備が完了していないため、劣化判定を行わないものとし、そのまま本処理を終了する。
一方、ステップ71の判別結果がYESのときには、後述する第2還元剤量積算値sumkact2が所定値krefよりも大きいか否かを判別する(ステップ72)。この判別結果がNOのときには、第1還元剤量積算値sumkact1および第2還元剤量積算値sumkact2を算出し(ステップ73および74)、本処理を終了する。ここで、第1還元剤量積算値sumkact1は、第3空燃比制御中に触媒7に流入した還元剤の総量を表し、第2還元剤量積算値sumkact2は、第3空燃比制御中に触媒7を通過した還元剤の総量を表す。
図9は、第1還元剤量積算値sumkact1の算出処理のサブルーチンを示す。本処理ではまず、第1当量比KACT1と値1.0との偏差(=KACT1−1.0)を、第1偏差DK1として算出する(ステップ91)。次に、算出した第1偏差DK1が値0よりも大きいか否かを判別する(ステップ92)。この判別結果がNOのときには、第1還元剤量積算値sumkact1を値0にリセットし(ステップ93)、本処理を終了する。
一方、ステップ92の判別結果がYESのときには、第1偏差DK1および吸入空気量GAIRを用い、次式(4)によって、第1還元剤量積算値sumkact1を算出し(ステップ94)、本処理を終了する。
ここで、sumkact1Zは第1還元剤量積算値sumkact1の前回値である。
以上のように、第1還元剤量積算値sumkact1は、DK1>0すなわちKACT1>1.0のときに、第1偏差DK1と吸入空気量GAIRとの積を積算することによって算出されるので、第3空燃比制御中に触媒7に流入した還元剤の総量に相当する。
図10は、第2還元剤量積算値sumkact2の算出処理のサブルーチンを示す。本処理ではまず、第2当量比KACT2と値1.0との偏差(=KACT2−1.0)を、第2偏差DK2として算出する(ステップ101)。次に、算出した第2偏差DK2が値0よりも大きいか否かを判別する(ステップ102)。この判別結果がNOのときには、第2還元剤量積算値sumkact2を値0にリセットし(ステップ103)、本処理を終了する。
一方、ステップ102の判別結果がYESのときには、第2偏差DK2および吸入空気量GAIRを用い、次式(5)によって、第2還元剤量積算値sumkact2を算出し(ステップ104)、本処理を終了する。
ここで、sumkact2Zは第2還元剤量積算値sumkact2の前回値である。
以上のように、第2還元剤量積算値sumkact2は、DK2>0すなわちKACT2>1.0であるときに、第2偏差DK2と吸入空気量GAIRとの積を積算することによって算出されるので、第3空燃比制御中に触媒7を通過した還元剤の総量に相当する。
図8に戻り、前記ステップ72の判別結果がYESで、第2還元剤量積算値sumkact2>所定値krefのときには、触媒7を通過した還元剤量が多く、触媒7に貯蔵されていた酸素が、触媒7に流入した排ガス中の還元剤との反応によって完全に消費されたとして、第1当量比変化量DKACT1が所定値KREF1よりも小さいか否かを判別する(ステップ75)。この第1当量比変化量DKACT1は、第1当量比の今回値と前回値との差の絶対値(=|KACT1−KACT1Z|)として算出される。この判別結果がNOのときには、第1当量比KACT1が定常状態に達していないとして、後述するステップ77に進む。
一方、ステップ75の判別結果がYESのときには、第1当量比KACT1が定常状態に達したとして、第1当量比KACT1の平均値(以下「第1当量比平均値」という)avekact1を算出し(ステップ76)、ステップ77に進む。この第1当量比平均値avekact1の算出は、次のようにして行われる。
すなわち、DKACT1<KREF1が成立した後に得られた第1当量比KACT1を、制御タイミングごとにサンプリングし、そのサンプリング数が所定値n(例えば100)に達したときに、n個のサンプリング値を相加平均することによって、第1当量比平均値avekact1を算出する。また、第1当量比平均値avekact1の算出が終了したときには、そのことを表すために、第1平均演算終了フラグF_AVE1が「1」にセットされる。
前記ステップ75または76に続くステップ7では、第2当量比変化量DKACT2が所定値KREF2よりも小さいか否かを判別する。この第2当量比変化量DKACT2は、第2当量比の今回値と前回値との差の絶対値(=|KACT2−KACT2Z|)として算出される。この判別結果がNOのときには、第2当量比KACT2が定常状態に達していないとして、後述するステップ79に進む。
一方、ステップ77の判別結果がYESのときには、第2当量比KACT2が定常状態に達したとして、第2当量比KACT2の平均値(以下「第2当量比平均値」という)avekact2を算出し(ステップ78)、ステップ79に進む。この第2当量比平均値avekact2の算出は、次のようにして行われる。
すなわち、DKACT2<KREF2が成立した後に得られた第2当量比KACT2を、制御タイミングごとにサンプリングし、そのサンプリング数が前述した所定値nに達したときに、n個のサンプリング値を相加平均することによって、第2当量比平均値avekact2を算出する。また、第2当量比平均値avekact2の算出が終了したときには、そのことを表すために、第2平均演算終了フラグF_AVE2が「1」にセットされる。
前記ステップ77または78に続くステップ79では、第1および第2平均演算終了フラグF_AVE1、F_AVE2がいずれも「1」であるか否かを判別する。この判別結果がNOで、第1および第2当量比平均値avekact1、avekact2の少なくとも一方の算出が終了していないときには、そのまま本処理を終了する。
一方、ステップ79の判別結果がYESで、第1および第2当量比平均値avekact1、avekact2の双方の算出が終了しているときには、第1および第2平均値演算終了フラグF_AVE1、F_AVE2をいずれも「0」にリセットした(ステップ80)後、触媒劣化フラグF_CATNGの設定処理を実行し(ステップ81)、本処理を終了する。
図11は、この触媒劣化フラグF_CATNGの設定処理を示すサブルーチンを示す。本処理ではまず、ステップ111において、第1および第2還元剤量積算値sumkact1、2と第1および第2当量比平均値avekact1、2を用い、次式(6)によって、酸素貯蔵能OSCを算出する。
この酸素貯蔵能OSCは、触媒7の酸素貯蔵能力を表すものであり、その算出式として上記の式(6)を用いるのは、以下の理由による。図12は、第1および第2LAFセンサ12、13のゲインが互いに一致している場合の、第2空燃比制御から第3空燃比制御に至る第1および第2当量比KACT1、KACT2の推移の例を示している。図中のt1は、第2還元剤量積算値sumkact2が所定値krefを超えたタイミングを示す。
前述したように、第1還元剤量積算値sumkact1は、第3空燃比制御中に触媒7に流入した還元剤の総量を表し、第2還元剤量積算値sumkact2は、第3空燃比制御中に触媒7を通過した還元剤の総量を表す。このため、両者の差(=sumkact1−sumkact2)は、還元雰囲気の排ガスが触媒7を通過した際、触媒7に貯蔵されていた酸素によって酸化された還元剤の総量を表し、すなわち、酸素貯蔵能OSCに相当する。
一方、第1および第2LAFセンサ12、13のゲインが互いにずれていて、例えば後者の方が高い場合には、図13に示すように、第2当量比KACT2の傾きが大きくなり、早く立ち上がるため、上記のように第1および第2還元剤量積算値sumkact1、2の差によって、酸素貯蔵能OSCを算出すると、その値が過小になる。この場合、第1および第2当量比平均値avekact1、avekact2は、第1および第2当量比KACT2が定常状態に達した後のそれぞれの平均値であるので、図12に示すように、本来、互いに一致すべきものであり、図13のように一致していない場合には、第1および第2LAFセンサ12、13のゲインの大きさに対応する。
したがって、前記式(6)の右辺の第1項の第1還元剤量積算値sumkact1と第1当量比平均値avekact1との比、および第2項の第2還元剤量積算値sumkact2と第2当量比平均値avekact2との比はそれぞれ、第1還元剤量積算値sumkact1および第2還元剤量積算値sumkact2を、第1および第2LAFセンサ12、13のゲインが互いに合致するようにゲイン補正した値に相当する。そして、式(6)によれば、そのようにゲイン補正された後の第1還元剤量積算値sumkact1と第2還元剤量積算値sumkact2との差として、酸素貯蔵能OSCを算出するので、両LAFセンサ12、13のゲインのずれを補償しながら、酸素貯蔵能OSCを適切に求めることができる。
前記ステップ111に続くステップ112では、算出した酸素貯蔵能OSCが所定の判定値OSCJUDよりも大きいか否かを判別する。この判別結果がYESのときには、触媒7が劣化していないとし、そのことを表すために、触媒劣化フラグF_CATNGを「0」にセットした(ステップ113)後、本処理を終了する。
一方、ステップ112の判別結果がNOのときには、触媒7が劣化しているとし、そのことを表すために、触媒劣化フラグF_CATNGを「1」にセットした(ステップ114)後、本処理を終了する。
図14は、これまでに説明した制御処理によって得られる動作例を示す。この例では、時点t1以前においては、触媒7の劣化判定条件が成立していないため、目標当量比KCMDを1.0よりもかなり小さな値に設定した通常のリーン運転が行われている。
この状態から劣化判定条件が成立すると(t1)、判定条件成立フラグF_JUDPREが「1」にセットされることで(ステップ11:YES)、劣化判定用の空燃比制御が開始される(ステップ13)とともに、その最初に、目標当量比KCMDを値1.0よりも若干大きな第1目標値KPREF1に設定する(ステップ24)ことによって、第1空燃比制御が開始され、弱リッチな空燃比で、ならしリッチ運転が行われる。この第1空燃比制御中、第1当量比KACT1に基づいて、触媒7に流入した還元剤の総量を表す触媒前還元剤量積算値sumkact1Rが算出されるととともに、第2当量比KACT2に基づいて、触媒7を通過した還元剤の総量を表す触媒後還元剤量積算値sumkact2Rが算出される。
その後、触媒前還元剤量積算値sumkact1Rがしきい値kpref2に達するか(ステップ22:YES)、または触媒後還元剤量積算値sumkact2Rがしきい値kpref3に達したとき(ステップ23:YES)に、第1空燃比制御による、ならしリッチ運転が十分に行われたとして、目標当量比KCMDを値1.0よりも若干小さな第2目標値KPREF2に設定する(ステップ28)ことによって、第2空燃比制御が開始され、弱リーンな空燃比でリーン運転が行われる。なお、この例では、時点t2において、sumkact1R>kpref2が成立している。この第2空燃比制御中、第2当量比KACT2に基づいて、触媒7から流出した酸素の総量を表す触媒後酸素量積算値sumkact2Lが算出される。
その後、触媒後酸素量積算値sumkact2Lがしきい値kpref1に達したとき(ステップ21:YES)に(t3)、第2空燃比制御によるリーン運転によって触媒7に酸素が十分に貯蔵され、劣化判定のための準備用の空燃比制御が完了したとして、空燃比制御準備完了フラグF_JUDが「1」にセットされる(ステップ33)。これに伴い、目標当量比KCMDを値1.0よりも若干大きな第3目標値KPREF3に設定する(ステップ31)ことによって、第3空燃比制御が開始され、弱リッチな空燃比でリッチ運転が行われる。そして、図8の劣化判定処理により、この第3空燃比制御中に検出された第1および第2当量比KACT1、KACT2に基づき、触媒7の酸素貯蔵能OSCを算出することによって、触媒7の劣化判定が行われる。
以上のように、本実施形態によれば、第2空燃比制御によるリーン運転によって、触媒7に酸素を貯蔵するとともに、それに引き続いて実行される第3空燃比制御によるリッチ運転中に検出された第1および第2当量比KACT1、KACT2にそれぞれ基づいて、触媒7に流入した還元剤の総量を表す第1還元剤量積算値sumkact1と、触媒7を通過した還元剤の総量を表す第2還元剤量積算値sumkact2を算出する。そして、算出された第1および第2還元剤量積算値sumkact1、sumkact2の差に応じて算出した触媒7の酸素貯蔵能OSCに基づいて、触媒7の劣化が判定される。
また、上記の第2空燃比は弱リーンな空燃比(KCMD=KPREF2)に設定され、第3空燃比は弱リッチな空燃比(KCMD=KPREF3)に設定されるので、第2空燃比制御から第3空燃比制御への切換前後における排ガスの流量の変動や排ガス中の酸素濃度の変動を抑制できる。その結果、第3空燃比への切換直後においても、排ガスの流量や酸素濃度の変動に触媒7が良好に追随でき、触媒7での反応が良好に行われるので、第3空燃比制御中に検出された第1および第2当量比KACT1、KACT2に基づく触媒7の劣化判定を適切に行うことができ、その判定精度を向上させることができる。
また、第2空燃比制御中に検出された第2当量比KACT2に基づいて、触媒7から流出した酸素の量を表す触媒後酸素量積算値sumkact2Lを算出するとともに、その値sumkact2Lがしきい値kpref1を上回ったときに、第2空燃比制御が終了し、第3空燃比制御が開始される。これにより、第2空燃比によるリーン運転が、触媒7からの酸素の実際の流出量に応じて、過不足なく行われることで、触媒7に十分な量の酸素を確実に貯蔵できるとともに、第3空燃比制御への移行および劣化判定を早期に行うことができる。
さらに、第2空燃比制御に先立ち、空燃比を弱リッチな空燃比(KCMD=KPREF1)に設定した第1空燃比制御による、ならしリッチ運転を強制的に行うので、触媒7の内部状態を、還元雰囲気下での還元剤と酸素との反応を行うのに適した安定した状態に、あらかじめ調整できる。その結果、第3空燃比制御中において触媒7での反応が良好に行われるので、触媒7の劣化判定をより適切に行うことができ、判定精度をさらに向上させることができる。
また、第1空燃比制御中に検出された第1当量比KACT1に基づいて、触媒7に流入した還元剤の量を表す触媒前還元剤量積算値sumkact1Rを算出し、第2当量比KACT2に基づいて、触媒7を通過した還元剤の量を表す触媒後還元剤量積算値sumkact2Rを算出するとともに、それらの積算値sumkact1R、sumkact2Rのいずれかが、対応するしきい値kpref2、kpref3を上回ったときに、第1空燃比制御が終了し、第2空燃比制御が開始される。これにより、第1空燃比による、ならしリッチ運転が、触媒7への還元剤の実際の流入量、および触媒7からの還元剤の実際の通過量に応じて、過不足なく行われる。その結果、触媒7の内部状態を、還元雰囲気下で還元剤と酸素との反応を行うのに適した安定した状態に確実に調整でき、劣化判定の精度を確保することができる。同じ理由から、第1空燃比によるリッチ運転が最小限に抑制されることで、燃費の向上を図ることができる。
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、酸素濃度パラメータとして、第1および第2当量比KACT1、KACT2を用いているが、排ガス中の酸素濃度を表すパラメータであれば、他の任意のパラメータを用いてもよい。例えば、排ガス中のHCやCOなどの還元剤の濃度は、酸素濃度と相関性を有するので、酸素濃度パラメータとして用いることが可能である。
また、実施形態では、第1〜第3空燃比制御間の切換前後における排ガスの量や酸素濃度の変動を抑制するために、第1〜第3空燃比をいずれも、理論空燃比に比較的近い弱リッチ(例えばKCMD=1.03)または弱リーン(例えばKCMD=0.97)に設定しているが、他の値に設定することも、また、第1および第3空燃比を互いに異なる値に設定することも、本発明の範囲内である。
あるいは、一連の第1〜第3空燃比制御を1回のみ行うのではなく、これを2回以上、繰り返し行いながら劣化判定を行ってもよい。例えば、第1〜第3空燃比制御を行い、そのときに算出された酸素貯蔵能OSCを記憶するとともに、このときの第3空燃比制御を第2回目の第1空燃比制御として用い、それに引き続いて第2および第3空燃比制御を同様に行いながら、第2回目の酸素貯蔵能OSCを算出し、これと記憶された第1回目の酸素貯蔵能OSCとの平均値に基づいて、劣化判定を行ってもよい。このように一連の第1〜第3空燃比制御を繰り返し行うことで、触媒7の内部状態がより安定し、触媒7がより活性化された状態で得られた、より信頼性の高い第1および第2当量比KACT1、KACT2に基づいて、劣化判定を行えるので、その判定精度をさらに向上させることができる。
さらに、実施形態は、触媒7が単一のNOx触媒の例であるが、触媒が酸素貯蔵能力を有するものであれば、そのタイプや、配置および数を任意に変更することが可能であり、例えば三元触媒でもよいことはもちろんである。
また、実施形態は、本発明を車両に搭載されたディーゼルエンジンに適用した例であるが、本発明は、これに限らず、ディーゼルエンジン以外のガソリンエンジンなどの各種のエンジンに適用してもよく、また、車両用以外のエンジン、例えば、クランク軸を鉛直に配置した船外機などのような船舶推進機用エンジンにも適用可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。