(57)【要約】【課題】燃料噴射弁の駆動時間が許容最小時間未満になった後、すぐに許容最小時間以上となるような場合に、実空燃比がリッチになって排気エミッションや燃焼状態に悪影響を及ぼすのを抑制する。【解決手段】メインフィードバック制御の実行中には、メインフィードバック補正値ＤＦの下限ガードに用いられるガード値として、指示噴射時間ｔａｕを許容最小時間ＴＡＵＭＩＮとするようなメインフィードバック補正値ＤＦに相当するガード値Ｇが算出される。そして、メインフィードバック補正値ＤＦがガード値Ｇ未満になって、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になった旨の判断がなされると、メインフィードバック補正値ＤＦがガード値Ｇに設定されるという下限ガードが行われる。こうした下限ガード処理を通じて指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも短くならないようにされる。【選択図】      図１
2006170098.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) の更新が行われるようになる。
【００５６】
次に、空燃比センサ１４における出力特性のばらつきや経時変化等によってメインフィードバック制御の精度が低下するのを抑制するサブフィードバック制御、及び、空燃比センサ１４や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれを補償するためのサブフィードバック学習制御について説明する。
【００５７】
サブフィードバック制御、及び、サブフィードバック学習制御では、メインフィードバック補正値ＤＦに対するサブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧによる補正が行われる。より詳しくは、以下の式（９）に基づき空燃比センサ１４の出力ＶＡＦをサブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧにより補正し、補正後の出力ＶＡＦを用いて式（４）〜（６）に基づきメインフィードバック補正値ＤＦを算出することで、当該補正値ＤＦの上記補正値ＶＨ及び学習値ＳＧによる補正が行われる。
【００５８】
ＶＡＦ←最新のＶＡＦ＋ＶＨ＋ＳＧ  …（９）
ＶＡＦ：空燃比センサの出力
ＶＨ  ：サブフィードバック補正値
ＳＧ  ：サブフィードバック学習値
サブフィードバック補正値ＶＨは、触媒下流の酸素センサ１５からの検出信号に応じて増減されるものである。このように増減するサブフィードバック補正値ＶＨによるメインフィードバック補正値ＤＦの補正を通じて、指示噴射量Ｑ（指示噴射時間ｔａｕ）が増減され、これによりメインフィードバック制御の精度低下を抑制するサブフィードバック制御が実現される。なお、こうしたサブフィードバック制御の実行により、サブフィードバック補正値ＶＨはメインフィードバック制御の精度低下を抑制する値へと変化するようになる。
【００５９】
サブフィードバック学習値ＳＧは、空燃比センサ１４や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれを補償する値となるよう、サブフィードバック補正値ＶＨに基づき更新されるものである。このサブフィードバック補正値ＶＨと上記サブフィードバック学習値ＳＧによるメインフィードバック補正値ＤＦの補正、並びに、サブフィードバック学習値ＳＧの更新を通じて、空燃比センサ１４や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれを補償するサブフィードバック学習制御が実現される。
【００６０】
次に、サブフィードバック制御におけるサブフィードバック補正値ＶＨの算出手順、及び、サブフィードバック学習制御におけるサブフィードバック学習値ＳＧの更新手順について個別に説明する。
【００６１】
［サブフィードバック補正値ＶＨの算出手順］
サブフィードバック補正値ＶＨは、電圧偏差ΔＶ、比例ゲインＫｐ、電圧偏差積算値ΣΔＶ、積分ゲインＫｉ、電圧微分値ｄＶ、及び、微分ゲインＫｄに基づき、以下の式（１０）を用いて算出される。
【００６２】
ＶＨ＝ΔＶ・Ｋｐ＋ΣΔＶ・Ｋｉ＋ｄＶ・Ｋｄ  …（１０）
ＶＨ  ：サブフィードバック補正値
ΔＶ  ：電圧偏差
Ｋｐ  ：比例ゲイン（負の値）
ΣΔＶ：電圧偏差積算値
Ｋｉ  ：積分ゲイン（負の値）
ｄＶ  ：電圧微分値
Ｋｄ  ：微分ゲイン（負の値）
式（１０）において、右辺の「ΔＶ・Ｋｐ」という項は、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値とのずれ量に比例した大きさをとる比例項であって、そのずれ量に対応する分だけメインフィードバック補正値ＤＦ（出力ＶＡＦ）を増減させ、上記ずれ量を「０」に近づけるためのものである。
【００６３】
この比例項「ΔＶ・Ｋｐ」で用いられる電圧偏差ΔＶは、酸素センサ１５の実際の出力ＶＯから理論空燃比の混合気を燃焼させたときの理論上の出力（例えば０．５ｖ）を差し引いた値であって、「ΔＶ＝ＶＯ−０．５ｖ  …（１１）」という式に基づき算出される。
【００６４】
酸素センサ１５の出力ＶＯは、図３に示されるように、触媒下流の排気中の酸素濃度が理論空燃比での混合気の燃焼が行われたときの値（酸素濃度Ｘ）であるときには上述したように「０．５ｖ」を出力するものである。そして、リーン燃焼が行われること等に起因して触媒下流の排気中の酸素濃度が上述した酸素濃度Ｘよりも濃くなると、酸素センサ１５からは「０．５ｖ」よりも小さい値がリーン信号として出力される。また、リッチ燃焼が行われること等に起因して触媒下流の排気中の酸素濃度が上述した酸素濃度Ｘよりも薄くなると、酸素センサ１５からは「０．５ｖ」よりも大きい値がリッチ信号として出力される。
【００６５】
また、比例項「ΔＶ・Ｋｐ」で用いられる比例ゲインＫｐは、予め実験等によって求められた定数であって、ここでは負の値として設定されている。
式（１０）において、右辺の「ΣΔＶ・Ｋｉ」という項は、上記比例項「ΔＶ・Ｋｐ」によるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の増減だけでは打ち消すことのできない残留偏差、即ち触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値との間の残留偏差を無くすための積分項である。そして、この積分項「ΣΔＶ・Ｋｉ」は上記残留偏差に対応する値となり、その積分項「ΣΔＶ・Ｋｉ」の分だけメインフィードバック補正値ＤＦ（出力ＶＡＦ）を増加又は減少させることで、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値との一致が図られるようになる。
【００６６】
この積分項「ΣΔＶ・Ｋｉ」で用いられる電圧偏差積算値ΣΔＶは、所定の時間間隔で電圧偏差ΔＶを足し込んでゆく積算処理を通じて得られる値である。この積算処理では、所定の時間間隔毎に「ΣΔＶ←前回のΣΔＶ＋ΔＶ  …（１２）」という式が実行される。また、積分項「ΣΔＶ・Ｋｉ」で用いられる積分ゲインＫｉは、予め実験等によって求められた定数であって、ここでは負の値として設定されている。
【００６７】
式（１０）において、右辺の「ｄＶ・Ｋｄ」という項は、触媒下流の酸素濃度についての実際の値と理論空燃比での燃焼が行われたときの値とのずれ量を応答性よく「０」に収束させるための微分項である。
【００６８】
この微分項「ｄＶ・Ｋｄ」に用いられる電圧微分値ｄＶは、酸素センサ１５の出力ＶＯを時間微分して得られる値であって、当該出力ＶＯの単位時間当たりの変化量を表すものである。また、微分項「ｄＶ・Ｋｄ」に用いられる微分ゲインＫｄは、予め実験等によって求められた定数であって、ここでは負の値として設定されている。
【００６９】
従って、触媒下流の排気中の酸素濃度が理論空燃比での燃焼時の値よりも薄くなる場合（リッチ燃焼時）には、上記式（１１）で算出される電圧偏差ΔＶが正の方向に変化することから、式（１０）によって算出されるサブフィードバック補正値ＶＨが減少する。これとは逆に、触媒下流の排気中の酸素濃度が理論空燃比での燃焼時の値よりも濃くなる場合（リーン燃焼時）には、電圧偏差ΔＶが負の方向に変化することから、サブフィードバック補正値ＶＨが増加する。
【００７０】
以上のように、触媒下流の排気中の酸素濃度に基づきサブフィードバック補正値ＶＨを増減させ、メインフィードバック補正値ＤＦ（出力ＶＡＦ）を増加側又は減少側に補正することで、空燃比センサ１４における出力特性のばらつきや経時変化等によるメインフィードバック制御の精度低下が抑制される。
【００７１】
［サブフィードバック学習値ＳＧの更新手順］
サブフィードバック学習値ＳＧは、最新のサブフィードバック補正値ＶＨに徐変処理を施して更新量ＳＧＫを算出し、この算出値に対し上限ガード及び下限ガードして得られる更新量ＳＧＫに基づき、「ＳＧ←前回のＳＧ＋ＳＧＫ  …（１３）」という式を用いて更新される。つまり、上記ガード後の更新量ＳＧＫを前回のサブフィードバック学習値ＳＧに加算することで、サブフィードバック学習値ＳＧの更新が行われるようになる。
【００７２】
従って、サブフィードバック補正値ＶＨが「０」よりも大である場合にはサブフィードバック学習値ＳＧが増大側に更新され、同学習値ＳＧによるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の増大側への補正を通じて燃料噴射量が増量される。また、サブフィードバック補正値ＶＨが「０」よりも小である場合にはサブフィードバック学習値ＳＧが減少側に更新され、同学習値ＳＧによるメインフィードバック補正値ＤＦ（出力ＶＡＦ）の減少側への補正を通じて燃料噴射量が減量される。
【００７３】
以上のようなサブフィードバック学習値ＳＧの更新、及び、同学習値ＳＧによるメインフィードバック補正値ＤＦの補正を通じて、サブフィードバック補正値ＶＨが「０」に近づけられるようになる。また、サブフィードバック補正値ＶＨがある程度「０」に近づいて安定したときのサブフィードバック学習値ＳＧは、空燃比センサ１４や触媒等に起因したエンジン１の空燃比の理論空燃比に対する定常的なずれに対応する値になる。
【００７４】
ところで、上述した「メインフィードバック制御」の実行中、アイドル運転時や減速時など燃料噴射量が少なくてすむ運転状態に移行し、この状態にあってメインフィードバック補正値ＤＦの減少によりエンジン１の燃料噴射量が減量させられると、指示噴射時間ｔａｕが短くなりすぎるおそれがある。そして、このように指示噴射時間ｔａｕが短くなりすぎると、燃料噴射弁５の構造上の問題から、燃料噴射弁５の（通電時間）開弁駆動時間の単位時間当たりの変化に対する燃料噴射量の変化を一定とすることができなくなり、安定した燃料噴射を行えなくなるという不具合が生じる。
【００７５】
特に、筒内噴射式エンジン１では、高圧になる燃焼室４への燃料噴射を可能とすべく、燃料噴射弁５に供給される燃料の圧力（燃圧）が高く設定され、上記式（１）の燃圧補正係数Ｋ１が小さくなるため、指示噴射量Ｑに対し指示噴射時間ｔａｕが短くなる傾向がある。また、筒内噴射式エンジン１では、燃焼室４に噴射供給された燃料のクランクケース側への漏れが多くなる。このため、クランクケース側に漏れた燃料をブローバイガスとともに吸気通路２に戻すブローバイガス還元装置を備えている場合には、メインフィードバック制御等を通じて上記吸気通路２に戻された燃料の分だけ指示噴射量Ｑが小さくされ、指示噴射時間ｔａｕが短くなる傾向がある。
【００７６】
以上のことを考慮し、指示噴射時間ｔａｕが燃料噴射弁５からの安定した燃料噴射を行い得る許容最小時間ＴＡＵＭＩＮ未満になったときには、メインフィードバック補正値ＤＦを基準値（初期値）である「０」に固定してメインフィードバック制御を中止するとともに、指示噴射時間ｔａｕを許容最小時間ＴＡＵＭＩＮとすることが考えられる。この場合、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になり、燃料噴射弁５からの安定した燃料噴射が行えなくなるのを抑制することはできる。
【００７７】
しかし、メインフィードバック補正値ＤＦが基準値「０」よりも大幅に減少側の領域で推移している状況下で、指示噴射時間ｔａｕが一時的に許容最小時間ＴＡＵＭＩＮ未満に低下した後、すぐに許容最小時間以上になるような場合には、エンジン１の空燃比がリッチになって排気エミッション及び燃焼安定性に悪影響を及ぼすことになる。
【００７８】
ここで、上述した状況のもとで実空燃比がリッチになる理由について、図４のタイムチャートを参照して説明する。なお、図４において、（ａ）はメインフィードバック補正値ＤＦの推移を示しており、（ｂ）は指示噴射時間ｔａｕの推移を示している。
【００７９】
メインフィードバック補正値ＤＦが基準値「０」よりも大幅に減少側の領域で推移しているとき、図４（ｂ）に破線で示されるように指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になると（タイミングＴ１）、図４（ａ）に示されるようにメインフィードバック補正値ＤＦが基準値「０」に固定される。このため、メインフィードバック補正値ＤＦが大幅に増加側、すなわち燃料噴射量の増量補正側に変化する。このときには、メインフィードバック補正値ＤＦの大きさに関係なく、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮに設定されるため、上記メインフィードバック補正値ＤＦの増加に伴い、燃料噴射量が過多となって実空燃比ＡＢＦがリッチ側に変化することはない。
【００８０】
ただし、上記メインフィードバック補正値ＤＦの基準値「０」での固定後、すぐに指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ以上になったときには（タイミングＴ２）、指示噴射時間ｔａｕを許容最小時間ＴＡＵＭＩＮに設定することが解除され、指示噴射時間ｔａｕは、上記補正値ＤＦを用いて補正される指示噴射量Ｑに基づき定められる。このとき、メインフィードバック補正値ＤＦは、基準値「０」での固定が解除されてエンジン１の実空燃比ＡＢＦに基づく増減が開始された直後であるため、基準値「０」に固定される直前の値、すなわち図中のタイミングＴ１直前の値に対し大きすぎる状態となっている。従って、このメインフィードバック補正値ＤＦに基づき指示噴射量Ｑを補正すると、指示噴射時間ｔａｕが上記固定直前の値よりも大幅に大となり、実空燃比ＡＢＦが理論空燃比よりもリッチになる。
【００８１】
また、基準値「０」での固定解除後におけるメインフィードバック補正値ＤＦについては、実空燃比ＡＢＦに基づく増減を通じて、実空燃比ＡＢＦが理論空燃比となるよう上記固定直前の値に向けて徐々に減少してゆく。また、指示噴射時間ｔａｕも、メインフィードバック補正値ＤＦの減少に伴い徐々に減少してゆく。しかし、上記メインフィードバック補正値ＤＦの減少は基準値「０」を起点として始められるため、実空燃比ＡＢＦが理論空燃比となるまで当該補正値ＤＦを減少させるのに時間がかかる。このため、その時間が経過するまでの間（タイミングＴ２〜Ｔ３）は、実空燃比ＡＢＦが理論空燃比よりもリッチな状態が続くことは避けられない。
【００８２】
以上のように、タイミングＴ２、及び、タイミングＴ２〜Ｔ３の期間で実空燃比ＡＢＦが理論空燃比よりもリッチになると、それが排気エミッション及び燃焼安定性に悪影響を及ぼすことになる。
【００８３】
こうした問題に対処するため、本実施形態では、メインフィードバック制御の実行中、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮとなるようなメインフィードバック補正値ＤＦをガード値Ｇとして算出しておく。そして、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になったときには、上記ガード値Ｇを用いてメインフィードバック補正値ＤＦを下限ガードし、このガード処理を通じて指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも短くならないようにする。
【００８４】
この場合、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になった後、すぐに許容最小時間ＴＡＵＭＩＮ以上になったとしても、実空燃比ＡＢＦがリッチになって排気エミッションや燃焼状態に悪影響を及ぼすのを抑制することができる。以下、その理由について図５のタイムチャートを参照して説明する。なお、図５において、（ａ）はメインフィードバック補正値ＤＦの推移を示しており、（ｂ）は指示噴射時間ｔａｕの推移を示している。
【００８５】
メインフィードバック補正値ＤＦが基準値「０」よりも大幅に減少側の領域で推移しているとき、図５（ｂ）に破線で示されるように指示噴射時間ｔａｕ許容最小時間ＴＡＵＭＩＮ未満になると（タイミングＴ１）、図５（ａ）に示されるように上記ガード値Ｇによるメインフィードバック補正値ＤＦの下限ガードがおこなわれる。こうしたガード処理を通じて、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも短くならないようにされる。
【００８６】
そして、指示噴射時間ｔａｕが上記のように許容最小時間ＴＡＵＭＩＮ未満になった後、すぐに許容最小値以上になった場合には（タイミングＴ２）、上述したような基準値「０」ではなく上記ガード値Ｇを起点として実空燃比ＡＢＦに基づくメインフィードバック補正値ＤＦの増減が行われる。このため、上記下限ガードが解除された直後（タイミングＴ２）、メインフィードバック補正値ＤＦに基づく指示噴射量Ｑの補正により、実空燃比ＡＢＦが理論空燃比よりも大幅にリッチになるのを抑制することができる。また、上記下限ガードが解除された直後における実空燃比ＡＢＦを理論空燃比とするためのメインフィードバック補正値ＤＦの増減の起点は基準値「０」ではなく上記ガード値Ｇとなるため、その増減を通じて実空燃比ＡＢＦを速やかに理論空燃比に収束させ、その収束過程での実空燃比ＡＢＦのリッチを抑制することができる。
【００８７】
以上により、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になった後、すぐに許容最小時間ＴＡＵＭＩＮ以上となるような場合であっても、実空燃比ＡＢＦがリッチになって排気エミッションや燃焼状態に悪影響を及ぼすのを抑制することができる。
【００８８】
次に、上記ガード処理の詳細な実行手順について、ガード処理ルーチンを示す図６のフローチャートを参照して説明する。このガード処理ルーチンは、電子制御装置８を通じて、例えば所定時間毎の時間割り込みにて実行される。
【００８９】
同ルーチンにおいては、メインフィードバック制御の実行中（Ｓ１０１：ＹＥＳ）、メインフィードバック補正値ＤＦの下限ガードに用いられるガード値Ｇの算出がおこなわれる（Ｓ１０２）。このガード値Ｇは、指示噴射時間ｔａｕを許容最小時間ＴＡＵＭＩＮとするようなメインフィードバック補正値ＤＦと等しい値である。こうした許容最小時間ＴＡＵＭＩＮ相当のメインフィードバック補正値ＤＦは、以下の式（１４）を用いて算出することができる。
【００９０】
ＤＦ
＝｛（ＴＡＵＭＩＮ−ＫＩＮＪＢ）／（Ｋ１・ＫＩＮＪＡ）｝
−Ｑbase−ＭＧ(i)   …（１４）
ＤＦ        ：メインフィードバック補正値
ＴＡＵＭＩＮ：許容最小時間
Ｋ１        ：燃圧補正係数
ＫＩＮＪＡ  ：感度係数
ＫＩＮＪＢ  ：無効噴射時間
Ｑbase  ：基本燃料噴射量
ＭＧ(i) ：メインフィードバック学習値
この式（１４）は、上記式 （１）の指示噴射時間ｔａｕに許容最小時間ＴＡＵＭＩＮを代入するとともに、指示噴射量Ｑに式（２）の右辺を代入して変形することによって得られるものである。そして、この式（１４）の左辺をガード値Ｇに変えることで、この式をガード値Ｇを算出するための計算式「Ｇ＝｛（ＴＡＵＭＩＮ−ＫＩＮＪＢ）／（Ｋ１・ＫＩＮＪＡ）｝−Ｑbase−ＭＧ(i)   …（１５）」とすることができる。
【００９１】
このようにガード値Ｇを算出した後、現在のメインフィードバック補正値ＤＦが上記ガード値Ｇ未満であるか否かに基づき、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満であるか否かが判断される（Ｓ１０３）。
【００９２】
ここで肯定判定であれば、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満である旨判断され、ガード値Ｇが新たなメインフィードバック補正値ＤＦとして設定される（Ｓ１０４）。この処理を通じてメインフィードバック補正値ＤＦのガード値Ｇを用いての下限ガードが実現され、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも短くならないようにされる。そして、続くステップＳ１０５では、メインフィードバック補正値ＤＦの下限ガードについての実行の有無を判断するのに用いられるフラグＦが「１（実行）」とされる。更に、その後に上記下限ガードの実行時における各種処理（Ｓ１０６〜Ｓ１０８）が以下に示される順に実行される。
【００９３】
［１］式（４）で用いられる燃料量偏差積算値ΣΔＱの積算処理を禁止するΣΔＱ積算禁止処理（Ｓ１０６）。
［２］式（８）に基づくメインフィードバック学習値ＭＧ(i) の更新を禁止するＭＧ(i) 更新禁止処理（Ｓ１０７）。
【００９４】
［３］式（１０）に基づくサブフィードバック補正値ＶＨの増減を禁止するとともに、式（１３）に基づくサブフィードバック学習値ＳＧの更新を禁止するＶＨ増減・ＳＧ更新禁止処理（Ｓ１０８）。
【００９５】
一方、メインフィードバック補正値ＤＦのガード値Ｇを用いての下限ガードの実行時、メインフィードバック補正値ＤＦがガード値Ｇ以上になると、同補正値ＤＦの下限ガードが解除される。このときには、メインフィードバック補正値ＤＦがガード値Ｇ以上であることに基づき、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ以上である旨判断され（Ｓ１０３：ＮＯ）、ステップＳ１０９に進む。そして、このステップＳ１０９でフラグＦが「１（実行）」であるか否かが判断される。メインフィードバック補正値ＤＦがガード値Ｇ以上になった直後では、フラグＦが「１（実行）」となっているため、ステップＳ１０９で肯定判定がなされる。そして、上記下限ガードの解除直後であることを実行条件として、
［４］メインフィードバック補正値ＤＦを算出するのに用いられる燃料量偏差積算値ΣΔＱをクリアして「０」とするΣΔＱクリア処理（Ｓ１１０〜Ｓ１１２）
が実行される。
【００９６】
そして、このΣΔＱクリア処理の実行後には、フラグＦが「０（停止）」とされ（Ｓ１１３）、以後はステップＳ１０９で否定判定がなされて上記ΣΔＱクリア処理がスキップされる。従って、ΣΔＱクリア処理については、上記下限ガードが解除される毎に一回だけ実行されることとなる。
【００９７】
次に、上記［１］〜［４］の各処理について個別に詳しく説明する。
［１］ΣΔＱ積算禁止処理（Ｓ１０６）
このΣΔＱ積算禁止処理は、メインフィードバック補正値ＤＦの下限ガード実行中に行われる。図７において、（ａ）は上記下ガード実行中のメインフィードバック補正値ＤＦの推移を示し、（ｂ）は上記下限ガード実行中の指示噴射時間ｔａｕの推移を示している。こうした下限ガード実行中には、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満にならないようにされ、実空燃比ＡＢＦを理論空燃比にするための指示噴射時間ｔａｕの減少が制限されるため、実空燃比ＡＢＦが理論空燃比よりもリッチになることは避けられない。
【００９８】
このため、下限ガード実行中には、実空燃比ＡＢＦに基づき燃料量偏差ΔＱが図７（ｃ）に示されるように指示噴射量Ｑを減量する側の値、すなわち「０」よりも大きい値となった状態が続くことになる。こうした状況下で、下限ガード実行中に燃料量偏差積算値ΣΔＱの積算処理、すなわち所定の時間間隔毎に「ΣΔＱ←前回のΣΔＱ＋ΔＱ  …（７）」という式が実行されると、燃料量偏差積算値ΣΔＱの推移が図７（ｄ）に破線で示されるような推移となる。より詳しく言えば、燃料量偏差積算値ΣΔＱが増加側、すなわちメインフィードバック補正値ＤＦ（指示噴射量Ｑ）を減量する側に変化してゆく。この場合、下限ガードが解除されたとき、メインフィードバック補正値ＤＦによる式（４）の積分項「ΣΔＱ・Ｇｉ」分の指示噴射量Ｑの補正により、燃料噴射量が大幅に減量されてリーン失火を招くおそれがある。
【００９９】
こうした不具合を回避するため、下限ガード実行中に上記ΣΔＱ積算禁止処理が実行される。具体的には、所定の時間間隔毎に上記式（７）を実行する代わりに、「ΣΔＱ←前回のΣΔＱ  …（１６）」という式を実行し、燃料量偏差積算値ΣΔＱを前回の値に保持することで、当該燃料量偏差積算値ΣΔＱの積算処理を禁止する。その結果、燃料量偏差積算値ΣΔＱが図７（ｄ）に実線で示されるように一定に保持される。これにより、下限ガード実行中に燃料量偏差積算値ΣΔＱ（積分項「ΣΔＱ・Ｇｉ」）が指示噴射量Ｑを減量する側に変化してゆくのを回避することができる。このため、下限ガード解除時、積分項「ΣΔＱ・Ｇｉ」分の指示噴射量Ｑの補正により、リーン失火が生じるのを抑制することができる。
【０１００】
なお、燃料量偏差積算値ΣΔＱの積算処理を禁止する仕方としては、上記のように燃料量偏差積算値ΣΔＱを前回の値に保持するという仕方を用いる以外に、燃料量偏差積算値ΣΔＱをクリアして図７（ｄ）に二点鎖線で示されるように「０」にするという仕方を用いることも考えられる。
【０１０１】
ただし、上記下限ガードの実行直前には燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦ（指示噴射量Ｑ）を減量する側の値になっており、下限ガード実行時に燃料量偏差積算値ΣΔＱをクリアして「０」に保持すると、積分項「ΣΔＱ・Ｇｉ」分の指示噴射量Ｑの減量補正がなくなって燃料噴射量が増量する。その結果、メインフィードバック補正値ＤＦがガード値Ｇ以上になって下限ガードが解除される。しかし、このように下限ガードが解除されたとしても、すぐに比例項「ΔＱ・Ｇｐ」に基づくメインフィードバック補正値ＤＦの増減を通じて、当該補正値ＤＦがガード値Ｇ未満（指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満）になり、メインフィードバック補正値ＤＦが再びガード値Ｇを用いて下限ガードされることとなる。
【０１０２】
以上にように、下限ガードの実行時に燃料量偏差積算値ΣΔＱをクリアして「０」に保持すると、メインフィードバック補正値ＤＦ及び指示噴射時間ｔａｕが各々図７（ｂ）及び（ａ）に破線で示されるように推移し、上記下限ガードの実行・解除というハンチングを招く。しかし、燃料量偏差積算値ΣΔＱの積算処理を禁止する仕方として、燃料量偏差積算値ΣΔＱを前回の値に保持するという仕方を採用することで、上述したようなハンチングが生じるのを抑制することができる。
【０１０３】
［２］ＭＧ(i) 更新禁止処理（Ｓ１０７）
このＭＧ(i) 更新禁止処理も、メインフィードバック補正値ＤＦの下限ガード実行中に行われる。こうした下限ガード実行中は、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満にならないようメインフィードバック補正値ＤＦがガード値Ｇを用いて下限ガードされる。このように下限ガードされた後のメインフィードバック補正値ＤＦに基づき、「ＭＧ(i) ←最新のＤＦ  …（８）」という式を用いてメインフィードバック学習値ＭＧ(i) の更新が行われると、同学習値ＭＧ(i) が不適切な値へと更新されてしまう。このときのメインフィードバック学習値ＭＧ(i) の推移傾向の一例を図７（ｅ）に示す。
【０１０４】
上述したメインフィードバック学習値ＭＧ(i) の不適切な値への更新という不具合を回避するため、下限ガード実行中に上記ＭＧ(i) 更新禁止処理が実行される。具体的には、上記式（８）を用いてメインフィードバック学習値ＭＧ(i) の更新を行う代わりに、「ＭＧ(i) ←前回のＭＧ(i)   …（１７）」という式を実行し、メインフィードバック学習値ＭＧ(i) を前回の値に保持することで、当該学習値ＭＧ(i) の更新を禁止する。これにより、メインフィードバック学習値ＭＧ(i) の不適切な値への更新を抑制することができるようになる。
【０１０５】
［３］ＶＨ増減・ＳＧ更新禁止処理（Ｓ１０８）
このＶＨ増減・ＳＧ更新禁止処理も、メインフィードバック補正値ＤＦの下限ガード実行中に行われる。こうした下限ガード実行中は、リッチ燃焼が行われることから、触媒下流の排気中の酸素濃度が理論空燃比での混合気の燃焼が行われたときの値「Ｘ」よりも薄くなり、酸素センサ１５の出力ＶＯが「０．５ｖ」よりも大きくなる。その結果、式（１０）の電圧偏差ΔＶが増加側に変化してサブフィードバック補正値ＶＨが減少側に変化し、メインフィードバック補正値ＤＦ（空燃比センサ１４の出力ＶＡＦ）を減少させようとする。
【０１０６】
しかし、メインフィードバック補正値ＤＦはガード値Ｇを用いて下限ガードされているため、触媒下流の排気中の酸素濃度を上記「Ｘ」という値に近づけることはできず、サブフィードバック補正値ＶＨのみが図７（ｆ）に破線で示されるように徐々に減量され、当該補正値ＶＨの発散を招くおそれがある。また、このようにサブフィードバック補正値ＶＨが発散する場合には、当該補正値ＶＨに基づき更新されるサブフィードバック学習値ＳＧが不適切な値に更新されることにもなる。その結果、サブフィードバック学習値ＳＧは、発散するサブフィードバック補正値ＶＨに対応して、図７（ｇ）に破線で示されるように徐々に減量されてゆく。
【０１０７】
こうした不具合を回避するため、下限ガード実行中に上記ＶＨ増減・ＳＧ更新禁止処理が実行される。具体的には、式（１０）に基づきサブフィードバック補正値ＶＨを算出する代わりに、「ＶＨ←前回のＶＨ  …（１８）」という式を実行してサブフィードバック補正値ＶＨを前回の値に保持したり、或いは当該補正値ＶＨをクリアして「０」に保持したりすることで、当該補正値ＶＨの増減を禁止する。その結果、サブフィードバック補正値ＶＨが図７（ｆ）に実線で示されるように一定に保持される。更に、「ＳＧ←前回のＳＧ＋ＳＧＫ  …（１３）」という式を用いてサブフィードバック学習値ＳＧの更新を行う際、「ＳＧＲ←０  …（１９）」という式を実行して更新量ＳＧＫを「０」に設定することで、サブフィードバック学習値ＳＧの更新を禁止する。その結果、サブフィードバック学習値ＳＧが図７（ｇ）に実線で示されるように一定に保持される。
【０１０８】
以上のように、サブフィードバック補正値ＶＨ及びサブフィードバック学習値ＳＧを一定に保持することで、サブフィードバック補正値ＶＨの発散を回避するとともに、サブフィードバック学習値ＳＧが不適切な値に更新されるのを回避することができるようになる。
【０１０９】
［４］ΣΔＱクリア処理（Ｓ１１０〜Ｓ１１２）
このΣΔＱクリア処理は、メインフィードバック補正値ＤＦの下限ガード解除直後に行われる。
【０１１０】
図８のタイムチャートにおいて、タイミングＴ４以前は下限ガード実行中の状態を示している。こうした下限ガードの実行中、例えば、加速などのためにアクセルペダル９が踏み込まれ、それに伴いスロットルバルブ３が開いてエンジン１の吸入空気量が増量すると、指示噴射量Ｑ（基本燃料噴射量Ｑbase）が多くなる。その結果、式（１５）に基づき算出されるガード値Ｇが、図８（ｂ）におけるタイミングＴ４以後の二点鎖線で示されるようにメインフィードバック補正値ＤＦよりも大幅に小さくなる。このことは言い換えれば、指示噴射時間ｔａｕが図８（ａ）にタイミングＴ４以後の実線で示されるように許容最小時間ＴＡＵＭＩＮよりも大幅に長くなるということ意味する。以上のように、ガード値Ｇがメインフィードバック補正値ＤＦよりも小さくなり、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも長くなると、下限ガードが解除されることとなる。
【０１１１】
ここで、上記のような吸入空気量の増量に伴い指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ以上になって下限ガードが解除された場合、そのときのメインフィードバック補正値ＤＦの積分項「ΣΔＱ・Ｇｉ」（燃料量偏差積算値ΣΔＱ）は、急激な吸入空気量の増量状態のもとにあり、その状況下では信頼性の低い値となる。このような場合、上記ΣΔＱクリア処理を通じて、燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦを減量する側の値、言い換えれば指示噴射量Ｑを減量する側の値であることを条件に、当該燃料量偏差積算値ΣΔＱが図８（ｃ）に示されるように「０」とされ、これにより積分項「ΣΔＱ・Ｇｉ」がクリアされて「０」になる。
【０１１２】
より具体的には、ガード処理ルーチン（図６）のステップＳ１１０で、アクセルペダル９が踏み込まれているか否かに基づき、下限ガードの解除が吸入空気量の増量によるものか否かが判断される。また、ステップＳ１１１では、燃料量偏差積算値ΣΔＱが正の値であるか否かに基づき、同燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦを減量する側の値であるか否かが判断される。そして、それらステップＳ１１０及びステップＳ１１１で共に肯定判定がなされると、吸入空気量の増量に伴い下限ガードが解除された旨の判断、及び、燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦを減量する側の値である旨の判断がなされ、ステップＳ１１２で燃料量偏差積算値ΣΔＱが「０」とされる。
【０１１３】
以上により、積分項「ΣΔＱ・Ｇｉ」がクリアされて「０」になる。なお、積分項「ΣΔＱ・Ｇｉ」（燃料量偏差積算値ΣΔＱ）がメインフィードバック補正値ＤＦを減量する側の値になっている場合、燃料噴射量が少なくてすむ運転領域でのエンジン運転ではリーン失火に不利な状況と言える。特に、ブローバイガス還元装置を備えた筒内噴射式エンジンでは、上記運転領域において燃焼室４に供給される燃料のうちブローバイガス中の燃料成分の割合が高くなることから、燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦを大幅に減量する側の値になる可能性が高く、運転領域でのエンジン運転でリーン失火を招きやすい。しかし、上記のような積分項「ΣΔＱ・Ｇｉ」の信頼性が低くなる機会に、当該積分項「ΣΔＱ・Ｇｉ」がクリアされて「０」になるため、上述した運転領域でのリーン失火を抑制することができる。
【０１１４】
また、この積分項「ΣΔＱ・Ｇｉ」のクリア時には、吸入空気量が増量して基本燃料噴射量Ｑbaseが多くなっており、メインフィードバック補正値ＤＦとガード値Ｇが離れた状態となる。このため、積分項「ΣΔＱ・Ｇｉ」のクリアにより、同積分項の分の燃料噴射量補正がなくなることに起因してメインフィードバック補正値ＤＦとガード値Ｇとの大小関係の逆転が繰り返され、下限ガードの実行・解除が繰り返されるというハンチングが生じることはない。
【０１１５】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）メインフィードバック制御の実行中には、メインフィードバック補正値ＤＦの下限ガードに用いられるガード値として、指示噴射時間ｔａｕを許容最小時間ＴＡＵＭＩＮとするようなメインフィードバック補正値ＤＦに相当するガード値Ｇが算出される。そして、メインフィードバック補正値ＤＦがガード値Ｇ未満になって、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ未満になった旨の判断がなされると、メインフィードバック補正値ＤＦがガード値Ｇに設定されるという下限ガードが行われる。こうした下限ガード処理を通じて指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも短くならないようにされる。
【０１１６】
ところで、メインフィードバック補正値ＤＦが基準値「０」よりも大幅に減少側の領域で推移しており、そのような状況下での上記下限ガード処理の実行後、すぐにメインフィードバック補正値ＤＦがガード値Ｇ以上になって指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ以上になった旨判断され、上記下限ガードが解除されるということもある。この場合、下限ガードの解除後において、実空燃比ＡＢＦを理論空燃比とし得るメインフィードバック補正値ＤＦは、下限ガードの実行直前の値、すなわち基準値「０」よりも大幅に減少側の値になる。
【０１１７】
このため、下限ガードの解除時、メインフィードバック補正値ＤＦが［背景技術］の欄に記載されるように基準値「０」にされていると、実空燃比ＡＢＦに基づく当該補正値ＤＦの増減の起点が基準値「０」ということになり、その増減開始時に実空燃比ＡＢＦが理論空燃比よりもリッチになる。また、下限ガードの解除後には、実空燃比ＡＢＦに基づくメインフィードバック補正値ＤＦの増減により、実空燃比ＡＢＦが理論空燃比に近づけられるが、その増減が基準値「０」を起点として始められることから、実空燃比ＡＢＦが理論空燃比に達するのに時間がかかる。そして、その時間が経過するまでの間は、実空燃比ＡＢＦが理論空燃比よりもリッチになる。
【０１１８】
しかし、上述したように許容最小時間ＴＡＵＭＩＮ相当のガード値Ｇを用いてメインフィードバック補正値ＤＦの下限ガードを行えば、下限ガードの解除後には上記ガード値Ｇを起点として実空燃比ＡＢＦに基づくメインフィードバック補正値ＤＦの増減が行われる。このため、上記のような下限ガードの解除直後、メインフィードバック補正値ＤＦに基づく指示噴射量Ｑの補正により、実空燃比ＡＢＦが大幅にリッチになるのを抑制することができる。また、下限ガードの解除直後における実空燃比ＡＢＦを理論空燃比とするためのメインフィードバック補正値ＤＦの増減の起点が上記ガード値Ｇとなるため、その増減を通じて実空燃比ＡＢＦを速やかに理論空燃比に収束させ、その収束過程での実空燃比ＡＢＦのリッチを抑制することができる。
【０１１９】
以上により、メインフィードバック補正値ＤＦが基準値「０」よりも大幅に減少側の領域で推移している状況のもとで、下限ガード処理が実行された後、すぐに当該下限ガードが解除されるという場合であっても、実空燃比ＡＢＦがリッチとなって排気エミッションや燃焼状態に悪影響を及ぼすのを抑制することができる。
【０１２０】
（２）メインフィードバック補正値ＤＦの下限ガード実行中には、燃料量偏差ΔＱが指示噴射量Ｑを増量する側の値、すなわち「０」よりも大きい値となった状態が続くことになる。そして、こうした状況下で燃料量偏差積算値ΣΔＱの積算処理が実行されると、燃料量偏差積算値ΣΔＱが増加側、すなわちメインフィードバック補正値ＤＦ（指示噴射量Ｑ）を減量する側に変化してゆく。この場合、下限カードが解除されたとき、メインフィードバック補正値ＤＦによる式（４）の積分項「ΣΔＱ・Ｇｉ」分の指示噴射量Ｑの補正により、燃料噴射量が大幅に減量されてリーン失火を招くおそれがある。
【０１２１】
しかし、上記下限ガード実行中には、上記［１］の燃料量偏差積算値ΣΔＱの積算処理を禁止するΣΔＱ積算禁止処理として、燃料量偏差積算値ΣΔＱを前回の値に保持する処理が実行される。これにより、下限ガード実行中に燃料量偏差積算値ΣΔＱ（積分項「ΣΔＱ・Ｇｉ」）が指示噴射量Ｑを減量する側に変化してゆくのを回避することができる。このため、下限ガード解除時、積分項「ΣΔＱ・Ｇｉ」分の指示噴射量Ｑの補正により、リーン失火が生じるのを抑制することができる。
【０１２２】
なお、上記ΣΔＱ積算禁止処理としては、燃料量偏差積算値ΣΔＱをクリアして「０」にするという処理も考えられるが、この場合は下限ガードの実行・解除というハンチングを招くことは上述したとおりである。この点、ΣΔＱ積算禁止処理として燃料量偏差積算値ΣΔＱを前回の値に保持するという処理を採用すれば、上記下限ガードの実行・解除というハンチングが生じるのを抑制することができる。
【０１２３】
（３）メインフィードバック補正値ＤＦがガード値Ｇを用いて下限ガードされているとき、その下限ガード後のメインフィードバック補正値ＤＦに基づきメインフィードバック学習値ＭＧ(i) の更新が行われると、同学習値ＭＧ(i) が不適切な値へと更新されてしまう。しかし、下限ガード実行中には、上記［２］のメインフィードバック学習値ＭＧ(i) の更新を禁止するためのＭＧ(i) 更新禁止処理として、当該学習値ＭＧ(i) を前回の値に保持するという処理が行われる。これにより、メインフィードバック学習値ＭＧ(i) の不適切な値への更新を抑制することができる。
【０１２４】
（４）メインフィードバック補正値ＤＦの下限ガード実行中には、リッチ燃焼が行われることから、触媒下流の排気中の酸素濃度が理論空燃比での混合気の燃焼が行われたときの値「Ｘ」よりも薄くなり、サブフィードバック補正値ＶＨが減少側に変化して、メインフィードバック補正値ＤＦ（空燃比センサ１４の出力ＶＡＦ）を減少させようとする。しかし、メインフィードバック補正値ＤＦは下限ガードされているため、触媒下流の排気中の酸素濃度を上記「Ｘ」という値に近づけることはできず、サブフィードバック補正値ＶＨのみが徐々に減量され、当該補正値ＶＨの発散を招くおそれがある。また、このようにサブフィードバック補正値ＶＨが発散する場合には、当該補正値ＶＨに基づき更新されるサブフィードバック学習値ＳＧが不適切な値に更新されることにもなる。
【０１２５】
上述したサブフィードバック補正値ＶＨの発散、及び、サブフィードバック学習値ＳＧの不適切な値への更新については、下限ガード実行中に上記［３］のＶＨ増減・ＳＧ更新禁止処理を行うことで回避される。即ち、ＶＨ増減・ＳＧ更新禁止処理として、サブフィードバック補正値ＶＨの増減を禁止する処理、及び、サブフィードバック学習値ＳＧの更新量ＳＧＫを「０」として当該学習値ＳＧの更新を禁止する処理が行われ、これにより補正値ＶＨの発散、及び、学習値ＳＧの不適切な値への更新が回避されるようになる。
【０１２６】
（５）メインフィードバック補正値ＤＦの下限ガード実行中、吸入空気量の増量に伴い指示噴射量Ｑ（基本燃料噴射量Ｑbase）が多くなると、ガード値Ｇがメインフィードバック補正値ＤＦよりも大幅に小さくなる。このことは言い換えれば、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも大幅に長くなるということ意味する。そして、以上のように、ガード値Ｇがメインフィードバック補正値ＤＦよりも小さくなり、指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮよりも長くなると、下限ガードが解除されることとなる。
【０１２７】
ここで、上記のような吸入空気量の増量に伴い指示噴射時間ｔａｕが許容最小時間ＴＡＵＭＩＮ以上になって下限ガードが解除された場合、そのときのメインフィードバック補正値ＤＦの積分項「ΣΔＱ・Ｇｉ」（燃料量偏差積算値ΣΔＱ）は、急激な吸入空気量の増量状態のもとにあり、その状況下では信頼性の低い値となる。このような場合、上記［４］のΣΔＱクリア処理を通じて、燃料量偏差積算値ΣΔＱがメインフィードバック補正値ＤＦを減量する側の値、言い換えれば指示噴射量Ｑを減量する側の値であることを条件に、当該燃料量偏差積算値ΣΔＱが「０」とされる。これにより、メインフィードバック補正値ＤＦを算出するための積分項「ΣΔＱ・Ｇｉ」がクリアされて「０」になる。
【０１２８】
なお、積分項「ΣΔＱ・Ｇｉ」（燃料量偏差積算値ΣΔＱ）がメインフィードバック補正値ＤＦを減量する側の値になっている場合、燃料噴射量が少なくてすむ運転領域でのエンジン運転ではリーン失火に不利な状況と言える。しかし、上記のような積分項「ΣΔＱ・Ｇｉ」の信頼性が低くなる機会に、ΣΔＱクリア処理を通じて、当該積分項「ΣΔＱ・Ｇｉ」がクリアされて「０」になるため、上述した運転領域でのリーン失火を抑制することができる。
【０１２９】
また、この積分項「ΣΔＱ・Ｇｉ」のクリア時には、吸入空気量が増量して基本燃料噴射量Ｑbaseが多くなっており、メインフィードバック補正値ＤＦとガード値Ｇが離れた状態となる。このため、積分項「ΣΔＱ・Ｇｉ」のクリアにより、同積分項の分の燃料噴射量補正がなくなることに起因してメインフィードバック補正値ＤＦとガード値Ｇとの大小関係の逆転が繰り返され、下限ガードの実行・解除が繰り返されるというハンチングが生じることはない。
【０１３０】
（６）メインフィードバック補正値ＤＦの下限ガード解除が吸入空気量の増量に伴うものであるか否かは、その解除時にアクセルペダル９が踏み込まれているか否かに基づき判断される。ここで、アクセルペダル９が踏み込まれているときには、スロットルバルブ３が開いてエンジン１の吸入空気量が増量していることになる。従って、下限ガード解除時にアクセルペダル９が踏み込まれていることに基づき、その解除が吸入空気量の増量に伴うものであると的確に判断することができる。
【０１３１】
なお、上記実施形態は、例えば以下のように変更することもできる。
・ガード処理ルーチンのステップＳ１０８（図６）における上記［３］のＶＨ増減・ＳＧ更新禁止処理において、必ずしもサブフィードバック補正値ＶＨの増減禁止とサブフィードバック学習値ＳＧの更新禁止との両方を行う必要はなく、いずれか一方のみとしてもよい。
【０１３２】
・ガード処理ルーチンのステップＳ１１０〜Ｓ１１２（図６）における上記［４］のΣΔＱクリア処理において、アクセルペダル９の踏み込みの有無に基づき（Ｓ１１０）、メインフィードバック補正値ＤＦの下限ガード解除が吸入空気量の増量に伴うものであるか否かを判断したが、本発明はこれに限定されない。例えば、エンジン負荷率の増加量が「０」よりも大きい所定の値以上であるか否かなど、エンジン負荷率の増加量に基づき上記判断を行ってもよい。この場合、上記所定値を最適値（例えば２％など）に調整することで、上記判断をより正確に行うことが可能になる。
【０１３３】
・上記メインフィードバック補正値ＤＦの下限ガード解除が吸入空気量の増量に伴うものであるか否かの判断を、メインフィードバック学習値ＭＧ(i) の学習領域ｉが切り替わったか否かに基づき判断してもよい。この場合、学習領域ｉが切り替わったことに基づき、メインフィードバック補正値ＤＦの下限ガード解除が吸入空気量の増量に伴うものである旨判断される。なお、学習領域ｉの変化が生じるような吸入空気量変化がある場合、下限ガード解除時の積分項「ΣΔＱ・Ｇｉ」の信頼性が極めて低いものとなるが、このときには上記ΣΔＱクリア処理を通じて燃料量偏差積算値ΣΔＱ（積分項「ΣΔＱ・Ｇｉ」）をクリアして「０」とすることができる。
【０１３４】
・上記ΣΔＱクリア処理において、燃料量偏差積算値ΣΔＱ（積分項「ΣΔＱ・Ｇｉ」）のクリアを、その燃料量偏差積算値ΣΔＱがフィードバック補正値ＤＦを減量する側の値（ΣΔＱ＞０）であることを条件に行ったが、「ΣΔＱ≦０」という条件のときにも行うことは可能である。この場合、ガード処理ルーチンのステップＳ１１１の処理が省略されることとなる。
【０１３５】
・ガード処理ルーチンのステップＳ１０６（図６）における上記［１］のΣΔＱ積算禁止処理において、燃料量偏差積算値ΣΔＱを前回の値に保持する代わりに、当該燃料量偏差積算値ΣΔＱをクリアして「０」にしてもよい。この場合もリーン失火の抑制という効果は得られる。
【０１３６】
・上記［１］〜［４］の各処理については必ずしも行う必要はなく、それらのうちの一つ或いは複数を適宜省略してもよい。
・メインフィードバック学習制御については必ずしも実行する必要はない。
【０１３７】
・サブフィードバック制御、及び、サブフィードバック学習制御については必ずしも実行する必要はない。例えば、それら制御を両方とも省略したり、サブフィードバック制御のみを実行したりしてもよい。
【図面の簡単な説明】
【０１３８】
【図１】本実施形態の燃料噴射制御装置が適用されるエンジン全体を示す略図。
【図２】触媒上流の排気中の酸素濃度の変化に対する空燃比センサの出力変化を示すグラフ。
【図３】触媒下流の排気中の酸素濃度の変化に対する酸素センサの出力変化を示すグラフ。
【図４】（ａ）及び（ｂ）は、メインフィードバック補正値ＤＦ、及び、指示噴射時間ｔａｕの推移の従来例を示すタイムチャート。
【図５】（ａ）及び（ｂ）は、本実施形態でのメインフィードバック補正値ＤＦ、及び、指示噴射時間ｔａｕの推移を示すタイムチャート。
【図６】メインフィードバック補正値ＤＦの下限ガードの実行手順を示すフローチャート。
【図７】（ａ）〜（ｇ）は、メインフィードバック補正値ＤＦの下限ガード時における指示噴射時間ｔａｕ、メインフィードバック補正値ＤＦ、燃料量偏差ΔＱ、燃料量偏差積算値ΣΔＱ、メインフィードバック学習値ＭＧ(i) 、サブフィードバック補正値ＶＨ、及び、サブフィードバック学習値ＳＧの推移を示すタイムチャート。
【図８】（ａ）〜（ｃ）は、メインフィードバック補正値ＤＦの下限ガード解除時における指示噴射時間ｔａｕ、メインフィードバック補正値ＤＦ、及び、燃料量偏差積算値ΣΔＱの推移を示すタイムチャート。
【符号の説明】
【０１３９】
１…エンジン、２…吸気通路、３…スロットルバルブ、４…燃焼室、５…燃料噴射弁、６…排気通路、７ａ，７ｂ…触媒コンバータ、８…電子制御装置、９…アクセルペダル、１０…アクセルポジションセンサ、１１…スロットルポジションセンサ、１２…エアフローメータ、１３…クランクポジションセンサ、１４…空燃比センサ、１５…酸素センサ、１６…燃圧センサ。
【図１】
2006170098.tif 000003
【図２】
2006170098.tif 000004
【図３】
2006170098.tif 000005
【図４】
2006170098.tif 000006
【図５】
2006170098.tif 000007
【図６】
2006170098.tif 000008
【図７】
2006170098.tif 000009
【図８】
2006170098.tif 000010