(57)【特許請求の範囲】
【請求項１】
触媒の上流側と下流側の各空燃比センサと、
前記上流側空燃比センサの出力に基づいて空燃比フィードバック制御の基本制御定数を演算する手段と、
空燃比フィードバック制御条件の成立時であるかどうかを判定する手段と、
空燃比フィードバック制御に使用する制御定数の修正制御条件の成立時であるかどうかを判定する手段と、
これら判定結果より空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時に前記下流側空燃比センサの出力に基づいて前記基本制御定数に対する修正値を演算する手段と、
この修正値と前記基本制御定数を用いて前記空燃比フィードバック制御条件の成立時に空燃比のフィードバック制御を行い、前記空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時になると修正制御を開始する手段と
を備えるエンジンの空燃比制御装置において、
前記修正制御の開始後初めて前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングを第一点、この第一点より前記修正値が所定時間経過した点を第二点として第一点の前記修正値および始動後時間ならびに第二点の前記修正値を前記修正制御の開始後の前記修正値の履歴として記憶する手段と、
前記空燃比フィードバック制御条件の成立時より前記修正制御条件の成立時までの期間であるかどうかを判定する手段と、
この判定結果よりこの期間であるときこの期間における前記修正値の要求値を前記記憶している第一点の前記修正値および始動後時間ならびに第二点の前記修正値に基づいて推定する手段と、
この推定値と前記基本制御定数を用いて前記期間で空燃比のフィードバック制御と修正制御を行う手段と
を設けたことを特徴とするエンジンの空燃比制御装置。
【請求項２】
前記第一点の前記修正値および始動後時間ならびに前記第二点の前記修正値は前回運転時までの加重平均値であることを特徴とする請求項１に記載のエンジンの空燃比制御装置。
【請求項３】
触媒の上流側と下流側の各空燃比センサと、
前記上流側空燃比センサの出力に基づいて空燃比フィードバック制御の基本制御定数を演算する手段と、
空燃比フィードバック制御条件の成立時であるかどうかを判定する手段と、
空燃比フィードバック制御に使用する制御定数の修正制御条件の成立時であるかどうかを判定する手段と、
これら判定結果より空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時に前記下流側空燃比センサの出力に基づいて前記基本制御定数に対する修正値を演算する手段と、
この修正値と前記基本制御定数を用いて前記空燃比フィードバック制御条件の成立時に空燃比のフィードバック制御を行い、前記空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時になると修正制御を開始する手段と
を備えるエンジンの空燃比制御装置において、
前記修正制御の開始後初めて前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングを第一点、この第一点より前記修正値が所定値増加した点を第二点として第一点の前記修正値および始動後時間ならびに第二点の始動後時間を前記修正制御の開始後の前記修正値の履歴として記憶する手段と、
前記空燃比フィードバック制御条件の成立時より前記修正制御条件の成立時までの期間であるかどうかを判定する手段と、
この判定結果よりこの期間であるときこの期間における前記修正値の要求値を前記記憶している第一点の前記修正値および始動後時間ならびに第二点の始動後時間に基づいて推定する手段と、
この推定値と前記基本制御定数を用いて前記期間で空燃比のフィードバック制御と修正制御を行う手段と
を設けたことを特徴とするエンジンの空燃比制御装置。
【請求項４】
前記第一点の前記修正値および始動後時間ならびに前記第二点の始動後時間は前回運転時までの加重平均値であることを特徴とする請求項３に記載のエンジンの空燃比制御装置。
【請求項５】
前記修正制御の開始後初めて前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングに代えて、前記修正制御の開始後初めて前記下流側空燃比センサ出力が減少から増加へと反転しまたは増加から減少へと反転するタイミングを前記第一点とすることを特徴とする請求項１または第３に記載のエンジンの空燃比制御装置。
【請求項６】
前記第一点と前記第二点を結んで前記期間にまで延長した直線から前記期間における前記修正値の要求値を推定することを特徴とする請求項１から５までのいずれか一つに記載のエンジンの空燃比制御装置。
【請求項７】
前記下流側空燃比センサが活性化するタイミングは前記修正制御条件が成立するタイミングであることを特徴とする請求項１から６までのいずれか一つに記載のエンジンの空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はエンジンの空燃比制御装置に関する。
【０００２】
【従来の技術】
排気浄化用の三元触媒の上流と下流にＯ2センサを設け、上流側Ｏ2センサ出力に基づいて空燃比のフィードバック制御を行なうとともに、その空燃比フィードバック制御に使用する制御定数（たとえば比例分）を、下流側Ｏ2センサ出力に基づいて修正する、いわゆるダブルＯ2センサシステムの装置が各種提案されている（特開平４−３４２８４９号公報参照）。
【０００３】
【発明が解決しようとする課題】
ところで、始動後できるだけ早く空燃比フィードバック制御に入ったほうが排気浄化性能がよくなるので、上流側Ｏ2センサをヒーター加熱などで活性化させ、触媒は活性化途中であっても上流側Ｏ2センサが活性化したタイミングで空燃比フィードバック制御に入るようにしている。
【０００４】
この場合に、下流側Ｏ2センサ出力を用いた空燃比フィードバック制御定数の修正制御を行うことは触媒の活性化途中にも有効である（この修正制御は、下流側Ｏ2センサ出力により常に触媒の状態をみながら行うものであるので、触媒の活性後になってからこの修正制御を行うより、触媒の活性化の途中であっても修正制御を行うことで、触媒の活性化の開始から触媒の活性化の終了までの空燃比を適正化して排気浄化性能を向上させることができる）ことから、空燃比フィードバック制御定数の修正制御についても、空燃比フィードバック制御の開始後できるだけ早く開始することが望ましい。
【０００５】
比例分ＰＲ、ＰＬ（空燃比フィードバック制御定数の一つ）を比例分修正値ＰＨＯＳにより修正する場合で例にとると、図１３は始動からの触媒内空燃比とＰＨＯＳに対する要求値の特性である。触媒の要求空燃比は、触媒のＯ2ストレージ能力と排気中のＨＣ，ＣＯとのバランスで決まる。これらのバランスがとれている状態が理論空燃比で、このときのＰＨＯＳは０となる。さらに詳述すると、始動直後は、触媒が活性化していないため触媒のＯ2ストレージ量が十分でなく、さらに始動増量や水温増量等の影響を受けて排気中のＨＣ，ＣＯが多く、触媒内がリッチ化するためＰＨＯＳ要求値としてはマイナス側の値となる。そのあと触媒が活性化するにつれ徐々にバランスが回復してしばらくは平衡状態が続き、このときＰＨＯＳ要求値が０（つまり理論空燃比）となる。さらにその後、触媒の温度が所定値以上となるなどして触媒のＯ2ストレージ量が大きくなると、今度は触媒内空燃比がリーン化し、ＰＨＯＳ要求値がプラスとなる。
【０００６】
さて、始動増量や水温増量等の影響を受けて、空燃比フィードバック制御を開始してからしばらくのあいだは、図１３上段に示したように触媒内空燃比がリッチ気味になるので（この原因は触媒のＣＯ吸着によるものと考えられている）、これに対応して比例分修正制御の開始当初より触媒内空燃比を理論空燃比へと制御してやるには、ＰＨＯＳ要求値を図１３下段のように与える必要があり、したがって比例分修正制御開始当初（図では空燃比フィードバック制御の開始と比例分修正制御の開始をほぼ等しいとしている）のＰＨＯＳ（ＰＨＯＳ初期値）をリーン側の値で設定することが考えられる。
【０００７】
この場合に、触媒の劣化度合の相違によりＰＨＯＳ初期値に対する要求値が異なり（触媒が劣化していないときのほうが、触媒が劣化したときよりＰＨＯＳ初期値に対する要求値がよりリーン側の値になる）、あるいは燃料壁流特性のバラツキや燃料性状の違いによってもＰＨＯＳ初期値に対する要求値が異なる（重質燃料のほうが軽質燃料よりもＰＨＯＳ初期値に対する要求値がよりリーン側の値になる）ので、ＰＨＯＳ初期値が一定値であるのでは、触媒の劣化度合の相違あるいは燃料壁流特性のバラツキや燃料性状の違いに対応できず、排気浄化性能が悪くなる。
【０００８】
そこで、触媒の劣化度合に応じてＰＨＯＳ初期値（ＰＨＯＳＬ）を与え、あるいはＰＨＯＳ初期値を学習値で構成することにより、触媒の劣化度合に相違があっても、あるいは燃料壁流特性のバラツキや燃料性状の違いがあっても比例分修正制御の開始当初より触媒内空燃比を理論空燃比へと制御するようにした装置（先願装置）を提案した（特願平８−１３１５５８号、特願平８−２９２７６２号参照）。
【０００９】
しかしながら、上流側Ｏ2センサの活性化完了タイミングに対して下流側Ｏ2センサの活性化完了タイミングが大きく遅れるときには、上記の先願装置においてもその遅れ期間（以下、下流側Ｏ2センサ活性化遅れ期間という）で比例分修正制御を行うことができない。これは、下流側Ｏ2センサが活性化を完了するまでは比例分修正制御を開始することができないので、下流側Ｏ2センサの活性化が遅れれば、それだけ比例分修正制御の開始も遅れてしまうからである。つまり、早く比例分修正制御を開始したくてもできないわけで、これによって下流側Ｏ2センサ活性化遅れ期間での理論空燃比への制御精度が不十分となるのである。
【００１０】
そこでこの発明は、空燃比フィードバック制御定数の修正制御の開始後の修正値の履歴を記憶しておき、この記憶を行った運転時の次の始動後の下流側空燃比センサ活性化遅れ期間で修正値の要求値を前記記憶値に基づいて推定し、その推定値を用いて修正制御を行うことにより、下流側空燃比センサ活性化遅れ期間での理論空燃比への制御精度を高めることを目的とする。
【００１１】
【課題を解決するための手段】
第１の発明では、図１４に示すように、触媒の上流側と下流側の各空燃比センサ３１、３２と、前記上流側空燃比センサ３１の出力に基づいて空燃比フィードバック制御の基本制御定数（たとえば比例分ＰＬ、ＰＲ、積分分ＩＬ、ＩＲ、上流側空燃比センサ出力の遅延時間、上流側空燃比センサ出力と比較するスライスレベルＳＬＦ等）を演算する手段３３と、空燃比フィードバック制御条件の成立時であるかどうかを判定する手段３４と、空燃比フィードバック制御に使用する制御定数の修正制御条件の成立時であるかどうかを判定する手段３５と、これら判定結果より空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時に前記下流側空燃比センサ３２の出力に基づいて前記基本制御定数に対する修正値（たとえば比例分修正値ＰＨＯＳ）を演算する手段３６と、この修正値と前記基本制御定数を用いて前記空燃比フィードバック制御条件の成立時に空燃比のフィードバック制御を行い、前記空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時になると修正制御を開始する手段３７とを備えるエンジンの空燃比制御装置において、前記修正制御の開始後初めて前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングを第一点、この第一点より前記修正値が所定時間経過した点を第二点として第一点の前記修正値および始動後時間ならびに第二点の前記修正値を前記修正制御の開始後の前記修正値の履歴として記憶する手段３８と、前記空燃比フィードバック制御条件の成立時より前記修正制御条件の成立時までの期間であるかどうかを判定する手段３９と、この判定結果よりこの期間であるときこの期間における前記修正値の要求値を前記記憶している第一点の前記修正値および始動後時間ならびに第二点の前記修正値に基づいて推定する手段４０と、この推定値と前記基本制御定数を用いて前記期間で空燃比のフィードバック制御と修正制御を行う手段４１とを設けた。
【００１３】
第２の発明では、第１の発明において前記第一点の前記修正値ＰＨＯＳ１および始動後時間Ｔ１ならびに前記第二点の前記修正値ＰＨＯＳ２が前回運転時までの加重平均値である。
【００１４】
第３の発明では、触媒の上流側と下流側の各空燃比センサと、前記上流側空燃比センサの出力に基づいて空燃比フィードバック制御の基本制御定数を演算する手段と、空燃比フィードバック制御条件の成立時であるかどうかを判定する手段と、空燃比フィードバック制御に使用する制御定数の修正制御条件の成立時であるかどうかを判定する手段と、これら判定結果より空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時に前記下流側空燃比センサの出力に基づいて前記基本制御定数に対する修正値を演算する手段と、この修正値と前記基本制御定数を用いて前記空燃比フィードバック制御条件の成立時に空燃比のフィードバック制御を行い、前記空燃比フィードバック制御条件の成立時かつ修正制御条件の成立時になると修正制御を開始する手段とを備えるエンジンの空燃比制御装置において、前記修正制御の開始後初めて前記修正値が前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングを第一点、この第一点より前記修正値ＰＨＯＳが所定値ΔＰＨＯＳ増加した点を第二点として第一点の前記修正値ＰＨＯＳ１および始動後時間Ｔ１ならびに第二点の始動後時間Ｔ２を前記修正制御の開始後の前記修正値の履歴として記憶する手段と、前記空燃比フィードバック制御条件の成立時より前記修正制御条件の成立時までの期間であるかどうかを判定する手段と、この判定結果よりこの期間であるときこの期間における前記修正値の要求値を前記記憶している第一点の前記修正値および始動後時間ならびに第二点の始動後時間に基づいて推定する手段と、この推定値と前記基本制御定数を用いて前記期間で空燃比のフィードバック制御と修正制御を行う手段とを設けた。
【００１５】
第４の発明では、第３の発明において前記第一点の前記修正値ＰＨＯＳ１および始動後時間Ｔ１ならびに前記第二点の始動後時間Ｔ２が前回運転時までの加重平均値である。
【００１７】
第５の発明では、第１または第３の発明において前記修正制御の開始後初めて前記下流側空燃比センサ出力がスライスレベルを横切って反転するタイミングに代えて、前記修正制御の開始後初めて前記下流側空燃比センサ出力が減少から増加へと反転しまたは増加から減少へと反転するタイミングを前記第一点とする。
【００１８】
第６の発明では、第１から第５までのいずれか一つの発明において前記第一点と前記第二点を結んで前記期間にまで延長した直線から前記期間における前記修正値の要求値を推定する。
【００１９】
第７の発明では、第１から第６までのいずれか一つに発明において前記下流側空燃比センサが活性化するタイミングが、前記修正制御条件が成立するタイミングである。
【００２０】
【発明の効果】
下流側空燃比センサの活性化遅れ期間で修正制御を行うことができない従来装置に対して、第１の発明では、修正制御の開始後の修正値の履歴を記憶しておき、この修正値の履歴を記憶した運転時の次の始動後の下流側空燃比センサの活性化遅れ期間でこの記憶値に基づいて修正値の要求値を推定し、その推定値を用いて修正制御を行う（つまり下流側空燃比センサの活性化遅れ期間においても修正制御が可能となる）ので、触媒内空燃比の理論空燃比への制御性が高まり、これによって排気性能が一段と向上する。
【００２１】
第２と第４の各発明では、修正値の履歴の記憶値を安定させることができ、また触媒の劣化度合が進行したり、燃料壁流特性のバラツキや燃料性状（特に揮発性）の違いがあっても対処することができる。たとえば、同一の燃料、同一の触媒の劣化状態において、修正制御の開始直後の運転状態（たとえばエンジン温度の状態や触媒温度の上昇の仕方）が同じであれば、始動毎に加重平均を繰り返すことによって修正値の履歴の記憶値が最適値に収束していく。また、修正値の履歴の記憶値が最適値に収束した状態からでも、触媒の劣化度合が進み、あるいはそれまでと燃料性状の異なる燃料が使用されたとき、その後に始動毎の加重平均を何度か繰り返せば、劣化度合の進んだ触媒や燃料性状の異なる燃料に対する最適値へと収束していく。
【００２２】
【発明の実施の形態】
図１において、１はエンジン本体で、その吸気通路８には吸気絞り弁５の下流に位置して燃料噴射弁７が設けられ、コントロールユニット（図ではＣ／Ｕで略記）２からの噴射信号により運転条件に応じて所定の空燃比となるように、吸気中に燃料を噴射供給する。
【００２３】
コントロールユニット２にはクランク角センサ４からのＲｅｆ信号（基準位置信号）とＰｏｓ信号（１°信号）、エアフローメータ６からの吸入空気量信号、水温センサ１１からのエンジン冷却水温信号等が入力され、これらに基づいて基本噴射パルス幅Ｔｐを算出するとともに、排気通路９の三元触媒１０の上流側に設置したＯ2センサ３からの空燃比（酸素濃度）信号に基づいて空燃比のフィードバック制御を行い、さらにその空燃比フィードバック制御に使用する比例分を、三元触媒１０の下流側に設置したＯ2センサ１３からの空燃比（酸素濃度）信号により修正する。
【００２４】
ここで、空燃比フィードバック制御は、排気空燃比が理論空燃比を中心として周期的に振らすようにした制御であり、このとき排気通路９に設けた三元触媒１０が最大の転換効率をもって、排気中のＮＯｘの還元とＨＣ、ＣＯの酸化を行う。
【００２５】
コントロールユニット２で実行されるこの制御の内容を、以下のフローチャートにしたがって説明する。
【００２６】
図２のフローチャートは上流側Ｏ2センサ出力ＯＳＲ１に基づいて空燃比フィードバック補正係数αを演算するためのもので、Ｒｅｆ信号に同期して実行する。Ｒｅｆ信号に同期させるのは、燃料噴射がＲｅｆ信号同期であり、系の乱れもＲｅｆ信号同期であるため、これに合わせたものである。
【００２７】
ステップ１では、上流側Ｏ2センサ出力に基づく空燃比フィードバック制御条件が成立しているかどうかをみる。たとえば、次の条件、
▲１▼冷却水温Ｔｗが空燃比フィードバック制御の開始水温ＴＷＣＬＭＰを超えていること、
▲２▼目標燃空比相当量Ｔｆｂｙａ（後述する）＝１であること、
▲３▼フラグＦＬＧＣＬ＝１であること（つまり上流側Ｏ2センサ出力が所定回数（たとえば１回）反転していること）、
を一つずつチェックし、いずれかでも満たさないときは空燃比フィードバック制御条件の非成立時と判断して、ステップ２に進み、αに１．０を入れて（αをクランプ）、図２のフローを終了する。
【００２８】
ここで、上記の▲３▼は上流側Ｏ2センサが活性化したどうかをみる部分で、詳細には始動後に上流側Ｏ2センサ出力ＯＳＲ１が所定値ＶＣＬＳＲ以上になったとき（あるいは所定値ＶＣＬＳＬ以下となったとき）、図示しないルーチンにおいてＦＬＧＣＬ＝１となる。ＦＬＧＣＬ＝１となるタイミングが上流側Ｏ2センサが活性化したタイミングである。
【００２９】
上記の▲１▼〜▲３▼のすべてを満足するときは空燃比フィードバック制御条件の成立時と判断してステップ３に進む。
【００３０】
ステップ３では上流側Ｏ2センサ出力ＯＳＲ１をＡ／Ｄ変換して取り込み、ステップ４においてＯＳＲ１とスライスレベル（たとえば５００ｍＶ付近）ＳＬＦを比較する。ＯＳＲ１＞ＳＬＦであれば上流側Ｏ2センサ出力がリッチ側にあると判断し、ステップ５でフラグＡＦＦ１に“１”を入れ、ＯＳＲ１≦ＳＬＦであるときは上流側Ｏ2センサ出力がリーン側にあると判断し、ステップ６においてフラグＡＦＦ１に“０”を入れる。これによってＡＦＦ１＝０は上流側Ｏ2センサ出力がリーン側にあることを、ＡＦＦ１＝１はリッチ側にあることを表す。
【００３１】
なお、フラグＡＦＦ１は、すぐ後に出てくるフラグＡＦＦ０、後述する他のフラグ（図３のフラグＡＦＲ０、ＡＦＲ１、図８のフラグＦＬＧＣＬ、ＦＬＧＣＬＲ、ＴＯＮＥ、ＴＴＷＯ）とともに電源投入時のイニシャライズで“０”に初期設定し、またすぐ後に述べるメモリα（old）、後述する他のメモリ（図３のメモリＰＨＯＳ（old）、図４のメモリＭＶＲＯ２（old））も電源投入時のイニシャライズで０に初期設定するものであり、以下のフローチャートおいて、フラグ、メモリについての初期設定については省略する。
【００３２】
ステップ７ではフラグＡＦＦ０の値を読み込む。このフラグＡＦＦ０は前回に空燃比がリッチあるいはリーンのいずれの側にあったかを示すフラグであり、ＡＦＦ０＝０は前回リーン側にあったことを、ＡＦＦ０＝１は前回リッチ側にあったことを表す。
【００３３】
ステップ８では２つのフラグＡＦＦ０、ＡＦＦ１を比較し、両者の値が等しくないときは、ＯＳＲ１のリッチからリーンへの反転時あるいはその反対にリーンからリッチへの反転時であると判断し、ステップ９でサブルーチンを実行する。このサブルーチンの実行（ＯＳＲ１の反転毎に実行）については図３のフローチャートにより説明する。なお、図３においてステップ４１、４２、４３は先願装置により追加した部分、またステップ４４、４５、４６、４７は本発明により追加した部分であり、後述する。
【００３４】
図３のステップ２１〜３３は図２においてステップ１、２、９を除いた残りのステップと同様である。詳細にはステップ２１で下流側Ｏ2センサ平滑化電圧ＭＶＲＯ２を読み込み、このＭＶＲＯ２をステップ２２においてスライスレベル（たとえば５００ｍＶ付近）ＳＬＲと比較する。
【００３５】
ここで、下流側Ｏ2センサ平滑化電圧ＭＶＲＯ２は、図４に示したように、エンジン１回転毎に下流側Ｏ2センサ出力ＯＳＲ２をＡ／Ｄ変換して取り込み、
ＭＶＲＯ２＝ＭＶＲＯ２（old）×（１−Ａ）＋ＯＳＲ２×Ａ  …（１）
ただし、Ａ：平滑化定数（Ａ＜１）
ＭＶＲＯ２（old）：ＭＶＲＯ２の前回値
の式により更新される値である。ただし、初回電源投入時はＯＳＲ２をそのままＭＶＲＯ２に入れている。
【００３６】
ＭＶＲＯ２＞ＳＬＲであればステップ２３でフラグＡＦＲ１に“１”を、またＭＶＲＯ２≦ＳＬＲであるときはステップ２４においてフラグＡＦＲ１に“０”を入れる。これによってＡＦＲ１＝０は下流側Ｏ2センサ出力がリーン側に、またＡＦＲ１＝１はリッチ側にあることを表す。
【００３７】
ステップ２５ではフラグＡＦＲ０の値を読み込む。ＡＦＲ０＝０は下流側Ｏ2センサ出力が前回にリーン側にあったことを、またＡＦＲ０＝１は下流側Ｏ2センサ出力が前回にリッチ側にあったことを表すので、ステップ２６で２つのフラグＡＦＲ０、ＡＦＲ１を比較し、両者の値が等しくないとき（つまりリッチからリーンへの反転時あるいはその反対にリーンからリッチへの反転時）は、ステップ２７でフラグＡＦＲ１をみる。ＡＦＲ１＝０（リッチからリーンへの反転時）のときはステップ２８でＰＨＯＳ（old）（ＰＨＯＳの前回値）に比例分ＰＨＰＬを加えた値をＰＨＯＳとすることにより、またＡＦＲ１＝１（リーンからリッチの反転時）のときはステップ２９においてＰＨＯＳ（old）より比例分ＰＨＰＲを差し引いた値をＰＨＯＳとすることにより、それぞれＰＨＯＳを更新する。
【００３８】
ステップ２６でＡＦＲ０とＡＦＲ１が等しいときはステップ３０に進み、フラグＡＦＲ１の値をみて、ＡＦＲ１＝０（前回、今回ともリーン）であるときはステップ３１でＰＨＯＳ（old）に積分分ＤＰＨＯＳＬを加えた値をＰＨＯＳとし、またＡＦＲ１＝１（前回、今回ともリッチ）であるときはステップ３２においてＰＨＯＳ（old）より積分分ＤＰＨＯＳＲだけ差し引いた値をＰＨＯＳとすることにより、それぞれＰＨＯＳを更新する。
【００３９】
なお、比例分ＰＨＰＬ、ＰＨＰＲ、積分分ＤＰＨＯＳＬ、ＤＰＨＯＳＲは一定値でもかまわないし、回転数と負荷（Ｔｐ）をパラメータとするマップ値でもかまわない。
【００４０】
ステップ３３では次回制御のためフラグＡＦＲ１の値をフラグＡＦＲ０に移したあとで、図３のフローを終了する。
【００４１】
このようにして、比例分修正値ＰＨＯＳが更新されるとき、ＰＨＯＳは図５に示したように下流側Ｏ2センサ平滑化電圧ＭＶＲＯ２のリッチからリーンへの反転時とリーンからリッチへの反転時にステップ的に変化し、リーンやリッチを継続するあいだは漸増と漸減とを繰り返す波形となる。
【００４２】
サブルーチンの実行を終了したら、図２のステップ１０に戻り、フラグＡＦＦ１の値をみる。ＡＦＦ１＝０（リッチからリーンへの反転時）であればステップ１１で
α＝α（old）＋（ＰＬ＋ＰＨＯＳ）                          …（２）
ただし、α（old）：αの前回値
の式により、またＡＦＦ１＝１（リーンからリッチへの反転時）であるときはステップ１２において
α＝α（old）−（ＰＲ−ＰＨＯＳ）                          …（３）
ただし、α（old）：αの前回値
の式によりαをそれぞれ更新する。
【００４３】
一方、ステップ８で２つのフラグＡＦＦ０、ＡＦＦ１の値が等しいときは、反転時でないと判断し、Ｓ１３に進んでフラグＡＦＦ１の値をみる。ＡＦＦ１＝０（前回、今回ともリーン）であれば、ステップ１４でα（old）に積分分ＩＬを加算することによって、またＡＦＦ１＝１（前回、今回ともリッチ）であるときはステップ１５でα（old）より積分分ＩＲを減算することによってそれぞれαを更新する。
【００４４】
ステップ１６では次回制御のためフラグＡＦＦ１の値をフラグＡＦＦ０に移して図２のフローを終了する。
【００４５】
このようにして演算される空燃比フィードバック補正係数αを用い、図示しないルーチンにより、燃料噴射弁７に与える燃料噴射パルス幅Ｔｉを
0003791105.tif 000002
ただし、Ｔｐ：基本噴射パルス幅
Ｋａｔｈｏｓ：過渡補正量
Ｔｆｂｙａ：目標燃空比相当量
αｍ：空燃比学習値
Ｔｓ：無効パルス幅
の式で計算する。この計算したＴｉの値は、これも図示しないが噴射タイミングで出力レジスタに転送し、エンジン２回転毎に１回、Ｔｉに応じた燃料量を各気筒毎に噴射する。
【００４６】
ここで、（４）式のＴｐはエンジン回転数と吸入空気量から計算される値で、このＴｐによりほぼ理論空燃比の混合気が得られる。Ｔｆｂｙａは水温増量補正係数Ｋｔｗや始動後増量補正係数Ｋａｓなどの和であり、冷間始動直後より空燃比フィードバック制御が開始されるまでのあいだでＴｆｂｙａが１．０より大きい値になって燃料増量が行われ、理論空燃比よりもリッチ側の空燃比で運転される。なお、減速リーンクランプ時などにはＴｆｂｙａが１．０より小さい値になる。また、空燃比フィードバック制御条件の成立時にはＴｆｂｙａ＝１．０となる。
【００４７】
ところで、始動後できるだけ早く空燃比フィードバック制御に入ったほうが排気浄化性能がよくなるので、上流側Ｏ2センサ３をヒーター加熱などで活性化させ、触媒１０は活性化途中であっても上流側Ｏ2センサ３が活性化したタイミングで空燃比フィードバック制御に入るようにしている。
【００４８】
この場合に、下流側Ｏ2センサ出力を用いた比例分修正制御を行うことは触媒１０の活性化途中にも有効であることから、空燃比フィードバック制御定数の修正制御についても空燃比フィードバック制御の開始後できるだけ早く開始することが望ましい。
【００４９】
一方、始動増量（始動時の増量と始動後増量の両方）や水温増量等の影響を受けて、空燃比フィードバック制御を開始してからしばらくのあいだは、図１３上段に示したように触媒内空燃比がリッチ気味になるので、これに対応して空燃比フィードバック制御の開始当初から触媒内空燃比を理論空燃比に制御してやるには、ＰＨＯＳ要求値を図１３下段のように与える必要があり、したがって比例分修正制御開始当初のＰＨＯＳ（ＰＨＯＳ初期値）をリーン化する値に設定することが考えられる。
【００５０】
この場合に、触媒の劣化度合の相違によりＰＨＯＳ初期値に対する要求値が異なり、あるいは燃料壁流特性のバラツキや燃料性状の違いによりＰＨＯＳ初期値に対する要求値が異なるので、ＰＨＯＳ初期値が一定値であるのでは、触媒の劣化度合の相違あるいは燃料壁流特性のバラツキや燃料性状の違いに対応できず、排気浄化性能が悪くなるため、触媒の劣化度合に応じてＰＨＯＳ初期値（ＰＨＯＳＬ）を与えたり、ＰＨＯＳ初期値を学習値で構成することにより、触媒の劣化度合に相違があってもあるいは燃料壁流特性のバラツキや燃料性状の違いがあっても比例分修正制御の開始当初より触媒内空燃比を理論空燃比へと制御するようにしたものを前述の先願装置により提案している。
【００５１】
この先願装置を簡単に説明しておくと、これは図３においてステップ４１、４２、４３を設けたものである。ステップ４１では初回フラグ（電源投入時のイニシャライズで“０”に初期設定される）をみる。始動後に空燃比フィードバック制御が開始され、初めて上流側Ｏ2センサ出力が反転したときに図３のサブルーチンが起動され、初めてステップ４１に進んできたときには初回フラグ＝０であることよりステップ４２に進み、バックアップＲＡＭに格納されているＰＨＯＳ初期値をＰＨＯＳに入れたあと、ステップ４３において初回フラグに“１”を入れ、図３のルーチンを終了する。この初回フラグの“１”へのセットにより次回制御時以降はエンジンが停止されるまでステップ４１よりステップ２５へと流れる。
【００５２】
ステップ４２が実行されるのは空燃比フィードバック制御の開始後に上流側Ｏ2センサ出力が反転したタイミングにおいて、かつ後述するように比例分修正制御の成立時においてだけとなる。このタイミングでは図２のステップ１１またはステップ１２を実行することになり、ＰＨＯＳ初期値により比例分ＰＬまたは比例分ＰＲが修正される。ＰＨＯＳ初期値は、触媒の劣化度合に応じた値や、下流側Ｏ2センサ平滑化電圧ＭＶＲＯ２とスライスレベルＳＬＲの差に基づいて更新される学習値である。なお、ＰＨＯＳ初期値の求め方については省略する（詳しくは特願平８−１３１５５８号、特願平８−２９２７６２号参照）。これで先願装置の説明を終える。
【００５３】
しかしながら、上流側Ｏ2センサの活性化完了タイミングに対して下流側Ｏ2センサの活性化完了タイミングが大きく遅れる場合には、先願装置においても下流側Ｏ2センサ活性化遅れ期間で比例分修正制御を行うことができないため、下流側Ｏ2センサ活性化遅れ期間での理論空燃比への制御精度が不十分となる。
【００５４】
これに対処するため本発明の第１実施形態では、比例分修正制御の開始後に初めてＰＨＯＳがＰＨＯＳ要求値と交わる点を第一点、その点より所定時間ΔＴが経過したときのＰＨＯＳの点を第二点とし、第一点のＰＨＯＳをＰＨＯＳ１、第一点の始動後時間をＴ１、第二点のＰＨＯＳをＰＨＯＳ２としてこれらＰＨＯＳ１、Ｔ１、ＰＨＯＳ２を記憶しておき、これらを記憶した次の始動後の下流側Ｏ2センサ活性化遅れ期間でこれらの記憶値に基づいてＰＨＯＳ要求値を推定し、この推定値を用いて比例分修正制御を行う。
【００５５】
ここで、上記ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２の記憶方法およびこの３つの記憶値に基づいての下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定方法とを図６、図７を用いて説明する。
【００５６】
図６に示すように、横軸を始動後時間、縦軸をＰＨＯＳにとったとき、冷間始動時においては下流側Ｏ2センサの活性化完了タイミング（比例分修正制御の開始タイミング）よりＰＨＯＳ要求値（実線参照）が徐々にプラス側に大きくなってゆくのに対して、演算値としてのＰＨＯＳ（破線参照）のほうはＰＨＯＳ初期値であるＢの値よりＰＨＯＳ要求値に近づいてゆき、ＰＨＯＳ要求値を横切りながら漸増と漸減を繰り返すことになる。。なお、図６にはＰＨＯＳ初期値であるＢの値がＰＨＯＳ要求値よりもプラス側にある（したがって比例分修正制御の開始後にＰＨＯＳがＰＨＯＳ要求値をまず上から下に横切る）場合を示している。ただし、これに限定されるものでなく、ＰＨＯＳ初期値がＰＨＯＳ要求値よりもマイナス側にある（比例分修正制御の開始後にＰＨＯＳがＰＨＯＳの要求値をまず下から上に横切る）場合があり得る。また、説明の便宜上、図６においてＰＨＯＳの波形を、図５と相違して漸増と漸減を繰り返すだけの簡単な波形で示している（図６で示したＰＨＯＳの波形とするには、図３のステップ２６、２７、２８、２９を削除すればよい）。
【００５７】
この場合に、比例分修正制御の開始後に初めてＰＨＯＳがＰＨＯＳ要求値と交わる点が第一点（図で点▲１▼）、その点から所定時間ΔＴが経過したときのＰＨＯＳの点が第二点（図で点▲２▼）である。点▲１▼の座標を（Ｔ１、ＰＨＯＳ１）、点▲２▼の座標を（Ｔ１＋ΔＴ、ＰＨＯＳ２）とし、これら２つの点を図７に示したように改めて採り直し、２つの点を結んだ直線を下流側Ｏ2センサ活性化遅れ期間（図では期間Ａで示す）にまで延長したとき、その下流側Ｏ2センサ活性化遅れ期間における直線上の座標を（Ｔ、ＰＨＯＳＳ）としてＰＨＯＳＳ（下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳの推定値を表す）を求めることを考えると、
0003791105.tif 000003
の式によりＰＨＯＳＳを計算することができる。（５）式右辺の第２項は図７に示したＣの長さであり、ＰＨＯＳ１からこのＣの長さを差し引いた値がＰＨＯＳＳになるわけである。
【００５８】
ここで、（５）式は、比例分修正制御の開始後のＰＨＯＳ要求値の特性を開始前である下流側Ｏ2センサ活性化遅れ期間にまで延長するものであり、しかも比例分修正制御の開始前後ともＰＨＯＳ要求値の特性を直線で近似したものである。したがって、今回の始動時と次回の始動時とで始動時のエンジンの温度状態、触媒の劣化状態、始動からの触媒温度の上昇過程、使用燃料の燃料性状（特に揮発性）などがそれほど変わらなければ、今回の始動時にＰＨＯＳ１およびＴ１ならびにＰＨＯＳ２の３つを計測して次回の始動時までバックアップＲＡＭに保存しておけば、この３つの値を用いて（５）式により（ΔＴは予め与える値）、次回の始動後の下流側Ｏ2センサ活性化遅れ期間内におけるＰＨＯＳ要求値を推定することができるのである。
【００５９】
詳細には、図３においてステップ４４、４５、４６、４７を追加するとともに、図８のフローチャートを新たに設けている。
【００６０】
まず、図３のほうから説明すると、ステップ４４では次の条件、
▲４▼フラグＦＬＧＣＬＲ＝１であること（つまり下流側Ｏ2センサ出力が所定回数（たとえば１回）反転していること）、
をチェックし、この条件を満たしたときは比例分修正制御条件の成立時と判断して、前述したステップ２１以降に進み、▲４▼の条件を満たさないときは比例分修正制御条件の非成立時と判断して、ステップ４５以降に進む。上記▲１▼〜▲３▼の条件に加えて▲４▼の条件を加えたものが比例分修正制御条件となるわけである。先願装置では、下流側Ｏ2センサ活性化遅れ期間を問題としていなかったので、ステップ４４は考えなくともよかったのであるが、本発明では下流側Ｏ2センサ活性化遅れ期間を問題とするので、下流側Ｏ2センサが活性化したかどうかを判定する必要があるのである。したがって、ステップ４５以降へと進むのは、空燃比フィードバック制御の成立時から比例分修正制御条件の成立直前までの期間（下流側Ｏ2センサ活性化遅れ期間）にあるときだけである。
【００６１】
ここで、フラグＦＬＧＣＬＲの設定については、フラグＦＬＧＣＬ（図２のスライスレベル１のところで前述した）の設定と同じでよく、始動後に下流側Ｏ2センサ出力ＯＳＲ２が所定値ＶＣＬＳＲ以上になったとき（あるいは所定値ＶＣＬＳＬ以下となったとき）、図示しないルーチンにおいてＦＬＧＣＬＲ＝１とする。ＦＬＧＣＬＲ＝１となるタイミングが下流側Ｏ2センサが活性化したタイミングである。
【００６２】
ステップ４５では今回運転時の始動後時間ＴとバックアップＲＡＭに格納されているＰＨＯＳ１、Ｔ１およびＰＨＯＳ２の３つの値を読み込む。
【００６３】
ここで、今回運転時の始動後時間ｔを計測するにはＣＰＵ内部のタイマを用いればよい。残りのＰＨＯＳ１、Ｔ１およびＰＨＯＳ２の記憶については図８のフローチャートにより説明する。
【００６４】
図８のフローチャートは図２、図３とは独立にかつ図２、図３に続けて一定時間毎（たとえば１０ｍｓ毎）に実行する。
【００６５】
ステップ６１、６２、６３、６４では、次の条件、
▲１▼Ｔｗ＞ＴＷＣＬＭＰであること、
▲２▼Ｔfbya＝１であること、
▲３▼フラグＦＬＧＣＬ＝１であること、
▲４▼フラグＦＬＧＣＬＲ＝１であること、
を一つずつチェックする。これらの条件は図２のステップ１、図３のステップ４４において述べたところとそっくり同じであり、▲１▼〜▲４▼のすべてを満足するとき（比例分修正制御条件の成立時）だけステップ６５以降に進む。
【００６６】
ステップ６５では今回運転時の始動後時間ＴとＰＨＯＳ（図３のステップ２８、２９、３１、３２ですでに得ている）を読み込み、ステップ６６ではフラグＴＯＮＥをみる。今回運転時の比例分修正制御の開始当初はＴＯＮＥ＝０であるので、ステップ６７に進み、２つのフラグＡＦＲ０、ＡＦＲ１（図３のステップ２３、２４、３３ですでに得ている）を比較する。比較の結果、両者の値が等しくないときは今回運転時の比例分修正制御の開始後初めての下流側Ｏ2センサ出力のリッチからリーンへの反転時（あるいはその反対に比例分修正制御の開始後初めての下流側Ｏ2センサ出力のリーンからリッチへの反転時）であり、この反転時を図６に示した点▲１▼（比例分修正制御の開始後初めてＰＨＯＳがＰＨＯＳ要求値と交わる点）であるとみなしてステップ６８〜７１に進む。
【００６７】
ステップ６８、６９では、そのときの始動後時間Ｔと比例分修正値ＰＨＯＳを用いて
Ｔ１（new）＝Ｔ×ｋ＋Ｔ１（old）×（１−ｋ）              …（６）
ＰＨＯＳ１（new）＝ＰＨＯＳ×ｋ＋ＰＨＯＳ１（old）×（１−ｋ）…（７）
ただし、ｋ：平滑化定数（ｋ＜１）
Ｔ１（new）：更新後のＴ１
Ｔ１（old）：更新前のＴ１
ＰＨＯＳ１（new）：更新後のＰＨＯＳ１
ＰＨＯＳ１（old）：更新前のＰＨＯＳ１
の式によりＴ１（点▲１▼の始動後時間）とＰＨＯＳ１（点▲１▼のＰＨＯＳ）を更新し、更新後のＴ１とＰＨＯＳ１の値をステップ７０においてバッテリバックアップＲＡＭに格納する。つまり、Ｔ１、ＰＨＯＳ１は、後述するＰＨＯＳ２とともに学習値であり、出荷時にいずれも初期値の０（もしくは仕向地に合わせてマッチングした値）になっている。
【００６８】
これで図６に示す点▲１▼での値（Ｔ１とＰＨＯＳ１）の更新を経験したので、その経験したことを表すためステップ７１においてフラグＴＯＮＥを“１”にセットして図８のフローを終了する。
【００６９】
このＴＯＮＥ＝１より次回からはステップ６６よりステップ７２に流れ、ここでフラグＴＴＷＯをみる。このフラグＴＴＷＯも今回運転時の比例分修正制御の開始当初はＴＴＷＯ＝０であるので、ステップ７３に進み、始動後時間Ｔと更新後のＴ１（ステップ６８、７０ですでに得ている）に所定時間ΔＴを加算した値とを比較する。Ｔ≦Ｔ１（new）＋ΔＴであるあいだはそのまま図８のフローを終了し、Ｔ＞Ｔ１（new）＋ΔＴとなったタイミングで図６に示す点▲２▼になったとみなしてステップ７４、７５、７６に進む。
【００７０】
ステップ７４、７５ではステップ６９、７０と同様にして
ＰＨＯＳ２（new）＝ＰＨＯＳ×ｋ＋ＰＨＯＳ２（old）×（１−ｋ）…（８）
ただし、ｋ：平滑化定数（ｋ＜１）
ＰＨＯＳ２（new）：更新後のＰＨＯＳ２
ＰＨＯＳ２（old）：更新前のＰＨＯＳ２
の式によりＰＨＯＳ２（点▲２▼のＰＨＯＳ）を更新し、更新後のＰＨＯＳ２をバッテリバックアップＲＡＭに格納する。ステップ７６では点▲２▼での値の更新を経験したことを表すためフラグＴＴＷＯを“１”にセットして図８のフローを終了する。このＴＴＷＯ＝１より次回からはステップ７２よりステップ７３以降に進むことができない。
【００７１】
このようにしてＰＨＯＳ１、Ｔ１、ＰＨＯＳ２の値は、図８によれば今回運転時の比例分修正制御の開始後に一度更新された後はエンジンが停止されるまで更新されることがなく、かつ次回の始動時まで保存される。
【００７２】
ここで、ＰＨＯＳの履歴として保存する値（ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２）を、（６）、（７）、（８）式のように前回運転時までの加重平均で求めるようにしたのは、ＰＨＯＳの履歴として保存する値を安定させるため、あるいは触媒の劣化度合の進行や燃料性状（特に揮発性）の異なる燃料が使用される場合にも対処するためである。したがって、同一の燃料、同一の触媒の劣化状態において、比例分修正制御の開始直後の運転状態（たとえばエンジン温度の状態や触媒温度の上昇の仕方）が同じであれば、１運転当たり１回の更新を繰り返すことによってＰＨＯＳ１、Ｔ１、ＰＨＯＳ２の値が最適値に収束していく。また、ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２が最適値に収束した状態より触媒の劣化度合が進み、あるいはそれまでと燃料性状の異なる燃料が使用されたときには、その後に何度か更新が繰り返されれば、劣化度合の進んだ触媒や燃料性状の異なる燃料に対する最適値へと収束していく。
【００７３】
図３に戻り、ステップ４５において読み込まれるＰＨＯＳ１、Ｔ１、ＰＨＯＳ２の３つの記憶値は、前回運転時の比例分修正制御の開始直後に上記の（６）、（７）、（８）式により更新された値である。ステップ４６ではこれら３つの記憶値とそのときの始動後時間Ｔを用いて上記の（５）式により下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定値であるＰＨＯＳＳを算出し、これをステップ４７においてＰＨＯＳに移す。つまり、下流側Ｏ2センサ活性化遅れ期間では図２のステップ１１またはステップ１２でのＰＨＯＳがＰＨＯＳＳとなり、このＰＨＯＳＳにより比例分ＰＬまたはＰＲが修正される（ＰＨＯＳＳを用いての比例分修正制御が行われる）のである。
【００７４】
ここで、本実施形態の作用を説明する。
【００７５】
本実施形態では、比例分修正制御の開始後に下流側Ｏ2センサ平滑化電圧ＭＶＲＯ２（下流側Ｏ2センサ出力）が初めてスライスレベルＳＬＲを横切って反転した点のＰＨＯＳであるＰＨＯＳ１および同じ点の始動後時間であるＴ１ならびにこの点から所定時間が経過した点のＰＨＯＳであるＰＨＯＳ２が記憶され、これら２つの点を結んで下流側Ｏ2センサ活性化遅れ期間にまで延長したときの下流側Ｏ2センサ活性化遅れ期間における直線上の値が、下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定値ＰＨＯＳＳ（図６の一点鎖線参照）として計算される。
【００７６】
この場合に、同一の燃料、同一の触媒を用いて今回運転時も前回運転時とほぼ同じ運転条件（エンジンの温度状態や触媒温度の上昇の仕方が同じ）で始動を行うのであれば、ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２を用いて計算されるＰＨＯＳＳが今回運転時の下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値を精度良く与えるため、今回運転時の下流側Ｏ2センサ活性化遅れ期間における触媒内空燃比を理論空燃比へと近づけることができる。
【００７７】
一方、その後に触媒の劣化度合が進んだ場合には始動時における触媒内空燃比のリッチ化の程度が弱くなり（ＰＨＯＳ初期値に対する要求値がよりリーン側の値となり）、また、重質燃料のほうが軽質燃料よりもＰＨＯＳ初期値に対する要求値がよりリーン側の値となる。したがって、触媒の劣化が前回運転時より大きく進んでいたときや前回運転時まで使用していた軽質燃料に代えて今回運転時に重質燃料を使用したときにまで、前回運転時に記憶しておいたＰＨＯＳ１、Ｔ１、ＰＨＯＳ２を用いたのでは、そのときのＰＨＯＳＳが、今回運転時の下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値から外れてしまう（したがって、今回運転時の下流側Ｏ2センサ活性化遅れ期間における触媒内空燃比の理論空燃比への制御性が不十分となる）。
【００７８】
しかしながら、本実施形態では、ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２を前回運転時までの加重平均値（つまり学習値）で構成しているので、今回運転時を含めてその後に何度か運転を繰り返せば、ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２が劣化度合の進んだ触媒や重質燃料に対する最適値へと収束するので、その後は下流側Ｏ2センサ活性化遅れ期間での触媒内空燃比が理論空燃比へとふたたび制御されることになる。
【００７９】
このように本実施形態では、比例分修正制御の開始後のＰＨＯＳの履歴を記憶しておき、その記憶した運転時の次の下流側Ｏ2センサ活性化遅れ期間でその記憶値に基づいてＰＨＯＳ要求値を推定し、その推定値を用いて比例分修正制御を行うので、下流側Ｏ2センサ活性化遅れ期間での比例分修正制御が可能となり、これによって、下流側Ｏ2センサ活性化遅れ期間においても触媒内空燃比を理論空燃比へと精度良く制御することができ、排気性能が一段と向上する。
【００８０】
図９、図１０のフローチャートは第２実施形態で、それぞれ第１実施形態の図３、図８に対応する。図９において図３と同一の部分には同一のステップ番号を、また図１０において図８と同一の部分には同一のステップ番号をそれぞれつけている。
【００８１】
第２実施形態は、第１実施形態と第二点の求め方が異なり、点▲１▼よりＰＨＯＳが所定値ΔＰＨＯＳだけ変化した点を第二点（図１１に示す点▲２▼）とする。したがって、図１１において点▲２▼の座標を（Ｔ２、ＰＨＯＳ１＋ΔＰＨＯＳ）とすれば、第２実施形態では上記の（５）式に代えて
0003791105.tif 000004
の式により下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値を推定する。つまり、第２実施形態では（９）式のＰＨＯＳＳ２が下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定値を表す。したがって、第２実施形態では比例分修正制御の開始後のＰＨＯＳの履歴として記憶する値がＰＨＯＳ１、Ｔ１、Ｔ２となる。
【００８２】
フローチャートに移り、第１実施形態と異なる部分を主に説明すると、図１０のステップ９１ではＰＨＯＳとＰＨＯＳ１（図１０のステップ６９ですでに得ている）の差の絶対値と所定値ΔＰＨＯＳを比較し、｜ＰＨＯＳ−ＰＨＯＳ１｜≦ΔＰＨＯＳであるあいだはそのまま図１０のフローを終了し、｜ＰＨＯＳ−ＰＨＯＳ１｜＞ΔＰＨＯＳとなったタイミングで図１１に示す点▲２▼になったとみなしてステップ９２、９３に進み、図１０のステップ６８、７０と同様にして、
Ｔ２（new）＝Ｔ×ｋ＋Ｔ２（old）×（１−ｋ）            …（１０）
ただし、ｋ：平滑化定数（ｋ＜１）
Ｔ２（new）：更新後のＴ２
Ｔ２（old）：更新前のＴ２
の式によりＴ２（点▲２▼の始動後時間）を更新し、更新後のＴ２をバックアップＲＡＭに格納する。
【００８３】
一方、図９のステップ８１、８２、８３では、始動後時間ＴとバックアップＲＡＭに格納されているＰＨＯＳ１、Ｔ１、Ｔ２を読み込み、これらを用いて上記の（９）式により下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定値ＰＨＯＳＳ２を計算し、これをＰＨＯＳに移す。
【００８４】
次に、第３実施形態は、第１実施形態のうち図８のフローチャートを図１２のフローチャートに置き換えたものである。なお、図１２においても図８と同一の部分には同一のステップ番号をつけている。
【００８５】
第３実施形態は、第１実施形態に対して第一点の求め方を異ならせたものである。第１実施形態と異なる部分を主に説明すると、ステップ１０１では２つのフラグＡＦＲ０、ＡＦＲ１を比較する。比較の結果、両者の値が等しいときだけ（つまりＰＨＯＳのリッチ継続時かリーン継続時）ステップ１０２に進み、フラグＡＦＲ１をみて、ＡＦＲ１＝１のとき（ＰＨＯＳのリッチ継続時）はステップ１０３でＰＨＯＳとＰＨＯＳ（old）（ＰＨＯＳ（old）はＰＨＯＳの前回値）の差と０を比較する。ＰＨＯＳ−ＰＨＯＳ（old）＜０のときはＰＨＯＳの減少傾向が続いていると判断して図１２のフローを終了し、ＰＨＯＳ−ＰＨＯＳ（old）≧０となったタイミング（ＰＨＯＳが減少から増加へと転じたタイミング）で図６に示す点▲１▼になったとみなしてステップ６８以降に進む。
【００８６】
同様にして、ＰＨＯＳのリーン継続時にはステップ１０２よりステップ１０４に進み、ここでＰＨＯＳとＰＨＯＳ（old）の差と０を比較する。ＰＨＯＳ−ＰＨＯＳ（old）＞０のときはＰＨＯＳの増加傾向が続いていると判断して図１２のフローを終了し、ＰＨＯＳ−ＰＨＯＳ（old）≦０となったタイミング（ＰＨＯＳが増加から減少へと転じたタイミング）で図６に示す点▲１▼になったとみなしてステップ６８以降に進む。
【００８７】
第２と第３の各実施形態でも第１実施形態と同様の作用効果を奏する。
【００８８】
第３実施形態は、第１実施形態に対して図６に示す点▲１▼の求め方を異ならせたものであったが、第２実施形態に対して図１１に示す点▲１▼の求め方を異ならせるようにしてもかまわない。
【００８９】
実施形態では、ＰＨＯＳ１、Ｔ１、ＰＨＯＳ２、Ｔ２を加重平均式により求めているが、これに限られるわけでなく、前回運転時の第一点でのＰＨＯＳ、第一点での始動後時間、第二点でのＰＨＯＳ、第二点での始動後時間をそのままＰＨＯＳ１、Ｔ１、ＰＨＯＳ２、Ｔ２としてバックアップＲＡＭに記憶しておくものでも、また、加重平均式に代えて単純平均式によりＰＨＯＳ１、Ｔ１、ＰＨＯＳ２、Ｔ２を求めてバックアップＲＡＭに記憶しておくものでもかまわない。
【００９０】
実施形態では、第一点と第二点の２つの点より下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値を推定しているが、２点以上から下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値を推定してもかまわない。また、実施形態では、下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値を直線で近似しているが、これに限られるものでなく滑らかに変化する曲線で近似することもできる。
【００９１】
３つの実施形態では、空燃比フィードバック制御定数が比例分である場合で説明したが、これに限られることはなく、積分分ＩＬ、ＩＲ、上流側Ｏ2センサ出力の遅延時間、上流側Ｏ2センサ出力と比較するスライスレベルＳＬＦ等であっても同様に構成することができる。
【００９２】
実施形態では比例分修正値ＰＨＯＳをマップ値である比例分ＰＬ、ＰＲとは別に構成した場合（つまり変数が２つの場合）で説明したが、これらを１つの変数で扱うようにしたものに対しても本発明を適用することができる。また、上流側Ｏ2センサ出力に基づいて第１の空燃比フィードバック補正係数を、下流側Ｏ2センサ出力に基づいて第２の空燃比フィードバック補正係数をそれぞれ独立に求め、これら２つの補正係数で空燃比フィードバック制御を行うものに対しても本発明を適用することができる。
【図面の簡単な説明】
【図１】第１実施形態の制御システム図である。
【図２】空燃比フィードバック補正係数αの演算を説明するためのフローチャートである。
【図３】サブルーチン説明するためのフローチャートである。
【図４】下流側Ｏ2 センサ平滑化電圧ＭＶＲＯ２の演算を説明するためのフローチャートである。
【図５】比例分修正値ＰＨＯＳの波形図である。
【図６】下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定を説明するための波形図である。
【図７】下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定を説明するための波形図である。
【図８】Ｔ１、ＰＨＯＳ１、ＰＨＯＳ２の記憶を説明するためのフローチャートである。
【図９】第２実施形態のサブルーチン説明するためのフローチャートである。
【図１０】第２実施形態のＴ１、ＰＨＯＳ１、Ｔ２の記憶を説明するためのフローチャートである。
【図１１】第２実施形態の下流側Ｏ2センサ活性化遅れ期間におけるＰＨＯＳ要求値の推定を説明するための波形図である。
【図１２】第３実施形態のＴ１、ＰＨＯＳ１、ＰＨＯＳ２の記憶を説明するためのフローチャートである。
【図１３】先願装置の作用を説明するための波形図である。
【図１４】第１の発明のクレーム対応図である。
【符号の説明】
２  コントロールユニット
３  上流側Ｏ2センサ
４  クランク角センサ
６  エアフローメータ
９  排気通路
１０  三元触媒
１３  下流側Ｏ2センサ
【図１】
0003791105.tif 000005
【図２】
0003791105.tif 000006
【図３】
0003791105.tif 000007
【図４】
0003791105.tif 000008
【図５】
0003791105.tif 000009
【図６】
0003791105.tif 000010
【図７】
0003791105.tif 000011
【図８】
0003791105.tif 000012
【図９】
0003791105.tif 000013
【図１０】
0003791105.tif 000014
【図１１】
0003791105.tif 000015
【図１２】
0003791105.tif 000016
【図１３】
0003791105.tif 000017
【図１４】
0003791105.tif 000018