JP3356869B2 - 空燃比制御装置 - Google Patents
空燃比制御装置Info
- Publication number
- JP3356869B2 JP3356869B2 JP07665194A JP7665194A JP3356869B2 JP 3356869 B2 JP3356869 B2 JP 3356869B2 JP 07665194 A JP07665194 A JP 07665194A JP 7665194 A JP7665194 A JP 7665194A JP 3356869 B2 JP3356869 B2 JP 3356869B2
- Authority
- JP
- Japan
- Prior art keywords
- air
- fuel ratio
- value
- catalyst
- oxygen storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
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)
Description
【0001】
【産業上の利用分野】本発明は、内燃機関の空燃比フィ
ードバック制御時に排気系に設けられた触媒コンバータ
に流入する排気ガスの空燃比を推定する空燃比制御装置
に関する。
ードバック制御時に排気系に設けられた触媒コンバータ
に流入する排気ガスの空燃比を推定する空燃比制御装置
に関する。
【0002】
【従来の技術】従来より、本願出願人は、触媒コンバー
タの浄化率を向上させるために、触媒コンバータに流入
する排気ガスの空燃比から触媒コンバータの触媒に蓄積
された酸素蓄積量を推定し、この酸素蓄積量から演算さ
れた触媒の酸素利用率に基づいて、触媒の浄化率が最大
となるように排気ガスの空燃比を強制振動させることを
提案している(特願平5−329780号)。この空燃
比制御装置では、触媒の酸素蓄積量を演算するために必
要な触媒コンバータに流入する排気ガスの空燃比(空気
過剰率)を内燃機関の排気直後に配置されたO2センサ
の出力を用いて推定していた。すなわち、O2センサに
よって検出された空燃比(空気過剰率)が目標空燃比に
一致するように設定される補正係数KO2を算出し、さ
らにその平均値KO2AVEを補正係数KO2の加重平均
により算出し、補正係数KO2と補正係数KO2の平均
値KO2AVEとの比を計算して空燃比を推定していた。
タの浄化率を向上させるために、触媒コンバータに流入
する排気ガスの空燃比から触媒コンバータの触媒に蓄積
された酸素蓄積量を推定し、この酸素蓄積量から演算さ
れた触媒の酸素利用率に基づいて、触媒の浄化率が最大
となるように排気ガスの空燃比を強制振動させることを
提案している(特願平5−329780号)。この空燃
比制御装置では、触媒の酸素蓄積量を演算するために必
要な触媒コンバータに流入する排気ガスの空燃比(空気
過剰率)を内燃機関の排気直後に配置されたO2センサ
の出力を用いて推定していた。すなわち、O2センサに
よって検出された空燃比(空気過剰率)が目標空燃比に
一致するように設定される補正係数KO2を算出し、さ
らにその平均値KO2AVEを補正係数KO2の加重平均
により算出し、補正係数KO2と補正係数KO2の平均
値KO2AVEとの比を計算して空燃比を推定していた。
【0003】また、上記先行技術には、触媒コンバータ
の下流側にも酸素センサを設け、この酸素センサの出力
によって上流側の酸素センサの出力に基づいた補正係数
KO2を補正する空燃比フィードバック制御(2O2F
/B制御)が開示されているが、この空燃比フィードバ
ック制御において、下流側O2センサの出力によって補
正された空燃比フィードバック制御後の補正係数KO2
の平均値は略理論空燃比を示すので、前述のKO2/K
O2の平均値の比を算出することによって理論空燃比か
らずれのない空燃比を推定できる。
の下流側にも酸素センサを設け、この酸素センサの出力
によって上流側の酸素センサの出力に基づいた補正係数
KO2を補正する空燃比フィードバック制御(2O2F
/B制御)が開示されているが、この空燃比フィードバ
ック制御において、下流側O2センサの出力によって補
正された空燃比フィードバック制御後の補正係数KO2
の平均値は略理論空燃比を示すので、前述のKO2/K
O2の平均値の比を算出することによって理論空燃比か
らずれのない空燃比を推定できる。
【0004】
【発明が解決しようとする課題】しかしながら、以下に
掲げる点において尚一層の推定精度の向上が望まれてい
た。すなわち、排気ガスの熱によって活性を促進させる
ため、あるいは排気空燃比に対する応答速度を速めるた
めに酸素センサは内燃機関の排気弁直後に設けられてい
るが、排気弁直後のガスが触媒コンバータに流入するま
での排気通路において排気ガスは拡散、混合されるた
め、実際に触媒コンバータに流入する排気ガスの空燃比
は前記空燃比補正係数KO2に代表される排気弁直後の
矩形波的に変動する空燃比と異なり、滑らかな波形とな
る。従って、排気弁直後の排気ガスの空燃比と触媒コン
バータに流入する排気ガスの空燃比との間にずれが生
じ、前者の空燃比を基に算出される酸素蓄積量に誤差が
生じていた。
掲げる点において尚一層の推定精度の向上が望まれてい
た。すなわち、排気ガスの熱によって活性を促進させる
ため、あるいは排気空燃比に対する応答速度を速めるた
めに酸素センサは内燃機関の排気弁直後に設けられてい
るが、排気弁直後のガスが触媒コンバータに流入するま
での排気通路において排気ガスは拡散、混合されるた
め、実際に触媒コンバータに流入する排気ガスの空燃比
は前記空燃比補正係数KO2に代表される排気弁直後の
矩形波的に変動する空燃比と異なり、滑らかな波形とな
る。従って、排気弁直後の排気ガスの空燃比と触媒コン
バータに流入する排気ガスの空燃比との間にずれが生
じ、前者の空燃比を基に算出される酸素蓄積量に誤差が
生じていた。
【0005】また、下流側の酸素センサを用いた空燃比
フィードバック制御においては、上述のように下流側の
酸素センサの出力からズレのない空燃比が推定できる
が、この空燃比フィードバック制御の追従速度が遅いの
で、内燃機関の運転状態の過渡時において制御空燃比が
理論空燃比に収束するまでの間空燃比の推定精度が低下
してしまうといった問題もあった。
フィードバック制御においては、上述のように下流側の
酸素センサの出力からズレのない空燃比が推定できる
が、この空燃比フィードバック制御の追従速度が遅いの
で、内燃機関の運転状態の過渡時において制御空燃比が
理論空燃比に収束するまでの間空燃比の推定精度が低下
してしまうといった問題もあった。
【0006】そこで、本発明は触媒コンバータに流入す
る排気ガスの空燃比を精度良く推定することができる空
燃比制御装置を提供することを目的とする。
る排気ガスの空燃比を精度良く推定することができる空
燃比制御装置を提供することを目的とする。
【0007】
【0008】
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明の 請求項1に係る空燃比制御装置は、内燃機
関の触媒上流の排気通路に設けられた酸素センサと、該
酸素センサの出力に基づいて空燃比フィードバック制御
量を演算する制御量演算手段と、該空燃比フィードバッ
ク制御量に基づいて前記内燃機関に供給される混合気の
空燃比を制御する空燃比制御手段と、前記空燃比フィー
ドバック制御量を第1のなまし時定数でなまし処理する
ことによって、該空燃比フィードバック制御量の平均値
を求める第1のなまし手段と、前記内燃機関の運転状態
から求められ、前記第1のなまし時定数よりなまし度合
いが弱く設定された第2のなまし時定数で、前記空燃比
フィードバック制御量をなまし処理する第2のなまし手
段と、前記第1のなまし手段の出力と前記第2のなまし
手段の出力に基づいて前記触媒に流入する排気ガスの空
燃比を推定する空燃比推定手段とを備え、前記空燃比制
御手段は、前記推定された触媒に流入する排気ガスの空
燃比に基づき前記内燃機関の空燃比を制御することを特
徴とする。
に、本発明の 請求項1に係る空燃比制御装置は、内燃機
関の触媒上流の排気通路に設けられた酸素センサと、該
酸素センサの出力に基づいて空燃比フィードバック制御
量を演算する制御量演算手段と、該空燃比フィードバッ
ク制御量に基づいて前記内燃機関に供給される混合気の
空燃比を制御する空燃比制御手段と、前記空燃比フィー
ドバック制御量を第1のなまし時定数でなまし処理する
ことによって、該空燃比フィードバック制御量の平均値
を求める第1のなまし手段と、前記内燃機関の運転状態
から求められ、前記第1のなまし時定数よりなまし度合
いが弱く設定された第2のなまし時定数で、前記空燃比
フィードバック制御量をなまし処理する第2のなまし手
段と、前記第1のなまし手段の出力と前記第2のなまし
手段の出力に基づいて前記触媒に流入する排気ガスの空
燃比を推定する空燃比推定手段とを備え、前記空燃比制
御手段は、前記推定された触媒に流入する排気ガスの空
燃比に基づき前記内燃機関の空燃比を制御することを特
徴とする。
【0010】
【0011】請求項2に係る空燃比制御装置は、内燃機
関の触媒下流の排気通路に設けられた酸素センサと、該
下流の酸素センサの出力に基づいて前記推定された前記
触媒に流入する排気ガスの空燃比を補正する補正手段を
備える。
関の触媒下流の排気通路に設けられた酸素センサと、該
下流の酸素センサの出力に基づいて前記推定された前記
触媒に流入する排気ガスの空燃比を補正する補正手段を
備える。
【0012】
【0013】請求項3に係る空燃比制御装置では、前記
空燃比制御手段は、前記推定された触媒に流入する排気
ガスの空燃比に基づき触媒内の酸素蓄積量を推定し、該
推定された酸素蓄積量に基づいて内燃機関の空燃比を制
御する。
空燃比制御手段は、前記推定された触媒に流入する排気
ガスの空燃比に基づき触媒内の酸素蓄積量を推定し、該
推定された酸素蓄積量に基づいて内燃機関の空燃比を制
御する。
【0014】
【0015】
【0016】
【作用】本発明の 請求項1に係る空燃比制御装置では、
内燃機関の触媒上流の排気通路に設けられた酸素センサ
の出力に基づいて、制御量演算手段により空燃比フィー
ドバック制御量を演算し、空燃比制御手段により該空燃
比フィードバック制御量に基づいて前記内燃機関に供給
される混合気の空燃比を制御する際、第1のなまし手段
により前記空燃比フィードバック制御量を第1のなまし
時定数でなまし処理することによって、該空燃比フィー
ドバック制御量の平均値を求め、第2のなまし手段によ
り前記内燃機関の運転状態から求められ、前記第1のな
まし時定数よりなまし度合いが弱く設定された第2のな
まし時定数で、前記空燃比フィードバック制御量をなま
し処理し、空燃比推定手段により前記第1のなまし手段
の出力と前記第2のなまし手段の出力に基づいて前記触
媒に流入する排気ガスの空燃比を推定し、前記空燃比制
御手段は、前記推定された触媒に流入する排気ガスの空
燃比に基づき前記内燃機関の空燃比を制御する。
内燃機関の触媒上流の排気通路に設けられた酸素センサ
の出力に基づいて、制御量演算手段により空燃比フィー
ドバック制御量を演算し、空燃比制御手段により該空燃
比フィードバック制御量に基づいて前記内燃機関に供給
される混合気の空燃比を制御する際、第1のなまし手段
により前記空燃比フィードバック制御量を第1のなまし
時定数でなまし処理することによって、該空燃比フィー
ドバック制御量の平均値を求め、第2のなまし手段によ
り前記内燃機関の運転状態から求められ、前記第1のな
まし時定数よりなまし度合いが弱く設定された第2のな
まし時定数で、前記空燃比フィードバック制御量をなま
し処理し、空燃比推定手段により前記第1のなまし手段
の出力と前記第2のなまし手段の出力に基づいて前記触
媒に流入する排気ガスの空燃比を推定し、前記空燃比制
御手段は、前記推定された触媒に流入する排気ガスの空
燃比に基づき前記内燃機関の空燃比を制御する。
【0017】
【0018】請求項2に係る空燃比制御装置では、請求
項1記載の空燃比制御装置において、前記推定された前
記触媒に流入する排気ガスの空燃比を、補正手段により
前記内燃機関の触媒下流の排気通路に設けられた酸素セ
ンサの出力に基づいて補正する。
項1記載の空燃比制御装置において、前記推定された前
記触媒に流入する排気ガスの空燃比を、補正手段により
前記内燃機関の触媒下流の排気通路に設けられた酸素セ
ンサの出力に基づいて補正する。
【0019】
【0020】請求項3に係る空燃比制御装置では、請求
項1または2記載の空燃比制御装置において、前記空燃
比制御手段は該推定された触媒に流入する排気ガスの空
燃比に基づき触媒内の酸素蓄積量を推定し、該推定され
た酸素蓄積量に基づいて内燃機関の空燃比を制御する。
項1または2記載の空燃比制御装置において、前記空燃
比制御手段は該推定された触媒に流入する排気ガスの空
燃比に基づき触媒内の酸素蓄積量を推定し、該推定され
た酸素蓄積量に基づいて内燃機関の空燃比を制御する。
【0021】
【実施例】以下、本発明の空燃比制御装置の実施例を図
面に基づいて説明する。
面に基づいて説明する。
【0022】図1は、本実施例の空燃比制御装置を組み
込んだ空燃比制御装置を装置した内燃機関(以下単に
「エンジン」という)の全体構成図であり、例えば4気
筒のエンジン1の吸気管2の途中にはスロットル弁3が
設けられている。スロットル弁3にはスロットル弁開度
(θTH)センサ4が連結されており、当該スロットル
弁3の開度に応じた電気信号を出力して電子コントロー
ルユニット(以下「ECU」という)5に供給する。
込んだ空燃比制御装置を装置した内燃機関(以下単に
「エンジン」という)の全体構成図であり、例えば4気
筒のエンジン1の吸気管2の途中にはスロットル弁3が
設けられている。スロットル弁3にはスロットル弁開度
(θTH)センサ4が連結されており、当該スロットル
弁3の開度に応じた電気信号を出力して電子コントロー
ルユニット(以下「ECU」という)5に供給する。
【0023】燃料噴射弁6はエンジン1とスロットル弁
3との間且つ吸気管2の図示しない吸気弁の少し上流側
に各気筒毎に設けられており、各噴射弁は図示しない燃
料ポンプに接続されていると共にECU5に電気的に接
続されて当該ECU5からの信号により燃料噴射時間
(開弁時間)が制御される。
3との間且つ吸気管2の図示しない吸気弁の少し上流側
に各気筒毎に設けられており、各噴射弁は図示しない燃
料ポンプに接続されていると共にECU5に電気的に接
続されて当該ECU5からの信号により燃料噴射時間
(開弁時間)が制御される。
【0024】一方、スロットル弁3の直ぐ下流には吸気
管内絶対圧(PBA)センサ7が設けられており、この絶
対圧センサ7により電気信号に変換された絶対圧信号は
前記ECU5に供給される。また、その下流には吸気温
(TA)センサ8が取付けられており、吸気温TAを検
出して対応する電気信号を出力してECU5に供給す
る。
管内絶対圧(PBA)センサ7が設けられており、この絶
対圧センサ7により電気信号に変換された絶対圧信号は
前記ECU5に供給される。また、その下流には吸気温
(TA)センサ8が取付けられており、吸気温TAを検
出して対応する電気信号を出力してECU5に供給す
る。
【0025】エンジン1の本体に装着されたエンジン水
温(Tw)センサ9はサーミスタ等から成り、エンジン
水温(冷却水温)Twを検出して対応する温度信号を出
力してECU5に供給する。エンジン回転数(NE)セ
ンサ10及び気筒判別(CYL)センサ11はエンジン
1の図示しないカム軸周囲又はクランク軸周囲に取付け
られている。エンジン回転数センサ10はエンジン1の
クランク軸の180度回転毎に所定のクランク角度位置
でパルス(以下「TDC信号パルス」という)を出力
し、気筒判別センサ11は特定の気筒の所定のクランク
角度位置で信号パルスを出力するものであり、これらの
各信号パルスはECU5に供給される。
温(Tw)センサ9はサーミスタ等から成り、エンジン
水温(冷却水温)Twを検出して対応する温度信号を出
力してECU5に供給する。エンジン回転数(NE)セ
ンサ10及び気筒判別(CYL)センサ11はエンジン
1の図示しないカム軸周囲又はクランク軸周囲に取付け
られている。エンジン回転数センサ10はエンジン1の
クランク軸の180度回転毎に所定のクランク角度位置
でパルス(以下「TDC信号パルス」という)を出力
し、気筒判別センサ11は特定の気筒の所定のクランク
角度位置で信号パルスを出力するものであり、これらの
各信号パルスはECU5に供給される。
【0026】触媒コンバータ(三元触媒)14はエンジ
ン1の排気管13に配置されており、排気ガス中のH
C,CO,NOx等の成分の浄化を行う。排気管13の
触媒コンバータ14の上流側及び下流側には、それぞれ
空燃比センサとしての酸素濃度センサ15,16(以下
それぞれ「上流側O2センサ15」、「下流側O2セン
サ16」という)が装着されており、これらのO2セン
サ15,16は排気ガス中の酸素濃度を検出し、その検
出値に応じた電気信号を出力しECU5に供給する。さ
らに触媒コンバータ14にはその温度TCATを検出する
触媒温度センサ17が装着されており、その検出信号が
ECU5に供給される。
ン1の排気管13に配置されており、排気ガス中のH
C,CO,NOx等の成分の浄化を行う。排気管13の
触媒コンバータ14の上流側及び下流側には、それぞれ
空燃比センサとしての酸素濃度センサ15,16(以下
それぞれ「上流側O2センサ15」、「下流側O2セン
サ16」という)が装着されており、これらのO2セン
サ15,16は排気ガス中の酸素濃度を検出し、その検
出値に応じた電気信号を出力しECU5に供給する。さ
らに触媒コンバータ14にはその温度TCATを検出する
触媒温度センサ17が装着されており、その検出信号が
ECU5に供給される。
【0027】ECU5には更に、大気圧PAを検出する
大気圧センサ31及びエンジン1が搭載された車両の車
速VHを検出する車速センサ32が接続されており、こ
れらのセンサの検出信号がECU5に供給される。
大気圧センサ31及びエンジン1が搭載された車両の車
速VHを検出する車速センサ32が接続されており、こ
れらのセンサの検出信号がECU5に供給される。
【0028】ECU5は各種センサからの入力信号波形
を整形し、電圧レベルを所定レベルに修正し、アナログ
信号値をデジタル信号値に変換する等の機能を有する入
力回路5a、中央演算処理回路(以下「CPU」とい
う)5b、CPU5bで実行される各種演算プログラム
及び演算結果等を記憶する記憶手段5c、前記燃料噴射
弁6に駆動信号を供給する出力回路5d等から構成され
る。
を整形し、電圧レベルを所定レベルに修正し、アナログ
信号値をデジタル信号値に変換する等の機能を有する入
力回路5a、中央演算処理回路(以下「CPU」とい
う)5b、CPU5bで実行される各種演算プログラム
及び演算結果等を記憶する記憶手段5c、前記燃料噴射
弁6に駆動信号を供給する出力回路5d等から構成され
る。
【0029】CPU5bは上述の各種エンジンパラメー
タ信号に基づいて、排気ガス中の酸素濃度に応じて空燃
比を制御するフィードバック制御運転領域やオープンル
ープ制御運転領域等の種々のエンジン運転状態を判別す
るとともに、エンジン運転状態に応じ、前記TDC信号
パルスに同期して燃料噴射弁6により噴射される燃料噴
射量Toutを演算する。
タ信号に基づいて、排気ガス中の酸素濃度に応じて空燃
比を制御するフィードバック制御運転領域やオープンル
ープ制御運転領域等の種々のエンジン運転状態を判別す
るとともに、エンジン運転状態に応じ、前記TDC信号
パルスに同期して燃料噴射弁6により噴射される燃料噴
射量Toutを演算する。
【0030】CPU5bは燃料噴射弁6の駆動信号を出
力回路5dを介して出力するとともに、触媒コンバータ
14の劣化判定を行う。
力回路5dを介して出力するとともに、触媒コンバータ
14の劣化判定を行う。
【0031】[第1実施例の全体の制御処理]図2は本
実施例の空燃比制御装置における全体の制御処理の概略
を示すブロック図である。空燃比制御装置は、触媒温度
TCATを推定する処理(処理1)と、触媒コンバータの
劣化を推定する処理(処理2)と、触媒コンバータ14
の最大酸素蓄積量O2MAXを推定する処理(処理3)
と、最大酸素蓄積量O2MAXを修正する処理(処理4)
と、触媒コンバータ14の上流側の空燃比A/Fを推定
する処理(処理5)と、触媒コンバータ14に蓄積され
ている酸素蓄積量O2STRを推定する処理(処理6)
と、触媒コンバータ14の酸素利用率O2USERを算出す
る処理(処理7)と、エンジン1に供給される混合気の
空燃比A/Fを強制的に振動(パータベーション)させ
ることにより該空燃比A/Fを制御する処理(処理8)
と、パータベーションの周波数、振幅の変更速度を設定
する処理(処理9)と、空燃比補正係数KO2を演算す
る処理(処理10)と、噴射燃料量Toutを算出する
処理(処理11)を行なうものであり、特に、エンジン
1の運転状態および触媒コンバータ14の状態(温度、
劣化度合、容量)に応じて触媒コンバータ14の酸素利
用率O2USERが最大になるように空燃比A/Fを強制的
に振動させることにより触媒コンバータ14の浄化率を
最大限に高めることに特徴を有する。
実施例の空燃比制御装置における全体の制御処理の概略
を示すブロック図である。空燃比制御装置は、触媒温度
TCATを推定する処理(処理1)と、触媒コンバータの
劣化を推定する処理(処理2)と、触媒コンバータ14
の最大酸素蓄積量O2MAXを推定する処理(処理3)
と、最大酸素蓄積量O2MAXを修正する処理(処理4)
と、触媒コンバータ14の上流側の空燃比A/Fを推定
する処理(処理5)と、触媒コンバータ14に蓄積され
ている酸素蓄積量O2STRを推定する処理(処理6)
と、触媒コンバータ14の酸素利用率O2USERを算出す
る処理(処理7)と、エンジン1に供給される混合気の
空燃比A/Fを強制的に振動(パータベーション)させ
ることにより該空燃比A/Fを制御する処理(処理8)
と、パータベーションの周波数、振幅の変更速度を設定
する処理(処理9)と、空燃比補正係数KO2を演算す
る処理(処理10)と、噴射燃料量Toutを算出する
処理(処理11)を行なうものであり、特に、エンジン
1の運転状態および触媒コンバータ14の状態(温度、
劣化度合、容量)に応じて触媒コンバータ14の酸素利
用率O2USERが最大になるように空燃比A/Fを強制的
に振動させることにより触媒コンバータ14の浄化率を
最大限に高めることに特徴を有する。
【0032】触媒コンバータ14の最大酸素蓄積量O2
MAXを推定する処理(処理3)では、触媒温度TCAT、触
媒の劣化および触媒の容量(体積)により触媒コンバー
タ14の最大酸素蓄積量O2MAXが算出される。触媒温
度TCAT、触媒の劣化および触媒の容量のうち触媒温度
TCATは触媒温度センサ17により直接に検出しても良
いし、後述するように触媒温度TCATを推定する処理に
より算出してもよい。また、触媒の劣化は後述する触媒
劣化を推定する処理により算出してもよい。さらに、触
媒の容量は触媒の大きさにより決まる固定値なのであら
かじめ記憶手段5cに記憶しておくことができる。算出
された最大酸素蓄積量O2MAXは酸素蓄積量O2STRを算
出する際にリミットとして作用する他に、最大酸素蓄積
量O2MAXを越えるときは排気ガスを浄化できないので
酸素利用率O2USERの値を減算することにも使われる。
MAXを推定する処理(処理3)では、触媒温度TCAT、触
媒の劣化および触媒の容量(体積)により触媒コンバー
タ14の最大酸素蓄積量O2MAXが算出される。触媒温
度TCAT、触媒の劣化および触媒の容量のうち触媒温度
TCATは触媒温度センサ17により直接に検出しても良
いし、後述するように触媒温度TCATを推定する処理に
より算出してもよい。また、触媒の劣化は後述する触媒
劣化を推定する処理により算出してもよい。さらに、触
媒の容量は触媒の大きさにより決まる固定値なのであら
かじめ記憶手段5cに記憶しておくことができる。算出
された最大酸素蓄積量O2MAXは酸素蓄積量O2STRを算
出する際にリミットとして作用する他に、最大酸素蓄積
量O2MAXを越えるときは排気ガスを浄化できないので
酸素利用率O2USERの値を減算することにも使われる。
【0033】空燃比A/Fを推定する処理(処理5)で
は、空燃比A/Fはリニア空燃比センサで直接に空燃比
A/Fを検出してもよいが、本処理5ではリニア空燃比
センサを用いずに上流側のO2センサ15の出力を用い
て空燃比補正係数KO2を算出し、算出された空燃比補
正係数KO2の中心値からのずれ量により空燃比A/F
を算出する。また、上流側のO2センサ15による空燃
比フィードバック制御に用いる空燃比補正係数KO2
を、下流側のO2センサ16の出力により補正すること
によって空燃比補正係数KO2の中心値からのずれをな
くすことができる。
は、空燃比A/Fはリニア空燃比センサで直接に空燃比
A/Fを検出してもよいが、本処理5ではリニア空燃比
センサを用いずに上流側のO2センサ15の出力を用い
て空燃比補正係数KO2を算出し、算出された空燃比補
正係数KO2の中心値からのずれ量により空燃比A/F
を算出する。また、上流側のO2センサ15による空燃
比フィードバック制御に用いる空燃比補正係数KO2
を、下流側のO2センサ16の出力により補正すること
によって空燃比補正係数KO2の中心値からのずれをな
くすことができる。
【0034】触媒コンバータ14の酸素蓄積量O2STR
を推定する処理(処理6)では、空燃比A/Fがリーン
側であれば触媒コンバータ14は酸素分子O2を吸着し
リッチ側であれば酸素分子O2を放出するので、空燃比
A/Fおよび排気量により触媒コンバータ14に酸素分
子O2が吸着、放出される度合いを計算して酸素蓄積量
O2STRを算出する。算出された酸素蓄積量O2STRは主
に触媒コンバータ14の容量で決定される最大酸素蓄積
量O2MAXによってリミット処理される。また、酸素蓄
積量O2STRが負の値になるときも値「0」をもってリ
ミット処理される。
を推定する処理(処理6)では、空燃比A/Fがリーン
側であれば触媒コンバータ14は酸素分子O2を吸着し
リッチ側であれば酸素分子O2を放出するので、空燃比
A/Fおよび排気量により触媒コンバータ14に酸素分
子O2が吸着、放出される度合いを計算して酸素蓄積量
O2STRを算出する。算出された酸素蓄積量O2STRは主
に触媒コンバータ14の容量で決定される最大酸素蓄積
量O2MAXによってリミット処理される。また、酸素蓄
積量O2STRが負の値になるときも値「0」をもってリ
ミット処理される。
【0035】酸素利用率O2USERを算出する処理(処理
7)では、浄化率に相当する物理量である酸素利用率O
2USERが演算される。酸素利用率O2USERの値が大きい
程、触媒コンバータ14の浄化率は高いが、酸素蓄積量
O2STRが最大酸素蓄積量O2MAXを越えるときあるいは
値「0」を下回るときは排気ガスが浄化されないので、
この範囲で酸素利用率O2USERは減算される。
7)では、浄化率に相当する物理量である酸素利用率O
2USERが演算される。酸素利用率O2USERの値が大きい
程、触媒コンバータ14の浄化率は高いが、酸素蓄積量
O2STRが最大酸素蓄積量O2MAXを越えるときあるいは
値「0」を下回るときは排気ガスが浄化されないので、
この範囲で酸素利用率O2USERは減算される。
【0036】空燃比A/Fのパータベーション処理(処
理8)では、触媒コンバータ14に蓄積されている酸素
蓄積量O2STRを値「0」に近い下限値O2STRL〜最大酸
素蓄積量O2MAXに近い上限値O2STRHの範囲でできるだ
け大きな振幅で振動させ、しかもその振動の周期を短く
することにより触媒の持つ酸素蓄積能力を最大限に利用
し、触媒コンバータ14の浄化率を高めるように空燃比
A/Fを制御する。
理8)では、触媒コンバータ14に蓄積されている酸素
蓄積量O2STRを値「0」に近い下限値O2STRL〜最大酸
素蓄積量O2MAXに近い上限値O2STRHの範囲でできるだ
け大きな振幅で振動させ、しかもその振動の周期を短く
することにより触媒の持つ酸素蓄積能力を最大限に利用
し、触媒コンバータ14の浄化率を高めるように空燃比
A/Fを制御する。
【0037】周波数、振幅変更速度設定処理(処理9)
では、エンジン1の運転状態(空間速度SV)、触媒コ
ンバータ14の最大酸素蓄積量(例えば触媒温度)に応
じてパータベーションの周波数、振幅の変更速度を変更
する。
では、エンジン1の運転状態(空間速度SV)、触媒コ
ンバータ14の最大酸素蓄積量(例えば触媒温度)に応
じてパータベーションの周波数、振幅の変更速度を変更
する。
【0038】以下に各処理1〜11の内容を詳細に説明
する。
する。
【0039】[触媒温度TCATの推定(処理1)]図3
は触媒温度TCATの推定ルーチンを示すフローチャート
である。本ルーチンでは、まず始動時であるかどうかを
判別し(ステップS210)、始動時であればTAセン
サ8により検出された吸気温TAを触媒温度TCATの初
期値として設定して(ステップS220)本ルーチンを
終了する。始動時でないときは目標の推定触媒温度TCA
TOBJと触媒温度TCATとの差△TCATを演算し(ステップ
S215)、その差ΔTCATが値「0」より大きいかど
うかを判別する(ステップS230)。図4は積分値T
OUTSUMに対する係数α1、α2の値を示すグラフであ
る。始動後の触媒温度TCATは上昇していくのが通常で
あるので、△TCATが正、すなわち触媒温度TCATが目標
の推定触媒温度TCATOBJより小さくなったときには図4
に示すTOUTSUM/α1テーブルを検索して積算値TOUTS
UMに基づく触媒温度を上げるための係数α1を検索する
(ステップS240)。一方、△TCATが負、すなわち
触媒温度TCATが目標の推定触媒温度TCATOBJより大き
いときにはTOUTSUM/α2テーブルを検索して積算値T
OUTSUMに基づく触媒温度を下げるための係数α2を検索
する(ステップS250)。ここで、TOUTSUMは単位時
間当たりの燃料噴射時間TOUTの積算値であり、積算値
TOUTSUMが大きいほど燃焼エネルギーが大きくなるので
触媒温度TCATも上がることになる。従って、係数α
1、α2は噴射量の単位時間当たりの平均値から求めら
れる目標触媒温度TCATOBJの遅れ時定数を示し、係数α
1は積算値TOUTSUMの増加に伴い減少する値をとり、係
数α2は積算値TOUTSUMの増加に伴い増加する値をと
る。
は触媒温度TCATの推定ルーチンを示すフローチャート
である。本ルーチンでは、まず始動時であるかどうかを
判別し(ステップS210)、始動時であればTAセン
サ8により検出された吸気温TAを触媒温度TCATの初
期値として設定して(ステップS220)本ルーチンを
終了する。始動時でないときは目標の推定触媒温度TCA
TOBJと触媒温度TCATとの差△TCATを演算し(ステップ
S215)、その差ΔTCATが値「0」より大きいかど
うかを判別する(ステップS230)。図4は積分値T
OUTSUMに対する係数α1、α2の値を示すグラフであ
る。始動後の触媒温度TCATは上昇していくのが通常で
あるので、△TCATが正、すなわち触媒温度TCATが目標
の推定触媒温度TCATOBJより小さくなったときには図4
に示すTOUTSUM/α1テーブルを検索して積算値TOUTS
UMに基づく触媒温度を上げるための係数α1を検索する
(ステップS240)。一方、△TCATが負、すなわち
触媒温度TCATが目標の推定触媒温度TCATOBJより大き
いときにはTOUTSUM/α2テーブルを検索して積算値T
OUTSUMに基づく触媒温度を下げるための係数α2を検索
する(ステップS250)。ここで、TOUTSUMは単位時
間当たりの燃料噴射時間TOUTの積算値であり、積算値
TOUTSUMが大きいほど燃焼エネルギーが大きくなるので
触媒温度TCATも上がることになる。従って、係数α
1、α2は噴射量の単位時間当たりの平均値から求めら
れる目標触媒温度TCATOBJの遅れ時定数を示し、係数α
1は積算値TOUTSUMの増加に伴い減少する値をとり、係
数α2は積算値TOUTSUMの増加に伴い増加する値をと
る。
【0040】つづいて、係数α1、α2の補正係数Kα
を車速Vおよび吸気温TAに基づいて決定する(ステッ
プS255)。図6は車速Vおよび吸気温TAに応じて
補正係数Kαの値を決定するためのテーブルを示すグラ
フである。補正係数Kαは吸気温TAが高い程大きな値
に、車速Vが低い程大きな値に設定される。ステップS
255で補正係数Kαがテーブル検索されると、数式1
にしたがって係数αが演算される。
を車速Vおよび吸気温TAに基づいて決定する(ステッ
プS255)。図6は車速Vおよび吸気温TAに応じて
補正係数Kαの値を決定するためのテーブルを示すグラ
フである。補正係数Kαは吸気温TAが高い程大きな値
に、車速Vが低い程大きな値に設定される。ステップS
255で補正係数Kαがテーブル検索されると、数式1
にしたがって係数αが演算される。
【0041】
【数1】α = α1 × Kα α = α2 × Kα つぎに、目標の推定触媒温度TCATOBJの基本値TCATOBJ
0を吸気管内絶対圧力PBAおよびエンジン回転数NEに
より図示しないマップを用いて決定する(ステップS2
60)。更に、空燃比依存補正係数KA/FをKA/Fテーブ
ルを検索して空燃比A/Fによって求める(ステップS
265)。この補正係数KA/Fは混合気の燃料が濃いほ
ど即ち排気系の空燃比が小さいほど触媒が冷却され易い
ので、かかる燃料による冷却効果を補償するための係数
で混合気の空燃比(排気系の空燃比に対応する)に応じ
て決定される。図7は空燃比A/Fに応じて補正係数K
A/Fを決定するためのKA/Fテーブルを示すグラフであ
る。図7のテーブルによれば、補正係数KA/Fは空燃比
A/Fがリッチなる程より小さい値に設定される。つぎ
に、補正係数KTATCATをKTATCATテーブルを検索して吸
気温TA及び車速Vによって決定する(ステップS27
0)。図5は吸気温TAおよび車速Vに応じて補正係数
KTATCATを決定するためのテーブルを示すグラフであ
る。図5のKTATCATテーブルによれば、吸気温TAが低
いと外気により触媒コンバータ14が冷やされるので補
正係数KTATCATの値もより小さく設定される。また、車
速Vが高い程走行風量が増加して触媒コンバータからの
熱放出量が大きくなるため、外気による触媒コンバータ
14の冷却度合は車速Vによって違いを生ずるので、車
速Vに応じて補正係数KTATCATの値を変更する。
0を吸気管内絶対圧力PBAおよびエンジン回転数NEに
より図示しないマップを用いて決定する(ステップS2
60)。更に、空燃比依存補正係数KA/FをKA/Fテーブ
ルを検索して空燃比A/Fによって求める(ステップS
265)。この補正係数KA/Fは混合気の燃料が濃いほ
ど即ち排気系の空燃比が小さいほど触媒が冷却され易い
ので、かかる燃料による冷却効果を補償するための係数
で混合気の空燃比(排気系の空燃比に対応する)に応じ
て決定される。図7は空燃比A/Fに応じて補正係数K
A/Fを決定するためのKA/Fテーブルを示すグラフであ
る。図7のテーブルによれば、補正係数KA/Fは空燃比
A/Fがリッチなる程より小さい値に設定される。つぎ
に、補正係数KTATCATをKTATCATテーブルを検索して吸
気温TA及び車速Vによって決定する(ステップS27
0)。図5は吸気温TAおよび車速Vに応じて補正係数
KTATCATを決定するためのテーブルを示すグラフであ
る。図5のKTATCATテーブルによれば、吸気温TAが低
いと外気により触媒コンバータ14が冷やされるので補
正係数KTATCATの値もより小さく設定される。また、車
速Vが高い程走行風量が増加して触媒コンバータからの
熱放出量が大きくなるため、外気による触媒コンバータ
14の冷却度合は車速Vによって違いを生ずるので、車
速Vに応じて補正係数KTATCATの値を変更する。
【0042】つぎに、数式2に従って基本値TCATOBJ0
に検索した補正係数KA/FおよびKTATCATを乗算して外
気によって冷却される触媒コンバータ14の温度補正を
行ない、目標推定触媒温度TCATOBJを設定する(ステッ
プS280)。
に検索した補正係数KA/FおよびKTATCATを乗算して外
気によって冷却される触媒コンバータ14の温度補正を
行ない、目標推定触媒温度TCATOBJを設定する(ステッ
プS280)。
【0043】
【数2】 TCATOBJ = KTATCAT × KA/F × TCATOBJ0 この目標推定触媒温度TCATOBJを用いて、触媒温度TCA
T(n)を数式3により算出する(ステップS29
0)。
T(n)を数式3により算出する(ステップS29
0)。
【0044】
【数3】TCAT(n) = α × TCAT(n-1) + (1
−α)×TCATOBJ ここで、αにはステップS240におけるα1の値、ま
たはステップ250におけるα2の値が代入される。ま
た、TCAT(n−1)は前回本ルーチンを実行したとき
に算出された値である。触媒温度TCATが算出されると
本ルーチンを終了する。
−α)×TCATOBJ ここで、αにはステップS240におけるα1の値、ま
たはステップ250におけるα2の値が代入される。ま
た、TCAT(n−1)は前回本ルーチンを実行したとき
に算出された値である。触媒温度TCATが算出されると
本ルーチンを終了する。
【0045】このように、混合気中の燃料濃度および外
気温度と車速に基づく冷却効果を加味することで触媒温
度TCATの正確な推定を行える。
気温度と車速に基づく冷却効果を加味することで触媒温
度TCATの正確な推定を行える。
【0046】本実施例では、触媒温度の追従速度(α
1、α2)をエンジン負荷から求められる燃料噴射量の
積算値(TOUTSUM)から求めたが、エンジン負荷である
吸気管内圧等から直接求めてもよい。
1、α2)をエンジン負荷から求められる燃料噴射量の
積算値(TOUTSUM)から求めたが、エンジン負荷である
吸気管内圧等から直接求めてもよい。
【0047】[触媒劣化の推定(処理2)]つぎに、触
媒コンバータ14の性能劣化を推定する。この触媒劣化
判定手法は、平成4年12月26日付特願平4−359
538号により出願済であるので、ここでは簡単に説明
する。この触媒劣化判定は、下流側O2センサ16の出
力RVO2のみに基づいて補正係数KO2を算出するフ
ィードバック制御実行中に、KO2値を減少方向にスキ
ップさせるためのP項ゲインPLSPが発生してから下
流側O2センサ出力RVO2が反転するまでの時間TL
及びKO2値を増加方向にスキップさせるためのP項ゲ
インPRが発生してから下流側O2センサ出力RVO2
が反転するまでの時間TRを計測し、これらの時間T
L,TRの平均値Tを計測することにより行われる。こ
れは、触媒の浄化率が低下してくると、時間TL,TR
の平均値Tが減少することを利用するもので、平均値T
の減少は酸素蓄積能力の低下を意味し、この手法により
触媒の劣化を正確に判定することができる。
媒コンバータ14の性能劣化を推定する。この触媒劣化
判定手法は、平成4年12月26日付特願平4−359
538号により出願済であるので、ここでは簡単に説明
する。この触媒劣化判定は、下流側O2センサ16の出
力RVO2のみに基づいて補正係数KO2を算出するフ
ィードバック制御実行中に、KO2値を減少方向にスキ
ップさせるためのP項ゲインPLSPが発生してから下
流側O2センサ出力RVO2が反転するまでの時間TL
及びKO2値を増加方向にスキップさせるためのP項ゲ
インPRが発生してから下流側O2センサ出力RVO2
が反転するまでの時間TRを計測し、これらの時間T
L,TRの平均値Tを計測することにより行われる。こ
れは、触媒の浄化率が低下してくると、時間TL,TR
の平均値Tが減少することを利用するもので、平均値T
の減少は酸素蓄積能力の低下を意味し、この手法により
触媒の劣化を正確に判定することができる。
【0048】[触媒コンバータ14の最大酸素蓄積量O
2MAXの推定(処理3)]触媒コンバータ14の最大酸素
蓄積量O2MAXは前述したように触媒の容量(体積)に対
して前述の処理1および処理2で推定された触媒温度T
CATおよび触媒の劣化度合いによって決定される。図8
は触媒温度TCATに対する最大酸素蓄積量O2MAXを示す
グラフである。触媒温度TCATが上昇するにつれて最大
酸素蓄積量O2MAXは略直比例して増加することがわか
る。したがって、触媒コンバータ14の最大酸素蓄積量
O2MAXは、触媒温度TCATに応じた単位体積当たりの最
大酸素蓄積量O2MAXに触媒の体積および触媒の劣化度合
いを乗算することによって計算される。計算された最大
酸素蓄積量O2MAXは空燃比A/Fのフィードバック制御
に使用され、後述する処理によって最大酸素蓄積量O2M
AXの値は修正される。さらに、最大酸素蓄積量O2MAXは
後述するリミット処理によってその全範囲を利用しない
ようにされている。
2MAXの推定(処理3)]触媒コンバータ14の最大酸素
蓄積量O2MAXは前述したように触媒の容量(体積)に対
して前述の処理1および処理2で推定された触媒温度T
CATおよび触媒の劣化度合いによって決定される。図8
は触媒温度TCATに対する最大酸素蓄積量O2MAXを示す
グラフである。触媒温度TCATが上昇するにつれて最大
酸素蓄積量O2MAXは略直比例して増加することがわか
る。したがって、触媒コンバータ14の最大酸素蓄積量
O2MAXは、触媒温度TCATに応じた単位体積当たりの最
大酸素蓄積量O2MAXに触媒の体積および触媒の劣化度合
いを乗算することによって計算される。計算された最大
酸素蓄積量O2MAXは空燃比A/Fのフィードバック制御
に使用され、後述する処理によって最大酸素蓄積量O2M
AXの値は修正される。さらに、最大酸素蓄積量O2MAXは
後述するリミット処理によってその全範囲を利用しない
ようにされている。
【0049】[最大酸素蓄積量O2MAXの修正(処理
4)]図9は最大酸素蓄積量O2MAXの修正ルーチンを示
すフローチャートである。本ルーチンは所定時間(例え
ば、1秒)毎に実行されるタイマー処理である。本ルー
チンでは、後述する触媒コンバータ14の酸素蓄積量O
2STRから推定される下流側の空燃比A/Fの反転のタイ
ミングと下流側のO2センサ16から検出される反転の
タイミングとが互いにずれているときに最大酸素蓄積量
O2MAXの計算値が違っていると判断して最大酸素蓄積量
O2MAXの修正を行なう。すなわち、リングバッファに推
定された空燃比A/Fの反転によって値「1」にセット
されるフラグFSIMおよび下流側のO2センサ16の出
力反転によって値「1」にセットされるフラグFREALを
用意しておく。下流側のO2センサ16の出力の反転か
ら一定時間前までにフラグFSIMが値「1」にセットさ
れていないとき、つまり推定された下流側の空燃比の反
転が遅いときは演算した最大酸素蓄積量O2MAXの値が大
き過ぎると判断して△O2MAXだけその値を小さくする。
また、フラグFSIMが値「1」にセットされてから一定
時間内に下流側のO2センサの出力反転がないときは演
算した最大酸素蓄積量O2MAXの値が小さ過ぎると判断し
て△O2MAXだけその値を大きくするのである。
4)]図9は最大酸素蓄積量O2MAXの修正ルーチンを示
すフローチャートである。本ルーチンは所定時間(例え
ば、1秒)毎に実行されるタイマー処理である。本ルー
チンでは、後述する触媒コンバータ14の酸素蓄積量O
2STRから推定される下流側の空燃比A/Fの反転のタイ
ミングと下流側のO2センサ16から検出される反転の
タイミングとが互いにずれているときに最大酸素蓄積量
O2MAXの計算値が違っていると判断して最大酸素蓄積量
O2MAXの修正を行なう。すなわち、リングバッファに推
定された空燃比A/Fの反転によって値「1」にセット
されるフラグFSIMおよび下流側のO2センサ16の出
力反転によって値「1」にセットされるフラグFREALを
用意しておく。下流側のO2センサ16の出力の反転か
ら一定時間前までにフラグFSIMが値「1」にセットさ
れていないとき、つまり推定された下流側の空燃比の反
転が遅いときは演算した最大酸素蓄積量O2MAXの値が大
き過ぎると判断して△O2MAXだけその値を小さくする。
また、フラグFSIMが値「1」にセットされてから一定
時間内に下流側のO2センサの出力反転がないときは演
算した最大酸素蓄積量O2MAXの値が小さ過ぎると判断し
て△O2MAXだけその値を大きくするのである。
【0050】本ルーチンを図9のフローチャートにした
がって説明すると、まず、フラグFCATO20およびFCATO
2MAXのいずれかが値「1」であるかどうかを判別する
(ステップS111)。後述する図14に示す酸素蓄積
量O2STR演算ルーチンにおいてフラグFCATO20は触媒コ
ンバータ14の酸素蓄積量O2STRが零に近い下限値O2S
TRLを下回っているとき値「1」にセットされ、あるい
はフラグFCATO2MAXは酸素蓄積量O2STRが最大酸素蓄積
量O2MAXに近い上限値O2STRHを越えているとき値
「1」にセットされる。いずれのフラグFCATO2MAX、F
CATO20も値「1」でないときはフラグFSIMを値「0」
にリセットし(ステップS112)、フラグFCATO2MAX
およびフラグFCATO20のいずれかが値「1」であるとき
はフラグFSIMを値「1」にセットする(ステップS1
13)。ついで、下流側のO2センサ16の出力が反転
したかどうかを判別する(ステップS114)。反転し
ていないときはフラグFREALを値「0」にリセットし
(ステップS115)、反転したときはフラグFREALを
値「1」にセットする(ステップS116)。つづい
て、これらのラグFSIMおよびFREALの値をリングバッ
ファにストアする(ステップS117)。フラグFSIM
の初期値FSIM(1)およびFREALの現在値FREAL
(N)の値がそれぞれ「1」であるかを判別し、両値が
ともに「0」であるときには最大酸素蓄積量O2MAXの値
を修正することなく本ルーチンを終了する(ステップS
118、ステップS119)。また、ステップS118
におけるフラグFREALの現在値が「1」でかつフラグF
SIM(1〜N)のいずれかの値が「1」であるときは最
大酸素蓄積量O2MAXの値を修正することなく本ルーチン
を終了する(ステップS120)。さらに、ステップS
119におけるフラグFSIMの初期値が「1」でかつフ
ラグFREAL(1〜N−1)のいずれかの値が「1」であ
るときは最大酸素蓄積量O2MAXの値を修正することなく
本ルーチンを終了する(ステップS121)。ステップ
S120におけるフラグFSIM(1〜N)のいずれの値
も「0」であるときは図8の同一触媒温度TCATに対す
る最大酸素蓄積量O2MAXの値を△O2MAXだけ減らし(ス
テップS122)、最大酸素蓄積量O2MAXの値が下限界
値O2GLを下回るときは(ステップS123)最大酸素
蓄積量O2MAXの値を下限界値O2GLにリミット処理して
(ステップS124)本ルーチンを終了する。ステップ
S121におけるフラグFREAL(1〜N−1)のいずれ
の値も「0」であるときは同一の触媒温度TCAに対す
る最大酸素蓄積量O2MAXの値を△O2MAXだけ増やし(ス
テップS125)、最大酸素蓄積量O2MAXの値が上限値
O2GHを越えるときは(ステップS126)最大酸素蓄
積量O2MAXの値を上限値O2GHにリミット処理して(ス
テップS127)本ルーチンを終了する。
がって説明すると、まず、フラグFCATO20およびFCATO
2MAXのいずれかが値「1」であるかどうかを判別する
(ステップS111)。後述する図14に示す酸素蓄積
量O2STR演算ルーチンにおいてフラグFCATO20は触媒コ
ンバータ14の酸素蓄積量O2STRが零に近い下限値O2S
TRLを下回っているとき値「1」にセットされ、あるい
はフラグFCATO2MAXは酸素蓄積量O2STRが最大酸素蓄積
量O2MAXに近い上限値O2STRHを越えているとき値
「1」にセットされる。いずれのフラグFCATO2MAX、F
CATO20も値「1」でないときはフラグFSIMを値「0」
にリセットし(ステップS112)、フラグFCATO2MAX
およびフラグFCATO20のいずれかが値「1」であるとき
はフラグFSIMを値「1」にセットする(ステップS1
13)。ついで、下流側のO2センサ16の出力が反転
したかどうかを判別する(ステップS114)。反転し
ていないときはフラグFREALを値「0」にリセットし
(ステップS115)、反転したときはフラグFREALを
値「1」にセットする(ステップS116)。つづい
て、これらのラグFSIMおよびFREALの値をリングバッ
ファにストアする(ステップS117)。フラグFSIM
の初期値FSIM(1)およびFREALの現在値FREAL
(N)の値がそれぞれ「1」であるかを判別し、両値が
ともに「0」であるときには最大酸素蓄積量O2MAXの値
を修正することなく本ルーチンを終了する(ステップS
118、ステップS119)。また、ステップS118
におけるフラグFREALの現在値が「1」でかつフラグF
SIM(1〜N)のいずれかの値が「1」であるときは最
大酸素蓄積量O2MAXの値を修正することなく本ルーチン
を終了する(ステップS120)。さらに、ステップS
119におけるフラグFSIMの初期値が「1」でかつフ
ラグFREAL(1〜N−1)のいずれかの値が「1」であ
るときは最大酸素蓄積量O2MAXの値を修正することなく
本ルーチンを終了する(ステップS121)。ステップ
S120におけるフラグFSIM(1〜N)のいずれの値
も「0」であるときは図8の同一触媒温度TCATに対す
る最大酸素蓄積量O2MAXの値を△O2MAXだけ減らし(ス
テップS122)、最大酸素蓄積量O2MAXの値が下限界
値O2GLを下回るときは(ステップS123)最大酸素
蓄積量O2MAXの値を下限界値O2GLにリミット処理して
(ステップS124)本ルーチンを終了する。ステップ
S121におけるフラグFREAL(1〜N−1)のいずれ
の値も「0」であるときは同一の触媒温度TCAに対す
る最大酸素蓄積量O2MAXの値を△O2MAXだけ増やし(ス
テップS125)、最大酸素蓄積量O2MAXの値が上限値
O2GHを越えるときは(ステップS126)最大酸素蓄
積量O2MAXの値を上限値O2GHにリミット処理して(ス
テップS127)本ルーチンを終了する。
【0051】[空燃比A/Fの推定(処理5)]図10
は空燃比推定ルーチンを示すフローチャートである。本
ルーチンでは、空燃比A/Fの値を直接に出力するリニ
ア空燃比センサを用いる代わりに上流側のO2センサ1
5の出力に応じた空燃比補正係数KO2を用いて触媒コ
ンバータ14に流入する排気ガスの空燃比A/Fの推定
を行なう。まず、上流側のO2センサ15の出力を用い
た空燃比A/Fのフィードバック制御中であるかどうか
を判別する(ステップS310)。空燃比のフィードバ
ック制御中のときには前述したようにO2センサ15に
よって検出された空燃比(酸素濃度)を制御中心である
目標空燃比に一致するように制御するための目標空燃比
の補正係数KO2の加重平均値KO2RMDを数式4によ
り算出する(ステップS320)。
は空燃比推定ルーチンを示すフローチャートである。本
ルーチンでは、空燃比A/Fの値を直接に出力するリニ
ア空燃比センサを用いる代わりに上流側のO2センサ1
5の出力に応じた空燃比補正係数KO2を用いて触媒コ
ンバータ14に流入する排気ガスの空燃比A/Fの推定
を行なう。まず、上流側のO2センサ15の出力を用い
た空燃比A/Fのフィードバック制御中であるかどうか
を判別する(ステップS310)。空燃比のフィードバ
ック制御中のときには前述したようにO2センサ15に
よって検出された空燃比(酸素濃度)を制御中心である
目標空燃比に一致するように制御するための目標空燃比
の補正係数KO2の加重平均値KO2RMDを数式4によ
り算出する(ステップS320)。
【0052】
【数4】KO2RMD = α3 × KO2 + (1
−α3)× KO2RMD ここで、α3は制御中心を求めるための第1のなまし係
数である。
−α3)× KO2RMD ここで、α3は制御中心を求めるための第1のなまし係
数である。
【0053】また、触媒コンバータ14直前の上流側空
燃比を示す補正係数KO2の加重平均値KO2REFを、
排気弁から触媒コンバータ14までの遅れを考慮して数
式5により算出する(ステップS330)。
燃比を示す補正係数KO2の加重平均値KO2REFを、
排気弁から触媒コンバータ14までの遅れを考慮して数
式5により算出する(ステップS330)。
【0054】
【数5】KO2REF = α4 × KO2 + (1
−α4)× KO2REF ここで、α4は排気弁から触媒コンバータ14までの遅
れを考慮した第2のなまし係数であり、第1のなまし係
数α3より大きい値に設定される。第2のなまし係数α
4はエンジンの運転状態に応じて定まる値であり、例え
ばエンジン回転数NEおよび吸気管内絶対圧PBAから求
められる図示しないマップにより決定される。
−α4)× KO2REF ここで、α4は排気弁から触媒コンバータ14までの遅
れを考慮した第2のなまし係数であり、第1のなまし係
数α3より大きい値に設定される。第2のなまし係数α
4はエンジンの運転状態に応じて定まる値であり、例え
ばエンジン回転数NEおよび吸気管内絶対圧PBAから求
められる図示しないマップにより決定される。
【0055】さらに、加重平均値KO2REFと、下流側
O2センサ16による制御のずれ幅SDλを加えた加重
平均値KO2RMDとの比を計算することによって燃空比
F/Aを算出して(ステップS340)本ルーチンを終
了する。このずれ幅SDλは後述する下流側O2センサ
16の出力を用いた空燃比フィードバック制御ルーチン
によりO2センサ16の出力に応じて決定され、このず
れ幅SDλでKO2RMD/KO2REFD6を補正することに
より推定された空燃比がずれることなく、特に、エンジ
ンの運転過渡時の空燃比推定精度を確得することができ
る。また、ステップS310でオープンループ制御であ
ると判別されたときには燃空比F/Aを値「1.0」、
KO2RMDおよびKO2REFをそれぞれ所定値に設定して
(ステップS350)本ルーチンを終了する。
O2センサ16による制御のずれ幅SDλを加えた加重
平均値KO2RMDとの比を計算することによって燃空比
F/Aを算出して(ステップS340)本ルーチンを終
了する。このずれ幅SDλは後述する下流側O2センサ
16の出力を用いた空燃比フィードバック制御ルーチン
によりO2センサ16の出力に応じて決定され、このず
れ幅SDλでKO2RMD/KO2REFD6を補正することに
より推定された空燃比がずれることなく、特に、エンジ
ンの運転過渡時の空燃比推定精度を確得することができ
る。また、ステップS310でオープンループ制御であ
ると判別されたときには燃空比F/Aを値「1.0」、
KO2RMDおよびKO2REFをそれぞれ所定値に設定して
(ステップS350)本ルーチンを終了する。
【0056】[触媒コンバータの酸素蓄積量O2STRの推
定(処理6)]つぎに、触媒コンバータ14に蓄積され
ている酸素の酸素蓄積量O2STRを算出する。本実施例で
はCOとO2の2成分だけから酸素蓄積量O2STRを推定
する触媒コンバータの物理モデルを構築する。図11は
触媒コンバータ14の触媒作用を示す模式図である。触
媒コンバータ14では、入力される空燃比A/Fがリッ
チ側にあるときには CO+O → CO2 の離脱反
応が起こり、空燃比A/Fがリーン側にあるときには
O2 → 2O の吸着反応が起こる。したがって、数
式6により空燃比A/Fがリッチ側にあるときO2の放
出速度が触媒コンバータ14の入口にある排気ガスのC
O濃度から、また、空燃比A/Fがリーン側にあるとき
のO2の吸着速度が触媒コンバータ14の入口にある排
気ガスのO2濃度からそれぞれ算出される。
定(処理6)]つぎに、触媒コンバータ14に蓄積され
ている酸素の酸素蓄積量O2STRを算出する。本実施例で
はCOとO2の2成分だけから酸素蓄積量O2STRを推定
する触媒コンバータの物理モデルを構築する。図11は
触媒コンバータ14の触媒作用を示す模式図である。触
媒コンバータ14では、入力される空燃比A/Fがリッ
チ側にあるときには CO+O → CO2 の離脱反
応が起こり、空燃比A/Fがリーン側にあるときには
O2 → 2O の吸着反応が起こる。したがって、数
式6により空燃比A/Fがリッチ側にあるときO2の放
出速度が触媒コンバータ14の入口にある排気ガスのC
O濃度から、また、空燃比A/Fがリーン側にあるとき
のO2の吸着速度が触媒コンバータ14の入口にある排
気ガスのO2濃度からそれぞれ算出される。
【0057】
【数6】−d/dt(O)=k1・[COF]・O2STR d/dt(O)=k2・[O2F]・(O2MAX−O2ST
R) ここで、 Q:吸入空気量 O:酸素蓄積量 [COF]:入口CO濃度(ppm) [COR]:出口CO濃度(ppm) [O2F]:入口O2濃度(ppm) [O2R]:出口O2濃度(ppm) d/dt(O):酸素蓄積量の変化率 k1,k2:反応係数 係数k1,k2は劣化の度合い(R)、触媒温度TCATに
応じて数式7により算出される。
R) ここで、 Q:吸入空気量 O:酸素蓄積量 [COF]:入口CO濃度(ppm) [COR]:出口CO濃度(ppm) [O2F]:入口O2濃度(ppm) [O2R]:出口O2濃度(ppm) d/dt(O):酸素蓄積量の変化率 k1,k2:反応係数 係数k1,k2は劣化の度合い(R)、触媒温度TCATに
応じて数式7により算出される。
【0058】
【数7】k1 = k1R × k1CAT k2 = k2R × k2CAT ここで、k1R,k2R:劣化係数 k1CAT,k2CAT:温度係数 数式7に示すように、反応係数k1,k2はそれぞれ劣化
係数k1R、k2Rおよび温度係数k1CAT、k2CATの積で表
される。図12は反応係数k1,k2を決定する劣化係数
k1R、k2Rおよび温度係数k1CAT、k2CATの値を示すグ
ラフである。上記数式6および数式7から現在の酸素蓄
積量O2STRが求められる。
係数k1R、k2Rおよび温度係数k1CAT、k2CATの積で表
される。図12は反応係数k1,k2を決定する劣化係数
k1R、k2Rおよび温度係数k1CAT、k2CATの値を示すグ
ラフである。上記数式6および数式7から現在の酸素蓄
積量O2STRが求められる。
【0059】触媒コンバータ14の酸素蓄積量O2STRが
値「0」〜最大酸素蓄積量O2MAXの内側の範囲にあると
きには触媒コンバータ14の出口での空燃比は14.7
の領域にあるが、酸素蓄積量O2STRが値「0」以下ある
いは最大酸素蓄積量O2MAX以上のときには触媒コンバー
タ14の入口の空燃比A/Fがそのまま出口に現れるこ
とになる。
値「0」〜最大酸素蓄積量O2MAXの内側の範囲にあると
きには触媒コンバータ14の出口での空燃比は14.7
の領域にあるが、酸素蓄積量O2STRが値「0」以下ある
いは最大酸素蓄積量O2MAX以上のときには触媒コンバー
タ14の入口の空燃比A/Fがそのまま出口に現れるこ
とになる。
【0060】図13は触媒コンバータに入力される排気
ガスの空燃比A/FとCO濃度およびO2濃度との関係
を示す特性図である。排気ガスの空燃比A/Fが空燃比
14.7以上であるとO2濃度を用いて触媒コンバータ
14内の酸素蓄積量O2STRの変化分△O2を算出し、排
気ガスの空燃比A/Fが空燃比14.7未満であるとC
O濃度を用いて触媒コンバータ14内の酸素蓄積量O2S
TRの変化分△O2を算出する。酸素蓄積量O2STRの変化
分△O2は単位時間当たりの放出吸着速度である。
ガスの空燃比A/FとCO濃度およびO2濃度との関係
を示す特性図である。排気ガスの空燃比A/Fが空燃比
14.7以上であるとO2濃度を用いて触媒コンバータ
14内の酸素蓄積量O2STRの変化分△O2を算出し、排
気ガスの空燃比A/Fが空燃比14.7未満であるとC
O濃度を用いて触媒コンバータ14内の酸素蓄積量O2S
TRの変化分△O2を算出する。酸素蓄積量O2STRの変化
分△O2は単位時間当たりの放出吸着速度である。
【0061】図14は触媒コンバータ14内の酸素蓄積
量O2STRの演算ルーチンを示すフローチャートである。
前述の空燃比A/F(燃空比F/A)の推定ルーチンに
より算出された触媒コンバータ14上流側の空燃比A/
F(AFIN)が理論空燃比AFstoich値「1
4.7」未満でリッチ側にあるかどうかを判別する(ス
テップS410)。空燃比A/Fがリッチ側にあるとき
図13の特性に基づいてAF/[CO]マップによりC
O濃度[COF]を検索する(ステップS420)。検
索されたCO濃度[COF]を用いて前述の数式6にお
ける−d/dt(O)算出式の右辺の項(k1・[CO
F]・O2STR)に空間速度SVを乗算することにより酸
素蓄積量O2STRの変化分△O2(−d/dt(O))を
求める(ステップS425)。ここで、空間速度SVは
単位時間当たりの排気ガス量に相当する。また、空燃比
A/Fがリーン側にあるときAF/[O2]マップによ
りO2濃度[O2F]を検索する(ステップS43
0)。検索されたO2濃度[O2F]を用いて前述の数
式6のd/dt(O)算出式の右辺の項(k2・[O2
F]・CO2MAX−O2STR)に空間速度SVを乗算するこ
とにより酸素蓄積量O2STRの変化分△O2(d/dt
(O))を算出する(ステップS435)。算出された
変化分△O2を前回までに算出されている酸素蓄積量O
2STR(n−1)に加えて今回の酸素蓄積量O2STR(n)
を算出する(ステップS440)。算出された酸素蓄積
量O2STR(n)が前記所定下限値O2STRLを下回ってい
るかどうかを判別する(ステップS450)。下回って
いると判別されたときには前記フラグFCATO20を値
「1」にセットし、前記フラグFCATO2MAXを値「0」に
リセットする(ステップS460)。つぎに、酸素蓄積
量O2STR(n)に値「0」を設定して(ステップS47
0)、本ルーチンを終了する。ステップS450で酸素
蓄積量O2STR(n)が所定の下限値O2STRLを下回って
いないと判別されたとき、さらに酸素蓄積量O2STR
(n)が前記所定上限値O2STRHを越えているかどうか
を判別する(ステップS480)。越えていると判別さ
れたときには前記フラグFCATO20を値「0」にリセット
し、前記フラグFCATO2MAXを値「1」にセットする(ス
テップS490)。つぎに、酸素蓄積量O2STR(n)に
最大酸素蓄積量O2MAXの値を設定して(ステップS50
0)、本ルーチンを終了する。ステップS480で、酸
素蓄積量O2STR(n)が所定上限値O2STRHを越えてい
ないと判別されたときにはステップS510でフラグF
CATO20およびフラグFCATO2MAXの双方を値「0」にリセ
ットして本ルーチンを終了する。上記フラグFCATO20お
よびフラグFCATO2MAXは後述する酸素利用率演算ルーチ
ンでも使用される。
量O2STRの演算ルーチンを示すフローチャートである。
前述の空燃比A/F(燃空比F/A)の推定ルーチンに
より算出された触媒コンバータ14上流側の空燃比A/
F(AFIN)が理論空燃比AFstoich値「1
4.7」未満でリッチ側にあるかどうかを判別する(ス
テップS410)。空燃比A/Fがリッチ側にあるとき
図13の特性に基づいてAF/[CO]マップによりC
O濃度[COF]を検索する(ステップS420)。検
索されたCO濃度[COF]を用いて前述の数式6にお
ける−d/dt(O)算出式の右辺の項(k1・[CO
F]・O2STR)に空間速度SVを乗算することにより酸
素蓄積量O2STRの変化分△O2(−d/dt(O))を
求める(ステップS425)。ここで、空間速度SVは
単位時間当たりの排気ガス量に相当する。また、空燃比
A/Fがリーン側にあるときAF/[O2]マップによ
りO2濃度[O2F]を検索する(ステップS43
0)。検索されたO2濃度[O2F]を用いて前述の数
式6のd/dt(O)算出式の右辺の項(k2・[O2
F]・CO2MAX−O2STR)に空間速度SVを乗算するこ
とにより酸素蓄積量O2STRの変化分△O2(d/dt
(O))を算出する(ステップS435)。算出された
変化分△O2を前回までに算出されている酸素蓄積量O
2STR(n−1)に加えて今回の酸素蓄積量O2STR(n)
を算出する(ステップS440)。算出された酸素蓄積
量O2STR(n)が前記所定下限値O2STRLを下回ってい
るかどうかを判別する(ステップS450)。下回って
いると判別されたときには前記フラグFCATO20を値
「1」にセットし、前記フラグFCATO2MAXを値「0」に
リセットする(ステップS460)。つぎに、酸素蓄積
量O2STR(n)に値「0」を設定して(ステップS47
0)、本ルーチンを終了する。ステップS450で酸素
蓄積量O2STR(n)が所定の下限値O2STRLを下回って
いないと判別されたとき、さらに酸素蓄積量O2STR
(n)が前記所定上限値O2STRHを越えているかどうか
を判別する(ステップS480)。越えていると判別さ
れたときには前記フラグFCATO20を値「0」にリセット
し、前記フラグFCATO2MAXを値「1」にセットする(ス
テップS490)。つぎに、酸素蓄積量O2STR(n)に
最大酸素蓄積量O2MAXの値を設定して(ステップS50
0)、本ルーチンを終了する。ステップS480で、酸
素蓄積量O2STR(n)が所定上限値O2STRHを越えてい
ないと判別されたときにはステップS510でフラグF
CATO20およびフラグFCATO2MAXの双方を値「0」にリセ
ットして本ルーチンを終了する。上記フラグFCATO20お
よびフラグFCATO2MAXは後述する酸素利用率演算ルーチ
ンでも使用される。
【0062】ここで、酸素蓄積量O2STRの上限値O2STR
Hおよび下限値O2STRLは触媒温度TCATに応じて変更さ
れる。図15は触媒温度TCATに対する上限値O2STRHお
よび下限値O2STRLの値を示すグラフである。触媒の反
応速度は、触媒温度TCATに応じて変化する。即ち触媒
温度が異なると触媒の活性度合いが変化し、且つ温度に
依って活性する触媒中の成分が異なるため、触媒の反応
速度は温度によって変化する。一方、最大酸素蓄積量O
2MAXはもともと触媒の反応速度、上流側空燃比などによ
って推定されたものであり、推定誤差を考慮すると推定
極限値までは使用できない。また、推定された最大酸素
蓄積量は静的な値であり、空燃比が時間的に変動するエ
ンジン排気ガス中の酸素を蓄積し放出し得る有効酸素蓄
積量、即ち動的最大酸素蓄積量はそれより下回る。さら
に、この動的最大酸素蓄積量は触媒温度に応じて変化す
る反応速度に依存するので、本実施例では、図15に示
すように、上下限値O2STRH,O2STRL間の幅が反応速度
がより高くなる触媒温度の高域側でより広くなるように
設定している。
Hおよび下限値O2STRLは触媒温度TCATに応じて変更さ
れる。図15は触媒温度TCATに対する上限値O2STRHお
よび下限値O2STRLの値を示すグラフである。触媒の反
応速度は、触媒温度TCATに応じて変化する。即ち触媒
温度が異なると触媒の活性度合いが変化し、且つ温度に
依って活性する触媒中の成分が異なるため、触媒の反応
速度は温度によって変化する。一方、最大酸素蓄積量O
2MAXはもともと触媒の反応速度、上流側空燃比などによ
って推定されたものであり、推定誤差を考慮すると推定
極限値までは使用できない。また、推定された最大酸素
蓄積量は静的な値であり、空燃比が時間的に変動するエ
ンジン排気ガス中の酸素を蓄積し放出し得る有効酸素蓄
積量、即ち動的最大酸素蓄積量はそれより下回る。さら
に、この動的最大酸素蓄積量は触媒温度に応じて変化す
る反応速度に依存するので、本実施例では、図15に示
すように、上下限値O2STRH,O2STRL間の幅が反応速度
がより高くなる触媒温度の高域側でより広くなるように
設定している。
【0063】また、触媒温度TCATはエンジンの冷却水
温Twと相関関係があるので、冷却水温Twに応じて触
媒温度TCATと同様に上限値O2STRHおよび下限値O2STR
Lを設定してもよい。さらにまた、触媒の劣化度合いに
よって触媒の活性状態も変化するので反応速度は劣化度
合いによっても変化する。依って、触媒温度TCATだけ
でなく、触媒の劣化度合の進行に応じて上限値O2STRH
と下限値O2STRL間の幅を狭めるように変更してもよ
い。
温Twと相関関係があるので、冷却水温Twに応じて触
媒温度TCATと同様に上限値O2STRHおよび下限値O2STR
Lを設定してもよい。さらにまた、触媒の劣化度合いに
よって触媒の活性状態も変化するので反応速度は劣化度
合いによっても変化する。依って、触媒温度TCATだけ
でなく、触媒の劣化度合の進行に応じて上限値O2STRH
と下限値O2STRL間の幅を狭めるように変更してもよ
い。
【0064】図16は所定のパータベーションを実行し
た場合における酸素蓄積量O2STRの時間的変化を示す波
形図である。酸素蓄積量O2STRは空燃比A/Fのリッ
チ、リーン反転周期に応じて振動し、酸素蓄積量O2STR
が下限値O2STRLを下回るときあるいは上限値O2STRHを
越えるときには、それぞれのフラグFCATO20,FCATO2M
AXが値「1」にセットされることが示されている。図1
6において、O2USEおよびO2USERはそれぞれ後述する
触媒コンバータ14内の酸素利用量、酸素利用率であ
る。
た場合における酸素蓄積量O2STRの時間的変化を示す波
形図である。酸素蓄積量O2STRは空燃比A/Fのリッ
チ、リーン反転周期に応じて振動し、酸素蓄積量O2STR
が下限値O2STRLを下回るときあるいは上限値O2STRHを
越えるときには、それぞれのフラグFCATO20,FCATO2M
AXが値「1」にセットされることが示されている。図1
6において、O2USEおよびO2USERはそれぞれ後述する
触媒コンバータ14内の酸素利用量、酸素利用率であ
る。
【0065】[酸素利用率O2USERの演算(処理7)]
触媒コンバータ14内の酸素利用量O2USEは、酸素蓄積
量O2STRの軌跡に沿って時間軸に対する傾きに相当する
線分の長さを加算していくことにより数式8に示すよう
に算出されるが、酸素蓄積量O2STRが上限値O2STRHを
越えるとき、あるいは下限値O2STRLを下回るときは補
正係数Kpenaltyで減算される。
触媒コンバータ14内の酸素利用量O2USEは、酸素蓄積
量O2STRの軌跡に沿って時間軸に対する傾きに相当する
線分の長さを加算していくことにより数式8に示すよう
に算出されるが、酸素蓄積量O2STRが上限値O2STRHを
越えるとき、あるいは下限値O2STRLを下回るときは補
正係数Kpenaltyで減算される。
【0066】
【数8】 数式8の酸素蓄積量O2STRはΣ|△O2|にほぼ比例す
るので、酸素利用量O2USEは数式9に示すように単純に
|△O2|の積算を基本とする式となる。
るので、酸素利用量O2USEは数式9に示すように単純に
|△O2|の積算を基本とする式となる。
【0067】
【数9】 ここで、△Tは酸素蓄積量O2STRが下限値O2STRL以下
あるいは上限値O2STRH以上に達している累積時間を示
す。補正係数Kpenaltyは前述のフラグFCATO2MAXおよ
びFCATO20が値「1」にセットされているときに酸素利
用量の値を下げるための補正値であり、実際の触媒の浄
化率との相関を考慮して決定される。
あるいは上限値O2STRH以上に達している累積時間を示
す。補正係数Kpenaltyは前述のフラグFCATO2MAXおよ
びFCATO20が値「1」にセットされているときに酸素利
用量の値を下げるための補正値であり、実際の触媒の浄
化率との相関を考慮して決定される。
【0068】前述した触媒コンバータ14の浄化率に相
関する酸素利用率O2USERは数式10において示され
る。
関する酸素利用率O2USERは数式10において示され
る。
【0069】
【数10】 ここで、時間TはO2USEが算出される演算回数Nに相当
する時間である。
する時間である。
【0070】O2USEは所定時間(T)あたりの酸素蓄積
量O2STRの変化量を表わす量であり、触媒の浄化率に相
関する物理量である。
量O2STRの変化量を表わす量であり、触媒の浄化率に相
関する物理量である。
【0071】図17は酸素利用率O2USERの演算ルーチ
ンを示すフローチャートである。本ルーチンはタイマー
処理により実行され、本ルーチンを所定回数Nだけ実行
する度に1回だけ酸素利用率O2USERの演算を行なうよ
うにされている。まず、処理回数nがN回をこえていな
いかどうかを判別する(ステップS510)。越えてい
ないときには前述のフラグFCATO2MAXあるいはフラグF
CATO20のいずれかが値「1」にセットされているかどう
かを判別する(ステップS520)。いずれのフラグも
値「1」にセットされていないときには前回までの酸素
利用量O2USEに今回の変化分|△O2|を加えて新たな
酸素利用量O2USEとする(ステップS530)。つぎ
に、経過時間Tを△T増加し、処理回数nを値「1」イ
ンクリメントして(ステップS540)本ルーチンを終
了する。ステップS520でフラグFCATO2MAXあるいは
フラグFCATO20のいずれかが値「1」にセットされてい
るときには補正係数Kpenaltyを前回までの酸素利用量
O2USEから減算し(ステップS550)、前述のステッ
プS540で経過時間Tを△T増加し、処理回数nを値
「1」インクリメントして本ルーチンを終了する。ま
た、ステップS510で処理回数nが所定回数Nに達し
たときには酸素利用量O2USEを経過時間Tで除算して酸
素利用率O2USERを演算するとともに酸素利用量O2USE
を値「0」にリセットする(ステップS560)。さら
に、経過時間Tおよび処理回数nを値「0」にリセット
して(ステップS570)本ルーチンを終了する。
ンを示すフローチャートである。本ルーチンはタイマー
処理により実行され、本ルーチンを所定回数Nだけ実行
する度に1回だけ酸素利用率O2USERの演算を行なうよ
うにされている。まず、処理回数nがN回をこえていな
いかどうかを判別する(ステップS510)。越えてい
ないときには前述のフラグFCATO2MAXあるいはフラグF
CATO20のいずれかが値「1」にセットされているかどう
かを判別する(ステップS520)。いずれのフラグも
値「1」にセットされていないときには前回までの酸素
利用量O2USEに今回の変化分|△O2|を加えて新たな
酸素利用量O2USEとする(ステップS530)。つぎ
に、経過時間Tを△T増加し、処理回数nを値「1」イ
ンクリメントして(ステップS540)本ルーチンを終
了する。ステップS520でフラグFCATO2MAXあるいは
フラグFCATO20のいずれかが値「1」にセットされてい
るときには補正係数Kpenaltyを前回までの酸素利用量
O2USEから減算し(ステップS550)、前述のステッ
プS540で経過時間Tを△T増加し、処理回数nを値
「1」インクリメントして本ルーチンを終了する。ま
た、ステップS510で処理回数nが所定回数Nに達し
たときには酸素利用量O2USEを経過時間Tで除算して酸
素利用率O2USERを演算するとともに酸素利用量O2USE
を値「0」にリセットする(ステップS560)。さら
に、経過時間Tおよび処理回数nを値「0」にリセット
して(ステップS570)本ルーチンを終了する。
【0072】以上示した酸素利用率O2USERの演算を実
行すると、例えば図16に示すようにAの範囲では触媒
コンバータ14内の酸素蓄積量O2STRは最大酸素蓄積量
O2MAXの下限値O2STRLと最大酸素蓄積量O2MAXの上限
値O2STRHの間を繰り返しているが、最大酸素蓄積量O2
MAXの下限値O2STRLと最大酸素蓄積量O2MAXの上限値O
2STRHに達している領域があるために補正係数Kpenalty
が適用され酸素利用量O2USEは下降方向に向って、酸素
利用率O2USERは小さい値となる。また、Bの範囲では
触媒コンバータ14内の酸素蓄積量O2STRが最大酸素蓄
積量O2MAXの下限値O2STRLと最大酸素蓄積量O2MAXの
上限値O2STRHの間を繰り返しているので酸素利用量O2
USEは増加方向で酸素利用率O2USERは大きい。Cの範
囲では酸素利用率O2USERを高めるためにパータベーシ
ョン制御のリーン/リッチの周期を短くしているが、触
媒コンバータ14内の酸素蓄積量O2STRを許容量一杯に
活し切れず酸素利用量O2USEはBの範囲の値よりも下が
る。
行すると、例えば図16に示すようにAの範囲では触媒
コンバータ14内の酸素蓄積量O2STRは最大酸素蓄積量
O2MAXの下限値O2STRLと最大酸素蓄積量O2MAXの上限
値O2STRHの間を繰り返しているが、最大酸素蓄積量O2
MAXの下限値O2STRLと最大酸素蓄積量O2MAXの上限値O
2STRHに達している領域があるために補正係数Kpenalty
が適用され酸素利用量O2USEは下降方向に向って、酸素
利用率O2USERは小さい値となる。また、Bの範囲では
触媒コンバータ14内の酸素蓄積量O2STRが最大酸素蓄
積量O2MAXの下限値O2STRLと最大酸素蓄積量O2MAXの
上限値O2STRHの間を繰り返しているので酸素利用量O2
USEは増加方向で酸素利用率O2USERは大きい。Cの範
囲では酸素利用率O2USERを高めるためにパータベーシ
ョン制御のリーン/リッチの周期を短くしているが、触
媒コンバータ14内の酸素蓄積量O2STRを許容量一杯に
活し切れず酸素利用量O2USEはBの範囲の値よりも下が
る。
【0073】[空燃比制御(処理8)]つぎに、上記演
算にて算出された酸素利用率O2USERを用いた空燃比A
/Fの強制振動(パータベーション)処理について説明
する。図18は空燃比の強制振動(パータベーション)
の処理を示すフローチャートである。図19は図18の
パータベーションの波形を示すタイミングチャートであ
る。
算にて算出された酸素利用率O2USERを用いた空燃比A
/Fの強制振動(パータベーション)処理について説明
する。図18は空燃比の強制振動(パータベーション)
の処理を示すフローチャートである。図19は図18の
パータベーションの波形を示すタイミングチャートであ
る。
【0074】まず、空燃比をリッチからリーンに切り替
えるためのダウンタイマtPRの値が「0」になったかど
うかを判別し(ステップS810)、値「0」になって
いなければ本ルーチンを終了する。値「0」になってい
るときには、さらにリーンからリッチに切り替えるため
のダウンタイマtPLの値が「0」になったかどうかを
判別し(ステップS820)、値「0」になっていなけ
れば本ルーチンを終了する。値「0」になっていなけれ
ばフラグFpertが値「0」であるかどうかを判別する
(ステップS830)。フラグFpertが値「0」である
ときには周期tpertRをダウンタイマtPRにセットし
(ステップS840)、係数Kpに値「1+Kper
t」を設定してリッチ側に振動させる(ステップS85
0)。フラグFpertを値「1」にセットして本ルーチン
を終了する(ステップS860)。ステップS830に
おいてフラグFpertが値「1」であるときは周期tpert
LをダウンカウンタtPLにセットし(ステップS87
0)、係数Kpに値「1−Kpert」を設定してリーン側
に振動させる(ステップS880)。フラグFpertを値
「0」にリセットして本ルーチンを終了する(ステップ
S890)。したがって、本ルーチンの実行により係数
Kpは値「1.0」を中心に振幅Kpert、周期tpertR
+tpertLで振動する波形となる。また、触媒の酸素蓄
積量の変化量(dO2)は空燃比がリッチ側にあるとき
の方がリーン側にあるときに較べて大きいので、リッチ
時の酸素蓄積量の変化量とリーン時の変化量を等しくす
るためtpertR<tpertLに設定している。さらに、パ
ータベーションの振幅および周期は後述する酸素利用率
(O2USER)に応じて変更される。
えるためのダウンタイマtPRの値が「0」になったかど
うかを判別し(ステップS810)、値「0」になって
いなければ本ルーチンを終了する。値「0」になってい
るときには、さらにリーンからリッチに切り替えるため
のダウンタイマtPLの値が「0」になったかどうかを
判別し(ステップS820)、値「0」になっていなけ
れば本ルーチンを終了する。値「0」になっていなけれ
ばフラグFpertが値「0」であるかどうかを判別する
(ステップS830)。フラグFpertが値「0」である
ときには周期tpertRをダウンタイマtPRにセットし
(ステップS840)、係数Kpに値「1+Kper
t」を設定してリッチ側に振動させる(ステップS85
0)。フラグFpertを値「1」にセットして本ルーチン
を終了する(ステップS860)。ステップS830に
おいてフラグFpertが値「1」であるときは周期tpert
LをダウンカウンタtPLにセットし(ステップS87
0)、係数Kpに値「1−Kpert」を設定してリーン側
に振動させる(ステップS880)。フラグFpertを値
「0」にリセットして本ルーチンを終了する(ステップ
S890)。したがって、本ルーチンの実行により係数
Kpは値「1.0」を中心に振幅Kpert、周期tpertR
+tpertLで振動する波形となる。また、触媒の酸素蓄
積量の変化量(dO2)は空燃比がリッチ側にあるとき
の方がリーン側にあるときに較べて大きいので、リッチ
時の酸素蓄積量の変化量とリーン時の変化量を等しくす
るためtpertR<tpertLに設定している。さらに、パ
ータベーションの振幅および周期は後述する酸素利用率
(O2USER)に応じて変更される。
【0075】図22は空間速度SVを一定にした状態で
触媒温度TCATを変化させた時の触媒最大浄化率を与え
るパータベーションの振幅(ΔA/F)および周波数
(Hz)の軌跡である。また、図23は触媒温度TCAT
を一定にした状態で空間速度SVを変化させた時の触媒
最大浄化率を与えるパータベーションの振幅(ΔA/
F)および周波数(Hz)の軌跡である。図22および
図23において「○」で囲まれる領域はそれぞれ触媒温
度TCATおよび空間速度SVに応じた最大浄化率ポイン
トの領域を示している。図22、図23ともに最大浄化
率を与えるパータベーションの振幅、周波数の軌跡は触
媒温度TCATまたは空間速度SVの変化に対して振幅、
周波数平面上で略双曲線的に変化することがわかる。ま
た、最大浄化率を与える振幅、周波数のポイントは振
幅、周波数平面上で原点を通る直線上に存在することが
わかる。
触媒温度TCATを変化させた時の触媒最大浄化率を与え
るパータベーションの振幅(ΔA/F)および周波数
(Hz)の軌跡である。また、図23は触媒温度TCAT
を一定にした状態で空間速度SVを変化させた時の触媒
最大浄化率を与えるパータベーションの振幅(ΔA/
F)および周波数(Hz)の軌跡である。図22および
図23において「○」で囲まれる領域はそれぞれ触媒温
度TCATおよび空間速度SVに応じた最大浄化率ポイン
トの領域を示している。図22、図23ともに最大浄化
率を与えるパータベーションの振幅、周波数の軌跡は触
媒温度TCATまたは空間速度SVの変化に対して振幅、
周波数平面上で略双曲線的に変化することがわかる。ま
た、最大浄化率を与える振幅、周波数のポイントは振
幅、周波数平面上で原点を通る直線上に存在することが
わかる。
【0076】最大浄化率を与える振幅、周波数のポイン
トが、振幅、周波数平面上で原点を通る直線上に存在す
ることは以下で説明できる。
トが、振幅、周波数平面上で原点を通る直線上に存在す
ることは以下で説明できる。
【0077】図16で説明したように、触媒浄化率に相
当する酸素利用率O2USERは、O2STRが最大酸素蓄積量
O2MAXと最小値(ゼロ)の間を時間的に短く変動した場
合に最大になる。
当する酸素利用率O2USERは、O2STRが最大酸素蓄積量
O2MAXと最小値(ゼロ)の間を時間的に短く変動した場
合に最大になる。
【0078】よって図21で示すように、触媒浄化率を
最大にするためには、パータベーションのリッチ側での
酸素蓄積量O2STRの減少量と、パータベーションのリー
ン側での酸素蓄積量O2STRの増加量はそれぞれ触媒の最
大酸素蓄積量とする必要があり、そうすることで、リッ
チ側においては酸素蓄積量O2STRは最大値からゼロまで
放出され、リーン側においいては酸素蓄積量O2STRはゼ
ロから最大値まで蓄積される。
最大にするためには、パータベーションのリッチ側での
酸素蓄積量O2STRの減少量と、パータベーションのリー
ン側での酸素蓄積量O2STRの増加量はそれぞれ触媒の最
大酸素蓄積量とする必要があり、そうすることで、リッ
チ側においては酸素蓄積量O2STRは最大値からゼロまで
放出され、リーン側においいては酸素蓄積量O2STRはゼ
ロから最大値まで蓄積される。
【0079】ところで、パータベーションのリッチ側で
の酸素蓄積量O2STRの減少量は、リッチ側でのCO濃度
であるパータベーションの振幅と排気ガス量である空間
速度の積である単位時間当たりのO2分子放出量と、そ
のリッチ状態の継続時間であるパータベーションの周期
の積で決定される。
の酸素蓄積量O2STRの減少量は、リッチ側でのCO濃度
であるパータベーションの振幅と排気ガス量である空間
速度の積である単位時間当たりのO2分子放出量と、そ
のリッチ状態の継続時間であるパータベーションの周期
の積で決定される。
【0080】同様に、パータベーションのリーン側での
酸素蓄積量O2STRの増加量は、リーン側でのO2濃度で
あるパータベーションの振幅と排気ガス量である空間速
度の積である単位時間当たりのO2分子蓄積量と、その
リーン状態の継続時間であるパータベーションの周期の
積で決定される。
酸素蓄積量O2STRの増加量は、リーン側でのO2濃度で
あるパータベーションの振幅と排気ガス量である空間速
度の積である単位時間当たりのO2分子蓄積量と、その
リーン状態の継続時間であるパータベーションの周期の
積で決定される。
【0081】よって、最大浄化率を満たす、パータベー
ション振幅、周波数のポイントは傾きが触媒の最大酸素
蓄積量と空間速度で決定される振幅、周波数平面上で原
点を通る直線上に存在し、空間速度が大きいほどその直
線の傾きは小さくなり、また最大酸素蓄積量(触媒温
度)が大きいほど傾きは大きくなる。
ション振幅、周波数のポイントは傾きが触媒の最大酸素
蓄積量と空間速度で決定される振幅、周波数平面上で原
点を通る直線上に存在し、空間速度が大きいほどその直
線の傾きは小さくなり、また最大酸素蓄積量(触媒温
度)が大きいほど傾きは大きくなる。
【0082】上記説明は触媒の最大浄化率を与える必要
条件のひとつであり、上記傾きをもつ直線上でのある特
定の振幅、周期において最大浄化率が得られる。
条件のひとつであり、上記傾きをもつ直線上でのある特
定の振幅、周期において最大浄化率が得られる。
【0083】図21はパータベーションの周波数、振幅
の値を直線的に変更した場合の触媒浄化率の変化を説明
する図である。
の値を直線的に変更した場合の触媒浄化率の変化を説明
する図である。
【0084】図21の(a)は最大浄化率ポイントを与
える振幅、周波数を持つパータベーション波形である。
える振幅、周波数を持つパータベーション波形である。
【0085】図21の(b)は、空間速度、およびパー
タベーションの面積(振幅×周期)を図22の(a)と
同一にした状態で、振幅を2倍、周期を1/2にした場
合である。この場合は触媒の単位時間当たりに処理でき
るO2分子量を越えた排気ガスが触媒に流入するため吸
着、放出限界を越えて浄化率が低下する。
タベーションの面積(振幅×周期)を図22の(a)と
同一にした状態で、振幅を2倍、周期を1/2にした場
合である。この場合は触媒の単位時間当たりに処理でき
るO2分子量を越えた排気ガスが触媒に流入するため吸
着、放出限界を越えて浄化率が低下する。
【0086】図21の(c)は、空間速度およびパータ
ベーションの面積(振幅×周期)を図22の(a)と一
定にした状態で、振幅を1/2倍、周期を2倍にした場
合である。この場合は触媒にリッチな排気ガスまたはリ
ーンな排気ガスが図22の(a)に比べて長時間流入
し、HCなどの成分が触媒に付着してしまう自己被毒領
域になるため、やはり浄化率が低下る。
ベーションの面積(振幅×周期)を図22の(a)と一
定にした状態で、振幅を1/2倍、周期を2倍にした場
合である。この場合は触媒にリッチな排気ガスまたはリ
ーンな排気ガスが図22の(a)に比べて長時間流入
し、HCなどの成分が触媒に付着してしまう自己被毒領
域になるため、やはり浄化率が低下る。
【0087】[周波数、振幅変更速度設定処理(処理
9)]始めに、振幅Kpertおよび周波数fpertR、fper
tLを直線的に変更する方法についてその概略を説明す
る。
9)]始めに、振幅Kpertおよび周波数fpertR、fper
tLを直線的に変更する方法についてその概略を説明す
る。
【0088】図20は振幅Kpert、周波数fpertR、fp
ertLの変更ルーチンを示すフローチャートであり、パー
タベーションの振幅と周波数を前記振幅、周波数平面に
おいて原点を通る直線上で変更させながら最大浄化率ポ
イントに収束させる手法を示す(処理8に対応する)。
まず、吸気管内絶対圧PBA、エンジン回転数NE、車速
Vなどが安定し、パータベーションを実行する運転領域
にあるかどうかを判別する(ステップS910)。該運
転領域にないときは、そのときの振幅Kpert、周波数f
pertR、fpertLを学習値として設定して記憶し(ステッ
プS1030)、本ルーチンを終了する。パータベーシ
ョンを実行する運転領域にあるときには下流側O2セン
サ16による空燃比フィードバック制御(SO2F/
B)を実行中であるかどうかを判別する(ステップS9
20)。空燃比フィードバック制御を実行していないと
きには前述のステップS1030を実行して、本ルーチ
ンを終了する。空燃比フィードバック制御を実行してい
るときには、運転状態が変更されずに同一の運転状態を
維持しているか否かを判別し(ステップS926)、運
転状態が変更されたときには振幅Kpert、周波数fpert
R、fpertLが既に学習されているか否かを判別する(ス
テップS927)。既に学習されていれば学習値を振幅
Kpert、周波数fpertR、fpertLとして設定して(ステ
ップS1030)本ルーチンを終了する。ステップS9
27で未だ学習されていないと判別されたときは図示し
ない空間速度SV/触媒温度TCATマップからSV、TC
AT値に応じて振幅Kpertおよび周波数fpertR、fpertL
の初期値を検索すると共に、空間速度SVに応じて振幅
の変化量△Kp、周波数の変化量△fPR、△fPLを決定
して(ステップS928)本ルーチンを終了する。図2
4の(A)は触媒温度TCATおよび空間速度SVに対す
る振幅Kpertの変化量ΔKpを示す図、同(B)は触媒
温度TCATおよび空間速度SVに対する周波数fpertR、
fpertLの変化量ΔfPR、ΔfPLを示す図である。
ertLの変更ルーチンを示すフローチャートであり、パー
タベーションの振幅と周波数を前記振幅、周波数平面に
おいて原点を通る直線上で変更させながら最大浄化率ポ
イントに収束させる手法を示す(処理8に対応する)。
まず、吸気管内絶対圧PBA、エンジン回転数NE、車速
Vなどが安定し、パータベーションを実行する運転領域
にあるかどうかを判別する(ステップS910)。該運
転領域にないときは、そのときの振幅Kpert、周波数f
pertR、fpertLを学習値として設定して記憶し(ステッ
プS1030)、本ルーチンを終了する。パータベーシ
ョンを実行する運転領域にあるときには下流側O2セン
サ16による空燃比フィードバック制御(SO2F/
B)を実行中であるかどうかを判別する(ステップS9
20)。空燃比フィードバック制御を実行していないと
きには前述のステップS1030を実行して、本ルーチ
ンを終了する。空燃比フィードバック制御を実行してい
るときには、運転状態が変更されずに同一の運転状態を
維持しているか否かを判別し(ステップS926)、運
転状態が変更されたときには振幅Kpert、周波数fpert
R、fpertLが既に学習されているか否かを判別する(ス
テップS927)。既に学習されていれば学習値を振幅
Kpert、周波数fpertR、fpertLとして設定して(ステ
ップS1030)本ルーチンを終了する。ステップS9
27で未だ学習されていないと判別されたときは図示し
ない空間速度SV/触媒温度TCATマップからSV、TC
AT値に応じて振幅Kpertおよび周波数fpertR、fpertL
の初期値を検索すると共に、空間速度SVに応じて振幅
の変化量△Kp、周波数の変化量△fPR、△fPLを決定
して(ステップS928)本ルーチンを終了する。図2
4の(A)は触媒温度TCATおよび空間速度SVに対す
る振幅Kpertの変化量ΔKpを示す図、同(B)は触媒
温度TCATおよび空間速度SVに対する周波数fpertR、
fpertLの変化量ΔfPR、ΔfPLを示す図である。
【0089】変化量ΔKpおよび変化量ΔfPR、ΔfPL
は、それぞれ図24の(A)の傾向および図24の
(B)の傾向を有する各三次元マップまたはテーブルを
検索して求められる。
は、それぞれ図24の(A)の傾向および図24の
(B)の傾向を有する各三次元マップまたはテーブルを
検索して求められる。
【0090】ここで、再び本ルーチンが実行されて、ス
テップS926でエンジンの運転状態が変更されていな
いときにはステップS930に移行する。
テップS926でエンジンの運転状態が変更されていな
いときにはステップS930に移行する。
【0091】つづいて、酸素利用率O2USERの変化量Δ
O2USERの値が「0」より大きいかどうか、即ち酸素利
用率O2USERが増加方向にあるかあるいは減少方向にあ
るか否かを判別する(ステップS930)。
O2USERの値が「0」より大きいかどうか、即ち酸素利
用率O2USERが増加方向にあるかあるいは減少方向にあ
るか否かを判別する(ステップS930)。
【0092】ステップS930で酸素利用率O2USERの
値が増加方向にあるときには周波数fpertR、fpertLを
それぞれ変化量△fPR、△fPLだけ増加し(ステップS
940、ステップS950)、振幅Kpertを変化量△K
pだけ増加する(ステップS960)。また、ステップ
S930において酸素利用率O2USERの値が減少方向に
あるときには周波数fpertR、fpertLをそれぞれ変化量
△fPR、△fPLだけ減少させ(ステップS970、ステ
ップS980)、振幅Kpertを変化量△Kpだけ減少さ
せる(ステップS990)。
値が増加方向にあるときには周波数fpertR、fpertLを
それぞれ変化量△fPR、△fPLだけ増加し(ステップS
940、ステップS950)、振幅Kpertを変化量△K
pだけ増加する(ステップS960)。また、ステップ
S930において酸素利用率O2USERの値が減少方向に
あるときには周波数fpertR、fpertLをそれぞれ変化量
△fPR、△fPLだけ減少させ(ステップS970、ステ
ップS980)、振幅Kpertを変化量△Kpだけ減少さ
せる(ステップS990)。
【0093】ついで、増減された振幅Kpertおよび周波
数fpertR、fpertLがそれぞれのリミット値を越えたか
どうかを判別し、越えている場合にはリミット処理を行
う(ステップS1010)。つぎに、図示しない空間速
度SV/触媒温度TCATマップからSV、TCAT値に振幅
Kpertおよび周波数fpertR、fpertLの学習値を算出し
て記憶し(ステップS1020)本ルーチンを終了す
る。
数fpertR、fpertLがそれぞれのリミット値を越えたか
どうかを判別し、越えている場合にはリミット処理を行
う(ステップS1010)。つぎに、図示しない空間速
度SV/触媒温度TCATマップからSV、TCAT値に振幅
Kpertおよび周波数fpertR、fpertLの学習値を算出し
て記憶し(ステップS1020)本ルーチンを終了す
る。
【0094】振幅(ΔA/F)の変更量(ΔKp)およ
び周波数の変更量(ΔfPR、ΔfPL)は、変更軌跡が最
大浄化率を与える振幅、周波数ポイントを含むように、
空間速度SVと触媒最大酸素蓄積量(ここでは触媒温
度)によって決定される図24で示すマップで与えられ
る。(処理9に対応する)また、処理9の振幅、周波数
の変更速度設定手段は空間速度と触媒温度に応じて振幅
の変更速度(ΔKp)と周波数の変更速度(ΔfPR、Δ
fPL)の一方を変更するものであっても、それら両方を
変更するものであっても良く、いずれの手法でも最大浄
化率ポイントが存在する所望の直線の傾きを与えること
ができる。
び周波数の変更量(ΔfPR、ΔfPL)は、変更軌跡が最
大浄化率を与える振幅、周波数ポイントを含むように、
空間速度SVと触媒最大酸素蓄積量(ここでは触媒温
度)によって決定される図24で示すマップで与えられ
る。(処理9に対応する)また、処理9の振幅、周波数
の変更速度設定手段は空間速度と触媒温度に応じて振幅
の変更速度(ΔKp)と周波数の変更速度(ΔfPR、Δ
fPL)の一方を変更するものであっても、それら両方を
変更するものであっても良く、いずれの手法でも最大浄
化率ポイントが存在する所望の直線の傾きを与えること
ができる。
【0095】空間速度および触媒温度で与えられる運転
領域が変化したときは、学習値が演算されないうちは初
期値として図示しない空間速度、触媒温度から求められ
る振幅、周波数を与える。この初期値は図22または図
23で与えられる最大浄化率のポイントより幾分振幅お
よび周波数が小さい領域の値をセットして、図21の
(b)のような触媒の吸着、放出限界領域を使わないよ
うにし、エミッションの悪化を防止している。
領域が変化したときは、学習値が演算されないうちは初
期値として図示しない空間速度、触媒温度から求められ
る振幅、周波数を与える。この初期値は図22または図
23で与えられる最大浄化率のポイントより幾分振幅お
よび周波数が小さい領域の値をセットして、図21の
(b)のような触媒の吸着、放出限界領域を使わないよ
うにし、エミッションの悪化を防止している。
【0096】この直線軌跡による制御では、空間速度と
最大酸素蓄積量が求まれば、必ず最大浄化ポイントを与
える振幅、周波数が存在する直線軌跡上で制御できると
いう特徴がある。
最大酸素蓄積量が求まれば、必ず最大浄化ポイントを与
える振幅、周波数が存在する直線軌跡上で制御できると
いう特徴がある。
【0097】つぎに、振幅Kpert、周波数fpertR、fp
ertLを双曲線的に変更する処理について説明する。図2
5は振幅Kpert、周波数fpertR、fpertLを双曲線的に
変更するルーチンを示すフローチャートであり、パータ
ベーションの振幅と周波数を前記振幅、周波数平面上で
略双曲線的に変更させながら最大浄化率ポイントに収束
させる手法を示す。図20ではパータベーションの周波
数を所定量ずつ変更する手法により直線的な軌跡を与え
たが、図25ではパータベーションの周期(周波数の逆
数)を所定量ずつ変更し、また振幅と周期の変更方向を
図20とは逆向きに与えることによって略双曲線的な軌
跡を与えるものである。(処理8に対応する)。
ertLを双曲線的に変更する処理について説明する。図2
5は振幅Kpert、周波数fpertR、fpertLを双曲線的に
変更するルーチンを示すフローチャートであり、パータ
ベーションの振幅と周波数を前記振幅、周波数平面上で
略双曲線的に変更させながら最大浄化率ポイントに収束
させる手法を示す。図20ではパータベーションの周波
数を所定量ずつ変更する手法により直線的な軌跡を与え
たが、図25ではパータベーションの周期(周波数の逆
数)を所定量ずつ変更し、また振幅と周期の変更方向を
図20とは逆向きに与えることによって略双曲線的な軌
跡を与えるものである。(処理8に対応する)。
【0098】図25のフローチャートにおいて、まず、
吸気管内絶対圧PBA、エンジン回転数NE、車速Vなど
が安定し、パータベーションを実行する運転領域にある
かどうかを判別する(ステップS91)。該運転領域に
ないときは、そのときの振幅Kpert、周期tpertR、t
pertLを学習値に設定して記憶し(ステップS103)
本ルーチンを終了する。パータベーションを実行する運
転領域にあるときには下流側O2センサ16による空燃
比フィードバック制御(SO2F/B)を実行中である
かどうかを判別する(ステップS92)。空燃比フィー
ドバック制御を実行していないときには前述のステップ
S103を実行して、本ルーチンを終了する。空燃比フ
ィードバック制御を実行しているときには、酸素利用率
O2USERの変化量ΔO2USERの値が「0」より大きいか
どうか、即ち酸素利用率O2USERが増加方向にあるかあ
るいは減少方向にあるか否かを判別する(ステップS9
3)。酸素利用率O2USERの値が増加方向にあるときに
は周期tpertR、tpertLをそれぞれ変化量△tPR、△
tPLだけ増加し(ステップS94、ステップS95)、
振幅Kpertを変化量△Kpだけ増加する(ステップS9
6)。また、ステップS93において酸素利用率O2USE
Rの値が減少方向にあるときには周期tpertR、tpert
Lをそれぞれ変化量△tPR、△tPLだけ増加させ(ステ
ップS97、ステップS98)、振幅Kpertを変化量△
Kpだけ減少させる(ステップS99)。振幅Kpertの
変化量△Kpおよび周期tpertR、tpertLの変化量△
tPR、△tPLは空間速度SVおよび触媒温度TCATに応
じた値が用いられる。
吸気管内絶対圧PBA、エンジン回転数NE、車速Vなど
が安定し、パータベーションを実行する運転領域にある
かどうかを判別する(ステップS91)。該運転領域に
ないときは、そのときの振幅Kpert、周期tpertR、t
pertLを学習値に設定して記憶し(ステップS103)
本ルーチンを終了する。パータベーションを実行する運
転領域にあるときには下流側O2センサ16による空燃
比フィードバック制御(SO2F/B)を実行中である
かどうかを判別する(ステップS92)。空燃比フィー
ドバック制御を実行していないときには前述のステップ
S103を実行して、本ルーチンを終了する。空燃比フ
ィードバック制御を実行しているときには、酸素利用率
O2USERの変化量ΔO2USERの値が「0」より大きいか
どうか、即ち酸素利用率O2USERが増加方向にあるかあ
るいは減少方向にあるか否かを判別する(ステップS9
3)。酸素利用率O2USERの値が増加方向にあるときに
は周期tpertR、tpertLをそれぞれ変化量△tPR、△
tPLだけ増加し(ステップS94、ステップS95)、
振幅Kpertを変化量△Kpだけ増加する(ステップS9
6)。また、ステップS93において酸素利用率O2USE
Rの値が減少方向にあるときには周期tpertR、tpert
Lをそれぞれ変化量△tPR、△tPLだけ増加させ(ステ
ップS97、ステップS98)、振幅Kpertを変化量△
Kpだけ減少させる(ステップS99)。振幅Kpertの
変化量△Kpおよび周期tpertR、tpertLの変化量△
tPR、△tPLは空間速度SVおよび触媒温度TCATに応
じた値が用いられる。
【0099】ついで、斯く増減された振幅Kpertおよび
周期tpertR、tpertLがそれぞれのリミット値を越え
たかどうかを判別し、越えている場合にはリミット処理
を行う(ステップS101)。つぎに、図示しない空間
速度SV/触媒温度TCATマップからSV値、TCAT値に
応じて振幅Kpertおよび周期tpertR、tpertLを学習
して記憶し(ステップS102)本ルーチンを終了す
る。
周期tpertR、tpertLがそれぞれのリミット値を越え
たかどうかを判別し、越えている場合にはリミット処理
を行う(ステップS101)。つぎに、図示しない空間
速度SV/触媒温度TCATマップからSV値、TCAT値に
応じて振幅Kpertおよび周期tpertR、tpertLを学習
して記憶し(ステップS102)本ルーチンを終了す
る。
【0100】ここで、振幅(ΔA/F)の変更量(ΔK
p)および周期の変更量(ΔtPR、ΔtPL)は、変更軌
跡が最大浄化率を与える振幅、周波数ポイントを含むよ
うに空間速度SVと触媒の最大酸素蓄積量(ここでは触
媒温度)によって決定される図26で示すマップで与え
られる。(処理9に対応する)また処理9の振幅、周波
数の変更速度設定手段は空間速度と触媒温度に応じて振
幅の変更速度(ΔKp)と周期の変更速度(ΔtPR、Δ
tPL)の一方を変更するものであっても、それら両方を
変更するものであっても良く、いずれの手法でも所望の
双曲線軌跡を与えることができる。
p)および周期の変更量(ΔtPR、ΔtPL)は、変更軌
跡が最大浄化率を与える振幅、周波数ポイントを含むよ
うに空間速度SVと触媒の最大酸素蓄積量(ここでは触
媒温度)によって決定される図26で示すマップで与え
られる。(処理9に対応する)また処理9の振幅、周波
数の変更速度設定手段は空間速度と触媒温度に応じて振
幅の変更速度(ΔKp)と周期の変更速度(ΔtPR、Δ
tPL)の一方を変更するものであっても、それら両方を
変更するものであっても良く、いずれの手法でも所望の
双曲線軌跡を与えることができる。
【0101】この双曲線軌跡による制御では、図22ま
たは図23で示されるように最大浄化ポイントは略双曲
線的な分布をしているために、触媒状態の変化、特に時
間的にすばやく変化する空間速度(触媒流入排気ガス
量)の変化に対して過渡的な応答性が優れているという
特徴がある。
たは図23で示されるように最大浄化ポイントは略双曲
線的な分布をしているために、触媒状態の変化、特に時
間的にすばやく変化する空間速度(触媒流入排気ガス
量)の変化に対して過渡的な応答性が優れているという
特徴がある。
【0102】[燃料噴射量Toutの演算処理(処理1
1)]燃料噴射量Toutの基本燃料量Tiはエンジン
回転数NEおよび吸気管内絶対圧PBAから決定される。
燃料噴射量Toutは決定された基本燃料量Tiに補正
係数KTOTAL及び係数Kpを乗じ、次の処理10で算出
される空燃比補正係数KO2を乗じて数式11に示すよ
うに算出される。補正係数KTOTALは、エンジン冷却水
温Tw補正係数、高負荷時リッチ化補正係数、減速時リ
ーン化補正係数等を含む燃費や加速特性等のエンジン諸
特性向上のための補正係数の総和である。
1)]燃料噴射量Toutの基本燃料量Tiはエンジン
回転数NEおよび吸気管内絶対圧PBAから決定される。
燃料噴射量Toutは決定された基本燃料量Tiに補正
係数KTOTAL及び係数Kpを乗じ、次の処理10で算出
される空燃比補正係数KO2を乗じて数式11に示すよ
うに算出される。補正係数KTOTALは、エンジン冷却水
温Tw補正係数、高負荷時リッチ化補正係数、減速時リ
ーン化補正係数等を含む燃費や加速特性等のエンジン諸
特性向上のための補正係数の総和である。
【0103】
【数11】Tout=Ti×Kp×KTOTAL×KO2 [空燃比補正係数KO2の演算処理(処理10)]図2
7および図28は上流側O2センサ16の出力電圧FV
O2に応じて空燃比補正係数KO2の算出を行う空燃比
補正係数KO2算出ルーチンのフローチャートである。
7および図28は上流側O2センサ16の出力電圧FV
O2に応じて空燃比補正係数KO2の算出を行う空燃比
補正係数KO2算出ルーチンのフローチャートである。
【0104】ステップS1610では、第1及び第2の
リーンリッチフラグFAF1及びFAF2の初期化を行
う。第1のリーンリッチフラグFAF1は、図30
(a),(b)に示すように上流側O2センサ出力電圧
FVO2が基準電圧FVREF(例えば0.45V)よ
り高いリッチ状態のとき値1に設定されるフラグであ
り、第2のリーンリッチフラグFAF2は、図30
(d)に示すように第1のリーンリッチフラグFAF1
が反転した(0→1又は1→0に変化した)時点から一
定時間遅延してフラグFAF1と同一値に設定されるフ
ラグである。
リーンリッチフラグFAF1及びFAF2の初期化を行
う。第1のリーンリッチフラグFAF1は、図30
(a),(b)に示すように上流側O2センサ出力電圧
FVO2が基準電圧FVREF(例えば0.45V)よ
り高いリッチ状態のとき値1に設定されるフラグであ
り、第2のリーンリッチフラグFAF2は、図30
(d)に示すように第1のリーンリッチフラグFAF1
が反転した(0→1又は1→0に変化した)時点から一
定時間遅延してフラグFAF1と同一値に設定されるフ
ラグである。
【0105】これらのフラグFAF1,FAF2の初期
化は具体的には図29に示すプログラムにより実行され
る。先ず、フィードバック制御開始直後か否か、即ち、
前回までオープンループ制御を実行し、今回からフィー
ドバック制御を開始するのか否かを判別し(ステップS
1910)、開始時でなければ、初期化する必要がない
ので、直ちに本プログラムを終了する。
化は具体的には図29に示すプログラムにより実行され
る。先ず、フィードバック制御開始直後か否か、即ち、
前回までオープンループ制御を実行し、今回からフィー
ドバック制御を開始するのか否かを判別し(ステップS
1910)、開始時でなければ、初期化する必要がない
ので、直ちに本プログラムを終了する。
【0106】開始時のときには、上流側O2センサ出力
電圧FVO2が基準電圧FVREFより低いか否かを判
別する(ステップS1920)。FVO2<FVREF
が成立するときには第1及び第2のリーンリッチフラグ
FAF1,FAF2を値0に設定する一方(ステップS
1930)、FVO2≧FVREFが成立するときには
いずれも値1に設定する(ステップS1940)。
電圧FVO2が基準電圧FVREFより低いか否かを判
別する(ステップS1920)。FVO2<FVREF
が成立するときには第1及び第2のリーンリッチフラグ
FAF1,FAF2を値0に設定する一方(ステップS
1930)、FVO2≧FVREFが成立するときには
いずれも値1に設定する(ステップS1940)。
【0107】図27に戻り、ステップS1620までは
KO2値の初期化を行う。即ち、オープンループ制御か
らフィードバック制御へ移行した直後、あるいはフィー
ドバック制御中にスロットル弁が急激に開弁されたとき
には、学習値KREFをKO2値の初期値として設定す
る。上記以外のときには、何も行わない。
KO2値の初期化を行う。即ち、オープンループ制御か
らフィードバック制御へ移行した直後、あるいはフィー
ドバック制御中にスロットル弁が急激に開弁されたとき
には、学習値KREFをKO2値の初期値として設定す
る。上記以外のときには、何も行わない。
【0108】続くステップS1630では、今回KO2
値が初期化されたか否かを判別し、初期化されたときに
は直ちにステップS1790に進む一方、初期化されな
かったときには、ステップS1640に進む。
値が初期化されたか否かを判別し、初期化されたときに
は直ちにステップS1790に進む一方、初期化されな
かったときには、ステップS1640に進む。
【0109】フィードバック制御開始時は、ステップS
1630の答が肯定(YES)となるので、ステップS
1790〜S1840においてリーンリッチフラグFA
F1,FAF2の値に応じてP項発生ディレーカウンタ
CDLY1の初期値設定及びKO2値の積分制御(I項
制御)を行う。カウンタCDLY1は、図30(b)
(c)(d)に示すように、第1のリーンリッチフラグ
FAF1の反転時点から第2のリーンリッチフラグFA
F2を反転させるまでの遅延時間、即ちO2センサ出力
FVO2の反転時点から比例制御(P項制御)を実行す
るまでの時間を計測するものである。
1630の答が肯定(YES)となるので、ステップS
1790〜S1840においてリーンリッチフラグFA
F1,FAF2の値に応じてP項発生ディレーカウンタ
CDLY1の初期値設定及びKO2値の積分制御(I項
制御)を行う。カウンタCDLY1は、図30(b)
(c)(d)に示すように、第1のリーンリッチフラグ
FAF1の反転時点から第2のリーンリッチフラグFA
F2を反転させるまでの遅延時間、即ちO2センサ出力
FVO2の反転時点から比例制御(P項制御)を実行す
るまでの時間を計測するものである。
【0110】ステップS1790では第2のリーンリッ
チフラグFAF2が値0か否かを判別し、FAF2=0
のときにはステップS1800(図28)に進み、第1
のリーンリッチフラグFAF1が値0か否かを判別する
一方、FAF2=1のときにはステップS1830(図
28)に進み、第1のリーンリッチフラグFAF1が値
1か否かを判別する。フィードバック制御開始時は、F
VO2<FVREFであればFAF1=FAF2=0で
あるので(図29参照)、ステップS1790,S18
00を経てステップS1810に至り、カウンタCDL
Y1に負の所定値TDRが設定される。またFVO2≧
FVREFであれば、FAF1=FAF2=1であるの
で、ステップS1790,S1830を経てステップS
1840に至り、カウンタCDLY1に正の所定値TD
Lが設定される。フラグFAF1及びFAF2がともに
値0又はともに値1以外のときは、カウンタCDLY1
の初期値設定は行わず、FAF2=0であればKO2値
に所定値Iを加算する一方(ステップS1820)、F
AF2=1であればKO2値から所定値Iを減算し(ス
テップS1850)、ステップS1860に進む。ま
た、TDR,TDLは第1実施例では固定値であるが、
後述する第2実施例において酸素蓄積量O2STRによって
変更される。
チフラグFAF2が値0か否かを判別し、FAF2=0
のときにはステップS1800(図28)に進み、第1
のリーンリッチフラグFAF1が値0か否かを判別する
一方、FAF2=1のときにはステップS1830(図
28)に進み、第1のリーンリッチフラグFAF1が値
1か否かを判別する。フィードバック制御開始時は、F
VO2<FVREFであればFAF1=FAF2=0で
あるので(図29参照)、ステップS1790,S18
00を経てステップS1810に至り、カウンタCDL
Y1に負の所定値TDRが設定される。またFVO2≧
FVREFであれば、FAF1=FAF2=1であるの
で、ステップS1790,S1830を経てステップS
1840に至り、カウンタCDLY1に正の所定値TD
Lが設定される。フラグFAF1及びFAF2がともに
値0又はともに値1以外のときは、カウンタCDLY1
の初期値設定は行わず、FAF2=0であればKO2値
に所定値Iを加算する一方(ステップS1820)、F
AF2=1であればKO2値から所定値Iを減算し(ス
テップS1850)、ステップS1860に進む。ま
た、TDR,TDLは第1実施例では固定値であるが、
後述する第2実施例において酸素蓄積量O2STRによって
変更される。
【0111】図27のステップS1630の答が否定
(NO)、即ちKO2値が今回初期化されなかったとき
は、ステップS1640に進み、上流側O2センサ出力
電圧FVO2が基準電圧FVREFより低いか否かを判
別する。その結果、FVO2<FVREFが成立すると
きには、ステップS1650に進み、第1のリーンリッ
チフラグFAF1を値0に設定するとともに、P項発生
ディレーカウンタCDLY1を値1だけデクリメントす
る(図30(c),T4,T10参照)。次いで、カウ
ンタCDLY1のカウント値が負の所定値TDRより小
さいか否かを判別し(ステップS1660)、CDLY
1<TDRが成立するときにはCDLY1=TDRとす
る一方(ステップS1670)、CDLY1≧TDRが
成立するときには直ちにステップS1710に進む。
(NO)、即ちKO2値が今回初期化されなかったとき
は、ステップS1640に進み、上流側O2センサ出力
電圧FVO2が基準電圧FVREFより低いか否かを判
別する。その結果、FVO2<FVREFが成立すると
きには、ステップS1650に進み、第1のリーンリッ
チフラグFAF1を値0に設定するとともに、P項発生
ディレーカウンタCDLY1を値1だけデクリメントす
る(図30(c),T4,T10参照)。次いで、カウ
ンタCDLY1のカウント値が負の所定値TDRより小
さいか否かを判別し(ステップS1660)、CDLY
1<TDRが成立するときにはCDLY1=TDRとす
る一方(ステップS1670)、CDLY1≧TDRが
成立するときには直ちにステップS1710に進む。
【0112】ステップS1640の答が否定(NO)、
即ちFVO2≧FVREFが成立するときには、第1の
リーンリッチフラグFAF1を値1に設定するととも
に、カウンタCDLY1を値1だけインクリメントする
(図30(c),T2,T6,T8参照)。次いでカウ
ンタCDLY1のカウント値が正の所定値TDLより大
きいか否かを判別し(ステップS1690)、CDLY
1>TDLが成立するときにはCDLY1=TDLとす
る一方(ステップS1700)、CDLY1≦TDLが
成立するときには直ちにステップS1710に進む。
即ちFVO2≧FVREFが成立するときには、第1の
リーンリッチフラグFAF1を値1に設定するととも
に、カウンタCDLY1を値1だけインクリメントする
(図30(c),T2,T6,T8参照)。次いでカウ
ンタCDLY1のカウント値が正の所定値TDLより大
きいか否かを判別し(ステップS1690)、CDLY
1>TDLが成立するときにはCDLY1=TDLとす
る一方(ステップS1700)、CDLY1≦TDLが
成立するときには直ちにステップS1710に進む。
【0113】ここでステップS1630,S1670,
S1690,S1700は、カウンタCDLY1のカウ
ント値が負の所定値TDRより小、あるいは正の所定値
TDLより大とならないようにするために設けられてい
る。
S1690,S1700は、カウンタCDLY1のカウ
ント値が負の所定値TDRより小、あるいは正の所定値
TDLより大とならないようにするために設けられてい
る。
【0114】ステップS1710では、カウンタCDL
Y1のカウント値の符号(正負)が反転したか否かを判
別し、反転しないときには前記ステップS1790〜S
1850のI項制御を実行する一方、反転しているとき
にはステップS1720〜S1780のP項制御を実行
する。
Y1のカウント値の符号(正負)が反転したか否かを判
別し、反転しないときには前記ステップS1790〜S
1850のI項制御を実行する一方、反転しているとき
にはステップS1720〜S1780のP項制御を実行
する。
【0115】ステップS1720では、第1のリーンリ
ッチフラグFAF1が値0であるか否かを判別し、FA
F1=0のときには、図28のステップS1730に進
み、第2のリーンリッチフラグFAF2を値0とすると
ともに、カウンタCDLY1のカウント値を負の所定値
TDRとし(ステップS1740)、さらに空燃比補正
係数KO2を数式12により算出する(ステップS17
50)(図30、時刻t4,t10参照)。
ッチフラグFAF1が値0であるか否かを判別し、FA
F1=0のときには、図28のステップS1730に進
み、第2のリーンリッチフラグFAF2を値0とすると
ともに、カウンタCDLY1のカウント値を負の所定値
TDRとし(ステップS1740)、さらに空燃比補正
係数KO2を数式12により算出する(ステップS17
50)(図30、時刻t4,t10参照)。
【0116】
【数12】KO2=KO2+(PR1+PR2) ここで、PR1は後述する図33にて求められる下流側
O2センサに応じた第1のリッチ補正用比例項(P項)
である。また、PR2は後述する図36にて求められる
O2STRに応じた第2のリッチ補正用比例項(P項)であ
るが、第1実施例ではPR2=0とする。
O2センサに応じた第1のリッチ補正用比例項(P項)
である。また、PR2は後述する図36にて求められる
O2STRに応じた第2のリッチ補正用比例項(P項)であ
るが、第1実施例ではPR2=0とする。
【0117】ステップS1720の答が否定(NO)、
即ちFAF1=1であるときには、第2のリーンリッチ
フラグFAF2を値1とするとともにカウンタCDLY
1のカウント値を正の所定値TDLとし(ステップS1
760,S1770)、さらに補正係数KO2を数式1
3により算出する(ステップS1780)(図30、時
刻t2,t8参照)。
即ちFAF1=1であるときには、第2のリーンリッチ
フラグFAF2を値1とするとともにカウンタCDLY
1のカウント値を正の所定値TDLとし(ステップS1
760,S1770)、さらに補正係数KO2を数式1
3により算出する(ステップS1780)(図30、時
刻t2,t8参照)。
【0118】
【数13】KO2=KO2−(PL1+PL2) ここで、PL1はPR1と同様に後述する図33にて求
められる第1のリーン補正用比例項(P項)である。ま
た、PL2は後述する図36にてPR2と同様に求めら
れる第2のリーン補正用比例項(P項)であるが、第1
実施例ではPL2=0とする。続くステップS1860
ではKO2値のリミットチェックを行い、次いでKO2
値の学習値KREFの算出(ステップS1870)及び
KREF値のリミットチェック(ステップS1880)
を行って本プログラムを終了する。
められる第1のリーン補正用比例項(P項)である。ま
た、PL2は後述する図36にてPR2と同様に求めら
れる第2のリーン補正用比例項(P項)であるが、第1
実施例ではPL2=0とする。続くステップS1860
ではKO2値のリミットチェックを行い、次いでKO2
値の学習値KREFの算出(ステップS1870)及び
KREF値のリミットチェック(ステップS1880)
を行って本プログラムを終了する。
【0119】図27および図28のプログラムによれ
ば、図30に示すように、上流側O2センサ出力電圧F
VO2の反転時点(時刻t1,t3,t7,t9)から
所定時間(T2,T4,T8,T10)遅延して、P項
制御が実行され(時刻t2,t4,t8,t10)、第
2のリーンリッチフラグFAF2=0の期間中はKO2
値の増加方向のI項制御が実行され(T1,T2,T5
〜T8)、FAF2=1の期間中はKO2値の減少方向
のI項制御が実行される(T3,T4,T9,T1
0)。なお、時刻t5〜t7間でセンサ出力FVO2が
短い周期で変動しているが、負の所定値TDRに対応す
るP項制御の遅延時間より変動周期が短いため、第2の
リーンリッチフラグFAF2が反転せず、P項制御は実
行されない。
ば、図30に示すように、上流側O2センサ出力電圧F
VO2の反転時点(時刻t1,t3,t7,t9)から
所定時間(T2,T4,T8,T10)遅延して、P項
制御が実行され(時刻t2,t4,t8,t10)、第
2のリーンリッチフラグFAF2=0の期間中はKO2
値の増加方向のI項制御が実行され(T1,T2,T5
〜T8)、FAF2=1の期間中はKO2値の減少方向
のI項制御が実行される(T3,T4,T9,T1
0)。なお、時刻t5〜t7間でセンサ出力FVO2が
短い周期で変動しているが、負の所定値TDRに対応す
るP項制御の遅延時間より変動周期が短いため、第2の
リーンリッチフラグFAF2が反転せず、P項制御は実
行されない。
【0120】つぎに、下流側O2センサ16の出力によ
る空燃比フィードバック制御について説明する。図31
は下流側O2センサ16の出力による空燃比フィードバ
ック制御ルーチンを示すフローチャートである。まず、
下流側O2センサ16の出力による空燃比フィードバッ
ク制御の条件が成立しているかどうかを判別する(ステ
ップS1310)。また、本ルーチンを前回実行したと
きに下流側O2センサ16の出力による空燃比フィード
バック制御の条件が成立していたかどうかを判別する
(ステップS1320)。ステップS1310およびス
テップS1320のうちいずれかにおいて空燃比フィー
ドバック制御条件が成立しているときには、図32に示
すテーブルを検索して、下流側O2センサ16の出力S
VO2に応じたリーンリッチのストイキ状態からのずれ
量SDλ0を求める(ステップS1330)。斯く検索
して求めたずれ量SDλ0に基づいて数式14により比
例・積分演算を行いSDλを算出する(ステップS13
40)。
る空燃比フィードバック制御について説明する。図31
は下流側O2センサ16の出力による空燃比フィードバ
ック制御ルーチンを示すフローチャートである。まず、
下流側O2センサ16の出力による空燃比フィードバッ
ク制御の条件が成立しているかどうかを判別する(ステ
ップS1310)。また、本ルーチンを前回実行したと
きに下流側O2センサ16の出力による空燃比フィード
バック制御の条件が成立していたかどうかを判別する
(ステップS1320)。ステップS1310およびス
テップS1320のうちいずれかにおいて空燃比フィー
ドバック制御条件が成立しているときには、図32に示
すテーブルを検索して、下流側O2センサ16の出力S
VO2に応じたリーンリッチのストイキ状態からのずれ
量SDλ0を求める(ステップS1330)。斯く検索
して求めたずれ量SDλ0に基づいて数式14により比
例・積分演算を行いSDλを算出する(ステップS13
40)。
【0121】
【数14】 SDλSUM= SDλSUM + KI×SDλ0 SDλ = SDλSUM + Kp×SDλ0 算出されたSDλがリミット値を越えているかどうかを
判別し、越えているときはリミット値に固定するリミッ
トチェック処理を行ない(ステップS1350)、学習
値SDλREFを数式15により算出する(ステップS
1360)。
判別し、越えているときはリミット値に固定するリミッ
トチェック処理を行ない(ステップS1350)、学習
値SDλREFを数式15により算出する(ステップS
1360)。
【0122】
【数15】SDλREF=α5×SDλ+(1−α5)
×SDλREF ここでα5は平均化係数である。
×SDλREF ここでα5は平均化係数である。
【0123】つづいて、図33に示すテーブルを検索し
て、SDλに対応する第1のP項ゲインPR1、PL1
を求める(ステップS1370)。また、ステップS1
310およびS1320のいずれにおいても、空燃比フ
ィードバック制御条件が満足されないときには学習値S
DλREFをSDλと設定した(ステップS1380)
後、前記テーブルを検索して第1のP項PR1、PL1
を求める。第1のP項PR1、PL1は前述の空燃比補
正係数KO2の算出ルーチンの処理において空燃比補正
係数KO2の算出に用いられる。これにより、算出され
た空燃比補正係数KO2は燃料噴射時間Toutに反映
される。
て、SDλに対応する第1のP項ゲインPR1、PL1
を求める(ステップS1370)。また、ステップS1
310およびS1320のいずれにおいても、空燃比フ
ィードバック制御条件が満足されないときには学習値S
DλREFをSDλと設定した(ステップS1380)
後、前記テーブルを検索して第1のP項PR1、PL1
を求める。第1のP項PR1、PL1は前述の空燃比補
正係数KO2の算出ルーチンの処理において空燃比補正
係数KO2の算出に用いられる。これにより、算出され
た空燃比補正係数KO2は燃料噴射時間Toutに反映
される。
【0124】このようにして、酸素利用率O2USERを用
いた空燃比A/F制御において、直線的あるいは双曲線
的にパータベーション制御を行なうことでエンジンの運
転状態および触媒の活性状態に応じた最大浄化率を確保
でき、排気エミッション特性を著しく改善できると共
に、エンジンの運転状態の変化に応答性良く追従して浄
化率を高めることができる。
いた空燃比A/F制御において、直線的あるいは双曲線
的にパータベーション制御を行なうことでエンジンの運
転状態および触媒の活性状態に応じた最大浄化率を確保
でき、排気エミッション特性を著しく改善できると共
に、エンジンの運転状態の変化に応答性良く追従して浄
化率を高めることができる。
【0125】[第1実施例の変形例]前記第1実施例の
空燃比制御装置では、パータベーションの周波数fpert
R、fpertLおよび振幅Kpertを酸素利用率O2USERの正
負の制御に応じて変更することにより最大浄化率を与え
る領域を求めていたが、予め、空間速度SVおよび触媒
温度TCATに応じた最大浄化率に対応する周波数fpert
R、fpertLおよび振幅Kpertが実験等により求められて
いるときにはマップに基づいて直接に決定してもよい。
空燃比制御装置では、パータベーションの周波数fpert
R、fpertLおよび振幅Kpertを酸素利用率O2USERの正
負の制御に応じて変更することにより最大浄化率を与え
る領域を求めていたが、予め、空間速度SVおよび触媒
温度TCATに応じた最大浄化率に対応する周波数fpert
R、fpertLおよび振幅Kpertが実験等により求められて
いるときにはマップに基づいて直接に決定してもよい。
【0126】図34はマップを用いて決定された周波数
fpertR、fpertLおよび振幅Kpertによる強制振動処理
ルーチンを示すフローチャートである。本ルーチンは前
記第1実施例の強制振動処理ルーチンに対応しており
(図18)、ステップS835およびステップS865
においてf(TCAT、SV)マップにより直接にエンジ
ン運転状態を示す空間速度SVおよび触媒の活性状態を
示すTCATに応じた周波数fpertR、fpertLおよび振幅
Kpertを検索して決定する。
fpertR、fpertLおよび振幅Kpertによる強制振動処理
ルーチンを示すフローチャートである。本ルーチンは前
記第1実施例の強制振動処理ルーチンに対応しており
(図18)、ステップS835およびステップS865
においてf(TCAT、SV)マップにより直接にエンジ
ン運転状態を示す空間速度SVおよび触媒の活性状態を
示すTCATに応じた周波数fpertR、fpertLおよび振幅
Kpertを検索して決定する。
【0127】このように、前記第1実施例の変形例であ
る空燃比制御装置によれば、空間速度SVおよび触媒温
度TCATに応じた最大浄化率が即座に得られ一層応答性
の高い制御を行なうことができる。
る空燃比制御装置によれば、空間速度SVおよび触媒温
度TCATに応じた最大浄化率が即座に得られ一層応答性
の高い制御を行なうことができる。
【0128】[第2実施例の全体の制御処理]つぎに、
第2実施例の空燃比制御装置について説明する。図35
は本実施例の空燃比装置における全体の制御処理の概略
を示すブロック図である。内燃機関および空燃比制御装
置の全体的構成は前記第1実施例と同じである。また、
燃料制御装置は前記第1実施例と同様に触媒温度TCAT
を推定する処理(処理1)と、触媒の劣化を推定する処
理(処理2)と、触媒コンバータ14の最大酸素蓄積量
O2MAXを推定する処理(処理3)と、最大酸素蓄積量O
2MAXを修正する処理(処理4)と、触媒コンバータ14
の上流側の空燃比A/Fを推定する処理(処理5)と、
触媒コンバータ14に蓄積されている酸素蓄積量O2STR
を推定する処理(処理6)と、触媒コンバータ14の酸
素利用率O2USERを算出する処理(処理7)と、酸素利
用量O2USEに応じて空燃比補正係数KO2のF/Bパラ
メータ(PR,PL,TDR,TDL)を調整すること
により触媒浄化率を向上させるように該空燃比A/Fを
制御する処理(処理8)と、FBパラメータ(PR,P
L,TDR,TDL)を運転状態に応じて変更する処理
(処理9)と、空燃比補正係数KO2を演算する処理
(処理10)と、数式16に基づいて噴射燃料量Tou
tを算出する処理(処理11)を行なうものである。
第2実施例の空燃比制御装置について説明する。図35
は本実施例の空燃比装置における全体の制御処理の概略
を示すブロック図である。内燃機関および空燃比制御装
置の全体的構成は前記第1実施例と同じである。また、
燃料制御装置は前記第1実施例と同様に触媒温度TCAT
を推定する処理(処理1)と、触媒の劣化を推定する処
理(処理2)と、触媒コンバータ14の最大酸素蓄積量
O2MAXを推定する処理(処理3)と、最大酸素蓄積量O
2MAXを修正する処理(処理4)と、触媒コンバータ14
の上流側の空燃比A/Fを推定する処理(処理5)と、
触媒コンバータ14に蓄積されている酸素蓄積量O2STR
を推定する処理(処理6)と、触媒コンバータ14の酸
素利用率O2USERを算出する処理(処理7)と、酸素利
用量O2USEに応じて空燃比補正係数KO2のF/Bパラ
メータ(PR,PL,TDR,TDL)を調整すること
により触媒浄化率を向上させるように該空燃比A/Fを
制御する処理(処理8)と、FBパラメータ(PR,P
L,TDR,TDL)を運転状態に応じて変更する処理
(処理9)と、空燃比補正係数KO2を演算する処理
(処理10)と、数式16に基づいて噴射燃料量Tou
tを算出する処理(処理11)を行なうものである。
【0129】
【数16】 Tout = Ti × KTOTAL × KO2 第1実施例ではパータベーションの周期および振幅を変
更することにより酸素利用率O2USERを最大にする空燃
比A/F制御を行なった(図2の処理8)が、本第2実
施例では空燃比フィードバック定数である下流側O2セ
ンサの出力が反転した時点から空燃比補正係数KO2の
比例制御を実行するまでのディレイ時間TDR,TDL
および空燃比補正係数KO2をスキップさせるスキップ
量(P項ゲインPR,PL)を変更することにより酸素
利用率O2USERを最大にする擬似パータベーションの空
燃比制御を行なう。つづいて、空燃比制御ルーチンにつ
いて説明する。
更することにより酸素利用率O2USERを最大にする空燃
比A/F制御を行なった(図2の処理8)が、本第2実
施例では空燃比フィードバック定数である下流側O2セ
ンサの出力が反転した時点から空燃比補正係数KO2の
比例制御を実行するまでのディレイ時間TDR,TDL
および空燃比補正係数KO2をスキップさせるスキップ
量(P項ゲインPR,PL)を変更することにより酸素
利用率O2USERを最大にする擬似パータベーションの空
燃比制御を行なう。つづいて、空燃比制御ルーチンにつ
いて説明する。
【0130】図36は第2実施例の酸素利用率O2USER
を用いた空燃比制御ルーチン(処理8)を示すフローチ
ャートである。本ルーチンはタイマー処理によりくりか
えし実行される。まず、吸気管内絶対圧PBA、エンジン
回転数NE、車速V、スロットル弁開度θTHなどが所
定範囲内にあって、PBA値、θTH値が安定している空
燃比フィードバック制御の実行領域にあるかどうかを判
別する(ステップS1110)。下流側O2センサ16
による空燃比フィードバック制御中であるかどうかを判
別し(ステップS1120)、空燃比フィードバック制
御中であるときには、エンジンの運転状態が変更されず
に同一の運転状態であるか否かを判別し(ステップS1
123)、運転状態が変更されたときにはP項ゲインP
R2、PL2およびリッチリーン反転ディレイ時間TD
R、TDLが既に学習されているか否かを判別する(ス
テップS1124)。既に学習されていれば学習値をP
R2、PL2、TDR、TDLに代入して(ステップS
1210)本ルーチンを終了する。ステップS1124
で未だ学習されていないと判別されたときは、図示しな
いSV/TCATマップによりSV値、TCAT値に応じたリ
ッチ側およびリーン側の第2のP項ゲインPR2、PL
2およびリッチリーン反転ディレイ時間TDL、TDR
の初期値を検索すると共に、P項ゲインの変化分DP
R、DPLおよびリッチリーン反転ディレイ時間の変化
分DTDR、DTDLも空間速度SVおよび触媒温度T
CATに応じて設定して(ステップS1125)本ルーチ
ンを終了する。リッチリーン反転ディレイ時間の変化分
DTDR、DTDLは後述する擬似パータベーションの
周波数が前記第1実施例の図22に示す直線軌跡上を変
化するような値に設定される。
を用いた空燃比制御ルーチン(処理8)を示すフローチ
ャートである。本ルーチンはタイマー処理によりくりか
えし実行される。まず、吸気管内絶対圧PBA、エンジン
回転数NE、車速V、スロットル弁開度θTHなどが所
定範囲内にあって、PBA値、θTH値が安定している空
燃比フィードバック制御の実行領域にあるかどうかを判
別する(ステップS1110)。下流側O2センサ16
による空燃比フィードバック制御中であるかどうかを判
別し(ステップS1120)、空燃比フィードバック制
御中であるときには、エンジンの運転状態が変更されず
に同一の運転状態であるか否かを判別し(ステップS1
123)、運転状態が変更されたときにはP項ゲインP
R2、PL2およびリッチリーン反転ディレイ時間TD
R、TDLが既に学習されているか否かを判別する(ス
テップS1124)。既に学習されていれば学習値をP
R2、PL2、TDR、TDLに代入して(ステップS
1210)本ルーチンを終了する。ステップS1124
で未だ学習されていないと判別されたときは、図示しな
いSV/TCATマップによりSV値、TCAT値に応じたリ
ッチ側およびリーン側の第2のP項ゲインPR2、PL
2およびリッチリーン反転ディレイ時間TDL、TDR
の初期値を検索すると共に、P項ゲインの変化分DP
R、DPLおよびリッチリーン反転ディレイ時間の変化
分DTDR、DTDLも空間速度SVおよび触媒温度T
CATに応じて設定して(ステップS1125)本ルーチ
ンを終了する。リッチリーン反転ディレイ時間の変化分
DTDR、DTDLは後述する擬似パータベーションの
周波数が前記第1実施例の図22に示す直線軌跡上を変
化するような値に設定される。
【0131】再び本ルーチンを実行してステップS11
23で運転状態が変更されていないと判別されたとき、
酸素利用率O2USERが増加方向にあるかあるいは減少方
向にあるかを判別する(ステップS1130)。増加方
向にあるときはリッチ側およびリーン側の第2のP項ゲ
インPR2、PL2を前回値に所定値DPR、DPLを
加えて増加させ(ステップS1140)、リッチ/リー
ン反転ディレイ時間TDR、TDLを前回値から所定値
DTDR、DTDLを減算して減少させる(ステップS
1150)。リッチ側/リーン側の第2のP項ゲインP
R2、PL2の増加およびリッチ/リーン反転ディレイ
時間TDR、TDLの減少は、それぞれ前述したパータ
ベーション処理における振幅Kpertを増加し、周波数f
pertR、fpertLを短くすることに相当する。一方,酸
素利用率Oが減少方向にあるときはリッチ側およびリー
ン側のP項ゲインPR2、PL2を前回値からDPR、
DPLを差し引いて減少し(ステップS1160)、リ
ッチ/リーン反転ディレイ時間TDR、TDLを前回値
にDTDR、DTDLを加えて増加させる(ステップS
1170)。かかるP項ゲインPR2、PL2およびリ
ッチ/リーン反転ディレイ時間TDR、TDLの変更に
より、前記第1実施例と同様に面積(△A/F×T)を
一定とした擬似パータベーション制御を行なうことがで
きる。
23で運転状態が変更されていないと判別されたとき、
酸素利用率O2USERが増加方向にあるかあるいは減少方
向にあるかを判別する(ステップS1130)。増加方
向にあるときはリッチ側およびリーン側の第2のP項ゲ
インPR2、PL2を前回値に所定値DPR、DPLを
加えて増加させ(ステップS1140)、リッチ/リー
ン反転ディレイ時間TDR、TDLを前回値から所定値
DTDR、DTDLを減算して減少させる(ステップS
1150)。リッチ側/リーン側の第2のP項ゲインP
R2、PL2の増加およびリッチ/リーン反転ディレイ
時間TDR、TDLの減少は、それぞれ前述したパータ
ベーション処理における振幅Kpertを増加し、周波数f
pertR、fpertLを短くすることに相当する。一方,酸
素利用率Oが減少方向にあるときはリッチ側およびリー
ン側のP項ゲインPR2、PL2を前回値からDPR、
DPLを差し引いて減少し(ステップS1160)、リ
ッチ/リーン反転ディレイ時間TDR、TDLを前回値
にDTDR、DTDLを加えて増加させる(ステップS
1170)。かかるP項ゲインPR2、PL2およびリ
ッチ/リーン反転ディレイ時間TDR、TDLの変更に
より、前記第1実施例と同様に面積(△A/F×T)を
一定とした擬似パータベーション制御を行なうことがで
きる。
【0132】つづいて、第2のP項ゲインPR2、PL
2およびディレイ時間TDR、TDLがリミット値を越
えているかどうかを判別し、越えているときは該リミッ
ト値に設定するリミットチェック処理を行なった(ステ
ップS1180)後第2のP項ゲインPR2、PL2お
よびディレイ時間TDR、TDLを図示しないSV/T
CATマップにより学習する(ステップS1190)。
2およびディレイ時間TDR、TDLがリミット値を越
えているかどうかを判別し、越えているときは該リミッ
ト値に設定するリミットチェック処理を行なった(ステ
ップS1180)後第2のP項ゲインPR2、PL2お
よびディレイ時間TDR、TDLを図示しないSV/T
CATマップにより学習する(ステップS1190)。
【0133】また、ステップS1110およびステップ
S1120でそれぞれ空燃比フィードバック制御の実行
領域にあるとき、あるいは下流側O2センサ16による
空燃比フィードバック制御が実行中でないときは第2の
P項ゲインPR2、PL2およびディレイ時間TDR、
TDLを前回までに算出されている学習値に設定する
(ステップS1210)。
S1120でそれぞれ空燃比フィードバック制御の実行
領域にあるとき、あるいは下流側O2センサ16による
空燃比フィードバック制御が実行中でないときは第2の
P項ゲインPR2、PL2およびディレイ時間TDR、
TDLを前回までに算出されている学習値に設定する
(ステップS1210)。
【0134】この第2のP項PR2、PL2及びディレ
イ時間TDR,TDLに基づいて、さらに空燃比補正係
数KO2が算出される。こうして算出された空燃比補正
係数KO2の値は前記数式16に従って処理11にて基
本燃料量Tiおよび補正係数KTOTALに乗算されて燃料
噴射量Toutが求まる。空燃比補正係数KO2の算出
は前記第1実施例と同様である。
イ時間TDR,TDLに基づいて、さらに空燃比補正係
数KO2が算出される。こうして算出された空燃比補正
係数KO2の値は前記数式16に従って処理11にて基
本燃料量Tiおよび補正係数KTOTALに乗算されて燃料
噴射量Toutが求まる。空燃比補正係数KO2の算出
は前記第1実施例と同様である。
【0135】また、直線的に擬似パータベーションを行
なう代わりに、前記第1実施例と同様に双曲線的に擬似
パータベーションを行なうことができる。図37は双曲
線的に擬似パータベーションを行なう場合の空燃比制御
ルーチンを示すフローチャートである。ステップS11
23およびステップS1125を削除し、ステップS1
150およびステップS1170を変更した他は直接的
にパータベーション制御を行なう場合と同じである。す
なわち、空燃比フィードバック制御中であるときに、酸
素利用率O2USERが増加方向にあるかあるいは減少方向
にあるかを判別する(ステップS1130)。増加方向
にあるときはリッチ側およびリーン側の第2のP項ゲイ
ンPR2、PL2を前回値に所定値DPR、DPLを加
えて増加し(ステップS1140)、リッチ/リーン反
転ディレイ時間TDR、TDLを前回値に所定値DTD
R、DTDLを加えて増加させる(ステップS115
0)。リッチ側/リーン側の第2のP項ゲインPR2、
PL2の増加およびリッチ/リーン反転ディレイ時間T
DR、TDLの増加は、それぞれ前述したパータベーシ
ョン処理における振幅Kpertを増加し、周波数fpert
R、fpertLを長くすることに相当する。一方,酸素利用
率O2USERが減少方向にあるときはリッチ側およびリー
ン側のP項ゲインPR2、PL2を前回値からDPR、
DPLを差し引いて減少し(ステップS1160)、リ
ッチ/リーン反転ディレイ時間TDR、TDLを前回値
からDTDR、DTDLを差し引いて減少させる(ステ
ップS1170)。リッチリーン反転ディレイ時間の変
化分DTDR、DTDLは擬似パータベーションの周波
数が前記第1実施例の図23に示す双曲線軌跡上を整数
値で変化するような値に設定される。つづいて、第2の
P項ゲインPR2、PL2およびディレイ時間TDR、
TDLがリミット値を越えているかどうかを判別し、越
えているときは該リミット値に設定するリミットチェッ
ク処理を行なった(ステップS1180)後第2のP項
ゲインPR2、PL2およびディレイ時間TDR、TD
Lを図示しないSV/TCATマップにより学習する
(ステップS1190)。かかるP項ゲインPR2、P
L2およびリッチ/リーン反転ディレイ時間TDR、T
DLの変更により前記第1実施例と同様の双曲線的なパ
ータベーション制御を行なうことができる。
なう代わりに、前記第1実施例と同様に双曲線的に擬似
パータベーションを行なうことができる。図37は双曲
線的に擬似パータベーションを行なう場合の空燃比制御
ルーチンを示すフローチャートである。ステップS11
23およびステップS1125を削除し、ステップS1
150およびステップS1170を変更した他は直接的
にパータベーション制御を行なう場合と同じである。す
なわち、空燃比フィードバック制御中であるときに、酸
素利用率O2USERが増加方向にあるかあるいは減少方向
にあるかを判別する(ステップS1130)。増加方向
にあるときはリッチ側およびリーン側の第2のP項ゲイ
ンPR2、PL2を前回値に所定値DPR、DPLを加
えて増加し(ステップS1140)、リッチ/リーン反
転ディレイ時間TDR、TDLを前回値に所定値DTD
R、DTDLを加えて増加させる(ステップS115
0)。リッチ側/リーン側の第2のP項ゲインPR2、
PL2の増加およびリッチ/リーン反転ディレイ時間T
DR、TDLの増加は、それぞれ前述したパータベーシ
ョン処理における振幅Kpertを増加し、周波数fpert
R、fpertLを長くすることに相当する。一方,酸素利用
率O2USERが減少方向にあるときはリッチ側およびリー
ン側のP項ゲインPR2、PL2を前回値からDPR、
DPLを差し引いて減少し(ステップS1160)、リ
ッチ/リーン反転ディレイ時間TDR、TDLを前回値
からDTDR、DTDLを差し引いて減少させる(ステ
ップS1170)。リッチリーン反転ディレイ時間の変
化分DTDR、DTDLは擬似パータベーションの周波
数が前記第1実施例の図23に示す双曲線軌跡上を整数
値で変化するような値に設定される。つづいて、第2の
P項ゲインPR2、PL2およびディレイ時間TDR、
TDLがリミット値を越えているかどうかを判別し、越
えているときは該リミット値に設定するリミットチェッ
ク処理を行なった(ステップS1180)後第2のP項
ゲインPR2、PL2およびディレイ時間TDR、TD
Lを図示しないSV/TCATマップにより学習する
(ステップS1190)。かかるP項ゲインPR2、P
L2およびリッチ/リーン反転ディレイ時間TDR、T
DLの変更により前記第1実施例と同様の双曲線的なパ
ータベーション制御を行なうことができる。
【0136】以上示したように、第2実施例の空燃比制
御装置によれば、前記第1実施例と同様に排気エミッシ
ョン特性を著しく改善することができる。しかも、通常
の空燃比制御処理において擬似パータベーションを行な
うことで、別に第1実施例の強制振動処理ルーチンを設
けなくて済ますことができる。
御装置によれば、前記第1実施例と同様に排気エミッシ
ョン特性を著しく改善することができる。しかも、通常
の空燃比制御処理において擬似パータベーションを行な
うことで、別に第1実施例の強制振動処理ルーチンを設
けなくて済ますことができる。
【0137】[第2実施例の変形例]前記第1実施例の
変形例と同様に、第2実施例において空間速度SVおよ
び触媒温度TCATに応じた最大浄化率のP項ゲインPR
2、PL2およびリッチ/リーン反転ディレイ時間TD
R、TDLが実験等により予め求められているときに
は、これらの値をマップ化しておき、空間速度SVおよ
び触媒温度TCATにより直接にP項ゲインPR2、PL
2およびリッチ/リーン反転ディレイ時間TDR、TD
Lを決定してもよい。
変形例と同様に、第2実施例において空間速度SVおよ
び触媒温度TCATに応じた最大浄化率のP項ゲインPR
2、PL2およびリッチ/リーン反転ディレイ時間TD
R、TDLが実験等により予め求められているときに
は、これらの値をマップ化しておき、空間速度SVおよ
び触媒温度TCATにより直接にP項ゲインPR2、PL
2およびリッチ/リーン反転ディレイ時間TDR、TD
Lを決定してもよい。
【0138】図38および図39はマップを用いて決定
されるP項ゲインPR2、PL2およびリッチ/リーン
反転ディレイ時間TDR、TDLによる空燃比補正係数
KO2の算出ルーチンを示すフローチャートである。図
38および図39に示す本ルーチンは前記第1実施例の
図27および図28に対応するものである。
されるP項ゲインPR2、PL2およびリッチ/リーン
反転ディレイ時間TDR、TDLによる空燃比補正係数
KO2の算出ルーチンを示すフローチャートである。図
38および図39に示す本ルーチンは前記第1実施例の
図27および図28に対応するものである。
【0139】ステップS1665およびステップS16
95において、リッチ/リーン反転ディレイ時間TD
R、TDLをf(TCAT,SV)マップから直接に決定
し、ステップS1745およびステップS1775にお
いてP項ゲインPR、PLをf(TCAT,SV)マップ
から直接に決定することで、エンジンの運転状態の変化
に一層応答性よく最大浄化率の制御を行なうことができ
る。
95において、リッチ/リーン反転ディレイ時間TD
R、TDLをf(TCAT,SV)マップから直接に決定
し、ステップS1745およびステップS1775にお
いてP項ゲインPR、PLをf(TCAT,SV)マップ
から直接に決定することで、エンジンの運転状態の変化
に一層応答性よく最大浄化率の制御を行なうことができ
る。
【0140】
【発明の効果】本発明の請求項1に係る空燃比制御装置
によれば、触媒コンバータに流入する排気ガスの空燃比
を精度良く推定することができる。
によれば、触媒コンバータに流入する排気ガスの空燃比
を精度良く推定することができる。
【0141】
【0142】また、請求項2に係る空燃比制御装置によ
れば、前記触媒より下流側に設けられた下流側酸素セン
サの出力によって、補正手段により前記上流側の酸素セ
ンサの出力によって推定された前記触媒に流入する排気
ガスの空燃比を補正するので、推定された空燃比がずれ
ることなく、しかも内燃機関の過渡運転時においても空
燃比の推定精度を維持することができる。
れば、前記触媒より下流側に設けられた下流側酸素セン
サの出力によって、補正手段により前記上流側の酸素セ
ンサの出力によって推定された前記触媒に流入する排気
ガスの空燃比を補正するので、推定された空燃比がずれ
ることなく、しかも内燃機関の過渡運転時においても空
燃比の推定精度を維持することができる。
【図1】本発明の一実施例に係る空燃比制御装置を装備
した内燃機関の全体構成図である。
した内燃機関の全体構成図である。
【図2】第1実施例の空燃比制御装置における全体の制
御処理の概略を示すブロック図である。
御処理の概略を示すブロック図である。
【図3】触媒温度TCATの推定ルーチンを示すフローチ
ャートである。
ャートである。
【図4】積分値TOUTSUMに応じて係数α1、α2の値を
決定するためのテーブルを示すグラフである。
決定するためのテーブルを示すグラフである。
【図5】吸気温TAおよび車速Vに応じて補正係数KTA
TCATを決定するためのテーブルを示すグラフである。
TCATを決定するためのテーブルを示すグラフである。
【図6】車速Vおよび吸気温TAに応じて補正係数Kα
の値を決定するためのテーブルを示すグラフである。
の値を決定するためのテーブルを示すグラフである。
【図7】空燃比A/Fに応じて補正係数KA/Fを決定す
るためにテーブルを示すグラフである。
るためにテーブルを示すグラフである。
【図8】触媒温度TCATに応じて最大酸素蓄積量O2MAX
を決定するためにテーブルを示すグラフである。
を決定するためにテーブルを示すグラフである。
【図9】最大酸素蓄積量O2MAXの修正ルーチンを示すフ
ローチャートである。
ローチャートである。
【図10】空燃比推定ルーチンを示すフローチャートで
ある。
ある。
【図11】触媒コンバータ14の触媒作用を示す模式図
である。
である。
【図12】反応係数に係わる劣化係数k1R、k2Rお
よび温度係数k1CAT、k2CATの値を示すグラフである。
よび温度係数k1CAT、k2CATの値を示すグラフである。
【図13】触媒コンバータに入力される排気ガスの空燃
比A/FとCO濃度およびO2濃度との関係を示す特性
図である。
比A/FとCO濃度およびO2濃度との関係を示す特性
図である。
【図14】触媒コンバータ14内の酸素蓄積量O2STRの
演算ルーチンを示すフローチャートである。
演算ルーチンを示すフローチャートである。
【図15】触媒温度TCATに対する上限値O2STRHおよび
下限値O2STRLの値を示すグラフである。
下限値O2STRLの値を示すグラフである。
【図16】酸素蓄積量O2STRの時間的変化を示す波形図
である。
である。
【図17】酸素利用率O2USERの演算ルーチンを示すフ
ローチャートである。
ローチャートである。
【図18】空燃比の強制振動(パータベーション)の処
理を示すフローチャートである。
理を示すフローチャートである。
【図19】図18のパータベーションの波形を示すタイ
ミングチャートである。
ミングチャートである。
【図20】振幅Kpert、周波数fpertR、fpertLの変更
ルーチンを示すフローチャートである。
ルーチンを示すフローチャートである。
【図21】パータベーションの周波数、振幅の値を直線
的に変更した場合の触媒浄化率の変化を示す説明図であ
る。
的に変更した場合の触媒浄化率の変化を示す説明図であ
る。
【図22】空間速度SVを一定にした状態で触媒の温度
TCATを変化させた時の触媒最大浄化率を与えるパータ
ベーションの振幅(ΔA/F)および周波数(Hz)の
軌跡である。
TCATを変化させた時の触媒最大浄化率を与えるパータ
ベーションの振幅(ΔA/F)および周波数(Hz)の
軌跡である。
【図23】触媒温度TCATを一定にした状態で空間速度
SVを変化させた時の触媒最大浄化率を与えるパータベ
ーションの振幅(ΔA/F)および周波数(Hz)の軌
跡である。
SVを変化させた時の触媒最大浄化率を与えるパータベ
ーションの振幅(ΔA/F)および周波数(Hz)の軌
跡である。
【図24】空間速度SV、触媒温度TCATに応じた振幅
Kpertの変化量ΔKp、周波数fpertR、fpertLの変化
量ΔfPR、ΔfPLを決定するテーブルを示す説明図であ
る。
Kpertの変化量ΔKp、周波数fpertR、fpertLの変化
量ΔfPR、ΔfPLを決定するテーブルを示す説明図であ
る。
【図25】振幅Kpert、周期tpertR、tpertLの変更ル
ーチンを示すフローチャートである。
ーチンを示すフローチャートである。
【図26】空間速度SVおよび触媒温度TCATに対する
振幅の変化量ΔKpおよび周期の変化量ΔtPR、tPLを
示すグラフである。
振幅の変化量ΔKpおよび周期の変化量ΔtPR、tPLを
示すグラフである。
【図27】上流側O2センサ16の出力電圧FVO2に
応じて空燃比補正係数KO2の算出を行う空燃比補正係
数KO2算出ルーチンのフローチャートである。
応じて空燃比補正係数KO2の算出を行う空燃比補正係
数KO2算出ルーチンのフローチャートである。
【図28】図27につづく、上流側O2センサ16の出
力電圧FVO2に応じて空燃比補正係数KO2の算出を
行う空燃比補正係数KO2算出ルーチンのフローチャー
トである。
力電圧FVO2に応じて空燃比補正係数KO2の算出を
行う空燃比補正係数KO2算出ルーチンのフローチャー
トである。
【図29】FAF1、FAF2の初期化ルーチンを示す
フローチャートである。
フローチャートである。
【図30】空燃比補正係数KO2の変化を示すタイミン
グチャートである。
グチャートである。
【図31】下流側O2センサ16による空燃比フィード
バック制御ルーチンを示すフローチャートである。
バック制御ルーチンを示すフローチャートである。
【図32】ずれ量SDλと下流側O2センサの出力SV
O2との関係を示すテーブルである。
O2との関係を示すテーブルである。
【図33】ずれ量DλとP項ゲイン(PR、PL)の関
係を示すテーブルである。
係を示すテーブルである。
【図34】マップを用いて決定された周波数fpertR、
fpertLおよび振幅Kpertによる強制振動処理ルーチン
を示すフローチャートである。
fpertLおよび振幅Kpertによる強制振動処理ルーチン
を示すフローチャートである。
【図35】第2実施例の空燃比装置における全体の制御
処理の概略を示すブロック図である。
処理の概略を示すブロック図である。
【図36】第2実施例の酸素利用率O2USERを用いて直
線的に擬似パータベーションを行なう場合の空燃比制御
ルーチンを示すフローチャートである。
線的に擬似パータベーションを行なう場合の空燃比制御
ルーチンを示すフローチャートである。
【図37】双曲線的に擬似パータベーションを行なう場
合の空燃比制御ルーチンを示すフローチャートである。
合の空燃比制御ルーチンを示すフローチャートである。
【図38】マップを用いて決定されるP項ゲインPR
2、PL2およびリッチ/リーン反転ディレイ時間TD
R、TDLによる空燃比補正係数KO2の算出ルーチン
を示すフローチャートである。
2、PL2およびリッチ/リーン反転ディレイ時間TD
R、TDLによる空燃比補正係数KO2の算出ルーチン
を示すフローチャートである。
【図39】図38につづく、マップを用いて決定される
P項ゲインPR2、PL2およびリッチ/リーン反転デ
ィレイ時間TDR、TDLによる空燃比補正係数KO2
の算出ルーチンを示すフローチャートである。
P項ゲインPR2、PL2およびリッチ/リーン反転デ
ィレイ時間TDR、TDLによる空燃比補正係数KO2
の算出ルーチンを示すフローチャートである。
1 … 内燃機関 5 … ECU 8 … 吸気温センサ 9 … 冷却水温センサ 14 … 触媒コンバータ 15 … 上流側の酸素濃度センサ 16 … 下流側の酸素濃度センサ 32 … 車速センサ
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−31545(JP,A) 特開 平4−370342(JP,A) 特開 平6−50204(JP,A) 特開 平5−195842(JP,A) (58)調査した分野(Int.Cl.7,DB名) F02D 41/00 - 45/00
Claims (3)
- 【請求項1】 内燃機関の触媒上流の排気通路に設けら
れた酸素センサと、 該酸素センサの出力に基づいて空燃比フィードバック制
御量を演算する制御量演算手段と、該空燃比フィードバック制御量に基づいて前記内燃機関
に供給される混合気の空燃比を制御する空燃比制御手段
と、 前記空燃比フィードバック制御量を第1のなまし時定数
でなまし処理することによって、該空燃比フィードバッ
ク制御量の平均値を求める第1のなまし手段と、前記内燃機関の運転状態から求められ、前記第1のなま
し時定数よりなまし度合いが弱く設定された 第2のなま
し時定数で、前記空燃比フィードバック制御量をなまし
処理する第2のなまし手段と、 前記第1のなまし手段の出力と前記第2のなまし手段の
出力に基づいて前記触媒に流入する排気ガスの空燃比を
推定する空燃比推定手段とを備え、 前記空燃比制御手段は、前記推定された触媒に流入する
排気ガスの空燃比に基づき前記内燃機関の空燃比を制御
することを特徴とする 空燃比制御装置。 - 【請求項2】 内燃機関の触媒下流の排気通路に設けら
れた酸素センサと、 該下流の酸素センサの出力に基づいて前記推定された前
記触媒に流入する排気ガスの空燃比を補正する補正手段
を備えたことを特徴とする請求項1記載の空燃比制御装
置。 - 【請求項3】 前記空燃比制御手段は、前記推定された
触媒に流入する排気ガスの空燃比に基づき触媒内の酸素
蓄積量を推定し、該推定された酸素蓄積量に基づいて内
燃機関の空燃比を制御することを特徴とする請求項1ま
たは2記載の空燃比制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07665194A JP3356869B2 (ja) | 1994-03-23 | 1994-03-23 | 空燃比制御装置 |
US08/408,820 US5678402A (en) | 1994-03-23 | 1995-03-23 | Air-fuel ratio control system for internal combustion engines and exhaust system temperature-estimating device applicable thereto |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07665194A JP3356869B2 (ja) | 1994-03-23 | 1994-03-23 | 空燃比制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07259601A JPH07259601A (ja) | 1995-10-09 |
JP3356869B2 true JP3356869B2 (ja) | 2002-12-16 |
Family
ID=13611314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07665194A Expired - Fee Related JP3356869B2 (ja) | 1994-03-23 | 1994-03-23 | 空燃比制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3356869B2 (ja) |
-
1994
- 1994-03-23 JP JP07665194A patent/JP3356869B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH07259601A (ja) | 1995-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5678402A (en) | Air-fuel ratio control system for internal combustion engines and exhaust system temperature-estimating device applicable thereto | |
JP2962987B2 (ja) | 内燃機関の燃料制御装置 | |
JPH0726580B2 (ja) | 内燃機関の触媒劣化判定装置 | |
JP3608809B2 (ja) | 内燃機関の燃料/空気混合気を調節する方法 | |
JP2869847B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3356878B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3524490B2 (ja) | 内燃機関の空燃比制御装置 | |
JPH0639932B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3181169B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3403801B2 (ja) | 内燃機関の排気系温度推定装置 | |
JP2692319B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3356869B2 (ja) | 空燃比制御装置 | |
JP2641827B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2676884B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2690482B2 (ja) | 内燃エンジンの空燃比制御装置 | |
JP2936780B2 (ja) | 触媒劣化検出装置 | |
JP2684751B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2692309B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2712089B2 (ja) | 内燃エンジンの空燃比制御方法 | |
JP2780451B2 (ja) | 触媒の劣化検出装置 | |
JP2641828B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2672494B2 (ja) | 内燃エンジンの空燃比制御方法 | |
JP3593388B2 (ja) | 内燃機関の空燃比制御装置 | |
JPH07151001A (ja) | エンジンの空燃比制御装置 | |
JPH08261037A (ja) | エンジンの空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |