JP4239521B2 - 内燃機関の排気浄化装置 - Google Patents
内燃機関の排気浄化装置 Download PDFInfo
- Publication number
- JP4239521B2 JP4239521B2 JP2002245746A JP2002245746A JP4239521B2 JP 4239521 B2 JP4239521 B2 JP 4239521B2 JP 2002245746 A JP2002245746 A JP 2002245746A JP 2002245746 A JP2002245746 A JP 2002245746A JP 4239521 B2 JP4239521 B2 JP 4239521B2
- Authority
- JP
- Japan
- Prior art keywords
- catalyst
- value
- fuel ratio
- air
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Exhaust Gas Treatment By Means Of Catalyst (AREA)
- Exhaust Gas After Treatment (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は排気通路に三元触媒を備えた内燃機関の排気浄化装置に関する。
【0002】
【従来の技術】
従来より、内燃機関の排気ガスを浄化するための三元触媒(本明細書においては、単に「触媒」と云うこともある。)が、同機関の排気通路に配設されている。この三元触媒は、流入するガスの空燃比がほぼ理論空燃比のときに未燃成分(HC,CO)を酸化する機能(酸化機能)と窒素酸化物(NOx)を還元する機能(還元機能)を有し、この酸化還元機能により上記未燃成分や窒素酸化物等の有害成分を浄化することができる。
【0003】
更に、三元触媒は、流入するガスの空燃比がリッチである場合(ガスの中の酸素が不足している場合)に貯蔵している酸素によりHC,CO等の未燃成分を酸化する機能(酸素放出機能)と、流入するガスの空燃比がリーンである場合(ガスの中の酸素が過剰となっている場合)に窒素酸化物(NOx)を還元して同NOxから奪った酸素を内部に貯蔵する機能(酸素吸蔵機能)を有している。この酸素吸蔵放出機能により、三元触媒は、機関の空燃比が理論空燃比から偏移した場合でも、上記未燃成分や窒素酸化物等の有害成分を浄化することができる。
【0004】
このような触媒の酸化還元機能及び酸素吸蔵放出機能による有害成分の浄化効率(浄化能力)は、触媒の温度に依存することが知られており、触媒の温度を所定の最適値を含んだ所定の幅(以下、「最適温度幅」と称呼する。)内に維持すれば同浄化効率(浄化能力)を良好な値に維持することができる。
【0005】
特開平10−274035号公報に記載の内燃機関の排気浄化装置は、このような知見に基いてなされたものであって、触媒よりも上流の排気通路には第1の排気経路と、同第1の排気経路より長い触媒冷却用の第2の排気経路とを備え、触媒の温度が最適温度幅の上限値を超えたとき排気ガスが第2の排気経路を介して触媒に流入するように排気通路を構成し、触媒の温度が最適温度幅の下限値を下回ったとき排気ガスが第1の排気経路を介して触媒に流入するように排気通路を構成するようになっている。
【0006】
これによれば、触媒の温度が最適温度幅の上限値を超えたとき、排気ガスが第1の排気経路より長い第2の排気経路を通過するようになり、自然放熱により排気ガスの熱が多量に外部に放出されるので、触媒に流入する排気ガスの温度が低くなり、この結果、触媒の温度が低減される。一方、触媒の温度が最適温度幅の下限値を下回ったとき、排気ガスが第2の排気通路より短い第1の排気通路を通過するようになり、自然放熱により外部に放出される排気ガスの熱量が小さくなるので、触媒に流入する排気ガスの温度が高くなり、この結果、触媒の温度が増大される。従って、触媒の温度が最適温度幅内に維持され得る。
【0007】
ところで、触媒は、未燃成分を浄化する上記酸素放出機能を十分に発揮するためには酸素を多量に吸蔵していなければならず、逆に窒素酸化物を浄化する上記酸素吸蔵機能を十分に発揮するためには酸素を十分に吸蔵し得なければならない。従って、未燃成分や窒素酸化物を効率よく浄化するため、触媒内に吸蔵されている酸素量(以下、「酸素吸蔵量」と称呼する。)が適切な量(例えば、同触媒が吸蔵し得る最大の酸素量(以下、「最大酸素吸蔵量」と称呼する。)の半分程度の量)に維持されるように機関の空燃比が制御されることが望ましい。
【0008】
また、触媒から排出されるガスの空燃比は、触媒の酸素吸蔵量が「0」近傍に近づくほどリッチとなり、触媒の酸素吸蔵量が最大酸素吸蔵量の近傍に近づくほどリーンとなる傾向がある。従って、触媒から排出されるガスの空燃比が理論空燃比に極めて近い状態となるように機関の空燃比を制御すれば、触媒の酸素吸蔵量が上記適切な量(例えば、最大酸素吸蔵量の半分程度の量)になるように制御されることになる。
【0009】
以上のことから、触媒の下流に空燃比センサを設け、同空燃比センサの出力が理論空燃比に略相当する目標値(即ち、触媒の浄化効率が良好となるための目標値)になるように、同空燃比センサの出力に応じて機関の空燃比をフィードバック制御する排気浄化装置が知られている。これによれば、前記空燃比センサの出力が理論空燃比よりもリーンの空燃比を示す値となると機関の空燃比がリッチ側に制御されるとともに、同空燃比センサの出力が理論空燃比よりもリッチの空燃比を示す値となると機関の空燃比がリーン側に制御され、この結果、触媒から排出されるガスの空燃比が理論空燃比に近い状態に維持されるとともに触媒の酸素吸蔵量が適切な量に維持される。
【0010】
ここで、機関の気筒内で発生した排気ガスが空燃比センサに到達するまでには同気筒から同空燃比センサまでの排気通路の距離に応じた所定の時間が必要である。従って、機関の空燃比の変化が空燃比センサの出力に反映されるまでにも所定の時間が必要である。この結果、上記のような空燃比センサの出力に基く空燃比フィードバック制御においては、触媒よりも上流の排気通路の長さに応じた制御のむだ時間が不可避的に存在する。
【0011】
また、上記のようなフィードバック制御では、フィードバック制御定数(例えば、フィードバック制御を比例積分制御で行う場合には、比例ゲイン、及び積分ゲイン)を大きくすると、その応答性が向上する。しかしながら、特に、上記のように制御のむだ時間が存在する場合、フィードバック制御定数を大きくすると、制御のむだ時間が長くなるにつれてその安定性が低下する。従って、上記のような空燃比センサの出力に基く空燃比フィードバック制御を行う排気浄化装置では、制御の応答性及び安定性を共にある程度良好に確保して空燃比センサの出力の上記目標値への収束性を最適化するため(触媒の酸素吸蔵量の上記適切な量への収束性を最適化するため)、フィードバック制御定数は、一般に、制御のむだ時間が長いときには小さめに、制御のむだ時間が短いときには大きめに設定される。
【0012】
【発明が解決しようとする課題】
しかしながら、上記公報に開示された装置のように、触媒よりも上流の排気通路の長さが変化するような装置に対して上記のような空燃比センサの出力に基く空燃比フィードバック制御を行う場合、触媒よりも上流の排気通路の長さの変化に応じて制御のむだ時間も変化する。従って、触媒よりも上流の排気通路の長さが短くなる場合に上記収束性が最適になるようにフィードバック制御定数を大きめに適合すると、同排気通路が長くなった場合に制御の安定性が確保できなくなり、ひいては触媒の酸素吸蔵量が不安定になる場合がある。一方、触媒よりも上流の排気通路の長さが長くなる場合に上記収束性が最適になるようにフィードバック制御定数を小さめに適合すると、同排気通路が短くなった場合に、制御の応答性をより向上できるにもかかわらず同応答性が低くなり、ひいては触媒の酸素吸蔵量が上記適切な量に近づくまでの時間が長くなるという問題がある。
【0013】
また、上記公報に開示された装置においては、例えば、触媒よりも上流の排気通路が触媒冷却用の第2の排気経路から第1の排気経路に切り替ったとき、その時点で第2の排気経路内に存在していたガスがその後も同第2の排気経路内に残留する。そして、その後に、前記排気通路が第1の排気経路から第2の排気経路に切り替ったときには、上記した第2の排気通路内に残留していたガスが初めに触媒に流入する。
【0014】
よって、例えば、前記排気通路が第2の排気経路から第1の排気経路に切り替わる直前で、加減速運転等により機関の空燃比が相当のリッチ空燃比となっていた場合、上記第2の排気通路内に残留していたガスの空燃比も相当のリッチ空燃比となる。この場合、前記排気通路が第1の排気経路から第2の排気経路に切り替った直後に相当のリッチ空燃比のガス(酸素が相当に不足しているガス)が触媒に流入し、同触媒の酸素吸蔵量が急激に減少する。即ち、上記公報に開示された装置においては、触媒よりも上流の排気通路が第1の排気経路から第2の排気経路に切り替ったとき、上記第2の排気通路内に残留していたガスの状態により(ガス中の酸素の過不足量に応じて)触媒の酸素吸蔵量が急激に大きく変化する場合がある。
【0015】
そして、このように触媒の酸素吸蔵量が急激に大きく変化する場合、例えば、上記のような空燃比センサの出力に基く空燃比フィードバック制御を行うことにより触媒の酸素吸蔵量を適切な量になるように制御しようとしても、触媒の酸素吸蔵量は直ちに同適切な量に収束せず、ひいては、一時的に未燃成分や窒素酸化物を効率よく浄化することができなくなるという問題がある。
【0016】
従って、本発明の目的は、触媒上流の排気通路を長さが異なる2つの排気経路のいずれか一方に切替えて構成する内燃機関の排気浄化装置において、触媒の状態を良好に維持できるものを提供することにある。
【0017】
【本発明の概要】
本発明の第1の特徴は、排気ガスを浄化する触媒と、前記触媒が介装される排気通路であって、同触媒よりも上流の同排気通路には第1の排気経路と、同第1の排気経路よりも長い第2の排気経路とを有する内燃機関の排気通路と、前記排気ガスが前記第1の排気経路を介して前記触媒に流入するように前記排気通路が構成される第1の場合と、同排気ガスが少なくとも前記第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合のいずれか一方を前記内燃機関の運転状態に応じて選択するとともに、同排気通路が選択された場合に対応する構成となるように同排気通路を切替える排気通路切替手段と、前記触媒よりも下流の前記排気通路に配設された空燃比センサと、前記空燃比センサの出力が前記触媒の浄化効率が良好となる所定の目標値となるように、前記出力と前記目標値との偏差に比例ゲインを乗じた値と前記偏差の積算値に積分ゲインを乗じた値とを用いてフィードバック制御量を算出し、前記フィードバック制御量に基いて前記内燃機関の空燃比をフィードバック制御する空燃比フィードバック制御手段と、を備えた内燃機関の排気浄化装置が、前記排気通路切替手段により前記第2の場合が選択された場合、前記第1の場合が選択された場合に比して、前記比例ゲイン及び積分ゲインを小さい値に設定するフィードバック制御定数変更手段を備えたことにある。
【0018】
これによれば、内燃機関の運転状態(例えば、触媒の温度)に応じて、排気ガスが第1の排気経路を介して触媒に流入するように排気通路が構成される第1の場合と、同排気ガスが少なくとも同第1の排気経路よりも長い第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合(この場合、排気ガスの一部が第1の排気経路を通過する場合を含む。)のいずれか一方が選択され、排気通路が選択された場合に対応する構成となるように切替えられる。
【0019】
また、空燃比フィードバック制御手段により、触媒よりも下流の排気通路に配設された空燃比センサの出力が所定の目標値となるように機関の空燃比がフィードバック制御される。この目標値は、触媒の浄化効率が良好となるように、換言すれば、同触媒の酸素吸蔵量が適切な量になるように選ばれ、一般には、理論空燃比近傍の空燃比を示す値とされる。具体的には、前記出力と前記目標値との偏差に比例ゲインを乗じた値と前記偏差の積算値に積分ゲインを乗じた値とを用いてフィードバック制御量が算出され、前記フィードバック制御量に基いて機関の空燃比がフィードバック制御される。
【0020】
そして、かかる比例ゲイン及び積分ゲインは、上記第1の場合が選択されているときと上記第2の場合が選択されているときとで、異なる値に設定される。具体的には、排気ガスが第1の経路を通過する第1の場合が選択されているときは、制御のむだ時間が相対的に短くなるので比例ゲイン及び積分ゲインが大きめに設定されるとともに、排気ガスが同第1の経路よりも長い第2の経路を通過する第2の場合が選択されているときは、制御のむだ時間が相対的に長くなるので比例ゲイン及び積分ゲインが小さめに設定される。
【0021】
この結果、第1の場合が選択されているときには、制御の安定性を損なうことなく制御の応答性が向上するとともに、第2の場合が選択されているときには、制御の安定性を確保することができる。従って、第1の場合と第2の場合のどちらの場合が選択されていても、制御の応答性及び安定性を共にある程度良好に確保して空燃比センサの出力の上記目標値への収束性を良好に維持でき、ひいては、触媒の酸素吸蔵量の上記適切な量への収束性(触媒の状態)を良好に維持することができる。
【0022】
本発明の第2の特徴は、上記本発明の第1の特徴において、空燃比センサの代わりに、前記触媒における酸素の吸蔵・放出反応に着目するとともに、少なくとも前記触媒に流入する排気ガスの状態及び同触媒の酸素吸蔵量に基いて同触媒が内部に流入する排気ガスから吸蔵する酸素量及び内部に吸蔵している酸素から放出する酸素量を算出するモデルを使用して、少なくとも前記触媒の酸素吸蔵量に応じて変化する値を取得値として取得する取得値取得手段を備え、前記取得値が前記触媒の浄化効率が良好となる所定の目標値となるように同取得値に基いて前記内燃機関の空燃比をフィードバック制御する空燃比フィードバック制御手段とを備えた内燃機関の排気浄化装置において、前記取得値取得手段により用いられる前記モデルは、前記触媒よりも上流の前記排気通路を排気ガスが通過する際の通過時間をむだ時間として考慮して同触媒に流入する排気ガスの状態を取得するように構成されているとともに、前記排気通路切替手段により選択された場合に応じて前記むだ時間を変更するむだ時間変更手段を備えたことにある。
【0023】
ここにおいて、取得値取得手段が取得値として取得する「少なくとも触媒の酸素吸蔵量に応じて変化する値」は、例えば、触媒の酸素吸蔵量を示す値、後述するように触媒から流出する酸素の吸蔵・放出反応に関係する特定成分の流出量に応じた値であって上記モデルに基いて計算により得られる値である。
【0024】
これによれば、上記本発明の第1の特徴と同様、内燃機関の運転状態(例えば、触媒の温度)に応じて、排気ガスが第1の排気経路を介して触媒に流入するように排気通路が構成される第1の場合と、同排気ガスが少なくとも同第1の排気経路と長さが異なる第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合(この場合、排気ガスの一部が第1の排気経路を通過する場合を含む。)のいずれか一方が選択され、排気通路が選択された場合に対応する構成となるように切替えられる。
【0025】
また、空燃比フィードバック制御手段により、上記モデルに基いて計算される取得値(例えば、触媒の酸素吸蔵量を示す値)が所定の目標値となるように機関の空燃比がフィードバック制御される。この目標値は、触媒の浄化効率が良好となるように、換言すれば、同触媒の酸素吸蔵量が適切な量になるように選ばれ、例えば、取得値が触媒の酸素吸蔵量を示す値である場合には、触媒の最大酸素吸蔵量の半分程度の量を示す値とされる。
【0026】
そして、かかるモデルは、触媒よりも上流の排気通路を排気ガスが通過する際の通過時間をむだ時間として考慮して上記取得値を算出するとともに、上記第1の場合が選択されているときと上記第2の場合が選択されているときとで、同モデルが同取得値を算出する際に使用するむだ時間が異なる時間に設定される。従って、第1の場合と第2の場合のどちらの場合が選択されていても、実際の排気浄化装置の構成により決まる制御のむだ時間と上記モデルが取得値を算出する際に使用するむだ時間とを合致させることができる。
【0027】
この結果、上記モデルにより算出される取得値(例えば、触媒の酸素吸蔵量を示す値)は、実際の触媒が有する値に近い値となり得、同取得値に基いて実行される機関の空燃比のフィードバック制御により、実際の触媒が有する取得値に対応する量(例えば、実際の触媒の酸素吸蔵量)が正確に上記適切な量になるように制御され得る。従って、第1の場合と第2の場合のどちらの場合が選択されていても、触媒の状態を良好に維持することができる。
【0028】
なお、上記本発明の第2の特徴に係る排気浄化装置においては、前記排気通路切替手段により選択された場合に応じて前記空燃比フィードバック制御のフィードバック制御定数を変更するフィードバック制御定数変更手段を備えるように構成されることが好適である。
【0029】
また、上記本発明の第2の特徴に係る排気浄化装置においては、前記触媒の温度を取得する触媒温度取得手段を備え、前記取得値取得手段は、前記触媒温度取得手段により取得された前記触媒の温度に応じて変化する温度パラメータを使用した前記モデルにより前記取得値を取得するように構成されることが好適である。
【0030】
先に説明したように、触媒の酸素吸蔵放出機能による有害成分の浄化効率(浄化能力)は、触媒の温度に依存する。これは、主として触媒の酸素吸蔵放出反応の反応速度が触媒の温度により変化することによるものである。従って、上記のように、触媒の温度に応じて変化する温度パラメータを使用したモデルにより取得値を算出するように構成すれば、例えば、温度パラメータに応じて変化する触媒の酸素吸蔵放出反応の反応速度を考慮して同触媒の酸素吸蔵放出機能により同触媒が吸蔵・放出する酸素量が算出され得るので、同モデルは触媒の温度に拘わらず正確に取得値を算出することができ、この結果、より的確に触媒の状態を維持することができる。
【0031】
本発明の第3の特徴は、排気ガスを浄化する触媒と、前記触媒が介装される排気通路であって、同触媒よりも上流の同排気通路には第1の排気経路と、同第1の排気経路と長さが異なる第2の排気経路とを有する内燃機関の排気通路と、前記排気ガスが前記第1の排気経路を介して前記触媒に流入するように前記排気通路が構成される第1の場合と、同排気ガスが前記第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合のいずれか一方を前記内燃機関の運転状態に応じて選択するとともに、同排気通路が選択された場合に対応する構成となるように同排気通路を切替える排気通路切替手段と、を備えた内燃機関の排気浄化装置が、前記排気通路が前記第2の場合に対応する構成から第1の場合に対応する構成に切替えられる前に前記第2の排気経路に流入する排気ガスの状態に基いて、同排気経路が同第2の場合に対応する構成から第1の場合に対応する構成に切替えられた後に同第2の排気経路内に残留する残留ガス中の酸素の過不足量に応じた値を取得する残留ガス状態取得手段と、前記排気通路が前記第1の場合に対応する構成から第2の場合に対応する構成に切替えられた後に、前記残留ガス中の酸素の過不足量に応じた値に応じて前記触媒の浄化効率を良好とするための特定排気ガスが発生するように前記内燃機関の空燃比を制御する特定排気ガス発生手段とを備えたことにある。ここにおいて、第1の排気経路と第2の排気経路とは同一の長さであってもよい。
【0032】
これによれば、残留ガス状態取得手段により、排気経路が第1の場合に対応する構成になっている間に第2の排気経路内に残留している残留ガス中の酸素の過不足量(残量ガスの空燃比が理論空燃比であるときの同残留ガス中の酸素量に対する酸素の過剰量又は不足量)に応じた値が取得される。そして、排気通路が第1の場合に対応する構成から第2の場合に対応する構成に切替えられた後に、特定排気ガス発生手段により、前記残留ガス中の酸素の過不足量に応じた値に応じて触媒の浄化効率を良好とするための特定排気ガスが発生せしめられ、同特定排気ガスが触媒に流入する。
【0033】
従って、排気通路が第1の場合に対応する構成から第2の場合に対応する構成に切替えられたとき、触媒には、まず初めに第2の排気経路内に残留していた残留ガスが流入し、その後に上記特定排気ガスが流入することになる。この結果、上記残留ガス中の酸素の過不足量に応じて触媒の酸素吸蔵量が急激に大きく変化しても、その後に直ちに触媒の浄化効率が良好となるように、即ち、触媒の酸素吸蔵量が適切な量になるように同触媒の酸素吸蔵量が調整され得る。従って、排気通路が第1の場合に対応する構成から第2の場合に対応する構成に切替えられた直後において、触媒の状態を良好に維持することができる。
【0034】
【発明の実施の形態】
(第1実施形態)
以下、本発明による内燃機関の排気浄化装置の各実施形態について図面を参照しつつ、先ず、第1実施形態から説明する。図1は、本発明の第1実施形態に係る内燃機関の排気浄化装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。
【0035】
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
【0036】
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
【0037】
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38、及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
【0038】
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43、及びスロットル弁駆動手段を構成するDCモータからなるスロットル弁アクチュエータ43aを備えている。
【0039】
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ(排気管)52、エキゾーストパイプ52に配設(介装)された触媒(三元触媒)53、エキゾーストパイプ52の分岐点52aにて同エキゾーストパイプ52から分岐するとともに同エキゾーストパイプ52の合流点52bにて同エキゾーストパイプ52に合流する触媒冷却用パイプ54、エキゾーストパイプ52の分岐点52aと合流点52bの間のエキゾーストパイプ52に介装された常開型電磁式開閉弁55、エキゾーストパイプ52の分岐点52a近傍の触媒冷却用パイプ54に介装された上流側常閉型電磁式開閉弁56、及びエキゾーストパイプ52の合流点52b近傍の触媒冷却用パイプ54に介装された下流側常閉型電磁式開閉弁57を備えている。
【0040】
ここで、エキゾーストパイプ52の分岐点52aと合流点52bの間のエキゾーストパイプ52は第1の排気経路に対応し、触媒冷却用パイプ54は同第1の排気経路よりも長い第2の排気経路に対応している。第1の排気経路の断面積と第2の排気経路の断面積とは略同一となっている。また、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57が共に非励磁とされているときには、排気ポート34、エキゾーストマニホールド51、及びエキゾーストパイプ52により短い排気通路(以下、「排気通路A」と称呼する。)が構成されるようになっており、この状態における作動を通常モード(第1の場合)における作動と呼ぶ。
【0041】
一方、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57が共に励磁されているときには、排気ポート34、エキゾーストマニホールド51、エキゾーストパイプ52の分岐点52aよりも上流部分、触媒冷却用パイプ54、及びエキゾーストパイプ52の合流点52bよりも下流部分により長い排気通路(以下、「排気通路B」と称呼する。)が構成されるようになっており、この状態における作動を触媒冷却モード(第2の場合)における作動と呼ぶ。
【0042】
一方、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、水温センサ65、触媒53の上流の排気通路に配設された空燃比センサ66(以下、「触媒上流空燃比センサ66」と称呼する。)、触媒53の下流の排気通路に配設された空燃比センサ67(以下、「触媒下流空燃比センサ67」と称呼する。)、触媒温度取得手段としての触媒温度センサ68、及びアクセル開度センサ69を備えている。
【0043】
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の質量流量に応じた電圧Vgを出力するようになっている。かかるエアフローメータ61の出力Vgと、計測された吸入空気量(流量)AFMとの関係は、図2に示したとおりである。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ63は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【0044】
触媒上流空燃比センサ66は、図3に示したように、空燃比A/Fに応じた電流を出力し、この電流に応じた電圧vabyfsを出力するようになっている。図3から明らかなように、触媒上流空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。触媒下流空燃比センサ67は、図4に示したように、理論空燃比において急変する電圧Voxsを出力するようになっている。より具体的に述べると、触媒下流空燃比センサ67は、空燃比が理論空燃比よりもリーンのときは略0.1(V)、空燃比が理論空燃比よりもリッチのときは略0.9(V)、及び空燃比が理論空燃比のときは略0.5(V)の電圧を出力するようになっている。触媒温度センサ68は、触媒53の温度を検出し、触媒温度Tを表す信号を出力するようになっている。アクセル開度センサ69は、運転者によって操作されるアクセルペダル81の操作量を検出し、同アクセルペダル81の操作量Accpを表す信号を出力するようになっている。
【0045】
更に、このシステムは電気制御装置70を備えている。電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM74、及びADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜69と接続され、CPU71にセンサ61〜69からの信号を供給するとともに、同CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57に駆動信号を送出するようになっている。
【0046】
(排気通路切替処理の概要)
ところで、三元触媒53は、空燃比がほぼ理論空燃比のときに未燃成分(HC,CO)を酸化するとともに、窒素酸化物(NOx)を還元する酸化還元機能を有する。更に、三元触媒53は、酸素を吸蔵・放出する酸素吸蔵放出機能を有し、この酸素吸蔵放出機能により、空燃比が理論空燃比から偏移したとしても、HC,CO、及びNOxを浄化することができる。このような機能は、三元触媒53が有するセリウムCeによって達成される。
【0047】
より具体的に述べると、セリウムCeは金属単体の状態であると不安定であり、酸素が結合するとセリアCeO2となって安定する。従って、空燃比が理論空燃比よりもリーンであって、触媒53内に酸素分子(窒素酸化物の酸素を含む。)が流入すると、セリウムCeは酸素を奪ってセリアCeO2となる(本明細書において、この反応を「酸素吸蔵反応」と称呼する。)。一方、空燃比が理論空燃比よりもリッチであって、触媒53内に未燃HC,COが流入すると、これら未燃HC,COはセリアCeO2から酸素を奪う。この結果、セリアCeO2は、再び不安定なセリウムCeとなる(本明細書において、この反応を「酸素放出反応」と称呼する。)。
【0048】
このように、空燃比がリーンになると排気ガスに含まれる酸素分子が奪われるので、同排気ガス中に含まれるNOxが還元される。また、空燃比がリッチになると排気ガスに含まれるHC,COがセリアCeO2から酸素を奪うので、同HC,COが酸化される。以上により、触媒53は、空燃比が理論空燃比より偏移しても、HC,CO、及びNOxを浄化することができる。
【0049】
このような触媒の酸化還元機能及び酸素吸蔵放出機能による有害成分の浄化効率(浄化能力)は、触媒温度Tに依存し、触媒温度Tを最適温度幅(下限値T1(例えば、800℃)〜上限値T2(例えば、900℃))内に維持すれば同浄化効率(浄化能力)を良好な値に維持することができる。
【0050】
本実施形態の排気浄化装置は、このような知見に基き、以下のような排気通路切替処理を行う。即ち、本装置は機関始動時以降、触媒温度センサ68により得られる触媒温度Tが最適温度幅の上限値T2以下にある間、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57を総て非励磁状態に設定することにより通常モードの状態とする。これにより、排気ガスは短い排気通路Aを介して触媒53に流入する。
【0051】
そして、本装置が上記通常モードの状態にある場合において、触媒温度センサ68により得られる触媒温度Tが最適温度幅の上限値T2を超えたとき、本装置は常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57を総て励磁状態に設定する(切替える)ことにより触媒冷却モードの状態とする。これにより、排気ガスは排気通路Aよりも長い触媒冷却用の排気通路Bを介して触媒53に流入するようになり、自然放熱により排気ガスの熱が多量に外部に放出されるので、触媒53に流入する排気ガスの温度が低くなる。この結果、触媒温度Tが低減される。
【0052】
一方、本装置が上記触媒冷却モードの状態にある場合において、触媒温度センサ68により得られる触媒温度Tが最適温度幅の下限値T1を下回ったとき、本装置は常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57を総て非励磁状態に再設定することにより通常モードの状態とする。これにより、排気ガスは再び短い排気通路Aを介して触媒53に流入するようになり、自然放熱により外部に放出される排気ガスの熱量が小さくなるので、触媒53に流入する排気ガスの温度が高くなる。この結果、触媒温度Tが増大される。
【0053】
このようにして、本装置は、内燃機関の運転状態としての触媒温度Tに応じて通常モードと触媒冷却モードのいずれか一方を選択するとともに、排気通路が選択されたモードに対応する構成(排気通路Aと排気通路Bのいずれか一方)になるように同排気通路を切替えることにより、触媒温度Tを最適温度幅内(T1≦T≦T2)に維持する。以上が、排気通路切替処理の概要である。
【0054】
(空燃比フィードバック制御(サブフィードバック制御)の概要)
触媒53がHC,COを効率的に浄化するためには、触媒53が酸素を貯蔵していなければならず(吸蔵している酸素を放出する余裕を有していなければならず)、NOxを効率的に浄化するためには、触媒53が酸素を貯蔵し得る状態(即ち、触媒53の実際の酸素吸蔵量が同触媒53の最大酸素吸蔵量以下である状態)になければならない(内部に酸素を吸蔵する余裕を有していなければならない)ことになる。
【0055】
一方、機関の空燃比は同機関の運転状態等に応じてリッチ、又はリーンとなり、同空燃比がリッチ又はリーンの何れとなるかを予測することは困難である。従って、HC,CO,及びNOxを排出しないようにするためには、通常、触媒53の酸素吸蔵量が同触媒53の最大酸素吸蔵量の半分程度の量に維持されていることが好ましい。
【0056】
また、触媒53から排出されるガスの空燃比は、触媒の酸素吸蔵量が「0」近傍に近づくほどリッチとなり、触媒53の酸素吸蔵量が最大酸素吸蔵量の近傍に近づくほどリーンとなる傾向がある。従って、触媒53から排出されるガスの空燃比が理論空燃比に極めて近い状態となるように機関の空燃比を制御すれば、触媒53の酸素吸蔵量が最大酸素吸蔵量の半分程度の量になるように制御されることになる。
【0057】
そこで、本実施形態の排気浄化装置は、触媒下流空燃比センサ67の出力が同触媒53の浄化効率が良好となる所定の目標値としての理論空燃比に略相当する目標値Voxsrefとなるように、触媒下流空燃比センサ67の出力Voxsに応じて機関10に供給される混合気の空燃比(即ち、機関の空燃比)を制御する(本実施形態では、触媒上流空燃比センサ66の出力vabyfsにも応じて空燃比をフィードバック制御する)。
【0058】
より具体的に述べると、本装置は、触媒下流空燃比センサ67の出力が理論空燃比よりリーンの空燃比を表す値となると、理論空燃比に略相当する目標値Voxsrefから触媒下流空燃比センサ67の出力値Voxsを減じた値である偏差を比例・積分処理(PI処理)してサブフィードバック制御量vafsfbを求め、同サブフィードバック制御量vafsfb分だけ触媒上流空燃比センサ66の出力vabyfsを補正する。これにより、機関の実際の空燃比が、同触媒上流空燃比センサ66の検出空燃比よりも見かけ上リーン側であるように設定される。
【0059】
そして、本装置は、その補正した見かけ上の空燃比が理論空燃比である目標空燃比abyfrと等しくなるように、機関に供給する燃料量(燃料噴射量)を調整するためのフィードバック制御量DFiを算出するとともに、機関の一吸気行程における筒内吸入空気量に相当する値Mcを理論空燃比で除した値(即ち、基本燃料噴射量Fbase)を前記算出したフィードバック補正量DFiにより補正し、その補正した燃料噴射量をインジェクタ39から噴射することで、機関の空燃比のフィードバック制御を実行する。
【0060】
同様に、本装置は、触媒下流空燃比センサ67の出力が理論空燃比よりリッチの空燃比を表す値となると、理論空燃比に略相当する目標値Voxsrefから触媒下流空燃比センサ67の出力値Voxsを減じた値である偏差を比例・積分処理(PI処理)してサブフィードバック制御量vafsfbを求め、同サブフィードバック制御量vafsfb分だけ触媒上流空燃比センサ66の出力vabyfsを補正し、これにより、機関の実際の空燃比が、同触媒上流空燃比センサ66の検出空燃比よりも見かけ上リッチ側であるように設定されて、その補正した見かけ上の空燃比が理論空燃比である目標空燃比abyfrとなるように機関の空燃比をフィードバック制御する。以上により、触媒53の下流の空燃比が理論空燃比と一致するようにフィードバック制御される。
【0061】
ところで、機関10の気筒内で発生した排気ガスが触媒下流空燃比センサ67に到達するまでには同気筒から同触媒下流空燃比センサ67までの排気通路の距離に応じた所定の時間が必要である。従って、機関の空燃比の変化が触媒下流空燃比センサ67の出力値Voxsに反映されるまでにも所定の時間が必要である。この結果、上記のような触媒下流空燃比センサ67の出力に基くサブフィードバック制御においては、触媒53よりも上流の排気通路の長さに応じた制御のむだ時間が不可避的に存在する。よって、本装置においては、短い排気通路Aが構成される通常モードが選択されている場合には上記サブフィードバック制御における制御のむだ時間が短くなり、長い排気通路Bが構成される触媒冷却モードが選択されている場合には同制御のむだ時間が長くなる。
【0062】
ここで、一般に、上記のようなフィードバック制御では、比例ゲイン及び積分ゲインを大きくすると、その応答性が向上する。しかしながら、特に、上記のように制御のむだ時間が存在する場合、比例ゲイン及び積分ゲインを大きくすると、制御のむだ時間が長くなるにつれてその安定性が低下することが知られている。
【0063】
以上のことから、本装置は、上記サブフィードバック制御における制御の応答性及び安定性を共にある程度良好に確保して触媒下流空燃比センサ67の出力値Voxsの上記目標値Voxsrefへの収束性を最適化するため(即ち、触媒53の酸素吸蔵量の最大酸素吸蔵量の半分程度の量への収束性を最適化するため)、上記したサブフィードバック制御量vafsfbを算出する際に使用するフィードバック制御定数としての比例ゲインKpの値及び積分ゲインKiの値の各々を選択されているモードに応じて変更する。
【0064】
具体的には、本装置は、図5に示すように、短い排気通路Aが構成される通常モードが選択されている場合においては、制御のむだ時間が短いので、比例ゲインの値及び積分ゲインの値を共に大きめ(の正の値)に設定する。これにより、制御の安定性が損なわれることなく制御の応答性が向上する。一方、長い排気通路Bが構成される触媒冷却モードが選択されている場合においては、制御のむだ時間が長いので、比例ゲインの値及び積分ゲインの値を共に小さめ(の正の値)に設定する。これにより、少なくとも制御の安定性が確保される。以上が、サブフィードバック制御の概要である。
【0065】
(触媒冷却モード・通常モード間移行処理)
本実施形態の排気浄化装置においては、触媒冷却モードから通常モードに切り替ったとき、上流側常閉型電磁式開閉弁56及び下流側常閉型電磁式開閉弁57が閉弁されるので、その時点で触媒冷却用パイプ54の内壁面、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57により画定される密閉した空間(以下、「密閉空間」と称呼する。)内に存在していたガスが同密閉空間内に残留する。
【0066】
そして、その後に通常モードから触媒冷却モードに切り替ったときには、通常モード継続中において上記密閉空間内に残留していた残留ガスが初めに触媒53に流入する。従って、この残留ガスの状態により(ガス中の酸素の過不足量に応じて)触媒53の酸素吸蔵量が急激に大きく変化する場合がある。このため、本装置は、上記残留ガスの流入により触媒53の酸素吸蔵量が急激に大きく変化したとき、直ちに同酸素吸蔵量を適切な量(最大酸素吸蔵量の半分程度の量)に回復させるため、触媒冷却モードから通常モードへの切替え直前、及び通常モードから触媒冷却モードへの切替え直後において上記サブフィードバック制御を一時的に中断し、以下に述べる触媒冷却モード・通常モード間移行処理を行う。
【0067】
まず、この触媒冷却モード・通常モード間移行処理の効果を説明するための準備として、本装置において同触媒冷却モード・通常モード間移行処理が実行されないと仮定した場合、即ち上記サブフィードバック制御が常に実行されていると仮定した場合における気筒流出ガスの空燃比(機関の空燃比)、触媒53に流入するガスの空燃比、及び触媒53の酸素吸蔵量の変化の一例について図6(A)〜(C)に示したタイムチャートを参照しながら説明する。
【0068】
図6(A)に示したように、触媒冷却モードから通常モードに切り替る時刻t3の直前に、加減速運転等により気筒流出ガスの空燃比(機関の空燃比)が一時的に相当のリッチ空燃比になったと仮定する(破線aで囲まれた部分を参照)。この場合、時刻t3になると、この相当のリッチ空燃比のガスのほとんどが触媒冷却用パイプ54内に到達し、同触媒冷却用パイプ54内に存在した状態で上流側常閉型電磁式開閉弁56及び下流側常閉型電磁式開閉弁57が閉弁される。よって、相当のリッチ空燃比の残留ガスが密閉空間内に残留したままの状態で通常モードにおける作動が開始される。
【0069】
従って、図6(B)に示したように、かかる相当のリッチ空燃比のガスは時刻t3の前後において触媒53に流入しないので、図6(C)に示したように、時刻t0から通常モードが終了する時刻t4までの期間において、触媒53の酸素吸蔵量は上記サブフィードバック制御により最大酸素吸蔵量Cmaxの半分程度の量の近傍で推移する。
【0070】
そして、時刻t4になると、通常モードから触媒冷却モードに切り替り、上流側常閉型電磁式開閉弁56及び下流側常閉型電磁式開閉弁57が開弁されるので、図6(B)に示したように、その直後に、密閉空間内に残留していた上記相当のリッチ空燃比の残留ガスが初めに触媒53に流入する(破線bで囲まれた部分を参照)。これにより、図6(C)に示したように、時刻t4の直後において触媒53の酸素吸蔵量が急激に大きく減少し、その後、上記サブフィードバック制御により触媒53の酸素吸蔵量を適切な量(最大酸素吸蔵量Cmaxの半分程度の量)になるように制御しようとしても、触媒53の酸素吸蔵量は直ちに同適切な量には回復しない(破線cで囲まれた部分を参照)。
【0071】
次に、本装置のように、触媒冷却モード・通常モード間移行処理が実行される場合における気筒流出ガスの空燃比(機関の空燃比)、触媒53に流入するガスの空燃比、及び触媒53の酸素吸蔵量の変化の一例について図6(D)〜(F)に示したタイムチャートを参照しながら説明する。
【0072】
触媒冷却モードにおける作動がサブフィードバック制御下にて継続している状態(触媒温度Tが最適温度幅の範囲内にある状態)において、時刻t1になると、触媒53の温度Tが最適温度幅の下限値T1を下回ったと仮定する。この場合、本装置は、直ちに触媒冷却モードから通常モードに切替えず、図6(D)に示したように、第1所定時間(時刻t1〜時刻t2の期間)だけサブフィードバック制御を中断して機関の空燃比を所定のリッチ空燃比abyfRになるように強制的に制御するとともに、その後サブフィードバック制御を再開し、第2所定時間(時刻t2〜時刻t3の期間)が経過した時刻t3になると、触媒冷却モードから通常モードに切替える。
【0073】
ここで、本装置は、第1所定時間を、上記リッチ空燃比abyfRの排気ガスの総排出量(体積)が密閉空間の容積に達するまでの時間として設定する。具体的には、本装置は、リッチ空燃比abyfRの排気ガスが排出開始された時刻t1において、吸入空気量AFMに一次遅れ処理を施した値(吸入空気量に応じた値)と、エンジン回転速度NEの値及びスロットル弁開度TAの値の各々の現時点までの履歴により推定される排気ガス温度とに基いた関数であるf1(AFM,NE,TA)により、時刻t1における機関の運転状態に応じた第1所定時間を設定する。
【0074】
また、本装置は、第2所定時間を、サブフィードバック制御再開後の排気ガスの総排出量(体積)が排気通路Bにおけるエキゾーストパイプ52の分岐点52aよりも上流部分の容積に達するまでの時間として設定する。具体的には、本装置は、サブフィードバック制御再開後の排気ガスが排出開始された時刻t2において、吸入空気量AFMに一次遅れ処理を施した値(吸入空気量に応じた値)と、エンジン回転速度NEの値及びスロットル弁開度TAの値の各々の現時点までの履歴により推定される排気ガス温度とに基いた関数であるf2(AFM,NE,TA)により、時刻t2における機関の運転状態に応じた第2所定時間を設定する。
【0075】
これにより、第2所定時間が経過する時刻t3になるまでは、上記リッチ空燃比abyfRの排気ガスの先頭部分が下流側常閉型電磁式開閉弁57に到達しないので同リッチ空燃比abyfRの排気ガスが排出開始される時刻t1以前に排出されていたサブフィードバック制御下の排気ガスが触媒53に流入する。
【0076】
また、第2所定時間経過時である時刻t3になると、第1所定時間にわたり排出されたリッチ空燃比abyfRの排気ガスの先頭部分が下流側常閉型電磁式開閉弁57に到達して、同リッチ空燃比abyfRの排気ガスの総てが密閉空間となる空間内に存在するようになるとともに、サブフィードバック制御再開後の排気ガスが排気通路Bにおけるエキゾーストパイプ52の分岐点52aよりも上流部分に存在するようになる。そして、このとき、上流側常閉型電磁式開閉弁56及び下流側常閉型電磁式開閉弁57が閉弁されることによりリッチ空燃比abyfRの排気ガスの総てが密閉空間内に密閉されて同密閉空間内に残留するとともに、常開型電磁式開閉弁55が開弁されることにより時刻t3以降においても継続してサブフィードバック制御再開後の排気ガスが触媒53に流入する。
【0077】
従って、図6(E)に示したように、リッチ空燃比abyfRのガスは時刻t3の前後において触媒53に流入せず、図6(F)に示したように、時刻t0から通常モードが終了する時刻t4までの期間において、触媒53の酸素吸蔵量は上記サブフィードバック制御により最大酸素吸蔵量Cmaxの半分程度の量の近傍で推移する。
【0078】
一方、本装置は、第1所定時間(時刻t1〜時刻t2の期間)において、上記のように時刻t3以降において密閉空間内に残留することになるリッチ空燃比abyfRの排気ガスの全体の中の酸素の不足量(正の値)を酸素の不足量TotalO2として以下のように推定する。即ち、リッチ空燃比abyfRの排気ガスが排出されていた時刻t1から時刻t2までの間、下記数1、及び下記数2に基いて所定時間(計算周期tsample)あたりに排出されるリッチ空燃比abyfRの排気ガス中の酸素の不足量DO2を算出するとともにこれを積算し、同時刻t2での積算値をリッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2として算出する。
【0079】
【数1】
DO2=0.23・mfr2・(stoich − abyfR)
【0080】
【数2】
TotalO2=ΣDO2(区間t=t1〜t2)
【0081】
上記数1において、値「0.23」は大気中に含まれる酸素の重量割合である。mfr2は所定時間(計算周期tsample)内の燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。
【0082】
この数1に示したように、所定時間tsample内の噴射量の合計量mfr2に、リッチ空燃比abyfRの理論空燃比からの偏移(stoich − abyfR)を乗じることで、同所定時間tsampleにおける空気の不足量が求められ、この空気の不足量に酸素の重量割合を乗じることで同所定時間tsampleにおけるリッチ空燃比abyfRの排気ガス中の酸素の不足量DO2が求められる。そして、数2に示したように、所定時間tsampleにおけるリッチ空燃比abyfRの排気ガス中の酸素の不足量DO2を時刻t1〜t2に渡って積算することで、リッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2が推定・算出される。
【0083】
時刻t3以降、通常モードにおける作動がサブフィードバック制御下にて継続している状態(触媒温度Tが最適温度幅の範囲内にある状態)において、時刻t4になると、触媒53の温度Tが最適温度幅の上限値T2を上回ったと仮定する。この場合、本装置は、時刻t4において直ちに通常モードから触媒冷却モードに切替えるとともに、図6(D)に示したように、第3所定時間(時刻t4〜時刻t5の期間)だけサブフィードバック制御を中断して機関の空燃比を所定のリーン空燃比abyfLになるように強制的に制御し、その後サブフィードバック制御を再開する。
【0084】
ここで、第3所定時間は、上記リーン空燃比abyfLの排気ガス(特定排気ガス)中の酸素の過剰量(正の値)が前記リッチ空燃比abyfRの排気ガスの全体の中の酸素の不足量TotalO2に達するまでの時間である。具体的には、本装置は、リーン空燃比abyfLの排気ガスが排出開始される時刻t4以降、下記数3、及び下記数4に基いて所定時間(計算周期tsample)あたりに排出されるリーン空燃比abyfLの排気ガス中の酸素の過剰量DO2(正の値)を算出するとともにこれを積算していき、この積算値SDO2が上記酸素の不足量TotalO2(正の値)以上となる時点である時刻t5まで機関の空燃比をリーン空燃比abyfLに維持し、時刻t5にてサブフィードバック制御を再開する。
【0085】
【数3】
DO2=0.23・mfr2・(abyfL − stoich)
【0086】
【数4】
SDO2=ΣDO2(t4以降)
【0087】
この数3に示したように、所定時間tsample内の噴射量の合計量mfr2に、リーン空燃比abyfLの理論空燃比からの偏移(abyfL−stoich)を乗じることで、同所定時間tsampleにおける空気の過剰量が求められ、この空気の過剰量に酸素の重量割合を乗じることで同所定時間tsampleにおけるリーン空燃比abyfLの排気ガス中の酸素の過剰量DO2が求められる。そして、数4に示したように、所定時間tsampleにおけるリーン空燃比abyfLの排気ガス中の酸素の過剰量DO2を時刻t4以降積算していくことで、積算値SDO2が上記酸素の不足量TotalO2以上となる時点である時刻t5が決定される。
【0088】
以上説明した作動により、時刻t4になると、通常モードから触媒冷却モードに切り替り、上流側常閉型電磁式開閉弁56及び下流側常閉型電磁式開閉弁57が開弁されるので、図6(E)に示したように、その直後に、密閉空間内に残留していた上記リッチ空燃比abyfRの残留ガスが初めに触媒53に流入する一方で、上記リッチ空燃比abyfRの排気ガスに続いて上記リーン空燃比abyfLの排気ガスが触媒53に流入する(破線dで囲まれた部分を参照)。
【0089】
これにより、図6(F)に示したように、時刻t4の直後において上記リッチ空燃比abyfRの排気ガス中の酸素の不足量TotalO2分だけ触媒53の酸素吸蔵量が減少する一方で、その直後に、上記リーン空燃比abyfLの排気ガス中の酸素の過剰量分だけ触媒53の酸素吸蔵量が増加する。
【0090】
ここで、上記リッチ空燃比abyfRの排気ガス中の酸素の不足量TotalO2と上記リーン空燃比abyfLの排気ガス中の酸素の過剰量とは同量であるので、この結果、上記リーン空燃比abyfLの排気ガスの全体(排気ガスの末尾部分)が触媒53に流入した時点である時刻t6にて、触媒53の酸素吸蔵量は時刻t4時点での量(最大酸素吸蔵量Cmaxの半分程度の量)まで直ちに回復し、その後も、時刻t5以降再開されているサブフィードバック制御により最大酸素吸蔵量Cmaxの半分程度の量の近傍で推移する(破線eで囲まれた部分を参照)。以上が、触媒冷却モード・通常モード間移行処理の概要である。
【0091】
<実際の作動>
次に、上記のように構成された本発明による第1実施形態に係る排気浄化装置の実際の作動について、電気制御装置70のCPU71が実行するルーチン(プログラム)をフローチャートにより示した図7〜図12を参照しながら説明する。
【0092】
(空燃比フィードバック制御)
CPU71は、図7に示した最終燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71はステップ700から処理を開始してステップ705に進み、エアフローメータ61により計測された吸入空気量AFMと、エンジン回転速度NEとに基いて、機関の空燃比を理論空燃比とするための基本燃料噴射量Fbaseをマップから求める。
【0093】
次いで、CPU71はステップ710に進み、基本燃料噴射量Fbaseに係数Kを乗じた値に後述するメインフィードバック制御量DFiを加えた値を最終燃料噴射量Fiとして設定する。この係数Kの値は、通常は「1.00」であり、後述するように、触媒冷却モード・通常モード間移行処理における上記第1所定時間及び第3所定時間の間、機関の空燃比が強制的に変更せしめられるとき、「1.00」以外の所定値に設定される。
【0094】
次いで、CPU71はステップ715に進み、同ステップ715にて同最終燃料噴射量Fiの燃料を噴射するための指示をインジェクタ39に対して行う。その後、CPU71はステップ720に進み、その時点の燃料噴射量合計量mfrに最終燃料噴射量Fiを加えた値を、新たな燃料噴射量積算値mfrに設定するとともに、続くステップ725に進んで、その時点の燃料噴射量合計量mfr1に最終燃料噴射量Fiを加えた値を、新たな燃料噴射量積算値mfr1に設定するとともに、さらに続くステップ730に進んで、その時点の燃料噴射量合計量mfr2に最終燃料噴射量Fiを加えた値を、新たな燃料噴射量積算値mfr2に設定する。
【0095】
この燃料噴射量積算値mfr、燃料噴射量積算値mfr1、及び燃料噴射量積算値mfr2は、後述する酸素吸蔵量の算出等の際に用いられる。その後、CPU71はステップ795に進み、本ルーチンを一旦終了する。以上により、フィードバック補正された最終燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【0096】
次に、上記メインフィードバック制御量DFiの算出について説明すると、CPU71は図8に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ800から処理を開始し、ステップ805に進んで空燃比フィードバック制御条件(メインフィードバック条件)が成立しているか否かを判定する。
【0097】
空燃比フィードバック制御条件は、例えば、機関の冷却水温THWが第1所定温度以上であり、機関の一回転当りの吸入空気量(負荷)が所定値以下であり、触媒上流空燃比センサ66が正常であり、且つ、後述する特定排気ガス発生制御実行中フラグCONTの値が「0」のときに成立する。なお、特定排気ガス発生制御実行中フラグCONTは、後述するように、その値が「1」のときリッチ空燃比abyfRの排気ガスを発生させるために強制的に空燃比をリッチ空燃比abyfRに変更する空燃比制御(以下、「リッチ排気ガス発生制御」と称呼する。)を実行していることを示し(図6の第1所定時間(時刻t1〜t2)に対応する。)、その値が「2」のときリーン空燃比abyfLの排気ガスを発生させるために強制的に空燃比をリーン空燃比abyfLに変更する空燃比制御(以下、「リーン排気ガス発生制御」と称呼する。)を実行していることを示し(図6の第3所定時間(時刻t4〜t5)に対応する。)、その値が「0」のとき上記リッチ排気ガス発生制御及び上記リーン排気ガス発生制御を共に実行していないことを示す。
【0098】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ805にて「Yes」と判定してステップ810に進み、現時点の触媒上流空燃比センサ66の出力vabyfsと後述するサブフィードバック制御量vafsfbとの和(vabyfs+vafsfb)を図3に示したマップに基いて変換することにより、現時点におけるメインフィードバック制御用空燃比abyfs1を求める。このメインフィードバック制御用空燃比abyfs1が、触媒上流空燃比センサ66の出力をサブフィードバック制御量vafsfbにより補正した触媒53の上流における上記「見かけ上の空燃比」である。
【0099】
次に、CPU71はステップ815に進み、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めたメインフィードバック制御用空燃比abyfs1で除することにより、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求める。値Nは、内燃機関の排気量、燃焼室25から触媒上流空燃比センサ66までの距離等により異なる値である。
【0100】
このように、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)をメインフィードバック制御用空燃比abyfs1で除するのは、燃焼室25内で燃焼された混合気が触媒上流空燃比センサ66に到達するまでには、Nストロークに相当する時間を要しているからである。なお、筒内吸入空気量Mcは、各気筒の吸気行程毎に、その時点のエアフローメータ61の出力AFMと、エンジン回転速度NEとに基いて求められ(例えば、エアフローメータ61の出力AFMに一次遅れ処理を施した値をエンジン回転速度NEで除することにより求められ)、各吸気行程に対応してRAM73内に記憶されている。
【0101】
次いで、CPU71はステップ820に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点における目標空燃比abyfr(k−N)(この例では、理論空燃比)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。そして、CPU71はステップ825に進んで目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU71はステップ830に進み、下記数5に基いてメインフィードバック制御量DFiを求める。
【0102】
【数5】
DFi=(Gp・DFc+Gi・SDFc)・KFB
【0103】
上記数5において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、数5の係数KFBはエンジン回転速度NE、及び筒内吸入空気量Mc等により可変とすることが好適であるが、ここでは「1」としている。また、値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ835にて更新される。即ち、CPU71は、ステップ835にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ825にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求め、ステップ895にて本ルーチンを一旦終了する。
【0104】
以上により、メインフィードバック制御量DFiが比例積分制御により求められ、このメインフィードバック制御量DFiが前述した図7のステップ710、及びステップ715により燃料噴射量に反映されるので、Nストローク前の燃料供給量の過不足が補償され、空燃比の平均値が目標空燃比abyfrと略一致せしめられる。
【0105】
一方、ステップ805の判定時において、空燃比フィードバック制御条件が不成立であると、CPU71は同ステップ805にて「No」と判定してステップ840に進み、空燃比フィードバック補正量DFiの値を「0」に設定し、ステップ895に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるとき(特定排気ガス発生制御実行中を含む)は、触媒上流空燃比センサ66の出力vabyfs、及びサブフィードバック制御量vafsfbにかかわらず、メインフィードバック制御量DFiを「0」として空燃比(フィードフォワード燃料供給量=K・Fbase)の補正を行わない。
【0106】
次に、触媒下流空燃比センサ67の出力Voxsに基く空燃比フィードバック制御(サブフィードバック制御)について説明する。このサブフィードバック制御により、サブフィードバック制御量vafsfbが算出される。
【0107】
CPU71は、サブフィードバック制御量vafsfbを求めるために、図9に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU71はステップ900から処理を開始し、ステップ905に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ805での空燃比フィードバック制御条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上のとき、及び触媒下流空燃比センサ67が正常であるときに成立する。
【0108】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ905にて「Yes」と判定してステップ910に進み、図5に示したテーブルと同様のテーブルであるステップ910内に記載のテーブルと、後述する触媒冷却モード実行中フラグCOLDの値(「1」又は「0」)とに基いてサブフィードバック制御における比例ゲインKpの値及び積分ゲインKiの値を選択する。なお、触媒冷却モード実行中フラグCOLDは、後述するように、その値が「1」のとき触媒冷却モードを実行していることを示し、その値が「0」のとき通常モードを実行していることを示す。ここで、ステップ910は、フィードバック制御定数変更手段に対応している。
【0109】
次に、CPU71はステップ915に進んで、所定の目標値Voxsrefから現時点の触媒下流空燃比センサ67の出力Voxsを減じることにより、出力偏差量DVoxsを求める。この目標値Voxsrefは、略理論空燃比に対応した値に設定されている。次いで、CPU71はステップ920に進み、下記数6に基いてサブフィードバック制御量vafsfbを求める。
【0110】
【数6】
vafsfb=Kp・DVoxs+Ki・SDVoxs
【0111】
上記数6において、Kpはステップ910にて設定された比例ゲイン(比例定数)、Kiはステップ910にて設定された積分ゲイン(積分定数)である。また、SDVoxsは、出力偏差量DVoxsの積分値であって、次のステップ925にて更新される値である。即ち、CPU71は、ステップ925に進むと、その時点における出力偏差量の積分値SDVoxsに上記ステップ915にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、その後、ステップ995に進んで本ルーチンを一旦終了する。
【0112】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は前述した図8のステップ810にて触媒上流空燃比センサ66の実際の出力vabyfsに加えられ、その和(vabyfs + vafsfb)がROM内に格納した図3に示したマップに基いてメインフィードバック制御用空燃比abyfs1に変換される。換言すると、触媒下流空燃比センサ67の出力Voxsに基いて求められるメインフィードバック制御用空燃比abyfs1は、触媒上流空燃比センサ66が実際に検出している空燃比vabyfsに対して、サブフィードバック制御量vafsfbに相当する分だけ異なる空燃比として求められる。
【0113】
この結果、前述した図8のステップ815にて計算される筒内燃料供給量Fc(k−N)が触媒下流空燃比センサ67の出力Voxsに応じて変化するので、ステップ825,ステップ830によってメインフィードバック制御量DFiが同触媒下流空燃比センサ67の出力Voxsに応じて変更せしめられる。これにより、触媒53の下流側の空燃比が目標値Voxsrefで表された空燃比に一致するように、機関の空燃比が制御せしめられる。
【0114】
一方、サブフィードバック制御条件が不成立であるとき、CPU71はステップ905にて「No」と判定してステップ930に進み、同ステップ930にてサブフィードバック制御量vafsfbを「0」に設定し、ステップ995にて本ルーチンを一旦終了する。これにより、触媒下流空燃比センサ67の出力Voxsに基くサブフィードバック制御が停止される。以上、図8のルーチン及び図9のルーチンは空燃比フィードバック制御手段に対応している。
【0115】
(触媒冷却モード・通常モード間移行処理)
次に、触媒冷却モード・通常モード間移行処理についての作動について説明すると、CPU71は、図10及びこれに続く図11に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU71はステップ1000から処理を開始し、ステップ1002に進んで、特定排気ガス発生制御実行中フラグCONTの値が「1」であるか否かを判定する。
【0116】
いま、図6の時刻t0のように触媒冷却モードが実行されており(COLD=「1」)、且つ、サブフィードバック制御実行中であって特定排気ガス発生制御実行中フラグCONTの値が「0」であるものとして説明を続けると、CPU71はステップ1002にて「No」と判定してステップ1004に進み、触媒冷却モード実行中フラグCOLDの値が「1」であって、且つ、触媒温度センサ68により得られる触媒温度Tの値が最適温度幅の下限値T1以上である状態から同下限値T1未満である状態に変化したか否かをモニタする。
【0117】
現時点では、触媒温度Tが最適温度幅の範囲内にあるので、CPU71はステップ1004にて「No」と判定してステップ1006に進み、第2所定時間継続中フラグLの値が「0」であるか否かを判定する。なお、第2所定時間継続中フラグLは、後述するように、その値が「1」のとき上記第2所定時間(図6の時刻t2〜t3)が継続中であることを示し、その値が「0」のとき同第2所定時間が継続中でないことを示す。
【0118】
現時点では、第2所定時間が継続中ではないので、CPU71はステップ1006にて「Yes」と判定して図11のステップ1008に進み、特定排気ガス発生制御実行中フラグCONTの値が「2」であるか否かを判定する。現時点では、上述のごとく、特定排気ガス発生制御実行中フラグCONTの値は「0」であるので、ステップ1008にてCPU71は「No」と判定してステップ1010に進み、触媒冷却モード実行中フラグCOLDの値が「0」であって、且つ、触媒温度Tの値が最適温度幅の上限値T2以下である状態から同上限値T2より大きい状態に変化したか否かをモニタする。
【0119】
現時点では、触媒冷却モード実行中フラグCOLDの値が「1」となっているので、CPU71はステップ1010にて「No」と判定してステップ1012に進み、係数Kの値を「1.00」に設定するとともに、続くステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定した後、ステップ1095に進んで本ルーチンを一旦終了する。
【0120】
これにより、現時点では特定排気ガス発生制御実行中フラグCONTの値が「0」であるので、他の空燃比フィードバック制御条件、及び他のサブフィードバック制御条件が成立していれば、CPU71は、図8のステップ805、及び図9のステップ905にて「Yes」と判定するから、図8のステップ830にてサブフィードバック制御量vafsfbを考慮したメインフィードバック制御量DFiが計算されるとともに、図7のステップ710の実行により、基本燃料噴射量Fbaseが1.00倍された量、即ち基本燃料噴射量Fbaseにメインフィードバック制御量DFiを加算した量が最終燃料噴射量Fiとして算出される。そして、この最終燃料噴射量Fiの燃料が噴射されるので、機関の空燃比は、サブフィードバック制御により、触媒53の下流側の空燃比が目標値Voxsrefで表された空燃比に一致するように制御される。
【0121】
以降、触媒温度センサ68により得られる触媒温度Tの値が最適温度幅の範囲内にある限り、CPU71は図10及び図11のステップ1000〜1014を繰り返し実行する。また、現時点では触媒冷却モードが実行されているので、触媒温度Tの値は時間の経過に応じて次第に減少し、所定の時間が経過すると図6の時刻t1のように最適温度幅の下限値T1未満になる。
【0122】
これにより、CPU71は図10のステップ1004に進んだとき、同ステップ1004にて「Yes」と判定してステップ1016に進み、エアフローメータ61により得られる吸入空気量AFMの値、エンジン回転速度NEの値、及びスロットルポジションセンサ62により得られるスロットル弁開度TAの値に基いて、これらの各値の関数であるf1(AFM,NE,TA)により、現時点における機関の運転状態に応じた上記第1所定時間に相当する繰返し処理回数基準値N1(正の整数)を設定する。ここで、繰返し処理回数基準値N1は、第1所定時間を計算周期で除した値を四捨五入して整数値化した値である。
【0123】
次に、CPU71はステップ1018に進み、特定排気ガス発生制御実行中フラグCONTの値を「1」に設定し、続くステップ1020に進んで係数Kの値を「1.02」に設定するとともに、リッチ排気ガス発生制御を実行する準備として、ステップ1022に進んでカウンタ値N1CNTを「0」に設定するとともに続くステップ1024に進み酸素不足量の積算値SDO2の値を「0」に設定し、図11のステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定した後、ステップ1095に進んで本ルーチンを一旦終了する。この時点は、図6の時刻t1に対応している。
【0124】
これにより、特定排気ガス発生制御実行中フラグCONTの値が「0」以外の値になるので上述した空燃比フィードバック制御条件が成立しなくなる。従って、CPU71は図8のステップ805にて「No」と判定してステップ840に進むようになり、メインフィードバック制御量DFiの値は「0」に設定される。この結果、図7のステップ710の実行により、基本燃料噴射量Fbaseが1.02倍された値が最終燃料噴射量Fiとして算出され、この最終燃料噴射量Fiの燃料が噴射されるので、サブフィードバック制御が中断されるとともに、機関の空燃比は理論空燃比よりもリッチな上記リッチ空燃比abyfRに制御される。
【0125】
これ以降、特定排気ガス発生制御実行中フラグCONTの値が「1」になっているので、CPU71は図10のステップ1002に進んだとき、同ステップ1002にて「Yes」と判定してステップ1026に進み、カウンタ値N1CNTが繰返し処理回数基準値N1と等しいか否かを判定する。現時点では、ステップ1022の実行によりカウンタ値N1CNTは「0」になっているので、CPU71はステップ1026にて「No」と判定してステップ1028に進み、図7のステップ730により逐次更新されている燃料噴射量積算値mfr2の値と、上記数1の右辺に相当するステップ1028内に記載の式とに基き、計算周期あたりに排出されるリッチ空燃比abyfRの排気ガス中の酸素の不足量DO2を算出する。
【0126】
次に、CPU71はステップ1030に進み、その時点での酸素不足量の積算値SDO2(現時点ではステップ1024の実行により「0」となっている。)にステップ1028にて算出した酸素の不足量DO2を加えた値を新たな酸素不足量の積算値SDO2として設定するとともに、ステップ1032に進んでカウンタ値N1CNTを「1」だけ増大して「1」に設定した後、図11のステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。
【0127】
以降、このような処理(図10及び図11のステップ1000,1002,1026〜1032,1014)が繰り返し実行され、その度に、ステップ1030にて酸素不足量の積算値SDO2が更新されるとともにステップ1032によりカウンタ値N1CNTが「1」づつ増大していく。そして、カウンタ値N1CNTが繰返し処理回数基準値N1と等しくなると(即ち、図6の時刻t2のように第1所定時間が経過すると)、CPU71はステップ1026に進んだとき、同ステップ1026にて「Yes」と判定してステップ1034に進み、その時点での酸素不足量の積算値SDO2をリッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2として格納する。ここで、ステップ1034は、残量ガス状態取得手段に対応している。
【0128】
次に、CPU71はステップ1036に進んで、エアフローメータ61により得られる吸入空気量AFMの値、エンジン回転速度NEの値、及びスロットルポジションセンサ62により得られるスロットル弁開度TAの値に基いて、これらの各値の関数であるf2(AFM,NE,TA)により、現時点における機関の運転状態に応じた上記第2所定時間に相当する繰返し処理回数基準値N2(正の整数)を設定する。ここで、繰返し処理回数基準値N2は、第2所定時間を計算周期で除した値を四捨五入して整数値化した値である。
【0129】
次に、CPU71はステップ1038に進み、特定排気ガス発生制御実行中フラグCONTの値を「0」に設定し、続くステップ1040に進んで係数Kの値を「1.00」に再設定するとともに、第2所定時間を開始させるため、ステップ1042に進んで第2所定時間継続中フラグLの値を「1」に設定するとともに、ステップ1044に進みカウンタ値N2CNTを「0」に設定し、図11のステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定した後、ステップ1095に進んで本ルーチンを一旦終了する。この時点は、図6の時刻t2に対応している。
【0130】
これにより、現時点では特定排気ガス発生制御実行中フラグCONTの値が「0」であるので、他の空燃比フィードバック制御条件、及び他のサブフィードバック制御条件が成立していれば、CPU71は、図8のステップ805、及び図9のステップ905にて「Yes」と判定するから、図8のステップ830にてサブフィードバック制御量vafsfbを考慮したメインフィードバック制御量DFiが計算されるとともに、図7のステップ710の実行により、基本燃料噴射量Fbaseが1.00倍された量、即ち基本燃料噴射量Fbaseにメインフィードバック制御量DFiを加算した量が最終燃料噴射量Fiとして算出される。そして、この最終燃料噴射量Fiの燃料が噴射されるので、機関の空燃比は、サブフィードバック制御により、触媒53の下流側の空燃比が目標値Voxsrefで表された空燃比に一致するように制御される。
【0131】
これ以降、特定排気ガス発生制御実行中フラグCONTの値が「0」になっているので、CPU71はステップ1002に進んだとき、同ステップ1002にて「No」と判定してステップ1004に進み、触媒温度Tの値が最適温度幅の下限値T1以上から同下限値T1未満に変化した直後ではないので、同ステップ1004にて「No」と判定してステップ1006に進み、第2所定時間継続中フラグLの値が「0」であるか否かを判定する。
【0132】
現時点では、ステップ1042の実行により第2所定時間継続中フラグLの値は「1」となっているので、CPU71はステップ1006にて「No」と判定してステップ1046に進み、カウンタ値N2CNTが繰返し処理回数基準値N2と等しいか否かを判定する。現時点では、ステップ1044の実行によりカウンタ値N2CNTは「0」になっているので、CPU71はステップ1046にて「No」と判定してステップ1048に進み、カウンタ値N2CNTを「1」だけ増大して「1」に設定した後、図11のステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。
【0133】
以降、このような処理(図10及び図11のステップ1000〜1006,1046,1048,1014)が繰り返し実行され、その度に、ステップ1048によりカウンタ値N2CNTが「1」づつ増大していく。そして、カウンタ値N2CNTが繰返し処理回数基準値N2と等しくなると(即ち、図6の時刻t3のように第2所定時間が経過すると)、CPU71はステップ1046に進んだとき、同ステップ1046にて「Yes」と判定してステップ1050に進み、第2所定時間継続中フラグLの値を「0」に設定するとともに、ステップ1052に進んで触媒冷却モード実行中フラグCOLDの値を「0」に設定し、図11のステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定した後、ステップ1095に進んで本ルーチンを一旦終了する。この時点は、図6の時刻t3に対応している。
【0134】
これにより、触媒冷却モード実行中フラグCOLDの値が「1」から「0」になったので、後述する図12のルーチンが実行されたとき、排気通路が排気通路Bから排気通路Aに切替えられて、通常モードにおける作動が開始される。
【0135】
以降、通常モードが実行されるので、触媒温度センサ68により得られる触媒温度Tの値は時間の経過に応じて次第に増加する一方で、同触媒温度Tの値が最適温度幅の上限値T2を超えない限り、CPU71は図10及び図11のステップ1000〜1014を繰り返し実行する。そして、所定の時間が経過すると図6の時刻t4のように触媒温度Tは最適温度幅の上限値T2より大きくなる。
【0136】
これにより、CPU71は図11のステップ1010に進んだとき、同ステップ1010にて「Yes」と判定してステップ1054に進み、リーン排気ガス発生制御を実行する準備として、特定排気ガス発生制御実行中フラグCONTの値を「2」に設定し、ステップ1056に進んで係数Kの値を「0.98」に設定するとともに、続くステップ1058に進んで触媒冷却モード実行中フラグCOLDの値を「1」に設定し、ステップ1060に進み酸素過剰量の積算値SDO2の値を「0」に設定するとともに、ステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定した後、ステップ1095に進んで本ルーチンを一旦終了する。この時点は、図6の時刻t4に対応している。
【0137】
これにより、触媒冷却モード実行中フラグCOLDの値が「0」から「1」になったので、後述する図12のルーチンが実行されたとき、排気通路が排気通路Aから排気通路Bに切替えられて、触媒冷却モードにおける作動が開始され、この結果、触媒温度センサ68により得られる触媒温度Tの値は時間の経過に応じて次第に減少を開始する。また、特定排気ガス発生制御実行中フラグCONTの値が「0」以外の値になるので上述した空燃比フィードバック制御条件が成立しなくなる。従って、CPU71は図8のステップ805にて「No」と判定してステップ840に進むようになり、メインフィードバック制御量DFiの値は「0」に設定される。この結果、図7のステップ710の実行により、基本燃料噴射量Fbaseが0.98倍された値が最終燃料噴射量Fiとして算出され、この最終燃料噴射量Fiの燃料が噴射されるので、サブフィードバック制御が中断されるとともに、機関の空燃比は理論空燃比よりもリーンな上記リーン空燃比abyfLに制御される。ここで、図11のステップ1056、及び図7のステップ710,715は特定排気ガス発生手段に対応している。
【0138】
これ以降、特定排気ガス発生制御実行中フラグCONTの値が「2」になっているので、CPU71は図11のステップ1008に進んだとき、同ステップ1008にて「Yes」と判定してステップ1062に進み、酸素過剰量の積算値SDO2が先の図10のステップ1034の実行により設定されたリッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2の値以上となっているか否かを判定する。現時点では、ステップ1060の実行により酸素過剰量の積算値SDO2は「0」になっているので、CPU71はステップ1062にて「No」と判定してステップ1064に進み、図7のステップ730により逐次更新されている燃料噴射量積算値mfr2の値と、上記数3の右辺に相当するステップ1064内に記載の式とに基き、計算周期あたりに排出されるリーン空燃比abyfLの排気ガス中の酸素の過剰量DO2を算出する。
【0139】
次に、CPU71はステップ1066に進み、その時点での酸素過剰量の積算値SDO2にステップ1064にて算出した酸素の過剰量DO2を加えた値を新たな酸素過剰量の積算値SDO2として設定した後、ステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。
【0140】
以降、このような処理(図10及び図11のステップ1000〜1008,1062〜1066,1014)が繰り返し実行され、その度に、ステップ1066にて酸素過剰量の積算値SDO2が更新されていく。そして、酸素過剰量の積算値SDO2がリッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2の値以上となると(即ち、図6の時刻t5のように第3所定時間が経過すると)、CPU71はステップ1062に進んだとき、同ステップ1062にて「Yes」と判定してステップ1068に進み、特定排気ガス発生制御実行中フラグCONTの値を「0」に設定した後、ステップ1014に進んで燃料噴射量積算値mfr2の値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。この時点は、図6の時刻t5に対応している。
【0141】
これ以降、既に開始されている触媒冷却モードの作動により触媒温度Tの値が最適温度幅の下限値T2を下回らない限り、CPU71は図10及び図11のステップ1000〜1014を繰り返し実行するようになり、ステップ1012の実行により係数Kの値が「1.00」に維持される。これにより、現時点では特定排気ガス発生制御実行中フラグCONTの値が「0」であるので、他の空燃比フィードバック制御条件、及び他のサブフィードバック制御条件が成立していれば、CPU71は、図8のステップ805、及び図9のステップ905にて「Yes」と判定するから、図8のステップ830にてサブフィードバック制御量vafsfbを考慮したメインフィードバック制御量DFiが計算されるとともに、図7のステップ710の実行により、基本燃料噴射量Fbaseが1.00倍された量、即ち基本燃料噴射量Fbaseにメインフィードバック制御量DFiを加算した量が最終燃料噴射量Fiとして算出される。そして、この最終燃料噴射量Fiの燃料が噴射されるので、機関の空燃比は、サブフィードバック制御により、触媒53の下流側の空燃比が目標値Voxsrefで表された空燃比に一致するように制御される。
【0142】
(排気通路切替処理)
次に、排気通路切替処理についての作動について説明すると、CPU71は、図12に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU71はステップ1200から処理を開始し、ステップ1205に進んで、触媒冷却モード実行中フラグCOLDの値が「0」であるか否かを判定する。
【0143】
現時点で、触媒冷却モード実行中フラグCOLDの値が「0」となっていれば、CPU71はステップ1205にて「Yes」と判定してステップ1210に進み、通常モードを実行するため、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57を総て非励磁状態に設定した後、ステップ1295に進んで本ルーチンを一旦終了する。これにより、排気通路Aが構成される。
【0144】
一方、ステップ1205の判定時において、触媒冷却モード実行中フラグCOLDの値が「1」となっていれば、CPU71はステップ1205にて「No」と判定してステップ1215に進み、触媒冷却モードを実行するため、常開型電磁式開閉弁55、上流側常閉型電磁式開閉弁56、及び下流側常閉型電磁式開閉弁57を総て励磁状態に設定した後、ステップ1295に進んで本ルーチンを一旦終了する。これにより、排気通路Bが構成される。以上のようにして、触媒冷却モード実行中フラグCOLDの値に応じて、排気通路A及び排気通路Bのいずれか一方が選択的に構成される。ここで、本ルーチンは、排気通路切替手段に対応している。
【0145】
以上、説明したように、本発明による第1実施形態によれば、排気通路が短い排気通路Aによって構成される通常モード(COLD=0)においては、比例積分制御にて実行されるサブフィードバック制御における制御のむだ時間が短くなるので同制御の比例ゲインKp、及び積分ゲインKiが共に大きめに設定されるとともに、排気通路が触媒冷却用の長い排気通路Bによって構成される触媒冷却モード(COLD=1)においては、前記制御のむだ時間が長くなるので同制御の比例ゲインKp、及び積分ゲインKiが共に小さめに設定される。
【0146】
この結果、通常モードが選択されているときには、サブフィードバック制御における制御の安定性を損なうことなく制御の応答性が向上するとともに、触媒冷却モードが選択されているときには、同制御の安定性を確保することができる。従って、通常モードと触媒冷却モードのどちらの場合が選択されていても、制御の応答性及び安定性を共にある程度良好に確保して触媒下流空燃比センサ67の出力voxsの目標値voxsrefへの収束性を良好に維持でき、ひいては、触媒53の酸素吸蔵量の適切な量(最大酸素吸蔵量の半分程度の量)への収束性(触媒53の状態)を良好に維持することができた。
【0147】
また、触媒冷却モードから通常モードへの切替え直前において、リッチ排気ガス発生制御により排出されたリッチ空燃比abyfRの排気ガス全体の中の酸素の不足量TotalO2が取得され、触媒冷却モードから通常モードへの切替え後の通常モード実行時においては、同リッチ空燃比abyfRの排気ガス全体(残留ガス)が密閉空間内に残留する。そして、その後、通常モードから触媒冷却モードへの切替え直後において、リーン排気ガス発生制御により、前記酸素の不足量TotalO2と同量の酸素の過剰量を有するリーン空燃比abyfLの排気ガス(特定排気ガス)が発生せしめられ、同特定排気ガスが触媒53に流入する。
【0148】
従って、通常モードから触媒冷却モードへの切替え直後において、触媒53には、まず初めに密閉空間内に残留していた残留ガスが流入し、その後に上記特定排気ガスが流入することになる。この結果、触媒53の酸素吸蔵量は、上記残留ガス中の酸素の不足量TotalO2に応じて急激に大きく減少するものの、その後直ちに特定排気ガス中の酸素の過剰量により回復する。従って、通常モードから触媒冷却モードへの切替え直後において、触媒53の状態を良好に維持することができた。
【0149】
(第2実施形態)
次に、本発明の第2実施形態に係る内燃機関の排気浄化装置について説明する。この第2実施形態は、後述する触媒モデルを使用して算出した計算値である触媒53の酸素吸蔵量OSAallの値(取得値)が所定の目標値OSAallref(=最大酸素吸蔵量Cmaxall/2)になるように同計算値である酸素吸蔵量OSAallの値に基いて機関の空燃比をサブフィードバック制御する点を除き、上述した第1実施形態と同一であるので、以後は、かかる相違点のみを説明する。
【0150】
(触媒モデルの必要性)
触媒53の酸素吸蔵量を直接的に用いて機関の空燃比を制御するためには、触媒53の酸素吸蔵量を求めなければならない。しかしながら、酸素吸蔵量を直接計測することはできない。そのため、本装置は触媒53の酸素吸蔵量を計算により求める。
【0151】
ここで、触媒53にリーンな空燃比のガスが流入したときには、同触媒53の上流側においてより多くの酸素が吸蔵され、同触媒53にリッチな空燃比のガスが流入したときには、同触媒53の上流側から吸蔵されている酸素が消費されていく。従って、触媒53内に吸蔵されている酸素は同触媒53の排気ガスの流れ方向において均一に分布しているわけではない。よって、触媒53内の酸素吸蔵量を正確に求めるためには、かかる吸蔵酸素の分布を考慮した計算を行う必要がある。
【0152】
また、触媒53の酸素吸蔵量は同触媒53内において発生する酸素吸蔵・放出反応の程度に応じて変化する。この酸素吸蔵・放出反応の程度は、触媒53に流入又は同触媒53から流出する排気ガスに含まれる上記酸素吸蔵・放出反応に関係する特定成分の量に依存する。従って、触媒53の酸素吸蔵量を正確に求めるためには、前記特定成分の量を考慮に入れた計算を行う必要がある。
【0153】
以上の要求に基き、本装置は以下に説明する触媒モデルを触媒53に適用することにより、同触媒53内の上記特定成分の量及び酸素吸蔵量を算出する。
【0154】
(触媒モデルの説明、並びに特定成分の量及び酸素吸蔵量の算出)
触媒モデルは、図13に模式的に示したように、軸線に直交する断面形状が一定である柱状の触媒を同軸線に直交する面によりN個の(複数の)領域(「ブロック」とも称呼する。)に分割して構築されている。即ち、触媒モデルが対象とする触媒は排気ガスの流れ方向に沿ってN個のブロックに分割されている。分割された各ブロックの軸線方向の長さはLである。なお、説明の便宜上、各ブロックには、排気ガスの流れ方向に沿って上流側から順に図13に示すように番号を付してあり、任意のi番目のブロックに関連する変数・記号等には、それらの末尾に(i)を付すことにする。また、この触媒モデルは、触媒を複数のブロックに分割して構築されているが、触媒全体を一つの領域(ブロック)として考えることにより、触媒モデルを構築することもできる。
【0155】
まず、図14に示したように、分割されたブロックのうちのi番目のブロック(i)(特定領域)に注目し、同ブロック(i)における酸素吸蔵・放出反応に関係する特定成分のCPU71の演算周期あたりの収支を考える。この触媒モデルでは、触媒での酸化・還元反応である三元反応は瞬時かつ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応のみに着目するものとする。この仮定(触媒モデル)は、現実的でありかつ計算精度のよいものである。なお、図14に示した排ガス相は排気ガスが通過する空間であり、コート層は白金(Pt)等の貴金属からなる活性成分及びセリア(CeO2)等の成分が担持された層である。
【0156】
特定成分は、例えば、酸素(分子)O2、窒素酸化物NOx、一酸化炭素CO、炭化水素HCから選択された成分であってもよいが、この触媒モデルでは、上記三元反応が瞬時かつ完全に終了するものと仮定した状態における排気ガスに含まれる酸素(酸素分子及び窒素酸化物の酸素。本明細書では、酸素分子及び窒素酸化物の酸素を総称して「酸素」と称呼する。)(の過不足)を特定成分として選択している。この酸素の量である酸素量CgO2は、同酸素が過剰であるとき(即ち、排気ガス中にO2及びNOxが存在する場合)に正の値となり、同酸素が不足しているとき(即ち、排気ガス中に未燃HC,COが存在する場合)に負の値となるように計算される。
【0157】
また、注目するブロック(i)において、CPU71の演算周期あたり同ブロック(i)の排ガス相に流入する酸素量CgO2を流入酸素量CginO2(i)、同演算周期あたり同ブロック(i)の排ガス相から流出する酸素量CgO2を流出酸素量CgoutO2(i)と称呼し、同演算周期あたり同ブロック(i)のコート層に吸蔵され又は同コート層から放出される酸素量CgO2を酸素吸蔵量変化量δOSA(i)と称呼する。この酸素吸蔵量変化量δOSA(i)は、酸素がコート層に吸蔵されるときに正の値となり、酸素がコート層から放出されるときに負の値となるように計算される。また、現時点におけるブロック(i)のコート層における酸素吸蔵量を酸素吸蔵量OSA(i)と称呼し、現時点におけるブロック(i)のコート層における最大酸素吸蔵量を最大酸素吸蔵量Cmax(i)と称呼する。
【0158】
いま、図14に示すブロック(i)における酸素量CgO2の上記演算周期あたりの収支を考えると、同ブロック(i)の排ガス相に流入した流入酸素量CginO2(i)のうち酸素吸蔵量変化量δOSA(i)だけがコート層に吸蔵され、同流入酸素量CginO2(i)のうちコート層に吸蔵されなかった残りの酸素量CgO2が流出酸素量CgoutO2(i)となるから、流入酸素量CginO2(i),流出酸素量CgoutO2(i)及び酸素吸蔵量変化量δOSA(i)の間には下記数7に示した関係が成立する。この下記数7に示した関係が本触媒モデルの基本式である。
【0159】
【数7】
CgoutO2(i)=CginO2(i)-δOSA(i)
【0160】
次に、酸素吸蔵量変化量δOSA(i)について考える。流入酸素量CginO2(i)が正の値のときはブロック(i)の排ガス相に流入する排気ガス中の酸素が過剰であることを意味し、同排気ガス中の酸素の一部はブロック(i)のコート層に吸蔵されるから酸素吸蔵量変化量δOSA(i)は正の値となる。このときの酸素吸蔵反応の量、即ち酸素吸蔵量変化量δOSA(i)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値に比例すると考えられる。従って、流入酸素量CginO2(i)が正の値のとき、酸素吸蔵量変化量δOSA(i)は下記数8,及び下記数9に基いて算出することができる。
【0161】
【数8】
δOSA(i)=H(i)・CginO2(i)
【0162】
【数9】
H(i)=h(T)・((Cmax(i)-OSA(i))/Cmax(i)) (0 ≦ H(i) < 1)
【0163】
上記数8及び上記数9において、H(i)はブロック(i)における流入酸素量CginO2(i)に対する吸蔵される酸素量(δOSA(i))の割合を示す反応率である。h(T)は温度パラメータとしての反応速度係数であり、図15に示すように、触媒温度Tに応じて変化するとともに最適温度幅内(T1≦T≦T2)で最大値となる正の値である。また、上記数9における現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値(Cmax(i)-OSA(i))は、ブロック(i)における現時点での酸素吸蔵余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基いて同触媒が内部に流入する排気ガスから吸蔵する酸素量を算出する。
【0164】
一方、流入酸素量CginO2(i)が負の値のときはブロック(i)の排ガス相に流入する排気ガスの酸素が不足していることを意味し、同排気ガスにはブロック(i)のコート層から放出された酸素が与えられるから酸素吸蔵量変化量δOSA(i)は負の値となる。このときの酸素放出反応の量、即ち酸素吸蔵量変化量δOSA(i)(の絶対値)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での酸素吸蔵量OSA(i)の値に比例すると考えられる。従って、流入酸素量CginO2(i)が負の値のとき、酸素吸蔵量変化量δOSA(i)は上記数8と同一の関係を示す下記数10,及び下記数11に基いて算出することができる。
【0165】
【数10】
δOSA(i)=H(i)・CginO2(i)
【0166】
【数11】
H(i)=h(T)・(OSA(i)/Cmax(i)) (0 ≦ H(i) < 1)
【0167】
上記数10及び上記数11において、H(i)はブロック(i)における流入酸素量CginO2(i)(負の値)に対する放出される酸素量(δOSA(i),負の値)の割合を示す反応率である。h(T)は反応速度係数であり上記数9にて使用されているものと同様である。また、上記数11における現時点での酸素吸蔵量OSA(i)の値は、ブロック(i)における現時点での酸素放出余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基いて同触媒が内部に吸蔵している酸素から放出する酸素量を算出する。
【0168】
ここで、上記数9及び上記数11にて使用するブロック(i)における最大酸素吸蔵量Cmax(i)は後述する手法により予め求められているものとする。また、上記数9及び上記数11にて使用するブロック(i)における現時点での酸素吸蔵量OSA(i)は、初期値が付与された時点から現時点までの酸素吸蔵量変化量δOSA(i)の積算値であるから下記数12に基いて算出することができる。
【0169】
【数12】
OSA(i)=ΣδOSA(i) (0 ≦ OSA(i) ≦ Cmax(i))
【0170】
次に、各ブロック間での境界条件について考えると、図13に示したように、互いに隣接する2つのブロックのうちの上流側のブロックの排ガス相の流出面と下流側のブロックの排ガス相の流入面は互いに連続しているから、図14に示したように、ブロック(i)に流入する流入酸素量CginO2(i)は、ブロック(i)に隣接する上流側のブロック(i-1)から流出する流出酸素量CgoutO2(i-1)であり、また、ブロック(i)から流出する流出酸素量CgoutO2(i)は、ブロック(i)に隣接する下流側のブロック(i+1)に流入する流入酸素量CginO2(i+1)である。従って、下記数13に示した関係が成立する。換言すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)が求まればブロック(i)に隣接する下流側のブロック(i+1)の流入酸素量CginO2(i+1)が求まる。
【0171】
【数13】
CginO2(i+1)=CgoutO2(i)
【0172】
以上のことから、最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数8又は上記数10によりブロック(1)における酸素吸蔵量変化量δOSA(1)が求まり、その結果、上記数12によりブロック(1)における酸素吸蔵量OSA(1)を更新できるとともに上記数7によりブロック(1)における流出酸素量CgoutO2(1)が求まる。ブロック(1)における流出酸素量CgoutO2(1)が求まれば、上記数13によりブロック(2)における流入酸素量CginO2(2)が求まり、その結果、上記数8又は上記数10によりブロック(2)における酸素吸蔵量変化量δOSA(2)が求まる。これにより、上記数12によりブロック(2)における酸素吸蔵量OSA(2)を更新できるとともに、上記数7によりブロック(2)における流出酸素量CgoutO2(2)が求まる。
【0173】
このような手続きを繰り返すことにより、本触媒モデルによれば、CPU71の演算周期が経過する毎に最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数7〜上記数13より、最上流のブロック(1)から、順次、各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、触媒内部の酸素吸蔵量の分布が精度よく計算される。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を触媒全体について積算すれば、同触媒全体の酸素吸蔵量OSAallについても精度よく計算することができる。
【0174】
なお、以下に、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式を求めておく。先ず、上記数7における「i」を「1」に書き換えると下記数14が導かれる。
【0175】
【数14】
CgoutO2(1)=CginO2(1)-δOSA(1)
【0176】
また、上記数7における「i」を「2」に書き換えて、これに上記数13及び上記数14の関係を適用すると、下記数15が導かれる。
【0177】
【数15】
CgoutO2(2)=CginO2(1)-δOSA(1)-δOSA(2)
【0178】
さらに、上記数7における「i」を「3」に書き換え、これに上記数13及び上記数15の関係を適用すると、下記数16が導かれる。
【0179】
【数16】
CgoutO2(3)=CginO2(1)-δOSA(1)-δOSA(2)-δOSA(3)
【0180】
このような手続きを繰り返して上記数16の関係を一般的に記述すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式である下記数17が導かれる。
【0181】
【数17】
CgoutO2(i)=CginO2(1)-δOSA(1)-δOSA(2)- ・・・ -δOSA(i-1)-δOSA(i)
(i=1,2,・・・,N)
【0182】
また、上記数7及び上記数8(又は上記数10)より下記数18が導かれるから、下記数18に上記数13の関係を適用し、その関係を一般的に記述すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための他の一般式である下記数19も容易に導くことができる。
【0183】
【数18】
CgoutO2(i)=CginO2(i)・(1-H(i))
【0184】
【数19】
CgoutO2(i)=CginO2(1)・(1-H(1))(1-H(2))・・・(1-H(i-1))(1-H(i))
(i=1,2,・・・,N)
【0185】
(触媒モデルの具体的な適用)
次に、以上説明した触媒モデルを、図16に示したように、触媒53に適用する。触媒モデルが対象とする触媒53は排気ガスの流れ方向に沿ってN個のブロックに分割されている。
【0186】
ここで、触媒53のi番目のブロックであるブロック(i)における流入酸素量を流入酸素量CginO2(i),流出酸素量を流出酸素量CgoutO2(i),酸素吸蔵量をOSA(i),最大酸素吸蔵量をCmax(i)とそれぞれ称呼する。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を積算することにより得られる触媒53全体の酸素吸蔵量を酸素吸蔵量OSAallと称呼し、各ブロックの最大酸素吸蔵量Cmax(i) (i=1,2,・・・,N) を積算した値である触媒53全体の最大酸素吸蔵量を最大酸素吸蔵量Cmaxallと称呼する。
【0187】
触媒53の各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,2,・・・,N)、及び触媒53全体の最大酸素吸蔵量Cmaxallは後述する手法により予め求められているものとする。
【0188】
図16に示した触媒53に適用された上記触媒モデルでは、先に説明したように、触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N)の初期値を初期条件として付与するとともに、CPU71の演算周期が経過する毎に、触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を境界条件として付与すれば、触媒53の各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、触媒53全体の酸素吸蔵量OSAall(取得値)もそれぞれ取得・算出することができる。
【0189】
まず、触媒53の各ブロックにおける酸素吸蔵量の初期値を付与する手法について説明すると、本装置は、触媒下流空燃比センサ67の出力Voxsが0.7(V)より大きい値を示したとき、即ち、触媒53の下流側の空燃比が明白なリッチ空燃比となったときは、同触媒53内に酸素が全く存在せず未燃HC,COが浄化されない状態となったことを意味するから、触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N) 及び触媒53全体の酸素吸蔵量OSAallを全て「0」に設定する。このようにして、触媒53の各ブロックにおける酸素吸蔵量の初期値「0」が初期条件として付与される。
【0190】
次に、触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を算出する手法について説明すると、本装置は、下記数20に基いてCPU71の演算周期毎の流入酸素量CginO2(1)を算出する。
【0191】
【数20】
CginO2(1)=0.23・mfr1・(abyfs(k-Ndead) − stoich)
【0192】
上記数20において、値「0.23」は大気中に含まれる酸素の重量割合である。mfr1は所定時間(演算周期tsample)内の燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。abyfs(k-Ndead)は触媒上流空燃比センサ66により検出された現時点からNdeadストローク(Ndead回の吸気行程)前の空燃比A/Fである。なお、空燃比abyfsは、各気筒の吸気行程に対応されながらRAM73内に記憶されるようになっている。
【0193】
値Ndeadは、図17に示すように、排気通路Aと排気通路Bのどちらが選択されているか(触媒53より上流の排気通路の長さ)に応じて切替る実際の排気浄化装置の構成により決まるサブフィードバック制御上の制御のむだ時間Tdeadにより異なる値であり、具体的には、上記むだ時間Tdeadの値に基いた関数であるf3(Tdead)により、排気通路Aが選択されているときには小さめに、排気通路Bが選択されているときには大きめに設定される。ここで、値Ndeadは、本触媒モデルが計算を実行する際に使用するむだ時間に相当する値である。
【0194】
この数20に示したように、所定時間tsample内の噴射量の合計量mfr1に、検出された現時点からNdeadストローク前の空燃比A/Fの理論空燃比からの偏移(abyfs(k-Ndead) − stoich)を乗じることで、現時点での同所定時間tsampleにおける空気の過剰量が求められ、この現時点での空気の過剰量に酸素の重量割合を乗じることで現時点での同所定時間tsampleにおける酸素の過剰量、即ち現時点での流入酸素量CginO2(1)が求められる。このようにして算出される流入酸素量CginO2(1)は、上記数20から明らかなように、酸素が過剰であるときに正の値となり、酸素が不足しているときに負の値となるように計算される。このようにして、CPU71の演算周期毎に触媒53の最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与される。
【0195】
ここで、現時点での流入酸素量CginO2(1)を求めるために、触媒上流空燃比センサ66により検出された現時点からNdeadストローク前の空燃比A/Fの値を使用するのは、触媒上流空燃比センサ66の近傍を通過した排気ガスが触媒53の最上流のブロック(1)に流入するまでには、むだ時間Tdeadの値に応じたNdeadストロークに相当する時間を要するからである。このように、本装置は、触媒53よりも上流の排気通路を排気ガスが通過する際の通過時間をむだ時間として考慮して同触媒53に流入する排気ガスの状態(流入酸素量CginO2(1))を取得する。
【0196】
以上のようにして本装置は、CPU71の演算周期毎に、触媒53の各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出するとともに、触媒53全体の酸素吸蔵量OSAallの値も算出する。
【0197】
(最大酸素吸蔵量の算出)
次に、上述した触媒モデルで使用される最大酸素吸蔵量の算出手法について図18を参照しながら説明する。先ず、本装置は、図18(A)に示したように、時刻t1にて触媒53の上流のガスの空燃比(即ち、機関に供給される混合気の空燃比)を理論空燃比よりもリーンな所定のリーン空燃比に制御する。
【0198】
これにより、触媒53にリーンな空燃比のガスが流入するから、図18(C)に示したように、触媒53の酸素吸蔵量は次第に増大し、時刻t2にて最大酸素吸蔵量Cmax2に達する。この結果、時刻t2にて、触媒53から酸素を含むガス(リーン空燃比のガス)が流出し始め、図18(B)に示したように、触媒下流空燃比センサ67の出力Voxsは理論空燃比よりリッチを示す値から理論空燃比よりリーンを示す値に変化する。この時刻t1〜t2間の作動を第1モード(Mode=1)における作動と呼ぶ。
【0199】
時刻t2にて、触媒下流空燃比センサ67の出力Voxsがリッチを示す値からリーンを示す値に変化すると、本装置は触媒53の上流のガスの空燃比を理論空燃比よりもリッチな所定のリッチ空燃比に制御する。
【0200】
この結果、触媒53にリッチな空燃比のガスが流入するため、触媒53の酸素が同触媒53に流入する未燃HC,COの酸化のために消費され、触媒53の酸素吸蔵量は最大酸素吸蔵量Cmax2から減少して行く。そして、時刻t3になると、触媒53の酸素吸蔵量は「0」となるから、触媒53からリッチ空燃比のガスが流出し始め、触媒下流空燃比センサ67の出力Voxsはリーンを示す値からリッチを示す値に変化する。この時刻t2〜t3間の作動を第2モード(Mode=2)における作動と呼ぶ。
【0201】
本装置は、かかる時刻t2〜t3間において、以下のようにして触媒53の最大酸素吸蔵量Cmaxを最大酸素吸蔵量Cmax2として推定する。即ち、触媒上流空燃比を所定のリッチ空燃比に設定した時刻t2から、触媒下流空燃比センサ67の出力Voxsがリッチを示す値に変化する時刻t3までの間、下記数21、及び下記数22に基いて酸素吸蔵量の変化量ΔO2を算出するとともにこれを積算し、同時刻t3での積算値を最大酸素吸蔵量Cmax2として算出する。
【0202】
【数21】
ΔO2=0.23・mfr・(stoich − abyfs)
【0203】
【数22】
Cmax2=ΣΔO2(区間t=t2〜t3)
【0204】
上記数21において、値「0.23」は大気中に含まれる酸素の重量割合である。mfrは所定時間(計算周期tsample)内の燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。abyfsは所定時間tsampleにおいて触媒上流空燃比センサ66により検出された(現時点での)空燃比A/Fである。なお、abyfsは前記所定時間tsample内の触媒上流空燃比センサ66により検出された空燃比A/Fの平均値としてもよい。
【0205】
この数21に示したように、所定時間tsample内の噴射量の合計量mfrに、検出された空燃比A/Fの理論空燃比からの偏移(stoich − abyfs)を乗じることで、同所定時間tsampleにおける空気の不足量が求められ、この空気の不足量に酸素の重量割合を乗じることで同所定時間tsampleにおける酸素吸蔵量変化量(吸蔵酸素の消費量)ΔO2が求められる。そして、数22に示したように、酸素吸蔵量変化量ΔO2を時刻t2〜t3に渡って積算することで、触媒53が酸素を最大限貯蔵していた状態から酸素を総べて消費した状態となるまでの酸素消費量、即ち最大酸素吸蔵量Cmax2が推定・算出される。
【0206】
時刻t3にて、触媒下流空燃比センサ67の出力がリーンを示す値からリッチを示す値に変化すると、本装置は触媒53の上流空燃比を理論空燃比よりもリーンな前記所定のリーン空燃比に制御する。これにより、触媒53にリーンな空燃比のガスが流入する。また、時刻t3の時点においては、触媒53の酸素吸蔵量は「0」となっている。従って、時刻t3以降において、触媒53内の酸素吸蔵量は「0」から増大し続け、時刻t4にて最大酸素吸蔵量Cmax3に達する。この結果、時刻t4にて、触媒53から酸素を含む理論空燃比よりもリーンなガスが流出し始め、触媒下流空燃比センサ67の出力Voxsはリッチを示す値からリーンを示す値に変化する。この時刻t3〜t4間の作動を第3モード(Mode=3)における作動と称呼する。
【0207】
本装置は、かかる時刻t3〜t4間においても、以下のようにして触媒53の最大酸素吸蔵量Cmaxを最大酸素吸蔵量Cmax3として推定する。即ち、時刻t3において触媒53の酸素吸蔵量は「0」であり、触媒下流空燃比センサ67の出力Voxsがリーン空燃比を示す値となった時刻t4では、触媒53の酸素吸蔵量が最大酸素吸蔵量Cmaxに到達したことを意味するから、時刻t3〜t4までの間、下記数23及び下記数24に基いて酸素吸蔵量の変化量ΔO2を算出するとともにこれを積算し、同時刻t4での積算値を最大酸素吸蔵量Cmax3として推定・算出する。
【0208】
【数23】
ΔO2=0.23・mfr・(abyfs − stoich)
【0209】
【数24】
Cmax3=ΣΔO2(区間t=t3〜t4)
【0210】
この数23に示したように、所定時間tsample内の噴射量の合計量mfrに、空燃比A/Fの理論空燃比からの偏移(abyfs − stoich)を乗じることで、同所定時間tsampleにおける空気の過剰量が求められ、この空気の過剰量に酸素の重量割合を乗じることで同所定時間tsampleにおける酸素吸蔵量変化量(吸蔵酸素量)ΔO2が求められる。そして、数24に示したように、酸素吸蔵量変化量ΔO2を時刻t3〜t4に渡って積算することで、触媒53の酸素吸蔵量が「0」である状態から酸素を最大限に吸蔵する状態となるまでの酸素量、即ち最大酸素吸蔵量Cmax3が推定・算出される。
【0211】
そして、本装置は、時刻t4にて機関に吸入される混合気の空燃比を理論空燃比に戻す上述した空燃比フィードバック制御(サブフィードバック制御)を再開するとともに、同時刻t4以降において、上記のように求めた最大酸素吸蔵量Cmax2及びCmax3の平均値を触媒53の最大酸素吸蔵量Cmaxallとして算出する。以上が、触媒53の最大酸素吸蔵量Cmaxallの算出原理である。
【0212】
次に、本装置は、図13に示した触媒モデルが対象とする触媒全体の最大酸素吸蔵量の値から同触媒の各ブロック毎の各最大酸素吸蔵量の分布を求めるための最大酸素吸蔵量分布マップを表した図19に基き、上記算出した触媒53全体の最大酸素吸蔵量Cmaxallの値から、触媒53の各ブロック毎の最大酸素吸蔵量の分布をそれぞれ求める。図19に斜線で示された部分の面積は触媒全体の最大酸素吸蔵量Cmaxallの値に対応している。
【0213】
図19に示したように、触媒53の各ブロック毎の各最大酸素吸蔵量Cmax(n) (n=1,・・・,N)は、同各最大酸素吸蔵量Cmax(n)の総和が同触媒53全体の最大酸素吸蔵量Cmaxallの値となるように設定されるとともに、上流側のブロックから下流側のブロックに推移するに従い、所定の勾配をもって線形的に増加するように設定される。これは、触媒53の上流側部分の方が下流側部分に比して、内部に流入する排気ガス中に含まれる鉛や硫黄等により被毒して最大酸素吸蔵量が低下し易くなるためである。
【0214】
具体的には、本装置は、触媒53の各ブロック(i)毎の各最大酸素吸蔵量Cmax(i) (i=1,・・・,N)を、図19に示した最大酸素吸蔵量分布マップに基いた下記数25に基いて算出する。
【0215】
【数25】
Cmax(i)=A・(i-(N/2))+(Cmaxall/N) (i=1,・・・,N)
【0216】
上記数25において、Aは正の定数であって、各ブロック毎の最大酸素吸蔵量の分布の上記勾配を決定する値である。なお、触媒53の各ブロック毎の各最大酸素吸蔵量は、上流側のブロックから下流側のブロックに推移するに従い増加するように設定されていればよく、例えば、非線形的に増加するように設定されていてもよい。このようにして、触媒53の各ブロック毎の各最大酸素吸蔵量及び同触媒53全体の最大酸素吸蔵量が算出される。
【0217】
<実際の作動>
次に、以上のように構成された本発明による第2実施形態に係る排気浄化装置の実際の作動について電気制御装置70のCPU71が実行するルーチンをフローチャートを参照しながら説明する。第2実施形態においては、CPU71は、上述した図7及び図8に示したルーチン、上述した図9の代わりの図20に示したルーチン、上述した図10〜図12に示したルーチンに加えて、図21〜図29に示したルーチンを所定時間の経過毎に繰り返し実行している。
【0218】
ここで、第2実施形態における図8のステップ805での空燃比フィードバック制御条件は、前述した第1実施形態における図8のステップ805での空燃比フィードバック制御条件に加え、後述する最大酸素吸蔵量取得制御実行中フラグXHANの値が「0」であるときに成立する。なお、最大酸素吸蔵量取得制御実行中フラグXHANは、後述するように、その値が「1」のとき最大酸素吸蔵量算出のために強制的に空燃比を変更する空燃比制御(以下、「最大酸素吸蔵量取得制御」と称呼する。)を実行していることを示し、その値が「0」のとき同最大酸素吸蔵量算出のための空燃比制御を実行していないとを示す。以下、図20〜図29に示したルーチンについて説明する。
【0219】
(サブフィードバック制御量の計算)
CPU71は、図20に示した触媒53全体の酸素吸蔵量OSAallの値を触媒目標酸素吸蔵量OSAallrefに一致させるためのサブフィードバック制御量vafsfbを求めるルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ2000から処理を開始し、ステップ2005に進み、サブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述した第2実施形態における図8のステップ805での空燃比フィードバック制御条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上のときに成立する。
【0220】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ2005にて「Yes」と判定してステップ2010に進み、前述した図9のステップ910と同様にして触媒冷却モード実行中フラグCOLDの値(「1」又は「0」)とに基いてサブフィードバック制御における比例ゲインKpの値及び積分ゲインKiの値を選択する。
【0221】
次に、CPU71はステップ2015に進んで、現時点での触媒53全体の酸素吸蔵量OSAallから触媒目標酸素吸蔵量OSAallrefを減じることにより、酸素吸蔵量偏差量DOSAallを求める。なお、酸素吸蔵量OSAallの求め方及び目標酸素吸蔵量OSAallrefの設定については後述する。次に、CPU71はステップ2020に進み、下記数26に基いてサブフィードバック制御量vafsfbを求める。
【0222】
【数26】
vafsfb=Kp・DOSAall+Ki・SDOSAall
【0223】
上記数26において、Kpはステップ2010で設定された比例ゲイン、Kiはステップ2010で設定された積分ゲインである。また、SDOSAallは酸素吸蔵量偏差量DOSAallの積分値であって、次のステップ2025にて更新される値である。即ち、CPU71は、ステップ2025に進んで、その時点における酸素吸蔵量偏差量の積分値SDOSAallに上記ステップ2015にて求めた酸素吸蔵量偏差量DOSAallを加えて、新たな酸素吸蔵量偏差量の積分値SDOSAallを求め、その後、ステップ2095に進んで本ルーチンを一旦終了する。
【0224】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は第1実施形態と同様に、前述した図8のステップ810にて触媒上流空燃比センサ66の実際の出力に加えられてメインフィードバック制御用空燃比abyfs1に変換される。この結果、前述した図8のステップ815にて計算される筒内燃料供給量Fc(k−N)が酸素吸蔵量OSAallに応じて変化し、ステップ825,830にてフィードバック補正量DFiが同酸素吸蔵量OSAallに応じて変更せしめられる。これにより、算出された酸素吸蔵量OSAallが触媒目標酸素吸蔵量OSAallrefとなるように機関の空燃比が制御される。
【0225】
一方、サブフィードバック制御条件が不成立であるとき、CPU71はステップ2005にて「No」と判定してステップ2030に進み、同ステップ2030にてサブフィードバック制御量vafsfbを「0」に設定し、ステップ2095にて本ルーチンを一旦終了する。これにより、計算値である酸素吸蔵量OSAallの値に基くサブフィードバック制御が停止される。以上、図8のルーチン及び図20のルーチンは空燃比フィードバック制御手段に対応している。
【0226】
(最大酸素吸蔵量の算出)
次に、最大酸素吸蔵量算出のために強制的に空燃比を変更する最大酸素吸蔵量取得制御について説明する。CPU71は図21〜図26のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【0227】
従って、所定のタイミングになると、CPU71は図21のステップ2100から処理を開始し、ステップ2105に進んで最大酸素吸蔵量取得制御実行中フラグXHANの値が「0」であるか否かを判定する。いま、最大酸素吸蔵量算出のための最大酸素吸蔵量取得制御を行っておらず、且つ、最大酸素吸蔵量取得制御開始条件が成立していないとして説明を続けると、最大酸素吸蔵量取得制御実行中フラグXHANの値は「0」となっている。従って、CPU71はステップ2105にて「Yes」と判定してステップ2110に進み、先に説明した図7のステップ710にて使用される係数Kの値を1.00に設定する。
【0228】
次いで、CPU71はステップ2115にて最大酸素吸蔵量取得制御の開始判定条件が成立しているか否かを判定する。この最大酸素吸蔵量取得制御の開始判定条件は、冷却水温THWが所定温度以上であり、図示しない車速センサにより得られた車速が所定の高車速以上であり、スロットル弁開度TAの単位時間あたりの変化量が所定量以下である、機関が定常運転されている場合であって、且つ、上述した特定排気ガス発生制御実行中フラグCONTの値が「0」のときに成立する。更に、この開始判定条件に、前回の最大酸素吸蔵量取得制御の終了時点から所定時間以上が経過したこと、前回の最大酸素吸蔵量取得制御の終了時点から車両が所定距離以上運転されたこと、前回の最大酸素吸蔵量取得制御の終了時点から内燃機関10が所定時間以上運転されたことの任意の一つ、又は一つ以上を判定条件に加えても良い。現段階では、上述したように、最大酸素吸蔵量取得制御の開始判定条件は成立していないから、CPU71はステップ2115にて「No」と判定してステップ2195に進み、本ルーチンを一旦終了する。
【0229】
次に、先に説明した図18の時刻t1のように、その時点までは最大酸素吸蔵量算出のための空燃比制御を行っていないが、同時点にて最大酸素吸蔵量算出条件が成立したものとして説明を続けると、この場合においても、CPU71はステップ2105にて「Yes」と判定してステップ2110に進み、同ステップ2110にて係数Kの値を1.00に設定する。次いで、CPU71は、最大酸素吸蔵量算出条件が成立しているので、ステップ2115にて「Yes」と判定してステップ2120に進み、同ステップ2120にて最大酸素吸蔵量取得制御実行中フラグHANの値を「1」に設定する。
【0230】
そして、CPU71はステップ2125に進み、第1モードに移行するためにModeの値を「1」に設定するとともに、続くステップ2130にて係数Kの値を0.98に設定し、ステップ2195に進んで本ルーチンを一旦終了する。この結果、機関の空燃比は理論空燃比よりもリーンな上記所定のリーン空燃比に制御される。
【0231】
以降、CPU71は図21のルーチンの処理をステップ2100から繰り返し実行するが、最大酸素吸蔵量取得制御実行中フラグXHANの値が「1」となっていることから、ステップ2105にて「No」と判定して直ちにステップ2195に進み、本ルーチンを一旦終了するようになる。
【0232】
一方、CPU71は図22に示した第1モード制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングとなると、CPU71はステップ2200から処理を開始してステップ2205に進み、Modeの値が「1」であるか否かを判定する。この場合、先の図21のステップ2125の処理によりModeの値は「1」となっているので、CPU71はステップ2205にて「Yes」と判定してステップ2210に進み、触媒下流空燃比センサ67の出力Voxsが理論空燃比よりもリッチな空燃比を示す値から同理論空燃比よりもリーンな空燃比を示す値に変化したか否かを判定する。
【0233】
現時点では、機関の空燃比を所定のリーン空燃比にする制御が開始された直後であるから、触媒下流空燃比センサ出力Voxsは理論空燃比よりもリッチな空燃比を示している。従って、CPU71はステップ2210にて「No」と判定し、ステップ2295にて本ルーチンを一旦終了する。
【0234】
以降、CPU71は図22のステップ2200〜2210を繰り返し実行する。また、空燃比は所定のリーン空燃比に略等しく制御されているから、所定の時間が経過すると図18の時刻t2のように触媒下流空燃比センサ出力Voxsはリッチを示す値からリーンを示す値に変化する。これにより、CPU71はステップ2210に進んだとき、同ステップ2210にて「Yes」と判定してステップ2215に進み、Modeの値を「2」に設定するとともに、続くステップ2220にて係数Kの値を1.02に設定し、その後ステップ2295にて本ルーチンを一旦終了する。この結果、機関の空燃比は理論空燃比よりもリッチな上記所定のリッチ空燃比に制御される。
【0235】
以降、CPU71は図22のルーチンの処理をステップ2200から繰り返し実行するが、Modeの値が「2」となっていることから、ステップ2205にて「No」と判定して直ちにステップ2295に進み、本ルーチンを一旦終了するようになる。
【0236】
同様に、CPU71は図23に示した第2モード制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングとなると、CPU71はステップ2300から処理を開始してステップ2305に進み、Modeの値が「2」であるか否かを判定する。この場合、先の図22のステップ2215の処理によりModeの値が「2」となっているから、CPU71はステップ2305にて「Yes」と判定してステップ2310に進み、同ステップ2310にて触媒下流空燃比センサ67の出力Voxsが理論空燃比よりリーンな空燃比を示す値から同理論空燃比よりリッチな空燃比を示す値に変化したか否かを判定し、かかる変化がない場合にはステップ2395に進んで本ルーチンを一旦終了する処理を行う。
【0237】
そして、図18の時刻t3に示したように、触媒下流空燃比センサ67の出力Voxsが理論空燃比よりリーンな空燃比を示す値から同理論空燃比よりリッチな空燃比を示す値に変化すると、CPU71はステップ2310からステップ2315に進んで第3モードに移行すべくModeの値を「3」に設定し、続くステップ2320にて係数Kの値を0.98に設定する。この結果、Modeの値が「1」である場合と同様に、機関の空燃比が上記所定のリーン空燃比に再び制御される。
【0238】
また、CPU71は図24に示した第3モード制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングとなると、CPU71はステップ2400から処理を開始してステップ2405に進み、Modeの値が「3」であるか否かを判定する。この場合、先の図23のステップ2315の処理によりModeの値は「3」となっているから、CPU71はステップ2405にて「Yes」と判定してステップ2410に進み、同ステップ2410にて触媒下流空燃比センサ67の出力Voxsが理論空燃比よりリッチな空燃比を示す値から同理論空燃比よりリーンな空燃比を示す値に変化したか否かをモニタする。
【0239】
そして、図18の時刻t4に示したように、触媒下流空燃比センサ67の出力Voxsが理論空燃比よりリッチな空燃比を示す値から同理論空燃比よりリーンな空燃比を示す値に変化すると、CPU71はステップ2410からステップ2415に進んでModeの値を「0」に再設定し、続くステップ2420にて最大酸素吸蔵量取得制御実行中フラグXHANの値を「0」に設定した後、ステップ2495に進んで本ルーチンを一旦終了する。
【0240】
これにより、CPU71は図21のルーチンを実行する際、ステップ2105にて「Yes」と判定してステップ2110に進むので、係数Kの値が1.00に戻される。また、最大酸素吸蔵量取得制御実行中フラグXHANの値が「0」に戻されたので、他の空燃比フィードバック制御条件、及びサブフィードバック制御条件が成立していれば、CPU71は図8のステップ805及び図20のステップ2005にてそれぞれ「Yes」と判定するから、空燃比フィードバック制御(メインフィードバック制御)及びサブフィードバック制御がそれぞれ再開され、これらにより空燃比が理論空燃比にフィードバック制御されるようになる。
【0241】
以上、説明したように、最大酸素吸蔵量所得制御の開始判定条件が成立すると、機関の空燃比が所定のリーン空燃比、所定のリッチ空燃比、及び同所定のリーン空燃比の順に強制的に制御される。
【0242】
次に、最大酸素吸蔵量取得のための酸素吸蔵量の算出における作動について説明する。CPU71は図25のフローチャートにより示されたルーチンを所定時間の経過毎に実行するようになっている。
【0243】
従って、所定のタイミングになると、CPU71は図25のステップ2500から処理を開始し、ステップ2505に進んで下記数27により酸素吸蔵量変化量ΔO2を求める。
【0244】
【数27】
ΔO2=0.23・mfr・(stoich − abyfs)
【0245】
次いで、CPU71はステップ2510に進んでModeの値が「2」であるか否かを判定し、Modeの値が「2」であれば同ステップ2510にて「Yes」と判定してステップ2515に進む。そして、CPU71は、ステップ2515にてその時点の第2モードの酸素吸蔵量OSA2に上記酸素吸蔵量変化量ΔO2の絶対値を加えた値を新たな酸素吸蔵量OSA2として設定し、その後ステップ2530に進む。
【0246】
このような処置(ステップ2500〜2515)は、Modeの値が「2」である限り繰り返し実行される。この結果、触媒53の上流の空燃比が所定のリッチ空燃比とされる第2モード(Mode=2)において、触媒53の酸素吸蔵量OSA2が算出されて行く。なお、ステップ2510での判定において「No」と判定される場合、CPU71は同ステップ2510からステップ2520に直接進む。
【0247】
CPU71は、ステップ2520に進んだ場合、Modeの値が「3」であるか否かを判定し、Modeの値が「3」であれば同ステップ2520にて「Yes」と判定してステップ2525に進む。そして、CPU71は、ステップ2525にてその時点の第3モードの酸素吸蔵量OSA3に上記酸素吸蔵量変化量ΔO2の絶対値を加えた値を新たな酸素吸蔵量OSA3として設定し、その後ステップ2530に進む。
【0248】
このような処置(ステップ2500,2505,2510,2520,2525)は、Modeの値が「3」である限り繰り返し実行される。この結果、触媒53の上流の空燃比が所定のリーン空燃比とされる第3モード(Mode=3)において、触媒53の酸素吸蔵量OSA3が算出されて行く。なお、ステップ2520での判定において「No」と判定される場合、CPU71は同ステップ2520からステップ2530に直接進む。
【0249】
そして、CPU71は、ステップ2530に進むと、同ステップ2530にて燃料噴射量Fiの合計量mfrを「0」に設定し、その後ステップ2595に進んで本ルーチンを一旦終了する。
【0250】
次に、最大酸素吸蔵量算出における作動について説明する。CPU71は図26のフローチャートにより示されたルーチンを所定時間の経過毎に実行するようになっている。
【0251】
従って、所定のタイミングになると、CPU71は図26のステップ2600から処理を開始し、ステップ2605に進んで最大酸素吸蔵量取得制御実行中フラグXHANの値が「1」から「0」に変化したか否かをモニタする。このとき、第3モードが終了して、先に説明した図24のステップ2420にて最大酸素吸蔵量取得制御実行中フラグXHANの値が「0」に変更されると、CPU71はステップ2605にて「Yes」と判定してステップ2610に進む。ここで、最大酸素吸蔵量取得制御実行中フラグXHANの値が変化していなければ、CPU71はステップ2605からステップ2695に直接進んで本ルーチンを一旦終了する。
【0252】
いま、第3モードが終了した直後であるとすると、最大酸素吸蔵量取得制御実行中フラグXHANの値が「1」から「0」に変更された直後であるから、CPU71はステップ2605からステップ2610に進み、その時点の酸素吸蔵量OSA2及びOSA3を、それぞれ触媒53全体の第2モードにおける最大酸素吸蔵量Cmax2及び第3モードにおける最大酸素吸蔵量Cmax3として格納する。
【0253】
次に、CPU71はステップ2615に進み、ステップ2610にて算出した第2モードにおける最大酸素吸蔵量Cmax2と第3モードにおける最大酸素吸蔵量Cmax3の平均値を触媒53全体の最大酸素吸蔵量Cmaxallとして設定する。
【0254】
次いで、CPU71はステップ2620に進み、カウンタ値nの値を「0」に設定した後、ステップ2625に進んで触媒53の各ブロック毎の最大酸素吸蔵量を算出する処理を開始する。まず、CPU71はステップ2625においてカウンタ値nの値を「1」だけ増大して「1」に設定した後、ステップ2630に進んで上記ステップ2615にて取得した触媒53全体の最大酸素吸蔵量Cmaxallの値と、カウンタ値nの値と、上記数25(の右辺)に基くステップ2630内に記載した式とに基いて触媒53のブロック(n)における最大酸素吸蔵量Cmax(n)を算出する。この時点ではカウンタ値nの値は「1」であるから、ブロック(1)における最大酸素吸蔵量Cmax(1)が算出される。
【0255】
そして、CPU71はステップ2635に進んでカウンタ値nの値が触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ2635にて「No」と判定し、再びステップ2625に戻ってカウンタ値nの値を「1」だけ増大した後ステップ2630及びステップ2635の処理を実行する。即ち、ステップ2625及びステップ2630の処理は、カウンタ値nの値が触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)の最大酸素吸蔵量Cmax(n)の値が順次算出されていく。
【0256】
前述のステップ2625の処理が繰り返されることによりカウンタ値nの値が触媒53のブロック数Nと等しくなると、CPU71はステップ2635にて「Yes」と判定してステップ2640に進み、ステップ2615にて算出した触媒53全体の最大酸素吸蔵量Cmaxallの半分の値を目標酸素吸蔵量OSAallrefとして設定し、続くステップ2645に進んで酸素吸蔵量OSA2及びOSA3の各々の値を「0」に設定した後、ステップ2695に進んで本ルーチンを一旦終了する。
【0257】
(各ブロック毎の流出酸素量及び酸素吸蔵量、並びに触媒全体の酸素吸蔵量の計算)
次に、触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等の算出における作動について説明する。CPU71は図27〜図29の一連のフローチャートにより示されたルーチンを所定時間の経過毎に図27のルーチンから順に実行するようになっている。
【0258】
従って、所定のタイミングになると、CPU71は、触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出するための図27及びこれに続く図28に示されたルーチンのステップ2700から処理を開始し、ステップ2702に進んで、図17に示したテーブルと同様のテーブルであるステップ2702内に記載のテーブルと、触媒冷却モード実行中フラグCOLDの値(「1」又は「0」)とに基いて、実際の排気浄化装置の構成により決まるサブフィードバック制御上の制御のむだ時間Tdeadの値を選択する。
【0259】
次に、CPU71はステップ2704に進み、ステップ2702にて選択されたむだ時間Tdeadと、同むだ時間Tdeadの値に基いた関数であるf3(Tdead)により、触媒モデルが計算を実行する際に使用するむだ時間に相当する値である値Ndeadを算出する。ここで、ステップ2702及び2704は、むだ時間変更手段に対応している。次いで、CPU71はステップ2706に進んで、触媒温度センサ68により得られる触媒温度Tの値と、図15に示したテーブルと同一のテーブルであるステップ2706内に記載のテーブルとに基いて反応速度係数h(T)を算出する。
【0260】
次に、CPU71はステップ2708に進み、図7のステップ725にて逐次更新されている燃料噴射量積算値mfr1と、触媒上流空燃比センサ66により検出された現時点からNdeadストローク前の空燃比の値である空燃比abyfs(k-Ndead)と、上記数20(の右辺)に基くステップ2708内に記載した式とに基いて、先に説明したように境界条件である触媒53のブロック(1)における流入酸素量CginO2(1)を算出する。
【0261】
次いで、CPU71はステップ2710に進んでカウンタ値nの値、及び触媒53全体の酸素吸蔵量OSAallの値をそれぞれ「0」に設定した後、ステップ2712に進んで触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出する処理を開始する。まず、CPU71はステップ2712においてカウンタ値nの値を「1」だけ増大して「1」に設定する。カウンタ値nは触媒53のブロックの番号を示している。この時点ではカウンタ値nの値は「1」であり、続くステップ2714から図28のステップ2736までの今回の処理においてカウンタ値nの値は「1」に維持されるので、今回の同ステップ2714〜ステップ2736までの処理においては最上流のブロック(1)における計算が実行される。
【0262】
まず、CPU71はステップ2714に進んで、流入酸素量CginO2(1)の値が「0」以上であるか否かを判定し、流入酸素量CginO2(1)の値が「0」以上であれば同ステップ2714において「Yes」と判定するとともにステップ2716に進んで、図26のステップ2630にて既に算出されているブロック(1)の最大酸素吸蔵量Cmax(1)の値と、後述する図28のステップ2730にて前回本ルーチンが実行されたときに計算(更新)されたブロック(1)の酸素吸蔵量OSA(1)の値と、ステップ2706にて算出した反応速度係数h(T)の値と、上記数9(の右辺)に基くステップ2716内に記載した式とに基いてブロック(1)における反応率Hを算出する。
【0263】
また、ステップ2714における判定において、流入酸素量CginO2(1)の値が「0」以上でなければCPU71は同ステップ2714において「No」と判定するとともにステップ2718に進んで、上記最大酸素吸蔵量Cmax(1)の値と、上記酸素吸蔵量OSA(1)の値と、上記反応速度係数h(T)の値と、上記数11(の右辺)に基くステップ2718内に記載した式とに基いてブロック(1)における反応率Hを算出する。
【0264】
次いで、CPU71はステップ2720に進み、ステップ2716又はステップ2718にて算出した反応率Hの値と、ステップ2708にて算出した触媒53のブロック(1)における流入酸素量CginO2(1)の値と、上記数8(の右辺)又は上記数10(の右辺)に基くステップ2720内に記載した式とに基いてブロック(1)における酸素吸蔵量変化量δOSA(1)を算出する。
【0265】
次に、CPU71はステップ2722に進んで、後述する図28のステップ2730にて前回本ルーチンが実行されたときに計算されたブロック(1)の酸素吸蔵量OSA(1)の値とステップ2720にて今回算出したブロック(1)の酸素吸蔵量変化量δOSA(1)の値とを積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)の値以下であるか否かを判定する。
【0266】
ここで、前記積算した値が最大酸素吸蔵量Cmax(1)の値以下であればCPU71は同ステップ2722にて「Yes」と判定してステップ2724に進んで同積算した値が「0」以上であるか否かを判定するとともに、同積算した値が「0」以上であれば同ステップ2724にて「Yes」と判定して図28のステップ2730に進んで、同積算した値を新たな酸素吸蔵量OSA(1)として設定する。このように、前記積算した値が「0」以上最大酸素吸蔵量Cmax(1)以下であればステップ2720にて算出された酸素吸蔵量変化量δOSA(1)の値がそのままブロック(1)における酸素吸蔵量変化量として使用される。
【0267】
一方、ステップ2722の判定において、前記積算した値が最大酸素吸蔵量Cmax(1)の値を超えていればCPU71は同ステップ2722にて「No」と判定してステップ2726に進み、最大酸素吸蔵量Cmax(1)の値から前回算出した酸素吸蔵量OSA(1)の値を減算した値を酸素吸蔵量変化量δOSA(1)に格納した後、図28のステップ2730に進む。このように、前記積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)を超えていれば今回ステップ2730にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)を超えてしまうことを意味するので、今回ステップ2730にて算出される酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)の値と等しくなるように酸素吸蔵量変化量δOSA(1)が調整される。
【0268】
同様に、ステップ2724の判定において、前記積算した値が「0」未満(負の値)となっていればCPU71は同ステップ2724にて「No」と判定してステップ2728に進み、前回算出した酸素吸蔵量OSA(1)の値に対して符号を反転させた値を酸素吸蔵量変化量δOSA(1)に格納した後、図28のステップ2730に進む。このように、前記積算した値が「0」未満であれば今回ステップ2730にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が「0」未満(負の値)になってしまうことを意味するので、今回ステップ2730にて算出される酸素吸蔵量OSA(1)の値が「0」になるように酸素吸蔵量変化量δOSA(1)が調整される。
【0269】
ステップ2730にてブロック(1)における今回の酸素吸蔵量OSA(1)を算出した後、CPU71はステップ2732に進んでステップ2708にて算出したブロック(1)における流入酸素量CginO2(1)の値と、上記調整後のブロック(1)における酸素吸蔵量変化量δOSA(1)の値と、上記数7(の右辺)に基くステップ2732内に記載した式とに基いてブロック(1)における流出酸素量CgoutO2(1)を算出する。
【0270】
次いで、CPU71はステップ2734に進んで、(現時点ではステップ2710の実行により「0」となっている)現時点における触媒53全体の酸素吸蔵量OSAallの値にステップ2730にて算出されたブロック(1)における今回の酸素吸蔵量OSA(1)の値を加えた値を新たな触媒53全体の酸素吸蔵量OSAallとして格納した後、ステップ2736に進んで、ステップ2732にて算出されたブロック(1)における流出酸素量CgoutO2(1)の値と、上記数13に基いてブロック(1)に隣接する下流側のブロック(2)における流入酸素量CginO2(2)を算出する。
【0271】
そして、CPU71はステップ2738に進んでカウンタ値nの値が触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ2738にて「No」と判定し、再び図27のステップ2712に戻ってカウンタ値nの値を「1」だけ増大して「2」に設定した後、続くステップ2714〜ステップ2736までの処理を実行することで次のブロックであるブロック(2)における計算を実行する。このとき、ステップ2732における流入酸素量CginO2(2)の値としては前回ステップ2736にて算出した流入酸素量CginO2(2)の値が使用される。
【0272】
このようにして、ステップ2714〜ステップ2736までの処理は、カウンタ値nの値が触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)の流入酸素量CginO2(n)、流出酸素量CgoutO2(n)、酸素吸蔵量変化量δOSA(n)、及び酸素吸蔵量OSA(n)の値が順次算出されていく。また、ステップ2734の処理が繰り返し実行されることにより、取得値としての触媒53全体の酸素吸蔵量OSAallも算出される。ここで、ステップ2734は、取得値取得手段に対応している。
【0273】
図27のステップ2712の処理が繰り返されることによりカウンタ値nの値が触媒53のブロック数Nと等しくなると、CPU71は図28のステップ2738にて「Yes」と判定してステップ2740に進み、燃料噴射量積算値mfr1の値を「0」に設定した後、ステップ2795を経由して、図29に示された触媒53の各ブロック毎の酸素吸蔵量の値、並びに触媒53全体の酸素吸蔵量の値を初期化(クリア)するためのルーチンのステップ2900に進む。
【0274】
次に、CPU71はステップ2905に進んで、触媒下流空燃比センサ67の出力Voxsの値が0.7(V)より大きいか否かをモニタする。このとき、触媒下流空燃比センサ67の出力Voxsの値が0.7(V)より大きければ、即ち、触媒53の下流空燃比がリッチ空燃比であれば、同触媒53内全体に吸蔵されている酸素量が「0」であることを意味するので、CPU71はステップ2910に進んで触媒53の各ブロック毎の酸素吸蔵量の値及び触媒53全体の酸素吸蔵量の値を総て「0」に設定する処理を開始する。一方、ステップ2905の判定において、触媒下流空燃比センサ67の出力Voxsの値が0.7(V)以下であれば、CPU71はステップ2905からステップ2995に直接進む。
【0275】
いま、ステップ2905の判定において触媒下流空燃比センサ67の出力Voxsの値が0.7(V)より大きくなっているとすると、CPU71はステップ2910に進み、カウンタ値nの値を「0」に設定した後、ステップ2915に進んでカウンタ値nの値を「1」だけ増大して「1」に設定する。次いで、CPU71はステップ2920に進んで、触媒53のブロック(n)における酸素吸蔵量OSA(n)の値を「0」に設定する。この時点ではカウンタ値nの値は「1」であるから、最上流のブロック(1)における酸素吸蔵量OSA(1)の値が「0」に設定される。
【0276】
そして、CPU71はステップ2925に進んでカウンタ値nの値が触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ2925にて「No」と判定し、再びステップ2915に戻ってカウンタ値nの値を「1」だけ増大した後ステップ2920及びステップ2925の処理を実行する。即ち、ステップ2920及びステップ2925の処理は、カウンタ値nの値が触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)における酸素吸蔵量OSA(n)の値が総て「0」にクリアされる。
【0277】
前述のステップ2915の処理が繰り返されることによりカウンタ値nの値が触媒53のブロック数Nと等しくなると、CPU71はステップ2925にて「Yes」と判定してステップ2930に進み、触媒53全体の酸素吸蔵量OSAallの値を「0」に設定した後、ステップ2995に進んで、図27〜図29に示した一連のルーチンを一旦終了する。
【0278】
以上、説明したように、本発明による第2実施形態によれば、計算で得られる触媒53の内部の状態を表す「触媒53全体の酸素吸蔵量OSAall」の変化に応じて図20のステップ2015及びステップ2020の処理によりサブフィードバック制御量vafsfbが直ちに変更され得る。この結果、機関の空燃比の急変等により触媒53の内部の状態が急変した場合であっても、計算により得られる酸素吸蔵量OSAallの値に基くサブフィードバック制御により、上記触媒53の内部の状態の急変が直ちに補償され得るので、より一層触媒53の状態を良好に維持することができた。
【0279】
また、触媒53全体の酸素吸蔵量OSAallの目標値である目標酸素吸蔵量OSAallrefは、常に、触媒53全体の最大酸素吸蔵量Cmaxallの半分の値として設定される。従って、触媒53の劣化が進行して最大酸素吸蔵量Cmaxallが低下しても、触媒53が有する酸素を吸蔵する余裕度(相当のリーン空燃比のガスの突然の流入に対する余裕度)と吸蔵している酸素を放出する余裕度(相当のリッチ空燃比のガスの突然の流入に対する余裕度)とを同等になるように維持することができた。
【0280】
(第3実施形態)
次に、本発明の第3実施形態に係る内燃機関の排気浄化装置について説明する。この第3実施形態は、第2実施形態と同一の触媒モデルを使用して算出した計算値である触媒53の最下流のブロック(N)からの流出酸素量CgoutO2(N)の値(取得値)が所定の目標値(本例では、「0」)になるように同計算値である流出酸素量CgoutO2(N)の値に基いて機関の空燃比をサブフィードバック制御する点を除き、上述した第2実施形態と同一であるので、以後は、かかる相違点のみを説明する。
【0281】
(サブフィードバック制御量の計算)
第3実施形態においては、CPU71は、第2実施形態と同等、上述した図7及び図8に示したルーチン、上述した図10〜図12に示したルーチン、図21〜図29に示したルーチンを所定時間の経過毎に繰り返し実行していることに加え、図20に示した第2実施形態におけるルーチンの代わりに図30に示した上記流出酸素量CgoutO2(N)の値を「0」にするためのサブフィードバック制御量vafsfbを求めるルーチンを所定時間の経過毎に繰り返し実行している。
【0282】
図30のステップ3005,3010,3025の処理については、それぞれ、図20のステップ2005,2010,2030の処理と同一であるのでここではこれらの説明を省略する。CPU71はステップ3015に進むと、下記数28に基いてサブフィードバック制御量vafsfbを求める。
【0283】
【数28】
vafsfb=Kp・CgoutO2(N)+Ki・SCgoutO2
【0284】
上記数28において、Kpはステップ3010で設定された比例ゲイン、Kiはステップ3010で設定された積分ゲインである。CgoutO2(N)は図28のステップ2732にて算出される触媒53の最下流のブロック(N)からの流出酸素量の最新値である。また、SCgoutO2は前記流出酸素量CgoutO2(N)の積分値であって、次のステップ3020にて更新される値である。即ち、CPU71は、ステップ3020に進んで、その時点における前記流出酸素量CgoutO2(N)の積分値SCgoutO2に上記ステップ2732にて求めたCgoutO2(N)を加えて、新たな流出酸素量CgoutO2(N)の積分値SCgoutO2を求め、その後、ステップ3095に進んで本ルーチンを一旦終了する。
【0285】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は第2実施形態と同様に、前述した図8のステップ810にて触媒上流空燃比センサ66の実際の出力に加えられてメインフィードバック制御用空燃比abyfs1に変換される。この結果、前述した図8のステップ815にて計算される筒内燃料供給量Fc(k−N)が上記流出酸素量CgoutO2(N)に応じて変化し、ステップ825,830にてフィードバック補正量DFiが同流出酸素量CgoutO2(N)に応じて変更せしめられる。これにより、算出された流出酸素量CgoutO2(N)が「0」となるように機関の空燃比が制御される。
【0286】
ここで、先に説明した数7〜数19(特に、数9及び数11)から明らかなように、触媒53の最下流のブロック(N)から流出する流出酸素量CgoutO2(N)の値は、触媒53の各ブロック(n)における酸素吸蔵量OSA(n)の値(触媒53全体の酸素吸蔵量OSAallの値)に依存する。従って、触媒53の最下流のブロック(N)における流出酸素量CgoutO2(N)の値は、少なくとも触媒53の酸素吸蔵量に応じて変化する値(取得値)である。
【0287】
具体的に述べると、触媒53の最上流のブロック(1)における流入酸素量CginO2(1)の値が正の値のとき(酸素が過剰であるとき)、各ブロック(n)における酸素吸蔵量OSA(n)の値が大きいほど、上記数9により算出される各ブロック(n)における反応率H(n)は小さくなり、上記数8により算出される各ブロック(n)における酸素吸蔵量変化量δOSA(n)の値(正の値)も小さくなるので、上記数7により算出される各ブロック(n)における流出酸素量CgoutO2(n)の値(正の値)が大きくなり、最下流のブロック(N)における流出酸素量CgoutO2(N)の値(正の値)も大きくなる。
【0288】
また、触媒53の最上流のブロック(1)における流入酸素量CginO2(1)の値が負の値のとき(酸素が不足しているとき)、各ブロック(n)における酸素吸蔵量OSA(n)の値が小さいほど、上記数11により算出される各ブロック(n)における反応率H(n)は小さくなり、上記数10により算出される各ブロック(n)における酸素吸蔵量変化量δOSA(n)の値(負の値)の絶対値も小さくなるので、上記数7により算出される各ブロック(n)における流出酸素量CgoutO2(n)の値(負の値)の絶対値が大きくなり、最下流のブロック(N)における流出酸素量CgoutO2(N)の値(負の値)の絶対値も大きくなる。
【0289】
以上のことから、触媒53全体の酸素吸蔵量OSAallの値が最大酸素吸蔵量Cmaxallに近づくほど触媒53の最下流のブロック(N)における流出酸素量CgoutO2(N)の値(正の値)が大きくなるとともに、同酸素吸蔵量OSAallの値が「0」に近づくほど同流出酸素量CgoutO2(N)の値(負の値)の絶対値が大きくなる傾向がある。この結果、第3実施形態のように、触媒53の最下流のブロック(N)からの流出酸素量CgoutO2(N)の値が「0」になるように同流出酸素量CgoutO2(N)の値に基いて機関の空燃比をサブフィードバック制御しても、第2実施形態と同様、触媒53の酸素吸蔵量OSAallの値を最大酸素吸蔵量Cmaxallの半分程度になるように制御することができる。
【0290】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、サブフィードバック制御を比例積分制御で行っているが、同サブフィードバック制御を比例積分微分制御で行ってもよい。
【0291】
また、上記実施形態においては、触媒温度Tを触媒温度センサ68により直接取得しているが、吸入空気量AFMに一次遅れ処理を施した値(吸入空気量に応じた値)と、エンジン回転速度NEの値及びスロットル弁開度TAの値の各々の現時点までの履歴(エンジン回転速度及びスロットル弁開度に応じた値)に基いて触媒温度Tを推定してもよい。
【0292】
また、上記実施形態においては、触媒冷却モードから通常モードに移行する直前に、第1所定時間に渡りサブフィードバック制御を中断し、リッチ排気ガス発生制御により強制的にリッチ空燃比abyfRの排気ガスを発生させて、同リッチ空燃比abyfRの排気ガス中の酸素の不足量TotalO2を算出しているが、同第1所定時間においてもサブフィードバック制御を継続して同サブフィードバック制御下において同第1所定時間内に排出された排気ガス中の酸素の過不足量を算出しておき、その後、通常モードから触媒冷却モードに移行した直後に、上記酸素の過不足量を補償することができる酸素の過不足量を有する特定排気ガスを発生させるように構成してもよい。
【0293】
また、上記第1所定時間に渡り機関の空燃比を強制的に理論空燃比になるように制御することにより、同第1所定時間に渡り理論空燃比の排気ガスが発生するように構成してもよい。この場合、通常モード実行中において密閉空間内に保持される排気ガスの空燃比は理論空燃比となり同排気ガス中の酸素の過不足量は略「0」になる。従って、通常モードから触媒冷却モードに移行した直後に特定排気ガスを発生させる必要はなく、通常モードから触媒冷却モードに移行した直後もサブフィードバック制御を継続するように構成すればよい。
【図面の簡単な説明】
【図1】 本発明による第1実施形態に係る排気浄化装置を内燃機関に適用したシステムの概略図である。
【図2】 図1に示したエアフローメータの出力電圧と計測された吸入空気量との関係を示したマップである。
【図3】 図1に示した触媒上流空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図4】 図1に示した触媒下流空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図5】 図1に示した排気浄化装置が排気通路を切替えた場合のサブフィードバック制御における比例ゲイン及び積分ゲインの変化を示した図である。
【図6】 (A)〜(C)は、図1に示した排気浄化装置が触媒冷却モード・通常モード間移行処理を実行しないと仮定した場合における気筒流出ガスの空燃比、触媒流入ガスの空燃比、触媒の酸素吸蔵量の変化を示したタイムチャートである。(D)〜(F)は、図1に示した排気浄化装置が触媒冷却モード・通常モード間移行処理を実行する場合における気筒流出ガスの空燃比、触媒流入ガスの空燃比、触媒の酸素吸蔵量の変化を示したタイムチャートである。
【図7】 図1に示したCPUが実行する燃料噴射量計算のためのルーチンを示したフローチャートである。
【図8】 図1に示したCPUが実行する空燃比フィードバック補正量を計算するためのルーチンを示したフローチャートである。
【図9】 図1に示したCPUが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図10】 図1に示したCPUが実行する触媒冷却モード・通常モード間移行処理を実行するためのルーチンの前半部を示したフローチャートである。
【図11】 図1に示したCPUが実行する触媒冷却モード・通常モード間移行処理を実行するためのルーチンの後半部を示したフローチャートである。
【図12】 図1に示したCPUが実行する排気通路切替処理を実行するためのルーチンを示したフローチャートである。
【図13】 触媒モデルを模式的に示した図である。
【図14】 図13に示した触媒モデルの特定領域に注目したときの同特定領域における酸素吸蔵・放出反応に関係する特定成分の収支を示した図である。
【図15】 図13に示した触媒モデルが計算に使用する反応速度係数と触媒温度との関係を示したグラフである。
【図16】 図13に示した触媒モデルを第2実施形態に係る排気浄化装置の触媒に適用した場合の模式図である。
【図17】 第2実施形態に係る排気浄化装置が排気通路を切替えた場合の実際の排気浄化装置の構成により決まるサブフィードバック制御上の制御のむだ時間の変化を示した図である。
【図18】 第2実施形態に係る排気浄化装置が触媒の最大酸素吸蔵量を求める場合の同触媒上流の空燃比、触媒下流空燃比センサの出力、同触媒の酸素吸蔵量の変化を示したタイムチャートである。
【図19】 図13に示した触媒モデルが対象とする触媒全体の最大酸素吸蔵量から同触媒の各ブロック毎の各最大酸素吸蔵量の分布を求めるためのマップである。
【図20】 第2実施形態に係るCPUが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【図21】 第2実施形態に係るCPUが実行する最大酸素吸蔵量取得制御を開始するか否かを決定するためのルーチンを示したフローチャートである。
【図22】 第2実施形態に係るCPUが実行する第1モードのルーチンを示したフローチャートである。
【図23】 第2実施形態に係るCPUが実行する第2モードのルーチンを示したフローチャートである。
【図24】 第2実施形態に係るCPUが実行する第3モードのルーチンを示したフローチャートである。
【図25】 第2実施形態に係るCPUが実行する酸素吸蔵量を算出するためのルーチンを示したフローチャートである。
【図26】 第2実施形態に係るCPUが実行する最大酸素吸蔵量を算出するためのルーチンを示したフローチャートである。
【図27】 第2実施形態に係るCPUが実行する触媒の各ブロック毎の流出酸素量、酸素吸蔵量等を算出するためのルーチンの前半部を示したフローチャートである。
【図28】 第2実施形態に係るCPUが実行する触媒の各ブロック毎の流出酸素量、酸素吸蔵量等を算出するためのルーチンの後半部を示したフローチャートである。
【図29】 第2実施形態に係るCPUが実行する触媒の各ブロック毎の酸素吸蔵量をクリアするためのルーチンを示したフローチャートである。
【図30】 第3実施形態に係るCPUが実行するサブフィードバック制御量を計算するためのルーチンを示したフローチャートである。
【符号の説明】
10…内燃機関、25…燃焼室、39…インジェクタ、52…エキゾーストパイプ(排気管)、53…三元触媒、54・・・触媒冷却用パイプ、55・・・常開型電磁式開閉弁、56・・・上流側常閉型電磁式開閉弁、57・・・下流側常閉型電磁式開閉弁、66…触媒上流空燃比センサ、67…触媒下流空燃比センサ、68…触媒温度センサ、70…電気制御装置、71…CPU。
Claims (4)
- 排気ガスを浄化する触媒と、
前記触媒が介装される排気通路であって、同触媒よりも上流の同排気通路には第1の排気経路と、同第1の排気経路よりも長い第2の排気経路とを有する内燃機関の排気通路と、
前記排気ガスが前記第1の排気経路を介して前記触媒に流入するように前記排気通路が構成される第1の場合と、同排気ガスが少なくとも前記第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合のいずれか一方を前記内燃機関の運転状態に応じて選択するとともに、同排気通路が選択された場合に対応する構成となるように同排気通路を切替える排気通路切替手段と、
前記触媒よりも下流の前記排気通路に配設された空燃比センサと、
前記空燃比センサの出力が前記触媒の浄化効率が良好となる所定の目標値となるように、前記出力と前記目標値との偏差に比例ゲインを乗じた値と前記偏差の積算値に積分ゲインを乗じた値とを用いてフィードバック制御量を算出し、前記フィードバック制御量に基いて前記内燃機関の空燃比をフィードバック制御する空燃比フィードバック制御手段と、を備えた内燃機関の排気浄化装置であって、
前記排気通路切替手段により前記第2の場合が選択された場合、前記第1の場合が選択された場合に比して、前記比例ゲイン及び積分ゲインを小さい値に設定するフィードバック制御定数変更手段を備えた内燃機関の排気浄化装置。 - 排気ガスを浄化する触媒と、
前記触媒が介装される排気通路であって、同触媒よりも上流の同排気通路には第1の排気経路と、同第1の排気経路と長さが異なる第2の排気経路とを有する内燃機関の排気通路と、
前記排気ガスが前記第1の排気経路を介して前記触媒に流入するように前記排気通路が構成される第1の場合と、同排気ガスが少なくとも前記第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合のいずれか一方を前記内燃機関の運転状態に応じて選択するとともに、同排気通路が選択された場合に対応する構成となるように同排気通路を切替える排気通路切替手段と、
前記触媒における酸素の吸蔵・放出反応に着目するとともに、少なくとも前記触媒に流入する排気ガスの状態及び同触媒の酸素吸蔵量に基いて同触媒が内部に流入する排気ガスから吸蔵する酸素量及び内部に吸蔵している酸素から放出する酸素量を算出するモデルを使用して、少なくとも前記触媒の酸素吸蔵量に応じて変化する値を取得値として取得する取得値取得手段と、
前記取得値が前記触媒の浄化効率が良好となる所定の目標値となるように同取得値に基いて前記内燃機関の空燃比をフィードバック制御する空燃比フィードバック制御手段と、を備えた内燃機関の排気浄化装置であって、
前記取得値取得手段により用いられる前記モデルは、前記触媒よりも上流の前記排気通路を排気ガスが通過する際の通過時間をむだ時間として考慮して同触媒に流入する排気ガスの状態を取得するように構成されているとともに、
前記排気通路切替手段により選択された場合に応じて前記むだ時間を変更するむだ時間変更手段を備えた内燃機関の排気浄化装置。 - 請求項2に記載の内燃機関の排気浄化装置であって、
前記触媒の温度を取得する触媒温度取得手段を備え、
前記取得値取得手段は、前記触媒温度取得手段により取得された前記触媒の温度に応じて変化する温度パラメータを使用した前記モデルにより前記取得値を取得するように構成された内燃機関の排気浄化装置。 - 排気ガスを浄化する触媒と、
前記触媒が介装される排気通路であって、同触媒よりも上流の同排気通路には第1の排気経路と、同第1の排気経路と長さが異なる第2の排気経路とを有する内燃機関の排気通路と、
前記排気ガスが前記第1の排気経路を介して前記触媒に流入するように前記排気通路が構成される第1の場合と、同排気ガスが前記第2の排気経路を介して同触媒に流入するように同排気通路が構成される第2の場合のいずれか一方を前記内燃機関の運転状態に応じて選択するとともに、同排気通路が選択された場合に対応する構成となるように同排気通路を切替える排気通路切替手段と、を備えた内燃機関の排気浄化装置であって、
前記排気通路が前記第2の場合に対応する構成から第1の場合に対応する構成に切替えられる前に前記第2の排気経路に流入する排気ガスの状態に基いて、同排気経路が同第2の場合に対応する構成から第1の場合に対応する構成に切替えられた後に同第2の排気経路内に残留する残留ガス中の酸素の過不足量に応じた値を取得する残留ガス状態取得手段と、
前記排気通路が前記第1の場合に対応する構成から第2の場合に対応する構成に切替えられた後に、前記残留ガス中の酸素の過不足量に応じた値に応じて前記触媒の浄化効率を良好とするための特定排気ガスが発生するように前記内燃機関の空燃比を制御する特定排気ガス発生手段と、を備えた内燃機関の排気浄化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002245746A JP4239521B2 (ja) | 2002-08-26 | 2002-08-26 | 内燃機関の排気浄化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002245746A JP4239521B2 (ja) | 2002-08-26 | 2002-08-26 | 内燃機関の排気浄化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004084537A JP2004084537A (ja) | 2004-03-18 |
JP4239521B2 true JP4239521B2 (ja) | 2009-03-18 |
Family
ID=32053849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002245746A Expired - Fee Related JP4239521B2 (ja) | 2002-08-26 | 2002-08-26 | 内燃機関の排気浄化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4239521B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2877043B1 (fr) * | 2004-10-27 | 2006-12-22 | Renault Sas | Procede et dispositif pour l'estimation des gaz d'echappement entrant dans un systeme de post-traitement place en aval d'un systeme de traitement de ces gaz |
JP5099261B2 (ja) * | 2009-05-21 | 2012-12-19 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
-
2002
- 2002-08-26 JP JP2002245746A patent/JP4239521B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004084537A (ja) | 2004-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3972748B2 (ja) | 内燃機関の排気浄化装置 | |
JP3846375B2 (ja) | 触媒劣化判定方法 | |
JP4511954B2 (ja) | 内燃機関の燃料噴射制御装置 | |
JP4380745B2 (ja) | 内燃機関の触媒の劣化度合い取得装置 | |
JP2009162139A (ja) | 内燃機関の空燃比制御装置 | |
JP3922091B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2009215933A (ja) | 内燃機関の制御装置 | |
JP2007239700A (ja) | 内燃機関の燃料噴射制御装置 | |
JP4379595B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4419950B2 (ja) | 内燃機関の制御装置 | |
JP5062120B2 (ja) | 内燃機関の排気浄化のための制御装置 | |
JP4239521B2 (ja) | 内燃機関の排気浄化装置 | |
US20130110380A1 (en) | Air-fuel ratio control apparatus for an internal combustion engine | |
JP4082130B2 (ja) | 触媒劣化判定装置 | |
JP3815386B2 (ja) | 触媒劣化判定方法 | |
JP2003314334A (ja) | 内燃機関の空燃比制御装置 | |
JP4349205B2 (ja) | 空燃比制御装置 | |
JP4103522B2 (ja) | 内燃機関の排気浄化装置 | |
JP2009162174A (ja) | 内燃機関の空燃比制御装置 | |
JP4023174B2 (ja) | 触媒劣化判定装置 | |
JP2004263591A (ja) | 内燃機関の排気浄化装置 | |
JP2004300981A (ja) | 触媒劣化判定装置 | |
JP4770583B2 (ja) | 内燃機関の混合気制御装置 | |
JP4069367B2 (ja) | 内燃機関の排気浄化装置 | |
JP2017115802A (ja) | 内燃機関の空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080826 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081015 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081215 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130109 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |