(57)【特許請求の範囲】
【請求項１】
触媒の上流側と下流側の各空燃比センサと、
空燃比フィードバック制御の基本制御定数を演算する手段と、
前記空燃比フィードバック制御を行う制御域の中にあって空燃比フィードバック制御を行う制御域よりも狭い所定の修正制御域に運転条件があることを条件の一つに含む前記制御定数の修正制御条件の成立時かどうかを判定する手段と、
この判定結果より修正制御条件の成立時に前記下流側空燃比センサの出力に基づいて修正値を演算する手段と、
前記修正制御条件の成立時に前記基本制御定数を増大補正する手段と、
この増大補正された基本制御定数を前記修正値で修正して第一制御定数を演算する手段と、
前記修正制御条件の成立時に前記修正値に基づいて学習値を演算する手段と、
前記修正制御条件の非成立時にこの学習値で前記基本制御定数を修正して第二制御定数を演算する手段と、
前記修正制御条件の成立時には前記第一制御定数を、また前記修正制御条件の非成立時には前記第二制御定数を用いて前記上流側空燃比センサの出力に基づく空燃比のフィードバック制御を行う手段と
を設けたことを特徴とするエンジンの空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明はエンジンの空燃比制御装置に関する。
【０００２】
【従来の技術】
排気浄化用触媒の上流と下流に空燃比センサを設け、上流側空燃比センサで空燃比のフィードバック制御を行なうとともに、その空燃比フィードバック制御に使用する制御定数を、下流側空燃比センサ出力に基づいて修正する、いわゆるダブルＯ２センサシステムの装置がある（特開昭６２−６０９４１号、特開昭６３−９７８５１号、特開平３−２１７６３６号公報参照）。
【０００３】
この装置では、上流側Ｏ２センサ出力とスライスレベルとの比較により、次のようにして空燃比フィードバック補正量αが作られる。
【０００４】
（１）リッチからリーンへの反転直後には、空燃比をステップ的にリッチ側に戻すため、前回算出された空燃比フィードバック補正量αより比例分ＰＬだけ大きくされ、またリーンからリッチへの反転直後には空燃比をステップ的にリーン側に戻すため、αが前回値より比例分ＰＲだけ小さくされる。
【０００５】
（２）今回も前回と同じリーンであるときは空燃比を徐々にリッチ側に戻すため、αが前回値より積分分ＩＬ（ＩＬ＜ＰＬ）だけ大きくされ、また前回もリッチ、今回もリッチであるときは、空燃比を徐々にリーン側に戻すため、αが前回値から積分分ＩＲだけ小さくされる。
【０００６】
このようにして作られるαは図２０に示すように、周期的な波形となる。
【０００７】
一方、空燃比フィードバック制御中に下流側Ｏ２センサ出力に基づいて空燃比フィードバック制御の制御定数（たとえば比例分ＰＬ）の修正制御を行うため、下流側Ｏ２センサ出力とスライスレベルとの比較により修正値ＬＰが次のように作られる。
【０００８】
リーンであるときは空燃比を全体としてリッチ側にシフトするため、修正値ＬＰが一定値ΔＬＰずつ大きくされ、またリッチであるときは空燃比をリーン側にシフトするため、修正値ＬＰが一定値ΔＬＰずつ大きくされる（図２０参照）。
【０００９】
このようにして作られる修正値ＬＰは、リッチからリーンへの反転直後に比例分ＰＬに加算され、リーンからリッチへの反転直後には比例分ＰＲから減算される。
【００１０】
【発明が解決しようとする課題】
ところで、触媒の働きは排気温度や排気流量によっても多少変化し、たとえば排気温度が低いときは空燃比の制御中心が理論空燃比よりもややリッチ側にシフトしているほうが良好な排気浄化性能が得られることがあり、このような要求がある場合には、空燃比フィードバック制御の制御定数の基本値を運転条件（たとえばＴｐとＮｅ）によって区分けされた領域毎にマッチングしておけばよい。
【００１１】
しかしながら、下流側Ｏ2センサが活性化している限り基本的にすべての運転領域で制御定数の修正制御を行う従来のダブルＯ2センサシステムでは、すべての運転領域で空燃比フィードバック制御の制御中心が理論空燃比となるため、領域により空燃比をシフトさせたい要求が無視されてしまう。
【００１２】
そこで本発明は、空燃比フィードバック制御域のうち空燃比をシフトさせたい要求がある領域では比例分修正制御を中止する。具体的には所定の修正制御条件の成立時に修正値を算出するとともに、その修正値に基づいて学習値を算出しておき、修正制御条件を外れた非成立時に学習値を修正値として用いることにより、要求に合わせて意図的に空燃比フィードバック制御の制御中心を理論空燃比からシフトさせるように制御定数を運転領域毎に設定している場合にも、その設定を無意味なものにすることなく触媒の性能を最大限に引き出すことをも目的とする。
【００１３】
ところで、走行中の運転条件の変動などによって空燃比フィードバック制御を行っていても制御結果としての空燃比にばらつきを生じるため、修正値がばらつきをもって演算され、また、修正値によって制御定数をリッチシフトあるいはリーンシフトさせる場合に、空燃比変化の排気系内の応答によって修正値に対する実際の空燃比シフトの感度が異なってくる。
そこで本発明は、所定の修正制御条件の成立時に修正値を算出するとともに、その修正値に基づいて学習値を算出しておき、修正制御条件を外れた非成立時に学習値を修正値として用いる前述の場合に、修正値の算出中（修正制御条件の成立時）とそれ以外の場合（修正制御条件の非成立時）とで制御定数の基本値の大きさを変えることにより、修正値の算出精度を向上して、排気エミッションをより良好に維持することをも目的とする。
【００１５】
【課題を解決するための手段】
第１の発明では、図２１に示すように、触媒の上流側と下流側の各空燃比センサ３１、３２と、空燃比フィードバック制御の基本制御定数（たとえば比例分ＰＬ、ＰＲ、積分分ＩＬ、ＩＲ、上流側空燃比センサと比較するスライスレベルＳＬＦ等）を演算する手段３３と、前記空燃比フィードバック制御を行う制御域の中にあって空燃比フィードバック制御を行う制御域よりも狭い所定の修正制御域に運転条件があることを条件の一つに含む前記制御定数の修正制御条件の成立時かどうかを判定する手段４１と、この判定結果より修正制御条件の成立時に前記下流側空燃比センサ３２の出力に基づいて修正値を演算する手段４２と、前記修正制御条件の成立時に前記基本制御定数を増大補正する手段４３と、
この増大補正された基本制御定数を前記修正値で修正して第一制御定数を演算する手段４４と、前記修正制御条件の成立時に前記修正値に基づいて学習値を演算する手段４６と、前記修正制御条件の非成立時にこの学習値で前記基本制御定数を修正して第二制御定数を演算する手段４７と、前記修正制御条件の成立時には前記第一制御定数を、また前記修正制御条件の非成立時には前記第二制御定数を用いて前記上流側空燃比センサ３１の出力に基づく空燃比のフィードバック制御を行う手段４５とを設けた。
【００１７】
【作用】
触媒の働きは排気温度や排気流量によっても多少変化し、たとえば排気温度が低いときは空燃比の制御中心が理論空燃比よりもややリッチ側にシフトしているほうが良好な排気浄化性能が得られることがあり、このような要求がある場合には、空燃比フィードバック制御の基本制御定数を運転条件に応じて演算するようにしておけばよいのであるが、下流側空燃比センサが活性化している限り基本的にすべての運転領域で制御定数の修正制御を行うのでは、すべての運転領域で空燃比フィードバック制御の制御中心が理論空燃比となるため、領域により空燃比をシフトさせたい要求が無視されてしまう。
【００１８】
このとき第１の発明では、修正制御条件の非成立時になると、基本制御定数を修正値により修正することがなく、代わって基本制御定数を学習値で修正した値を用いて空燃比のフィードバック制御を行う（つまり制御定数の修正制御を中止する）ので、要求に合わせて意図的に空燃比フィードバック制御の制御中心を理論空燃比からシフトさせるように制御定数を運転領域毎に設定している場合にも、その設定を無意味なものにすることがなく、触媒の性能を最大限に引き出すことができる。
【００１９】
一方、走行中の運転条件の変動などによって空燃比フィードバック制御を行っていても制御結果としての空燃比にばらつきを生じるため、修正値がばらつきをもって演算され、また、修正値によって制御定数をリッチシフトあるいはリーンシフトさせる場合に、空燃比変化の排気系内の応答によって修正値に対する実際の空燃比シフトの感度が異なってくるのであるが、このとき第１の発明では、修正値の演算中における基本制御定数を増大補正することによって、修正値に対する空燃比シフトの感度（対象とする排気系の空燃比の応答）を高めることが可能となることから、走行中の運転条件の変動などによって修正値にばらつきが生じる場合においても、修正値のばらつきが同一であるなら、排気エミッションのばらつきをより小さく抑えることができる。この逆に、同一の排気エミッションのばらつきを保つための修正値の許容ばらつき幅を大きくすることもできる。
【００２０】
【発明の実施の形態】
図１において、１はエンジン本体で、その吸気通路８には吸気絞り弁５の下流に位置して燃料噴射弁７が設けられ、コントロールユニット（図ではＣ／Ｕで略記）２からの噴射信号により運転条件に応じて所定の空燃比となるように、吸気中に燃料を噴射供給する。
【００２１】
コントロールユニット２にはクランク角センサ４からのＲｅｆ信号（基準位置信号）とＰｏｓ信号（１°信号）、エアフローメータ６からの吸入空気量信号、水温センサ１１からのエンジン冷却水温信号等が入力され、これらに基づいて基本噴射パルス幅Ｔｐを算出するとともに、排気通路９の三元触媒１０の上流側に設置した酸素センサ３からの空燃比（酸素濃度）信号に基づいて空燃比のフィードバック制御を行い、さらにその空燃比フィードバック制御に使用する比例分を、三元触媒１０の下流側に設置した酸素センサ１３からの空燃比（酸素濃度）信号により修正する。
【００２２】
ここで、空燃比フィードバック制御は、排気空燃比が理論空燃比を中心として周期的に振らすようにした制御であり、このとき排気通路９に設けた三元触媒１０が最大の転換効率をもって、排気中のＮＯｘの還元とＨＣ、ＣＯの酸化を行う。
【００２３】
図２のフローチャートは上流側Ｏ２センサ出力ＯＳＲ１に基づいて空燃比フィードバック補正係数αを計算するためのルーチンで、回転同期（Ｒｅｆ信号同期）、あるいは所定時間ごと（たとえば４ｍｓごと）で実行する。
【００２４】
Ｓ１０では、空燃比のフィードバック制御条件が成立しているかどうかをみる。▲１▼冷却水温Ｔｗが所定値以下のとき、▲２▼上流側Ｏ２センサが不活性のとき、▲３▼高負荷時等はいずれも空燃比フィードバック制御条件の成立しない場合であり、このときはＳ２５に進んで、αに１を入れて（αをクランプ）、図２のフローを終了する。
【００２５】
上記の▲１▼〜▲３▼等のいずれでもないとき（空燃比フィードバック制御条件の成立時）はＳ１１に進んで上流側Ｏ２センサ出力ＯＳＲ１をＡ／Ｄ変換して取り込み、Ｓ１２においてＯＳＲ１とスライスレベルＳＬＦを比較する。ＯＳＲ１＞ＳＬＦであればリッチ側にあると判断し、Ｓ１３でフラグＡＦＦ１に“１”を入れ、ＯＳＲ１≦ＳＬＦであるときはリーン側にあると判断し、Ｓ１４においてフラグＡＦＦ１に“０”を入れる。ＡＦＦ１＝０はリーン側にあることを、ＡＦＦ１＝１はリッチ側にあることを表す。
【００２６】
Ｓ１５ではフラグＡＦＦ０の値を読み込む。フラグＡＦＦ０は前回に空燃比がリッチあるいはリーンのいずれの側にあったかを示すフラグであり、ＡＦＦ０＝０は前回リーン側にあったことを、ＡＦＦ０＝１は前回リッチ側にあったことを表す。
【００２７】
Ｓ１６では２つのフラグＡＦＦ０、ＡＦＦ１を比較し、両者の値が等しくないときは、ＯＳＲ１がリッチからリーンへの反転直後あるいはその反対にリーンからリッチへの反転直後にあると判断し、Ｓ１７で比例分ＰＬ、ＰＲを演算する。この比例分ＰＬ、ＰＲの演算は図３のフローチャートで説明する。
【００２８】
図３のＳ３０では比例分の基本値ＰＬ０、ＰＲ０を読み込む。ＰＬ０、ＰＲ０は、上流側Ｏ２センサ３や触媒１０に劣化のない状態でマッチングしたときの基本値で、図４、図５に示したように回転数Ｎｅとエンジン負荷相当の基本噴射パルス幅Ｔｐとをパラメータとするマップで割り付けており、このマップを検索して求める。
【００２９】
Ｓ３１では比例分修正制御条件（図６のＳ４０でまとめて説明する）かどうかみて、比例分修正制御条件の成立時は、Ｓ３２、Ｓ３３で修正値ＬＰを読み込み、基本値ＰＬ０に修正値ＬＰを加算した値を比例分ＰＬ、また基本値ＰＲ０から修正値ＬＰを差し引いた値を比例分ＰＲとおくことによって比例分ＰＬ、ＰＲを演算し、そのあと図２のＳ１８に戻る。なお、Ｓ６１、Ｓ６２のＰＬ１、ＰＲ１については後述する。
【００３０】
これに対して比例分修正制御条件の非成立時には、Ｓ３１からＳ３４、Ｓ３５に進んで、学習値ＬＰＡを読み込み、これをＬＰとおく。
【００３１】
図２に戻りＳ１８ではフラグＡＦＦ１の値をみる。ＡＦＦ１＝０であればリッチからリーンへの反転直後にあると判断し、Ｓ１９で空燃比フィードバック補正係数α（初期値は０）を比例分ＰＬだけ大きくし、またＡＦＦ１＝１であるときはリーンからリッチへの反転直後にあると判断し、Ｓ２０においてαを比例分ＰＲだけ小さくする。
【００３２】
一方、２つのフラグＡＦＦ０、ＡＦＦ１の値が等しいときは、反転直後でないと判断し、Ｓ２１に進んで、フラグＡＦＦ１の値をみる。ＡＦＦ１＝０であれば前回、今回ともリーンであると判断し、Ｓ２２でαを積分分ＩＬだけ大きくし、またＡＦＦ１＝１であるときは前回、今回ともリッチであると判断し、Ｓ２３においてαを積分分ＩＲだけ小さくする。
【００３３】
Ｓ２４ではＡＦＦ１の値をＡＦＦ０に移して図２のフローを終了する。
【００３４】
図６のフローチャートは、上記の修正値ＬＰを演算するためのもので、図２、図３とは独立にＲｅｆ信号に同期して実行する。
【００３５】
Ｓ４０では比例分修正制御条件かどうかをみる。▲４▼下流側Ｏ２センサが非活性のとき、▲５▼運転条件の変化が所定の範囲より大きいとき等に比例分修正制御条件が非成立となる。
、比例分修正制御条件の成立時は、Ｓ４１以降に進むが、Ｓ４１〜Ｓ５４は図２のＳ１１〜Ｓ１６、Ｓ１８〜Ｓ２４とほぼ同様である。
【００３６】
Ｓ４１では下流側Ｏ２センサ出力ＯＳＲ２を読み込み、このＯＳＲ２をＳ４２においてスライスレベルＳＬＲと比較する。ＯＳＲ２＞ＳＬＲであれば、Ｓ４３でフラグＡＦＲ１に“１”を、またＯＳＲ２≦ＳＬＲであるときは、Ｓ４４においてフラグＡＦＲ１に“０”を入れる。ＡＦＲ１＝０はリーン側に、またＡＦＲ１＝１はリッチ側にあることを表している。
【００３７】
Ｓ４５ではフラグＡＦＲ０の値を読み込む。ＡＦＦ０＝０は前回にリーン側にあったことを、またＡＦＦ０＝１は前回リッチ側にあったことを表す。
【００３８】
Ｓ４６では２つのフラグＡＦＲ０、ＡＦＲ１を比較し、両者の値が等しいときは、反転直後でないと判断し、Ｓ５１に進んで、フラグＡＦＲ１の値をみる。ＡＦＲ１＝０であれば前回、今回ともリーンであると判断し、Ｓ５２で修正値ＬＰ（初期値は０）を所定値ＤＬＰだけ増加させ、またＡＦＦ１＝１であるときは前回、今回ともリッチであると判断し、Ｓ５３においてＬＰを所定値ＤＬＰだけ減少させる。
【００３９】
これに対して、２つのフラグＡＦＲ０、ＡＦＲ１の値が等しくないときは、ＯＳＲ１が反転した直後にあると判断し、Ｓ４７に進んでフラグＡＦＲ１の値をみる。ＡＦＲ１＝０であればリッチからリーンへの反転直後にあると判断し、Ｓ４８、Ｓ４９に進み、またＡＦＲ１＝１であるときはリーンからリッチへの反転直後にあると判断し、Ｓ５０に進む。
【００４０】
ここで、図２のＳ１９、Ｓ２０に相当する部分が図６のほうにないため、修正値ＬＰは、αと相違して図８に示したように、漸増と漸減とを繰り返す波形となる。
【００４１】
その一方で、図２にないＳ４８、Ｓ４９、Ｓ５０が図６に追加されている。
【００４２】
図６においてＳ５０へと流れるのは図８においてｔ２、ｔ４のタイミング（リーンからリッチへの反転直後）であり、このタイミングでのＬＰをＬＰＲに移すと、ＬＰＲにはＬＰの最新の極大値が入る。
【００４３】
また、Ｓ４８、Ｓ４９へと流れるのは図８においてｔ１、ｔ３のタイミング（リッチからリーンへの反転直後）であり、このタイミングでのＬＰ（つまりＬＰの極小値）とＬＰＲの平均値ＬＰＭを求め、この平均値ＬＰＭから学習値ＬＰＡを、
ＬＰＡ←ＬＰＭ×ｎ＋ＬＰＡ×（１−ｎ）                    …（１）
ただし、ｎ：加重平均係数（ｎ＜１）
の式により計算する。学習値ＬＰＡはバックアップＲＡＭに記憶させる。
【００４４】
Ｓ５４では次回制御のためＡＦＲ１の値をＡＦＲ０に移したあとで、比例分ＰＬ、ＰＲの演算を終了する。
【００４５】
図９のフローチャートは、燃料噴射パルス幅Ｔｉを演算するためのもので、たとえば４ｍｓ周期で実行する。
【００４６】
Ｓ１では吸入空気量Ｑａと回転数Ｎｅを読み込み、これらから基本噴射パルス幅ＴｐをＴｐ＝Ｋ・Ｑａ／Ｎｅ（ただしＫは定数）の式により求め、このＴｐをＳ３において各種補正係数の和Ｃｏ、空燃比フィードバック補正係数αおよび無効パルス幅Ｔｓで補正することにより燃料噴射パルス幅Ｔｉを算出し、これをＳ４においてレジスタにセットすることで、クランク角センサの出力にしたがって所定の噴射タイミングでの噴射に備える。
【００４７】
このようにして、上流側Ｏ２センサや触媒に劣化のない状態でマッチングして得た基本値ＰＬ０、ＰＲ０と上流側Ｏ２センサや触媒の劣化状況を考慮するための修正値ＬＰとから比例分ＰＬ、ＰＲを算出（図３のＳ３３）する場合に、修正値ＬＰとして、比例分修正制御中であれば、触媒下流位置の空燃比に応じて算出した値をそのまま使用し（図３のＳ３２、図６）、比例分修正制御中でなくなると、学習値ＬＰＡを使用している（図３のＳ３５）。
【００４８】
さて、触媒の働きは排気温度や排気流量によっても多少変化し、たとえば排気温度が低いときは空燃比の制御中心が理論空燃比よりもややリッチ側にシフトしているほうが良好な排気浄化性能が得られることがあり、このような要求がある場合には、上記の基本値ＰＬ０、ＰＲ０をＴｐとＮｅをパラメータとするマップ値としておけばよい。
【００４９】
しかしながら、下流側Ｏ２センサが活性化している限り基本的にすべての運転領域で比例分修正制御を行う従来のダブルＯ２センサシステムでは、すべての運転領域で空燃比フィードバック制御の制御中心が理論空燃比となるため、領域により空燃比をシフトさせたい要求が無視されてしまう。
【００５０】
これに対処するため本発明（第１実施形態）では、空燃比フィードバック制御域のうち空燃比をシフトさせたい要求がある領域では学習値ＬＰＡを用いる。具体的には、図３のＳ３１、図６のＳ４０での比例分修正制御条件に、〈６〉運転条件が所定の比例分修正制御域にあるときを加え、上記の〈４〉、〈５〉とともに〈６〉をも満足する場合に限って図３においてはＳ３２に、また図６においてはＳ４１に進ませるようにする。〈６〉の比例分修正制御域Ａは、図７に示したように、たとえば空燃比をシフトさせたい要求がない領域でかつ学習値ＬＰＡの算出に関しノイズ（上流側Ｏ2センサや触媒の劣化以外の要因による理論空燃比からのずれ）の少ない一部の領域を設定しておけばよい。
【００５１】
このように、空燃比フィードバック制御を行う領域のうち空燃比をシフトさせたい要求がある領域では修正値ＬＰに代えて学習値ＬＰＡを用いることで、要求に合わせて意図的に空燃比フィードバック制御の制御中心を理論空燃比からシフトさせるように制御定数を運転領域毎に設定している場合にも、その設定を無意味なものにすることがなく、触媒の性能を最大限に引き出すことができる。すなわち、運転領域毎に比例分に対する要求が異なる場合に、触媒や上流側Ｏ２センサの経時劣化等による特性変化に対応させる運転領域を、空燃比をシフトさせたい要求のない領域に絞ったわけである。
【００５２】
一方、走行中の運転条件の変動、これに伴う空燃比や排気組成の変動あるいは排気流の変化に伴いどの気筒の空燃比の影響を大きく受けるか等、さまざまな条件の変動によって、空燃比フィードバック制御を行っていても制御結果としての空燃比にばらつきを生じるため、従来のダブルＯ２センサシステムにおいても、修正値ＬＰがばらつきをもって算出される。また、修正値ＬＰによって制御定数をリッチシフトあるいはリーンシフトさせる場合に、実際に空燃比が変化する大きさは、空燃比の変化が排気系の中でどのように伝達されるかによって異なってくる（すなわち、空燃比変化の排気系内の応答によって修正値ＬＰに対する実際の空燃比シフトの感度が異なる）。
【００５３】
この点に着目し、本発明（第１実施形態）では修正値ＬＰの算出中（修正制御条件の成立時）とそれ以外の場合（修正制御条件の非成立時）とで比例分の基本値の大きさを変える。具体的には図３において比例分修正制御条件の成立時に進む流れの中にＳ６１、Ｓ６２を新たに追加する。増大補正値ＰＬ１、ＰＲ１を読み込み、これらＰＬ１、ＰＲ１を、対応する基本値ＰＬ０、ＰＲ０に加算した値を改めて基本値ＰＬ０、ＰＲ０とおくことによって、修正値ＬＰの算出中における基本値ＰＬ０、ＰＲ０を増大補正するのである。
【００５４】
ＰＬ１、ＰＲ１は、修正値ＬＰに対する空燃比シフトの感度を高めるため、修正値ＬＰの算出中に付与される値で、図１０、図１１に示したように回転数Ｎｅと基本噴射パルス幅Ｔｐとをパラメータとするマップで割り付けており、このマップを検索して求める。
【００５５】
数値を挙げて説明すると、たとえばＰＲ０＝ＰＬ０＝５％、ＰＲ１＝ＰＬ１＝３％としたとき、修正値ＬＰの算出中においては、ＰＬ、ＰＲとも８％を基本値として、この値を修正値ＬＰによって修正した値で空燃比フィードバック制御を行いつつ、学習値ＬＰＡの更新を行う。その結果、学習値ＬＰＡが０．１％に収束した（つまりＰＲ＝７．９％、ＰＬ＝８．１％で理論空燃比が得られた）とすると、比例分修正制御条件の非成立時には、ＰＬ、ＰＲとも５％を基本値として、学習値ＬＰＡ（＝０．１％）によってリッチシフトされたＰＲ＝４．９％、ＰＬ＝５．１％を用いて空燃比フィードバック制御が行われる。
【００５６】
ここで、同一の修正値ＬＰであっても、比例分の基本値の大きさによって修正値に対する空燃比シフトの感度が変化し、基本値が大きくなるほど空燃比シフトの感度が高くなる理由を説明すると、図１２において、ＬＰがばらつきによって誤算出されたものと仮定したとき、同一のＬＰのばらつき幅であっても、ＰＲ、ＰＬが小さい場合（図１２の（Ａ）参照）に比べ、大きい場合（図１２の（Ｂ）参照）のほうが、空燃比シフト量が増大するからである。なお、図１２において、空燃比フィードバック補正係数αの一周期波形のうち理論空燃比相当レベル（破線）より上の部分の面積から理論空燃比相当レベルより下の部分の面積を差し引いた面積（つまり斜線部面積）が空燃比のリッチシフトに貢献する面積であり、この面積が大きいほうが空燃比のリッチシフト量が増大する。このことから、ＰＲ、ＰＬが大きい場合はＬＰの誤差に対する空燃比シフト量が大きいため、下流側Ｏ２センサ出力のＬＰに対する感度が高くなり、より精度の高いＬＰの算出が可能となるわけである。また、ＰＲ、ＰＬが小さい場合にはＬＰの誤差に対する空燃比シフト量が小さいため、ＬＰにばらつきが生じた場合でも、排気エミッションのばらつきが小さく抑えられる。
【００５７】
このように、比例分の基本値を変更することによって、修正値に対する空燃比シフトの感度（対象とする排気系の空燃比の応答）を変化させることが可能となることから、修正値ＬＰの算出中に比例分の基本値を増大補正することによって、走行中の運転条件の変動、これに伴う空燃比や排気組成の変動あるいは排気流の変化に伴いどの気筒の空燃比の影響を大きく受けるか等、さまざまな条件の変動によって修正値にばらつきが生じる場合においても、修正値のばらつきが同一であるなら、排気エミッションのばらつきをより小さく抑えることができる。この逆に、同一の排気エミッションのばらつきを保つための修正値の許容ばらつき幅を大きくすることもできる。
【００５８】
なお、修正値に対する空燃比シフト感度が高いとは、ＬＰが適正値（空燃比フィードバック制御による制御中心が目標空燃比となるときの修正値の値）からずれたときに、空燃比フィードバック制御による制御中心の目標空燃比からのシフト量が大きくなることを意味する（図１３参照）。このとき、ＬＰに対する空燃比シフトの感度を変化させてもＬＰの適正値は変化しないことが前提であり、逆にいうと、空燃比シフトの感度のみが高くなりＬＰの適正値は変化しないような増大補正量ＰＬ１、ＰＲ１を予め設定しておく必要がある。この必要が満たされるのであれば、ＰＬ１、ＰＲ１はマップ値に限らず、所定の固定値でもかまわない。
【００５９】
図１４、図１５、図１９の各フローチャートは第２実施形態で、それぞれ第１実施形態の図２、図３、図６に対応する。
【００６０】
第１実施形態が比例分ＰＬ、ＰＲを修正制御の対象としていたのに対し、第２実施形態は、上流側Ｏ２センサ出力ＯＳＲ１と比較するためのスライスレベル（これも空燃比フィードバック制御の制御定数である）を修正制御の対象とする場合である。
【００６１】
修正制御の対象の違いによる部分を先に説明すると、図１４においては、Ｓ７０〜Ｓ７７が比例分の場合と相違する。スライスレベルにはヒステリシスを持たせるために、下限ＳＬＬと上限ＳＬＨがあり、Ｓ７１、Ｓ７３からＳ７５へと流れる場合（つまりＯＳＲ１がＳＬＬとＳＬＨの間のヒステリシスにある場合）には、フラグＡＦＦ０をみて、ＡＦＦ０＝０のとき（前回リーン側にあったとき）、Ｓ７６でフラグＡＦＦ１に“０”を、ＡＦＦ０＝１のとき（前回リッチ側にあったとき）、ＡＦＦ１に“１”を入れている。なお、ＯＳＲ１がＳＬＬより小さいとき、ＡＦＦ１に“０”を（Ｓ７１、Ｓ７２）、またＯＳＲ１がＳＬＨを超えているとき、ＡＦＦ１に“１”を入れる（Ｓ７１、Ｓ７３、Ｓ７４）ことはいうまでもない。
【００６２】
図１５においてはＳ８０〜Ｓ８５が、また図１９においてはＳ９０〜Ｓ９４が比例分の場合と相違するが、その違いの第１は記号であり、図１５、図１９においてＳＬＬ０がスライスレベル下限の基本値（図１６参照）、ＳＬＨ０（ＳＬＨ０＞ＳＬＬ０）がスライスレベル上限の基本値（図１７参照）、ＬＳＬが修正値、ＬＳＬＡが学習値である。違いの第２は、修正値ＬＳＬを基本値ＳＬＬ０、ＳＬＨ０に対していずれも加算する点である（図１５のＳ８５）。なお、スライスレベル修正制御条件は、比例分修正制御条件と同じである。
【００６３】
さて、第２実施形態では、修正値の算出中とそれ以外とでスライスレベルのヒステリシス幅（ＳＬＨ０−ＳＬＬ０）の大きさを変えるため、図１５においてＳ８３、Ｓ８４を新たに追加する。新たに追加した部分で、増大補正値ＳＬ１を読み込み、基本値ＳＬＬ０からこのＳＬ１を差し引いた値を改めて基本値ＳＬＬ０、また基本値ＳＬＨ０にこのＳＬ１を加算した値を改めて基本値ＳＬＨ０とおくことによって、修正値の算出中におけるヒステリシス幅を２×ＳＬ１だけ大きくする。
【００６４】
ここで、ＳＬ１は、修正値ＬＳＬに対する空燃比シフトの感度を高めるため、修正値の算出中に付与される値で、図１８に示したように回転数Ｎｅと基本噴射パルス幅Ｔｐとをパラメータとするマップで割り付けており、このマップを検索して求める。
【００６５】
第２実施形態でも数値を挙げて説明すると、たとえばＳＬＨ０＝５５０ｍＶ、ＳＬＬ０＝４５０ｍＶ、ＳＬ１＝１００ｍＶとしたとき、修正値ＬＳＬの算出中おいては、ＳＬＨ＝６５０ｍＶ、ＳＬＬ＝３５０ｍＶを基本値として、この値を修正値ＬＳＬによって修正した値で空燃比フィードバック制御を行いつつ、学習値ＬＳＬＡの更新を行う。その結果、学習値ＬＳＬＡが−５０ｍＶに収束した（つまりＳＬＨ＝６００ｍＶ、ＳＬＬ＝３００ｍＶで理論空燃比が得られた）とすると、修正値ＬＳＬの算出を行わないときは、ＳＬＨ＝５５０ｍＶ、ＳＬＬ＝４５０ｍＶを基本値として、学習値ＬＳＬＡ（＝−５０ｍＶ）によってリッチシフトされたＳＬＨ＝５００ｍＶ、ＳＬＬ＝４００ｍＶを用いて空燃比フィードバック制御が行われる。
【００６６】
第２実施形態では、スライスレベルのヒステリシス幅ＳＬＨ０−ＳＬＬ０を大きくとることで、空燃比フィードバック制御時の空燃比のオーバーシュート量が大きくなるため、比例分の基本値を大きくしたのと同様に、修正値の算出中における修正値に対する空燃比シフトの感度を高めることができる。
【００６７】
第１実施形態では修正制御の対象となる制御定数と空燃比シフトの感度を高めるための制御定数との両者がともに比例分、また第２実施形態では両者がともにスライスレベルであったが、両者が同じであることは必須でない。たとえば、修正制御の対象となる制御定数を比例分、空燃比シフトの感度を高めるための制御定数をスライスレベルとする組み合わせや、この逆に修正制御の対象となる制御定数をスライスレベル、空燃比シフトの感度を高めるための制御定数を比例分とする組み合わせ等、さまざまな組み合わせが可能である。
【００６８】
第１実施形態では、比例分を対象として修正制御を行う場合で説明したが、比例分に限られるものでない。
【００６９】
【発明の効果】
第１の発明では、修正制御条件の非成立時になると、基本制御定数を修正値により修正することがなく、代わって基本制御定数を学習値で修正した値を用いて空燃比のフィードバック制御を行う（つまり制御定数の修正制御を中止する）ので、要求に合わせて意図的に空燃比フィードバック制御の制御中心を理論空燃比からシフトさせるように制御定数を運転領域毎に設定している場合にも、その設定を無意味なものにすることがなく、触媒の性能を最大限に引き出すことができる。
【００７０】
また第１の発明では、修正値の演算中における基本制御定数を増大補正することによって、修正値に対する空燃比シフトの感度（対象とする排気系の空燃比の応答）を高めることが可能となることから、走行中の運転条件の変動などによって修正値にばらつきが生じる場合においても、修正値のばらつきが同一であるなら、排気エミッションのばらつきをより小さく抑えることができる。この逆に、同一の排気エミッションのばらつきを保つための修正値の許容ばらつき幅を大きくすることもできる。
【図面の簡単な説明】
【図１】第１実施形態の制御システム図である。
【図２】空燃比フィードバック補正係数αの演算を説明するためのフローチャートである。
【図３】比例分ＰＬ、ＰＲの演算を説明するためのフローチャートである。
【図４】比例分の基本値ＰＬ０のマップを表す図である。
【図５】比例分の基本値ＰＲ０のマップを表す図である。
【図６】修正値ＬＰの演算を演算するためのフローチャートである。
【図７】所定運転域Ａの領域図である。
【図８】修正値ＬＰの波形図である。
【図９】燃料噴射パルス幅Ｔｉの演算を説明するための波形図である。
【図１０】増大補正値値ＰＬ１のマップを表す図である。
【図１１】増大補正値ＰＲ１のマップを表す図である。
【図１２】同一の修正値ＬＰであっても、比例分の基本値の大きさによって修正値に対する空燃比シフトの感度が変化する理由を説明するための波形図である。
【図１３】修正値に対する空燃比シフト感度が高い、低いを説明するための特性図である。
【図１４】第２実施形態の空燃比フィードバック補正係数αの演算を説明するためのフローチャートである。
【図１５】第２実施形態のスライスレベル下限ＳＬＬ、スライスレベル上限ＳＬＨの演算を説明するためのフローチャートである。
【図１６】スライスレベル下限の基本値ＳＬＬ０のマップを表す図である。
【図１７】スライスレベル上限の基本値ＳＬＨ０のマップを表す図である。
【図１８】増大補正値ＳＬ１のマップを表す図である。
【図１９】修正値ＬＳＬの演算を演算するためのフローチャートである。
【図２０】従来のＯ２センサ出力ＯＳＲ１、ＯＳＲ２、空燃比フィードバック補正係数α、修正値ＰＬ、ＰＲの各波形図である。
【図２１】第１の発明のクレーム対応図である。
【符号の説明】
２  コントロールユニット
３  上流側Ｏ２センサ（上流側空燃比センサ）
４  クランク角センサ
６  エアフローメータ
７  燃料噴射弁
９  排気通路
１０  三元触媒
１３  下流側Ｏ２センサ（下流側空燃比センサ）
【図１】
0003593756.tif 000002
【図２】
0003593756.tif 000003
【図３】
0003593756.tif 000004
【図４】
0003593756.tif 000005
【図５】
0003593756.tif 000006
【図６】
0003593756.tif 000007
【図７】
0003593756.tif 000008
【図８】
0003593756.tif 000009
【図９】
0003593756.tif 000010
【図１０】
0003593756.tif 000011
【図１１】
0003593756.tif 000012
【図１２】
0003593756.tif 000013
【図１３】
0003593756.tif 000014
【図１４】
0003593756.tif 000015
【図１５】
0003593756.tif 000016
【図１６】
0003593756.tif 000017
【図１７】
0003593756.tif 000018
【図１８】
0003593756.tif 000019
【図１９】
0003593756.tif 000020
【図２０】
0003593756.tif 000021
【図２１】
0003593756.tif 000022