以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本実施形態に係る内燃機関(以下、「エンジン」という)1及びその排気浄化システム2の構成を示す図である。エンジン1は、燃焼空燃比をストイキよりもリーンとする所謂リーン燃焼を基本としたもの、より具体的にはディーゼルエンジンやリーンバーンガソリンエンジンなどである。
排気浄化システム2は、エンジン1の排気通路11に設けられたリーンNOx触媒(以下、「LNT」という)41及び排気浄化フィルタ43と、排気通路11中に燃料を噴射する排気燃料噴射装置45と、エンジン1及び排気燃料噴射装置45を制御する電子制御ユニット(以下、「ECU」という)3と、を含んで構成される。
エンジン1には、各シリンダに燃料を噴射する燃料噴射弁13が設けられている。これら燃料噴射弁13は、図示しない駆動装置を介してECU3に接続される。ECU3は、後に図2〜26を参照して説明する筒内燃料噴射制御によって燃料噴射弁13からの燃料噴射量及び燃料噴射時期等を決定し、駆動装置は、決定された燃料噴射態様が実現されるように燃料噴射弁13を駆動する。
LNT41は、酸化機能と、DeNOx機能と、三元浄化機能との少なくとも3つの機能を備える。ここで酸化機能とは、燃焼空燃比をストイキよりリーンとするリーン運転中において、排気に含まれるHC及びCOを酸化する機能をいう。DeNOx機能とは、排気の空燃比がストイキよりリーンであるときに排気に含まれるNOxを吸蔵し、排気燃料噴射装置45からの排気燃料噴射や燃料噴射弁13からのポスト噴射等によって排気中に燃料が供給されると、これを還元剤としてNOxを還元する機能をいう。また三元浄化機能とは、燃焼空燃比をストイキにするストイキ運転中に、排気に含まれるHC、CO及びNOxを合わせて浄化する機能をいう。
以上のように、排気中のNOxは、リーン運転中はLNT41のDeNOx機能を利用して浄化でき、ストイキ運転中はLNT41の三元浄化機能を利用して浄化できる。ここで、DeNOx機能を利用してNOxを浄化した場合と、三元浄化機能を利用してNOxを浄化した場合とを比較すると、三元浄化機能を利用した場合の方が効率的にNOxを浄化できる。そこで、例えば高負荷運転時であってエンジン1から排出されるNOx量が多くなる場合や、LNT41が活性に達しておらず十分にDeNOx機能を発揮できない場合等には、三元浄化機能を利用して排気を浄化すべく、リーン運転からストイキ運転に切り替えられる(例えば、後述の図3等参照)。
排気浄化フィルタ43は、排気がフィルタ壁の微細な孔を通過する際、排気中の炭素を主成分とするPMを、フィルタ壁の表面及びフィルタ壁中の孔に堆積させることによって捕集する。フィルタ壁の構成材料としては、例えば、チタン酸アルミニウムやコージェライトなどを材料とした多孔質体が使用される。また、LNT41からスリップしたHCが排気浄化システム2の外へ排出されるのを防止するため、排気浄化フィルタ43のフィルタ壁には、排気中のHCを酸化するHC酸化触媒を設けられる。以下では、このような触媒が担持された排気浄化フィルタ43について、「CSF」との略称を用いる。
ところで、排気通路11は、図示しないエンジンルーム内に位置する区間(エンジン直下区間)と、図示しない車両の床下に位置する区間(床下区間)とに分けられる。直下区間は、床下区間よりもエンジン1に近い。したがって、直下区間は、床下区間よりも平均温度が高くまたエンジン1の始動後の温度上昇も速やかである。そこで、上記酸化機能、三元浄化機能、及びDeNOx機能をできるだけ有利に発揮させるため、LNT41は、排気通路11のうち直下区間内に設けられる。
CSF43の捕集能力の限界までPMを捕集すると、圧損が大きくなる。このため、捕集したPMを燃焼除去し、CSF43のフィルタ機能を再生する強制再生処理が適宜実行される。この強制再生処理では、例えばポスト噴射や排気燃料噴射装置45からの燃料噴射を実行し、CSF43に流入する排気を昇温することにより、堆積していたPMを短時間で燃焼除去する。
排気燃料噴射装置45は、燃料が貯蔵される燃料タンク451と、排気通路11のうちLNT11の上流側に設けられた排気燃料インジェクタ452と、燃料タンク451内の燃料をインジェクタ452に圧送する加圧ポンプ453と、を備える。この排気燃料インジェクタ452は、図示しない駆動装置を介して、ECU3に電磁的に接続されている。ECU3は、LNT41のDeNOx機能を利用して排気を浄化する場合には、例えば後述の図27に示す排気燃料噴射制御によって排気燃料インジェクタ452からの単位時間当りの排気燃料噴射量及び排気燃料噴射時期を決定し、駆動装置は、決定された排気燃料噴射態様が実現するように排気燃料インジェクタ452を駆動する。
ところで、近年では、排気燃料インジェクタ452から燃料を噴射し、LNT41のDeNOx機能を利用してNOxを還元する際、排気燃料インジェクタ452からの排気燃料噴射量を5Hz以上の周期で所定の範囲内で増減し、LNT41に流入する排気の炭化水素濃度を振動させると、LNT上では炭化水素由来の中間生成物が生成され、この中間生成物によって高い浄化率で排気中のNOxを連続的に浄化できることが知られている。ただし、LNT41の担体温度が約350℃以下である状態で上述のような態様で燃料を噴射すると、NOxの浄化に寄与しない不必要な成分(例えば、N2O)が生成され、LNT41の下流側へ排出してしまう場合がある。そこで、排気燃料噴射制御では、LNT41の担体温度が約350℃以上であって、630〜700℃程度の上限温度以下である場合にのみ、上述のように燃料を間欠噴射する。
なお以下では、排気燃料噴射装置45とLNT41とを合わせたものを総称して排気燃料噴射システムという。また、上述のように排気燃料インジェクタ452から燃料を間欠的に噴射することによって、LNT41において中間生成物を生成させながら、LNT41に流入する排気中のNOxを連続的に浄化することを排気燃料噴射浄化運転という。
ECU3には、排気通路11内の状態やエンジン1の状態を検出するためのセンサとして、触媒前LAFセンサ51、触媒後O2センサ52、触媒前温度センサ53、触媒後温度センサ54、クランク角度位置センサ55、アクセル開度センサ56、エアフローセンサ57、及び大気温度センサ58等が接続されている。
触媒後O2センサ52は、排気通路11のうちLNT41とCSF43との間に設けられる。O2センサ52は、LNT41の下流側の排気の酸素濃度(空燃比)を検出し、検出値に応じた信号をECU3に送信する。O2センサ52から出力される信号のレベルは、燃焼空燃比がストイキよりリッチである場合にはハイ(例えば、1)になり、ストイキよりリーンである場合にはロー(例えば、0)になるような略2値的な特性がある(例えば、後述の図15参照)。以下では、O2センサ52の出力がローからハイに切り替わることを、出力の反転、という。
触媒前LAFセンサ51は、排気通路11のうちLNT41及び排気燃料インジェクタ452より上流側に設けられる。LAFセンサ51は、LNT41の上流側であって、排気燃料インジェクタ452から燃料が噴射される前の排気の空燃比を検出し、検出値に略比例した信号をECU3に送信する。なおこのLAFセンサ51から出力される信号は、上記O2センサ52と異なり、リッチな領域からリーンな領域まで、より広範囲な空燃比の領域でリニアな特性を有する。
触媒前温度センサ53は、排気通路11のうちLNT41より上流側に設けられ、触媒後温度センサ54は、排気通路11のうちLNT41より下流側に設けられる。これら温度センサ53,54は、それぞれLNT41に流入する排気及びLNT41から流出する排気の温度を検出し、検出値に略比例した信号をECU3に送信する。両センサ54,54の間に設けられるLNT41の担体温度の推定値は、ECU3によって、例えばこれら温度センサ53,54の出力の重み付き平均値として算出される。
クランク角度位置センサ55は、エンジン1のクランク軸の回転角度を検出するとともに、所定のクランク角ごとにパルスを発生し、そのパルス信号をECU3に送信する。エンジン1の回転数は、このパルス信号に基づいてECU3により算出される。アクセル開度センサ56は、車両の図示しないアクセルペダルの踏み込み量(以下、「アクセル開度」という)を検出し、検出値に略比例した検出信号をECU3に送信する。ECU3は、これらアクセル開度及びエンジン回転数等に応じて、ドライバ要求トルクを算出する。エアフローメータ57は、吸気通路12に設けられる。エアフローメータ57は、吸気通路12を流通する吸入空気量を検出し、検出値に略比例した信号をECU3に送信する。ECU3は、この吸入空気量に応じて排気ボリュームを算出する。
図2は、各シリンダの燃料噴射弁による燃料噴射態様を決定する筒内燃料噴射制御の具体的な手順を示すメインフローチャートである。図2に示す処理は、ECUにおいて1燃焼サイクルごとに各気筒のTDCタイミングと同期して実行される。なお以下では、ECUにおいてTDC同期で更新又はサンプリングされる値については、括弧書きで符号”k”を付す。
図2等を参照して具体的な手順を説明する前に、筒内燃料噴射制御及び排気燃料噴射制御において定義されている3種類の主な運転モードについて説明する。運転モードは、リーン運転モードと、ストイキ運転モードと、排気燃料噴射浄化運転モードとに分けられる。以下では、これら3つの運転モードのうち、どの運転モードが実行されているか又はどの運転モードの実行が要求された状態であるかを明示するため、排気燃料噴射浄化運転モードフラグF_ExINJ_modeと、ストイキモードフラグF_Stoic_modeとの2種類のフラグを定義する。なお、フラグF_ExINJ_modeは、後述の図27に示す排気燃料噴射制御によって更新され、フラグF_Stoic_modeは、後述の図3に示す処理によって更新される。
リーン運転モードとは、混合気の空燃比をストイキよりリーンにする運転モードである。なお、リーン運転モードが要求されている場合又はリーン運転モードを実行している場合には、2つのフラグF_ExINJ_mode及びF_Stoic_modeは両方とも”0”に設定される。なおリーン運転モード中は、所定の周期で定期的にポスト噴射や排気燃料インジェクタからの燃料噴射を行い一時的にLNT上の排気を還元雰囲気にすることにより、LNTに吸着又は吸蔵された酸素やNOxを還元する。
ストイキ運転モードとは、触媒前LAFセンサ及び触媒後O2センサの出力を利用したフィードバック制御を実行することによって、LNTの三元浄化機能を利用して排気を浄化する運転モードである。なお、ストイキ運転モードが実行されている場合又はストイキ運転モードの実行が要求されている場合には、フラグF_Stoic_modeは”1”に設定される。
排気燃料噴射浄化運転モードとは、LNTの酸化能力に応じて排気燃料噴射量を決定し(後述の図27等参照)、当該決定された量の燃料を上述のように排気燃料インジェクタから間欠的に噴射することによって、LNTにおける中間生成物の生成量を最大化しながら、LNTに流入する排気中のNOxを連続的に浄化する運転モードである。なお、排気燃料噴射浄化運転モードが要求されている場合又は排気燃料噴射浄化運転モードが実行されている場合には、フラグF_ExINJ_modeは”1”に設定される。
S1では、エンジンの運転状態に応じて予め定められたマップ(図示せず)を検索することによって、基本燃料噴射量Gfuel_bs(k)を決定し、S2に移る。この基本燃料噴射量とは、例えばリーン運転時における筒内燃料噴射量に相当する(後述のS13参照)。後に詳述するようにストイキ運転時及び排気燃料噴射浄化運転時は、基本燃料噴射量には、触媒前LAFセンサ及び触媒後O2センサの出力に基づいて算出される空燃比補正係数KAF(k)が乗算される(後述のS10参照)。また、エンジンの運転状態を示すものであって、基本燃料噴射量を決定するために用いられる入力パラメータとしては、例えば、ドライバ要求トルク及びエンジン回転数等が挙げられる。
S2では、筒内燃料噴射制御及び排気燃料噴射制御に関わる装置が正常であるか否かを判別する。S2における判別に係る装置とは、例えばインテークスロットル及びEGRバルブや(図示せず)、ストイキ運転を行うために必要となる触媒前LAFセンサ、触媒後O2センサ、及び温度センサ等である。S2の判別がYESである場合(装置は正常である場合)にはS3に移り、NOである場合(装置は正常でない場合)にはS13に移り、2つのフラグの状態によらずリーン運転を実行する。
S3では、LNTは活性状態であるか否かを判別する。より具体的には、S3では、LNTの担体温度の推定値を算出し、当該推定値が所定の活性温度(例えば200℃)以上である場合には活性状態であると判断し、それ以外の場合には、活性状態でないと判断する。S3の判別がYESである場合にはS5に移り、NOである場合には、S13に移り、リーン運転を実行する。
S5では、ストイキ運転の実行の可否を判断するストイキ運転条件判断処理を実行し、S6に移る。このストイキ運転条件判断処理では、エンジンの運転状態や排気通路内のLNTの状態等に応じてストイキ運転を行うのに適した状態であるか否かが判断される(後述の図3参照)。この処理の結果、ストイキ運転を行うのに適した状態であると判断された場合には、ストイキモードフラグF_Stoic_mode(k)は”1”に設定され、それ以外の場合にはフラグF_Stoic_mode(k)は”0”に設定される。
S6では、2つのフラグF_Stoic_mode(k)及びF_ExINJ_mode(k)の何れかが”1”であるか否かを判別する。S6の判別がYESである場合には、S7に移り、NOである場合には、S13に移り、リーン運転を実行する。
S7では、後述の付加噴射燃料量算出処理を実行し、S8に移る。ここで、付加噴射とは、アフター噴射と排気燃料噴射との総称をいう。後に図6を参照して詳細に説明するように、この付加噴射燃料量算出処理では、ストイキ運転時又は排気燃料噴射浄化運転時におけるアフター噴射量Gfuel_aft(k)及び排気燃料噴射量Gfuel_ex_add(k)を決定する。
S8では、パイロット噴射によって供給する燃料量Gfuel_pi(k)(以下、「パイロット噴射量」という)を算出し、S9に移る。なおこのパイロット噴射量Gfuel_pi(k)は、エンジン回転数及び負荷パラメータ(例えば、BMEP。その他、要求トルク、燃料噴射量、エンジントルク推定値、及び排気ボリュームなどのエンジンの負荷に比例して大きくなるパラメータが用いられる)等を入力として、マップ検索等の既知の方法によって算出される。
S9では、後述の目標触媒前空燃比演算を実行し、S10に移る。この目標触媒前空燃比演算では、触媒前LAFセンサの出力値AFact(k)に対する目標値AFcmd(k)及び筒内燃料噴射量の暫定値Gfuel_cyl(k)を決定する(後述の図9参照)。ここで「筒内燃料噴射量」とは、1燃焼サイクルの間に気筒内における燃焼に供される燃料の総量であり、パイロット噴射、メイン噴射、及びアフター噴射によって噴射される燃料を全て合わせたものに相当する。すなわち、この筒内燃料噴射量に、排気燃料インジェクタから噴射される燃料量は含まれていない。
S10では、後述の触媒前空燃比フィードバック演算を実行し、S11に移る。この触媒前空燃比フィードバック演算では、触媒前LAFセンサの出力値AFact(k)をS7で算出された目標値AFcmd(k)に制御するための空燃比補正係数KAF(k)を算出する。
S11では、空燃比補正係数KAF(k)をS10で算出された筒内燃料噴射量の暫定値Gfuel_cyl(k)に乗算することによって、最終的な筒内燃料噴射量Gfuel(k)を決定し(下記式(1)参照)、S12に移る。
S12では、筒内燃料噴射量Gfuel(k)から、上記S7で決定されたアフター噴射量Gfuel(k)及びS8で決定されたパイロット噴射量Gfuel_pi(k)を減算することによって、メイン噴射によって供給する燃料量Gfuel_main(k)(以下、「メイン噴射量」という)を算出し(下記式(2)参照)、この処理を終了する。
S13では、S1で得られた基本燃料噴射量Gfuel_bs(k)をリーン運転時における最終的な筒内燃料噴射量Gfuel(k)として決定し、S14に移る。S14では、リーン運転モード時用に定められた所定のアルゴリズム(図示せず)に従って燃料噴射態様を決定し、この処理を終了する。
図3は、ストイキモードフラグF_Stoic_modeを更新するストイキ運転条件判断処理の具体的な手順を示すフローチャートである。換言すれば、図3は、ストイキ運転を行うかリーン運転を行うかを決定するフローチャートである。図3に示す処理は、図2に示すメイン処理のサブルーチンとして、同じ周期(TDC同期)で実行される。
S21では、LNTを熱から保護するために設定された所定のLNT保護条件を満たすか否かを判別する。ストイキ運転を実行すると、排気温度が上昇し、排気通路内の触媒の担体温度も上昇する。LNTはエンジンに近いため、ストイキ運転実行時の温度上昇も大きい。LNT保護条件とは、温度上昇によってLNTが劣化するのを防止するために設定される条件である。より具体的には、S21では、LNTの担体温度の推定値を算出し、当該推定値が、例えば630〜700℃程度に設定された所定のLNT保護温度未満である場合には保護条件を満たすと判断し、それ以外の場合には保護条件を満たさないと判断する。S21の判別がNOである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図2のS6に戻る。S21の判別がYESである場合には、S23に移る。
S23では、LNTが活性状態に達したか否かを判別する。より具体的には、S23では、LNTの担体温度の推定値が、例えば200℃程度に設定された所定の活性温度以上であるか否かを判別する。S23の判別がNOである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図2のS6に戻る。S23の判別がYESである場合には、S24に移る。
S24では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeは”1”であるか否かを判別する。S23の判別がYESである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図2のS6に戻る。S24の判別がNOである場合には、S25に移る。
S25では、排気燃料噴射システムによるNOx浄化可能条件を満たすか否かを判別する。このNOx浄化可能条件とは、排気燃料噴射システムによって、LNTから不必要な成分(例えば、N2O等)を排出することなく、かつ適切な浄化効率で排気中のNOxを浄化できる状態であるか否かを判別するための条件である。より具体的には、S25では、LNTの担体温度の推定値が、例えば350〜400℃程度に設定された浄化可能温度以上である場合には、NOx浄化可能条件を満たすと判断する。なお、S25の判別がNOである場合とは、例えばエンジン始動開始直後の暖機過程中である場合や、市街地走行中であってLNTが低温化した場合等が想定される。
S25の判別がNOである場合には、S26に移り、排気燃料噴射システムによるNOx浄化よりも、LNTの三元浄化機能を利用した排気浄化に重点を置いた三元浄化モード時用のマップを用いてストイキモードフラグF_Stoic_mode(k)を更新する。より具体的には、エンジン回転数及びエンジンの負荷パラメータ(例えば、BMEP等)を取得し、これらを入力パラメータとして図4に示すような三元浄化モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。図4において破線で示すように、エンジンの運転状態を大まかに4つの領域に分けると、エンジンから排出され、LNTに流入するNOx量が多い低回転−高負荷領域、高回転−低負荷領域、及び高回転−高負荷領域の3つの領域ではストイキ運転が選択され(F_Stoic_mode←1)、LNTに流入するNOx量が少ない低回転−低負荷領域ではリーン運転が選択される(F_Stoic_mode←0)。
S25の判別がYESである場合には、S27に移り、排気燃料噴射システムによるNOx浄化とLNTの三元浄化機能を利用した排気浄化との併用モード時用のマップを用いてストイキモードフラグF_Stoic_mode(k)を更新する。より具体的には、エンジン回転数及び負荷パラメータを取得し、これら入力パラメータとして図5に示すような併用モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。なお図4の三元浄化モード時用のマップと図5の併用モード時用マップとを比較すると、ストイキ運転が選択される領域(F_Stoic_mode←1)は、図5の併用モード時用マップの方が狭い。これは、S25の判別がYESである場合は、NOである場合よりも排気燃料噴射システムによって浄化できるNOx量が多いからである。
図6は、付加噴射燃料量算出処理の具体的な手順を示すフローチャートである。図6に示す処理は、図2に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。この付加噴射燃料量算出処理では、アフター噴射によって供給する燃料量であるアフター噴射量Gfuel_aft(k)と、アフター噴射の代替として排気燃料インジェクタから噴射する燃料量に相当する追加排気燃料噴射量Gfuel_ex_add(k)とを決定する。
S31では、アフター噴射量と追加排気燃料噴射量とを合わせた量である付加噴射燃料量Gaddを算出し、S32に移る。より具体的には、S31では、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって算出する。
図7は、付加噴射燃料量Gadd(k)を決定するマップの一例である。図7に示すように、付加噴射燃料量Gaddは、エンジン回転数が高くなるほど、又はエンジン負荷が大きくなるほど大きな値に設定される。
S32では、排気燃料噴射システムが故障した状態であることを示す故障フラグF_ExINJ_NGが”0”であるか否かを判別する。この故障フラグF_ExINJ_NGは、排気燃料噴射システムが正常であるときには”0”となり、異常が生じた場合には”1”になるように図示しない処理によって逐次更新される。排気燃料噴射システムが正常である場合にはF_ExINJ_NG=0であり、故障した場合にはF_ExINJ_NG=1のである。S32の判別がNOであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、S33に移る。S33では、下記式(3−1)及び(3−2)に示すように、S31で決定した付加噴射燃料量Gadd(k)の全てをアフター噴射に振り分ける。
S32の判別がYESであり、排気燃料インジェクタから燃料を噴射できる状態である場合には、S34に移る、S34では、LNTの担体温度の推定値Tcc_hat(k)を算出し、この推定値Tcc_hat(k)に基づいてアフター噴射量と追加排気燃料噴射量との比である付加噴射比率Radd(k)を算出し、S35に移る。
図8は、付加噴射比率Radd(k)を決定するマップの一例である。LNTの担体温度が低い状態で排気燃料インジェクタから燃料を噴射すると、LNTでは不必要な中間生成物であるN2Oが生成されやすい。このため、図8に示すように、LNTの担体温度の推定値が約400℃より低い場合には、比率Radd(k)を0とし、排気燃料インジェクタからは必要以上に燃料を噴射しないようにする。また、LNTの担体温度の推定値が約400℃以上である場合には、担体温度が高くなるほど比率Radd(k)を徐々に大きくする。
図6に戻って、S35では、下記式(4−1)及び(4−2)に示すように、S34で決定した比率Radd(k)に応じて付加噴射燃料量Gadd(k)をアフター噴射と排気燃料噴射とに振り分け、この処理を終了する。
図9は、目標触媒前空燃比演算の具体的な手順を示すフローチャートである。図9に示す処理は、図2に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。この目標触媒前空燃比演算では、ストイキ運転中又は排気燃料噴射浄化運転中における触媒前LAFセンサの出力に対する目標値に相当する目標触媒前空燃比AFcmd(k)と、筒内燃料噴射量Gfuel_cyl(k)とを決定する。
S41では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeが”1”であるか否かを判別する。S41の判別がYESである場合(排気燃料噴射浄化運転中である場合)には、S42に移り、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって目標触媒前空燃比AFcmd(k)を決定し、S43に移る。
図10は、排気燃料噴射浄化運転中における目標触媒前空燃比AFcmdを決定するマップの一例を示す図である。LNTに流入する排気の酸素濃度が低くなるほど、LNTではHCが直接酸化し水と二酸化炭素が生成される確率が低くなるので、NOxの浄化に寄与する中間生成物の生成効率は高くなる。よって、排気ボリュームやLNTに流入する排気のNOx濃度が高くなり、LNTでは効率的なNOx浄化が要求されるような運転状態(高回転域又は高負荷域)では、LNTに流入する排気の酸素濃度を低くする方が好ましい。本発明ではこれを実現するため、図10に示すように、目標触媒前空燃比AFcmdを高回転又は高負荷になるほどリッチになるように設定する。
図9に戻って、S43では、下記式(5)に従い、図2のS1で決定した基本燃料噴射量Gfuel_bs(k)及び目標触媒前空燃比AFcmd(k)に基づいて筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し、図2のS10に戻る。ここで、下記式(5)におけるαstは、理論空燃比であり使用する燃料に応じた値(例えば、14.5)に設定される。
S41の判別がNOである場合(ストイキ運転中である場合)には、S45に移り、下記式(6)に従い、図2のS1で決定した基本燃料噴射量Gfuel_bs(k)と、後述の図12の処理に従って10〜50msec周期で更新される目標触媒後空燃比AFcmd_dsをリサンプリングして得られる目標値AFcmd_ds_tdc(k)とに基づいて要求燃料量Gfuel_rq(k)を算出し、S46に移る。この目標値AFcmd_ds_tdc(k)は、排気燃料インジェクタより下流側のLNTにおける排気空燃比に対する目標に相当する。従って、下記式(6)で得られる要求燃料量Gfuel_rq(k)は、筒内に噴射する燃料と排気燃料インジェクタから噴射する燃料とを合わせた総燃料量に対する要求値に相当する。
S46では、要求燃料量Gfuel_rq(k)から排気燃料噴射量Gfuel_ex(k)を減算することにより、筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し(下記式(7)参照)、S47に移る。
S47では、図示しない処理によって算出された気筒内の新気量の推定値Gair_cyl_hatを筒内燃料噴射量の暫定値Gfuel_cyl(k)で除算することにより、目標触媒前空燃比AFcmd(k)を算出し(下記式(8)参照)、図2のS10に戻る。
図11は、空燃比補正係数KAFを決定する触媒前空燃比フィードバック演算の具体的な手順を示すフローチャートである。図11に示す処理は、図2に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。
S51では、触媒前LAFセンサが活性に達したか否かを判別する。S51の判別がNOである場合には、以下のフィードバック演算を行うことなく補正係数KAF(k)=1とし(S52)、図2のS11に戻る。
S51の判別がYESである場合には、触媒前LAFセンサの出力値AFact(k)と、図9の処理によって決定された目標値AFcmd(k)との偏差E_af(k)(下記式(9−1)参照)が0になるように既知のフィードバックアルゴリズムを利用して補正係数KAF(k)を決定し(S53)、図2のS11に戻る。S53における演算の一例として、下記式(9−1)〜(9−3)には、スライディングモードアルゴリズムを利用して補正係数KAF(k)を決定する場合の演算式を示す。式(9−2)において、”Pole_af”は、切換関数設定パラメータであり、-1より大きく0より小さな値(例えば、-0.65)に設定される。また、式(9−3)において2つのフィードバックゲイン”Krch_af”及び”Kadp_af”は、負の値に設定される。なお、S53における触媒前フィードバックの偏差の補償速度は、後述の図12における触媒後フィードバックの速度よりも速く設定することが好ましい。
図12は、目標触媒後空燃比AFcmd_dsを決定する触媒後空燃比フィードバック演算の具体的な手順を示すフローチャートである。図12に示す処理は、ECUにおいて所定の制御周期tm(10〜50msec)で実行される。なお以下では、周期tmで更新又はサンプリングされる値については、括弧書きで符号”m”を付す。なお、図9の処理で説明したように、図12の処理で算出される目標触媒後空燃比AFcmd_dsは、排気燃料インジェクタの下流側のLNTにおける排気空燃比の目標値として用いられる。
S61では、触媒後O2センサが活性に達したか否かを判別する。S61の判別がNOである場合には、以下のフィードバック演算を行うことなく、目標値AFcmd_ds(m)を所定の基準値AFcmd_bs(固定値であり、例えば14.5)とし(S62)、この処理を終了する。S61の判別がYESである場合には、S63に移る。
S63では、ストイキモードフラグF_Stoic_mode(m)が1であるか否かを判別する。S63の判別がYESである場合には、S64に移り、NOである場合には、S62に移り、上述のようにAFcmd_ds(m)=AFcmd_bsとする。
S64では、後述の還元処理完了フラグF_CRD_Done(m)が”1”であるか否かを判別する。上述のように、リーン運転中にストイキモードフラグF_Stoic_mode(m)が”0”から”1”となることに伴って、ストイキ運転が開始する。ただし、これまでリーン運転を行っていたことにより、LNTには酸素やNOxが多く吸着又は吸蔵されており、ストイキ運転や排気燃料噴射浄化運転を開始しても直ちにLNTの浄化機能を発揮できない。このため、フラグF_Stoic_mode(m)が”0”から”1”になった直後は、所定の期間にわたって空燃比をストイキよりもややリッチ側(所謂、弱リッチ)に偏らせることにより、LNTに吸着又は吸蔵されていた酸素やNOxを短時間で還元させる還元処理を実行する。この還元処理完了フラグF_CRD_Done(m)は、ストイキ運転の開始直後の還元処理が終了したことを示すフラグであり、後述の図16に示す還元特性判定処理によって更新される。以下では、ストイキ運転開始直後にLNTの還元を促進する運転モードを「弱リッチモード」という。また、ストイキ運転中に、触媒後O2センサの出力に基づいて目標触媒後空燃比AFcmd_ds(m)を決定する運転モードを「触媒後空燃比フィードバックモード」という。
S64の判別がNOの場合にはS65に移り、弱リッチモードの下で目標触媒後空燃比AFcmd_ds(m)を決定する。より具体的には、S65では、LNTの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら2つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって目標触媒後空燃比AFcmd_ds(m)を決定し、この処理を終了する。
図13は、弱リッチモードの下で目標触媒後空燃比AFcmd_dsを決定するマップの一例である。図13に示すように、弱リッチモードでは、目標触媒後空燃比AFcmd_dsは、弱リッチの領域(約14.5〜13.5程度)内で、担体温度の推定値Tcc_hat及び排気ボリュームの推定値Gex_hatに応じた値に設定される。より具体的には、目標触媒後空燃比AFcmd_dsは、LNTの担体温度が高くなるほど又は排気ボリュームが小さくなるほど、弱リッチの領域内でリッチ側に設定される。
図13に戻ってS64の判別がYESの場合には、S66に移り、触媒後ストイキフィードバックモードの下で目標触媒後空燃比AF_cmd_ds(m)を決定する。S66では、LNTの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら2つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって、触媒後O2センサの出力Vout(m)に対する目標値Vcmd(m)を決定し、S67に移る。
図14は、触媒後O2センサの出力の目標値Vcmd(m)を決定するマップの一例である。図14に示すように、O2センサの目標値Vcmdは、O2センサの出力の反転を判別するために設定される反転判別閾値Vln(例えば、0.1)よりもリッチ側の領域内で、LNTの担体温度が高くなるほどリッチ側に補正される。また排気ボリュームが大きくなるほど(換言すれば、負荷が高くなるほど)、エンジンから排出されるNOx量が増加するとともに、LNTにおける排気通過速度が増加するため、結果としてLNTにおけるNOx浄化率が低下する。このようなNOx浄化率の低下を補償すべく、O2センサの目標値Vcmd(m)は、図14に示すように排気ボリュームが大きくなるほどリッチ側に補正し、LNT上でのCO、H2、NH3等の還元剤の生成量を増加させる。
図12に戻ってS67では、触媒後O
2センサの出力値Vout(m)と、その目標値Vcmd(m)との偏差E_v(m)(下記式(10−1)参照)が0になるように、既知のフィードバックアルゴリズムを利用して目標触媒後空燃比AFcmd_ds(m)を決定し、S68に移る。S67におけるフィードバック演算の一例として、下記式(10−1)〜(10−3)には、スライディングモードアルゴリズムを利用して目標空燃比AFcmd_ds(m)を決定する場合の演算式を示す。式(10−2)において、”Pole_af”は、切換関数設定パラメータであり、-1より大きく0より小さな値(例えば、-0.85)に設定される。また、式(10−3)において2つのフィードバックゲイン”Krch_v”及び”Kadp_v”は、負の値に設定される。
S68では、後に図18を参照して説明する触媒三元特性適応演算を実行し、この処理を終了する。触媒後空燃比フィードバックモードでは、触媒後O2センサの出力に基づいて触媒前LAFセンサの出力に対する目標空燃比AFcmdを決定する(図9参照)。したがって、目標空燃比AFcmdにはLNTの状態が反映される。触媒三元特性適応演算では、このような特性を利用して触媒後空燃比フィードバックモード中に定められた目標空燃比AFcmdに統計処理を施すことにより、LNTのHC酸化性能を数値化した触媒三元特性適応補正値Dtwを算出する。なお、このS68の触媒三元特性適応演算は、後述の図27のS181において、酸化特性パラメータPoxをTYPE3とは別の方法で決定する場合には省略できる。
図15は、以上のような触媒後空燃比フィードバック演算によって目標触媒後空燃比AFcmd_dsを決定した場合における実際の触媒後空燃比(上段)及び触媒後O2センサの出力Vout(下段)の変化の具体例を示すタイムチャートである。図15には、時刻t1においてストイキモードフラグF_Stoic_modeが0から1になった場合を示す。
図12を参照して説明したように、ストイキ運転開始直後(図15中、時刻t1)は、目標触媒後空燃比AFcmd_dsは弱リッチに設定され(図12のS65参照)、これによってLNTに吸蔵されていた酸素が放出されるとともに、弱リッチ化により供給された還元剤の酸化に使用される。時刻t2では、触媒後O2センサの出力値Voutが反転したと判別されたことに応じて、還元処理完了フラグF_CRD_Doneが0から1に切り替わり(後述の図16参照)、弱リッチモード(リッチバイアス)が解除される。また、時刻t2以降は、触媒後O2センサの出力Voutが運転状態に応じて定められた目標値Vcmdになるように目標触媒後空燃比AFcmd_dsが決定される。
図16は、還元処理完了フラグF_CRD_Doneを更新する還元特性判定処理の具体的な手順を示すフローチャートである。図16に示す処理は、ECUにおいて図12の触媒後空燃比フィードバック演算と同じ制御周期tm(10〜50msec)で実行される。図16の還元特性判定処理では、LNTに供給された還元剤の量を推定しながら、還元処理完了フラグF_CRD_Doneを更新する。以下、図17のタイムチャートを参照しながら還元特性判定処理の具体的な手順について説明する。
S81では、ストイキモードフラグF_Stoic_mode(m)が”0”でありかつ排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)が”0”であるか否かを判別する。S81の判別がYESである場合、すなわちストイキ運転中でも排気燃料噴射浄化運転中でもない場合(つまり、リーン運転中である場合)には、S82に移り、S81の判別がNOである場合、すなわちストイキ運転中であるか又は排気燃料噴射浄化運転中である場合(つまり、リーン運転中でない場合)には、S86に移る。
S82では、制御周期tmの間にLNTに供給された還元剤の量の推定値Rd_hat(m)(以下、「瞬時還元剤量推定値」という)と、瞬時還元剤量推定値の暫定値Rd_hat_tmp(m)と、瞬時還元剤量推定値の積算値Crd_hat(m)(以下、「還元剤供給量推定値」という)とを何れも0にリセットし、S83に移る。リーン運転モード中は、LNTに還元剤はほとんど供給されない。S83では、触媒還元特性更新完了フラグF_CrdAdp_done(m)を0にし、S84に移る。このフラグF_crdAdp_done(m)は、後述のS92の触媒還元特性適応演算を実行することにより、LNTの還元特性に関するパラメータの更新が完了したこと明示するために用いられる。S84では、還元処理完了フラグF_CRD_Done(m)を0にリセットし、この処理を終了する。
S86では、図12の処理によって決定される目標触媒後空燃比AFcmd_ds(m)に基づいて瞬時還元剤量推定値Rd_hat(m)を算出し、S87に移る。より具体的には、目標触媒後空燃比AFcmd_ds(m)が基準値AFcmd_bsを下回った場合には、この余剰分に排気ボリュームの推定値Gex_hat(m)を乗じた値を瞬時還元剤量推定値Rd_hat(m)とする。具体的には、暫定値Rd_hat_tmp(m)を導入して、下記式(11−1)及び(11−2)で表される。
S87では、触媒後O
2センサの出力値Vout(m)が反転判定閾値Vlnより小さいか否かを判別する。図12〜15を参照して説明したように、ストイキ運転モードの開始直後(図17中、時刻t1)は、目標触媒後空燃比AFcmd_dsは弱リッチに設定され(図12のS65参照)、目標触媒前空燃比AFcmdはこれに応じた値に設定される(図9の処理参照)。従って時刻t1以降、LNTには余分な燃料が還元剤として供給され、これによってLNTに吸着又は吸蔵されていたNOx及び酸素が還元される。したがって、この還元処理が終了したか否かは、触媒後O
2センサの出力値Vout(m)が反転判定閾値Vlnを超えたか否かによって判別できる。S87の判別がYESである場合には、S88に移り、上記瞬時還元剤量推定値Rd_hat(m)を積算することにより、還元剤供給量推定値Crd_hat(m)を算出し(下記式(12)、及び図17参照)、この処理を終了する。
S87の判別がNOである場合には、ストイキ運転開始直後の還元処理が完了したことを明示すべく還元処理完了フラグF_CRD_Done(m)を1にし(S90)、S91に移る。これにより、触媒後空燃比フィードバック演算では、弱リッチモードから触媒空燃比フィードバックモードに切り替わる(図12のS64参照)。
S91では、触媒還元特性更新完了フラグF_CrdAdp_done(m)が1であるか否かを判別する。S91の判別がNOである場合には、後に図20を参照して説明する触媒還元特性適応演算を実行し(S92)、この処理を終了する。S91の判別がYESである場合、触媒還元特性適応演算が実行済みである場合には、この処理を直ちに終了する。上述のように、ストイキ運転の開始直後は、触媒後O2センサの出力が反転するまで空燃比は弱リッチに設定される。したがって、この間にLNTに供給される還元剤の量の推定値Crd_hatには、その時のLNTの状態が反映される。触媒還元特性適応演算では、このような特性を利用して弱リッチモード中に算出された還元剤供給量推定値Crd_hatに統計処理を施すことにより、LNTのHC酸化性能を示す触媒還元特性適応係数Krdを算出する。なお、このS92の触媒還元特性適応演算は、図27のS181において、酸化特性パラメータPoxをTYPE2とは別の方法で決定する場合には省略できる。
図18は、触媒三元特性適応補正値Dtwを算出する触媒三元特性適応演算の具体的な手順を示すフローチャートである。図18に示す処理は、図12に示す触媒後フィードバック演算のサブルーチンとして、触媒後空燃比フィードバックモードの実行中に、ECUにおいて周期tmで実行される。
触媒三元特性適応演算では、ストイキフィードバックモード中に上記触媒後フィードバック演算(図12参照)によって算出された目標触媒後空燃比AFcmd_dsに、以下で説明するような統計処理を施すことによって、LNTのHC酸化性能を示す触媒三元特性適応補正値Dtwを算出する。この補正値Dtwは、ストイキフィードバックモード中に触媒後O2センサの出力値Voutを目標値Vcmdに維持するための目標触媒後空燃比AFcmd_dsの基準値AFcmd_bsからのずれに相当する。触媒後O2センサの出力値Voutが、反転判別閾値Vlnより大きな目標値Vcmdに維持された状態とは、LNTの下流に、目標値Vcmdに応じた僅かな量の還元剤がスリップしている状態に相当する。この時、LNTの酸化能力や還元能力が低下すると、出力Voutを目標値Vcmdに維持するためにLNTに供給すべき還元剤の量は少なくなり、ひいては触媒後フィードバック演算によって算出される目標触媒後空燃比AFcmd_dsはリーン側へシフトする。
ただしこの目標触媒後空燃比のシフト量(AFcmd_ds-AFcmd_bs)は、例えばLNTの担体温度によって異なる場合がある。換言すると、上記シフト量は、LNTの劣化度合いが同じであっても、LNTの担体温度が高い場合には低い場合よりも大きくなったりする場合がある。また、このシフト量は、LNTの劣化度合いに応じて全ての温度領域で一律に低下するとは限らない。このため、このシフト量をそのままHC酸化性能を示すパラメータとして採用するよりも、以下で示すような統計処理を施すことによって、温度依存性を除くことが好ましい。以下の演算では、上記シフト量から温度依存性を除くべく、担体温度を基底とした1次元直線上に定義された複数の重み関数Wtw_iと、各重み関数に付随する局所適応係数Dtw_iを導入し、これらを利用して重み付けした統計処理によって触媒三元特性適応補正値Dtwを算出する。
S151では、LNTの担体温度の推定値Tcc_hat(m)を取得し、この推定値Tcc_hat(m)に基づいて、予め定められたマップを検索することによって、各三元特性重み関数値Wtw_i(m)(iは正の整数)を算出し、S152に移る。
図19は、三元特性重み関数値を算出するマップ、すなわち三元特性重み関数Wtw_iの形状の一例を示す図である。なお以下では、i=1,2,3の場合、すなわち重み関数の数は3
である場合について説明するが、本発明はこれに限らない。重み関数の数は4以上の場合にも容易に一般化できる。
図19に示すように、第1〜第3重み関数は、LNTの担体温度の推定値Tcc_hatに対して定義される。以下、各重み関数が定義された領域(すなわち、重み関数値が0でない領域)を、それぞれ第1〜第3領域と定義する。図19に示す例では、第1領域は約300℃以下であり、第2領域は約150〜450℃であり、第3領域は約300℃以上である。また、各領域は、互いに重複するように設定される。図19に示す例では、第1領域と第2領域は、約150〜300℃で重複し、第2領域と第3領域は約300〜450℃で重複する。
また、各重み関数Wtw_iの高さは、全重み関数値の総和がどの温度においても1になるように正規化される。これは、他の領域と重複していない領域では1とし、他の領域と重複した領域では単調増加又は単調減少するような関数を設定することにより実現される。図19に示す例では、第1重み関数Wtw_1は、約150℃以下では1であり、約150℃から約300℃の間では1から0へ単調減少する関数として定義される。第2重み関数Wtw_2は、約150℃から約300℃の間では0から1へ単調増加し、約300℃から約450℃の間では1から0へ単調減少する関数として定義される。また、第3重み関数Wtw_3は、約300℃から約450℃の間では0から1へ単調増加し、約300℃以上では1である関数として定義される。
図18に戻って、S152では、下記式(13)示すように、S151で算出した重み関数値Wtw_i(m)と、局所適応係数Dtw_i(m)との積の総和を算出し、これを触媒三元特性適応補正値Dtw(m)とする。これら局所適応係数Dtw_iは、初期値を0として、後述の適応誤差信号E_adp’(m)が0になるように、例えば積分演算によって算出される。
S153では、基準値AFcmd_bsと触媒三元特性適応補正値Dtw(m)とを合算することにより、適応目標空燃比AFcmd_adp(m)を算出する(下記式(14)参照)。
S154では、目標触媒後空燃比AFcmd_ds(m)から上記適応目標空燃比AFcmd_adp(m)を減算することによって適応誤差信号Eadp’(m)を算出し(下記式(15−1)参照)、さらにこの適応誤差信号Eadp’(m)を各領域に分配することによって、局所適応誤差信号E_adp’_i(m)を算出する。より具体的には、適応誤差信号Eadp’(m)に各重み関数値Wtw_i(m)を乗じたものを局所適応誤差信号E_adp’_i(m)とする(下記式(15−2)参照)。
S155では、領域ごとに算出された局所適応誤差信号E_adp’_i(m)が0になるように、例えば下記式(16)で示すように局所適応誤差信号E_adp’_i(m)に負の適応ゲインKadp_tを乗じたもので積分することによって、局所触媒三元特性適応補正値Dtw_i(m)を算出する。
なお、上記触媒三元特性適応演算では、LNTの担体温度を基底とした1次元直線上に互いに重複する第1〜第3領域を定義し、各領域に重み関数Wtw_iを定義したが、本発明はこれに限らない。例えば、LNTの担体温度と排気ボリュームとを基底とした2次元平面上に互いに重複する複数の領域を定義し、この2次元平面上の各領域に重み関数Wtw_ijを定義してもよい。
図20は、触媒還元特性適応係数Krdを算出する触媒還元特性適応演算の具体的な手順を示すフローチャートである。図20に示す処理は、図16に示す還元特性判定処理のサブルーチンとして、弱リッチモードから触媒後空燃比フィードバックモードに切り替わる度に、ECUにおいて制御周期tmで実行される。
触媒還元特性適応係数演算では、ストイキ運転を開始してから、触媒後O2センサの出力が反転するまでにLNTに供給された還元剤量の推定値Crd_hat(m)に基づいて、LNTのHC酸化能力を示す触媒還元特性適応補正係数Krd(m)を算出する。例えばLNTの酸化能力や還元能力が低下すると、同時にLNTのストレージ機能も低下すると考えられる。したがって、触媒後O2センサの出力が反転するまでにLNTに供給する必要のある還元剤の量は、酸化能力や還元能力の低下に伴って少なくなると考えられる。
ただしこの還元剤供給量は、後に図21を参照して説明するように、例えばLNTの担体温度によって異なる。またこの還元剤供給量は、LNTの劣化度合いに応じて全ての温度領域で一律に低下するとは限らない。このため、上述の還元剤供給量推定値Crd_hatをそのままHC酸化能力を示すパラメータとして採用するよりも、以下で説明するような統計処理を施すことによって、温度依存性を除くことが好ましい。そこで以下の演算では、図18を参照して説明した触媒三元特性適応演算と同様に、上記推定値Crd_hatから温度依存性を除くべく、担体温度を基底とした1次元直線上に定義された複数の重み関数Wrd_iと、各重み関数に付随する局所適応係数Krd_iを導入し、これらを利用して重み付けした統計処理によって触媒還元特性適応補正値Krdを算出する。
S101では、LNTの担体温度の推定値Tcc_hat(m)を算出し、この推定値Tcc_hat(m)に基づいて、予め定められたマップを検索することによって、還元剤供給量推定値Crd_hat(m)の比較対象となる基準還元剤供給量Crd_bs(m)を算出する。
図21は、基準還元剤供給量Crd_bs(m)を決定するマップの一例である。図21に示すように、基準還元剤供給量Crd_bs(m)は、LNTの担体温度が高くなるほど大きくなるように設定される。これは、担体温度が高くなるほど、LNTの酸化能力が高くなることによって還元剤が直接酸化されCO2等になる確率が高くなり、結果として触媒後O2センサの出力が反転するまでに必要な還元剤の量が増加するためである。
図20に戻って、S102では、LNTの担体温度の推定値Tcc_hat(m)に基づいて、予め定められたマップを検索することによって、各還元剤供給量重み関数値Wrd_i(m)を算出し、S103に移る。
図22は、還元剤供給量重み関数値を算出するマップ、すなわち還元剤供給量重み関数Wrd_iの形状の一例を示す図である。なお、これら還元剤供給量重み関数Wrd_iの形状は、図19を参照して説明した重み関数Wtw_iと同じであるので、詳細な説明を省略する。
図20に戻って、S103では、下記式(17)に示すように、S102で算出した重み関数値Wrd_i(m)と、局所適応係数Krd_i(m)との積の総和を算出し、これを触媒還元特性適応係数Krd(m)とする。なお、この局所適応係数Krd_iの初期値は1とする。
S104では、S101で算出した基準還元剤供給量Crd_bs(m)と触媒還元特性適応係数Krd(m)とを乗算することにより、還元剤供給量適応値Crd_adp(m)を算出する(下記式(18)参照)。
S105では、図16のS88において算出された推定値Crd_hat(m)から上記適応値Crd_adp(m)を減算することによって適応誤差信号Eadp(m)を算出し(下記式(19−1)参照)、さらにこの適応誤差信号Eadp(m)を各領域に分配することによって、局所適応誤差信号E_adp_i(m)を算出する(下記式(19−2)参照)。
S106では、領域ごとに算出された局所適応誤差信号E_adp_i(m)が0になるように、例えば下記式(20)で示すように局所適応誤差信号E_adp_i(m)に負の適応ゲインKadp_cを乗じた値を積分することによって、局所適応係数Krd_i(m)を算出する。
S107では、還元特性の更新が完了したか否かを判別する。より具体的には、局所適応誤差信号E_adp_iが所定の閾値より小さくなった場合、又は図20の処理を開始してから所定時間以上経過した場合には、LNTの還元特性を示す局所適応係数Krd_iの更新処理が完了したと判別する。S107の判別がYESである場合には、フラグF_CrdAdp_done(m)を1にし(S108)、この処理を終了する。S107の判別がNOである場合には、引き続き図20の処理を継続して実行すべくフラグF_CrdAdp_done(m)を0に維持したままこの処理を終了する。
なお、上記触媒還元特性適応演算では、LNTの担体温度を基底とした1次元直線上で互いに重複する第1〜第3領域を定義し、各領域に重み関数Wrd_iを定義したが、本発明はこれに限らない。例えば、LNTの担体温度と排気ボリュームとを基底とした2次元平面上に互いに重複する複数の領域を定義し、この2次元平面上の各領域に重み関数Wrd_ijを定義してもよい。
図23は、LNTの熱モデルの逐次同定演算の具体的な手順を示すフローチャートである。この逐次同定演算では、LNTの熱モデル(後述の式(21)参照)に含まれる複数のモデルパラメータを同定する。図23に示す処理は、ECUにおいて所定の制御周期tn(200〜500msec)で実行される。なお以下では、周期tnで更新又はサンプリングされる値については、括弧書きで符号”n”を付す。なお、図23に示す処理は、後述の図27のS181において、酸化特性パラメータPoxをTYPE1とは別の方法で決定する場合には省略できる。
下記式(21)は、LNTの熱モデル式である。換言すれば、下記式(21)は、既知の値に基づいてLNTの下流側の排気の温度の推定値Tds_hat(n)を算出する演算式である。排気管内に設けられたLNTの担体温度(及びその下流側の排気の温度)は、排気管内を流れる排気との熱交換の他、及び排気管の外の外気との熱交換によっても変化する。また、LNTに流入する排気中にHCが含まれていると、LNTではHCが酸化することによって発熱する。
上記式(21)において、右辺第1項は、制御周期tn前の温度推定値Tds_hat(n-1)であり、右辺第2〜4項は、制御周期tn前から現在までの間の温度の増加分に相当する。より具体的には、右辺第2項は放熱項、すなわちLNTと外気との間の熱の移動による寄与を示す項であり、LNTの担体温度の推定値Tds_hat(n-1)と外気温度Ta(n)との差に比例する。なお、第2項の比例係数aは、予め行われたシステム同定によって定められた固定値でも、下流側温度センサの出力Tdsに応じてスケジュールして定められた値でもよい。
右辺第3項は排気熱相関項、すなわちLNTと排気との間の熱の移動による寄与を示す項であり、排気ボリュームの推定値Gex_hat(n)と上流側温度センサの出力Tup(n)の積に比例する。この排気熱相関項の比例係数b(n-1)は、図23のS123における処理によって、周期tnごとにその値が更新される。
また右辺第4項は、発熱項、すなわちLNTに流入する排気に含まれている未燃燃料がLNTで燃焼することによる寄与を示す項である。排気燃料インジェクタから燃料を噴射したり、アフター噴射を実行したりすると、LNTには未燃燃料が流入する。したがってこの発熱項は、周期tnの間に排気燃料インジェクタによる燃料噴射及びアフター噴射によってLNTに供給された燃料量(以下、「触媒昇温寄与燃料量」という)Gfuel_c(n)及び後述の触媒昇温寄与補正係数Kc_ht(n)に比例する。
またこの発熱項の比例係数c(n-1)は、図23のS124における処理によって、周期tnごとにその値が更新される。また、この発熱項は、排気燃料噴射量やアフター噴射量が増加するほど大きくなり、またLNTにおけるHC酸化性能が高くなるほど大きくなる。したがってこの係数cは、アフター噴射や排気燃料噴射によって供給された燃料がLNTの昇温に寄与する度合いを示すパラメータであって、LNTのHC酸化性能を示すパラメータとなる。以下では、この係数cを発熱係数という。以下、係数b及び発熱係数cの値を更新する具体的な手順を説明する。
始めにS121では、係数b及びcを同定するために必要となる上流温度センサ及び下流温度センサが正常であるか否かを判別する。S121の判別がYESである場合にはS122に移り、NOである場合には図23の処理を直ちに終了する。
S122では、周期tnの間にアフター噴射によって噴射された燃料量Gfuel_aft_tm(n)及び排気燃料インジェクタから噴射された燃料量Gfuel_ex_tm(n)を合算することにより、触媒昇温寄与燃料量Gfuel_c(n)を算出し、S123に移る。
S123では、触媒昇温寄与燃料量Gfuel_c(n)が0であるか否か、すなわち周期tnの間にLNTに未燃燃料が供給されたか否かを判別する。S123の判別がYESである場合には、S124に移り、下記式(22)〜(24)に従って係数b(n)の値を更新し、この処理を終了する。また、S123の判別がNOである場合には、下記式(25)〜(28)に従って発熱係数c(n)の値を更新し(S125〜S127参照)、触媒酸化特性適応補正値Kox(n)を算出する触媒酸化特性適応演算を実行し(S128、及び後述の図25参照)、この処理を終了する。すなわち、周期tnの間にLNTに未燃燃料が供給されていなかった場合には発熱係数c(n)を固定しながらもう一方の係数b(n)の値のみを更新し、周期tnの間にLNTに未燃燃料が供給されていた場合には係数b(n)を固定しながら発熱係数c(n)の値のみを更新する。
S124では、発熱係数c(n)の値を前回値に維持したまま、式(24)で表現された触媒熱モデルに所定のパラメータ同定アルゴリズムを適用することによって係数b(n)の値を更新する。以下、その具体的な手順の一例について説明する。始めに、下流温度センサの出力Tds(n)、大気温度センサの出力Ta(n)、係数b(n-1)、排気ボリュームの推定値Gex_hat(n)、及び上流温度センサの出力Tup(n)に基づいて、下記式(22−1)〜(22−3)で定義される仮想出力W(n)とその推定値W_hat(n)とを算出する。
ここで、S123の判別がYESである場合、触媒昇温寄与燃料量Gfuel_c(n)=0であるから、S124の実行時において式(21)の右辺第4項は0となる。従って、上記式(22−2)で定義される推定値W_hat(n)は、下記式(23)のように仮想出力W(n)の推定値に相当する。従って、式(23−1)で定義される仮想出力W(n)と、式(22−2)で定義される推定値W_hat(n)との差が最小になるように係数bの値を更新することは、下流温度センサの出力Tds(n)とその推定値Tds_hat(n)との差が最小になるように係数b(n)の値を更新することと等価である。
また、これを実現する係数b(n)は、例えば下記式(24−1)に示すように、式(24−2)によって逐次更新される可変ゲインKP1(n)にW(n)とW_hat(n-1)との差を乗じた値を積分することによって算出される。式(24−2)において、係数P1は所定の同定ゲインである。なお、下記式(24−1)及び(24−2)は、所謂逐次最小2乗法アルゴリズムとして一般化されたパラメータ同定アルゴリズムのうちの固定ゲインアルゴリズムと呼称されるアルゴリズムである。
S125では、下記式(25)によって、噴射比率Rfex(n)を算出し、S126に移る。S126では、噴射比率Rfex(n)及びLAFセンサの出力値AFact(n)に基づいて、予め定められたマップを検索することによって、正の触媒昇温寄与補正係数Kc_ht(n)を算出し、S127に移る。
図24は、補正係数Kc_ht(n)を決定するマップの一例を示す図である。LNTには、アフター噴射によって供給された燃料と排気燃料インジェクタから噴射された燃料が供給される。ただしアフター噴射によって筒内に噴射された燃料の多くは気筒内で燃焼するので、触媒には排気熱として供給される。すなわち、アフター噴射によって供給された燃料の多くは、式(21)の触媒熱モデルでは、排気熱相関項を介して触媒温度の上昇に寄与する。図24のマップでは、この点を考慮し、噴射比率Rfex(n)が小さくなるほど(すなわち、全噴射量Gfuel_c(n)に占めるアフター噴射量Gfuel_aft_tm(n)の割合が大きくなるほど)小さくなるように補正係数Kc_ht(n)の値を決定する。また、LNTに流入する排気の酸素濃度が高くなるほどLNTに供給された燃料が触媒の昇温に寄与する割合は高くなる。図24のマップでは、この点を考慮し、LAFセンサの出力値AFact(n)が大きくなるほど(すなわち、LNTに流入する排気の空燃比がリーンになるほど)大きくなるように補正係数Kc_ht(n)の値を決定する。
ところで、アフター噴射を実行する時期を遅くするほど、アフター噴射によって筒内に噴射された燃料のうち気筒内で燃焼する燃料の量は少なくなる。すなわち、アフター噴射を実行する時期を遅くするほど、アフター噴射によって供給された燃料のうち、排気熱相関項を介して触媒温度の上昇に寄与する燃料の割合は少なくなり、発熱項を介して触媒温度の上昇に寄与する燃料の割合は多くなる。したがってこの点を考慮し、補正係数Kc_ht(n)は、噴射比率Rfex(n)と、LAFセンサの出力値AFact(n)と、アフター噴射時期との3つの入力に基づいて決定してもよい。この場合、アフター噴射時期が遅くなるほど小さくなるように補正係数Kc_ht(n)の値を決定する。
S127では、係数bの値を前回値に維持したまま、式(21)に所定のパラメータ同定アルゴリズムを適用することによって係数cの値を更新し、S128に移る。以下、その具体的な手順の一例について説明する。始めに、下流温度センサの出力Tds、大気温度センサの出力Ta、係数b,c、排気ボリュームの推定値Gex_hat、及び上流温度センサの出力Tupに基づいて、下記式(26−1)〜(26−2)で定義される仮想出力R(n)とその推定値R_hat(n)とを算出する。
ここで、式(21)によって式(26−2)を変形すると、下記式(27)が導出されることから、式(26−2)で定義される推定値R_hat(n)は、仮想出力R(n)の推定値に相当する。従って、式(26−1)で定義される仮想出力R(n)と、式(26−2)で定義される推定値R_hat(n)との差が最小になるように係数cの値を更新することは、下流温度センサの出力Tds(n)とその推定値Tds_hat(n)との差が最小になるように係数cの値を更新することと等価である。
また、これを実現する係数c(n)は、例えば下記式(28−1)に示すように、式(28−2)によって逐次更新される可変ゲインKP2(n)をR(n)とR_hat(n-1)との差に乗じた値を積分することによって算出される。式(28−2)において、係数P2は所定の同定ゲインである。
S128では、図25を参照して説明する触媒酸化特性適応演算を実行し、この処理を終了する。
上述のように、排気燃料インジェクタから燃料を間欠的に噴射することによってLNTにおいて連続的に高い効率でNOxを浄化できる時期は、LNTの担体温度が約350℃以上であって、630〜700℃程度の上限温度以下である時に限られる。換言すれば、排気燃料インジェクタからは常に燃料が噴射されていることはないので、実際には触媒昇温寄与燃料量Gfuel_c=0となる期間とGfuel_c≠0となる期間とが交互に実現される。一般的な同定アルゴリズムでは、独立する2つのモデルパラメータb,cの値を同じタイミングで同定するのが困難であり、同定精度が低下するおそれがある。これに対し図23の処理では、Gfuel_c=0の時期とGfuel_c≠0の時期とが交互に生じることを利用して、式(21)の触媒熱モデルに含まれる2つの独立したモデルパラメータb,cの値を交互に更新する。これにより、モデルパラメータb,cの値を両方とも精度良く同定できる。また、これら2つのモデルパラメータb,cのうち、発熱係数cを用いることにより、精度良くLNTのHC酸化性能を推定できるので、結果として最適な量の燃料を噴射できる。
上記式(21)において、右辺第1項は、制御周期tn前の温度推定値Tds_hat(n-1)であり、右辺第2〜4項は、制御周期tn前から現在までの間の温度の増加分に相当する。より具体的には、右辺第2項は放熱項、すなわちLNTと外気との間の熱の移動による寄与を示す項であり、LNTの担体温度の推定値Tds_hat(n-1)と外気温度Ta(n)との差に比例する。なお、第2項の比例係数aは、予め行われたシステム同定によって定められた固定値でも、下流側温度センサの出力Tdsに応じてスケジュールして定められた値でもよい。
右辺第3項は排気熱相関項、すなわちLNTと排気との間の熱の移動による寄与を示す項であり、排気ボリュームの推定値Gex_hat(n)と上流側温度センサの出力Tup(n)の積に比例する。この排気熱相関項の比例係数b(n-1)は、図23のS123における処理によって、周期tnごとにその値が更新される。
また右辺第4項は、発熱項、すなわちLNTに流入する排気に含まれている未燃燃料がLNTで燃焼することによる寄与を示す項である。排気燃料インジェクタから燃料を噴射したり、アフター噴射を実行したりすると、LNTには未燃燃料が流入する。したがってこの発熱項は、周期tnの間に排気燃料インジェクタによる燃料噴射及びアフター噴射によってLNTに供給された燃料量(以下、「触媒昇温寄与燃料量」という)Gfuel_c(n)及び後述の触媒昇温寄与補正係数Kc_ht(n)に比例する。
図25は、触媒酸化特性適応係数Koxを算出する触媒酸化特性適応演算の具体的な手順を示すフローチャートである。図25に示す処理は、図23の熱モデルの逐次同定演算のサブルーチンとして、排気燃料噴射又はアフター噴射が行われている時のみ、ECUにおいて制御周期tnで実行される。
上述のように、式(21)〜(28)に従って更新される発熱係数c(n)は、LNTにおけるHC酸化性能が高くなるほど大きくなる特性がある。したがって、発熱係数c(n)の所定の基準値C_bsからのずれは、LNTのHC酸化能力を示すパラメータとして採用し得る。しかしこの発熱係数c(n)は、LNTの担体温度によって異なる。また、この発熱係数c(n)は、LNTの劣化度合いに応じて全ての温度領域で一律に低下するとは限らない。このため、この触媒酸化特性適応演算では、図18を参照して説明した触媒三元特性適応演算と同様に、上記発熱係数cから温度依存性を除くべく、LNTの担体温度を基底とした1次元直線上に定義された複数の重み関数Wox_iと、各重み関数に付随する局所適応係数Kox_iを導入し、これらを利用して重み付けした統計処理を施すことによって、LNTの酸化能力を示す触媒酸化特性適応補正値Koxを算出する。
S141では、LNTの担体温度の推定値Tcc_hat(m)を算出し、この推定値Tcc_hat(m)に基づいて、予め定められたマップを検索することによって、各酸化特性重み関数値Wox_i(n)(iは正の整数)を算出し、S142に移る。
図26は、酸化特性重み関数値を算出するマップ、すなわち酸化特性重み関数Wox_iの形状の一例を示す図である。なお、これら重み関数Wox_iの形状は、図19を参照して説明した重み関数Wtw_iと同じであるので、詳細な説明を省略する。
図25に戻って、S142では、下記式(29)に示すように、S141で算出した重み関数値Wox_i(n)と、局所適応係数Kox_iとの積の総和を算出し、これを触媒酸化特性適応補正値Kox(n)とする。なおこの局所適応係数Kox_iの初期値は1とする。
S143では、所定の基準発熱係数C_bsに、触媒酸化特性適応補正値Kox(n)を乗算することにより、発熱係数適応値C_adp(n)を算出する(下記式(30)参照)。なお、この基準発熱係数C_bsは、所定の劣化のない基準品のLNTの発熱係数に相当し、予め行われたシステム同定によって定められる。なお以下では、基準発熱係数C_bsは、温度に依存しない固定値として説明するが、これに限らない。この基準発熱係数C_bsは、LNTの担体温度に基づいて、予め定められたマップを検索することによって決定してもよい。
S144では、発熱係数c(n)から上記適応値C_adp(n)を減算することによって、適応誤差信号E_adp’’(n)を算出し(下記式(31−1)参照)、さらにこの適応誤差信号E_adp’(m)を各領域に分配することによって、局所適応誤差信号E_adp’’_i(n)を算出する(下記式(31−2)参照)。また、S145では、領域ごとに算出された局所適応誤差信号E_adp’’_i(n)が0になるように、例えば下記式(31−3)に示すように局所適応誤差信号E_adp’’_i(n)に負の適応ゲインKadp_oを乗じたものを積分することによって、局所適応補正値Kox_i(n)を算出する。
なお、上記触媒酸化特性適応演算では、LNTの担体温度を基底とした1次元直線上で互いに重複する第1〜第3領域を定義し、各領域に重み関数Wox_iを定義したが、本発明はこれに限らない。例えば、LNTの担体温度と排気ボリュームとを基底とした2次元平面上で互いに重複する複数の領域を定義し、この2次元平面上の各領域に重み関数Wox_ijを定義してもよい。
図27は、排気燃料インジェクタによる排気燃料の噴射態様を決定する排気燃料噴射制御の具体的な手順を示すフローチャートである。図27に示す処理は、ECUにおいて図12の触媒後空燃比フィードバック演算と同じ制御周期tm(10〜50msec)で実行される。
S171では、排気燃料噴射システムの故障フラグF_ExINJ_NGが”0”であるか否かを判別する。S171の判別がYESである場合には、S175に移る。S171の判別がNOであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、排気燃料噴射量Gfuel_ex(m)=0とし(S172)、排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし(S173)、この処理を終了する。
S175では、LNTを熱から保護するために設定されたLNT保護条件を満たすか否かを判別する。なお、このLNT保護条件の具体的な内容及び具体的な判別方法は、図3のS21と同じであるので、詳細な説明を省略する。S175の判別がYESであり、LNT保護条件を満たす場合には、S176に移る。S176では、排気燃料噴射システムの所定のNOx浄化可能条件を満たすか否かを判別する。なお、このNOx浄化可能条件の具体的な内容及び具体的な判別方法は、図3のS25と同じであるので、詳細な説明を省略する。S176の判別がYESであり、排気燃料噴射システムのNOx浄化可能条件を満たす場合には、S177に移る。
S177では、還元処理完了フラグF_CRD_Doneが”1”であるか否かを判別する。還元処理完了フラグF_CRD_Doneが”1”でない状態とは、図12を参照して説明したLNTの還元処理が完了していない状態である。LNTの還元処理が完了しておらず、LNTに酸素やNOxが吸着又は吸蔵された状態では、排気燃料インジェクタから燃料を間欠的に噴射しても、排気中のNOxを十分な効率で連続的に還元することができない。したがって、S177の判別がYESである場合にのみS180に移り、排気燃料噴射浄化運転モードの下で排気燃料噴射量を決定する。
S175〜S177の判別のうち何れかがNOである場合には、S178に移る。ここで、S175〜S177の判別のうち何れかがNOである場合とは、排気燃料インジェクタから燃料を噴射できる状態であるが、排気燃料噴射システムを利用して排気を浄化できない状態に相当する。この場合、図6を参照して説明したように、ストイキ運転中にアフターの代替として燃料噴射インジェクタからの燃料噴射が要求される場合がある。S178では、図6の処理によってTDC周期で算出される追加排気燃料噴射量をリサンプリングし(Gfuel_ex_add(k)→Gfuel_ex_add(m))、リサンプリングによって得られた値を排気燃料噴射量とし(Gfuel_ex(m)=Gfuel_ex_add(m))、S173に移る。S173では、排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし、この処理を終了する。
S180では、LNTの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら2つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって基準排気燃料噴射量Gfuel_ex_bs(m)を決定し、この処理を終了する。
図28は、基準噴射量Gfuel_ex_bsを決定するマップの一例である。図28に示すように、基準噴射量Gfuel_ex_bsは、排気燃料インジェクタから間欠的に噴射された燃料の下でLNTにおいて連続的にNOxを浄化可能な温度範囲(例えば、350〜600℃)内において、LNT温度の推定値Tcc_hat及び排気ボリュームの推定値Gex_hatに応じた値に設定される。また、基準噴射量Gfuel_ex_bsは、混合気の空燃比をリーンとした排気中に排気燃料インジェクタから燃料を噴射したときに、LNT上の排気の空燃比が理論空燃比近傍になるような大きさに調整される。
また、図28に示すように、基準噴射量Gfuel_ex_bsは、N2Oの生成のおそれがなく、NOxの還元に寄与する中間生成物が生成されやすい400〜500度を含む領域で最大化される。また基準噴射量Gfuel_ex_bsは、NOxの還元に寄与する中間生成物の生成効率が低下し、かつ噴射した燃料の一部がLNT上で直接酸化されてしまいNOxの還元に寄与しなくなる500度以上の高温域では、温度が高くなるほど小さくなるように設定される。
図27に戻って、S181では、酸化特性パラメータPox(m)を算出し、S182に移る。この酸化特性パラメータPox(m)は、LNTにおけるHC酸化能力の強さを数値化したものであり、最小値が0となり、かつ劣化のない基準品が1となるように規格化される。S181に示すように、酸化特性パラメータPox(m)を算出する方法は、TYPE1〜3の3種類ある。
TYPE1の方法では、上述の図25に示す処理によって、周期tnで更新される触媒酸化特性適応係数Kox(n)を周期tmでリサンプリングし(Kox(n)→Kox(m))リサンプリングによって得られた値を酸化特性パラメータとし(Pox(m)=Kox(m))、S182に移る。
TYPE2の方法では、上述の図20に示す処理によって、周期tmで更新される触媒還元特性適応係数Krd(m)を酸化特性パラメータとし(Pox(m)=Krd(m))、S182に移る。
TYPE3の方法では、上述の図18に示す処理によって、周期tmで更新される触媒三元特性適応補正値Dtw(m)に−1を乗じ、さらに1を加算したものを酸化特性パラメータとし(Pox(m)=1-Dtw(m))、S182に移る。
S182では、酸化特性パラメータPox(m)を用いて正の排気燃料噴射量補正係数Kg_ex(m)を算出し、S183に移る。この補正係数Kg_ex(m)は、LNTのHC酸化能力に応じて排気燃料噴射量Gfuel_ex(m)を補正する係数であり、後述の式(32)に示すように、基準噴射量Gfuel_ex_bs(m)に乗算される。S182では、酸化特性パラメータPox(m)に基づいて、予め定められたマップを検索することによって、補正係数Kg_ex(m)を算出する。
図29は、補正係数Kg_ex(m)を決定するマップの一例を示す図である。図29に示すように、補正係数Kg_ex(m)は、酸化特性パラメータPox(m)が大きくなるほど(すなわち、LNTのHC酸化能力が高くなるほど)大きくなるように設定される。
S183では、基準噴射量Gfuel_ex(m)に補正係数Kg_ex(m)を乗算することによって、排気燃料噴射量Gfuel_ex(m)を算出し(下記式(32)参照)、S184に移る。S184では、排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=1とし、この処理を終了する。
以上、本発明の一実施形態について説明したが、本発明はこれに限らない。例えば
なお上記実施形態では、ポスト噴射について考慮しなかったが、本発明はこれに限らない。ポスト噴射によって供給された燃料は、アフター噴射と異なり気筒内で燃焼することなくLNTに供給される。したがって、周期tnの間のポスト噴射量をGfuel_post_tm(n)とすると、S122の触媒昇温寄与燃料量Gfuel_c(n)の演算式、及び式(25)は、下記式(33)で置き換えられる。
また上記実施形態では、酸化特性パラメータPoxをTYPE1〜3の何れかの方法によって算出する場合について説明したが(図27のS181参照)、本発明はこれに限らない。酸化特性パラメータPoxは、TYPE1〜3の方法で算出された値の平均値としてもよい。
また上記実施形態では、触媒の下流側の排気の酸素濃度に応じた信号を発生する酸素濃度センサとして、酸素濃度に応じて略2値的な出力特性を有する所謂O2センサを用いた場合について説明したが、本発明はこれに限らない。例えばLAFセンサは、O2センサと出力特性は異なるが、排気の酸素濃度に応じた信号を発生する機能を有する点では同じである。したがって、本発明は、酸素濃度センサとして、O2センサの替わりにLAFセンサを用いても上記実施形態とほぼ同じ効果を奏する。