(57)【要約】【課題】スロットルバルブの全開状態から閉じ側への駆動時における第１学習値の更新によるフィードバック学習値の学習により学習精度が低下することを抑制でき、且つフィードバック学習値の学習頻度の低下を抑制できるようにする。【解決手段】サブフィードバック学習値ＳＧは、第１学習値Ａ、第２学習値Ｂ、及び補間補正値Ｋに基づき、「ＳＧ＝Ｂ＋（Ａ−Ｂ）・Ｋ」という式を用いて算出される。補間補正値Ｋは、吸気バルブ９の最大リフト量及び作動角が大きくなるほど、またエンジン１の吸気圧が低くなるほどサブフィードバック学習値ＳＧを減少させるよう小さくされる。そして、補間補正値Ｋが判定値Ｊ以上であるときには上記最大リフト量及び作動角が大きいときに対応する上記第１学習値Ａが更新され、補間補正値Ｋが判定値Ｊ未満であるときは上記最大リフト量及び作動角が小さいときに対応する上記第２学習値Ｂが更新される。【選択図】図１
2010209829.tif 000002
【特許請求の範囲】
【請求項１】
吸気通路と燃焼室とを連通・遮断すべく開閉する吸気バルブの最大リフト量及び作動角を可変として吸入空気量を調整するバルブリフト可変機構と、前記吸気通路に設けられて通常時に全開とされる一方で前記バルブリフト可変機構の駆動だけでは吸入空気量を減量しきれないときに全開よりも閉じ側に駆動されるスロットルバルブと、排気通路に設けられて排気中の酸素濃度に応じた信号を出力するセンサとを備える内燃機関に適用され、前記センサの出力と同出力における同機関の実空燃比を理論空燃比としたときの値である目標値との偏差に基づき増減するフィードバック補正値と、その増減するフィードバック補正値に基づき前記実空燃比の理論空燃比に対する定常的なずれに対応する値となるよう学習されるフィードバック学習値とを、内燃機関の燃料噴射量に反映させることにより、内燃機関の実空燃比を理論空燃比へと制御する内燃機関の空燃比制御装置において、
前記フィードバック学習値は、前記吸気バルブの最大リフト量及び作動角が小さいときに対応する第１学習値と、前記吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値と、現在の吸気バルブの最大リフト量及び作動角並びに現在の内燃機関の吸気圧に基づき可変設定される補間補正値とを用いて算出されるものであり、
前記補間補正値は、それに基づき算出される前記フィードバック学習値を現在の吸気バルブの最大リフト量及び作動角、並びに現在の吸気圧に対応する値となるようにすべく、前記吸気バルブの最大リフト量及び作動角が大きくなるほど且つ前記吸気圧が低下するほど前記フィードバック学習値を減少させるよう小さくされるものであり、
前記フィードバック学習値を前記実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同フィードバック学習値の学習は、前記補間補正値が予め定められた判定値以上であるときには前記第１学習値を前記フィードバック補正値に基づき更新することで実現され、前記補間補正値が前記判定値未満であるときには前記第２学習値を前記フィードバック補正値に基づき更新することで実現される
ことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記第１学習値は、前記吸気バルブの最大リフト量及び作動角が最小値になるときに対応する値であり、
前記第２学習値は、前記吸気バルブの最大リフト量及び作動角が最大値になるときに対応する値であり、
前記補間補正値は、前記吸気バルブの最大リフト量及び作動角、並びに前記吸気圧に基づき「０」から「１．０」の範囲で可変とされ、前記最大リフト量及び作動角が大きくなるほど「０」に向けて小さくなるとともに、前記吸気圧が低くなるほど「０」に向かって小さくなるものであり、
前記フィードバック学習値は、同学習値を「ＳＧ」とし、前記第１学習値を「Ａ」とし、前記第２学習値を「Ｂ」とし、前記補間補正値を「Ｋ」としたとき、次の式「ＳＧ＝Ｂ＋（Ａ−Ｂ）・Ｋ」を用いて算出されるものであり、
前記判定値は、前記補間補正値における「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央または中央付近の値に定められている
請求項１記載の内燃機関の空燃比制御装置。
【請求項３】
前記内燃機関は、複数の気筒を有するものであり、
前記センサは、前記気筒に各々繋がる排気通路の集合部分とそれよりも下流側の触媒との間に設けられたセンサ、及び前記触媒よりも下流側に設けられたセンサであり、
前記フィードバック補正値は、前記触媒よりも下流側のセンサの出力と前記目標値との偏差に基づき増減し、前記触媒よりも上流側のセンサの出力に基づき内燃機関の実空燃比を理論空燃比とするための燃料噴射量の補正値として算出されて同燃料噴射量の補正に用いられるメインフィードバック補正値に反映されるサブフィードバック補正値であり、
前記フィードバック学習値は、前記サブフィードバック補正値に基づき、内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値となるよう学習されて前記メインフィードバック補正値に反映されるサブフィードバック学習値である
請求項１又は２記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
自動車用多気筒エンジン等の内燃機関においては、ポンピングロス低減による燃費改善を意図して、吸気通路に設けられたスロットルバルブを可能な限り全開としつつ、バルブリフト可変機構による吸気バルブの最大リフト量及び作動角の可変を通じて同機関の吸入空気量を調整するようにしたものが知られている。ただし、こうした内燃機関においても、低負荷運転時など内燃機関の吸入空気量の要求量が少ない場合には、バルブリフト可変機構による吸気バルブの最大リフト量及び作動角の可変だけでは吸入空気量を要求量まで減量しきれないため、スロットルバルブの全開から閉じ側への駆動も併せて行って吸入空気量の要求量への減量が図られる。また、バルブリフト可変機構の固着異常により、吸気バルブの最大リフト量及び作動角を小さくして内燃機関の吸入空気量を要求量まで減量できなくなった場合などにも、スロットルバルブの全開から閉じ側への駆動により吸入空気量の要求量への減量が図られる。
【０００３】
上記のように内燃機関の吸入空気量が調整されると、その吸入空気量等に基づき同機関の空燃比等を考慮して燃料噴射弁からの燃料噴射が行われ、空気と燃料とからなる混合気の燃焼により内燃機関が駆動される。内燃機関での燃料燃焼後の排気に関しては、排気通路に設けられた触媒コンバータの三元触媒にて排気中のＣＯ、ＨＣの酸化及びＮＯx の還元が行われ、それらを無害なＣＯ2、Ｈ2Ｏ、Ｎ2 とすることで浄化が図られている。こうした三元触媒による排気の浄化、即ちＣＯ、ＨＣの酸化及びＮＯx の還元は、理論空燃比での混合気の燃焼がなされたときの触媒雰囲気の酸素濃度において最も効果的に行われる。このため、上記内燃機関では、同機関の実空燃比を理論空燃比とする空燃比フィードバック制御が行われる。
【０００４】
内燃機関の実空燃比を理論空燃比とする空燃比フィードバック制御は、排気通路に設けられて排気中の酸素濃度に応じた信号を出力するセンサを用い、同センサの出力に基づき内燃機関の燃料噴射量を補正することによって実現される。
【０００５】
具体的には、上記センサの出力と同出力における同機関の実空燃比を理論空燃比としたときの値である目標値との偏差に基づき増減するフィードバック補正値を用いて内燃機関の燃料噴射量が補正される。すなわち、上記センサの出力が目標値に対しリッチ側の値である場合にはフィードバック補正値が小さくされて同補正値に基づき燃料噴射量が減量補正され、上記センサの出力が目標値に対しリーン側の値である場合にはフィードバック補正値が大きくされて同補正値に基づき燃料噴射量が増量補正される。こうしたフィードバック補正値に基づく燃料噴射量の増減補正を通じて、内燃機関における実空燃比の理論空燃比に対する瞬時のずれが抑制され、実空燃比が理論空燃比へと制御される。
【０００６】
また、内燃機関の吸気系や燃料供給系等には製造ばらつきや経時変化が生じ、それに起因して同機関の実空燃比の理論空燃比に対する定常的なずれが生じる。こうした実空燃比の理論空燃比に対する定常的なずれを補償することを意図して、上記フィードバック補正値に基づき上記定常的なずれに対応する値となるようにフィードバック学習値の学習を行い、その学習値を用いて内燃機関の燃料噴射量を補正することも行われる。そして、このフィードバック学習値に基づく燃料噴射量の補正を通じて、実空燃比の理論空燃比に対する定常的なずれが補償される。
【０００７】
以上のように、フィードバック補正値及びフィードバック学習値を求め、それらに基づく燃料噴射量の補正を行うことにより、内燃機関の実空燃比を理論空燃比とする空燃比フィードバック制御が実現される。
【０００８】
ところで、バルブリフト可変機構による吸気バルブの最大リフト量及び作動角の可変を通じて吸入空気量の調整を行う内燃機関では、実空燃比の理論空燃比に対する定常的なずれの原因として、吸気バルブ回りの組み付け誤差や同バルブへのデポジットの堆積により、吸気通路の燃焼室との接続部分の通路面積が適正値からずれるということもあげられる。こうした原因による実空燃比の理論空燃比に対する定常的なずれは、吸気バルブの最大リフト量及び作動角が小さいときに生じることとなる。
【０００９】
これは、吸気バルブの最大リフト量及び作動角が小さいときには、内燃機関の吸入空気量が少なくなる関係から、上記原因による同機関の吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が大きくなり、それが実空燃比の理論空燃比に対する定常的なずれとして表れるためである。一方、吸気バルブの最大リフト量及び作動角が大きいときには、内燃機関の吸入空気量が多くなる関係から、上記原因による同機関の吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が小さくなり、それが実空燃比の理論空燃比に対する定常的なずれとして表れにくくなる。
【００１０】
上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに関しても、フィードバック学習値の学習を行い、同学習値に基づき燃料噴射量を補正することによって、補償を図ることが可能である。
【００１１】
ただし、バルブリフト可変機構による吸気バルブの最大リフト量及び作動角の可変を通じて吸入空気量の調整を行う内燃機関では、機関運転状態に応じた同機構の駆動により、吸気バルブの最大リフト量及び作動角をフィードバック学習値の学習を行ったときの値と異なる値に調整した状態で運転される可能性がある。このように、吸気バルブの最大リフト量及び作動角をフィードバック学習値の学習を行ったときの値と異なる値に調整した状態で機関運転が行われる状況下では、フィードバック学習値が上記原因による実空燃比の理論空燃比に対する定常的なずれに対応した値として不適切なものとなる。これは、吸気バルブの最大リフト量及び作動角が変化すると、内燃機関の吸入空気量が変化して上記原因による同機関の吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合も変化し、それによって上記原因による実空燃比の理論空燃比に対する定常的なずれへの影響の大きさが変わるためである。このため、上記フィードバック学習値を用いて燃料噴射量を補正して上記定常的なずれの補償を図ろうとしても、その補償を的確に行えないおそれがある。
【００１２】
また、上記内燃機関では、低負荷運転時などバルブリフト可変機構による吸気バルブの最大リフト量及び作動角の可変だけでは吸入空気量を要求量まで減量しきれないとき、吸入空気量を要求量まで減量すべくスロットルバルブが全開状態から閉じ側へと駆動される。このため、上記内燃機関では、フィードバック学習値の学習が行われたときのスロットルバルブの開度（吸気圧と対応）と異なる開度（吸気圧）となるよう同バルブが駆動された状態で運転される可能性がある。このように、スロットルバルブの開度をフィードバック学習値の学習を行ったときの値と異なる値に調整した状態で機関運転が行われる状況下では、フィードバック学習値が上記原因による実空燃比の理論空燃比に対する定常的なずれに対応した値として不適切なものとなる。これは、スロットルバルブが全開状態から閉じ側に駆動されて内燃機関の吸気圧が変化すると、そのときの吸気圧に応じて上記原因による同機関の吸入空気量の適正値に対するずれの大きさが代わり、それに伴い内燃機関の実空燃比の理論空燃比に対する定常的なずれへの影響の大きさも変わるためである。このため、同フィードバック学習値を用いて燃料噴射量を補正して上記定常的なずれの補償を図ろうとしても、その補償を的確に行えないおそれがある。
【００１３】
このような不具合に対処すべく、特許文献１に示されるように、フィードバック学習値の学習を行うことが考えられる。
この特許文献１では、フィードバック学習値が、吸気バルブの最大リフト量及び作動角が小さいときに対応する第１学習値と、吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値と、現在の吸気バルブの最大リフト量及び作動角並びに現在の内燃機関の吸気圧に基づき可変設定される補間補正値とを用いて算出される。
【００１４】
なお、上記第１学習値としては例えば吸気バルブの最大リフト量及び作動角が最小値となったときに対応する値が用いられ、上記第２学習値としては例えば吸気バルブの最大リフト量及び作動角が最大値となったときに対応する値が用いられる。そして、吸気バルブの最大リフト量及び作動角が小さいとき（特許文献１では最小値となったとき）には、フィードバック補正値に基づき上記第１学習値を更新することにより、フィードバック学習値を上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値の学習が行われる。一方、吸気バルブの最大リフト量及び作動角が大きいとき（特許文献１では最大値となったとき）には、フィードバック補正値に基づき上記第２学習値を更新することにより、フィードバック学習値を上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値の学習が行われる。
【００１５】
フィードバック学習値の算出には、上記第１学習値及び上記第２学習値の他、現在の吸気バルブの最大リフト量及び作動角、並びに現在の内燃機関の吸気圧に基づき可変設定される補間補正値が用いられる。このため、算出されたフィードバック学習値を吸気バルブの最大リフト量及び作動角、並びに吸気圧に対応した値とすることが可能になる。以下、上記補間補正値の算出態様について述べる。
【００１６】
吸気バルブの最大リフト量及び作動角が大きくなるほど、フィードバック学習値の算出に用いられる補間補正値が小さくされ、第１学習値や第２学習値の更新に対するフィードバック学習値の変化の感度が小さくされる。これは、吸気バルブの最大リフト量及び作動角が大きくなって吸入空気量が多くなるほど、上記原因による吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が小さくなり、上記原因による実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなることから、それに対応してフィードバック学習値の学習を行うためである。また、スロットルバルブが閉じ側に駆動されて内燃機関の吸気圧が低下するほど、フィードバック学習値の算出に用いられる上記補間補正値が小さくされ、第１学習値や第２学習値の更新に対するフィードバック学習値の変化の感度が小さくされる。これは、スロットルバルブが閉じ側に駆動されて内燃機関の吸気圧が低下するほど、上記原因による同機関の吸入空気量の適正値に対するずれにおける内燃機関の実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなり、それに対応するようにフィードバック学習値の学習を行うためである。
【００１７】
以上のように補間補正値を算出し、その補間補正値を用いてフィードバック学習値を算出することにより、次のような効果が得られる。すなわち、吸気バルブの最大リフト量及び作動角、並びにスロットルバルブの開度をフィードバック学習値の学習を行ったときの値と異なる値に調整した状態で機関運転が行われる状況下において、フィードバック学習値が上記原因による実空燃比の理論空燃比に対する定常的なずれに対応した値として不適切なものとなることが抑制される。このため、同フィードバック学習値を用いて燃料噴射量を補正して上記定常的なずれの補償を図ろうとしても、その補償を的確に行えないという不具合が生じることは抑制される。
【００１８】
次に、上記原因による上記実空燃比の理論空燃比に対する定常的なずれに関して、その補償を図るための具体的な手順について述べる。
上記原因による実空燃比の理論空燃比に対する定常的なずれは、吸気バルブの最大リフト量及び作動角が小さいときに表れる。このとき、上記定常的なずれに対応して変化するフィードバック補正値に基づき第１学習値が更新されるとともに、現在の吸気バルブの最大リフト量及び作動角並びに現在の吸気圧に基づき補間補正値が算出される。そして、それら第１学習値及び補間補正値等を用いてフィードバック学習値を算出することにより、フィードバック学習値の上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値への学習が行われる。こうして学習されたフィードバック学習値に基づき燃料噴射量を補正することにより、上記定常的なずれに対する補償が図られるようになる。
【００１９】
ただし、吸気バルブの最大リフト量及び作動角が小さくされ、更にスロットルバルブが全開状態から閉じ側に駆動されているとき、フィードバック補正量に基づき第１学習値が更新されて上記のようにフィードバック学習値の学習が行われると、次のような不具合を招くおそれがある。すなわち、学習されたフィードバック学習値が上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値として精度の低い値となるおそれがある。
【００２０】
ここで、上記原因による実空燃比の理論空燃比に対する定常的なずれが生じている場合、吸気バルブの最大リフト量及び作動角が小さいときにフィードバック学習値が上記定常的なずれに対応する値となるよう同学習値を精度良く学習するためには、スロットルバルブをほぼ全開とした状態でフィードバック学習値の学習を行うことが重要である。従って、上述したようにスロットルバルブが全開よりも閉じ側に駆動された状態、且つ吸気バルブの最大リフト量及び作動角の小さい状態で、第１学習値の更新によるフィードバック学習値の学習が行われると、そのフィードバック学習値が上記定常的なずれに対応した値となるよう同学習値を学習することが困難になる。
【００２１】
これは、吸気バルブの最大リフト量及び作動角が小さいときにスロットルバルブが全開よりも閉じ側に駆動された状態では、内燃機関の吸入空気量の調整を行ううえでのスロットルバルブ開度の調整による分担分が大きくなることが関係している。すなわち、内燃機関の吸入空気量の調整を行う際、その調整のためのスロットルバルブの開度調整による分担分が大きくなるとともに、上記吸入空気量の調整を行うための吸気バルブの最大リフト量及び作動角の調整による分担分が小さくなる。このように、内燃機関の吸入空気量の調整を行うための吸気バルブの最大リフト量及び作動角の調整による分担分が小さくなると、上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなる。このため、フィードバック学習値が上記定常的なずれに対応する値となるように、吸気バルブの最大リフト量及び作動角の小さいときに対応する第１学習値をフィードバック補正値に基づき更新し、その第１学習値の更新により上記フィードバック学習値を学習しても、その学習値を精度のよい値とすることが困難になる。
【００２２】
こうしたフィードバック学習値の精度低下を抑制すべく、特許文献１に示されるように、スロットルバルブが全開状態から閉じ側に駆動されて内燃機関の吸気圧がスロットルバルブ全開時の吸気圧よりも低い値に定められた判定値以下に低下したときには、フィードバック学習値の学習を禁止することが考えられる。このようにフィードバック学習値の学習を禁止することで、スロットルバルブが全開状態から閉じ側に駆動されているときの第１学習値の更新によるフィードバック学習値の学習により、同学習値における上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値としての精度が低下することは抑制される。
【先行技術文献】
【特許文献】
【００２３】
【特許文献１】特開２００８−３０９１１９公報（段落［００９０］〜［００１０２］，［１０５］〜［０１０７］、図１０〜１３）
【発明の概要】
【発明が解決しようとする課題】
【００２４】
特許文献１に示されるように、内燃機関の吸気圧が判定値以下であるときにフィードバック学習値の学習を禁止することで、同学習値における上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値としての精度が低下することの抑制が図られるようにはなる。
【００２５】
しかし、内燃機関の吸気圧が判定値以下になるときにフィードバック学習値の学習を禁止すると、吸気バルブの最大リフト量及び作動角が小さいときに対応する第１学習値の更新、及び吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値の更新が共に行われなくなる。従って、内燃機関の吸気圧が判定値以下になると、第１学習値のフィードバック補正値に基づく更新によるフィードバック学習値の学習が禁止されるだけでなく、第２学習値のフィードバック補正値の更新によるフィードバック学習値の学習も禁止され、同学習値の学習頻度が低下することは避けられなくなる。このようにフィードバック学習値の学習頻度が低下すると、上記原因以外の原因での実空燃比の理論空燃比に対する定常的なずれが生じている場合には、第２学習値の更新によるフィードバック学習値の学習が行われなくなる分だけ、そのずれに対応する値となるようフィードバック学習値が学習されるまでに時間がかかるようになる。
【００２６】
また、吸気バルブの最大リフト量及び作動角が中負荷運転時の値で固着したような場合、低負荷運転時における内燃機関の吸入空気量の必要量への調整がスロットルバルブの閉じ側への駆動によって実現されるため、内燃機関の吸気圧が判定値以下になってフィードバック学習値の学習が禁止され易くなり、同学習値の学習頻度が一層低下しやすくなる。その結果、フィードバック学習値が上記定常的なずれに対応する値となるように学習されないまま同フィードバック学習値が燃料噴射量の補正に用いられ、それによって内燃機関の実空燃比が理論空燃比からずれたままとなり、三元触媒による効果的な排気浄化を行えなくなるおそれがある。
【００２７】
本発明はこのような実情に鑑みてなされたものであって、その目的は、スロットルバルブの全開状態から閉じ側への駆動時における第１学習値の更新によるフィードバック学習値の学習により学習精度が低下することを抑制でき、且つフィードバック学習値の学習頻度の低下を抑制することのできる内燃機関の空燃比制御装置を提供することにある。
【課題を解決するための手段】
【００２８】
以下、上記目的を達成するための手段及びその作用効果について記載する。
上記目的を達成するため、請求項１記載の発明では、吸気通路と燃焼室とを連通・遮断すべく開閉する吸気バルブの最大リフト量及び作動角を可変として吸入空気量を調整するバルブリフト可変機構と、前記吸気通路に設けられて通常時に全開とされる一方で前記バルブリフト可変機構の駆動だけでは吸入空気量を減量しきれないときに全開よりも閉じ側に駆動されるスロットルバルブと、排気通路に設けられて排気中の酸素濃度に応じた信号を出力するセンサとを備える内燃機関に適用され、前記センサの出力と同出力における同機関の実空燃比を理論空燃比としたときの値である目標値との偏差に基づき増減するフィードバック補正値と、その増減するフィードバック補正値に基づき前記実空燃比の理論空燃比に対する定常的なずれに対応する値となるよう学習されるフィードバック学習値とを、内燃機関の燃料噴射量に反映させることにより、内燃機関の実空燃比を理論空燃比へと制御する内燃機関の空燃比制御装置において、前記フィードバック学習値は、前記吸気バルブの最大リフト量及び作動角が小さいときに対応する第１学習値と、前記吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値と、現在の吸気バルブの最大リフト量及び作動角並びに現在の内燃機関の吸気圧に基づき可変設定される補間補正値とを用いて算出されるものであり、前記補間補正値は、それに基づき算出される前記フィードバック学習値を現在の吸気バルブの最大リフト量及び作動角、並びに現在の吸気圧に対応する値となるようにすべく、前記吸気バルブの最大リフト量及び作動角が大きくなるほど且つ前記吸気圧が低下するほど前記フィードバック学習値を減少させるよう小さくされるものであり、前記フィードバック学習値を前記実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同フィードバック学習値の学習は、前記補間補正値が予め定められた判定値以上であるときには前記第１学習値を前記フィードバック補正値に基づき更新することで実現され、前記補間補正値が前記判定値未満であるときには前記第２学習値を前記フィードバック補正値に基づき更新することで実現されるものとした。
【００２９】
内燃機関においては、吸気バルブ回りの組み付け誤差や同バルブへのデポジットの堆積によって吸気通路の燃焼室との接続部分の通路面積に適正値からのずれが生じ、それが原因となって内燃機関の吸入空気量を少なくすべく吸気バルブの最大リフト量及び作動角が小さくされているときに内燃機関の実空燃比に理論空燃比からの定常的なずれが生じる。こうした実空燃比の理論空燃比に対する定常的なずれを抑制すべく、フィードバック学習値が上記定常的なずれに対応する値となるよう同学習値の学習が行われ、学習後のフィードバック学習値が内燃機関の燃料噴射量に反映される。上記フィードバック学習値の学習について、具体的には、吸気バルブの最大リフト量及び作動角が小さいとき、上記定常的なずれに対応して変化するフィードバック補正値に基づき、吸気バルブの最大リフト量及び作動角が小さいときに対応した第１学習値を更新することによって実現される。
【００３０】
ところで、内燃機関の低負荷運転時や吸気バルブの最大リフト量及び作動角の中負荷運時の値での固着時などには、内燃機関の吸入空気量を要求量まで減量すべく、スロットルバルブが全開状態から閉じ側の値へと駆動される。このようにスロットルバルブが閉じ側に駆動されると、内燃機関の吸気圧が低下し、それに伴いフィードバック学習値の算出に用いられる補間補正値が小さい値とされる。また、この補間補正値に関しては、バルブリフト可変機構の駆動を通じて吸気バルブの最大リフト量及び作動角が大きくされるほど小さい値とされる。上記構成によれば、フィードバック学習値の学習が、吸気バルブの最大リフト量及び作動角並びに内燃機関の吸気圧等に基づき可変設定される上記補間補正値に応じて異なる態様で行われる。
【００３１】
すなわち、補間補正値が判定値以上であるときのみ、吸気バルブの最大リフト量及び作動角が小さいときに対応する第１学習値がフィードバック補正値に基づき更新され、それによってフィードバック学習値を上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値の学習が行われる。なお、補間補正値が判定値よりも大きくなるのは、スロットルバルブが全開もしくはほぼ全開となって内燃機関の吸気圧が高くなり、且つ吸気バルブの最大リフト量及び作動角が小さくなり、それによって補間補正値が大きくなるときである。従って、吸気バルブの最大リフト量及び作動角の小さい状態、且つスロットルバルブが全開状態よりも閉じ側に駆動された状態となるとき、言い換えれば補間補正値が判定値未満となるとき、第１学習値の更新によるフィードバック学習値の学習が行われることはない。そして、そのようなフィードバック学習値の学習が行われるにより、同フィードバック学習値における上記原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値としての精度が低下することは抑制される。
【００３２】
一方、補間補正値が判定値未満であるときには、吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値がフィードバック補正値に基づき更新され、それによってフィードバック学習値を実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値の学習が実行される。なお、補間補正値が判定値未満となるのは、吸気バルブの最大リフト量及び作動角が大きくなり、それによって補間補正値が小さくなるときである。また、吸気バルブの最大リフト量及び作動角が小さくても、スロットルバルブが全開状態よりも閉じ側に駆動されて内燃機関の吸気圧が低くなるときには、補間補正値が判定値未満となる可能性が高い。従って、吸気バルブの最大リフト量及び作動角の小さい状態であり、且つスロットルバルブが全開状態よりも閉じ側に駆動された状態であるときには、吸気バルブの最大リフト量及び作動角が大きいときに対応する第２学習値の更新によるフィードバック学習値の学習を行うことが可能になる。このため、上記のような状態のとき第１学習値の更新によるフィードバック学習値の学習、及び第２学習値の更新によるフィードバック学習値の学習が共に禁止され、それによって同学習値の学習頻度が低下することは抑制される。詳しくは、上記原因以外の原因による内燃機関の実空燃比の理論空燃比に対する定常的なずれが生じている場合に、上記学習の禁止により第２学習値の更新を行えない分だけ、上記フィードバック学習値の学習頻度が低下するということは抑制される。その結果、上記定常的なずれに対応する値となるようフィードバック学習値が学習されるまでに時間がかかるという不具合が生じることはなくなる。
【００３３】
以上により、スロットルバルブが全開状態から閉じ側への駆動された状態での第１学習値の更新に基づくサブフィードバック学習値の学習により同学習値の学習精度が低下することを抑制でき、且つ上記状態での第２学習値の更新に基づくサブフィードバック学習値の学習により同学習値の学習頻度の低下を抑制することができるようになる。
【００３４】
請求項２記載の発明では、請求項１記載の発明において、前記第１学習値は、前記吸気バルブの最大リフト量及び作動角が最小値になるときに対応する値であり、前記第２学習値は、前記吸気バルブの最大リフト量及び作動角が最大値になるときに対応する値であり、前記補間補正値は、前記吸気バルブの最大リフト量及び作動角、並びに前記吸気圧に基づき「０」から「１．０」の範囲で可変とされ、前記最大リフト量及び作動角が大きくなるほど「０」に向けて小さくなるとともに、前記吸気圧が低くなるほど「０」に向かって小さくなるものであり、前記フィードバック学習値は、同学習値を「ＳＧ」とし、前記第１学習値を「Ａ」とし、前記第２学習値を「Ｂ」とし、前記補間補正値を「Ｋ」としたとき、次の式「ＳＧ＝Ｂ＋（Ａ−Ｂ）・Ｋ」を用いて算出されるものであり、前記判定値は、前記補間補正値における「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央または中央付近の値に定められていることを要旨とした。
【００３５】
上記構成によれば、判定値が補間補正値における「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央または中央付近の値に定められているため、補間補正値が判定値以上になる機会と判定値未満になる機会とが均等に生じる可能性が高い。従って、補間補正値が判定値以上になって第１学習値の更新によるフィードバック学習値の学習が行われる頻度と、補間補正値が判定値未満になって第２学習値の更新によるフィードバック学習値の学習が行われる頻度との均等化を図ることができる。
【００３６】
請求項３記載の発明では、請求項１又は２記載の発明において、前記内燃機関は、複数の気筒を有するものであり、前記センサは、前記気筒に各々繋がる排気通路の集合部分とそれよりも下流側の触媒との間に設けられたセンサ、及び前記触媒よりも下流側に設けられたセンサであり、前記フィードバック補正値は、前記触媒よりも下流側のセンサの出力と前記目標値との偏差に基づき増減し、前記触媒よりも上流側のセンサの出力に基づき内燃機関の実空燃比を理論空燃比とするための燃料噴射量の補正値として算出されて同燃料噴射量の補正に用いられるメインフィードバック補正値に反映されるサブフィードバック補正値であり、前記フィードバック学習値は、前記サブフィードバック補正値に基づき、内燃機関の実空燃比の理論空燃比に対する定常的なずれに対応する値となるよう学習されて前記メインフィードバック補正値に反映されるサブフィードバック学習値であることを要旨とした。
【００３７】
上記構成によれば、メインフィードバック補正値による燃料噴射量の補正により、内燃機関における実空燃比の理論空燃比への制御が行われる。そして、メインフィードバック補正値は、触媒よりも上流側であって各気筒に繋がる排気通路の集合部分の近くに設けられたセンサの出力に基づき算出される。このように設けられた同センサに対する各気筒から順に送り出された排気の当たり方は、各気筒からの排気毎に異なるものとなることは避けられない。また、各気筒からの排気に含まれる酸素濃度は、それら各気筒での燃料の燃焼状態によって異なるものとなる。このため、同センサの出力に関しては同センサに当たる排気が各気筒のうちのいずれからの排気かによって大きく変動し、それに合わせてメインフィードバック補正値も頻繁に且つ大きく変動する。
【００３８】
ここで仮に、内燃機関における実空燃比と理論空燃比との定常的なずれを上記メインフィードバック補正値に基づき学習値として学習しようとした場合について考えてみると、そのメインフィードバック補正値は上述した理由により頻繁に且つ大きく変動するものであることから、学習した学習値が上記定常的なずれに対応する値として必ずしも精度の高い値にできるとは限らない。このことから、触媒よりも上流側のセンサの出力における上記理由での大きな変動に起因したメインフィードバック補正値の頻繁かつ大きな変動を抑制すること、及び、メインフィードバック補正値による燃料噴射量の補正を通じての空燃比制御精度の触媒による影響を除去すること、等々を目的として、メインフィードバック補正値に対し、触媒よりも下流側のセンサの出力に基づき増減するサブフィードバック補正値、及び同サブフィードバック補正値に基づき学習されるサブフィードバック学習値の反映が行われる。
【００３９】
ここで、触媒よりも下流側のセンサの出力に関しては、同センサが排気通路における上記集合部分に対し下流側に離れて位置しているため、同センサに対する各気筒から順に送り出された排気の当たり方が各気筒からの排気毎に異なるものとはなりにくく、上記排気の当たり方の違いによる影響を受けにくい。従って、同センサからの出力に基づき増減するサブフィードバック補正値、及び同サブフィードバック補正値に基づき学習されるサブフィードバック学習値をメインフィードバック補正値に反映させることで、メインフィードバック補正値の上述した頻繁かつ大きな変動を抑制することが可能になる。また、同センサの出力は触媒を通過した後の排気中の酸素濃度に対応した値となるため、上記サブフィードバック補正値及びサブフィードバック学習値をメインフィードバック補正値に反映させることで、メインフィードバック補正値による燃料噴射量の補正を通じての空燃比制御精度の触媒による影響を除去することも可能になる。
【００４０】
上記構成によれば、こうしたサブフィードバック学習値の学習に関して、請求項１記載の発明と同等の効果が得られるようになる。従って、サブフィードバック学習値の反映されたメインフィードバック補正値による燃料噴射量の補正を行い、それによって内燃機関の実空燃比と理論空燃比との定常的なずれの補償を行うことで、その補償を的確に行うことができるようになる。
【図面の簡単な説明】
【００４１】
【図１】本実施形態の空燃比制御装置が適用されるエンジン全体を示す略図。
【図２】同エンジンの排気系における空燃比センサの取り付け位置を示す略図。
【図３】クランク角の変化に対する吸気バルブのリフト量の変化態様を示すタイミングチャート。
【図４】（ａ）及び（ｂ）は、エンジンの吸入空気量を要求量に調節する際におけるスロットルバルブの駆動分とバルブリフト可変機構の駆動分との割合を示すグラフ。
【図５】空燃比センサへの排気の当たり方の気筒毎の違い、及び混合気の空燃比の気筒毎の違いを示すグラフ。
【図６】吸気バルブの最大リフト量及び作動角の変化、及びエンジンの吸気圧の変化に対する補間補正値の推移を示すグラフ。
【図７】吸気バルブの最大リフト量及び作動角の変化と吸気通路の燃焼室との連通部分の通路面積との関係を示すグラフ。
【図８】吸気バルブの最大リフト量及び作動角の変化と実空燃比の理論空燃比に対する定常的なずれとの関係を示すグラフ。
【図９】吸気バルブの最大リフト量及び作動角の変化、並びにエンジンの吸気圧の変化に対するサブフィードバック学習値の推移を示すグラフ。
【図１０】サブフィードバック学習値の学習を行うに当たり、その学習を第１学習値の更新により実現するか、あるいは第２学習値の更新により実現するかを決める手順を示すフローチャート。
【図１１】吸気バルブの最大リフト量及び作動角の変化、及びエンジンの吸気圧の変化に対する補間補正値の推移を示すグラフ。
【発明を実施するための形態】
【００４２】
以下、本発明を自動車用四気筒エンジンの空燃比制御装置に具体化した一実施形態を図１〜図１１に従って説明する。
図１に示されるエンジン１においては、その燃焼室２に繋がる吸気通路３にスロットルバルブ１３が開閉可能に設けられており、同吸気通路３を通じて燃焼室２に空気が吸入されるとともに、燃料噴射弁４から噴射された燃料が同燃焼室２に供給される。この空気と燃料とからなる混合気に対し点火プラグ５による点火が行われると、同混合気が燃焼してピストン６が往復移動し、エンジン１の出力軸であるクランクシャフト７が回転する。
【００４３】
一方、燃焼室２にて燃焼した後の混合気は、排気として各燃焼室２から排気通路８に送り出され、同排気通路８に設けられた触媒コンバータ１６の三元触媒にて浄化された後に外部に放出される。この三元触媒は、触媒雰囲気の酸素濃度が理論空燃比での混合気の燃焼時の値になるとき、排気中の有害成分（ＨＣ，ＣＯ，ＮＯx）のすべてを最も効果的に除去できるものである。
【００４４】
また、排気通路８において、触媒コンバータ１６の上流側及び下流側にはそれぞれ排気中の酸素濃度に応じたリニアな検出信号を出力する空燃比センサ１７，１８が設けられている。より詳しくは、上記空燃比センサ１７は図２に示されるようにエンジン１における四つの気筒＃１，＃２，＃３，＃４の燃焼室２に各々繋がる排気通路８の集合部分の近傍であって触媒コンバータ１６よりも上流側に設けられ、上記空燃比センサ１８は触媒コンバータ１６よりも下流側に設けられている。
【００４５】
図１に示されるエンジン１において、燃焼室２と吸気通路３との間は吸気バルブ９の開閉動作によって連通・遮断され、燃焼室２と排気通路８との間は排気バルブ１０の開閉動作によって連通・遮断される。これら吸気バルブ９及び排気バルブ１０に関しては、クランクシャフト７の回転が伝達される吸気カムシャフト１１及び排気カムシャフト１２の回転に伴い開閉動作する。また、エンジン１には、吸気バルブ９の最大リフト量及び作動角を可変とするバルブリフト可変機構１４が設けられている。このバルブリフト可変機構１４は、電動モータ１５の所定回転角範囲内での回転駆動を通じて、吸気バルブ９の最大リフト量及び作動角を図３に示されるように互いに同期して変化させるものである。
【００４６】
次に、本実施形態における空燃比制御装置の電気的構成について、図１を参照して説明する。
この空燃比制御装置は、エンジン１に関する各種制御を実行する電子制御装置２１を備えている。電子制御装置２１は、上記制御に係る各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果等が一時記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００４７】
電子制御装置２１の入力ポートには、上記空燃比センサ１７，１８の他、以下に示す各種センサ等が接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダル２７の踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２８。
【００４８】
・吸気通路３に設けられたスロットルバルブ１３の開度（スロットル開度）を検出するスロットルポジションセンサ３０。
・吸気通路３を通じて燃焼室２に吸入される空気の量を検出するエアフローメータ３２。
【００４９】
・吸気通路３内におけるスロットルバルブ１３よりも下流側の圧力（吸気圧）を検出する吸気圧センサ３３。
・クランクシャフト７の回転に対応する信号を出力し、エンジン回転速度の算出等に用いられるクランクポジションセンサ３４。
【００５０】
・電動モータ１５の上記所定回転角範囲内の値となる回転角を検出するための位置センサ３５。
電子制御装置２１の出力ポートには、燃料噴射弁４、スロットルバルブ１３、及び電動モータ１５の駆動回路等が接続されている。
【００５１】
そして、電子制御装置２１は、上記各種センサから入力した検出信号に基づき、エンジン回転速度やエンジン負荷（エンジン１の１サイクル当たりに燃焼室２に吸入される空気の量）といったエンジン運転状態を把握する。なお、エンジン回転速度はクランクポジションセンサ３４からの検出信号に基づき求められる。また、エンジン負荷は、アクセルポジションセンサ２８、スロットルポジションセンサ３０、及び、エアフローメータ３２等の検出信号に基づき求められるエンジン１の吸入空気量と上記エンジン回転速度とから算出される。電子制御装置２１は、エンジン負荷やエンジン回転速度といったエンジン運転状態に応じて、上記出力ポートに接続された各種駆動回路に指令信号を出力する。こうしてエンジン１における燃料噴射量制御、及び吸入空気量制御等が電子制御装置２１を通じて実施される。
【００５２】
エンジン１の吸入空気量制御は、バルブリフト可変機構１４の駆動、及びスロットルバルブ１３の開閉によって行われる。詳しくは、エンジン１のポンピングロスを低く抑えることを目的として、可能な限りスロットルバルブ１３を全開としつつ、バルブリフト可変機構１４の駆動による吸気バルブ９の最大リフト量及び作動角の可変だけで、エンジン１の吸入空気量を要求量へと調整することが行われる。
【００５３】
スロットルバルブ１３を全開としつつバルブリフト可変機構１４の駆動だけで吸入空気量を要求量へと制御する際には、それを実現するためのバルブリフト可変機構１４の駆動分とスロットルバルブ１３の駆動分との割合は、図４の（ａ）で示されるような割合となる。すなわち、バルブリフト可変機構１４の駆動分が「１００％」となり、スロットルバルブ１３の駆動分が「０％」となる。このようにスロットルバルブ１３を全開としたまま吸入空気量を調整することで、吸気圧を大気圧寄りの高い値とすることが可能になり、エンジン１のポンピングロスを低く抑えることが可能になる。
【００５４】
ただし、アイドル運転を含む低負荷運転時などエンジン１における吸入空気量の要求量が少ない運転状態である場合、バルブリフト可変機構１４の駆動による吸気バルブ９の最大リフト量及び作動角の可変だけでは吸入空気量を要求量まで減量しきれない。従って、このようなエンジン運転状態のもとでは、バルブリフト可変機構１４の駆動に併せて、スロットルバルブ１３の全開から閉じ側への駆動も行い、エンジン１における吸入空気量の要求量への減量が図られる。また、バルブリフト可変機構１４の固着異常により、吸気バルブ９の最大リフト量及び作動角を小さくして吸入空気量を要求量まで減量できなくなった場合などにも、スロットルバルブ１３の全開から閉じ側への駆動により吸入空気量の要求量への減量が図られる。
【００５５】
このように吸入空気量を要求量に制御する際には、それを実現するためのバルブリフト可変機構１４の駆動分とスロットルバルブ１３の駆動分との割合は、例えば、図４の（ｂ）で示されるような割合となる。上記バルブリフト可変機構１４の駆動分は吸入空気量の要求量の減少に伴い「１００％」よりも小さい値となってゆき、スロットルバルブ１３の駆動分は上記要求量の減量に伴い「０％」よりも大きい値となってゆく。このようにスロットルバルブ１３の駆動分が多くなるということは、スロットルバルブ１３がより閉じ側に駆動されるということを意味し、同バルブ１３の駆動を通じてエンジン１の吸気圧が低下することを意味する。
【００５６】
エンジン１の燃料噴射量制御は、エンジン回転速度及びエンジン負荷等に基づき、そのときに必要とされる燃料噴射量を指示噴射量Ｑとして算出し、当該指示噴射量Ｑに対応する量の燃料が噴射されるよう燃料噴射弁４を駆動することによって実現される。こうした燃料噴射量制御で用いられる指示噴射量Ｑは、基本燃料噴射量Ｑbase、メインフィードバック補正値ＤＦ、及び、メインフィードバック学習値ＭＧ(i) に基づき、以下の式（１）を用いて算出される。
【００５７】
Ｑ＝Ｑbase＋ＤＦ＋ＭＧ(i)   …（１）
Ｑ      ：指示噴射量
Ｑbase  ：基本燃料噴射量
ＤＦ    ：メインフィードバック補正値
ＭＧ(i) ：メインフィードバック学習値
ここで、基本燃料噴射量Ｑbaseは、理論空燃比の混合気を得るために必要な理論上の燃料噴射量であって、エアフローメータ３２からの検出信号等に基づき求められるエンジン１の吸入空気量ＧＡ、及び、理論空燃比「１４．７」に基づき、「Ｑbase＝ＧＡ／１４．７  …（３）」という式を用いて算出される値である。
【００５８】
メインフィードバック補正値ＤＦは、燃料噴射量（基本燃料噴射量Ｑbase）を補正するためのものであって、エンジン１の実空燃比が理論空燃比（目標値）となるよう空燃比センサ１７の検出信号から求められるエンジン１の実空燃比に基づいて増減されるものである。こうしたメインフィードバック補正値ＤＦの増減を通じて、エンジン１の実空燃比が理論空燃比となるように指示噴射量Ｑが増減され、これにより実空燃比を理論空燃比とするためのメインフィードバック制御が実現される。
【００５９】
メインフィードバック学習値ＭＧ(i) は、メインフィードバック補正値ＤＦと同じく燃料噴射量（基本燃料噴射量Ｑbase）を補正するためのものであって、エンジン１における吸気系や燃料噴射系の詰まり等に起因するエンジン１の空燃比の理論空燃比に対する定常的なずれを補償する値となるよう更新されるものである。こうしたメインフィードバック学習値ＭＧ(i) の更新は、メインフィードバック補正値ＤＦに基づいて行われる。そして、それらメインフィードバック学習値ＭＧ(i) 及びメインフィードバック補正値ＤＦによる燃料噴射量の補正、並びに、メインフィードバック学習値ＭＧ(i) の更新を通じて、当該学習値ＭＧ(i) を上記定常的なずれに対応する値として学習するメインフィードバック学習制御が実現される。
【００６０】
次に、メインフィードバック制御におけるメインフィードバック補正値ＤＦの算出手順、及び、メインフィードバック学習制御におけるメインフィードバック学習値ＭＧ(i) の更新手順について個別に説明する。
【００６１】
［メインフィードバック補正値ＤＦの算出］
メインフィードバック補正値ＤＦは、燃料量偏差ΔＱ、比例ゲインＧｐ、燃料量偏差積算値ΣΔＱ、及び、積分ゲインＧｉに基づき、以下の式（４）を用いて算出される。
【００６２】
ＤＦ＝ΔＱ・Ｇｐ＋ΣΔＱ・Ｇｉ  …（４）
ＤＦ  ：メインフィードバック補正値
ΔＱ  ：燃料量偏差
Ｇｐ  ：比例ゲイン（負の値）
ΣΔＱ：燃料量偏差積算値
Ｇｉ  ：積分ゲイン（負の値）
式（４）において、右辺の「ΔＱ・Ｇｐ」という項は、実空燃比の理論空燃比からのずれ量に比例した大きさをとる比例項であって、そのずれ量に対応する分だけ燃料噴射量を増加又は減少させて実空燃比を理論空燃比に近づけるためのものである。
【００６３】
この比例項「ΔＱ・Ｇｐ」で用いられる燃料量偏差ΔＱは、実際に燃焼された燃料量から理論空燃比の混合気を得るために必要な理論上の燃料量を差し引いた値であって、吸入空気量ＧＡ、実空燃比ＡＢＦ、及び、基本燃料噴射量Ｑbaseに基づき、「ΔＱ＝（ＧＡ／ＡＢＦ）−Ｑbase  …（５）」という式を用いて算出される。なお、上記実空燃比ＡＢＦは、空燃比センサ１７の出力ＶＡＦに基づき、「ＡＢＦ＝ｇ（ＶＡＦ）  …（６）」という式を用いて算出される。
【００６４】
空燃比センサ１７の出力ＶＡＦは、触媒上流の排気中の酸素濃度が薄くなるほど小さくなり、理論空燃比での混合気の燃焼が行われたときには、そのときの排気中の酸素濃度に対応して例えば「０ｖ」となる。従って、リッチ混合気の燃焼（リッチ燃焼）に起因して触媒上流の排気中の酸素濃度が薄くなるほど、空燃比センサ１７の出力ＶＡＦが「０ｖ」よりも小さい値になる。また、リーン混合気の燃焼（リーン燃焼）に起因して触媒上流の排気中の酸素濃度が濃くなるほど、空燃比センサ１７の出力ＶＡＦ「０ｖ」よりも大きい値になる。
【００６５】
また、比例項「ΔＱ・Ｇｐ」で用いられる比例ゲインＧｐは、予め実験等によって求められた定数であって、ここでは負の値として設定されている。
式（４）において、右辺の「ΣΔＱ・Ｇｉ」という項は、上記比例項「ΔＱ・Ｇｐ」による燃料噴射量の増減だけでは打ち消すことのできない実空燃比と理論空燃比との間の残留偏差を無くすための積分項であって、その残留偏差に対応する分だけ燃料噴射量を増加又は減少させて実空燃比と理論空燃比との一致を図るためのものである。
【００６６】
この積分項「ΣΔＱ・Ｇｉ」で用いられる燃料量偏差積算値ΣΔＱは、所定の時間間隔で燃料量偏差ΔＱを足し込んでゆく積算処理を通じて得られる値である。この積算処理では、所定の時間間隔毎に「ΣΔＱ←前回のΣΔＱ＋ΔＱ  …（７）」という式が実行される。また、積分項「ΣΔＱ・Ｇｉ」で用いられる積分ゲインＧｉは、予め実験等によって求められた定数であって、ここでは負の値として設定されている。
【００６７】
従って、実際に燃焼された燃料量が少な過ぎて実空燃比ＡＢＦが大（リーン）になる場合には、上記式（５）によって算出される燃料量偏差ΔＱが負の方向に変化することから、式（４）によって算出されるメインフィードバック補正値ＤＦが増大する。これとは逆に、実際に燃焼された燃料量が多すぎて実空燃比ＡＢＦが小（リッチ）になる場合には、燃料量偏差ΔＱが正の方向に変化することから、メインフィードバック補正値ＤＦが減少する。
【００６８】
以上のように、実空燃比ＡＢＦに基づきメインフィードバック補正値ＤＦを増減させることで、指示噴射量Ｑが増減し、エンジン１の空燃比が理論空燃比となるよう同エンジン１の燃料噴射量が調整される。
【００６９】
［メインフィードバック学習値ＭＧ(i) の更新］
メインフィードバック学習値ＭＧ(i) は、基本燃料噴射量Ｑbaseに対するメインフィードバック補正値ＤＦの割合であるフィードバック補正率が例えば１％以上であって、且つ、メインフィードバック補正値ＤＦが安定しているときに更新される。具体的には、「ＭＧ(i) ←最新のＤＦ  …（８）」という式に基づき、その時点でのメインフィードバック補正値ＤＦをメインフィードバック学習値ＭＧ(i) とすることで、当該学習値ＭＧ(i) の更新が行われる。
【００７０】
従って、メインフィードバック補正値ＤＦが大である場合にはメインフィードバック学習値ＭＧ(i) が増大側に更新され、同学習値ＭＧ(i) による指示噴射量Ｑの増大側への補正を通じてエンジン１の燃料噴射量が増量される。また、メインフィードバック補正値ＤＦが小である場合にはメインフィードバック学習値ＭＧ(i) が減少側に更新され、同学習値ＭＧ(i) による指示噴射量Ｑの減少側への補正を通じてエンジン１の燃料噴射量が減量される。
【００７１】
以上のようなメインフィードバック学習値ＭＧ(i) の更新、及び  同学習値ＭＧ(i) による燃料噴射量の補正を通じて、メインフィードバック補正値ＤＦが「０」に近づけられるようになる。また、メインフィードバック補正値ＤＦがある程度「０」に近づいて安定したときのメインフィードバック学習値ＭＧ(i) は、吸気系や燃料噴射系の詰まり等に起因するエンジン１の空燃比の理論空燃比に対する定常的なずれに対応する値になる。そして、このときのメインフィードバック学習値ＭＧ(i) が上記定常的なずれに対応する値として学習された値になる。
【００７２】
なお、メインフィードバック学習値ＭＧ(i) はエンジン負荷領域に応じて区分された複数の学習領域ｉ（ｉ＝１、２、３・・・）毎に用意される。そして、エンジン１の運転状態の変化に応じて、その運転状態に対応する学習領域ｉが変化すると、更新されるメインフィードバック学習値ＭＧ(i) も上記変化後の学習領域ｉに対応したものへと切り換えられる。こうして学習領域ｉ毎にメインフィードバック学習値ＭＧ(i) の更新が行われるようになる。
【００７３】
しかし、上述したように学習されたメインフィードバック学習値ＭＧ(i) は、エンジン１における空燃比の理論空燃比に対する定常的なずれに対応する値として、ある程度の精度を確保することはできるものの、精度のそれほど高くない値にしかならない。これは、メインフィードバック補正値ＤＦが触媒コンバータ１６の上流側であって各気筒＃１〜＃４に各々つながる排気通路８の集合部分の近くに設けられた空燃比センサ１７の出力ＶＡＦに基づき算出されることが関係している。すなわち、このように設けられた空燃比センサ１７に対する各気筒＃１〜＃４から順に送り出された排気の当たり方は、例えば図５に示されるように各気筒＃１〜＃４の排気毎に異なるものとなることは避けられない。また、各気筒＃１〜＃４からの排気中の酸素濃度、言い換えれば各気筒＃１〜＃４での混合気での空燃比は、それら各気筒＃１〜＃４での燃料の燃焼状態によって、例えば同図に示されるように異なるものとなる。このため、空燃比センサ１７の出力ＶＡＦに関しては同センサ１７に当たる排気が各気筒＃１〜＃４のうちのいずれからの排気かによって大きく変動し（ばらつき）、それに合わせてメインフィードバック補正値ＤＦも頻繁に且つ大きく変動する。そして、頻繁に且つ大きく変動するメインフィードバック補正値ＤＦに基づきメインフィードバック学習値ＭＧ(i)の学習が行われることから、同学習値ＭＧ(i)は上記定常的なずれに対応する値として精度のそれほど高くない値にしかならない。
【００７４】
この実施形態では、上述した空燃比センサ１７における出力特性のばらつきや経時変化等によってメインフィードバック補正値ＤＦが頻繁に且つ大きく変動し、それに起因してメインフィードバック制御の精度が低下するのを抑制するため、サブフィードバック制御が実施される。また、空燃比センサ１７や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれをより的確に補償するため、サブフィードバック学習制御も実施される。以下、サブフィードバック制御、及びサブフィードバック学習制御について、詳しく説明する。
【００７５】
サブフィードバック制御、及び、サブフィードバック学習制御では、メインフィードバック補正値ＤＦに対するサブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧによる補正が行われ、これにより同補正値ＤＦにサブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧが反映される。詳しくは、以下の式（９）に基づき空燃比センサ１７の出力ＶＡＦをサブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧにより補正し、補正後の出力ＶＡＦを用いて式（４）に基づきメインフィードバック補正値ＤＦを算出することで、当該補正値ＤＦの上記補正値ＶＨ及び学習値ＳＧによる補正が行われる。
【００７６】
ＶＡＦ←最新のＶＡＦ＋ＶＨ＋ＳＧ  …（９）
ＶＡＦ：空燃比センサの出力
ＶＨ  ：サブフィードバック補正値
ＳＧ  ：サブフィードバック学習値
サブフィードバック補正値ＶＨは、触媒下流の空燃比センサ１８からの検出信号に応じて増減されるものである。このように増減するサブフィードバック補正値ＶＨによるメインフィードバック補正値ＤＦの補正を通じて、指示噴射量Ｑが増減され、これによりメインフィードバック制御の精度低下を抑制するサブフィードバック制御が実現される。なお、こうしたサブフィードバック制御の実行により、サブフィードバック補正値ＶＨはメインフィードバック制御の精度低下を抑制する値へと変化するようになる。
【００７７】
サブフィードバック学習値ＳＧは、エンジン１の空燃比の理論空燃比に対する定常的なずれを補償する値となるよう、サブフィードバック補正値ＶＨに基づき更新（学習）されるものである。このサブフィードバック補正値ＶＨと上記サブフィードバック学習値ＳＧによるメインフィードバック補正値ＤＦの補正、並びに、サブフィードバック学習値ＳＧの更新（学習）を通じて、空燃比センサ１７や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれを補償するサブフィードバック学習制御が実現される。
【００７８】
ここで、空燃比センサ１８の出力に関しては、同センサ１８が排気通路８における上記集合部分に対し下流側に離れて位置しているため、同センサ１８に対する各気筒＃１〜＃４から順に送り出された排気の当たり方が各気筒＃１〜＃４からの排気毎に異なるものとはなりにくく、上記排気の当たり方の違いによる影響を受けにくい。従って、同センサ１８からの出力に基づき増減するサブフィードバック補正値ＶＨ、及び同サブフィードバック補正値ＶＨに基づき学習されるサブフィードバック学習値ＳＧをメインフィードバック補正値ＤＦに反映させることで、同補正値ＤＦの上述した頻繁かつ大きな変動を抑制することが可能になる。また、空燃比センサ１８の出力は触媒を通過した後の排気中の酸素濃度に対応した値となるため、上記サブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧをメインフィードバック補正値ＤＦに反映させることで、同補正値ＤＦによる燃料噴射量の補正を通じての空燃比制御の精度に対する触媒劣化等による影響を除去することも可能になる。
【００７９】
また、空燃比センサ１８の出力は、各気筒から順に送り出された排気の同センサ１８への当たり方の違いによる影響を受けにくい。このため、上記サブフィードバック学習値ＳＧは、メインフィードバック学習値ＭＧ(i) と比較して、エンジン１の実空燃比と理論空燃比との定常的なずれに対応する値として精度の高いものとなる。このサブフィードバック学習値ＳＧをメインフィードバック学習値ＭＧ(i) に反映させることで、エンジン１の空燃比の理論空燃比に対する定常的なずれをより的確に補償することができる。
【００８０】
次に、サブフィードバック制御におけるサブフィードバック補正値ＶＨの算出手順、及び、サブフィードバック学習制御におけるサブフィードバック学習値ＳＧの算出手順について個別に説明する。
【００８１】
［サブフィードバック補正値ＶＨの算出手順］
サブフィードバック補正値ＶＨは、空燃比センサ１８の出力ＶＯ、比例ゲインＫｐ、出力積算値ΣＶＯ、積分ゲインＫｉ、電圧微分値ｄＶ、及び、微分ゲインＫｄに基づき、以下の式（１０）を用いて算出される。
【００８２】
ＶＨ＝ＶＯ・Ｋｐ＋ΣＶＯ・Ｋｉ＋ｄＶ・Ｋｄ  …（１０）
ＶＨ  ：サブフィードバック補正値
ＶＯ  ：空燃比センサ出力
Ｋｐ  ：比例ゲイン（正の値）
ΣＶＯ：出力積算値
Ｋｉ  ：積分ゲイン（正の値）
ｄＶ  ：電圧微分値
Ｋｄ  ：微分ゲイン（正の値）
式（１０）において、右辺の「ＶＯ・Ｋｐ」という項は、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値とのずれ量に比例した大きさをとる比例項であって、そのずれ量に対応する分だけメインフィードバック補正値ＤＦ（出力ＶＡＦ）を増減させ、上記ずれ量を「０」に近づけるためのものである。
【００８３】
この比例項「ＶＯ・Ｋｐ」で用いられる空燃比センサ１８の出力ＶＯは、触媒下流の排気中の酸素濃度が薄くなるほど小さくなり、理論空燃比での混合気の燃焼が行われたときには、そのときの排気中の酸素濃度に対応して例えば「０ｖ」となる。従って、リーン燃焼が行われること等に起因して触媒下流の排気中の酸素濃度が理論空燃比で混合気を燃焼させたときの値よりも濃くなると、空燃比センサ１８からは「０ｖ」よりも大きい値が出力される。また、リッチ燃焼が行われること等に起因して触媒下流の排気中の酸素濃度が理論空燃比の混合気を燃焼させたときの値よりも薄くなると、空燃比センサ１８からは「０ｖ」よりも小さい値が出力される。また、比例項「ＶＯ・Ｋｐ」で用いられる比例ゲインＫｐは、予め実験等によって求められた定数であって、ここでは正の値として設定されている。
【００８４】
式（１０）において、右辺の「ΣＶＯ・Ｋｉ」という項は、上記比例項「ＶＯ・Ｋｐ」によるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の増減だけでは打ち消すことのできない残留偏差、即ち触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値との間の残留偏差を無くすための積分項である。そして、この積分項「ΣΣＶＯ・Ｋｉ」は上記残留偏差に対応する値となり、その積分項「ΣＶＯ・Ｋｉ」の分だけメインフィードバック補正値ＤＦ（出力ＶＡＦ）を増加又は減少させることで、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値との一致が図られるようになる。
【００８５】
積分項「ΣＶＯ・Ｋｉ」で用いられる出力積算値ΣＶＯは、所定の時間間隔で空燃比センサ１７の出力ＶＯを足し込んでゆく積算処理を通じて得られる値である。この積算処理では、所定の時間間隔毎に「ΣＶＯ←前回のΣＶＯ＋ＶＯ  …（１２）」という式が実行される。また、積分項「ΣＶＯ・Ｋｉ」で用いられる積分ゲインＫｉは、予め実験等によって求められた定数であって、ここでは正の値として設定されている。
【００８６】
式（１０）において、右辺の「ｄＶ・Ｋｄ」という項は、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値とのずれ量を応答性よく「０」に収束させるための微分項である。
【００８７】
微分項「ｄＶ・Ｋｄ」に用いられる電圧微分値ｄＶは、空燃比センサ１８の出力ＶＯを時間微分して得られる値であって、当該出力ＶＯの単位時間当たりの変化量を表すものである。また、微分項「ｄＶ・Ｋｄ」に用いられる微分ゲインＫｄは、予め実験等によって求められた定数であって、ここでは正の値として設定されている。
【００８８】
従って、触媒下流の排気中の酸素濃度が理論空燃比での燃焼時の値よりも薄くなる場合（リッチ燃焼時）には、空燃比センサ１８の出力ＶＯが負の方向に変化することから、式（１０）によって算出されるサブフィードバック補正値ＶＨが減少する。言い換えれば、実空燃比と理論空燃比との偏差に基づき空燃比センサ１８の出力ＶＯが負の方向に変化してサブフィードバック補正値ＶＨが減少する。これとは逆に、触媒下流の排気中の酸素濃度が理論空燃比での燃焼時の値よりも濃くなる場合（リーン燃焼時）には、空燃比センサ１８の出力ＶＯが正の方向に変化することから、サブフィードバック補正値ＶＨが増加する。言い換えれば、実空燃比と理論空燃比との偏差に基づき空燃比センサ１８の出力ＶＯが正の方向に変化してサブフィードバック補正値ＶＨが増加する。
【００８９】
以上のように、触媒下流の排気中の酸素濃度に基づきサブフィードバック補正値ＶＨを増減させ、メインフィードバック補正値ＤＦ（出力ＶＡＦ）を増加側又は減少側に補正することで、空燃比センサ１７における出力特性のばらつきや経時変化等によるメインフィードバック制御の精度低下が抑制される。
【００９０】
［サブフィードバック学習値ＳＧの算出手順］
サブフィードバック学習値ＳＧは、第１学習値Ａ、第２学習値Ｂ、及び補間補正値Ｋに基づき、以下の式（１３）を用いて算出される。
【００９１】
ＳＧ＝Ｂ＋（Ａ−Ｂ）・Ｋ      …（１３）
ＳＧ：サブフィードバック学習値
Ａ  ：第１学習値
Ｂ  ：第２学習値
Ｋ  ：補間補正値
式（１３）において、第１学習値Ａは、吸気バルブ９の最大リフト量及び作動角が小さいとき（この例では最小値になるとき）に対応する学習値として、サブフィードバック補正値ＶＨに基づき更新されるものである。具体的には、吸気バルブ９の最大リフト量及び作動角の小さいとき等に、最新のサブフィードバック補正値ＶＨに徐変処理を施して更新量ＳＧＫを算出し、この算出値に対し上限ガード及び下限ガードして得られる更新量ＳＧＫに基づき、「Ａ←前回のＡ＋ＳＧＫ  …（１４）」という式を用いて更新される。つまり、上記ガード後の更新量ＳＧＫを前回の第１学習値Ａに加算することで、同第１学習値Ａの更新が行われるようになる。
【００９２】
式（１３）において、第２学習値Ｂは、吸気バルブ９の最大リフト量及び作動角が大きいとき（この例では最大値になるとき）に対応する学習値としてサブフィードバック補正値ＶＨに基づき更新されるものである。具体的には、吸気バルブ９の最大リフト量及び作動角の大きいとき等に、最新のサブフィードバック補正値ＶＨに徐変処理を施して更新量ＳＧＫを算出し、この算出値に対し上限ガード及び下限ガードして得られる更新量ＳＧＫに基づき、「Ｂ←前回のＢ＋ＳＧＫ  …（１５）」という式を用いて更新される。つまり、上記ガード後の更新量ＳＧＫを前回の第２学習値Ｂに加算することで、同第２学習値Ｂの更新が行われるようになる。
【００９３】
式（１３）において、補間補正値Ｋは、現在の吸気バルブ９の最大リフト量及び作動角、並びに現在のエンジン１の吸気圧に基づき図６に示されるように「０」から「１．０」の範囲で可変設定され、第１学習値Ａや第２学習値Ｂの更新に対するサブフィードバック学習値ＳＧの変化の感度を定めるものである。なお、上記吸気バルブ９の最大リフト量及び作動角は、位置センサ３５によって検出される電動モータ１５の回転角に基づき求められる。この補間補正値Ｋが小さくされるほど、第１学習値Ａや第２学習値Ｂの更新に対するサブフィードバック学習値ＳＧの変化の感度が小さくなる。
【００９４】
式（１３）〜（１５）から分かるように、サブフィードバック補正値ＶＨが「０」よりも大である場合にはサブフィードバック学習値ＳＧが増大側に更新され、同学習値ＳＧによるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の増大側への補正を通じて燃料噴射量が増量される。また、サブフィードバック補正値ＶＨが「０」よりも小である場合にはサブフィードバック学習値ＳＧが減少側に更新され、同学習値ＳＧによるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の減少側への補正を通じて燃料噴射量が減量される。
【００９５】
以上のようなサブフィードバック学習値ＳＧの算出、及び、同学習値ＳＧによるメインフィードバック補正値ＤＦの補正を通じて、サブフィードバック補正値ＶＨが「０」に近づけられるようになる。また、サブフィードバック補正値ＶＨがある程度「０」に近づいて安定したときのサブフィードバック学習値ＳＧは、エンジン１の空燃比の理論空燃比に対する定常的なずれに対応する値になる。そして、このときのサブフィードバック学習値ＳＧが上記定常的なずれに対応する値として学習された値になる。
【００９６】
ところで、エンジン１の実空燃比の理論空燃比に対する定常的なずれの原因としては、吸気バルブ９回りの組み付け誤差や同バルブ９へのデポジットの堆積により、吸気通路３の燃焼室２との接続部分の通路面積が図７に二点鎖線で示されるように適正値（実線）からずれ量ΔＳだけずれるということもあげられる。こうした原因による実空燃比の理論空燃比に対する定常的なずれは、図８の破線（理論空燃比）と一点鎖線（実空燃比）との間の縦軸方向の距離で表されるように、吸気バルブ９の最大リフト量及び作動角が小さくなって吸入空気量が少なくなるほど大となる。従って、上記原因による実空燃比の理論空燃比に対する定常的なずれは、吸気バルブ９の最大リフト量及び作動角が小さいときに主に生じることとなる。
【００９７】
これは、吸気バルブ９の最大リフト量及び作動角が小さくなって上記通路面積が小となるほど、図７のずれ量ΔＳの上記通路面積全体に占める割合が大きくなるためである。言い換えれば、吸気バルブ９の最大リフト量及び作動角が小さくなって吸入空気量が少なくなるほど、上記原因による吸入空気量の適正値に対するずれ量（ΔＳに対応）の吸入空気量全体に占める割合が大きくなるためである。このように、吸気バルブ９の最大リフト量及び作動角が小さいときには、上記原因によるエンジン１の吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が大きくなり、それが実空燃比の理論空燃比に対する定常的なずれとして表れる。一方、吸気バルブ９の最大リフト量及び作動角が大きいときには、エンジン１の吸入空気量が多くなる関係から、上記原因による同エンジン１の吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が小さくなり、それが実空燃比の理論空燃比に対する定常的なずれとして表れにくくなる。
【００９８】
上記原因によるエンジン１の実空燃比の理論空燃比に対する定常的なずれに関しても、同定常的なずれに対応する値としてサブフィードバック学習値ＳＧの学習を行い、同学習値ＳＧに基づき燃料噴射量を補正することによって、補償を図ることが可能である。具体的には、吸気バルブ９の最大リフト量及び作動角が小さいとき、上記定常的なずれに対応して変化するサブフィードバック補正値ＶＨに基づき式（１３）の第１学習値Ａが更新される。そして、更新後の第１学習値Ａ等に基づき上記式（１３）を用いてサブフィードバック学習値ＳＧを算出することにより、サブフィードバック学習値ＳＧの上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値への学習が行われる。こうして学習されたサブフィードバック学習値ＳＧに基づき燃料噴射量を補正することにより、上記定常的なずれに対する補償が図られるようになる。
【００９９】
また、サブフィードバック学習値ＳＧの算出には、現在の吸気バルブ９の最大リフト量及び作動角、並びにエンジン１の吸気圧に基づき可変設定される補間補正値Ｋも用いられている。このため、算出されたサブフィードバック学習値ＳＧを吸気バルブ９の最大リフト量及び作動角、並びにエンジン１の吸気圧に対応した値とすることが可能になる。
【０１００】
この補間補正値Ｋに関しては、図６に示されるように吸気バルブ９の最大リフト量及び作動角が大きくなるほど小さい値とされ、第１学習値Ａや第２学習値Ｂの更新に対するサブフィードバック学習値ＳＧの変化の感度が小さくされる。これは、吸気バルブ９の最大リフト量及び作動角が大きくなって吸入空気量が多くなるほど、上記原因による吸入空気量の適正値に対するずれ量の吸入空気量全体に占める割合が小さくなり、上記原因による実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなることから、それに対応してサブフィードバック学習値ＳＧの学習を行うためである。
【０１０１】
更に、上記補間補正値Ｋに関しては、エンジン低負荷運転時やバルブリフト可変機構１４の固着異常時における吸入空気量の減量のためにスロットルバルブ１３が閉じ側に駆動される際にエンジン１の吸気圧が低下するほど小さい値とされ、第１学習値Ａや第２学習値Ｂの更新に対するサブフィードバック学習値ＳＧの変化の感度が小さくされる。これは、スロットルバルブ１３が閉じ側に駆動されてエンジン１の吸気圧が低下するほど、上記原因による同機関の吸入空気量の適正値に対するずれにおける実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなり、それに対応するようにサブフィードバック学習値ＳＧの学習を行うためである。
【０１０２】
以上のように補間補正値Ｋを算出し、その補間補正値Ｋに基づき上記（１３）を用いてサブフィードバック学習値ＳＧを算出することにより、次のような効果が得られる。すなわち、吸気バルブ９の最大リフト量及び作動角、並びにスロットルバルブ１３の開度を第１学習値Ａや第２学習値Ｂの更新を行ったときの値と異なる値に調整した状態でエンジン運転が行われる状況下において、サブフィードバック学習値ＳＧが上記原因による実空燃比の理論空燃比に対する定常的なずれに対応した値として適切な値となる。
【０１０３】
なお、このサブフィードバック学習値ＳＧにおける吸気バルブ９の最大リフト量及び作動角の変化に対する推移、並びにエンジン１の吸気圧の変化に対する推移を図９に示す。同図から分かるように、サブフィードバック学習値ＳＧの算出に用いられる第１学習値Ａと第２学習値Ｂとはそれぞれ、吸気バルブ９の最大リフト量及び作動角を最小値としたときと最大値としたときとに対応する値となっている。そして、第１学習値Ａから第２学習値Ｂを減算した値（「Ａ−Ｂ」）に対し現在の吸気バルブ９の最大リフト量及び作動角並びに現在のエンジン１の吸気圧に応じて可変設定される補間補正値Ｋを乗算し、乗算後の値「（Ａ−Ｂ）・Ｋ」を第２学習値Ｂに加算することでサブフィードバック学習値ＳＧが算出されることとなる。このように算出されるサブフィードバック学習値ＳＧに関しては、補間補正値Ｋと同じく、吸気バルブ９の最大リフト量及び作動角が大きくなるほど小さい値となり、スロットルバルブ１３が閉じ側に駆動されてエンジン１の吸気圧が低下するほど小さい値となる。
【０１０４】
次に、上記サブフィードバック学習値ＳＧの算出に関係して生じる不具合について説明する。
エンジン低負荷運転時などエンジン１における吸入空気量の要求量が少ない運転状態では、バルブリフト可変機構１４の駆動による吸気バルブ９の最大リフト量及び作動角の可変だけでは吸入空気量を要求量まで減量しきれないため、吸気バルブ９の最大リフト量及び作動角を小さくし、更にスロットルバルブ１３が閉じ側に駆動される。また、バルブリフト可変機構１４の固着異常により、吸気バルブ９の最大リフト量及び作動角を小さくして吸入空気量を要求量まで減量できなくなった場合にも、その吸入空気量の要求量への減量を実現すべくスロットルバルブ１３が閉じ側に駆動される。
【０１０５】
吸気バルブ９の最大リフト量及び作動角が小さくされ、更にスロットルバルブ１３が全開状態から閉じ側に駆動されているとき、第１学習値Ａの更新によりサブフィードバック学習値ＳＧを上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値となるよう学習すると、次のような不具合を招くおそれがある。すなわち、学習されたサブフィードバック学習値ＳＧが上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値として精度の低い値となるおそれがある。なお、図９に示される吸気バルブ９の最大リフト量及び作動角の可変領域、並びにエンジン１の吸気圧の変化領域において、上述した不具合の生じる領域を示すとすると、その領域は図中に二点鎖線で囲まれた領域Ｒ１ということになる。
【０１０６】
ここで、上記原因による実空燃比の理論空燃比に対する定常的なずれが生じており、吸気バルブ９の最大リフト量及び作動角が小さいときにサブフィードバック学習値ＳＧを上記定常的なずれに対応する値となるよう精度良く学習するためには、スロットルバルブ１３をほぼ全開とした状態で上記学習を行うことが重要である。従って、上述したようにスロットルバルブ１３が閉じ側に駆動された状態、且つ吸気バルブ９の最大リフト量及び作動角の小さい状態で、第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習が行われると、そのサブフィードバック学習値ＳＧを上記定常的なずれに対応した値となるよう学習することが困難になる。
【０１０７】
これは、吸気バルブ９の最大リフト量及び作動角が小さいときにスロットルバルブ１３が全開状態よりも閉じ側に駆動された状態では、エンジン１の吸入空気量の調整を行ううえでのスロットルバルブ開度の調整による分担分が大きくなることが関係している。すなわち、エンジン１の吸入空気量の調整を行う際、その調整のためのスロットルバルブ１３の開度調整による分担分が大きくなるとともに、上記吸入空気量の調整を行うための吸気バルブ９の最大リフト量及び作動角の調整による分担分が小さくなる。このように、エンジン１の吸入空気量の調整を行うための吸気バルブ９の最大リフト量及び作動角の調整による分担分が小さくなると、上記原因による実空燃比の理論空燃比に対する定常的なずれへの影響が小さくなる。このため、サブフィードバック学習値ＳＧが上記定常的なずれに対応する値となるように、第１学習値Ａをサブフィードバック補正値ＶＨに基づき更新し、それにより上記サブフィードバック学習値ＳＧを学習しても、その学習値ＳＧを精度のよい値とすることが困難になる。
【０１０８】
こうしたサブフィードバック学習値ＳＧの精度低下を抑制すべく、スロットルバルブ１３が全開状態から閉じ側に駆動されてエンジン１の吸気圧がスロットルバルブ全開時の吸気圧よりも低い値に定められた判定値以下に低下したとき、サブフィードバック学習値ＳＧの学習を禁止することが考えられる。なお、図９において、吸気バルブ９の最大リフト量及び作動角の変化に伴うサブフィードバック学習値ＳＧの推移を示す各実線のうち、スロットルバルブ１３を全開状態としたときのエンジン１の吸気圧に対応する推移を示すのは同中の最も上側に位置する実線であり、同吸気圧が上記判定値となったときに対応する推移を示すのは図中の実線Ｈである。
【０１０９】
従って、図９の実線Ｈよりも下側の領域ではサブフィードバック学習値ＳＧの学習が禁止されるようになり、同図の領域Ｒ１でのサブフィードバック学習値ＳＧの学習、詳しくは第１学習値Ａのサブフィードバック補正値ＶＨに基づく更新によるサブフィードバック学習値ＳＧの学習も禁止されるようになる。このようにサブフィードバック学習値ＳＧの学習を禁止することで、スロットルバルブ１３が全開状態から閉じ側に駆動されているときの第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習により、同学習値ＳＧにおける上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値としての精度が低下することは抑制される。
【０１１０】
しかし、エンジン１の吸気圧が判定値以下になるとき、すなわち図９の実線Ｈよりも下側の領域でサブフィードバック学習値ＳＧの学習を禁止すると、上記第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習、及び第２学習値Ｂの更新によるサブフィードバック学習値ＳＧの学習が共に禁止される。言い換えれば、上記第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習が禁止されるだけでなく、吸気バルブ９の最大リフト量及び作動角が大きいときに対応する第２学習値Ｂのサブフィードバック補正値ＶＨの更新によるサブフィードバック学習値ＳＧの学習も禁止される。このため、サブフィードバック学習値ＳＧの学習頻度が低下することは避けられなくなる。このようにサブフィードバック学習値ＳＧの学習頻度が低下すると、上記原因以外の原因での実空燃比の理論空燃比に対する定常的なずれが生じている場合には、第２学習値Ｂの更新によるサブフィードバック学習値ＳＧの学習が禁止される分、そのずれに対応する値となるよう同学習値ＳＧが学習されるまでに時間がかかるようになる。
【０１１１】
また、吸気バルブ９の最大リフト量及び作動角が中負荷運転時の値で固着したような場合、低負荷運転時におけるエンジン１の吸入空気量の必要量への調整がスロットルバルブ１３の閉じ側への駆動によって実現される。このため、エンジン１の吸気圧が判定値以下になりやすくなる。言い換えれば、吸気バルブ９の最大リフト量及び作動角の変化に伴うサブフィードバック学習値ＳＧの推移を示す実線が図９の実線Ｈよりも下側のものになりやすくなる。このため、サブフィードバック学習値ＳＧの学習が禁止されやすくなり、同学習値ＳＧの学習頻度が一層低下しやすくなる。その結果、サブフィードバック学習値ＳＧが上記定常的なずれに対応する値となるように学習されないまま同サブフィードバック学習値ＳＧが燃料噴射量の補正に用いられ、それによってエンジン１の実空燃比が理論空燃比からずれたままとなり、三元触媒による効果的な排気浄化を行えなくなるおそれがある。
【０１１２】
次に、上記サブフィードバック学習値ＳＧの算出に関係して生じる不具合に関する本実施形態の対策について説明する。
図１０は、サブフィードバック学習値ＳＧの学習を行うに当たり、その学習を第１学習値Ａの更新により実現するか、あるいは第２学習値Ｂの更新により実現するかを決めるための更新ルーチンを示すフローチャートである。この更新ルーチンは、サブフィードバック学習値ＳＧの学習が行われるとき、例えば所定時間毎の時間割り込みにて周期的に実行される。
【０１１３】
同ルーチンにおいては、まず吸気バルブ９の最大リフト量及び作動角、並びにエンジンの吸気圧に基づき、図６に示されるように補間補正値Ｋが算出され（Ｓ１０１）、その後に同補間補正値Ｋが予め定められた判定値Ｊ未満であるか否かが判断される（Ｓ１０２）。この判定値Ｊは、補間補正値Ｋの「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央または中央付近の値に定められている。
【０１１４】
上記補間補正値Ｋが判定値Ｊ以上であるときには、吸気バルブ９の最大リフト量及び作動角が小さいときに対応する第１学習値Ａのサブフィードバック補正値ＶＨに基づく更新が行われ（Ｓ１０３）、その第１学習値Ａの更新に基づきサブフィードバック学習値ＳＧの学習が行われる。また、補間補正値Ｋが判断値Ｊ未満であるときには、吸気バルブ９の最大リフト量及び作動角が大きいときに対応する第２学習値Ｂのサブフィードバック補正値ＶＨに基づく更新が行われ（Ｓ１０４）、その第２学習値Ｂの更新に基づきサブフィードバック学習値ＳＧの学習が行われる。
【０１１５】
このように、サブフィードバック学習値ＳＧの学習を補間補正値Ｋの大きさに応じて異なる態様で行うことにより、上述した不具合の発生を回避することができる。以下、この理由について図１１を参照して説明する。
【０１１６】
なお、図１１は、図６と同じく補間補正値Ｋにおける吸気バルブ９の最大リフト量及び作動角並びにエンジン１の吸気圧の変化に対する推移を示すとともに、その補間補正値Ｋと上記判定値Ｊとの関係を示している。また、図１１における二点鎖線で囲まれた領域Ｒ２は、図９に示される領域Ｒ１に相当する領域となっている。従って、この領域Ｒ２に関しても、領域Ｒ１と同じく、吸気バルブ９の最大リフト量及び作動角が小さい状態での第１学習値Ａの更新に基づきサブフィードバック学習値ＳＧが上記定常的なずれに対応する値として精度の低い値となるおそれがある領域ということになる。
【０１１７】
上述したように、補間補正値Ｋが判定値Ｊ以上であるときのみ、第１学習値Ａがサブフィードバック補正値ＶＨに基づき更新され、それによってサブフィードバック学習値ＳＧを上記原因による実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値ＳＧの学習が行われる。なお、補間補正値Ｋが判定値Ｊよりも大きくなるのは、スロットルバルブ１３が全開もしくはほぼ全開となってエンジン１の吸気圧が高くなり、且つ吸気バルブ９の最大リフト量及び作動角が小さくなり、それによって補間補正値Ｋが大きくなるときである。
【０１１８】
従って、吸気バルブ９の最大リフト量及び作動角の小さい状態、且つスロットルバルブ１３が閉じ側に駆動された状態となるとき、すなわち図中の領域Ｒ２において、第１学習値Ａの更新による同学習値ＳＧの学習が行われることはない。そして、そのようなサブフィードバック学習値ＳＧの学習が行われることにより、同サブフィードバック学習値ＳＧにおける上記原因によるエンジン１の実空燃比の理論空燃比に対する定常的なずれに対応する値としての精度が低下することは抑制される。
【０１１９】
一方、補間補正値Ｋが判定値Ｊ未満であるときには、上述したように第２学習値Ｂがサブフィードバック補正値ＶＨに基づき更新され、それによってサブフィードバック学習値ＳＧを実空燃比の理論空燃比に対する定常的なずれに対応する値とするための同学習値ＳＧの学習が行われる。なお、補間補正値Ｋが判定値Ｊ未満となるのは、吸気バルブ９の最大リフト量及び作動角が大きくなり、それによって補間補正値Ｋが小さくなるときである。また、吸気バルブ９の最大リフト量及び作動角が小さくても、スロットルバルブ１３が閉じ側に駆動されてエンジン１の吸気圧が低くなるときには、補間補正値Ｋが判定値Ｊ未満となる可能性が高い。
【０１２０】
従って、吸気バルブ９の最大リフト量及び作動角の小さい状態、且つスロットルバルブ１３が閉じ側に駆動された状態であるとき、すなわち図中の領域Ｒ２において、吸気バルブ９の最大リフト量及び作動角が大きいときに対応する第２学習値Ｂの更新によるサブフィードバック学習値ＳＧの学習を行うことが可能になる。このため、上記のような状態のとき、すなわち領域Ｒ２において、第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習、及び第２学習値Ｂの更新によるサブフィードバック学習値ＳＧの学習が共に禁止され、それによって同学習値ＳＧの学習頻度が低下することは抑制される。詳しくは、上記原因以外の原因によるエンジン１の実空燃比の理論空燃比に対する定常的なずれが生じている場合に、上記学習の禁止により第２学習値Ｂの更新を行えない分だけ、上記サブフィードバック学習値ＳＧの学習頻度が低下するということは抑制される。その結果、上記定常的なずれに対応する値となるようサブフィードバック学習値ＳＧが学習されるまでに時間がかかるという不具合が生じることはなくなる。
【０１２１】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）補間補正値Ｋが判定値Ｊ以上であるときには第１学習値Ａの更新に基づくサブフィードバック学習値ＳＧの学習が行われ、補間補正値Ｋが判断値Ｊ未満であるときには第２学習値Ｂの更新に基づくサブフィードバック学習値ＳＧの学習が行われる。これにより、スロットルバルブ１３が閉じ側に駆動された状態での第１学習値Ａの更新に基づくサブフィードバック学習値ＳＧの学習により学習精度が低下することを抑制でき、且つ上記状態での第２学習値Ｂの更新に基づくサブフィードバック学習値ＳＧの学習により同学習値ＳＧの学習頻度の低下を抑制することができる。従って、こうしたサブフィードバック学習値ＳＧをメインフィードバック補正値ＤＦに反映し、同補正値ＤＦにより燃料噴射量を補正してエンジン１の実空燃比と理論空燃比との定常的なずれの補償を行うことで、その補償を的確に行うことができるようになる。
【０１２２】
（２）上記判定値Ｊは、補間補正値Ｋにおける「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央または中央付近の値に定められている。このため、補間補正値Ｋが判定値Ｊ以上になる機会と判定値Ｊ未満になる機会とが均等に生じる可能性が高い。従って、補間補正値Ｋが判定値Ｊ以上になって第１学習値Ａの更新によるサブフィードバック学習値ＳＧの学習が行われる頻度と、補間補正値Ｋが判定値Ｊ未満になって第２学習値Ｂの更新によるサブフィードバック学習値ＳＧの学習が行われる頻度との均等化を図ることができる。
【０１２３】
なお、上記実施形態は、例えば以下のように変更することもできる。
・判定値Ｊに関しては、補間補正値Ｋにおける「０」から「１．０」までの可変設定範囲のうち使用頻度の高い範囲の中央や中央付近の値以外の値に定めることもできる。
【０１２４】
・補間補正値Ｋに関しては、第１学習値Ａと第２学習値Ｂとの差（「Ａ−Ｂ」）に対し乗算される値を例示したが、これに代えて上記差に対し加算される値を採用することも可能である。
【０１２５】
・第１学習値Ａとして、吸気バルブ９の最大リフト量及び作動角が最小値となるときに対応する値を採用する代わりに、それら最大リフト量及び作動角が最小値となるときよりもある程度大きい値となるときに対応する値を採用してもよい。この場合、こうした変更に対応して補間補正値Ｋも変更されることとなる。
【０１２６】
・第２学習値Ｂとして、吸気バルブ９の最大リフト量及び作動角が最大値となるときに対応する値を採用する代わりに、それら最大リフト量及び作動角が最大値となるときよりもある程度小さい値となるときに対応する値を採用してもよい。この場合、こうした変更に対応して補間補正値Ｋも変更されることとなる。
【符号の説明】
【０１２７】
１…エンジン、２…燃焼室、３…吸気通路、４…燃料噴射弁、５…点火プラグ、６…ピストン、７…クランクシャフト、８…排気通路、９…吸気バルブ、１０…排気バルブ、１１…吸気カムシャフト、１２…排気カムシャフト、１３…スロットルバルブ、１４…バルブリフト可変機構、１５…電動モータ、１６…触媒コンバータ、１７…空燃比センサ、１８…空燃比センサ、２１…電子制御装置、２７…アクセルペダル、２８…アクセルポジションセンサ、３０…スロットルポジションセンサ、３２…エアフローメータ、３３…吸気圧センサ、３４…クランクポジションセンサ、３５…位置センサ。
【図１】
2010209829.tif 000003
【図２】
2010209829.tif 000004
【図３】
2010209829.tif 000005
【図４】
2010209829.tif 000006
【図５】
2010209829.tif 000007
【図６】
2010209829.tif 000008
【図７】
2010209829.tif 000009
【図８】
2010209829.tif 000010
【図９】
2010209829.tif 000011
【図１０】
2010209829.tif 000012
【図１１】
2010209829.tif 000013