JP2004300981A - 触媒劣化判定装置 - Google Patents
触媒劣化判定装置 Download PDFInfo
- Publication number
- JP2004300981A JP2004300981A JP2003093248A JP2003093248A JP2004300981A JP 2004300981 A JP2004300981 A JP 2004300981A JP 2003093248 A JP2003093248 A JP 2003093248A JP 2003093248 A JP2003093248 A JP 2003093248A JP 2004300981 A JP2004300981 A JP 2004300981A
- 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.)
- Pending
Links
- 239000003054 catalyst Substances 0.000 title claims abstract description 504
- 230000006866 deterioration Effects 0.000 title claims abstract description 89
- 239000000446 fuel Substances 0.000 claims abstract description 386
- 229910052760 oxygen Inorganic materials 0.000 claims abstract description 362
- 239000001301 oxygen Substances 0.000 claims abstract description 362
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 claims abstract description 360
- 239000007789 gas Substances 0.000 claims description 100
- 238000006243 chemical reaction Methods 0.000 claims description 46
- 238000002485 combustion reaction Methods 0.000 claims description 18
- 230000007812 deficiency Effects 0.000 claims description 14
- 238000000746 purification Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 abstract description 15
- 230000007423 decrease Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 abstract description 5
- 230000002542 deteriorative effect Effects 0.000 abstract description 2
- MWUXSHHQAYIFBG-UHFFFAOYSA-N nitrogen oxide Inorganic materials O=[N] MWUXSHHQAYIFBG-UHFFFAOYSA-N 0.000 description 82
- 208000005374 Poisoning Diseases 0.000 description 50
- 231100000572 poisoning Toxicity 0.000 description 50
- 230000000607 poisoning effect Effects 0.000 description 50
- 238000011144 upstream manufacturing Methods 0.000 description 41
- 230000008859 change Effects 0.000 description 38
- 238000011084 recovery Methods 0.000 description 38
- 238000000034 method Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 32
- 238000002347 injection Methods 0.000 description 28
- 239000007924 injection Substances 0.000 description 28
- 230000008569 process Effects 0.000 description 28
- 239000000203 mixture Substances 0.000 description 27
- 238000005070 sampling Methods 0.000 description 13
- 238000012937 correction Methods 0.000 description 12
- 239000010410 layer Substances 0.000 description 10
- 239000003638 chemical reducing agent Substances 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 101100168093 Caenorhabditis elegans cogc-2 gene Proteins 0.000 description 6
- 238000013459 approach Methods 0.000 description 6
- 229910000510 noble metal Inorganic materials 0.000 description 6
- 239000007800 oxidant agent Substances 0.000 description 6
- NINIDFKCEFEMDL-UHFFFAOYSA-N Sulfur Chemical compound [S] NINIDFKCEFEMDL-UHFFFAOYSA-N 0.000 description 5
- 229910052717 sulfur Inorganic materials 0.000 description 5
- 239000011593 sulfur Substances 0.000 description 5
- 239000004215 Carbon black (E152) Substances 0.000 description 3
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 3
- 229910002091 carbon monoxide Inorganic materials 0.000 description 3
- CETPSERCERDGAM-UHFFFAOYSA-N ceric oxide Chemical compound O=[Ce]=O CETPSERCERDGAM-UHFFFAOYSA-N 0.000 description 3
- 239000000498 cooling water Substances 0.000 description 3
- 229930195733 hydrocarbon Natural products 0.000 description 3
- 150000002430 hydrocarbons Chemical class 0.000 description 3
- BASFCYQUMIYNBI-UHFFFAOYSA-N platinum Chemical compound [Pt] BASFCYQUMIYNBI-UHFFFAOYSA-N 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 230000003197 catalytic effect Effects 0.000 description 2
- 229910000422 cerium(IV) oxide Inorganic materials 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 150000002926 oxygen Chemical class 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 239000011247 coating layer Substances 0.000 description 1
- 239000002826 coolant Substances 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003647 oxidation Effects 0.000 description 1
- 238000007254 oxidation reaction Methods 0.000 description 1
- 229910052697 platinum Inorganic materials 0.000 description 1
- 238000006722 reduction reaction Methods 0.000 description 1
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Exhaust Gas After Treatment (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
Abstract
【課題】ドライバビリティを悪化させることなく、三元触媒が劣化したか否かを判定可能とすること。
【解決手段】この触媒劣化判定装置は、第1触媒が新品の触媒であると想定して構築された触媒モデルに基づき、同第1触媒から流出する流出酸素量CgoutO2(N)を推定する。そして、下流側空燃比センサ出力Voxsに基づく空燃比フィードバック制御中において、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる時点(時刻t1〜t4,t10〜t60)において前記流出酸素量CgoutO2(N)が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっている確率が所定値よりも低ければ、触媒が劣化触媒であると判定する。
【選択図】 図5
【解決手段】この触媒劣化判定装置は、第1触媒が新品の触媒であると想定して構築された触媒モデルに基づき、同第1触媒から流出する流出酸素量CgoutO2(N)を推定する。そして、下流側空燃比センサ出力Voxsに基づく空燃比フィードバック制御中において、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる時点(時刻t1〜t4,t10〜t60)において前記流出酸素量CgoutO2(N)が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっている確率が所定値よりも低ければ、触媒が劣化触媒であると判定する。
【選択図】 図5
Description
【0001】
【発明の属する技術分野】
本発明は、内燃機関の排気通路に配設された三元触媒が劣化したか否かを判定する触媒劣化判定装置に関する。
【0002】
【従来の技術】
従来より、内燃機関の排気ガスを浄化するための三元触媒(本明細書においては、単に「触媒」とも云うこともある。)が、同機関の排気通路に配設されている。この三元触媒は、酸素を貯蔵するO2ストレージ機能(酸素吸蔵機能)を有していて、流入するガスの空燃比がリッチである場合には貯蔵している酸素によりHC,CO等の未燃成分を酸化するとともに、流入するガスの空燃比がリーンである場合には窒素酸化物(NOx)を還元して同NOxから奪った酸素を内部に貯蔵(吸蔵)する。これにより、三元触媒は、触媒に流入するガスの空燃比が理論空燃比から偏移した場合でも、未燃成分や窒素酸化物を浄化することができる。従って、三元触媒が貯蔵し得る酸素量(以下、「酸素吸蔵量」と称呼する。)の最大値(以下、「最大酸素吸蔵量」と称呼する。)が大きいほど、三元触媒の浄化能力は高い。
【0003】
ところで、触媒は燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化する。その結果、触媒の酸素吸蔵機能は次第に低下する。即ち、触媒の劣化が進行するほど、同触媒の最大酸素吸蔵量は低下する。このことから、触媒の最大酸素吸蔵量が推定できれば、同推定した最大酸素吸蔵量に基づいて触媒が劣化したか否かを判定することができる。
【0004】
特許文献1に開示された触媒劣化判定装置は、このような知見に基づいたものであって、機関の空燃比を所定のリッチ空燃比からリーン空燃比(又は、その逆)に強制的に変化させ、その際における触媒下流に配置した空燃比センサ(以下、「下流側空燃比センサ」と称呼する。)の出力に基づいて同触媒の最大酸素吸蔵量を推定し、同推定した最大酸素吸蔵量に基づいて同触媒が劣化したか否かを判定するように構成されている。
【0005】
より具体的に述べると、上記開示された装置は、触媒上流の空燃比を所定のリッチな空燃比に制御して酸素吸蔵量を「0」にしておき、その後、同触媒の空燃比を所定のリーンな空燃比に制御し、触媒の酸素吸蔵量が最大酸素吸蔵量以上となって触媒下流の空燃比センサの出力がリーンへと変化するまでの時間と同触媒に単位時間当りに流入した酸素量とを乗じることで、同最大酸素吸蔵量を推定する。或いは、触媒上流の空燃比を所定のリーンな空燃比に制御して酸素吸蔵量を最大酸素吸蔵量としておき、その後、同触媒の空燃比を所定のリッチな空燃比に制御し、触媒の酸素吸蔵量が「0」となって触媒下流の空燃比センサの出力がリッチへと変化するまでの時間と同触媒内で単位時間当りに放出(消費)された酸素量とを乗じることで、同最大酸素吸蔵量を推定する。
【0006】
このように、上記開示された装置によれば、最大酸素吸蔵量を推定するために触媒に流入する酸素量、或いは触媒で消費される酸素量を計測する必要がある。この酸素量は機関の吸入空気量に基づいて計測される。従って、最大酸素吸蔵量を精度良く求めるためには、機関の吸入空気量が精度良く計測されなければならない。このため、上記触媒劣化度の判定は、吸入空気量が精度良く計測可能な運転状態で、即ち、機関が定常運転されているときに行われる必要がある。
【0007】
【特許文献1】
特開平5−133264号公報
【0008】
【発明が解決しようとする課題】
しかしながら、機関の定常状態が長時間継続する保証はないので、最大酸素吸蔵量の測定を短期間に終了させる必要があり、このため、前述した所定のリッチ空燃比と所定のリーン空燃比の差は比較的大きく設定されなければならない。この結果、かかる大きな空燃比変化に伴って機関の出力が変動し、ドライバビリティが悪化するという問題がある。また、機関の出力が安定している定常運転にあるときに空燃比の強制的変化が開始されるため、機関の出力変動が運転者に感知され易く、ドライバビリティの悪化が感知され易いという問題がある。
【0009】
従って、本発明の目的は、ドライバビリティを犠牲にすることなく、触媒が劣化しているか否かを精度良く判定し得る触媒劣化判定装置を提供することにある。
【0010】
【本発明の概要】
本発明の特徴は、内燃機関の排気通路に配設された触媒と、前記触媒よりも下流の前記排気通路に配設された空燃比センサと、を備えた内燃機関の排気浄化装置に適用され、前記触媒が劣化した触媒であると判定すべき程度まで劣化していない正常触媒であるか、劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるかを判定する触媒劣化判定手段を備えた触媒劣化判定装置が、前記触媒が前記正常触媒であると想定した場合における同触媒内の反応を考慮して構築された触媒モデルに基づいて同触媒から流出するガス中の特定成分の量に関する値を推定する特定成分量推定手段を備え、前記触媒劣化判定手段は、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が同空燃比センサの出力値と前記特定成分の量に関する値の実際値との間で得られるべき所定の相関関係から逸脱する程度が所定の程度以下であるとき前記触媒が前記正常触媒であると判定するとともに、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えるとき同触媒が前記劣化触媒であると判定するように構成されたことにある。
【0011】
ここにおいて、触媒から流出するガス中の特定成分の量に関する値は、例えば、特定成分の絶対量、又は特定成分の濃度等である。また、前記特定成分とは、例えば、一酸化炭素CO、炭化水素HC、窒素酸化物NOx等の触媒で浄化すべき成分や、酸素O2(の過不足量)等のことを云う。
【0012】
この場合、前記本発明の特徴に係る触媒劣化判定装置は、前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の何れかが所定の目標値となるように同何れかの値に基づいて前記触媒に流入するガスの空燃比をフィードバック制御する空燃比制御手段を備え、前記触媒劣化判定手段は、前記フィードバック制御中において前記触媒が前記正常触媒であるか前記劣化触媒であるかを判定するように構成されることが好適である。ここにおいて、前記触媒に流入するガスの空燃比をフィードバック制御する空燃比制御手段は、例えば、機関に供給される混合気の空燃比を制御させる手段であってもよく、或いは、同機関に供給される混合気の空燃比の制御を行うとともに、同触媒の上流の排気通路に備えられたノズル等から空気や燃料を供給することで同触媒に流入するガスの空燃比を制御する手段であってもよい。なお、機関に供給される混合気の空燃比を制御すれば、触媒に流入するガスの空燃比を制御することができる。
【0013】
触媒から流出するガスの空燃比は、同ガス中の酸化剤(例えば、窒素酸化物NOx、酸素O2)の量が多くなっているとき(このとき同ガス中の還元剤(例えば、一酸化炭素CO、炭化水素HC)の量は微量となっている。)リーン空燃比となり、同ガス中の還元剤の量が多くなっているとき(このとき同ガス中の酸化剤の量は微量となっている。)リッチ空燃比となる。従って、前記ガス中の酸化剤の量及び還元剤の量(従って、前記特定成分の量(に関する値))は同ガスの空燃比に応じて変化する。よって、触媒下流の排気通路に配設された空燃比センサの出力値と同触媒から流出するガス中の特定成分の量に関する値(例えば、酸素の過不足量)の実際値とは所定の相関関係にあると云うことができる。
【0014】
ところで、発明者は、後に詳述するように、触媒内の反応(酸素吸蔵機能に基づく酸素吸蔵・放出反応)を考慮して構築された触媒モデルに基づいて同触媒から流出するガス中の特定成分の量(に関する値)を推定する手法を開発した。この触媒モデルに基づいて推定された特定成分の量に関する値と同触媒モデルが対象とする実際の触媒の下流の排気通路に配設された空燃比センサの出力値との関係が前記所定の相関関係にあるとき同触媒モデルは同実際の触媒内の反応を忠実に表していることを意味している。一方、前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱しているとき触媒モデルは実際の触媒内の反応を忠実に表していないことを意味していると云える。
【0015】
また、前述のごとく、触媒の劣化が進行すると同触媒内の反応に影響を与える最大酸素吸蔵量が低下し、更には同触媒内の反応速度が変化する。従って、触媒内の反応の程度は同触媒の劣化の進行に応じて変化する。
【0016】
以上のことから、触媒モデルが対象とする実際の触媒が劣化した触媒であると判定すべき程度まで劣化していない正常触媒(例えば、新品の触媒)である(例えば、最大酸素吸蔵量が常に新品時点における値である)と想定した場合における同実際の触媒内の反応を考慮して同触媒モデルが構築されている場合を考える。そうすると、実際の触媒が前記正常触媒であるとき、触媒モデルは同実際の触媒内の反応を忠実に表し得るから同触媒モデルにより推定された特定成分の量に関する値と前記空燃比センサの出力値との関係は前記所定の相関関係から逸脱しない。一方、前記実際の触媒の劣化が前記正常触媒の劣化の程度から進行するにつれて、触媒モデルが表す反応の程度が実際の触媒内の反応の程度と異なるようになって同触媒モデルが同実際の触媒内の反応を忠実に表し得なくなるから前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱する程度が次第に大きくなる。
【0017】
従って、前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱する程度が或る所定の程度を超えるか否かに応じて前記実際の触媒が劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるか否かを判定することができる。上記本発明の特徴に係る触媒劣化判定装置は、かかる現象を利用して触媒が正常触媒であるか劣化触媒であるかを判定するものである。
【0018】
これによれば、触媒の劣化判定を行うために機関が定常運転されているときに空燃比を強制的に変更する必要がなく、例えば、実質的な空燃比変化幅が小さい前述した空燃比フィードバック制御中に触媒の劣化判定が実行され得る。この結果、ドライバビリティを犠牲とすることなく触媒が正常触媒であるか劣化触媒であるかを判定することができる。
【0019】
上記何れかの触媒劣化判定装置においては、前記触媒劣化判定手段は、前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の一方の値が前記触媒からリッチ空燃比又はリーン空燃比のガスが流出していることを表す第1の状態となる毎に他方の値が同触媒から同一のリッチ空燃比又はリーン空燃比のガスが流出していることを表す第2の状態になっているか否かを判定し、前記一方の値が前記第1の状態となる頻度に対する、同一方の値が同第1の状態となる時点において前記他方の値が前記第2の状態になっている頻度の割合が所定値以上であるとき、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が前記所定の相関関係から逸脱する程度が前記所定の程度以下であると判定するとともに、同頻度の割合が同所定値未満であるとき、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えたと判定するように構成されることが好適である。
【0020】
この場合、前記一方の値が第1の状態となる頻度に対する前記他方の値が第2の状態になっている頻度の割合が所定値以上であるとき触媒が正常触媒であると判定されるとともに、同頻度の割合が同所定値未満であるとき同触媒が劣化触媒であると判定されることになる。これによれば、空燃比センサの出力値又は前記推定された特定成分の量に関する値の一方の値が第1の状態となる頻度と他方の値が第2の状態になっている頻度とをカウントするという簡易な構成で触媒の劣化判定を行うことができる。
【0021】
また、上記何れかの触媒劣化判定装置においては、前記特定成分量推定手段は、前記触媒から流出するガス中の酸素の過不足量に関する値を前記ガス中の特定成分の量に関する値として推定するように構成されることが好適である。触媒から流出するガス中の酸素が過剰となっていることは、同ガス中の酸化剤の量が多くなっている(このとき同ガス中の還元剤の量は微量となっている。)ことを意味し、同ガス中の酸素が不足していることは、同ガス中の還元剤の量が多くなっている(このとき同ガス中の酸化剤の量は微量となっている。)ことを意味している。換言すれば、触媒から流出するガスの状態を同ガス中の酸素の過不足量に関する値という一つの値のみに基づいて表すことができる。従って、上記のように構成すれば、酸素の過不足量に関する値以外の値を触媒から流出するガス中の特定成分の量に関する値として計算する必要がなく、触媒の劣化判定に必要な計算を簡易なものとすることができる。
【0022】
【発明の実施の形態】
以下、本発明による触媒劣化判定装置を含む空燃比制御装置(排気浄化装置)の一実施形態について図面を参照しつつ説明する。図1は、そのような触媒劣化判定装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。
【0023】
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
【0024】
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
【0025】
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38、及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
【0026】
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43、スロットル弁駆動手段を構成するDCモータからなるスロットル弁アクチュエータ43a、スワールコントロールバルブ(以下、「SCV」と称呼する。)44、及びDCモータからなるSCVアクチュエータ44aを備えている。
【0027】
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ(排気管)52、エキゾーストパイプ52に配設(介装)された第1触媒(スタート・キャタリティック・コンバータとも云う。)53、及び第1触媒53の下流のエキゾーストパイプ52に配設(介装)された第2触媒(車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云う。)54を備えている。排気ポート34、エキゾーストマニホールド51、及びエキゾーストパイプ52は、排気通路を構成している。なお、本触媒劣化判定装置は、第1触媒53が劣化したか否かを判定するものである。
【0028】
一方、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、水温センサ65、第1触媒53の上流の排気通路に配設された空燃比センサ66(以下、「上流側空燃比センサ66」と称呼する。)、第1触媒53の下流であって第2触媒54の上流の排気通路に配設された空燃比センサ67(以下、「下流側空燃比センサ67」と称呼する。)、及びアクセル開度センサ68を備えている。
【0029】
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の質量流量に応じた電圧Vgを出力するようになっている。かかるエアフローメータ61の出力Vgと、計測された吸入空気流量Gaとの関係は、図2に示したとおりである。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ63は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【0030】
上流側空燃比センサ66は、図3に示したように、空燃比A/Fに応じた電流を出力し、この電流に応じた電圧vabyfsを出力するようになっている。図3から明らかなように、上流側空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。下流側空燃比センサ67は、図4に示したように、理論空燃比において急変する電圧Voxsを出力するようになっている。より具体的に述べると、下流側空燃比センサ67は、空燃比が理論空燃比よりもリーンのときは略0.1(V)、空燃比が理論空燃比よりもリッチのときは略0.9(V)、及び空燃比が理論空燃比のときは略0.5(V)の電圧を出力するようになっている。アクセル開度センサ68は、運転者によって操作されるアクセルペダル81の操作量を検出し、同アクセルペダル81の操作量Accpを表す信号を出力するようになっている。
【0031】
電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM74、及びADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜68と接続され、CPU71にセンサ61〜68からの信号を供給するとともに、同CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、及びSCVアクチュエータ44aに駆動信号を送出するようになっている。また、インターフェース75は、CPU71の指示に応じてユーザーに第1触媒53の劣化を知らしめるための警報ランプ82に同警報ランプ82を点灯・消灯させるための指示信号を送出するようになっている。
【0032】
(空燃比フィードバック制御の概要)
三元触媒である第1触媒53(第2触媒54も同様である。)は、空燃比がほぼ理論空燃比のときに未燃成分(HC,CO)を酸化し、同時に窒素酸化物(NOx)を還元する機能を有する。更に、第1触媒53は、酸素を貯蔵する機能(酸素貯蔵機能、O2ストレージ機能)を有し、この酸素貯蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、HC,CO、及びNOxを浄化することができる。即ち、機関に供給される混合気の空燃比がリーンとなって第1触媒53に流入するガスにNOxが多量に含まれると、第1触媒53はNOxから酸素分子を奪ってNOxを還元し、これによりNOxを浄化する。また、機関に供給される混合気の空燃比がリッチになって第1触媒53に流入するガスにHC,COが多量に含まれると、第1触媒53はこれらに酸素分子を与えて酸化し、これによりHC,COを浄化する。
【0033】
従って、第1触媒53が連続的に流入する多量のHC,COを効率的に浄化するためには、同第1触媒53が酸素を多量に貯蔵していなければならず、逆に連続的に流入する多量のNOxを効率的に浄化するためには、同第1触媒53が酸素を十分に貯蔵し得なければならないことになる。以上のことから明らかなように、第1触媒53の浄化能力は、同第1触媒53が貯蔵し得る最大の酸素量(最大酸素吸蔵量)に依存する。
【0034】
一方、第1触媒53は燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化するから、次第に最大酸素吸蔵量が低下してくる。このように最大酸素吸蔵量が低下した場合であっても、エミッションの排出量が少ない状態を維持するには、第1触媒53から排出されるガスの空燃比が理論空燃比に極めて近い状態となるように制御する必要がある。
【0035】
そこで、本実施形態の空燃比制御装置は、下流側空燃比センサ67の出力Voxsが理論空燃比に略相当する目標値(つまり、第1触媒53の浄化効率が良好となるための目標値)Voxsref(=0.5(V))となるように、目標値Voxsrefから下流側空燃比センサ67の出力Voxsを減じて得られる偏差DVoxsを比例・積分処理したサブフィードバック制御量vafsfbに基づいて機関に供給される混合気の空燃比をフィードバック制御する(本実施形態では、上流側空燃比センサ出力vabyfsにも応じて空燃比をフィードバック制御する。)。
【0036】
即ち、下流側空燃比センサ67の出力が理論空燃比よりリーンの空燃比を表す値となると(実際には、サブフィードバック制御量vafsfbが正の値になると)機関に供給される混合気の空燃比をリッチ側に制御し、下流側空燃比センサ67の出力が理論空燃比よりリッチの空燃比を表す値となると(実際には、サブフィードバック制御量vafsfbが負の値になると)機関に供給される混合気の空燃比をリーン側に制御する。以上のようにして、機関に供給される混合気の空燃比が下流側空燃比センサ出力Voxs(従って、サブフィードバック制御量vafsfb)に基づいてフィードバック制御される。このようにして、機関に供給される空燃比(従って、第1触媒53に流入するガスの空燃比)を制御する手段が空燃比制御手段に相当する。
【0037】
(触媒劣化判定の原理)
上述した空燃比フィードバック制御中において、第1触媒53から流出するガス中の酸素が不足して同ガス中の未燃CO,HCの量が多くなると(このとき同ガス中の窒素酸化物NOxの量は微量となっている。)下流側空燃比センサ67の出力Voxsは増加しながらリッチを示す値に近づく。一方、第1触媒53から流出するガス中の酸素が過剰となって同ガス中の窒素酸化物NOxの量が多くなると(このとき同ガス中の未燃CO,HCの量は微量となっている。)下流側空燃比センサ67の出力Voxsは減少しながらリーンを示す値に近づく。
【0038】
換言すれば、下流側空燃比センサ67の出力Voxsが理論空燃比に相当する上記目標値Voxsrefよりも大きいリッチ側所定値Vrichを増加しながら通過するときには少なくとも第1触媒53から流出しているガス中の酸素の不足量は或る閾値を越える量となっている。一方、下流側空燃比センサ67の出力Voxsが目標値Voxsrefよりも小さいリーン側所定値Vleanを減少しながら通過するときには少なくとも第1触媒53から流出しているガス中の酸素の過剰量は或る閾値を越える量となっている。下流側空燃比センサ67の出力Voxsと第1触媒53から流出するガス中の特定成分(酸素の過不足量、窒素酸化物NOx,未燃CO,HC等)の量(実際の量)とは少なくともこのような所定の相関関係にある。
【0039】
一方、第1触媒53から流出するガス中の特定成分の量(本例では、酸素の過不足量(流出酸素量)CgoutO2(N))は、後に詳述するように、第1触媒53内の反応(酸素吸蔵機能に基づく酸素吸蔵・放出反応)を考慮して構築された触媒モデルに基づいて推定することができる。ここで、流出酸素量CgoutO2(N)は、その値が正の値であるとき酸素が過剰であって第1触媒53からNOxが流出している状態であることを意味し、その値が負の値であるとき酸素が不足して第1触媒53から未燃CO,HCが流出している状態であることを意味している。
【0040】
この触媒モデルに基づいて推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力Voxsとの関係が前述の所定の相関関係にあるとき同触媒モデルは第1触媒53内の反応を忠実に表していることを意味している。一方、前記推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力Voxsとの関係が前記所定の相関関係から逸脱しているとき触媒モデルは第1触媒53内の反応を忠実に表していないことを意味していると云える。
【0041】
また、先に説明したように、一般に、触媒の劣化が進行すると同触媒内の反応に影響を与える最大酸素吸蔵量が低下し、更には同触媒内の反応速度が変化する。従って、触媒内の反応の程度は同触媒の劣化の進行に応じて変化する。
【0042】
以上のことから、第1触媒53が新品の触媒である(例えば、最大酸素吸蔵量が常に新品の時点における値である)と想定した場合における同第1触媒53内の反応を考慮して触媒モデルが構築されている場合を考える。そうすると、第1触媒53が新品の触媒であるとき、触媒モデルは第1触媒53内の反応を忠実に表し得るから同触媒モデルにより推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係は前記所定の相関関係から逸脱しない。一方、第1触媒53の劣化が(新品の時点から)進行するにつれて、触媒モデルが表す反応の程度が第1触媒53内の反応の程度と異なるようになって同触媒モデルが同第1触媒53内の反応を忠実に表し得なくなるから流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度が次第に大きくなる。
【0043】
以下、この点について、図5を参照しながらより具体的に説明する。(A)は、第1触媒53が新品の触媒であるときの下流側空燃比センサ67の出力Voxs、及び後述する触媒モデルが算出する前記流出酸素量CgoutO2(N)の変化の一例を示したタイムチャートである。前述のごとく、触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから新品の触媒である第1触媒53内の反応を忠実に表している。従って、(A)に示した触媒モデルが算出する流出酸素量CgoutO2(N)の変化は第1触媒53から流出するガス中の酸素の過不足量(の実際量)の変化と一致している。
【0044】
即ち、時刻t1以前において、機関に供給される混合気の空燃比がリッチ側に制御されている(即ち、上述したサブフィードバック制御量vafsfbが正の値になっている)ことで第1触媒53内の酸素吸蔵量が「0」に近づくと、第1触媒53は流入するガス中の多量の未燃CO,HCを完全に酸化できなくなって第1触媒53から未燃CO,HCが流出し始める(従って、第1触媒53から流出するガス中の酸素が不足し始める。)。これに応じて流出酸素量CgoutO2(N)は略「0」から減少を開始するとともに下流側空燃比センサ67の出力Voxsは増加を開始し、時刻t1になると、出力Voxsはリッチ側所定値Vrichを増加しながら通過する。また、負の値である流出酸素量CgoutO2(N)は、時刻t1において負の閾値Crefmnsよりも小さい値となっているとともにその後も減少を続ける。
【0045】
時刻t1の直後の時刻t1’になると、サブフィードバック制御量vafsfbが正の値から負の値に変化することで機関に供給される混合気の空燃比がリーン側に制御されるようになる。これに伴い、時刻t1’以降、流出酸素量CgoutO2(N)は、第1触媒53から未燃CO,HCが流出しなくなることから再び略「0」を維持するようになる。ここで、サブフィードバック制御量vafsfbが正の値から負の値に変化する時点(時刻t1’)が、出力Voxsが目標値Voxsrefを増加しながら通過する時点(時刻t1の直前)よりも遅い時点となっているのは、サブフィードバック制御量vafsfbを求めるための前記比例・積分処理における積分項の値が前記時刻t1の直前の時点において大きい正の値となっていることに基づく。
【0046】
時刻t1(t1’)以降、機関に供給される混合気の空燃比がリーン側に制御されている(即ち、サブフィードバック制御量vafsfbが負の値になっている)ことで第1触媒53内の酸素吸蔵量が最大酸素吸蔵量に近づくと、第1触媒53は流入するガス中の多量の窒素酸化物NOxを完全に還元できなくなって第1触媒53から窒素酸化物NOxが流出し始める(従って、第1触媒53から流出するガス中の酸素が過剰になり始める。)。これに応じて流出酸素量CgoutO2(N)は略「0」から増加を開始するとともに下流側空燃比センサ67の出力Voxsは減少を開始し、時刻t2になると、出力Voxsはリーン側所定値Vleanを減少しながら通過する。また、正の値である流出酸素量CgoutO2(N)は、時刻t2において正の閾値Crefplsよりも大きい値となっているとともにその後も増加を続ける。
【0047】
時刻t2の直後の時刻t2’になると、上述したサブフィードバック制御量vafsfbが負の値から正の値に再び変化することで機関に供給される混合気の空燃比がリッチ側に制御されるようになる。これに伴い、時刻t2’以降、流出酸素量CgoutO2(N)は、第1触媒53から窒素酸化物NOxが流出しなくなることから再び略「0」を維持するようになる。ここで、サブフィードバック制御量vafsfbが負の値から正の値に変化する時点(時刻t2’)が、出力Voxsが目標値Voxsrefを減少しながら通過する時点(時刻t2の直前)よりも遅い時点となっているのは、サブフィードバック制御量vafsfbを求めるための前記積分項の値が前記時刻t2の直前の時点において大きい負の値となっていることに基づく。
【0048】
時刻t2(t2’)以降も同様に、時刻t3になると、出力Voxsはリッチ側所定値Vrichを増加しながら通過するとともに、前述の時刻t1と同様、流出酸素量CgoutO2(N)は負の閾値Crefmnsよりも小さい値となっている。また、時刻t4になると、出力Voxsはリーン側所定値Vleanを減少しながら通過するとともに、前述の時刻t2と同様、流出酸素量CgoutO2(N)は正の閾値Crefplsよりも大きい値となっている。
【0049】
このように、第1触媒53が新品の触媒である場合、出力Voxsがリッチ側所定値Vrichを増加しながら通過する毎に((A)においては時刻t1,t3)触媒モデルが算出する流出酸素量CgoutO2(N)は必ず負の閾値Crefmnsよりも小さい値となっているとともに、出力Voxsがリーン側所定値Vleanを減少しながら通過する毎に((A)においては時刻t2,t4)流出酸素量CgoutO2(N)は必ず正の閾値Crefplsよりも大きい値となっている。換言すれば、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係は前記所定の相関関係から逸脱しない。
【0050】
一方、図5(B)は、第1触媒53が劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるときの下流側空燃比センサ67の出力Voxs、及び流出酸素量CgoutO2(N)の変化の一例を示したタイムチャートである。前述のごとく、触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから、この場合、劣化触媒である第1触媒53内の反応を忠実に表し得ない。
【0051】
より具体的に述べると、この場合、第1触媒53は前記劣化触媒であるから、第1触媒53内の最大酸素吸蔵量は相当程度に低下している。従って、第1触媒53内の実際の酸素吸蔵量は短時間で「0」又は最大酸素吸蔵量に近づくようになり、これに伴って、機関に供給される混合気の空燃比がリッチ側からリーン側へと、或いは、リーン側からリッチ側へと頻繁に変化するようになる。一方、触媒モデルにおいては、第1触媒53の最大酸素吸蔵量として新品の時点における大きな値が常に想定されているから、第1触媒53内の酸素吸蔵量(推定値、計算値)は前記空燃比の頻繁な変化に応じて頻繁に増減するものの、「0」又は最大酸素吸蔵量には到達しにくい。換言すれば、第1触媒53内の実際の酸素吸蔵量が「0」又は最大酸素吸蔵量に近づく時点と触媒モデルにおいて計算されている第1触媒53内の酸素吸蔵量(推定値)が「0」又は最大酸素吸蔵量に近づく時点とは異なる。従って、触媒モデルが計算する流出酸素量CgoutO2(N)の変化は第1触媒53から流出するガス中の酸素の過不足量(の実際量)の変化と一致しない。
【0052】
これにより、(B)においては、出力Voxsがリッチ側所定値Vrichを増加しながら通過する毎に(時刻t10,t30,t50)第1触媒53から流出するガス中の酸素の過不足量(実際量)が必ず負の閾値Crefmnsよりも小さい値となる一方で、触媒モデルが計算する流出酸素量CgoutO2(N)は時刻t50においてのみ負の閾値Crefmnsよりも小さい値となっている。また、出力Voxsがリーン側所定値Vleanを減少しながら通過する毎に(時刻t20,t40,t60)第1触媒53から流出するガス中の酸素の過不足量(実際量)が必ず正の閾値Crefplsよりも大きい値となる一方で、前記流出酸素量CgoutO2(N)は時刻t20においてのみ正の閾値Crefplsよりも大きい値となっている。
【0053】
換言すれば、第1触媒53が前記劣化触媒になると、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度が相当に大きくなる。また、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度は、第1触媒53の最大酸素吸蔵量が触媒モデルにおいて想定されている新品の時点での大きい値から低下するにつれて、即ち、第1触媒53の劣化が(新品の時点から)進行するにつれて次第に大きくなる。
【0054】
この流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度は、出力Voxs(一方の値)がリッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する時点(即ち、下流側空燃比センサ67の出力Voxsが第1の状態となる時点)において流出酸素量CgoutO2(N)(他方の値)が負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている(即ち、流出酸素量CgoutO2(N)が第2の状態になっている)確率により表すことができ、同確率が低下するにつれて次第に大きくなる。例えば、図5(A)に示す一例では前記確率は100パーセント(4回/4回)であるのに対し、図5(B)に示す一例では同確率は約33パーセント(2回/6回)と低下していて上記所定の相関関係から逸脱する程度は大きいと云うことができる。
【0055】
以上のことから、本触媒劣化判定装置は、第1触媒53を対象とする触媒モデルを同第1触媒53が新品の触媒であると想定して構築する。また、本触媒劣化判定装置は、上述した空燃比フィードバック制御中において、下流側空燃比センサ67の出力Voxsが前記第1の状態となる毎に触媒モデルが計算している流出酸素量CgoutO2(N)が第2の状態になっているか否かを判定するとともに、下流側空燃比センサ67の出力Voxsが前記第1の状態となる頻度(回数)SMLが十分なサンプリングが行われたことを示す基準値SML0に達する毎(一サンプリング期間が経過する毎)に、この一サンプリング期間中にて下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている頻度(回数)FREを求める。
【0056】
そして、本触媒劣化判定装置は、前記頻度FREが劣化判定基準値FREref以上(従って、頻度SML0に対する頻度FREの割合が所定値以上)であれば、第1触媒53は劣化した触媒であると判定すべき程度まで劣化していない正常触媒であると判定する一方、頻度FREが劣化判定基準値FRE未満(従って、頻度SML0に対する頻度FREの割合が所定値未満)であれば、第1触媒53は劣化した触媒であると判定すべき程度まで劣化した劣化触媒であると判定する。このようにして第1触媒53の劣化判定を行う手段が触媒劣化判定手段に相当する。
【0057】
(触媒モデル)
次に、第1触媒53から流出するガス中の特定成分の量(本例では、酸素の過不足量(流出酸素量)CgoutO2(N))を求めるための触媒モデルについて説明する。一般に、触媒にリーンな空燃比のガスが流入したときには、同触媒の上流側においてより多くの酸素が吸蔵され、同触媒にリッチな空燃比のガスが流入したときには、同触媒の上流側から吸蔵されている酸素が消費されていく。従って、触媒内に吸蔵されている酸素は同触媒の排ガスの流れ方向において均一に分布しているわけではない。よって、触媒内の酸素吸蔵量を正確に求めるためには、かかる吸蔵酸素の分布を考慮した計算を行う必要がある。
【0058】
また、触媒の酸素吸蔵量は同触媒内において発生する酸素吸蔵・放出反応の程度に応じて変化する。この酸素吸蔵・放出反応の程度は、触媒に流入する排ガスに含まれる上記酸素吸蔵・放出反応に関係する特定成分の量に依存する。従って、触媒の酸素吸蔵量を正確に求めるためには、前記特定成分の量を考慮に入れた計算を行う必要がある。そして、触媒の酸素吸蔵量を正確に求めることができれば、同触媒から流出するガス中の特定成分の量をも正確に計算することができる。そこで、本装置は以下に説明する触媒モデルを第1触媒53に適用することにより、同第1触媒53内の酸素吸蔵量OSAall、及び第1触媒53から流出する特定成分の量(この例では、流出酸素量CgoutO2(N))を算出する。
【0059】
この触媒モデルにおいては、図6に模式的に示したように、軸線に直交する断面形状が一定である柱状の触媒を同軸線に直交する面によりN個の(複数の)領域(「ブロック」とも称呼する。)に分割する。即ち、触媒モデルが対象とする触媒は排ガスの流れ方向に沿ってN個のブロックに分割されている。分割された各ブロックの軸線方向の長さはLである。なお、説明の便宜上、各ブロックには、排ガスの流れ方向に沿って上流側から順に図6に示すように番号が付されている。また、任意のi番目のブロックに関連する変数・記号等には、それらの末尾に(i)が付されている。
【0060】
この触媒モデルにおいては、図7に示したように、分割されたブロックのうちのi番目のブロック(i)(特定領域)に注目し、同ブロック(i)における酸素吸蔵・放出反応に関係する特定成分のCPU71の演算周期あたりの収支を考える。このとき、触媒での酸化・還元反応である三元反応は瞬時かつ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応のみに着目するものとする。この仮定(触媒モデル)は、現実的でありかつ計算精度のよいものである。なお、図7に示した排ガス相は排ガスが通過する空間であり、コート層は触媒機能を発生せしめる白金(Pt)等の貴金属からなる活性成分及び酸素吸蔵機能を発生せしめるセリア(CeO2)等の成分が担持された層である。
【0061】
特定成分は、例えば、酸素(分子)O2、窒素酸化物NOx、一酸化炭素CO、炭化水素HCから選択された成分であってもよいが、この触媒モデルでは、上記三元反応が瞬時かつ完全に終了するものと仮定した状態における排ガスに含まれる酸素(酸素分子及び窒素酸化物の酸素。本明細書では、酸素分子及び窒素酸化物の酸素を総称して「酸素」と称呼する。)(の過不足)を特定成分として選択している。この酸素の量である酸素量CgO2は、同酸素が過剰であるとき(即ち、排ガス中にO2及びNOxが存在する場合)に正の値となり、同酸素が不足しているとき(即ち、排ガス中に未燃HC,COが存在する場合)に負の値となるように計算される。
【0062】
また、注目するブロック(i)において、CPU71の演算周期あたり同ブロック(i)の排ガス相に流入する酸素量CgO2を流入酸素量CginO2(i)、同演算周期あたり同ブロック(i)の排ガス相から流出する酸素量CgO2を流出酸素量CgoutO2(i)と称呼し、同演算周期あたり同ブロック(i)のコート層に吸蔵され又は同コート層から放出される酸素量CgO2を酸素吸蔵量変化量δOSA(i)と称呼する。この酸素吸蔵量変化量δOSA(i)は、酸素がコート層に吸蔵されるときに正の値となり、酸素がコート層から放出されるときに負の値となるように計算される。また、現時点におけるブロック(i)のコート層における酸素吸蔵量を酸素吸蔵量OSA(i)と称呼し、現時点におけるブロック(i)のコート層における最大酸素吸蔵量を最大酸素吸蔵量Cmax(i)と称呼する。
【0063】
いま、図7に示すブロック(i)における酸素量CgO2の上記演算周期あたりの収支を考えると、同ブロック(i)の排ガス相に流入した流入酸素量CginO2(i)のうち酸素吸蔵量変化量δOSA(i)だけがコート層に吸蔵され、同流入酸素量CginO2(i)のうちコート層に吸蔵されなかった残りの酸素量CgO2が流出酸素量CgoutO2(i)となるから、流入酸素量CginO2(i),流出酸素量CgoutO2(i)及び酸素吸蔵量変化量δOSA(i)の間には下記数1に示した関係が成立する。この下記数1に示した関係が本触媒モデルの基本式である。
【0064】
【数1】
CgoutO2(i)=CginO2(i)−δOSA(i)
【0065】
次に、酸素吸蔵量変化量δOSA(i)について考える。流入酸素量CginO2(i)が正の値のときはブロック(i)の排ガス相に流入する排ガス中の酸素が過剰であることを意味し、同排ガス中の酸素の一部はブロック(i)のコート層に吸蔵されるから酸素吸蔵量変化量δOSA(i)は正の値となる。このときの酸素吸蔵反応の量、即ち酸素吸蔵量変化量δOSA(i)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値に比例すると考えられる。従って、流入酸素量CginO2(i)が正の値のとき、酸素吸蔵量変化量δOSA(i)は下記数2,及び下記数3に基づいて算出することができる。
【0066】
【数2】
δOSA(i)=H(i)・CginO2(i)
【0067】
【数3】
H(i)=h・((Cmax(i)−OSA(i))/Cmax(i)) (0 ≦ H(i) < 1)
【0068】
上記数2及び上記数3において、H(i)はブロック(i)における流入酸素量CginO2(i)に対する吸蔵される酸素量(δOSA(i))の割合を示す反応率である。hは第1触媒53が新品の触媒であると想定した場合の反応速度定数であり、本モデルでは正の一定値としているが触媒の温度に応じて変化する正の値(例えば、触媒の温度の増加に応じて単調増加する正の値)としてもよい。また、上記数3における現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値(Cmax(i)−OSA(i))は、ブロック(i)における現時点での酸素吸蔵余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基づいて同触媒が内部に流入する排ガスから吸蔵する酸素量を算出する。
【0069】
一方、流入酸素量CginO2(i)が負の値のときはブロック(i)の排ガス相に流入する排ガスの酸素が不足していることを意味し、同排ガスにはブロック(i)のコート層から放出された酸素が与えられるから酸素吸蔵量変化量δOSA(i)は負の値となる。このときの酸素放出反応の量、即ち酸素吸蔵量変化量δOSA(i)(の絶対値)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での酸素吸蔵量OSA(i)の値に比例すると考えられる。従って、流入酸素量CginO2(i)が負の値のとき、酸素吸蔵量変化量δOSA(i)は上記数2と同一の関係を示す下記数4,及び下記数5に基づいて算出することができる。
【0070】
【数4】
δOSA(i)=H(i)・CginO2(i)
【0071】
【数5】
H(i)=h・(OSA(i)/Cmax(i)) (0 ≦ H(i) < 1)
【0072】
上記数4及び上記数5において、H(i)はブロック(i)における流入酸素量CginO2(i)(負の値)に対する放出される酸素量(δOSA(i),負の値)の割合を示す反応率である。hは第1触媒53が新品の触媒であると想定した場合の反応速度定数であり上記数3にて使用されているものと同様である。また、上記数5における現時点での酸素吸蔵量OSA(i)の値は、ブロック(i)における現時点での酸素放出余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基づいて同触媒が内部に吸蔵している酸素から放出する酸素量を算出する。
【0073】
なお、上記数3及び上記数5にて使用するブロック(i)における最大酸素吸蔵量Cmax(i)については後述する。また、上記数3及び上記数5にて使用するブロック(i)における現時点での酸素吸蔵量OSA(i)は、初期値が付与された時点から現時点までの酸素吸蔵量変化量δOSA(i)の積算値であるから下記数6に基づいて算出することができる。
【0074】
【数6】
OSA(i)=ΣδOSA(i) (0 ≦ OSA(i) ≦ Cmax(i))
【0075】
次に、各ブロック間での境界条件について考えると、図6に示したように、互いに隣接する2つのブロックのうちの上流側のブロックの排ガス相の流出面と下流側のブロックの排ガス相の流入面は互いに連続しているから、図7に示したように、ブロック(i)に流入する流入酸素量CginO2(i)は、ブロック(i)に隣接する上流側のブロック(i−1)から流出する流出酸素量CgoutO2(i−1)と等しく、また、ブロック(i)から流出する流出酸素量CgoutO2(i)は、ブロック(i)に隣接する下流側のブロック(i+1)に流入する流入酸素量CginO2(i+1)と等しい。従って、下記数7に示した関係が成立する。換言すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)が求まればブロック(i)に隣接する下流側のブロック(i+1)の流入酸素量CginO2(i+1)が求まる。
【0076】
【数7】
CginO2(i+1)=CgoutO2(i)
【0077】
以上のことから、最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数2又は上記数4によりブロック(1)における酸素吸蔵量変化量δOSA(1)が求まり、その結果、上記数6によりブロック(1)における酸素吸蔵量OSA(1)を更新できるとともに上記数1によりブロック(1)における流出酸素量CgoutO2(1)が求まる。ブロック(1)における流出酸素量CgoutO2(1)が求まれば、上記数7によりブロック(2)における流入酸素量CginO2(2)が求まり、その結果、上記数2又は上記数4によりブロック(2)における酸素吸蔵量変化量δOSA(2)が求まる。これにより、上記数6によりブロック(2)における酸素吸蔵量OSA(2)を更新できるとともに、上記数1によりブロック(2)における流出酸素量CgoutO2(2)が求まる。
【0078】
CPU71は、このような処理を所定の演算周期毎に繰り返し実行する。従って、CPU71の演算周期が経過する毎に最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数1〜上記数7より、最上流のブロック(1)から、順次、各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、触媒内部の酸素吸蔵量の分布が精度よく計算される。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を触媒全体について積算すれば、同触媒全体の酸素吸蔵量OSAallについても精度よく計算することができる。更には、各ブロックから流出する流出酸素量CgoutO2(i) (i=1,2,・・・,N)を計算することができ、これにより、ブロック(N)(従って、第1触媒53)から流出する流出酸素量CgoutO2(N)を計算することができる。このようにして、第1触媒53が新品の触媒であると想定して構築された触媒モデルに基づいて同第1触媒53から流出するガス中の酸素の過不足量(流出酸素量)CgoutO2(N)を推定する手段が特定成分量推定手段に相当する。
【0079】
なお、以下に、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式を求めておく。先ず、上記数1における「i」を「1」に書き換えると下記数8が導かれる。
【0080】
【数8】
CgoutO2(1)=CginO2(1)−δOSA(1)
【0081】
また、上記数1における「i」を「2」に書き換えて、これに上記数7及び上記数8の関係を適用すると、下記数9が導かれる。
【0082】
【数9】
【0083】
さらに、上記数1における「i」を「3」に書き換え、これに上記数7及び上記数9の関係を適用すると、下記数10が導かれる。
【0084】
【数10】
【0085】
このような手続きを繰り返すことにより、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式である下記数11が導かれる。
【0086】
【数11】
CgoutO2(i)=CginO2(1)−δOSA(1)−δOSA(2)− ・・・ −δOSA(i−1)−δOSA(i)
(i=1,2,・・・,N)
【0087】
また、上記数1及び上記数2(又は上記数4)より下記数12が導かれるから、下記数12に上記数7の関係を適用し、その関係を一般的に記述すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための他の一般式である下記数13も容易に導くことができる。
【0088】
【数12】
CgoutO2(i)=CginO2(i)・(1−H(i))
【0089】
【数13】
【0090】
次に、上記数3及び数5において反応率H(i)を求める際に必要となるブロック(i)における最大酸素吸蔵量Cmax(i)について説明する。この触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから、各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)の総和は、第1触媒53が新品の触媒であるときの同第1触媒53全体の最大酸素吸蔵量Cmaxallの値(一定値)となるように設定されている。また、各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)は、例えば、前記最大酸素吸蔵量Cmaxallの値をブロックの個数Nで除した値にそれぞれ設定されている。このように設定された各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)は、第1触媒53の劣化の進行に拘わらず変化しない。
【0091】
(触媒モデルの適用)
次に、以上説明した触媒モデルを、図8に示したように、第1触媒53に適用し、各種値を求める例について説明する。
【0092】
以下、第1触媒53のi番目のブロックであるブロック(i)における流入酸素量を流入酸素量CginO2(i),流出酸素量を流出酸素量CgoutO2(i),酸素吸蔵量をOSA(i),最大酸素吸蔵量をCmax(i)とそれぞれ称呼する。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を積算することにより得られる第1触媒53全体の酸素吸蔵量を酸素吸蔵量OSAallと称呼し、各ブロックの最大酸素吸蔵量Cmax(i) (i=1,2,・・・,N) を積算した値である第1触媒53全体の最大酸素吸蔵量を最大酸素吸蔵量Cmaxallと称呼する。
【0093】
この触媒モデルにおいては、図8に示したように、第1触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N)の初期値を初期条件として付与するとともに、CPU71の演算周期が経過する毎に、第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を境界条件として付与すれば、第1触媒53の各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、第1触媒53全体の酸素吸蔵量OSAallも取得・算出することができる。
【0094】
そこで、先ず、第1触媒53の各ブロックにおける酸素吸蔵量の初期値を付与する手法について説明すると、本装置は、下流側空燃比センサ67の出力Voxsが0.7(V)より大きい値を示したとき、即ち、第1触媒53の下流側の空燃比が明白なリッチ空燃比となったときは、同第1触媒53内に酸素が全く存在せず未燃HC,COが浄化されない状態となったことを意味するから、第1触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N) 及び第1触媒53全体の酸素吸蔵量OSAallを全て「0」に設定する。このようにして、第1触媒53の各ブロックにおける酸素吸蔵量の初期値「0」が初期条件として付与される。
【0095】
次に、第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を付与する手法について説明すると、本装置は、下記数14に基づいてCPU71の演算周期毎の流入酸素量CginO2(1)を算出する。
【0096】
【数14】
CginO2(1)=0.23・mfr・(abyfsave − stoich)
【0097】
上記数14において、値「0.23」は大気中に含まれる酸素の重量割合である。mfrは一演算周期Δt内における燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。また、abyfsaveは一演算周期Δt内において上流側空燃比センサ66により検出された空燃比A/Fの平均値である。
【0098】
この数14に示したように、一演算周期Δt内における噴射量の合計量mfrに、検出された空燃比A/Fの平均値の理論空燃比からの偏移(abyfsave − stoich)を乗じることでこの一演算周期Δt内における空気の過剰量が求められ、この一演算周期Δt内における空気の過剰量に酸素の重量割合を乗じることで一演算周期Δtにおける酸素の過剰量、即ち現時点での流入酸素量CginO2(1)が求められる。
【0099】
このようにして算出される流入酸素量CginO2(1)は、上記数14から明らかなように、酸素が過剰であるとき(即ち、空燃比がリーンであってabyfsave>stoichのとき)に正の値となり、酸素が不足しているとき(即ち、空燃比がリッチであってabyfsave<stoichのとき)に負の値となるように計算される。このようにして、CPU71の演算周期毎に第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与される。
【0100】
(実際の作動)
次に、上記のように構成された空燃比制御装置の実際の作動について、電気制御装置70のCPU71が実行するルーチンをフローチャートにより示した図9〜図16を参照しながら説明する。
【0101】
CPU71は、図9に示した最終燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71はステップ900から処理を開始してステップ905に進み、エアフローメータ61により計測された吸入空気流量Gaと、エンジン回転速度NEとに基づいて、機関の空燃比を理論空燃比とするための基本燃料噴射量Fbaseをマップfから求める。
【0102】
次いで、CPU71はステップ910に進み、基本燃料噴射量Fbaseに係数Kを乗じた値に後述する空燃比フィードバック補正量DFiを加えた値を最終燃料噴射量Fiに設定する。この係数Kの値は、通常は「1.00」であり、後述するように被毒回復処理が実行されるとき、「1.00」以外の所定値に設定される。
【0103】
次いで、CPU71はステップ915に進んで、前記設定された最終燃料噴射量Fiの燃料を噴射するための指示を吸気行程直前にある気筒のインジェクタ39に対して行う。その後、CPU71はステップ920に進み、その時点の燃料噴射量合計量mfrに最終燃料噴射量Fiを加えた値を新たな燃料噴射量合計量mfrに設定する。この燃料噴射量合計量mfrは、後述する流入酸素量CginO2(1)を算出する際に用いられる。その後、CPU71はステップ995に進み、本ルーチンを一旦終了する。以上により、フィードバック補正された最終燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【0104】
次に、上記空燃比フィードバック補正量DFiの算出について説明すると、CPU71は図10に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1000から処理を開始し、ステップ1005に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、機関の冷却水温THWが第1所定温度以上であり、機関の一回転当りの吸入空気量(負荷、筒内吸入空気量Mc)が所定値以下であり、上流側空燃比センサ66が正常(活性状態であることを含む。)であり、且つ、後述する被毒回復処理実行中フラグPWMの値が「0」のときに成立する。なお、被毒回復処理実行中フラグPWMは、その値が「1」のとき後述する被毒回復処理を実行していることを示し、その値が「0」のとき同被毒回復処理を実行していないことを示す。
【0105】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ1005にて「Yes」と判定してステップ1010に進み、現時点の上流側空燃比センサ66の出力vabyfsと後述するサブフィードバック制御量vafsfbとの和(vabyfs+vafsfb)を図3に示したマップに基づいて変換することにより、現時点における第1触媒53の上流側制御用空燃比abyfsを求める。
【0106】
次に、CPU71はステップ1015に進み、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた上流側制御用空燃比abyfsで除することにより、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求める。値Nは、内燃機関の排気量、燃焼室25から上流側空燃比センサ66までの距離等により異なる値である。
【0107】
このように、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)を上流側制御用空燃比abyfsで除するのは、燃焼室25内で燃焼された混合気が上流側空燃比センサ66に到達するまでには、Nストロークに相当する時間を要しているからである。なお、筒内吸入空気量Mcは、各気筒の吸気行程毎に、その時点のエアフローメータ61により計測された吸入空気流量Gaと、エンジン回転速度NEとに基づいて求められ(例えば、エアフローメータ61により計測された吸入空気流量Gaに一次遅れ処理を施した値をエンジン回転速度NEで除することにより求められ)、各吸気行程に対応してRAM73内に記憶されている。
【0108】
次いで、CPU71はステップ1020に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点における目標空燃比abyfr(k−N)(この例では、理論空燃比)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。そして、CPU71はステップ1025に進んで目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU71はステップ1030に進み、下記数15に基づいてフィードバック補正量DFiを求める。
【0109】
【数15】
DFi=(Gp・DFc+Gi・SDFc)・KFB
【0110】
上記数15において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、数15の係数KFBはエンジン回転速度NE、及び筒内吸入空気量Mcにより可変とすることが好適であるが、ここでは「1」としている。また、値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ1035にて更新される。即ち、CPU71は、ステップ1035にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1025にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求め、ステップ1095にて本ルーチンを一旦終了する。以上により、フィードバック補正量DFiが求められ、このフィードバック補正量DFiが前述した図9のステップ910,915により燃料噴射量に反映されるので、Nストローク前の燃料供給量の過不足が補償され、機関に供給される混合気の空燃比の平均値が目標空燃比abyfrと略一致せしめられるようにフィードバック制御される。
【0111】
一方、ステップ1005の判定時において、空燃比フィードバック制御条件が不成立であると、CPU71は同ステップ1005にて「No」と判定してステップ1040に進み、空燃比フィードバック補正量DFiの値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、空燃比フィードバック補正量DFiを「0」として空燃比(基本燃料噴射量Fbase)の補正を行わない。
【0112】
次に、下流側空燃比センサ67の出力に基づく先に説明した空燃比フィードバック制御について説明する。なお、かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、サブフィードバック制御量vafsfbが算出される。
【0113】
CPU71は、サブフィードバック制御量vafsfbを求めるために、図11に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU71はステップ1100から処理を開始し、ステップ1105に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ1005での空燃比フィードバック制御条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上であり、下流側空燃比センサ67が正常(活性状態であることを含む。)のときに成立する。
【0114】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ1105にて「Yes」と判定してステップ1110に進み、前記目標値Voxsrefから現時点の下流側空燃比センサ67の出力Voxsを減じることにより、出力偏差量DVoxsを求める。次に、CPU71はステップ1115に進み、下記数16に基づいてサブフィードバック制御量vafsfbを求める。
【0115】
【数16】
vafsfb=Kp・DVoxs+Ki・SDVoxs
【0116】
上記数16において、Kpは予め設定された比例ゲイン、Kiは予め設定された積分ゲインである。また、SDVoxsは、出力偏差量DVoxsの積分値であって、次のステップ1120にて更新される値である。即ち、CPU71は、ステップ1120に進むと、その時点における出力偏差量の積分値SDVoxsに上記ステップ1110にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、その後、ステップ1195に進んで本ルーチンを一旦終了する。
【0117】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は前述した図10のステップ1010にて上流側空燃比センサ66の実際の出力vabyfsに加えられ、その和(vabyfs + vafsfb)が図3に示したマップに基づいて前記上流側制御用空燃比abyfsに変換される。換言すると、下流側空燃比センサ67の出力Voxsに基づいて求められる(修正される)上流側制御用空燃比abyfsは、上流側空燃比センサ66が実際に検出している空燃比に対して、サブフィードバック制御量vafsfbに相当する分だけ異なる空燃比として求められる。この結果、前述した図10のステップ1015にて計算される筒内燃料供給量Fc(k−N)が下流側空燃比センサ67の出力Voxsに応じて変化し、ステップ1025,1030にてフィードバック補正量DFiが同下流側空燃比センサ67の出力Voxsに応じて変更せしめられる。これにより、第1触媒53の下流側の空燃比が目標値Voxsrefに一致するように、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)が制御せしめられる。
【0118】
例えば、機関に供給される混合気の平均的な空燃比がリーンであるために下流側空燃比センサ67の出力Voxsが理論空燃比よりもリーンである空燃比に対応した値を示すと、ステップ1110にて求められる出力偏差量DVoxsが正の値となるので、ステップ1115にて求められるサブフィードバック制御量vafsfbは正の値となる(図5(A)においては、例えば、時刻t2’〜t3’)。従って、ステップ1010にて求められるabyfsは上流側空燃比センサ66が実際に検出している空燃比よりもリーンな値(より大きな値)として求められる。このため、ステップ1015にて求められる筒内燃料供給量Fc(k−N)は小さい値となり、ステップ1025にて求められる筒内燃料供給量偏差DFcは大きい正の値として求められるので、ステップ1030にて求められる空燃比フィードバック補正量DFiが大きい正の値となる。これにより、図9のステップ910にて求められる最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも大きくなって、機関に供給される混合気の空燃比がリッチとなるように制御される。
【0119】
反対に、機関に供給される混合気の平均的な空燃比がリッチであるために下流側空燃比センサ67の出力Voxsが理論空燃比よりもリッチ空燃比に対応した値を示すと、ステップ1110にて求められる出力偏差量DVoxsが負の値となるので、ステップ1115にて求められるサブフィードバック制御量vafsfbは負の値となる(図5(A)においては、例えば、時刻t1’〜t2’,時刻t3’〜t4’)。従って、ステップ1010にて求められるabyfsは上流側空燃比センサ66が実際に検出している空燃比よりもリッチな値(より小さな値)として求められる。このため、ステップ1015にて求められる筒内燃料供給量Fc(k−N)は大きい値となり、筒内燃料供給量偏差DFcは負の値として求められるので、フィードバック補正量DFiが負の値となる。これにより、図9のステップ910にて求められる最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも小さくなって、機関に供給される混合気の空燃比がリーンとなるように制御される。
【0120】
一方、サブフィードバック制御条件が不成立であるとき、CPU71はステップ1105にて「No」と判定してステップ1125に進み、サブフィードバック制御量vafsfbの値を「0」に設定する。これにより、下流側空燃比センサ67の出力Voxsに基づくサブフィードバック制御が停止される。
【0121】
次に、第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等の算出における作動について説明する。CPU71は図12及び図13のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【0122】
従って、所定のタイミングになると、CPU71は、第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出するための図12に示したルーチンのステップ1200から処理を開始し、ステップ1205に進んで、先に説明した上流側空燃比センサ66により検出された空燃比A/Fの平均値abyfsaveと、図9のステップ920にて逐次更新されている燃料噴射量合計量mfrの最新値と、上記数14に基づくステップ1205内に記載した式とに基づいて、先に説明したように境界条件である第1触媒53のブロック(1)における流入酸素量CginO2(1)を算出する。
【0123】
次いで、CPU71はステップ1210に進んでカウンタ値nの値、及び第1触媒53の酸素吸蔵量OSAallの値をそれぞれ「0」に設定した後、ステップ1215に進んで第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出する処理を開始する。まず、CPU71はステップ1215においてカウンタ値nの値を「1」だけ増大して「1」に設定する。カウンタ値nは第1触媒53のブロックの番号を示している。この時点ではカウンタ値nの値は「1」であり、続くステップ1220からステップ1275までの今回の処理においてカウンタ値nの値は「1」に維持されるので、今回の同ステップ1220〜ステップ1275までの処理においては最上流のブロック(1)における計算が実行される。
【0124】
まず、CPU71はステップ1220に進んで、流入酸素量CginO2(1)の値が「0」以上であるか否かを判定し、流入酸素量CginO2(1)の値が「0」以上であれば同ステップ1220において「Yes」と判定するとともにステップ1225に進んで、先に説明したように予め所定の一定値に設定されているブロック(1)の最大酸素吸蔵量Cmax(1)の値と、後述するステップ1260にて前回本ルーチンが実行されたときに計算(更新)されたブロック(1)の酸素吸蔵量OSA(1)の値と、上記数3(の右辺)に基づくステップ1225内に記載した式とに基づいてブロック(1)における反応率Hを算出する。
【0125】
また、ステップ1220における判定において、流入酸素量CginO2(1)の値が「0」以上でなければCPU71は同ステップ1220において「No」と判定するとともにステップ1230に進んで、上記最大酸素吸蔵量Cmax(1)の値と、上記酸素吸蔵量OSA(1)の値と、上記数5(の右辺)に基づくステップ1230内に記載した式とに基づいてブロック(1)における反応率Hを算出する。
【0126】
次いで、CPU71はステップ1235に進み、ステップ1225又はステップ1230にて算出した反応率Hの値と、ステップ1205にて算出したブロック(1)における流入酸素量CginO2(1)の値と、上記数2(の右辺)又は上記数4(の右辺)に基づくステップ1235内に記載した式とに基づいてブロック(1)における酸素吸蔵量変化量δOSA(1)を算出する。
【0127】
次に、CPU71はステップ1240に進んで、後述するステップ1260にて前回本ルーチンが実行されたときに計算されたブロック(1)の酸素吸蔵量OSA(1)の値とステップ1235にて今回算出したブロック(1)の酸素吸蔵量変化量δOSA(1)の値とを積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)の値以下であるか否かを判定する。
【0128】
ここで、前記積算した値が最大酸素吸蔵量Cmax(1)の値以下であればCPU71はステップ1240にて「Yes」と判定してステップ1245に進んで同積算した値が「0」以上であるか否かを判定するとともに、同積算した値が「0」以上であれば同ステップ1245にて「Yes」と判定してステップ1260に進んで、同積算した値を新たな酸素吸蔵量OSA(1)として設定する。このように、前記積算した値が「0」以上最大酸素吸蔵量Cmax(1)以下であればステップ1235にて算出された酸素吸蔵量変化量δOSA(1)の値がそのままブロック(1)における酸素吸蔵量変化量として使用される。
【0129】
一方、ステップ1240の判定において、前記積算した値が最大酸素吸蔵量Cmax(1)の値を超えていればCPU71は同ステップ1240にて「No」と判定してステップ1250に進み、最大酸素吸蔵量Cmax(1)の値から前回算出した酸素吸蔵量OSA(1)の値を減算した値を酸素吸蔵量変化量δOSA(1)に格納した後、ステップ1260に進む。このように、前記積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)を超えていれば今回ステップ1260にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)を超えてしまうことを意味するので、今回ステップ1260にて算出される酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)の値と等しくなるように酸素吸蔵量変化量δOSA(1)が調整される。
【0130】
同様に、ステップ1245の判定において、前記積算した値が「0」未満(負の値)となっていればCPU71は同ステップ1245にて「No」と判定してステップ1255に進み、前回算出した酸素吸蔵量OSA(1)の値に対して符号を反転させた値を酸素吸蔵量変化量δOSA(1)に格納した後、ステップ1260に進む。このように、前記積算した値が「0」未満であれば今回ステップ1260にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が「0」未満(負の値)になってしまうことを意味するので、今回ステップ1260にて算出される酸素吸蔵量OSA(1)の値が「0」になるように酸素吸蔵量変化量δOSA(1)が調整される。
【0131】
ステップ1260にてブロック(1)における今回の酸素吸蔵量OSA(1)を算出した後、CPU71はステップ1265に進んでステップ1205にて算出したブロック(1)における流入酸素量CginO2(1)の値と、上記調整後のブロック(1)における酸素吸蔵量変化量δOSA(1)の値と、上記数1(の右辺)に基づくステップ1265内に記載した式とに基づいてブロック(1)における流出酸素量CgoutO2(1)を算出する。
【0132】
次いで、CPU71はステップ1270に進んで、(現時点ではステップ1210の実行により「0」となっている)現時点における第1触媒53の酸素吸蔵量OSAallの値にステップ1260にて算出されたブロック(1)における今回の酸素吸蔵量OSA(1)の値を加えた値を新たな酸素吸蔵量OSAallとして格納した後、ステップ1275に進んで、ステップ1265にて算出されたブロック(1)における流出酸素量CgoutO2(1)の値と、上記数7に基づいてブロック(1)に隣接する下流側のブロック(2)における流入酸素量CginO2(2)を算出する。
【0133】
そして、CPU71はステップ1280に進んでカウンタ値nの値が第1触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ1280にて「No」と判定し、再びステッ1215に戻ってカウンタ値nの値を「1」だけ増大して「2」に設定した後、続くステップ1220〜ステップ1275までの処理を実行することで次のブロックであるブロック(2)における計算を実行する。このとき、ステップ1265における流入酸素量CginO2(2)の値としては前回ステップ1275にて算出した流入酸素量CginO2(2)の値が使用される。
【0134】
このようにして、ステップ1220〜ステップ1275までの処理は、カウンタ値nの値が第1触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、第1触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)の流入酸素量CginO2(n)、流出酸素量CgoutO2(n)、酸素吸蔵量変化量δOSA(n)、及び酸素吸蔵量OSA(n)の値が順次算出されていく。また、ステップ1270の処理が繰り返し実行されることにより、第1触媒53の酸素吸蔵量OSAallも算出される。このようにして、カウンタ値nの値がブロック数Nであるときにステップ1265にて算出される値が第1触媒53から流出するガス中の酸素の過不足量(流出酸素量)CgoutO2(N)となる。
【0135】
ステップ1215の処理が繰り返されることによりカウンタ値nの値が第1触媒53のブロック数Nと等しくなると、CPU71はステップ1280にて「Yes」と判定し、続くステップ1285にて燃料噴射量合計量mfrの値を「0」に設定した後、ステップ1295に進んで本ルーチンを一旦終了する。
【0136】
また、CPU71は、所定のタイミングになると、第1触媒53の各ブロック毎の酸素吸蔵量の値、並びに第1触媒53の酸素吸蔵量の値を初期化(クリア)するための図13にフローチャートにより示したルーチンのステップ1300から処理を開始し、ステップ1305に進んで、下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きいか否かをモニタする。このとき、下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きければ、即ち、第1触媒53の下流空燃比がリッチ空燃比であれば、同第1触媒53内全体に吸蔵されている酸素量が「0」であることを意味するので、CPU71はステップ1310に進んで第1触媒53の各ブロック毎の酸素吸蔵量の値及び第1触媒53の酸素吸蔵量の値を総て「0」に設定する処理を開始する。一方、ステップ1305の判定において、下流側空燃比センサ67の出力Voxsの値が0.7(V)以下であれば、CPU71はステップ1305からステップ1395に直接進んで本ルーチンを一旦終了する。
【0137】
いま、ステップ1305の判定において下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きくなっているとすると、CPU71はステップ1310に進み、カウンタ値nの値を「0」に設定した後、ステップ1315に進んでカウンタ値nの値を「1」だけ増大して「1」に設定する。次いで、CPU71はステップ1320に進んで、第1触媒53のブロック(n)における酸素吸蔵量OSA(n)の値を「0」に設定する。この時点ではカウンタ値nの値は「1」であるから、最上流のブロック(1)における酸素吸蔵量OSA(1)の値が「0」に設定される。
【0138】
そして、CPU71はステップ1325に進んでカウンタ値nの値が第1触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ1325にて「No」と判定し、再びステップ1315に戻ってカウンタ値nの値を「1」だけ増大した後ステップ1320及びステップ1325の処理を実行する。即ち、ステップ1320及びステップ1325の処理は、カウンタ値nの値が第1触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、第1触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)における酸素吸蔵量OSA(n)の値が総て「0」にクリアされる。
【0139】
前述のステップ1315の処理が繰り返されることによりカウンタ値nの値が触媒53のブロック数Nと等しくなると、CPU71はステップ1325にて「Yes」と判定してステップ1330に進み、第1触媒53の酸素吸蔵量OSAallの値を「0」に設定した後、ステップ1395に進んで本ルーチンを一旦終了する。
【0140】
次に、下流側空燃比センサ67の出力Voxsが前記第1の状態となる頻度SMLが前記基準値SML0に達する毎(一サンプリング期間が経過する毎)にこの一サンプリング期間中にて下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が前記第2の状態になっている頻度FREを求める際の作動について説明する。CPU71は図14のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【0141】
従って、所定のタイミングになると、CPU71はステップ1400から処理を開始し、ステップ1405に進んで、前述の図11のステップ1105におけるものと同様のサブフィードバック制御条件が成立していて、且つ、被毒回復処理実行中フラグPWMの値が「0」になっているか否かを判定し、ステップ1405にて「No」と判定するときはステップ1450に直ちに進んで、現時点での下流側空燃比センサ出力Voxsの値を前回の下流側空燃比センサ出力Voxspとして設定した後、本ルーチンを一旦終了する。これは、下流側空燃比センサ67が正常であって、且つ後述する被毒回復処理が実行されていない場合における前記頻度FREを算出するためである。
【0142】
いま、サブフィードバック制御条件が成立し、被毒回復処理実行中フラグPWMの値が「0」になっていて、且つ、下流側空燃比センサ67の出力Voxsがリッチ側所定値Vrichを増加しながら、或いはリーン側所定値Vleanを減少しながら通過する前記第1の状態となっていないものとして説明を続けると、CPU71はステップ1405にて「Yes」と判定してステップ1410に進み、今回の(現時点での)下流側空燃比センサ出力Voxsの値がリッチ側所定値Vrichよりも大きく、且つ、前回本ルーチン実行時にステップ1450にて更新されている前回の下流側空燃比センサ出力Voxspの値が同リッチ側所定値Vrich以下であるか否か(従って、下流側空燃比センサ出力Voxsがリッチ側所定値Vrichを増加しながら通過しているか否か)を判定する。
【0143】
現時点では、上記の仮定に従い、CPU71はステップ1410にて「No」と判定してステップ1415に進み、今回の下流側空燃比センサ出力Voxsの値がリーン側所定値Vleanよりも小さく、且つ、前回の下流側空燃比センサ出力Voxspの値が同リーン側所定値Vlean以上であるか否か(従って、下流側空燃比センサ出力Voxsがリーン側所定値Vleanを減少しながら通過しているか否か)を判定する。
【0144】
現時点では、上記の仮定に従い、CPU71はステップ1415でも「No」と判定してステップ1450に直ちに進む。以降、CPU71は、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415,1450の処理を繰り返し実行する。
【0145】
次に、この状態から、下流側空燃比センサ出力Voxsがリッチ側所定値Vrichを増加しながら通過した場合(図5(A)においては時刻t1,t3)について説明すると、この場合、CPU71はステップ1410に進んだとき「Yes」と判定してステップ1420に進み、現時点での頻度SMLの値を「1」だけ増大した値を新たな頻度SMLとして設定する。
【0146】
次いで、CPU71はステップ1425に進んで、前述した図12のステップ1265にて算出されている流出酸素量CgoutO2(N)の最新値が負の閾値Crefmnsよりも小さい値になっているか(即ち、流出酸素量CgoutO2(N)が第2の状態になっているか)否かを判定し、「Yes」と判定するときにはステップ1430にて現時点での頻度FREの値を「1」だけ増大した値を新たな頻度FREとして設定した後にステップ1450に進む。一方、ステップ1425の判定にて「No」と判定するときにはCPU71は頻度FREの値を現時点での値に維持したままステップ1450に直ちに進む。以降、CPU71は、再び、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415,1450の処理を繰り返し実行するようになる。
【0147】
次に、この状態から、下流側空燃比センサ出力Voxsがリーン側所定値Vleanを減少しながら通過した場合(図5(A)においては時刻t2,t4)について説明すると、この場合、CPU71はステップ1415に進んだとき「Yes」と判定してステップ1435に進み、現時点での頻度SMLの値を「1」だけ増大した値を新たな頻度SMLとして設定する。
【0148】
次いで、CPU71はステップ1440に進んで、前述した図12のステップ1265にて算出されている流出酸素量CgoutO2(N)の最新値が正の閾値Crefplsよりも大きい値になっているか(即ち、流出酸素量CgoutO2(N)が第2の状態になっているか)否かを判定し、「Yes」と判定するときにはステップ1445にて現時点での頻度FREの値を「1」だけ増大した値を新たな頻度FREとして設定した後にステップ1450に進む。一方、ステップ1440の判定にて「No」と判定するときにはCPU71は頻度FREの値を現時点での値に維持したままステップ1450に直ちに進む。以降、CPU71は、再び、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415、1450の処理を繰り返し実行するようになる。
【0149】
このように、本ルーチンが繰り返し実行されることにより、下流側空燃比センサ67の出力Voxsが前記第1の状態となる毎に頻度SMLの値が「1」だけ増大されるとともに、下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている毎に頻度FREの値が「1」だけ増大されていく。
【0150】
また、CPU71は、図15にフローチャートにより示した第1触媒53の劣化判定を行うためのルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、CPU71はステップ1500から処理を開始し、ステップ1505に進んで、頻度SMLの値が前記基準値SML0以上となったか否かを判定する。このとき、頻度SMLの値が基準値SML0よりも小さければ、CPU71は触媒の劣化判定を行うことなくステップ1595に直ちに進んで本ルーチンを一旦終了する。
【0151】
一方、頻度SMLが基準値SML0に達していると(即ち、前記一サンプリング期間が経過すると)、CPU71はステップ1505にて「Yes」と判定してステップ1510に進み、頻度FREの値が劣化判定基準値FREref以上であるか否かを判定する。
【0152】
いま、第1触媒53の劣化の程度が少ないものとして説明を続けると、この場合、頻度FREの値が劣化判定基準値FREref以上となっている。従って、CPU71はステップ1510にて「Yes」と判定してステップ1515に進んで、劣化判定フラグXRの値を「0」に設定し、続くステップ1520にてカウンタCNTの値を「0」に設定する。ここで、劣化判定フラグXRは、その値が「1」であるとき第1触媒53が前記劣化触媒であることを示し、その値が「0」であるとき第1触媒53が前記正常触媒であることを示す。また、カウンタCNTの値は、前記一サンプリング期間の経過毎に連続して劣化判定フラグXRが「1」となる(従って、連続して第1触媒53が劣化触媒であると判定される)回数を示す値である。
【0153】
そして、CPU71はステップ1525に進み、警報ランプ82に同警報ランプ82を消灯させるための指示信号を送出するとともに、続くステップ1530にて頻度SMLの値、及び頻度FREの値を共に「0」に設定した後、ステップ1595に進んで本ルーチンを一旦終了する。これにより、図14のルーチンが繰り返し実行されることで、再度、頻度SMLの値が基準値SML0に達するまで(即ち、次の一サンプリング期間が経過するまで)頻度FREの値が「0」から更新されていき、次の一サンプリング期間が経過するとその時点における更新された頻度FREの値に基づいて再び第1触媒53の劣化判定が実行される。そして、かかる頻度FREの値が劣化判定基準値FREref以上となっている限りにおいて、第1触媒53は正常触媒であると判定され続ける。
【0154】
次に、この状態から、第1触媒53の劣化が進行して頻度FREの値が劣化判定基準値FRErefより小さくなった場合について説明すると、この場合、CPU71はステップ1510にて「No」と判定してステップ1535に進むようになり、同ステップ1535にて劣化判定フラグXRの値を「1」に設定し、続くステップ1540にて被毒回復処理実行中フラグPWMの値を「1」に設定するとともに、続くステップ1545にて現時点でのカウンタCNTの値(現時点では「0」である。)を「1」だけ増大した値(=1)を新たなカウンタCNTとして設定する。
【0155】
次いで、CPU71はステップ1550に進み、カウンタCNTの値が「1」以下であるか、即ち、連続して第1触媒53が劣化触媒であると判定された回数が1回以下であるか否かを判定する。現時点では、カウンタCNTの値は「1」であるから、CPU71はステップ1550にて「Yes」と判定してステップ1530に直ちに進んで頻度SMLの値、及び頻度FREの値を共に「0」に設定した後、ステップ1595に進んで本ルーチンを一旦終了する。
【0156】
これにより、被毒回復処理実行中フラグPWMの値が「1」となって前述の空燃比フィードバック制御条件が成立しなくなるから、CPU71は図10のステップ1005にて「No」と判定してステップ1040に進むようになり、空燃比フィードバック補正量DFiの値が「0」に設定されて前述の空燃比フィードバック制御が中断されるようになる。また、CPU71は図14のステップ1405にて「No」と判定してステップ1450に直ちに進むようになり、頻度FREの算出も中断されるようになる。従って、頻度SMLの値が「0」に維持されるから、CPU71が図15のステップ1505にて「No」と判定し続けることで、第1触媒53の劣化判定が実行されなくなる。これにより、カウンタCNTの値は「1」に維持される。
【0157】
また、CPU71は、図16にフローチャートにより示した被毒回復処理を実行するためのルーチンを実行するようになっている。一般に、第1触媒53のような三元触媒の劣化には、大別すると、熱による劣化と被毒による劣化が存在する。ここで、三元触媒が熱により劣化した場合、その劣化状態を解消することは困難である。一方、三元触媒が被毒により劣化した場合、所定の被毒回復処理を実行することでその劣化状態を解消できる可能性があることが知られている。以下、かかる被毒による劣化、及び、被毒回復処理について簡単に説明する。
【0158】
触媒は、排気ガス中の還元剤(例えば、HC,CO等の未燃成分)が所定量だけ連続的に流入すると、同還元剤が同触媒内の貴金属やセリア(CeO2)(以下、「貴金属等」と称呼する。)の表面に付着して貴金属等の表面積が小さくなることにより被毒(所謂、一次被毒)し、かかる被毒により劣化する(例えば、触媒の最大酸素吸蔵量が低下する)ことが知られている。また、一方では、還元剤による触媒の一次被毒状態は、同触媒に所定量の酸素(従って、リーン空燃比のガス)を供給することにより解消することも知られている。
【0159】
他方、触媒は、排気ガス中の硫黄成分が所定量だけ連続的に流入すると、同硫黄成分が同触媒内の貴金属等の表面に付着して貴金属等の表面積が小さくなることにより被毒(所謂、一次被毒)し、かかる被毒によっても劣化することが知られている。また、一方では、硫黄成分による触媒の一次被毒状態は、同触媒に所定量の還元剤(例えば、HC,CO等の未燃成分。従って、リッチ空燃比のガス)を供給することにより解消することも知られている。
【0160】
以上のことから、本触媒劣化判定装置は、第1触媒53が劣化触媒であると判定される毎に(即ち、図15のステップ1540が実行されて被毒回復処理実行中フラグPWMの値が「0」から「1」に変更される毎に)、前述の空燃比フィードバック制御を中止して機関に供給される混合気の空燃比を、所定の期間の経過毎に所定のリッチ空燃比、所定のリーン空燃比、同所定のリッチ空燃比、同所定のリーン空燃比の順に強制的に制御する被毒回復処理を実行する。
【0161】
このような被毒回復処理を実行するため、CPU71は、図16のルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1600から処理を開始し、ステップ1605に進んで、被毒回復処理実行中フラグPWMの値が「1」であるか否かを判定し、「No」と判定する場合、被毒回復処理を実行することなくステップ1695に直ちに進んで本ルーチンを一旦終了する。
【0162】
いま、前述の図15のステップ1540が実行された直後であるものとして説明を続けると、CPU71はステップ1605にて「Yes」と判定してステップ1610に進み、被毒回復処理実行中フラグPWMの値が「0」から「1」に変更されたか否かを判定する。現時点は、図15のステップ1540が実行された直後であって被毒回復処理実行中フラグPWMの値が「0」から「1」に変更された直後であるから、CPU71はステップ1610にて「Yes」と判定してステップ1615に進み、カウンタ値Tを「0」に設定するとともに、続くステップ1620にて図9のステップ910にて使用される係数Kの値を「1.02」に設定する。ここで、カウンタ値Tは被毒回復処理が開始された時点からの経過時間を表す値である。
【0163】
次いで、CPU71はステップ1625に進み、カウンタ値を「1」だけ増大し、続くステップ1630にてカウンタ値Tが「4・T1」よりも小さいか否かを判定する。ここで、T1は前記所定の期間に相当する値である。従って、このステップ1630では、被毒回復処理が開始された後に前記所定の期間が4回繰り返されていないか否か、即ち、被毒回復処理を終了すべき時期が到来していないか否かが判定される。
【0164】
現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1630にて「Yes」と判定してステップ1635に進み、カウンタ値Tが値「T1」又は値「3・T1」の何れかになっているか否かを判定する。現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1630にて「No」と判定してステップ1640に進み、カウンタ値Tが値「2・T1」になっているか否かを判定する。現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1640でも「No」と判定してステップ1695に直ちに進んで本ルーチンを一旦終了する。
【0165】
以降、ステップ1625が繰り返し実行されてカウンタ値Tが値T1になるまで(従って、被毒回復処理開始後に前記所定の期間が経過するまで)CPU71は、ステップ1600〜1610,1625〜1640,1695の処理を繰り返し実行する。従って、被毒回復処理開始後に前記所定の期間が経過するまでの間、図9のステップ910の実行により、基本燃料噴射量Fbaseが1.02倍された値が最終燃料噴射量Fiとして算出され(空燃比フィードバック補正量DFiの値は「0」に設定されている。)、この最終燃料噴射量Fiの燃料が噴射されるので、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりもリッチな前記所定のリッチ空燃比に制御され続ける。これにより、硫黄成分による第1触媒53の一次被毒状態が解消される可能性がある。
【0166】
次に、この状態から、カウンタ値Tが値T1になった場合について説明する。この場合、CPU71はステップ1635に進んだとき「Yes」と判定してステップ1645に進んで係数Kの値を「1.02」から「0.98」に変更した後、ステップ1695に進んで本ルーチンを一旦終了する。以降、ステップ1625が繰り返し実行されてカウンタ値Tが値T2になるまで(従って、1回目の所定の期間の経過後、2回目の所定の期間が経過するまで)CPU71は、ステップ1600〜1610,1625〜1640,1695の処理を再び繰り返し実行するようになる。従って、1回目の所定の期間の経過後、2回目の所定の期間が経過するまでの間、基本燃料噴射量Fbaseが0.98倍された値が最終燃料噴射量Fiとして算出されるから、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりもリーンな前記所定のリーン空燃比に制御され続ける。これにより、還元剤による第1触媒53の一次被毒状態が解消される可能性がある。
【0167】
同様に、カウンタ値Tが値T1から増大していき値T2になると、CPU71はステップ1640に進んだとき「Yes」と判定してステップ1650に進み、係数Kの値を「0.98」から再び「1.02」に変更する。これにより、2回目の所定の期間の経過後、3回目の所定の期間が経過するまでの間、再び、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりも前記所定のリッチ空燃比に制御され続ける。また、同様に、カウンタ値Tが値T2から増大していき値T3になると、CPU71はステップ1635に進んだとき「Yes」と判定してステップ1645に進み、係数Kの値を「1.02」から再度「0.98」に変更する。これにより、3回目の所定の期間の経過後、4回目の所定の期間が経過するまでの間、再び、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりも前記所定のリーン空燃比に制御され続ける。
【0168】
そして、カウンタ値Tが値T3から増大していき値T4になると、CPU71はステップ1630に進んだとき「No」と判定してステップ1655に進み、係数Kの値を「1.00」に再設定するとともに、続くステップ1660にて被毒回復処理実行中フラグPWMの値を「1」から「0」に変更した後、ステップ1695に進んで本ルーチンを一旦終了する。
【0169】
以降、被毒回復処理実行中フラグPWMの値が「0」になっているから、図15のステップ1540にて被毒回復処理実行中フラグPWMの値が再び「1」に設定されるまでの間、CPU71はステップ1605からステップ1695に直ちに進んで本ルーチンを一旦終了するようになる。また、空燃比フィードバック制御条件、及びサブフィードバック制御条件が成立していれば、CPU71は図10のステップ1005及び図11のステップ1105にて「Yes」と判定するようになるから、空燃比フィードバック制御が再開されるともに、図14のステップ1405にて「Yes」と判定するようになるから、頻度FREの算出が再開される。
【0170】
従って、被毒回復処理が終了した時点以降、再び、頻度SMLが基準値SML0に達すると(即ち、一サンプリング期間が経過すると)、CPU71は図15のステップ1505にて「Yes」と判定してステップ1510以降に進み、第1触媒53の劣化判定を行う。そして、被毒回復処理により第1触媒53の劣化状態が解消している場合、CPU71はステップ1510にて「Yes」と判定し、ステップ1520にてカウンタCNTの値を現時点での値「1」から「0」にクリアする。
【0171】
一方、被毒回復処理によっても第1触媒53の劣化状態が解消していない場合、CPU71はステップ1510にて再び「No」と判定し、ステップ1545にてカウンタCNTの値を現時点での値「1」から「1」だけ増大して「2」に設定する。従って、CPU71は続くステップ1550にて「No」と判定するようになり、ステップ1555に進んで警報ランプ82に同警報ランプ82を点灯させるための指示信号を送出する。これにより、警報ランプ82が点灯する。
【0172】
即ち、警報ランプ82は、一旦、第1触媒53が劣化触媒であると判定された後に被毒回復処理が1回実行されてもなお、第1触媒53の劣化状態が解消しなかった場合に点灯されることになる。また、この場合、ステップ1540の処理によりその後に被毒回復処理が再び実行されることになる。そして、仮に、被毒回復処理が繰り返し実行されることでその後において第1触媒53の劣化状態が解消されるようなことがあった場合、CPU71がステップ1510にて「Yes」と判定することで、ステップ1520にてカウンタCNTの値が「0」にクリアされるとともに、ステップ1525にて現時点まで点灯し続けていた警報ランプ82が消灯される。一方、第1触媒53の劣化状態が引き続き解消されない場合は、ステップ1525の処理が実行されないことから警報ランプ82は継続して点灯し続ける。
【0173】
以上、説明したように、本発明の実施形態によれば、第1触媒53が新品の触媒であると想定して構築された同第1触媒53を対象とする触媒モデルに基づき、第1触媒53から流出するガス中の特定成分の量(流出酸素量CgoutO2(N))を推定(算出)する。そして、本発明の実施形態は、第1触媒53下流の下流側空燃比センサ67の出力Voxsに基づく空燃比フィードバック制御中において、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる毎に触媒モデルが推定している流出酸素量CgoutO2(N)が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっているか否かを判定するとともに、下流側空燃比センサ出力Voxsが第1の状態となる頻度SMLが所定の基準値SML0に達する毎(一サンプリング期間が経過する毎)に、この一サンプリング期間中にて下流側空燃比センサ出力Voxsが第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている頻度FREを求め、この頻度FREが劣化判定基準値FREref以上か否か(従って、頻度SML0に対する頻度FREの割合が所定値以上か否か)に基づいて第1触媒53が正常触媒であるか劣化触媒であるかを判定する。
【0174】
このような触媒劣化判定方法は、通常の空燃比フィードバック(サブフィードバック)における空燃比変動を伴うのみであって、従来技術のように機関が定常状態にあるときに空燃比を強制的に変化させないので、触媒劣化判定をドライバビリティの悪化を招くことなく行うことができた。また、通常の空燃比フィードバック制御(サブフィードバック制御)中に触媒劣化判定がなされるので、触媒劣化判定の機会を多く確保でき、この結果、第1触媒53が正常触媒であるか劣化触媒であるかを遅滞なく判定することができた。
【0175】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、下流側空燃比センサ出力Voxsが第1の状態となる頻度SMLが基準値SML0に達する毎に頻度FREと劣化判定基準値FRErefとの比較結果に基づいて触媒の劣化判定を実行しているが、所定の(一定の)サンプリング時間の経過毎に同サンプリング時間内における頻度SMLに対する頻度FREの割合と所定値との比較結果に基づいて触媒の劣化判定を実行するように構成してもよい。
【0176】
また、上記実施形態においては、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる頻度SML(SML0)に対する、同下流側空燃比センサ出力Voxsが第1の状態となる時点において第1触媒53から流出する特定成分の量(流出酸素量CgoutO2(N))が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっている頻度FREの割合に応じて第1触媒53の劣化判定が実行されているが、前記第2の状態を、「減少している、又は増加している状態」としてもよい。また、第1触媒53から流出する特定成分の量(流出酸素量CgoutO2(N))が第1の状態(負の閾値Crefmnsを減少しながら、又は正の閾値Crefplsを増加しながら通過する状態)となる頻度SML(SML0)に対する、同特定成分の量が第1の状態となる時点において下流側空燃比センサ出力Voxsが第2の状態(リッチ側所定値Vrichよりも大きい値、又はリーン側所定値Vleanよりも小さい値になっている状態)になっている頻度FREの割合に応じて第1触媒53の劣化判定が実行されるように構成されてもよい。この場合、前記第2の状態を、「増加している、又は減少している状態」としてもよい。また、上述のリッチ側所定値Vrich、及びリーン側所定値Vleanは共に、目標値Voxsrefと等しい値に設定してもよい。
【0177】
また、上記実施形態においては、空燃比フィードバック制御(サブフィードバック制御)は下流側空燃比センサ67の出力Voxsに基づいて実行されているが、触媒モデルにより推定されている流出酸素量CgoutO2(N)に基づいて実行されるように構成してもよい。この場合、図11のステップ1110を「DVoxs ← CgoutO2(N) − CgoutO2ref」に書き換えればよい。ここで、CgoutO2refは流出酸素量CgoutO2(N)の目標値であって、例えば「0」である。
【0178】
また、サブフィードバック制御は、上記PI制御でなく、PID制御であってもよい。更に、下流側空燃比センサ67は、上流側空燃比センサ66と同様な空燃比センサであってもよい。また、下流側空燃比センサ67の出力Voxsのみに基づいて機関に供給される混合気の空燃比をフィードバック制御するように構成してもよい。
【図面の簡単な説明】
【図1】本発明による触媒劣化判定装置を適用した内燃機関の概略図である。
【図2】図1に示したエアフローメータの出力電圧と計測された吸入空気流量との関係を示したマップである。
【図3】図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図4】図1に示した下流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図5】(A)は第1触媒が新品の触媒である場合の空燃比フィードバック制御(サブフィードバック制御)における下流側空燃比センサの出力、及び本発明の触媒劣化判定装置が採用する触媒モデルにより推定される第1触媒から流出する流出酸素量の変化を示したタイムチャートであり、(B)は第1触媒が劣化触媒である場合の空燃比フィードバック制御における同下流側空燃比センサの出力、及び同流出酸素量の変化を示したタイムチャートである。
【図6】本発明の触媒劣化判定装置が採用する触媒モデルを模式的に示した図である。
【図7】本発明の触媒劣化判定装置が採用する触媒モデルの特定領域に注目したときの同特定領域における酸素吸蔵・放出反応に関係する特定成分の収支を示した図である。
【図8】本発明の触媒劣化判定装置が採用する触媒モデルを第1触媒に適用した場合の模式図である。
【図9】図1に示したCPUが実行する燃料噴射量計算のためのルーチンを示したフローチャートである。
【図10】図1に示したCPUが実行する空燃比フィードバック補正量の計算のためのルーチンを示したフローチャートである。
【図11】図1に示したCPUが実行するサブフィードバック制御量の計算のためのルーチンを示したフローチャートである。
【図12】図1に示したCPUが実行する第1触媒の各ブロック毎の流出酸素量、酸素吸蔵量等の計算のためのルーチンを示したフローチャートである。
【図13】図1に示したCPUが実行する第1触媒の各ブロック毎の酸素吸蔵量をクリアするためのルーチンを示したフローチャートである。
【図14】図1に示したCPUが実行する触媒劣化判定に使用する頻度FREを求めるためのルーチンを示したフローチャートである。
【図15】図1に示したCPUが実行する第1触媒が正常触媒であるか劣化触媒であるかを判定するためのルーチンを示したフローチャートである。
【図16】図1に示したCPUが実行する第1触媒の被毒回復処理を行うためのルーチンを示したフローチャートである。
【符号の説明】
10…内燃機関、25…燃焼室、39…インジェクタ、52…エキゾーストパイプ(排気管)、53…第1触媒、66…上流側空燃比センサ、67…下流側空燃比センサ、70…電気制御装置、71…CPU
【発明の属する技術分野】
本発明は、内燃機関の排気通路に配設された三元触媒が劣化したか否かを判定する触媒劣化判定装置に関する。
【0002】
【従来の技術】
従来より、内燃機関の排気ガスを浄化するための三元触媒(本明細書においては、単に「触媒」とも云うこともある。)が、同機関の排気通路に配設されている。この三元触媒は、酸素を貯蔵するO2ストレージ機能(酸素吸蔵機能)を有していて、流入するガスの空燃比がリッチである場合には貯蔵している酸素によりHC,CO等の未燃成分を酸化するとともに、流入するガスの空燃比がリーンである場合には窒素酸化物(NOx)を還元して同NOxから奪った酸素を内部に貯蔵(吸蔵)する。これにより、三元触媒は、触媒に流入するガスの空燃比が理論空燃比から偏移した場合でも、未燃成分や窒素酸化物を浄化することができる。従って、三元触媒が貯蔵し得る酸素量(以下、「酸素吸蔵量」と称呼する。)の最大値(以下、「最大酸素吸蔵量」と称呼する。)が大きいほど、三元触媒の浄化能力は高い。
【0003】
ところで、触媒は燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化する。その結果、触媒の酸素吸蔵機能は次第に低下する。即ち、触媒の劣化が進行するほど、同触媒の最大酸素吸蔵量は低下する。このことから、触媒の最大酸素吸蔵量が推定できれば、同推定した最大酸素吸蔵量に基づいて触媒が劣化したか否かを判定することができる。
【0004】
特許文献1に開示された触媒劣化判定装置は、このような知見に基づいたものであって、機関の空燃比を所定のリッチ空燃比からリーン空燃比(又は、その逆)に強制的に変化させ、その際における触媒下流に配置した空燃比センサ(以下、「下流側空燃比センサ」と称呼する。)の出力に基づいて同触媒の最大酸素吸蔵量を推定し、同推定した最大酸素吸蔵量に基づいて同触媒が劣化したか否かを判定するように構成されている。
【0005】
より具体的に述べると、上記開示された装置は、触媒上流の空燃比を所定のリッチな空燃比に制御して酸素吸蔵量を「0」にしておき、その後、同触媒の空燃比を所定のリーンな空燃比に制御し、触媒の酸素吸蔵量が最大酸素吸蔵量以上となって触媒下流の空燃比センサの出力がリーンへと変化するまでの時間と同触媒に単位時間当りに流入した酸素量とを乗じることで、同最大酸素吸蔵量を推定する。或いは、触媒上流の空燃比を所定のリーンな空燃比に制御して酸素吸蔵量を最大酸素吸蔵量としておき、その後、同触媒の空燃比を所定のリッチな空燃比に制御し、触媒の酸素吸蔵量が「0」となって触媒下流の空燃比センサの出力がリッチへと変化するまでの時間と同触媒内で単位時間当りに放出(消費)された酸素量とを乗じることで、同最大酸素吸蔵量を推定する。
【0006】
このように、上記開示された装置によれば、最大酸素吸蔵量を推定するために触媒に流入する酸素量、或いは触媒で消費される酸素量を計測する必要がある。この酸素量は機関の吸入空気量に基づいて計測される。従って、最大酸素吸蔵量を精度良く求めるためには、機関の吸入空気量が精度良く計測されなければならない。このため、上記触媒劣化度の判定は、吸入空気量が精度良く計測可能な運転状態で、即ち、機関が定常運転されているときに行われる必要がある。
【0007】
【特許文献1】
特開平5−133264号公報
【0008】
【発明が解決しようとする課題】
しかしながら、機関の定常状態が長時間継続する保証はないので、最大酸素吸蔵量の測定を短期間に終了させる必要があり、このため、前述した所定のリッチ空燃比と所定のリーン空燃比の差は比較的大きく設定されなければならない。この結果、かかる大きな空燃比変化に伴って機関の出力が変動し、ドライバビリティが悪化するという問題がある。また、機関の出力が安定している定常運転にあるときに空燃比の強制的変化が開始されるため、機関の出力変動が運転者に感知され易く、ドライバビリティの悪化が感知され易いという問題がある。
【0009】
従って、本発明の目的は、ドライバビリティを犠牲にすることなく、触媒が劣化しているか否かを精度良く判定し得る触媒劣化判定装置を提供することにある。
【0010】
【本発明の概要】
本発明の特徴は、内燃機関の排気通路に配設された触媒と、前記触媒よりも下流の前記排気通路に配設された空燃比センサと、を備えた内燃機関の排気浄化装置に適用され、前記触媒が劣化した触媒であると判定すべき程度まで劣化していない正常触媒であるか、劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるかを判定する触媒劣化判定手段を備えた触媒劣化判定装置が、前記触媒が前記正常触媒であると想定した場合における同触媒内の反応を考慮して構築された触媒モデルに基づいて同触媒から流出するガス中の特定成分の量に関する値を推定する特定成分量推定手段を備え、前記触媒劣化判定手段は、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が同空燃比センサの出力値と前記特定成分の量に関する値の実際値との間で得られるべき所定の相関関係から逸脱する程度が所定の程度以下であるとき前記触媒が前記正常触媒であると判定するとともに、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えるとき同触媒が前記劣化触媒であると判定するように構成されたことにある。
【0011】
ここにおいて、触媒から流出するガス中の特定成分の量に関する値は、例えば、特定成分の絶対量、又は特定成分の濃度等である。また、前記特定成分とは、例えば、一酸化炭素CO、炭化水素HC、窒素酸化物NOx等の触媒で浄化すべき成分や、酸素O2(の過不足量)等のことを云う。
【0012】
この場合、前記本発明の特徴に係る触媒劣化判定装置は、前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の何れかが所定の目標値となるように同何れかの値に基づいて前記触媒に流入するガスの空燃比をフィードバック制御する空燃比制御手段を備え、前記触媒劣化判定手段は、前記フィードバック制御中において前記触媒が前記正常触媒であるか前記劣化触媒であるかを判定するように構成されることが好適である。ここにおいて、前記触媒に流入するガスの空燃比をフィードバック制御する空燃比制御手段は、例えば、機関に供給される混合気の空燃比を制御させる手段であってもよく、或いは、同機関に供給される混合気の空燃比の制御を行うとともに、同触媒の上流の排気通路に備えられたノズル等から空気や燃料を供給することで同触媒に流入するガスの空燃比を制御する手段であってもよい。なお、機関に供給される混合気の空燃比を制御すれば、触媒に流入するガスの空燃比を制御することができる。
【0013】
触媒から流出するガスの空燃比は、同ガス中の酸化剤(例えば、窒素酸化物NOx、酸素O2)の量が多くなっているとき(このとき同ガス中の還元剤(例えば、一酸化炭素CO、炭化水素HC)の量は微量となっている。)リーン空燃比となり、同ガス中の還元剤の量が多くなっているとき(このとき同ガス中の酸化剤の量は微量となっている。)リッチ空燃比となる。従って、前記ガス中の酸化剤の量及び還元剤の量(従って、前記特定成分の量(に関する値))は同ガスの空燃比に応じて変化する。よって、触媒下流の排気通路に配設された空燃比センサの出力値と同触媒から流出するガス中の特定成分の量に関する値(例えば、酸素の過不足量)の実際値とは所定の相関関係にあると云うことができる。
【0014】
ところで、発明者は、後に詳述するように、触媒内の反応(酸素吸蔵機能に基づく酸素吸蔵・放出反応)を考慮して構築された触媒モデルに基づいて同触媒から流出するガス中の特定成分の量(に関する値)を推定する手法を開発した。この触媒モデルに基づいて推定された特定成分の量に関する値と同触媒モデルが対象とする実際の触媒の下流の排気通路に配設された空燃比センサの出力値との関係が前記所定の相関関係にあるとき同触媒モデルは同実際の触媒内の反応を忠実に表していることを意味している。一方、前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱しているとき触媒モデルは実際の触媒内の反応を忠実に表していないことを意味していると云える。
【0015】
また、前述のごとく、触媒の劣化が進行すると同触媒内の反応に影響を与える最大酸素吸蔵量が低下し、更には同触媒内の反応速度が変化する。従って、触媒内の反応の程度は同触媒の劣化の進行に応じて変化する。
【0016】
以上のことから、触媒モデルが対象とする実際の触媒が劣化した触媒であると判定すべき程度まで劣化していない正常触媒(例えば、新品の触媒)である(例えば、最大酸素吸蔵量が常に新品時点における値である)と想定した場合における同実際の触媒内の反応を考慮して同触媒モデルが構築されている場合を考える。そうすると、実際の触媒が前記正常触媒であるとき、触媒モデルは同実際の触媒内の反応を忠実に表し得るから同触媒モデルにより推定された特定成分の量に関する値と前記空燃比センサの出力値との関係は前記所定の相関関係から逸脱しない。一方、前記実際の触媒の劣化が前記正常触媒の劣化の程度から進行するにつれて、触媒モデルが表す反応の程度が実際の触媒内の反応の程度と異なるようになって同触媒モデルが同実際の触媒内の反応を忠実に表し得なくなるから前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱する程度が次第に大きくなる。
【0017】
従って、前記推定された特定成分の量に関する値と前記空燃比センサの出力値との関係が前記所定の相関関係から逸脱する程度が或る所定の程度を超えるか否かに応じて前記実際の触媒が劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるか否かを判定することができる。上記本発明の特徴に係る触媒劣化判定装置は、かかる現象を利用して触媒が正常触媒であるか劣化触媒であるかを判定するものである。
【0018】
これによれば、触媒の劣化判定を行うために機関が定常運転されているときに空燃比を強制的に変更する必要がなく、例えば、実質的な空燃比変化幅が小さい前述した空燃比フィードバック制御中に触媒の劣化判定が実行され得る。この結果、ドライバビリティを犠牲とすることなく触媒が正常触媒であるか劣化触媒であるかを判定することができる。
【0019】
上記何れかの触媒劣化判定装置においては、前記触媒劣化判定手段は、前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の一方の値が前記触媒からリッチ空燃比又はリーン空燃比のガスが流出していることを表す第1の状態となる毎に他方の値が同触媒から同一のリッチ空燃比又はリーン空燃比のガスが流出していることを表す第2の状態になっているか否かを判定し、前記一方の値が前記第1の状態となる頻度に対する、同一方の値が同第1の状態となる時点において前記他方の値が前記第2の状態になっている頻度の割合が所定値以上であるとき、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が前記所定の相関関係から逸脱する程度が前記所定の程度以下であると判定するとともに、同頻度の割合が同所定値未満であるとき、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えたと判定するように構成されることが好適である。
【0020】
この場合、前記一方の値が第1の状態となる頻度に対する前記他方の値が第2の状態になっている頻度の割合が所定値以上であるとき触媒が正常触媒であると判定されるとともに、同頻度の割合が同所定値未満であるとき同触媒が劣化触媒であると判定されることになる。これによれば、空燃比センサの出力値又は前記推定された特定成分の量に関する値の一方の値が第1の状態となる頻度と他方の値が第2の状態になっている頻度とをカウントするという簡易な構成で触媒の劣化判定を行うことができる。
【0021】
また、上記何れかの触媒劣化判定装置においては、前記特定成分量推定手段は、前記触媒から流出するガス中の酸素の過不足量に関する値を前記ガス中の特定成分の量に関する値として推定するように構成されることが好適である。触媒から流出するガス中の酸素が過剰となっていることは、同ガス中の酸化剤の量が多くなっている(このとき同ガス中の還元剤の量は微量となっている。)ことを意味し、同ガス中の酸素が不足していることは、同ガス中の還元剤の量が多くなっている(このとき同ガス中の酸化剤の量は微量となっている。)ことを意味している。換言すれば、触媒から流出するガスの状態を同ガス中の酸素の過不足量に関する値という一つの値のみに基づいて表すことができる。従って、上記のように構成すれば、酸素の過不足量に関する値以外の値を触媒から流出するガス中の特定成分の量に関する値として計算する必要がなく、触媒の劣化判定に必要な計算を簡易なものとすることができる。
【0022】
【発明の実施の形態】
以下、本発明による触媒劣化判定装置を含む空燃比制御装置(排気浄化装置)の一実施形態について図面を参照しつつ説明する。図1は、そのような触媒劣化判定装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。
【0023】
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
【0024】
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
【0025】
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38、及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
【0026】
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43、スロットル弁駆動手段を構成するDCモータからなるスロットル弁アクチュエータ43a、スワールコントロールバルブ(以下、「SCV」と称呼する。)44、及びDCモータからなるSCVアクチュエータ44aを備えている。
【0027】
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ(排気管)52、エキゾーストパイプ52に配設(介装)された第1触媒(スタート・キャタリティック・コンバータとも云う。)53、及び第1触媒53の下流のエキゾーストパイプ52に配設(介装)された第2触媒(車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云う。)54を備えている。排気ポート34、エキゾーストマニホールド51、及びエキゾーストパイプ52は、排気通路を構成している。なお、本触媒劣化判定装置は、第1触媒53が劣化したか否かを判定するものである。
【0028】
一方、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、水温センサ65、第1触媒53の上流の排気通路に配設された空燃比センサ66(以下、「上流側空燃比センサ66」と称呼する。)、第1触媒53の下流であって第2触媒54の上流の排気通路に配設された空燃比センサ67(以下、「下流側空燃比センサ67」と称呼する。)、及びアクセル開度センサ68を備えている。
【0029】
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の質量流量に応じた電圧Vgを出力するようになっている。かかるエアフローメータ61の出力Vgと、計測された吸入空気流量Gaとの関係は、図2に示したとおりである。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ63は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
【0030】
上流側空燃比センサ66は、図3に示したように、空燃比A/Fに応じた電流を出力し、この電流に応じた電圧vabyfsを出力するようになっている。図3から明らかなように、上流側空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。下流側空燃比センサ67は、図4に示したように、理論空燃比において急変する電圧Voxsを出力するようになっている。より具体的に述べると、下流側空燃比センサ67は、空燃比が理論空燃比よりもリーンのときは略0.1(V)、空燃比が理論空燃比よりもリッチのときは略0.9(V)、及び空燃比が理論空燃比のときは略0.5(V)の電圧を出力するようになっている。アクセル開度センサ68は、運転者によって操作されるアクセルペダル81の操作量を検出し、同アクセルペダル81の操作量Accpを表す信号を出力するようになっている。
【0031】
電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM74、及びADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜68と接続され、CPU71にセンサ61〜68からの信号を供給するとともに、同CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、及びSCVアクチュエータ44aに駆動信号を送出するようになっている。また、インターフェース75は、CPU71の指示に応じてユーザーに第1触媒53の劣化を知らしめるための警報ランプ82に同警報ランプ82を点灯・消灯させるための指示信号を送出するようになっている。
【0032】
(空燃比フィードバック制御の概要)
三元触媒である第1触媒53(第2触媒54も同様である。)は、空燃比がほぼ理論空燃比のときに未燃成分(HC,CO)を酸化し、同時に窒素酸化物(NOx)を還元する機能を有する。更に、第1触媒53は、酸素を貯蔵する機能(酸素貯蔵機能、O2ストレージ機能)を有し、この酸素貯蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、HC,CO、及びNOxを浄化することができる。即ち、機関に供給される混合気の空燃比がリーンとなって第1触媒53に流入するガスにNOxが多量に含まれると、第1触媒53はNOxから酸素分子を奪ってNOxを還元し、これによりNOxを浄化する。また、機関に供給される混合気の空燃比がリッチになって第1触媒53に流入するガスにHC,COが多量に含まれると、第1触媒53はこれらに酸素分子を与えて酸化し、これによりHC,COを浄化する。
【0033】
従って、第1触媒53が連続的に流入する多量のHC,COを効率的に浄化するためには、同第1触媒53が酸素を多量に貯蔵していなければならず、逆に連続的に流入する多量のNOxを効率的に浄化するためには、同第1触媒53が酸素を十分に貯蔵し得なければならないことになる。以上のことから明らかなように、第1触媒53の浄化能力は、同第1触媒53が貯蔵し得る最大の酸素量(最大酸素吸蔵量)に依存する。
【0034】
一方、第1触媒53は燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化するから、次第に最大酸素吸蔵量が低下してくる。このように最大酸素吸蔵量が低下した場合であっても、エミッションの排出量が少ない状態を維持するには、第1触媒53から排出されるガスの空燃比が理論空燃比に極めて近い状態となるように制御する必要がある。
【0035】
そこで、本実施形態の空燃比制御装置は、下流側空燃比センサ67の出力Voxsが理論空燃比に略相当する目標値(つまり、第1触媒53の浄化効率が良好となるための目標値)Voxsref(=0.5(V))となるように、目標値Voxsrefから下流側空燃比センサ67の出力Voxsを減じて得られる偏差DVoxsを比例・積分処理したサブフィードバック制御量vafsfbに基づいて機関に供給される混合気の空燃比をフィードバック制御する(本実施形態では、上流側空燃比センサ出力vabyfsにも応じて空燃比をフィードバック制御する。)。
【0036】
即ち、下流側空燃比センサ67の出力が理論空燃比よりリーンの空燃比を表す値となると(実際には、サブフィードバック制御量vafsfbが正の値になると)機関に供給される混合気の空燃比をリッチ側に制御し、下流側空燃比センサ67の出力が理論空燃比よりリッチの空燃比を表す値となると(実際には、サブフィードバック制御量vafsfbが負の値になると)機関に供給される混合気の空燃比をリーン側に制御する。以上のようにして、機関に供給される混合気の空燃比が下流側空燃比センサ出力Voxs(従って、サブフィードバック制御量vafsfb)に基づいてフィードバック制御される。このようにして、機関に供給される空燃比(従って、第1触媒53に流入するガスの空燃比)を制御する手段が空燃比制御手段に相当する。
【0037】
(触媒劣化判定の原理)
上述した空燃比フィードバック制御中において、第1触媒53から流出するガス中の酸素が不足して同ガス中の未燃CO,HCの量が多くなると(このとき同ガス中の窒素酸化物NOxの量は微量となっている。)下流側空燃比センサ67の出力Voxsは増加しながらリッチを示す値に近づく。一方、第1触媒53から流出するガス中の酸素が過剰となって同ガス中の窒素酸化物NOxの量が多くなると(このとき同ガス中の未燃CO,HCの量は微量となっている。)下流側空燃比センサ67の出力Voxsは減少しながらリーンを示す値に近づく。
【0038】
換言すれば、下流側空燃比センサ67の出力Voxsが理論空燃比に相当する上記目標値Voxsrefよりも大きいリッチ側所定値Vrichを増加しながら通過するときには少なくとも第1触媒53から流出しているガス中の酸素の不足量は或る閾値を越える量となっている。一方、下流側空燃比センサ67の出力Voxsが目標値Voxsrefよりも小さいリーン側所定値Vleanを減少しながら通過するときには少なくとも第1触媒53から流出しているガス中の酸素の過剰量は或る閾値を越える量となっている。下流側空燃比センサ67の出力Voxsと第1触媒53から流出するガス中の特定成分(酸素の過不足量、窒素酸化物NOx,未燃CO,HC等)の量(実際の量)とは少なくともこのような所定の相関関係にある。
【0039】
一方、第1触媒53から流出するガス中の特定成分の量(本例では、酸素の過不足量(流出酸素量)CgoutO2(N))は、後に詳述するように、第1触媒53内の反応(酸素吸蔵機能に基づく酸素吸蔵・放出反応)を考慮して構築された触媒モデルに基づいて推定することができる。ここで、流出酸素量CgoutO2(N)は、その値が正の値であるとき酸素が過剰であって第1触媒53からNOxが流出している状態であることを意味し、その値が負の値であるとき酸素が不足して第1触媒53から未燃CO,HCが流出している状態であることを意味している。
【0040】
この触媒モデルに基づいて推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力Voxsとの関係が前述の所定の相関関係にあるとき同触媒モデルは第1触媒53内の反応を忠実に表していることを意味している。一方、前記推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力Voxsとの関係が前記所定の相関関係から逸脱しているとき触媒モデルは第1触媒53内の反応を忠実に表していないことを意味していると云える。
【0041】
また、先に説明したように、一般に、触媒の劣化が進行すると同触媒内の反応に影響を与える最大酸素吸蔵量が低下し、更には同触媒内の反応速度が変化する。従って、触媒内の反応の程度は同触媒の劣化の進行に応じて変化する。
【0042】
以上のことから、第1触媒53が新品の触媒である(例えば、最大酸素吸蔵量が常に新品の時点における値である)と想定した場合における同第1触媒53内の反応を考慮して触媒モデルが構築されている場合を考える。そうすると、第1触媒53が新品の触媒であるとき、触媒モデルは第1触媒53内の反応を忠実に表し得るから同触媒モデルにより推定された流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係は前記所定の相関関係から逸脱しない。一方、第1触媒53の劣化が(新品の時点から)進行するにつれて、触媒モデルが表す反応の程度が第1触媒53内の反応の程度と異なるようになって同触媒モデルが同第1触媒53内の反応を忠実に表し得なくなるから流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度が次第に大きくなる。
【0043】
以下、この点について、図5を参照しながらより具体的に説明する。(A)は、第1触媒53が新品の触媒であるときの下流側空燃比センサ67の出力Voxs、及び後述する触媒モデルが算出する前記流出酸素量CgoutO2(N)の変化の一例を示したタイムチャートである。前述のごとく、触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから新品の触媒である第1触媒53内の反応を忠実に表している。従って、(A)に示した触媒モデルが算出する流出酸素量CgoutO2(N)の変化は第1触媒53から流出するガス中の酸素の過不足量(の実際量)の変化と一致している。
【0044】
即ち、時刻t1以前において、機関に供給される混合気の空燃比がリッチ側に制御されている(即ち、上述したサブフィードバック制御量vafsfbが正の値になっている)ことで第1触媒53内の酸素吸蔵量が「0」に近づくと、第1触媒53は流入するガス中の多量の未燃CO,HCを完全に酸化できなくなって第1触媒53から未燃CO,HCが流出し始める(従って、第1触媒53から流出するガス中の酸素が不足し始める。)。これに応じて流出酸素量CgoutO2(N)は略「0」から減少を開始するとともに下流側空燃比センサ67の出力Voxsは増加を開始し、時刻t1になると、出力Voxsはリッチ側所定値Vrichを増加しながら通過する。また、負の値である流出酸素量CgoutO2(N)は、時刻t1において負の閾値Crefmnsよりも小さい値となっているとともにその後も減少を続ける。
【0045】
時刻t1の直後の時刻t1’になると、サブフィードバック制御量vafsfbが正の値から負の値に変化することで機関に供給される混合気の空燃比がリーン側に制御されるようになる。これに伴い、時刻t1’以降、流出酸素量CgoutO2(N)は、第1触媒53から未燃CO,HCが流出しなくなることから再び略「0」を維持するようになる。ここで、サブフィードバック制御量vafsfbが正の値から負の値に変化する時点(時刻t1’)が、出力Voxsが目標値Voxsrefを増加しながら通過する時点(時刻t1の直前)よりも遅い時点となっているのは、サブフィードバック制御量vafsfbを求めるための前記比例・積分処理における積分項の値が前記時刻t1の直前の時点において大きい正の値となっていることに基づく。
【0046】
時刻t1(t1’)以降、機関に供給される混合気の空燃比がリーン側に制御されている(即ち、サブフィードバック制御量vafsfbが負の値になっている)ことで第1触媒53内の酸素吸蔵量が最大酸素吸蔵量に近づくと、第1触媒53は流入するガス中の多量の窒素酸化物NOxを完全に還元できなくなって第1触媒53から窒素酸化物NOxが流出し始める(従って、第1触媒53から流出するガス中の酸素が過剰になり始める。)。これに応じて流出酸素量CgoutO2(N)は略「0」から増加を開始するとともに下流側空燃比センサ67の出力Voxsは減少を開始し、時刻t2になると、出力Voxsはリーン側所定値Vleanを減少しながら通過する。また、正の値である流出酸素量CgoutO2(N)は、時刻t2において正の閾値Crefplsよりも大きい値となっているとともにその後も増加を続ける。
【0047】
時刻t2の直後の時刻t2’になると、上述したサブフィードバック制御量vafsfbが負の値から正の値に再び変化することで機関に供給される混合気の空燃比がリッチ側に制御されるようになる。これに伴い、時刻t2’以降、流出酸素量CgoutO2(N)は、第1触媒53から窒素酸化物NOxが流出しなくなることから再び略「0」を維持するようになる。ここで、サブフィードバック制御量vafsfbが負の値から正の値に変化する時点(時刻t2’)が、出力Voxsが目標値Voxsrefを減少しながら通過する時点(時刻t2の直前)よりも遅い時点となっているのは、サブフィードバック制御量vafsfbを求めるための前記積分項の値が前記時刻t2の直前の時点において大きい負の値となっていることに基づく。
【0048】
時刻t2(t2’)以降も同様に、時刻t3になると、出力Voxsはリッチ側所定値Vrichを増加しながら通過するとともに、前述の時刻t1と同様、流出酸素量CgoutO2(N)は負の閾値Crefmnsよりも小さい値となっている。また、時刻t4になると、出力Voxsはリーン側所定値Vleanを減少しながら通過するとともに、前述の時刻t2と同様、流出酸素量CgoutO2(N)は正の閾値Crefplsよりも大きい値となっている。
【0049】
このように、第1触媒53が新品の触媒である場合、出力Voxsがリッチ側所定値Vrichを増加しながら通過する毎に((A)においては時刻t1,t3)触媒モデルが算出する流出酸素量CgoutO2(N)は必ず負の閾値Crefmnsよりも小さい値となっているとともに、出力Voxsがリーン側所定値Vleanを減少しながら通過する毎に((A)においては時刻t2,t4)流出酸素量CgoutO2(N)は必ず正の閾値Crefplsよりも大きい値となっている。換言すれば、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係は前記所定の相関関係から逸脱しない。
【0050】
一方、図5(B)は、第1触媒53が劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるときの下流側空燃比センサ67の出力Voxs、及び流出酸素量CgoutO2(N)の変化の一例を示したタイムチャートである。前述のごとく、触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから、この場合、劣化触媒である第1触媒53内の反応を忠実に表し得ない。
【0051】
より具体的に述べると、この場合、第1触媒53は前記劣化触媒であるから、第1触媒53内の最大酸素吸蔵量は相当程度に低下している。従って、第1触媒53内の実際の酸素吸蔵量は短時間で「0」又は最大酸素吸蔵量に近づくようになり、これに伴って、機関に供給される混合気の空燃比がリッチ側からリーン側へと、或いは、リーン側からリッチ側へと頻繁に変化するようになる。一方、触媒モデルにおいては、第1触媒53の最大酸素吸蔵量として新品の時点における大きな値が常に想定されているから、第1触媒53内の酸素吸蔵量(推定値、計算値)は前記空燃比の頻繁な変化に応じて頻繁に増減するものの、「0」又は最大酸素吸蔵量には到達しにくい。換言すれば、第1触媒53内の実際の酸素吸蔵量が「0」又は最大酸素吸蔵量に近づく時点と触媒モデルにおいて計算されている第1触媒53内の酸素吸蔵量(推定値)が「0」又は最大酸素吸蔵量に近づく時点とは異なる。従って、触媒モデルが計算する流出酸素量CgoutO2(N)の変化は第1触媒53から流出するガス中の酸素の過不足量(の実際量)の変化と一致しない。
【0052】
これにより、(B)においては、出力Voxsがリッチ側所定値Vrichを増加しながら通過する毎に(時刻t10,t30,t50)第1触媒53から流出するガス中の酸素の過不足量(実際量)が必ず負の閾値Crefmnsよりも小さい値となる一方で、触媒モデルが計算する流出酸素量CgoutO2(N)は時刻t50においてのみ負の閾値Crefmnsよりも小さい値となっている。また、出力Voxsがリーン側所定値Vleanを減少しながら通過する毎に(時刻t20,t40,t60)第1触媒53から流出するガス中の酸素の過不足量(実際量)が必ず正の閾値Crefplsよりも大きい値となる一方で、前記流出酸素量CgoutO2(N)は時刻t20においてのみ正の閾値Crefplsよりも大きい値となっている。
【0053】
換言すれば、第1触媒53が前記劣化触媒になると、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度が相当に大きくなる。また、流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度は、第1触媒53の最大酸素吸蔵量が触媒モデルにおいて想定されている新品の時点での大きい値から低下するにつれて、即ち、第1触媒53の劣化が(新品の時点から)進行するにつれて次第に大きくなる。
【0054】
この流出酸素量CgoutO2(N)と下流側空燃比センサ67の出力値Voxsとの関係が前記所定の相関関係から逸脱する程度は、出力Voxs(一方の値)がリッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する時点(即ち、下流側空燃比センサ67の出力Voxsが第1の状態となる時点)において流出酸素量CgoutO2(N)(他方の値)が負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている(即ち、流出酸素量CgoutO2(N)が第2の状態になっている)確率により表すことができ、同確率が低下するにつれて次第に大きくなる。例えば、図5(A)に示す一例では前記確率は100パーセント(4回/4回)であるのに対し、図5(B)に示す一例では同確率は約33パーセント(2回/6回)と低下していて上記所定の相関関係から逸脱する程度は大きいと云うことができる。
【0055】
以上のことから、本触媒劣化判定装置は、第1触媒53を対象とする触媒モデルを同第1触媒53が新品の触媒であると想定して構築する。また、本触媒劣化判定装置は、上述した空燃比フィードバック制御中において、下流側空燃比センサ67の出力Voxsが前記第1の状態となる毎に触媒モデルが計算している流出酸素量CgoutO2(N)が第2の状態になっているか否かを判定するとともに、下流側空燃比センサ67の出力Voxsが前記第1の状態となる頻度(回数)SMLが十分なサンプリングが行われたことを示す基準値SML0に達する毎(一サンプリング期間が経過する毎)に、この一サンプリング期間中にて下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている頻度(回数)FREを求める。
【0056】
そして、本触媒劣化判定装置は、前記頻度FREが劣化判定基準値FREref以上(従って、頻度SML0に対する頻度FREの割合が所定値以上)であれば、第1触媒53は劣化した触媒であると判定すべき程度まで劣化していない正常触媒であると判定する一方、頻度FREが劣化判定基準値FRE未満(従って、頻度SML0に対する頻度FREの割合が所定値未満)であれば、第1触媒53は劣化した触媒であると判定すべき程度まで劣化した劣化触媒であると判定する。このようにして第1触媒53の劣化判定を行う手段が触媒劣化判定手段に相当する。
【0057】
(触媒モデル)
次に、第1触媒53から流出するガス中の特定成分の量(本例では、酸素の過不足量(流出酸素量)CgoutO2(N))を求めるための触媒モデルについて説明する。一般に、触媒にリーンな空燃比のガスが流入したときには、同触媒の上流側においてより多くの酸素が吸蔵され、同触媒にリッチな空燃比のガスが流入したときには、同触媒の上流側から吸蔵されている酸素が消費されていく。従って、触媒内に吸蔵されている酸素は同触媒の排ガスの流れ方向において均一に分布しているわけではない。よって、触媒内の酸素吸蔵量を正確に求めるためには、かかる吸蔵酸素の分布を考慮した計算を行う必要がある。
【0058】
また、触媒の酸素吸蔵量は同触媒内において発生する酸素吸蔵・放出反応の程度に応じて変化する。この酸素吸蔵・放出反応の程度は、触媒に流入する排ガスに含まれる上記酸素吸蔵・放出反応に関係する特定成分の量に依存する。従って、触媒の酸素吸蔵量を正確に求めるためには、前記特定成分の量を考慮に入れた計算を行う必要がある。そして、触媒の酸素吸蔵量を正確に求めることができれば、同触媒から流出するガス中の特定成分の量をも正確に計算することができる。そこで、本装置は以下に説明する触媒モデルを第1触媒53に適用することにより、同第1触媒53内の酸素吸蔵量OSAall、及び第1触媒53から流出する特定成分の量(この例では、流出酸素量CgoutO2(N))を算出する。
【0059】
この触媒モデルにおいては、図6に模式的に示したように、軸線に直交する断面形状が一定である柱状の触媒を同軸線に直交する面によりN個の(複数の)領域(「ブロック」とも称呼する。)に分割する。即ち、触媒モデルが対象とする触媒は排ガスの流れ方向に沿ってN個のブロックに分割されている。分割された各ブロックの軸線方向の長さはLである。なお、説明の便宜上、各ブロックには、排ガスの流れ方向に沿って上流側から順に図6に示すように番号が付されている。また、任意のi番目のブロックに関連する変数・記号等には、それらの末尾に(i)が付されている。
【0060】
この触媒モデルにおいては、図7に示したように、分割されたブロックのうちのi番目のブロック(i)(特定領域)に注目し、同ブロック(i)における酸素吸蔵・放出反応に関係する特定成分のCPU71の演算周期あたりの収支を考える。このとき、触媒での酸化・還元反応である三元反応は瞬時かつ完全に終了するものと仮定し、その結果としての酸素の過不足に基く酸素の吸蔵・放出反応のみに着目するものとする。この仮定(触媒モデル)は、現実的でありかつ計算精度のよいものである。なお、図7に示した排ガス相は排ガスが通過する空間であり、コート層は触媒機能を発生せしめる白金(Pt)等の貴金属からなる活性成分及び酸素吸蔵機能を発生せしめるセリア(CeO2)等の成分が担持された層である。
【0061】
特定成分は、例えば、酸素(分子)O2、窒素酸化物NOx、一酸化炭素CO、炭化水素HCから選択された成分であってもよいが、この触媒モデルでは、上記三元反応が瞬時かつ完全に終了するものと仮定した状態における排ガスに含まれる酸素(酸素分子及び窒素酸化物の酸素。本明細書では、酸素分子及び窒素酸化物の酸素を総称して「酸素」と称呼する。)(の過不足)を特定成分として選択している。この酸素の量である酸素量CgO2は、同酸素が過剰であるとき(即ち、排ガス中にO2及びNOxが存在する場合)に正の値となり、同酸素が不足しているとき(即ち、排ガス中に未燃HC,COが存在する場合)に負の値となるように計算される。
【0062】
また、注目するブロック(i)において、CPU71の演算周期あたり同ブロック(i)の排ガス相に流入する酸素量CgO2を流入酸素量CginO2(i)、同演算周期あたり同ブロック(i)の排ガス相から流出する酸素量CgO2を流出酸素量CgoutO2(i)と称呼し、同演算周期あたり同ブロック(i)のコート層に吸蔵され又は同コート層から放出される酸素量CgO2を酸素吸蔵量変化量δOSA(i)と称呼する。この酸素吸蔵量変化量δOSA(i)は、酸素がコート層に吸蔵されるときに正の値となり、酸素がコート層から放出されるときに負の値となるように計算される。また、現時点におけるブロック(i)のコート層における酸素吸蔵量を酸素吸蔵量OSA(i)と称呼し、現時点におけるブロック(i)のコート層における最大酸素吸蔵量を最大酸素吸蔵量Cmax(i)と称呼する。
【0063】
いま、図7に示すブロック(i)における酸素量CgO2の上記演算周期あたりの収支を考えると、同ブロック(i)の排ガス相に流入した流入酸素量CginO2(i)のうち酸素吸蔵量変化量δOSA(i)だけがコート層に吸蔵され、同流入酸素量CginO2(i)のうちコート層に吸蔵されなかった残りの酸素量CgO2が流出酸素量CgoutO2(i)となるから、流入酸素量CginO2(i),流出酸素量CgoutO2(i)及び酸素吸蔵量変化量δOSA(i)の間には下記数1に示した関係が成立する。この下記数1に示した関係が本触媒モデルの基本式である。
【0064】
【数1】
CgoutO2(i)=CginO2(i)−δOSA(i)
【0065】
次に、酸素吸蔵量変化量δOSA(i)について考える。流入酸素量CginO2(i)が正の値のときはブロック(i)の排ガス相に流入する排ガス中の酸素が過剰であることを意味し、同排ガス中の酸素の一部はブロック(i)のコート層に吸蔵されるから酸素吸蔵量変化量δOSA(i)は正の値となる。このときの酸素吸蔵反応の量、即ち酸素吸蔵量変化量δOSA(i)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値に比例すると考えられる。従って、流入酸素量CginO2(i)が正の値のとき、酸素吸蔵量変化量δOSA(i)は下記数2,及び下記数3に基づいて算出することができる。
【0066】
【数2】
δOSA(i)=H(i)・CginO2(i)
【0067】
【数3】
H(i)=h・((Cmax(i)−OSA(i))/Cmax(i)) (0 ≦ H(i) < 1)
【0068】
上記数2及び上記数3において、H(i)はブロック(i)における流入酸素量CginO2(i)に対する吸蔵される酸素量(δOSA(i))の割合を示す反応率である。hは第1触媒53が新品の触媒であると想定した場合の反応速度定数であり、本モデルでは正の一定値としているが触媒の温度に応じて変化する正の値(例えば、触媒の温度の増加に応じて単調増加する正の値)としてもよい。また、上記数3における現時点での最大酸素吸蔵量Cmax(i)と現時点での酸素吸蔵量OSA(i)との差の値(Cmax(i)−OSA(i))は、ブロック(i)における現時点での酸素吸蔵余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基づいて同触媒が内部に流入する排ガスから吸蔵する酸素量を算出する。
【0069】
一方、流入酸素量CginO2(i)が負の値のときはブロック(i)の排ガス相に流入する排ガスの酸素が不足していることを意味し、同排ガスにはブロック(i)のコート層から放出された酸素が与えられるから酸素吸蔵量変化量δOSA(i)は負の値となる。このときの酸素放出反応の量、即ち酸素吸蔵量変化量δOSA(i)(の絶対値)は、流入酸素量CginO2(i)の値に比例するとともにブロック(i)の現時点での酸素吸蔵量OSA(i)の値に比例すると考えられる。従って、流入酸素量CginO2(i)が負の値のとき、酸素吸蔵量変化量δOSA(i)は上記数2と同一の関係を示す下記数4,及び下記数5に基づいて算出することができる。
【0070】
【数4】
δOSA(i)=H(i)・CginO2(i)
【0071】
【数5】
H(i)=h・(OSA(i)/Cmax(i)) (0 ≦ H(i) < 1)
【0072】
上記数4及び上記数5において、H(i)はブロック(i)における流入酸素量CginO2(i)(負の値)に対する放出される酸素量(δOSA(i),負の値)の割合を示す反応率である。hは第1触媒53が新品の触媒であると想定した場合の反応速度定数であり上記数3にて使用されているものと同様である。また、上記数5における現時点での酸素吸蔵量OSA(i)の値は、ブロック(i)における現時点での酸素放出余裕量を示している。このように、本触媒モデルでは、少なくとも触媒内の酸素吸蔵量に基づいて同触媒が内部に吸蔵している酸素から放出する酸素量を算出する。
【0073】
なお、上記数3及び上記数5にて使用するブロック(i)における最大酸素吸蔵量Cmax(i)については後述する。また、上記数3及び上記数5にて使用するブロック(i)における現時点での酸素吸蔵量OSA(i)は、初期値が付与された時点から現時点までの酸素吸蔵量変化量δOSA(i)の積算値であるから下記数6に基づいて算出することができる。
【0074】
【数6】
OSA(i)=ΣδOSA(i) (0 ≦ OSA(i) ≦ Cmax(i))
【0075】
次に、各ブロック間での境界条件について考えると、図6に示したように、互いに隣接する2つのブロックのうちの上流側のブロックの排ガス相の流出面と下流側のブロックの排ガス相の流入面は互いに連続しているから、図7に示したように、ブロック(i)に流入する流入酸素量CginO2(i)は、ブロック(i)に隣接する上流側のブロック(i−1)から流出する流出酸素量CgoutO2(i−1)と等しく、また、ブロック(i)から流出する流出酸素量CgoutO2(i)は、ブロック(i)に隣接する下流側のブロック(i+1)に流入する流入酸素量CginO2(i+1)と等しい。従って、下記数7に示した関係が成立する。換言すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)が求まればブロック(i)に隣接する下流側のブロック(i+1)の流入酸素量CginO2(i+1)が求まる。
【0076】
【数7】
CginO2(i+1)=CgoutO2(i)
【0077】
以上のことから、最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数2又は上記数4によりブロック(1)における酸素吸蔵量変化量δOSA(1)が求まり、その結果、上記数6によりブロック(1)における酸素吸蔵量OSA(1)を更新できるとともに上記数1によりブロック(1)における流出酸素量CgoutO2(1)が求まる。ブロック(1)における流出酸素量CgoutO2(1)が求まれば、上記数7によりブロック(2)における流入酸素量CginO2(2)が求まり、その結果、上記数2又は上記数4によりブロック(2)における酸素吸蔵量変化量δOSA(2)が求まる。これにより、上記数6によりブロック(2)における酸素吸蔵量OSA(2)を更新できるとともに、上記数1によりブロック(2)における流出酸素量CgoutO2(2)が求まる。
【0078】
CPU71は、このような処理を所定の演算周期毎に繰り返し実行する。従って、CPU71の演算周期が経過する毎に最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与されれば、上記数1〜上記数7より、最上流のブロック(1)から、順次、各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、触媒内部の酸素吸蔵量の分布が精度よく計算される。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を触媒全体について積算すれば、同触媒全体の酸素吸蔵量OSAallについても精度よく計算することができる。更には、各ブロックから流出する流出酸素量CgoutO2(i) (i=1,2,・・・,N)を計算することができ、これにより、ブロック(N)(従って、第1触媒53)から流出する流出酸素量CgoutO2(N)を計算することができる。このようにして、第1触媒53が新品の触媒であると想定して構築された触媒モデルに基づいて同第1触媒53から流出するガス中の酸素の過不足量(流出酸素量)CgoutO2(N)を推定する手段が特定成分量推定手段に相当する。
【0079】
なお、以下に、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式を求めておく。先ず、上記数1における「i」を「1」に書き換えると下記数8が導かれる。
【0080】
【数8】
CgoutO2(1)=CginO2(1)−δOSA(1)
【0081】
また、上記数1における「i」を「2」に書き換えて、これに上記数7及び上記数8の関係を適用すると、下記数9が導かれる。
【0082】
【数9】
【0083】
さらに、上記数1における「i」を「3」に書き換え、これに上記数7及び上記数9の関係を適用すると、下記数10が導かれる。
【0084】
【数10】
【0085】
このような手続きを繰り返すことにより、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための一般式である下記数11が導かれる。
【0086】
【数11】
CgoutO2(i)=CginO2(1)−δOSA(1)−δOSA(2)− ・・・ −δOSA(i−1)−δOSA(i)
(i=1,2,・・・,N)
【0087】
また、上記数1及び上記数2(又は上記数4)より下記数12が導かれるから、下記数12に上記数7の関係を適用し、その関係を一般的に記述すると、任意のi番目のブロック(i)の流出酸素量CgoutO2(i)を求めるための他の一般式である下記数13も容易に導くことができる。
【0088】
【数12】
CgoutO2(i)=CginO2(i)・(1−H(i))
【0089】
【数13】
【0090】
次に、上記数3及び数5において反応率H(i)を求める際に必要となるブロック(i)における最大酸素吸蔵量Cmax(i)について説明する。この触媒モデルは第1触媒53が新品の触媒であると想定して構築されているから、各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)の総和は、第1触媒53が新品の触媒であるときの同第1触媒53全体の最大酸素吸蔵量Cmaxallの値(一定値)となるように設定されている。また、各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)は、例えば、前記最大酸素吸蔵量Cmaxallの値をブロックの個数Nで除した値にそれぞれ設定されている。このように設定された各ブロック(i)の最大酸素吸蔵量Cmax(i) (i=1,・・・,N)は、第1触媒53の劣化の進行に拘わらず変化しない。
【0091】
(触媒モデルの適用)
次に、以上説明した触媒モデルを、図8に示したように、第1触媒53に適用し、各種値を求める例について説明する。
【0092】
以下、第1触媒53のi番目のブロックであるブロック(i)における流入酸素量を流入酸素量CginO2(i),流出酸素量を流出酸素量CgoutO2(i),酸素吸蔵量をOSA(i),最大酸素吸蔵量をCmax(i)とそれぞれ称呼する。また、各ブロックの酸素吸蔵量OSA(i) (i=1,2,・・・,N) を積算することにより得られる第1触媒53全体の酸素吸蔵量を酸素吸蔵量OSAallと称呼し、各ブロックの最大酸素吸蔵量Cmax(i) (i=1,2,・・・,N) を積算した値である第1触媒53全体の最大酸素吸蔵量を最大酸素吸蔵量Cmaxallと称呼する。
【0093】
この触媒モデルにおいては、図8に示したように、第1触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N)の初期値を初期条件として付与するとともに、CPU71の演算周期が経過する毎に、第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を境界条件として付与すれば、第1触媒53の各ブロック(i) (i=1,2,・・・,N) における酸素吸蔵量OSA(i),流入酸素量CginO2(i),及び流出酸素量CgoutO2(i)を全て算出することができる。これにより、第1触媒53全体の酸素吸蔵量OSAallも取得・算出することができる。
【0094】
そこで、先ず、第1触媒53の各ブロックにおける酸素吸蔵量の初期値を付与する手法について説明すると、本装置は、下流側空燃比センサ67の出力Voxsが0.7(V)より大きい値を示したとき、即ち、第1触媒53の下流側の空燃比が明白なリッチ空燃比となったときは、同第1触媒53内に酸素が全く存在せず未燃HC,COが浄化されない状態となったことを意味するから、第1触媒53の各ブロックにおける酸素吸蔵量OSA(i) (i=1,2,・・・,N) 及び第1触媒53全体の酸素吸蔵量OSAallを全て「0」に設定する。このようにして、第1触媒53の各ブロックにおける酸素吸蔵量の初期値「0」が初期条件として付与される。
【0095】
次に、第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)を付与する手法について説明すると、本装置は、下記数14に基づいてCPU71の演算周期毎の流入酸素量CginO2(1)を算出する。
【0096】
【数14】
CginO2(1)=0.23・mfr・(abyfsave − stoich)
【0097】
上記数14において、値「0.23」は大気中に含まれる酸素の重量割合である。mfrは一演算周期Δt内における燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。また、abyfsaveは一演算周期Δt内において上流側空燃比センサ66により検出された空燃比A/Fの平均値である。
【0098】
この数14に示したように、一演算周期Δt内における噴射量の合計量mfrに、検出された空燃比A/Fの平均値の理論空燃比からの偏移(abyfsave − stoich)を乗じることでこの一演算周期Δt内における空気の過剰量が求められ、この一演算周期Δt内における空気の過剰量に酸素の重量割合を乗じることで一演算周期Δtにおける酸素の過剰量、即ち現時点での流入酸素量CginO2(1)が求められる。
【0099】
このようにして算出される流入酸素量CginO2(1)は、上記数14から明らかなように、酸素が過剰であるとき(即ち、空燃比がリーンであってabyfsave>stoichのとき)に正の値となり、酸素が不足しているとき(即ち、空燃比がリッチであってabyfsave<stoichのとき)に負の値となるように計算される。このようにして、CPU71の演算周期毎に第1触媒53の最上流のブロック(1)における流入酸素量CginO2(1)が境界条件として付与される。
【0100】
(実際の作動)
次に、上記のように構成された空燃比制御装置の実際の作動について、電気制御装置70のCPU71が実行するルーチンをフローチャートにより示した図9〜図16を参照しながら説明する。
【0101】
CPU71は、図9に示した最終燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71はステップ900から処理を開始してステップ905に進み、エアフローメータ61により計測された吸入空気流量Gaと、エンジン回転速度NEとに基づいて、機関の空燃比を理論空燃比とするための基本燃料噴射量Fbaseをマップfから求める。
【0102】
次いで、CPU71はステップ910に進み、基本燃料噴射量Fbaseに係数Kを乗じた値に後述する空燃比フィードバック補正量DFiを加えた値を最終燃料噴射量Fiに設定する。この係数Kの値は、通常は「1.00」であり、後述するように被毒回復処理が実行されるとき、「1.00」以外の所定値に設定される。
【0103】
次いで、CPU71はステップ915に進んで、前記設定された最終燃料噴射量Fiの燃料を噴射するための指示を吸気行程直前にある気筒のインジェクタ39に対して行う。その後、CPU71はステップ920に進み、その時点の燃料噴射量合計量mfrに最終燃料噴射量Fiを加えた値を新たな燃料噴射量合計量mfrに設定する。この燃料噴射量合計量mfrは、後述する流入酸素量CginO2(1)を算出する際に用いられる。その後、CPU71はステップ995に進み、本ルーチンを一旦終了する。以上により、フィードバック補正された最終燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。
【0104】
次に、上記空燃比フィードバック補正量DFiの算出について説明すると、CPU71は図10に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1000から処理を開始し、ステップ1005に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、機関の冷却水温THWが第1所定温度以上であり、機関の一回転当りの吸入空気量(負荷、筒内吸入空気量Mc)が所定値以下であり、上流側空燃比センサ66が正常(活性状態であることを含む。)であり、且つ、後述する被毒回復処理実行中フラグPWMの値が「0」のときに成立する。なお、被毒回復処理実行中フラグPWMは、その値が「1」のとき後述する被毒回復処理を実行していることを示し、その値が「0」のとき同被毒回復処理を実行していないことを示す。
【0105】
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ1005にて「Yes」と判定してステップ1010に進み、現時点の上流側空燃比センサ66の出力vabyfsと後述するサブフィードバック制御量vafsfbとの和(vabyfs+vafsfb)を図3に示したマップに基づいて変換することにより、現時点における第1触媒53の上流側制御用空燃比abyfsを求める。
【0106】
次に、CPU71はステップ1015に進み、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた上流側制御用空燃比abyfsで除することにより、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求める。値Nは、内燃機関の排気量、燃焼室25から上流側空燃比センサ66までの距離等により異なる値である。
【0107】
このように、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)を上流側制御用空燃比abyfsで除するのは、燃焼室25内で燃焼された混合気が上流側空燃比センサ66に到達するまでには、Nストロークに相当する時間を要しているからである。なお、筒内吸入空気量Mcは、各気筒の吸気行程毎に、その時点のエアフローメータ61により計測された吸入空気流量Gaと、エンジン回転速度NEとに基づいて求められ(例えば、エアフローメータ61により計測された吸入空気流量Gaに一次遅れ処理を施した値をエンジン回転速度NEで除することにより求められ)、各吸気行程に対応してRAM73内に記憶されている。
【0108】
次いで、CPU71はステップ1020に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点における目標空燃比abyfr(k−N)(この例では、理論空燃比)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。そして、CPU71はステップ1025に進んで目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU71はステップ1030に進み、下記数15に基づいてフィードバック補正量DFiを求める。
【0109】
【数15】
DFi=(Gp・DFc+Gi・SDFc)・KFB
【0110】
上記数15において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、数15の係数KFBはエンジン回転速度NE、及び筒内吸入空気量Mcにより可変とすることが好適であるが、ここでは「1」としている。また、値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ1035にて更新される。即ち、CPU71は、ステップ1035にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1025にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求め、ステップ1095にて本ルーチンを一旦終了する。以上により、フィードバック補正量DFiが求められ、このフィードバック補正量DFiが前述した図9のステップ910,915により燃料噴射量に反映されるので、Nストローク前の燃料供給量の過不足が補償され、機関に供給される混合気の空燃比の平均値が目標空燃比abyfrと略一致せしめられるようにフィードバック制御される。
【0111】
一方、ステップ1005の判定時において、空燃比フィードバック制御条件が不成立であると、CPU71は同ステップ1005にて「No」と判定してステップ1040に進み、空燃比フィードバック補正量DFiの値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、空燃比フィードバック補正量DFiを「0」として空燃比(基本燃料噴射量Fbase)の補正を行わない。
【0112】
次に、下流側空燃比センサ67の出力に基づく先に説明した空燃比フィードバック制御について説明する。なお、かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、サブフィードバック制御量vafsfbが算出される。
【0113】
CPU71は、サブフィードバック制御量vafsfbを求めるために、図11に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU71はステップ1100から処理を開始し、ステップ1105に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ1005での空燃比フィードバック制御条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上であり、下流側空燃比センサ67が正常(活性状態であることを含む。)のときに成立する。
【0114】
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ1105にて「Yes」と判定してステップ1110に進み、前記目標値Voxsrefから現時点の下流側空燃比センサ67の出力Voxsを減じることにより、出力偏差量DVoxsを求める。次に、CPU71はステップ1115に進み、下記数16に基づいてサブフィードバック制御量vafsfbを求める。
【0115】
【数16】
vafsfb=Kp・DVoxs+Ki・SDVoxs
【0116】
上記数16において、Kpは予め設定された比例ゲイン、Kiは予め設定された積分ゲインである。また、SDVoxsは、出力偏差量DVoxsの積分値であって、次のステップ1120にて更新される値である。即ち、CPU71は、ステップ1120に進むと、その時点における出力偏差量の積分値SDVoxsに上記ステップ1110にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、その後、ステップ1195に進んで本ルーチンを一旦終了する。
【0117】
このようにして、サブフィードバック制御量vafsfbが求められ、この値は前述した図10のステップ1010にて上流側空燃比センサ66の実際の出力vabyfsに加えられ、その和(vabyfs + vafsfb)が図3に示したマップに基づいて前記上流側制御用空燃比abyfsに変換される。換言すると、下流側空燃比センサ67の出力Voxsに基づいて求められる(修正される)上流側制御用空燃比abyfsは、上流側空燃比センサ66が実際に検出している空燃比に対して、サブフィードバック制御量vafsfbに相当する分だけ異なる空燃比として求められる。この結果、前述した図10のステップ1015にて計算される筒内燃料供給量Fc(k−N)が下流側空燃比センサ67の出力Voxsに応じて変化し、ステップ1025,1030にてフィードバック補正量DFiが同下流側空燃比センサ67の出力Voxsに応じて変更せしめられる。これにより、第1触媒53の下流側の空燃比が目標値Voxsrefに一致するように、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)が制御せしめられる。
【0118】
例えば、機関に供給される混合気の平均的な空燃比がリーンであるために下流側空燃比センサ67の出力Voxsが理論空燃比よりもリーンである空燃比に対応した値を示すと、ステップ1110にて求められる出力偏差量DVoxsが正の値となるので、ステップ1115にて求められるサブフィードバック制御量vafsfbは正の値となる(図5(A)においては、例えば、時刻t2’〜t3’)。従って、ステップ1010にて求められるabyfsは上流側空燃比センサ66が実際に検出している空燃比よりもリーンな値(より大きな値)として求められる。このため、ステップ1015にて求められる筒内燃料供給量Fc(k−N)は小さい値となり、ステップ1025にて求められる筒内燃料供給量偏差DFcは大きい正の値として求められるので、ステップ1030にて求められる空燃比フィードバック補正量DFiが大きい正の値となる。これにより、図9のステップ910にて求められる最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも大きくなって、機関に供給される混合気の空燃比がリッチとなるように制御される。
【0119】
反対に、機関に供給される混合気の平均的な空燃比がリッチであるために下流側空燃比センサ67の出力Voxsが理論空燃比よりもリッチ空燃比に対応した値を示すと、ステップ1110にて求められる出力偏差量DVoxsが負の値となるので、ステップ1115にて求められるサブフィードバック制御量vafsfbは負の値となる(図5(A)においては、例えば、時刻t1’〜t2’,時刻t3’〜t4’)。従って、ステップ1010にて求められるabyfsは上流側空燃比センサ66が実際に検出している空燃比よりもリッチな値(より小さな値)として求められる。このため、ステップ1015にて求められる筒内燃料供給量Fc(k−N)は大きい値となり、筒内燃料供給量偏差DFcは負の値として求められるので、フィードバック補正量DFiが負の値となる。これにより、図9のステップ910にて求められる最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも小さくなって、機関に供給される混合気の空燃比がリーンとなるように制御される。
【0120】
一方、サブフィードバック制御条件が不成立であるとき、CPU71はステップ1105にて「No」と判定してステップ1125に進み、サブフィードバック制御量vafsfbの値を「0」に設定する。これにより、下流側空燃比センサ67の出力Voxsに基づくサブフィードバック制御が停止される。
【0121】
次に、第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等の算出における作動について説明する。CPU71は図12及び図13のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【0122】
従って、所定のタイミングになると、CPU71は、第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出するための図12に示したルーチンのステップ1200から処理を開始し、ステップ1205に進んで、先に説明した上流側空燃比センサ66により検出された空燃比A/Fの平均値abyfsaveと、図9のステップ920にて逐次更新されている燃料噴射量合計量mfrの最新値と、上記数14に基づくステップ1205内に記載した式とに基づいて、先に説明したように境界条件である第1触媒53のブロック(1)における流入酸素量CginO2(1)を算出する。
【0123】
次いで、CPU71はステップ1210に進んでカウンタ値nの値、及び第1触媒53の酸素吸蔵量OSAallの値をそれぞれ「0」に設定した後、ステップ1215に進んで第1触媒53の各ブロック毎の流出酸素量,酸素吸蔵量等を算出する処理を開始する。まず、CPU71はステップ1215においてカウンタ値nの値を「1」だけ増大して「1」に設定する。カウンタ値nは第1触媒53のブロックの番号を示している。この時点ではカウンタ値nの値は「1」であり、続くステップ1220からステップ1275までの今回の処理においてカウンタ値nの値は「1」に維持されるので、今回の同ステップ1220〜ステップ1275までの処理においては最上流のブロック(1)における計算が実行される。
【0124】
まず、CPU71はステップ1220に進んで、流入酸素量CginO2(1)の値が「0」以上であるか否かを判定し、流入酸素量CginO2(1)の値が「0」以上であれば同ステップ1220において「Yes」と判定するとともにステップ1225に進んで、先に説明したように予め所定の一定値に設定されているブロック(1)の最大酸素吸蔵量Cmax(1)の値と、後述するステップ1260にて前回本ルーチンが実行されたときに計算(更新)されたブロック(1)の酸素吸蔵量OSA(1)の値と、上記数3(の右辺)に基づくステップ1225内に記載した式とに基づいてブロック(1)における反応率Hを算出する。
【0125】
また、ステップ1220における判定において、流入酸素量CginO2(1)の値が「0」以上でなければCPU71は同ステップ1220において「No」と判定するとともにステップ1230に進んで、上記最大酸素吸蔵量Cmax(1)の値と、上記酸素吸蔵量OSA(1)の値と、上記数5(の右辺)に基づくステップ1230内に記載した式とに基づいてブロック(1)における反応率Hを算出する。
【0126】
次いで、CPU71はステップ1235に進み、ステップ1225又はステップ1230にて算出した反応率Hの値と、ステップ1205にて算出したブロック(1)における流入酸素量CginO2(1)の値と、上記数2(の右辺)又は上記数4(の右辺)に基づくステップ1235内に記載した式とに基づいてブロック(1)における酸素吸蔵量変化量δOSA(1)を算出する。
【0127】
次に、CPU71はステップ1240に進んで、後述するステップ1260にて前回本ルーチンが実行されたときに計算されたブロック(1)の酸素吸蔵量OSA(1)の値とステップ1235にて今回算出したブロック(1)の酸素吸蔵量変化量δOSA(1)の値とを積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)の値以下であるか否かを判定する。
【0128】
ここで、前記積算した値が最大酸素吸蔵量Cmax(1)の値以下であればCPU71はステップ1240にて「Yes」と判定してステップ1245に進んで同積算した値が「0」以上であるか否かを判定するとともに、同積算した値が「0」以上であれば同ステップ1245にて「Yes」と判定してステップ1260に進んで、同積算した値を新たな酸素吸蔵量OSA(1)として設定する。このように、前記積算した値が「0」以上最大酸素吸蔵量Cmax(1)以下であればステップ1235にて算出された酸素吸蔵量変化量δOSA(1)の値がそのままブロック(1)における酸素吸蔵量変化量として使用される。
【0129】
一方、ステップ1240の判定において、前記積算した値が最大酸素吸蔵量Cmax(1)の値を超えていればCPU71は同ステップ1240にて「No」と判定してステップ1250に進み、最大酸素吸蔵量Cmax(1)の値から前回算出した酸素吸蔵量OSA(1)の値を減算した値を酸素吸蔵量変化量δOSA(1)に格納した後、ステップ1260に進む。このように、前記積算した値がブロック(1)における最大酸素吸蔵量Cmax(1)を超えていれば今回ステップ1260にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)を超えてしまうことを意味するので、今回ステップ1260にて算出される酸素吸蔵量OSA(1)の値が最大酸素吸蔵量Cmax(1)の値と等しくなるように酸素吸蔵量変化量δOSA(1)が調整される。
【0130】
同様に、ステップ1245の判定において、前記積算した値が「0」未満(負の値)となっていればCPU71は同ステップ1245にて「No」と判定してステップ1255に進み、前回算出した酸素吸蔵量OSA(1)の値に対して符号を反転させた値を酸素吸蔵量変化量δOSA(1)に格納した後、ステップ1260に進む。このように、前記積算した値が「0」未満であれば今回ステップ1260にて算出されるブロック(1)における酸素吸蔵量OSA(1)の値が「0」未満(負の値)になってしまうことを意味するので、今回ステップ1260にて算出される酸素吸蔵量OSA(1)の値が「0」になるように酸素吸蔵量変化量δOSA(1)が調整される。
【0131】
ステップ1260にてブロック(1)における今回の酸素吸蔵量OSA(1)を算出した後、CPU71はステップ1265に進んでステップ1205にて算出したブロック(1)における流入酸素量CginO2(1)の値と、上記調整後のブロック(1)における酸素吸蔵量変化量δOSA(1)の値と、上記数1(の右辺)に基づくステップ1265内に記載した式とに基づいてブロック(1)における流出酸素量CgoutO2(1)を算出する。
【0132】
次いで、CPU71はステップ1270に進んで、(現時点ではステップ1210の実行により「0」となっている)現時点における第1触媒53の酸素吸蔵量OSAallの値にステップ1260にて算出されたブロック(1)における今回の酸素吸蔵量OSA(1)の値を加えた値を新たな酸素吸蔵量OSAallとして格納した後、ステップ1275に進んで、ステップ1265にて算出されたブロック(1)における流出酸素量CgoutO2(1)の値と、上記数7に基づいてブロック(1)に隣接する下流側のブロック(2)における流入酸素量CginO2(2)を算出する。
【0133】
そして、CPU71はステップ1280に進んでカウンタ値nの値が第1触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ1280にて「No」と判定し、再びステッ1215に戻ってカウンタ値nの値を「1」だけ増大して「2」に設定した後、続くステップ1220〜ステップ1275までの処理を実行することで次のブロックであるブロック(2)における計算を実行する。このとき、ステップ1265における流入酸素量CginO2(2)の値としては前回ステップ1275にて算出した流入酸素量CginO2(2)の値が使用される。
【0134】
このようにして、ステップ1220〜ステップ1275までの処理は、カウンタ値nの値が第1触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、第1触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)の流入酸素量CginO2(n)、流出酸素量CgoutO2(n)、酸素吸蔵量変化量δOSA(n)、及び酸素吸蔵量OSA(n)の値が順次算出されていく。また、ステップ1270の処理が繰り返し実行されることにより、第1触媒53の酸素吸蔵量OSAallも算出される。このようにして、カウンタ値nの値がブロック数Nであるときにステップ1265にて算出される値が第1触媒53から流出するガス中の酸素の過不足量(流出酸素量)CgoutO2(N)となる。
【0135】
ステップ1215の処理が繰り返されることによりカウンタ値nの値が第1触媒53のブロック数Nと等しくなると、CPU71はステップ1280にて「Yes」と判定し、続くステップ1285にて燃料噴射量合計量mfrの値を「0」に設定した後、ステップ1295に進んで本ルーチンを一旦終了する。
【0136】
また、CPU71は、所定のタイミングになると、第1触媒53の各ブロック毎の酸素吸蔵量の値、並びに第1触媒53の酸素吸蔵量の値を初期化(クリア)するための図13にフローチャートにより示したルーチンのステップ1300から処理を開始し、ステップ1305に進んで、下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きいか否かをモニタする。このとき、下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きければ、即ち、第1触媒53の下流空燃比がリッチ空燃比であれば、同第1触媒53内全体に吸蔵されている酸素量が「0」であることを意味するので、CPU71はステップ1310に進んで第1触媒53の各ブロック毎の酸素吸蔵量の値及び第1触媒53の酸素吸蔵量の値を総て「0」に設定する処理を開始する。一方、ステップ1305の判定において、下流側空燃比センサ67の出力Voxsの値が0.7(V)以下であれば、CPU71はステップ1305からステップ1395に直接進んで本ルーチンを一旦終了する。
【0137】
いま、ステップ1305の判定において下流側空燃比センサ67の出力Voxsの値が0.7(V)より大きくなっているとすると、CPU71はステップ1310に進み、カウンタ値nの値を「0」に設定した後、ステップ1315に進んでカウンタ値nの値を「1」だけ増大して「1」に設定する。次いで、CPU71はステップ1320に進んで、第1触媒53のブロック(n)における酸素吸蔵量OSA(n)の値を「0」に設定する。この時点ではカウンタ値nの値は「1」であるから、最上流のブロック(1)における酸素吸蔵量OSA(1)の値が「0」に設定される。
【0138】
そして、CPU71はステップ1325に進んでカウンタ値nの値が第1触媒53のブロック数Nと等しいか否かを判定する。現時点ではカウンタ値nの値は「1」であるから、CPU71はステップ1325にて「No」と判定し、再びステップ1315に戻ってカウンタ値nの値を「1」だけ増大した後ステップ1320及びステップ1325の処理を実行する。即ち、ステップ1320及びステップ1325の処理は、カウンタ値nの値が第1触媒53のブロック数Nと等しくなるまで繰り返し実行される。これにより、第1触媒53の最上流のブロック(1)から最下流のブロック(N)までの各ブロック(n)における酸素吸蔵量OSA(n)の値が総て「0」にクリアされる。
【0139】
前述のステップ1315の処理が繰り返されることによりカウンタ値nの値が触媒53のブロック数Nと等しくなると、CPU71はステップ1325にて「Yes」と判定してステップ1330に進み、第1触媒53の酸素吸蔵量OSAallの値を「0」に設定した後、ステップ1395に進んで本ルーチンを一旦終了する。
【0140】
次に、下流側空燃比センサ67の出力Voxsが前記第1の状態となる頻度SMLが前記基準値SML0に達する毎(一サンプリング期間が経過する毎)にこの一サンプリング期間中にて下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が前記第2の状態になっている頻度FREを求める際の作動について説明する。CPU71は図14のフローチャートにより示された各ルーチンを所定時間の経過毎に実行するようになっている。
【0141】
従って、所定のタイミングになると、CPU71はステップ1400から処理を開始し、ステップ1405に進んで、前述の図11のステップ1105におけるものと同様のサブフィードバック制御条件が成立していて、且つ、被毒回復処理実行中フラグPWMの値が「0」になっているか否かを判定し、ステップ1405にて「No」と判定するときはステップ1450に直ちに進んで、現時点での下流側空燃比センサ出力Voxsの値を前回の下流側空燃比センサ出力Voxspとして設定した後、本ルーチンを一旦終了する。これは、下流側空燃比センサ67が正常であって、且つ後述する被毒回復処理が実行されていない場合における前記頻度FREを算出するためである。
【0142】
いま、サブフィードバック制御条件が成立し、被毒回復処理実行中フラグPWMの値が「0」になっていて、且つ、下流側空燃比センサ67の出力Voxsがリッチ側所定値Vrichを増加しながら、或いはリーン側所定値Vleanを減少しながら通過する前記第1の状態となっていないものとして説明を続けると、CPU71はステップ1405にて「Yes」と判定してステップ1410に進み、今回の(現時点での)下流側空燃比センサ出力Voxsの値がリッチ側所定値Vrichよりも大きく、且つ、前回本ルーチン実行時にステップ1450にて更新されている前回の下流側空燃比センサ出力Voxspの値が同リッチ側所定値Vrich以下であるか否か(従って、下流側空燃比センサ出力Voxsがリッチ側所定値Vrichを増加しながら通過しているか否か)を判定する。
【0143】
現時点では、上記の仮定に従い、CPU71はステップ1410にて「No」と判定してステップ1415に進み、今回の下流側空燃比センサ出力Voxsの値がリーン側所定値Vleanよりも小さく、且つ、前回の下流側空燃比センサ出力Voxspの値が同リーン側所定値Vlean以上であるか否か(従って、下流側空燃比センサ出力Voxsがリーン側所定値Vleanを減少しながら通過しているか否か)を判定する。
【0144】
現時点では、上記の仮定に従い、CPU71はステップ1415でも「No」と判定してステップ1450に直ちに進む。以降、CPU71は、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415,1450の処理を繰り返し実行する。
【0145】
次に、この状態から、下流側空燃比センサ出力Voxsがリッチ側所定値Vrichを増加しながら通過した場合(図5(A)においては時刻t1,t3)について説明すると、この場合、CPU71はステップ1410に進んだとき「Yes」と判定してステップ1420に進み、現時点での頻度SMLの値を「1」だけ増大した値を新たな頻度SMLとして設定する。
【0146】
次いで、CPU71はステップ1425に進んで、前述した図12のステップ1265にて算出されている流出酸素量CgoutO2(N)の最新値が負の閾値Crefmnsよりも小さい値になっているか(即ち、流出酸素量CgoutO2(N)が第2の状態になっているか)否かを判定し、「Yes」と判定するときにはステップ1430にて現時点での頻度FREの値を「1」だけ増大した値を新たな頻度FREとして設定した後にステップ1450に進む。一方、ステップ1425の判定にて「No」と判定するときにはCPU71は頻度FREの値を現時点での値に維持したままステップ1450に直ちに進む。以降、CPU71は、再び、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415,1450の処理を繰り返し実行するようになる。
【0147】
次に、この状態から、下流側空燃比センサ出力Voxsがリーン側所定値Vleanを減少しながら通過した場合(図5(A)においては時刻t2,t4)について説明すると、この場合、CPU71はステップ1415に進んだとき「Yes」と判定してステップ1435に進み、現時点での頻度SMLの値を「1」だけ増大した値を新たな頻度SMLとして設定する。
【0148】
次いで、CPU71はステップ1440に進んで、前述した図12のステップ1265にて算出されている流出酸素量CgoutO2(N)の最新値が正の閾値Crefplsよりも大きい値になっているか(即ち、流出酸素量CgoutO2(N)が第2の状態になっているか)否かを判定し、「Yes」と判定するときにはステップ1445にて現時点での頻度FREの値を「1」だけ増大した値を新たな頻度FREとして設定した後にステップ1450に進む。一方、ステップ1440の判定にて「No」と判定するときにはCPU71は頻度FREの値を現時点での値に維持したままステップ1450に直ちに進む。以降、CPU71は、再び、下流側空燃比センサ67の出力Voxsが前記第1の状態とならない限りにおいてステップ1400〜1415、1450の処理を繰り返し実行するようになる。
【0149】
このように、本ルーチンが繰り返し実行されることにより、下流側空燃比センサ67の出力Voxsが前記第1の状態となる毎に頻度SMLの値が「1」だけ増大されるとともに、下流側空燃比センサ67の出力Voxsが同第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている毎に頻度FREの値が「1」だけ増大されていく。
【0150】
また、CPU71は、図15にフローチャートにより示した第1触媒53の劣化判定を行うためのルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、CPU71はステップ1500から処理を開始し、ステップ1505に進んで、頻度SMLの値が前記基準値SML0以上となったか否かを判定する。このとき、頻度SMLの値が基準値SML0よりも小さければ、CPU71は触媒の劣化判定を行うことなくステップ1595に直ちに進んで本ルーチンを一旦終了する。
【0151】
一方、頻度SMLが基準値SML0に達していると(即ち、前記一サンプリング期間が経過すると)、CPU71はステップ1505にて「Yes」と判定してステップ1510に進み、頻度FREの値が劣化判定基準値FREref以上であるか否かを判定する。
【0152】
いま、第1触媒53の劣化の程度が少ないものとして説明を続けると、この場合、頻度FREの値が劣化判定基準値FREref以上となっている。従って、CPU71はステップ1510にて「Yes」と判定してステップ1515に進んで、劣化判定フラグXRの値を「0」に設定し、続くステップ1520にてカウンタCNTの値を「0」に設定する。ここで、劣化判定フラグXRは、その値が「1」であるとき第1触媒53が前記劣化触媒であることを示し、その値が「0」であるとき第1触媒53が前記正常触媒であることを示す。また、カウンタCNTの値は、前記一サンプリング期間の経過毎に連続して劣化判定フラグXRが「1」となる(従って、連続して第1触媒53が劣化触媒であると判定される)回数を示す値である。
【0153】
そして、CPU71はステップ1525に進み、警報ランプ82に同警報ランプ82を消灯させるための指示信号を送出するとともに、続くステップ1530にて頻度SMLの値、及び頻度FREの値を共に「0」に設定した後、ステップ1595に進んで本ルーチンを一旦終了する。これにより、図14のルーチンが繰り返し実行されることで、再度、頻度SMLの値が基準値SML0に達するまで(即ち、次の一サンプリング期間が経過するまで)頻度FREの値が「0」から更新されていき、次の一サンプリング期間が経過するとその時点における更新された頻度FREの値に基づいて再び第1触媒53の劣化判定が実行される。そして、かかる頻度FREの値が劣化判定基準値FREref以上となっている限りにおいて、第1触媒53は正常触媒であると判定され続ける。
【0154】
次に、この状態から、第1触媒53の劣化が進行して頻度FREの値が劣化判定基準値FRErefより小さくなった場合について説明すると、この場合、CPU71はステップ1510にて「No」と判定してステップ1535に進むようになり、同ステップ1535にて劣化判定フラグXRの値を「1」に設定し、続くステップ1540にて被毒回復処理実行中フラグPWMの値を「1」に設定するとともに、続くステップ1545にて現時点でのカウンタCNTの値(現時点では「0」である。)を「1」だけ増大した値(=1)を新たなカウンタCNTとして設定する。
【0155】
次いで、CPU71はステップ1550に進み、カウンタCNTの値が「1」以下であるか、即ち、連続して第1触媒53が劣化触媒であると判定された回数が1回以下であるか否かを判定する。現時点では、カウンタCNTの値は「1」であるから、CPU71はステップ1550にて「Yes」と判定してステップ1530に直ちに進んで頻度SMLの値、及び頻度FREの値を共に「0」に設定した後、ステップ1595に進んで本ルーチンを一旦終了する。
【0156】
これにより、被毒回復処理実行中フラグPWMの値が「1」となって前述の空燃比フィードバック制御条件が成立しなくなるから、CPU71は図10のステップ1005にて「No」と判定してステップ1040に進むようになり、空燃比フィードバック補正量DFiの値が「0」に設定されて前述の空燃比フィードバック制御が中断されるようになる。また、CPU71は図14のステップ1405にて「No」と判定してステップ1450に直ちに進むようになり、頻度FREの算出も中断されるようになる。従って、頻度SMLの値が「0」に維持されるから、CPU71が図15のステップ1505にて「No」と判定し続けることで、第1触媒53の劣化判定が実行されなくなる。これにより、カウンタCNTの値は「1」に維持される。
【0157】
また、CPU71は、図16にフローチャートにより示した被毒回復処理を実行するためのルーチンを実行するようになっている。一般に、第1触媒53のような三元触媒の劣化には、大別すると、熱による劣化と被毒による劣化が存在する。ここで、三元触媒が熱により劣化した場合、その劣化状態を解消することは困難である。一方、三元触媒が被毒により劣化した場合、所定の被毒回復処理を実行することでその劣化状態を解消できる可能性があることが知られている。以下、かかる被毒による劣化、及び、被毒回復処理について簡単に説明する。
【0158】
触媒は、排気ガス中の還元剤(例えば、HC,CO等の未燃成分)が所定量だけ連続的に流入すると、同還元剤が同触媒内の貴金属やセリア(CeO2)(以下、「貴金属等」と称呼する。)の表面に付着して貴金属等の表面積が小さくなることにより被毒(所謂、一次被毒)し、かかる被毒により劣化する(例えば、触媒の最大酸素吸蔵量が低下する)ことが知られている。また、一方では、還元剤による触媒の一次被毒状態は、同触媒に所定量の酸素(従って、リーン空燃比のガス)を供給することにより解消することも知られている。
【0159】
他方、触媒は、排気ガス中の硫黄成分が所定量だけ連続的に流入すると、同硫黄成分が同触媒内の貴金属等の表面に付着して貴金属等の表面積が小さくなることにより被毒(所謂、一次被毒)し、かかる被毒によっても劣化することが知られている。また、一方では、硫黄成分による触媒の一次被毒状態は、同触媒に所定量の還元剤(例えば、HC,CO等の未燃成分。従って、リッチ空燃比のガス)を供給することにより解消することも知られている。
【0160】
以上のことから、本触媒劣化判定装置は、第1触媒53が劣化触媒であると判定される毎に(即ち、図15のステップ1540が実行されて被毒回復処理実行中フラグPWMの値が「0」から「1」に変更される毎に)、前述の空燃比フィードバック制御を中止して機関に供給される混合気の空燃比を、所定の期間の経過毎に所定のリッチ空燃比、所定のリーン空燃比、同所定のリッチ空燃比、同所定のリーン空燃比の順に強制的に制御する被毒回復処理を実行する。
【0161】
このような被毒回復処理を実行するため、CPU71は、図16のルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1600から処理を開始し、ステップ1605に進んで、被毒回復処理実行中フラグPWMの値が「1」であるか否かを判定し、「No」と判定する場合、被毒回復処理を実行することなくステップ1695に直ちに進んで本ルーチンを一旦終了する。
【0162】
いま、前述の図15のステップ1540が実行された直後であるものとして説明を続けると、CPU71はステップ1605にて「Yes」と判定してステップ1610に進み、被毒回復処理実行中フラグPWMの値が「0」から「1」に変更されたか否かを判定する。現時点は、図15のステップ1540が実行された直後であって被毒回復処理実行中フラグPWMの値が「0」から「1」に変更された直後であるから、CPU71はステップ1610にて「Yes」と判定してステップ1615に進み、カウンタ値Tを「0」に設定するとともに、続くステップ1620にて図9のステップ910にて使用される係数Kの値を「1.02」に設定する。ここで、カウンタ値Tは被毒回復処理が開始された時点からの経過時間を表す値である。
【0163】
次いで、CPU71はステップ1625に進み、カウンタ値を「1」だけ増大し、続くステップ1630にてカウンタ値Tが「4・T1」よりも小さいか否かを判定する。ここで、T1は前記所定の期間に相当する値である。従って、このステップ1630では、被毒回復処理が開始された後に前記所定の期間が4回繰り返されていないか否か、即ち、被毒回復処理を終了すべき時期が到来していないか否かが判定される。
【0164】
現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1630にて「Yes」と判定してステップ1635に進み、カウンタ値Tが値「T1」又は値「3・T1」の何れかになっているか否かを判定する。現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1630にて「No」と判定してステップ1640に進み、カウンタ値Tが値「2・T1」になっているか否かを判定する。現時点は被毒回復処理が開始された直後であるから、CPU71はステップ1640でも「No」と判定してステップ1695に直ちに進んで本ルーチンを一旦終了する。
【0165】
以降、ステップ1625が繰り返し実行されてカウンタ値Tが値T1になるまで(従って、被毒回復処理開始後に前記所定の期間が経過するまで)CPU71は、ステップ1600〜1610,1625〜1640,1695の処理を繰り返し実行する。従って、被毒回復処理開始後に前記所定の期間が経過するまでの間、図9のステップ910の実行により、基本燃料噴射量Fbaseが1.02倍された値が最終燃料噴射量Fiとして算出され(空燃比フィードバック補正量DFiの値は「0」に設定されている。)、この最終燃料噴射量Fiの燃料が噴射されるので、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりもリッチな前記所定のリッチ空燃比に制御され続ける。これにより、硫黄成分による第1触媒53の一次被毒状態が解消される可能性がある。
【0166】
次に、この状態から、カウンタ値Tが値T1になった場合について説明する。この場合、CPU71はステップ1635に進んだとき「Yes」と判定してステップ1645に進んで係数Kの値を「1.02」から「0.98」に変更した後、ステップ1695に進んで本ルーチンを一旦終了する。以降、ステップ1625が繰り返し実行されてカウンタ値Tが値T2になるまで(従って、1回目の所定の期間の経過後、2回目の所定の期間が経過するまで)CPU71は、ステップ1600〜1610,1625〜1640,1695の処理を再び繰り返し実行するようになる。従って、1回目の所定の期間の経過後、2回目の所定の期間が経過するまでの間、基本燃料噴射量Fbaseが0.98倍された値が最終燃料噴射量Fiとして算出されるから、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりもリーンな前記所定のリーン空燃比に制御され続ける。これにより、還元剤による第1触媒53の一次被毒状態が解消される可能性がある。
【0167】
同様に、カウンタ値Tが値T1から増大していき値T2になると、CPU71はステップ1640に進んだとき「Yes」と判定してステップ1650に進み、係数Kの値を「0.98」から再び「1.02」に変更する。これにより、2回目の所定の期間の経過後、3回目の所定の期間が経過するまでの間、再び、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりも前記所定のリッチ空燃比に制御され続ける。また、同様に、カウンタ値Tが値T2から増大していき値T3になると、CPU71はステップ1635に進んだとき「Yes」と判定してステップ1645に進み、係数Kの値を「1.02」から再度「0.98」に変更する。これにより、3回目の所定の期間の経過後、4回目の所定の期間が経過するまでの間、再び、機関に供給される混合気の空燃比(従って、第1触媒53に流入するガスの空燃比)は理論空燃比よりも前記所定のリーン空燃比に制御され続ける。
【0168】
そして、カウンタ値Tが値T3から増大していき値T4になると、CPU71はステップ1630に進んだとき「No」と判定してステップ1655に進み、係数Kの値を「1.00」に再設定するとともに、続くステップ1660にて被毒回復処理実行中フラグPWMの値を「1」から「0」に変更した後、ステップ1695に進んで本ルーチンを一旦終了する。
【0169】
以降、被毒回復処理実行中フラグPWMの値が「0」になっているから、図15のステップ1540にて被毒回復処理実行中フラグPWMの値が再び「1」に設定されるまでの間、CPU71はステップ1605からステップ1695に直ちに進んで本ルーチンを一旦終了するようになる。また、空燃比フィードバック制御条件、及びサブフィードバック制御条件が成立していれば、CPU71は図10のステップ1005及び図11のステップ1105にて「Yes」と判定するようになるから、空燃比フィードバック制御が再開されるともに、図14のステップ1405にて「Yes」と判定するようになるから、頻度FREの算出が再開される。
【0170】
従って、被毒回復処理が終了した時点以降、再び、頻度SMLが基準値SML0に達すると(即ち、一サンプリング期間が経過すると)、CPU71は図15のステップ1505にて「Yes」と判定してステップ1510以降に進み、第1触媒53の劣化判定を行う。そして、被毒回復処理により第1触媒53の劣化状態が解消している場合、CPU71はステップ1510にて「Yes」と判定し、ステップ1520にてカウンタCNTの値を現時点での値「1」から「0」にクリアする。
【0171】
一方、被毒回復処理によっても第1触媒53の劣化状態が解消していない場合、CPU71はステップ1510にて再び「No」と判定し、ステップ1545にてカウンタCNTの値を現時点での値「1」から「1」だけ増大して「2」に設定する。従って、CPU71は続くステップ1550にて「No」と判定するようになり、ステップ1555に進んで警報ランプ82に同警報ランプ82を点灯させるための指示信号を送出する。これにより、警報ランプ82が点灯する。
【0172】
即ち、警報ランプ82は、一旦、第1触媒53が劣化触媒であると判定された後に被毒回復処理が1回実行されてもなお、第1触媒53の劣化状態が解消しなかった場合に点灯されることになる。また、この場合、ステップ1540の処理によりその後に被毒回復処理が再び実行されることになる。そして、仮に、被毒回復処理が繰り返し実行されることでその後において第1触媒53の劣化状態が解消されるようなことがあった場合、CPU71がステップ1510にて「Yes」と判定することで、ステップ1520にてカウンタCNTの値が「0」にクリアされるとともに、ステップ1525にて現時点まで点灯し続けていた警報ランプ82が消灯される。一方、第1触媒53の劣化状態が引き続き解消されない場合は、ステップ1525の処理が実行されないことから警報ランプ82は継続して点灯し続ける。
【0173】
以上、説明したように、本発明の実施形態によれば、第1触媒53が新品の触媒であると想定して構築された同第1触媒53を対象とする触媒モデルに基づき、第1触媒53から流出するガス中の特定成分の量(流出酸素量CgoutO2(N))を推定(算出)する。そして、本発明の実施形態は、第1触媒53下流の下流側空燃比センサ67の出力Voxsに基づく空燃比フィードバック制御中において、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる毎に触媒モデルが推定している流出酸素量CgoutO2(N)が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっているか否かを判定するとともに、下流側空燃比センサ出力Voxsが第1の状態となる頻度SMLが所定の基準値SML0に達する毎(一サンプリング期間が経過する毎)に、この一サンプリング期間中にて下流側空燃比センサ出力Voxsが第1の状態となった時点において流出酸素量CgoutO2(N)が第2の状態になっている頻度FREを求め、この頻度FREが劣化判定基準値FREref以上か否か(従って、頻度SML0に対する頻度FREの割合が所定値以上か否か)に基づいて第1触媒53が正常触媒であるか劣化触媒であるかを判定する。
【0174】
このような触媒劣化判定方法は、通常の空燃比フィードバック(サブフィードバック)における空燃比変動を伴うのみであって、従来技術のように機関が定常状態にあるときに空燃比を強制的に変化させないので、触媒劣化判定をドライバビリティの悪化を招くことなく行うことができた。また、通常の空燃比フィードバック制御(サブフィードバック制御)中に触媒劣化判定がなされるので、触媒劣化判定の機会を多く確保でき、この結果、第1触媒53が正常触媒であるか劣化触媒であるかを遅滞なく判定することができた。
【0175】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、下流側空燃比センサ出力Voxsが第1の状態となる頻度SMLが基準値SML0に達する毎に頻度FREと劣化判定基準値FRErefとの比較結果に基づいて触媒の劣化判定を実行しているが、所定の(一定の)サンプリング時間の経過毎に同サンプリング時間内における頻度SMLに対する頻度FREの割合と所定値との比較結果に基づいて触媒の劣化判定を実行するように構成してもよい。
【0176】
また、上記実施形態においては、下流側空燃比センサ出力Voxsが第1の状態(リッチ側所定値Vrichを増加しながら、又はリーン側所定値Vleanを減少しながら通過する状態)となる頻度SML(SML0)に対する、同下流側空燃比センサ出力Voxsが第1の状態となる時点において第1触媒53から流出する特定成分の量(流出酸素量CgoutO2(N))が第2の状態(負の閾値Crefmnsよりも小さい値、又は正の閾値Crefplsよりも大きい値になっている状態)になっている頻度FREの割合に応じて第1触媒53の劣化判定が実行されているが、前記第2の状態を、「減少している、又は増加している状態」としてもよい。また、第1触媒53から流出する特定成分の量(流出酸素量CgoutO2(N))が第1の状態(負の閾値Crefmnsを減少しながら、又は正の閾値Crefplsを増加しながら通過する状態)となる頻度SML(SML0)に対する、同特定成分の量が第1の状態となる時点において下流側空燃比センサ出力Voxsが第2の状態(リッチ側所定値Vrichよりも大きい値、又はリーン側所定値Vleanよりも小さい値になっている状態)になっている頻度FREの割合に応じて第1触媒53の劣化判定が実行されるように構成されてもよい。この場合、前記第2の状態を、「増加している、又は減少している状態」としてもよい。また、上述のリッチ側所定値Vrich、及びリーン側所定値Vleanは共に、目標値Voxsrefと等しい値に設定してもよい。
【0177】
また、上記実施形態においては、空燃比フィードバック制御(サブフィードバック制御)は下流側空燃比センサ67の出力Voxsに基づいて実行されているが、触媒モデルにより推定されている流出酸素量CgoutO2(N)に基づいて実行されるように構成してもよい。この場合、図11のステップ1110を「DVoxs ← CgoutO2(N) − CgoutO2ref」に書き換えればよい。ここで、CgoutO2refは流出酸素量CgoutO2(N)の目標値であって、例えば「0」である。
【0178】
また、サブフィードバック制御は、上記PI制御でなく、PID制御であってもよい。更に、下流側空燃比センサ67は、上流側空燃比センサ66と同様な空燃比センサであってもよい。また、下流側空燃比センサ67の出力Voxsのみに基づいて機関に供給される混合気の空燃比をフィードバック制御するように構成してもよい。
【図面の簡単な説明】
【図1】本発明による触媒劣化判定装置を適用した内燃機関の概略図である。
【図2】図1に示したエアフローメータの出力電圧と計測された吸入空気流量との関係を示したマップである。
【図3】図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図4】図1に示した下流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図5】(A)は第1触媒が新品の触媒である場合の空燃比フィードバック制御(サブフィードバック制御)における下流側空燃比センサの出力、及び本発明の触媒劣化判定装置が採用する触媒モデルにより推定される第1触媒から流出する流出酸素量の変化を示したタイムチャートであり、(B)は第1触媒が劣化触媒である場合の空燃比フィードバック制御における同下流側空燃比センサの出力、及び同流出酸素量の変化を示したタイムチャートである。
【図6】本発明の触媒劣化判定装置が採用する触媒モデルを模式的に示した図である。
【図7】本発明の触媒劣化判定装置が採用する触媒モデルの特定領域に注目したときの同特定領域における酸素吸蔵・放出反応に関係する特定成分の収支を示した図である。
【図8】本発明の触媒劣化判定装置が採用する触媒モデルを第1触媒に適用した場合の模式図である。
【図9】図1に示したCPUが実行する燃料噴射量計算のためのルーチンを示したフローチャートである。
【図10】図1に示したCPUが実行する空燃比フィードバック補正量の計算のためのルーチンを示したフローチャートである。
【図11】図1に示したCPUが実行するサブフィードバック制御量の計算のためのルーチンを示したフローチャートである。
【図12】図1に示したCPUが実行する第1触媒の各ブロック毎の流出酸素量、酸素吸蔵量等の計算のためのルーチンを示したフローチャートである。
【図13】図1に示したCPUが実行する第1触媒の各ブロック毎の酸素吸蔵量をクリアするためのルーチンを示したフローチャートである。
【図14】図1に示したCPUが実行する触媒劣化判定に使用する頻度FREを求めるためのルーチンを示したフローチャートである。
【図15】図1に示したCPUが実行する第1触媒が正常触媒であるか劣化触媒であるかを判定するためのルーチンを示したフローチャートである。
【図16】図1に示したCPUが実行する第1触媒の被毒回復処理を行うためのルーチンを示したフローチャートである。
【符号の説明】
10…内燃機関、25…燃焼室、39…インジェクタ、52…エキゾーストパイプ(排気管)、53…第1触媒、66…上流側空燃比センサ、67…下流側空燃比センサ、70…電気制御装置、71…CPU
Claims (4)
- 内燃機関の排気通路に配設された触媒と、
前記触媒よりも下流の前記排気通路に配設された空燃比センサと、
を備えた内燃機関の排気浄化装置に適用され、
前記触媒が劣化した触媒であると判定すべき程度まで劣化していない正常触媒であるか、劣化した触媒であると判定すべき程度まで劣化した劣化触媒であるか、を判定する触媒劣化判定手段を備えた触媒劣化判定装置であって、
前記触媒が前記正常触媒であると想定した場合における同触媒内の反応を考慮して構築された触媒モデルに基づいて同触媒から流出するガス中の特定成分の量に関する値を推定する特定成分量推定手段を備え、
前記触媒劣化判定手段は、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が同空燃比センサの出力値と前記特定成分の量に関する値の実際値との間で得られるべき所定の相関関係から逸脱する程度が所定の程度以下であるとき前記触媒が前記正常触媒であると判定するとともに、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えるとき同触媒が前記劣化触媒であると判定するように構成された触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置であって、
前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の何れかが所定の目標値となるように同何れかの値に基づいて前記触媒に流入するガスの空燃比をフィードバック制御する空燃比制御手段を備え、
前記触媒劣化判定手段は、前記フィードバック制御中において前記触媒が前記正常触媒であるか前記劣化触媒であるかを判定するように構成された触媒劣化判定装置。 - 請求項1又は請求項2に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、
前記空燃比センサの出力値又は前記推定された特定成分の量に関する値の一方の値が前記触媒からリッチ空燃比又はリーン空燃比のガスが流出していることを表す第1の状態となる毎に他方の値が同触媒から同一のリッチ空燃比又はリーン空燃比のガスが流出していることを表す第2の状態になっているか否かを判定し、
前記一方の値が前記第1の状態となる頻度に対する、同一方の値が同第1の状態となる時点において前記他方の値が前記第2の状態になっている頻度の割合が所定値以上であるとき、前記空燃比センサの出力値と前記推定された特定成分の量に関する値との関係が前記所定の相関関係から逸脱する程度が前記所定の程度以下であると判定するとともに、同頻度の割合が同所定値未満であるとき、同関係が同所定の相関関係から逸脱する程度が同所定の程度を超えたと判定するように構成された触媒劣化判定装置。 - 請求項1乃至請求項3のいずれか一項に記載の触媒劣化判定装置において、
前記特定成分量推定手段は、前記触媒から流出するガス中の酸素の過不足量に関する値を前記ガス中の特定成分の量に関する値として推定するように構成された触媒劣化判定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093248A JP2004300981A (ja) | 2003-03-31 | 2003-03-31 | 触媒劣化判定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003093248A JP2004300981A (ja) | 2003-03-31 | 2003-03-31 | 触媒劣化判定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004300981A true JP2004300981A (ja) | 2004-10-28 |
Family
ID=33406092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003093248A Pending JP2004300981A (ja) | 2003-03-31 | 2003-03-31 | 触媒劣化判定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004300981A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101305632B1 (ko) * | 2011-09-21 | 2013-09-09 | 기아자동차주식회사 | 배기정화장치의 피독감지시스템 및 감지방법 |
JP2014032947A (ja) * | 2012-08-01 | 2014-02-20 | Hyundai Motor Company Co Ltd | 燃料電池性能の回復方法 |
CN113530653A (zh) * | 2020-04-16 | 2021-10-22 | 罗伯特·博世有限公司 | 用于确定催化器状态的方法和计算单元 |
-
2003
- 2003-03-31 JP JP2003093248A patent/JP2004300981A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101305632B1 (ko) * | 2011-09-21 | 2013-09-09 | 기아자동차주식회사 | 배기정화장치의 피독감지시스템 및 감지방법 |
US8820048B2 (en) | 2011-09-21 | 2014-09-02 | Hyundai Motor Company | System and method for detecting pollution by poisonous material for air exhauster of vehicle |
JP2014032947A (ja) * | 2012-08-01 | 2014-02-20 | Hyundai Motor Company Co Ltd | 燃料電池性能の回復方法 |
CN113530653A (zh) * | 2020-04-16 | 2021-10-22 | 罗伯特·博世有限公司 | 用于确定催化器状态的方法和计算单元 |
US11536182B2 (en) * | 2020-04-16 | 2022-12-27 | Robert Bosch Gmbh | Method and processing unit for ascertaining a catalytic converter state |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3963130B2 (ja) | 触媒劣化判定装置 | |
JP3846375B2 (ja) | 触媒劣化判定方法 | |
JP3972748B2 (ja) | 内燃機関の排気浄化装置 | |
JP2004257377A (ja) | 内燃機関の排気浄化装置 | |
US6761024B2 (en) | Air-fuel ratio control system and method for internal combustion engines | |
JP2009215933A (ja) | 内燃機関の制御装置 | |
JP2004360591A (ja) | 内燃機関の排気浄化装置 | |
JP2005351153A (ja) | 触媒劣化判定装置 | |
JP4082130B2 (ja) | 触媒劣化判定装置 | |
JP3815386B2 (ja) | 触媒劣化判定方法 | |
JP2004003405A (ja) | 触媒劣化判定装置 | |
JP2004300981A (ja) | 触媒劣化判定装置 | |
JP2005009401A (ja) | 内燃機関の排気浄化装置 | |
JP4239521B2 (ja) | 内燃機関の排気浄化装置 | |
JP2003314334A (ja) | 内燃機関の空燃比制御装置 | |
JP2006112274A (ja) | 内燃機関の空燃比制御装置 | |
JP4103522B2 (ja) | 内燃機関の排気浄化装置 | |
JP2004263591A (ja) | 内燃機関の排気浄化装置 | |
JP4023174B2 (ja) | 触媒劣化判定装置 | |
JP4048959B2 (ja) | 内燃機関の排気浄化装置 | |
JP4069367B2 (ja) | 内燃機関の排気浄化装置 | |
JP3879596B2 (ja) | 空燃比センサ状態判定装置 | |
JP2004251123A (ja) | 内燃機関の排気浄化装置 | |
JP2009197683A (ja) | 内燃機関の空燃比制御装置 | |
JP2004092472A (ja) | 内燃機関の排気浄化装置 |