JP2005194981A - 触媒劣化判定装置 - Google Patents
触媒劣化判定装置 Download PDFInfo
- Publication number
- JP2005194981A JP2005194981A JP2004004551A JP2004004551A JP2005194981A JP 2005194981 A JP2005194981 A JP 2005194981A JP 2004004551 A JP2004004551 A JP 2004004551A JP 2004004551 A JP2004004551 A JP 2004004551A JP 2005194981 A JP2005194981 A JP 2005194981A
- Authority
- JP
- Japan
- Prior art keywords
- air
- fuel ratio
- value
- catalyst
- 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
Images
Landscapes
- Exhaust Gas After Treatment (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Exhaust Gas Treatment By Means Of Catalyst (AREA)
Abstract
【課題】 未燃ガスやNOxの排出量を抑制しながら、触媒劣化判定を誤りなく実行し得る触媒劣化判定装置を提供すること。
【解決手段】 触媒劣化判定装置は、機関の空燃比を設定リッチ空燃比と設定リーン空燃比とに交互に変化させる空燃比アクティブ制御を行うとともに、下流側空燃比センサ68の出力の軌跡長を求め、その軌跡長が閾値より大きいとき上流側触媒53が劣化したと判定する。触媒劣化判定装置は、空燃比アクティブ制御を実行する直前に燃料噴射量の学習値を取得し、その学習値を用いて上流側触媒に対する酸素収支量(上流側触媒に流入する酸素の量と上流側触媒で消費される酸素の量の差の積算値)を求め、酸素収支量が0と閾値Sthとの間となるように前記空燃比アクティブ制御を行う。閾値Sthは、劣化触媒の最大酸素吸蔵量より大きく、非劣化触媒の最大酸素吸蔵量より小さい値に選択されている。
【選択図】 図1
【解決手段】 触媒劣化判定装置は、機関の空燃比を設定リッチ空燃比と設定リーン空燃比とに交互に変化させる空燃比アクティブ制御を行うとともに、下流側空燃比センサ68の出力の軌跡長を求め、その軌跡長が閾値より大きいとき上流側触媒53が劣化したと判定する。触媒劣化判定装置は、空燃比アクティブ制御を実行する直前に燃料噴射量の学習値を取得し、その学習値を用いて上流側触媒に対する酸素収支量(上流側触媒に流入する酸素の量と上流側触媒で消費される酸素の量の差の積算値)を求め、酸素収支量が0と閾値Sthとの間となるように前記空燃比アクティブ制御を行う。閾値Sthは、劣化触媒の最大酸素吸蔵量より大きく、非劣化触媒の最大酸素吸蔵量より小さい値に選択されている。
【選択図】 図1
Description
本発明は、内燃機関の排気通路に配設された触媒が劣化しているか否かを判定する触媒劣化判定装置に関する。
従来から、排気通路に配設された触媒(三元触媒、触媒コンバータ)の下流に空燃比センサ(下流側空燃比センサ)を設けるとともに内燃機関に供給される混合気の空燃比をリッチ側とリーン側に交互に強制的に変化させ、そのときの下流側空燃比センサの出力(出力波形、即ち、軌跡長、変動周波数、所定値とセンサ出力とにより囲まれる部分の面積等)に基づいて同触媒が劣化したか否かを判定する触媒劣化判定装置が知られている。本明細書においては、このような触媒劣化判定を行うための空燃比の強制的変化制御を「空燃比アクティブ制御」と称呼する。
一方、上記空燃比アクティブ制御において、機関に供給される混合気の空燃比がリーン側の空燃比となっているときに触媒に吸蔵されるとともにリッチ側の空燃比となっているときに触媒から放出される酸素の量を積算して触媒の酸素吸蔵量(酸素ストレージ量)OSCを求め、その酸素吸蔵量が、劣化触媒の許容酸素吸蔵量(破過量)以上で且つ非劣化触媒(劣化していない触媒)の許容酸素吸蔵量以下となるように、空燃比の切換えを行うことも知られている(例えば、特許文献1を参照。)。これにより、触媒が劣化しているか否かに応じて下流側空燃比センサの出力に確実に変化が現れるので、触媒劣化の判定を確実に行うことができる。
特開2002−130018号公報(第6頁、図3)
ところで、上記空燃比アクティブ制御を行うためには、酸素吸蔵量OSCを算出しなければならない。酸素吸蔵量OSCは、例えば、下記(1)式乃至(3)式に基づいて求められ得る。
taufinal=tfbse・kactive+tdfi …(1)
delO2=0.23・(Gn−taufinal・KINJC・stoich) …(2)
OSC=ΣdelO2 …(3)
taufinal=tfbse・kactive+tdfi …(1)
delO2=0.23・(Gn−taufinal・KINJC・stoich) …(2)
OSC=ΣdelO2 …(3)
(1)式において、
taufinalは、ある気筒の一回の吸気行程に対する実際の燃料噴射時間である。燃料噴射時間はインジェクタの開弁時間である。
tfbseは、ある気筒の一回の吸気行程に対する混合気の空燃比を理論空燃比とするための基本燃料噴射時間である。例えば、tfbseは、ある気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。
kactiveは、空燃比アクティブ制御を行うための増量又は減量係数である。以下、この係数を、「空燃比アクティブ制御係数kactive」と称呼する。
tdfiは、触媒の上流に配設された上流側空燃比センサの出力に基づくフィードバック量(時間)である。tdfiは、空燃比フィードバック量又は空燃比フィードバック補正量とも呼ばれる。
taufinalは、ある気筒の一回の吸気行程に対する実際の燃料噴射時間である。燃料噴射時間はインジェクタの開弁時間である。
tfbseは、ある気筒の一回の吸気行程に対する混合気の空燃比を理論空燃比とするための基本燃料噴射時間である。例えば、tfbseは、ある気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。
kactiveは、空燃比アクティブ制御を行うための増量又は減量係数である。以下、この係数を、「空燃比アクティブ制御係数kactive」と称呼する。
tdfiは、触媒の上流に配設された上流側空燃比センサの出力に基づくフィードバック量(時間)である。tdfiは、空燃比フィードバック量又は空燃比フィードバック補正量とも呼ばれる。
(2)式において、
係数「0.23」は、大気中の酸素の重量割合である。
delO2は、ある気筒の一回の吸気行程に対する燃焼行程で生じた排ガス中の酸素の過不足量である。即ち、delO2は、触媒に流入するガスにおける酸素の過不足量である。それ故、delO2は、「酸素収支の変化量」と称呼される。
Gnは、上述したように、ある気筒の一回の吸気行程において吸入された吸入空気量である。Gnは、エアフローメータが計測した吸入空気流量をエンジン回転数により除した値、或いは所定の物理モデルである空気モデルに基づいて求められる。
KINJCは、燃料噴射時間(インジェクタの開弁時間)を燃料の質量に変換する予め定められた係数である。
stoichは、理論空燃比(例えば、14.5或いは14.6)である。
係数「0.23」は、大気中の酸素の重量割合である。
delO2は、ある気筒の一回の吸気行程に対する燃焼行程で生じた排ガス中の酸素の過不足量である。即ち、delO2は、触媒に流入するガスにおける酸素の過不足量である。それ故、delO2は、「酸素収支の変化量」と称呼される。
Gnは、上述したように、ある気筒の一回の吸気行程において吸入された吸入空気量である。Gnは、エアフローメータが計測した吸入空気流量をエンジン回転数により除した値、或いは所定の物理モデルである空気モデルに基づいて求められる。
KINJCは、燃料噴射時間(インジェクタの開弁時間)を燃料の質量に変換する予め定められた係数である。
stoichは、理論空燃比(例えば、14.5或いは14.6)である。
即ち、(2)式は、taufinalだけの時間、燃料を噴射したとき、taufinal・KINJCだけの燃料量(重量)が実際に噴射されているという前提に立脚した式である。換言すると、(2)式の右辺にある(taufinal・KINJC・stoich)を0.23倍した値は、噴射時間taufinalだけ噴射された燃料により消費される酸素重量を示す値と考えられている。
従って、この消費される酸素重量0.23・(taufinal・KINJC・stoich)を吸入空気に含まれる酸素量0.23・Gnから減じることにより、ある気筒の一サイクルにおいて触媒に流入する酸素の過不足量(触媒の酸素収支の変化量delO2)が求められる。酸素収支の変化量delO2は、正の値のとき酸素の過剰量、負の値のとき酸素の不足量を表す。酸素収支量は、触媒に流入する酸素の量と同触媒で消費される酸素の量の差の積算値である。
一方、触媒に流入する過剰な酸素は触媒によりすべて吸収され、触媒に流入するガスにおける酸素の不足分は触媒から放出される酸素により補われると考えることができる。従って、(3)式に基づき酸素収支の変化量delO2を積算すれば、触媒の酸素吸蔵量に応じた値(触媒における酸素収支量)が求められるのである。
しかしながら、各インジェクタの製造上のばらつきなどに起因する噴射性能差などにより、燃料噴射時間がtaufinalであるときに燃料噴射時間taufinalに比例した燃料量(=taufinal・KINJC)の燃料が実際には噴射されていない場合がある。換言すると、実際の燃料噴射量と燃料噴射時間の関係(この関係はKINJCで表されている。)が変化してしまうことがある。
このような状態では、機関に供給されていると考えられている燃料の量(taufinal・KINJC)が正確でなくなるから、一回の燃焼で消費される酸素量0.23・(taufinal・KINJC・stoich)が正確でなくなる。従って、酸素収支の変化量delO2が不正確となり、これを積算した触媒の酸素吸蔵量OSCも不正確となる。
従って、空燃比アクティブ制御において、空燃比を上記計算された酸素吸蔵量OSCの値が所定値となったか否かに基づいてリーン側空燃比からリッチ側空燃比に切り換え、及び/又は、リッチ側空燃比からリーン側空燃比に切り換えると、それらの空燃比切換えタイミングが不適切となることがある。この結果、エミッションが悪化したり、触媒が劣化したことを精度良く判定できなくなるという問題がある。
一方、酸素吸蔵量OSCは、例えば、下記(4)式乃至(7)式に基づいても求められ得る。
ftaufinal=ftbse・kactive・FAF …(4)
taufinal=ftaufinal/KINJC …(5)
delO2=0.23・(Gn−ftaufinal・stoich)
…(6)
OSC=ΣdelO2 …(7)
ftaufinal=ftbse・kactive・FAF …(4)
taufinal=ftaufinal/KINJC …(5)
delO2=0.23・(Gn−ftaufinal・stoich)
…(6)
OSC=ΣdelO2 …(7)
(4)式乃至(7)式において、
ftaufinalは、ある気筒の一回の吸気行程に対する燃料噴射量である。
ftbseは、ある気筒の一回の吸気行程に対する混合気の空燃比を理論空燃比とするための燃料噴射量である。例えば、ftbseは、ある気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。
FAFは、触媒の上流に配設された上流側空燃比センサの出力に基づくフィードバック量(比率)である。
ftaufinalは、ある気筒の一回の吸気行程に対する燃料噴射量である。
ftbseは、ある気筒の一回の吸気行程に対する混合気の空燃比を理論空燃比とするための燃料噴射量である。例えば、ftbseは、ある気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。
FAFは、触媒の上流に配設された上流側空燃比センサの出力に基づくフィードバック量(比率)である。
この場合、各インジェクタの製造上のばらつきなどに起因する噴射性能差などにより、実際の燃料噴射量と燃料噴射時間の関係(この関係はKINJCで表されている。)が変化してしまうと、実際にftaufinalの量の燃料が噴射されない場合がある。その結果、やはり、酸素吸蔵量OSCが正確ではなくなるので、エミッションが悪化したり、触媒が劣化したことを精度良く判定できなくなるという問題がある。
他方、上記(1)式乃至(3)式、或いは、上記(4)式乃至(7)式を用いて触媒の最大酸素吸蔵量Cmaxを求め、この最大酸素吸蔵量Cmaxが所定値以下であれば触媒が劣化していると判定する方法も考えられる。しかしながら、上記した実際の燃料噴射量と燃料噴射時間の関係が設計上予定した関係(KINJCで表される関係)から変化してしまっていると、最大酸素吸蔵量Cmaxの算出精度が悪化する。その結果、触媒劣化判定が正確に行えないという問題がある。
更に、酸素吸蔵量OSCを下記(8)式及び(9)式に基づいて算出することも考えられる。abyfsは、触媒上流に配設された上流側空燃比センサにより検出される触媒に流入するガスの空燃比である。
delO2=0.23・taufinal・KINJC・(abyfs−stoich) …(8)
OSC=ΣdelO2 …(9)
delO2=0.23・taufinal・KINJC・(abyfs−stoich) …(8)
OSC=ΣdelO2 …(9)
しかしながら、この方式によっても、燃料噴射時間がtaufinalであるときに燃料噴射時間taufinalに比例した燃料量(=taufinal・KINJC)の燃料が実際には噴射されていない場合、酸素吸蔵量OSCが不正確となる。従って、上述した問題と同様な問題が発生する。
本発明は、上記課題に対処するためになされたものであって、その主たる目的は、エミッションの悪化を回避しながら、触媒劣化判定を精度良く行うことができる触媒劣化判定装置を提供することにある。
上記目的を達成するための本発明の触媒劣化判定装置は、内燃機関の排気通路に配設された触媒と、前記排気通路の前記触媒の上流に配設されて同排気通路内のガスの空燃比に応じた値を出力する上流側空燃比センサと、前記排気通路の前記触媒の下流に配設されて同触媒から流出するガスの空燃比に応じた値を出力する下流側空燃比センサとを備えている。
また、触媒劣化判定装置は、フィードフォワード燃料噴射量を決定するフィードフォワード燃料噴射量決定手段と、フィードバック量を算出するフィードバック量算出手段と、最終燃料噴射時間を決定する最終燃料噴射時間決定手段と、学習値を算出する学習値算出手段と、燃料噴射手段と、を備えている。
更に、触媒劣化判定装置は、機関に供給される混合気の空燃比を設定リッチ空燃比と設定リーン空燃比とに交互に変更する空燃比アクティブ制御手段と、前記触媒の酸素収支の変化量を算出する酸素収支変化量算出手段と、触媒劣化指標値に基づいて同触媒が劣化したか否かを判定する触媒劣化判定手段と、を備えている。
前記フィードフォワード燃料噴射量決定手段は、前記機関に供給される混合気の空燃比を所定の目標空燃比にするためのフィードフォワード燃料噴射量を前記機関の運転状態量に応じて決定する。フィードフォワード燃料噴射量の単位は、時間であっても、重量であってもよい。前記機関の運転状態量とは、一回の吸気行程で気筒に吸入される吸入空気量などであり、排ガスの空燃比などの排ガスに関する情報を含まない量であって、機関の吸気に関する状態を示す量である。
前記フィードバック量算出手段は、フィードバック量を前記上流側空燃比センサの出力に基づいて算出する。フィードバック量の単位は、時間であっても、無次元であってもよい。フィードバック量は、前記機関に供給される混合気の空燃比を前記所定の目標空燃比と一致させるために前記フィードフォワード燃料噴射量を補正するように用いられる量である。
前記最終燃料噴射時間決定手段は、前記フィードフォワード燃料噴射量を前記フィードバック量により補正することにより最終燃料噴射時間を決定する。
前記燃料噴射手段は、前記決定された最終燃料噴射時間だけ所定の流量で燃料を噴射する。
前記燃料噴射手段は、前記決定された最終燃料噴射時間だけ所定の流量で燃料を噴射する。
前記学習値算出手段は、所定の学習条件が満たされたとき、前記フィードバック量の平均的な値に相当する学習値を同フィードバック量に基づいて算出する。学習値は前記フィードバック量の平均的な値に相当する値であるから、最終燃料噴射時間だけ燃料を噴射したときに期待されている機関に供給される燃料量と実際の燃料量(実燃料量)とのズレ分を表す。
前記空燃比アクティブ制御手段は、所定の触媒劣化指標値取得条件が満たされたとき前記フィードフォワード燃料噴射量及び前記フィードバック量の少なくとも一方を変更することにより前記最終燃料噴射時間を変更し、前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比である設定リッチ空燃比と同理論空燃比よりもリーン側の空燃比である設定リーン空燃比とに交互に変更する空燃比アクティブ制御を行う。機関に供給される混合気の空燃比が設定リッチ空燃比とされると、触媒に流入するガス中の酸素量が不足する。従って、触媒に吸蔵されていた酸素が放出される。機関に供給される混合気の空燃比が設定リーン空燃比とされると、触媒に流入するガス中の酸素量が過剰となる。従って、触媒に酸素が吸蔵される。
前記酸素収支変化量算出手段は、前記空燃比アクティブ制御手段により前記空燃比が変更されている期間において、前記最終燃料噴射時間と前記学習値とに基づいて実際に前記機関に供給された燃料量である実燃料量(実際の燃料量)を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出する。酸素収支の変化量とは、ある時間において、触媒に流入する(吸蔵・吸収される)酸素の量と同触媒の内部にて消費(放出)される酸素の量の差を意味する。従って、酸素収支が0であれば、触媒の酸素吸蔵量は変化しない。
触媒劣化判定手段は、前記空燃比アクティブ制御中に前記下流側空燃比センサの出力に基づいて前記触媒の劣化の程度を示す触媒劣化指標値を算出し、同算出された触媒劣化指標値に基づいて同触媒が劣化したか否かを判定する。
更に、前記空燃比アクティブ制御手段は、前記所定の触媒劣化指標値取得条件が満たされたときに前記学習値算出手段に前記学習値の算出を行わせ、同学習値の算出直後に前記空燃比アクティブ制御を実行するように構成されている。
これによれば、学習値が算出された直後に空燃比アクティブ制御が実行される。そして、算出された新たな学習値と最終燃料噴射時間とに基づいて実燃料量が算出され、算出された実燃料量に基づいて前記触媒の酸素収支の変化量が算出される。このとき、上記学習値が最新の値となっているから、算出される実燃料量は空燃比アクティブ制御実行中の真の燃料量に極めて近い値として得られる。従って、酸素収支の変化量が極めて精度良く算出される。この結果、触媒の酸素収支量は精度のよい酸素収支の変化量に基づいて正確に算出され得る。
これにより、空燃比アクティブ制御中における設定リーン空燃比から設定リッチ空燃比への又はその逆への空燃比切換えタイミングを、酸素収支量の大きさに基づいて決定する装置(例えば、酸素収支量の変化幅が劣化している触媒の最大酸素吸蔵量を僅かに超えたときに空燃比を切り換える装置)にあっては、同空燃比切換えタイミングを望ましいタイミングにすることができる。このタイミングにて空燃比を切り換えれば、例えば、劣化触媒の場合には触媒の酸素吸蔵量が0及び最大酸素吸蔵量に到達し、非劣化触媒の場合には触媒の酸素吸蔵量が0と最大酸素吸蔵量の間で変化するように、触媒の酸素吸蔵量を制御できるから、装着されている触媒が劣化触媒である場合と非劣化触媒である場合とで触媒下流空燃比センサの出力を大きく異ならしめることができる。従って、触媒が劣化したことを精度良く判定することができる。また、装着されている触媒が非劣化触媒である場合、酸素吸蔵量が0又は最大酸素吸蔵量に到達しないようにできるので、エミッションの悪化を回避することもできる。
また、酸素収支量に基づいて触媒の最大酸素吸蔵量を求めるとともに、その最大酸素吸蔵量に基づいて触媒が劣化しているか否かを判定する装置においても、最大酸素吸蔵量が精度良く求められることから、触媒が劣化しているか否かを精度良く判定することができる。
この場合、前記空燃比アクティブ制御手段は、
前記空燃比アクティブ制御実行中において前記算出された酸素収支の変化量に基づいて同触媒の酸素収支量を算出し、同酸素収支量が、前記触媒が劣化していると判定すべき触媒である場合に示す前記触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている酸素収支閾値に到達したとき及び0となったとき、同機関に供給される混合気の空燃比を前記設定リーン空燃比から前記設定リッチ空燃比に及びその逆へそれぞれ切り換えるように構成されることが好適である。
前記空燃比アクティブ制御実行中において前記算出された酸素収支の変化量に基づいて同触媒の酸素収支量を算出し、同酸素収支量が、前記触媒が劣化していると判定すべき触媒である場合に示す前記触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている酸素収支閾値に到達したとき及び0となったとき、同機関に供給される混合気の空燃比を前記設定リーン空燃比から前記設定リッチ空燃比に及びその逆へそれぞれ切り換えるように構成されることが好適である。
これによれば、前記酸素収支の変化量に基づいて触媒の酸素収支量が求められる。前記酸素収支の変化量は空燃比アクティブ制御の直前に取得された学習値に基づいて求められているから正確な値に近い。従って、酸素収支量も正確な値に近い。そして、その酸素収支量が酸素収支閾値に到達したとき、機関に供給される混合気の空燃比が設定リーン空燃比から設定リッチ空燃比に切換えられる。また、その酸素収支量が0に到達したとき、機関に供給される混合気の空燃比が設定リッチ空燃比から設定リーン空燃比に切換えられる。更に、酸素収支閾値は、前記触媒が劣化していると判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている。
従って、触媒が劣化していてその最大酸素吸蔵量が小さくなっている場合には、同触媒の酸素が完全に消費(放出)されて同触媒の下流に理論空燃比よりもリッチな空燃比のガス(HC,COなどの未燃成分を過剰に含むガス)が流出する状態、及び、同触媒の酸素吸蔵量が最大酸素吸蔵量となって同触媒の下流に理論空燃比よりもリーンな空燃比のガス(酸素を過剰に含むガス)が流出する状態となるように、機関に供給される混合気の空燃比を制御することができる。この結果、触媒下流の空燃比センサ出力は大きく変動することになる。
これに対し、触媒が劣化しておらずその最大酸素吸蔵量が大きい場合には、同触媒の酸素吸蔵量が0と最大酸素吸蔵量との間で変化するように機関に供給される混合気の空燃比を制御することができる。この場合、触媒の酸素吸蔵量は0にもならず、最大酸素吸蔵量にもならないから、触媒下流の空燃比センサ出力の変動は小さくなり、しかも、触媒は未燃成分及びNOxを十分に浄化することができる。従って、エミッションを極力悪化させることなく、触媒劣化判定を精度よく行うことができる。
このような制御は、触媒の酸素吸蔵量が略0又は略最大酸素吸蔵量付近にあるときに、空燃比アクティブ制御を開始することにより容易に達成することができる。
触媒の酸素吸蔵量が略0付近にあるときは、設定リーン空燃比から空燃比アクティブ制御を開始する。触媒の酸素吸蔵量が略0付近にあるか否かは、下流側空燃比センサの出力が理論空燃比よりリーンな空燃比を示している状態から、理論空燃比よりもリッチな空燃比を示している状態に変化したか否かから判断できる。また、触媒の酸素吸蔵量が略0付近にあるか否かは、下流側空燃比センサの出力が理論空燃比よりもリッチな空燃比を示している状態において、十分な量のリッチな空燃比のガス(劣化触媒の示す最大酸素吸蔵量の最大値以上の量の酸素を消費するに十分な量のリッチな空燃比のガス)が触媒に付与されたか否かからも判断できる。
一方、触媒の酸素吸蔵量が略最大酸素吸蔵量付近にあるときは、設定リッチ空燃比から空燃比アクティブ制御を開始する。触媒の酸素吸蔵量が略最大酸素吸蔵量付近にあるか否かは、下流側空燃比センサの出力が理論空燃比よりリッチな空燃比を示している状態から、理論空燃比よりもリーンな空燃比を示している状態に変化したか否かから判断できる。また、触媒の酸素吸蔵量が略最大酸素吸蔵量付近にあるか否かは、下流側空燃比センサの出力が理論空燃比よりもリーンな空燃比を示している状態において、十分な量のリーンな空燃比のガス(劣化触媒の示す最大酸素吸蔵量の最大値以上の量の酸素を供給するに十分な量のリーンな空燃比のガス)が触媒に付与されたか否かからも判断できる。
このように、上記構成によれば、触媒が劣化触媒である場合、その酸素吸蔵量は0から最大酸素吸蔵量の範囲で変化し、触媒が非劣化触媒である場合、その酸素吸蔵量は0及び最大酸素吸蔵量の何れにも到達することがないように(或いは、何れか一方のみに丁度到達するように)、空燃比アクティブ制御を実行することができる。従って、触媒が劣化触媒であるとき、下流側空燃比センサの出力波形が、触媒が非劣化触媒であるときよりも大きく変化するから、触媒が劣化していることを確実に判定することができる。また、触媒が非劣化触媒である場合、HC、CO或いはNOxの排出量を低減することができる。
更に、前記空燃比アクティブ制御手段は、
前記機関に供給される混合気の空燃比を前記設定リーン空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリッチな空燃比を示す値から理論空燃比よりもリーンな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リッチ空燃比に切り換え、
前記機関に供給される混合気の空燃比を前記設定リッチ空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリーンな空燃比を示す値から理論空燃比よりもリッチな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リーン空燃比に切り換えるように構成されることが好適である。
前記機関に供給される混合気の空燃比を前記設定リーン空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリッチな空燃比を示す値から理論空燃比よりもリーンな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リッチ空燃比に切り換え、
前記機関に供給される混合気の空燃比を前記設定リッチ空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリーンな空燃比を示す値から理論空燃比よりもリッチな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リーン空燃比に切り換えるように構成されることが好適である。
これによれば、触媒の酸素吸蔵量が0又は最大酸素吸蔵量に到達し、同触媒からHC、COやNOxが多量に排出される状態になったとき、直ちに空燃比が切換えられるので、これらの排出量を低減することができる。
ところで、空燃比アクティブ制御の実行中において、例えば、吸気通路の燃料付着量が急激に変化するなどの状況が発生すると、空燃比アクティブ制御の直前に算出した学習値を使用して実際の燃料量(実燃料量)を算出したとしても、その学習値が適値ではなくなるから、同実燃料量と真の燃料量との差が大きくなる。従って、この場合、酸素収支の変化量が不正確となって、空燃比アクティブ制御中に十分な大きさの酸素収支を触媒に与えられない場合が発生するので、下流側空燃比センサ出力に基づいて求められる触媒劣化指標値が触媒劣化の程度を十分に表さなくなる恐れがある。
即ち、空燃比アクティブ制御中において、触媒が劣化触媒である場合でも、その酸素吸蔵量が0には到達しても最大酸素吸蔵量に到達せず、或いは、最大酸素吸蔵量には到達しても0には到達しない場合が発生する。それ故、そのときの触媒劣化指標値は、非劣化触媒が装着されている場合の触媒劣化指標値に近い値となる。従って、劣化触媒を非劣化触媒として誤判定する場合がある。また、触媒劣化指標値として最大酸素吸蔵量を使用する場合であっても、その最大酸素吸蔵量の算出精度が悪化するから、触媒劣化判定を正確に行えない恐れがある。
そこで、前記触媒劣化判定手段は、前記空燃比アクティブ制御終了直後であって前記触媒劣化の判定を行う直前に、前記学習値算出手段に前記学習値の算出を再度行わせ、同空燃比アクティブ制御直前に算出した学習値と同空燃比アクティブ制御直後に算出した学習値との偏差に基づいて(前記空燃比アクティブ制御期間中の)中心空燃比の変化に応じた値を算出し、同中心空燃比の変化に応じた値が所定の中心空燃比閾値より大きいとき、前記触媒劣化指標値に基づく触媒劣化判定を行わないように構成されることが好適である。
これによれば、空燃比アクティブ制御中における中心空燃比の変化が大きいことにより空燃比アクティブ制御直前に取得した学習値が正確でなくなり、従って、算出された酸素収支の変化量が正確でないために、下流側空燃比センサ出力に基づいて求められる触媒劣化指標値(酸素収支の変化量に基づいて得られる最大酸素吸蔵量を含む。)が触媒劣化の程度を十分に表さなくなっている場合、触媒劣化判定を行わない。従って、触媒劣化判定を誤ることなく行うことが可能となる。
また、前記所定の中心空燃比変化閾値は、前記酸素収支閾値が大きくなるほど大きくなるように設定されていることが好適である。
酸素収支閾値が大きい値に設定されているときには、中心空燃比が多少変化したとしても、劣化触媒の酸素吸蔵量を0と最大酸素吸蔵量とに到達させ得る可能性が増大する。従って、触媒が劣化触媒である場合と非劣化触媒である場合とで下流側空燃比センサの出力に差が現れる。それ故、前記所定の中心空燃比変化閾値を、前記酸素収支閾値が大きくなるほど大きくなるように設定しても、劣化触媒を非劣化触媒であると誤判定することはない。また、前記中心空燃比変化閾値をそのように設定することにより、前記触媒劣化指標値を使用した触媒劣化判定の実行機会を増大することができる。
更に、前記学習値算出手段は、
前記空燃比アクティブ制御の直前に行う前記学習値の算出に対する学習条件よりも前記空燃比アクティブ制御の直後に行う前記学習値の算出に対する学習条件を緩和させるように構成されることが好ましい。
前記空燃比アクティブ制御の直前に行う前記学習値の算出に対する学習条件よりも前記空燃比アクティブ制御の直後に行う前記学習値の算出に対する学習条件を緩和させるように構成されることが好ましい。
空燃比アクティブ制御の直後に学習値が得られなければ、中心空燃比の変化に応じた値を得ることができない。一方、酸素収支の変化量は、空燃比アクティブ制御の直前に得られた学習値に基づいて算出されるから、空燃比アクティブ制御の直後に得られる学習値には、空燃比アクティブ制御の直前に得られる学習値ほど精度が要求されない。従って、上記のように構成すれば、中心空燃比の変化に応じた値を得て、触媒劣化判定を行うべきか否かを判断する機会が増大し、その結果、触媒劣化判定を行い得る機会が増大する。
一方、
前記学習値算出手段は、
前記所定の学習条件とは異なる別の学習条件が満たされたとき前記フィードバック量の平均値に対応する値を算出するとともに、同平均値に対応する値が正の所定値より大きい場合に増大され且つ同平均値に対応する値が負の所定値より小さい場合に減少されるように第1学習値を算出し、前記所定の学習条件が満たされたとき前記フィードバック量の平均値に対応する他の値を第2の学習値として算出し、
前記最終燃料噴射時間決定手段は、
前記フィードフォワード燃料噴射量を少なくとも前記第1学習値により補正するとともに、同補正されたフィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定し、
前記酸素収支変化量算出手段は、
前記最終燃料噴射時間と前記第1学習値及び前記第2学習値とに基づいて前記実燃料量を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出し、
前記空燃比アクティブ制御手段は、
前記所定の触媒劣化指標値取得条件が満たされたとき、前記学習値算出手段に前記第2学習値の算出を行わせ、同第2学習値の算出直後に前記空燃比アクティブ制御を実行するように構成されることが好適である。
前記学習値算出手段は、
前記所定の学習条件とは異なる別の学習条件が満たされたとき前記フィードバック量の平均値に対応する値を算出するとともに、同平均値に対応する値が正の所定値より大きい場合に増大され且つ同平均値に対応する値が負の所定値より小さい場合に減少されるように第1学習値を算出し、前記所定の学習条件が満たされたとき前記フィードバック量の平均値に対応する他の値を第2の学習値として算出し、
前記最終燃料噴射時間決定手段は、
前記フィードフォワード燃料噴射量を少なくとも前記第1学習値により補正するとともに、同補正されたフィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定し、
前記酸素収支変化量算出手段は、
前記最終燃料噴射時間と前記第1学習値及び前記第2学習値とに基づいて前記実燃料量を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出し、
前記空燃比アクティブ制御手段は、
前記所定の触媒劣化指標値取得条件が満たされたとき、前記学習値算出手段に前記第2学習値の算出を行わせ、同第2学習値の算出直後に前記空燃比アクティブ制御を実行するように構成されることが好適である。
なお、前記最終燃料噴射時間決定手段は、前記フィードフォワード燃料噴射量を前記第1学習値のみでなく前記第2学習値によっても補正し、同補正されたフィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定してもよい。
このように、学習値を第1学習値と第2学習値とに分け、且つ、それぞれの学習条件を適切に設定すれば、さほど精度を必要としないが高頻度に更新され得る第1学習値により、通常は、機関に供給される混合気の空燃比を制御し、頻繁には更新され難いが実燃料量(従って、酸素収支の変化量)を正確に求めるために高精度を必要とする第2学習値を空燃比アクティブ制御直前に学習させることで、触媒劣化判定の精度を高めることができる。
更に、第1学習値と第2学習値を学習する上記装置において、
前記触媒劣化判定手段は、
前記空燃比アクティブ制御終了直後であって前記触媒劣化の判定を行う直前に、前記学習値算出手段に前記第2学習値の算出を再度行わせ、同空燃比アクティブ制御直前に算出した第2学習値と同空燃比アクティブ制御直後に算出した第2学習値との偏差に基づいて前記中心空燃比の変化に応じた値を算出するように構成されることが好適である。
前記触媒劣化判定手段は、
前記空燃比アクティブ制御終了直後であって前記触媒劣化の判定を行う直前に、前記学習値算出手段に前記第2学習値の算出を再度行わせ、同空燃比アクティブ制御直前に算出した第2学習値と同空燃比アクティブ制御直後に算出した第2学習値との偏差に基づいて前記中心空燃比の変化に応じた値を算出するように構成されることが好適である。
これによれば、中心空燃比の変化に応じた値を精度良く求めることができる。
前記触媒劣化指標値は、前記下流側空燃比センサの出力の波形に応じた値であってもよい。この場合、前記触媒劣化指標値は、例えば、前記下流側空燃比センサの出力の軌跡長であってもよく、下流側空燃比センサ出力が所定の値を横切る頻度(周波数)や、下流側空燃比センサ出力と所定値とにより囲まれる部分の面積などであってもよい。
また、前記触媒劣化指標値は、前記算出された触媒の酸素収支の変化量に基づいて算出される触媒の最大酸素吸蔵量であってもよい。
以下、本発明による内燃機関の触媒劣化判定装置を含む燃料噴射量制御装置(空燃比制御装置)の実施形態について図面を参照しつつ説明する。この装置は、内燃機関に供給される混合気の空燃比を制御する空燃比制御装置でもある。
図1は、本発明の一実施形態に係る空燃比制御装置を4サイクル火花点火式多気筒内燃機関10に適用したシステムの概略構成を示している。なお、図1は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50とを含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
インジェクタ39は、図示しない燃料配管を介して図示しない燃料ポンプに接続されている。燃料ポンプは、図示しない燃料タンクから燃料を吸引して燃料配管に吐出するようになっている。燃料配管には図示しないプレッシャレギュレータが介装されている。プレッシャレギュレータは、吸気管内の圧力とインジェクタ39の液体通路間の差圧を一定に維持するようになっている。これにより、インジェクタ39が駆動されたとき(噴射弁が開弁されたとき)、インジェクタ39から略一定の流量の燃料が噴射されるようになっている。
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットルバルブ43及びスワールコントロールバルブ(以下、「SCV」と称呼する。)44を備えている。
スロットルバルブ43は、DCモータからなるスロットルバルブアクチュエータ43aにより吸気管41内で回転駆動されるようになっている。SCV44は、DCモータからなるSCVアクチュエータ44aにより回転駆動されるようになっている。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ52、エキゾーストパイプ52に配設された上流側触媒53、上流側触媒53よりも下流のエキゾーストパイプ52に配設された下流側触媒54を備えている。排気ポート34、エキゾーストマニホールド51及びエキゾーストパイプ52は、排気通路を構成している。
上流側触媒53及び下流側触媒54のそれぞれは、所謂、白金等の貴金属からなる活性成分を担持する三元触媒装置である。各触媒は、触媒に流入するガスがほぼ理論空燃比であるとき、HC,COなどの未燃成分を酸化するとともに、窒素酸化物(NOx)を還元する機能を有する。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア(CeO2)によってもたらされる。
一方、このシステムは、熱線式エアフローメータ61、吸気温センサ62、スロットルポジションセンサ63、カムポジションセンサ64、クランクポジションセンサ65、水温センサ66、上流側空燃比センサ67、下流側空燃比センサ(酸素濃度センサ)68、及びアクセル開度センサ69を備えている。
エアフローメータ61は、吸気管41内を流れる吸入空気の質量流量Gaに応じた信号を出力するようになっている。吸気温センサ62は、吸入空気の温度を検出し、吸気温度THAを表す信号を出力するようになっている。スロットルポジションセンサ63は、スロットルバルブ43の開度(スロットルバルブ開度)を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。
カムポジションセンサ64は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ65は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ66は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
上流側空燃比センサ67は、排気通路であって上流側触媒53よりも上流側に配設されている。上流側空燃比センサ67は、所謂「限界電流式酸素濃度センサ」であって、上流側触媒53に流入する排ガス中の空燃比を検出し、図2に示したように、検出した空燃比に応じた信号Vabyfsを出力するようになっている。
下流側空燃比センサ68は、排気通路であって上流側触媒53よりも下流側であり下流側触媒54よりも上流側に配設されている。下流側空燃比センサ68は、固体電解質型センサ(安定化ジルコニアを用いた周知の濃淡電池型の酸素濃度センサ)であり、ジルコニアの両側に白金からなる検出電極と白金からなる基準電極とを備えている。検出電極は多孔質のセラミックにより覆われている。基準電極は大気に曝され、多孔質セラミックにより覆われた検出電極は上流側触媒53から流出したガス(上流側触媒53と下流側触媒54との間の排気通路内のガス)に曝されている。
下流側空燃比センサ68は、検出電極と基準電極の間の酸素濃度(酸素分圧)の差に基づいて変化する出力特性を示す。即ち、下流側空燃比センサ68は、図3に示したように、検出対象のガスの空燃比が理論空燃比よりもリッチ及びリーンのとき最大出力値max及び最小出力値minをそれぞれ出力するようになっている。
アクセル開度センサ69は、運転者によって操作されるアクセルペダル70の操作量Accpを表す信号を出力するようになっている。
電気制御装置80は、互いにバスで接続されたCPU81、CPU81が実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM82、CPU81が必要に応じてデータを一時的に格納するRAM83、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM84並びにADコンバータを含むインターフェース85等からなるマイクロコンピュータである。
インターフェース85は、前記センサ61〜69と接続され、CPU81にセンサ61〜69からの信号を供給するとともに、CPU81の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットルバルブアクチュエータ43a及びSCVアクチュエータ44aに駆動信号を送出するようになっている。
<触媒劣化判定方法の概要>
次に、上記のように構成された触媒劣化判定装置を含む燃料噴射量制御装置による触媒劣化判定方法について、関連する制御とともに説明する。以下の機能は、電気制御装置80により達成される。
次に、上記のように構成された触媒劣化判定装置を含む燃料噴射量制御装置による触媒劣化判定方法について、関連する制御とともに説明する。以下の機能は、電気制御装置80により達成される。
<燃料噴射量制御>
電気制御装置80は、下記(10)式に基づいて最終燃料噴射時間taufinalを決定する。最終燃料噴射時間taufinalは、吸気行程を迎えた気筒の一回の吸気行程に対する実際の燃料噴射時間である。この時間だけ、前記気筒に対して備えられたインジェクタ39が開弁される。
taufinal=(1+efafgx)・tfbse・khosei・kactive+tdfi …(10)
電気制御装置80は、下記(10)式に基づいて最終燃料噴射時間taufinalを決定する。最終燃料噴射時間taufinalは、吸気行程を迎えた気筒の一回の吸気行程に対する実際の燃料噴射時間である。この時間だけ、前記気筒に対して備えられたインジェクタ39が開弁される。
taufinal=(1+efafgx)・tfbse・khosei・kactive+tdfi …(10)
(10)式において、
tfbseは、吸気行程を迎えた気筒の一回の吸気行程において吸入される混合気の空燃比を理論空燃比とするための基本燃料噴射時間である。本例において、tfbseは、前記気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。吸入空気量Gnは、エアフローメータ61により計測された吸入空気流量Gaをエンジン回転数NEにより除した値に基づいて求められる。なお、吸入空気の挙動を物理モデルにより表した空気モデルにより直接的に吸入空気量Gnを求めても良い。
tfbseは、吸気行程を迎えた気筒の一回の吸気行程において吸入される混合気の空燃比を理論空燃比とするための基本燃料噴射時間である。本例において、tfbseは、前記気筒の一回の吸気行程において吸入された吸入空気量Gnに基づいて求められる。吸入空気量Gnは、エアフローメータ61により計測された吸入空気流量Gaをエンジン回転数NEにより除した値に基づいて求められる。なお、吸入空気の挙動を物理モデルにより表した空気モデルにより直接的に吸入空気量Gnを求めても良い。
khoseiは、機関の暖機時において機関に供給される混合気の空燃比をリッチ空燃比に設定したり、アイドル運転中にエンジン回転速度の変動を抑制するように空燃比を調整するための係数である。以下、説明を簡単にするため、khoseiの値は1.0に設定されているものとする。
kactiveは、空燃比アクティブ制御を行うための増量又は減量係数である。空燃比アクティブ制御は、後に詳述するように、機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比である設定リッチ空燃比と同理論空燃比よりもリーン側の空燃比である設定リーン空燃比とに交互に変更する制御である。kactiveは、機関に供給される混合気の空燃比を設定リッチ空燃比とするとき1.0より大きい値に設定され、同空燃比を設定リーン空燃比とするとき1.0より小さい値に設定される。
tdfiは、機関に供給される混合気の空燃比を目標空燃比に一致させるためのフィードバック量(時間)である。フィードバック量tdfiは、後に詳述するように、少なくとも上流側空燃比センサ67の出力に基づいて求められる。
efafgxは、フィードバック量tdfiの絶対値を小さくするように算出される学習値である。efafgxは第1学習値と呼ばれる。第1学習値efafgxは、例えば、インジェクタ39の製造上のバラツキに起因する噴射性能の個体差や経時変化に起因する噴射性能の変化及び燃料付着量の変化等による空燃比のズレを補償することにより、狙いの空燃比を達成するための値である。
第1学習値efafgxは、フィードバック量tdfiの絶対値を小さくするように(フィードフォワード量tdfiが0を含む第1の幅(−A1〜A1)に収束するように算出される。換言すると、第1学習値efafgは、フィードバック量tdfiによる燃料噴射時間(tfbse・khosei・kactive)の補正分を小さくするように算出される。即ち、第1学習値efafgは、フィードバック量tdfiの平均値に対応する値(FAFSM(i))を算出するとともに、同平均値に対応する値(FAFSM(i))が正の所定値A1より大きい場合にΔgxだけ増大され、且つ、同平均値に対応する値(FAFSM(i))が負の所定値−A1より小さい場合にΔgxだけ減少されることにより算出される。以上から明らかなように、第1学習値efafgxは、第1の幅(−A1〜A1)である不感帯を有する。第1学習値efafgxの学習方法(取得方法)は後に詳述する。
また、第1学習値efafgは、空燃比フィードバック制御が停止されることにより、フィードバック量tdfiが「0」と等しくなったときであっても、狙いとする空燃比が実質的に達成されるように求められる値と言うこともできる。第1学習値efafgxは、機関10の運転領域毎(例えば、吸入空気量Gnについての領域毎)に個別に求められ、且つ、機関10の運転領域に応じて記憶される。第1学習値efafgxは、機関10の運転領域に対応されながら記憶された値がメモリ(バックアップメモリ)から読み出され、その読み出された値が上記(10)式に従って最終燃料噴射時間taufinalに反映される。
ここで、最終燃料噴射時間taufinalの補正には用いられないが、実際の燃料量(実燃料量)を求めるために使用される第2学習値efafgについて簡単に説明する。第2学習値efafgは、第1学習値efafgxの学習条件(第1学習条件)とは異なる学習条件(第2学習条件)であって、第1学習値efafgxの学習条件よりも厳しい学習条件が成立したときに更新される。換言すると、第1学習値efafgxは、第2学習値efafgを更新するための学習条件よりも緩和された学習条件が成立したときに更新される。
第2学習値efafgの不感帯は、第1学習値efafgxの不感帯よりも小さく、本例においては「0」である。換言すると、第2学習値efafgは、前記第2学習条件が満たされたとき、前記フィードバック量tdfiの平均値に対応する他の値(即ち、フィードバック量tdfiを比率に換算して得られるフィードバック補正係数FAFのピーク値FAFPKの平均値FAFAVEのピーク値FAFAVEPKの平均値SFAFAVEPK/Cfafgth)と等しい。第2学習値efafgは、機関10の運転領域にかかわらず使用される。第2学習値efafgxの学習方法(取得方法)は後に詳述する。
つまり、電気制御装置80は、所定の学習条件(第1学習条件)が満たされたとき、前記フィードバック量tdfiによる前記フィードフォワード燃料噴射量の補正分が前記第2の幅を含む第1の幅内(後述するFAFに換算して−A1〜A1)となるように第1学習値efafgxを算出・記憶する。また、電気制御装置80は、第1学習条件とは異なる別の学習条件(第1学習条件よりも厳しい第2学習条件)が満たされたとき、前記フィードバック量tdfiの平均値に対応する他の値そのものを第2学習値efafgとして算出・記憶する。
ところで、この燃料噴射量制御装置は、燃料噴射時間がtauであるときにtau・KINJCだけの質量の燃料が機関10に供給されるように設計されている。KINJCは、インジェクタの開弁時間を質量に変換する係数である。そして、そのように設計された燃料噴射量制御装置において、インジェクタ39の特性や吸気通路の燃料付着量等が変化した場合等であっても、第1学習値efafgxが正確に得られていれば、燃料噴射時間を(1+efafg)・tauとすることにより設計上期待したKINJC・tauに極めて近い質量の燃料が実際に機関10に供給される。また、第1学習値efafgx及び第2学習値efafgが正確に得られていれば、燃料噴射時間がtaufinalであるとき、KINJC・taufinal/(1+efafgx+efafg)なる値は、実際に機関に供給された真の燃料量と極めて近い値となる。なお、(10)式に代えて、下記(10a)式のように、第1学習値efafgx及び第2学習値efafgの両方によりフィードフォワード燃料噴射量を補正して、最終燃料噴射時間taufinalを求めてもよい。
taufinal=(1+efafgx+efafg)・tfbse・khosei・kactive+tdfi …(10a)
taufinal=(1+efafgx+efafg)・tfbse・khosei・kactive+tdfi …(10a)
<空燃比フィードバック制御(メインフィードバック制御)>
次に、フィードバック量tdfiを求める空燃比フィードバック制御の概要について説明する。フィードバック量tdfiは、上流側空燃比センサ67の出力Vabyfsと後述するサブフィードバック量Vafsfbとの和(Vabyfs+Vafsfb)により示される見かけの空燃比abyfs(以下、「上流側制御用空燃比abyfs」と称呼する。)が目標空燃比(目標値)abyfrと一致するように求められる。フィードバック量tdfiは、後述する空燃比フィードバック制御実行条件が成立したときに算出される。
次に、フィードバック量tdfiを求める空燃比フィードバック制御の概要について説明する。フィードバック量tdfiは、上流側空燃比センサ67の出力Vabyfsと後述するサブフィードバック量Vafsfbとの和(Vabyfs+Vafsfb)により示される見かけの空燃比abyfs(以下、「上流側制御用空燃比abyfs」と称呼する。)が目標空燃比(目標値)abyfrと一致するように求められる。フィードバック量tdfiは、後述する空燃比フィードバック制御実行条件が成立したときに算出される。
より具体的に述べると、電気制御装置80は、下記(11)式に示したように、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量Gn(k−N)を上流側制御用空燃比abyfsで除することにより、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求める。値Nは、内燃機関の排気量及び燃焼室25から上流側空燃比センサ67までの距離等により異なる値である。
Fc(k−N)=Gn(k−N)/abyfs …(11)
Fc(k−N)=Gn(k−N)/abyfs …(11)
次いで、電気制御装置80は、下記(12)式に示したように、現時点からNストローク前の吸入空気量Gn(k−N)を現時点からNストローク前の時点における目標空燃比abyfr(k−N)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
Fcr(k−N)=Gn(k−N)/abyfr (k−N) …(12)
Fcr(k−N)=Gn(k−N)/abyfr (k−N) …(12)
そして、電気制御装置80は、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分(Dfc=Fcr(k−N)−Fc(k−N))を表す量となる。その後、電気制御装置80は、下記(13)式に基いてフィードバック量tdfiを求める。
tdfi=(Gp・DFc+Gi・SDFc)・KFB/KINJC …(13)
tdfi=(Gp・DFc+Gi・SDFc)・KFB/KINJC …(13)
上記(13)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、(13)式の係数KFBはエンジン回転速度NE及び吸入空気量Gn等により可変とすることが好適であるが、ここでは「1」としている。また、値SDFcは筒内燃料供給量偏差DFcの積分値(積算値)である。以上のように、フィードバック量tdfiが比例積分制御により求められる。
<サブフィードバック制御>
次に、下流側空燃比センサ68の出力Voxsに基く空燃比フィードバック制御について説明する。かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、上述したサブフィードバック量Vafsfbが算出される。サブフィードバック制御は、上流側触媒53から流出するガスの空燃比が理論空燃比となるようにするための制御である。
次に、下流側空燃比センサ68の出力Voxsに基く空燃比フィードバック制御について説明する。かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、上述したサブフィードバック量Vafsfbが算出される。サブフィードバック制御は、上流側触媒53から流出するガスの空燃比が理論空燃比となるようにするための制御である。
より具体的に述べると、電気制御装置80は、目標値(閾値)Voxsrefから現時点の下流側空燃比センサ68の出力Voxsを減じることにより出力偏差量DVoxs(=Voxsref−Voxs)を求め、下記(14)式に基いてサブフィードバック量Vafsfbを求める。目標値Voxsrefは、上流側触媒53から流出するガスの空燃比が理論空燃比であるときに、下流側空燃比センサ68が出力するであろう値に選択されている。
Vafsfb=Kp・DVoxs+Ki・SDVoxs …(14)
Vafsfb=Kp・DVoxs+Ki・SDVoxs …(14)
上記(14)式において、Kpは予め設定された比例ゲイン、Kiは予め設定された積分ゲインである。また、SDVoxsは、出力偏差量DVoxsの積分値(積算値)である。このようにして、サブフィードバック量Vafsfbが求められ、この値は前述したように上流側空燃比センサ67の実際の出力に加えられ、その和(Vabyfs + Vafsfb)が図2に示したマップに基いて前記上流側制御用空燃比abyfsに変換される。換言すると、上流側制御用空燃比abyfsは、上流側空燃比センサ67が実際に検出している空燃比に対して、下流側空燃比センサ68の出力Voxsに基づいて求められるサブフィードバック量Vafsfbに相当する分だけ異なる空燃比として求められる。
この結果、筒内燃料供給量Fc(k−N)が上流側空燃比センサ67の出力Vabyfsのみならず、下流側空燃比センサ68の出力Voxsに応じて変化するので、フィードバック量tdfiが同下流側空燃比センサ68の出力Voxsに応じて変更せしめられる。これにより、上流側触媒53の下流側の空燃比が理論空燃比に一致するように、機関の空燃比が制御せしめられる。
<第1学習制御(第1学習値の算出)>
次に、第1学習値efafgxを求める学習制御の概要について説明する。第1学習値efafgxは、空燃比フィードバック制御実行条件が成立したときなどの学習条件(第1学習条件)が成立したときに求められる。
次に、第1学習値efafgxを求める学習制御の概要について説明する。第1学習値efafgxは、空燃比フィードバック制御実行条件が成立したときなどの学習条件(第1学習条件)が成立したときに求められる。
先ず、学習値の基礎データとなる空燃比フィードバック係数FAFが下記(15)式に基づいて算出される。この計算は、フィードバック量tdfiが更新される毎に実行される。(15)式により、加減算項であるフィードバック量tdfiが、噴射時間tfbse・khosei・kactiveに対する補正率として変換される。ただし、係数kactiveは後述する空燃比アクティブ制御以外の通常時において「1」である。
FAF=tdfi/(tfbse・khosei・kactive) …(15)
FAF=tdfi/(tfbse・khosei・kactive) …(15)
次いで、空燃比フィードバック係数FAFが得られる毎に、下記(16)式に基づいて空燃比フィードバック係数FAFのなまし値FAFSMを計算する。(16)式において、(i)が付された変数は今回の演算により得られたなまし値FAFSMを示し、(i-1)が付された変数は所定時間前の演算(前回の演算)により得られたなまし値FAFSMを示している。係数γは、0から1までの所定値である。
FAFSM(i)=γ・FAF +(1−γ)・FAFSM(i-1)
… (16)
FAFSM(i)=γ・FAF +(1−γ)・FAFSM(i-1)
… (16)
なまし値FAFSMは、機関10の運転領域毎に計算され、各運転領域に対応して記憶されていく。本例において、運転領域は吸入空気量Gnの大きさにより区分されている。例えば、第1領域はGnが第1閾値以下の領域、第2領域はGnが第1閾値から第1閾値より大きい第2閾値までの領域、第3領域はGnが第2閾値から第2閾値より大きい第3閾値までの領域、第4領域はGnが第3閾値以上の領域である。
そして、電気制御装置80は、任意の運転領域においてなまし値FAFSMが所定回数nshoだけ更新されたとき、その時点のFAFSM(i)を用いて第1学習値efafgxを更新する。具体的に述べると、電気制御装置80は、なまし値FAFSM(i)が閾値A1(>0)より大きいとき、その運転領域に対応する第1学習値efafgxの値を固定値Δgxだけ増大する。また、電気制御装置80は、なまし値FAFSM(i)が閾値−A1より小さいとき、その運転領域に対応する第1学習値efafgxの値を固定値Δgxだけ減少する。
このようにして、各運転領域毎の第1学習値efafgxが更新される。以上から明らかなように、第1学習値efafgxは、なまし値FAFSM(i)が−A1以上であってA1以下のとき更新されない。即ち、第1学習値efafgxは不感帯を有する学習値である。これに対し、第2学習値efafgは不感帯を備えていない。
<第2学習制御(第2学習値の算出)>
次に、第2学習値efafgを求める第2学習制御の概要について説明する。第2学習値efafgは、フィードバック量tdfiが安定しているとき(第2学習条件が満たされたとき)、フィードバック量tdfiに基づいて以下のようにして求められる。フィードバック量tdfiが安定しているときとは、空燃比フィードバック係数FAFが後述する安定条件を満足しているときのことである。第2学習条件は第1学習条件よりも厳しい。従って、第2学習条件が成立する頻度は第1学習条件が成立する頻度よりも小さい。
次に、第2学習値efafgを求める第2学習制御の概要について説明する。第2学習値efafgは、フィードバック量tdfiが安定しているとき(第2学習条件が満たされたとき)、フィードバック量tdfiに基づいて以下のようにして求められる。フィードバック量tdfiが安定しているときとは、空燃比フィードバック係数FAFが後述する安定条件を満足しているときのことである。第2学習条件は第1学習条件よりも厳しい。従って、第2学習条件が成立する頻度は第1学習条件が成立する頻度よりも小さい。
なお、電気制御装置80は、第2学習制御中においてサブフィードバック制御を停止する。また、車両が、燃料タンク等の燃料系から発生するエバポエミッションを図示しないキャニスタに吸着し、そのキャニスタに吸着したエバポエミッションを所定の運転条件成立時に各気筒に吸入させて燃焼させる燃料蒸発ガス排出抑止装置を備えている場合、電気制御装置80は、第2学習制御中において、そのようなエバポエミッションの各気筒への導入も停止する。
先ず、電気制御装置80は、空燃比フィードバック係数FAFがピーク値(極大値又は極小値)となったとき、その時点の空燃比フィードバック係数FAFをFAFピーク値FAFPKとして取り込む。換言すると、空燃比フィードバック係数FAFが反転した時点(空燃比フィードバック係数FAFの傾きの符号が変化した時点)の空燃比フィードバック係数FAFをFAFピーク値FAFPKとして取り込む。
なお、FAFピーク値FAFPKを取り込んでから所定時間(カウンタがCsthに到達するのに必要な時間)が経過しても、次の空燃比フィードバック係数FAFのピーク値が得られない場合、電気制御装置80は、同所定時間経過時の空燃比フィードバック係数FAFをFAFピーク値FAFPKとして取り込む。
そして、電気制御装置80は、下記(17)式に示したように、今回のFAFピーク値FAFPKと前回のFAFピーク値FAFPKoldの平均値を空燃比フィードバック係数平均値FAFAVEとして採用する。
FAFAVE=(FAFPK + FAFPKold)/2 …(17)
FAFAVE=(FAFPK + FAFPKold)/2 …(17)
次に、電気制御装置80は、空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKを取り込む。空燃比フィードバック係数平均値のピーク値FAFAVEPKを取り込んでから所定時間(カウンタがCnohanに到達するのに必要な時間)が経過しても次の空燃比フィードバック係数平均値のピーク値FAFAVEPKが得られない場合(即ち、空燃比フィードバック係数平均値FAFAVEが反転せず、その傾きの符号が変化しない場合)、電気制御装置80は、同所定時間が経過した時点の空燃比フィードバック係数平均値FAFAVEを空燃比フィードバック係数平均値のピーク値FAFAVEPKとして取り込む。
次に、電気制御装置80は、空燃比フィードバック係数FAF(実際には、FAFAVEPK)が以下に述べる安定条件を満足する毎に、そのピーク値FAFAVEPKを下記(18)式に従って積算し、FAFAVEピーク値積算値SFAFAVEPKを求める。
SFAFAVEPK=SFAFAVEPK + FAFAVEPK …(18)
SFAFAVEPK=SFAFAVEPK + FAFAVEPK …(18)
その後、電気制御装置80は、空燃比フィードバック係数平均値のピーク値FAFAVEPKを所定個数Cfafgth個だけ積算したとき、下記(19)式に従って、空燃比フィードバック係数平均値のピーク値FAFAVEPKの平均値を第2学習値efafgとして取得する。
efafg=SFAFAVEPK/Cfafgth …(19)
efafg=SFAFAVEPK/Cfafgth …(19)
(空燃比フィードバック係数FAFの安定条件)
上述した、空燃比フィードバック係数FAF(空燃比フィードバック係数平均値のピーク値FAFAVEPK)の安定条件が満たされるとは、以下の二つの条件(条件1、条件2)が共に成立した状態が、所定回数Cfafstthだけ連続することである。
上述した、空燃比フィードバック係数FAF(空燃比フィードバック係数平均値のピーク値FAFAVEPK)の安定条件が満たされるとは、以下の二つの条件(条件1、条件2)が共に成立した状態が、所定回数Cfafstthだけ連続することである。
(条件1)今回得られた空燃比フィードバック係数平均値のピーク値FAFAVEPKと前回得られた空燃比フィードバック係数平均値のピーク値FAFAVEPKoldとの差(ピーク変化量)DLPK(=FAFAVEPK−FAFAVEPKold)の絶対値が第1安定化判定値DLPKth以下である。つまり、空燃比フィードバック係数平均値のピーク値FAFAVEPKが急激に変化していない。なお、第1安定化判定値DLPKthは、後述するように空燃比アクティブ制御の直前に行う学習に対しては小さく、空燃比アクティブ制御の直後に行う学習に対しては大きく設定される。これにより、空燃比アクティブ制御の直後に行う学習の学習条件(学習値を取り込むことができる条件)は、空燃比アクティブ制御直前に行う学習の学習条件よりも緩和され、第2学習値efafgを取得することができる可能性が増大することになる。ただし、第1安定化判定値DLPKthは、空燃比アクティブ制御の直前に行う学習及び空燃比アクティブ制御の直後に行う学習の何れに対しても同一の固定値であってよい。
(条件2)過去nth個のピーク変化量DLPKの符号が同一でない。つまり、空燃比フィードバック係数平均値のピーク値FAFAVEPKが緩やかに増大し続けていない。なお、この安定化条件を決定する値(第2安定化判定値)nthは、後述するように空燃比アクティブ制御の直前に行う学習に対しては大きく、空燃比アクティブ制御の直後に行う学習に対しては小さく設定される。これにより、空燃比アクティブ制御の直後に行う学習の学習条件(学習値を取り込むことができる条件)は、空燃比アクティブ制御直前に行う学習の学習条件よりも緩和され、第2学習値efafgを取得することができる可能性が増大することになる。
<触媒劣化指標値の取得と空燃比アクティブ制御>
次に、触媒劣化指標値の取得とそのための空燃比アクティブ制御の概要について説明する。触媒劣化指標値は、空燃比アクティブ制御実行中の所定期間における下流側空燃比センサ68の出力Voxsの波形に応じた値である。本例では、触媒劣化指標値は、下流側空燃比センサ68の出力Voxsの軌跡長Lengthである。
次に、触媒劣化指標値の取得とそのための空燃比アクティブ制御の概要について説明する。触媒劣化指標値は、空燃比アクティブ制御実行中の所定期間における下流側空燃比センサ68の出力Voxsの波形に応じた値である。本例では、触媒劣化指標値は、下流側空燃比センサ68の出力Voxsの軌跡長Lengthである。
なお、触媒劣化指標値は、例えば、下流側空燃比センサ68の出力Voxsが所定値(下流側空燃比センサ68の出力Voxsの最大値と最小値の中央の値、例えばVoxsrefなど)を横切る頻度(周波数)や、下流側空燃比センサ68の出力Voxsと同所定値とにより囲まれる部分の面積などであってもよい。
空燃比アクティブ制御は、触媒劣化指標値を取得するとともに、触媒が劣化しているか否かを判定すべき条件(触媒劣化指標値取得条件、即ち、触媒劣化判定実行条件)が満足されたとき、実行される。
触媒劣化判定実行条件は、例えば、以下の総ての条件が成立したときに成立する。
今回の車両運転開始から(イグニッション・キーがオフ状態からオン状態へと変更されてから)一度も触媒劣化判定が実行されていない。
上流側空燃比センサ67が正常であり、且つ、活性化している。
下流側空燃比センサ68が正常であり、且つ、活性化している。
冷却水温THWが所定水温より高い(上流側触媒53が活性化している。)
今回の車両運転開始から(イグニッション・キーがオフ状態からオン状態へと変更されてから)一度も触媒劣化判定が実行されていない。
上流側空燃比センサ67が正常であり、且つ、活性化している。
下流側空燃比センサ68が正常であり、且つ、活性化している。
冷却水温THWが所定水温より高い(上流側触媒53が活性化している。)
前述したように、空燃比アクティブ制御(触媒劣化指標値を取得するための空燃比制御)は、機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比である設定リッチ空燃比と同理論空燃比よりもリーン側の空燃比である設定リーン空燃比とに交互に変更する制御である。但し、本実施形態の電気制御装置80は、空燃比アクティブ制御の直前に前記第2学習制御を行う。換言すると、最新の第2学習値efafg(第2学習値efafgmae)が得られた直後にのみ空燃比アクティブ制御を行い、触媒劣化指標値を取得する。
また、本電気制御装置80は、触媒劣化指標値を取得した直後にも第2学習値efafgを取得し、空燃比アクティブ制御直前の学習値(直前第2学習値efafgmae)と同空燃比アクティブ制御直後の学習値(直後第2学習値efafgato)との偏差を求め、その学習値の偏差に基づいて空燃比アクティブ制御中の(触媒劣化指標値取得中の)機関の中心空燃比(機関に供給される混合気の空燃比の平均空燃比)の変化に応じた値Hyokaを算出する。
そして、電気制御装置80は、中心空燃比の変化に応じた値Hyokaが所定の閾値(中心空燃比変化閾値)Hyokathより大きいとき、前記触媒劣化指標値に基づく触媒劣化判定を行わず、得られた触媒劣化指標値をキャンセルする。これに対し、Hyokaが中心空燃比変化閾値Hyokathより小さい(以下)のとき、前記触媒劣化指標値に基づく触媒劣化判定を行う。以下、より具体的に説明する。
先ず、電気制御装置80は上述した触媒劣化判定条件が成立すると、上述した第2学習制御を行い、空燃比アクティブ制御直前の第2学習値efafgを空燃比アクティブ制御直前第2学習値efafgmaeとして取得する。そして、空燃比アクティブ制御直前第2学習値efafgmaeが得られると、直ちに、空燃比アクティブ制御を開始する。
空燃比アクティブ制御において、電気制御装置80は、サブフィードバック制御(及びエバポエミッションの導入)を第2学習制御中と同様に停止し、機関に供給される混合気の空燃比が前記設定リッチ空燃比となるように、目標空燃比abyfrを同設定リッチ空燃比に設定する。同時に、電気制御装置80は、空燃比アクティブ制御係数kactiveを「1」より大きい所定の値(理論空燃比stoich/目標空燃比abyfr)に設定する。
次いで、電気制御装置80は、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示した状態(Voxs<Voxsref)から理論空燃比よりリッチである空燃比を示した状態(Voxs≧Voxsref)へと変化したか否かをモニタする。そして、電気制御装置80は、そのような変化を検出すると、上流側触媒53に吸蔵されていた酸素が総て消費されたとみなして、上流側触媒53の酸素収支量Syushiを「0」に設定する。かかる状態が、図4に示した時点t0である。同時に、電気制御装置80は、目標空燃比abyfrを前記設定リーン空燃比に設定するとともに、空燃比アクティブ制御係数kactiveを「1」より小さい所定の値(理論空燃比stoich/目標空燃比abyfr)に設定する。
一方、空燃比アクティブ制御の開始時点(目標空燃比abyfrを最初に設定リッチ空燃比に設定した時点)において、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示した状態(Voxs≧Voxsref)にあると、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示した状態(Voxs<Voxsref)から理論空燃比よりリッチである空燃比を示した状態(Voxs≧Voxsref)へと変化せず、上記時点t0(即ち、設定リーン空燃比に変更する時点)が得られない。
そこで、電気制御装置80は、空燃比アクティブ制御の開始時点(目標空燃比abyfrを最初に設定リッチ空燃比に設定した時点)から、上流側触媒53に流入するガスにより上流側触媒53において放出(消費)されるであろう酸素量である酸素放出量Semitを算出する。酸素放出量Semitの算出方法は、後述する上流側触媒53における酸素収支量Syushiと同様である。従って、ここでは、酸素放出量Semitの算出方法の説明を省略する。
そして、電気制御装置80は、空燃比アクティブ制御開始時において目標空燃比abyfrを設定リッチ空燃比に設定したとき、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチな空燃比を示していた場合、酸素放出量Semitが所定の閾値Sth以上となった時点t0で上流側触媒53に吸蔵されていた酸素が十分な量だけ消費(放出)された(上流側触媒53に吸蔵されていた酸素が総て消費された)とみなし、目標空燃比abyfrを前記設定リーン空燃比に設定するとともに、空燃比アクティブ制御係数kactiveを「1」より小さい所定の値(理論空燃比stoich/目標空燃比abyfr)に設定する。同時に、電気制御装置80は、上流側触媒53の酸素収支量Syushiを「0」に設定する。
なお、閾値Sthは、酸素収支閾値、閾値酸素放出量、閾値酸素吸収量又は閾値酸素収支量とも呼ばれる値である。この閾値Sthは、上流側触媒53が劣化していると判定すべき触媒である場合に上流側触媒53が示す最大酸素吸蔵量の最大値より大きく、且つ、上流側触媒53が劣化していないと判定すべき触媒である場合に上流側触媒53が示す最大酸素吸蔵量の最小値より小さい値に設定されている。
このようにして、目標空燃比が設定リーン空燃比に設定されると、上流側触媒53には酸素が吸蔵されて行く。以降、電気制御装置80は、上流側触媒53における酸素収支量Syushiを下記(20)式及び(21)式に従って算出するとともに、下流側空燃比センサ出力Voxsの軌跡長Lengthの算出を開始する。
delO2=0.23・(Gn−taufinal・(1/(1+efafg+efafgx))・KINJC・stoich) …(20)
Syushi=ΣdelO2 …(21)
delO2=0.23・(Gn−taufinal・(1/(1+efafg+efafgx))・KINJC・stoich) …(20)
Syushi=ΣdelO2 …(21)
酸素収支の変化量delO2は、上流側触媒53に吸収される酸素の変化量(上流側触媒53に流入するガスに含まれる過剰の酸素の量)を正の値により示し、上流側触媒53から放出される酸素の変化量(上流側触媒53に流入するガスにおいて不足する酸素の量、即ち、上流側触媒53において消費される酸素の量)を負の値により示した値である。
(20)式及び(21)式において用いられる各変数は、上述したとおりである。stoichは理論空燃比(例えば、14.5)である。なお、現時点のように機関に供給される混合気の空燃比が設定リーン空燃比の場合、上流側触媒53に酸素が吸蔵されて行くから、酸素収支量Syushiは酸素吸収量と呼ぶこともできる。
(20)式によれば、燃料量taufinal・(1/(1+efafg+efafgx))・KINJCに応じた酸素量0.23・(taufinal・(1/(1+efafg+efafgx))・KINJC・stoich)の酸素が機関に供給された燃料により消費されるとして、酸素収支の変化量delO2が算出される。これは、実際の燃料噴射時間が上記(10)式に示された最終燃料噴射時間taufinalであるとき、実際に機関に供給された燃料量はtaufinal・KINJCではなく、(taufinal・(1/(1+efafg+efafgx))・KINJC)に極めて近い量となっているからである。
また、本実施形態においては、空燃比アクティブ制御の実行直前に第2学習値efafg(=efafgmae)が算出されているから、第2学習値efafg(実際には、第2学習値と第1学習値の和(efafg+efafgx))は、現時点の学習値として正しい値に極めて近い。従って、真の燃料量に極めて近い燃料量に基づいて実燃料量taufinal・(1/(1+efafg+efafgx))・KINJCが求められ、その実燃料量に応じて上流側触媒53における酸素の消費量0.23・taufinal・(1/(1+efafg+efafgx))・KINJC・stoichが求められる。この結果、酸素収支の変化量delO2の値が極めて精度良く算出されるので、酸素収支量Syushi(上流側触媒53の酸素吸蔵量OSC)及び酸素放出量Semitも極めて精度良く算出される。
次に、電気制御装置80は、酸素収支量Syushi(この場合、酸素吸収量)が所定の酸素収支閾値Sth以上となったか否かをモニタする。この酸素収支閾値Sthは、上述した閾値Sthと同じ値である。即ち、酸素収支閾値Sthは、上流側触媒53が劣化していると判定すべき触媒である場合にその触媒が示す最大酸素吸蔵量の最大値より大きく、且つ、上流側触媒53が劣化していないと判定すべき触媒である場合にその触媒が示す最大酸素吸蔵量の最小値より小さい値に設定されている。
同時に、電気制御装置80は、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す値(状態)から理論空燃比よりもリーンである空燃比を示す値(状態)に変化したか否かをモニタする。
そして、電気制御装置80は、酸素収支量Syushiが所定の酸素収支閾値Sth以上となった時点、或いは、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す状態から理論空燃比よりもリーンである空燃比を示す状態に変化した時点の何れか早い時点t1にて、目標空燃比abyfrを前記設定リーン空燃比から前記設定リッチ空燃比に設定し直すとともに、空燃比アクティブ制御係数kactiveを「1」より大きい前記所定の値(理論空燃比stoich/目標空燃比abyfr)に設定する。
なお、図4に示した時点t1は、上流側触媒53が劣化している場合であって、酸素収支量Syushiが所定の酸素収支閾値Sth以上となる前に、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す状態から理論空燃比よりもリーンである空燃比を示す状態に変化した時点を示している。
このように、上記時点t1にて設定リーン空燃比から設定リッチ空燃比に切り換えるのは以下の理由による。上流側触媒53が劣化していると判定すべき触媒(劣化触媒)である場合、時点t1にて下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す状態から理論空燃比よりもリーンである空燃比を示す状態に変化するので、下流側空燃比センサ出力Voxsの軌跡長Lengthは相対的に長くなる。
これに対し、上流側触媒53が劣化していると判定すべき触媒でない(非劣化触媒である)場合、上流側触媒53からは理論空燃比のガスが流出し続けるので、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示す状態に変化しない。その結果、下流側空燃比センサ出力Voxsの軌跡長Lengthは相対的に短くなる。即ち、軌跡長Lengthは、上流側触媒53が劣化触媒である場合よりも短くなる。
従って、時点t1にて機関に供給される混合気の空燃比を設定リッチ空燃比に切り換えれば、上流側触媒53が劣化触媒であるか否かに応じ、劣化指標値としての軌跡長Lengthは確実に異なる値となる。
更に、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す状態から理論空燃比よりもリーンである空燃比を示す状態に変化した場合、上流側触媒53の酸素吸蔵量は最大酸素吸蔵量に到達していて、もはや上流側触媒53は酸素を吸蔵することはできず、NOxを浄化することができない。従って、そのような時点(時点t1)以降も機関に供給される混合気の空燃比をリーン空燃比に維持していると、NOxが大量に排出される恐れがある。
この時点t1以降、機関に供給される混合気の空燃比は設定リッチ空燃比になるから、上流側触媒53の酸素収支量Syushi(酸素吸蔵量)は次第に減少して行く。換言すると、上流側触媒53の酸素放出量が次第に増大して行く。
一方、電気制御装置80は、上流側触媒53における酸素収支量Syushiを上述した(20)式及び(21)式に従って引き続き算出する。この場合、(20)式により求められる酸素収支の変化量delO2は負の値となる。
同時に、電気制御装置80は、酸素収支量Syushiが「0」となったか否かをモニタする。換言すると、電気制御装置80は、上記時点t1からの酸素の放出量Shosyutu(=Σ|delO2|、ただし、時点t1以降)が、上記酸素収支閾値(この場合、閾値酸素放出量)Sth以上となったか否かを実質的にモニタする。
また、電気制御装置80は、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示す状態から理論空燃比よりもリッチである空燃比を示す状態に変化したか否かをモニタする。
そして、電気制御装置80は、酸素収支量Syushiが0となった時点(酸素放出量Shosyutuが所定の酸素収支閾値Sth以上となった時点)、或いは、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示す状態から理論空燃比よりもリッチである空燃比を示す状態に変化した時点の何れか早い時点t2にて、目標空燃比abyfrを設定リッチ空燃比から設定リーン空燃比に設定し直すとともに、空燃比アクティブ制御係数kactiveを「1」より小さい前記所定の値(理論空燃比stoich/目標空燃比abyfr)に設定する。
なお、図4に示した時点t2は、上流側触媒53の劣化がかなり進行している場合であって、酸素収支量Syushiが0となる前に、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示す状態から理論空燃比よりもリッチである空燃比を示す状態に変化した時点を示している。
このように、上記時点t2にて設定リッチ空燃比から設定リーン空燃比に切り換えるのは以下の理由による。上流側触媒53が劣化していると判定すべき触媒(劣化触媒)である場合、上流側触媒53に酸素収支閾値Sth以上の酸素放出量Shosyutuを生じさせようとするとき、下流側空燃比センサ出力Voxsは理論空燃比よりもリーンである空燃比を示す状態から理論空燃比よりもリッチである空燃比を示す状態に必ず変化し、その結果、下流側空燃比センサ出力Voxsの軌跡長Lengthが相対的に長くなる。
これに対し、上流側触媒53が劣化していると判定すべき触媒でない(非劣化触媒である)場合、上流側触媒53からは理論空燃比のガスが流出し続けるので、下流側空燃比センサ出力Voxsが理論空燃比よりもリッチである空燃比を示す状態に変化しない。その結果、下流側空燃比センサ出力Voxsの軌跡長Lengthが相対的に短くなる。即ち、軌跡長Lengthは、上流側触媒53が劣化触媒である場合よりも短くなる。従って、時点t2にて機関に供給される混合気の空燃比を設定リーン空燃比に切り換えれば、上流側触媒53が劣化触媒であるか否かに応じ、劣化指標値としての軌跡長Lengthは確実に異なる値となる。
更に、下流側空燃比センサ出力Voxsが理論空燃比よりもリーンである空燃比を示す状態から理論空燃比よりもリッチである空燃比を示す状態に変化した場合、上流側触媒53の酸素吸蔵量は0に到達していて、もはや酸素を放出することはできず、未燃成分を浄化することができない。従って、そのような時点(時点t2)以降も機関に供給される混合気の空燃比をリッチ空燃比に維持していると、未燃成分が大量に排出される恐れがある。
以降、電気制御装置80は、時点t1と同じ状態(図4の時点t3を参照。)が得られると、機関に供給される混合気の空燃比を設定リッチ空燃比に制御し、次いで、時点t2と同じ状態(図4の時点t4を参照。)が得られると機関に供給される混合気の空燃比を設定リーン空燃比に制御する。電気制御装置80は、このような設定リーン空燃比から設定リッチ空燃比へ及びその逆への交互切換えを数回繰り返し、その間の下流側空燃比センサ出力Voxsの軌跡長Lengthを求める。以上が、触媒劣化指標値(軌跡長Length)を取得するための空燃比アクティブ制御である。
(触媒劣化判定)
次に、触媒劣化判定方法について説明する。電気制御装置80は、空燃比アクティブ制御(触媒劣化指標値の取得)を終了すると、その直後に上述した第2学習制御を再び実行し、空燃比アクティブ制御直後の第2学習値efafgを第2学習値efafgatoとして取得する。
次に、触媒劣化判定方法について説明する。電気制御装置80は、空燃比アクティブ制御(触媒劣化指標値の取得)を終了すると、その直後に上述した第2学習制御を再び実行し、空燃比アクティブ制御直後の第2学習値efafgを第2学習値efafgatoとして取得する。
そして、空燃比アクティブ制御期間(実質的に触媒劣化指標値を取得していた期間)における機関に供給される混合気の平均的な空燃比(中心空燃比)の変化に応じた値Hyoka(以下、「中心空燃比変動値Hyoka」とも称呼する。)を、空燃比アクティブ制御直前に算出した第2学習値efafgmaeと同空燃比アクティブ制御直後に算出した第2学習値efafgatoとの偏差に基づいて算出する。即ち、電気制御装置80は、中心空燃比の変化に応じた値Hyokaを下記(22)式及び(23)式に従って算出する。
efafgave=(efafgato + efafgmae)/2
…(22)
Hyoka=|efafgato − efafgmae|・Stauall/(1+efafgave+efafgxave) …(23)
ここで、efafgaveは、空燃比アクティブ制御直前第2学習値efafgmaeと空燃比アクティブ制御直後第2学習値efafgatoの平均値である。efafgxaveは、空燃比アクティブ制御機関中に使用された第1学習値efafgxの平均値である。Stauallは、空燃比アクティブ制御実行中における最終燃料噴射時間taufinalの合計値である。
efafgave=(efafgato + efafgmae)/2
…(22)
Hyoka=|efafgato − efafgmae|・Stauall/(1+efafgave+efafgxave) …(23)
ここで、efafgaveは、空燃比アクティブ制御直前第2学習値efafgmaeと空燃比アクティブ制御直後第2学習値efafgatoの平均値である。efafgxaveは、空燃比アクティブ制御機関中に使用された第1学習値efafgxの平均値である。Stauallは、空燃比アクティブ制御実行中における最終燃料噴射時間taufinalの合計値である。
なお、最終燃料噴射時間taufinalを第2学習値efafgmae及び第1学習値efafgxに1を加えた値で除した値(taufinal/(1+efafgmae+efafgx))を空燃比アクティブ制御期間において積算し、その積算値をStauallとしてもよい。その場合、中心空燃比の変化に応じた値Hyokaは、下記(24)式に基づいて求められる。
Hyoka=|efafgato − efafgmae|・Stauall
…(24)
Hyoka=|efafgato − efafgmae|・Stauall
…(24)
中心空燃比の変化に応じた値Hyokaが所定閾値(評価基準値)Hyokath以上の場合、空燃比アクティブ制御中における中心空燃比の変化が大きかったために(空燃比アクティブ制御直前第2学習値efafgmaeと真の第2学習値との偏差が大きくなったために)、酸素収支の変化量delO2(従って、酸素収支量Syushi)が精度良く算出されていない。その場合、触媒劣化指標値(軌跡長Length)に触媒の劣化程度が適正に反映されていない。従って、電気制御装置80は、かかる場合に触媒劣化指標値(軌跡長Length)に基づく触媒劣化判定を禁止(キャンセル)する。
他方、中心空燃比の変化に応じた値Hyokaが所定閾値Hyokathより小さい場合、空燃比アクティブ制御中における中心空燃比の変化は小さいから、酸素収支の変化量delO2(従って、酸素収支量Syushi)は精度良く算出されている。従って、軌跡長Lengthに触媒の劣化程度が適正に反映されているから、電気制御装置80は、軌跡長Lengthに基づく触媒劣化判定を行う。
より具体的に述べると、電気制御装置80は、軌跡長Lengthが劣化判定閾値Ldet以上であれば上流側触媒53は劣化していると判定し、軌跡長Lengthが劣化判定閾値Ldetより小さければ上流側触媒53は劣化していないと判定する。
例えば、図5に示したように、上流側触媒53が劣化している場合であって、アクティブ空燃比制御実行中に中心空燃比がリーン側に変化すると、酸素放出量が不足し始め、実際の酸素吸蔵量が0に到達しなくなる。従って、下流側空燃比センサ出力Voxsがリーンを示す状態からリッチを示す状態へと変化しなくなる。その結果、上流側触媒53が劣化触媒である場合に取得される軌跡長Lengthが相対的に短くなるから、同場合の軌跡長Lengthと上流側触媒53が非劣化触媒である場合に取得される軌跡長Lengthとの差が小さくなり、劣化触媒を非劣化触媒として判定してしまう可能性がある。
同様に、図6に示したように、上流側触媒53が劣化している場合であって、アクティブ空燃比制御実行中に中心空燃比がリッチ側に変化すると、上流側触媒53に吸収される酸素量が不足し始め、実際の酸素吸蔵量が最大酸素吸蔵量に到達しなくなる。従って、下流側空燃比センサ出力Voxsがリッチを示す状態からリーンを示す状態へと変化しなくなる。その結果、上流側触媒53が劣化触媒である場合に取得される軌跡長Lengthが相対的に短くなるから、同場合の軌跡長Lengthと上流側触媒53が非劣化触媒である場合に取得される軌跡長Lengthとの差が小さくなり、劣化触媒を非劣化触媒として判定してしまう可能性がある。
従って、電気制御装置80は、このような中心空燃比の変化が大きい場合、軌跡長Lengthによる触媒劣化判定を禁止するのである。なお、前記所定の中心空燃比変化閾値Hyokathは、前記酸素収支閾値Sthが大きくなるほど大きくなるように設定されていることが好適である。
酸素収支閾値Sthが大きい値に設定されているときには、上流側触媒53に付与される酸素収支量の絶対値は大きくなるから、中心空燃比が変化したとしても、劣化触媒の酸素吸蔵量を0と最大酸素吸蔵量とに到達させ得る可能性が増大する。従って、前記所定の中心空燃比変化閾値Hyokathを、前記酸素収支閾値Sthが大きくなるほど大きくなるように設定しても、劣化触媒と非劣化触媒とで下流側空燃比センサの出力Voxsに差が現れる。また、前記中心空燃比変化閾値Hyokathをそのように設定することで、触媒劣化判定を行うことができる機会を増大することができる。
以上が、本発明による燃料噴射量制御装置による触媒劣化判定方法の概要である。
以上が、本発明による燃料噴射量制御装置による触媒劣化判定方法の概要である。
<実際の作動>
次に、上記のように構成された空燃比制御装置の実際の作動について、電気制御装置80のCPU81が実行するルーチン(プログラム)をフローチャートにより示した図7〜図18を参照しながら説明する。
次に、上記のように構成された空燃比制御装置の実際の作動について、電気制御装置80のCPU81が実行するルーチン(プログラム)をフローチャートにより示した図7〜図18を参照しながら説明する。
CPU81は、図7に示した最終燃料噴射時間の計算及び燃料噴射の指示を行うルーチンを、所定の気筒のクランク角が吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、所定の気筒のクランク角度が前記所定クランク角度になると、CPU81はステップ700から処理を開始してステップ705に進み、エアフローメータ61により計測された吸入空気量Gaとエンジン回転速度NEとに基いて、機関の空燃比を理論空燃比とするための基本燃料噴射時間tfbseをマップから求める。
次いで、CPU81はステップ710に進み、上記(10)式に従って最終燃料噴射時間taufinalを算出する。このとき、現時点の機関10の運転領域(吸入空気量Gn)に対応した第1学習値efafgxを読み出し、その読み出した第1学習値efafgxを最終燃料噴射時間taufinalの計算に使用する。そして、CPU81はステップステップ715に進み、前記所定の気筒に対応するインジェクタ39に対し、最終燃料噴射時間taufinalだけ開弁して燃料を噴射する指示を行う。
次いで、CPU81はステップ720に進み、上記(20)式に従って酸素収支の変化量delO2を求め、ステップ725に進んで、その時点の酸素放出量Semitにステップ720にて求めた酸素収支の変化量delO2の絶対値を加えて新たな酸素放出量Semitを求める。なお、酸素放出量Semitは、空燃比アクティブ制御実行開始時に、後述する図13のステップ1430にて「0」に設定される。
次に、CPU81はステップ730に進み、その時点の酸素収支量Syushiにステップ720にて求めた酸素収支の変化量delO2を加えて新たな酸素収支量Syushiを求める。なお、酸素収支量Syushiは、後述する図13のステップ1455にて「0」に設定される。その後、CPU81は、ステップ735に進んでその時点の最終燃料噴射時間合計値Stauallに上記ステップ710にて求めた最終燃料噴射時間taufinalを加えて新たな最終燃料噴射時間合計値Stauallを求め、ステップ795に進んで本ルーチンを一旦終了する。なお、最終燃料噴射時間合計値Stauallは、後述する図13のステップ1435にて「0」に設定される。
以上により、フィードバック量tdfiにより補正された最終燃料噴射時間taufinalに応じた燃料が吸気行程を迎える気筒に対して噴射される。なお、このルーチンは、他の気筒に対しても上記と同様に実行される。
次に、上記フィードバック量tdfiを算出する際の作動について説明する。CPU81は図8に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU81はステップ800から処理を開始し、ステップ805に進んでフィードバック制御実行条件が成立しているか否かを判定する。
空燃比フィードバック制御実行条件は、例えば、機関の冷却水温THWが第1所定温度以上であり、機関の一回転当りの吸入空気量(負荷)が所定値以下であり、且つ、上流側空燃比センサ67が正常であるとき成立する。
いま、空燃比フィードバック制御実行条件が成立しているものとして説明を続けると、CPU81はステップ805にて「Yes」と判定してステップ810に進み、現時点の上流側空燃比センサ67の出力Vabyfsとサブフィードバック量Vafsfbとの和(Vabyfs+Vafsfb)及び図2に示したマップに基いて現時点における上流側触媒53の上流の空燃比abyfsを求める。
次に、CPU81はステップ815に進み、上記(11)式に従って現時点からNストローク前の筒内燃料供給量Fc(k−N)を求め、ステップ820に進んで上記(12)式に従って現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
そして、CPU81はステップ825に進んで筒内燃料供給量偏差DFcを求め、続くステップ830にて、上記(13)式に従ってフィードバック量tdfiを求める。次いで、CPU81は、ステップ835にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ825にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求める。
次に、CPU81はステップ840に進んで上記(15)式に従って空燃比フィードバック係数FAFを算出し、ステップ845に進んでその時点で保持している空燃比フィードバック係数の偏差DLFAFを前回の空燃比フィードバック係数の偏差DLFAFoldとして格納する。その後、CPU81はステップ850に進み、上記ステップ840にて求めた空燃比フィードバック係数のFAFから前回の空燃比フィードバック係数FAFoldを減じて新たな空燃比フィードバック係数の偏差DLFAFを求め、次いで、ステップ855に進んで、空燃比フィードバック係数FAFを前回の空燃比フィードバック係数FAFoldとして格納する。CPU81は、その後、ステップ895にて本ルーチンを一旦終了する。
以上により、フィードバック量tdfiが比例積分制御により求められ、このフィードバック量tdfiが前述した図7のステップ710により最終燃料噴射時間taufinalに反映される。この結果、現時点からNストローク前の燃料供給量の過不足が補償されるので、機関の空燃比(従って、上流側触媒53に流入するガスの空燃比)が目標空燃比abyfrと略一致せしめられる。
一方、ステップ805の判定時において、空燃比フィードバック制御実行条件が不成立であると、CPU81は同ステップ805にて「No」と判定してステップ860に進み、フィードバック量tdfiの値を「0」に設定し、その後、ステップ840〜ステップ855を実行してから本ルーチンを一旦終了する。これにより、空燃比フィードバック制御が実質的に中止される。
次に、下流側空燃比センサ68の出力Voxsに基くサブフィードバック量Vafsfbを算出する際の作動について説明する。
CPU81は、サブフィードバック量Vafsfbを求めるために、図9に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU81はステップ900から処理を開始し、ステップ905に進んでサブフィードバック制御実行条件が成立しているか否かを判定する。サブフィードバック制御実行条件は、例えば、以下の総ての条件が成立したときに成立する。
前述したステップ705での空燃比フィードバック制御実行条件が成立している。
機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上である。
下流側空燃比センサ68が正常である。
第2学習制御中でない。
空燃比アクティブ制御中でない。
前述したステップ705での空燃比フィードバック制御実行条件が成立している。
機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上である。
下流側空燃比センサ68が正常である。
第2学習制御中でない。
空燃比アクティブ制御中でない。
いま、サブフィードバック制御実行条件が成立しているものとして説明を続けると、CPU81はステップ905にて「Yes」と判定してステップ910に進み、目標値Voxsrefから現時点の下流側空燃比センサ68の出力Voxsを減じることにより、出力偏差量DVoxsを求める。次に、CPU81はステップ915に進み、上記(14)式に従ってサブフィードバック量Vafsfbを求める。
次いで、CPU81はステップ920に進み、その時点における出力偏差量の積分値SDVoxsに上記ステップ910にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求める。その後、CPU81は、ステップ995に進んで本ルーチンを一旦終了する。
一方、サブフィードバック制御実行条件が成立していないとき、CPU81はステップ905にて「No」と判定してステップ925に進み、サブフィードバック量Vafsfbに「0」を設定する。これにより、サブフィードバック制御が事実上中止される。その後、CPU81は、ステップ995に進んで本ルーチンを一旦終了する。
次に、第1学習値efafgx、第2学習値efafg及び軌跡長Lengthを求める際の作動(学習制御及び空燃比アクティブ制御)について、図10〜図18に示したルーチンを参照しながら説明する。
CPU81は、図10に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU81はステップ1000から処理を開始し、ステップ1002に進んで第1学習制御条件が成立しているか否かを判定する。具体的に述べると、フィードバック制御実行条件が成立し、且つ、機関の冷却水温THWが第1所定温度より高い第3所定温度以上であるか否かが判定される。
いま、第1学習制御条件が成立しているとして説明を続けると、CPU81はステップ1005にて「Yes」と判定してステップ1015に進み、現在の機関運転状態(吸入空気量Gn)に対応する運転領域に対応して記憶されているFAFなまし値FAFSM(i)を前回のFAFなまし値FAFSM(i-1)として読み出す。
次いで、CPU81はステップ1020に進んで上記(16)式に従って今回のFAFなまし値FAFSM(i)を求め、ステップ1025に進んで今回のFAFなまし値FAFSM(i)を現在の機関運転状態に対する運転領域に対応させて記憶する。
次に、CPU81はステップ1030に進み、現在の機関運転状態に対応する運転領域に対する第1学習値efafgxが更新されてから、新たにnsho回だけFAFなまし値FAFSM(i)が算出されたか否かを判定する。このステップ1030における判定結果が「No」であるとき、CPU81はステップ1095に進んで本ルーチンを一旦終了する。
これに対し、ステップ1030における判定結果が「Yes」であるとき、CPU81はステップ1035に進み、なまし値FAFSM(i)が閾値A1(>0)より大きいか否かを判定する。このとき、なまし値FAFSM(i)が閾値A1より大きければ、CPU81はステップ1040に進んでその運転領域に対応する第1学習値efafgxの値を固定値Δgxだけ増大する。その後、CPU81は、ステップ1045に進み、上記増大された第1学習値efafgxを現在の機関運転状態に対する運転領域に対応する第1学習値として記憶する。
一方、CPU81は、なまし値FAFSM(i)が閾値A1以下であると、ステップ1035にて「No」と判定してステップ1050へと進み、なまし値FAFSM(i)が閾値−A1より小さいか否かを判定する。そして、まし値FAFSM(i)が閾値−A1より小さいとき、CPU81はステップ1055に進んで、その運転領域に対応する第1学習値efafgxの値を固定値Δgxだけ減少する。その後、CPU81は、ステップ1045に進み、上記減少された第1学習値efafgxを現在の機関運転状態に対応する運転領域に対応する第1学習値として記憶する。
他方、CPU81は、ステップ1035及びステップ1050にて「No」と判定するとき、ステップ1050からステップ1095に直接進んで本ルーチンを一旦終了する。従って、この場合、第1学習値efafgxは更新されない。
また、第1学習制御条件が成立していないとき、CPU81が本ルーチンを実行すると、CPU81はステップ1005にて「No」と判定し、直接ステップ1095に進んで本ルーチンを一旦終了する。以上のようにして、第1学習値efafgxが更新されて行く。
また、CPU81は、図11に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU81はステップ1100から処理を開始し、ステップ1102に進んで直前学習要求フラグXabyfgの値が「1」であるか否かを判定する。
直前学習要求フラグXabyfgの値は、後述するように、触媒劣化判定実行条件(触媒劣化検出条件)が成立したときに「1」に設定され、直前学習が終了して空燃比アクティブ制御直前第2学習値efafgmaeが取得されたとき「0」に設定される。なお、直前学習要求フラグXabyfgの値は、図示しないイグニッション・キーがオンされたときに起動される図示しないイニシャルルーチンにて「0」に設定されている。
いま、イグニッション・キーがオンされた直後であり、直前学習要求フラグXabyfgの値が「0」であるとして説明を続けると、CPU81はステップ1102にて「No」と判定し、ステップ1104に進んで直後学習要求フラグXlategの値が「1」であるか否かを判定する。
直後学習要求フラグXlategの値は、後述するように、触媒劣化判定実行条件が成立して空燃比アクティブ制御の実行が終了したとき(軌跡長Lengthが取得されたとき)に「1」に設定され、直後学習が終了して空燃比アクティブ制御直後第2学習値efafgatoが取得されたとき「0」に設定される。なお、直後学習要求フラグXlategの値は、図示しないイグニッション・キーがオンされたときに起動される図示しないイニシャルルーチンにて「0」に設定されている。
現時点はイグニッション・キーがオンされた直後であるから、直後学習要求フラグXlategの値は「0」である。従って、CPU81はステップ1104にて「No」と判定して図12に示したステップ1202に進み、安定化カウンタCfafstの値を「0」に設定する。次いで、CPU81はステップ1204に進み、FAFAVEピーク値積算値SFAFAVEPKの値を「0」に設定し、ステップ1295にて本ルーチンを一旦終了する。
一方、CPU81は図13に示した触媒劣化検出ルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU81はステップ1300から処理を開始し、ステップ1302にて直後学習要求フラグXlategの値が「0」であるか否かを判定する。前述したように、現段階で直後学習要求フラグXlategの値は「0」であるから、CPU81はステップ1302にて「Yes」と判定してステップ1304に進み、触媒劣化判定実行中フラグXafrefの値が「1」であるか否かを判定する。
触媒劣化判定実行中フラグXafrefの値は、後述するように、触媒劣化判定実行条件が成立したときに「1」に設定され、触媒劣化判定が完了したとき及び触媒劣化判定実行条件が不成立のとに「0」に設定される。なお、触媒劣化判定実行中フラグXafrefの値は、図示しないイグニッション・キーがオンされたときに起動される図示しないイニシャルルーチンにて「0」に設定されている。
現時点はイグニッション・キーがオンされた直後であるから、触媒劣化判定実行中フラグXafrefの値は「0」である。このため、CPU81はステップ1304にて「No」と判定してステップ1306に進み、上述した触媒劣化判定実行条件が成立したか否かを判定する。この段階では、触媒劣化判定実行条件は不成立であるとして説明を続けると、CPU81はステップ1306にて「No」と判定してステップ1308に進み、触媒劣化判定実行中フラグXafref、直前学習要求フラグXabyfg及び直後学習要求フラグXlategの値を「0」に設定するとともに、ステップ1310に進んで軌跡長Lengthの値を「0」に設定し、ステップ1395に進んで本ルーチンを一旦終了する。
その後、車両の運転が継続されている間に触媒劣化判定実行条件が成立すると、CPU81は図13に示したルーチンを実行する際、ステップ1300、ステップ1302、ステップ1304に続くステップ1306にて「Yes」と判定し、ステップ1312に進んで触媒劣化判定実行中フラグXafrefの値を「1」に設定するとともに、ステップ1314に進んで直前学習要求フラグXabyfgの値を「1」に設定し、ステップ1395に進んで本ルーチンを一旦終了する。なお、CPU81は、触媒劣化判定実行中フラグXafrefの値が「1」となっているとき、サブフィードバック制御(及びエバポエミッションの導入)を第2学習制御中と同様に停止する。
このとき、CPU81が図11に示したルーチンを実行すると、CPU81はステップ1102にて「Yes」と判定してステップ1106に進み、後述する空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKの変化量DLPKに対する第1安定化判定値DLPKthに所定値a1を設定する。次いで、CPU81はステップ1108に進み、第2安定化判定値nthに所定値b1を設定する。
次に、CPU81はステップ1110に進み、前回の空燃比フィードバック係数の偏差DLFAFoldが0以上であり(「0」又は正の値であり)、且つ、その時点で保持している空燃比フィードバック係数の偏差DLFAFが0より小さい(負の値である)か否かを判定する。即ち、空燃比フィードバック係数FAFが極大値(ピーク値)をとったか否かを判定する。このとき、空燃比フィードバック係数FAFが極大値をとっていれば、CPU81はステップ1110にて「Yes」と判定し、ステップ1112にてカウンタ値Csampの値を「0」に設定した後、ステップ1114に進む。
一方、空燃比フィードバック係数FAFが極大値をとっていなければ、CPU81はステップ1110にて「No」と判定してステップ1116に進み、前回の空燃比フィードバック係数の偏差DLFAFoldが0より小さく、且つ、その時点で保持している空燃比フィードバック係数の偏差DLFAFが0以上であるか否かを判定する。即ち、空燃比フィードバック係数FAFが極小値(ピーク値)をとったか否かを判定する。このとき、空燃比フィードバック係数FAFが極小値をとっていれば、CPU81はステップ1116にて「Yes」と判定し、ステップ1112にてカウンタ値Csampの値を「0」に設定した後、ステップ1114に進む。
更に、現時点の空燃比フィードバック係数FAFが極大値及び極小値の何れでもなければ、CPU81はステップ1110及びステップ1116の両ステップにて「No」と判定し、ステップ1118にてカウンタ値Csampの値が閾値Csthより大きいか否かを判定する。
いま、カウンタ値Csampの値が閾値Csth以下であるとして説明を続けると、CPU81はステップ1118にて「No」と判定してステップ1120に進み、カウンタ値Csampの値を「1」だけ増大する。そして、CPU81は図12のステップ1202及びステップ1204を経由してステップ1295に進み、本ルーチンを一旦終了する。
CPU81は、所定時間の経過毎に図11に示した学習制御ルーチンを実行するから、空燃比フィードバック係数FAFがピーク値(極大値又は極小値)をとらなければ、ステップ1118及びステップ1120を繰り返し実行することになる。この結果、空燃比フィードバック係数FAFがピーク値(極大値又は極小値)をとってから、閾値Csthに相当する時間が経過すると、カウンタ値Csampは閾値Csthより大きくなる。この場合、CPU81はステップ1118にて「Yes」と判定し、ステップ1112に進んでカウンタ値Csampの値を「0」に設定し、ステップ1114に進む。
以上から理解されるように、ステップ1110,1112,1116,1118及びステップ1120は、空燃比フィードバック係数FAFのピーク値取得手段を構成している。
CPU81は、ステップ1114に進むと、以下の操作を行う。
保持しているFAFピーク値FAFPKを前回のFAFピーク値FAFPKoldとして格納する。
現時点の空燃比フィードバック係数FAFを今回のFAFピーク値FAFPKとして格納する。
保持している空燃比フィードバック係数平均値FAFAVEを前回の空燃比フィードバック係数平均値FAFAVEoldとして格納する。
上記(17)式に従って今回の空燃比フィードバック係数平均値FAFAVEを求める。
保持している空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEを前回の空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEoldとして格納する。
今回の空燃比フィードバック係数平均値FAFAVEから前回の空燃比フィードバック係数平均値FAFAVEoldを減じることにより、今回の空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEを求める。
保持しているFAFピーク値FAFPKを前回のFAFピーク値FAFPKoldとして格納する。
現時点の空燃比フィードバック係数FAFを今回のFAFピーク値FAFPKとして格納する。
保持している空燃比フィードバック係数平均値FAFAVEを前回の空燃比フィードバック係数平均値FAFAVEoldとして格納する。
上記(17)式に従って今回の空燃比フィードバック係数平均値FAFAVEを求める。
保持している空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEを前回の空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEoldとして格納する。
今回の空燃比フィードバック係数平均値FAFAVEから前回の空燃比フィードバック係数平均値FAFAVEoldを減じることにより、今回の空燃比フィードバック係数平均値FAFAVEの偏差(変化量)DLFAFAVEを求める。
次に、CPU81はステップ1122に進み、前回の空燃比フィードバック係数平均値の偏差DLFAFAVEoldが0以上であり(「0」又は正の値であり)、且つ、その時点で保持している空燃比フィードバック係数平均値の偏差DLFAFAVEが0より小さい(負の値である)か否かを判定する。即ち、空燃比フィードバック係数平均値FAFAVEが極大値(ピーク値)をとったか否かを判定する。このとき、空燃比フィードバック係数平均値FAFAVEが極大値をとっていれば、CPU81はステップ1122にて「Yes」と判定し、ステップ1124にてカウンタ値Cnohanの値を「0」に設定し、ステップ1126に進む。
一方、空燃比フィードバック係数平均値FAFAVEが極大値をとっていなければ、CPU81はステップ1122にて「No」と判定してステップ1128に進み、前回の空燃比フィードバック係数平均値の偏差DLFAFAVEoldが0より小さく、且つ、その時点で保持している空燃比フィードバック係数平均値の偏差DLFAFAVEが0以上であるか否かを判定する。即ち、空燃比フィードバック係数平均値FAFAVEが極小値(ピーク値)をとったか否かを判定する。このとき、空燃比フィードバック係数平均値FAFAVEが極小値をとっていれば、CPU81はステップ1128にて「Yes」と判定し、ステップ1124にてカウンタ値Cnohanの値を「0」に設定し、ステップ1126に進む。
更に、現時点の空燃比フィードバック係数平均値FAFAVEが極大値及び極小値の何れでもなければ、CPU81はステップ1122及びステップ1128の両ステップにて「No」と判定し、ステップ1130にてカウンタ値Cnohanの値を「1」だけ増大し、ステップ1132に進んでカウンタ値Cnohanの値が閾値Cnothより以上であるか否かを判定する。
いま、カウンタ値Cnohanの値が閾値Cnothより小さいとして説明を続けると、CPU81はステップ1132にて「No」と判定し、図12のステップ1202及びステップ1204を経由してステップ1295に進み、本ルーチンを一旦終了する。
従って、空燃比フィードバック係数平均値FAFAVEがピーク値(極大値又は極小値)をとらなければ、CPU81は、空燃比フィードバック係数FAFのピーク値FAFPKが得られる毎に、ステップ1130及びステップ1132を繰り返し実行する。この結果、空燃比フィードバック係数平均値FAFAVEがピーク値(極大値又は極小値)をとってから、閾値Cnothに相当する時間が経過すると、カウンタ値Cnohanは閾値Cnothより大きくなる。この場合、CPU81はステップ1132にて「Yes」と判定し、ステップ1124に進んでカウンタ値Cnohanの値を「0」に設定し、ステップ1126に進む。
ステップ1126に進んだCPU81は、その時点で保持している空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKを前回の空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKoldとして格納し、続くステップ1134にて現時点の空燃比フィードバック係数平均値FAFAVEを今回の空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKとして格納する。
以上から理解されるように、ステップ1122〜ステップ1134は、空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPK取得手段を構成している。
次に、CPU81は図12に示したステップ1206に進み、空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKの変化量DLPKを、今回の空燃比フィードバック係数平均値のピーク値FAFAVEPKから前回の空燃比フィードバック係数平均値のピーク値FAFAVEPKoldを減じることにより求め、ステップ1208に進んで変化量DLPKの絶対値が前記第1安定化判定値DLPKth以下であるか否かを判定する。なお、この場合、第1安定化判定値DLPKthは値a1である。
このとき、変化量DLPKの絶対値が第1安定化判定値DLPKthより大きいと、CPU81はステップ1208にて「No」と判定し、ステップ1202及びステップ1204を経由して本ルーチンを一旦終了する。
一方、変化量DLPKの絶対値が第1安定化判定値DLPKth以下であると、CPU81はステップ1208にて「Yes」と判定し、ステップ1210に進んで過去nth個の変化量DLPKの符号が同一でないか否かを判定する。つまり、本ルーチンの過去(nth−1)回〜今回までの実行により得られた空燃比フィードバック係数平均値のピーク値FAFAVEPKが緩やかに増大し続けておらず、且つ、穏やかに減少し続けていないことが確認される。
このとき、nth個の変化量DLPKの符号が同一であると、CPU81はステップ1210にて「No」と判定し、ステップ1202及びステップ1204を経由して本ルーチンを一旦終了する。
また、nth個の変化量DLPKの符号が同一でなければ、CPU81はステップ1210にて「Yes」と判定し、ステップ1214に進んで安定化カウンタCfafstの値を「1」だけ増大し、続くステップ1216にて安定化カウンタCfafstの値が所定の閾値Cfafstth以上となったか否かを判定する。このとき、安定化カウンタCfafstの値が所定の閾値Cfafstthより小さければ、CPU81はステップ1216にて「No」と判定し、直ちにステップ1295に進んで本ルーチンを一旦終了する。
このように、ステップ1208及びステップ1210は、空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKの変化量DLPKの絶対値が第1安定化判定値DLPKth以下であり、且つ、過去nth個の変化量DLPKの符号が同一でない場合に、空燃比フィードバック係数FAF(空燃比フィードバック係数平均値FAFAVE及びそのピーク値FAFAVEPK)が安定している(即ち、フィードバック量tdfiが安定条件を満足している)と判定する安定化判別手段(第2学習条件成立判定手段)を構成している。
以降、CPU81は、空燃比フィードバック係数平均値FAFAVEのピーク値FAFAVEPKが新たに得られる毎に、ステップ1208及びステップ1210を実行する。これにより、フィードバック量が安定条件を満足しているか否かを判定し、安定条件を満たしている場合はステップ1214にて定化カウンタCfafstの値を「1」だけ増大する。一方、フィードバック量が安定条件を満足していないとき、ステップ1202にて定化カウンタCfafstの値は「0」に設定される。
従って、フィードバック量が安定条件を閾値Cfafstthに対応する回数以上連続して満たすと、CPU81はステップ1216にて「Yes」と判定してステップ1218に進み、学習データサンプリングカウンタCfafgが閾値Cfafgth(>1)より小さいか否かを判定する。この学習データサンプリングカウンタCfafgは、、図示しないイグニッション・キーがオンされたときに起動される図示しないイニシャルルーチンにて「0」に設定されている。
現時点は、直前学習要求フラグXabyfgの値が「1」となってから、初めて安定化カウンタCfafstが閾値Cfafstthとなった時点であるから、学習データサンプリングカウンタCfafgは閾値Cfafgthより小さい。従って、CPU81は、ステップ1218にて「Yes」と判定してステップ1220に進み、学習データサンプリングカウンタCfafgの値を「1」だけ増大し、続くステップ1222にてその時点のFAFAVEピーク値積算値SFAFAVEPK(現時点において、FAFAVEピーク値積算値SFAFAVEPKはステップ1204の実行により「0」になっている。)に空燃比フィードバック係数平均値のピーク値FAFAVEPKを加えて、新たなFAFAVEピーク値積算値SFAFAVEPKを求める。つまり、FAFAVEピーク値積算値SFAFAVEPKに空燃比フィードバック係数平均値のピーク値FAFAVEPKを積算してゆく。
このような状態が継続すると、ステップ1220及びステップ1222が繰り返し実行されるので、学習データサンプリングカウンタCfafgは閾値Cfafgthと等しくなる。この場合、CPU81はステップ1218にて「No」と判定してステップ1224に進み、FAFAVEピーク値積算値SFAFAVEPKを学習データサンプリングカウンタCfafg(=閾値Cfafgth)で除することにより、空燃比フィードバック係数平均値のピーク値FAFAVEPKの平均値を求め、この平均値を第2学習値efafgとして格納する。
次いで、CPU81はステップ1226に進み、学習データサンプリングカウンタCfafgの値を「0」に設定し、続くステップ1228にてFAFAVEピーク値積算値SFAFAVEPKの値を「0」に設定する。次に、CPU81は、ステップ1230にて、直前学習要求フラグXabyfgの値が「1」であるか否かを判定する。
この場合、直前学習要求フラグXabyfgの値は「1」である。従って、CPU81はステップ1230にて「Yes」と判定してステップ1232に進み、ステップ1224にて格納した第2学習値efafgを空燃比アクティブ制御直前第2学習値efafgmaeとして格納するとともに、続くステップ1234にて直前学習要求フラグXabyfgの値を「0」に設定する。
次いで、CPU81はステップ1236にて直後学習要求フラグXlategの値が「1」であるか否かを判定する。この場合、直後学習要求フラグXlategの値は「0」であるから、CPU81はステップ1236にて「No」と判定し、ステップ1295に進んで本ルーチンを一旦終了する。以上により、空燃比アクティブ制御直前の学習制御が終了する。また、直前学習要求フラグXabyfg及び直後学習要求フラグXlategの値が共に「0」となるから、CPU81は、本学習制御ルーチンを所定時間後に実行すると、ステップ1102及びステップ1104の両ステップにて「No」と判定して、ステップ1202、1204及びステップ1295と進むので、学習制御が事実上停止される。
ところで、CPU81は、上述した空燃比アクティブ制御直前の第2学習制御中も図13に示した触媒劣化検出ルーチンを繰り返し実行している。この第2学習制御中は、前述した図13のステップ1312の実行により、触媒劣化判定実行中フラグXafrefの値は「1」となっている。また、前述したステップ1314の実行により、直前学習要求フラグXabyfgの値も「1」となっている。これに対し、直後学習要求フラグXlategの値は、前述したステップ1308の実行により「0」となっている。
従って、CPU81はステップ1300からステップ1302に進んだとき、同ステップ1302にて「Yes」と判定するとともに、ステップ1304にても「Yes」と判定し、ステップ1315に進んで直後学習要求フラグXlategの値が「1」から「0」に変化した直後であるか否かを判定する。
この場合、直後学習要求フラグXlategの値は「0」に維持されたままである。従って、CPU81はステップ1315にて「No」と判定してステップ1316に進み、直前学習要求フラグXabyfgの値が「0」であるか否かを判定する。この場合、直前学習要求フラグXabyfgの値は「1」であるから、CPU81はステップ1316にて「No」と判定し、ステップ1395に進んで本ルーチンを一旦終了する。
その後、上述した空燃比アクティブ制御直前の第2学習制御が終了すると、図12のステップ1234の実行により直前学習要求フラグXabyfgの値が「0」に設定される。この結果、CPU81は、ステップ1300に続くステップ1302及びステップ1304の両ステップにて「Yes」と判定するとともに、ステップ1315にて「No」と判定した後、ステップ1316にて「Yes」と判定してステップ1318に進み、空燃比アクティブ制御カウンタCkyoの値が閾値Ckyoth以上であるか否かを判定する。
この空燃比アクティブ制御カウンタCkyoの値は、前述したイニシャルルーチンにて「0」に設定されるようになっている。従って、現時点において空燃比アクティブ制御カウンタCkyoの値は閾値Ckyothより小さいから、CPU81はステップ1318にて「No」と判定してステップ1320に進み、図14示された触媒劣化指標値取得制御(空燃比アクティブ制御)を実行する。なお、以降、触媒劣化指標値取得制御の実行により空燃比アクティブ制御カウンタCkyoの値が増大され、閾値Ckyothと等しくなるまでの間、CPU81はステップ1300、1304、1315、1316、1318及びステップ1320と進み、触媒劣化指標値取得制御のサブルーチンを繰り返し実行するようになる。
ステップ1320に進んだCPU81は、図14のステップ1400から処理を開始し、ステップ1405にてサブフィードバック制御及びエバポエミッションの導入を禁止する。次いで、CPU81はステップ1410にて空燃比アクティブ制御カウンタCkyoの値が「0」であるか否かを判定する。
この時点では、空燃比アクティブ制御カウンタCkyoの値は「0」に設定されている。従って、CPU81は、ステップ1410にて「Yes」と判定してステップ1415に進み、機関に供給される混合気の空燃比を設定リッチ空燃比とするための強制リッチ制御を行う。
即ち、CPU81は、ステップ1415に進んだとき、図16のステップ1600に続くステップ1605に進み、目標空燃比abyfrに理論空燃比stoichよりリッチな空燃比abyfrichを設定する。次いで、CPU81は、ステップ1610にて空燃比アクティブ制御係数kactiveを「1」より大きい所定の値(理論空燃比stoich/目標空燃比abyfr)に設定し、ステップ1695を経由して図14のステップ1420に戻る。なお、この間においても、図8に示した空燃比フィードバック制御は行われている。従って、以上の作動により、機関に供給される混合気の空燃比が設定リッチ空燃比へと強制的に制御される。
図14のステップ1420に戻ったCPU81は、同ステップ1420にて設定リッチ制御フラグXrichの値を「1」に設定し、続くステップ1425にて空燃比アクティブ制御カウンタCkyoの値を「1」に設定する。次いで、CPU81はステップ1430にて酸素放出量Semitの値を「0」に設定し、ステップ1435にて最終燃料噴射時間合計値Stauallの値を「0」に設定してから、ステップ1495にて本ルーチンを一旦終了する。従って、この時点から、酸素放出量Semit及び最終燃料噴射時間合計値Stauallが、「0」から増大して行く。
この状態で、CPU81が図13のステップ1320に再び進むと、CPU81は図14のステップ1400、1405及びステップ1410へと進む。このとき、先のステップ1425にて空燃比アクティブ制御カウンタCkyoの値は「1」に設定されているから、CPU81はステップ1410にて「No」と判定し、ステップ1440に進んで空燃比アクティブ制御カウンタCkyoの値が「1」であるか否かを判定する。
この時点では、先のステップ1425の処理の実行により、空燃比アクティブ制御カウンタCkyoの値は「1」となっている。従って、CPU81はステップ1440にて「Yes」と判定してステップ1445に進み、下流側空燃比センサ68の出力Voxsが閾値Voxsref−aより小さい状態(理論空燃比よりもリーンな空燃比を示した状態)から閾値Voxsref+a以上の状態(理論空燃比よりもリッチな空燃比を示した状態)へと変化した直後であるか否かを判定する。
いま、先のステップ1415にて強制リッチ制御を開始したとき、上流側触媒53に酸素が吸蔵されていたとすると、現時点は同強制リッチ制御を開始した直後であるから、上流側触媒53からリッチな空燃比のガスは流出していない。従って、下流側空燃比センサ68の出力Voxsは閾値Voxsref−aより小さい状態にあるから、CPU81はステップ1445にて「No」と判定してステップ1450に進み、酸素放出量Semitが所定の酸素収支閾値Sth以上となったか否かを判定する。この場合、強制リッチ制御を開始した直後であるから、酸素放出量Semitは所定の酸素収支閾値Sth以上となっていない。従って、CPU81は、ステップ1450にても「No」と判定してステップ1495に進み、本ルーチンを一旦終了する。
ところで、上流側触媒53の劣化が進行していて、その最大酸素吸蔵量Cmaxが小さくなっているとすれば、酸素放出量Semitが所定の酸素収支閾値Sth以上となる前に上流側触媒53からリッチなガス(未燃成分を多量に含むガス)が流出する。従って、下流側空燃比センサ68の出力Voxsが閾値Voxsref−aより小さい状態から閾値Voxsref+a以上の状態へと変化する。この時点でCPU81がステップ1445を実行すると、同CPU81は同ステップ1445にて「Yes」と判定し、ステップ1455に進んで酸素収支量Syushiに「0」を設定する。従って、この時点から、酸素収支量Syushiが「0」から増大して行く。
一方、上流側触媒53の劣化が進行しておらず、その最大酸素吸蔵量Cmaxが大きい場合、上流側触媒53からリッチなガスが流出する前に、酸素放出量Semitが所定の酸素収支閾値Sth以上となる。この時点でCPU81がステップ1445を実行すると、同CPU81は同ステップ1445にて「No」と判定するとともに、ステップ1450にて「Yes」と判定してステップ1455に進み、酸素収支量Syushiに「0」を設定する。
また、先のステップ1415にて強制リッチ制御を開始したとき、上流側触媒53に酸素が吸蔵されていなかったとすると、その時点で下流側空燃比センサ68の出力Voxsは閾値Voxsref+a以上の状態(リッチ空燃比を示している状態)にある。従って、CPU81は、ステップ1445にて「No」と判定し続け、酸素放出量Semitが所定の酸素収支閾値Sth以上となった時点でステップ1450にて「Yes」と判定し、ステップ1455に進んで酸素収支量Syushiに「0」を設定する。
次いで、CPU81はステップ1460に進み、機関に供給される混合気の空燃比を設定リーン空燃比とするための強制リーン制御を行う。
即ち、CPU81は、ステップ1460に進んだとき、図17のステップ1700に続くステップ1705に進み、目標空燃比abyfrに理論空燃比stoichよりリーンな空燃比abyfleanを設定する。次いで、CPU81は、ステップ1710にて空燃比アクティブ制御係数kactiveを「1」より小さい所定の値(理論空燃比stoich/目標空燃比abyfr)に設定し、ステップ1795を経由して図14のステップ1465に戻る。この間においても、図8に示した空燃比フィードバック制御は行われている。従って、以上の作動により、機関に供給される混合気の空燃比が設定リーン空燃比へと強制的に制御される。
図14のステップ1465に戻ったCPU81は、同ステップ1465にて設定リッチ制御フラグXrichの値を「0」に設定し、続くステップ1470にて空燃比アクティブ制御カウンタCkyoの値を「2」に設定する。次いで、CPU81はステップ1475にて触媒劣化指標値としての下流側空燃比センサ68の出力Voxsの軌跡長Lengthを「0」に設定するとともに、ステップ1480にて下流側空燃比センサ68の出力Voxsを前回の下流側空燃比センサ68の出力Voxsoldとして格納する。ステップ1475及びステップ1480による処理は、軌跡長Lengthの取得を始めるための処理である。そして、CPU81は、ステップ1495にて本ルーチンの処理を一旦終了する。
次に、CPU81が本ルーチンの処理を再び開始すると、空燃比アクティブ制御カウンタCkyoの値が先のステップ1470にて「2」に変更されているから、CPU81はステップ1410及びステップ1440の両ステップにて「No」と判定し、図15に示したステップ1505に進んで設定リッチ制御フラグXrichの値が「0」であるか否かを判定する。
この場合、設定リッチ制御フラグXrichの値は、先のステップ1465にて「0」に変更されている。従って、CPU81は、ステップ1505にて「Yes」と判定してステップ1510に進み、下流側空燃比センサ68の出力Voxsが閾値Voxsref+a以上の状態(理論空燃比よりもリッチな空燃比を示した状態)から閾値Voxsref−aより小さい状態(理論空燃比よりもリーンな空燃比を示した状態)へと変化した直後であるか否かを判定する。
この場合、強制リーン制御を開始した直後であるから、上流側触媒53からはリーンな空燃比のガスが流出していない。従って、下流側空燃比センサ68の出力Voxsは閾値Voxsref−aより小さい値に変化しないから、CPU81はステップ1510にて「No」と判定してステップ1515に進み、酸素収支量Syushiが所定の酸素収支閾値Sth以上となったか否かを判定する。この場合、強制リーン制御を開始した直後であるから、酸素収支量Syushiは所定の酸素収支閾値Sth以上となっていない。
従って、CPU81は、ステップ1515にても「No」と判定してステップ1520に進み、軌跡長Lengthを下記(25)式に従って更新する。即ち、その時点の軌跡長Lengthに、現在(今回)の下流側空燃比センサ68の出力Voxsと前回の下流側空燃比センサ68の出力Voxsoldの差の絶対値を加えることにより、軌跡長Lengthを算出する。
Length=Length+|Voxs − Voxsold|
… (25)
Length=Length+|Voxs − Voxsold|
… (25)
次に、CPU81はステップ1525に進み、下流側空燃比センサ68の出力Voxsを前回の下流側空燃比センサ68の出力Voxsoldとして格納し、その後ステップ1495に進んで本ルーチンを一旦終了する。
いま、上流側触媒53の劣化が進行していて、その最大酸素吸蔵量Cmaxが小さくなっているとすれば、酸素収支量Syushiが所定の酸素収支閾値Sth以上となる前に上流側触媒53からリーンなガス(酸素を多量に含むガス)が流出する。従って、下流側空燃比センサ68の出力Voxsが閾値Voxsref+a以上である状態から閾値Voxsref−aより小さい状態へと変化する。この時点でCPU81がステップ1510を実行すると、同CPU81は同ステップ1510にて「Yes」と判定し、ステップ1530に進んで強制リッチ制御を行う。
そして、CPU81はステップ1535にて設定リッチ制御フラグXrichの値を「1」に設定するとともに、ステップ1540にて空燃比アクティブ制御カウンタCkyoの値を「1」だけ増大し、ステップ1520及びステップ1525の処理を実行して本ルーチンを一旦終了する。
一方、上流側触媒53の劣化が進行しておらず、その最大酸素吸蔵量Cmaxが大きい場合、上流側触媒53からリーンなガスが流出する前に、酸素収支量Syushiが所定の酸素収支閾値Sth以上となる。この時点でCPU81がステップ1510を実行すると、同CPU81は同ステップ1510にて「No」と判定するとともに、ステップ1515にて「Yes」と判定し、ステップ1530〜ステップ1540、ステップ1520及びステップ1525の処理を実行して本ルーチンを一旦終了する。これにより、空燃比が再び設定リッチ空燃比へと強制的に変更される。
次に、CPU81が本ルーチンの処理を再び開始すると、この時点で、空燃比アクティブ制御カウンタCkyoの値は先のステップ1540にて「1」だけ増大されて「3」に変更されている。また、設定リッチ制御フラグXrichの値は先のステップ1535にて「1」に変更されている。従って、CPU81は、図14に示したステップ1410及びステップ1440の両ステップにて「No」と判定し、図15に示したステップ1505にても「No」と判定してステップ1545に進む。
そして、CPU81は、ステップ1545にてステップ1445と同じ判定を行う。即ち、下流側空燃比センサ68の出力Voxsがリーンを示す値からリッチを示す値に変化した直後であるか否かを判定する
この場合、強制リッチ制御を再開した直後であるから、上流側触媒53からはリッチな空燃比のガスが流出していない。従って、下流側空燃比センサ68の出力Voxsは閾値Voxsref+a以上の状態には変化しないから、CPU81はステップ1545にて「No」と判定してステップ1550に進み、酸素収支量Syushiが0より小さい(負の値であるか)否かを判定する。この場合、強制リッチ制御を開始した直後であるから、酸素収支量Syushiは0より小さくなっていない。従って、CPU81は、ステップ1550にても「No」と判定してステップ1520及びステップ1525を経由し、ステップ1495に進んで本ルーチンを一旦終了する。
いま、上流側触媒53の劣化が進行していて、その最大酸素吸蔵量Cmaxが小さくなっているとすれば、酸素収支量Syushiが0より小さくなる前に上流側触媒53からリッチなガスが流出する。従って、下流側空燃比センサ68の出力Voxsが閾値Voxsref−aより小さい状態から閾値Voxsref+a以上である状態へと変化する。この時点でCPU81がステップ1545を実行すると、同CPU81は同ステップ1545にて「Yes」と判定し、ステップ1555に進んで酸素収支量Syushiの値を「0」に設定し直す。これは、上流側触媒53からリッチな空燃比のガスが流出しているから、上流側触媒53には全く酸素が吸蔵されていないと考えられるからである。
次いで、CPU81はステップ1560にて再び強制リーン制御を開始するとともに、続くステップ1565にて設定リッチ制御フラグXrichの値を「0」に設定する。その後、CPU81はステップ1570にて空燃比アクティブ制御カウンタCkyoの値を「1」だけ増大し、ステップ1520及びステップ1525の処理を実行して本ルーチンを一旦終了する。
一方、上流側触媒53の劣化が進行しておらず、その最大酸素吸蔵量Cmaxが大きい場合、上流側触媒53からリッチなガスが流出する前に、酸素収支量Syushiが0より小さい値となる。この時点でCPU81がステップ1545を実行すると、同CPU81は同ステップ1545にて「No」と判定するとともに、ステップ1550にて「Yes」と判定し、ステップ1560〜ステップ1570、ステップ1520及びステップ1525の処理を実行して本ルーチンを一旦終了する。これにより、空燃比が再び設定リーン空燃比へと強制的に変更される。
上述のような強制リーン制御及び強制リッチ制御が繰り返されると、空燃比アクティブ制御カウンタCkyoの値がステップ1540又はステップ1570の処理により次第に増大する。この間においても、CPU81は図13に示した触媒劣化検出ルーチンを繰り返し実行している。しかしながら、空燃比アクティブ制御カウンタCkyoの値が閾値Ckyothと等しくなるまでの期間、CPU81はステップ1318に進んだとき、「No」と判定して、ステップ1320に進んでいる。
また、所定の時間が経過すると空燃比アクティブ制御カウンタCkyoの値は、閾値Ckyothと等しくなる。この時点で、CPU81が図13に示したルーチンを実行すると、CPU81は、ステップ1318にて「Yes」と判定し、ステップ1322に進んで空燃比アクティブ制御カウンタCkyoの値を「0」に設定し直すとともに、ステップ1324にて直後学習要求フラグXlategの値を「1」に設定する。
更に、CPU81は、ステップ1326にて目標空燃比abyfrに理論空燃比stoichを設定し、続くステップ1328にて空燃比アクティブ制御係数kactiveに「1」を設定した後、本ルーチンを一旦終了する。以上により、空燃比が理論空燃比に制御され始める。
次に、CPU81が図13に示した触媒劣化検出ルーチンを開始すると、直後学習要求フラグXlategの値が先のステップ1324にて「1」に変更されているから、CPU81はステップ1302にて「No」と判定してステップ1334に進み、現時点は、直後学習要求フラグXlategの値が「0」から「1」へと変化した時点から所定時間が経過したか否かを判定する。
現時点は、先のステップ1324にて直後学習要求フラグXlategの値が「1」に変更された直後である。従って、CPU81はステップ1334にて「No」と判定し、そののままステップ1395に進んで本ルーチンを一旦終了する。
一方、CPU81が図11に示した第2学習制御ルーチンを実行すると、直前学習要求フラグXabyfgの値は「0」、直後学習要求フラグXlategの値は「1」となっているから、CPU81は、ステップ1102にて「No」、ステップ1104にて「Yes」と判定してステップ1136に進み、空燃比フィードバック係数平均値のピーク値FAFAVEPKの変化に対する第2安定化判定値DLPKthに所定値a2を設定する。この所定値a2は、前述したステップ1106にて使用される所定値a1以上の値に選択される。
次いで、CPU81はステップ1138に進み、第2安定化判定値nthに所定値b2を設定する。この所定値b2は、ステップ1108にて使用される所定値b1より小さい値に設定される。その後、CPU81は、ステップ1110以降のステップの処理を実行し、空燃比アクティブ制御直前第2学習値efafgmaeを取得した場合と同様にして空燃比アクティブ制御直後第2学習値efafgatoを取得する。
このとき、ステップ1208にて第2安定化判定値DLPKthとして所定値a2が使用され、ステップ1210にて値nthとして所定値b2が使用される。これらにより、空燃比アクティブ制御の直前の第2学習制御よりも空燃比アクティブ制御の直後の第2学習制御の方が、その学習条件が緩和される。即ち、学習機会(第2学習値を取得できる機会)が増大する。換言すると、空燃比アクティブ制御直後第1学習値efafgatoを取得する可能性は、空燃比アクティブ制御直後第2学習値efafgmaeを取得する可能性より大きくなる。
また、この場合、ステップ1224にて第2学習値efafgが取得され、その後、CPU81がステップ1230に進むと、直前学習要求フラグXabyfgの値は「0」となっていることから、同CPU81は同ステップ1230にて「No」と判定し、ステップ1236に直接進む。更に、直後学習要求フラグXlategの値が「1」になっていることから、CPU81はステップ1236にて「Yes」と判定し、ステップ1238に進んでステップ1224にて格納した第2学習値efafgを空燃比アクティブ制御直後第2学習値efafgatoとして格納するとともに、続くステップ1240にて直後学習要求フラグXlategの値を「0」に設定する。
このとき、CPU81が図13に示した触媒劣化検出ルーチンの処理を実行すると、直後学習要求フラグXlategの値が「1」から「0」に変更された直後であるから、CPU81はステップ1300に続くステップ1302、ステップ1304及びステップ1315の各ステップにて「Yes」と判定し、ステップ1330に進んで触媒劣化判定を実行する。
より具体的に述べると、CPU81はステップ1330に進んだとき、図18に示した触媒劣化判定サブルーチンの処理をステップ1800から開始し、ステップ1805にて上記(22)式に従って空燃比アクティブ制御直前第2学習値efafgmaeと空燃比アクティブ制御直後第2学習値efafgatoの平均値を平均第2学習値efafgaveとして求める。次いで、CPU81はステップ1810にて上記(23)式に従って中心空燃比変動値Hyokaを求める。
次に、CPU81は、ステップ1815にて中心空燃比変動値Hyokaが所定閾値Hyokathより小さいか否か判定する。このとき、空燃比アクティブ制御期間中の中心の変化が小さければ、中心空燃比変動値Hyokaは所定閾値Hyokathより小さいから、CPU81はステップ1815にて「Yes」と判定してステップ1820に進み、軌跡長Lengthが劣化判定閾値Ldetより大きいか否かを判定する。
そして、軌跡長Lengthが劣化判定閾値Ldetより大きければ、CPU81はステップ1820にて「Yes」と判定してステップ1825に進み、上流側触媒53が劣化していることを示すために触媒劣化フラグXdeteに「1」を設定するとともに、触媒正常フラグXokに「0」を設定してステップ1895に進み、本ルーチンを一旦終了する。
一方、軌跡長Lengthが劣化判定閾値Ldet以下であれば、CPU81はステップ1820にて「No」と判定してステップ1835に進み、触媒劣化フラグXdeteに「0」を設定するとともに、触媒が正常であることを(劣化していないことを)示すために触媒正常フラグXokに「1」を設定してステップ1895に進み、本ルーチンを一旦終了する。
その後、CPU81は図13のステップ1332に進み、触媒劣化判定実行中フラグXafrefの値を「0」に設定し、ステップ1395に進んで本ルーチンを一旦終了する。
他方、図18のステップ1815の実行時において、中心空燃比変動値Hyokaが所定閾値Hyokath以上であると、CPU81はステップ1815にて「No」と判定してステップ1895に直接進んで本ルーチンを一旦終了する。即ち、今回得られた軌跡長Lengthに基づく触媒劣化判定を事実上禁止(キャンセル)する。
ところで、空燃比アクティブ制御終了後に学習機会(第2学習値efafgを取得する機会)が得られず、所定時間が経過しても空燃比アクティブ制御直後第2学習値efafgatoが得られない場合、直後学習要求フラグXlategの値は、「1」に変更されてから所定時間が経過しても「0」に変更されない。従って、CPU81は、図13のステップ1302にて「No」、ステップ1334にて「Yes」と判定してステップ1336に進み、触媒劣化判定実行中フラグXafref及び直後学習要求フラグXlategの値を「0」に設定するとともに、ステップ1338にて軌跡長Lengthの値を「0」に設定する。
この結果、CPU81がステップ1330に進むことはなく、今回得られた軌跡長Lengthに基づく触媒劣化判定が禁止される(キャンセルされる)。これは、空燃比アクティブ制御直後第2学習値efafgatoが空燃比アクティブ制御終了直後に得られない場合、空燃比アクティブ制御中の中心空燃比の変化の評価が正確にできない(中心空燃比変動値Hyokaが求められない)ので、軌跡長Lengthが触媒劣化の程度を精度良く反映しているか否かの判断ができないからである。
以上、本発明による触媒劣化判定装置の一実施形態によれば、エミッションを悪化させることを極力回避しながら、触媒の劣化判定を誤判定なく行うことができる。
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、触媒劣化指標値は、下流側空燃比センサ68の出力Voxsの出力波形(即ち、軌跡長の他、下流側空燃比センサ68の出力Voxsが所定の値(例えば閾値Voxsref)を横切る頻度(周波数)や、下流側空燃比センサ68の出力Voxsと所定値(例えば閾値Voxsref)とにより囲まれる部分の面積等)であってもよい。
また、空燃比アクティブ制御中において、下流側空燃比センサ68の出力Voxsが理論空燃比よりもリッチである空燃比を示す値(状態)から理論空燃比よりもリーンである空燃比を示す値(状態)に変化した時点から、機関に供給される混合気の空燃比を設定リッチ空燃比に固定するとともに上記酸素収支の変化量delO2(の絶対値)を積分し、下流側空燃比センサ68の出力Voxsが理論空燃比よりもリーンである空燃比を示す値から理論空燃比よりもリッチである空燃比を示す値に変化する時点での酸素収支の変化量delO2の積分値を同触媒の最大酸素吸蔵量を触媒劣化指標値として求め、この最大酸素吸蔵量が劣化判定用最大酸素吸蔵量より小さいとき、上流側触媒53が劣化していると判定するように構成してもよい。
同様に、空燃比アクティブ制御中において、下流側空燃比センサ68の出力Voxsが理論空燃比よりもリーンである空燃比を示す値(状態)から理論空燃比よりもリッチである空燃比を示す値(状態)に変化した時点から、機関に供給される混合気の空燃比を設定リーン空燃比に固定するとともに上記酸素収支の変化量delO2(の絶対値)を積分し、下流側空燃比センサ68の出力Voxsが理論空燃比よりもリッチである空燃比を示す値から理論空燃比よりもリーンである空燃比を示す値に変化する時点での酸素収支の変化量delO2の積分値を同触媒の最大酸素吸蔵量を触媒劣化指標値として求め、この最大酸素吸蔵量が劣化判定用最大酸素吸蔵量より小さいとき、上流側触媒53が劣化していると判定するように構成してもよい。
また、上流側空燃比センサ67は、下流側空燃比センサ68と同様な酸素濃度センサであってもよい。この場合、上流側の酸素濃度センサの出力がリーンであることを示したときに次第に増大し、リッチであることを示したときに次第に減少するとともに、上流側の酸素濃度センサの出力がリーンからリッチへと変化したことを示したときに所定量SKlだけスキップ的に減少し、リッチからリーンへと変化したことを示したときに所定量SKrだけスキップ状に増大するフィードバック量を求め、これを基本燃料噴射時間tfbseに乗じることで最終燃料噴射時間taufinalを求めてもよい。
そして、このようなフィードバック制御において、下流側空燃比センサ68の出力Voxsが目標値Voxsrefより小さいとき所定量SKrを次第に増大させるとともに所定量SKlを次第に減少せしめ、下流側空燃比センサ68の出力Voxsが目標値Voxsrefより大きいとき所定量SKrを次第に減少させるとともに所定量SKlを次第に増大せしめてもよい。
更に、上記第2学習値efafgも、第1学習値efafgxと同様に、機関の運転領域毎に求めるように構成してもよい。
25…燃焼室、32…吸気弁、35…排気弁、39…インジェクタ、53…上流側触媒、67…空燃比センサ、68…酸素濃度センサ、80…電気制御装置、81…CPU。
Claims (15)
- 内燃機関の排気通路に配設された触媒と、
前記排気通路の前記触媒の上流に配設されて同排気通路内のガスの空燃比に応じた値を出力する上流側空燃比センサと、
前記排気通路の前記触媒の下流に配設されて同触媒から流出するガスの空燃比に応じた値を出力する下流側空燃比センサと、
前記機関に供給される混合気の空燃比を所定の目標空燃比にするためのフィードフォワード燃料噴射量を前記機関の運転状態量に応じて決定するフィードフォワード燃料噴射量決定手段と、
前記機関に供給される混合気の空燃比を前記所定の目標空燃比と一致させるために前記フィードフォワード燃料噴射量を補正するように用いられるフィードバック量を前記上流側空燃比センサの出力に基づいて算出するフィードバック量算出手段と、
前記フィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定する最終燃料噴射時間決定手段と、
前記決定された最終燃料噴射時間だけ所定の流量で燃料を噴射する燃料噴射手段と、
所定の学習条件が満たされたとき、前記フィードバック量の平均的な値に相当する学習値を同フィードバック量に基づいて算出する学習値算出手段と、
所定の触媒劣化指標値取得条件が満たされたとき、前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比である設定リッチ空燃比と同理論空燃比よりもリーン側の空燃比である設定リーン空燃比とに交互に変更する空燃比アクティブ制御を行うように前記フィードフォワード燃料噴射量及び前記フィードバック量の少なくとも一方を変更する空燃比アクティブ制御手段と、
前記空燃比アクティブ制御手段により前記空燃比が変更されている期間において、前記最終燃料噴射時間と前記学習値とに基づいて実際に前記機関に供給された燃料量である実燃料量を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出する酸素収支変化量算出手段と、
前記空燃比アクティブ制御中に前記下流側空燃比センサの出力に基づいて前記触媒の劣化の程度を示す触媒劣化指標値を算出し、同算出された触媒劣化指標値に基づいて同触媒が劣化したか否かを判定する触媒劣化判定手段と、
を備えた触媒劣化判定装置であって、
前記空燃比アクティブ制御手段は、
前記所定の触媒劣化指標値取得条件が満たされたとき、前記学習値算出手段に前記学習値の算出を行わせ、同学習値の算出直後に前記空燃比アクティブ制御を実行するように構成された触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記空燃比アクティブ制御実行中において前記算出された酸素収支の変化量に基づいて前記触媒の酸素収支量を算出し、同酸素収支量が、前記触媒が劣化していると判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている酸素収支閾値に到達したとき及び0となったとき、同機関に供給される混合気の空燃比を前記設定リーン空燃比から前記設定リッチ空燃比に及びその逆へそれぞれ切り換えるように構成された触媒劣化判定装置。 - 請求項2に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記機関に供給される混合気の空燃比を前記設定リーン空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリッチな空燃比を示す値から理論空燃比よりもリーンな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リッチ空燃比に切り換え、
前記機関に供給される混合気の空燃比を前記設定リッチ空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリーンな空燃比を示す値から理論空燃比よりもリッチな空燃比を示す値に変化したとき、前記算出された酸素収支量の値に関わらず同機関に供給される混合気の空燃比を前記設定リーン空燃比に切り換えるように構成された触媒劣化判定装置。 - 請求項1乃至請求項3の何れか一項に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、
前記空燃比アクティブ制御終了直後であって前記触媒劣化指標値に基づく前記触媒劣化の判定を行う直前に、前記学習値算出手段に前記学習値の算出を再度行わせ、前記空燃比アクティブ制御直前に算出した学習値と同空燃比アクティブ制御直後に算出した学習値との偏差に基づいて中心空燃比の変化に応じた値を算出し、同中心空燃比の変化に応じた値が所定の中心空燃比変化閾値より大きいとき、同触媒劣化指標値に基づく触媒劣化判定を行わないように構成された触媒劣化判定装置。 - 請求項2又は請求項3に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、
前記空燃比アクティブ制御終了直後であって前記触媒劣化指標値に基づく前記触媒劣化の判定を行う直前に前記学習値算出手段に前記学習値の算出を再度行わせ、前記空燃比アクティブ制御直前に算出した学習値と同空燃比アクティブ制御直後に算出した学習値との偏差に基づいて中心空燃比の変化に応じた値を算出し、同中心空燃比の変化に応じた値が所定の中心空燃比変化閾値より大きいとき、同触媒劣化指標値に基づく触媒劣化判定を行わないように構成され、前記所定の中心空燃比変化閾値が前記酸素収支閾値が大きくなるほど大きくなるように設定されている触媒劣化判定装置。 - 請求項4又は請求項5に記載の触媒劣化判定装置において、
前記学習値算出手段は、
前記空燃比アクティブ制御の直前に行う前記学習値の算出に対する学習条件よりも前記空燃比アクティブ制御の直後に行う前記学習値の算出に対する学習条件を緩和させた触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置であって、
前記学習値算出手段は、
前記所定の学習条件とは異なる別の学習条件が満たされたとき前記フィードバック量の平均値に対応する値を算出するとともに、同平均値に対応する値が正の所定値より大きい場合に増大され且つ同平均値に対応する値が負の所定値より小さい場合に減少されるように第1学習値を算出し、前記所定の学習条件が満たされたとき前記フィードバック量の平均値に対応する他の値を第2の学習値として算出し、
前記最終燃料噴射時間決定手段は、
前記フィードフォワード燃料噴射量を少なくとも前記第1学習値により補正するとともに、同補正されたフィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定し、
前記酸素収支変化量算出手段は、
前記最終燃料噴射時間と前記第1学習値及び前記第2学習値とに基づいて前記実燃料量を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出し、
前記空燃比アクティブ制御手段は、
前記所定の触媒劣化指標値取得条件が満たされたとき、前記学習値算出手段に前記第2学習値の算出を行わせ、同第2学習値の算出直後に前記空燃比アクティブ制御を実行するように構成された触媒劣化判定装置。 - 請求項4に記載の触媒劣化判定装置であって、
前記学習値算出手段は、
前記所定の学習条件とは異なる別の学習条件が満たされたとき前記フィードバック量の平均値に対応する値を算出するとともに、同平均値に対応する値が正の所定値より大きい場合に増大され且つ同平均値に対応する値が負の所定値より小さい場合に減少されるように第1学習値を算出し、前記所定の学習条件が満たされたとき前記フィードバック量の平均値に対応する他の値を第2の学習値として算出し、
前記最終燃料噴射時間決定手段は、
前記フィードフォワード燃料噴射量を少なくとも前記第1学習値により補正するとともに、同補正されたフィードフォワード燃料噴射量を前記フィードバック量で補正することにより最終燃料噴射時間を決定し、
前記酸素収支変化量算出手段は、
前記最終燃料噴射時間と前記第1学習値及び前記第2学習値とに基づいて前記実燃料量を算出し、同算出された実燃料量に基づいて前記触媒の酸素収支の変化量を算出し、
前記空燃比アクティブ制御手段は、
前記所定の触媒劣化指標値取得条件が満たされたとき、前記学習値算出手段に前記第2学習値の算出を行わせ、同第2学習値の算出直後に前記空燃比アクティブ制御を実行し、
前記触媒劣化判定手段は、
前記空燃比アクティブ制御終了直後であって前記触媒劣化の判定を行う直前に、前記学習値算出手段に前記第2学習値の算出を再度行わせ、同空燃比アクティブ制御直前に算出した第2学習値と同空燃比アクティブ制御直後に算出した第2学習値との偏差に基づいて前記中心空燃比の変化に応じた値を算出するように構成された触媒劣化判定装置。 - 請求項1乃至請求項8の何れか一項に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、前記下流側空燃比センサの出力の波形に応じた値を前記触媒劣化指標値として算出する触媒劣化判定装置。 - 請求項9に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、前記下流側空燃比センサの出力の軌跡長を前記触媒劣化指標値として算出する触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置において、
前記触媒劣化判定手段は、前記算出された触媒の酸素収支の変化量に基づき前記触媒の最大酸素吸蔵量を前記触媒劣化指標値として算出する触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記空燃比アクティブ制御実行中において前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比である設定リッチ空燃比に設定した時点から前記算出された酸素収支の変化量に基づいての前記触媒の酸素放出量を算出し、同酸素放出量が、前記触媒が劣化していると判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている酸素収支閾値に到達したとき、同機関に供給される混合気の空燃比を前記設定リッチ空燃比から前記設定リーン空燃比に切り換えるように構成された触媒劣化判定装置。 - 請求項12に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記機関に供給される混合気の空燃比を前記設定リッチ空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリーンな空燃比を示す値から理論空燃比よりもリッチな空燃比を示す値に変化したとき、前記算出された酸素放出量の値に関わらず同機関に供給される混合気の空燃比を前記設定リーン空燃比に切り換えるように構成された触媒劣化判定装置。 - 請求項1に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記空燃比アクティブ制御実行中において前記機関に供給される混合気の空燃比を理論空燃比よりもリーン側の空燃比である設定リーン空燃比に設定した時点から前記算出された酸素収支の変化量に基づいての前記触媒の酸素吸収量を算出し、同酸素吸収量が、前記触媒が劣化していると判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最大値より大きく且つ同触媒が劣化していないと判定すべき触媒である場合に示す同触媒の最大酸素吸蔵量の最小値より小さい値に設定されている酸素収支閾値に到達したとき、同機関に供給される混合気の空燃比を前記設定リーン空燃比から前記設定リッチ空燃比に切り換えるように構成された触媒劣化判定装置。 - 請求項14に記載の触媒劣化判定装置において、
前記空燃比アクティブ制御手段は、
前記機関に供給される混合気の空燃比を前記設定リーン空燃比に設定している場合、前記下流側空燃比センサの出力が理論空燃比よりもリッチな空燃比を示す値から理論空燃比よりもリーンな空燃比を示す値に変化したとき、前記算出された酸素吸収量の値に関わらず同機関に供給される混合気の空燃比を前記設定リッチ空燃比に切り換えるように構成された触媒劣化判定装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004004551A JP2005194981A (ja) | 2004-01-09 | 2004-01-09 | 触媒劣化判定装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004004551A JP2005194981A (ja) | 2004-01-09 | 2004-01-09 | 触媒劣化判定装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005194981A true JP2005194981A (ja) | 2005-07-21 |
Family
ID=34819138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004004551A Pending JP2005194981A (ja) | 2004-01-09 | 2004-01-09 | 触媒劣化判定装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005194981A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007145141A1 (ja) * | 2006-06-16 | 2007-12-21 | Toyota Jidosha Kabushiki Kaisha | 触媒劣化検出装置 |
JP2008025490A (ja) * | 2006-07-21 | 2008-02-07 | Toyota Motor Corp | 内燃機関の触媒劣化検出装置 |
EP2063090A1 (en) | 2007-11-26 | 2009-05-27 | Toyota Jidosha Kabushiki Kaisha | Control apparatus for internal combustion engine |
US7779620B2 (en) | 2006-06-06 | 2010-08-24 | Mitsubishi Electric Corporation | Air-fuel ratio feedback control device |
US20150089927A1 (en) * | 2013-10-02 | 2015-04-02 | Toyota Jidosha Kabushiki Kaisha | Abnormality diagnosis system of internal combustion engine |
-
2004
- 2004-01-09 JP JP2004004551A patent/JP2005194981A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779620B2 (en) | 2006-06-06 | 2010-08-24 | Mitsubishi Electric Corporation | Air-fuel ratio feedback control device |
WO2007145141A1 (ja) * | 2006-06-16 | 2007-12-21 | Toyota Jidosha Kabushiki Kaisha | 触媒劣化検出装置 |
JP2007332914A (ja) * | 2006-06-16 | 2007-12-27 | Toyota Motor Corp | 触媒劣化検出装置 |
JP4497132B2 (ja) * | 2006-06-16 | 2010-07-07 | トヨタ自動車株式会社 | 触媒劣化検出装置 |
US8020371B2 (en) | 2006-06-16 | 2011-09-20 | Toyota Jidosha Kabushiki Kaisha | Catalyst deterioration detection device |
JP2008025490A (ja) * | 2006-07-21 | 2008-02-07 | Toyota Motor Corp | 内燃機関の触媒劣化検出装置 |
JP4671130B2 (ja) * | 2006-07-21 | 2011-04-13 | トヨタ自動車株式会社 | 内燃機関の触媒劣化検出装置 |
EP2063090A1 (en) | 2007-11-26 | 2009-05-27 | Toyota Jidosha Kabushiki Kaisha | Control apparatus for internal combustion engine |
US20150089927A1 (en) * | 2013-10-02 | 2015-04-02 | Toyota Jidosha Kabushiki Kaisha | Abnormality diagnosis system of internal combustion engine |
US9677490B2 (en) | 2013-10-02 | 2017-06-13 | Toyota Jidosha Kabushiki Kaisha | Abnormality diagnosis system of internal combustion engine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8670917B2 (en) | Air-fuel-ratio imbalance determination apparatus for internal combustion engine | |
US9726103B2 (en) | Fuel injection amount control apparatus for an internal combustion engine | |
US7918085B2 (en) | Fuel-injection control device for internal-combustion engine | |
US8401766B2 (en) | Inter-cylinder air-fuel ratio imbalance determination apparatus for internal combustion engine | |
US8560208B2 (en) | Inter-cylinder air-fuel ratio imbalance determination apparatus for internal combustion engine | |
JP4380745B2 (ja) | 内燃機関の触媒の劣化度合い取得装置 | |
JP5041100B2 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
US8401765B2 (en) | Inter-cylinder air-fuel ratio imbalance determination apparatus for internal combustion engine | |
JP5170320B2 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
JP3922091B2 (ja) | 内燃機関の空燃比制御装置 | |
US7874143B2 (en) | Air-fuel ratio control apparatus of internal combustion engine and control method thereof | |
JP2007239700A (ja) | 内燃機関の燃料噴射制御装置 | |
JP2005194981A (ja) | 触媒劣化判定装置 | |
JP4807359B2 (ja) | 内燃機関の空燃比制御装置 | |
WO2011033687A1 (ja) | 内燃機関の空燃比気筒間インバランス判定装置 | |
JP2005207286A (ja) | 触媒劣化判定装置 | |
JP2012017657A (ja) | 内燃機関の燃料噴射量制御装置 | |
JP4349205B2 (ja) | 空燃比制御装置 | |
JP3879596B2 (ja) | 空燃比センサ状態判定装置 | |
JP2012062775A (ja) | 内燃機関の空燃比制御装置 | |
JP2012041850A (ja) | 内燃機関の排気浄化のための制御装置 | |
JP2007247574A (ja) | 内燃機関の空燃比制御装置 | |
JP2004036393A (ja) | 筒内噴射式内燃機関の空燃比制御装置 | |
JP2006200364A (ja) | 内燃機関の空燃比制御装置 |