(57)【要約】【課題】ブローバイガス中の蒸発燃料により生ずる実空燃比の目標空燃比からのずれを抑制することのできる内燃機関の燃料噴射制御装置を提供する。【解決手段】電子制御装置の不揮発性メモリは、ブローバイガスに含まれ、かつ単位時間当たりに燃焼室に流入する蒸発燃料の量を蒸発燃料学習値ｆｐｃｖとして記憶する。電子制御装置は、蒸発燃料により生ずる実空燃比の目標空燃比からのずれを補償すべく、不揮発性メモリに記憶された蒸発燃料学習値ｆｐｃｖに基づき燃料噴射量を減量補正する。また、ブローバイガス中の蒸発燃料が燃焼室に流入したときと流入しないときとで生ずる制御パラメータ（フィードバック補正値ＦＡＦ、空燃比学習値ＫＧｉ）のずれ量に基づき、単位時間当たりに燃焼室に流入する蒸発燃料を算出し蒸発燃料学習値ｆｐｃｖを更新する（タイミングｔ３）。【選択図】図８
2007270772.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の燃焼室で燃焼される混合気の実空燃比が機関運転状態に応じた目標空燃比に一致するように、燃料噴射弁からの燃料噴射量を所定の制御パラメータを用いて制御するようにした内燃機関の燃料噴射制御装置において、
前記混合気の燃焼に伴い発生するブローバイガスに含まれ、かつ単位時間当たりに前記燃焼室に流入する蒸発燃料の量を蒸発燃料学習値として記憶する蒸発燃料学習値記憶手段と、
前記蒸発燃料により生ずる実空燃比の前記目標空燃比からのずれを補償すべく、前記蒸発燃料学習値記憶手段による蒸発燃料学習値に基づき前記燃料噴射量を減量補正する減量補正手段と、
前記ブローバイガス中の蒸発燃料が前記燃焼室に流入したときと流入しないときとで生ずる前記制御パラメータのずれ量に基づき、前記単位時間当たりに燃焼室に流入する蒸発燃料を算出し、前記蒸発燃料学習値記憶手段における蒸発燃料学習値を更新する蒸発燃料学習値更新手段と
を備えることを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
前記制御パラメータは、前記目標空燃比に対する前記実空燃比の過渡的なずれを補償すべく、空燃比センサにより検出される空燃比に基づき算出されるフィードバック補正値と、前記目標空燃比に対する前記実空燃比の定常的なずれを補償すべく機関運転状態により区分された複数の学習領域毎に記憶され、かつ前記フィードバック補正値の基準値との偏差に基づき更新される空燃比学習値とからなる請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項３】
前記蒸発燃料学習値更新手段は、前記フィードバック補正値及び前記空燃比学習値を用いた燃料噴射量の制御により前記実空燃比が前記目標空燃比に収束したとき、前記フィードバック補正値及び前記空燃比学習値に基づき蒸発燃料学習値を更新する請求項２に記載の内燃機関の燃料噴射制御装置。
【請求項４】
前記蒸発燃料学習値更新手段による蒸発燃料学習値の更新に応じ、前記減量補正手段による燃料噴射量の減量補正量に相当する量、前記フィードバック補正値及び前記空燃比学習値を、燃料噴射量を増量する側へ補正する制御パラメータ補正手段をさらに備える請求項３に記載の内燃機関の燃料噴射制御装置。
【請求項５】
前記蒸発燃料学習値更新手段は、前記フィードバック補正値が所定の値に収束すること、及び前記空燃比学習値が変化しなくなることをそれぞれ条件とし、少なくとも一方の条件が満たされると前記フィードバック補正値及び前記空燃比学習値に基づき前記蒸発燃料学習値を更新する請求項２に記載の内燃機関の燃料噴射制御装置。
【請求項６】
前記蒸発燃料学習値更新手段による蒸発燃料学習値の更新に応じ、前記減量補正手段による燃料噴射量の減量補正量に相当する量、前記空燃比学習値を、燃料噴射量を増量する側へ補正する制御パラメータ補正手段をさらに備える請求項５に記載の内燃機関の燃料噴射制御装置。
【請求項７】
前記空燃比学習値が記憶される複数の学習領域は、前記内燃機関への吸入空気量に応じて区分されており、
前記蒸発燃料学習値更新手段は、前記複数の学習領域のうち吸入空気量の多い学習領域に記憶されている空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いる請求項２〜６のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項８】
前記ブローバイガス中の蒸発燃料は、前記内燃機関のクランク室内の機関オイルに混入している燃料が同機関オイルの温度上昇に伴い気化したものを含んでおり、
前記複数の学習領域は、前記内燃機関の冷間始動時に空燃比学習値が記憶される学習領域を含んでおり、
前記蒸発燃料学習値更新手段は、前記内燃機関の冷間始動時に記憶された空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いる請求項２〜６のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項９】
前記蒸発燃料学習値更新手段は、前記フィードバック補正値及び空燃比学習値の少なくとも一方が、ブローバイガス中の蒸発燃料が燃焼室に流入していないときの値に対し、燃料噴射量を減量させる側へ所定値以上乖離していると、同蒸発燃料が燃焼室に流入しているとして、前記制御パラメータのずれ量に基づく蒸発燃料学習値の更新を実行する請求項２〜８のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項１０】
前記空燃比学習値が記憶される複数の学習領域は、前記内燃機関への吸入空気量に応じて区分されており、
前記蒸発燃料学習値更新手段は、実吸入空気量が、前記複数の学習領域のうち吸入空気量の少ない学習領域の値となったとき、その学習領域に記憶されている空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入したときの制御パラメータとして用いる請求項２〜９のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項１１】
前記減量補正手段は、前記蒸発燃料学習値を、そのときどきの機関回転速度及び機関一回転当たりの噴射回数にて除することにより一噴射当たりの燃料噴射量に影響を及ぼす蒸発燃料量を算出し、同蒸発燃料量により前記燃料噴射量を減量補正するものである請求項１〜１０のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項１２】
前記内燃機関は、燃料供給系で発生した蒸発燃料をキャニスタに一時的に吸着させ、所定の時期に前記燃焼室にパージする蒸発燃料処理装置を備えており、
前記蒸発燃料学習値更新手段は、前記蒸発燃料学習値の更新を、前記蒸発燃料処理装置によるパージを停止させた状態で行う請求項１〜１１のいずれか１つに記載の内燃機関の燃料噴射制御装置。
【請求項１３】
前記蒸発燃料学習値更新手段は、前回の更新時から所定時間が経過していることを条件に前記蒸発燃料学習値の更新を行う請求項１２に記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射制御装置に関し、より詳しくは、混合気の燃焼に伴い発生したブローバイガスを燃焼室に戻すようにした内燃機関に適用される燃料噴射制御装置に関するものである。
【背景技術】
【０００２】
一般に、吸気通路からの吸入空気と燃料噴射弁からの噴射燃料との混合気が燃焼室で燃焼される内燃機関では、燃料噴射弁からの燃料噴射にかかる制御（燃料噴射制御）に際し、燃焼室への吸入空気量に応じた基本噴射量が算出され、この基本噴射量が補正されることで、燃料噴射弁から噴射すべき最終的な燃料噴射量が算出される。基本噴射量の補正に際しては、例えばフィードバック補正値及び空燃比学習値が制御パラメータとして用いられる（特許文献１参照）。フィードバック補正値は、目標空燃比に対する実空燃比の過渡的なずれを補償するためのものであり、空燃比センサによって検出される空燃比に基づき算出される。また、空燃比学習値は目標空燃比に対する実空燃比の定常的なずれを補償するためのものであり、機関運転領域毎に不揮発性メモリに記憶され、上記フィードバック補正値の基準値との偏差に基づき算出・更新される。そして、これらのフィードバック補正値及び空燃比学習値によって補正された燃料噴射量の燃料が燃料噴射弁から噴射されることで、実空燃比が目標空燃比に収束させられる。
【特許文献１】特開平７−２４７８８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、燃焼室には、燃料噴射弁からの噴射燃料とは別に、吸気通路から蒸発燃料が流入する場合がある。この蒸発燃料として、混合気の燃焼に伴い燃焼室からクランク室に漏出して吸気通路に戻されるブローバイガスに含まれるものがある。
【０００４】
上記ブローバイガス中の蒸発燃料が吸気通路から燃焼室に流入すると、その分、余分に燃焼室に燃料が供給された状態になる。これについては、フィードバック補正値及び空燃比学習値が燃料噴射量を減量させる側の値に変化して対処しようとするものの、一時的に実空燃比が目標空燃比に対して過剰にリッチになり、排気エミッションの悪化や燃費の低下を招く。
【０００５】
本発明はこのような実情に鑑みてなされたものであって、その目的は、ブローバイガス中の蒸発燃料により生ずる実空燃比の目標空燃比からのずれを抑制することのできる内燃機関の燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の発明は、内燃機関の燃焼室で燃焼される混合気の実空燃比が機関運転状態に応じた目標空燃比に一致するように、燃料噴射弁からの燃料噴射量を所定の制御パラメータを用いて制御するようにした内燃機関の燃料噴射制御装置において、前記混合気の燃焼に伴い発生するブローバイガスに含まれ、かつ単位時間当たりに前記燃焼室に流入する蒸発燃料の量を蒸発燃料学習値として記憶する蒸発燃料学習値記憶手段と、前記蒸発燃料により生ずる実空燃比の前記目標空燃比からのずれを補償すべく、前記蒸発燃料学習値記憶手段による蒸発燃料学習値に基づき前記燃料噴射量を減量補正する減量補正手段と、前記ブローバイガス中の蒸発燃料が前記燃焼室に流入したときと流入しないときとで生ずる前記制御パラメータのずれ量に基づき、前記単位時間当たりに燃焼室に流入する蒸発燃料を算出し、前記蒸発燃料学習値記憶手段における蒸発燃料学習値を更新する蒸発燃料学習値更新手段とを備えることを要旨としている。
【０００７】
上記の構成によれば、蒸発燃料学習値記憶手段には、単位時間当たりに燃焼室に流入するブローバイガス中の蒸発燃料の量が蒸発燃料学習値として記憶されている。この蒸発燃料学習値は次のように更新される。すなわち、実空燃比を目標空燃比に一致させるべく燃料噴射量を制御する際には制御パラメータが用いられるところ、ブローバイガス中の蒸発燃料が燃焼室に流入すると、この制御パラメータは、蒸発燃料が燃焼室に流入しないときとは異なる値を採り、制御パラメータにずれが生ずる。蒸発燃料学習値更新手段では、上記のようにブローバイガス中の蒸発燃料が燃焼室に流入したときと流入しないときとで生ずる制御パラメータのずれ量に基づき、単位時間当たりに燃焼室に流入する蒸発燃料量が算出され、これによって蒸発燃料学習値記憶手段における蒸発燃料学習値が更新される。
【０００８】
そして、蒸発燃料の燃焼室内への流入に応じ、減量補正手段により、蒸発燃料学習値に基づき燃料噴射量が減量補正される。従って、蒸発燃料が燃焼室に流入したときに、こうした蒸発燃料学習値を用いた燃料噴射量の減量補正を行わない場合に比べ、実空燃比の目標空燃比からのずれを抑制することが可能となる。
【０００９】
請求項２に記載の発明は、請求項１に記載の発明において、前記制御パラメータは、前記目標空燃比に対する前記実空燃比の過渡的なずれを補償すべく、空燃比センサにより検出される空燃比に基づき算出されるフィードバック補正値と、前記目標空燃比に対する前記実空燃比の定常的なずれを補償すべく機関運転状態により区分された複数の学習領域毎に記憶され、かつ前記フィードバック補正値の基準値との偏差に基づき更新される空燃比学習値とからなることを要旨としている。
【００１０】
上記の構成によれば、フィードバック補正値は空燃比センサにより検出される空燃比に基づき算出される。このフィードバック補正値が制御パラメータとして燃料噴射量の制御に用いられることで、目標空燃比に対する実空燃比の過渡的なずれが補償される。また、空燃比学習値は、機関運転状態により区分された複数の学習領域毎に記憶されており、フィードバック補正値の基準値との偏差に基づき更新される。この空燃比学習値が制御パラメータとして燃料噴射量の制御に用いられることで、目標空燃比に対する実空燃比の定常的なずれが補償される。このように、フィードバック補正値及び空燃比学習値が制御パラメータとして用いられて燃料噴射量が制御されることで、実空燃比が目標空燃比に収束させられる。
【００１１】
そして、ブローバイガス中の蒸発燃料が燃焼室に流入したときと流入しないときとで生ずる制御パラメータ（フィードバック補正値及び空燃比学習値）のずれ量に基づき、上記蒸発燃料学習値の更新が行われる。
【００１２】
請求項３に記載の発明は、請求項２に記載の発明において、前記蒸発燃料学習値更新手段は、前記フィードバック補正値及び前記空燃比学習値を用いた燃料噴射量の制御により前記実空燃比が前記目標空燃比に収束したとき、前記フィードバック補正値及び前記空燃比学習値に基づき蒸発燃料学習値を更新することを要旨としている。
【００１３】
ブローバイガス中の蒸発燃料が燃焼室に流入して、実空燃比が目標空燃比よりもリッチ側にずれると、そのずれを補償すべくフィードバック補正値及び空燃比学習値が燃料噴射量を減量させる側へ変化する。この変化により、蒸発燃料の流入により生じた実空燃比の目標空燃比からのずれが小さくなっていく。そして、これらのフィードバック補正値及び空燃比学習値の組み合わせが蒸発燃料量に対応した値になると、蒸発燃料量分減量された量の燃料が噴射されることとなって実空燃比が目標空燃比に収束する。
【００１４】
この点、請求項３に記載の発明では、フィードバック補正値及び空燃比学習値を用いた燃料噴射量の制御により実空燃比が目標空燃比に収束したときに、それらのフィードバック補正値及び空燃比学習値に基づき蒸発燃料学習値が更新される。従って、更新後の蒸発燃料学習値は、実際の蒸発燃料量に対応した精度の高い値となる。
【００１５】
請求項４に記載の発明は、請求項３に記載の発明において、前記蒸発燃料学習値更新手段による蒸発燃料学習値の更新に応じ、前記減量補正手段による燃料噴射量の減量補正量に相当する量、前記フィードバック補正値及び前記空燃比学習値を、燃料噴射量を増量する側へ補正する制御パラメータ補正手段をさらに備えることを要旨としている。
【００１６】
更新された蒸発燃料学習値に基づく燃料噴射量の減量補正が行われるようになっても、更新時のフィードバック補正値及び空燃比学習値を用いた燃料噴射量の制御が継続されると、減量補正の分、燃料噴射量が過剰に減量されることになる。この点、請求項４に記載の発明では、フィードバック補正値及び空燃比学習値が、減量補正手段による燃料噴射量の減量補正量に相当する量、燃料噴射量を増量する側へ補正されることから、上記のように燃料噴射量が過剰に減量される現象が起こりにくくなる。
【００１７】
請求項５に記載の発明は、請求項２に記載の発明において、前記蒸発燃料学習値更新手段は、前記フィードバック補正値が所定の値に収束すること、及び前記空燃比学習値が変化しなくなることをそれぞれ条件とし、少なくとも一方の条件が満たされると前記フィードバック補正値及び前記空燃比学習値に基づき前記蒸発燃料学習値を更新することを要旨としている。
【００１８】
ブローバイガス中の蒸発燃料が燃焼室に流入して実空燃比が目標空燃比よりもリッチ側にずれると、そのずれを補償すべくフィードバック補正値が燃料噴射量を減量させる側へ変化する。これに伴いフィードバック補正値の基準値との偏差も拡大し、同偏差に基づき更新される空燃比学習値も燃料噴射量を減量させる側へ変化する。
【００１９】
これらの変化により、蒸発燃料の流入により生じた実空燃比の目標空燃比からのずれが小さくなっていく。そして、フィードバック補正値及び空燃比学習値が蒸発燃料量に対応した値になると、蒸発燃料量を反映した量（蒸発燃料量分減量された量）の燃料が噴射されることとなって実空燃比が目標空燃比に収束する。
【００２０】
この状態では、フィードバック補正値が基準値からずれていることから、その後も空燃比学習値が燃料噴射量を減量させる側へ変化し続ける。この空燃比学習値の変化を相殺するために、フィードバック補正値は前記燃料噴射量を減量させる側への変化を停止し、基準値に近づく側へ変化し始める。そして、フィードバック補正値が所定の値に収束すると、それに伴い空燃比学習値も変化しなくなる。このときの空燃比学習値は、蒸発燃料の流入による実空燃比の目標空燃比からのずれを補償し得る値、すなわち蒸発燃料量に対応した値となっている。
【００２１】
この点、請求項５に記載の発明では、フィードバック補正値が所定の値に収束すること、及び空燃比学習値が変化しなくなることをそれぞれ条件とし、少なくとも一方の条件が満たされると、フィードバック補正値及び空燃比学習値に基づき蒸発燃料学習値が更新される。従って、更新後の蒸発燃料学習値は、実際の蒸発燃料量に対応した精度の高い値となる。
【００２２】
請求項６に記載の発明は、請求項５に記載の発明において、前記蒸発燃料学習値更新手段による蒸発燃料学習値の更新に応じ、前記減量補正手段による燃料噴射量の減量補正量に相当する量、前記空燃比学習値を、燃料噴射量を増量する側へ補正する制御パラメータ補正手段をさらに備えることを要旨としている。
【００２３】
更新された蒸発燃料学習値に基づく燃料噴射量の減量補正が行われるようになっても、更新時の空燃比学習値を用いた燃料噴射量の制御が継続されると、上記減量補正の分、燃料噴射量が過剰に減量されることになる。この点、請求項６に記載の発明では、空燃比学習値が、減量補正手段による燃料噴射量の減量補正量に相当する量、燃料噴射量を増量する側へ補正されることから、上記のように燃料噴射量が過剰に減量されることがなくなる。
【００２４】
請求項７に記載の発明は、請求項２〜６のいずれか１つに記載の発明において、前記空燃比学習値が記憶される複数の学習領域は、前記内燃機関への吸入空気量に応じて区分されており、前記蒸発燃料学習値更新手段は、前記複数の学習領域のうち吸入空気量の多い学習領域に記憶されている空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いることを要旨としている。
【００２５】
ブローバイガス中の蒸発燃料が燃焼室に流入した場合、その蒸発燃料が空燃比に及ぼす影響度合いはそのときの吸入空気量に応じて異なる。この影響度合いは吸入空気量が少ないときには大きく、吸入空気量が多くなるほど小さくなる。従って、複数の学習領域のうち吸入空気量の多い学習領域に記憶されている空燃比学習値は、ブローバイガス中の蒸発燃料が燃焼室に流入しないときの値に近い値となる。そのため、請求項７に記載の発明によるように、吸入空気量の多い学習領域に記憶されている空燃比学習値を、蒸発燃料学習値の更新に際し、ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いることで、単位時間当たりに燃焼室に流入する蒸発燃料として適切な値を算出することができる。
【００２６】
請求項８に記載の発明は、請求項２〜６のいずれか１つに記載の発明において、前記ブローバイガス中の蒸発燃料は、前記内燃機関のクランク室内の機関オイルに混入している燃料が同機関オイルの温度上昇に伴い気化したものを含んでおり、前記複数の学習領域は、前記内燃機関の冷間始動時に空燃比学習値が記憶される学習領域を含んでおり、前記蒸発燃料学習値更新手段は、前記内燃機関の冷間始動時に記憶された空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いることを要旨としている。
【００２７】
内燃機関の冷間始動時には、クランク室内の機関オイルの温度が低く、同機関オイルに混入している燃料が気化しにくい。この状況下で燃焼室に流入するブローバイガス中の蒸発燃料は少ない。吸入空気量に対し蒸発燃料量は無視できるほど少なく、蒸発燃料が空燃比に及ぼす影響度合いが小さい。
【００２８】
従って、内燃機関の冷間始動時に空燃比学習値を所定の学習領域に記憶すれば、その空燃比学習値は、ブローバイガス中の蒸発燃料が燃焼室に流入しないときの値に近い値となる。そのため、請求項８に記載の発明によるように、内燃機関の冷間始動時に記憶された空燃比学習値を、蒸発燃料学習値の更新に際し、ブローバイガス中の蒸発燃料が燃焼室に流入しないときの制御パラメータとして用いることで、単位時間当たりに燃焼室に流入する蒸発燃料を算出することができる。
【００２９】
請求項９に記載の発明は、請求項２〜８のいずれか１つに記載の発明において、前記蒸発燃料学習値更新手段は、前記フィードバック補正値及び空燃比学習値の少なくとも一方が、ブローバイガス中の蒸発燃料が燃焼室に流入していないときの値に対し、燃料噴射量を減量させる側へ所定値以上乖離していると、同蒸発燃料が燃焼室に流入しているとして、前記制御パラメータのずれ量に基づく蒸発燃料学習値の更新を実行することを要旨としている。
【００３０】
蒸発燃料が燃焼室に流入しなければ、フィードバック補正値及び空燃比学習値を用いた燃料噴射量の制御により、混合気の実空燃比が目標空燃比に収束する。この状態で蒸発燃料が燃焼室に流入すると、その分、余分に燃焼室に燃料が供給された状態になって実空燃比がリッチになる。これに対しては、フィードバック補正値及び空燃比学習値として燃料噴射量を減量させる側の値が算出される。
【００３１】
この点、請求項９に記載の発明では、フィードバック補正値及び空燃比学習値の少なくとも一方が、ブローバイガス中の蒸発燃料が燃焼室に流入していないときの値に対し、燃料噴射量を減量させる側へ所定値以上乖離していると、蒸発燃料が燃焼室に流入している可能性があるとして、制御パラメータのずれ量に基づく蒸発燃料学習値の更新が行われる。従って、蒸発燃料学習値の更新を、蒸発燃料が流入しているときに確実に行うことが可能となる。
【００３２】
請求項１０に記載の発明は、請求項２〜９のいずれか１つに記載の発明において、前記空燃比学習値が記憶される複数の学習領域は、前記内燃機関への吸入空気量に応じて区分されており、前記蒸発燃料学習値更新手段は、実吸入空気量が、前記複数の学習領域のうち吸入空気量の少ない学習領域の値となったとき、その学習領域に記憶されている空燃比学習値を、前記蒸発燃料学習値の更新に際し、前記ブローバイガス中の蒸発燃料が燃焼室に流入したときの制御パラメータとして用いることを要旨としている。
【００３３】
ブローバイガス中の蒸発燃料が燃焼室に流入した場合、その蒸発燃料が空燃比に及ぼす影響度合いはそのときの吸入空気量に応じて異なる。この影響度合いは吸入空気量が多いときには小さく、吸入空気量が少なくなるに従い大きくなる。複数の学習領域のうち吸入空気量の少ない学習領域に記憶されている空燃比学習値は、蒸発燃料から大きく影響を受けた実空燃比の目標空燃比からのずれに対応した値となる。この空燃比学習値は、吸入空気量の多い学習領域に記憶され、かつ蒸発燃料から受ける影響が小さい実空燃比の目標空燃比からのずれに対応した空燃比学習値よりも精度の高い値となる。
【００３４】
従って、請求項１０に記載の発明によるように、実吸入空気量が吸入空気量の少ない学習領域の値となったとき、その学習領域に記憶されている空燃比学習値を、ブローバイガス中の蒸発燃料が燃焼室に流入したときの制御パラメータとして用いることで、単位時間当たりに燃焼室に流入する蒸発燃料を高い精度で算出することができる。
【００３５】
請求項１１に記載の発明は、請求項１〜１０のいずれか１つに記載の発明において、前記減量補正手段は、前記蒸発燃料学習値を、そのときどきの機関回転速度及び機関一回転当たりの噴射回数にて除することにより一噴射当たりの燃料噴射量に影響を及ぼす蒸発燃料量を算出し、同蒸発燃料量により前記燃料噴射量を減量補正するものであることを要旨としている。
【００３６】
単位時間当たりに燃焼室に流入するブローバイガス中の蒸発燃料の量は、機関オイルの温度一定のもと機関運転状態に拘わらず略一定であると考えられる。そのため、請求項１１に記載の発明によるように、蒸発燃料学習値を、そのときどきの機関回転速度及び機関一回転当たりの噴射回数で除することにより、一噴射当たりの燃料噴射量に影響を及ぼす蒸発燃料量を正確に求めることができる。また、この蒸発燃料量によって燃料噴射量を減量補正することで、ブローバイガス中の蒸発燃料により生ずる実空燃比の目標空燃比からのずれを確実に補償することが可能となる。
【００３７】
請求項１２に記載の発明は、請求項１〜１１のいずれか１つに記載の発明において、前記内燃機関は、燃料供給系で発生した蒸発燃料をキャニスタに一時的に吸着させ、所定の時期に前記燃焼室にパージする蒸発燃料処理装置を備えており、前記蒸発燃料学習値更新手段は、前記蒸発燃料学習値の更新を、前記蒸発燃料処理装置によるパージを停止させた状態で行うことを要旨としている。
【００３８】
上記の構成によれば、ブローバイガス中の蒸発燃料により生ずる空燃比のずれを補償するための蒸発燃料学習値を更新する際には、蒸発燃料処理装置によるパージが停止させられる。蒸発燃料処理装置のキャニスタに吸着された蒸発燃料は、吸気通路を通じて燃焼室へは流入しない。そのため、パージされる蒸発燃料を含まないかたちで、燃焼室に流入する蒸発燃料の量、この場合、燃焼室に流入するブローバイガス中の蒸発燃料の量、すなわち蒸発燃料学習値を精度よく算出して更新することが可能となる。
【００３９】
請求項１３に記載の発明は、請求項１２に記載の発明において、前記蒸発燃料学習値更新手段は、前回の更新時から所定時間が経過していることを条件に前記蒸発燃料学習値の更新を行うことを要旨としている。
【００４０】
上述した請求項１２に記載の発明によるように、ブローバイガス中の蒸発燃料についての蒸発燃料学習値の学習の際にパージを停止させると、その分、キャニスタに吸着した蒸発燃料をパージさせる機会が減る。この点、請求項１３に記載の発明では、蒸発燃料学習値についての前回の更新が終了した時点から所定時間が経過するまでは、蒸発燃料学習値の次の更新が行われない。これに伴い、蒸発燃料処理装置によるパージが停止されない。従って、蒸発燃料学習値の更新が頻繁に行われて、パージの機会が不要に減少されないようにすることができる。
【発明を実施するための最良の形態】
【００４１】
以下、本発明を具体化した一実施形態について図１〜図８を参照して説明する。
図１に示すように、車両には、その動力源として、ガソリンエンジンからなる内燃機関１１が搭載されている。内燃機関１１は、複数の気筒（シリンダ）１２を有するシリンダブロック１３と、その上に取付けられたシリンダヘッド１４とを備えている。各気筒１２に往復動可能に収容されたピストン１５は、コネクティングロッド１６を介し、内燃機関１１の出力軸であるクランクシャフト１７に連結されている。
【００４２】
気筒１２毎の燃焼室１８には、内燃機関１１の外部の空気を同燃焼室１８に導くための吸気通路１９が接続されている。吸気通路１９には、スロットルバルブ２１が回動可能に設けられている。スロットルバルブ２１に駆動連結されたアクチュエータ２２は、運転者によるアクセルペダル２３の踏込み操作等に応じて作動し、スロットルバルブ２１を回動させる。吸気通路１９を流れる空気の量（吸入空気量ＧＡ）は、スロットルバルブ２１の回動角度（スロットル開度）に応じて変化する。また、気筒１２毎の燃焼室１８には、同燃焼室１８で生じた燃焼ガスを内燃機関１１の外部へ排出するための排気通路２４が接続されている。排気通路２４には、排気浄化触媒２５を内蔵した触媒コンバータ２６が設けられている。
【００４３】
上記シリンダヘッド１４には、それぞれバルブスプリング２７により付勢された吸気バルブ２８及び排気バルブ２９が気筒１２毎に設けられている。吸気バルブ２８は、クランクシャフト１７にて回転駆動される吸気カムシャフト３１により押し下げられ、吸気通路１９の各気筒１２における開口部を開閉する。また、排気バルブ２９は、クランクシャフト１７にて回転駆動される排気カムシャフト３２により押し下げられ、排気通路２４の各気筒１２における開口部を開閉する。
【００４４】
吸気通路１９には、燃料噴射弁３３が各気筒１２に対応して取り付けられている。この燃料噴射弁３３から噴射された燃料は、吸気通路１９を流れる吸入空気と混ざり合って混合気となり燃焼室１８に流入する。なお、燃料噴射弁３３から気筒１２毎の燃焼室１８内へ直接燃料が噴射される構成であってもよい。
【００４５】
シリンダヘッド１４に取り付けられた気筒１２毎の点火プラグ３４は、点火コイル３５を介してイグナイタ３６に接続されている。各点火プラグ３４には、イグナイタ３６からの点火信号に基づき点火コイル３５から出力される高電圧が印加される。そして、燃焼室１８内の前記混合気は点火プラグ３４の火花放電によって着火され、燃焼する。このときに生じた高温高圧の燃焼ガスによりピストン１５が往復動される。ピストン１５の往復運動は、コネクティングロッド１６を介してクランクシャフト１７に伝達され、同クランクシャフト１７が回転させられて内燃機関１１の駆動力（トルク）が得られる。
【００４６】
上記内燃機関１１では、圧縮行程及び膨張行程で、燃焼室１８内のガスが燃料とともに、ピストンリング３７と気筒１２の壁面との隙間や、ピストンリング３７とピストン１５との隙間を通り、クランクシャフト１７が収容されている空間であるクランク室３８に漏出する。上記ガスはブローバイガスと呼ばれ、機関オイルを劣化させる原因となり得る。ブローバイガス中の燃料の少なくとも一部は次のようにして生ずる。燃料噴射弁３３からの噴射燃料が十分に霧化しない機関低温時等には、その噴射燃料が気筒１２の壁面に多く付着する傾向にある。この付着燃料は、ピストン１５の往復動に伴いピストンリング３７によってクランク室３８に掻き落とされて、同クランク室３８内の機関オイルに混入する。この燃料は機関オイルの温度上昇に伴って気化する。
【００４７】
なお、本実施形態とは異なり、燃焼室１８に燃料を直接噴射するタイプの内燃機関１１では、気筒１２の壁面に燃料噴射弁３３からの噴射燃料が直接当たるため、機関低温時に多量の燃料が同壁面に付着しやすく、上記ブローバイガス中の燃料も多くなる傾向にある。
【００４８】
そこで、内燃機関１１には、ブローバイガスをクランク室３８、シリンダブロック１３、シリンダヘッド１４内の動弁室３９、吸気通路１９等を通じて燃焼室１８に戻して再燃焼させるブローバイガス還流装置４１が設けられている。ブローバイガス還流装置４１は、クランク室３８と、吸気通路１９のスロットルバルブ２１よりも下流とをつなぐブローバイガス通路４３を備えている。ブローバイガス還流装置４１では、スロットルバルブ２１の下流で発生する負圧（大気圧を基準としてそれよりも低い圧力）がブローバイガス通路４３を通じてクランク室３８に作用する。この吸気負圧により、燃焼室１８からクランク室３８に漏出したブローバイガスが燃料を含んだ状態でブローバイガス通路４３を通って吸気通路１９に吸引される。
【００４９】
車両には、内燃機関１１の運転状態を含む同車両の各部の状態を検出するために、各種センサが設けられている。これらのセンサとして、本実施形態ではクランク角センサ５１、水温センサ５２、エアフロメータ５３、スロットルセンサ５４、アクセルセンサ５５、酸素センサ５６等が用いられている。
【００５０】
クランク角センサ５１は、クランクシャフト１７が一定角度回転する毎にパルス状の信号を発生する。この信号は、クランクシャフト１７の回転角度であるクランク角や、単位時間当りのクランクシャフト１７の回転数である機関回転速度ＮＥの算出に用いられる。水温センサ５２は、内燃機関１１の内部を流れる冷却水の温度（冷却水温度ＴＨＷ）を検出し、エアフロメータ５３は、吸気通路１９を流れる空気の量（吸入空気量ＧＡ）を検出する。スロットルセンサ５４は、スロットルバルブ２１のスロットル開度を検出し、アクセルセンサ５５は運転者によるアクセルペダル２３の踏込み量を検出する。
【００５１】
酸素センサ５６は、混合気の空燃比を検出する空燃比センサとして用いられており、排気通路２４に設けられており、排気中の酸素の濃度に応じた信号を出力する。酸素センサ５６は、空燃比が理論空燃比をまたいで変化するときに出力電圧Ｖｏが急変する特性を有する。この出力電圧Ｖｏは、空燃比が理論空燃比よりも大きい（空燃比が理論空燃比に対してリーン）のときには、理論空燃比に対応した出力電圧（基準電圧Ｖｄ）よりも小さな値を示す。また、上記出力電圧Ｖｏは、空燃比が理論空燃比よりも小さい（空燃比が理論空燃比に対してリッチ）のときには、上記基準電圧Ｖｄよりも大きな値を示す。従って、出力電圧Ｖｏに基づき、排気がリーンに対応した状態であるか、又はリッチに対応した状態であるかを検出することが可能である（図２参照）。
【００５２】
車両には、前記センサ５１〜５６等の各種信号に基づいて、内燃機関１１等の各部を制御する電子制御装置６１が設けられている。電子制御装置６１はマイクロコンピュータを中心として構成されている。電子制御装置６１では、中央処理装置（ＣＰＵ）が、読出し専用メモリ（ＲＯＭ）に記憶されている制御プログラム、初期データ、制御マップ等に従って演算処理を行い、その演算結果に基づいて、内燃機関１１の運転や車両の走行にかかる各種制御を実行する。ＣＰＵによる演算結果は、ランダムアクセスメモリ（ＲＡＭ）において一時的に記憶される。さらに電子制御装置６１は、同装置６１に対する電力供給が停止された後にも各種データを記憶保持する不揮発性メモリ６２を備えている。この不揮発性メモリ６２は、後述する空燃比学習値ＫＧｉを記憶する手段として機能するほか、蒸発燃料学習値ｆｐｃｖを記憶する蒸発燃料学習値記憶手段として機能する。
【００５３】
電子制御装置６１が行う制御としては、例えばアクチュエータ２２の駆動制御（スロットル制御）、燃料噴射弁３３の駆動制御（燃料噴射制御）、点火プラグ３４の駆動制御（点火時期制御）等が挙げられる。電子制御装置６１は、例えばスロットル制御に際し、アクセルセンサ５５によるアクセルペダル２３の踏み込み量やクランク角センサ５１による機関回転速度ＮＥに基づいてスロットル開度の制御目標値（目標スロットル開度）を算出する。そして、電子制御装置６１は、スロットルセンサ５４による実際のスロットル開度が上記目標スロットル開度に一致するようにアクチュエータ２２の駆動を制御する。
【００５４】
また、点火時期制御では、上記スロットルセンサ５４によるスロットル開度やクランク角センサ５１による機関回転速度ＮＥに基づいて点火時期の制御目標値（目標点火時期）を算出し、イグナイタ３６を制御することによりその目標点火時期において点火プラグ３４に点火動作をさせる。上記混合気は、点火プラグ３４の点火に伴う火花放電によって着火されて燃焼する。
【００５５】
さらに、電子制御装置６１は燃料噴射制御に際し、次式（ｉ）に従って、燃料噴射弁３３に対する制御目標値（燃料噴射量）を算出し、同燃料噴射量に基づき燃料噴射弁３３に対する通電を制御する。この通電により燃料噴射弁３３が開弁して上記燃料噴射量の燃料が噴射される。
【００５６】
燃料噴射量＝基本噴射量＊フィードバック補正値ＦＡＦ＊空燃比学習値ＫＧｉ
＊その他の補正係数＊減量補正値ｆｑｃｖ
・・・（ｉ）
上記式（ｉ）中の基本噴射量は、そのときの機関運転状態に必要な基本となる燃料量であり、例えば機関回転速度ＮＥ及び吸入空気量ＧＡに基づき算出される。
【００５７】
また、フィードバック補正値ＦＡＦは、燃料噴射弁３３の燃料噴射量をフィードバック制御するための補正値（補正係数）であり、上述した酸素センサ５６の出力電圧Ｖｏに応じて図２に示すように変化する。フィードバック補正値ＦＡＦは、例えば「１．０」を制御基準値とし、混合気の実空燃比が理論空燃比よりもリーンである場合には制御基準値よりも大きな値に設定され、実空燃比が理論空燃比よりもリッチである場合には制御基準値よりも小さな値に設定される。従って、フィードバック補正値ＦＡＦが乗算される燃料噴射量は、混合気がリーンである場合には増量補正され、リッチである場合には減量補正される。そして、このようにフィードバック補正値ＦＡＦに基づいて燃料噴射量が補正されることにより、目標空燃比に対する実空燃比の過渡的なずれが補償される。
【００５８】
実空燃比が理論空燃比に対し定常的にずれる傾向を有していない場合、フィードバック補正値ＦＡＦは、制御基準値（＝１．０）を中心としてその近傍で変動する。従って、フィードバック補正値ＦＡＦの平均値は略「１．０」になる。これに対し、定常的にずれる傾向を有している場合には、フィードバック補正値ＦＡＦは、制御基準値（＝１．０）とは異なる値を中心としてその近傍で変動する。従って、フィードバック補正値ＦＡＦの平均値は、そのずれの傾向に応じて「１．０」とは異なる値に収束するようになる。上記の定常的なずれは、内燃機関１１の個体差や、燃料噴射弁３３の噴射特性あるいはエアフロメータ５３の出力特性における個体差、さらにはそれら個体差の経時変化等々により生ずるものである。
【００５９】
上記式（ｉ）中の空燃比学習値ＫＧｉは、目標空燃比に対する実空燃比の定常的なずれを補償するための補正値（補正係数）である。この空燃比学習値ＫＧｉが用いられて燃料噴射量が補正されることにより、フィードバック補正値ＦＡＦが過度に「１．０」から離れた値とならないようにされる。
【００６０】
空燃比学習値ＫＧｉは、フィードバック補正値ＦＡＦが大きくなるほど大きい値にされるとともに、フィードバック補正値ＦＡＦが小さくなるほど小さい値とされる。従って、空燃比学習値ＫＧｉによって燃料噴射量を補正することで、フィードバック補正値ＦＡＦが「１．０」を含む所定範囲内で変化（収束）するようになる。
【００６１】
また、上記のような空燃比のずれ量は機関運転状態に応じて異なるものとなる。そのため、空燃比学習値ＫＧｉの学習は機関運転状態、ここでは吸入空気量ＧＡに応じて区分された複数の領域（学習領域Ｒｉ）毎に行われる。より具体的には、吸入空気量ＧＡの採り得る領域が４つに区分され、それらの領域が、吸入空気量ＧＡの少ない方から多くなる方へ順に、第１の学習領域Ｒ１、第２の学習領域Ｒ２、第３の学習領域Ｒ３及び第４の学習領域Ｒ４とされている。空燃比学習値ＫＧｉはこれらの学習領域Ｒｉ（ｉ＝１〜４）毎の値として各別に設定されて、不揮発性メモリ６２に記憶されている。
【００６２】
なお、ブローバイガス中の蒸発燃料が吸気通路１９を通じて燃焼室１８に流入すると、実空燃比が理論空燃比に対してリッチ側へずれる傾向となるため、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉがこうしたずれを補償すべく燃料噴射量を減量する値に変化する。
【００６３】
上述したフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉは、混合気の実空燃比が目標空燃比に一致するように燃料噴射量を制御する際に用いられる制御パラメータに相当する。
【００６４】
また、上記式（ｉ）中の減量補正値ｆｑｃｖは、ブローバイガス中の蒸発燃料により生ずる空燃比の目標空燃比からのずれを補償すべく燃料噴射量を減量補正する際に用いられる補正値である。電子制御装置６１による上記減量補正値ｆｑｃｖを用いた燃料噴射量の減量補正処理は、減量補正手段に相当する。
【００６５】
次に、上記フィードバック補正値ＦＡＦ、空燃比学習値ＫＧｉ及び減量補正値ｆｑｃｖの各算出態様について説明する。
図４のフローチャートは、フィードバック補正値ＦＡＦを算出するためのルーチンを示している。このルーチンの一連の処理は、電子制御装置６１により所定の制御周期毎に繰り返し実行される。
【００６６】
電子制御装置６１は、まずステップ１１０において、フィードバック補正値ＦＡＦを用いた燃料噴射量のフィードバック（Ｆ／Ｂ）制御を行うための実行条件が成立しているか否かを判定する。ここでは、次の各条件が成立しているか否かについて判定する。
［ａ］機関始動時ではない。
［ｂ］燃料カットが行われていない。
［ｃ］酸素センサ５６が活性化している。
【００６７】
上記各条件［ａ］〜［ｃ］のうち少なくとも一つが成立していないと、実行条件が満たされていないとしてステップ１２０へ移行し、フィードバック補正値ＦＡＦを制御基準値である「１．０」に設定する。この場合、フィードバック補正値ＦＡＦに基づく燃料噴射量の補正は実質的に行われないことになる。
【００６８】
これに対し、上記条件［ａ］〜［ｃ］の全てが成立していると、実行条件が満たされているとしてステップ１３０へ移行し、今回の制御周期における酸素センサ５６の出力電圧Ｖｏ(i) が基準電圧Ｖｄ未満であるかどうかを判定する。この判定条件が満たされている（Ｖｏ(i) ＜Ｖｄ）と、実空燃比が理論空燃比よりもリーン側の値である。この場合には、ステップ１４０において、前回の制御周期における酸素センサ５６の出力電圧Ｖｏ(i-1) が基準電圧Ｖｄ未満であったかどうかを判定する。
【００６９】
この判定条件が満たされている（Ｖｏ(i-1) ＜Ｖｄ）と、実空燃比が理論空燃比よりもリーン側の値にある状態が継続されていると判断し、ステップ１５０において、フィードバック補正値ＦＡＦに所定の積分量ＲＩ（ＲＩ＞０）を加算し、その加算結果を新たなフィードバック補正値ＦＡＦとして設定する。
【００７０】
そのため、フィードバック補正値ＦＡＦが例えば図３の点Ｐ４に位置する状態にあるとすると、積分量ＲＩの加算が行われることにより、フィードバック補正値ＦＡＦが点Ｐ５に位置する状態へ変化する。こうした積分量ＲＩの加算が所定の周期毎に継続して実行される積分制御を通じて、フィードバック補正値ＦＡＦは徐々に大きくなる。この積分制御が行われるときのフィードバック補正値ＦＡＦの増加傾向は、積分量ＲＩが大きくなるほど急になり、同積分量ＲＩが小さくなるほど緩やかになる。
【００７１】
そして、上述のようなフィードバック補正値ＦＡＦを徐々に大きくする処理が継続されると、空燃比が理論空燃比に対してリーン側からリッチ側へ変化し、これにともなって出力電圧Ｖｏが基準電圧Ｖｄよりも小さい値から大きい値へ変化する。
【００７２】
これに対し、上記ステップ１４０の判定条件が満たされていない（Ｖｏ(i-1) ≧Ｖｄ）と、実空燃比が理論空燃比よりもリッチ側の値からリーン側の値へ反転したと判断し、ステップ１６０において、フィードバック補正値ＦＡＦに所定のスキップ量ＲＳ（ＲＳ＞０）を加算し、その加算結果を新たなフィードバック補正値ＦＡＦとして設定する。なお、スキップ量ＲＳとしては積分量ＲＩよりも十分に大きな値が設定されている。
【００７３】
そのため、フィードバック補正値ＦＡＦが、例えば図３の点Ｐ３に位置する状態にあるとすると、スキップ量ＲＳの加算が行われることにより、フィードバック補正値ＦＡＦが点Ｐ４に位置する状態へ変化する。こうしたスキップ量ＲＳを加算する制御（いわゆるスキップ制御）を通じて、フィードバック補正値ＦＡＦは上記積分制御時よりも大きく変化する。
【００７４】
スキップ量ＲＳは、空燃比が理論空燃比に対してリーン側からリッチ側へと一気に反転しない値に設定されている。従って、フィードバック補正値ＦＡＦにスキップ量ＲＳが加算された後においても、空燃比が理論空燃比よりもリーンであるとともに出力電圧Ｖｏが基準電圧Ｖｄよりも小さい状態が続く。
【００７５】
一方、上記ステップ１３０の判定条件が満たされていない（Ｖｏ(i) ≧Ｖｄ）と、実空燃比が理論空燃比よりもリッチ側の値であると判断しステップ１７０へ移行する。ステップ１７０では、前回の制御周期における酸素センサ５６の出力電圧Ｖｏ(i-1) が基準電圧Ｖｄ以上であったかどうかを判定する。この判定条件が満たされている（Ｖｏ(i-1) ≧Ｖｄ）と、実空燃比が理論空燃比よりもリッチ側の値にある状態が継続されていると判断し、ステップ１８０において、フィードバック補正値ＦＡＦから所定の積分量ＬＩ（ＬＩ＞０）を減算した値を新たなフィードバック補正値ＦＡＦとして設定する。
【００７６】
そのため、フィードバック補正値ＦＡＦが、例えば図３の点Ｐ１に位置する状態にあるとすると、積分量ＬＩの減算が行われることにより、フィードバック補正値ＦＡＦが点Ｐ２に位置する状態へ変化する。こうした積分量ＬＩの減算が所定の周期毎に継続して実行される制御（いわゆる積分制御）を通じて、フィードバック補正値ＦＡＦは徐々に小さくなる。この積分制御が行われるときのフィードバック補正値ＦＡＦの減少傾向は、積分量ＬＩが大きくなるほど急になり、同積分量ＬＩが小さくなるほど緩やかになる。
【００７７】
そして、上述のようなフィードバック補正値ＦＡＦを徐々に小さくする処理が継続されると、空燃比が理論空燃比に対してリッチ側からリーン側へ変化し、これにともなって出力電圧Ｖｏが基準電圧Ｖｄよりも大きい値から小さい値へ変化する。
【００７８】
これに対し、ステップ１７０の判定条件が満たされていない（Ｖｏ(i-1) ＜Ｖｄ）と、実空燃比が理論空燃比よりもリーン側の値からリッチ側の値へ反転したと判断し、ステップ１９０において、フィードバック補正値ＦＡＦから所定のスキップ量ＬＳ（ＬＳ＞０）を減算した値を新たなフィードバック補正値ＦＡＦとして設定する。なお、スキップ量ＬＳとしては積分量ＬＩよりも十分に大きい値が設定されている。
【００７９】
そのため、フィードバック補正値ＦＡＦが、例えば図３の点Ｐ６に位置する状態にあるとすると、スキップ量ＬＳの減算が行われることにより、フィードバック補正値ＦＡＦが点Ｐ７に位置する状態へ変化する。こうしたスキップ量ＬＳを減算するスキップ制御を通じて、フィードバック補正値ＦＡＦは上記積分制御時よりも大きく変化する。
【００８０】
スキップ量ＬＳは、空燃比が理論空燃比に対してリッチ側からリーン側へと一気に反転しない値に設定されている。従って、フィードバック補正値ＦＡＦからスキップ量ＬＳが減算された後においても、空燃比が理論空燃比よりもリッチであるとともに出力電圧Ｖｏが基準電圧Ｖｄよりも大きい状態が続く。
【００８１】
そして、上記ステップ１２０，１５０，１６０，１８０，１９０のいずれかの処理を経た後、フィードバック補正値算出ルーチンを一旦終了する。
次に、図５のフローチャートは空燃比学習値を学習（算出・更新）するための空燃比学習ルーチンを示している。このルーチンの一連の処理は、電子制御装置６１により所定の制御周期毎に繰り返し実行される。
【００８２】
電子制御装置６１は、まずステップ２１０において、空燃比学習制御の実行条件が成立しているか否かを判定する。ここでは、次の各条件が成立しているか否かについて判定する。
［ａ］冷却水温度ＴＨＷが暖機完了時の温度以上である。
［ｂ］燃料噴射量のフィードバック制御が実行されている。
【００８３】
上記各条件［ａ］，［ｂ］のうち少なくとも一つが成立していないと、実行条件が満たされていないとして、空燃比学習ルーチンを一旦終了する。
これに対し、上記各条件［ａ］，［ｂ］の全てが成立していると、実行条件が満たされているとして、ステップ２２０へ移行する。ステップ２２０では、酸素センサ５６の出力電圧Ｖｏが基準電圧Ｖｄをまたいで変化したとき、すなわち上記スキップ制御が行われたときのフィードバック補正値ＦＡＦについて、前回のスキップ制御時のフィードバック補正値ＦＡＦ（ＦＡＦＳ１）と前々回のスキップ制御時のフィードバック補正値ＦＡＦ（ＦＡＦＳ２）との平均値ＦＡＦＡＶを算出する。
【００８４】
ステップ２３０では、平均値ＦＡＦＡＶが判定値Ａ未満であるかどうかを判定する。なお、判定値Ａは、フィードバック補正値ＦＡＦの制御基準値である「１．０」よりも小さい値に設定されている。この判定条件が満たされている（ＦＡＦＡＶ＜Ａ）と、実空燃比が理論空燃比に対してリッチ側にずれる傾向がある。この場合には、ステップ２４０において、実空燃比についての上記傾向を補償するために、不揮発性メモリ６２に記憶されている空燃比学習値ＫＧｉをより小さい値に更新する。ここでは、現在の学習領域Ｒｉに対応する空燃比学習値ＫＧｉから所定値ＬＧを減じ、減算した後の値（ＫＧｉ−ＬＧ）を新たな空燃比学習値ＫＧｉとして設定する。そして、ステップ２４０の処理を経た後に空燃比学習ルーチンを一旦終了する。
【００８５】
これに対し、上記ステップ２３０の判定条件が満たされていない（ＦＡＦＡＶ≧Ａ）と、実空燃比が理論空燃比に対してリッチ側にずれる傾向はない。この場合には、ステップ２５０において、平均値ＦＡＦＡＶが判定値Ｂ以上であるかどうかを判定する。なお、判定値Ｂは、フィードバック補正値ＦＡＦの制御基準値である「１．０」よりも大きい値に設定されている。このステップ２５０の判定条件が満たされている（ＦＡＦＡＶ≧Ｂ）と、実空燃比が理論空燃比に対してリーン側にずれる傾向があると判断する。この場合には、ステップ２６０において、実空燃比についての上記傾向を補償するために、不揮発性メモリ６２に記憶されている空燃比学習値ＫＧｉをより大きい値に更新する。ここでは、現在の学習領域Ｒｉに対応する空燃比学習値ＫＧｉに所定値ＲＧを加え、その加算結果（＝ＫＧｉ＋ＲＧ）を新たな空燃比学習値ＫＧｉとして設定する。そして、ステップ２６０の処理を経た後に空燃比学習ルーチンを一旦終了する。
【００８６】
なお、上記ステップ２５０の判定条件が満たされていない（ＦＡＦＡＶ＜Ｂ）と、実空燃比が理論空燃比に対してリーン側にずれる傾向はない。すなわち、平均値ＦＡＦＡＶが「Ａ＜ＦＡＦＡＶ＜Ｂ」の範囲にあるとき、平均値ＦＡＦＡＶが制御基準値「１．０」の近傍で変動しており、実空燃比が理論空燃比からずれる傾向はない。この場合には、空燃比学習値ＫＧｉの更新を行うことなく空燃比学習ルーチンを一旦終了する。このように、空燃比学習ルーチンでは、フィードバック補正値ＦＡＦ（平均値ＦＡＦＡＶ）の基準値（制御基準値）との偏差に基づき空燃比学習値ＫＧｉが算出・更新される。
【００８７】
図６のフローチャートは、減量補正値ｆｑｃｖを算出するための減量補正値算出ルーチンを示している。このルーチンの一連の処理は、電子制御装置６１により所定の制御周期毎に繰り返し実行される。
【００８８】
このルーチンでは、電子制御装置６１はまずステップ３１０において、次式（ii）に基づいて減量補正値ｆｑｃｖを算出する。
減量補正値ｆｑｃｖ＝蒸発燃料学習値ｆｐｃｖ
／（機関回転速度ＮＥ＊機関一回転当たりの噴射回数）
・・・（ii）
上記蒸発燃料学習値ｆｐｃｖは、単位時間当たりに燃焼室１８に流入するブローバイガス中の蒸発燃料量である。蒸発燃料学習値ｆｐｃｖは、上記不揮発性メモリ６２に記憶されており、後述する蒸発燃料学習ルーチンにおいて別途算出・更新される。
【００８９】
ここで、単位時間当たりに燃焼室１８に流入するブローバイガス中の蒸発燃料の量は、機関オイルの温度一定のもとでは、機関運転状態に拘わらず略一定であると考えられる。そのため、上記式（ii）によるように、蒸発燃料学習値ｆｐｃｖを、そのときどきの機関回転速度ＮＥ及び機関一回転当たりの噴射回数で除することにより、一噴射当たりの燃料噴射量に影響を及ぼす蒸発燃料量が減量補正値ｆｑｃｖとして求められる。また、この蒸発燃料量（減量補正値ｆｑｃｖ）によって燃料噴射量を減量補正すること（上記式（ｉ）参照）で、ブローバイガス中の蒸発燃料により生ずる実空燃比の目標空燃比からのずれが補償される。
【００９０】
上記ステップ３１０の処理を経た後、次回の制御周期での減量補正値ｆｑｃｖの算出に備え、ステップ３２０〜３５０の処理を行うことで、蒸発燃料学習値ｆｐｃｖを更新する。これは、クランク室３８内における蒸発燃料の量が、同蒸発燃料の燃焼室１８への流入により次第に減少してゆく現象に蒸発燃料学習値ｆｐｃｖを対応させるためである。
【００９１】
ステップ３２０では、上記ステップ３１０での蒸発燃料学習値ｆｐｃｖから所定値Ｄを減算し、その減算結果を新たな蒸発燃料学習値ｆｐｃｖとして設定する。所定値Ｄは蒸発燃料量の減少量に対応した値に設定されている。次に、ステップ３３０において、上記ステップ３２０での蒸発燃料学習値ｆｐｃｖが「０」よりも小さいか否かを判定する。この判定条件が満たされている（ｆｐｃｖ＜０）と、ステップ３４０において、「０」を新たな蒸発燃料学習値ｆｐｃｖとして設定する。すなわち、蒸発燃料学習値ｆｐｃｖが所定値Ｄを用いた減量補正により「０」よりも小さな値にならないようにガードする。そして、不揮発性メモリ６２に記憶されている値を、この設定した蒸発燃料学習値ｆｐｃｖ（＝０）に更新する。また、上記ステップ３３０での判定条件が満たされていない（ｆｐｃｖ≧０）と、ステップ３５０において、不揮発性メモリ６２に記憶されている値を上記ステップ３２０での蒸発燃料学習値ｆｐｃｖに更新する。上記ステップ３４０，３５０の処理を経た後に、減量補正値算出ルーチンを一旦終了する。
【００９２】
図７のフローチャートは、蒸発燃料学習値ｆｐｃｖを算出・更新するための蒸発燃料学習ルーチンを示している。このルーチンの一連の処理は電子制御装置６１により、フラグＦに基づき所定の制御周期毎に繰り返し実行される。フラグＦは、蒸発燃料学習値ｆｐｃｖを算出中でないかどうかを判定するためのものであり、非算出中には「０」に設定され、算出中には「１」に切り替えられる。
【００９３】
蒸発燃料学習ルーチンでは電子制御装置６１は、まずステップ４１０において、エアフロメータ５３による吸入空気量ＧＡが所定値Ｅよりも少ないかどうかを判定する。所定値Ｅは、上述した吸入空気量ＧＡについての第１の学習領域Ｒ１の上限値に対応した値である。第１の学習領域Ｒ１は前述したように、吸入空気量ＧＡの採り得る領域のうち、吸入空気量ＧＡの最も少ない領域である。従って、このように吸入空気量ＧＡの少ない第１の学習領域Ｒ１では、ブローバイガス中の蒸発燃料が、吸入空気量ＧＡと燃料量との重量比である空燃比に及ぼす影響が大きいといえる。
【００９４】
複数の学習領域Ｒｉのうち吸入空気量ＧＡの少ない第１の学習領域Ｒ１に記憶されている空燃比学習値ＫＧｉは、蒸発燃料から大きく影響を受けた実空燃比の目標空燃比からのずれに対応した値となる。この空燃比学習値ＫＧｉは、吸入空気量ＧＡの多い学習領域Ｒｉ（例えば第４の学習領域Ｒ４）に記憶され、かつ蒸発燃料から受ける影響が小さい実空燃比の目標空燃比からのずれに対応した空燃比学習値ＫＧｉよりも精度の高い値となる。
【００９５】
従って、吸入空気量ＧＡの少ない学習領域Ｒｉ（第１の学習領域Ｒ１）に記憶されている空燃比学習値ＫＧｉが、ブローバイガス中の蒸発燃料が燃焼室１８に流入したときの制御パラメータとして用いられることで、単位時間当たりに燃焼室１８に流入する蒸発燃料が高い精度で算出される。
【００９６】
上記ステップ４１０の判定条件が満たされていない（ＧＡ≧Ｅ）と、蒸発燃料が空燃比に及ぼす影響が小さいことから、この機関運転領域で蒸発燃料学習値ｆｐｃｖを算出してもさほど高い精度の値が得られないとして、蒸発燃料学習ルーチンを一旦終了する。従って、この場合には蒸発燃料学習値ｆｐｃｖの算出・更新は行われない。これに対し、ステップ４１０の判定条件が満たされていると、ステップ４２０においてフラグＦが「０」であるかどうか、すなわち蒸発燃料学習値ｆｐｃｖの非計算中であるかどうかを判定する。
【００９７】
上記ステップ４２０の判定条件が満たされていない（Ｆ＝１（計算中））とステップ４４０へ移行する。これに対し、ステップ４２０の判定条件が満たされている（Ｆ＝０（非計算中））と、ステップ４３０において、ブローバイガス中の蒸発燃料が燃焼室１８に流入している可能性があるかどうかを判定する。
【００９８】
この判定に際しては次の点が考慮されている。一般に、蒸発燃料が燃焼室１８に流入しなければ、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉを用いた燃料噴射量の制御により、混合気の実空燃比が目標空燃比に収束させられる。この状態で蒸発燃料が燃焼室１８に流入すると、その分、余分に燃焼室１８に燃料が供給された状態になって実空燃比がリッチになる。これに対しては、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉとして燃料噴射量を減量させる側の値が算出される。そのため、このフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉの変化態様により、蒸発燃料の燃焼室１８への流入の可能性を判定することが可能である。
【００９９】
そこで、ステップ４３０では、フィードバック補正値ＦＡＦが、ブローバイガス中の蒸発燃料が燃焼室１８に流入していないときの値（例えば１．０）に対し、燃料噴射量を減量させる側へ所定値Ｇ以上乖離しているかどうかを判定する。ここで、所定値Ｇは、吸気通路１９にブローバイガス中の蒸発燃料が流入していない状態から流入した状態に切替った場合に生ずるフィードバック補正値ＦＡＦの変化量に基づいて設定されている。
【０１００】
ステップ４３０の判定条件が満たされていないと、ブローバイガス中の蒸発燃料が燃焼室１８に流入している可能性が低いと判断し、蒸発燃料学習ルーチンを一旦終了する。この場合には、蒸発燃料学習値ｆｐｃｖの算出・更新が行われない。これに対し、ステップ４３０の判定条件が満たされていると、目標空燃比よりもリッチとなっている空燃比を目標空燃比に一致させるべくフィードバック補正値ＦＡＦが減量側の値を採っていると考えられる。このことから、ブローバイガスからの蒸発燃料が燃焼室１８に流入している可能性が高いと判断し、次のステップ４４０〜４６０へ移行する。
【０１０１】
なお、上記ステップ４３０ではフィードバック補正値ＦＡＦのみに基づいて蒸発燃料の燃焼室１８への流入の可能性の有無を判定したが、空燃比学習値ＫＧｉのみ、又はフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉの両方を用いて、判定を行うようにしてもよい。
【０１０２】
ステップ４４０〜４６０では、単位時間当たりに燃焼室１８に流入する蒸発燃料量である蒸発燃料学習値ｆｐｃｖを算出する処理を行う。この算出に際しては、次の点が考慮されている。実空燃比を目標空燃比に一致させるべく燃料噴射量を制御する際には制御パラメータ（フィードバック補正値ＦＡＦ、空燃比学習値ＫＧｉ）が用いられる。ブローバイガス中の蒸発燃料が燃焼室１８に流入すると、これらの制御パラメータは、蒸発燃料が燃焼室１８に流入しないときとは異なる値を採り、制御パラメータにずれが生ずる。従って、このずれ量は蒸発燃料の燃焼室１８への流入量に対応していることとなる。こうした現象に着目し、本実施形態では蒸発燃料が燃焼室１８に流入したときと流入しないときとで生ずる上記制御パラメータのずれ量に基づき蒸発燃料学習値ｆｐｃｖを算出するようにしている。
【０１０３】
ステップ４４０では、第１の燃料噴射量ｑｃを次式（iii ）により算出する。第１の燃料噴射量ｑｃは、ブローバイガス中の蒸発燃料が燃焼室１８に流入している可能性の高い状況下で、現在の吸入空気で目標空燃比を実現するために必要な燃料噴射量である。
【０１０４】
ｑｃ＝気筒当たりの吸入空気量＊係数＊現学習領域Ｒｉでの空燃比学習値ＫＧｉ
＊フィードバック補正値ＦＡＦ
・・・（iii ）
上記式（iii ）中の係数は、理論空燃比（＝１４．５）を目標空燃比とした場合、「１／１４．５」である。また、現学習領域Ｒｉは、上述したようにステップ４１０での吸入空気量ＧＡの属する学習領域Ｒｉである。ここでは、現学習領域Ｒｉは、吸入空気量ＧＡが少なく蒸発燃料が空燃比に及ぼす影響の大きな第１の学習領域Ｒ１である。これらの空燃比学習値ＫＧｉ及びフィードバック補正値ＦＡＦは、蒸発燃料が燃焼室１８に流入したときの制御パラメータに相当する。このようにして、上記式（iii ）により、蒸発燃料が燃焼室１８に流入しているときに、目標空燃比を実現するために燃料噴射弁３３から噴射される燃料量が、第１の燃料噴射量ｑｃとして求められる。
【０１０５】
次に、ステップ４５０では、第２の燃料噴射量ｑｈを次式（iv）により算出する。第２の燃料噴射量ｑｈは、ブローバイガス中の蒸発燃料が燃焼室１８に流入していないと仮定した場合に、現在の量の吸入空気で目標空燃比（理論空燃比）を実現するために必要な燃料噴射量である。
【０１０６】
ｑｈ＝気筒当たりの吸入空気量＊係数
＊吸入空気量の多い学習領域Ｒｉでの空燃比学習値ＫＧｉ
・・・（iv）
上記式（iv）中の係数は、上記式（iii ）中のそれと同じである。なお、式（iv）を式（iii ）に対応させたものにしようとすると、式（iv）の右辺にフィードバック補正値ＦＡＦを乗算することとなる。ただし、式（iv）は蒸発燃料の燃焼室１８への流入のない理想状態を前提としているため、フィードバック補正値ＦＡＦは目標空燃比（理論空燃比）に対応した値（＝１．０）となる。従って、フィードバック補正値ＦＡＦが式（iv）に及ぼす影響は実質的にないことになる。そのため、式（iv）ではフィードバック補正値ＦＡＦについての乗算項が省略されている。
【０１０７】
ここで、ブローバイガス中の蒸発燃料が燃焼室１８に流入した場合、その蒸発燃料が空燃比に及ぼす影響度合いはそのときの吸入空気量ＧＡに応じて異なる。この影響度合いは吸入空気量ＧＡが少ないときには大きく、吸入空気量ＧＡが多くなるほど小さくなる。従って、複数の学習領域Ｒｉのうち吸入空気量ＧＡの多い学習領域に記憶されている空燃比学習値ＫＧｉは、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの値に近い値となる。
【０１０８】
そこで、上記式（iv）中の空燃比学習値ＫＧｉとしては、式（iii ）中のものとは異なり、吸入空気量ＧＡが多く蒸発燃料が空燃比に及ぼす影響の小さな学習領域Ｒｉで学習されたもの、例えば、第４の学習領域Ｒ４で学習された空燃比学習値ＫＧｉが用いられる。この空燃比学習値ＫＧｉ及びフィードバック補正値ＦＡＦは、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの制御パラメータに相当する。このようにして、上記式（iv）により、蒸発燃料が燃焼室１８に流入していないと仮定した場合に、目標空燃比を実現するために燃料噴射弁３３から噴射されるべき燃料量が、第２の燃料噴射量ｑｈとして求められる。
【０１０９】
なお、ステップ４４０，４５０の処理については、上記とは逆の順に行われてもよい。すなわち、第２の燃料噴射量ｑｈを算出した後、第１の燃料噴射量ｑｃを算出するようにしてもよい。
【０１１０】
そして、ステップ４４０，４５０の処理を経た後のステップ４６０では、蒸発燃料学習値ｆｐｃｖを次式（ｖ）により算出する。
蒸発燃料学習値ｆｐｃｖ＝（第２の燃料噴射量ｑｈ−第１の燃料噴射量ｑｃ）
＊機関回転速度ＮＥ＊機関一回転当たりの噴射回数
・・・（ｖ）
蒸発燃料学習値ｆｐｃｖは、上述したように単位時間当たりに燃焼室１８に流入する蒸発燃料量である。一方、第２の燃料噴射量ｑｈは、ブローバイガス中の蒸発燃料が燃焼室１８に流入していないと仮定した場合に、現在の吸入空気で目標空燃比を実現するために必要な燃料噴射量である。また、第１の燃料噴射量ｑｃは、ブローバイガス中の蒸発燃料が燃焼室１８に流入している可能性の高い状況下で、現在の量の吸入空気で目標空燃比を実現するために必要な燃料噴射量である。従って、それらの偏差（＝ｑｈ−ｑｃ）は、ブローバイガス中の蒸発燃料について、単位時間当たりに燃焼室１８に流入する量に相当する。
【０１１１】
次に、ステップ４７０において、蒸発燃料学習値ｆｐｃｖを更新する更新条件が成立しているかどうかを判定する。更新条件としては、例えば「フィードバック補正値ＦＡＦが所定の値に収束すること」、及び「空燃比学習値ＫＧｉが変化しなくなること」をそれぞれ条件とし、少なくとも一方の条件が満たされていることが挙げられる。具体的には、前者の条件が満たされているかどうかについては、例えば、フィードバック補正値ＦＡＦが、所定の値（例えば１．０）を含む所定の範囲（例えば、０．９５〜１．０５）に属しているかどうかを判定する。また、後者の条件が満たされているかどうかについては、例えば、空燃比学習値ＫＧｉが変化しない状態が、予め定めた制御周期続いたかどうかを判定する。
【０１１２】
上記ステップ４７０の判定条件が満たされていないと、蒸発燃料学習値ｆｐｃｖを更新するタイミングではないと判断する。同蒸発燃料学習値ｆｐｃｖの算出を継続すべく、ステップ４８０においてフラグＦを、蒸発燃料学習値ｆｐｃｖの算出中である旨を示す「１」に設定し、その後に、蒸発燃料学習ルーチンを一旦終了する。なお、このフラグＦは、次回の制御周期におけるステップ４２０での判定処理に用いられる。この場合、Ｆ＝１であることから、ステップ４２０の判定条件が満たされず、ステップ４３０の処理を経ることなく、ステップ４４０へ移行する。
【０１１３】
これに対し、上記ステップ４７０の判定条件が満たされていると、蒸発燃料学習値ｆｐｃｖを更新するタイミングになったと判断し、ステップ４９０へ移行してフラグＦを「０」に設定する。続いて、ステップ５００において、不揮発性メモリ６２に記憶されている蒸発燃料学習値ｆｐｃｖを、現制御周期で算出した蒸発燃料学習値ｆｐｃｖに更新する。  
【０１１４】
ここで、仮に、更新された蒸発燃料学習値ｆｐｃｖに基づく燃料噴射量の減量補正が行われるようになっても、更新時の空燃比学習値ＫＧｉを用いた燃料噴射量の制御が継続されるものとすると、減量補正の分、燃料噴射量が過剰に減量されることになる。そこで、ステップ５００では、蒸発燃料学習値ｆｐｃｖに基づく減量補正値ｆｑｃｖによる減量補正量に相当する分、空燃比学習値ＫＧｉを、燃料噴射量を増量する側へ補正する処理も行う。この補正により、上記のように燃料噴射量が過剰に減量されることがなくなる。そして、ステップ５００の処理を経た後に、この蒸発燃料学習ルーチンを一旦終了する。
【０１１５】
上記蒸発燃料学習ルーチンにおいては、電子制御装置６１によるステップ４４０〜４６０，５００の処理が蒸発燃料学習値更新手段に相当し、ステップ４６０において空燃比学習値ＫＧｉを補正する処理が制御パラメータ補正手段に相当する。
【０１１６】
なお、上記のように更新された蒸発燃料学習値ｆｐｃｖは減量補正値ｆｑｃｖの算出に用いられる。すなわち、この蒸発燃料学習値ｆｐｃｖに基づき上記式（ii）に従って減量補正値ｆｑｃｖが算出される。そして、上記式（ｉ）に従い、燃料噴射量が減量補正値ｆｑｃｖによって減量補正される。従って、蒸発燃料が燃焼室１８に流入した場合にこうした蒸発燃料学習値ｆｐｃｖを用いた燃料噴射量の減量補正を行わない場合には実空燃比が目標空燃比からずれるが、蒸発燃料学習値ｆｐｃｖを燃料噴射量に反映することでこのずれが抑制される。
【０１１７】
上述した図４〜図７の各ルーチンが行われると、燃焼室１８への蒸発燃料の流入に伴い、フィードバック補正値ＦＡＦ、空燃比学習値ＫＧｉ、蒸発燃料学習値ｆｐｃｖ及び空燃比が例えば図８に示すように変化する。この例は、タイミングｔ１で蒸発燃料が流入を開始し、その後も流入が継続している場合を示している。
【０１１８】
タイミングｔ１よりも前には、ブローバイガス中の蒸発燃料が燃焼室１８に流入していない。フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉがともに安定しており、実空燃比が目標空燃比に収束している。蒸発燃料学習値ｆｐｃｖは「０」を維持している。
【０１１９】
クランク室３８内の機関オイルの温度上昇に伴い、同機関オイル中の燃料が気化を始め、タイミングｔ１で燃焼室１８への蒸発燃料の流入が開始されると、その分、混合気に占める燃料量が多くなり、空燃比がリッチ側へずれようとする。そのため、このずれを補償すべくフィードバック補正値ＦＡＦが燃料噴射量を減量させる側の値に変化する（減少する）。このフィードバック補正値ＦＡＦの変化に伴い空燃比学習値ＫＧｉもまた燃料噴射量を減量させる側の値に変化する（減少する）。
【０１２０】
上記フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉの変化により、蒸発燃料の流入により生じた実空燃比の目標空燃比からのずれが小さくなっていく。そして、タイミングｔ２において、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉが蒸発燃料量に対応した値、すなわち蒸発燃料による空燃比のずれを吸収できる値になると、蒸発燃料量を減量した量の燃料が噴射されて実空燃比が目標空燃比に収束する。
【０１２１】
このタイミングｔ２では、フィードバック補正値ＦＡＦが制御基準値（＝１．０）に対し減量側にずれている。このため、その後も空燃比学習値ＫＧｉが燃料噴射量を減量させる側へ変化し続ける。この空燃比学習値ＫＧｉの変化を打ち消すために、フィードバック補正値ＦＡＦは燃料噴射量を減量させる側への変化を停止し、制御基準値（＝１．０）に近づく側へ変化し始める。
【０１２２】
そして、タイミングｔ３で、フィードバック補正値ＦＡＦが制御基準値（＝１．０）に収束すると、それに伴い空燃比学習値ＫＧｉも変化しなくなる。このときの空燃比学習値ＫＧｉは、これのみで、蒸発燃料の流入による実空燃比の目標空燃比からのずれを補償し得る値、すなわち蒸発燃料量に対応した値となっている。
【０１２３】
上記タイミングｔ３では更新条件が満たされ（ステップ４７０：ＹＥＳ）、そのときに算出された蒸発燃料学習値ｆｐｃｖによって不揮発性メモリ６２に記憶されている蒸発燃料学習値ｆｐｃｖが更新される（ステップ５００）。この更新された蒸発燃料学習値ｆｐｃｖを用いて減量補正値ｆｑｃｖが算出され、燃料噴射量が減量補正される。
【０１２４】
また、タイミングｔ３では、空燃比学習値ＫＧｉは、減量補正値ｆｑｃｖによる減量補正が打ち消されるように補正される（ステップ５００）。また、タイミングｔ３以降には、蒸発燃料学習値ｆｐｃｖが所定の制御周期毎に所定値Ｄずつ減量される。
【０１２５】
以上詳述した本実施形態によれば、次の効果が得られる。
（１）ブローバイガスに含まれ、かつ単位時間当たりに燃焼室１８に流入する蒸発燃料の量を、蒸発燃料学習値ｆｐｃｖとして不揮発性メモリ６２に記憶しておく。ブローバイガス中の蒸発燃料が燃焼室１８に流入したときと流入しないときとで生ずる制御パラメータ（フィードバック補正値ＦＡＦ、空燃比学習値ＫＧｉ）のずれ量に基づき、単位時間当たりに燃焼室１８に流入する蒸発燃料の量を算出し、蒸発燃料学習値ｆｐｃｖを更新する。そして、蒸発燃料により生ずる実空燃比の目標空燃比からのずれを補償すべく、蒸発燃料学習値ｆｐｃｖに基づき燃料噴射量を減量補正するようにしている。
【０１２６】
従って、蒸発燃料が燃焼室１８に流入したときに、こうした蒸発燃料学習値ｆｐｃｖを用いた燃料噴射量の減量補正を行わない場合に比べ、実空燃比の目標空燃比からのずれを抑制することができる。
【０１２７】
（２）フィードバック補正値ＦＡＦが所定の値（制御基準値）に収束すること、及び空燃比学習値ＫＧｉが変化しなくなることをそれぞれ条件とし、少なくとも一方の条件が満たされると、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉに基づき蒸発燃料学習値ｆｐｃｖを更新するようにしている。このときのフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉは、蒸発燃料の流入による実空燃比の目標空燃比からのずれを補償し得る値、すなわち蒸発燃料量に対応した値になっている。そのため、更新後には、実際の蒸発燃料量に対応した精度の高い蒸発燃料学習値ｆｐｃｖを得ることができる。
【０１２８】
（３）更新された蒸発燃料学習値ｆｐｃｖに基づく燃料噴射量の減量補正が行われるようになっても、更新時の空燃比学習値ＫＧｉを用いた燃料噴射量の制御が継続されると、減量補正の分だけ燃料噴射量が過剰に減量される。この点、本実施形態では、空燃比学習値ＫＧｉを、燃料噴射量の減量補正量に相当する量、燃料噴射量を増量する側へ補正するようにしている。そのため、上記のように燃料噴射量が過剰に減量されるのを抑制することができる。
【０１２９】
（４）ブローバイガス中の蒸発燃料が燃焼室１８に流入した場合、その蒸発燃料が空燃比に及ぼす影響度合いは吸入空気量ＧＡが少ないときには大きく、吸入空気量ＧＡが多くなるほど小さくなる。そのため、複数の学習領域Ｒｉのうち吸入空気量ＧＡの多い学習領域Ｒｉに記憶されている空燃比学習値ＫＧｉは、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの値に近い値となる。
【０１３０】
この点、本実施形態では、吸入空気量ＧＡの多い学習領域Ｒｉ（第４の学習領域Ｒ４）に記憶されている空燃比学習値ＫＧｉを、蒸発燃料学習値ｆｐｃｖの更新に際し、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの制御パラメータとして用いるようにしている。そのため、単位時間当たりに燃焼室１８に流入する蒸発燃料として適切な値を算出することができる。
【０１３１】
（５）蒸発燃料が吸気通路１９に流入しなければ、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉを用いた燃料噴射量の制御により、混合気の実空燃比が目標空燃比に収束する。この状態で蒸発燃料が吸気通路１９に流入すると、その分、余分に燃焼室１８に燃料が供給された状態になって実空燃比が目標空燃比よりもリッチになる。これに対しては、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉとして燃料噴射量を減量させる側の値が算出される。
【０１３２】
この点、本実施形態では、フィードバック補正値ＦＡＦが、ブローバイガス中の蒸発燃料が燃焼室１８に流入していないときの値（＝１．０）に対し、燃料噴射量を減量させる側へ所定値Ｇ以上ずれていると、蒸発燃料が燃焼室１８に流入している可能性があるとして、制御パラメータのずれ量に基づく蒸発燃料学習値ｆｐｃｖの更新を行うようにしている。従って、蒸発燃料学習値ｆｐｃｖの更新を、蒸発燃料が流入しているときに確実に行うことができるようになる。
【０１３３】
（６）蒸発燃料が空燃比に及ぼす影響度合いと吸入空気量ＧＡとの上記関係より、複数の学習領域Ｒｉのうち吸入空気量ＧＡの少ない学習領域（第１の学習領域Ｒ１）に記憶されている空燃比学習値ＫＧｉは、蒸発燃料から大きく影響を受けた実空燃比の目標空燃比からのずれに対応した値となる。この空燃比学習値は、吸入空気量ＧＡの多い学習領域（第４の学習領域Ｒ４）に記憶され、かつ蒸発燃料から受ける影響が小さい実空燃比の目標空燃比からのずれに対応した空燃比学習値よりも精度の高い値となる。
【０１３４】
この点、本実施形態では、実際の吸入空気量ＧＡが吸入空気量の少ない学習領域Ｒｉ（第１の学習領域Ｒ１）の値となったとき、その学習領域Ｒｉに記憶されている空燃比学習値ＫＧｉを、ブローバイガス中の蒸発燃料が燃焼室１８に流入したときの制御パラメータとして用いるようにしている。そのため、この空燃比学習値ＫＧｉと、蒸発燃料が燃焼室１８に流入しないときの空燃比学習値ＫＧｉとのずれに基づき、単位時間当たりに燃焼室１８に流入する蒸発燃料を高い精度で算出することができる。
【０１３５】
（７）単位時間当たりに燃焼室１８に流入するブローバイガス中の蒸発燃料の量は、機関オイルの温度一定のもと機関運転状態に拘わらず略一定であると考えられる。この点、本実施形態では、蒸発燃料学習値ｆｐｃｖを、そのときどきの機関回転速度ＮＥ及び機関一回転当たりの噴射回数で除算するようにしている。この除算により、一噴射当たりの燃料噴射量に影響を及ぼす蒸発燃料量を正確に求めることができる。また、この蒸発燃料量によって燃料噴射量を減量補正することで、ブローバイガス中の蒸発燃料により生ずる実空燃比の目標空燃比からのずれを確実に補償することができる。
【０１３６】
なお、本発明は次に示す別の実施形態に具体化することができる。
・本発明は、図９に示すように、蒸発燃料処理装置７１を備えた内燃機関１１にも適用可能である。蒸発燃料処理装置７１は、燃料タンク７２等の燃料供給系で発生した蒸発燃料を捕集して大気中に放出することなくこれを処理するためのものであり、蒸発燃料を吸着する吸着材が内蔵されたキャニスタ７３を備えている。
【０１３７】
キャニスタ７３には、燃料タンク７２に繋がるベーパ通路７４と、吸気通路１９におけるスロットルバルブ２１よりも下流側に繋がるパージ通路７５と、キャニスタ７３に大気を導入するための大気導入通路７６とが接続されている。また、パージ通路７５を開閉するパージ制御弁７７が設けられている。なお、図９において図１と同様の部材、箇所等については同一の符号が付されている。
【０１３８】
この蒸発燃料処理装置７１によると、燃料タンク７２等の燃料供給系で発生する蒸発燃料は、燃料タンク７２からベーパ通路７４を通じてキャニスタ７３内に導入され、吸着材によって一旦吸着される。この状態にあって、パージ制御弁７７が開かれると、大気導入通路７６を通じてキャニスタ７３内に大気が導入され、この大気とともに吸着材に吸着されている燃料がパージ通路７５を通り、パージガスとして吸気通路１９に排出（パージ）される。このパージガスの流量は、パージ制御弁７７の開度調整によって制御される。
【０１３９】
上記蒸発燃料処理装置７１を備えた内燃機関１１では、パージ制御弁７７が開かれてパージガスが吸気通路１９に流入すると、蒸発燃料学習値ｆｐｃｖの算出精度を低下させる要因となり得る。そこで、図７の蒸発燃料学習ルーチンにおいて、蒸発燃料学習値ｆｐｃｖの算出に際し、パージを停止させる処理を追加してもよい。
【０１４０】
具体的には、図１０に示すように、ステップ４３０とステップ４４０との間にステップ４３５の処理を加える。ステップ４３５では、上記パージ制御弁７７を強制的に閉弁させてパージをカット（停止）する。このカットにより、蒸発燃料（パージガス）は、吸気通路１９を通じて燃焼室１８へは流入しない。そのため、パージガスを含まないかたちで、燃焼室１８に流入する蒸発燃料の量、この場合、燃焼室１８に流入するブローバイガス中の蒸発燃料の量（蒸発燃料学習値ｆｐｃｖ）を精度よく算出することが可能となる。
【０１４１】
また、図１１に示すように、ステップ５００の処理の直後にステップ５０５の処理を加える。ステップ５０５では、上述したパージ制御弁７７の強制的な閉弁を終了して、パージを許可する。この許可に応じ、パージ制御弁７７の開度が適宜に調整されることで、キャニスタ７３内の吸着材に吸着されている燃料がパージ通路７５を通じて吸気通路１９にパージされる。
【０１４２】
・上記のように、蒸発燃料学習値ｆｐｃｖの学習に際しパージをカット（停止）すると、その分、キャニスタ７３の吸着材に吸着した蒸発燃料を吸気通路１９にパージさせる機会が減る。
【０１４３】
そこで、上記図１０及び図１１の蒸発燃料学習ルーチンにおいて、蒸発燃料学習値ｆｐｃｖの算出に先立ち、ステップ４０５の処理を加えてもよい。このステップ４０５では、蒸発燃料学習値ｆｐｃｖの前回の更新時から所定時間Ｔが経過しているかどうかを判定する。そして、この判定条件が満たされている場合にステップ４１０以降の一連の処理を行い、満たされていない場合には、そのまま蒸発燃料学習ルーチンを一旦終了する。このようにすると、蒸発燃料学習値ｆｐｃｖについての前回の更新時点から所定時間Ｔが経過するまでは、蒸発燃料学習値ｆｐｃｖの次の更新が行われない。これに伴いパージのカットも行われない。従って、蒸発燃料学習値ｆｐｃｖの更新が頻繁に行われて、パージの機会が不要に減少されないようにすることができる。
【０１４４】
・内燃機関１１の冷間始動時には、クランク室３８内の機関オイルの温度が低く、同機関オイルに混入している燃料が気化しにくい。この状況下で燃焼室１８に流入するブローバイガス中の蒸発燃料は少ない。吸入空気量ＧＡに対し蒸発燃料量は無視できるほど少なく、蒸発燃料が空燃比に及ぼす影響度合いが小さい。
【０１４５】
そこで、複数の学習領域Ｒｉの１つとして第５の学習領域Ｒ５を別途設け、内燃機関１１の冷間始動時に空燃比学習値ＫＧｉを算出し第５の学習領域Ｒ５に記憶する。記憶された空燃比学習値ＫＧｉは、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの値に近い値となる。そして、上記第５の学習領域Ｒ５に記憶された空燃比学習値ＫＧｉを、蒸発燃料学習値ｆｐｃｖの更新に際し、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの制御パラメータとして用いるようにしてもよい。このようにしても、単位時間当たりに燃焼室１８に流入する蒸発燃料を適切に算出することができる。
【０１４６】
・ブローバイガス通路４３に、ブローバイガスの流量を調整するためのバルブを設ける。複数の学習領域Ｒｉの１つとして第６の学習領域Ｒ６を別途設け、上記バルブを制的に閉じて蒸発燃料を含むブローバイガスの燃焼室１８への流入を遮断し、このときの空燃比学習値ＫＧｉを第６の学習領域Ｒ６に記憶する。記憶された空燃比学習値ＫＧｉは、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの値に相当する。そして、上記第６の学習領域Ｒ６に記憶された空燃比学習値ＫＧｉを、蒸発燃料学習値ｆｐｃｖの更新に際し、ブローバイガス中の蒸発燃料が燃焼室１８に流入しないときの制御パラメータとして用いるようにしてもよい。このようにしても、単位時間当たりに燃焼室１８に流入する蒸発燃料を適切に算出することができる。
【０１４７】
・図７及び図１１におけるステップ４７０の更新条件を変え、上記実施形態とは異なるタイミングで蒸発燃料学習値ｆｐｃｖを更新するようにしてもよい。
詳しくは、図８に示すように、ブローバイガス中の蒸発燃料がタイミングｔ１で燃焼室１８に流入し始め、実空燃比が目標空燃比よりもリッチ側にずれると、そのずれを補償すべくフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉが燃料噴射量を減量させる側へ変化する。そして、これらのフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉの組み合わせが蒸発燃料量に対応した値になると、蒸発燃料量分減量された量の燃料が噴射されることとなって実空燃比が目標空燃比に収束する（タイミングｔ２）。
【０１４８】
そこで、実空燃比が目標空燃比に収束していることを更新条件とする。そして、この更新条件が満たされている場合に、その時点のフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉに基づき蒸発燃料学習値ｆｐｃｖを算出・更新する。このようにしても、上記実施形態と同様、更新後の蒸発燃料学習値ｆｐｃｖは、実際の蒸発燃料量に対応した精度の高い値となる。
【０１４９】
なお、更新された蒸発燃料学習値ｆｐｃｖに基づく燃料噴射量の減量補正が行われるようになっても、更新時のフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉを用いた燃料噴射量の制御が継続されると、減量補正の分、燃料噴射量が過剰に減量されることになる。
【０１５０】
そこで、蒸発燃料学習値ｆｐｃｖの更新に応じ、燃料噴射量の減量補正量に相当する量、フィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉを、燃料噴射量を増量する側へ補正するようにしてもよい。電子制御装置６１によるこの補正処理は制御パラメータ補正手段に相当する。こうした補正を行うことで、上記のように燃料噴射量が過剰に減量されることがなくなる。
【０１５１】
・上記と関連するが、実空燃比が目標空燃比に収束するタイミングｔ２よりも前のタイミングで、その時点のフィードバック補正値ＦＡＦ及び空燃比学習値ＫＧｉに基づき蒸発燃料学習値ｆｐｃｖを算出・更新するようにしてもよい。この場合、蒸発燃料学習値ｆｐｃｖの精度は、タイミングｔ２以降に蒸発燃料学習値ｆｐｃｖを算出・更新する場合ほど高くない。しかし、この蒸発燃料学習値ｆｐｃｖに基づき燃料噴射量を減量補正すれば、こうした減量補正を行わない場合よりも実空燃比の目標空燃比からのずれを抑制することができる。
【図面の簡単な説明】
【０１５２】
【図１】本発明の内燃機関の燃料噴射制御装置の一実施形態についてその構成を示す略図。
【図２】酸素センサの出力電圧、及びフィードバック補正値の各変化態様を示すタイミングチャート。
【図３】図２におけるＸ部を拡大して示すタイミングチャート。
【図４】電子制御装置により行われる「フィードバック補正値算出ルーチン」を説明するフローチャート。
【図５】電子制御装置により行われる「空燃比学習ルーチン」を説明するフローチャート。
【図６】電子制御装置により行われる「減量補正値算出ルーチン」を説明するフローチャート。
【図７】電子制御装置により行われる「蒸発燃料学習ルーチン」を説明するフローチャート。
【図８】ブローバイガス中の蒸発燃料が燃焼室に流入した場合について、フィードバック補正値、空燃比学習値、蒸発燃料学習値、及び空燃比の各変化態様を示すタイミングチャート。
【図９】本発明の内燃機関の燃料噴射制御装置の他の実施形態についてその構成を示す略図。
【図１０】上記他の実施形態において、電子制御装置により行われる「蒸発燃料学習ルーチン」を説明するフローチャート。
【図１１】同じく「蒸発燃料学習ルーチン」を説明するフローチャート。
【符号の説明】
【０１５３】
１１…内燃機関、１８…燃焼室、３３…燃料噴射弁、３８…クランク室、５６…酸素センサ（空燃比センサ）、６１…電子制御装置（学習値更新手段、減量補正手段、制御パラメータ補正手段）、６２…不揮発性メモリ（蒸発燃料学習値記憶手段）、７１…蒸発燃料処理装置、７３…キャニスタ、ｆｐｃｖ…蒸発燃料学習値、ＦＡＦ…フィードバック補正値（制御パラメータ）、ＧＡ…吸入空気量、ＫＧｉ…空燃比学習値（制御パラメータ）、ＮＥ…機関回転速度、Ｒｉ…学習領域。
【図１】
2007270772.tif 000003
【図２】
2007270772.tif 000004
【図３】
2007270772.tif 000005
【図４】
2007270772.tif 000006
【図５】
2007270772.tif 000007
【図６】
2007270772.tif 000008
【図７】
2007270772.tif 000009
【図８】
2007270772.tif 000010
【図９】
2007270772.tif 000011
【図１０】
2007270772.tif 000012
【図１１】
2007270772.tif 000013