以下、本発明の第1実施形態を、図面を参照しながら説明する。
図1は、本実施形態に係る内燃機関(以下、「エンジン」という)1及びその排気浄化システム2の構成を示す図である。エンジン1は、燃焼空燃比をストイキよりもリーンとする所謂リーン燃焼を基本としたもの、より具体的にはディーゼルエンジンやリーンバーンガソリンエンジンなどである。
排気浄化システム2は、エンジン1の排気通路11に設けられたリーンNOx触媒(以下、「LNT」という)41及び排気浄化フィルタ43と、排気通路11中に燃料を噴射する排気燃料噴射装置45と、エンジン1及び排気燃料噴射装置45を制御する電子制御ユニット(以下、「ECU」という)3と、を含んで構成される。
エンジン1には、各シリンダに燃料を噴射する燃料噴射弁13が設けられている。これら燃料噴射弁13は、図示しない駆動装置を介してECU3に接続される。ECU3は、後に図6〜20を参照して説明する筒内燃料噴射制御によって燃料噴射弁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機能を発揮できない場合等には、三元浄化機能を利用して排気を浄化すべく、リーン運転からストイキ運転に切り替えられる(例えば、後述の図7等参照)。
排気浄化フィルタ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機能を利用して排気を浄化する場合には、例えば後述の図21,22に示す排気燃料噴射制御によって排気燃料インジェクタ452からの単位時間当たりの燃料噴射量及び噴射周期等の排気燃料噴射態様を決定し、駆動装置は、決定された排気燃料噴射態様が実現するように排気燃料インジェクタ452を駆動する。
ところで、近年では、排気燃料インジェクタ452から燃料を噴射し、LNT41のDeNOx機能を利用してNOxを還元する際、排気燃料インジェクタ452からの排気燃料噴射量を、後述の図31に示すように5Hz以上の周期で所定の範囲内で増減し、LNT41に流入する排気の炭化水素濃度を振動させると、LNT上では炭化水素由来の中間生成物が生成され、この中間生成物によって高い浄化率で排気中のNOxを連続的に浄化できることが知られている。ただし、LNT41の担体温度が約350℃以下である状態で上述のような態様で燃料を噴射すると、NOxの浄化に寄与しない不必要な成分(例えば、N2O)が生成され、LNT41の下流側へ排出してしまう場合がある。そこで、排気燃料噴射制御では、LNT41の担体温度が約350℃以上であって、630〜700℃程度の上限温度以下である場合にのみ、上述のように燃料を間欠噴射する。
なお以下では、排気燃料噴射装置45とLNT41とを合わせたものを総称して排気燃料噴射システムという。また、上述のように排気燃料インジェクタ452から燃料を間欠的に噴射することによって、LNT41において中間生成物を生成させながら、LNT41に流入する排気中のNOxを連続的に浄化することを排気燃料噴射浄化運転という。
ECU3には、排気通路11内の状態やエンジン1の状態を検出するためのセンサとして、触媒前LAFセンサ51、触媒後LAFセンサ52、触媒前温度センサ53、触媒後温度センサ54、クランク角度位置センサ55、アクセル開度センサ56、エアフローセンサ57、及び大気温度センサ58等が接続されている。
触媒前LAFセンサ51は、排気通路11のうちLNT41及び排気燃料インジェクタ452より上流側に設けられる。触媒前LAFセンサ51は、LNT41の上流側であって、排気燃料インジェクタ452から燃料が噴射される前の排気の空燃比(排気中の酸素に対する燃料成分の比)を検出し、検出値に略比例した信号をECU3に送信する。触媒後LAFセンサ52は、排気通路11のうちLNT41とCSF43との間に設けられる。触媒後LAFセンサ52は、LNT41とCSF43の間の排気の空燃比を検出し、検出値に略比例した信号をECU3に送信する。なおこれらLAFセンサ51,52から出力される信号は、リッチな領域からリーンな領域までの間でリニアな特性を有する。
これらLAFセンサ51,52の検出素子51a,52aには、素子51a,52aを加熱するヒータ(図示せず)が内蔵されている。ECU3は、後述の排気燃料噴射制御(図21参照)によって触媒前LAFセンサ51の目標温度(Tcmd_laf_up)及び触媒後LAFセンサ52の目標温度(Tcmd_laf_ds)をそれぞれ独立して設定するとともに、図示しない温度制御処理によって上記設定された目標温度が実現するように各々のヒータ電流値を制御する。また、これら検出素子51a,52aの表層には、排気中のHC酸化機能を有する白金等の酸化材が設けられている。
触媒前温度センサ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は、この吸入空気量に応じて排気ボリュームを算出する。
次に、上述のような間欠噴射を行う排気燃料噴射システムに固有の課題と、この課題を解決する方法について、図36及び図2を参照して説明する。
図36は、排気燃料インジェクタによって5Hz以上の噴射周期で間欠噴射を行った場合における触媒後LAFセンサの出力値の変動を示す図である。図36の最上段は、単位時間当たりに排気燃料インジェクタから噴射される燃料量である排気燃料噴射量[mg/sec]を示し、上から2段目以下はLNTの下流側の空燃比[A/F]に相当する触媒後LAFセンサの出力値を示す。上から2段目はフィルタ無しの出力(AFact_ds)、上から3段目及び最下段は後述のフィルタを通した出力(AFact_flt_ds)を示す。なお図36には、触媒後LAFセンサの出力値を実線で示し、混合気の空燃比を破線で示す。また図36に示す例では、混合気の空燃比を一定に保ったまま、時刻t1において噴射時間(1噴射周期に噴射される燃料量)を増加させ、さらに時刻t2,t3において噴射周期を短くした場合を示す。
LNTにおいてNOxの浄化に寄与する中間生成物が生成されるように、5Hz程度の低い周波数で燃料を間欠的に噴射すると、排気燃料インジェクタより下流側の排気中には燃料の濃い部分と薄い部分とが交互に表れる。そしてこの間欠噴射に起因する燃料の濃淡は、LNTを通過した後の排気中にも表れ、結果として図36において上から2段目に示すような空燃比の変動として触媒後LAFセンサによって検出される。LNTにおいて中間生成物を生成しながら排気中のNOxを連続的に還元するためには、このような大きな空燃比変動を伴う間欠噴射を行う必要がある。
ところが、LAFセンサの出力値に間欠噴射に起因する変動成分が残ったままであると、LAFセンサの出力値に基づいて後述のHCフィードバック制御を精度良く行うことができず、結果として十分な効率でNOxを浄化することができなくなってしまう。そこで、このHCフィードバック制御を行う場合には、LAFセンサの出力から間欠噴射に起因する空燃比変動を除去し、図36において一点鎖線で示すような安定した出力を得る必要がある。なお、図36中の一点鎖線は、間欠的に噴射された燃料が排気管内及びLNT上で十分に混合したと仮定した場合におけるLNTの下流側の排気の空燃比であり、後述の理想排気空燃比に相当する。
このようなLAFセンサの出力の変動を抑制する手段として、間欠噴射の噴射周波数(Ffuel_ex)近傍の成分を遮断するバンドパスフィルタや、噴射周波数以上の成分を遮断するローパスフィルタを用いることが考えられる。これらフィルタは、LAFセンサの出力AFact_dsに下記式(1)に示す演算を施すことによって実現できる。下記式(1)において、AFact_flt_dsはフィルタ値であり、a1,a2,b1,b2は所望のフィルタ特性を得るために調整されるフィルタ係数であり、mは排気燃料噴射システムの制御時刻である。なお、排気燃料噴射システムの制御周期、すなわちECUによるLAFセンサの出力値のサンプリング周期ΔTexは、例えば10〜50[msec]であり、噴射周期よりも短い。
図36の上から3段目及び最下段は、上記式(1)によって得られるフィルタ値を示す。図36に示すように、バンドパスフィルタを用いても、LAFセンサの出力から周期的な変動成分を除去することはできない。これは、図36の上から2段目に示すように、LAFセンサの出力AFact_dsが、噴射周波数の単純な正弦波というよりも、様々な周波数成分を含んだのこぎり波となっているためであると考えられる。
また、ローパスフィルタを用いた場合、バンドパスフィルタを用いた場合よりも高周波数成分を除去できる。しかしながら、このフィルタ値をフィードバック制御に用いるためには大きな位相遅れが生じないようにしなければならないが、この点を考慮するとカットオフ周波数を過剰に下げることはできず、結果として図36に示すように噴射周波数程度の変動成分を十分に除去することはできない。
次に、このような課題を解決する本発明のフィルタリング方法について説明する。
第1に、本発明のフィルタリング方法では、2つの独立したパラメータであるサンプリング周期ΔTexと排気燃料噴射周期Tfuel_ex(m)又は排気燃料噴射周波数Ffuel_ex(m)(=1/Tfuel_ex(m))とを、1より大きな正の整数である噴射周期パラメータNex(m)によって関連付ける。換言すれば、排気燃料噴射システムにおいて触媒後LAFセンサの出力値を取得する周期ΔTexに、整数Nex(m)を乗じたものを間欠噴射の噴射周期Tfuel_ex(m)として設定する。
例えば、制御周期ΔTexを10[msec]とし噴射周期パラメータNexを20とした場合、噴射周期Tfuel_exは200[msec]となり噴射周波数Ffuel_exは5[Hz]となる。また、制御周期ΔTexを10[msec]とし噴射周期パラメータNexを18とした場合、噴射周期Tfuel_exは180[msec]となり噴射周波数Ffuel_exは5.555...[Hz]となる。
第2に、本発明のフィルタリング方法では、排気燃料噴射周期Tfuel_ex(m)を設定するために導入される噴射周期パラメータNex(m)をタップ数とした移動平均フィルタによって、LAFセンサの出力値AFact_ds(m)のフィルタ値AFact_mav_ds(m)を算出する(下記式(3))参照。
第3に、本発明のフィルタリング方法では、正の整数である噴射周期パラメータNexをステップ状に変化させることによって、噴射周期Tfuel_exもステップ状に変化させる。これによって、常に上記式(2)が成立するように噴射周期パラメータNex及び噴射周期Tfuel_exを変化させる。
図2は、本発明のフィルタリング方法によって得られるLAFセンサのフィルタ値AFact_mav_dsの変化を示す図である。なお、排気燃料噴射量は図36に示す例と同じように変化させた。図2に示すように、本発明のフィルタリング方法によれば、間欠噴射に起因する変動成分は完全に除去され、破線で示す理想排気空燃比とほぼ一致する。特に、時刻t1、t2では理想排気空燃比が変化し、時刻t2、t3では噴射周波数が変化するが、フィルタ値AFact_mav_dsはこれらの変化に対し大きく遅れることなく追従する。以上のようなフィルタリング方法によって得られるLAFセンサの出力を用いたフィードバック制御の具体例については、後に図21,22等を参照して説明する。
次に、図3〜図5を参照して本発明の排気燃料噴射制御の概念について説明する。
図3は、排気燃料噴射浄化運転によってNOxを浄化している時における排気燃料噴射量と、LNTのNOx浄化率と、LNTからのHCスリップ量と、LNTにおける中間生成物の生成量との関係を示す図である。
図34を参照して説明したように、従来ではLNTの下流へのHCスリップ量を検出又は推定する手段が存在しなかったため、排気燃料噴射量をHCスリップが発生し始める量G2又はこのG2よりも大きな量へ積極的に制御することができなかった。本発明の排気燃料噴射制御では、LNTの下流側へのHCスリップ量に対して0よりも僅かに大きな目標値を設定するとともに(図3中、破線参照)、後に図4及び5を参照して説明する方法によってLNTの下流側へのHCスリップ量を推定し、当該推定したHCスリップ量が上記目標値に維持されるように排気燃料噴射量を制御する。換言すれば、本発明の排気燃料噴射制御では、排気燃料噴射量を、量G2よりも大きくかつHCスリップ量の目標値に対応する量G4へ制御する。
ここで、HCスリップ量を0よりも僅かに大きな目標値に維持することの効果について説明する。図35を参照して説明したように、HCスリップが発生し始める噴射量G2やG4は、その時のLNTの酸化性能に応じて変化する。しかしながら、LNTから僅かにHCがスリップした状態では、LNTにおける中間生成物の生成量がほぼ最大化され、その時のLNTのNOx浄化率がほぼ最大化されることは、LNTの酸化性能が変化しても変わらないと考えられる。したがって、HCスリップ量を目標値に維持するように排気燃料噴射量を制御することにより、LNTの温度や劣化度合いによって変化するLNTの酸化能力に応じた排気燃料噴射量の最適量の演算を経ることなく、常にNOx浄化率が最大化された状態を維持することができる。
次に、本発明におけるHCスリップ量を推定する手段について説明する。
図4は、触媒後LAFセンサの出力値(縦軸)と、その真値(横軸)すなわち当該触媒後LAFセンサの検出箇所における実際の排気の空燃比との関係を示す図である。図4には、排気の空燃比を一定にしたまま、排気中のHC濃度が変化した場合における触媒後LAFセンサの出力値の変化を示す。
排気中には混合気の燃焼過程で燃え残った燃料成分としてHCが含まれる。LAFセンサは、検出素子の周囲のHCを酸化し、残った酸素の量に略比例した信号を排気の空燃比として出力する。一般的なLAFセンサは、HCの酸化を促進するため、検出素子の表層に酸化材を設け、さらにヒータによって検出素子を昇温する。このため、図4の左側に示すように、LAFセンサの酸化性能が十分に高い場合には、排気中のHC濃度が変化してもその出力値はほとんど変化しない。
これに対し、図4の右側に示すように、LAFセンサの酸化性能が低い場合には、検出素子の周囲には酸化されなかったHCが存在するため、LAFセンサの検出値はその分だけリーン方向へシフトする。LAFセンサによって酸化できなかったHCが多く存在するほど、その分だけ酸素が余剰となるからである。また排気中のHC濃度に対するLAFセンサの出力値のオフセットの大きさは、LAFセンサの酸化性能が低くなるほど大きくなる。なお、以上のように排気中にHCが存在することによってLAFセンサの出力値にずれが生じる現象は、例えば特開2007−40130号公報や、特開2011−58440号公報に記載されているように公知である。
このように、LNTの下流側に設けられたLAFセンサの出力値とその真値との差には、排気中のHC濃度と相関があるから、LNTの下流側の空燃比の真値に相当する値が得られれば、LNTのHC濃度(すなわち、HCスリップ量)を推定できる。また、このようなLAFセンサの出力値のオフセット現象を利用してHCスリップ量を推定する場合において、下流側のLAFセンサの酸化性能を低くする手段、及びLNTの下流側の排気の空燃比の真値に相当する値を推定する手段には、それぞれ幾つかの態様が考えられる。
LAFセンサの酸化性能を低くする手段としては、具体的には例えば以下のTYPE−A,Bの2つが挙げられる。
TYPE−Aでは、センサヒータを利用して、下流側のLAFセンサの検出素子を、上流側のLAFセンサの検出素子の温度より低い温度に制御する。
TYPE−Bでは、下流側のLAFセンサの検出素子の素子表層の酸化材の単位面積当たりの量を、上流側のLAFセンサの検出素子の素子表層の酸化材の単位面積当たりの量よりも少なくする。又は、酸化材は、上流側のLAFセンサの検出素子のみに担持させ、下流側のLAFセンサの検出素子に担持させない。
以下では、TYPE−Aによって下流側のLAFセンサの酸化性能を意図的に低くする場合について説明するが、本発明はこれに限らない。TYPE−B又はTYPE−A,Bの組み合わせによって酸化性能を低くしてもよい。
また、LNTの下流側の排気の空燃比を推定する手段としては、大きく分けて以下のTYPE1と2の2つが挙げられる。
TYPE1では、LNTの上流側に設けられた触媒前LAFセンサの出力値AFact_upと各種演算値を利用して、LNTの下流側の排気空燃比を推定する。より具体的には、離散化した制御時刻m-1からmまでの間に筒内へ噴射された燃料をGfuel_tm(m)とし、時刻mにおける触媒前LAFセンサの出力値をAFact_up(m)とすると、この触媒前LAFセンサの出力をベースとした新気量Gair_ex(m)は、下記式(4−1)によって表される。なお式(4−1)における時間dc_iは、気筒内で燃焼した混合気が排気燃料インジェクタに到達するまでの時間に相当する。この気筒−インジェクタ到達時間dc_iは、予め定められた固定値、又は排気ボリューム、エンジン負荷パラメータ、及びエンジン回転数等によって可変設定された値でもよい。また、このLAFセンサベースの新気量Gair_exと、排気燃料噴射量Gfuel_exとを用いると、理論上は、時刻mにおけるLNTの上流側(排気燃料インジェクタ近傍)の排気空燃比AF_exh_id_up(m)は、下記式(4−2)によって表される。ここで、燃料量Gfuel_tm及び排気燃料噴射量Gfuel_exは、後述の筒内燃料噴射制御及び排気燃料噴射制御における演算値を用いて算出される。
なお式(4−2)のように、供給した燃料量及び新気量から算出した計算上の排気の空燃比を総称して、以下では理想排気空燃比という。また、LNTへの燃料の付着や酸素の吸蔵等の誤差を除けば、LNTの上流側の理想排気空燃比AF_exh_id_upと下流側の理想排気空燃比AF_exh_id_dsとは等しい。従って、排気が排気燃料インジェクタからLNTの下流側へ到達するまでの時間をdLNTとすると、時刻mにおけるLNTの下流側の理想排気空燃比AF_exh_id_ds(m)は、下記式(4−3)で表される。なお、式(4−3)における時間dLNTは、上記時間dc_iと同様に固定値又は可変設定値としてもよい。TYPE1では、式(4−1)〜(4−3)によって算出される理想排気空燃比AF_exh_id_dsを、LNTの下流側の排気空燃比の推定値、すなわちLNTの下流側に設けられた触媒後LAFセンサの出力値AFact_ds(又はそのフィルタ値AFact_mav_ds)に対する真値として利用する。
TYPE2では、上記TYPE1と異なり、触媒前LAFセンサの出力値AFact_upを利用せずに他のセンサの出力値及び各種演算値に基づいてLNTの下流側の排気の空燃比を推定する。より具体的には、TYPE2では、時刻m-1からmまでの間に筒内へ噴射された燃料量をGfuel_tm(m)とし、時刻m-1からmまでの間に排気燃料インジェクタから噴射された燃料量をGfuel_ex(m)とし、時刻m-1からmまでの間に筒内に吸入された新気量の推定値をGair_cyl_hat_tm(m)として、下記式(5−1)によって時刻mにおけるLNTの上流側の理想排気空燃比AF_ex_id_up(m)を算出する。ここで、新気量の推定値Gair_cyl_hat_tmは、例えばエアフローメータの出力に基づいて算出される。従って、排気が排気燃料インジェクタからLNTの下流側へ到達するまでの時間をdLNTとすると、時刻mにおけるLNTの下流側の理想排気空燃比AF_exh_id_ds(m)は、下記式(5−2)で表される。TYPE2では、式(5−1)〜(5−2)によって算出される理想排気空燃比AF_exh_id_dsを、LNTの下流側の排気空燃比の推定値として利用する。
なお、TYPE1では、新気量を排気通路に設けられた触媒前LAFセンサを利用して算出するのに対し、TYPE2では、新気量を吸気通路に設けられたエアフローメータを利用して算出する。このため、TYPE1とTYPE2とを比較すれば、触媒前LAFセンサよりも上流側の各種装置の誤差が除かれる分だけ、TYPE1の方が推定精度は高いといえる。なお以下では、触媒前LAFセンサを利用するTYPE1によって下流側の空燃比を推定する場合について説明するが、本発明はこれに限らない。触媒前LAFセンサを備えない場合であっても、上記TYPE2によって下流側の空燃比を推定できる。
図4に戻って、本発明では、上記TYPE1,2の何れかの手段で触媒後LAFセンサの酸化性能を意図的に低下させることによって、その出力値AFact_dsを図4の右側に示すように真値からHC濃度に応じたずれを生じさせる。さらに本発明では、上記TYPE1,2の何れかの手段でLNTの下流側の排気の理想排気空燃比AF_exh_id_dsを算出し、これを真値として用いることによって、LNTの下流側のHCスリップ量に相当するLNTのNOx浄化パラメータP_LNTを算出する。より具体的には、この浄化パラメータP_LNTは、HC濃度に応じて出力がオフセットする触媒後LAFセンサの出力値AFact_dsから、式(4−3)又は(5−2)によって算出される理想排気空燃比AF_exh_id_dsを減算して得られる空燃比差として定義される(下記式(6)参照)。
なお、実際の触媒後LAFセンサの出力値AFact_dsは間欠噴射の影響によってのこぎり状となることから、浄化パラメータP_LNTは、図2を参照して説明したフィルタリング方法を利用して得られる下記式(7)で定義されるものを用いることが好ましい。ここで、触媒前LAFセンサは排気燃料インジェクタより上流側に設けられることから、下記式(7)に示すように、必ずしもLNTの上流側の排気空燃比AF_exh_id_up(m)に本発明のフィルタリング方法を適用する必要はない。しかしながら、触媒後LAFセンサの出力に移動平均フィルタを設けることによって生じる位相遅れを補償するためには、下記式(7−3)に示すように排気空燃比AF_exh_id_up(m)に対しても同等の移動平均フィルタを設ける方が好ましい。
図5は、NOx浄化パラメータP_LNTを利用した本発明のフィードバック制御の概念を説明するための図である。
図5に示すように、NOx浄化パラメータP_LNTは、LNTの下流側のHC濃度(すなわち、HCスリップ量)にほぼ比例する特性がある。したがって、NOx浄化パラメータP_LNTを0でない所定の目標値P_LNT_cmdに制御することは、直接検出できないHCスリップ量を仮想的な目標値HC_SLP_CMDに維持することと等価である。本発明では、NOx浄化パラメータP_LNTを目標値P_LNT_cmdに制御することによって、HCスリップ量をLNTの下流側のCSFで処理可能な量を上回らない程度の量に抑制しながら、LNTのNOx浄化率がほぼ最大化された状態(すなわち、中間生成物の生成量がほぼ最大化された状態)を実現する。なお以下では、LNTの下流側へ僅かながらも積極的なHCのスリップを伴う、パラメータP_LNTを利用したフィードバック制御のことを、HCスリップフィードバック制御という。
次に、筒内燃料噴射制御及び排気燃料噴射制御を実現する具体的な手順について、図6〜31を参照しながら説明する。
図6は、各シリンダの燃料噴射弁による燃料噴射態様を決定する筒内燃料噴射制御の具体的な手順を示すメインフローチャートである。図6に示す処理は、ECUにおいて1燃焼サイクルごとに各気筒のTDCタイミングと同期して実行される。なお以下では、ECUにおいてTDC同期で更新又はサンプリングされる値については、括弧書きで符号”k”を付す。
図6等を参照して具体的な手順を説明する前に、筒内燃料噴射制御及び排気燃料噴射制御において定義されている3種類の主な運転モードについて説明する。運転モードは、リーン運転モードと、ストイキ運転モードと、排気燃料噴射浄化運転モードとに分けられる。以下では、これら3つの運転モードのうち、どの運転モードが実行されているか又はどの運転モードの実行が要求された状態であるかを明示するため、排気燃料噴射浄化運転モードフラグF_ExINJ_modeと、ストイキモードフラグF_Stoic_modeとの2種類のフラグを定義する。なお、フラグF_ExINJ_modeは、後述の図21〜22に示す排気燃料噴射制御によって更新され、フラグF_Stoic_modeは、後述の図7に示す処理によって更新される。
リーン運転モードとは、混合気の空燃比をストイキよりリーンにする運転モードである。なお、リーン運転モードが要求されている場合又はリーン運転モードを実行している場合には、2つのフラグF_ExINJ_mode及びF_Stoic_modeは両方とも”0”に設定される。なおリーン運転モード中は、所定の周期で定期的にポスト噴射や排気燃料インジェクタからの燃料噴射を行い一時的にLNT上の排気を還元雰囲気にすることにより、LNTに吸着又は吸蔵された酸素やNOxを還元する。
ストイキ運転モードとは、触媒前LAFセンサ及び触媒後LAFセンサの出力を利用したフィードバック制御を実行することによって、LNTの三元浄化機能を利用して排気を浄化する運転モードである。なお、ストイキ運転モードが実行されている場合又はストイキ運転モードの実行が要求されている場合には、フラグF_Stoic_modeは”1”に設定される。
排気燃料噴射浄化運転モードとは、図3〜図5を参照して説明したHCスリップフィードバック制御によって排気燃料噴射量を決定し、当該決定された量の燃料を上述のように排気燃料インジェクタから間欠的に噴射することによって、LNTにおける中間生成物の生成量を最大化しながら、LNTに流入する排気中のNOxを連続的に浄化する運転モードである。なお、排気燃料噴射浄化運転モードが要求されている場合又は排気燃料噴射浄化運転モードが実行されている場合には、フラグF_ExINJ_modeは”1”に設定される。
S1では、エンジンの運転状態に応じて予め定められたマップ(図示せず)を検索することによって、基本燃料噴射量Gfuel_bs(k)を決定し、S2に移る。この基本燃料噴射量とは、例えばリーン運転時における筒内燃料噴射量に相当する(後述のS13参照)。後に詳述するようにストイキ運転時及び排気燃料噴射浄化運転時は、基本燃料噴射量には、触媒前LAFセンサ及び触媒後LAFセンサの出力に基づいて算出される空燃比補正係数KAF(k)が乗算される(後述のS10参照)。また、エンジンの運転状態を示すものであって、基本燃料噴射量を決定するために用いられる入力パラメータとしては、例えば、ドライバ要求トルク及びエンジン回転数等が挙げられる。
S2では、筒内燃料噴射制御及び排気燃料噴射制御に関わる装置が正常であるか否かを判別する。S2における判別に係る装置とは、例えばインテークスロットル及びEGRバルブや(図示せず)、ストイキ運転を行うために必要となる触媒前LAFセンサ、触媒後LAFセンサ、及び温度センサ等である。S2の判別がYESである場合(装置は正常である場合)にはS3に移り、NOである場合(装置は正常でない場合)にはS13に移り、2つのフラグの状態によらずリーン運転を実行する。
S3では、LNTは活性状態であるか否かを判別する。より具体的には、S3では、LNTの担体温度の推定値を算出し、当該推定値が所定の活性温度(例えば200℃)以上である場合には活性状態であると判断し、それ以外の場合には、活性状態でないと判断する。S3の判別がYESである場合にはS5に移り、NOである場合には、S13に移り、リーン運転を実行する。
S5では、ストイキ運転の実行の可否を判断するストイキ運転条件判断処理を実行し、S6に移る。このストイキ運転条件判断処理では、エンジンの運転状態や排気通路内のLNTの状態等に応じてストイキ運転を行うのに適した状態であるか否かが判断される(後述の図7参照)。この処理の結果、ストイキ運転を行うのに適した状態であると判断された場合には、ストイキモードフラグ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に移る。ここで、付加噴射とは、アフター噴射と排気燃料噴射との総称をいう。後に図10を参照して詳細に説明するように、この付加噴射燃料量算出処理では、ストイキ運転時又は排気燃料噴射浄化運転時におけるアフター噴射量Gfuel_aft(k)及び排気燃料噴射量Gfuel_ex_add(k)を決定する。
S8では、パイロット噴射によって供給する燃料量Gfuel_pi(k)(以下、「パイロット噴射量」という)を算出し、S9に移る。なおこのパイロット噴射量Gfuel_pi(k)は、エンジン回転数及び負荷パラメータ(例えば、BMEP。その他、要求トルク、燃料噴射量、エンジントルク推定値、及び排気ボリュームなどのエンジンの負荷に比例して大きくなるパラメータが用いられる)等を入力として、マップ検索等の既知の方法によって算出される。
S9では、後述の目標触媒前空燃比演算を実行し、S10に移る。この目標触媒前空燃比演算では、触媒前LAFセンサの出力値AFcmd_up(k)に対する目標値AFcmd(k)及び筒内燃料噴射量の暫定値Gfuel_cyl(k)を決定する(後述の図13参照)。ここで「筒内燃料噴射量」とは、1燃焼サイクルの間に気筒内における燃焼に供される燃料の総量であり、パイロット噴射、メイン噴射、及びアフター噴射によって噴射される燃料を全て合わせたものに相当する。すなわち、この筒内燃料噴射量に、排気燃料インジェクタから噴射される燃料量は含まれていない。
S10では、後述の触媒前空燃比フィードバック演算を実行し、S11に移る。この触媒前空燃比フィードバック演算では、触媒前LAFセンサの出力値AFcmd_up(k)をS7で算出された目標値AFcmd(k)に制御するための空燃比補正係数KAF(k)を算出する。
S11では、空燃比補正係数KAF(k)をS10で算出された筒内燃料噴射量の暫定値Gfuel_cyl(k)に乗算することによって、最終的な筒内燃料噴射量Gfuel(k)を決定し(下記式(8)参照)、S12に移る。
S12では、筒内燃料噴射量Gfuel(k)から、上記S7で決定されたアフター噴射量Gfuel(k)及びS8で決定されたパイロット噴射量Gfuel_pi(k)を減算することによって、メイン噴射によって供給する燃料量Gfuel_main(k)(以下、「メイン噴射量」という)を算出し(下記式(9)参照)、この処理を終了する。
S13では、S1で得られた基本燃料噴射量Gfuel_bs(k)をリーン運転時における最終的な筒内燃料噴射量Gfuel(k)として決定し、S14に移る。S14では、リーン運転モード時用に定められた所定のアルゴリズム(図示せず)に従って燃料噴射態様を決定し、この処理を終了する。
図7は、ストイキモードフラグF_Stoic_modeを更新するストイキ運転条件判断処理の具体的な手順を示すフローチャートである。換言すれば、図7は、ストイキ運転を行うかリーン運転を行うかを決定するフローチャートである。図7に示す処理は、図6に示すメイン処理のサブルーチンとして、同じ周期(TDC同期)で実行される。
S21では、LNTを熱から保護するために設定された所定のLNT保護条件を満たすか否かを判別する。ストイキ運転を実行すると、排気温度が上昇し、排気通路内の触媒の担体温度も上昇する。LNTはエンジンに近いため、ストイキ運転実行時の温度上昇も大きい。LNT保護条件とは、温度上昇によってLNTが劣化するのを防止するために設定される条件である。より具体的には、S21では、LNTの担体温度の推定値を算出し、当該推定値が、例えば630〜700℃程度に設定された所定のLNT保護温度未満である場合には保護条件を満たすと判断し、それ以外の場合には保護条件を満たさないと判断する。S21の判別がNOである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図6のS6に戻る。S21の判別がYESである場合には、S23に移る。
S23では、LNTが活性状態に達したか否かを判別する。より具体的には、S23では、LNTの担体温度の推定値が、例えば200℃程度に設定された所定の活性温度以上であるか否かを判別する。S23の判別がNOである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図6のS6に戻る。S23の判別がYESである場合には、S24に移る。
S24では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeは”1”であるか否かを判別する。S23の判別がYESである場合には、S22に移り、ストイキ運転を禁止すべくフラグF_Stoic_modeを”0”にセットし、図6の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等)を取得し、これらを入力パラメータとして図8に示すような三元浄化モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。図8において破線で示すように、エンジンの運転状態を大まかに4つの領域に分けると、エンジンから排出され、LNTに流入するNOx量が多い低回転−高負荷領域、高回転−低負荷領域、及び高回転−高負荷領域の3つの領域ではストイキ運転が選択され(F_Stoic_mode←1)、LNTに流入するNOx量が少ない低回転−低負荷領域ではリーン運転が選択される(F_Stoic_mode←0)。
S25の判別がYESである場合には、S27に移り、排気燃料噴射システムによるNOx浄化とLNTの三元浄化機能を利用した排気浄化との併用モード時用のマップを用いてストイキモードフラグF_Stoic_mode(k)を更新する。より具体的には、エンジン回転数及び負荷パラメータを取得し、これら入力パラメータとして図9に示すような併用モード時用のマップを検索することによって、フラグF_Stoic_mode(k)の値を決定する。なお図8の三元浄化モード時用のマップと図9の併用モード時用マップとを比較すると、ストイキ運転が選択される領域(F_Stoic_mode←1)は、図9の併用モード時用マップの方が狭い。これは、S25の判別がYESである場合は、NOである場合よりも排気燃料噴射システムによって浄化できるNOx量が多いからである。
図10は、付加噴射燃料量算出処理の具体的な手順を示すフローチャートである。図10に示す処理は、図6に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。この付加噴射燃料量算出処理では、アフター噴射によって供給する燃料量であるアフター噴射量Gfuel_aft(k)と、アフター噴射の代替として排気燃料インジェクタから噴射する燃料量に相当する追加排気燃料噴射量Gfuel_ex_add(k)とを決定する。
S31では、アフター噴射量と追加排気燃料噴射量とを合わせた量である付加噴射燃料量Gaddを算出し、S32に移る。より具体的には、S31では、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって算出する。
図11は、付加噴射燃料量Gadd(k)を決定するマップの一例である。図11に示すように、付加噴射燃料量Gaddは、エンジン回転数が高くなるほど、又はエンジン負荷が大きくなるほど大きな値に設定される。
S32では、排気燃料噴射システムが故障した状態であることを示す故障フラグF_ExINJ_NGが”0”であるか否かを判別する。この故障フラグF_ExINJ_NGは、後述の図29に示す処理によって更新される。排気燃料噴射システムが正常である場合にはF_ExINJ_NG=0であり、故障した場合にはF_ExINJ_NG=1のである。S32の判別がNOであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、S33に移る。S33では、下記式(10)に示すように、S31で決定した付加噴射燃料量Gadd(k)の全てをアフター噴射に振り分ける。
S32の判別がYESであり、排気燃料インジェクタから燃料を噴射できる状態である場合には、S34に移る、S34では、LNTの担体温度の推定値Tcc_hat(k)を算出し、この推定値Tcc_hat(k)に基づいてアフター噴射量と追加排気燃料噴射量との比である付加噴射比率Radd(k)を算出し、S35に移る。
図12は、付加噴射比率Radd(k)を決定するマップの一例である。LNTの担体温度が低い状態で排気燃料インジェクタから燃料を噴射すると、LNTでは不必要な中間生成物であるN2Oが生成されやすい。このため、図12に示すように、LNTの担体温度の推定値が約400℃より低い場合には、比率Radd(k)を0とし、排気燃料インジェクタからは必要以上に燃料を噴射しないようにする。また、LNTの担体温度の推定値が約400℃以上である場合には、担体温度が高くなるほど比率Radd(k)を徐々に大きくする。
図10に戻って、S35では、下記式(11)に示すように、S34で決定した比率Radd(k)に応じて付加噴射燃料量Gadd(k)をアフター噴射と排気燃料噴射とに振り分け、この処理を終了する。
図13は、目標触媒前空燃比演算の具体的な手順を示すフローチャートである。図13に示す処理は、図6に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。この目標触媒前空燃比演算では、ストイキ運転中又は排気燃料噴射浄化運転中における触媒前LAFセンサの出力に対する目標値に相当する目標触媒前空燃比AFcmd(k)と、筒内燃料噴射量Gfuel_cyl(k)とを決定する。
S41では、排気燃料噴射浄化運転モードフラグF_ExINJ_modeが”1”であるか否かを判別する。S41の判別がYESである場合(排気燃料噴射浄化運転中である場合)には、S42に移り、エンジン回転数及び負荷パラメータ等を入力として、マップ検索等の既知の方法によって目標触媒前空燃比AFcmd(k)を決定し、S43に移る。
図14は、排気燃料噴射浄化運転中における目標触媒前空燃比AFcmdを決定するマップの一例を示す図である。LNTに流入する排気の酸素濃度が低くなるほど、LNTではHCが直接酸化し水と二酸化炭素が生成される確率が低くなるので、NOxの浄化に寄与する中間生成物の生成効率は高くなる。よって、排気ボリュームやLNTに流入する排気のNOx濃度が高くなり、LNTでは効率的なNOx浄化が要求されるような運転状態(高回転域又は高負荷域)では、LNTに流入する排気の酸素濃度を低くする方が好ましい。本発明ではこれを実現するため、図14に示すように、目標触媒前空燃比AFcmdを高回転又は高負荷になるほどリッチになるように設定する。
図13に戻って、S43では、下記式(12)に従い、図6のS1で決定した基本燃料噴射量Gfuel_bs(k)及び目標触媒前空燃比AFcmd(k)に基づいて筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し、図6のS10に戻る。ここで、下記式(12)におけるαstは、理論空燃比であり使用する燃料に応じた値(例えば、14.5)に設定される。
S41の判別がNOである場合(ストイキ運転中である場合)には、S45に移り、下記式(13)に従い、図6のS1で決定した基本燃料噴射量Gfuel_bs(k)と、後述の図16の処理に従って10〜50msec周期で更新される目標触媒後空燃比AFcmd_dsをリサンプリングして得られる目標値AFcmd_ds_tdc(k)とに基づいて要求燃料量Gfuel_rq(k)を算出し、S46に移る。この目標値AFcmd_ds_tdc(k)は、排気燃料インジェクタより下流側のLNTにおける排気空燃比に対する目標に相当する。従って、下記式(13)で得られる要求燃料量Gfuel_rq(k)は、筒内に噴射する燃料と排気燃料インジェクタから噴射する燃料とを合わせた総燃料量に対する要求値に相当する。
S46では、要求燃料量Gfuel_rq(k)から排気燃料噴射量Gfuel_ex(k)を減算することにより、筒内燃料噴射量の暫定値Gfuel_cyl(k)を算出し(下記式(14)参照)、S47に移る。
S47では、図示しない処理によって算出された気筒内の新気量の推定値Gair_cyl_hatを筒内燃料噴射量の暫定値Gfuel_cyl(k)で除算することにより、目標触媒前空燃比AFcmd(k)を算出し(下記式(15)参照)、図6のS10に戻る。
図15は、空燃比補正係数KAFを決定する触媒前空燃比フィードバック演算の具体的な手順を示すフローチャートである。図15に示す処理は、図6に示すメイン処理のサブルーチンとして、ストイキ運転又は排気燃料噴射浄化運転中に同じ周期(TDC同期)で実行される。
S51では、触媒前LAFセンサが活性に達したか否かを判別する。S51の判別がNOである場合には、以下のフィードバック演算を行うことなく補正係数KAF(k)=1とし(S52)、図6のS11に戻る。
S51の判別がYESである場合には、触媒前LAFセンサの出力値AFact_up(k)と、図13の処理によって決定された目標値AFcmd(k)との偏差E_af(k)(下記式(16−1)参照)が0になるように既知のフィードバックアルゴリズムを利用して補正係数KAF(k)を決定し(S53)、図6のS11に戻る。S53における演算の一例として、下記式(16−1)〜(16−3)には、スライディングモードアルゴリズムを利用して補正係数KAF(k)を決定する場合の演算式を示す。式(16−2)において、”Pole_af”は、切換関数設定パラメータであり、-1より大きく0より小さな値(例えば、-0.65)に設定される。また、式(16−3)において2つのフィードバックゲイン”Krch_af”及び”Kadp_af”は、負の値に設定される。なお、S53における触媒前フィードバックの偏差の補償速度は、後述の図16における触媒後フィードバックの速度よりも速く設定することが好ましい。
図16は、目標触媒後空燃比AFcmd_dsを決定する触媒後空燃比フィードバック演算の具体的な手順を示すフローチャートである。図16に示す処理は、ECUにおいて排気燃料噴射システムの制御周期ΔTex(10〜50msec)で実行される。なお以下では、周期ΔTexで更新又はサンプリングされる値については、括弧書きで符号”m”を付す。なお、図13の処理で説明したように、図16の処理で算出される目標触媒後空燃比AFcmd_dsは、排気燃料インジェクタの下流側のLNTにおける排気空燃比の目標値として用いられる。
S61では、触媒前LAFセンサが活性に達したか否かを判別する。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には酸素が多く吸蔵されており、ストイキ運転を開始しても直ちにLNTの三元浄化機能を発揮できない。このため、フラグF_Stoic_mode(m)が”0”から”1”になった直後は、所定の期間にわたって空燃比をストイキよりもややリッチ側(所謂、弱リッチ)に偏らせることにより、LNTに吸蔵されていた酸素を短時間で放出させる還元処理を実行する。この還元処理完了フラグF_CRD_Done(m)は、ストイキ運転の開始直後の還元処理が終了したことを示すフラグであり、後述の図19に示す弱リッチモード終了判定処理によって更新される。以下では、ストイキ運転開始直後に直下触媒の還元を促進する運転モードを「弱リッチモード」という。また、ストイキ運転中に、触媒後LAFセンサの出力に基づいて目標触媒後空燃比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)を決定し、この処理を終了する。
図17は、弱リッチモードの下で目標触媒後空燃比AFcmd_dsを決定するマップの一例である。図17に示すように、弱リッチモードでは、目標触媒後空燃比AFcmd_dsは、弱リッチの領域(約14.5〜13.5程度)内で、担体温度の推定値Tcc_hat及び排気ボリュームの推定値Gex_hatに応じた値に設定される。より具体的には、目標触媒後空燃比AFcmd_dsは、LNTの担体温度が高くなるほど又は排気ボリュームが小さくなるほど、弱リッチの領域内でリッチ側に設定される。
図16に戻ってS64の判別がYESの場合には、S66に移り、触媒後ストイキフィードバックモードの下で目標触媒後空燃比AFcmd_ds(m)を決定する。S66では、LNTの担体温度の推定値Tcc_hat(m)及び排気ボリュームの推定値Gex_hat(m)を取得し、これら2つの推定値Tcc_hat(m)及びGex_hat(m)に基づいて、予め定められたマップを検索することによって、三元浄化目標空燃比AFcmd_ds_twc(m)を決定し、S67に移る。
図18は、三元浄化目標空燃比AFcmd_ds_twc(m)を決定するマップの一例である。図18に示すように、三元浄化目標空燃比AFcmd_ds_twc(m)は、理論空燃比14.5の近傍に設定される。この三元浄化目標空燃比AFcmd_ds_twc(m)は、LNTの担体温度が高くなるほどリッチ側に補正される。また排気ボリュームが大きくなるほど(換言すれば、負荷が高くなるほど)、エンジンから排出されるNOx量が増加するとともに、LNTにおける排気通過速度が増加するため、結果としてLNTにおけるNOx浄化率が低下する。このようなNOx浄化率の低下を補償すべく、三元浄化目標空燃比AFcmd_ds_twc(m)は、図18に示すように排気ボリュームが大きくなるほどリッチ側に補正し、LNT上でのCO、H2、NH3等の還元剤の生成量を増加させる。
図16に戻ってS67では、触媒後LAFセンサの出力値AFact_ds(m)と、その三元浄化目標空燃比AFcmd_ds_twc(m)との偏差E_ds(m)(下記式(17−1)参照)が0になるように、既知のフィードバックアルゴリズムを利用して目標触媒後空燃比AFcmd_ds(m)を決定し、この処理を終了する。S67におけるフィードバック演算の一例として、下記式(17−1)〜(17−3)には、スライディングモードアルゴリズムを利用して目標触媒後空燃比AFcmd_ds(m)を決定する場合の演算式を示す。式(17−2)において、”Pole_ds”は、切換関数設定パラメータであり、-1より大きく0より小さな値(例えば、-0.85)に設定される。また、式(17−3)において2つのフィードバックゲイン”Krch_ds”及び”Kadp_ds”は、負の値に設定される。
図19は、還元処理完了フラグF_CRD_Doneを更新する弱リッチモード終了判定処理の具体的な手順を示すフローチャートである。図19に示す処理は、ECUにおいて図16の触媒後空燃比フィードバック演算と同じ制御周期ΔTex(10〜50msec)で実行される。図19の弱リッチモード終了判定処理では、触媒後LAFセンサの出力に基づいて還元処理完了フラグF_CRD_Doneを更新する。
S71では、ストイキモードフラグF_Stoic_mode(m)が”0”でありかつ排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)が”0”であるか否かを判別する。S71の判別がYESである場合、すなわちストイキ運転中でも排気燃料噴射浄化運転中でもない場合には、S72に移り、還元処理完了フラグF_CRD_Done(m)=0とし、この処理を終了する。
S71の判別がNOである場合、すなわちストイキ運転中であるか又は排気燃料噴射浄化運転中である場合には、S73に移り、触媒後LAFセンサの出力値AFact_ds(m)が、所定の反転判定閾値AF_lnより大きいか否かを判別する。図16〜18を参照して説明したように、ストイキ運転の開始直後は、空燃比は弱リッチに設定され、LNTに吸蔵されていた酸素が放出されるとともに、弱リッチ化により供給された還元剤の酸化に使用される。したがって、この還元処理が終了したか否かは、触媒後LAFセンサの出力値AFact_ds(m)が反転判定閾値AF_lnを超えたか否かによって判別できる。なお、この反転判定閾値AF_lnは、理論空燃比αstよりもやや大きな値(例えば、14.6)に設定される。
S73の判別がNOである場合には、フラグF_CRD_Doneを更新することなくこの処理を終了する。S73の判別がYESである場合には、S74に移り、還元処理が完了したことを明示すべくフラグF_CRD_mode(m)=1とし、この処理を終了する。
図20は、図16〜19の処理の具体例を示すタイムチャートである。図20には、上段から順に、ストイキモードフラグF_Stoic_mode、還元処理完了フラグF_CRD_Done、目標触媒後空燃比AFcmd_ds、LNTに供給される還元剤量の積算値、及び触媒後LAFセンサの出力値AFact_dsを示す。図20には、時刻t1においてストイキモードフラグF_Stoic_modeが”0”から”1”になった場合を示す。
図16を参照して説明したように、ストイキ運転開始直後(図20中、時刻t1)は、目標触媒後空燃比AFcmd_dsは弱リッチに設定される(図16のS65参照)。従って時刻t1以降、LNTには余分な燃料が還元剤として供給され、これによってLNTに吸蔵されていた酸素が放出される。
その後、LNTに吸蔵されていた酸素が放出され切ったことに応じて、時刻t2では、触媒後LAFセンサの出力値AFact_dsが反転判定閾値AF_lnを超える(図19のS73参照)。これによって、還元処理完了フラグF_CRD_Doneは0から1に切り替わり、弱リッチモードが終了し、触媒後空燃比フィードバックモードが開始する(図16のS64参照)。また、この触媒後空燃比フィードバックモードでは、触媒後LAFセンサの出力値AFact_dsが、マップによって算出された三元浄化目標空燃比AFcmd_ds_twcになるように、目標触媒後空燃比AFcmd_dsが決定される(図16のS67参照)。
図21及び22は、排気燃料インジェクタによる排気燃料の噴射態様を決定する排気燃料噴射制御の具体的な手順を示すフローチャートである。図21及び22に示す処理は、ECUにおいて図16の触媒後空燃比フィードバック演算と同じ制御周期tm(10〜50msec)で実行される。図21及び22に示すように、排気燃料噴射制御は、2つのLAFセンサの目標温度を設定するステップ(S92,S98,S100)と、間欠噴射に必要なパラメータを決定するステップ(S115)と、排気燃料噴射量を決定するステップ(S93,S99,S107,S111)と、システムの劣化を検知するステップ(S108)と、排気燃料噴射浄化運転モードフラグF_ExINJ_modeを更新するステップ(S94,S109)と、を含む。
S91では、排気燃料噴射システムが正常であるか否か(後述の故障フラグF_ExINJ_NG=0であるか否か)を判別する。S91の判別がYESである場合には、S95に移る。S91の判別がNOであり、排気燃料インジェクタから燃料を噴射できない状態である場合には、S92に移る。S92では、触媒前LAFセンサ及び触媒後LAFセンサのHCずれの大きさが等しくかつできるだけ小さくなるように、触媒前LAFセンサの検出素子の目標温度Tcmd_laf_up(m)と触媒後LAFセンサの検出素子の目標温度Tcmd_laf_ds(m)とを、共に所定の高温側目標値Tcmd_laf_highに設定し(Tcmd_laf_up(m)=Tcmd_laf_ds(m)=Tcmd_laf_high)、S93に移る。このように、排気燃料噴射システムが正常でない場合には、LAFセンサの温度を触媒前と触媒後で等しくすることにより、HCずれのない正確なLAFセンサの出力の下でストイキ運転を行うことができる。またS93では、排気燃料インジェクタから燃料を噴射できない状態であると判断されたことに応じて排気燃料噴射量Gfuel_ex(m)=0とし、S94では排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし、この処理を終了する。
S95では、LNTを熱から保護するために設定されたLNT保護条件を満たすか否かを判別する。なお、このLNT保護条件の具体的な内容及び具体的な判別方法は、図7のS21と同じであるので、詳細な説明を省略する。S95の判別がYESであり、LNT保護条件を満たす場合には、S96に移る。S96では、排気燃料噴射システムの所定のNOx浄化可能条件を満たすか否かを判別する。なお、このNOx浄化可能条件の具体的な内容及び具体的な判別方法は、図7のS25と同じであるので、詳細な説明を省略する。S96の判別がYESであり、排気燃料噴射システムのNOx浄化可能条件を満たす場合には、S97に移る。
S97では、弱リッチモード完了フラグF_CRD_Doneが”1”であるか否かを判別する。弱リッチモード完了フラグF_CRD_Doneが”1”でない状態とは、図16を参照して説明したLNTの還元処理が完了していない状態である。LNTの還元処理が完了していない状態では、排気燃料インジェクタから燃料を噴射しても、十分な効率でNOxを浄化することができない。したがって、S97の判別がYESである場合にのみS115に移り、排気燃料噴射浄化運転モードの下で排気燃料噴射量を決定する。
S95〜S97の判別のうち何れかがNOである場合には、S98に移る。ここで、S95〜S97の判別のうち何れかがNOである場合とは、排気燃料インジェクタから燃料を噴射できる状態であるが、排気燃料噴射システムを利用して排気を浄化できない状態に相当する。この場合、図10を参照して説明したように、ストイキ運転中にアフター噴射の代替として燃料噴射インジェクタからの燃料噴射が要求される場合がある。S98では、S92と同様に、触媒前LAFセンサ及び触媒後LAFセンサの目標温度を所定の高温側目標値に設定し、S99に移る。S99では、図10の処理によってTDC周期で算出される追加排気燃料噴射量をリサンプリングし(Gfuel_ex_add(k)→Gfuel_ex_add(m))、リサンプリングによって得られた値を排気燃料噴射量とし(Gfuel_ex(m)=Gfuel_ex_add(m))、S94に移る。S94では、排気燃料噴射浄化運転モードフラグF_ExINJ_mode(m)=0とし、この処理を終了する。
S115では、間欠噴射の実行に必要な噴射周期Tfuel_ex(m)及び噴射周期パラメータNex(m)を設定する間欠噴射パラメータ設定処理を実行し、S100に移る。この間欠噴射パラメータ設定の具体的な手順については、後に図24を参照して説明する。
S100では、触媒前LAFセンサ及び触媒後LAFセンサを利用して、LNTの下流へのHCスリップを検出可能な状態にすべく、触媒後LAFセンサの検出素子の温度を触媒前LAFセンサの検出素子の温度よりも低くし、S101に移る。より具体的には、触媒前LAFセンサの検出素子の目標温度Tcmd_laf_up(m)を高温側目標値Tcmd_laf_highに設定し(Tcmd_laf_up(m)=Tcmd_laf_high)、触媒後LAFセンサの検出素子の目標温度Tcmd_laf_ds(m)を上記高温側目標値Tcmd_laf_highより小さな所定の低温側目標値Tcmd_laf_lowに設定する(Tcmd_laf_ds(m)=Tcmd_laf_low)。
S101では、LNTに流入するNOx量の推定値Gnox_hat(m)及びLNTの担体温度の推定値Tcc_hat(m)を取得し、これら2つの推定値Gnox_hat(m)及びTcc_hat(m)に基づいて、排気燃料噴射量の基準値となる基準排気燃料噴射量Gfuel_ex_bs(m)を決定し、S102に移る。ここで、LNTに流入するNOx量の推定値Gnox_hat(m)は、例えば、エンジン回転数及び負荷パラメータに基づいて所定のマップ(図示せず)を検索することによって算出できる。この他、LNTの上流側にNOxセンサを設け、このNOxセンサの出力に基づいて算出したり、エンジン回転数、及び負荷パラメータ等を入力としたニューラルネットワークの出力に基づいて算出したりしてもよい。
図23は、基準排気燃料噴射量Gfuel_ex_bsを決定するマップの一例である。図23に示すように、噴射量Gfuel_ex_bsは、LNTに流入するNOx量が多くなるほど大きな値に設定される。また、噴射量Gfuel_ex_bsは、LNTの担体温度が高くなるほど大きな値に設定される。
図22に戻ってS102では、所定のHCスリップフィードバック制御実行条件を満たすか否かを判別する。ここでHCスリップフィードバック制御実行条件の内容について説明する。先ず、図5を参照して説明したように、HCスリップフィードバック制御は、LNTの下流側へ僅かであっても積極的なHCのスリップを伴う。すなわち、HCスリップフィードバック中は、HCのスリップが0となるように定められた噴射量(図5におけるG2)と比較すれば、HCのスリップを伴う分だけ余分に燃料を噴射する必要がある。
例えばLNTの担体温度が比較的低温の領域(例えば、350〜400℃未満の領域)では、LNTでは噴射した燃料からN2Oが生成されやすくなっている。N2OはNOxの浄化に寄与する中間生成物ではないので、その生成はできるだけ少なくする方が好ましい。したがって、このような低温域では、N2Oの生成リスクが高くなっているため、HCがスリップするほど余分な燃料を噴射するのは好ましくない。
また、LNTの担体温度が比較的高温の領域(例えば、550℃以上の領域)では、噴射した燃料の多くが直接酸化されてしまい、NOxの浄化に寄与する中間生成物の生成効率が低下する。したがって、このような高温域では、LNTに供給した燃料のNOx浄化率の向上に寄与する度合いが小さくなっているため、HCがスリップするほど余分な燃料を噴射するのは好ましくない。
以上のように、低温域及び高温域におけるHCスリップフィードバック制御は、燃料の無駄が多い。したがって、これら低温域及び高温域では、HCスリップフィードバック制御を実行することによって排気燃料噴射量をHCスリップが発生するような量(図5中、G4参照)にするよりも、あえてHCスリップが発生しない程度の量(図5中、G2よりもやや少ない量)まで抑制する方が好ましい。以下では、このようにHCスリップが発生しない程度の量まで排気燃料噴射量を意図的に抑制する制御を、HCスリップ抑制モードという。
S102におけるHCスリップフィードバック制御実行条件とは、以上のようなHCスリップフィードバック制御を実行するのに好ましい状態であるか否かを判別するための条件である。より具体的には、HCスリップフィードバック制御実行条件とは、例えば、LNTの担体温度の推定値が400〜550℃の範囲内であること、である。S102の判別がYESである場合には、HCスリップフィードバック制御を実行すべく、S103に移る。S102の判別がNOである場合には、HCスリップ抑制モードを実行すべく、S110に移る。
次に、HCスリップフィードバック制御の具体的な手順(S103〜S108)について説明する。HCスリップフィードバック制御中において、最終的な排気燃料噴射量Gfuel_ex(m)は、S101で算出した基準排気燃料噴射量Gfuel_ex_bs(m)に比例する基本項(右辺第1項)と、触媒後LAFセンサの出力値AFact_ds(m)に基づいて算出される補正値DGfuel_ex(m)に比例するフィードバック補正項(右辺第2項)とを合算することによって算出される(下記式(18)、及び後述のS107参照)。また、この基本項は、マップ(図23参照)を用いて算出される基準排気燃料噴射量Gfuel_ex_bs(m)に、後述の適応補正マップに従って算出される適応係数Kff_ex(m)を乗算したもので定義される。
HCスリップフィードバック制御は、補正値DGfuel_ex(m)を算出するステップ(S103〜S105)と、適応係数Kff_ex(m)を算出するステップ(S106)と、式(18)によって最終的な排気燃料噴射量Gfuel_ex(m)を決定するステップ(S107)と、排気燃料噴射システムの故障を判定するステップ(S108)と、で構成される。
始めにS103では、S115で設定された噴射周期パラメータNex(m)をタップ数とした移動平均フィルタを用いて、触媒後LAFセンサの出力のフィルタ値AFact_mav_ds(m)と理想排気空燃比AF_exh_id_mav_up(m)とを算出し、HCスリップ量に比例したNOx浄化パラメータP_LNT(m)を算出する(下記式(19)参照)。
S104では、NOx浄化パラメータP_LNT(m)と、その目標値P_LNT_cmd(m)との偏差E_LNT(m)を算出し(下記式(20)参照)、S105に移る。HCスリップフィードバック制御中は、NOx浄化パラメータの目標値P_LNT_cmd(m)に比例した量のHCがLNTの下流側へ定常的にスリップする。また、図1に示す排気浄化システムでは、LNTからスリップしたHCは、その下流側に設けられたCSFに設けられた酸化触媒よって酸化処理される。したがって、この目標値P_LNT_cmd(m)は、0よりも僅かに大きな値、又はHC酸化触媒としてのCSFのHC酸化処理能力に応じて設定される上限値より小さな値に設定される。またこの目標値P_LNT_cmd(m)は、上述のような制限の下で、例えばエンジン回転数、負荷パラメータ、排気ボリューム、エンジンから排出されるNOx量、及びLNTの担体温度等に応じて可変させてもよい。
S105では、偏差E_LNT(m)が”0”になるように既知のフィードバックアルゴリズムを利用して排気燃料噴射量の補正値DGfuel_ex(m)を算出する。S105における演算の一例として、下記式(21−1)及び(21−2)には、スライディングモードアルゴリズムを利用して補正値DGfuel_exを決定する場合の演算式を示す。下記式(21−1)において、”Pole_LNT”は、切換関数設定パラメータであり、-1より大きく0より小さな値(例えば、-0.85)に設定される。また、式(21−2)において2つのフィードバックゲイン”Krch_LNT”及び”Kadp_LNT”は、負の値に設定される。
S106では、HCスリップフィードバック制御時用の適応係数算出処理を実行し、S107に移る。後に図26を参照して説明するように、この適応係数算出処理では、後述の適応補正マップによって適応係数Kff_ex(m)を算出するとともに、式(18)のフィードバック補正項が0になるように当該適応補正マップを学習する。S107では、基準排気燃料噴射量Gfuel_ex_bs(m)に適応係数Kff_ex(m)を乗算することによって算出される基本項と、補正値DGfuel_ex(m)とを合算することによって、排気燃料噴射量Gfuel_ex(m)を算出し(上記式(18)参照)、S108に移る。S108では、後に図29を参照して説明する排気燃料噴射システムの故障判定処理を実行し、S109に移る。S109では、排気燃料噴射浄化運転中であることを明示すべくフラグF_ExINJ_mode(m)=1とし、この処理を終了する。
次に、HCスリップ抑制制御の具体的な手順(S110〜S111)について説明する。HCスリップ抑制制御の目的は、燃料の無駄な消費をできるだけ避けるため、排気燃料噴射量をHCスリップが発生しない程度まで抑制することである。しかしながら排気燃料噴射量を過剰に抑制すると、NOx浄化率も大幅に低下してしまう。したがって、HCスリップ抑制制御における排気燃料噴射量の目標は、図5でいえば、G2よりやや少ない量である。しかしながら、HCスリップが発生しない領域ではNOx浄化パラメータP_LNTは、一律で0となる。このため、上述のHCスリップフィードバック制御と同様にして、浄化パラメータP_LNTに基づいて、排気燃料噴射量を上述のような目標に制御することはできない。
一方、HCスリップフィードバック制御中は、S106に示す処理によって、式(18)の右辺第2項のフィードバック補正項が0になるように、基本項の適応係数Kff_exの算出アルゴリズムを学習する。このため、HCスリップフィードバック制御を繰り返し実行すれば、浄化パラメータP_LNTやフィードバック補正項の演算を経ることなく、HCスリップフィードバック制御時と同等の排気燃料噴射量(例えば、図5中、G4に相当)を、基本項のみによって再現できる。浄化パラメータP_LNTを用いることができないHCスリップ抑制制御中は、このように学習を経た基本項によって算出される排気燃料噴射量に、1より小さな減量係数を乗算することによって、HCスリップフィードバック制御時よりも適度に抑制された排気燃料噴射量(例えば、図5中、G2よりもやや少ない量)を算出する。
S110では、後に図28を参照して説明するHCスリップ抑制制御時用の適応係数算出処理を実行することによって、適応係数Kff_ex(m)を算出し、S111に移る。S111では、下記式(22)に示すように、減量係数を0.9として、この減量係数を式(18)の基本項に乗算することによって、排気燃料噴射量Gfuel_ex(m)を算出し、S109に移る。S109では、排気燃料噴射浄化運転中であることを明示すべく、フラグF_ExINJ_mode(m)=1とし、この処理を終了する。
図24は、間欠噴射パラメータ設定処理の具体的な手順を示すフローチャートである。図24に示す処理は、図21のメイン処理のサブルーチンとして制御周期ΔTexで実行される。
S151では、LNTのHC酸化能力を示す酸化能力パラメータを取得し、S152に移る。この酸化能力パラメータとしては、例えば、LNTの担体温度の推定値Tcc_hat(m)及び負荷パラメータ(例えば、BMEP。その他、要求トルク、燃料噴射量、エンジントルク推定値、及び排気ボリュームなどのエンジンの負荷に比例して大きくなるパラメータが用いられる)の組み合わせが用いられるが、本発明はこれに限らない。LNTのHC酸化能力は、温度及び負荷パラメータの組み合わせによって特定されるLNTの環境の他、LNTの劣化度合いや個体ばらつき等によっても変化する。したがって、この酸化能力パラメータは、このような劣化度合いや個体ばらつき等も考慮して数値化したものを用いてもよい。
S152では、S151で取得した酸化能力パラメータを入力として、マップ検索等の既知の方法によって1より大きな整数である噴射周期パラメータNex(m)を算出し、S153に移る。
図25は、噴射周期パラメータNexを決定するマップの一例である。間欠噴射によって供給された燃料が、NOxの浄化に寄与せずにLNTにおいて直接酸化しないようにするためには、LNTの酸化能力が高くなるほど噴射周期を長くし、一周期中に噴射される燃料の量を多くする方が好ましい。従って噴射周期パラメータNexは、LNTのHC酸化能力が高くなるほど大きな値に設定される。また、上述のように噴射周期パラメータNexは、1より大きな整数である。従って、噴射周期パラメータNexは、図25に示すようにLNTの酸化能力に応じてステップ状に変化させることが好ましい。
図24に戻って、S153では、制御周期ΔTexに整数である噴射周期パラメータNex(m)を乗じたものを間欠噴射の噴射周期Tfuel_ex(m)として算出し(下記式(23)参照)、この処理を終了する。
図26は、HCスリップフィードバック制御時用の適応係数算出処理の具体的な手順を示すフローチャートである。図26に示す処理は、図22のメイン処理のサブルーチンとして、HCスリップフィードバック制御の実行中に制御周期ΔTexで実行される。
図26を参照して適応係数算出処理の具体的な手順を説明する前に、適応係数Kff_exを算出する算出アルゴリズムと、当該算出アルゴリズムの学習手順の内容を説明する。適応係数算出処理では、下記式(24)に示すように、LNTに流入するNOx量の推定値Gnox_hat(m)及びLNTの担体温度の推定値Tcc_hat(m)を入力として、適応補正マップ(後述の式(25)等)によって算出されるマップ値M_tcc_nox(m)と、適応係数Kff_exの初期値である”1”と、を合算することによって、適応係数Kff_ex(m)を算出する。
下記式(25)は、適応補正マップの具体的な構成を示す式、すなわちマップ値M_tcc_nox(m)の具体的な演算式である。下記式(25)において、値Wex_nox_i(m)(i=1,2,3)は、NOx量の推定値Gnox_hat(m)を入力として、図27の上段に示すような重み関数マップによって算出される3種類のNOx量用重み関数の値である。値Wex_tlnt_j(m)(j=1,2,3)は、担体温度の推定値Tcc_hat(m)を入力として、図27の下段に示すような重み関数マップによって算出される3種類のLNT温度用重み関数の値である。また、9つの係数Dkff_ij(m)(i又はj=1,2,3)は、9種類の重み関数の組み合わせに付随して定められる領域適応更新値である。これら9つの領域適応更新値Dkff_ij(m)は、重み関数の組み合わせの寄与度、換言すれば当該重み関数の組み合わせの高さを指定する値である。すなわち、領域適応更新値Dkff_ij(m)の値を変化させることは、直感的には、マップ値M_tcc_nox(m)を算出するための適応補正マップの形状を変化させることに相当する。図26の適応係数算出処理では、式(18)のフィードバック補正項(DGfuel_ex(m))の絶対値が小さくなるように領域適応更新値Dkff_ij(m)を変化させる。
なお、3つの重み関数Wex_nox_1〜Wex_nox_3は、NOx量の推定値Gnox_hatに対して定義され、3つの重み関数Wex_tlnt_1〜Wex_tlnt_3は、担体温度の推定値Tcc_hatに対して定義される。またこれら重み関数は、図27に示すように全重み関数値の総和がどのような温度又はNOx量に対しても1になるように正規化される。
図26に戻って、S121では、NOx量の推定値Gnox_hat(m)及び担体温度の推定値Tcc_hat(m)を取得し、これら推定値に基づいて図27に示すようなマップを検索することによって、3つのNOx量用重み関数値Wex_nox_i(m)及び3つのLNT温度用重み関数値Wex_tlnt_j(m)を算出し、S122に移る。
S122では、図22のS105で算出された補正値DGfuel_ex(m)に”-1”を乗算することにより適応誤差信号Eadp_ex(m)を算出し(下記式(26−1)参照)、S123に移る。S123では、下記式(26−2)に従って9つの重み付適応誤差信号WEadp_ex_ij(m)(i又はj=1,2,3)を算出し、S124に移る。S124では、各重み付適応誤差信号WEadp_ex_ij(m)に負のゲインKadp_ffを乗じたものを積分することによって、各領域適応更新値Dkff_ij(m)を算出し(下記式(26−3)参照)、S125に移る。すなわち、以上のS121〜S124の処理によって、補正値DGfuel_ex(m)の絶対値が小さくなるように領域適応更新値Dkff_ij(m)が算出される。したがって、S121〜S124の処理が適応補正マップを補正する基本項補正手段を構成する。S125では、以上のようにして算出された複数の重み関数値及び領域適応更新値を式(25)の適応補正マップに入力することによってマップ値M_tcc_nox(m)を算出し、さらに式(24)によって適応係数Kff_ex(m)を算出し、図22のS107に戻る。
図28は、HCスリップ抑制制御時用の適応係数算出処理の具体的な手順を示すフローチャートである。図28に示す処理は、図22のメイン処理のサブルーチンとして、HCスリップ抑制制御中に制御周期ΔTexで実行される。
S131では、NOx量の推定値Gnox_hat(m)及び担体温度の推定値Tcc_hat(m)を取得し、これら推定値に基づいて図27に示すようなマップを検索することによって、各NOx量用重み関数値Wex_nox_i(m)及び各LNT温度用重み関数値Wex_tlnt_j(m)を算出し、S132に移る。S132では、以上のようにして算出された複数の重み関数値と、HCスリップフィードバック制御中に式(26−1)〜(26−3)の学習処理によって算出された領域適応更新値Dkff_ij(m)を用いて、上記式(24)及び(25)に従って適応係数Kff_ex(m)を算出し、図22のS109に戻る。
図29は、排気燃料噴射システムの故障判定処理の具体的な手順を示すフローチャートである。図29に示す処理は、図22のメイン処理のサブルーチンとして、HCスリップフィードバック制御中に制御周期ΔTexで実行される。この故障判定処理では、HCスリップフィードバック制御中に算出される補正値DGfuel_ex(m)及び領域適応更新値Dkff_ij(m)と各々に対して設定された閾値との比較によって、排気燃料噴射システムが故障しているか否かを判定する。
S141では、補正値DGfuel_ex(m)が所定の下限故障閾値DG_Low_NGより小さいか否かを判別する。S141の判別がNOである場合にはS142に移る。S142では、9つの領域適応更新値Dkff_ij(m)のうち何れかが所定の下限故障閾値DKFF_Low_NGより小さいか否かを判別する。S142の判別がNOである場合にはS145に移る。また、S141及びS142の何れかの判別がYESである場合には、排気燃料噴射システムは故障したと判断し、S143に移り、故障フラグF_ExINJ_NG(m)=1とし、さらに図示しない警告灯を点灯し(S144)、図22のS109に移る。
ここで、S141及びS142の処理によって排気燃料噴射システムの故障を判定できる理由を説明する。HCスリップフィードバック制御中の排気燃料噴射量は、HCスリップが発生するように定められる。S141の判別で用いる補正値DGfuel_ex(m)が小さくなるほど、最終的な排気燃料噴射量Gfuel_ex(m)は小さな値に補正される(式(18)参照)。また、S142の判別で用いる領域適応更新値Dkff_ij(m)が小さくなるほど、適応係数Kff_ex(m)は小さくなり(式(24)、(25)参照)、最終的な排気燃料噴射量Gfuel_ex(m)は小さな値に補正される(式(18)参照)。したがって、これら補正値又は領域適応更新値が各々の閾値より小さくなった状態とは、HCスリップを発生させるために必要な排気燃料噴射量が正常時よりも少なくなった状態であるといえる。
S141又はS142の判別によれば、LNTの酸化能力が正常時よりも低下する故障を特定することができる。LNTの酸化能力が低下すると、中間生成物が生成されにくくなってしまい、排気燃料インジェクタから供給した燃料の多くがLNT上での中間生成物の生成に寄与せず、HCとして下流側に排出されるからである。また、S141又はS142の判別がYESである場合は、中間生成物の生成量が本来の量よりも少ないので、NOx浄化率も本来よりも低下している。なお、このようなLNTの酸化能力の低下は、例えばLNTの劣化によって生じ得る。
S145では、補正値DGfuel_ex(m)が所定の上限故障閾値DG_High_NGより大きいか否かを判別する。S145の判別がNOである場合にはS146に移る。S146では、9つの領域適応更新値Dkff_ij(m)のうち何れかが所定の上限故障閾値DKFF_Low_NGより大きいか否かを判別する。S146の判別がYESである場合には、排気燃料噴射システムは正常であると判断し、故障フラグF_ExINJ_NG(m)=0とし(S147)、図22のS109に移る。またS145及びS146のうちの何れかの判別がYESである場合には、排気燃料噴射システムは故障したと判断し、故障フラグF_ExINJ_NG(m)=1とし(S143)、さらに警告灯を点灯し(S144)、図22のS109に移る。これら補正値又は領域適応更新値が各々の閾値より大きくなった状態とは、上述のS141及びS142の場合とは逆に、HCスリップを発生させるために必要な排気燃料噴射量が正常時よりも多くなった状態であるといえる。
S145又はS146の判別によれば、LNTの酸化能力が正常時よりも上昇する故障を特定することができる。LNTの酸化能力が高くなると、排気燃料インジェクタから供給した燃料の多くは、LNT上で中間生成物の生成に寄与することなく、直接酸化してしまうからである。また、S145又はS146の判別がYESである場合も、中間生成物の生成量が本来よりも少ないので、NOx浄化率も本来よりも低下している。なお、このようなLNTの酸化能力の上昇は、燃料に金属系(例えば、Pt)の添加剤が加えられた場合や、排気燃料インジェクタから噴射される燃料の粒径が、正常な状態よりも小さくなった場合等に生じ得る。
図30は、図21及び22の処理によって設定された排気燃料噴射量Gfuel_ex及び噴射周期Tfuel_exの下で行う間欠噴射制御の具体的な手順を示すフローチャートである。図31は、図30のフローチャートによって実現される間欠噴射制御の具体例を示すタイムチャートである。図30に示す処理は、排気燃料噴射浄化運転モードフラグF_ExINJ_modeが”1”であり排気燃料インジェクタからの燃料の間欠噴射が要求されている時に、制御周期ΔTexよりも十分に短い周期ΔTinj(例えば、数μ秒〜数十μ秒)で実行される。なお以下では、周期ΔTinjで更新又はサンプリングされる値については、括弧書きで符号”j”を付す。
S161では、図24の処理によって周期ΔTexで更新される噴射周期をオーバーサンプリングし(Tfuel_ex(m)→Tfuel_ex(j))、噴射制御タイマTM_INJ(j)は噴射周期Tfuel_ex(j)より大きいか否かを判別する。この噴射制御タイマTM_INJ(j)は、制御周期ΔTinj毎に経過した時間が加算され(後述のS168参照)、噴射周期Tfuel_ex(j)毎にリセットされる(後述のS162参照)。S161の判別がYESである場合には、噴射制御タイマTM_INJ(j)を”0”にリセットした後(S162)、S163に移る。S161の判別がNOである場合には、タイマをリセットせずにS163に移る。
S163では、図22の処理によって周期ΔTexで更新される排気燃料噴射量をオーバーサンプリングし(Gfuel_ex(m)→Gfuel_ex(j))、この単位時間当たりの噴射量Gfuel_ex(j)を、一噴射周期の間に排気燃料インジェクタで燃料噴射を実行する時間(すなわち、開弁時間)に相当する排気燃料噴射時間Tfuel_inj(j)に換算し、S164に移る。この噴射量から時間への換算は、例えば、下記式(27)によって実現される。下記式において、Ginjは、周期ΔTinjの間に排気燃料インジェクタから噴射される燃料量に相当する。
S164及びS165では、噴射制御タイマTM_INJ(j)が、所定の噴射可能期間Tfuel_max(j)及び噴射時間Tfuel_inj(j)の何れかを超えたか否かを判別する。この噴射可能期間Tfuel_max(j)は、図31に示すように確実に間欠噴射が実行されるように定められる噴射制御タイマTM_INJ(j)に対する上限であり、噴射周期Tfuel_ex(j)より小さな値(例えば、Tfuel_max(j)=Tfuel_ex(j)/2)に設定される。
S164及びS165の判別の両方がNOである場合には、排気燃料噴射を実行(排気燃料インジェクタを開弁駆動)し(S166参照)、S168に移る。S164及びS165の判別の何れかがYESである場合には、排気燃料噴射を停止(排気燃料インジェクタを閉弁駆動)し(S167参照)、S168に移る。S168では、噴射制御タイマTM_INJ(j)を更新し(TM_INJ(j)←TM_INJ(j)+ΔTinj)、この処理を終了する。
なお、S164の判別がYESである場合、実質的な噴射時間Tfuel_inj(j)は、噴射可能期間Tfuel_max(j)に制限されてしまうため、実際に排気燃料インジェクタから単位時間当たりに噴射される燃料量は、図22の処理で定めた量から所定量ΔGだけ減少する(Gfuel_ex→Gfuel_ex-ΔG)。したがってこの点を考慮して、S164の判別がYESとなった場合には、例えば、図22の処理において式(4−2)又は(5−1)によって算出される理想排気空燃比AF_ex_id_upは、それぞれ下記式(28−1)又は(28−2)で置き換えてもよい。
次に、本発明の第2実施形態を、図面を参照しながら説明する。
図32は、本実施形態に係るエンジン1及びその排気浄化システム2Bの構成を示す図である。図32の排気浄化システム2Bは、図1に示す第1実施形態の排気浄化システム2と、触媒前LAFセンサ51Bを設ける位置と、筒内燃料噴射制御及び排気燃料噴射制御を実行するECU3Bの構成が異なる。
触媒前LAFセンサ51Bは、排気通路11のうちLNT41と排気燃料インジェクタ452との間に設けられる。この場合、図1のシステム2と異なり、LAFセンサ51Bの出力値AFact_up’は、排気燃料インジェクタ452からの間欠噴射の影響を直接受けることとなるが、以下に示す処理を変更すれば、図6〜31に示す筒内燃料噴射制御及び排気燃料噴射制御を排気浄化システム2Bでも実行できる。
第1に、触媒前LAFセンサ51Bを排気燃料インジェクタ452の下流側に設けることにより、この触媒前LAFセンサ51Bの出力値AFact_up’(m)を、そのままLNTの上流側の理想排気空燃比AF_exh_id_up(m)として利用できる。すなわち、排気浄化システム2Bでは、式(4−1)〜(4−2)は下記式(29)に置き換えられる。
しかしながら、図2及び図36を参照して説明したように、排気燃料インジェクタで間欠噴射を行うと、触媒後LAFセンサ52の出力値AFact_dsと同様に触媒前LAFセンサ51Bの出力値AFact_up’ものこぎり波状となってしまう。したがって、図32の排気浄化システム2Bでは、間欠噴射を行っている間は、触媒前LAFセンサ51Bの出力値AFact_up’に対しても式(3)と同様の移動平均フィルタを適用する必要がある。より具体的には、例えば、理想排気空燃比AF_exh_id_upの演算式(29)は下記式(30)に置き換えられる。
また、式(30)で算出される理想排気空燃比AF_exh_id_upは、既に移動平均による位相遅れを含んだものとなっていることから、浄化パラメータP_LNTの演算式(7)は、下記式(31)に置き換えられる。
第2に、図13の目標触媒前空燃比演算のS45〜S47の処理は、以下のように変更される。図1の排気浄化システム2では、触媒前LAFセンサ51を排気燃料インジェクタ452の上流側に設けられることから、図16の処理に従って算出される目標値AFcmd_ds_tdc(k)から、排気燃料噴射量Gfuel_ex(k)の影響を除いた上で、触媒前LAFセンサ51の出力値AFact_up(k)に対する目標値AFcmd(k)を算出した(式(12)〜(15)参照)。これに対し図32の排気浄化システム2Bでは、触媒前LAFセンサ51Bは排気燃料インジェクタ452の下流側に設けられることから、触媒LAFセンサ51Bの出力値AFact_up’(k)の目標値AFcmd’(k)を算出するにあたり、排気燃料噴射量Gfuel_ex(k)の影響を除く必要がない。すなわち、排気浄化システム2Bでは、式(14)は、下記式(32)に置き換えられる。図32の排気浄化システム2Bによれば、以上の置き換えによって図1の排気浄化システム2とほぼ同じ効果を奏する。
以上、本発明の一実施形態について説明したが、本発明はこれに限らない。本発明は、排気中の燃料成分全体の濃度が一定にもかかわらず、空燃比センサの出力値と真値との差がHC濃度によって変化する現象を利用したものである。そして上記実施形態では、このような本発明を具現化したものとして、図4を参照して説明したように排気中のHC濃度が高くなるほどその出力値が真値に対してリーン側にシフトする特性を有する空燃比センサを触媒の下流側の触媒後空燃比センサ52(図1参照)に用いた場合について詳細に説明したが、本発明はこれに限らない。例えば、排気中のHC濃度の増加に応じてその出力値と真値との差がリッチ側に変化する特性を有する空燃比センサがあれば、このような空燃比センサを触媒後空燃比センサ52に用いても、上記実施形態に係る発明と同じ目的及び効果を達成することができる。なおこのように図4とは逆の方向へ出力値がシフトする空燃比センサを用いた場合、上記式(6)又は(7)によって定義されるNOx浄化パラメータP_LNTの符号が逆になり、ひいてはこのNOx浄化パラメータP_LNTに対する目標値P_LNT_cmdの符号も逆になる点に注意すべきである。このようにNOx浄化パラメータP_LNTの符号が逆になることを考慮すれば、図6〜31を参照して説明した具体的な制御手順は、出力値のシフト方向が図4とは逆の空燃比センサを触媒後空燃比センサ52に用いた排気浄化システムにも適用することができる。