以下この発明のいくつかの実施の形態について、図面を参照して説明する。
実施の形態1.
図1は、この発明による空燃比フィードバック制御装置を用いた内燃機関の燃料噴射制御システムを装備した内燃機関を示す構成図である。
図1では、内燃機関100に、燃料噴射制御システム130が装備される。内燃機関100は、各種の自動車に搭載される。内燃機関100は、内燃機関本体101と、吸気系110と、排気系120を有する。内燃機関本体101は、シリンダ102と、燃焼室103と、ピストン104と、吸入弁105と、排気弁106と、点火プラグ107を有する。ピストン104は、シリンダ102内に往復運動可能に嵌め込まれる。点火プラグ107により燃焼室103内の燃料と空気との混合気に点火されると、ピストン104はシリンダ102内を往復運動する。吸入弁105と排気弁106は、ピストン104と同期して開閉される。吸入弁105は、吸入系110から燃焼室103への吸気を開閉する。排気弁106は、燃焼室103から排気系120への排気を開閉する。
吸入系110は、吸気管111と、エアクリーナ112と、スロットル弁113と、サージタンク114と、燃料噴射弁115を有する。スロットル弁113は、エアクリーナ112とサージタンク114との間の吸気管111に配置され、その弁開度の変化に基づいて吸入空気量を制御する。燃料噴射弁115は、吸入弁105の近くの吸入ポートに燃料を噴射するように配置される。この燃料噴射弁115は、吸入空気に対してガソリンなどの燃料を噴射して混合気とする。燃料噴射弁115により噴射される燃料量は、混合気の空燃比が理論空燃比となるように、吸入空気量に見合って制御される。
排気系120は、排気管121と、この排気管121内に配置された触媒122を有する。触媒122は、白金、ロジウム、パラジウムなどの貴金属を含む三元触媒である。この触媒122は、前記貴金属により、排気ガスに含まれる有害ガス、すなわち炭化水素ガス(HCガス)、一酸化炭素ガス(COガス)、および酸化窒素ガス(NOXガス)の酸化を促進し、これらの有害ガスを無害なガスに変換して浄化する。触媒122は、前記貴金属とともに、セリアを含む。このセリアは、排気ガスの空燃比が理論空燃比よりもリーンであるときに酸素を収蔵し、また排気ガスが理論空燃比よりもリッチであるときに、吸蔵した酸素を放出する能力を持つ。
燃料噴射制御システム130は、制御ユニット131を中心に構成される。この制御ユニット131は、マイクロコンピュータにより構成され、CPU132と、リードオンリメモリ(ROM)133と、ランダムアクセスメモリ(RAM)134と、入出力インターフェイス(I/O回路)135と、駆動回路136を有する。CPU132は、中央演算処理ユニットであり、ROM133に記憶されたプログラムに従い、RAM134を用いて各種の演算処理を行なう。I/O回路135は、CPU132、ROM133、RAM134に接続され、それらに対する信号の入力と、それらからの信号の出力を行なう。駆動回路136は、I/O回路134に接続され、燃料噴射弁115を制御し、その燃料噴射のタイミングと噴射量を制御する。
制御ユニット131には、水温センサ141、クランク角センサ142、エアフローセンサ143、スロットル開度センサ144、上流空燃比センサ145、および下流空燃比センサ146が接続される。水温センサ141は、内燃機関本体101に設置され、内燃機関本体101の冷却水温度Wtを検出する。クランク角センサ142は、内燃機関本体101に設置され、内燃機関本体101のクランク角を検出する。エアフローセンサ143は、エアクリーナ112の出口側の吸気管111に設置され、吸入空気量Qaを検出する。スロットル開度センサ144は、スロットル弁113に併設され、スリットル弁113の弁開度を検出する。
上流空燃比センサ145は、リニアセンサで構成され、触媒122の上流側の排気管121に設置される。下流空燃比センサ146は、λセンサで構成され、触媒122の下流側の排気管121に設置される。上流空燃比センサ145は、触媒122の上流側の上流空燃比AFに対応した上流空燃比検出出力RO1を出力する。下流空燃比センサ146は、触媒122の下流側の下流空燃比BFに対応した下流空燃比検出出力RO2を出力する。これらの上流空燃比センサ145と下流空燃比センサ146は、制御ユニット131とともに空燃比フィードバック制御装置150を構成する。
制御ユニット131は、燃料噴射弁115に対する燃料噴射時間Twを演算する。この燃料噴射時間Twは、駆動回路136から燃料噴射弁115に与えられる。燃料噴射弁115は、与えられた燃料噴射時間Twで燃料を噴射する。燃料噴射弁115から噴射される燃料量は、燃料噴射時間Twに比例する。この燃料噴射時間Twは、次の式(1)で演算される。
Tw=Tb×(1+Cfb+Cetc)+Td・・・(1)
式(1)で、Tbは燃料噴射弁115の基本噴射時間、Tdは無駄時間、Cfcは上流空燃比フィードバック補正量、Ctecはその他の補正量である。
基本噴射時間Tbは、燃焼室103に吸入される混合気が理論空燃比となるように、ピストン104の1ストローク当たりの吸入空気流量(Qa/Ne)に、予め設定された変換ゲインを乗算して算出される。Qaはエアフローセンサ143で検出された吸入空気量であり、Neはクランク角センサ142の出力から演算された内燃機関100の回転数である。無駄時間Tdは、燃料噴射弁115を駆動しても、有効に燃料を噴射しない無駄時間を補正するために、式(1)に加えられる。上流空燃比フィードバック補正量Cfcは、空燃比フィードバック制御装置150による補正量である。その他の補正量Cetcは、例えば水温センサ141により検出された内燃機関本体101の冷却水温度Wtが低いときに、燃料噴射量を増量し、混合気をリッチにて燃焼を安定化する。
燃料噴射制御システム130は、空燃比フィードバック制御装置150を有し、この空燃比フィードバック制御装置150は、制御ユニット131と、上流空燃比センサ145と、下流空燃比センサ146を含む。
図2は、実施の形態1における空燃比フィードバック制御装置150の詳細を示すブロック図である。この空燃比フィードバック制御装置150は、上流空燃比フィードバック制御手段160と、下流空燃比フィードバック制御手段170と、触媒劣化診断手段180を含む。上流空燃比フィードバック制御手段160と、下流空燃比フィードバック制御手段170は、二重フィードバック制御系を構成する。触媒劣化診断手段180は、触媒122の劣化診断を行なう。
上流空燃比フィードバック制御手段160は、上流空燃比フィードバック補正量Cfbを演算して出力する。この上流空燃比フィードバック制御手段160は、PID演算手段161と、上流演算手段162と、目標上流空燃比演算手段163と、基本上流目標空燃比演算手段164と、基本上流空燃比演算手段165と、上流空燃比学習演算手段166と、学習演算制御スイッチ手段167と、変動演算出力制御スイッチ手段168と、上流空燃比センサ145を含む。PID演算手段161と、上流演算手段162と、目標上流空燃比演算手段163と、基本上流目標空燃比演算手段164と、基本上流空燃比演算手段165と、上流空燃比学習演算手段166と、学習演算制御スイッチ手段167と、変動演算出力制御スイッチ手段168は、制御ユニット131により実行される手段である。
上流演算手段162には、目標上流空燃比演算手段163からの目標上流空燃比AFTと、上流空燃比センサ145からの上流空燃比検出出力RO1とが与えられる。この上流演算手段162は、目標上流空燃比AFTと、上流空燃比検出出力RO1との差の出力(AFT−RO1)を、PID演算手段161に供給する。PID演算手段161は、前記差の出力(AFT−RO1)が0となるように、すなわち上流空燃比検出出力RO1が、目標上流空燃比AFTと一致するように比例演算、積分演算、および微分演算を行ない、上流空燃比フィードバック補正量Cfbを演算する。燃料噴射弁115およびエアフローセンサ143などのばらつき、キャニスタに溜まったエバホパージ、およびブレーキを踏んだときにマスタバックによる空燃比の外乱があっても、PID演算手段161により比例演算、積分演算および微分演算を行なうことに基づき、上流空燃比検出出力RO1を目標上流空燃比AFTに一致させることができる。
目標上流空燃比AFTは、目標上流空燃比演算手段163から出力される。目標上流空燃比演算手段163には、基本上流目標空燃比演算手段164からの基本目標上流空燃比AFOと、空燃比変動出力AFOSCが供給される。目標上流空燃比演算手段163は、これらの基本目標上流空燃比AFOと空燃比変動出力AFOSCとを加算し、目標上流空燃比AFTを出力する。すなわち、AFT=AFO+AFOSCである。空燃比変動出力AFOSCは、触媒劣化診断手段180から変動演算出力制御スイッチ手段168を通じて目標上流空燃比演算手段163に供給される。変動演算出力制御スイッチ手段168は、触媒劣化診断手段180により触媒122の劣化診断が行なわれている劣化診断動作状態でオンとなり、それ以外ではオフとなる。したがって、触媒122の劣化診断状態において、空燃比変動出力AFOSCは目標上流空燃比AFOに加算される。
基本上流目標空燃比演算手段164には、基本上流空燃比演算手段165からの基本上流空燃比AFBと、下流空燃比フィードバック制御手段170からの下流空燃比フィードバック量Cf0と、上流空燃比学習演算手段166からの上流空燃比学習演算出力AFSとが供給される。基本上流目標空燃比演算手段164は、これらの基本上流空燃比AFBと、下流空燃比フィードバック量Cf0と、上流空燃比学習演算出力AFSとを加算して、基本目標上流空燃比AFOを出力する。すなわち、AFO=AFB+Cf0+AFSである。言い換えると、基本上流空燃比AFBを、下流空燃比フィードバック量Cf0と上流空燃比学習演算出力AFSにより補正して、基本目標上流空燃比AFOが出力される。
下流空燃比フィードバック制御手段170は、目標下流空燃比出力手段171と、下流演算手段172と、PI演算手段173と、下流空燃比センサ146と、ローパスフィルタ174と、下流空燃比検出出力制御スイッチ手段175を有する。目標下流空燃比出力手段171と、下流演算手段172と、PI演算手段173と、ローパスフィルタ174と、下流空燃比検出出力制御スイッチ手段175は、制御ユニット131で実行される手段である。
目標下流空燃比出力手段171は、RAM134に予め記憶された目標下流空燃比BFTを出力する。この目標下流空燃比BFTは、触媒122による有害ガスの浄化率が最高となるように、所定値、例えば0.7(V)に設定される。下流空燃比センサ146は、下流空燃比検出出力RO2を出力する。ローパスフィルタ174は、下流空燃比検出出力RO2をフィルタ処理して平均化した下流空燃比検出出力RO21を出力する。
下流演算手段172には、目標下流空燃比出力手段171からの目標下流空燃比BFTと、ローパスフィルタ174からの下流空燃比検出出力RO21とが供給される。下流空燃比検出出力RO21は、下流空燃比検出出力制御スイッチ手段175を通して、下流演算手段172に供給される。この下流空燃比検出出力制御スイッチ手段175は、触媒劣化診断手段180による触媒劣化診断の結果、触媒122が劣化していると判定された場合にオフとなるが、それ以外はオンとなり、下流空燃比検出出力RO21を下流演算手段172に供給する。
下流演算手段172は、目標下流空燃比BFTと、下流空燃比検出出力RO21との差の出力(BFT−RO21)を演算し、この差の出力(BFT−RO21)をPI演算手段173に供給する。このPI演算手段173は、下流空燃比検出出力RO21が目標下流空燃比BFTに一致するように、比例演算および積分演算を行ない、下流空燃比フィードバック量Cf0を演算し、この下流空燃比フィードバック量Cf0を、基本上流目標空燃比演算手段164に供給する。
上流空燃比学習演算手段166は、学習演算制御スイッチ手段167を通じて、PI演算手段173に接続される。この学習演算制御スイッチ手段167は、触媒劣化診断手段180により触媒122の劣化診断が行なわれている劣化診断動作状態でオフとなり、それ以外はオンとなる。触媒122の劣化診断が行なわれていない状態では、学習演算制御スイッチ手段167がオンとなり、PI演算手段173の積分値が徐々に上流空燃比学習演算手段166の上流空燃比学習値に移される。その結果、上流空燃比学習演算手段166は、触媒122および上流空燃比センサ145のばらつき、およびその経時劣化を補償し、触媒122による有害ガスの浄化性能を常に最高に維持する。
触媒劣化診断手段180は、触媒劣化診断演算手段181と、空燃比変動演算手段182を含む。空燃比変動演算手段182は、触媒122の上流側における空燃比AFを、理論空燃比を中心にしてリッチとリーンの交互に変動させる空燃比変動出力AFOSCを演算して出力する。この空燃比変動出力AFOSCは、空燃比変動出力制御スイッチ手段168を介して上流演算手段163に供給されるともに、触媒劣化診断演算手段181に供給される。触媒劣化診断手段180により触媒122の劣化診断が行なわれている劣化診断動作状態では、空燃比変動出力制御スイッチ手段168がオンとなるので、目標上流空燃比AFTが、空燃比変動出力AFOSCにより変動し、触媒122の上流側における上流空燃比AFを、理論空燃比を中心にしてリッチとリーンの交互に変動させる。触媒劣化診断演算手段181には、空燃比変動出力AFOSCとともに、下流空燃比センサ146からの下流空燃比検出出力RO2が供給され、この下流空燃比検出出力RO2の挙動に基づき、触媒122の劣化診断が行なわれる。
さて、この発明の特徴である触媒劣化診断手段180について、フローチャートを用いて、さらに詳細に説明する。図3は、実施の形態1による触媒劣化診断ルーチンR100を示すフローチャート、図4は、図3に示す触媒劣化診断ルーチンR100に含まれる触媒劣化診断許可判定ルーチンR200を示すフローチャート、図5は、図4に示す触媒劣化診断許可判定ルーチンR200に含まれる運転領域判定ルーチンR300を示すフローチャート、図6は、図4に示す触媒劣化診断許可判定ルーチンR200に含まれる診断禁止時間カウントルーチンR400を示すフローチャート、図7は、図3に示す触媒劣化診断ルーチンR100に含まれる上流の空燃比変動ルーチンR500を示すフローチャート、図8は、図3に示す触媒劣化診断ルーチンR100に含まれる触媒劣化診断判定ルーチンR600を示すフローチャートである。
図3に示す触媒劣化診断ルーチンR100は、制御ユニット131により、内燃機関100の燃料噴射および点火時期演算などの主要な演算を含んだメインルーチンの一部に組み込まれ、内燃機関100の運転中に一定時間毎に実行される。
図3に示す触媒劣化診断ルーチンR100では、最初のステップS101において、触媒劣化診断を許可するかどうかを判定するため、図4に示す触媒劣化診断許可判定ルーチンR200にジャンプする。この図4に示す触媒劣化診断許可判定ルーチンR200では、最初のステップS201において、そのときの内燃機関100の運転領域が、触媒劣化診断許可領域であるかどうかを判定するために、図5に示す運転領域判定ルーチンR300にジャンプする。
この図5に示す運転領域判定ルーチンR300では、最初のステップS301において、水温センサ141で検出された冷却水温度Wt、およびエアフローセンサ143で検出された吸入空気量Qaを読み込む。次のステップS302では、冷却水温度Wtが所定値Wt1に対し、Wt>Wt1かどうかが判定される。次のステップS303では、吸入空気量Qaが所定値Qa1、Qa2に対し、Qa1≦Qa<Qa2の関係であるかどうかが判定される。ステップS302、S303の判定結果がYesならば、触媒劣化診断が可能であるので、ステップS304に進み、このステップS304において、運転領域フラグFDRを1にセット1する。ステップS302、S303の少なくとも一方またはその両方の判定結果がNoならば、ステップS305に進み、このステップS305において、運転領域フラグFDRを0にリセットする。ステップS304、S305から、図4のステップS201へリターンする。
図4のステップS201に続く次のステップS202では、診断禁止時間のカウントを行なうため、図6に示す診断禁止時間カウントルーチンR400へジャンプする。この診断禁止時間カウントルーチンR400では、最初のステップS401において、診断終了フラグFCCが0から1への変化状態にあるかどうかを判定する。この診断終了フラグFCCは、図3に示す触媒劣化診断ルーチンR100が終了した時点で、0から1へ変化する。したがって、ステップS401では、結果として、触媒劣化診断が終了した時点を検出することになる。もし触媒劣化診断が終了した時点であれば、ステップS401の判定結果はYesとなり、ステップ402へ進み、このステップS402において、診断禁止カウンタCCIを所定値にセットし、図4のステップS202にリターンする。ステップS401の判定結果がNoであれば、ステップS403に進み、このステップS403において、診断禁止カウンタCCIを単位値だけ減算して、図4のステップS202にリターンする。診断禁止カウンタCCIは、RAM134とCPU132により構成される。
図6に示す診断禁止時間カウントルーチンR400は、図3の触媒劣化診断ルーチンR100が実行され、そのステップS101において、触媒劣化診断許可判定ルーチンR200が実行される度に、そのステップS202において、実行される。この診断禁止時間カウンタルーチンR400において、ステップS401の判定結果がNoになれば、その度毎に、診断禁止カウンタCCIを、単位値だけ減算する。この診断禁止カウンタCCIの減算は、そのカウント値が0になるまで、診断禁止時間カウントルーチンR400が実行される度に、行なわれる。診断禁止時間カウントルーチンR400において、例えば、ステップS402で、診断禁止カウンタCCIに5分に相当する値をセットすると、触媒劣化診断が終了した時点から、診断禁止カウンタCCIが0になるまでの5分間は、次の触媒劣化診断が禁止される。
図4のステップS202に続くステップS203では、運転領域フラグFDRが1にセットされているかどうかが判定される。次のステップS204では、診断禁止カウンタCCIが0になっているかどうかが判定される。ステップS203、S204の判定結果がともにYesならば、ステップS205に進み、触媒劣化診断が実行可能であるとして、このステップS205において、診断許可フラグFCAを1にセットする。ステップS203、S204の少なくとも何れか一方またはその両方の判定結果がNoならば、ステップS206に進み、このステップS206において、触媒診断が実行不可能として、診断許可フラグFCAを0にセットする。ステップS205、S206から図3のステップS101にリターンする。
図3のステップS101に続くステップ102では、診断許可フラグFCAが1にセットされているかどうかが判定される。このステップS102の判定結果がYesならば、次のステップS103に進み、ステップS102の判定結果がNoならば、メインルーチンへリターンする。ステップS103では、診断許可フラグFCAが0から1への変化状態にあるかどうかを判断する。この診断許可フラグFCAは、触媒診断が実行可能となった時点で、図4のステップS205において0から1に変化する。したがって、ステップS103では、結果として、触媒劣化診断の開始時点にあるかどうかが判定される。ステップS103の判定結果がYesであるときには、次のステップS104へ進み、このステップS104において、触媒劣化診断に関わる各パラメータを次のように初期化する。
下流空燃比検出出力RO2に対する上下限超過回数NEUL=0
酸素変化量ΔOSC=0
空燃比リッチリーンフラグFAFRL=1
空燃比反転回数AFTON=0
劣化判定指標IJI=0
診断終了フラグFCC=0
次のステップS105では、ローパスフィルタ174のフィルタ定数を大きくし、触媒劣化診断手段180が触媒122の劣化を診断している触媒劣化診断状態において、ローパスフィルタ174から出力される検出出力RO21を、上流空燃比変動の影響を受けないように制御する。次のステップS106では、上流空燃比AFを変動させるため、図7に示す空燃比変動演算ルーチンR500へジャンプする。
図7に示す空燃比変動演算ルーチンR500において、最初のステップS501では、空燃比リッチリーンフラグFAFRLが1であるかどうかが判定される。この空燃比リッチリーンフラグFAFRLは、目標上流空燃比AFTをリッチとするときに1、またそれをリーンとするときに0にセットされる。空燃比リッチリーンフラグFAFRLが1であり、ステップS501の判定結果がYesならば、ステップS502に進み、このステップS502では、目標上流空燃比AFTを理論空燃比よりもリッチ化し、また空燃比リッチリーンフラグFAFRLが0であり、ステップS501の判定結果がNoならば、ステップS503に進み、このステップS503では、目標上流空燃比AFTを理論空燃比よりもリーン化する。
次のステップS504では、酸素変化量ΔOSCを次の式(2)で演算する。
ΔOSC(i)=ΔOSC(i−1)+|AF−AF0|/AF0×Qa×α・・・(2)
この式(2)において、AFは上流空燃比、AF0は基本目標上流空燃比、αは空気過剰率から酸素質量への変換係数である。またΔOSC(i)は、酸素変化量ΔOSCの今回値、ΔOSC(i−1)はその前回値を表わす。
次のステップS505では酸素変化量ΔOSCが所定値に達したかが判定され、上流空燃比AFがリーンのときには、触媒122へ所定の酸素を供給し、また上流空燃比AFがリッチのときには、触媒122で所定の酸素を消費させる。ステップS505の判定結果がYesならば、次のステップS506〜S508に進む。このステップS506では、空燃比反転回数AFTONに+1を加算し、次のステップS507では、空燃比リッチリーンフラグFAFRLを反転させ、次のステップS508では、酸素変化量ΔOSCを0にリセットして、次のステップS509に進む。ステップS505の判定結果がNoならば、ステップS506、S507、S508をバイパスして、ステップS509に進む。
次のステップS509において、空燃比反転回数AFTONが所定値を超えているかどうかが判定される。空燃比反転回数AFTONが所定値を超えていて、ステップS509の判定結果がYesになれば、触媒劣化診断が終了したとして、次のステップS510に進み、このステップS510で診断終了フラグFCCを1にセットし、またステップS509の判定結果がNoならば、ステップS510をバイパスして、図3のステップS106にリターンする。
図3のステップS106における上流空燃比変動演算が終わると、図3に示す次のステップS107に進む。このステップS107では、触媒劣化判定を行なうために、図8に示す触媒劣化診断演算ルーチンR600へジャンプする。この触媒劣化診断演算ルーチンR600において、最初のステップS601では、空燃比変動の1サイクルの開始時点であるかどうかが判定される。空燃比変動の1サイクルの開始時点であり、ステップS601の判定結果がYesならば、次のステップS602に進み、このステップS602では、下流空燃比センサ146の下流空燃比検出出力RO2に対する下流空燃比下限超過フラグFROLを0にセットする。次のステップS603では、下流空燃比検出出力RO2に対する下流空燃比上限超過フラグFROUを0にセットし、次のステップS604に進む。ステップS601の判定結果がNoならば、ステップS602、S603をバイパスし、ステップS604に進む。
ステップS604では、目標上流空燃比AFTがリッチであるかどうかを判定するために、空燃比リッチリーンフラグFAFRLが1であるかどうかが判定される。目標上流空燃比AFTがリッチであり、空燃比リッチリーンフラグFAFRL=1である場合には、ステップS604の判定結果がYesとなり、次のステップS605へ進む。このステップS605では、下流空燃比検出出力RO2が下流空燃比上限値ROUを超えているかどうかが判定され、その判定結果がYesならば、ステップS606に進み、このステップS606で下流空燃比上限超過フラグFROUを1にセットする。逆に、目標上流空燃比AFTがリーンであり、空燃比リッチリーンフラグFAFRL=0である場合には、ステップS604の判定結果がNoとなるので、ステップS607に進む。このステップS607では、下流空燃比検出出力RO2が下流空燃比下限値ROLを超えているかどうかが判定され、下流空燃比検出出力RO2が下流空燃比下限値ROLを超えていれば、ステップS607の判定結果がYesとなり、次のステップS608で下流空燃比下限超過フラグFROLを1にセットする。
ステップS606、S608から次のステップS609に進む。ステップS605の判定結果がNoならば、ステップS606をバイパスしてステップS609に進む。またステップS607の判定結果がNoならば、ステップS608をバイパスしてステップS609に進む。
ステップS609では、空燃比変動が1回のリッチ期間と1回のリーン期間を含む1サイクルを完了したかどうかが判定される。このステップS609の判定結果がYesならば、空燃比変動の1サイクルが完了する毎に、ステップS610で下流空燃比検出出力RO2に関する下流空燃比上下限超過回数NEULを次の式(3)で算出する。
NEUL(i)=NEUL(i−1)+FROL+FROU・・・(3)
この式(3)で、NEUL(i)は、下流空燃比上下限超過回数NEULの今回値を、またNEUL(i−1)は、その前回値を表わす。
次のステップS611では、診断終了フラグFCCが1にセットされているかどうかが判定される。診断終了フラグFCCが1であり、ステップS611の判定結果がYesならば、次のステップS612に進む。このステップS612では、劣化判断指数IJIを次の式(4)で算出する。
IJI=NEUL/AFTON・・・(4)
上流空燃比AFの空燃比反転回数AFTONに対して、下流空燃比上下限超過回数NEULが近づくほど、劣化判定指標IJIは大きくなり、1.0に近づく。
次のステップS613では、劣化判定指標IJIが、所定の劣化判定閾値よりも大きいかどうかが判定される。ステップS613において、劣化判定指標IJIが劣化判定閾値IJTよりも大きければ、判定結果はYesとなり、次のステップS614に進む。ステップS613の判定結果がNoならば、次のステップS615に進む。ステップS614では、触媒122が劣化しているとし、劣化判定フラグFIJを1にセットする。ステップS615では、劣化判定フラグFIJを0にリセットする。ステップS614、S615から、図3のステップS107にリターンする。
ステップS611の判定結果がNoであれば、ステップS612、S613、S614、S615をバイパスして、図3のステップS107にリターンする。図3に示すステップS107に続くステップS108では、診断終了フラグFCCが1にセットされているかどうかが判定される。触媒劣化診断が終了し、診断終了フラグFCCが1にセットされていれば、ステップS108の判定結果がYesとなるので、ステップS109に進み、このステップS109でローパスフィルタ174のフィルタ定数を元の小さい値に戻して、メインルーチンへリターンする。触媒劣化診断が未終了であって、ステップS108の判定結果がNoとなれば、メインルーチンへリターンする。
図8に示す触媒劣化診断演算ルーチンR600において、ステップS613で劣化判定フラグFIJが1にセットされると、自動車の運転手席に設けられた故障表示ランプMILを点灯し、速やかに運転手に触媒122の劣化を知らせて、触媒122の整備点検を促す。なお、誤判定を防止するために、触媒劣化診断演算ルーチンR600を複数回繰り返し、劣化判定フラグFIJが所定回数連続して1を示した場合に、故障表示ランプMILを点灯するようにすることもできる。
次に、触媒劣化診断ルーチンR100、触媒劣化診断許可判定ルーチンR200、運転領域判定ルーチンR300、診断禁止時間カウントルーチンR400、空燃比変動演算ルーチンR500、および触媒劣化診断演算ルーチンR600における実際の各パラメータの挙動を図9および図10を用いて説明する。図9は、触媒122が劣化していない場合、また図10は触媒122が劣化している場合における触媒劣化診断の各パラメータの挙動を示す。
図9および図10のそれぞれにおいて、(a)は運転領域フラグFDRを、(b)は診断禁止カウンタCCIのカウンタ値を、(c)は診断許可フラグFCAを、(d)は空燃比リッチリーンフラグFAFRLを、(e)は酸素変化量ΔOSCを、(f)は空燃比反転回数AFTONを、(g)は診断終了フラグFCCを、(h)は上流空燃比検出出力RO1を、(i)は下流空燃比検出出力RO2を、(j)は下流空燃比上限超過フラグFROUを、(k)は下流空燃比下限超過フラグFROLを、(l)は下流空燃比上下限超過回数NEULを、(m)は劣化判定指標IJIを、(n)は劣化判定フラグFIJをそれぞれ示す。図9および図10の(h)には、目標上流空燃比AFTを点線で示し、また図9および図10の(i)には、ローパスフィルタ174から出力される下流空燃比検出出力RO21を点線で示している。
図9および図10の横軸は、各パラメータに共通な時間である。この時間軸に沿って、タイミングA、B、C、Dが設定される。タイミングA、Bの間の期間では、診断許可フラグFCAが1にセットされ、次のタイミングB、Cの間の期間では、診断許可フラグFCAが0にリセットされ、次のタイミングC、Dの間の期間では、再び診断許可フラグFCAが1にセットされる。
図9は、触媒122が劣化していない場合における触媒劣化診断の各パラメータの挙動を示す。タイミングAにおいて、内燃機関100の運転領域が診断許可領域に入り、図9(a)に示すように、運転領域フラグFDRが1にセットされる。図9(b)に示すように、タイミングAでは、診断禁止カウンタCCIのカウンタ値が0であるので、診断許可フラグFCAが1にセットされて、触媒診断フローが始まる。ここでステップS104において、先に説明した通り、各パラメータが初期化される。また、ローパスフィルタ174のフィルタ定数を切り換えて大きくする。
診断許可フラグFCAが1にセットされている期間において、図9(e)に示す酸化変化量ΔOSCが所定値に達する度毎に、図9(d)に示すように、空燃比リッチリーンフラグFAFRLを反転させ、上流空燃比AFをリッチ/リーンへ交互に変動させる。上流空燃比AFがリッチであるときには、内燃機関100の燃焼室103から排出される排気ガス中には酸素がほとんどなく、一酸化炭素ガス(CO)および炭化水素ガス(HC)が多く含まれ、触媒122が吸蔵している酸素を消費するので、触媒122内に蓄えられた酸素吸蔵量は減少する。逆に上流空燃比AFがリーンであるときには、燃焼室103から排出される排気ガス中に、酸素や酸化窒素ガス(NOx)が多く含まれるので、触媒122は酸素を吸蔵し、触媒122内の酸素吸蔵量は増加する。
図9では、触媒122が劣化していないので、触媒122に含まれるセリアが酸素の変動を吸収するため、図9(i)に示すように、下流空燃比検出出力RO2には、上流空燃比AFの変動は現れない。そのため、下流空燃比検出出力RO2が、予め設定された下流空燃比の上下限スレッショルドから逸脱することはなく、図9(l)に示すように、下流空燃比上下限超過回数NEULは0を保持するので、図9(m)に示すように、劣化判定指標IJIも0となり、図9(n)に示すように、劣化判定フラグFIJも0にリセットされた状態に保持される。図9では、図面を簡単にするために、診断許可フラグFCAが1にセットされた期間に、2サイクルしか空燃比変動を与えていないが、通常、5〜30サイクル程度の空燃比変動を与えて劣化診断精度を向上させる。
タイミングBでは、図9(f)に示すように、空燃比反転回数AFTONが所定値に達し、図9(g)に示すように、診断終了フラグFCCが1にセットされ、診断禁止カウンタCCIが所定値にセットされる。このタイミングBから、図9(b)に示すように、診断禁止カウンタCCIのカウント値が減算され、タイミングCで、そのカウント値が0になる。このタイミングB、Cの間の期間において、図9(c)に示すように、診断許可フラグFCAが0にリセットされ、触媒劣化診断は禁止される。このタイミングBに続くタイミングB、Cの間の期間では、学習演算制御スイッチ手段167がオンとなる。このタイミングB、Cの間の期間では、触媒劣化診断が禁止されており、触媒122内の酸素吸蔵量が安定しているので、オンとなった学習演算制御スイッチ手段167を介して、上流空燃比学習演算手段166が、下流空燃比フィードバック制御手段170のPI演算手段173から、その積分値を受けて、安定した上流目標空燃比学習を行なうことができる。したがって、上流空燃比学習演算手段166による上流空燃比学習精度を向上させ、エバポパージおよびブレーキ時のマスタバックによるA/F外乱等による排気ガス悪化を防ぐことができる。
図10は、触媒122が劣化している場合における触媒劣化診断の各パラメータの挙動を示す。図9と同様に、図10(a)に示す運転領域フラグFDRが1にセットされた状態で、触媒診断フローが始まると、上流空燃比AFをリッチとリーンに周期的に変動させる。触媒122が劣化しているので、触媒122が酸素の変動を吸収することができず、上流空燃比AFの変動を受けて、下流空燃比検出出力RO2も図10(i)に示すように、周期的に変動する。触媒劣化診断手段180により触媒122の劣化診断が行なわれている触媒劣化診断状態では、ローパスフィルタ174のフィルタ定数を大きくしているので、下流空燃比検出出力RO2が変動しても、ローパスフィルタ174から出力される下流空燃比検出出力RO21の変動は小さく、下流空燃比フィードバック量Cf0にはほとんど影響を与えない。
もし触媒劣化診断中にローパスフィルタ174のフィルタ定数を小さいままにしておくと、上流空燃比AFに与えた空燃比変動が下流空燃比に影響を与え、さらにこの下流空燃比の変動が上流空燃比AFを補正しようとするため、上流空燃比AFの変動と下流空燃比の変動とが互いに干渉しながら、図11(h)(i)に示すように上流空燃比検出出力RO1のハンチング現象が大きくなる。このように上流空燃比AFのハンチング現象が大きくなれば、自動車のドライバビリティを損なうおそれがある。
実施の形態1では、触媒劣化診断中に下流空燃比フィードバック制御手段170におけるローパスフィルタ174のフィルタ定数を大きくするので、図12(h)(i)に示すように、上流空燃比検出出力RO1の変動と、下流空燃比検出出力RO2との干渉を防ぐことができ、自動車のドライバビリティの悪化を防止することができる。図11および図12において、(c)は診断許可フラグFCAを、(h)は上流空燃比検出出力RO1を、(i)は下流空燃比検出出力RO2を示す。図11、12(h)には、目標上流空燃比AFTを点線で示し、また図11、12(i)には、ローパスフィルタ174から出力される下流空燃比検出出力RO21を点線で示す。
劣化した触媒122に対して、リッチとリーンの間で周期的に変動する空燃比変動出力AFOSCが加えられると、下流空燃比検出出力RO2は上限値ROUと下限値ROLを超えて変動するので、図10(j)(k)に示すように、下流空燃比上限超過フラグFROUおよび下流空燃比下限超過フラグFROLが1にセットされ、図10(l)に示すように、下流空燃比上下限超過回数NEULが増加していく。下流空燃比上下限超過回数NEULと空燃比反転回数AFTONとに基づき、NEUL/AFTONとして算出される劣化判定指標IJIが所定値を超えると、触媒122が劣化していると判定され、図10(n)に示すように、劣化判定フラグFIJが1にセットされる。
触媒122が劣化していると診断され、図10(n)に示すように、劣化判定フラグFIJが1にセットされれば、それ以後、下流空燃比検出出力制御スイッチ手段175がオフとされ、下流空燃比検出出力RO2、RO21のフィードバックが停止され、下流空燃比フィードバック量Cf0は、目標下流空燃比出力BFTに対応する。失火などにより触媒122が劣化した状態では、もはや触媒122が正常に作用せず、内燃機関100の燃焼室103から排出された排気ガスがそのまま触媒122の下流に到達するので、下流空燃比検出出力RO2、RO21によって下流空燃比フィードバック量Cf0を演算しても、触媒122の下流空燃比を目標下流空燃比出力BFTの近傍に保つことができず、下流空燃比フィードバック量Cf0が上流空燃比フィードバック量Cfbと干渉しハンチングを起こして、ドライバビリティが著しく悪化してしまう。触媒122が劣化していると診断された場合には、下流空燃比検出出力RO2、RO21のフィードバックを停止し、目標下流空燃比出力BFTに対応させることにより、自動車のドライバビリティの悪化を防ぐことができる。
実施の形態1では、上流空燃比センサ145として、リニア空燃比センサを用いた例を説明したが、上流空燃比センサ45がλセンサであっても、触媒劣化診断時に下流空燃比フィードバック手段170のローパスフィルタ174のフィルタ定数を大きくすれば、上流空燃比と下流空燃比フィードバックとの干渉を防ぐことができる。また、触媒122が劣化した場合に、下流空燃比検出出力RO2、RO21のフィードバックを停止することにより、上流空燃比と下流空燃比フィードバックとの干渉を防ぐことができ、自動車のドライバビリティの悪化を防ぐことができることは言うまでもない。
以上のように実施の形態1では、触媒劣化診断手段180による触媒122の劣化診断が終了すると、診断禁止カウンタCCIにより、その終了時点において、この終了時点に続いて触媒122の劣化診断禁止時間が設定され、この劣化診断禁止時間では、触媒122の劣化診断が禁止され、触媒122の有害ガス浄化機能の回復が図られ、触媒122の有害ガス浄化機能の低下を防止することができる。
実施の形態2.
実施の形態2は、実施の形態1において、図3のステップS101で、図13に示す触媒劣化診断許可判定ルーチンR210にジャンプするようにしたものである。実施の形態1においては、ステップS101で図4に示す触媒劣化診断許可判定ルーチンR200へジャンプするようにしたが、この実施の形態2では、図4に示す触媒劣化診断許可判定ルーチンR200に代わって、図13に示す触媒劣化診断許可判定ルーチンR210を使用する。その他は、実施の形態1と同じに構成される。
図13に示す触媒劣化診断許可判定ルーチンR210では、その最初のステップS201において、運転領域判定が行なわれるが、このステップS201では、図5に示す運転領域判定ルーチンR300にジャンプし、実施の形態1と同じに、運転領域判定ルーチンR300が実行される。図13に示す次のステップS202では、図6に示す診断禁止時間カウントルーチンR400にジャンプし、実施の形態1と同じに、診断禁止時間カウントルーチンR400が実行される。触媒劣化診断許可判定ルーチンR210では、ステップS202に続いてステップS210に進み、このステップS210では、図14に示す急加速時許可遅延カウントルーチンR700にジャンプし、この急加速時許可遅延カウントルーチンR700が実行される。
この急加速時許可遅延カウントルーチンR700では、最初のステップS701で、吸入空気量Qaの前回値から、その今回値を引き算して、吸入空気量の変化量ΔQaを演算する。次のステップS702では、運転領域フラグFDRが0から1への変化状態にあるかどうかが判定される。図5に示す運転領域判定ルーチンR300において、内燃機関100の冷却水温度Wtが、Wt>Wt1の条件を満足し、しかも吸入空気量Qaが、Qa1≦Qa<Qa2の条件を満足する運転領域になったときに、運転領域フラグFDRは、0から1への変化状態となる。したがって、内燃機関100がこのような運転領域になったときに、ステップS702の判定結果はYesとなり、次のステップS703に進む。
ステップS703では、ステップS701で演算された吸入空気量の変化量ΔQaが、加速判定閾値AJTより大きいかどうかが判定される。吸入空気量の変化量ΔQaが加速判定閾値AJTより大きければ、ステップS703の判定結果はYesとなり、内燃機関100の急加速状態において触媒劣化診断が可能と判定されるので、次のステップS704へ進み、このステップS704で許可遅延カウンタCADをセットし、図13に示す触媒劣化診断許可判定ルーチンR210のステップS210へ戻る。もしステップS702、S703の少なくとも一方またはその両方の判定結果がNoであれば、ステップS705へ進み、このステップS705で許可遅延カウンタCADを1だけ減算した後、図13に示す触媒劣化診断許可判定ルーチンR210のステップS210へ戻る。許可遅延カウンタCADも、RAM134とCPU132により構成される。
許可遅延カウンタCADは、急加速時許可遅延カウントルーチンR700が起動され、そのステップS705が実行される度毎に1だけ減算され、そのカウント値が0になったときに、その減算はストップする。なお、実施の形態2では、吸入空気量Qaの変化により内燃機関100の急加速を判定しているが、アクセル開度または吸気管内圧力の変化によって内燃機関100の急加速を判定してもよい。
図13の触媒劣化診断許可判定ルーチンR210に戻って、ステップS210に続いて、ステップS203が実行される。このステップS203は、図4のステップS203と同じであり、このステップS203では、運転領域フラグFDRに1がセットされているかどうかが判定される。運転領域フラグFDRが1にセットされていれば、ステップS203の判定結果はYesとなり、次のステップS204に進む。このステップS204は、図4のステップS204と同じであり、診断禁止カウンタCCIのカウント値が0であるかどうかが判定される。診断禁止カウンタCCIのカウンタ値が0であれば、ステップS204の判定結果はYesとなり、次のステップS211に進む。ステップS211では、許可遅延カウンタCADのカウント値が0になっているかどうかが判定され、このステップS211の判定結果がYesであれば、ステップS205に進み、このステップS205で診断許可フラグFCAが1にセットされる。
実施の形態2では、運転領域フラグFDRが1にセットされ、また診断禁止カウンタCCIのカウント値が0であって、しかも許可遅延カウンタCADのカウント値が0にならなければ、診断許可フラグFCAは1にセットされない。言い換えれば、運転領域フラグFDRが1にセットされ、また診断禁止カウンタCCIのカウント値が0になった後、所定時間経過後に許可遅延カウンタCADのカウント値が0になったときに、診断許可フラグFCAが1にセットされる。ステップS203、S204またはステップS211において、それらのいずれかの判定結果がNoになれば、ステップS206に進み、このステップS206で診断許可フラグFCAは0にリセットされる。ステップS205、S206から、図3の触媒劣化診断ルーチンR100へ戻る。
触媒劣化診断許可判定ルーチンR210における各パラメータの挙動を、図15および図16を用いて説明する。図15は、触媒122が劣化していない場合における各パラメータの挙動を示し、また図16は、触媒122が劣化している場合における各パラメータの挙動を示す。図15および図16において、(p)は吸入空気量Qaを、(q)は吸入空気量Qaの変化量ΔQaを、(r)は許可遅延カウンタCADのカウンタ値をそれぞれ示す。図15および図16の他のパラメータは、図9および図10に示す各パラメータと同じである。
図15および図16において、運転者がアイドル状態から自動車を急発進した場合、図15(p)および図16(p)に示すように、吸入空気量Qaが急増しながら所定値Qa1に達し、この吸入空気量Qaが所定値Qa1に達したタイミングAにおいて、図15(a)および図16(a)に示すように、運転領域フラグFDRが1にセットされる。このタイミングAでは、運転領域フラグFDRが1にセットされると同時に、図15(r)および図16(r)に示すように、許可遅延カウンタCADのカウント値も所定値にセットされる。その後、許可遅延カウンタCADは、触媒劣化診断許可判定ルーチンR210が起動され、ステップS210が実行される度毎に1だけ減算され、タイミングA1で0となる。このタイミングA1では、許可遅延カウンタCADのカウント値が0になり、診断許可フラグFCAに1がセットされる。その他の各パラメータの挙動は、図9および図10と同じである。
この実施の形態2では、内燃機関100が急加速されるタイミングAと、触媒劣化診断を開始するタイミングA1との間に、所定遅延時間を与えることができる。この所定遅延時間は、タイミングAとタイミングA1との間の遅延であり、実施の形態2では、許可遅延カウンタCADによって与えられる。この所定遅延時間は、内燃機関100の急加速と、触媒劣化診断とが重なるのを防止し、一酸化炭素ガス(CO)の排出量が悪化するのを防止するのに有効である。実施の形態2による効果をさらに詳しく説明する。
燃料噴射弁115が吸気弁105の直前の吸気ポートに取り付けられた吸気ポート式燃料噴射方式では、燃料噴射弁115から噴射された燃料が一旦吸気ポートに付着してから燃焼室103へ吸入されるため、内燃機関100の急加速時のような燃料噴射量の変化が大きい場合には、燃焼室103への燃料の吸入が遅れ、上流空燃比フィードバック制御手段160では、その空燃比の補正が不足するために、上流空燃比が目標上流空燃比AFTよりもリーンになってしまうことがある。または、内燃機関100の加速時に、燃料噴射弁115からの燃料噴射量を増量する加速増量補正が適用される機種では、内燃機関100の急加速時に空燃比が過補正されて、理論空燃比よりもリッチになってしまうこともある。どちらにせよ、内燃機関100の急加速時には、上流空燃比が理論空燃比から外れることが多く、このために、空燃比フィードバック制御装置150による空燃比補正スパイクが発生する。
図17および図18は、この内燃機関100の急加速時における空燃比補正スパイクSPと、触媒劣化診断に伴なう空燃比変動OSCとの関係を示す。図17は、内燃機関100の急加速と重なって触媒劣化診断が実行される場合を例示し、図18は、実施の形態2により、内燃機関100の急加速から所定遅延時間の後に触媒劣化診断が実行される場合を例示する。これらの図17および図18において、(a)は吸入空気量Qaを、(b)は上流空燃比検出出力RO1を、(c)は触媒122内の酸素吸蔵量OAVを、(d)は下流空燃比検出出力RO2を示す。図17および図18の(c)では、酸素吸蔵量OAVに対する飽和値OAVUと、不足値OAVLを点線で示している。
内燃機関100の急加速と重なって触媒劣化診断が実行された場合には、図17(b)に示すように、上流空燃比検出出力RO1は、空燃比変動出力AFOSCに基づく空燃比変動OSCの上に、内燃機関100の急加速による空燃比補正スパイクSPが重なった変化を示す。このため、図17(c)に示すように、触媒122内の酸素吸蔵量OAVが飽和し、図17(e)に示すように、一酸化炭素ガス(CO)の排出量が増加してしまう。これに比較して、実施の形態2では、図18に示すように、内燃機関100の急加速により吸入空気量Qaが所定値Qaを超えるタイミングAと、触媒劣化診断が開始されるタイミングAaとの間に、所定遅延時間が与えられる。タイミングAでは、内燃機関100の急加速に伴ない上流空燃比補正スパイクSPが発生するが、この上流空燃比補正スパイクSPから所定遅延時間後のタイミングAaで、触媒劣化診断に伴なう空燃比変動OSCが発生するので、空燃比変動OSCが空燃比補正スパイクSPと重なることはない。実施の形態2によれば、図18(c)に示すように、触媒122内の酸素吸蔵量OAVが安定化したタイミングAaで、触媒劣化診断を開始することができ、触媒劣化診断による一酸化炭素ガス(CO)の排出量の悪化を防止することができる。
以上のように実施の形態2では、実施の形態1と同様に、診断禁止カウンタCCIにより、触媒122の劣化診断の終了時点において、この終了時点に続いて触媒122の劣化診断禁止時間が設定され、この劣化診断禁止時間では、触媒122の劣化診断が禁止され、触媒122の有害ガス浄化機能の回復が図られ、触媒122の有害ガス浄化機能の低下を防止することができる。加えて、実施の形態2では、許可遅延カウンタCADにより、内燃機関100の急加速時に、触媒122の診断開始を遅延させ、内燃機関100の急加速に伴なう上流空燃比補正スパイクSPと空燃比変動OSCとが重なるのを防止して、触媒劣化診断による一酸化炭素ガス(CO)の排出量の悪化を防止することができる。
実施の形態3.
実施の形態3は、図3のステップS101で、図19に示す触媒劣化診断許可判定ルーチンR220にジャンプするようにしたものである。実施の形態1においては、ステップS101で図4に示す触媒劣化診断許可判定ルーチンR200へジャンプするようにしたが、この実施の形態3では、図4に示す触媒劣化診断許可判定ルーチンR200に代わって、図19に示す触媒劣化診断許可判定ルーチンR220を使用する。その他は、実施の形態1と同じに構成される。
図19に示す触媒劣化診断許可判定ルーチンR220では、その最初のステップS201において、運転領域判定が行なわれるが、このステップS201では、図5に示す運転領域判定ルーチンR300にジャンプし、実施の形態1と同じに、運転領域判定ルーチンR300が実行される。また、ステップS201に続くステップS202では、図6に示す診断禁止時間カウントルーチンR400にジャンプし、実施の形態1と同じに、診断禁止時間カウントルーチンR400が実行される。触媒劣化診断許可判定ルーチンR220では、ステップS202に続いてステップS220に進み、このステップS220では、図20に示す運転領域外不許可遅延カウントルーチンR800にジャンプし、この運転領域外不許可遅延カウントルーチンR800が実行される。
この運転領域外不許可遅延カウントルーチンR800では、最初のステップS801で、運転領域フラグFDRに1がセットされているかどうかが判定される。運転領域フラグFDRが1であれば、ステップS801の判定結果はYesとなり、次のステップS802に進む。ステップS801の判定結果がNoならば、ステップS803に進む。
ステップS802では、不許可遅延カウンタCNDをセットして触媒劣化診断許可判定ルーチンR220のステップS220へ戻る。ステップS803では、不許可遅延カウンタCNDを1だけ減算し、触媒劣化診断許可判定ルーチンR220のステップS220へ戻る。不許可遅延カウンタCNDも、RAM134とCPU132により構成される。
図19の触媒劣化診断許可判定ルーチンR220において、ステップS220に続いてステップS203が実行される。このステップS203は、図4のステップS203と同じであり、このステップS203では、運転領域フラグFDRに1がセットされているかどうかが判定される。運転領域フラグFDRが1にセットされていれば、ステップS203の判定結果はYesとなり、次のステップS204に進む。このステップS204は、図4のステップ204と同じであり、このステップS204では、診断禁止カウンタCCIのカウンタ値が0であるかどうかが判定される。診断禁止カウンタCCIのカウンタ値が0であれば、ステップS204の判定結果はYesとなり、次のステップS205に進んで、診断許可フラグFCAを1にセットする。また、ステップS203の判定結果がNoであれば、ステップS221に進む。ステップS221では、不許可遅延カウンタCNDのカウント値が0になっているかどうかが判定され、このステップS211の判定結果がYesであれば、ステップS206に進み、このステップS206で診断許可フラグFCAが0にリセットされる。ステップS221の判定結果がNoであれば、ステップS204に進む。ステップS204の判定結果がNoならば、ステップS206に進み、診断許可フラグFCAを0にリセットする。ステップS205、S206から図3のステップS102にリターンする。
診断許可フラグFCAは、不許可遅延カウンタCNDが0にならない限り、0にリセットされることなく、1にセットされた状態を持続する。不許可遅延カウンタCNDは、そのカウント値が0でない限り、運転領域外不許可遅延カウントルーチンR800が起動され、そのステップS705が実行される度毎に1だけ減算され、そのカウント値が0になったときに、その減算はストップする。不許可遅延カウンタCNDは、図20のステップS802で所定値にセットされたタイミングから、そのカウント値が0まで減算される間に、所定遅延時間を与える。
触媒劣化診断許可判定ルーチンR220における各パラメータの挙動を、図21を用いて説明する。図21において、(a)は吸入空気量Qaを、(b)は運転領域フラグFDRを、(c)は不許可遅延カウンタCNDのカウンタ値を、(d)は診断許可フラグFCAを、(e)は診断終了フラグFCCを、(f)は診断禁止カウンタCCIのカウント値をそれぞれ示す。
診断許可フラグFCAが1にセットされ、触媒122の劣化診断が実行されている状態において、運転者が内燃機関100を減速した後にすぐに加速した場合を想定する。この場合、内燃機関100が減速され、吸入空気量Qaが所定値Qa1より小さくなったタイミングA2において、運転領域フラグFDRが0にリセットされ、同時に不許可遅延カウンタCNDの減算が始まる。その後、不許可遅延カウンタが0に達しないタイミングA3において、内燃機関100の再加速により、吸入空気量Qaが所定値Qa1以上になったときに、再び運転領域フラグFDRが1にセットされる。したがって、診断許可フラグFCAは、タイミングA3でも0にリセットされないので、触媒劣化診断が続行される。
運転者が内燃機関100を減速し、吸入空気量Qaが所定値Qa1より小さくなったタイミングA4で運転領域フラグFDRが0にリセットされた後も、内燃機関100の減速状態が継続すれば、不許可遅延カウンタCNDのカウント値が0となったタイミングBで診断許可フラグFCAが0にリセットされる。タイミングA2とタイミングA4との間、およびタイミングA4とタイミングBの間には、不許可遅延カウンタCNDにより、所定遅延時間が与えられる。
触媒劣化診断に影響を与えないほどの短時間でも劣化診断を中断するようにすれば、例えば、都市部での走行のような比較的低速で加速、減速を繰り返すような運転では、触媒劣化診断の機会が著しく損なわれてしまう。実施の形態3では、タイミングA2で運転領域フラグFDRが0にリセットされても、触媒劣化診断に影響を与えないほどの短時間であれば、不許可遅延カウンタCNDのカウント値が0にならず、診断許可フラグFCAを1にセットした状態を続行させることにより、触媒劣化診断の機会を適正化することができる。
以上のように実施の形態3では、実施の形態1と同様に、診断禁止カウンタCCIにより、触媒122の劣化診断の終了時点において、この終了時点に続いて触媒122の劣化診断禁止時間が設定され、この劣化診断禁止時間では、触媒122の劣化診断が禁止され、触媒122の有害ガス浄化機能の回復が図られ、触媒122の有害ガス浄化機能の低下を防止することができる。加えて、実施の形態3では、不許可遅延カウンタCNDにより、内燃機関100が一時的に減速されても、触媒劣化診断を継続することができ、効果的な触媒122の劣化診断を行なうことができる。
実施の形態4.
実施の形態4は、図3のステップS101で、図22に示す触媒劣化診断許可判定ルーチンR230にジャンプするようにしたものである。実施の形態1においては、ステップS101で図4に示す触媒劣化診断許可判定ルーチンR200へジャンプするようにしたが、この実施の形態4では、図4に示す触媒劣化診断許可判定ルーチンR200に代わって、図22に示す触媒劣化診断許可判定ルーチンR230を使用する。その他は、実施の形態1と同じに構成される。
図22に示す触媒劣化診断許可判定ルーチンR230では、その最初のステップS201において、運転領域判定が行なわれるが、このステップS201では、図5に示す運転領域判定ルーチンR300にジャンプし、実施の形態1と同じに、運転領域判定ルーチンR300が実行される。また、ステップ201に続くステップS202では、診断禁止時間カウントが行なわれるが、このステップ202では、図6の診断禁止時間カウントルーチンR400にジャンプし、実施の形態1と同じに、診断禁止時間カウントルーチンR400が実行される。触媒劣化診断許可判定ルーチンR230では、ステップS202に続いてステップS230に進み、このステップS230では、図23に示す空燃比変動1サイクル完了判定ルーチンR900にジャンプし、この空燃比変動1サイクル完了判定ルーチンR900が実行される。
この空燃比変動1サイクル完了判定ルーチンR900では、最初のステップS901において、空燃比リッチリーンフラグFAFRLが0から1への変化状態にあるかどうかが判定される。この空燃比リッチリーンフラグFAFRLは、空燃比変動出力AFOSCに応じて周期的に変化しており、その0から1への変化は、空燃比変動出力AFOSCの各1サイクルの完了時点で起きるので、ステップS901では、結果として、空燃比変動出力AFOSCの各1サイクルが完了した時点を検出することになる。空燃比変動出力AFOSCの各1サイクルが終了した時点になれば、ステップS901の判定結果はYesとなり、ステップ902へ進み、このステップS902において、空燃比変動1サイクル完了フラグFOSCCCを1にセットし、図22のステップS230にリターンする。ステップS901の判定結果がNoであれば、ステップS903に進み、このステップS903において、空燃比変動1サイクル完了フラグFOSCCCを0にリセットして、図22のステップS230にリターンする。
図22の触媒劣化診断許可判定ルーチンR230において、ステップS230に続いてステップS203が実行される。このステップS203は、図4のステップS203と同じであり、このステップS203では、運転領域フラグFDRに1がセットされているかどうかが判定される。運転領域フラグFDRが1にセットされていれば、ステップS203の判定結果はYesとなり、次のステップS204に進む。このステップS204は、図4のステップS204と同じであり、このステップS204では、診断禁止タウンタCCIが0になっているかどうかが判定される。診断禁止カウンタCCIが0であれば、ステップS204の判定結果はYesとなり、次のステップS205に進んで、診断許可フラグFCAを1にセットする。
また、ステップS203の判定結果とステップS204の判定結果のいずれか一方またはその両方がNoであれば、ステップS231に進む。このステップS231では、診断許可フラグFCAの前回値が1であるかどうかが判定され、このステップS231の判定結果がYesであれば、ステップS232に進む。このステップS232では、空燃比変動1サイクル完了フラグFOSCCCが1であるかどうかが判定される。このステップS232の判定結果がNoならば、ステップS205に進み、診断許可フラグFCAを1にセットする。ステップS231の判定結果がNoとなった場合、およびステップS232の判定結果がYesとなった場合には、ステップS206に進み、このステップS206で診断許可フラグFCAが0にリセットされる。ステップS205、S206から図3のステップS102にリターンする。
この図22に示す触媒劣化診断許可判定ルーチンR230では、ステップS203の判定結果がNo、すなわち運転領域フラグFDRが0であり、またステップS204の判定結果がNo、すなわち診断禁止カウンタCCIが0になっておらず、かつ、ステップS231の判定結果がYes、すなわち診断許可フラグFCAの前回値が1であるときは、ステップS232へ進み、空燃比変動1サイクル完了フラグFOSCCCが1にセットされるまで、ステップS205へ進んで診断許可フラグFCRを1に継続する。
触媒劣化診断許可判定ルーチンR230における各パラメータの挙動を、図24を用いて説明する。図24において、(a)は運転領域フラグFDRを、(b)は空燃比リッチリーンフラグFAFRLを、(c)は診断許可フラグFCAを、(d)は診断終了フラグFCCを、(e)は診断禁止カウンタCCIのカウンタ値を、(f)は上流空燃比検出出力R01をそれぞれ示す。図24(f)には、目標上流空燃比AFTも点線で示される。
図24では、運転領域フラグFDRが1にセットされ、診断許可フラグFCAが1にセットされて、上流空燃比変動AFOSCが繰り返されている状態において、例えば、タイミングA5で運転領域フラグFDRが0にリセットされても、タイミングA6まで、診断許可フラグFCAが1にセットされた状態が継続される。タイミングA6は、タイミングA5の後で、次に空燃比リッチリーンフラグFAFRLが0から1に変化し、空燃比変動AFOSCの1サイクルが完了するタイミングである。このタイミングA5からタイミングA6の間では、診断許可フラグFCAのリセットに遅延時間が与えられ、この遅延時間の経過後に、診断許可フラグFCAが0にリセットされる。
このタイミングA5とタイミングA6との間の遅延時間は、空燃比外乱により、一酸化炭素ガス(CO)の浄化率が悪化するのを防止する効果をもたらす。この効果について、図25、図26を用いて説明する。図25、26において、(a)は運転領域フラグFDRを、(b)は空燃比リッチリーンフラグFAFRLを、(c)は診断許可フラグFCAを、(d)は上流空燃比検出出力RO1を、(e)は触媒122内の酸素吸蔵量OAVを、(f)は下流空燃比検出出力RO2を、(g)はCOガス排出量をそれぞれ示す。図25、26(d)では、上流空燃比検出出力RO1が実線で、また目標上流空燃比AFTが点線で示されている。図25、26(e)には、触媒内酸素吸蔵量OAVに対する飽和値OAVUと、不足値OAVLも示される。また、図25、26(f)では、下流空燃比検出出力RO2が実線で示される。
図25は、タイミングA5において、運転領域フラグFDRが0にリセットされ、これに伴なって、診断許可フラグFCAもタイミングA5で0にリセットされ、触媒劣化診断が停止される場合を例示する。この図25に例示するように、触媒劣化診断の途中において、タイミングA5で診断許可フラグFCAを0にリセットして上流空燃比変動AFOSCを止めてしまうと、このタイミングA5の後で、触媒内酸素吸蔵量OAVが、その中心から偏ってしまい、空燃比外乱に対して弱くなってしまう。図25の例では、診断許可フラグFCAが0にリセットされた後、図25(d)に示すように、上流空燃比検出出力R01がリッチとなり、これに伴なって、図25(f)に示すように、触媒内酸素吸蔵量OAVが不足し、図25(g)に示すように、一酸化炭素ガス(CO)の浄化率が悪化している。
図26は、実施の形態4に対応して、空燃比外乱により、一酸化炭素ガス(CO)の浄化率が悪化するのを防止できるケースを例示する。図26では、タイミングA5で運転領域フラグFDRが0にリセットされても、空燃比変動1サイクルが完了しないので、次に空燃比変動1サイクルが完了するタイミングA6までは、診断許可フラグFCAが1にセットされた状態が持続される。タイミングA5とタイミングA6との間の遅延時間により、タイミングA5の後でも、図26(e)に示すように、触媒122の酸素吸蔵量OAVを、その中心に近付け、図26(g)に示すように、一酸化炭素ガス(CO)の浄化率を向上することができ、触媒内酸素吸蔵量OAVを診断前の元の最適な状態に戻し、空燃比外乱に強くなる効果を得ている。
この実施の形態4では、実施の形態1と同様に、診断禁止カウンタCCIにより、触媒122の劣化診断の終了時点において、この終了時点に続いて触媒122の劣化診断禁止時間が設定され、この劣化診断禁止時間では、触媒122の劣化診断が禁止され、触媒122の有害ガス浄化機能の回復が図られ、触媒122の有害ガス浄化機能の低下を防止することができる。加えて、実施の形態4では、空燃比変動1サイクルの完了を検出するので、内燃機関100の運転領域が、空燃比変動の最終サイクルの途中で触媒診断に不適当となっても、その最終サイクルが完了するまで、触媒劣化診断を継続することができ、劣化診断の終了時における触媒内酸素吸蔵量を最適に制御することができる。