(57)【特許請求の範囲】
【請求項１】
排気管に設けた第１の触媒が活性化したかどうかを判定する第１触媒活性化判定手段と、
前記第１の触媒の下流側に設けた第２の触媒が活性化したかどうかを判定する第２触媒活性化判定手段と、
前記第１触媒活性化判定手段の判定結果と前記第２触媒活性化判定手段の判定結果とに応じて定められる期間のときに排気空燃比がリッチ側とリーン側とに交互に振れるように空燃比を制御する空燃比制御手段と、
このリッチ側とリーン側とに交互に振れる排気空燃比の振幅の大きさを前記第１の触媒の酸素ストレージ能力に応じて設定する空燃比振幅設定手段と
を設けたことを特徴とするエンジンの排気浄化装置。
【請求項２】
前記空燃比制御手段は、前記第１の触媒が活性化してから前記第２の触媒が活性化するまでの期間に限り排気空燃比がリッチ側とリーン側に交互に振れるように空燃比を制御することを特徴とする請求項１に記載のエンジンの排気浄化装置。
【請求項３】
排気空燃比をリッチ側とリーン側とに交互に振らせるあいだ排気の平均空燃比を理論空燃比付近に保たせる手段を設けることを特徴とする請求項１または２に記載のエンジンの排気浄化装置。
【請求項４】
前記第１の触媒の前後に排気中の酸素濃度に応じた出力をするセンサを設け、これら２つのセンサ出力の反転周波数比または反転周期比に基づいて前記第１の触媒の酸素ストレージ能力を推測することを特徴とする請求項１から３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項５】
前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサを設け、このセンサ出力の振幅に基づいて前記第１の触媒の酸素ストレージ能力を推測することを特徴とする請求項１から３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項６】
前記空燃比振幅設定手段は、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサと、これら２つのセンサ出力の反転周波数比または反転周期比を計測する手段と、この反転周波数比または反転周期比が前記第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量をフィードバック制御することで排気空燃比の振幅の大きさを設定する手段とからなることを特徴とする請求項１から３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項７】
前記空燃比振幅設定手段は、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサと、この下流側センサ出力の振幅を計測する手段と、この下流側センサ出力の振幅が前記第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量をフィードバック制御することで排気空燃比の振幅の大きさを設定する手段とからなることを特徴とする請求項１から３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項８】
始動後に初めて前記第１の触媒の酸素ストレージ能力の限界相当の値となったときの空燃比制御量を学習値として記憶しておき、この学習値を次回始動時に排気空燃比がリッチ側とリーン側とに交互に振れるように制御するときの空燃比制御量の初期値として用いることを特徴とする請求項６または７に記載のエンジンの排気浄化装置。
【請求項９】
前記空燃比制御量の初めての学習より所定時間の経過後に空燃比制御量を設定しなおすことを特徴とする請求項８に記載のエンジンの排気浄化装置。
【請求項１０】
前記空燃比制御量を設定しなおすときには空燃比制御量の学習を禁止することを特徴とする請求項９に記載のエンジンの排気浄化装置。
【請求項１１】
前記第１触媒活性化判定手段は、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサと、これら２つのセンサ出力の反転周波数比または反転周期比を計測する手段と、この反転周波数比または反転周期比に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなることを特徴とする請求項１から１０までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１２】
前記第１触媒活性化判定手段は、前記第１の触媒の温度を検出するセンサと、この温度センサの出力に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなることを特徴とする請求項１から１０までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１３】
前記第１触媒活性化判定手段は、エンジンの冷却水温を検出するセンサと、この温度センサの出力に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなることを特徴とする請求項１から１０までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１４】
前記空燃比制御手段は、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段と、この基本噴射量を一部の気筒について可変に増加し、残りの気筒について可変に減少する手段と、この増加される噴射量の燃料を前記一部の気筒の吸気管に、また減少される噴射量の燃料を前記残りの気筒の吸気管に供給する手段とからなることを特徴とする請求項１から１３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１５】
前記空燃比制御手段は、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、この上流側センサ出力と比較するためのスライスレベルのヒステリシス幅を可変に設定する手段と、このヒステリシス幅の設定されたスライスレベルと前記上流側センサ出力との比較結果に基づいて空燃比フィードバック補正量を算出する手段と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段と、この噴射量の燃料を吸気管に供給する手段とからなることを特徴とする請求項１から１３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１６】
前記空燃比制御手段は、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、この上流側センサ出力に基づいてフィードバック定数を可変に設定する手段と、このフィードバック定数を用いて空燃比フィードバック補正量を算出する手段と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段と、この噴射量の燃料を吸気管に供給する手段とからなることを特徴とする請求項１から１３までのいずれか一つに記載のエンジンの排気浄化装置。
【請求項１７】
前記排気の平均空燃比を理論空燃比付近に保たせる手段は、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、この上流側センサ出力に基づいてフィードバック定数を設定する手段と、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサと、この下流側センサ出力に基づいて排気の平均空燃比が理論空燃比付近にくるように前記フィードバック定数を修正する手段と、この修正されたフィードバック定数を用いて空燃比フィードバック補正量を算出する手段と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段と、この噴射量の燃料を吸気管に供給する手段とからなることを特徴とする請求項３に記載のエンジンの排気浄化装置。
【請求項１８】
前記第２触媒活性化判定手段は、前記第２触媒の温度を検出するセンサと、この温度センサの出力に基づいて前記第２の触媒が活性化したかどうかを判定する手段とからなることを特徴とする請求項１に記載のエンジンの排気浄化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はエンジンの排気浄化装置に関する。
【０００２】
【従来の技術】
排気管に設けた三元触媒の早期暖機を行うため燃料噴射量を燃焼毎に増減させる（つまり排気空燃比を理論空燃比に対してリッチ側とリーン側に交互に振る）操作によりリッチ燃焼とリーン燃焼を繰り返し、リッチ燃焼により一酸化炭素ＣＯを、リーン燃焼により酸素Ｏ２を多く生じさせ、両者の酸化反応により発生する熱で排気温度を上昇させるようにした装置が提案されている（特開平５−３３７０５号公報参照）。
【０００３】
【発明が解決しようとする課題】
しかしながら、リッチ側とリーン側とに交互に振れる排気空燃比の振幅の大きさを一定値で設定するのでは、もし仮に触媒の酸素ストレージ能力の限界で空燃比振幅が与えられたとしても、経時劣化により触媒の酸素ストレージ能力を上回って触媒の酸素ストレージ能力が低下したときには転化率が低下して排気エミッションが悪化してしまう。かといって当初から空燃比振幅を小さく設定したのでは触媒の暖機促進効果が小さなものとなる。
【０００４】
そこで本発明は、触媒の早期暖機を行うため排気空燃比をリッチ側とリーン側に交互に振る操作を行うものを、触媒の下流側にもう一つの触媒を設けた構成のものに適用する場合に、２つの触媒の活性状態をみながら排気空燃比をリッチ側とリーン側に交互に振る操作を行うと共に、リッチ側とリーン側とに交互に振れる排気空燃比の振幅の大きさを触媒の酸素ストレージ能力に応じて設定することにより、触媒の下流側にもう一つの触媒を設けた構成のものにおいても触媒の早期暖機効果を最大限に引き出すことを目的とする。
【０００５】
【課題を解決するための手段】
第１の発明では、図２５に示すように、排気管に設けた第１の触媒が活性化したかどうかを判定する第１触媒活性化判定手段２１と、前記第１の触媒の下流側に設けた第２の触媒が活性化したかどうかを判定する第２触媒活性化判定手段２４と、前記第１触媒活性化判定手段２１の判定結果と前記第２触媒活性化判定手段２４の判定結果とに応じて定められる期間のときに排気空燃比がリッチ側とリーン側とに交互に振れるように空燃比を制御する空燃比制御手段２２と、このリッチ側とリーン側とに交互に振れる排気空燃比の振幅の大きさを前記第１の触媒の酸素ストレージ能力に応じて設定する空燃比振幅設定手段２３とを設けた。
【０００６】
第２の発明では、第１の発明において前記空燃比制御手段は、前記第１の触媒が活性化してから前記第２の触媒が活性化するまでの期間に限り排気空燃比がリッチ側とリーン側に交互に振れるように空燃比を制御する。
【０００７】
第３の発明では、第１または第２の発明において排気空燃比をリッチ側とリーン側とに交互に振らせるあいだ排気の平均空燃比を理論空燃比付近に保たせる手段を設ける。
【０００８】
第４の発明では、第１から第３までのいずれか一つの発明において前記第１の触媒の前後に排気中の酸素濃度に応じた出力をするセンサを設け、これら２つのセンサ出力の反転周波数比または反転周期比に基づいて前記第１の触媒の酸素ストレージ能力を推測する。
【０００９】
第５の発明では、第１から第３までのいずれか一つの発明において前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサを設け、このセンサ出力の振幅に基づいて前記第１の触媒の酸素ストレージ能力を推測する。
【００１０】
第６の発明では、第１から第３までのいずれか一つの発明において前記空燃比振幅設定手段２３が、図２６に示すように、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサ４１と、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサ４２と、これら２つのセンサ出力の反転周波数比または反転周期比を計測する手段４３と、この反転周波数比または反転周期比が前記第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量（たとえば基本噴射量の増減量、下流側センサ出力と比較するためのスライスレベルのヒステリシス幅の増減量、比例分の増減量）をフィードバック制御することで排気空燃比の振幅の大きさを設定する手段４４とからなる。
【００１１】
第７の発明では、第１から第３までのいずれか一つの発明において前記空燃比振幅設定手段２３が、図２７に示すように、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサ４２と、この下流側センサ出力の振幅を計測する手段５１と、この下流側センサ出力の振幅が前記第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量（たとえば基本噴射量の増減量、下流側センサ出力と比較するためのスライスレベルのヒステリシス幅の増減量、比例分の増減量）をフィードバック制御することで排気空燃比の振幅の大きさを設定する手段５２とからなる。
【００１２】
第８の発明では、第６または第７の発明において始動後に初めて前記第１の触媒の酸素ストレージ能力の限界相当の値となったときの空燃比制御量を学習値として記憶しておき、この学習値を次回始動時に排気空燃比がリッチ側とリーン側とに交互に振れるように制御するときの空燃比制御量の初期値として用いる。
【００１３】
第９の発明では、第８の発明において前記空燃比制御量の初めての学習より所定時間の経過後に空燃比制御量を設定しなおす。
【００１４】
第１０の発明では、第９の発明において前記空燃比制御量を設定しなおすときには空燃比制御量の学習を禁止する。
【００１５】
第１１の発明では、第１から第１０までのいずれか一つの発明において前記第１触媒活性化判定手段２１が、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサと、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサと、これら２つのセンサ出力の反転周波数比または反転周期比を計測する手段と、この反転周波数比または反転周期比に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなる。
【００１６】
第１２の発明では、第１から第１０までのいずれか一つの発明において前記第１触媒活性化判定手段２１が、前記第１の触媒の温度を検出するセンサと、この温度センサの出力に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなる。
【００１７】
第１３の発明では、第１から第１０までのいずれか一つの発明において前記第１触媒活性化判定手段２１が、エンジンの冷却水温を検出するセンサと、この温度センサの出力に基づいて前記第１の触媒が活性化したかどうかを判定する手段とからなる。
【００１８】
第１４の発明では、第１から第１３までのいずれか一つの発明において前記空燃比制御手段２２が、図２８に示すように、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段６１と、この基本噴射量を一部の気筒について可変に増加し、残りの気筒について可変に減少する手段６２と、この増加される噴射量の燃料を前記一部の気筒の吸気管に、また減少される噴射量の燃料を前記残りの気筒の吸気管に供給する手段６３とからなる。
【００１９】
第１５の発明では、第１から第１３までのいずれか一つの発明において前記空燃比制御手段２２が、図２９に示すように、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段６１と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサ４１と、この上流側センサ４１出力と比較するためのスライスレベルのヒステリシス幅を可変に設定する手段７１と、このヒステリシス幅の設定されたスライスレベルと前記上流側センサ４１出力との比較結果に基づいて空燃比フィードバック補正量を算出する手段７２と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段７３と、この噴射量の燃料を吸気管に供給する手段７４とからなる。
【００２０】
第１６の発明では、第１から第１３までのいずれか一つの発明において前記空燃比制御手段２２が、図３０に示すように、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段６１と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサ４１と、この上流側センサ４１出力に基づいてフィードバック定数（比例分と積分分の少なくとも一つ）を可変に設定する手段８１と、このフィードバック定数を用いて空燃比フィードバック補正量を算出する手段８２と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段７３と、この噴射量の燃料を吸気管に供給する手段７４とからなる。
【００２１】
第１７の発明では、第３の発明において前記排気の平均空燃比を理論空燃比付近に保たせる手段が、図３１に示すように、ほぼ理論空燃比の得られる基本噴射量を運転条件に応じて算出する手段６１と、前記第１の触媒上流側の排気中の酸素濃度に応じた出力をするセンサ４１と、この上流側センサ４１出力に基づいてフィードバック定数（たとえば比例分、積分分、上流側センサ出力と比較するためのスライスレベル等）を設定する手段９１と、前記第１の触媒下流側の排気中の酸素濃度に応じた出力をするセンサ４２と、この下流側センサ４２出力に基づいて排気の平均空燃比が理論空燃比付近にくるように前記フィードバック定数を修正する手段９２と、この修正されたフィードバック定数を用いて空燃比フィードバック補正量を算出する手段９３と、この空燃比フィードバック補正量で前記基本噴射量を補正して燃料噴射量を算出する手段７３と、この噴射量の燃料を吸気管に供給する手段７４とからなる。
第１８の発明では、第１の発明において前記第２触媒活性化判定手段２４が、前記第２触媒の温度を検出するセンサと、この温度センサの出力に基づいて前記第２の触媒が活性化したかどうかを判定する手段とからなる
【００２２】
【作用】
第１の発明では、第１の触媒の早期暖機のため排気空燃比がリッチ側とリーン側とに交互に振れるように空燃比を制御するに際して、第１の触媒の現在の酸素ストレージ能力に応じた空燃比振幅を設定するので、排気空燃比の振幅が第１の触媒の経時劣化や第１の触媒の新品への交換に伴う酸素ストレージ能力の変化に対応するものとなり、第１の触媒に経時劣化が生じたり第１の触媒を新品に交換したりしたときでも第１の触媒の早期暖機効果を最大限に活かすことができる。
【００２３】
排気空燃比をリッチ側とリーン側とに交互に振らせると、その分だけ空燃比フィードバック制御によるリッチ、リーンの各判定に遅れが生じてフィードバック制御周期が長くなるため排気の平均空燃比が理論空燃比よりずれる可能性があるが、第３の発明では排気空燃比をリッチ側とリーン側とに交互に振らせるあいだも排気の平均空燃比が理論空燃比より大きくずれることがない。
【００２４】
第８の発明では、始動後に初めて前記第１の触媒の酸素ストレージ能力の限界相当の値となったときの空燃比制御量を学習値として記憶しておき、この学習値を次回始動時に排気空燃比がリッチ側とリーン側とに交互に振れるように制御するときの空燃比制御量の初期値として用いるので、始動のたびに第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量をフィードバック制御する場合と比べて、第１の触媒の現在の酸素ストレージ能力の限界を超えない最大の空燃比振幅により早く設定することができる。
【００２５】
第９の発明では、空燃比制御量の初めての学習より所定時間の経過後に空燃比制御量を設定しなおすので、暖機が進むにつれて第１の触媒の酸素ストレージ能力が大きくなる場合でも触媒の早期暖機効果を最大限に活かすことができる。
【００２６】
第１０の発明では、空燃比制御量を設定しなおすときには学習を行わないので、第１の触媒の暖機過程の酸素ストレージ能力の変化を学習することによる誤学習を避けることができる。
【００２７】
【発明の実施の形態】
図１において、１はエンジン本体で、その吸気通路８には吸気絞り弁５の下流に位置して燃料噴射弁７が設けられ、コントロールユニット（図ではＣ／Ｕで略記）２からの噴射信号により吸気中に燃料を噴射供給する。エンジンに供給される燃料流量は体積流量管理であり、噴射弁の開弁時間によってその流量を調整している。
【００２８】
一方、シリンダヘッドには燃焼室に臨んで点火プラグの電極が設けられ、コントロールユニット２からの点火信号により所定のタイミングで点火コイルの一次電流が遮断されると、点火プラグの電極に火花が飛んで、シリンダー内の混合気に着火される。この着火により燃焼したガスは、排気通路９に直列に設けた触媒（三元触媒）１０と１５によって浄化される。
【００２９】
コントロールユニット２にはクランク角センサ４からのＲｅｆ信号（４気筒では１８０°ごと、６気筒では１２０°ごとに発生）と１°信号、エアフローメータ６からの吸入空気量信号、排気通路９の三元触媒１０の上流側に設置したＯ２センサ３からの空燃比（酸素濃度）信号、水温センサー１１からのエンジン冷却水温信号等が入力され、これらに基づいてコントロールユニット２では燃料噴射量（空燃比）の制御を行う。また、触媒１０の上流側だけでなく下流側にもＯ２センサ１３を設けており、コントロールユニット２ではこの下流側Ｏ２センサ出力と上流側Ｏ２センサ出力を比較することで触媒１０の劣化を診断する。
【００３０】
さて、触媒１０の早期暖機を行うため排気空燃比を理論空燃比に対してリッチ側とリーン側に交互に振る操作（この操作を以下「空燃比パータベーション（ｐｅｒｔｕｒｂａｔｉｏｎ）操作」という）によりリッチ燃焼とリーン燃焼を繰り返し、リッチ燃焼により一酸化炭素ＣＯを、リーン燃焼により酸素Ｏ２を多く生じさせ、両者の酸化反応により発生する熱で排気温度を上昇させるとともに、空燃比パータベーション操作が触媒１０の上流側Ｏ２センサ出力を用いての空燃比フィードバック制御中に行われると、空燃比の変動が生じ、燃料の増減分だけ空燃比フィードバック周期が長くなって排気の平均空燃比が理論空燃比よりずれてくるので、触媒１０の下流側Ｏ２センサ出力により上流側Ｏ２センサ出力に基づく空燃比フィードバック制御の制御定数である比例分を徐々に修正することにより排気の平均空燃比を理論空燃比付近に収束させるようにした装置が提案されている（特開平５−３３７０５号公報参照）。
【００３１】
この装置を、図１に示したように触媒１０の下流側にもう一つの触媒１５を設けた構成のものに適用するときには、触媒１０の活性化後または一部活性化後に、触媒１０の転化率が低下しないように排気の平均空燃比を理論空燃比付近に保ちながら空燃比パータベーション操作を行って触媒１０内で排気温度を上昇させることにより、上流と下流の各触媒の早期暖機を速やかに行うことが考えられる。
【００３２】
この場合、空燃比パータベーション操作による排気空燃比の振幅を一定値で設定するのでは、もし仮に触媒１０の酸素ストレージ能力の限界で空燃比振幅が与えられたとしても、経時劣化により触媒１０の酸素ストレージ能力を上回って触媒１０の酸素ストレージ能力が低下したときには転化率が低下して排気エミッションが悪化してしまうので、これに対処するため本発明では、下流側Ｏ２センサ出力をモニターしておき、この下流側Ｏ２センサ出力が大きく振れ出すまで空燃比振幅を徐々に大きくしてゆき、下流側Ｏ２センサ出力が基準値以上に振れ出したときには触媒１０の酸素ストレージ能力を超える空燃比振幅になったと判断し、下流側Ｏ２センサ出力が基準値以上に振れ出さない最大の空燃比振幅を設定することにより、空燃比パータベーション操作による触媒の早期暖機効果を最大限に引き出す。
【００３３】
コントロールユニット２で実行されるこの制御の内容を、以下のフローチャートにしたがって説明する。
【００３４】
まず、図２は上流側触媒１０の活性化判定を行うためのもので、一定周期で実行する。
【００３５】
ステップ１ではエンジンの運転条件が活性化判定領域にあるかどうかみて、活性化判定領域にあればステップ２、３、４において、２つのＯ２センサ出力の反転周波数Ｆ１、Ｆ２を読み込んで両者の比（反転周波数比）Ｆｒ（＝Ｆ２／Ｆ１）を算出し、その値から図３に示したテーブルを検索して触媒活性度Ｋを求める。触媒活性度Ｋは図３において反転周波数比Ｆｒが０に向かって小さくなる（触媒が活性化している）ほど大きくなる値である。
【００３６】
ここで、触媒１０前後の空燃比の動きをみると、図４に示したように、触媒１０が活性化していないときには触媒１０下流の空燃比（図ではＡ／Ｆで略記）が触媒１０上流の空燃比とほぼ同じように動くのに対し、触媒１０が活性化したときには触媒１０が排気を浄化するために触媒１０下流の空燃比はほとんど動かなくなる。つまり、反転周波数比Ｆｒが０に近づくほど触媒１０が活性化していることになるので、触媒１０が活性化するほど触媒活性度Ｋの値が大きくなるようにテーブル値を設定しているわけである。なお、反転周波数比Ｆｒと触媒転化率の間には図５に示す相関がある。
【００３７】
ステップ６では触媒活性度Ｋと所定値を比較し、触媒活性度Ｋが所定値未満のときには触媒１０が未活性状態にあるためステップ７に進んで触媒活性化フラグＦｋｆを“０”にしておき、触媒活性度Ｋが所定値以上になると触媒１０がある程度まで活性化したと判断し、ステップ８に進んで触媒活性化フラグＦｋｆを“１”にセットしたあと図２のフローを終了する。なお、触媒活性化フラグＦｋｆは次に説明するもう１つの触媒活性化フラグＦｋｒとともにＲＡＭに記憶させておく。
【００３８】
図６のフローチャートは下流側触媒１５の活性化判定を行うためのもので、これも一定周期で実行する。
【００３９】
ステップ１１では温度センサ１６（図１参照）により検出される触媒１５の内部温度を読み込み、これをステップ１２において所定値と比較し、触媒内部温度が所定値未満のときはステップ１３で触媒活性化フラグＦｋｒを“０”にしておき、触媒内温度が所定値以上になると触媒１５が活性化したと判断し、ステップ１４において触媒活性化フラグＦｋｒを“１”にセットしたあと図６のフローを終了する。
【００４０】
図７のフローチャートは空燃比パータベーション操作を許可するかどうかを判定するためのもので、図２と図６による各触媒の活性化判定が終了した後に実行する。
【００４１】
ステップ２１、２２では２つの触媒活性化フラグＦｋｆ、Ｆｋｒをみて、Ｆｋｆ＝０のときはステップ２１から２３に進んで空燃比パータベーション許可フラグＦｓｔを“０”にリセットし、Ｆｋｆ＝１かつＦＫｒ＝０のときはステップ２４に進んで空燃比パータベーション許可フラグＦｓｔを“１”にセットし、Ｆｋｆ＝１かつＦＫｒ＝１になると、ステップ２５に進んで空燃比パータベーション終了フラグＦｅｎｄ（始動時に“０”に初期設定）を“１”にセットする。Ｆｓｔ、Ｆｅｎｄの各フラグが具体的にどうなるか冷間始動時でみてみると、当初は上流側触媒１０が未活性（Ｆｋｆ＝０）であるため、空燃比パータベーション許可フラグＦｓｔは“０”状態であり、やがて上流側触媒１０がある程度活性化しているが下流側触媒１５が未活性の場合（Ｆｋｆ＝１かつＦｋｒ）に空燃比パータベーション許可フラグＦｓｔが“１”にセットされ、その後に下流側触媒１５が活性化したときにはパータベーション終了フラグＦｅｎｄ（始動時に“０”に初期設定）が“１”にセットされる。
【００４２】
図８のフローチャートは、各気筒の燃料噴射弁７に与える燃料噴射パルス幅を算出するためのもので、Ｒｅｆ信号に同期して実行する。
【００４３】
ステップ３１では、エアフローメータ６からの吸入空気量Ｑａとクランク角センサ４により検出されるエンジン回転数Ｎｅとから
Ｔｐ＝（Ｑａ／Ｎｅ）×Ｋ                                  …（１）
ただし、Ｋ：定数
の式によりほぼ理論空燃比の混合気が得られる基本噴射パルス幅Ｔｐを演算し、ステップ３２、３３において２つのフラグＦｅｎｄ、Ｆｓｔをみる。Ｆｅｎｄ＝１のときとＦｅｎｄ＝０かつＦｓｔ＝０のときには空燃比パータベーション許可条件にないので、ステップ３４に進んで、
Ｔｉ（ｎ）＝Ｔｐ×α×２＋Ｔｓ                            …（２）
ただし、α：空燃比フィードバック補正係数
Ｔｓ：バッテリー電圧に応じた無効パルス幅
の式により全気筒共通の燃料噴射パルス幅Ｔｉ（ｎ）（ただしｎは気筒番号）を算出し、これをステップ３５において出力レジスタに転送する。
【００４４】
ここで、燃料噴射はシーケンシャル噴射方式（エンジン２回転ごとに１回、各気筒とも吸気弁の開く直前当たりを噴射タイミングとする方式）であるため、４気筒エンジン（点火順序を＃１−＃３−＃４−＃２とする）を例にとると、今回のＲｅｆ信号の入力で１番気筒にＴｉ（１）の燃料が供給されたとすれば、次回（つまり１回後）のＲｅｆ信号の入力で３番気筒に、２回後のＲｅｆ信号の入力で４番気筒に、３回後のＲｅｆ信号の入力で２番気筒にそれぞれＴｉ（３）、Ｔｉ（４）、Ｔｉ（２）の燃料が供給されるわけである。こうしたシーケンシャル噴射方式は、エンジンの始動時を含むすべての運転域で行われる。
【００４５】
一方、Ｆｅｎｄ＝０かつＦｓｔ＝１のとき（空燃比パータベーション許可条件の成立時）にはステップ３６以降に進み、点火順序で一つ置きの気筒（たとえば１番気筒と４番気筒）の空燃比をリッチ化するとともに、その間の気筒（３番気筒と２番気筒）をリーン化することにより空燃比パータベーション操作を行う。つまり、リッチ気筒（空燃比がリッチ化される気筒）のときにはステップ３７でＴｉ（ｎ）＝（Ｔｐ＋ｔ）×α×２＋Ｔｓ                    …（３）
ただし、ｔ：燃料増減量（正の値）
の式により燃料噴射パルス幅を、またリーン気筒（空燃比がリーン化される気筒）のときにはステップ３８において
Ｔｉ（ｎ）＝（Ｔｐ−ｔ）×α×２＋Ｔｓ                    …（４）
の式により燃料噴射パルス幅を算出した後にステップ３５の処理を実行する。
【００４６】
上記（３）、（４）式の燃料増減量ｔは排気空燃比の振幅を決める値で、この値の算出については図９、図１０のフローチャートにより説明する。なお、燃料噴射がＲｅｆ信号同期であるため、ｔについてもＲｅｆ信号に同期して実行する。
【００４７】
ここで、従来は燃料増減量ｔが一定値であったのに対し、本発明の燃料増減量ｔは可変値かつ学習値で、ｔの初期値として学習値を用いるように構成している。
【００４８】
ステップ４１、４２では２つのフラグＦｅｎｄ、Ｆｓｔをみて、空燃比パータベーション許可条件の成立時（Ｆｅｎｄ＝０かつＦｓｔ＝１）になると、ステップ４３で燃料増減量についての学習終了フラグＦｇｅｎｄ（始動時に“０”に設定）をみて、学習前（Ｆｇｅｎｄ＝０）であればステップ４４以降に進む。
【００４９】
ステップ４４、４５は燃料増減量ｔに初期値を設定する部分で、始動後初めてステップ４４に進んできたのであればステップ４５においてバックアップメモリに記憶させてある学習値をｔに入れ、それ以外ではステップ４５の処理を飛ばす。
【００５０】
ステップ４６では２つのＯ２センサ出力の反転周波数比Ｆｒを算出し、ステップ４７、４８、４９においてこの値を基準値（触媒の酸素ストレージ能力の限界相当）Ｓｔと比較した結果と前回の比較結果を用いて、▲１▼今回、前回とも続けてＦｒ＜Ｓｔであれば触媒１０の酸素ストレージ能力内の空燃比振幅であると判断し、ステップ５０で燃料増減量ｔを所定値Ｋｔだけ大きくする。▲２▼今回、前回とも続けてＦｒ≧Ｓｔであるときは空燃比振幅が触媒１０の酸素ストレージ能力を上回り触媒転化率が低下すると判断し、ステップ５１で燃料増減量ｔを所定値Ｋｔだけを減らす。このようにして、反転周波数比Ｆｒが触媒の酸素ストレージ能力の限界相当となるように燃料増減量ｔをフィードバック制御することで空燃比振幅を設定するわけである。
【００５１】
ここで、反転周波数比Ｆｒと触媒１０の酸素ストレージとの関係を説明する。酸素ストレージ能力を超える空燃比振幅があるときには、触媒１０前後の空燃比がほぼ同じように動くため反転周波数比Ｆｒが大きな値を示す（１に近づく）のに対して、酸素ストレージ能力を超えない空燃比振幅の場合には触媒１０下流の空燃比がほとんど動かなくなり、反転周波数比Ｆｒが小さな値を示す（０に近づく）。つまり、反転周波数比により酸素ストレージ能力を推測することができるわけで、反転周波数比Ｆｒが基準値Ｓｔより小さな値のときには空燃比パータベーション操作時の空燃比振幅に対応するだけの酸素ストレージ能力があると判定でき、また反転周波数比Ｆｒが基準値Ｓｔより大きな値を示す場合は空燃比振幅が酸素ストレージ能力を超えていると判定できる。したがって、ＦｒがＳｔ未満であるときには、酸素ストレージ能力に余裕があると判断して空燃比振幅が大きくなるようにｔを増量していき、この逆にＦｒがＳｔ以上のときには酸素ストレージ能力を上回り触媒転化率が低下していると判断し、空燃比振幅が小さくなるようにｔを減らしていくのである。
【００５２】
一方、▲３▼前回はＦｒ≧Ｓｔだったのが今回はＦｒ＜Ｓｔとなったときは酸素ストレージ能力の限界の空燃比振幅になったと判断しステップ４７、４８からステップ５２に進んで、また▲４▼前回はＦｒ＜Ｓｔだったのが今回はＦｒ≧Ｓｔとなったときも酸素ストレージ能力の限界の空燃比振幅になったと判断しステップ４７、４９からステップ５２に進む。ステップ５２ではこのステップに進んだのが始動後初めてであるかどうかみて、始動後初めてである場合に限りステップ５３でそのときのｔを学習値に入れてバックアップメモリに記憶する。
【００５３】
このようにして記憶される学習値を次回の始動時に空燃比パータベーション操作を行う際のｔの初期値として用いることで（図９のステップ４４、４５）、経時劣化により触媒１０の酸素ストレージ能力が低下してゆく場合や触媒１０を新品に入れ換えた場合でも、そのときの酸素ストレージ能力の範囲内で最大の空燃比振幅をより早く設定できるようにするわけである。
【００５４】
ステップ５４では学習を一度だけで終了するため学習終了フラグＦｇｅｎｄを“１”にセットするともに、タイマＴＭを０に戻す。このタイマＴＭは学習終了からの時間を計測するためのもので、たとえばＣＰＵ内の時計を用いて構成する。
【００５５】
ステップ５４での学習終了フラグＦｇｅｎｄの“１”へのセットにより、次回からは図９のステップ４３より図１０のステップ５５に流れ、ここでタイマＴＭと所定値（たとえば２０秒）を比較し、学習終了から２０秒を経過する前はステップ５６でｔの値を保持し、学習終了から２０秒を経過した後にはステップ５７以降で反転周波数比Ｆｒと基準値Ｓｔを再び比較し、その比較結果に応じてｔを設定しなおす。ただし、このときには学習は行わない。酸素ストレージ能力は経時劣化や新品への交換による場合だけでなく、触媒１０の活性度（暖機過程）に応じても変化し、触媒１０の暖機が進むに連れて酸素ストレージ能力が大きくなるため、学習は初回のみ行うことで、触媒暖機過程の変化を学習してしまうことによる誤学習を回避するのである。
【００５６】
次に、上記（２）〜（４）式の空燃比フィードバック補正係数αの算出を図１１のフローチャートにより説明する。なお、燃料噴射がＲｅｆ信号同期であるためαについてもＲｅｆ信号に同期して実行する。
【００５７】
ステップ７１では上流側Ｏ２センサ出力に基づく空燃比フィードバック条件を満たしているかどうかみて条件を満たしていなければステップ７２で空燃比フィードバック補正係数αを１．０に固定（クランプ）する。
【００５８】
条件を満たしているときにはステップ７３で上流側Ｏ２センサ出力ＯＳＲ１を読み込み、これをステップ７４においてスライスレベルの上限ＳＬＦＨと比較する。ＯＳＲ１＞ＳＬＦＨのときはリッチであると判断してステップ７５に進み、前回はリッチであったかどうかをみる。この結果、前回リーンで今回リッチのときはステップ７６、７７に進んで空燃比フィードバック補正係数αから比例分ＰＲだけ減量し、前回、今回ともリッチであるときにはステップ７８に進んでαから積分分ＩＲだけ減量する。ＯＳＲ１≦ＳＬＦＨのときにはステップ７４よりステップ７９に進み、ＯＳＲ１とスライスレベルの下限ＳＬＦＬを比較する。ＯＳＲ１≦ＳＬＦＬのときにはリーンであると判断し、ステップ８０で前回はリッチであったかどうかをみて、前回リッチで今回リーンのときは、ステップ８１、８２に進んでαを比例分ＰＬだけ増量し、前回、今回ともリーンであるときにはステップ８３に進んでαを積分分ＩＬだけ増量する。
【００５９】
また、ＳＬＦＨ≧ＯＳＲ１＞ＳＬＦＬ（つまりＯＳＲ１がスライスレベルのヒステリシス幅内にある）のときにはステップ７４、７９よりステップ８４に進み前回はリッチであったかどうかみて、リッチであるときにはステップ８５でαから積分分ＩＲだけ減量し、リーンであるときにはステップ８６でαを積分分ＩＬだけ増量する。上流側Ｏ２センサ出力ＯＳＲ１と比較するためのスライスレベルにヒステリシスを設けており（図１２参照）、ＯＳＲ１がスライスレベル上限ＳＬＦＨを横切って大きくなったときにリッチ側にあると、またスライスレベル下限ＳＬＦＬを横切って小さくなったときにリーン側にあると判定するわけである。
【００６０】
図１３のフローチャートは図１１のステップ７６の処理を行うためのサブルーチンで上流側Ｏ２センサ出力ＯＳＲ１のリッチ側への反転毎に、また図１４のフローチャートは図１１のステップ８１の処理を行うためのサブルーチンで上流側Ｏ２センサ出力ＯＳＲ１のリーン側への反転毎に実行する。
【００６１】
各サブルーチンの制御内容はいずれも同様なので、図１３のほうを主に述べると、ステップ９１では比例分の基本値ＰＲ０を読み込む。この基本値ＰＲ０は上流側Ｏ２センサ３や触媒１０に劣化のない状態でマッチングしたときの比例分ＰＲの値で、図１５に示したように回転数Ｎｅと基本噴射パルス幅Ｔｐとをパラメータとするマップで割り付けており、このマップを検索して求める。
【００６２】
ステップ９２、９３で２つのフラグＦｅｎｄ、Ｆｓｔをみて、空燃比パータベーション許可条件の非成立時（Ｆｅｎｄ＝１のときとＦｅｎｄ＝０かつＦｓｔ＝０のとき）にはステップ９４に進み、基本値ＰＲ０をそのまま比例分ＰＲに入れて図１３のサブルーチンを終了する。
【００６３】
空燃比パータベーション許可条件の成立時（Ｆｅｎｄ＝０かつＦｓｔ＝１）になると、ステップ９５で下流側Ｏ２センサ出力ＯＳＲ２を読み込み、これとスライスレベルＳＬＲをステップ９６において比較する。比較の結果、ＯＳＲ２＞ＳＬＲ（空燃比パータベーション操作により空燃比がリッチ側に傾いている）のときにはステップ９７、９９で
ＬＰ←ＬＰ−ＤＬＰ                                        …（５）
ただし、ＤＬＰ：所定値
の式により比例分の修正値（始動時に０に初期設定）ＬＰをＤＬＰの分だけ減量し、基本値ＰＲ０からこの修正値ＬＰを差し引いた値を比例分ＰＲとおく（つまり比例分を修正する）ことにより、空燃比をリーン側へと戻す。ＯＳＲ２≦ＳＬＲ（空燃比パータベーション操作により空燃比がリーン側に傾いている）のときにはステップ９６よりステップ９８に進み、
ＬＰ←ＬＰ＋ＤＬＰ                                        …（６）
の式により比例分の修正値ＬＰをＤＬＰの分だけ増量したあとステップ９９の操作を実行することで空燃比をリッチ側へと戻す。
【００６４】
同様にしてもう一つの比例分ＰＬについても、図１４に示したように、空燃比パータベーション許可条件の非成立時にはステップ１０４で比例分ＰＬの基本値ＰＬ０（図１６参照）をそのまま比例分ＰＬとおき、空燃比パータベーション許可条件の成立時になると、ステップ１０５以降でＯＳＲ２をみて修正値ＬＰを増減し、基本値ＰＬ０に修正値ＬＰを加えた値を比例分ＰＬとおくことで、空燃比を理論空燃比へと戻す。
【００６５】
空燃比パータベーション操作による燃料の増減を行うと、その燃料の増減分だけ空燃比フィードバックによるリッチ、リーン判定に遅れが生じてフィードバック制御周期が長くなるため、排気の平均空燃比が理論空燃比よりずれてくる可能性があるので、これを避けるため下流側Ｏ２センサ出力ＯＳＲ２に基づいて上流側Ｏ２センサ出力に基づく空燃比フィードバック制御の制御定数である比例分ＰＲ、ＰＬを徐々に修正することにより排気の平均空燃比を理論空燃比付近に収束させるわけである。
【００６６】
ここで、本発明の作用を説明する。
【００６７】
本発明では、空燃比パータベーション操作を行うに際し、触媒１０の酸素ストレージ能力を推測可能な値である反転周波数比Ｆｒを計測し、その計測した反転周波数比Ｆｒが触媒１０の酸素ストレージ能力の限界相当としての基準値Ｓｔと一致するように燃料増減量（空燃比制御量）ｔをフィードバック制御するので、排気空燃比の振幅が触媒１０の経時劣化や触媒１０の新品への交換に伴う酸素ストレージ能力の変化に対応するものとなり、触媒１０に経時劣化や新品への交換が生じても、常に空燃比パータベーション操作による触媒１０の早期暖機効果を最大限に活かすことができる。
【００６８】
また、反転周波数比Ｆｒが基準値Ｓｔに始動後初めてなったときの燃料増減量ｔを学習値としてバックアップメモリに記憶しておき、次回始動時に空燃比パータベーション操作を行うに際してはこの学習値を燃料増減量ｔの初期値として用いるので、始動のたびに反転周波数比Ｆｒが触媒１０の酸素ストレージ能力の限界相当にくるように燃料増減量ｔをフィードバック制御する場合と比べて、触媒１０の現在の酸素ストレージ能力の限界を超えない最大の空燃比振幅により早く設定することができる。
【００６９】
また、燃料増減量ｔの初めての学習より所定時間の経過後には、燃料増減量ｔを設定しなおしているので、暖機が進むにつれて触媒１０の酸素ストレージ能力が大きくなる場合でも、空燃比パータベーション操作による触媒１０の早期暖機効果を最大限に活かすことができる。また、このとき（燃料増減量ｔを設定しなおすとき）には学習は行わないので、暖機過程の触媒１０の酸素ストレージ能力の変化を学習することによる誤学習を避けることができる。
【００７０】
なお、空燃比パータベーション操作による燃料の増減を行うと、その燃料の増減分だけ空燃比フィードバック制御によるリッチ、リーンの各判定に遅れが生じてフィードバック制御周期が長くなるため、排気の平均空燃比が理論空燃比よりずれてくる可能性があるが、本発明では下流側Ｏ２センサ出力ＯＳＲ２に基づいて上流側Ｏ２センサ出力に基づく空燃比フィードバック制御の制御定数である比例分ＰＲ、ＰＬを徐々に修正するので、空燃比パータベーション操作中であっても排気の平均空燃比を理論空燃比付近に収束させることができる。
【００７１】
図１８、図１９、図２０のフローチャートは第２実施形態、図２２、図２３、図２４のフローチャートは第３実施形態で、このうち図１８、図１９および図２２、図２３が図９、図１０に、図２０および図２４が図１１にそれぞれ対応する。また、第２、第３実施形態に共通する図１７のフローチャートは図８に対応する。なお、第２、第３実施形態とも第１実施形態と同一の部分には同一のステップ番号を付している。
【００７２】
図１７に示したように、各気筒の燃料噴射弁に与える燃料噴射パルス幅を各気筒とも上記（２）式により算出する場合であっても、上流側Ｏ２センサ出力ＯＳＲ１と比較するためのスライスレベルのヒステリシス幅を大きくすると、リッチと判定するときの空燃比がリッチ側に移り、またリーンと判定するときの空燃比がリーン側に移るため（図２１参照）、結果として空燃比フィードバック制御時の排気空燃比の振幅が増大する。つまり、上流側Ｏ２センサ出力と比較するためのスライスレベルのヒステリシス幅を変化させることによっても空燃比パータベーション操作を行うことができるので、第２実施形態ではこのヒステリシス幅を酸素ストレージ能力を推測する値である反転周波数比Ｆｒに応じて設定するようにしたものである。
【００７３】
また、空燃比フィードバック制御（ＰＩ制御）では、上流側Ｏ２センサ出力のリーン側への反転時にαを比例分ＰＬだけ増量し、リッチへの反転時にはαを比例分ＰＲだけ減量させているので、比例分ＰＬ、ＰＲをともに所定値だけ上乗せして大きな値にすることで、空燃比フィードバック制御時の排気空燃比の振幅が大きくなる。つまり、比例分ＰＬ、ＰＲを変化させることによっても空燃比パータベーション操作を行うことができるので、第３実施形態では比例分ＰＬ、ＰＲを反転周波数比Ｆｒに応じて設定するようにしている。なお、このとき比例分ＰＬ、ＰＲのみならず積分分ＩＲ、ＩＬをも大きくしたり、これに加えて上流側Ｏ２センサと比較するためのスライスレベルのヒステリシスの幅を大きくするようにしてもかまわない。
【００７４】
まず、図１８、図１９のフローチャートは上流側Ｏ２センサ出力と比較するためのヒステリシス幅の増減量ｓを算出するためのもの、図２２、図２３は比例分ＰＲ、ＰＬの増減量ｐを算出するためのもので、図９、図１０とはステップ１１１、１１２、１１３、１１４、１１５、１１６、１１７（以上図１８、図１９）、ステップ１３１、１３２、１３３、１３４、１３５、１３６、１３７（以上図２２、図２３）が相違するものの、内容は第１実施形態と同様である。
【００７５】
ここでは第２実施形態についてだけ、第１実施形態と相違する部分を主に説明すると、図１８、図１９において空燃比パータベーション許可条件の成立時かつ学習前かつ始動後初めてステップ４４に進んできたときだけ、ステップ１１１において学習値をヒステリシス幅ｓに入れる。
【００７６】
また、▲１▼今回、前回とも続けてＦｒ＜Ｓｔであれば触媒１０の酸素ストレージ能力内の空燃比振幅と判断し、ステップ１１２で増減量ｓを所定値Ｋｓだけ大きくし、▲２▼今回、前回とも続けてＦｒ≧Ｓｔであるときは空燃比振幅が触媒１０の酸素ストレージ能力を上回っていると判断し、ステップ１１３で増減量ｓを所定値Ｋｓだけを減らす。▲３▼前回はＦｒ≧Ｓｔだったのが今回はＦｒ＜Ｓｔとなったときと、▲４▼前回はＦｒ＜Ｓｔだったのが今回はＦｒ≧Ｓｔとなったときとは触媒１０の酸素ストレージ能力の限界の空燃比振幅になったと判断してステップ５２に進み、ここでこのステップに進んだのが始動後初めてである場合に限りステップ１１４でそのときの増減量ｓを学習値に入れてバックアップメモリに記憶する学習終了後にはタイマＴＭと所定値（たとえば２０秒）を比較し、学習終了から２０秒を経過する前は図１９のステップ１１５で増減量ｓの値を保持し、学習終了から２０秒を経過した後には、図１９のステップ５７以降で反転周波数比Ｆｒと基準値Ｓｔを再び比較し、その比較結果に応じて増減量ｓを設定しなおす。ただし、このときには学習は行わない。
【００７７】
次に、図２０のフローチャートにおいては、空燃比フィードバック条件の成立時にステップ１２１、１２２でヒステリシス幅の増減量ｓを読み込み、この増減量ｓを用いてスライスレベル上限ＳＬＦＨとスライスレベル下限ＳＬＦＬを
ＳＬＦＨ＝ＳＬＦ０＋ｓ／２                                …（７）
ＳＬＦＬ＝ＳＬＦ０−ｓ／２                                …（８）
ただし、ＳＬＦ０：スライスレベルの中央値
の式により設定する。
【００７８】
次に、第３実施形態では、図２２、図２３により比例分の増減量ｐを算出し、この比例分の増減量ｐを用い、図２４のフローチャートにおいてリッチ側への反転時に進むステップ１４１で
α←α−（ＰＲ＋ｐ）                                      …（９）
の式により、またリーン側への反転時に進むステップ１４２で
α←α＋（ＰＬ＋ｐ）                                    …（１０）
の式によりそれぞれαを更新する。
【００７９】
実施形態では触媒１０前後の２つのＯ２センサ出力の反転周波数比Ｆｒにより触媒１０の酸素ストレージ能力を推測する場合で説明したが、下流側Ｏ２センサ出力の反転毎に下流側Ｏ２センサの最低出力と最大出力の差を下流側Ｏ２センサ出力の振幅として計測し、この計測した下流側Ｏ２センサ出力の振幅により触媒１０の酸素ストレージ能力を推測することもできる（下流側Ｏ２センサ出力の振幅が小さくなるほど酸素ストレージ能力が大きくなる）。この場合、計測値はいくつか加重平均しながらモニターすることが好ましい。加重平均するのは、空燃比パータベーション操作による以外の空燃比のエラーが空燃比パータベーション操作によるものとして下流側Ｏ２センサより出力される可能性があるので、これを避けるためである。
【００８０】
実施形態では反転周波数比で説明したが反転周期比でもかまわない。
【００８１】
実施形態では、２つの触媒１０、１５で異なる活性化判定方法を説明したが、これに限られるものでなく、公知の各種の活性化判定方法を用いることができる。
【００８２】
【発明の効果】
第１の発明では、第１の触媒の早期暖機のため排気空燃比がリッチ側とリーン側とに交互に振れるように空燃比を制御するに際して、第１の触媒の現在の酸素ストレージ能力に応じた空燃比振幅を設定するので、排気空燃比の振幅が第１の触媒の経時劣化や第１の触媒の新品への交換に伴う酸素ストレージ能力の変化に対応するものとなり、第１の触媒に経時劣化が生じたり第１の触媒を新品に交換したときでも第１の触媒の早期暖機効果を最大限に活かすことができる。
【００８３】
排気空燃比をリッチ側とリーン側とに交互に振らせると、その分だけ空燃比フィードバック制御によるリッチ、リーンの各判定に遅れが生じてフィードバック制御周期が長くなるため、排気の平均空燃比が理論空燃比よりずれてくる可能性があるが、第３の発明では排気空燃比をリッチ側とリーン側とに交互に振らせるあいだも排気の平均空燃比が理論空燃比より大きくずれることがない。
【００８４】
第８の発明では、始動後に初めて前記第１の触媒の酸素ストレージ能力の限界相当の値となったときの空燃比制御量を学習値として記憶しておき、この学習値を次回始動時に排気空燃比がリッチ側とリーン側とに交互に振れるように制御するときの空燃比制御量の初期値として用いるので、始動のたびに第１の触媒の酸素ストレージ能力の限界相当の値となるように空燃比制御量をフィードバック制御する場合と比べて、第１の触媒の現在の酸素ストレージ能力の限界を超えない最大の空燃比振幅により早く設定することができる。
【００８５】
第９の発明では、空燃比制御量の初めての学習より所定時間の経過後に空燃比制御量を設定しなおすので、暖機が進むにつれて第１の触媒の酸素ストレージ能力が大きくなる場合でも第１の触媒の早期暖機効果を最大限に活かすことができる。
【００８６】
第１０の発明では、空燃比制御量を設定しなおすときには学習を行わないので、第１の触媒の暖機過程の酸素ストレージ能力の変化を学習することによる誤学習を避けることができる。
【図面の簡単な説明】
【図１】一実施形態の制御システム図である。
【図２】上流側触媒の活性化の判定を説明するためのフローチャートである。
【図３】触媒活性度Ｋのテーブルを表す図である。
【図４】上流側触媒前後の空燃比波形の概略図である。
【図５】反転周波数比と触媒転化率の関係を示す特性図である。
【図６】下流側触媒の活性化の判定を説明するためのフローチャートである。
【図７】空燃比パータベーション許可条件の判定を説明するためのフローチャートである。
【図８】各気筒の燃料噴射弁に与える燃料噴射パルス幅の算出を説明するためのフローチャートである。
【図９】基本噴射パルス幅Ｔｐの増減量ｔの算出を説明するためのフローチャートである。
【図１０】基本噴射パルス幅Ｔｐの増減量ｔの算出を説明するためのフローチャートである。
【図１１】空燃比フィードバック補正係数αの算出を説明するためのフローチャートである。
【図１２】空燃比フィードバック補正係数αの変化波形図である。
【図１３】比例分ＰＲの算出を説明するためのフローチャートである。
【図１４】比例分ＰＬの算出を説明するためのフローチャートである。
【図１５】比例分の基本値ＰＲ０のマップを表す図である。
【図１６】比例分の基本値ＰＬ０のマップを表す図である。
【図１７】第２実施形態と第３実施形態の基本噴射パルス幅Ｔｐの増減量ｔの算出を説明するためのフローチャートである。
【図１８】第２実施形態のヒステリシス幅の増減量ｓの算出を説明するためのフローチャートである。
【図１９】第２実施形態のヒステリシス幅の増減量ｓの算出を説明するためのフローチャートである。
【図２０】第２実施形態の空燃比フィードバック補正係数αの算出を説明するためのフローチャートである。
【図２１】第２実施形態の作用説明図である。
【図２２】第３実施形態の比例分の増減量ｐの算出を説明するためのフローチャートである。
【図２３】第３実施形態の比例分の増減量ｐの算出を説明するためのフローチャートである。
【図２４】第３実施形態の空燃比フィードバック補正係数αの算出を説明するためのフローチャートである。
【図２５】第１の発明のクレーム対応図である。
【図２６】第６の発明のクレーム対応図である。
【図２７】第７の発明のクレーム対応図である。
【図２８】第１４の発明のクレーム対応図である。
【図２９】第１５の発明のクレーム対応図である。
【図３０】第１６の発明のクレーム対応図である。
【図３１】第１７の発明のクレーム対応図である。
【符号の説明】
１  エンジン本体
２  コントロールユニット
３  上流側Ｏ２センサ
４  クランク角センサ
６  エアフローメータ
７  燃料噴射弁
１０  三元触媒（第１の触媒）
１３  下流側Ｏ２センサ
１５  三元触媒（第２の触媒）
【図１】
0003564847.tif 000002
【図２】
0003564847.tif 000003
【図３】
0003564847.tif 000004
【図４】
0003564847.tif 000005
【図５】
0003564847.tif 000006
【図６】
0003564847.tif 000007
【図７】
0003564847.tif 000008
【図８】
0003564847.tif 000009
【図９】
0003564847.tif 000010
【図１０】
0003564847.tif 000011
【図１１】
0003564847.tif 000012
【図１２】
0003564847.tif 000013
【図１３】
0003564847.tif 000014
【図１４】
0003564847.tif 000015
【図１５】
0003564847.tif 000016
【図１６】
0003564847.tif 000017
【図１７】
0003564847.tif 000018
【図１８】
0003564847.tif 000019
【図１９】
0003564847.tif 000020
【図２０】
0003564847.tif 000021
【図２１】
0003564847.tif 000022
【図２２】
0003564847.tif 000023
【図２３】
0003564847.tif 000024
【図２４】
0003564847.tif 000025
【図２５】
0003564847.tif 000026
【図２６】
0003564847.tif 000027
【図２７】
0003564847.tif 000028
【図２８】
0003564847.tif 000029
【図２９】
0003564847.tif 000030
【図３０】
0003564847.tif 000031
【図３１】
0003564847.tif 000032