(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気ポートの燃料を噴射するポート噴射弁と、
内燃機関の筒内に燃料を噴射する筒内噴射弁と、
内燃機関の排気通路に配置された触媒と、
前記触媒の上流に配置されるメイン排気ガスセンサと、
前記触媒の下流に配置されるサブ排気ガスセンサと、
前記メイン排気ガスセンサの出力とその目標値との偏差に基づいて、メインフィードバック係数を緊急補正値として算出する緊急補正値算出手段と、
前記サブ排気ガスセンサの出力とその目標値との偏差に基づいて、サブフィードバック係数を定常補正値として算出する定常補正値算出手段と、
前記緊急補正値が主として筒内噴射弁の噴射量に反映され、かつ、前記定常補正値が主としてポート噴射弁の噴射量に反映されるように、それらの噴射量を算出する噴射量算出手段と、
を備えることを特徴とする内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の燃料噴射制御装置に係り、より具体的には、吸気ポートの燃料を噴射するポート噴射弁と筒内に燃料を噴射する筒内噴射弁とを備える内燃機関の燃料噴射装置に関する。
【背景技術】
【０００２】
従来、特開平５−２３１２２１号公報に開示されているように、吸気ポートに燃料を噴射するポート噴射弁と、筒内に燃料を噴射する筒内噴射弁とを備える内燃機関が知られている。この内燃機関においては、内燃機関の運転状態に応じて、ポート噴射の実行と停止とが切り換えられる。
【０００３】
停止されていたポート噴射が開始された直後は、噴射された燃料の一部が吸気ポートの壁面等に付着するため、筒内に流入する燃料量が、吸気ポートに噴射された燃料より少量となる。そして、ポート噴射の実行が継続されると、やがては、壁面に付着する燃料量と壁面から離脱する燃料量とが平衡して、噴射量と流入量とが等しくなる。
【０００４】
また、実行されていたポート噴射が停止された直後は、壁面に残留している燃料が、引き続き筒内に流入するため、ポート噴射が停止されているにも関わらず、吸気ポートから筒内に燃料が流入する事態が生ずる。そして、停止状態が継続し、壁面に残留していた燃料が消滅すると、吸気ポートから筒内への燃料の流入がなくなる。
【０００５】
以上説明した理由により、上記従来の内燃機関においては、ポート噴射の開始直後において、吸気ポートから筒内への燃料流入量が不足する事態が生ずる。また、ポート噴射の停止直後には、吸気ポートから筒内への燃料流入が継続されることにより、筒内への燃料供給量が過剰になる事態が生ずる。
【０００６】
そこで、上述した内燃機関は、ポート噴射の開始直後には、筒内噴射弁からの噴射量に増量補正を施す。また、ポート噴射の停止直後には、筒内噴射弁からの噴射量に減量補正を施す。これらの補正によれば、吸気ポートから筒内に流入する燃料の過不足を相殺することができ、燃焼に付される燃料量を精度良く目標量に制御することが可能である。
【０００７】
【特許文献１】特開平５−２３１２２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、内燃機関においては、目標の運転状態を実現するために、燃料噴射量を算出する過程で、種々の補正が実行される。これらの補正の中には、内燃機関の個体差や経時変化等に起因する定常的なずれを相殺するためのものや、内燃機関の瞬間的な運転状態の変化に起因する急激な変化を相殺するためのものが含まれている。
【０００９】
上述した従来の内燃機関は、ポート噴射弁と筒内噴射弁を備えているため、種々の補正は、ポート噴射及び筒内噴射の双方に反映させることができる。筒内噴射への補正は、燃料に付される燃料量に直接反映される。一方、ポート噴射への補正は、搬送遅れを伴って燃焼する燃料量に反映される。このため、筒内噴射への補正は、急を要する燃料補正に適しており、一方、ポート噴射への補正は、定常的な誤差を相殺するための燃料補正に適している。
【００１０】
しかしながら、上記従来の内燃機関は、ポート噴射の開始及び停止に伴う影響を相殺する補正を筒内噴射に施すことを除いて、他の様々な補正については、それらの特性に合わせて補正の対象を決めるものではなかった。このため、上記従来の内燃機関は、様々な補正を、必ずしも最適な効率で実行し得るものではなかった。
【００１１】
この発明は、上述のような課題を解決するためになされたもので、内燃機関において要求される補正を、その性質に合わせてポート噴射及び筒内噴射のそれぞれに適切に分配することのできる内燃機関の燃料噴射制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
第１の発明は、上記の目的を達成するため、内燃機関の燃料噴射制御装置であって、
内燃機関の吸気ポートの燃料を噴射するポート噴射弁と、
内燃機関の筒内に燃料を噴射する筒内噴射弁と、
内燃機関の排気通路に配置された触媒と、
前記触媒の上流に配置されるメイン排気ガスセンサと、
前記触媒の下流に配置されるサブ排気ガスセンサと、
前記メイン排気ガスセンサの出力とその目標値との偏差に基づいて、メインフィードバック係数を緊急補正値として算出する緊急補正値算出手段と、
前記サブ排気ガスセンサの出力とその目標値との偏差に基づいて、サブフィードバック係数を定常補正値として算出する定常補正値算出手段と、
前記緊急補正値が主として筒内噴射弁の噴射量に反映され、かつ、前記定常補正値が主としてポート噴射弁の噴射量に反映されるように、それらの噴射量を算出する噴射量算出手段と、
を備えることを特徴とする。
【発明の効果】
【００１７】
第１の発明によれば、メイン排気ガスセンサの出力に基づくメインフィードバックは、主として筒内噴射に反映させ、一方、サブ排気ガスセンサの出力に基づくサブフィードバックは、主としてポート噴射に反映させることができる。メイン排気ガスセンサの出力は、内燃機関の瞬間的な状態を反映するものであり、他方、サブ排気ガスセンサの出力は、内燃機関の定常的な状態を反映するものである。本発明によれば、瞬間的な状態を筒内噴射に反映させることにより、迅速なフィードバックを実現することができる。また、定常的な変化をポート噴射に反映させることにより、定常的な誤差を制度良く相殺することができる。
【発明を実施するための最良の形態】
【００２２】
実施の形態１．
［実施の形態１の構成］
図１は、本発明の実施の形態１の構成を説明するための図である。本実施形態のシステムは、内燃機関１０を備えている。内燃機関１０は、複数の気筒を備える多筒式の機関であり、それぞれの気筒にピストン１２を備えている。ピストン１２を取り巻くシリンダの壁面には冷却水の循環通路が設けられている。内燃機関１０は、その冷却水の温度THWを計測するための水温センサ１４を備えている。
【００２３】
内燃機関１０の個々の気筒は、吸気ポート１６を介して吸気通路１８に連通していると共に、排気ポート２０を介して排気通路２２に連通している。吸気ポート１６には、吸気通路１８と筒内との導通状態を制御するための吸気弁２４が設けられている。他方、排気ポート２０には、排気通路２２と筒内との導通状態を制御するための排気弁２６が設けられている。
【００２４】
吸気通路１８には、吸入空気量Gaを計測するためのエアフロメータ２８、吸入空気量Gaを調整するためのスロットル弁３０、スロットル開度TAを計測するためのスロットルセンサ３２が設けられている。また、本実施形態の内燃機関１０は、気筒毎に、吸気ポート１６に燃料を噴射するためのポート噴射弁３４と、筒内に燃料を噴射するための筒内噴射弁３６とを備えている。
【００２５】
排気通路２２には、排気ガスを浄化するための触媒３８が連通している。触媒３８の上流には、排気ガスの空燃比に応じた出力を発生するメイン空燃比センサ４０が配置されている。また、触媒３８の下流には、排気ガス中の酸素濃度に応じてリッチ出力或いはリーン出力を発するサブO2センサ４２が配置されている。
【００２６】
内燃機関１０は、更に、機関回転数NEを検出するための回転数センサ４４を備えている。回転数センサ４４を初めとする各種のセンサの出力は、ECU(Electronic Control Unit)５０に供給されている。ECU５０は、それらのセンサ出力を受けて、筒内噴射量、及びポート噴射量をそれぞれ算出し、その算出結果に基づいて、ポート噴射弁３４及び筒内噴射弁３６を制御する。
【００２７】
［実施の形態１の特徴］
図１に示すシステムにおいて、触媒３８は、排気空燃比が理論空燃比の近傍に維持されることにより、排気ガスを良好に浄化することができる。このため、ECU５０は、メイン空燃比センサ４０の出力、及びサブO2センサ４２の出力に基づいて、排気空燃比が理論空燃比に一致するように燃料噴射量をフィードバック制御する。
【００２８】
より具体的には、燃料噴射量が過多であり、排気空燃比がリッチである場合は、メイン空燃比センサ４０がリッチ空燃比の出力を発する。他方、その逆の場合には、メイン空燃比センサ４０が、リーン空燃比の出力を発する。ECU４０は、それらの出力に基づいて、排気空燃比が理論空燃比に近づくように、燃料噴射量を減量方向に、或いは増量方向に補正する。その結果、排気空燃比は、理論空燃比の近傍に制御される。以下、メイン空燃比センサ４０の出力に基づく上記の補正を「メインフィードバック制御」と称する。
【００２９】
触媒３８の下流には、通常は、浄化後の排気ガスが流出する。排気空燃比は、良好に浄化される過程で理論空燃比となるため、サブO2センサ４２の周囲には、この場合、理論空燃比のガスが流通することになる。従って、メインフィードバック制御によって良好な浄化特性が維持される場合は、サブO2センサ４２の周囲には、常に理論空燃比のガスが流通することになる。
【００３０】
しかしながら、内燃機関１０の個体差や、噴射弁の経時変化など、種々の原因により、メインフィードバック制御下にある排気空燃比にも、リッチ側、或いはリーン側への偏りが生ずるのが普通である。そして、このような偏りが生じていると、やがては触媒３８の浄化能力が飽和して、その下流にリッチ又はリーンなガスが吹き抜けてくる。
【００３１】
サブO2センサ４２は、そのような吹き抜けが生じた時点で、リッチ出力、或いはリーン出力を発する。つまり、メインフィードバック制御下にある排気空燃比が全体としてリッチ側に偏っている場合は、適当な時点でサブO2センサ４２の出力がリッチ出力となる。他方、その排気空燃比が全体としてリーン側に偏っている場合は、サブO2センサ４２の出力が、適当な時点でリーン出力となる。このため、ECU５０は、サブO2センサ４２の出力より、制御の偏りの方向を判断して、その偏りが消滅するように、燃料噴射量に増減補正を施す。このような制御によれば、内燃機関１０に全体として重畳している誤差を相殺して、空燃比の制御精度を向上させることができる。以下、サブO2センサの出力に基づく上記の補正を「サブフィードバック制御」と称す。
【００３２】
以上説明した通り、メインフィードバック制御は、内燃機関１０から排出されてくる排気ガスの空燃比（以下、「上流空燃比」と称す）を理論空燃比に一致させるための制御である。上流空燃比と理論空燃比との差異は、主として内燃機関１０の状態の瞬間的な変化に起因するもの、つまり、個々のサイクルにおける燃料噴射量の過不足等に起因するものである。従って、メインフィードバック制御には、優れた応答性と大きなゲインが要求される。
【００３３】
他方、サブフィードバック制御は、触媒３８の下流に流出してくる排気ガスの空燃比（以下、「下流空燃比」と称す）を理論空燃比に一致させるためのものである。従って、サブフィードバック制御には、さほどスピードは要求されず、また、大きなゲインも必要とされない。
【００３４】
内燃機関１０において、筒内噴射弁３６から噴射される燃料は、そのまま筒内で燃焼に付される。他方、ポート噴射弁３４から噴射された燃料は、吸気ポート１６を通過して筒内に吸い込まれることから、搬送遅れの時間の後に燃焼に付される。このため、筒内噴射量に対する補正は、ポート噴射量に対する補正に比して、優れた応答性を確保し易いという特性を有している。
【００３５】
更に、燃焼に付される燃料量を増量補正する場合、ポート噴射によれば、その補正は、吸気弁が閉じる以前に完了させる必要がある。これに対して、筒内噴射によれば、吸気弁が閉じた後も、爆発行程が開始されるまでは、その補正を実行することができる。つまり、ポート噴射に対する補正によれば、吸気弁が閉じる以前に完了できない補正は、次サイクルに先送りしなければならないところ、筒内噴射に対する補正によれば、爆発行程の開始以前に完了できる限り、その補正を当該サイクルにおいて実行することができる。筒内噴射に対する補正は、この点においても、優れた応答性を確保するうえで、ポート噴射に対する補正に比して好ましい性質を有している。
【００３６】
以上の事情を考慮して、本実施形態のシステムは、メインフィードバック制御は主として筒内噴射に反映させ、他方、サブフィードバック制御は主としてポート噴射に反映させることとした。このため、本実施形態のシステムによれば、緊急を要する補正は、筒内噴射によって迅速に内燃機関１０の状態に反映させることができ、定常的なずれに対する補正は、サブフィードバックによって正確に内燃機関１０の状態に反映させることができる。
【００３７】
［実施の形態１における具体的処理］
図２は、上記の機能を実現するためのECU５０が実行するルーチンのフローチャートである。図２に示すルーチンでは、先ず、機関回転数NE、吸入空気量Ga、及びスロットル開度TA等のエンジンパラメータが検出される（ステップ１００）。
【００３８】
次に、メイン空燃比センサ４０の出力、及びサブO2センサ４２の出力が検出される（ステップ１０２）。
【００３９】
続いて、基本燃料噴射量TPが算出される（ステップ１０４）。基本燃料噴射量TPは、現在の吸入空気量Gaに対して、理論空燃比を実現するために必要な燃料量である。ECU５０は、エアフロメータ２８の出力に基づいてTPを算出する。
【００４０】
次に、内燃機関１０の運転状態に基づいて、吸気ポート１６への噴射割合αpと、筒内への噴射割合αd（＝１−αp）とが算出される（ステップ１０６）。ECU５０は、機関回転数NEや負荷率KLとの関係で噴射割合αp、αdを定めたマップを記憶している。ここでは、そのマップを参照して上記の算出が行われる。
【００４１】
次いで、メイン空燃比センサ４０の出力A/Fに基づいて、メインフィードバック係数f(A/F)が算出される（ステップ１０８）。メインフィードバック係数f(A/F)は、例えば、出力A/Fと理論空燃比との偏差ΔA/Fに比例ゲインを乗じることにより算出することができる。
【００４２】
次に、サブO2センサ４２の出力O2に基づいて、サブフィードバック係数g(O2)が算出される（ステップ１１０）。サブフィードバック係数g(O2)は、例えば、出力O2と理論空燃比に対応する基準値との偏差ΔO2を基礎とする比例項(P)、積分項(I)、微分項(D)の和として算出される。
【００４３】
次に、次式に従って、ポート噴射弁３４に供給するべきポート噴射時間TAUpが算出される（ステップ１１２）。
TAUp＝αp＊TP＊(1+g)＋βp      ・・・（１）
但し、αpは上述したポートへの噴射割合、gは上記のサブフィードバック係数、βpはポート噴射弁３４の無効噴射時間である。
【００４４】
ポート噴射弁３４は、その先端に弁機構を有しており、開弁時間に応じて燃料噴射量を制御することができる。ポート噴射弁３４には、無効噴射時間βpが存在しており、その時間βpは、燃料噴射が行われない。上記（１）式により算出される噴射時間TAUpによれば、ポート噴射弁３４に、精度良くαp＊TP＊(1+g)なる燃料量を噴射させることができる。
【００４５】
αp＊TP＊(1+g)なる噴射量は、吸気ポート１６に噴射するべき基本の噴射量αp＊TPを、サブフィードバック係数gで補正した値である。つまり、上記（１）式によれば、吸気ポート１６に、定常的な空燃比ずれを解消するための補正を施した燃料量を噴射させるための噴射時間TAUpを適切に算出することができる。
【００４６】
図２に示すルーチンでは、次に、次式に従って、筒内噴射弁３６に供給するべき筒内噴射時間TAUdが算出される（ステップ１１４）。
TAUd＝αd＊TP＊(1+f)＋βd      ・・・（２）
但し、αdは上述した筒内への噴射割合、fは上記のサブフィードバック係数、βdは筒内噴射弁３６の無効噴射時間である。
【００４７】
上記（１）式の場合と同様に、上記（２）式によれば、筒内噴射弁３６に、精度良くαd＊TP＊(1+f)なる燃料量を噴射させるための噴射時間TAUdを算出することができる。
【００４８】
αd＊TP＊(1+f)なる噴射量は、筒内に噴射するべき基本の噴射量αd＊TPを、メインフィードバック係数fで補正した値である。つまり、上記（２）式によれば、内燃機関１０の変動に起因して発生する瞬間的な空燃比の変動を迅速に修正するための補正が施された筒内噴射時間TAUdを適切に算出することができる。
【００４９】
ポート噴射時間TAUp及び筒内噴射時間TAUdが算出されると、それらの算出値を用いて、噴射処理が実行される（ステップ１１６）。その結果、本実施形態の内燃機関１０においては、運転状態の変動に起因する空燃比ずれ、及び、経時変化等に起因する定常的な空燃比ずれの双方を適当に補正して、良好な空燃比精度を実現することができる。
【００５０】
ところで、上述した実施の形態１においては、触媒３８の上流に空燃比センサ４０を配置し、その下流にO2センサ４２を配置することとしているが、本発明はこれに限定されるものではない。すなわち、触媒３８の上下に配置される排気ガスセンサは、それらに限定されるものではなく、２つとも空燃比センサであっても、また、２つともO2センサであってもよい。
【００５１】
また、上述した実施の形態１では、メインフィードバック係数fを、筒内噴射時間TAUdのみに反映させ、かつ、サブフィードバック係数gをポート噴射時間TAUpのみに反映させることとしているが、本発明はこれに限定されるものではない。すなわち、メインフィードバック係数fは、主として筒内噴射に反映されればよく、ポート噴射時間TAUpへのゲインに比して大きなゲインで筒内噴射時間TAUdに反映されていればよい。同様に、サブフィードバック係数gは、主としてポート噴射に反映されればよく、筒内噴射時間TAUdへのゲインに比して大きなゲインでポート噴射時間TAUpに反映されていればよい。
【００５２】
尚、上述した実施の形態１においては、メイン空燃比センサ４０が前記第１の発明における「メイン排気ガスセンサ」に、サブO2センサ４２が前記第１の発明における「サブ排気ガスセンサ」にそれぞれ対応している。また、ECU５０が、上記ステップ１０８の処理を実行することにより前記第１の発明における「緊急補正値算出手段」が、上記ステップ１１０の処理を実行することにより前記第１の発明における「定常補正値算出手段」が、上記ステップ１１２及び１１４の処理を実行することにより前記第１の発明における「噴射量算出手段」が、それぞれ実現されている。
【００５３】
実施の形態２．
［実施の形態２の構成］
次に、図３乃至図８を参照して、本発明の実施の形態２について説明する。図３は、本実施形態のシステムの構成を説明するための図である。本実施形態のシステムは、排気ガスセンサの配置と種類が異なる点を除いて、実施の形態１のシステムと同様である。すなわち、本実施形態のシステムでは、触媒３８の上流に共通O2センサ５２を備えていると共に、排気マニホールドに気筒別O2センサ５４を備えている。
【００５４】
気筒別O2センサ５４は、排気マニホールドの枝管部分に気筒毎に配置されている。従って、気筒弁O2センサ５４は、対応する気筒から排出されてくる排気ガス中の酸素濃度に対応する出力を発生する。一方、共通O2センサ５２は、排気マニホールドの集合部以後の部分に配置されている。このため、共通O2センサ５２は、個々の気筒から排出される排気ガスの平均的酸素濃度に対応した出力を発生する。
【００５５】
［実施の形態２における基本制御］
（フィードバック係数FAFの演算）
本実施形態において、共通O2センサ５２の出力は、上記の如く、内燃機関１０から排出される排気ガス中の酸素濃度に対応している。つまり、その出力は、排気空燃比が全体としてリッチであるか、或いはリーンであるかを表している。このため、ECU５０は、共通O2センサ５２の出力に基づいて、燃料噴射量の主たるフィードバック制御を実行する。そして、そのフィードバック制御を実現するために、ECU５０は、以下に説明する手法によって、フィードバック係数FAFを演算する。
【００５６】
図４は、フィードバック係数FAFの算出手法を説明するためのタイミングチャートである。より具体的には、図４（Ａ）は触媒３８の上流における排気空燃比の変化、図４（Ｂ）は共通O2センサ５２の出力、図４（Ｃ）はフィードバック係数FAFの変化をそれぞれ示している。
【００５７】
図４（Ａ）及び図４（Ｂ）に示すように、排気空燃比がリッチである場合は、共通O2センサ５２はリッチ出力を発する（時刻t1以前、時刻t2〜t3）。この間、フィードバック係数FAFは、図４（Ｃ）に示すように、小さなステップ幅で段階的に減少方向に更新される。フィードバック係数FAFは、１．０を基準とし、燃料噴射時間TAUを算出する過程で基本燃料噴射量TPに掛け合わされる値である。従って、FAFが小さな値に更新されると、燃料噴射量は減少し、やがては排気空燃比がリッチからリーンに反転する（時刻t1、t3）。
【００５８】
排気空燃比がリッチからリーンに反転すると、共通O2センサの出力も、リッチ出力からリーン出力に反転する。この反転を受けて、ECU５０は、フィードバック係数FAFを、先ず、大きなステップ幅で増大させる。以後、FAFは、共通O2センサ５２がリーン出力を維持する限り、小さなステップ幅で段階的に増大方向に更新される。FAFが大きな値に更新されると、燃料噴射量が増加し、やがては排気空燃比がリーンからリッチに反転する（時刻t2）。
【００５９】
ECU５０は、その反転を受けて、フィードバック係数FAFを、先ず、大きなステップ幅で減少させ、その後、上述したように、小さなステップ幅で段階的に減少方向に更新する。以上の処理が繰り返されることにより、フィードバック係数FAFは、排気空燃比の状態に応じて増加と減少を繰り返す。また、FAFが増加と減少を繰り返すことにより、排気空燃比は、理論空燃比の近傍に維持されることになる。
【００６０】
ECU５０は、フィードバック係数FAFの算出に合わせて、その平滑値FAFaveを算出する。上述したフィードバック制御が理想的に機能している場合は、フィードバック係数FAFが１．０を中心として振幅するため、平滑値FAFaveは１．０となる。ところが、実燃料噴射量が過多となる傾向があるような場合は、その傾向を相殺するために、FAFは１．０より小さい値を中心として振幅する。この場合、FAFaveは１．０より小さな値（例えば０．９）となる。また、実燃料噴射量が不足する傾向がある場合は、FAFが１．０より大きな値を中心として振幅するため、FAFaveは１．０より大きな値（例えば１．１）となる。
【００６１】
つまり、内燃機関１０が、例えば「０．１」分だけ定常的に燃料噴射量を過多とする状態にある場合はFAFaveが０．９となる。また、内燃機関１０が例えば「０．１」分だけ定常的に燃料噴射量を不足させる状態にある場合は、FAFaveが１．１となる。本実施形態において、ECU５０は、その定常的な偏りを補正するために、学習値KGを導入して燃料噴射時間TAUを算出する。
【００６２】
すなわち、ECU５０は、平滑値FAFaveと、その基準値１．０との偏差（FAFave−１．０）を学習値KGとして算出する。そして、燃料噴射時間を算出する際には、（FAF＋KG）を基本燃料噴射量TPに掛け合わせる。より具体的には、FAFaveが１．１であった場合は、KGが０．１と算出され、これと同時に、FAFave及びFAFからKGに移行した０．１が減算される。そして、減算処理後のFAFと学習値KGとの和（FAF＋KG）が、燃料噴射時間TAUの算出に用いられる。
【００６３】
上記の手法によれば、内燃機関１０の経時変化等により、燃料噴射量に過不足傾向が生じても、その傾向は学習値KGによって相殺することができる。その結果、このような経時変化の有無に関わらず、フィードバック係数FAFを、常に基準値１．０を中心として振幅させることができる。
【００６４】
（気筒別フィードバック係数dFAFiの演算）  
本実施形態のシステムは、上述した通り、気筒別O2センサ５４を備えている。ECU４０は、気筒別O2センサ５４の出力に基づいて、気筒別フィードバック係数dFAFi（iは気筒番号）を算出する。
【００６５】
図５は、気筒別フィードバック係数dFAFiの算出手法を説明するためのタイミングチャートである。より具体的には、図５（Ａ）は第１気筒の気筒別O2センサ５４の出力、図５（Ｂ）は第１気筒の気筒別フィードバック係数dFAFiの変化、図５（Ｃ）は、その気筒別フィードバック係数dFAF1の平滑値dFAF1aveの変化をそれぞれ示している。
【００６６】
気筒別フィードバック係数dFAF1の演算手法は、実質的にはフィードバック係数FAFの演算手法と同様である。つまり、気筒別フィードバック係数dFAF1は、気筒別O2センサ５４の出力が反転する毎に大きなステップ幅で増減され、その出力が維持される限り、小さなステップ幅で増減され続ける。
【００６７】
第１気筒の特性が全気筒の平均的な特性と一致している場合は、つまり、共通O2センサ５２の周囲を流れる排気ガスの空燃比と、第１気筒から排出される排気ガスの空燃比とが同じである場合は、気筒別フィードバック係数dFAF1が、フィードバック係数FAFと同じ挙動を示す。これに対して、第１気筒に、燃料過多の傾向、或いは燃料不足の傾向があると、気筒別フィードバック係数dFAF1は、フィードバック係数FAFと異なる傾向を示す。
【００６８】
図５は、第１気筒が燃料過多の傾向を示す場合のタイミングチャートである。つまり、第１気筒が燃料過多の傾向を有する場合は、FAFの減少に伴って共通O2センサ５２の出力がリッチからリーンに反転した後、第１気筒から排出される排気ガスがリーンに反転するまでにはある程度の遅延が生ずる。また、FAFの増加過程では、共通O2センサ５２の出力がリーンからリッチに反転するのに先立って、第１気筒からの排気ガスはリーンからリッチに反転する。その結果、第１気筒については、図５（Ａ）に示すように、気筒別O2センサ５２がリッチ出力を発する期間が、リーン出力の期間に比して長くなる。
【００６９】
リッチ出力の期間がリーン出力の期間より長いと、気筒別フィードバック係数dFAF1は、図５（Ｂ）に示すように、振幅を繰り返しながら徐々に減少方向にシフトする。その結果、図５（Ｃ）に示すように、平滑値dFAF1aveは、基準値１．０より小さな値（例えば、０．９）となる。この例とは逆に、第１気筒が燃料不足の傾向にある場合は、リーン期間がリッチ期間よりも長くなり、その結果、平滑値dFAF1aveが基準値１．０より大きな値（例えば、１．１）となる。
【００７０】
つまり、第１気筒が、例えば「０．１」分だけ定常的な燃料過多の状態にある場合は、dFAF1aveが０．９となる。また、第１気筒が例えば「０．１」分だけ定常的に燃料不足の状態にある場合は、dFAF1aveが１．１となる。この場合、平滑値dFAFave1と、その基準値１．０との偏差（dFAF1ave−１．０）は、第１気筒に生ずる定常的な空燃比ずれの程度を表す値として捕らえることができる。本実施形態において、ECU５０は、その偏差を気筒毎に算出し、その算出値を「気筒別学習値dFAFiKG」として記憶する。
【００７１】
［実施の形態２における具体的処理］
（学習値KGの算出）
図６は、共通O2センサ５２の出力に基づいて学習値KGを算出するためにECU５０が実行するルーチンのフローチャートである。このルーチンでは、先ず、学習値KGの更新時期が到来したかが判別される（ステップ１２０）。更新時期が到来していないと判別された場合は、そのまま今回の処理サイクルが終了される。
【００７２】
一方、更新時期が到来していると判別された場合は、フィードバック係数FAFの平滑値FAFaveが取り込まれる（ステップ１２２）。フィードバック係数FAFの演算、及び平滑値FAFaveの演算は、図４を参照して説明した手法に従って、他のルーチンで行われているものとする。
【００７３】
次に、偏差ΔFAFave＝FAFave−１．０が算出される（ステップ１２４）。更に、現在の学習値KGに、その偏差ΔFAFaveを加えることにより、学習値KGが更新される（ステップ１２６）。
【００７４】
以後、ΔFAFaveを学習値KGに移し替えたこととの整合をとるために、平滑値FAFave、及びフィードバック係数FAFから、それぞれ偏差ΔFAFaveが減じられる（ステップ１２８，１３０）。
【００７５】
以上の処理によれば、図４を参照して説明した手法に従って、学習値KGを算出し、かつ、フィードバック係数FAF、及びその平滑値FAFaveを、適正に更新することができる。
【００７６】
（気筒別学習値dFAFiKGの算出）
図７は、第１気筒の気筒別O2センサ５４の出力に基づいて第１気筒の気筒別学習値dFAF1KGを算出するためのルーチンのフローチャートである。ECU５０は、図７に示すルーチンを、内燃機関１０が有する全ての気筒について実行するものとする。
【００７７】
図７に示すルーチンでは、先ず、気筒別学習値dFAF1KGの更新時期が到来したかが判別される（ステップ１４０）。更新時期が到来していないと判別された場合は、そのまま今回の処理サイクルが終了される。
【００７８】
一方、更新時期が到来していると判別された場合は、気筒別フィードバック係数dFAF1の平滑値dFAF1aveが取り込まれる（ステップ１４２）。気筒別フィードバック係数dFAF1の演算、及びその平滑値dFAF1aveの演算は、図５を参照して説明した手法に従って、他のルーチンで行われているものとする。
【００７９】
次に、偏差ΔdFAF1ave＝dFAF1ave−１．０が算出される（ステップ１４４）。更に、現在の気筒別学習値dFAF1KGに、その偏差ΔdFAF1aveを加えることにより、気筒別学習値dFAF1KGが更新される（ステップ１４６）。
【００８０】
以後、ΔdFAF1aveを気筒別学習値dFAF1KGに移し替えたこととの整合をとるために、平滑値dFAF1ave、及び気筒別フィードバック係数dFAF1から、それぞれ偏差ΔdFAF1aveが減じられる（ステップ１４８，１５０）。
【００８１】
以上の処理によれば、図５を参照して説明した手法に従って、気筒別学習値dFAF1KGを算出し、かつ、気筒別フィードバック係数dFAF1、及びその平滑値dFAF1aveを、適正に更新することができる。
【００８２】
（補正の分配）
以上説明した通り、本実施形態のシステムは、気筒別学習値dFAFiKGと、学習値KGとの双方を算出している。気筒別学習値dFAFiKGは、個々の気筒に定常的に発生している空燃比のバラツキを相殺するためのものである。このバラツキは、内燃機関１０の運転状態に影響されるものではない、このため、気筒別学習値dFAFiKGを用いた補正には、応答性より、むしろ正確性が要求される。そこで、本実施形態のシステムは、気筒別学習値dFAFiKGを基礎とする補正は、各気筒のポート噴射に対して反映させることとした。
【００８３】
気筒別学習値dFAFiKGを基礎とする補正が実行されている場合、理論的には、全ての気筒が燃料の過不足を生じない状態に制御される。このような状況下で触媒３８の上流に表れる空燃比の変動は、内燃機関１０に定常的に重畳している傾向によるものではなく、内燃機関１０の運転状態に変化に起因するものと見るべきである。つまり、本実施形態のシステムでは、学習値KGは、内燃機関１０の運転状態の変動に大きく影響を受けていると考えられる。そこで、本実施形態のシステムは、学習値KGを用いた補正は、応答性を重視して、筒内噴射に対して反映させることとした。
【００８４】
図８は、上記の規則に従って、個々の気筒のポート噴射時間TAUpi及び筒内噴射時間TAUdiを算出すべく、ECU５０が実行するルーチンのフローチャートである。尚、以下の説明においては、説明の便宜上、内燃機関１０は、４気筒の機関であるものとする。
【００８５】
図８に示すルーチンでは、先ず、機関回転数NE、吸入空気量Ga、及びスロットル開度TA等のエンジンパラメータが検出される（ステップ１６０）。
【００８６】
次に、共通O2センサ５２の出力に基づいて演算されたフィードバック係数FAF及び学習値KG、並びに、気筒別O2センサ５４の出力に基づいて演算された気筒別学習値dFAFiKG（i＝１〜４）が読み出される（ステップ１６２）。
【００８７】
続いて、吸入空気量Gaに基づいて、理論空燃比を実現するための基本燃料噴射量TPが算出される（ステップ１６４）。
【００８８】
次に、内燃機関１０の運転状態に基づいて、吸気ポート１６への噴射割合αpと、筒内への噴射割合αd（＝１−αp）とが算出される（ステップ１６６）。
【００８９】
以上の処理が終わると、以下に示す演算式に従って、気筒毎のポート噴射時間TAUpiが算出される（ステップ１６８）。
TAUp1＝αp＊TP＊(FAF+dFAF1KG)＋βp
TAUp2＝αp＊TP＊(FAF+dFAF2KG)＋βp
TAUp3＝αp＊TP＊(FAF+dFAF3KG)＋βp
TAUp4＝αp＊TP＊(FAF+dFAF4KG)＋βp      ・・・（３）
【００９０】
上記（３）式によれば、ポート噴射弁３４に、精度良くαp＊TP＊(FAF+dFAF4KG)なる燃料を噴射させるためのポート噴射時間TAUpを、気筒毎に算出することができる。αp＊TP＊(FAF＋dFAFiKG)なる噴射量は、吸気ポート１６に噴射するべき基本の噴射量αp＊TPを、内燃機関１０の状態変化に起因する空燃比変動を相殺するためのFAFと、個々の気筒に定常的に生じている誤差を相殺するためのdFAFiKGとで補正した値である。従って、上記（３）式によれば、内燃機関１０の状態変化に起因する空燃比ずれと、個々の気筒に重畳している定常的な空燃比ずれとを消滅させるための噴射時間TAUpiを適切に算出することができる。
【００９１】
図８に示すルーチンでは、次に、以下に示す演算式に従って、気筒毎の筒内噴射時間TAUdiが算出される（ステップ１７０）。
TAUd1＝αd＊TP＊(FAF+KG)＋βd
TAUd2＝αd＊TP＊(FAF+KG)＋βd
TAUd3＝αd＊TP＊(FAF+KG)＋βd
TAUd4＝αd＊TP＊(FAF+KG)＋βd          ・・・（４）
【００９２】
上記（４）式によれば、上記（３）式の場合と同様に、筒内噴射弁３６に精度良くαd＊TP＊(FAF+KG)なる燃料量を噴射させるための噴射時間TAUdiを算出することができる。
【００９３】
αd＊TP＊(FAF+KG)なる噴射量は、筒内に噴射するべき基本の噴射量αd＊TPを、内燃機関１０の状態変化に起因する空燃比変動を相殺するためのFAF及びKGで補正した値である。従って、上記（４）式によれば、内燃機関１０の状態変化に起因する空燃比ずれを精度良く相殺することのできる筒内噴射時間TAUdiを適切に算出することができる。
【００９４】
ポート噴射時間TAUpi及び筒内噴射時間TAUdiが算出されると、それらの算出値を用いて、噴射処理が実行される（ステップ１７２）。その結果、本実施形態の内燃機関１０においては、運転状態の変動に起因する空燃比ずれ、及び、経時変化等に起因する定常的な空燃比ずれの双方を適当に補正して、良好な空燃比精度を実現することができる。
【００９５】
ところで、上述した実施の形態２においては、排気系に配置する排気ガスセンサを、O2センサにより構成することとしているが、本発明はこれに限定されるものではない。すなわち、排気系に配置するセンサは、O2センサの他、空燃比センサであってもよい。
【００９６】
また、上述した実施の形態２では、気筒別学習値dFAFiKGに基づく補正をポート噴射時間TAUpiのみに反映させることとしているが、本発明はこれに限定されるものではない。すなわち、気筒別学習値dFAFiKGに基づく補正は、主としてポート噴射に反映されればよく、筒内噴射時間TAUdiへのゲインに比して大きなゲインでポート噴射時間TAUpiに反映されていればよい。同様に、学習値KGに基づく補正は、主として筒内噴射に反映されればよく、ポート噴射時間TAUpiへのゲインに比して大きなゲインで筒内噴射時間TAUdiに反映されていればよい。
【００９７】
また、上述した実施の形態２においては、気筒別O2センサ５４を配置することにより気筒毎の空燃比のバラツキを検出することとしているが、その検出の手法はこれに限定されるものではない。すなわち、気筒間の空燃比バラツキは、例えば、特開２００４−２３９２３３号公報に開示されるような手法で検出することとしてもよい。
【００９９】
実施の形態３．
［実施の形態３の構成］
次に、図９乃至図１２を参照して、本発明の実施の形態３について説明する。図９は、本実施形態のシステムの構成を説明するための図である。本実施形態のシステムは、気筒別O2センサ５４が除去されている点、及び、蒸発燃料のパージシステムを備えている点を除いて、実施の形態１のシステムと同様である。
【０１００】
すなわち、本実施形態のシステムは、燃料タンク６０に連通するベーパ通路６２を備えている。ベーパ通路６２には、キャニスタ６４が連通している。キャニスタ６４は、その内部に活性炭を有しており、燃料タンク６０の内部で発生した蒸発燃料を吸着保持することができる。キャニスタ６４は、大気に開放された大気孔６６を備えている。また、キャニスタ６４は、パージ通路６８を介して内燃機関１０の吸気通路１８に連通している。パージ通路６８には、ECU５０からの指令を受けて開閉するパージVSV(Vacuum Switching Valve) ７０が配置されている。
【０１０１】
［実施の形態３の基本動作］
図９に示す構成によれば、例えば、燃料の給油の際、或いは、燃料タンク６０内の温度が上昇した際などに、燃料タンク６０からキャニスタ６４に向けて蒸発燃料を含むガスが流入する。キャニスタ６４は、このようにして流入してきたガス中の燃料成分のみを吸着して、大気孔６６から空気のみを排出する。その結果、蒸発燃料の大気への流出が阻止される。
【０１０２】
内燃機関１０の運転中は、吸気通路１８内に吸気負圧が発生する。この状態でパージVSV７０が開かれると、キャニスタ６４に吸気負圧が導かれる。キャニスタ６４に吸気負圧が導かれると、大気孔６６から空気が吸入され、キャニスタ６４内に空気の流れが生ずる。活性炭に吸着されていた燃料は、この空気の流れによって離脱し、パージガスとなって吸気通路１８に流入する。吸気通路１８に流入したパージガス中の燃料は、その後筒内に流入して燃焼に付される。このように、本実施形態のシステムによれば、キャニスタ６４内に吸着されている燃料を、内燃機関１０の運転中に、燃料の一部として処理することができる。
【０１０３】
キャニスタ６４内の蒸発燃料をパージする際には、パージされる燃料の分だけ、燃料噴射量に減量補正を施す必要がある。この目的を達成するため、ECU５０は、パージ率PGRの制御と、パージガス濃度FGPGの学習とを行う。
【０１０４】
パージ率PGRは、吸入空気量Gaに対するパージ流量QPGの割合、つまり、（QPG/Ga）＊１００（％）である。パージガス濃度が同じであれば、パージ率PGRが大きいほど、燃料噴射量に施すべき補正量FGPは、大きなものとなる。従って、その補正量（以下、「パージ補正係数FGP」と称す）は、パージ率PGRに比例した値となる。
【０１０５】
本実施形態において、パージガス濃度FGPGは、以下のように学習されるものとする。すなわち、パージガスが理論空燃比である場合はFGPG＝１．０と学習される。また、パージガスの燃料濃度が高くなるに従って、FGPGは１．０に比して小さな値（例えば、０．９９）に学習される。反対に、パージガスの燃料濃度が薄くなるに従って、FGPGは１．０に比して大きな値（例えば、（１．０１）に学習される。尚、FGPGの学習手法は公知であると共に、本発明の主要部ではないため、ここでは、これ以上の説明は省略する。
【０１０６】
上記の規則によれば、パージ補正係数FPGは、次式のように表すことができる。
FPG＝（FGPG−１．０）＊PGR          ・・・（５）
【０１０７】
例えば、パージガスが理論空燃比である場合は、FGPGが１．０となるため、FPGは０となる。また、パージガスがリッチであり、FGPGが例えば０．９９と学習された場合、パージ率PGRが１０％であれば、FPG＝−０．０１＊１０＝−０．１となる。FPGは、基本噴射量TPに乗算されるフィードバック係数FAFに加算される値である。このため、上記の場合は、０．１分だけ燃料噴射量が減量補正されることになる。反対に、パージガスがリーンであり、FGPGが例えば１．０１と学習された場合は、パージ率PGRが１０％であれば、FPG＝０．１となり、０．１分だけ燃料噴射量が増量補正されることになる。このような燃料補正によれば、高い精度で空燃比を制御しつつ、蒸発燃料のパージを進めることができる。
【０１０８】
本実施形態のシステムにおいて、ECU５０は、内燃機関１０の運転状態に応じてパージ率PGRを設定する。具体的には、触媒３８の暖機が終了していること等、所定の許可条件が成立している場合に、空燃比に大きな乱れが生じない範囲で、できるだけ大きなパージ率PGRを設定する。パージ率PGRが安定している場合は、内燃機関１０の状態も安定していると推定できる。また、この場合は、パージ補正係数FPGにも大きな変化は生じない。このため、このような状況下では、パージ補正に対して、応答性より、むしろ正確性が求められる。一方、パージ率PGRに大きな変化が生じている場合は、パージ補正係数FPGにも大きな変化が生ずる。そして、この場合は、パージの影響を相殺するための補正を、迅速に燃料噴射量に反映させることが望まれる。そこで、本実施形態では、パージ率PGRに大きな変化が発生した場合は、パージの影響を相殺するための補正を筒内噴射に反映させ、他方、パージ率PGRが安定している場合は、その補正をポート噴射に反映させることとした。
【０１０９】
［実施の形態３における具体的処理］
ECU５０は、上述した実施の形態２の場合と同様に、共通O2センサ５２の出力に基づいて、フィードバック補正係数FAF、及びその平滑値FAFaveを算出している。その上で、ECU５０は、以下に説明する図１０乃至図１２に示すルーチンを実行することにより、上記の機能を実現する。
【０１１０】
図１０は、パージ率PGRに大きな変化が発生したか否かを判断するためにECU５０が実行するルーチンのフローチャートである。このルーチンは、内燃機関１０の始動後、パージが開始された後に繰り返し実行される。ここでは、先ず、前回の処理サイクル時に用いられたパージ率PGRが、旧パージ率PGRoldとして書き込まれる（ステップ１８０）。
【０１１１】
次に、内燃機関１０の運転状態等に基づいて、パージ率PGRに与えるべき変化量ΔPGRが計算される（ステップ１８２）。
【０１１２】
次に、フィードバック補正係数FAFの平滑値FAFaveが、安定しているか否かが判断される（ステップ１８４）。パージが開始された後、パージ濃度FGPGの学習が適正に進行していない状況下では、燃料噴射量に対する補正によってパージの影響が十分に相殺できない事態が生ずる。この場合、フィードバック係数FAFがリッチ側、或いはリーン側に偏り、その結果、平滑値FAFaveが１．０から大きく外れた値となる。そして、パージの影響が除去されるに従って、平滑値FAFaveは１．０に近づく。
【０１１３】
上記ステップ１８４では、具体的には、FAFaveが以下に示す何れの領域に属しているかが判別される。
（１）０．９５＜FAFave＜１．０５：パージ影響小
（２）０．９０＜FAFave≦０．９５又は１．０５≦FAFave＜１．１０：パージ影響中
（３）FAFave≦０．９０又は１．１０≦FAFave：パージ影響大
【０１１４】
平滑値FAFaveが上記（１）の領域に属する場合は、パージの影響が十分に相殺されており、パージ率PGRに要求通りの変化ΔPGRを与えることが可能であると判断される。そして、この場合は、次式に基づいてパージ率PGRが更新される（ステップ１８６）。
PGR←PGR＋ΔPGR                    ・・・（６）
【０１１５】
但し、上記（６）式中、右辺のPGRは、現時点で記憶されているパージ率PGR、つまり、前回の処理サイクルで用いられたパージ率PGRである。また、ΔPGRは、上記ステップ１８２において算出された値である。
【０１１６】
平滑値FAFaveが上記（２）の領域に属する場合は、パージの影響が十分に相殺されておらず、パージ率PGRに変化を与えることが適当でないと判断される。この場合は、前回のパージ率PGRが、そのまま今回の処理サイクルでも維持される（ステップ１８８）。
【０１１７】
平滑値FAFaveが上記（３）の領域に属する場合は、パージの影響で空燃比に乱れが生じていると判断される。この場合は、空燃比を安定化させるために、次式に従ってパージ率PGRが減少方向に更新される（ステップ１９０）。
PGR←PGR−ΔPGR                    ・・・（７）
【０１１８】
上記（７）式中、右辺のPGR、ΔPGRは、上記（６）式の場合と同様に、それぞれ、前回の処理サイクルで用いられたパージ率PGR、及び上記ステップ１８２において算出されたΔPGRである。但し、ここでの減算値はΔPGRに限定されるものではなく、適当な固定値を減算することとしてもよい。このようにしてパージ率PGRを減じると、パージの影響を小さくして、空燃比の乱れを小さくすることができる。
【０１１９】
ECU５０は、上述したステップ１８６〜１９０の何れかを実行することにより、今回の処理サイクルで実現するべきパージ率PGRを算出する。以後、ECU５０は、そのパージ率PGRが実現されるように、パージVSV７０の駆動デューティを制御する。尚、パージVSV７０の制御手法は、公知であり、かつ、本発明の主要部ではないため、ここでは、その詳細な説明は省略する。
【０１２０】
上記の処理が終わると、次に、次式に従ってパージ率PGRに大きな変化が生じたか否かが判別される（ステップ１９２）。
Ａ＜（PGRold−PGR）/PGR＜Ｂ        ・・・（８）
但し、上記（８）式において、Ａは判定下限値であり、Ｂは判定上限値である。また、PGRoldは上記ステップ１８０で記憶した前回のパージ率PGRである。そして、PGRは上記ステップ１８６〜１９０の何れかで設定した今回のパージ率PGRである。
【０１２１】
上記（８）式の条件が成立しない場合は、前回から今回にかけて、パージ率PGRに著しい変化が生じたと判断できる。この場合は、過渡状態であることを表すべく、過渡フラグXPGRtrnに１がセットされる（ステップ１９４）。
【０１２２】
一方、上記（８）式の条件が成立する場合は、パージ率PGRが安定していると判断できる。この場合は、その状態を表すべく、過渡フラグXPGRtrnに０がセットされる（ステップ１９６）。
【０１２３】
図１１は、パージ補正係数FPGを設定するためにECU５０が実行するルーチンのフローチャートである。このルーチンによれば、先ず、過渡フラグXPGRtrnが１であるか０であるかが判定される（ステップ２００）。
【０１２４】
XPGRtrnが１である場合、つまり、パージの過渡状態が判別されている場合は、筒内側パージ補正係数FPGdに、上記（５）式の演算値（FGPG−１．０）＊PGRが設定される（ステップ２０２）。そして、この場合は、ポート側パージ補正係数FPGpが０とされる（ステップ２０４）。
【０１２５】
一方、過渡フラグXPGRtrnが０であった場合、つまり、パージの安定が判別されている場合は、ポート側パージ補正係数FPGpに（FGPG−１．０）＊PGRが設定される（ステップ２０６）。そして、この場合は、筒内側パージ補正係数FPGdが０とされる（ステップ２０８）。
【０１２６】
ECU５０は、上記の如く設定されたパージ補正係数FPGp及びFPGdを用いて、以下の手法によりポート噴射時間TAUp及び筒内噴射時間TAUdを算出する。
図１２（Ａ）は、ポート噴射時間TAUpを算出するためにECU５０が実行するルーチンのフローチャートである。ここでは、先ず、内燃機関１０のパラメータ（機関回転数NE、吸気負圧PMなど）に基づいて、基本燃料噴射量TPが算出される（ステップ２１０）。
【０１２７】
次に、フィードバック係数FAFとポート側パージ補正係数FPGpとに基づいて、次式のようにポート側補正係数kFAFpが算出される（ステップ２１２）。
kFAFp＝FAF＋FPGp                    ・・・（９）
【０１２８】
次いで、次式に従って、ポート噴射時間TAUpが算出される（ステップ２１４）。
TAUp＝αp＊TP＊kFAFp＋βp           ・・・（１０）
但し、αp及びβpは、実施の形態１の場合と同様に、それぞれ、吸気ポート１６への噴射割合、及びポート噴射弁３４の無効噴射時間である。
【０１２９】
以後、ポート噴射時間TAUpをセットするための処理が完了すると（ステップ２１６）、今回の処理が終了する。
【０１３０】
図１２（Ｂ）は、筒内噴射時間TAUdを算出するためにECU５０が実行するルーチンのフローチャートである。図１２（Ｂ）に示すステップ２２０〜２２６は、処理の対象がポート(p)でなく筒内(d)であることを除き、図１２（Ａ）に示すステップ２１０〜２１６と実質的に同じである。このため、ここでは、その説明は省略することとする。
【０１３１】
以上説明した処理によれば、パージの過渡状態が判定された場合は、パージの影響を相殺するための補正を、筒内噴射に反映させることができる（ステップ２０２、２２２、２２４参照）。一方、パージが安定している場合は、その補正を、ポート噴射に反映させることができる（ステップ２０６、２１２、２１４参照）。このため、本実施形態のシステムによれば、パージが過渡的に変化する場合には、その影響を迅速に燃料噴射量（TAUd）に反映させて、空燃比の荒れを良好に阻止することができる。また、パージが安定している場合には、ポート噴射に正確な補正を施すことで、安定的に高精度な空燃比制御を実現することができる。
【０１３３】
実施の形態４．
［実施の形態４の特徴］
次に、図１３を参照して、本発明の実施の形態４について説明する。本実施形態のシステムは、上述した実施の形態３のシステムにおいて、ECU５０に、上記図１０乃至図１２に示すルーチンに加えて、後述する図１３に示すルーチンを実行させることにより実現することができる。
【０１３４】
上述した実施の形態３では、パージ率PGRに大きな変化が発生した場合にパージが過渡状態であると判断することとしている。これに対して、本実施形態では、更に、スロットル開度TAに大きな変化が生じた場合にも、パージが過渡状態であると判断する点に特徴を有している。
【０１３５】
内燃機関１０においてスロットル開度TAが変化すると、吸入空気量Gaが変化し、また、吸気負圧PMが変化する。パージVSV７０の開度とパージ流量QPGとの関係は、吸気負圧PMに応じて変化する。このため、TAの変化に伴ってPMが変化すれば、所望のパージ流量QPGを得るためのパージVSV７０の開度にも変化が生ずる。更に、スロットル開度TAの変化に伴って吸入空気量Gaが変化すれば、所望のパージ率PGRを実現するためのパージ流量QPGにも変化が生ずる。このため、スロットル開度TAが変化すると、パージの環境が変化し、パージが過渡状態となる。本実施形態のシステムによれば、このような状況が生じた際に、パージが過渡状態であることを適切に判断することができる。
【０１３６】
［実施の形態４における具体的処理］
図１３は、パージの安定度を判断するために本実施形態において実行されるルーチンのフローチャートである。このルーチンは、上述した図１０に示すルーチンと同様に、内燃機関１０の始動後、パージが開始された後に実行されるルーチンである。図１３に示すルーチンでは、先ず、前回の処理サイクル時から今回の処理サイクル時にかけて発生したスロットル開度TAの変化量ΔTAが、判定値Ｃより大きいか否かが判断される（ステップ２３０）。
【０１３７】
その結果、ΔTA＞Ｃの成立が認められた場合は、パージが過渡状態であると判断され、過渡フラグXPGRtrnに１がセットされる（ステップ２３２）。一方、ΔTA≦Ｃの成立が認められた場合は、パージ率PGRが安定していると判断され、過渡フラグXPGRtrnに０がセットされる（ステップ２３４）。
【０１３８】
以上説明したように、図１３に示すルーチンによれば、スロットル開度TAの変化率に基づいて、パージの安定度を判断し、その判断の結果を過渡フラグXPGRtrnに反映させることができる。このため、本実施形態のシステムによれば、実施の形態３の場合に比して、更に正確にパージの過渡状態を検知することができ、パージ補正をポート側に割り振る場面と、筒内側に割り振る場面とを、より適切に区別することができる。
【０１３９】
ところで、上述した実施の形態３においては、パージ率PGRの変化に基づいてパージの過渡状態を検知する処理と、スロットル開度TAの変化率に基づいてパージの過渡状態を検知する処理とを共に実行することとしているが、本発明はこれに限定されるものではない。すなわち、前者の検知処理を止めて、TAに基づく検知処理のみを単独で実行することとしてもよい。
【図面の簡単な説明】
【０１４１】
【図１】本発明の実施の形態１の構成を説明するための図である。
【図２】本発明の実施の形態１において実行されるルーチンのフローチャートである。
【図３】本発明の実施の形態２の構成を説明するための図である。
【図４】共通O2センサの出力に基づいてフィードバック補正係数FAFを算出する手法を説明するためのタイミングチャートである。
【図５】気筒別O2センサの出力に基づいて気筒別フィードバック係数平滑値dFAF1aveを算出する手法を説明するためのタイミングチャートである。
【図６】共通O2センサの出力に基づいて学習値KGを算出するためのルーチンのフローチャートである。
【図７】第１気筒の気筒別O2センサの出力に基づいて第１気筒の気筒別学習値dFAF1KGを算出するためのルーチンのフローチャートである。
【図８】本発明の実施の形態２において、個々の気筒のポート噴射時間TAUpi及び筒内噴射時間TAUdiを算出するために実行されるルーチンのフローチャートである。
【図９】本発明の実施の形態３の構成を説明するための図である。
【図１０】本発明の実施の形態３においてパージの安定度を判定するための実行されるルーチンのフローチャートである。
【図１１】本発明の実施の形態３においてパージ補正係数を設定するために実行されるルーチンのフローチャートである。
【図１２】本発明の実施の形態３において燃料噴射時間TAUを設定するために実行されるルーチンのフローチャートである。
【図１３】本発明の実施の形態４においてパージの安定度を判定するための実行されるルーチンのフローチャートである。
【符号の説明】
【０１４２】
１０  内燃機関
１６  吸気ポート
３４  ポート噴射弁
３６  筒内噴射弁
３８  触媒
４０  メイン空燃比センサ
４２  サブO2センサ
５０  ECU(Electronic Control Unit)
f  メインフィードバック係数
g  サブフィードバック係数
αp  吸気ポートへの噴射割合
αd  筒内への噴射割合
βp  ポート噴射弁の無効噴射時間
βd  筒内噴射弁の無効噴射時間
FAF  フィードバック係数
FAFave  フィードバック係数平滑値
dFAFi  気筒別フィードバック係数
dFAFiave  気筒別フィードバック係数平滑値
KG  学習値
dFAFiKG  気筒別学習値
PGR  パージ率
XPGRtrn  過渡フラグ
FPG  パージ補正係数
FGPG  パージ濃度
TAU  燃料噴射時間
TP  基本燃料噴射時間
TA  スロットル開度
NE  機関回転数
Ga  吸入空気量
【図１】
0004631584.tif 000002
【図２】
0004631584.tif 000003
【図３】
0004631584.tif 000004
【図４】
0004631584.tif 000005
【図５】
0004631584.tif 000006
【図６】
0004631584.tif 000007
【図７】
0004631584.tif 000008
【図８】
0004631584.tif 000009
【図９】
0004631584.tif 000010
【図１０】
0004631584.tif 000011
【図１１】
0004631584.tif 000012
【図１２】
0004631584.tif 000013
【図１３】
0004631584.tif 000014