以下、本発明に係るエンジンの排気浄化制御装置を例えば自動二輪車に適用した実施の形態例を図1〜図7を参照しながら説明する。
先ず、本実施の形態に係るエンジンの排気浄化制御装置10を搭載した自動二輪車12について図1を参照しながら説明する。
自動二輪車12は、図1に示すように、車体前部14と車体後部16とが低いフロア部18を介して連結されて構成されている。車体前部14は、その上部に、ハンドル20が回転自在に取り付けられ、下部に前輪22が軸支されている。車体後部16は、その上部にシート24が取り付けられ、下部に後輪26が軸支されている。
自動二輪車12のエンジン28には、図2に模式的に示すように、吸気管30及び排気管32が設けられ、エンジン28とエアクリーナ34間に吸気管30が配管されている。吸気管30に設けられたスロットルボディ36には、スロットル弁38が設けられる。吸気管30上で、エンジン28とスロットルボディ36との間には燃料噴射弁40が設けられる。
スロットル弁38は、スロットルグリップ42(図1参照)の回動操作に応じて回動し、その回動量(スロットル弁38の開度)がスロットルセンサ44で検知される。運転者のスロットルグリップ42の操作に応じて、スロットル弁38を開閉することでエンジン28へ供給する空気量を可変とする。
エンジン28には、エンジン冷却水温を検知する水温センサ46が設けられ、吸気管30には、吸入空気圧(吸気負圧)を検知するPBセンサ48が設けられる。エンジン28の排気管32に設置された触媒50の上流に設けられ、エアクリーナ34からの空気を二次空気として排気管32に導入する二次空気導入装置1000と、エンジン28の排気管32に設置された触媒50の下流に設けられ、触媒50の下流側の空燃比を検出するO2センサ52(空燃比検出手段)が設けられる。このO2センサ52にて検知される酸素濃度は、触媒50を通過した後の排気ガスの実空燃比に相当する。また、エンジン28には、減速機構54の出力ギヤの回転数から車速を検知する車速センサ56が設けられる。スタータスイッチ58は、イグニッションキーの操作によりエンジン28を始動させるスイッチである。さらに、エアクリーナ34の吸気管30から遠い位置には、大気圧センサ60が設けられる。
そして、エンジン制御装置(エンジン・コントロール・ユニット:ECU62)は、図3に示すように、特定エンジン制御を行うAI(二次空気導入)制御部1002と、FC(フューエルカット)制御部1004と、減速リーン制御部1005とを有し、さらに、本実施の形態に係る排気浄化制御装置10として機能する排気浄化制御部1006を有する。
AI制御部1002は、二次空気を導入する所定の条件が成立している期間に、二次空気導入装置1000を駆動して、エアクリーナ34からの空気を二次空気として、排気管32のうち、触媒50の上流側に導入する。このAI制御部1002は、二次空気の導入開始に先立って、あるいは導入開始時点にAI開始信号Saisを出力し、二次空気の導入が終了した時点でAI終了信号Saieを出力する。
FC制御部1004は、スロットル開度THがゼロ(全閉)等のFC制御を行う所定の条件が成立している期間に、燃料の噴射を中断するフューエルカット制御を実行する。FC制御部1004は、フューエルカット制御の実行開始に先立って、あるいは実行開始時点にFC制御開始信号Sfcsを出力し、フューエルカット制御が終了した時点でFC制御終了信号Sfceを出力する。
減速リーン制御部1005は、スロットル開度THの減少量と吸気圧の変化量等から減速リーン化を行う所定の条件が成立している期間に、基本噴射パルス幅を減少させる等の減速リーン化を実行する。減速リーン制御部1005は、減速リーン化の実行開始に先立って、あるいは実行開始時点に減速リーン化開始信号Srssを出力し、減速リーン化が終了した時点で減速リーン化終了信号Srseを出力する。
排気浄化制御部1006は、スライディングモード制御部100(O2フィードバック制御手段)と、基本燃料噴射量算出部102と、リーン化対応部104とを有する。
スライディングモード制御部100は、制御対象の複数の状態量を変数とする線形関数により表される切換直線を予め構築しておき、それらの状態量をハイゲイン制御によって、切換直線上に高速で収束させ(到達モード)、さらに、所謂、等価制御入力によって、状態量を切換直線上に拘束しつつ切換直線上の所要の平衡点(収束点)に収束させる(スライディングモード)、可変構造型のフィードバック制御手法である。
このようなスライディングモード制御は、制御対象の複数の状態量が切換直線上に収束してしまえば、外乱等の影響をほとんど受けずに、切換直線上の平衡点に状態量を安定に収束させることができるという優れた特性をもっている。
触媒50の下流側の排気ガスの酸素濃度等の特定成分の濃度を所定の適正値に整定させるように、エンジン28の空燃比の補正量を求める場合、例えば触媒50の下流側の排気ガスの特定成分の濃度の値とその変化速度とを制御対象である排気系の状態量として、それらの状態量をそれぞれスライディングモード制御を用いて切換直線上の平衡点(濃度の値及びその変化速度がそれぞれ所定の適正値及び「0」となる点)に収束させるように、空燃比の補正量を求める。スライディングモード制御を用いて空燃比の補正量を求めれば、従来のPID制御等に較べて触媒50の下流側の排気ガスの特定成分の濃度を精度よく所定の適正値に整定させることが可能である。このスライディングモード制御部100からの出力は、補正係数KO2(SM)として切換部114を介して第1乗算器105に入力される。
基本燃料噴射量算出部102は、エンジン回転数NE、スロットル開度TH、吸入空気圧PBから規定される基準の燃料噴射量を、基本燃料噴射マップ106を用いて求め、その基準の燃料噴射量をスロットル弁38の有効開口面積に応じて補正することで基本燃料噴射量TIMBを算出する。
基本燃料噴射マップ106は、エンジン回転数NEとスロットル開度THに基づく第1基本燃料噴射マップ106aと、エンジン回転数NEと吸入空気圧PBに基づく第2基本燃料噴射マップ106bとを有する。従って、この排気浄化制御部1006では、第1基本燃料噴射マップ106a及び第2基本燃料噴射マップ106bのうち、エンジン回転数NE及びスロットル開度THに基づいて、使用すべき基本燃料噴射マップ106の指標が配列された選択用マップ108から使用すべき基本燃料噴射マップ106を選択指示するマップ選択部110を有する。選択用マップ108は、第1基本燃料噴射マップ106aを使用すべき領域と、第2基本燃料噴射マップ106bを使用すべき領域とが配置されている。マップ選択部110は、入力されるエンジン回転数NEとスロットル開度THに基づいて、選択用マップ108から、使用すべき基本燃料噴射マップ106を選択し、その選択結果を出力する。エンジン回転数NEが低いと第1基本燃料噴射マップ106aが選択される確率が高くなり、エンジン回転数NEが高いと第2基本燃料噴射マップ106bが選択される確率が高くなる。
従って、基本燃料噴射量算出部102は、エンジン回転数NE、スロットル開度TH、吸入空気圧PBから規定される基準の燃料噴射量を、マップ選択部110にて選択された基本燃料噴射マップ106を用いて求め、その基準の燃料噴射量をスロットル弁38の有効開口面積に応じて補正することで基本燃料噴射量TIMBを算出する。この基本燃料噴射量TIMBは、スライディングモード制御部100からの補正係数KO2(SM)と、水温、吸気温、大気圧等からなる環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力される。
リーン化対応部104は、リーン化開始検知部112と、切換部114と、還元処理開始要求部116と、リッチスパイク制御部118(還元処理手段)と、PID制御部120と、再開判定部122と、酸素蓄積量推測部124とを有する。
リーン化開始検知部112は、AI制御部1002からのAI開始信号Sais、又はFC制御部1004からのFC制御開始信号Sfcs、又は減速リーン制御部1005からの減速リーン化開始信号Srssの入力に基づいて、スライディングモード制御部100に制御停止要求信号Saを出力し、切換部114に第1切換信号Sh1を出力し、酸素蓄積量推測部124にカウント開始信号Sbを出力する。
さらに、リーン化開始検知部112は、還元処理中に、AI開始信号Sais、又はFC制御開始信号Sfcs、減速リーン化開始信号Srssの入力があった場合に、リッチスパイク制御部118、PID制御部120及び酸素蓄積量推測部124に強制終了信号Scを出力する。
スライディングモード制御部100は、リーン化開始検知部112からの制御停止要求信号Saの入力に基づいて空燃比制御を一時的に停止する。切換部114は、第1切換信号Sh1の入力に基づいてリーン化対応部104からの出力に切り換える。酸素蓄積量推測部124は、二次空気導入等のリーン化の開始時点から触媒50内の酸素蓄積量をカウンタ126を用いて推測し、さらに、還元処理終了時の触媒50内の酸素蓄積量を推測する。具体的な処理については後述する。
還元処理開始要求部116は、AI制御部1002からのAI終了信号Saie、又はFC制御部1004からのFC制御終了信号Sfce、又は減速リーン制御部1005からの減速リーン化終了信号Srseの入力に基づいて、還元処理開始信号Sdをリッチスパイク制御部118及び酸素蓄積量推測部124に出力する。
リッチスパイク制御部118は、還元処理開始要求部116からの還元処理開始信号Sdの入力に基づいて、エンジン28の燃焼室にリッチスパイク(触媒50に蓄積された酸素を還元することを目的として、一時的に燃料噴射量が通常よりも濃い空燃比となるように行うリッチ噴射)を行う。
このリッチスパイク制御部118は、予め設定され、時間の経過に従って変化する還元補正係数KCATRDを出力する。具体的には、例えば図4に示すように、還元処理開始時点t1から所定時間Taにわたって第1還元補正係数KCATRD(K1)(第1のリッチ補正係数)を出力する。この場合、リッチスパイク制御部118は、還元処理開始信号Sdの入力に基づいて、後述する酸素蓄積量推測部124からのカウント値に応じた第1還元補正係数KCATRD(K1)を出力する。例えば予め設定された固定値をカウント値に応じて補正して第1還元補正係数KCATRD(K1)として出力する。カウント値が大きくなるほど第1還元補正係数KCATRD(K1)も大きくなるように補正される(図7参照)。そして、所定時間Taが経過した時点t2から第2還元補正係数KCATRD(K2)(第2のリッチ補正係数)を読み出して出力する。第1還元補正係数KCATRD(K1)と第2還元補正係数KCATRD(K2)の大小関係は、第1還元補正係数KCATRD(K1)>第2還元補正係数KCATRD(K2)となっている。なお、第1還元補正係数KCATRD(K1)及び第2還元補正係数KCATRD(K2)の出力期間(還元処理期間Tb)以外では、リッチスパイク制御部118は、初期値(=1)を出力する。さらに、リッチスパイク制御部118は、所定時間Taが経過した時点でPID制御部120を起動する。
PID制御部120は、O2センサ52の出力値SVO2と目標値Vsto(ストイキ出力)との偏差が0(ゼロ)となるようにPID制御(フィードバック制御)する。特に、本実施の形態では、出力値SVO2が第1しきい値Vth1(第1の出力値)未満(偏差が大きい)であれば、高いゲインGHにてPID制御し、出力値(SVO2)が第1しきい値Vth1以上(偏差が小さい)であれば、低いゲインGLにてPID制御する。
リッチスパイク制御部118からの出力(第2還元補正係数KCATRD(K2))とPID制御部120からの出力(PID補正係数KO2(PID):O2フィードバック補正係数)は途中の第2乗算器128にて乗算され、補正係数KO2(PID)×KCATRD(K2)として第1乗算器105に入力される。これにより、基本燃料噴射量TIMBが、リーン化対応部104からの補正係数KO2(PID)×KCATRD(K2)と、水温、吸気温、大気圧等からなる環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力され、O2センサ52の出力値SVO2が目標値Vstoに向けて変化していくことになる。
特に、偏差が大きい期間(出力値SVO2が第1しきい値Vth1未満)では、高いゲインGHにてPID制御することから、出力値SVO2を目標値Vstoに向けて高速に収束させ、偏差が小さくなった段階(出力値SVO2が第1しきい値Vth1以上)から、低いゲインGLにてPID制御することから、オーバーシュート(目標値Vstoを超える現象)を抑えることができる。
なお、PID制御部120が停止している間は、PID制御部120からは停止中を示す初期値(=1)が出力される。従って、二次空気の導入又はFC制御又は減速リーン化の開始時点t0から終了時点t1にかけて、リッチスパイク制御部118及びPID制御部120からそれぞれ初期値(=1)が出力されることから、この期間(リーン化期間Tc)では、基本燃料噴射量TIMBが、環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力される。
上述の終了時点t1から所定時間Taにかけて、リッチスパイク制御部118から第1還元補正係数KCATRD(K1)が出力され、PID制御部120から初期値(=1)が出力されることから、この期間では、基本燃料噴射量TIMBが、第1還元補正係数KCATRD(K1)及び環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力される。このため、燃料の噴射量が大幅に増量される。
上述の所定時間Taが終了した時点t2からは、リッチスパイク制御部118から第1還元補正係数KCATRD(K1)よりも小さい第2還元補正係数KCATRD(K2)が出力され、PID制御部120によるPID補正係数KO2が出力されることから、この期間Tdでは、基本燃料噴射量TIMBが、第2還元補正係数KCATRD(K2)、PID補正係数KO2及び環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力される。すなわち、第2還元補正係数KCATRD(K2)による燃料噴射量の増量をPID補正係数KO2で補うかたちとなるため、出力値SVO2は高速に目標値Vstoに向かって、しかも、オーバーシュートすることなく収束することとなる。
そして、リッチスパイク制御部118は、出力値SVO2が第2しきい値Vth2(第2の出力値)となった段階で、リッチスパイク制御を停止し、還元補正係数KCATRDとして初期値「1」を出力すると共に、酸素蓄積量推測部124に正常終了信号Sf(還元処理が正常終了したことを示す信号)を出力する。第1しきい値Vth1、第2しきい値Vth2及び目標値Vstoの大小関係は、Vth1≦Vth2<Vstoである。
リッチスパイク制御の停止時点t3からSVO2が目標値Vstoに到達するまでの期間Teでは、リッチスパイク制御部118から初期値(=1)が出力され、PID制御部120からPID補正係数KO2(PID)が出力されることから、この期間Teでは、基本燃料噴射量TIMBが、PID補正係数KO2(PID)及び環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力される。
また、リッチスパイク制御部118は、還元処理中において、リーン化開始検知部112からの強制終了信号Scの入力に基づいて、リッチスパイク制御を停止し、還元補正係数KCATRDとして初期値「1」を出力する。同様に、PID制御部120は、強制終了信号Scの入力に基づいてPID制御を停止し、PID補正係数KO2として初期値「1」を出力する。
再開判定部122は、出力値SVO2が目標値Vstoになった段階で、スライディングモード制御部100に制御再開信号Seを出力し、切換部114に第2切換信号Sh2を出力し、酸素蓄積量推測部124にリセット信号Srを出力する。スライディングモード制御部100は、再開判定部122からの制御再開信号Seの入力に基づいてスライディングモードによるO2フィードバック制御を再開し、切換部114は、第2切換信号Sh2の入力に基づいてスライディングモード制御部100からの出力に切り換える。これにより、スライディングモード制御部100からの出力が補正係数KO2として切換部114を介して第1乗算器105に入力される。すなわち、基本燃料噴射量TIMBが、スライディングモード制御部100からの補正係数KO2と、水温、吸気温、大気圧等からなる環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力されることになる。
一方、酸素蓄積量推測部124は、カウント値累算部130と、カウント値補正部132とを有する。
カウント値累算部130は、リーン化開始検知部112からのカウント開始信号Sbの入力に基づいて、カウンタテーブル134からサイクル毎にカウント値を読み出して、カウンタ126に出力する。カウンタ126は、入力されたカウント値を現在の計数値に加算(累算)する。ここで、1サイクルは、エンジン28での吸気行程、圧縮行程、膨張行程及び排気行程の一連の行程をいう。カウンタテーブル134は、基本燃料噴射マップ106と同様に、エンジン回転数NE及びスロットル開度THから規定されるカウント値が配列されて構成されている。カウント値の配列は、基本的には、エンジン回転数NEが上昇するにつれてカウント値が減少し、スロットル開度THが全閉から全開に向かってカウント値が上昇する配列となっている。従って、カウンタ126において、サイクル毎のエンジン回転数NE及びスロットル開度THに応じたカウント値が累算されることになる。
また、カウント値累算部130は、還元処理開始要求部116からの還元処理開始信号Sdの入力に基づいて、カウンタ126でのカウント値の累算を停止する。この段階で、還元処理が開始された時点t1での触媒50の酸素蓄積量が推測される。
また、カウント値累算部130は、再開判定部122からのリセット信号Srの入力に基づいてカウンタ126のカウント値を初期値「0」にリセットする。
カウント値補正部132は、リーン化開始検知部112からの強制終了信号Sc又はリッチスパイク制御部118からの正常終了信号Sfの入力に基づいて、還元処理が終了した時点t3でのカウント値を出力値SVO2に応じた値に補正する。
このカウント値補正部132は、カウント値補正マップ136を使用する。カウント値補正マップ136は、図5に示すように、出力値SVO2に対応して補正係数が配列された構成を有し、出力値SVO2の上昇に応じて補正係数が減少する特性を有する。カウント値補正マップ136での出力値SVO2の範囲はオーバーリーン(空燃比:1.85)に対応した出力値SVO2から第2しきい値Vth2に対応した出力値SVO2の範囲である。補正係数の範囲は、0よりも大きく1以下である(上限値=1)。補正係数は、出力値SVO2が上昇するに従って、0に向かって減少し、特に、出力値SVO2が低い領域では、出力値SVO2が上昇するに従って、補正係数が急峻に減少し、出力値SVO2が第2しきい値Vth2に近い領域では、出力値SVO2が上昇するに従って、補正係数が緩やかに減少する特性になっている。図5の例では、出力値SVO2が低い領域では、傾きが大きい線形特性とし、出力値SVO2が第2しきい値Vth2に近い領域では、傾きが小さい線形特性とした例を示している。
そして、カウント値補正部132は、リーン化開始検知部112からの強制終了信号Sc又はリッチスパイク制御部118からの正常終了信号Sfの入力に基づいて、カウンタ126から現在のカウント値を読み出し、カウント値補正マップ136から現時点の出力値SVO2に応じた補正係数を読み出す。そして、カウント値に補正係数を乗算して、カウント値を補正し、補正後のカウント値をカウンタ126に格納する。
次に、リーン化対応部104の処理動作について図6のフローチャートを参照しながら説明する。
先ず、図6のステップS1において、リーン化開始検知部112は、二次空気の導入又はFC制御又は減速リーン化が開始されたか否かを判別する。この判別は、AI制御部1002からのAI開始信号Saisの入力、又はFC制御部1004からのFC制御開始信号Sfcsの入力、又は減速リーン制御部1005からの減速リーン化開始信号Srssの入力があったかどうかで行われる。
AI開始信号Saisの入力、又はFC制御開始信号Sfcsの入力、又は減速リーン化開始信号Srssの入力があった場合は、次のステップS2に進み、スライディングモード制御部100は、リーン化開始検知部112からの停止要求信号Saの入力に基づいて空燃比制御を一時的に停止する。このとき、切換部114は、リーン化開始検知部112からの第1切換信号Sh1の入力に基づいて、リーン化対応部104からの出力に切り換える。二次空気の導入等のリーン化が行われている間は、リッチスパイク制御部118及びPID制御部120からは初期値「1」が出力されているため、空燃比制御は停止状態とされる。
その後、ステップS3において、酸素蓄積量推測部124のカウント値累算部130は、リーン化開始検知部112からのカウント開始信号Sbの入力に基づいて、酸素蓄積量のカウント(カウント値の累算)を開始する。
ステップS4において、還元処理開始要求部116は、二次空気の導入の終了又はFC制御の終了又は減速リーン化の終了を待つ。すなわち、AI制御部1002からのAI終了信号Saieの入力、又はFC制御部1004からのFC制御終了信号Sfceの入力、又は減速リーン制御部1005からの減速リーン化終了信号Srseの入力を待つ。
上述のステップS4において、AI終了信号Saieの入力、又はFC制御終了信号Sfceの入力、又は減速リーン化終了信号Srseの入力があった場合に、次のステップS5に進み、酸素蓄積量推測部124のカウント値累算部130は、還元処理開始要求部116からの還元処理開始信号Sdの入力に基づいて、酸素蓄積量のカウント(カウント値の累算)を停止する。停止した時点のカウンタ126の累算値は還元処理が終了するまで維持される。
その後、ステップS6及びステップS7において、リッチスパイク制御部118は、所定時間Taにわたって第1還元補正係数KCATRD(K1)を出力する。このとき、酸素蓄積量推測部124からのカウント値に応じた第1還元補正係数KCATRD(K1)を出力する。これにより、燃料の噴射量が大幅に増量される。
所定時間Taが経過した段階で、ステップS8以降において、リッチスパイク制御部118とPID制御部120による空燃比制御が行われる。
すなわち、ステップS8において、リッチスパイク制御部118は、第2還元補正係数KCATRD(K2)を出力する。ステップS9において、リッチスパイク制御部118は、出力値SVO2が第2しきい値Vth2以上であるかを判別する。出力値SVO2が第2しきい値Vth2未満であれば、ステップS10に進み、PID制御部120は、出力値SVO2が第1しきい値Vth1以下であるかを判別する。出力値SVO2が第1しきい値Vth1以下であれば、ステップS11に進み、PID制御のゲインを高いゲインGHに設定し、出力値SVO2が第1しきい値Vth1を超えていれば、ステップS12に進み、PID制御のゲインを低いゲインGLに設定する。
そして、ステップS13において、PID制御部120は、設定されたゲインにてPID制御を行い、PID補正係数KO2(PID)を出力する。これにより、第2還元補正係数KCATRD(K2)による燃料噴射量の増量をPID補正係数KO2(PID)で補うかたちとなるため、出力値SVO2は高速に目標値Vstoに向かう。その結果、図4に示すように、本来、例えば時点t4まで必要だった還元処理がそのよりも短い時点t3にて還元処理を終了させることができる。
次のステップS14において、リッチスパイク制御部118、PID制御部120及びカウント値補正部132は、還元処理の強制終了があるか否かを判別する。この判別は、還元処理中にリーン化開始検知部112から強制終了信号Scが出力されたかどうかで行われる。強制終了でなければ、次のステップS8以降の処理に戻り、リッチスパイク制御部118とPID制御部120による空燃比制御が行われる。
一方、上述したステップS9において、出力値SVO2が第2しきい値Vth2以上であると判別された場合は、ステップS15に進み、リッチスパイク制御部118は、リッチスパイク制御(還元処理)を停止する。次のステップS16において、カウント値補正部132は、カウント値補正マップ136から現在の出力値に応じた補正係数を読み出して、カウンタ126の累算値(カウント値)に補正係数を乗算することで、カウント値を補正する。これにより、還元処理の開始時点t1で累算が停止されていたカウンタ126の累算値は、第2しきい値Vth2に応じた累算値に補正される。
その後、ステップS17において、低いゲインGLでのPID制御部120による空燃比制御が行われ、ステップS18において、再開判定部122は、O2センサ52の出力値SVO2が目標値Vstoに達したか否か判別する。出力値SVO2が目標値Vstoに達していなければ、ステップS17に戻り、PID制御が行われる。すなわち、出力値SVO2が目標値Vstoに達するまで、ステップS17において、低いゲインGLでのPID制御部120による空燃比制御が行われると共に、補正された累算値が維持される。この場合、出力値SVO2は、オーバーシュートすることなく目標値Vstoに収束することとなる。
そして、上述したステップS18において、出力値SVO2が目標値Vstoに達したと判別された段階で、ステップS19に進み、カウント値累算部130は、再開判定部122からのリセット信号Srの入力に基づいて、カウンタ126の累算値を初期値「0」にリセットする。また、ステップS20において、スライディングモード制御部100は、再開判定部122からの制御再開信号Seの入力に基づいてスライディングモード制御による空燃比制御を再開する。このとき、切換部114は、再開判定部122からの第2切換信号Sh2の入力に基づいてスライディングモード制御部100からの出力に切り換える。これにより、基本燃料噴射量TIMBが、スライディングモード制御部100からの補正係数KO2(SM)と、水温、吸気温、大気圧等からなる環境補正係数KECOによって補正されて燃料噴射時間Toutとして出力されることになる。
ところで、図7に示すように、還元処理中の例えば時点t5において、再び二次空気の導入等が行われると、図6のステップS14において、強制終了であると判別され、ステップS21以降の強制終了処理に進む。すなわち、ステップS21において、リッチスパイク制御部118及びPID制御部120は、リーン化開始検知部112からの強制終了信号Scの入力に基づいて、リッチスパイク制御及びPID制御を停止する。
また、ステップS22において、カウント値補正部132は、強制終了信号Scの入力に基づいて、カウント値補正マップ136から現在の出力値SVO2に応じた補正係数を読み出して、カウンタ126の累算値(カウント値)に補正係数を乗算することで、カウント値を補正する。これにより、還元処理の開始時点t1で累算が停止されていたカウンタ126の累算値は、強制終了した時点t5の出力値SVO2に応じた累算値に補正されることになる。このカウント補正処理は、還元処理が強制終了され、再び二次空気の導入等が行われる際のカウント初期値を適正な値に設定することができる。そのため、還元処理が繰り返される場合においても、2度目以降の還元処理を適正なリッチ噴射制御で行うことができる。
ステップS22でのカウント値の補正処理が終了した段階で、ステップS3以降の処理に戻る。図7に示すように、強制終了時点t5以降は、上述した図4のリーン化開始時点t0以降と同様の処理が行われ、還元処理中に、二次空気の導入等が行われなければ、リッチスパイク制御部118とPID制御部120による空燃比制御が行われ、出力値SVO2が第2しきい値Vth2に達した段階で、カウンタ126の累算値が第2しきい値Vth2に応じた累算値に補正され、さらに、出力値SVO2が目標値Vstoに達した段階で、累算値が0にリセットされて、スライディングモード制御部100による空燃比制御が再開される。
そして、上述のステップS20においてスライディングモード制御部100での空燃比制御が再開された段階、あるいは、ステップS1において、二次空気導入でもFC制御でも減速リーン化でもないと判別された場合は、ステップS23に進み、排気浄化制御装置10の終了要求(電源断、メンテナンス要求等)があるか否かを判別する。終了要求がなければステップS1以降の処理を繰り返し、終了要求があった段階で、この排気浄化制御装置10での処理動作を終了する。
このように、本実施の形態に係るエンジン28の排気浄化制御装置10は、排気管32に導入される空気量が増加される特定エンジン制御(二次空気の導入、FC制御、減速リーン化制御)時に、スライディングモード制御を停止した後、特定エンジン制御後の燃料噴射量にオープンループ制御の還元補正係数KCATRDを乗算するリッチスパイク制御部118(還元処理手段)を備えるエンジン28の排気浄化制御装置10において、触媒50の還元処理中に、O2フィードバック制御(PID制御部120によるPID制御)を再開し、燃料噴射量に目標値Vstoと現在の出力値SVO2との偏差を基に導出されるO2フィードバック補正係数KO2(PID)をさらに乗算するようにしている。
O2センサ52は、ストイキ近傍で、O2センサ52の出力値SVO2がリーン側からリッチ側に急激に変化するため、還元処理中の出力値SVO2はリーン出力となる。そのため、例えばストイキ近傍にSVO2の目標値Vstoを設定すると、必ずフィードバック制御での偏差が生じ、燃料を増量させることができる。本来、通常のO2フィードバック制御がしにくい還元処理中にあえて、O2フィードバック制御を同時に行うことで、触媒50下流の空燃比を検出するO2センサ52の出力値SVO2の目標値Vstoとの偏差を活かし、未燃ガスの発生を抑えながらも、還元補正係数KCATRDのマージンを削るべく可及的にリッチ噴射を行うことが可能となり、還元処理を早期に終了させることができる。
また、本実施の形態では、O2センサ52の出力値SVO2が目標値Vstoよりも低い第1しきい値Vth1になったら、O2フィードバック制御のゲインを弱めるようにしている。これにより、目標値Vstoを超える、いわゆるオーバーシュートの発生を回避することができる。
還元補正係数KCATRDは、還元処理開始から所定時間Taにわたって出力される第1還元補正係数KCATRD(K1)と、所定時間Taの経過後に出力され、第1還元補正係数KCATRD(K1)よりも低い第2還元補正係数KCATRD(K2)とを有する。そして、還元処理中のO2フィードバック制御を、第2還元補正係数KCATRD(K2)の移行時に開始するようにしたので、第1還元補正係数KCATRD(K1)のみによるリッチスパイク制御と比して、過剰に燃料噴射することを抑えることができる。
本実施の形態では、O2センサ52の出力値SVO2がO2フィードバック制御の目標値Vstoよりも低い第2しきい値Vth2(≧第1しきい値Vth1)になった段階で、還元処理のみ終了させる。すなわち、還元処理が終盤にさしかかったら、還元処理による増量補正を終了させ、O2フィードバック制御のみとすることで、オーバーシュートを抑えながら目標値Vstoに収束させ易くすることができる。
さらに、本実施の形態では、二次空気導入、又はFC制御、又は減速リーン化制御後のカウント値に、還元処理終了時のO2センサ52の出力値SVO2から導出される補正係数を乗算することで、還元処理終了時の酸素蓄積量を推測する酸素蓄積量推測部124を備えている。すなわち、AI実施時、又はFC制御の実施時、又は減速リーン化制御の実施時は、カウンタ126によって酸素蓄積量を加算推測し、還元処理中はその値を保持する。そして、還元処理が正常又は強制終了した際のO2センサ52の出力値SVO2から補正係数を導出し、カウント値に乗算することで、還元処理終了時の酸素蓄積量を推測する。O2センサ52の出力値SVO2は、触媒50内の酸素蓄積量と関連があるため、還元処理終了時のO2センサ52の出力を参照することで、触媒50の状態を比較的精度よく推測することができる。これにより、還元処理の最中に触媒50内の酸素蓄積量をその都度算出する必要をなくしながら、還元処理終了時の酸素蓄積量を推測することができるため、簡素な手法で酸素蓄積量を精度よく推測することが可能となる。
また、本実施の形態では、還元処理が二次空気の再導入、又はFC制御の再実行、又は減速リーン化制御の再実行によって強制終了される際のカウント値の補正値を、二次空気再導入時、FC制御の再実行時、又は減速リーン化制御の再実行時のカウント値の初期値としている。これにより、還元処理が強制終了され、再びAIが導入される際、あるいは再びFC制御が実行される際、あるいは再び減速リーン化制御が実行される際のカウンタ126の初期値を適正に設定することができるため、還元処理が繰り返される際も、2度目以降の還元処理を適正なリッチ噴射制御で行うことができる。
還元処理後、O2センサ52の出力値SVO2が目標値Vsto(ストイキ出力)に達した段階で、カウンタ126をゼロにリセットしたので、その後のAI導入時、あるいはFC制御時、あるいは減速リーン化制御時に、カウント値がゼロの状態からの適切なカウントを行うことが可能となる。
還元処理終了時の補正係数は、O2センサ52の出力値SVO2が高いほど低くなるように設定されている。O2センサ52の出力値SVO2が高いほど、空燃比はリッチ側であるため、触媒50内の酸素蓄積量は低いと考えられる。従って、還元処理終了時の補正係数を、O2センサ52の出力値SVO2が高いほど低くなるように設定することで、精度よく補正係数を設定することができる。
しかも、還元処理終了時のO2センサ52の出力値SVO2に対する補正係数の関係を、O2センサ52の出力値SVO2が低い領域では、O2センサ52の出力値SVO2が上昇するに従って、補正係数が急峻に減少し、O2センサ52の出力値SVO2が高い領域では、O2センサ52の出力値SVO2が上昇するに従って、補正係数が緩やかに減少する特性を有するようにしたので、さらに、精度よく補正係数を設定することが可能となる。
なお、本発明に係るエンジンの排気浄化制御装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。