以下、本発明による空燃比制御装置の実施形態について図面を参照しつつ説明する。図1は、かかる空燃比制御装置を有する内燃機関の構成を示している。この空燃比制御装置は内燃機関であるエンジン1を制御するものである。
エンジン1は多気筒エンジンであり、図1においては、その一気筒のみが断面図で示されている。このエンジン1は、点火プラグ2によって各シリンダ3内の混合気に対して点火を行うことにより駆動力を発生するようになっている。エンジン1は、吸気通路4を介して外部から吸入された空気とインジェクタ5から噴射された燃料とを混合することで形成される混合気をシリンダ3内に吸入するようになっている。吸気バルブ6は、シリンダ3の内部と吸気通路4との間を開閉するようになっている。排気通路7は、シリンダ3の内部で燃焼された混合気を排ガスとして排気する通路である。排気バルブ8は、シリンダ3の内部と排気通路7との間を開閉するようになっている。
スロットルバルブ9は、シリンダ3内に吸入される吸入空気量を調節するためのものであって、吸気通路4に配設されている。このスロットルバルブ9には、その開度を検出するスロットルポジションセンサ10が接続されている。また、スロットルバルブ9は、スロットルモータ11と連結されており、スロットルモータ11の駆動力により開閉されるようになっている。アクセルポジションセンサ12は、スロットルバルブ9の近傍に配設され、アクセルペダルの操作量(アクセル開度)を検出するようになっている。これらの構成に基き、スロットルバルブ9の開度は電子的に制御されるようになっている。即ち、本エンジン1には、電子制御スロットル方式が採用されている。
また、エンジン1は、吸入空気量(吸入空気流量)を検出するエアフローメータ13、クランクシャフトの位置を検出することでシリンダ3内のピストン15の位置やエンジン回転速度NEを求める信号を発生するクランクポジションセンサ14、同エンジン1のノッキングを検出するノックセンサ16、及び冷却水温を検出する水温センサ17を備えている。
排気浄化触媒(触媒コンバータ、以下、単に「触媒」と称呼することもある。)19は、排気通路7に配設されている。このような触媒は、排気通路上に複数設けられる場合もある。例えば、排気の流れに対して直列に複数設けられる場合や、排気通路が分岐されている構成を備えるエンジンに対しては、各分岐した排気通路に備えられる場合(より具体的には、4気筒エンジンにおいて、2気筒の排気管が一つにまとめられた箇所に触媒が一つ配置され、残りの2気筒の排気管が一つにまとめられた箇所にもう一つの触媒が配置される場合)である。本実施形態においては、各シリンダ3の排気管が一つにまとめられた箇所よりも下流側に一つの触媒19が配設されている。
エンジン1は、更に、触媒19の温度を測定する触媒温度センサ21、チャコールキャニスタ23、チャコールキャニスタ23に捕集された燃料タンクからの蒸発燃料を吸気通路4にパージさせるパージコントロールバルブ24、触媒19の上流側に取り付けられた上流側空燃比センサ25、及び触媒19の下流側に取り付けられた下流側空燃比センサ26を備えている。
前記空燃比センサ25,26は、各取付位置における排ガス中の酸素濃度から同排ガスの空燃比(排ガスの排気空燃比、排気空燃比)をそれぞれ検出するようになっている。空燃比センサ25は、空燃比をリニアに検出するリニア空燃比センサであり、空燃比センサ26は、空燃比がリッチであるかリーンであるかを識別する濃淡電池型センサである。
上述した点火プラグ2、インジェクタ5、スロットルポジションセンサ10、スロットルモータ11、アクセルポジションセンサ12、エアフローメータ13、クランクポジションセンサ14、ノックセンサ16、水温センサ17、触媒温度センサ21、パージコントロールバルブ24、上流側空燃比センサ25、及び下流側空燃比センサ26は、エンジン1を制御する電子制御ユニット(ECU)18と接続されていて、ECU18からの信号に基づいて制御され、或いは、検出結果をECU18に対して送出するようになっている。
ECU18は、演算を行うCPU、演算結果などの各種情報を記録するRAM、バッテリによって記憶内容が保持されるバックアップRAM、及び制御プログラム等を格納したROMを備えていて、各種演算を行い、インジェクタ5から噴射する燃料噴射量の制御、点火時期の制御、酸素吸蔵量の算出、後述するモデル補正、及び上記センサの診断等を行うようになっている。
(触媒の酸素吸蔵作用)
次に、触媒19の構成及び酸素吸蔵作用について説明する。
触媒19は、図2に外観を示したように、断面が楕円形(断面積がdA一定)の柱状のモノリス触媒コンバータと称呼される三元触媒であり、軸に直交する平面で同触媒19を切断した拡大断面図である図3に示したように、セラミックの一種であるコージェライトからなる担体19aにより、その内部が軸方向に延在する軸線方向空間に細分されている。各軸線方向空間は、軸線に垂直な平面で切断すると略正方形状を有していて、セルとも称呼される。担体19aは、アルミナのコート層19bによりコーティングされていて、同コート層19bは白金(Pt)等の貴金属からなる活性成分(触媒成分)及びセリア(CeO2)等の成分を担持している。
かかる触媒19は、同触媒19に流入するガスの空燃比が理論空燃比のときに未燃成分(HC,CO)を酸化し、同時に窒素酸化物(NOx)を還元する機能(これを「触媒機能」又は「酸化還元機能」と云う。)を有する。また、触媒19は、上記セリア等の成分を担持することにより、同触媒19に流入する排ガス中の酸素分子を吸蔵(貯蔵,吸着)及び放出する性質(以下、「酸素吸蔵機能」と称呼する。)を有していて、この酸素吸蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、HC,CO、及びNOxを浄化することができる。
即ち、触媒19は、機関の吸入する混合気の空燃比(以下、単に「機関の空燃比」とも称呼する。この機関の空燃比は触媒に流入するガスの空燃比である「排気空燃比」と等しい。)がリーンとなって触媒19に流入するガスに過剰の酸素及び窒素酸化物NOxが多量に含まれると、同過剰の酸素を吸蔵するとともに、同窒素酸化物NOxから酸素を奪って(NOxを還元して)同酸素を吸蔵し、これによりNOxを浄化する。また、触媒19は、機関の空燃比がリッチになって同触媒19に流入するガスに炭化水素HCや一酸化炭素CO等の未燃成分が多量に含まれると、内部に吸蔵している酸素分子をこれらの未燃成分に与えて同未燃成分を酸化し、これによりHC,COを浄化する。
従って、触媒19が酸素を吸蔵し得る限界まで酸素を吸蔵していると(換言すれば、酸素吸蔵量OSAが最大酸素吸蔵量OSAmax=Cmaxに到達していると)、同触媒19に流入するガスの排気空燃比がリーンとなったときに酸素を吸蔵することができないので、排ガス中のNOxを充分に浄化できなくなる。一方、触媒19が酸素を放出しきっていて酸素を全く吸蔵していなければ(換言すれば、酸素吸蔵量OSAが「0」になっていると)、同触媒19に流入するガスの排気空燃比がリッチとなったときに酸素を放出することができないので、排ガス中のHCやCOを充分に浄化できなくなる。このため、触媒19に流入するガスの空燃比が過渡的に相当のリーン空燃比又は相当のリッチ空燃比となった場合であっても、同ガス中の有害成分を充分に浄化できるように、触媒19の酸素吸蔵量OSAを精度良く推定するとともに、同酸素吸蔵量OSAを所定の値に維持するように同触媒19に流入するガスの空燃比を制御しておくことが望ましい。
また、触媒19にリーンな空燃比のガスが流入したときには、同触媒19の上流側においてより多くの酸素が吸蔵され、同触媒19にリッチな空燃比のガスが流入したときには、同触媒19の上流側から吸蔵されている酸素が消費されて行く。従って、同触媒19の最上流位置から任意の位置までの酸素吸蔵量OSAの合計量を推定し、同推定値に基く空燃比制御を行えば、触媒19全体の酸素吸蔵量が「0」または最大酸素吸蔵量Cmaxに到達することが回避し易くなるので、同空燃比の制御に不可避的な制御遅れが存在していても、エミッションを効果的に低減できる。さらに、触媒19から流出するガス(又は触媒19の一部又は全部により浄化されたガス)に含まれる特定のガス成分の濃度を推定できれば、同ガス成分に着目した空燃比制御を行うことで、同ガス成分の排出を高精度に抑制することができる。
以上の要求から、本空燃比制御装置は、推定モデル(触媒モデル)を使用することにより、特定ガス成分の濃度(排出量)と酸素吸蔵量を推定する。これらの推定値が、排気浄化触媒の全部又はその内部の所定領域(一部)から流出する排ガス中に含まれる少なくとも一つの特定成分の排出量又は流出する排ガスの状態を示す少なくとも一つの代表値である。
(触媒モデル)
以下、触媒モデルについて説明すると、先ず、図4に模式的に示したように、触媒19をガスの入口(流入側)Frから出口(流出側)Rrに向う軸線に直交する面により複数の領域(「ブロック」とも称呼する。)に分割する。即ち、触媒19を排ガスの流れ方向に沿って、複数の領域に分割する。分割された各領域の軸線方向の長さはL(微小の長さでありdxとも書く。)である。上述したように、触媒19の断面積はdA一定である。
なお、この触媒モデルは、触媒を複数の領域に分割して構築されたモデルであるが、触媒全体を以下に述べる一つの領域として考えることにより、同触媒19を複数の領域に分割することなく触媒モデルを構築することもできる。
次に、分割された領域のうちの任意の特定領域に注目し、同特定領域を通過する特定の化学種(特定成分)の物質の収支を考える。化学種は、排ガス中に含まれる成分であり、例えば、酸素O2、一酸化炭素CO、炭化水素HC、及び窒素酸化物NOxである。なお、化学種は、触媒に流入する排ガスの空燃比がリッチのときに同排ガス中に含まれる成分を総合したもの(リッチ成分)、或いは、触媒に流入する排ガスの空燃比がリーンのときに同排ガス中に含まれる成分を総合したもの(リーン成分)とすることもできる。
ここで、本触媒モデルで使用する種々の値を次の表1のように定義する。
いま、時刻t〜t+Δtの所与の期間における特定領域での化学種の収支を考えると、図5に示したように、特定領域の排ガス相(単に、「ガス相」とも称呼する。)における化学種の変化量ΔMは、下記の(1)式に示したとおり、同特定領域に流入した同化学種の量Minから、同特定領域から流出した同化学種の量Moutとコート層に奪われた同化学種の量Mcoatとを減算した量と等しい。このように、触媒モデルは特定領域における特定成分の物質収支に基づいて構築される。
以下、(1)式の各項について個別に検討する。先ず、(1)式の左辺にある化学種の変化量ΔMは、下記(2)式により求めることができる。(2)式は、上記所与の期間における化学種の濃度変化量(化学種の濃度Cgの時間変化量を所与の期間に渡り積分した量)に微小体積σ・dA・dxを乗じた値を特定領域に渡って(軸方向に)積分したものである。
(1)式の右辺第1項のMinは、単位時間あたりに特定領域に流入するガスの体積に相当する値である「特定領域に流入するガスの流速vginと同特定領域の断面積dAの積vgin・dA(実際には、断面積dAで開口率σの触媒内に流速Vginのガスが流れ込むので、触媒内部でのガスの流速はVgin/σとなり、この実際の流速Vgin/σと触媒の実質的な断面積σ・dAの積)」に同流入するガス中の化学種の濃度Cginを乗じた値Cgin・Vgin・dAを所与の期間に渡り積分した値である。また、(1)式の右辺第2項のMoutは、特定領域から流出するガスの流速vgoutと同特定領域の断面積dAの積vgout・dA(実際には、ガスの流速Vgout/σと実質的な断面積σ・dAの積)に同流出するガス中の同化学種の濃度Cgoutを乗じた値Cgout・vgout・dAを所与の期間に渡り積分した値である。即ち、上記(1)式の右辺第1項及び第2項は下記(3)式のように記述することができる。
ところで、特定領域に流入するガスの流速vginと同特定領域から流出するガスの流速vgoutとの間に大きな差異はないので、vg=vgin=vgoutとおくと、(3)式は、下記(4)式のように変形される。
次に、(1)式の右辺第3項のコート層に伝達される(移動する)化学種の量Mcoatについて検討する。幾何学的表面積Sgeoは触媒の単位体積あたりの化学種の反応に寄与する表面積であるから、特定領域において化学種の反応に寄与する表面積はSgeo・dA・dxであり、同特定領域の単位長あたりに同反応に寄与する面積はSgeo・dAとなる。また、コート層に伝達される化学種の量は、フィックの法則から、ガス相の化学種の濃度Cgとコート層の化学種の濃度Cwとの差に比例すると考えることができる。これらから、下記の(5)式が得られる。なお、h
Dは比例定数であるが、上記の表に示したように、物質伝達率と称呼される値である。
従って、上記(1),(2),(4)式、及び(5)式から、以下の(6)式が得られる。
この(6)式に準定常(quasi state)近似を適用すると、(6)式の左辺は「0」(∂Cg/∂t=0)であると考えることができるから(即ち、濃度Cgは瞬間的に定常値に至ると考えられるから)、下記の(7)式が得られる。
ここで、見かけの拡散速度(実質的な拡散速度)R
Dを(8)式のようにおけば、(7)式は(9)式に書き直される。
次に、特定領域のコート層における化学種の収支(特定成分の物質収支)を上記と同様に考えると、下記(10)式に示したように、コート層内における化学種の時間的変化量(単位時間あたりの変化量)ΔMcは、単位時間あたりに排ガス相からコート層へ伝達される同化学種の量Mdから、同単位時間あたりにコート層にて反応により消費される同化学種の量Mrを減じた量である。
(10)式の左辺(コート層内における化学種の時間的変化量)ΔMcは、下記(11)式に示したように、化学種の濃度変化(∂Cw/∂t)に体積((1−σ)・dA・dx)を乗じることにより求められ、右辺第1項(単位時間あたりに排ガス相からコート層へ伝達される化学種の量Md)は(5)式で説明した理由と同じ理由により、即ち、フィックの法則から考えると、下記(12)式のように記述することができる。
また、(10)式の右辺第2項(単位時間あたりにコート層にて反応により消費される化学種の量Mr)は、コート層での化学種の消費速度Rを用いた下記(13)式により求められる。
従って、(10)〜(13)式から、下記の(14)式が得られる。
この(14)式に準定常(quasi state)近似を適用すると(∂Cw/∂t=0)、下記の(15)式が得られる。
ここで、(15)式に(8)式を適用すれば、下記の(16)式が得られる。
以上を要約すると、(9)式及び(16)式が触媒モデルの基本式である。(9)式は、ある化学種の(特定領域への流入量)と(排ガス相からコート層への拡散量+特定領域からの流出量)とが釣り合っていることを示し、(16)式は、同化学種の(排ガス相からコート層への拡散量)と(コート層での消費量)とが釣り合っていることを示している。
次に、かかる触媒モデルを使用して特定領域から流出する特定の化学種iの濃度Cgoutを実際に算出するための方法について説明する。先ず、(9)式を離散化すると、下記(17)式が得られる。なお、以下においては上記dxをLとして表す。
ここで、図6に概念的に示したように、特定領域Iから流出する化学種の濃度Cgoutは同特定領域Iの化学種の濃度Cg(I)の影響を強く受けると考えられるので、下記の(18)式のように置くことができる。かかる考え方は「風上法」と称呼される。換言すると、風上法とは、「特定領域Iに隣接する上流側の領域(I−1)における濃度Cg(I-1)の化学種が、特定領域Iに流入する。」という考え方であり、下記(19)式のように記述することもできる。
ところで、反応速度論に基けば、ある化学種の消費速度Rは、その化学種のコート層の平均濃度Cwの関数fcw(例えば、Cwのn乗)となるので、この関数fcwを最も簡便となるようにfcw(x)=xとおけば、同消費速度Rは(20)式にて示したように置くことができる。なお、以下において、(20)式中のR*を便宜上「消費速度定数」と称呼する。
この(20)式を上記(16)式(R=R
D・(Cg-Cw)…(16))に適用すると下記(21)式が得られ、同(21)式を変形することにより下記(22)式が得られる。
また、上述した風上法によれば、Cg=Cgoutであるから、(22)式は下記(23)式に書き換えられる。
そして、Cg=Cgoutなる関係を上記(17)式に適用してCgを消去するとともに、同(17)式と上記(23)式とからCwを消去すると、下記(24)式が得られる。
そこで、値SPを下記(25)式のようにおけば、(24)式は(26)式のように書き直すことができる。値SPは、見かけの拡散速度R
Dと消費速度定数R*のうちの小さい方の値に強い影響を受ける値であるから、Cgoutの変化が物質の伝達(R
D)又は化学的反応(R*)の何れにより律速されているかを示す値であり、従って、「反応律速因子」と呼ぶこともできる。
以上のことから、消費速度定数R*と見かけの拡散速度RDとを決定できれば、特定領域に流入する化学種濃度Cginを与えることにより、(25)式と(26)式とに基づいて同特定領域から流出する化学種の濃度Cgoutを求めることができる。以上が、化学種の濃度Cgoutを算出する基本的考え方である。
次に、上記消費速度定数R*と見かけの拡散速度RDを決定するとともに、特定領域から流出する化学種濃度Cgoutを求める際のより具体的な方法の一例について説明する。この例(触媒モデル)では、触媒での酸化・還元反応である三元反応は瞬時に且つ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応に着目することとする。なお、この仮定(触媒モデル)は、現実的であり且つ精度の良いものである。
この場合、着目する化学種iは、例えば、酸素O2や窒素酸化物の一つである一酸化窒素NOのように酸素を生成する(酸素をもたらす)化学種(ストレージ・エージェント)、及び、一酸化炭素COや炭化水素HCのように酸素を消費する化学種(リダクション・エージェント)から選ばれた化学種である。
また、以下において、ストレージ・エージェントの化学種iのCgoutをCgout,stor,i、同化学種iのCwをCw,stor,i、同化学種iのCginをCgin,stor,i、同化学種iの見かけの拡散速度RDをRD,i、同化学種iの消費速度をRstor,i、同化学種iの消費速度定数をR*stor,i、及び同化学種iの反応律速因子SPstor,i(この場合、化学種iはO2又はNO)と表す。
同様に、リダクション・エージェントの化学種iのCgoutをCgout,reduc,i、同化学種iのCwをCw,reduc,i、同化学種iのCginをCgin,reduc,i、同化学種iの見かけの拡散速度R
DをR
D,i、同化学種iの消費速度をRreduc,i、同化学種iの消費速度定数をR*reduc,i、及び同化学種iの反応律速因子SPreduc,i(この場合、化学種iはCO又はHC等)と表す。このように各値を表すと、上記(20),(23),(25),(26)式から以下の(27)〜(34)式が得られる。
これらの式に基づいて、Cgout,sotr,i(具体的には、特定領域から流出する酸素の濃度Cgout,O2、特定領域から流出する一酸化窒素の濃度Cgout,NO)及びCgout,reduc,i(具体的には、特定領域から流出する一酸化炭素の濃度Cgout,CO、特定領域から流出する炭化水素の濃度Cgout,HC)を求めるため、先ず、消費速度定数R*stor,i及び消費速度定数R*reduc,iを求める。
ところで、反応速度論によれば、特定領域のコート層で酸素が吸蔵される速度(酸素の吸蔵速度)Rstor,iは、同コート層のストレージ・エージェント(O2、NOx等)の濃度Cw,stor,i(例えば、Cw,O2、Cw,NO)の関数f1(Cw,stor,i)の値に比例するとともに、特定領域のコート層の最大酸素吸蔵密度と実際の(その時点における)酸素吸蔵密度との差(Ostmax-Ost)の関数f2(Ostmax-Ost)の値とに比例すると考えられる。この最大酸素吸蔵密度と酸素吸蔵密度との差(Ostmax-Ost)は、着目している特定領域における酸素吸蔵余裕量を表す。
そこで、簡単のために関数f1(x)=f2(x)=xとすると、下記の(35)式が得られる。下記(35)式のkstor,iは酸素吸蔵速度係数(吸蔵側反応速度係数,ストレージ・エージェントの消費速度係数)であって、よく知られたアレニウスの式で表される温度に依存して変化する係数であり、別途検出又は推定される触媒温度Tempと所定の関数(酸素吸蔵速度係数kstor,iと触媒温度Tempとの間の関係を規定したマップでも良い。)とに基づいて求めることができる。なお、酸素吸蔵速度係数kstor,iは、触媒劣化程度に応じても変化するので、同触媒劣化程度に応じて求めてもよい。
従って、(27)式と(35)式とから、消費速度定数R*stor,iは下記(36)式により求めることができる。
また、酸素の吸蔵(吸着)と放出のみに着目しているこのモデルにおいては、還元剤であるリダクション・エージェントはコート層に吸蔵されている酸素の放出のみに使用されるから、同リダクション・エージェントの消費速度Rredcu,iはコート層に吸蔵されている酸素が放出される速度(酸素の放出速度)Rrel,iと等しい。
そこで、酸素の放出速度Rrel,iについて検討すると、同放出速度Rrel,iは、酸素の吸蔵速度Rstor,iと同様に反応速度論に基き、同コート層において酸素を消費する化学種(例えば、CO,HC)の濃度Cw,reduc,i(例えば、Cw,CO、Cw,HC)の関数g1(Cw,reduc,i)の値に比例するとともに、酸素吸蔵密度Ostの関数g2(Ost)の値とに比例すると考えられる。
そこで、簡単のために関数g1(x)=g2(x)=xとすると、下記の(37)式が得られる。下記(37)式のkrel,iは酸素放出速度係数(吸脱側反応速度係数)であって、酸素吸蔵速度係数kstor,iと同様にアレニウスの式で表される温度に依存して変化する係数であり、別途検出又は推定される触媒温度Tempに基づいて所定の関数(酸素放出速度係数krel,iと触媒温度Tempとの間の関係を規定したマップでも良い。)に基づいて求めることができる。なお、酸素放出速度係数krel,iは、触媒劣化程度に応じても変化するので、同触媒劣化程度に応じて求めてもよい。
この結果、上述したようにリダクション・エージェントの消費速度Rredcu,iはコート層の酸素の放出速度Rrel,iと等しいから、消費速度定数R*reduc,iは(31)式と(37)式とを比較することにより得られる下記(38)式に基づいて求めることができる。
以上のことから、酸素吸蔵密度Ostが求められれば(酸素吸蔵密度Ostの求め方については、後述する。)、(36)式から消費速度定数R*stor,i(例えば、R*O2)を求めることができる。一方、見かけの拡散速度RD,i(例えば、RD,O2)は(8)式のようにSgeo・hD,iであるから、温度と流量の関数(触媒の温度と同触媒を通過するガスの流量の関数)として実験的に求めておくことができる。この結果、(29)式からSPstor,i(例えば、SPstor,O2)が決定されるので、境界条件としてCgin,stor,i(例えば、Cgin,O2)が与えられるとき、(30)式からCgout,stor,i(例えば、Cout,O2)が求められる。そして、新たなCw,stor,i(例えば、Cw,O2)が(28)式により求められる。
同様に、酸素吸蔵密度Ostが求められれば、(38)式から消費速度定数R*reduc,i(例えば、R*reduc,CO)を求めることができる。一方、見かけの拡散速度RD,i(例えば、RD,CO)は(8)式のようにSgeo・hD,iであるから、温度と流量の関数(触媒の温度と同触媒を通過するガスの流量の関数)として実験的に求めておくことができる。この結果、(33)式からSPreduc,i(例えば、SPreduc,CO)が決定されるので、境界条件としてCgin,reduc,i(例えば、Cgin,CO)が与えられるとき、(34)式からCgout,reduc,i(例えば、Cgout,CO)が求められる。そして、新たなCw,reudc,i(例えば、Cw,CO)が(32)式により求められる。
次に、Cgout,stor,i、Cgout,reduc,iを求めるために必要となる酸素吸蔵密度Ostの求め方について説明する。
先ず、コート層での化学種としての酸素の収支について着目すると、同収支はコート層での酸素の吸蔵分と酸素の放出分の差であるから、下記(39)式により記述される。(39)式でdA・Lは特定領域の体積dVである。
この(39)式を変形すると、下記(40)式が得られる。
この(40)式を、(35)式と(37)式とを用いながら離散化すると、下記の(41)式が得られる。
この(41)式を変形すると、下記(42)式〜(44)式が得られ、これらから酸素吸蔵密度Ostを求めること(更新して行くこと)ができる。
このように、式(42)〜(44)式から酸素吸蔵密度Ostが求められるので、上述したようにCgout,stor,i、Cgout,reduc,iを求めることができる。また、酸素吸蔵密度Ostが求められるから、下記(45)式に基づいて特定領域の酸素吸蔵量OSAを求めることができる。
従って、触媒に流入する化学種濃度Cgin,iが境界条件として与えられたとき、触媒上流のブロック(特定領域)から、順次、(45)式を用いて各ブロックの酸素吸蔵量OSAを求めることができ、これにより、触媒内部の酸素吸蔵量の分布が精度良く推定される。また、各ブロックの酸素吸蔵量OSAを触媒全体について積算すれば、同触媒全体の酸素吸蔵量についても精度良く推定することができる。
次に、実際の触媒における酸素O2、一酸化炭素CO、炭化水素HC、及び窒素酸化物(ここでは一酸化窒素)NOの各化学種濃度Cgout,O2、Cgout,CO、Cgout,HC、及びCgout,NOを求めるための具体的方法の一例について、フローチャートを用いて説明する。この例においても、触媒での酸化・還元反応である三元反応は瞬時に且つ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応にのみ着目することとする。
ECU18のCPUは、図7から図11の一連のフローチャートによりに示されたプログラムを所定時間の経過毎に図7のプログラムから順に実行するようになっている。また、これらのプログラムは、触媒19を多数のブロック(特定領域)に分割し、そのうちの一つのブロックIについてのプログラムであって、全く同様なプログラムが他のブロックについても同時並行的にCPUにより実行されている。
CPUは所定のタイミングになると図7のステップ700から処理を開始し、ステップ705に進んで前回の本プログラムの演算時において後述するステップ745にて算出されたコート層の酸素濃度Cw,O2(k+1)を今回のコート層の酸素濃度Cw,O2の値であるCw,O2(k)に設定し、続くステップ710にて前回の本プログラムの演算時において後述する図11のステップ1125にて算出された酸素吸蔵密度Ost(k+1)を今回の酸素吸蔵密度Ostの値Ost(k)に設定する。
次に、CPUは、ステップ715にて触媒19の温度Tempと同触媒19の劣化程度を表す劣化指標値REKKAと図12に示したようなマップ(ルックアップテーブル)MapkstorO2とから酸素吸蔵速度係数kstor,O2(k)を決定する。
触媒温度Tempは、温度センサ21によって検出してもよいし、エンジン1の運転状態(例えば、吸入空気量Gaとエンジン回転速度NE)に応じて推定してもよい。
劣化指標値REKKAは、触媒19の最大酸素吸蔵量Cmaxに応じて求められる値(例えば、最大酸素吸蔵量Cmaxの単調増加関数)である。最大酸素吸蔵量Cmaxは、次のようにして求められる。即ち、エンジン1が所定の定常運転状態にある場合に、下流側センサ26が理論空燃比よりリーンな空燃比を検出しているとき、触媒19に流入するガスの空燃比を所定のリッチ空燃比に維持し、これにより触媒19内に貯蔵されている酸素を総べて消費する。
その結果、下流側センサ26が理論空燃比よりリーンな空燃比に対応する値から理論空燃比よりリッチな空燃比に対応する値を出力すると、その時点t1から触媒19に流入するガスの空燃比を所定のリーン空燃比に設定し、次に下流側センサ26が理論空燃比よりリッチな空燃比に対応する値から理論空燃比よりリーンな空燃比に対応する値を出力する時点t2までに、同触媒19に流入するガス中に含まれる酸素の量を下記(46)式、及び(47)式に基づいて求める。この(47)式により求められる積算値O2storage(=Cmax1)を最大酸素吸蔵量Cmaxとして採用する。
なお、時点t2の後、触媒19に流入するガスの空燃比を所定のリッチ空燃比に維持し、次に下流側センサ26が理論空燃比よりリーンな空燃比に対応する値から理論空燃比よりリッチな空燃比に対応する値を出力する時点t3までに、同触媒19に流入するガス中に含まれる単位時間あたりの酸素の不足量を上記(46)式と同様な式により求め、上記(47)式と同様な式により同単位時間あたりの酸素の不足量を時点t2〜t3に渡って積算し、これにより求められる積算値Cmax2を最大酸素吸蔵量Cmaxとして採用してもよく、前記最大酸素吸蔵量Cmax1とこの最大酸素吸蔵量Cmax2との平均値を最大酸素吸蔵量Cmaxとして採用してもよい。
次いで、CPUは、ステップ720にて同ステップ720内に記載した式(上記(36)式を参照。)に従って酸素の消費速度定数R*stor,O2(k)を求める。なお、ステップ720にて用いる最大酸素吸蔵密度Ostmaxは、一定値としてもよいが、前記触媒劣化指標値REKKA(又は、最大酸素吸蔵量Cmax)に応じて決定されることが望ましい(以下、同じ。)。その後、CPUはステップ725にて見かけの拡散速度RD,O2(k)を触媒温度TempとマップMapRDO2とから決定する。
続いて、CPUはステップ730にて酸素の反応律速因子SPstor,O2を同ステップ730内に記載した式(上記(29)式を参照。)により求め、ステップ735にて、このプログラムが対象としているブロックIよりも前の(即ち、上流の)ブロックI−1から流出する酸素濃度Cgout,O2(k)を、同対象としているブロックIに流入する酸素濃度Cgin,O2(k)として取り込む。
このとき、対象としているブロックIが触媒19の最も上流のブロックである場合、前のブロックI−1は存在しないから、ステップ735における前のブロックのCgout,O2(k)は、同触媒19に流入するガスの酸素濃度Cgin,O2である。この触媒19に流入するガスの酸素濃度Cgin,O2は、同触媒19に流入するガスの空燃比A/Fと同ガスの流量とに基く関数fO2により求められる。下記の(48)式の右辺は、この関数fO2の具体例である。
上記(48)式の導出過程を簡単に述べると、触媒19に流入する排ガスの空燃比AFはGa/Gfであり、Gfに対して理論空燃比を得るために必要な空気質量をGastoichとすると、理論空燃比AFstoichはGastoich/Gfとなる。一方、供給燃料質量がGaであるときに空燃比がAFとなったとき、理論空燃比AFstoichを得るために必要な空気質量に対する過剰な空気質量はGa−Gastoichであるから、酸素の質量をMassO2とおくと、下記(49)式が得られ、この(49)式から上記(48)式が得られる。
次に、CPUはステップ740に進み、同ステップ740に記述した式(上記(30)式を参照。)に従ってCgout,O2(k+1)を求める。vgの値はエアフローメータ13が検出した吸入空気流量とする。このように、ステップ740では、対象としているブロックIから流出する酸素濃度Cgout,O2を新たに算出する。次いで、CPUはステップ745に進み、同ステップ745に記述した式(上記(28)式を参照。)に従ってCw,O2(k+1)を求める。即ち、CPUは、ステップ745にて対象としているブロックIのコート層の酸素濃度Cw,O2を新たに算出し、ステップ795を経由して図8に示したステップ800に進む。このように、図7により示したプログラムは、特定領域Iにおける排ガス相の酸素濃度推定手段、及びコート層の酸素濃度推定手段を構成している。
次に、CPUはステップ800からステップ805に進んで、前回の本プログラムの演算時において後述するステップ840にて算出されたコート層の一酸化炭素Cw,CO(k+1)を今回のコート層の一酸化炭素濃度Cw,COの値であるCw,CO(k)に設定する。
次に、CPUは、ステップ810にて触媒19の温度Tempと同触媒19の劣化指標値REKKAと図12に示したようなマップMapkrelCOとから係数krel,CO(k)を決定し、続く、ステップ815にて同ステップ815内に記載した式(上記(38)式を参照。)に従って消費速度定数R*reduc,CO(k)を求め、その後、ステップ820にて見かけの拡散速度RD,CO(k)を触媒温度TempとマップMapRDCOとから決定する。
続いて、CPUはステップ825にて一酸化炭素の反応律速因子SPreduc,COを同ステップ825内に記載した式(上記(33)式を参照。)により求め、ステップ830にて、このプログラムが対象としているブロックIよりも前の(即ち、上流の)ブロックI−1から流出する一酸化炭素濃度Cgout,CO(k)を、同対象としているブロックに流入する一酸化炭素濃度Cgin,CO(k)として取り込む。
このとき、対象としているブロックIが触媒19の最も上流のブロックである場合、前のブロックI−1は存在しないから、ステップ830における前のブロックのCgout,CO(k)は、同触媒19に流入するガスの一酸化炭素濃度Cgin,COであり、同触媒19に流入するガスの空燃比A/Fと一酸化炭素濃度Cgin,COとの関係を規定した図13に示したマップに基づいて求められる。
ここでは、触媒に流入するガスの空燃比A/Fと一酸化炭素濃度Cgin,COとの関係を予め実験により求めておき、この関係と同触媒に流入する実際の空燃比A/Fとに基づいて上記一酸化炭素濃度Cgin,COを求めているが、空燃比A/Fの他、点火時期、エンジン1の冷却水温、及び触媒に流入するガス量(例えば、エアフローメータ13により検出される吸入空気流量と等しい量)等のパラメータの一つ以上と一酸化炭素濃度Cgin,COとの関係を予め実験により求めておき、この関係と実際のパラメータとにも基づいて一酸化炭素濃度Cgin,COを更に精度良く求めてもよい。
次に、CPUはステップ835に進み、同ステップ835に記述した式(上記(34)式を参照。)に従ってCgout,CO(k+1)を求める。即ち、対象としているブロックIから流出する一酸化炭素濃度Cgout,COを新たに算出する。次いで、CPUはステップ840に進み、同ステップ840に記述した式(上記(32)式を参照。)に従ってCw,CO(k+1)を求める。即ち、CPUは、ステップ840にて対象としているブロックIのコート層の一酸化炭素濃度Cw,COを新たに算出し、ステップ895を経由して図9に示したステップ900に進む。このように、図8により示したプログラムは、特定領域Iにおける排ガス相の一酸化炭素濃度推定手段、及びコート層の一酸化炭素濃度推定手段を構成している。
図9に示したプログラムは、炭化水素HCについての演算を行うプログラムであり、一酸化炭素COについての演算を行うための先に説明した図8のプログラムと同様なプログラムである。
簡単に説明すると、CPUはステップ900からステップ905に進んで、前回の本プログラムの演算時において後述するステップ940にて算出されたコート層の一酸化炭素Cw,HC(k+1)を今回のコート層の一酸化炭素濃度Cw,HCの値であるCw,HC(k)に設定する。
次に、CPUは、ステップ910にて触媒19の温度Tempと同触媒19の劣化指標値REKKAと図12に示したようなマップMapkrelHCとから係数krel,HC(k)を決定し、続く、ステップ915にて同ステップ915内に記載した式(上記(38)式を参照。)に従って消費速度定数R*reduc,HC(k)を求め、その後、ステップ920にて見かけの拡散速度RD,HC(k)を触媒温度TempとマップMapRDHCとから決定する。
続いて、CPUはステップ925にて炭化水素の反応律速因子SPreduc,HCを同ステップ925内に記載した式(上記(33)式を参照。)により求め、ステップ930にて、このプログラムが対象としているブロックIよりも前の(即ち、上流の)ブロックI−1から流出する炭化水素濃度Cgout,HC(k)を、同対象としているブロックに流入する炭化水素濃度Cgin,HC(k)として取り込む。
このとき、このプログラムが対象としているブロックIが触媒19の最も上流のブロックである場合、前のブロックI−1は存在せず、ステップ930におけるCgout,HC(k)は、同触媒19に流入するガスの炭化水素濃度Cgin,HCである。この場合、触媒19に流入するガスの空燃比A/Fと炭化水素濃度Cgin,HCとの関係は図14のグラフに示したようであり、エンジン1の排気温度と炭化水素濃度Cgin,HCとの関係は図15のグラフに示したようであるから、触媒19に流入するガスの空燃比A/F及びエンジン1の排気温度と炭化水素濃度Cgin,HCとの関係を予め実験により求めてマップとして記憶しておき、実際のガスの空燃比A/F及び実際のエンジン1の排気温度と同マップとから炭化水素濃度Cgin,HCを求める。
なお、上記炭化水素濃度Cgin,HCを求めるにあたり、空燃比A/F及びエンジン1の排気温度の他、点火時期、エンジン1の冷却水温、及び触媒に流入するガス量(例えば、エアフローメータ13により検出される吸入空気流量と等しい量)等のパラメータの一つ以上と炭化水素濃度Cgin,HCとの関係を予め実験により求めておき、この関係と実際のパラメータとにも基づいて上記炭化水素濃度Cgin,HCを更に精度良く求めてもよい。
次に、CPUはステップ935に進み、同ステップ935に記述した式(上記(34)式を参照。)に従ってCgout,HC(k+1)を求める。即ち、対象としているブロックIから流出する一酸化炭素濃度Cgout,HCを新たに算出する。次いで、CPUはステップ940に進み、同ステップ940に記述した式(上記(32)式を参照。)に従ってCw,HC(k+1)を求める。即ち、CPUは、ステップ940にて対象としているブロックIのコート層の一酸化炭素濃度Cw,HCを新たに算出し、ステップ995を経由して図10に示したステップ1000に進む。このように、図9により示したプログラムは、特定領域Iにおける排ガス相の炭化水素濃度推定手段、及びコート層の炭化水素濃度推定手段を構成している。
図10に示したプログラムは、窒素酸化物(ここでは、窒素酸化物の代表として一酸化窒素NOを選択した。)について、上記図7〜図9に示したプログラムに基く演算と同様の演算を行うためのプログラムである。
簡単に説明すると、CPUはステップ1000からステップ1005に進んで、前回の本プログラムの演算時において後述するステップ1040にて算出されたコート層の一酸化窒素Cw,NO(k+1)を今回のコート層の一酸化窒素濃度Cw,NOの値であるCw,NO(k+1)に設定する。
次に、CPUは、ステップ1010にて触媒19の温度Tempと同触媒19の劣化指標値REKKAと図12に示したようなマップMapkstorNOとから酸素吸蔵速度係数kstor,NO(k)を決定し、続く、ステップ1015にて同ステップ1015内に記載した式(上記(36)式を参照。)に従って消費速度定数R*stor,NO(k)を求め、その後、ステップ1020にて見かけの拡散速度RD,NO(k)を触媒温度TempとマップMapRDNOとから決定する。
続いて、CPUはステップ1025にて一酸化窒素の反応律速因子SPstor,NOを同ステップ1025内に記載した式(上記(29)式を参照。)により求め、ステップ1030にて、このプログラムが対象としているブロックIよりも前の(即ち、上流の)ブロックI−1から流出する一酸化窒素濃度Cgout,NO(k)を、同対象としているブロックに流入する一酸化窒素濃度Cgin,NO(k)として取り込む。
このとき、このプログラムが対象としているブロックIが触媒19の最も上流のブロックである場合、前のブロックI−1は存在せず、ステップ1030における前のブロックのCgout,NO(k)は、同触媒19に流入するガスの一酸化窒素濃度Cgin,NOである。この場合、触媒19に流入するガスの空燃比A/Fと一酸化窒素濃度Cgin,NOとの関係は図16のグラフに示したようであり、エンジン1の一気筒の一吸気行程あたりの吸入空気流量Mc(筒内吸入空気量)と一酸化窒素濃度Cgin,NOとの関係は図17のグラフに示したようであるから、触媒19に流入するガスの空燃比A/F及び筒内吸入空気量と一酸化窒素濃度Cgin,NOとの関係を予め実験により求めてマップとして記憶しておき、実際のガスの空燃比A/F及び実際の筒内吸入空気量と同マップとから一酸化窒素濃度Cgin,NOを求める。
なお、上記一酸化窒素濃度Cgin,NOを求めるにあたり、触媒に流入するガスの空燃比A/F及び筒内吸入空気量の他、点火時期、エンジン1の冷却水温、及び触媒に流入するガス量(例えば、エアフローメータ13により検出される吸入空気流量と等しい量)等のパラメータの一つ以上と一酸化窒素濃度Cgin,NOとの関係を予め実験により求めておき、この関係と実際のパラメータとにも基づいて上記一酸化窒素濃度Cgin,NOを更に精度良く求めてもよい。
次に、CPUはステップ1035に進み、同ステップ1035に記述した式(上記(30)式を参照。)に従ってCgout,NO(k+1)を求める。即ち、対象としているブロックIから流出する一酸化窒素濃度Cgout,NOを新たに算出する。次いで、CPUはステップ1040に進み、同ステップ1040に記述した式(上記(28)式を参照。)に従ってCw,NO(k+1)を求める。即ち、CPUは、ステップ1040にて対象としているブロックIのコート層の一酸化窒素濃度Cw,NOを新たに算出し、ステップ1095を経由して図11に示したステップ1100に進む。このように、図10により示したプログラムは、特定領域Iにおける排ガス相の一酸化窒素濃度推定手段、及びコート層の一酸化窒素濃度推定手段を構成している。
図11に示したプログラムは、酸素吸蔵密度(酸素吸蔵濃度)Ostを算出するためのプログラムであり、具体的に述べると、CPUはステップ1105にて上記(43)式に基く同ステップ1105内に記述した式により係数Pを求めるとともに、続くステップ1120にて上記(44)式に基く同ステップ1120に記述した式により係数Qを求める。次いで、CPUはステップ1125にて上記(42)式に基く同ステップ1125に記述した式により酸素吸蔵密度Ost(k+1)を求め、ステップ1195にて図7〜図11に示した本プログラムを一旦終了する。なお、ステップ1125の次に、上記(45)式に基づいてこのブロックの酸素吸蔵量OSA,Iを求めてから、ステップ1195に進むように構成してもよい。このように、図11に示したプログラムは、酸素吸蔵密度算出手段、及び酸素吸蔵量算出手段を構成している。
以上、説明したように、対象としているブロックIの化学種iの濃度Cgout,iが求められ、上述した風上法を用いることで、順次隣接するブロックIの化学種iの濃度Cgout,iが求められて行く。同様に、各ブロックI毎に酸素吸蔵密度Ostが求められ、上述した(45)式を使用することで、同ブロックIの酸素吸蔵量OSAが求められる。また、このブロックIの酸素吸蔵量OSAを触媒の入口から任意のブロックKまで積算すれば、同ブロックKまでの触媒内の積算酸素吸蔵量OSA,Kが求められ、ブロックKが触媒の出口のブロックであれば、同触媒の酸素吸蔵量OSAallが求められる。
次に、上述した空燃比制御装置を用いた制御の実施形態について、順次説明する。
まず、第一実施形態について、その制御のフローチャートを示した図18を参照しながら説明する。本実施形態では、排ガス中の酸素量(実際には、触媒19から排出される酸素の濃度)と一酸化炭素量(実際には触媒19から排出される一酸化炭素の濃度)を上述した推定値として求める。また、酸素量は空燃比制御において酸素の過不足量として扱う。つまり、酸素が過剰に存在する場合に酸素量は正の値、酸素が不足している場合に酸素量は負の値とする。更に、本実施形態では、触媒19全体を一つの領域(特定領域)として考えている。
触媒19での排ガスの浄化反応においては、排ガス中の浄化すべき成分を酸化させるために(即ち、未燃燃料である炭化水素HCや一酸化炭素COを酸化させるために)酸素が消費される。このため、触媒19から流出する排ガス中にこれらの酸化すべき成分が含まれているときは、酸素量が不足しているとみなす。即ち、推定値は負の値をとる。なお、ここでは、未燃成分を一酸化炭素COで代表させる。
これに対し、排ガス中の浄化すべき成分(窒素酸化物NOx)が還元されることにより生じる酸素、及び流入する排ガス中に含まれる酸素が、触媒19の酸素吸蔵作用によって同触媒19に吸蔵しきれない場合、酸素成分が同触媒19から流出する。このときは、酸素量が過剰であるとみなす。即ち、推定値は正の値をとる。なお、ここでは、酸素吸蔵作用に係る成分を酸素O2で代表させる。
本空燃比制御装置は、この酸素に関する推定値を用いて空燃比制御を行う。具体的に述べると、同装置のCPUは、図18のフローチャートに示したように、ステップ10にて上流側空燃比センサ25が検出する触媒19に流入する排ガスの空燃比(排気空燃比)を取得し、次のステップ30にて前回の(本プログラムの前回の実行時における後述するステップ55にて求めた)酸素吸蔵密度Ostを用いてRosc(即ちR*stor,O2、R*reudc,CO)及びRD(RD,O2、RD,CO)を算出する。
このとき、触媒19に流入する排ガスの空燃比が理論空燃比よりリーンの場合、R
Dの算出には既に説明した(8)式に基く以下の(50)式を用い、Roscの算出には、既に説明した(36)式に基く以下の(51)式を用いる。
また、触媒19に流入する排ガスの空燃比が理論空燃比よりリッチの場合、R
Dの算出には既に説明した(8)式に基く以下の(52)式を用い、Roscの算出には、既に説明した(38)式に基く以下の(53)式を用いる。
Roscについては、例えば温度についての関数となる。ここでは、例えば、hDが温度の関数であり、ksotr,O2、krel,COは図12に示したように、温度と触媒劣化度の関数である。温度は温度センサ21によって検出され、検出された温度に基づいてECU18内のROMに格納された関数式やマップからRoscが算出される。
その後、CPUはステップ40にて、触媒19に流入する排ガスの空燃比が理論空燃比よりリーンの場合、上述した(30)式を用いてCgout,O2(=CgoutO2)、触媒19に流入する排ガスの空燃比が理論空燃比よりリッチの場合、上述した(34)式を用いてCgout,COを算出する。そして、Cgout,COが求められたときには、Cgout,O2=−2・Cgout,COとして、最終的なCgout,O2を求める。
また、ステップ40でCgout,O2(Cgout,COで置換する前のCgout,O2)及びCgout,COを算出するには、Cgin,O2及びCgin,COがそれぞれ必要となる。ステップ40では、Cgin,O2を上述した(48)式から求めている。このとき、排気空燃比が理論空燃比よりもリッチであり、(48)式に従って計算したCgin,O2が正の値であればその値をそのままCin,O2として採用し、(48)式に従って計算したCgin,O2が負の値であれば、その値の絶対値の1/2をCgin,COをとして採用する。
次いで、CPUはステップ50にてコート層の各化学種濃度Cw(Cw,O2、Cw,CO)を(28)式及び(32)式に基づいて求め、ステップ55にて(42)式〜(44)式によりOst(今回値)を算出するとともに、ステップ60にて、空燃比制御用のフィードバック補正量(F/B補正量)を、(Cgout,O2−O2ref)・Gなどから求める。ここで、O2refは制御目標(目標状態)、Gは制御ゲインである。図19は、このCgout,O2とF/B補正量との関係を示したグラフである。本実施形態では、制御目標は所定の範囲として定められている。決定されたF/B補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。
次に、第二実施形態について、その制御のフローチャートを示した図20を参照しながら説明する。本実施形態では、上述した推定値として、排ガス中のリッチ成分とリーン成分を用いている。また、本実施形態では、触媒19全体を一つの領域(特定領域)として考えている。
リッチ成分とは、排気空燃比がリッチのときに排ガス中の含有量が増加する成分を総合したもので、触媒19から流出する排ガスの状態を示す代表値の一つである。具体的には、排ガスに含まれるのCOやHCの量を一つの指標としてまとめた代表値である。一方、リーン成分とは、排気空燃比がリーンのときに排ガス中の含有量が増加する成分を総合したもので、触媒19から流出する排ガスの状態を示す代表値の一つである。具体的には、排ガスに含まれるNOxやO
2の量を一つの指標としてまとめた代表値である。本実施形態では、上述した二つの推定値を用いて空燃比制御を行うので、Cgoutに関しては、リッチ成分に関するものをCgoutRとおく。つまり、
具体的には、CgoutR=Cgout,reduc,CO+Cgout,reduc,HC)とする。また、リーン成分に関するものをCgoutLとおく。つまり、
具体的には、CgoutL=Cgout,stor,O2+Cgout,stor,NO)とする。本実施形態は、このように定めたCgoutRとCgoutLとを用いて以下の演算を行う。
まず、図20のフローチャートに示されるように、CPUはステップ70にてエンジン1の燃焼後の排ガス(触媒19に流入する排ガス)中のリッチ成分CginRとリーン成分CginLとを推定する。かかるリッチ成分CginRとリーン成分CginLの推定においては、触媒19での酸化・還元反応(三元反応)及び酸素吸蔵放出反応を考慮する。三元反応に関連する化学式を(54)式に示す。また、酸素吸蔵放出反応に関連する化学式を(55)式に示す。なお、この酸素吸蔵放出反応における各反応の反応速度係数を、KO2(=Kstor,O2)、KNO(=Kstor,NO),KCO(=Krel,CO),KHC(=Krel,HC)とする。(55)式での酸素の吸蔵・放出においては、酸素吸蔵・放出機能を生じせしめる担持金属をセリウム(Ce)として記載してある。
次いで、CPUは、ステップ100に進んで上述した第一実施形態と同様に、Rosc(即ちR*stor,O2、R*stor,NO、R*reduc,CO、R*reudc,HC)及びRD(即ちRD,O2、RD,NO、RD,CO、RD,HC)を算出し、続くステップ110にて、上述した(34)式を用いてCgoutR(=Cgout,reduc,CO+Cgout,reduc,HC)を算出し、(30)式を用いてCgoutL(=Cgout,stor,O2+Cgout,stor,NO)を算出する。
さらに、CPUはステップ120にてコート層の各化学種濃度Cw(即ちCw,O2、Cw,NO、Cw,CO、Cw,HC)を(28)式及び(32)式を用いて求め、ステップ125にて(42)式〜(44)式によりOst(今回値)を算出するとともに、ステップ130にて空燃比制御用のフィードバック補正量(F/B補正量)を、(CgoutR−Ref)×GR+(CgoutL−Ref)×GLから求める。ここで、(CgoutR−Ref)×GRがリッチ成分に対応する部分で、(CgoutL−Ref)×GLがリーン成分に対応する部分である。Refは制御目標(目標状態)、GR,GLは各成分毎に設定される制御ゲインである。
ここで、CgoutRとCgoutLとが等しくなるように空燃比制御が行われる。即ち、CgoutR及びCgoutLが何れも目標値Refとなるように、各成分に対応するF/B補正量(CgoutR−Ref)×GR,(CgoutL−Ref)×GLが決定される。また、本実施形態では、制御目標は所定の範囲として定められている。決定された補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。
なお、より具体的には、下記(56)式によりフィードバック補正量を計算することになる。
次に、第三実施形態について、その制御のフローチャートを示した図21を参照しながら説明する。本実施形態では、上述した推定値として、排ガス中の酸素排出量、一酸化炭素排出量及び一酸化窒素排出量(実際には、それらの各濃度)を用いている。また、本実施形態では、触媒19全体を一つの領域(特定領域)として考えている。本実施形態では、上述した三つの推定値を用いて空燃比制御を行うので、Cgoutに関しては、酸素排出量に関するものをCgoutO2(Cgout,O2)とし、一酸化炭素排出量に関するものをCgoutCO(Cgout,CO)とし、一酸化窒素排出量に関するものをCgoutNO(Cgout,NO)として説明する。
まず、CPUは、図21のフローチャートに示されるように、ステップ140にて、エンジン1の燃焼後の排ガス(触媒19に流入する排ガス)中のリッチ成分CginR(Cgin,CO)とリーン成分CginL(Cgin,O2, Cgin,NO)とを前述したように推定し、ステップ170にて、Rosc(即ちR*stor,O2、R*stor,NO、R*reduc,CO)及びRD(即ちRD,O2、RD,NO、RD,CO)を算出する。その後、CPUはステップ180にて上述した(34)式を用いてCgoutR(Cgout,reduc,CO)を算出し、(30)式を用いてCgoutL(Cgout,stor,O2=CgoutO2とCgout,stor,NO=CgoutNO)を算出する。
さらに、CPUはステップ190にてコート層における各化学種濃度Cw(即ちCw,O2、Cw,NO、Cw,CO)を(28)式及び(32)式を用いて求め、ステップ195にて(42)式〜(44)式によりOst(今回値)を算出する。そして、CPUは、ステップ200にて空燃比制御にフィードバックするためのフィードバック補正量(F/B補正量)を、(CgoutO2−O2ref)×G02+(CgoutNO−N0ref)×GNO+(CgoutCO−COref)×GCOから求める。ここで、(CgoutO2−O2ref)×G02が酸素成分に対応する部分で、(CgoutNO−NOref)×GNOが一酸化窒素成分に対応する部分で、(CgoutCO−COref)×GCOが一酸化炭素成分に対応する部分である。O2ref,NOref,COrefは各成分毎の制御目標、G02,GNO,GCOは各成分毎に設定される制御ゲインである。決定された補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。なお、本実施形態においても、制御目標を所定の範囲として定めていてもよい。
次に、第四実施形態について説明する。本実施形態では、第一実施形態と同様に、上述した推定値として排ガス中の酸素量(触媒19から排出される酸素の濃度)を用いるが、その推定値は所定時間後の推定値(現時点から所定時間先の時点の推定値)である。すなわち、本実施形態においては、いわゆる「先読み」による制御を行う。これに伴って、推定値の推定手法も、第一実施形態とは異なる。ここでの推定値(酸素量)も過不足量として把握され、触媒19全体が一つの領域(特定領域)として考えられている。
推定値(排出酸素過不足量)の推定には上述した第一実施形態と同様の推定モデル(推定方法)が用いられる。本実施形態ではさらに、吸入空気量や燃焼に寄与する燃料量などもモデルを用いて推定する。吸入空気量に関するモデルを、ここでは空気モデルと言うこととし、燃料量に関するモデルを、ここでは燃料挙動モデルと言うこととする。
第四実施形態における制御のフローチャートを図22に示す。まず、図22のフローチャートに示されるように、CPUは上述した空気モデルを用いて、所定時間後の吸入空気量を推定する(ステップ210)。この空気モデルについての詳しい説明はここでは省略するが、一例としては、吸入空気量を検出する吸気管内圧センサやエアフローメータ13の出力に加えて、スロットルバルブ9の開度の時間変化やその微積分値、エンジン回転数の時間的変化や微積分値などを用いて、所定時間後の筒内吸入空気量を推定する手法などがある。
以下、スロットルバルブ9の開度を用いた吸入空気流量の推定方法の一例について簡単に説明する。
(1)CPUは、アクセルポジションセンサ12から現時点のアクセル開度を検出する。
(2)CPUは、検出した現時点のアクセル開度に基づいて暫定的な目標スロットルバルブ開度を決定する。
(3)CPUは、決定された暫定的な目標スロットルバルブ開度を所定時間だけ遅延して実際の目標スロットルバルブ開度とする。換言すると、現時点から所定時間前の暫定的な目標スロットルバルブ開度が実際の目標スロットルバルブ開度として設定される。暫定的な目標スロットルバルブ開度は、それが実際の目標スロットルバルブ開度として使用されるまで時系列的にRAM内に格納される。
(4)CPUは、設定された実際の目標スロットルバルブ開度とスロットルバルブ9の開度が一致するようにスロットルモータ11を制御する。
(5)CPUは、現時点から次に吸気行程を迎える気筒の吸気弁が閉じる時点(吸気弁閉弁時)に至るまでの時間を推定し、その推定した時間と前記RAMに格納されている暫定的な目標スロットルバルブ開度とに基づいて、同気筒の吸気弁閉弁時における目標スロットルバルブ開度を算出し、同目標スロットルバルブ開度により同吸気弁閉弁時の推定スロットルバルブ開度を算出する。。
(6)CPUは、次に吸気行程を迎える気筒の吸気弁閉弁時の吸入空気流量(筒内吸入空気量)Mcを、前記推定スロットルバルブ開度とエンジン回転速度とマップとに基づいて推定する。
次いで、CPUは、ステップ210の推定結果を踏まえて、基本燃料噴射量(例えば、エンジン1に吸入される混合気の空燃比を理論空燃比とするために必要な噴射量)を算出する(ステップ220)。この基本燃料噴射量が各種補正係数により補正され、最終的な燃料噴射量が決定される。
さらに、この基本燃料噴射量(あるいは基本燃料噴射量に対して補正が加えられた燃料噴射量)と燃料挙動モデルとに基づいて排ガスの空燃比を推定する(ステップ230)。この燃料挙動モデルについての詳しい説明もここでは省略するが、一例としては、基本燃料噴射量自体に加えて、吸気ポートやシリンダ内壁等の部材への燃料の付着分や同内壁に付着している燃料の剥離分などをも考慮して、所定時間後の排気空燃比を推定する手法などがある。
例えば、この燃料モデルによれば、fi(k)だけの燃料量をインジェクタ5から噴射した後の燃料付着量fw(k+1)は下記(57)式により求められる。
fw(k+1)=R・fi(k)+P・fw(k) …(57)
上記(57)式において、fw(k)はfi(k)だけの燃料量を噴射する前の吸気ポート等への燃料付着量、Pは吸気ポート等に既に付着していた燃料のうち一吸気行程を経た後に同吸気ポート等に付着したまま残留している燃料の割合(残留率)、Rは噴射された燃料のうち吸気ポート等へ直接付着する燃料の割合(付着率)である。
一方、今回の燃料噴射量fi(k)のうち燃焼室(気筒)内に吸入される燃料量は(1−R)・fi(k)となり、既に付着している燃料の量(燃料付着量)fw(k)のうち燃焼室(気筒)内に吸入される燃料量は(1−P)・fw(k)となる。即ち、今回の燃料噴射により、気筒内には下記(58)式に示した燃料量fc(k)が吸入されることになる。
fc(k)=(1−R)・fi(k)+(1−P)・fw(k) …(58)
従って、実際には、基本噴射量の燃料をインジェクタ5から噴射し、上記(58)式のfi(k)を基本噴射量と等しいとおいて実際に気筒に吸入される燃料量fc(k)を求め、前記推定した筒内吸入空気量Mcをこの燃料量fc(k)で除することにより、排気空燃比を予測する。また、次回の計算に備え、(57)式のfi(k)を基本噴射量と等しいとおいて燃料付着量fw(k+1)を求めておく。
次に、CPUは、ステップ235に進み、前記ステップ230にて推定された排気空燃比を上記(48)式のAFとおき、同(48)式からCginO2(=Cgin,O2)を推定するとともに、前記ステップ230にて推定された排気空燃比、及び触媒に流入するガスの空燃比A/Fと一酸化炭素濃度CginCOとの関係を規定した図13に示したマップに基づいて一酸化炭素濃度CginCOを推定する。その後、CPUは、第一実施形態で述べた手法と同様にしてステップ240にてCgoutO2を推定する。このCgoutO2は、前記排気空燃比が現時点から所定時間後の空燃比を予測(先読み)したものであり、従って、CginO2及びCginCOもそれぞれ現時点から所定時間後のCginO2及びCginCOとなるから、現時点から所定時間後のCgoutO2を予測した値となっている。
次いで、CPUはステップ250にて前記CgoutO2が0より大きいか否かを判定し、同ステップにて「Yes」と判定したときはリッチ制御(ステップ260)、「No」と判定したときはリーン制御(ステップ270)を実行する。即ち、本実施形態におけるCgoutO2の目標状態(目標値)は0(ゼロ)であり、同CgoutO2が0となるように空燃比制御が実行される。
リッチ制御は空燃比(機関の空燃比)をリッチ側に補正する空燃比制御(噴射量を増量する制御)で、リーン制御は空燃比をリーン側に補正する制御(噴射量を減量する制御)である。本実施形態では、その補正量はリッチ制御・リーン制御の各制御毎に一定である。なお、推定したCgoutO2とその目標状態との乖離度に応じて補正量を変更してもよい。また、ステップ260では空燃比をリッチ側に補正する補正係数を算出し、ステップ270では空燃比をリーン側に補正する補正係数を算出し、これらの補正係数を基本噴射量に乗ずるなどの処理を行って燃料噴射制御に反映させるようにしてもよい。
次に、第五実施形態について説明する。本実施形態でも、上述した第四実施形態と同様に、いわゆる「先読み」による制御を行う。また、本実施形態においては、排ガス中の複数の排出成分についての推定値が算出される。ここでは、これら複数の推定値(具体的にはCgout,O2やCgout,COなど)をCgout**として記載することとする。同様に、CginについてはCgin**として記載する。また、ここでも触媒19全体は、一つの領域(特定領域)として扱われている。
第五実施形態における制御のフローチャートを図23に示す。まず、図23のフローチャートに示されるように、CPUは、上述した空気モデルを用いて、所定時間後の吸入空気量を推定する(ステップ280)。次いで、CPUは、上述した燃料挙動モデルを用いてシリンダ3内に実際に供給されるであろう燃料量を推定し(ステップ290)、ステップ280及びステップ290の結果から空燃比を算出する(ステップ300)。
そして、CPUは、算出した空燃比に基づいて触媒19に流入する各成分毎のCgin**を算出する(ステップ310)。さらに、触媒19内の反応を考慮して、各成分毎のCgout**と触媒19の酸素吸蔵量OSAとを推定する(ステップ320)。Cgin**とCgout**の推定については、上述した実施形態の手法による。また、OSAは、上述した(42)〜(45)式に基づいて推定する。
次に、CPUは、排気浄化に不利な状況となりそうかどうかを、スロットル駆動要求やその時点でのOSAなどの運転条件から予測する。スロットル駆動要求の有無は、運転者によるアクセルベグルの操作量(アクセル開度)の時間変化(アクセル開度の時間微分値)に基づいて判断され得る。また、排気浄化に不利な状況であるか否かは、たとえば、スロットル開度が急激に変化する過渡状態時であるか否かに基づいて判定され得る。過渡状態時には、触媒19の酸素吸蔵状態が不安定になりやすく、空燃比制御による補正が間に合わずに排気浄化率が悪化する可能性が高い。このようなとき、CPUは、スロットルバルブ9の開閉動作を電子制御によって遅延させ(開閉動作速度を小さくし)、これにより浄化すべき成分の触媒19下流側への流出を抑止しつつ、スロットル動作の遅延による要求トルク未達分を点火時期制御によって補う。
具体的に述べると、CPUは、スロットル駆動要求があるか否かを判定し(ステップ330)、このようなスロットル駆動要求がなければ、排気浄化に不利な状況にはなりにくいと判定して、図23のフローチャートに示される制御を終了する。一方、スロットル駆動供給がある場合、CPUは、その時点でのOSA、算出したCgout**、スロットル開度予測値、及びアクセル開度の時間変化量などの運転状態に基づいて、排気浄化率が悪化することが予想されるか否かを判定する(ステップ340)。そして、CPUは排気浄化率が悪化することが予想されないと判定すると、駆動要求通りにスロットルバルブ9を駆動する(ステップ360)。
―方、CPUは、排気浄化率の悪化が予測されるとき、スロットル駆動動作の遅延量および点火時期によるトルク補正量とを決定するとともに、上述した推定値Cgout**を目標状態に一致させるための空燃比制御を行い(ステップ350)、スロットル駆動を行う(ステップ360)。スロットル駆動動作の遅延量は、例えば、スロットルバルブ開度の急激な変化を抑制するため、上述した実際の目標スロットルバルブ開度に対して一次遅れ処理を施した開度を実際のスロットルバルブ開度として設定し直すために必要な量である。点火時期の補正量は、この実際のスロットルバルブ開度を設定し直したことに伴うエンジントルクの低下分を補うための補正量(進角量)である。また、推定値Cgout**を目標状態とするための空燃比制御は、上述した他の実施形態と同様である。
ここまでに説明した各実施形態は、いずれも触媒19全体を一つの領域として考えて各推定値を算出するものであつた。これに対し、以下の実施形態は、触媒19を排ガスの流れ方向に複数の領域(ブロック)に分割し、その複数の領域のうちの一つの領域(特定領域J)についての各推定値に対して目標状態を設定して、同各推定値が目標状態となるように空燃比制御を行う。
まず、触媒19を複数領域に分割する実施形態のうち、第六実施形態について、その制御のフローチャートを示した図24を参照しながら説明する。この実施形態は、触媒19をn段に分割して取り扱う。ここで、触媒19の分割された複数の領域について、上流側からI=1〜nの番号を順に付するとともに、各領域I毎の推定値等にI=1〜nの添え字を付する。
また、本実施形態では、排ガス中の酸素量(触媒19の各領域から排出される酸素の濃度)と一酸化炭素量(触媒19の各領域から排出される一酸化炭素の濃度)とを上述した推定値として求める。更に、酸素量は空燃比制御において第一実施形態と同様に過不足量として扱う。なお、既に述べたように、上記(27)式〜(34)式、(36)式、及び(38)式等による各数値は、これらの式に基づいて触媒19の上流側から順次計算することによって、すべての領域について算出できる。
以下、この実施形態の制御方法について図24に示したフローチャートを参照しながら具体的に説明すると、まず、CPUは上流側空燃比センサ25が検出する触媒19に流入する排ガスの空燃比を取り込み(ステップ370)、上述した特定領域を表す値Iを「0」にリセットする(ステップ380)。次いで、CPUは、I←I+1として、Iの値を「1」だけインクリメントする(ステップ390)。この段階では、Iの値は1となる。
次いで、CPUは、領域Iに対するRoscI(即ちR*stor,O2,I、R*reudc,CO,I)及びRDI(RD,O2,I、RD,CO,I)を算出する(ステップ410)。
このとき、触媒19に流入する排ガスの空燃比が理論空燃比よりリーンの場合、RD,Iの算出には既に説明した(50)式を用い、Rosc,Iの算出には既に説明した(51)式を用いる。また、触媒19に流入する排ガスの空燃比が理論空燃比よりリッチの場合、RD,Iの算出には既に説明した(52)式を用い、Rosc,Iの算出には既に説明した(53)式を用いる。
その後、CPUは上述した第一実施形態の図18のステップ40と同様に、(30)式と(34)式とを用いてCgoutI(Cgout,O2,IとCgout,CO,I)を算出する(ステップ420)。このとき、CPUは、ステップ420の処理を行う際に必要とするCin,O2,I等をステップ40と同様に上記(48)式に基づいて算出する。なお、Cgout,CO,Iが求められたときには、Cgout,O2,Iに−2・Cgout,CO,Iを設定する。
次いで、CPUはコート層の化学種濃度CwI(Cw,O2,I、Cw,CO,I)を(28)式及び(32)式に基づいて求め(ステップ430)、(42)式〜(44)式によりOstI(今回値)を算出するとともに(ステップ435)、現在のIの値がn以上であるか否かを判定する(ステップ440)。このとき、Iの値がn未満であれば、CPUはステップ390に戻り、Iの値を「1」だけ大きくして次の下流側の領域について同様の算出を行う(ステップ410〜430,ステップ435)。一方、Iの値がn以上となると、すべての領域についての各種値の算出が終了したことになるので、この場合、CPUはステップ440からステップ450に進む。
そして、CPUはステップ450にて空燃比のフィードバック補正量(F/B補正量)を、特定領域J(Jはnより小さいか等しい)についての推定値CgoutO2,Jに基づいて、(CgoutO2,J−O2ref)×Gから求める。ここで、O2refは制御目標、Gは制御ゲインである。決定されたフィードバック補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。
このように、本実施形態においては、触媒19を複数の領域に分割し、特定領域Jに関する上述した推定値を求めているので、同特定領域Jの推定値に基づいて、触媒19の状況をより正確に把握できる。また、特定領域Jは、最も下流側の領域よりも上流側の領域に設定することができ、その結果、排ガスの浄化性能をより一層向上させることが可能となる。換言すると、特定領域J(J<n)の状態を理想の状態に近づけておけば、予期しない多量の未燃成分や窒素酸化物が触媒19に流入したとしても、特定領域J+1〜nの領域にて、これらを浄化する可能性が高まる。即ち、空燃比制御遅れによる弊害(エミッションの悪化)を小さくすることができる。
次に、第七実施形態について、その制御のフローチャートを示した図25を参照しながら説明する。本実施形態は、各領域毎の各種数値の算出に関する限り、第六実施形態と何ら変わるところがない。このため、同一の制御ステップには同一の符号を付して、その説明を省略する。
本実施形態において、CPUがステップ440にて「Yes」と判定すると(即ち、すべての領域についての各数値の算出が終了すると)、同CPUは特定領域(制御するべき領域、以下、特定制御領域Jとも言う。)を決定するための運転条件を取得し(ステップ460)、取得した運転条件に基づいて特定制御領域Jを決定する(ステップ470)。上述した運転条件としては、様々な条件を設定することができる。また、一つの条件だけでなく、複数の条件に基づいて特定制御領域Jを決定することもできる。ここでは、一つの条件に基づいて特定制御領域Jを決定する具体例を四つ挙げる。図26〜図29は、各例において使用するマップを示している。
図26は、上述した運転条件として吸入空気量を用いた場合に使用する「吸入空気量と特定領域(特定制御領域)Jとの関係」を示すマップである。吸入空気量は、エアフロメータ13によって検出される。このマップによれば、吸入空気量が多いほど特定領域(特定制御領域)Jが上流側(上流段)に設定される。
図27は、上述した運転条件としてアクセル開度の時間変化量(Δアクセル開度)を用いた場合に使用する「Δアクセル開度と特定領域(特定制御領域)との関係」を示すマップである。Δアクセル開度は、アクセルポジシヨンセンサ12の検出結果を加工することによって得られる。このマップによれば、Δアクセル開度が大きいほど特定領域(特定制御領域)Jが上流側に設定される。
吸入空気量やΔアクセル開度に関しては、その値が大きくなるほど特定領域(特定制御領域)Jの位置を上流側に設定し、その値が小さくなるほど特定領域(特定制御領域)Jの位置を下流側に設定する。これは、いわゆる「吹き抜け現象」が発生しやすい場合には空燃比制御に用いられる特定領域(特定制御領域)Jを上流側に設定し、「吹き抜け現象」が発生しにくい場合には特定領域(特定制御領域)Jを下流側に設定するためである。「吹き抜け現象」とは、触媒19自体は浄化する能力を有しているにもかかわらず、流速が速かったり、流量が多かったりという理由によって、排ガス中の浄化されるべき成分が十分に浄化される前に下流側に流出してしまう現象である。
図28は、上述した運転条件として触媒19の活性状態を用いた場合に使用する「触媒の活性状態と特定領域(特定制御領域)Jとの関係」を示すマップである。触媒19の活性状態は、例えば、触媒温度センサ21によって検出した触媒19の温度から決定することができる。このマップによれば、触媒19の活性状態が低い(まだ十分に活性化していない)ほど特定領域(特定制御領域)Jが上流側に設定される。これにより、特定領域(特定制御領域)Jよりも下流側の領域をバッファ(排気浄化のための予備的な領域)として使用することができるので、排ガス中の浄化すべき成分が十分に浄化され得る。
図29は、上述した運転条件として空燃比(触媒19に流入するガスの空燃比、即ち、エンジン1に供給される混合気の空燃比)の時間的変化量(Δ空燃比)を用いた場合に使用する「Δ空燃比と特定領域(特定制御領域)Jとの関係」を示すマップである。Δ空燃比は、空燃比制御を司っているECU18によって算出することができる。このマップによれば、Δ空燃比が小さい(空燃比が余り変化していない場合)ほど特定領域(特定制御領域)Jが下流側に設定される。
このように、CPUは図25に示したステップ470にて特定領域(特定制御領域)Jを決定すると、ステップ480に進んで同決定された特定領域(特定制御領域)Jの推定値Cgout,O2,Jに基づいて、空燃比フィードバック補正量(F/B補正量)を、(Cgout,O2,J−O2ref)×Gに基づいて求める。ここで、O2refは制御目標、Gは制御ゲインである。決定された補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。このように、触媒19を複数の領域に分割し、運転状態に応じて特定領域(特定制御領域)Jを変更することによって、排ガスの浄化性能をより一層向上させることが可能となる。
上述した第六実施形態および第七実施形態においては、特定領域(特定制御領域)は一つだけであった。しかし、特定領域(特定制御領域)は一つでなくても良く、複数設定されてもよい。このようにすることによって、排ガスの浄化をより一層効果的に行うことができるようになる場合がある。次に説明する第八実施形態は、特定領域(特定制御領域)を複数設定している。
第八実施形態における制御のフローチャートを図30に示す。本実施形態は、各領域毎の各種数値の算出に関して、上述した第六実施形態及び第七実施形態と何ら変わるところがない。このため、同一の制御ステップには同一の符号を付して、その説明を省略する。
本実施形態においては、CPUがステップ440にて「Yes」と判定すると(即ち、すべての領域についての各数値の算出が終了すると)、CPUはステップ490に進み、あらかじめ決定されている二つの特定領域(特定制御領域)(領域I1及び領域I2)の推定値Cgout,O2,I1及びCgout,O2,I2に基づいて空燃比フィードバック補正量(F/B補正量)を[(Cgout,O2,I1−O2ref)×G1+(Cgout,O2,I2−O2ref)×G2]から求める。ここで、O2refは制御目標であり、本実施形態においては、特定領域(特定制御領域)I1及び特定領域(特定制御領域)I2の双方について同一の制御目標が用いられている。このステップ490において決定された補正量は、空燃比を決定する燃料噴射量の補正係数の一つとして空燃比制御に反映される。なお、特定領域(特定制御領域)I1と特定領域(特定制御領域)I2とで異なる制御目標を設定することもできる。
また、G1,G2はそれぞれ特定領域(特定制御領域)I1,特定領域(特定制御領域)I2に関しての制御ゲインである。本実施形態では、制御ゲインG1,G2を異ならせて、各特定領域(特定制御領域)の推定値の空燃比制御への影響度についての重み付けをしている。このようにすることによって、特定領域(特定制御領域)を複数設定する場合に、それらの特定領域(特定制御領域)についての状況が空燃比制御に与える影響度を個別に設定でき、排気浄化性能をより向上させることができる場合がある。このように、触媒19を複数の領域に分割し、複数の特定領域(特定制御領域)を設定することによって、排ガスの浄化性能をより一層向上させることが可能となる。
上述した第八実施形態においては、制御ゲインG1,G2はあらかじめ決定された固定値とされていた。しかし、特定領域(特定制御領域)を複数設定した場合の各特定領域(特定制御領域)に関する制御ゲインはあらかじめ固定値として決定されていなくても良く、運転状況などに応じて変動する変数値として設定されてもよい。次に説明する第九実施形態は、各特定領域(特定制御領域)に対応する制御ゲインを可変としている。
第九実施形態における制御のフローチャートを図31に示す。本実施形態は、各領域毎の各種数値の算出に関して、上述した第六実施形態〜第八実施形態と何ら変わるところがない。このため、同一の制御ステップには同一の符号を付して、その説明を省略する。
本実施形態においては、CPUがステップ440にて「Yes」と判定すると(即ち、すべての領域についての各数値の算出が終了すると)、CPUはステップ500に進んで各特定領域に対応する制御ゲインを決定するための運転状態である吸入空気流量Gaをエアフロメータ13から取得する。そして、CPUは、ステップ510にて、前記取得した吸入空気流量Gaと図32に示したマップと基づいて、各特定領域毎(特定領域I1及び特定領域I2)に対する制御ゲイン(G1、G2)を決定する。
図32に示したマップにおいては、横軸が特定領域の位置を示し、縦軸がG1,G2として設定される制御ゲインを示している。また、このマップでは、特定領域I1は特定領域I2よりも下流側に位置し、吸入空気量Gaの大小に応じた二本の曲線が設定されている。各曲線は、上流側の特定領域I2の制御ゲインG2よりも下流側の特定領域I1の制御ゲインG1の方が大きくなるように設定されている。すなわち、このマップにより制御ゲインを決定すると、下流側の特定領域に関する推定値の空燃比制御に対する影響度が大きくなる。なお、これらの曲線は、適宜定めることができ、例えば、これらの曲線を、上流側に向うに連れて制御ゲインを大きくするように設定すれば、上流側の特定領域の推定値が重視されることになる。
さらに、図32に示すマップでは、吸入空気量Gaが大きい場合に適用する曲線が、吸入空気量Gaが小さい場合に適用する曲線よりも上に位置されている。このため、制御ゲインG1,G2は、吸入空気量Gaが多いほど大きくなるように設定される。
CPUは、このようにして制御ゲインを決定すると、空燃比フィードバック補正量(F/B補正量)を[(Cgout,O2,I1−O2ref)×G1+(Cgout,O2,I2−O2ref)×G2]なる式に基づいて求める(ステップ520)。O2refは制御目標である。
このように、触媒を複数の領域に分割して複数の特定領域を設定し、各特定領域毎の空燃比制御への影響度をエンジン1の運転状態に応じて変更することによって、排ガスの浄化性能をより一層向上させることが可能となる。
なお、制御ゲインを決定するための上述した運転状態としては、様々な運転状態を採用することができる。また、一つの運転状態だけでなく、複数の運転状態に基づいて各特定領域に対する制御ゲインを決定することもできる。また、本実施形態においては、特定領域I1及び特定領域I2の双方について同一の制御目標が用いられていたが、特定領域I1と特定領域I2とで異なる制御目標を設定してもよい。
次に、上述した推定値に基づく空燃比制御を実行するとともに、下流側空燃比センサ26の出力を用いて上述した推定モデルを補正する第十実施形態について説明する。本実施形態における制御のフローチャートを図33に示す。図33のフローチャートは、空燃比を制御するためのプログラムを示したものではなく、推定モデルを補正する制御を行うためのプログラムを示したものである。なお、本実施形態においては、第一実施形態と同様に、触媒19全体を一つの領域として考えて推定値を算出し、排ガス中の酸素量(触媒19から流出する酸素濃度)を同推定値の一つとして算出する。
具体的に説明すると、CPUは、ステップ530にて、上流側空燃比センサ25が検出する触媒19に流入する排ガスの空燃比(排気空燃比)を取得し、ステップ540に進んで同取得した排気空燃比に基づいてCgout,O2(=CgoutO2)等を算出する。これらのステップ530,540に基く処理は、実際には、図18に示したステップ10〜ステップ50、及びステップ55に基く処理と同様な処理を実行することで達成される。
次いで、CPUはステップ550に進み、ステップ540で算出されたCgoutO2に基づいて下流側空燃比センサ26が出力するであろう出力を推定(予測)し、ステップ560にて(下流側空燃比センサ26の実際の出力)−(ステップ550において推定されたセンサ出力推定値)をErrorO2mdlとして算出する。
そして、CPUは、続くステップ570にて、このErrorO2mdlの絶対値が、所定のモデル許容誤差Emdlよも大きいか否かを判定する。このとき、下流側空燃比センサ26の実際の出力とステップ550において推定された出力推定値との差が許容範囲内であれば、CPUはステップ570に「No」と判定し、この場合、上述した推定モデルに対して補正を行う必要はないので、図33に示したフローチャートによる制御を一旦終了する。
これに対し、下流側空燃比センサ26の実際の出力とステップ550において推定された出力推定値との差ErrorO2mdlが許容範囲(モデル許容誤差Emdl)を越えていると、CPUはステップ570にて「Yes」と判定し、ステップ580に進んで、推定モデルで使用する(上述した(36)式及び(38)式等で使用する)kstor(Kstor,i)及びkrel(krel,i)を修正する。
このように、上述した推定値を用いた空燃比制御を実行するとともに、この推定値と下流側空燃比センサ26の出力とを用いて推定モデルを補正することによって、同推定モデルの推定精度をより一層向上させることができる。
上述した第十実施形態では、下流側空燃比センサ26の出力に基づいて推定モデルを補正したが、次に説明する第十一実施形態においては、推定モデルによる推定結果に基づいて下流側空燃比センサ26の異常判定(診断)を行う。本実施形態における制御のフローチャートを図34に示す。図34のフローチャートは、空燃比を制御するためのプログラムを示したものではなく、センサの診断(異常判定)を行うためのプログラムを示したものである。なお、本制御においては、第一実施形態と同様に、触媒19全体を一つの領域として考えて推定値を算出し、排ガス中の酸素量(触媒19からの排出される酸素の濃度)を同推定値の一つとして算出する。
具体的に説明すると、CPUは、ステップ530にて、空燃比センサ25が検出する触媒19に流入する排ガスの空燃比を検出取得し、ステップ540に進んで同取得した排気空燃比に基づいてCgoutO2を算出するとともに、ステップ550にて同算出されたCgoutO2に基づいて下流側空燃比センサ26が出力するであろう出力を推定(予測)する。これらのステップ530〜550は、上述した第十実施形態におけるステップ530〜550と同一である。
次いで、CPUはステップ590に進み、(下流側空燃比センサ26の実際の出力)−(ステップ550において推定されたセンサ出力推定値)をErrorO2snsとして算出する。
そして、CPUは、続くステップ600にて、このErrorO2snsの絶対値が、所定のセンサ許容誤差Esnsよりも大きいか否かを判定する。このとき、下流側空燃比センサ26の実際の出力とステップ550において推定された出力推定値との差ErrorO2snsが許容範囲(センサ許容誤差Esns)内であれば、CPUはステップ600にて「No」と判定し、この場合、下流側空燃比センサ26は正常であると判断し、図34に示したフローチャートによる制御を一旦終了する。
これに対し、下流側空燃比センサ26の実際の出力とステップ550において推定されたセンサ出力推定値との差ErrorO2snsが許容範囲(センサ許容誤差Esns)を越えていると、CPUはステップ600にて「Yes」と判定し、ステップ610に進んで、下流側空燃比センサ26が異常であると判定する。
この実施形態によれば、上述した推定値を用いて空燃比制御が実行されるとともに、この推定値と下流側空燃比センサ26の出力とに基づいて同空燃比センサ26の診断が行われ得る。
第十実施形態では、下流側空燃比センサ26の出力に基づいて推定値を求めるための推定モデルを補正した。これに対し、第十一実施形態では、推定モデルにより算出される推定値に基づいて下流側空燃比センサ26の診断を行った。これらは、互いに矛盾する考え方ではあるが、推定値と下流側空燃比センサ26の出力とのうち何れが信頼性が高いかに基づいて選択すればよい。また、エンジン1の運転状態に応じて、信頼できる方が変わるような場合は、エンジン1の運転状態に応じて推定モデル補正制御と下流側空燃比センサ26の診断制御とが排他的に行われるようにしてもよい。また、第十一実施形態のように、下流側空燃比センサ26の正常異常を判定するだけでなく、ErrorO2snsに応じて下流側空燃比センサ26の出力を補正するように構成してもよい。
これまで説明してきた実施形態は、図1に示されるような、排気通路7上に一つの触媒19のみを有するエンジン1に適用されていた。これに対し、以下に説明する第十二実施形態では、全体構成である図35に示したように、エンジン1がその排気通路7上に複数(以下の実施形態では二つ)の排気浄化触媒19a,19bを有している。なお、図35において、図1に示した構成と同一の構成には同一の符号を付し、その説明を省略するとともに、以下においては、図1に示した内燃機関と相違している部分についてのみ説明する。
図35に示されるこの実施形態にかかる内燃機関に関しては、排気通路7上の二ヶ所に排気浄化触媒19a,19bが配設されている。上流側の触媒を上流側排気浄化触媒19a(以下、上流側触媒19aとも言う。)、下流側の触媒を下流側排気浄化触媒19b(以下、下流側触媒19bとも言う。)と称呼して区別する。
上流側触媒19aは、例えば、四気筒のエンジンにおいて、ある二気筒の排気管が一つにまとめられた箇所に一つ、残りの二気筒の排気管が一つにまとめられた箇所にもう一つというように、並列に計二つ設けられるような場合もある。なお、この場合、下流側触媒19bは、すべての排気管が一つにまとめられた部分よりも下流の排気管に設けられることが多い。
上流側触媒19aは、始動時触媒とも呼ばれ、容量の小さなものがシリンダ3にできるだけ近い位置に配設され、排ガスの熱によって冷間始動後に早期に活性化温度にまで昇温され、早期に排気浄化性能を発揮することを目的として配設されることが多い。
これに対して、下流側触媒19bは、アンダーフロア触媒とも呼ばれ、十分な容量を有するものが車両の床下に配設され、排ガス中の浄化すべき成分を確実に浄化することを目的として配設される場合が多い。そして、上流側触媒19aの上流側には、上流側触媒19aに流入する排ガスの空燃比を検出する上流側空燃比センサ25が配設されている。また、下流側触媒19bの下流側には、下流側触媒19bから流出する排ガスの空燃比を検出する下流側空燃比センサ26が配設されている。さらに、上流側触媒19aと下流側触媒19bとの間には、上流側触媒19aから流出し、下流側触媒19bに流入する排ガスの空燃比を検出する中間部空燃比センサ27が配設されている。
これらの空燃比センサ25,26,27は、ECU18に接続されており、その検出結果をECU18に送出すると共に、ECU18から供給される電力によって早期に昇温されるべくヒータが内蔵されている。また、上流側触媒19a及び下流側触媒19bには、それらの温度を検出する温度センサ21a,21bがそれぞれ取り付けられている。
次に、本実施形態の作動について説明すると、この実施形態では、上流側触媒19aと下流側触媒19bとの双方で、上述した推定モデルによる推定値の算出が行われ、これらに基づく空燃比制御が行われる。これらの推定値と、中間部空燃比センサ27の検出結果とに基づいて、上流側触媒19aから流出して下流側触媒19bに流入する排ガスの空燃比も制御される。なお、上流側触媒19aに適用する推定モデルの基本構成と、下流側触媒19bに適用する推定モデルの基本構成は、それぞれのモデルで使用するパラメータの数値が異なっている点を除き、同一である。
本実施形態における制御のフローチャートを図36に示す。図36のフローチャートは、推定値を算出するためのプログラムのみを示している。また、本実施形態においては、上流側触媒19a全体を一つの領域として考えて推定値を算出し、下流側触媒19b全体を一つの領域として考えて別の推定値を算出する。この実施形態の推定値の一つは、排ガス中の酸素量(触媒19a,19bから流出する酸素の濃度)である。
また、上述したCgin,Cgoutに関しては、各触媒毎に以下のように表すこととする。即ち、上流側触媒19aに流入する化学種(ここでは酸素)濃度はCginO2SC、同触媒19aから流出する化学種濃度はCgoutO2SCと記述する。同様に、下流側触媒19bに流入する化学種(ここでは酸素)濃度はCginO2UF、同触媒19bから流出する化学種濃度はCgoutO2UFと記述する。上流側触媒19aから流出した化学種は下流側触媒19bに流入するので、CgoutO2SC=CginO2UFである。
具体的に、図36のフローチャートにより示されたプログラムに従って説明すると、CPUは、ステップ650にて、上流側空燃比センサ25が検出する上流側触媒19aに流入する排ガスの空燃比を取得し、ステップ652に進んで、同取得した排気空燃比に基づいて上流側触媒19aに関するCgoutO2SCを算出する。これらのステップ650,652に基く処理は、実際には、図18に示したステップ10〜ステップ50、及びステップ55に基く処理と同様な処理を実行することで達成される。次いで、CPUは、ステップ654にて、前記ステップ652で算出されたCgoutO2SCから中間部空燃比センサ27が出力するであろう出力を推定(予測)する。
そして、CPUは、ステップ656に進み、(中間部空燃比センサ27の実際の出力)−(ステップ654において推定された出力推定値)をErrorO2mdlとして算出し、続くステップ658にて、このErrorO2mdlの絶対値が、所定のモデル許容誤差Emdlよりも大きいか否かを判定する。このとき、中間部空燃比センサ27の実際の出力とステップ654において推定された出力推定値との差が許容範囲を越えていると、CPUはステップ658にて「Yes」と判定してステップ660に進み、同ステップ660にてCgoutO2SCを補正し、ステップ662に進む。
このステップ660におけるCgoutO2SCの補正は、まず推定モデルを補正し、次いで補正した推定モデルに基づいて再度CgoutO2SCを算出することにより達成される。推定モデルの補正は、上述した図33のフローチャートにおけるステップ580での補正と同様に行われる。
一方、中間部空燃比センサ27の実際の出力とステップ654において推定された出力推定値との差が許容範囲内であると、CPUはステップ658にて「No」と判定し、上述した推定モデルに対して補正を行う必要がないので、ステップ662に直接進んでCgoutO2SCをCginO2UFに設定する。なお、ステップ660を経由してステップ662に到達した場合、ステップ660にて補正されたCgoutO2SCがCginO2UFに設定される。
次いで、CPUは、ステップ664にて、上記算出した下流側触媒に関するCginO2UFに基づいてCgoutO2UFを、ステップ652と同様に算出する。そして、CPUは図示しないステップにて、このように算出されたCgoutO2SC及びCgoutO2UFに基づいて空燃比フィードバック補正量を算出し、空燃比制御に反映する。このように、排気通路7上の複数の触媒19a,19bの双方に関して推定値をそれぞれ算出し、これらの推定値を用いた空燃比制御を行うことによって、排ガスの浄化性能をより一層向上させることが可能となる。
次に、第十三実施形態について説明する。本実施形態は、上述した第十二実施形態と類似しているが、CgoutO2SCの補正は行わなわれない。なお、第十三実施形態の制御を第十二実施形態の制御と組み合わせて行うようにしても構わない。第十三実施形態は、下流側触媒19bの浄化率を高く維持するため、算出した推定値を用いて、下流側触媒19bに流入する排ガスの空燃比を制御する。具体的には、下流側触媒19bの浄化率を高く維持するために、同下流側触媒19bに流入する排ガス中の酸素過不足量の積算値がゼロとなるように、空燃比制御を行う。
上記下流側触媒19bに流入する酸素過不足量の積算値とは、下流側触媒19bの浄化率を高く維持させるために下流側触媒19bに流入する酸素量の収支(総和・平均値)をゼロにする際の余剰・不足状態を示すものである。本実施形態における制御のフローチャートを図37に示す。
このフローチャートに沿って、本装置の作動を説明すると、CPUはステップ650にて上流側空燃比センサ25が検出する上流側触媒19aに流入する排ガスの空燃比を取得し、ステップ652にて前記取得した空燃比に基づいて、上流側触媒19aに関するCgoutO2SCを算出する。これらのステップ650,652に基く処理は、実際には、図18に示したステップ10〜ステップ50、及びステップ55に基く処理と同様な処理を実行することで達成される。次いで、CPUはステップ662に進み、ステップ652で算出したCgoutO2SCをCginO2UFに設定する。
次いで、CPUはステップ670に進み、ステップ662において算出されたCginO2UFの積算値(ΣCginO2UFと表現する)を求める。即ち、CPUは、これまでの積算値ΣCginO2UF(k−1)をストックしており、これに対して新たにステップ662で算出されたCginO2UF(k)を加えることによって、新たな積算値ΣCginO2UF(k)を得る。
そして、CPUは、ステップ672にて、前記算出された積算値ΣCginO2UF(k)がゼロより大きいか否かを判定し、同ステップ672にて「Yes」と判定するとき、ステップ674に進んで下流側触媒19bに流入する排ガスの空燃比がリッチとなるような制御(リッチ制御)を行う。一方、ステップ672の実行時に、前記算出された積算値ΣCginO2UF(k)がゼロ以下であれば、CPUはステップ672にて「No」と判定してステップ676に進み、下流側触媒19bに流入する排ガスの空燃比をリーンとするように制御(リーン制御)を行う。
このように、上流側触媒19aと下流側触媒19bとの双方に関して推定値を算出し、これらの推定値に基づいて、下流側触媒19bを浄化率の高い状態に維持する空燃比制御を行うことによって、排ガスの浄化性能をより一層向上させることが可能となる。
以上、説明したように、本発明の各実施形態によれば、排気浄化触媒に流入する排ガスの空燃比に基づいて、排気浄化触媒から排出される(同触媒の全部又は同触媒の一部である特定領域の一つから排出される)特定成分の排出量(或いは、排出される排ガスの状態を示す代表値)を推定し、推定した推定値に対する目標状態を設定し、この推定値が目標状態となるように空燃比制御を行う。これにより、排気浄化触媒或いは同触媒を分割した場合の特定領域(特定ブロック)から排出される特定成分の排出量(触媒又は特定領域から排出される排ガスの状態、触媒全体又は同触媒の最上流位置から特定領域までの酸素吸蔵量等で代表される触媒の状態を含む。)を所望の状態に制御でき、排気浄化性能を向上させることができる。