(57)【特許請求の範囲】
【請求項１】
内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、
内燃機関の空燃比を検出する空燃比検出手段と、
前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、
前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段と、
を備えた内燃機関の空燃比制御装置において、
前記燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する燃料蒸気量推定手段と、
前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも小さい場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも大きい場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備え、
前記燃料蒸気量推定手段は、前記燃料蒸気の発生量を、前記燃料タンク内の温度および前記燃料タンクに与えられる速度変化に応じて求めることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、
内燃機関の空燃比を検出する空燃比検出手段と、
前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、
前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段と、
を備えた内燃機関の空燃比制御装置において、
前記パージ手段に設けられたパージ量を調整するパージ弁と、
前記パージ弁を開いた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動と、前記パージ弁を閉じた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動とを検出する空燃比フィードバック係数挙動検出手段と、
前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、パージされる燃料蒸気量が希薄でないと判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備え、
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じることにより前記空燃比フィードバック係数の挙動を検出するに際して、前記パージ弁を徐々に閉じることを特徴とする内燃機関の空燃比制御装置。
【請求項３】
内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、
内燃機関の空燃比を検出する空燃比検出手段と、
前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、
前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段と、
を備えた内燃機関の空燃比制御装置において、
前記パージ手段に設けられたパージ量を調整するパージ弁と、
前記パージ弁を開いた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動と、前記パージ弁を閉じた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動とを検出する空燃比フィードバック係数挙動検出手段と、
前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、パージされる燃料蒸気量が希薄でないと判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備え、
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止することを特徴とする内燃機関の空燃比制御装置。
【請求項４】
内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、
内燃機関の空燃比を検出する空燃比検出手段と、
前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、
前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、
前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段と、
を備えた内燃機関の空燃比制御装置において、
前記燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する燃料蒸気量推定手段と、
前記パージ手段に設けられたパージ量を調整するパージ弁と、
前記パージ弁を開いた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動と、前記パージ弁を閉じた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動とを検出する空燃比フィードバック係数挙動検出手段と、
前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも小さく、かつ前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づいてパージされる燃料蒸気量が希薄であると判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも大きい、あるいは前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づいてパージされる燃料蒸気量が希薄でないと判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段と、
を備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項５】
前記燃料蒸気量推定手段は、前記燃料蒸気の発生量を、前記燃料タンク内の温度に応じて求めることを特徴とする請求項４記載の内燃機関の空燃比制御装置。
【請求項６】
前記燃料蒸気量推定手段は、前記燃料蒸気の発生量を、前記燃料タンク内の温度および前記燃料タンクに与えられる速度変化に応じて求めることを特徴とする請求項４記載の内燃機関の空燃比制御装置。
【請求項７】
前記燃料蒸気量推定手段は、大気圧の値に応じて前記燃料蒸気の発生量を補正することを特徴とする請求項１、５または６記載の内燃機関の空燃比制御装置。
【請求項８】
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じることにより前記空燃比フィードバック係数の挙動を検出するに際して、前記パージ弁を徐々に閉じることを特徴とする請求項４記載の内燃機関の空燃比制御装置。
【請求項９】
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止することを特徴とする請求項２、４または８記載の内燃機関の空燃比制御装置。
【請求項１０】
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止するとともに、前記燃料蒸気量推定手段にて推定される燃料蒸気の存在量を増加補正することを特徴とする請求項４記載の内燃機関の空燃比制御装置。
【請求項１１】
前記空燃比フィードバック係数挙動検出手段は、空燃比フィードバック係数の挙動検出中に、内燃機関の負荷の変化が挙動検出中止判定値より大きくなった場合に、空燃比フィードバック係数の挙動検出を中止することを特徴とする請求項２〜４、８〜  １０記載の内燃機関の空燃比制御装置。
【請求項１２】
前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を開状態から閉状態に移行した場合は、内燃機関の負荷の変化と前記挙動検出中止判定値とを比較するに際しては、前記パージ弁を介して吸気管内に導入されていた気体に対応する内燃機関の負荷変動を相殺した状態で行うことを特徴とする請求項１１記載の内燃機関の空燃比制御装置。
【請求項１３】
請求項１〜１２記載の内燃機関の空燃比制御装置の構成に加えて、
前記学習制御手段により前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習が許可されている状態にて、吸気管内にパージされる蒸発燃料の増加を検出するパージ増加検出手段と、
前記パージ増加検出手段にて検出された前記パージ蒸発燃料の増加が、許可取り消し判定値より大きい場合は、前記学習制御手段により許可された前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習許可を取り消す学習許可取消手段と、
を備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項１４】
前記パージ増加検出手段は、前記ベース空燃比フィードバック係数学習手段により学習されるベース空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出することを特徴とする請求項１３記載の内燃機関の空燃比制御装置。
【請求項１５】
前記パージ増加検出手段は、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出することを特徴とする請求項１３記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関し、特に空燃比フィードバック係数の学習の機会を増加させることで正確な学習値を得ることを目的とする。
【０００２】
【従来の技術】
自動車の燃料タンクから蒸発する燃料は、燃費向上および大気汚染防止のためにいったんキャニスタに吸着され、適当なタイミングで吸気管内にパージされ燃料の一部として使用される。しかしながらパージされる気体は内燃機関の空燃比制御にとっては外乱となるため、空燃比制御への影響を少なくするパージ方法を適用することが必要である。
【０００３】
特に内燃機関のエアフローメータあるいは燃料噴射弁の特性の経時的変化を考慮するためにベース空燃比フィードバック係数を学習する機能を備えた空燃比制御にあっては、ベース空燃比フィードバック係数の学習中にパージが行われた場合に、そのパージされた気体に起因して誤学習が行われることを防止することが極めて重要である。
【０００４】
このような問題を解決するための一つの手法として、ベース空燃比フィードバック係数は内燃機関の運転領域毎に学習されることが普通であるため、ベース空燃比フィードバック係数の学習が完了していない運転領域にある場合にはパージを中止する空燃比制御装置が提案されている（特開昭６２−２０６２６２公報）。
【０００５】
しかしながら、運転状態に応じて運転領域は頻繁に変動するため、未学習領域が多い場合にはパージのオンオフが頻繁に発生し、可能なかぎり常時パージしたいという要請に反するだけでなく、頻繁なパージのオンオフはベース空燃比フィードバック係数の誤学習の原因となる。さらにキャニスタに多量の蒸発燃料が蓄積されている場合にはパージのオンオフにより空燃比が荒れることを抑制できない。
【０００６】
このことを解決するために、特開平７−２９３３６２号や特開平６−１０７３６号公報記載の技術では、パージ濃度を学習して、そのパージ学習値が小さい場合は、パージされる燃料蒸気は希薄であるとして、ベース空燃比フィードバック係数の学習を行っていた。
【０００７】
【発明が解決しようとする課題】
しかし、前記特開平７−２９３３６２号では、一旦、ベース空燃比フィードバック係数の学習を完了してしまうと、学習を禁止してしまうため、何らかの原因で誤学習してしまうと、その学習値を再学習により正常に戻すことができない。更に、このことは、ベース空燃比フィードバック係数の誤学習値を用いてパージの濃度学習が行われてしまうことを示し、パージの濃度学習にも影響してパージ濃度も誤学習をしてしまうことになる。
【０００８】
したがって、このように間違ったパージ濃度学習値のままで、未だベース空燃比フィードバック係数の学習値が得られていない運転領域に入った場合には、その領域でのベース空燃比フィードバック係数の学習値にも誤学習をさせるおそれがある。更に、間違ったパージ濃度学習値のままで、正常なベース空燃比フィードバック係数の学習値が得られている運転領域に入った場合にも、パージの学習値が異常であることから、内燃機関の空燃比が正確に制御できず、エミッションやドライバビリティ上の問題を生じるおそれがある。
【０００９】
また、前記特開平６−１０７３６号公報はパージされる燃料蒸気は希薄である場合に、繰り返しベース空燃比フィードバック係数の学習を行っているので、誤学習が再学習で正常に戻るように考えられる。しかし、ここでは、パージされる燃料蒸気は希薄であることをパージ濃度学習値が小さいことで判断している。このパージ濃度学習値は、ベース空燃比フィードバック係数と同様に、空燃比フィードバック係数の中心からのずれ量に基づいて求められるものであり、パージ学習値とベース空燃比フィードバック係数とは相補的な関係にあるとともに、空燃比フィードバック係数の挙動から得られる。
【００１０】
このため、パージ濃度学習値は、パージされる燃料蒸気の濃度を間接的に示すものでしかなく、実際のパージされる気体中の燃料濃度に対して比較的誤差が大きくなる傾向にある。例えば、内燃機関のある運転領域において、ベース空燃比フィードバック係数の学習値が、パージの燃料蒸気による空燃比フィードバック係数のずれ分を吸収してしまい、パージ濃度学習値がパージ燃料蒸気の希薄な状態を間違って示すおそれがあり、このような不適切なパージ濃度学習値の状態で、他の運転領域に入ってからベース空燃比フィードバック係数を学習して、不適切な学習をしてしまうおそれがある。
【００１１】
この他、所定周期でパージを停止して、ベース空燃比フィードバック係数の学習を行わせる技術（特開昭６３−１２９１５９号公報）も提案されているが、パージの機会を頻繁に奪うので上述した問題の解決にはならない。
【００１２】
本発明は、パージされる燃料蒸気の濃度を正確に検出して、この結果を用いてベース空燃比フィードバック係数の適切な再学習を可能とすることを目的とするものである。
【００１３】
【課題を解決するための手段】
請求項１の内燃機関の空燃比制御装置は、内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、内燃機関の空燃比を検出する空燃比検出手段と、前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段とを備えた内燃機関の空燃比制御装置において、前記燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する燃料蒸気量推定手段と、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも小さい場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも大きい場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備え、前記燃料蒸気量推定手段は、前記燃料蒸気の発生量を、前記燃料タンク内の温度および前記燃料タンクに与えられる速度変化に応じて求めることを特徴とする。
【００１４】
燃料蒸気量推定手段が、燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する。このように、パージされる燃料蒸気の濃度を、空燃比フィードバック係数の学習から得るのではなく、直接的に、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から燃料タンク内の燃料蒸気の存在量を推定している。そして、この燃料タンク内の燃料蒸気の存在量が小さいと推定されれば、ほぼ確実に、燃料タンクから流出する燃料蒸気の濃度が薄いと判断できるので、学習制御手段がベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可し、濃度学習手段による蒸発燃料の濃度の学習を禁止している。逆に、燃料タンク内の燃料蒸気の存在量が大きいと推定されれば、燃料タンクから流出する燃料蒸気の濃度が濃くなる可能性が高いので、学習制御手段がベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止し、濃度学習手段による蒸発燃料の濃度の学習を許可している。
【００１５】
このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。更に、このことにより、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。
例えば、内燃機関が自動車に搭載されている場合には、その速度変化は燃料タンク内の燃料の液面に振動を与えて、波を生じさせる。このことにより、燃料は蒸気の発生が促進される。したがって、燃料蒸気の発生量を、燃料タンク内の温度および燃料タンクに与えられる速度変化に応じて求めることにより、一層正確に燃料蒸気の発生量を求めることができる。
【００１６】
請求項２の内燃機関の空燃比制御装置は、内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、内燃機関の空燃比を検出する空燃比検出手段と、前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段とを備えた内燃機関の空燃比制御装置において、前記パージ手段に設けられたパージ量を調整するパージ弁と、前記パージ弁を開いた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動と、前記パージ弁を閉じた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動とを検出する空燃比フィードバック係数挙動検出手段と、前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、パージされる燃料蒸気量が希薄でないと判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備え、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じることにより前記空燃比フィードバック係数の挙動を検出するに際して、前記パージ弁を徐々に閉じることを特徴とする。
【００１７】
空燃比フィードバック係数挙動検出手段が、パージ弁の開状態と閉状態とで、それぞれ空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動を検出している。この２つの状態における挙動は、両者を比較すれば、パージされる燃料蒸気の濃度の程度が判明する。
【００１８】
すなわち、具体的な例を示すと、実際にパージされる燃料蒸気の濃度が薄ければ、パージ弁が開状態である場合に得られている空燃比フィードバック係数のレベルは、パージ弁が閉状態である場合に得られている空燃比フィードバック係数のレベルに比較して、ほぼ同じかあるいはわずかに高い。逆に、実際にパージされる燃料蒸気の濃度が濃ければ、パージ弁が開状態である場合に得られている空燃比フィードバック係数のレベルは、パージ弁が閉状態である場合に得られている空燃比フィードバック係数のレベルに比較して低くなる。
【００１９】
したがって、学習制御手段は、パージ弁の開閉状態の各場合の空燃比フィードバック係数の挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、ベース空燃比フィードバック係数の学習を許可するとともに蒸発燃料の濃度の学習を禁止している。また、パージされる燃料蒸気量が希薄でないと判断される場合に、ベース空燃比フィードバック係数の学習を禁止するとともに蒸発燃料の濃度の学習を許可している。
【００２０】
このように、パージ弁を開閉処理することにより、パージがなされている状態とパージを無くした状態とを実現して、パージされる燃料蒸気の濃度の濃い薄いを正確に判断することができ、確実にパージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数の再学習を行わせることができるようになる。
【００２１】
このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。
【００２２】
なお、パージ弁を閉じる期間が存在するが、従来技術と異なり、単に空燃比フィードバック係数のレベルを検出するのみであり、この間にベース空燃比フィードバック係数の学習そのものを行っているのではないことから、パージ弁の閉状態は短期間でよくなり、パージを制限するほどのことはない。
何らかの原因で、パージ側の学習値に設定されるべき蒸発燃料分が、ベース空燃比フィードバック係数に学習されているような状況が考えられる。このような状況下においては、パージ弁をオフ動作にて瞬時に閉じた場合、ベース空燃比フィードバック係数は誤学習されて低くなっているので、パージ停止による燃料供給量の急激な低減が生じる。このような急激な燃料供給量の低減に対しては、実測された空燃比に基づいて空燃比フィードバック制御手段が行う空燃比フィードバック係数の増加を待たなくてはならない。
したがって、特にパージされる蒸発燃料が濃く多量である状態で上述したごとくの誤学習が存在した場合には、パージ停止の瞬間に空燃比が大きく稀薄側に傾き、内燃機関の回転安定性に問題を生じるおそれがある。
本請求項２では、空燃比フィードバック係数挙動検出手段は、パージ弁を徐々に閉じることにより空燃比の急激な変化を抑制している。このことにより、上述したごとくの学習値の誤設定が存在したとしても、空燃比フィードバック制御手段が演算する空燃比フィードバック係数の増加により、十分に適切な空燃比を維持できるようにしている。このため、空燃比フィードバック係数の挙動検出時においても、内燃機関の回転安定性を損なうことが防止される。
請求項３記載の内燃機関の空燃比制御装置は、請求項２記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止することを特徴とする。
パージ弁を閉じる際に、空燃比フィードバック係数が増加し続けている場合がある。このような場合は、前記請求項２にて述べた学習値の誤設定により、空燃比フィードバック制御手段が演算する空燃比フィードバック係数の増加では空燃比を適切に維持することが困難となっている可能性が高いと見ることができる。
このため、空燃比フィードバック係数に対して、燃料濃度を濃くする側に設定されている濃厚側判定値を設定し、この濃厚側判定値より濃い側へ空燃比フィードバック係数が変化したか否かを検出している。このような変化があった場合には、パージ弁を閉じるのを停止またはパージ弁を開いて、パージ弁を閉じた状態における空燃比フィードバック係数の挙動検出を中止している。このことにより、請求項２の作用効果と共に、不適切な空燃比が実現されるのを未然に防止でき、内燃機関の回転安定性を維持することができる。
【００２３】
請求項４の内燃機関の空燃比制御装置は、内燃機関の燃料タンクから蒸発する燃料を吸気管内にパージするパージ手段と、内燃機関の空燃比を検出する空燃比検出手段と、前記空燃比検出手段にて検出される空燃比を目標空燃比に制御するための空燃比フィードバック係数を演算する空燃比フィードバック制御手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいて吸気管内にパージされる蒸発燃料の濃度を学習する濃度学習手段と、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数に基づいてベース空燃比フィードバック係数を学習するベース空燃比フィードバック係数学習手段と、前記空燃比フィードバック制御手段で演算された空燃比フィードバック係数、前記濃度学習手段によって学習された蒸発燃料の濃度および前記ベース空燃比フィードバック係数学習手段で学習されたベース空燃比フィードバック係数に基づいて燃料噴射量を制御する燃料噴射量制御手段とを備えた内燃機関の空燃比制御装置において、前記燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する燃料蒸気量推定手段と、前記パージ手段に設けられたパージ量を調整するパージ弁と、前記パージ弁を開いた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動と、前記パージ弁を閉じた状態における前記空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動とを検出する空燃比フィードバック係数挙動検出手段と、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも小さく、かつ前記空燃比フィードバック係数挙動検出手段にて得られた２つの挙動に基づいてパージされる燃料蒸気量が希薄であると判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可するとともに前記濃度学習手段による蒸発燃料の濃度の学習を禁止し、前記燃料蒸気量推定手段にて推定された燃料蒸気の存在量が希薄判定基準値よりも大きい、あるいはパージされる燃料蒸気量が希薄でないと判断される場合に、前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止するとともに前記濃度学習手段による蒸発燃料の濃度の学習を許可する学習制御手段とを備えたことを特徴とする。
【００２４】
ここでは、前記請求項１と前記請求項２、３との構成が採用されていることで、学習制御手段は、燃料蒸気の存在量が希薄判定基準値よりも小さく、かつ２つの空燃比フィードバック係数の挙動に基づいてパージされる燃料蒸気量が希薄であると判断される場合に、ベース空燃比フィードバック係数の学習を許可するとともに蒸発燃料の濃度の学習を禁止し、燃料蒸気の存在量が希薄判定基準値よりも大きい、あるいは２つの空燃比フィードバック係数の挙動に基づいてパージされる燃料蒸気量が希薄でないと判断される場合に、ベース空燃比フィードバック係数の学習を禁止するとともに蒸発燃料の濃度の学習を許可している。
【００２５】
このように、二重のチェックにてベース空燃比フィードバック係数の学習を許可するようにしているので、確実にパージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数の再学習を行わせることができるようになる。このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。
【００２６】
更に、燃料蒸気量推定手段にて推定される燃料蒸気の存在量の判定を先にして、この燃料蒸気の存在量が希薄判定基準値よりも小さい場合に、空燃比フィードバック係数挙動検出手段を起動し、得られた２つの挙動の判定を行うようにすれば、パージ弁を閉じる期間が存在しても、実質的にパージの機会を奪うことにはならないので好ましい。
【００２７】
請求項５の内燃機関の空燃比制御装置においては、請求項４記載の構成に対して、前記燃料蒸気量推定手段が、前記燃料蒸気の発生量を、前記燃料タンク内の温度に応じて求めることを特徴とする。
【００２８】
燃料蒸気圧は温度に比例していることから、燃料蒸気の発生量を求める具体的な例として、燃料タンク内の温度に応じて求める手法を挙げることができる。なお、燃料タンク内の温度は、直接検出してもよいが、例えば、内燃機関への吸入空気の温度は燃料タンク内の燃料温度にほぼ比例しているので、吸入空気の温度を用いてもよい。この場合、内燃機関が吸入空気温度センサを他の制御にて設けていた場合には、付加する設備が少なくなり、製造コストの低減に寄与する。
【００３１】
請求項７の内燃機関の空燃比制御装置は、請求項１、５または６記載の構成に対して、前記燃料蒸気量推定手段が、大気圧の値に応じて前記燃料蒸気の発生量を補正することを特徴とする。
【００３２】
大気圧が低い場合は燃料は蒸気の発生が促進される。したがって、燃料蒸気の発生量を、燃料タンク内の温度や速度変化に加えて、大気圧も加味することにより、一層正確に燃料蒸気の発生量を求めることができる。
【００３３】
なお、上述した内燃機関の空燃比制御装置において、前記燃料蒸気量推定手段は、例えば、前記燃料蒸気のパージ量を、吸気に対するパージ率と吸気量とに応じて求めることとしてもよい。吸気に対するパージ率および吸気量に基づけば、実際に燃料タンク側からパージされる流量が求められる。このことにより、例えば、通常、燃料タンク内に存在する平均的な燃料蒸気濃度を用いることで燃料蒸気のパージ量が求められる。また、平均的な燃料蒸気濃度の内でも、内燃機関の運転条件により最も低い濃度を用いた場合は、パージされる燃料は最低限のものとして計算することとなるので、燃料蒸気量推定手段にて推定された燃料タンク内の燃料蒸気の存在量が少なければ、パージされる燃料蒸気の濃度は確実に薄いものであることが判断できる。
【００４１】
請求項１０記載の内燃機関の空燃比制御装置は、請求項４記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止するとともに、前記燃料蒸気量推定手段にて推定される燃料蒸気の存在量を増加補正することを特徴とする。
【００４２】
このようにパージ弁を閉じるのを停止またはパージ弁を開いて、パージ弁を閉じた状態における空燃比フィードバック係数の挙動の検出を中止する処理に加えて、更に燃料蒸気量推定手段にて推定される燃料蒸気の存在量を増加補正している。濃厚側判定値より濃くなるような空燃比フィードバック係数の変化は、燃料タンク内の燃料蒸気の存在量が、燃料蒸気量推定手段にて推定される量よりも多いことを推定させるものである。このため、燃料蒸気の存在量を増加補正している。このように燃料蒸気の存在量を増加補正すると、請求項４の作用効果に加えて、より適切な値が燃料蒸気の存在量に設定されることになり、学習制御手段における燃料蒸気の存在量に対する判定が一層正確なものとなる。
【００４３】
請求項１１記載の内燃機関の空燃比制御装置は、請求項２〜４、８〜１０のいずれか記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、空燃比フィードバック係数の挙動検出中に、内燃機関の負荷の変化が挙動検出中止判定値より大きくなった場合に、空燃比フィードバック係数の挙動検出を中止することを特徴とする。
【００４４】
例えば、燃料噴射弁特性やエアフロメータなどの特性のずれ等により、内燃機関負荷状態（例えば、エアコンのオン・オフ）によって空燃比のフィードバック中心が大きく異なる場合がある。したがって、ある程度以上の負荷変動が生じた場合には、空燃比フィードバック係数挙動検出の精度が低下するおそれがある。
このため、内燃機関の負荷の変化が挙動検出中止判定値より大きくなった場合に、空燃比フィードバック係数の挙動検出を中止している。こうして、請求項２〜４、８〜１０のいずれかの作用効果と共に、空燃比フィードバック係数挙動検出手段における不正確な検出を防止できるので、学習制御手段での不正確な判定を防止でき、異常な学習値の設定を防止できる。
【００４５】
請求項１２記載の内燃機関の空燃比制御装置は、請求項１１記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を開状態から閉状態に移行した場合は、内燃機関の負荷の変化と前記挙動検出中止判定値とを比較するに際しては、前記パージ弁を介して吸気管内に導入されていた気体に対応する内燃機関の負荷変動を相殺した状態で行うことを特徴とする。
【００４６】
パージ弁が開状態から閉状態に移行した場合には、内燃機関の回転数を自動的に制御している場合などでは、パージ弁が閉じたことによる吸入空気量の低下分を補償するために吸入空気量を増加させる。このため実質的には吸入空気量は増加していないのに、内燃機関の負荷が増加したと検知される場合がある。このため、本請求項１２では、内燃機関の負荷の変化と挙動検出中止判定値とを比較するに際しては、パージ弁を介して吸気管内に導入されていた気体に対応する内燃機関の負荷変動を相殺した状態で行っている。こうして、請求項１１の作用効果と共に、空燃比フィードバック係数挙動検出手段において正確な検出ができる状況をより確実に判定でき、空燃比フィードバック係数の挙動検出の機会を増加させることができる。
【００４７】
請求項１３記載の内燃機関の空燃比制御装置は、請求項１〜１２記載の内燃機関の空燃比制御装置の構成に加えて、前記学習制御手段により前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習が許可されている状態にて、吸気管内にパージされる蒸発燃料の増加を検出するパージ増加検出手段と、前記パージ増加検出手段にて検出された前記パージ蒸発燃料の増加が、許可取り消し判定値より大きい場合は、前記学習制御手段により許可された前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習許可を取り消す学習許可取消手段とを備えたことを特徴とする。
【００４８】
パージされる燃料蒸発量が稀薄であれば、学習制御手段は、ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可している。しかし、その後、燃料タンクに対して大きな加速度が加わったりして、急にパージされる燃料蒸発量が濃厚となる場合も考えられる。
【００４９】
このような場合は、ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を継続すると正確な学習値が得られなくなるおそれがある。このため、本請求項１３では、パージ増加検出手段にて検出されたパージ蒸発燃料の増加が、許可取り消し判定値より大きい場合は、学習許可取消手段は、学習制御手段により許可されたベース空燃比フィードバック係数の学習許可を取り消すこととしている。
【００５０】
このことにより、請求項１〜１２の作用効果に加えて、ベース空燃比フィードバック係数の一層正確な学習値を維持できるようになる。
請求項１４記載の内燃機関の空燃比制御装置は、請求項１３記載の構成に対して、前記パージ増加検出手段は、前記ベース空燃比フィードバック係数学習手段により学習されるベース空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出することを特徴とする。
【００５１】
ベース空燃比フィードバック係数の学習中におけるパージ蒸発燃料の増加は、ベース空燃比フィードバック係数の変化に基づいて検出することができる。このことにより、請求項１３の作用効果に加えて、容易に吸気管内にパージされる蒸発燃料の増加を検出することができ、ベース空燃比フィードバック係数自身の一層正確な学習が可能となる。
【００５２】
請求項１５記載の内燃機関の空燃比制御装置は、請求項１３記載の構成に対して、前記パージ増加検出手段は、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出することを特徴とする。
【００５３】
ベース空燃比フィードバック係数の学習中におけるパージ蒸発燃料の増加は、空燃比フィードバック係数の変化に基づいて検出することができる。このことにより、請求項１３の作用効果に加えて、容易に吸気管内にパージされる蒸発燃料の増加、特に急激な増加を検出することができ、ベース空燃比フィードバック係数の一層正確な学習が可能となる。
【００５４】
なお、上述したような内燃機関の空燃比制御装置の各手段をコンピュータシステムにて実現する機能は、例えば、コンピュータシステム側で起動するプログラムとして備えることができる。このようなプログラムの場合、例えば、ＲＯＭやバックアップＲＡＭをコンピュータ読み取り可能な記録媒体として前記プログラムを記録しておき、このＲＯＭあるいはバックアップＲＡＭをコンピュータシステムに組み込んで用いることができる。この他、フロッピーディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ハードディスク等のコンピュータ読み取り可能な記録媒体に記録し、必要に応じてコンピュータシステムにロードして起動することにより用いてもよい。
【００５５】
【発明の実施の形態】
［実施の形態１］
図１は、上述した発明が適用された内燃機関の空燃比制御装置の概略構成を表すブロック図である。ここでは内燃機関としてガソリンエンジンが用いられ、自動車に搭載されて、自動車を走行駆動するものを例示している。
【００５６】
本ガソリンエンジン２の気筒４には、吸気弁６を介して吸気流路８、および排気弁１０を介して排気流路１２が接続されている。吸気流路８の吸気弁６近傍には燃料噴射弁１４が配置されている。
【００５７】
吸気流路８の上流には吸気量を検出するためのエアフローメータ１６が設置されて、その下流にはスロットルバルブ８ａが設けられている。このスロットルバルブ８ａは図示していないアクセルペダルにより直接、あるいは電子スロットルとして間接に開度が調整される。
【００５８】
燃料噴射弁１４には燃料タンク１８に貯蔵され、燃料ポンプ２０で加圧された燃料が燃料配管２２を介して供給される。燃料タンク１８内で発生する蒸発燃料は、ベーパ配管２４を介してキャニスタ２６に導かれる。
【００５９】
キャニスタ２６と吸気流路８とはパージ配管２８によって接続され、パージ配管２８にはパージ弁３０が設置される。また排気流路１２には排気の空燃比を検出する空燃比センサ３２が設置される。本空燃比制御装置は電子制御ユニット（ＥＣＵ）３４によって制御されるが、ＥＣＵ３４はここではマイクロコンピュータシステムとして構成される。
【００６０】
すなわち、ＥＣＵ３４はバス３６を中心として、ＣＰＵ３８、メモリ４０、入力インターフェイス４２および出力インターフェイス４４から構成される。空燃比センサ３２およびエアフローメータ１６等の各種センサは入力インターフェイス４２に接続され、排気の空燃比および吸気量のデータ等をＥＣＵ３４に取り込む。なお、入力インターフェイス４２には、これ以外に、図示していないが、吸気流路８に設けられた吸気温センサから吸気温（吸入空気の温度）信号を、スロットルバルブ８ａに設けられたスロットル開度センサからスロットル開度信号とアイドル信号とを、クランク軸に設けられた回転数センサからエンジン回転数信号を、シリンダブロックに設けられた水温センサから冷却水温信号を、車両の速度メータから車速信号をそれぞれ取り込んでいる。
【００６１】
更に、ＥＣＵ３４は出力インターフェイス４４を介して燃料噴射弁１４およびパージ弁３０等と接続される。
上記構成による空燃比制御装置によれば、燃料タンク１８内で発生する蒸発燃料はいったんキャニスタ２６に吸着される。パージ弁３０が開弁すると吸気管内圧力は負圧であるため、キャニスタ２６に吸着された蒸発燃料はパージ配管２８とパージ弁３０とを介して吸気流路８に導かれ、燃料噴射弁１４から噴射された燃料とともに気筒４内で燃料として使用される。
【００６２】
一方、燃焼後の排気の清浄度を維持するために排気の空燃比は空燃比センサ３２によって検出され、ＥＣＵ３４において燃料噴射弁１４の開弁時間を決定するために使用される。
【００６３】
次に、本実施の形態１において、ＥＣＵ３４により実行される制御について、図２以下の図面に基づいて説明する。なお各処理に対応するフローチャート中のステップを「Ｓ〜」で表す。
【００６４】
図２は、ＥＣＵにより実行される空燃比制御処理を示すフローチャートである。この処理は、一定クランク角毎の割り込みで実行される。
本処理が開始されると、まず、空燃比フィードバック制御を行う条件が成立しているか否かを判定する（Ｓ１００）。この条件とは次のごとくである。
【００６５】
（１）始動時でない。
（２）燃料カット中でない。
（３）暖機完了している。（例えば冷却水温度ＴＨＷ≧４０°）
（４）空燃比センサ３２は活性が完了している。
【００６６】
以上の（１）〜（４）のすべての条件が満足されたときに空燃比フィードバック制御が許容され、いずれか１つでも条件が満足されないときは空燃比フィードバック制御は許容されない。
【００６７】
全ての条件が成立している場合（Ｓ１００にて「ＹＥＳ」）は、空燃比センサ３２の出力電圧Ｖｏｘを読み込み（Ｓ１０２）、所定の基準電圧Ｖｒ（例えば０．４５Ｖ）より小さいか否かを判定する（Ｓ１０４）。Ｖｏｘ＜Ｖｒであれば（Ｓ１０４にて「ＹＥＳ」）、排気の空燃比はリーンであるとして、空燃比フラグＸＯＸをリセット（ＸＯＸ←０）する（Ｓ１０６）。
【００６８】
次に、空燃比フラグＸＯＸと状態維持フラグＸＯＸＯとが一致しているか否かを判断する（Ｓ１０８）。ＸＯＸ＝ＸＯＸＯであれば（Ｓ１０８で「ＹＥＳ」）、リーン状態が継続しているものとして、空燃比フィードバック係数ＦＡＦをリーン積分量ａ（ａ＞０）増加して（Ｓ１１０）、このルーチンを一旦終了する。
【００６９】
一方、ＸＯＸ≠ＸＯＸＯであれば（Ｓ１０８で「ＮＯ」）、リッチ状態からリーン状態に反転したものとして、空燃比フィードバック係数ＦＡＦをリーンスキップ量Ａ（Ａ＞０）増加する（Ｓ１１２）。なおリーンスキップ量Ａはリーン積分量ａに比較して十分に大きな値に設定されている。そして、次に状態維持フラグＸＯＸＯをリセット（ＸＯＸＯ←０）して（Ｓ１１４）、この処理を一旦、終了する。
【００７０】
ステップ１０４で、Ｖｏｘ≧Ｖｒと判定された場合は（Ｓ１０４で「ＮＯ」）、排気の空燃比はリッチであるとして、空燃比フラグＸＯＸをセット（ＸＯＸ←１）する（Ｓ１１６）。次に空燃比フラグＸＯＸと状態維持フラグＸＯＸＯとが一致しているか否かを判断する（Ｓ１１８）。
【００７１】
ＸＯＸ＝ＸＯＸＯであれば（Ｓ１１８で「ＹＥＳ」）、リッチ状態が継続しているものとして、空燃比フィードバック係数ＦＡＦをリッチ積分量ｂ（ｂ＞０）減少して（Ｓ１２０）、この処理を一旦終了する。
【００７２】
ＸＯＸ≠ＸＯＸＯであれば（Ｓ１１８で「ＮＯ」）、リーン状態からリッチ状態に反転したものとして空燃比フィードバック係数ＦＡＦをリッチスキップ量Ｂ（Ｂ＞０）減少する（Ｓ１２２）。なおリッチスキップ量Ｂはリッチ積分量ｂに比較して十分に大きな値に設定されている。
【００７３】
次に状態維持フラグＸＯＸＯをセット（ＸＯＸＯ←１）して（Ｓ１２４）この処理を一旦終了する。なおステップ１００で条件が１つでも満足されていない場合（Ｓ１００で「ＮＯ」）には、空燃比フィードバック係数ＦＡＦを「１．０」に設定して（Ｓ１２６）、本処理を一旦終了する。
【００７４】
空燃比制御処理は、上述したごとく実行されて、実空燃比を目標空燃比に調整するための空燃比フィードバック係数ＦＡＦを繰り返し求めている。
図３は、空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭおよび空燃比フィードバック係数ＦＡＦの平均値ＦＡＦＡＶの演算処理のフローチャートであって、図２の空燃比制御処理に続いて実行される。
【００７５】
この処理では、まず、次式１により空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭを演算する（Ｓ２００）。
【００７６】
【数１】
ＦＡＦＳＭ  ←  ｛（Ｎ−１）・ＦＡＦＳＭ＋ＦＡＦ｝／Ｎ    …  ［式１］
すなわち前回までのなまし値ＦＡＦＳＭに「Ｎ−１」の重みを付け、今回演算された空燃比フィードバック係数ＦＡＦに「１」の重みを付けた加重平均値を今回のなまし値ＦＡＦＳＭとする。ここでＮは、例えば「１００」のような比較的大きな整数に設定し、大きななまし度合いとする。
【００７７】
次に、次式２により空燃比フィードバック係数ＦＡＦの直前の値ＦＡＦＢとの平均値ＦＡＦＡＶを演算する（Ｓ２０２）。
【００７８】
【数２】
ＦＡＦＡＶ←（ＦＡＦＢ  ＋  ＦＡＦ）／２    …  ［式２］
そして、次回の演算に備えてＦＡＦＢの値を、今回の空燃比フィードバック係数ＦＡＦの値で置き換える（Ｓ２０４）。こうして、本処理を一旦終了する。
【００７９】
図４は学習制御ルーチンのフローチャートであって、パージ濃度学習とベース空燃比フィードバック係数学習との実行切替を制御するものである。本処理も一定のクランク角毎に割り込み実行される。
【００８０】
本処理が開始されると、まず、エアフローメータ１６で検出される吸入空気流量ＧＡ（ｇ／ｓｅｃ）を読み込み（Ｓ３００）、この吸入空気流量ＧＡの値に基づいて、エンジン２の運転領域を示すインデックスｍを決定する。すなわち、最大吸入空気流量の０％から１００％までをＭ分割してエンジン２の運転領域を定め、現在の吸入空気流量ＧＡが、どの領域にあるかを判断してインデックスｍを決定する（Ｓ３１０）。ベース空燃比フィードバック係数ＫＧは、エンジン２の運転領域毎に学習して求められるものであり、インデックスｍは、ベース空燃比フィードバック係数ＫＧが、いずれの領域に属しているか否かを決定するものである。
【００８１】
次に、後述するベース空燃比フィードバック係数学習の許可フラグＸＰＧＲがセット（ＸＰＧＲ＝１）されているか否かが判定される（Ｓ３２０）。セットされていれば（Ｓ３２０で「ＹＥＳ」）、次にベース空燃比フィードバック係数学習条件が成立しているか否かが判定される（Ｓ３３０）。ベース空燃比フィードバック係数学習条件としては、たとえば、ステップＳ１００にて述べた条件も含めてもよいが、これ以外に、エンジン２の運転領域が変化してから十分な時間が経過したかなどにより、安定した空燃比フィードバック制御状態となっている条件が挙げられる。
【００８２】
ベース空燃比フィードバック係数学習条件が成立していれば（Ｓ３３０で「ＹＥＳ」）、現在のエンジン２の運転領域ｍについて、後述するベース空燃比フィードバック係数の学習が行われる（Ｓ３４０）。
【００８３】
一方、許可フラグＸＰＧＲがリセット状態（ＸＰＧＲ＝０）の場合（Ｓ３２０で「ＮＯ」）、あるいはベース空燃比フィードバック係数学習条件が不成立の場合（Ｓ３３０で「ＮＯ」）には、後述するパージ濃度の学習が行われる（Ｓ３５０）。
【００８４】
ここで、ベース空燃比フィードバック係数学習の許可フラグＸＰＧＲの決定を行うベース空燃比学習実行許諾判定処理を図５，６のフローチャートに基づいて説明する。本処理は、一定クランク角毎に割り込み実行される処理である。
【００８５】
本処理が開始されると、まず、燃料タンク１８内の燃料蒸気存在量推定値ＰＧＲｔｎｋが希薄判定基準値Ｍ０（ただしＭ０＞０）以下か否かが判定される（Ｓ１０１０）。すなわち、燃料蒸気存在量推定値ＰＧＲｔｎｋが十分に小さい値を示しているか否かを判定する。この判定は、パージ弁３０を完全に閉じなくても、ベース空燃比フィードバック係数学習が十分に正確に行うことができる程度に、吸気流路８内にパージされる燃料蒸気の濃度が薄いか否かを判断するためである。この燃料蒸気存在量推定値ＰＧＲｔｎｋは、後述するベーパ存在量推定処理にて求められる値である。
【００８６】
ＰＧＲｔｎｋ≦Ｍ０であれば（Ｓ１０１０で「ＹＥＳ」）、大気圧Ｋｐａが必要大気圧基準値Ｐ０以上か否か、かつ吸入空気温度ＴＨＡが高温判定基準値Ｔ０より小さいか否かを判定する（Ｓ１０２０）。この判定は、大気圧Ｋｐａが１気圧よりも或程度低くて燃料蒸気が発生しやすい状況、および吸入空気温度ＴＨＡによって推定される燃料タンク１８の温度が通常の運転時よりも或程度高くて蒸気が発生しやすい状況を共に避けるためである。なお、大気圧Ｋｐａは、大気圧センサを設けて検出してもよいが、ここでは、スロットルバルブ８ａの開度とエアフローメータ１６にて検出される吸入空気流量ＧＡとの関係から概算される。すなわち、大気圧が低い場合にはスロットルバルブ８ａの開度に比較して吸入空気流量ＧＡが小さくなるため、この関係から大気圧を推定することができるからである。
【００８７】
Ｋｐａ≧Ｐ０で、かつＴＨＡ＜Ｔ０であれば（Ｓ１０２０で「ＹＥＳ」）、次に、現在の許可フラグＸＰＧＲがリセット状態（ＸＰＧＲ＝０）にあるか否かを判定する（Ｓ１０３０）。これは許可フラグＸＰＧＲが既にセット状態（ＸＰＧＲ＝１）にあれば、許可フラグＸＰＧＲをセットするための処理は不要となるからである。
【００８８】
ＸＰＧＲ＝０であれば（Ｓ１０３０で「ＹＥＳ」）、次に、エンジン２が安定した運転を行っているか否かを判定する（Ｓ１０４０）。例えば、アイドル信号がオンを示している状態（ＸＩＤＬ＝ＯＮ）、かつエンジン回転数ＮＥと吸入空気流量ＧＡとが運転の安定を示す範囲であるか否かを判定する。これは、エンジン２が安定した走行を行っていないと、後述する一連の処理中にステップＳ１０１０〜Ｓ１０３０，Ｓ１０４４等の条件が変化して、求められる結果が不適切なものとなる可能性があるためである。
【００８９】
ＸＩＤＬ＝ＯＮで、かつエンジン回転数ＮＥと吸入空気流量ＧＡとが運転の安定を示す範囲である場合（Ｓ１０４０で「ＹＥＳ」）、後述する処理で求められるパージ率ＰＧＲ（吸気弁６から気筒４に吸い込まれる吸入空気の内で、パージ弁３０から供給された気体の割合）が十分に高いことを示すパージ率基準値Ｆ０以上か否かを判定する（Ｓ１０４４）。これは、パージ中の燃料蒸気の濃度が十分に小さいことを判定するためには、パージ自体は十分になされている必要があり、パージ率が小さいと、次のステップＳ１０５０の処理にてパージ中の燃料蒸気の濃度を正確に把握できないおそれがあるためである。
【００９０】
次に、パージ弁開閉時空燃比フィードバック係数ＦＡＦ挙動検出処理がおこなわれる（Ｓ１０５０）。この処理の詳細を図７のフローチャートに示す。
まず、パージ弁３０の現在開度を記憶する（Ｓ１１００）。例えば、後述するパージ弁駆動処理で用いられるデューティＤｕｔｙを記憶する。
【００９１】
次にパージ弁３０を、エンジンの種類に応じて決定されているパージ率の上限開度まで開いて固定する（Ｓ１１１０）。この状態で、空燃比フィードバック係数ＦＡＦの挙動を調べる（Ｓ１１２０）。具体的には、後述する図１３に示す学習処理と同じ処理を行って、ベース空燃比フィードバック係数ＫＧ（ｍ）を求めるのと同様にしてパージ時挙動検出値ＫＧＯを求める。このことで、空燃比フィードバック係数ＦＡＦの挙動を調べる。
【００９２】
そして、例えば、空燃比フィードバック係数ＦＡＦの積分回数やスキップ回数などが満たされたこと等により検出処理が完了したか否かを判定する（Ｓ１１３０）。パージ時挙動検出値ＫＧＯ検出処理完了条件が満足されていなければ（Ｓ１１３０で「ＮＯ」）、ステップＳ１１２０の処理を繰り返す。
【００９３】
パージ時挙動検出値ＫＧＯの検出処理完了条件が満足されれば（Ｓ１１３０で「ＹＥＳ」）、このようにして求められたパージ時挙動検出値ＫＧＯをパージ補正係数ＦＰＧ分増加させる（Ｓ１１３２）。
【００９４】
次にパージ弁３０を全閉（Ｄｕｔｙ＝０％）に調整して固定する（Ｓ１１４０）。この状態で、再度、空燃比フィードバック係数ＦＡＦの挙動を調べる（Ｓ１１５０）。この場合も、具体的には、後述する図１３と同じ処理を行って、ベース空燃比フィードバック係数ＫＧ（ｍ）を求めるのと同様にして非パージ時挙動検出値ＫＧＣを求めることで、空燃比フィードバック係数ＦＡＦの挙動を調べる。
【００９５】
そして、例えば、空燃比フィードバック係数ＦＡＦの積分回数やスキップ回数などが満たされたこと等により、非パージ時挙動検出値ＫＧＣの検出処理が完了したか否かを判定する（Ｓ１１６０）。非パージ時挙動検出値ＫＧＣの検出処理が完了していなければ（Ｓ１１６０で「ＮＯ」）、ステップＳ１１５０の処理を繰り返す。
【００９６】
非パージ時挙動検出値ＫＧＣの検出処理が完了すれば（Ｓ１１６０で「ＹＥＳ」）、ステップＳ１１００で記憶した元の開度に、パージ弁３０の開度を戻しパージ弁３０の開度調整を可能とする（Ｓ１１７０）。こうして、ステップＳ１０５０のパージ弁開閉時空燃比フィードバック係数ＦＡＦ挙動検出処理を終了する。
【００９７】
次に、ステップＳ１０５０にて求めたパージ時挙動検出値ＫＧＯと非パージ時挙動検出値ＫＧＣとの差（ＫＧＯ−ＫＧＣ）が、挙動差基準値Ｈ０以上か否かが判定される（Ｓ１０６０）。この挙動差基準値Ｈ０は、パージ中の燃料蒸気の濃度が、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習に影響しない程度に薄いことを判断するための値であり、前述したエンジンの種類に応じて決定されているパージ率の上限開度に応じて変動する値である。
【００９８】
例えば、パージされる気体中の燃料蒸気の濃度が、０〜ストイキ（理論空燃比）程度であれば、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習に問題となるような悪影響を及ぼさないことから、パージされる気体中の燃料蒸気の濃度が０〜ストイキである場合に得られるパージ時挙動検出値ＫＧＯと非パージ時挙動検出値ＫＧＣとの差と同じ値に、挙動差基準値Ｈ０は設定されている。
【００９９】
すなわち、パージされる気体中の燃料蒸気の濃度がストイキであれば、ＫＧＯ＝ＫＧＣであり、挙動差基準値Ｈ０＝０となる。またパージされる気体中の燃料蒸気の濃度が「０」であれば、ＫＧＯ＞ＫＧＣであり、挙動差基準値Ｈ０＞０となる。したがって、挙動差基準値Ｈ０＝０とすればよいが、パージされる気体中の燃料蒸気の濃度がストイキよりもわずかに濃い領域でもベース空燃比フィードバック係数ＫＧ（ｍ）の学習は可能であることから、挙動差基準値Ｈ０はもう少し小さくして、例えば、Ｈ０＝−０．１に設定してもよい。もちろん、このＨ０＝−０．１の値も、前述したごとく、パージ率の上限開度によって変動し、異なる値が適切な場合もある。
【０１００】
ここで、ＫＧＯ−ＫＧＣ≧Ｈ０であって、パージ中の燃料蒸気の濃度が、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習に影響しない程度に薄いと判定されると（Ｓ１０６０で「ＹＥＳ」）、ベース空燃比フィードバック係数学習の許可フラグＸＰＧＲをセットする（Ｓ１０７０）。
【０１０１】
一方、ＫＧＯ−ＫＧＣ＜Ｈ０の場合には、ステップＳ１０１０にて燃料蒸気存在量推定値ＰＧＲｔｎｋが十分に小さい値であると判定されたにも関わらず、実際にパージされる気体中の燃料蒸気濃度は濃いものであったので、燃料蒸気存在量推定値ＰＧＲｔｎｋに誤差分Ｌが加算される（Ｓ１０８０）。この誤差分Ｌは、例えば、ＫＧＣ−ＫＧＯの値が用いられる。
【０１０２】
前述したステップＳ１０１０〜１０４４のいずれかにて「ＮＯ」と判定された場合、あるいはステップＳ１０７０，Ｓ１０８０が終了した場合に、次に、燃料蒸気存在量推定値ＰＧＲｔｎｋが濃厚判定基準値Ｑ０より大きいか否かが判定される（Ｓ１０９０）。この判定は、パージ中の燃料蒸気の濃度が、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習に影響するほどに濃いと推定されているか否かを判定するものである。
【０１０３】
ＰＧＲｔｎｋ≧Ｑ０（ただし、Ｑ０＞Ｍ０）であれば（Ｓ１０９０で「ＹＥＳ」）、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習をすべきでないので、ベース空燃比フィードバック係数学習の許可フラグＸＰＧＲをリセットする（Ｓ１０９４）。そして、一旦、本処理を終了する。
【０１０４】
ＰＧＲｔｎｋ＜Ｑ０であれば（Ｓ１０９０で「ＮＯ」）、このまま本処理を一旦終了する。
次に、前述した燃料蒸気存在量推定値ＰＧＲｔｎｋを決定するためのベーパ存在量推定処理を、図８のフローチャートに示す。本処理は、一定時間の制御周期で割り込み実行される。
【０１０５】
本処理が開始されると、まず、ベース空燃比フィードバック係数学習の許可フラグＸＰＧＲが、セット状態（ＸＰＧＲ＝１）からリセット状態（ＸＰＧＲ＝０）に反転したタイミングか否かが判定される（Ｓ１２００）。
【０１０６】
許可フラグＸＰＧＲがセット状態からリセット状態へ反転したタイミングであることは、１制御周期の間に、図５に示したベース空燃比学習実行許諾判定処理のステップＳ１０９０にて「ＹＥＳ」と判定されたことを示している。なお、エンジン２の始動直後において最初に本ベーパ存在量推定処理が実行される場合も、ステップＳ１２００は「ＹＥＳ」と判定される。
【０１０７】
もし、許可フラグＸＰＧＲがセット状態からリセット状態へ切り替わったタイミングあるいは始動直後のタイミングであれば（Ｓ１２００で「ＹＥＳ」）、始動直後初期値格納処理がなされる（Ｓ１２１０）。ここでは、燃料蒸気存在量推定値ＰＧＲｔｎｋに初期値ｔ＿ＰＧＲｓｔを設定する。
【０１０８】
この初期値ｔ＿ＰＧＲｓｔは、燃料タンク１８内に発生する可能性がある燃料蒸気量としてほぼ最高の発生量の値が設定される。したがって、この初期値ｔ＿ＰＧＲｓｔは一定値でもよいが、エンジン２の運転条件で最高発生量も変化することから、例えば、図９に示すテーブルにより、始動時の冷却水温ＴＨＷに応じて設定してもよい。なお、図９のテーブルには、初期値ｔ＿ＰＧＲｓｔが大きくなりすぎないように上限値が設定してある。
【０１０９】
次に、ステップＳ１２１０の後、あるいは、許可フラグＸＰＧＲがセット状態からリセット状態へ切り替わったタイミングあるいは始動直後のタイミングでなければ（Ｓ１２００で「ＮＯ」）、次に、推定ベーパ発生量ｔ＿ＰＧＲｂを次式３に示すごとく算出する（Ｓ１２２０）。
【０１１０】
【数３】
ｔ＿ＰＧＲｂ  ←  ｔ＿ＰＧＲａ  ＋  ｔ＿ＰＧＲｓ    …  ［式３］
ここで、第１発生量ｔ＿ＰＧＲａは、燃料温度を反映した発生量である。なお、本実施の形態１では、燃料タンク１８内の燃料温度と吸気流路８に流れる吸入空気の温度とが類似の変動傾向を示すことから、第１発生量ｔ＿ＰＧＲａは、図１０に示す吸入空気温度ＴＨＡをパラメータとするテーブルから、吸入空気温度ＴＨＡに基づいて求められる。
【０１１１】
また、第２発生量ｔ＿ＰＧＲｓは、燃料タンク１８内の燃料の液面に発生する波の程度を反映した発生量である。燃料タンク１８内の燃料の液面に発生する波の程度が大きければ、燃料の蒸発量が大きくなるからである。本実施の形態１では、エンジン２が自動車に搭載されていることから、車速ＳＰＤの変化が前記波の程度に関係するとして、第２発生量ｔ＿ＰＧＲｓは、図１１に示すマップから、車速の変化量の絶対値｜△ＳＰＤ｜に基づいて設定される。
【０１１２】
次に、推定パージ量ｔ＿ＰＧＲｏを求める（Ｓ１２３０）。例えば、図１２に示すテーブルから、パージ流量ＰＧＲｆｒに基づいて求める。このパージ流量ＰＧＲｆｒは、パージ配管２８から吸気流路８内に放出された気体量を示し、後述するごとく求められるパージ率ＰＧＲと吸入空気流量ＧＡ（ｇ／ｓｅｃ）とから次式４に示すごとく算出されたものである。
【０１１３】
【数４】
ＰＧＲｆｒ  ←  ＰＧＲ  ×  ＧＡ      …    ［式４］
なお、図１２のテーブルは、パージ流量ＰＧＲｆｒ内に存在する燃料蒸気としては通常よりも低めの燃料蒸気圧にあるとして設定されている。
【０１１４】
次に燃料蒸気存在量推定値ＰＧＲtnkが次式５のごとく更新される（Ｓ１２４０）。
【０１１５】
【数５】
ＰＧＲtnk  ←  ＰＧＲtnk  ＋  ｔ＿ＰＧＲｂ／Ｋｐａ−ｔ＿ＰＧＲｏ…  ［式５］
すなわち、燃料タンク１８内の燃料蒸気存在量推定値ＰＧＲtnkを、燃料タンク１８内での推定ベーパ発生量ｔ＿ＰＧＲｂと燃料蒸気の推定パージ量ｔ＿ＰＧＲｏとの収支から推定している。ここで、大気圧Ｋｐａは図５のステップＳ１０２０にて述べたごとく求められている。大気圧Ｋｐａが低ければ燃料蒸気の発生が促進されるので、大気圧Ｋｐａが小さくなれば燃料蒸気存在量推定値ＰＧＲtnkは大きくなるように設定されている。
【０１１６】
次に、こうして求められた燃料蒸気存在量推定値ＰＧＲtnkの下限ガードがかけられる。すなわち、燃料蒸気存在量推定値ＰＧＲtnkがマイナスであるか否かを判定し（Ｓ１２５０）、ＰＧＲtnk＜０であれば（Ｓ１２５０で「ＹＥＳ」）、ＰＧＲtnkに「０」を設定して（Ｓ１２６０）、一旦処理を終了する。また、ＰＧＲtnk≧０であれば（Ｓ１２５０で「ＮＯ」）、このまま処理を一旦終了する。
【０１１７】
このようにして、図８のベーパ存在量推定処理にては、ステップＳ１２２０〜Ｓ１２４０の処理を繰り返すことにより、燃料タンク１８内の燃料蒸気の存在量が燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定される。また、ベース空燃比フィードバック係数学習の許可フラグＸＰＧＲがリセットされる毎に（Ｓ１２００で「ＹＥＳ」）、ステップＳ１２１０の初期設定値の設定により最初から推定し直される。
【０１１８】
前述した学習制御処理にて行われるベース空燃比フィードバック係数学習処理（Ｓ３４０）を図１３のフローチャートに示す。
本処理では、まず、前述した空燃比フィードバック係数ＦＡＦの平均値ＦＡＦＡＶが「０．９８」より小さいか否かを判定する（Ｓ４１０）。ＦＡＦＡＶ＜０．９８であれば（Ｓ４１０で「ＹＥＳ」）、運転領域ｍのベース空燃比フィードバック係数ＫＧ（ｍ）を変動量βだけ減少させ（Ｓ４２０）、本処理を一旦終了する。
【０１１９】
ＦＡＦＡＶ≧０．９８であれば（Ｓ４１０で「ＮＯ」）、平均値ＦＡＦＡＶが「１．０２」より大きいか否かを判定する（Ｓ４３０）。ＦＡＦＡＶ＞１．０２であれば（Ｓ４３０で「ＹＥＳ」）、ベース空燃比フィードバック係数ＫＧ（ｍ）を変動量βだけ増加させ（Ｓ４４０）、本処理を一旦終了する。
【０１２０】
０．９８≦ＦＡＦＡＶ≦１．０２の場合（Ｓ４１０で「ＮＯ」、Ｓ４３０で「ＮＯ」）は、運転領域ｍのベース空燃比フィードバック係数ＫＧ（ｍ）はその値が維持されたまま、本処理を一旦終了する。
【０１２１】
なお、ＥＣＵ３４の電源オン時において初期設定されるベース空燃比フィードバック係数ＫＧ（ｍ）の初期値としては「０．００」が設定されている。
次に、パージ濃度学習処理（Ｓ３５０）を図１４のフローチャートに示す。
【０１２２】
ここで、前述した空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭ、すなわち空燃比フィードバック係数の長時間平均値が「０．９８」より小さいか否かを判定する（Ｓ５１０）。ＦＡＦＳＭ＜０．９８であれば（Ｓ５１０で「ＹＥＳ」）、すなわち空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭがリーンであれば、現在のパージ濃度学習値ＦＧＰＧが大きすぎる（パージ気体中の燃料蒸気量を過大に学習している）ものと判断してパージ濃度学習値ＦＧＰＧを変動量αだけ減少し（Ｓ５２０）、本処理を一旦終了する。
【０１２３】
ＦＡＦＳＭ≧０．９８であれば（Ｓ５１０で「ＮＯ」）、なまし値ＦＡＦＳＭが「１．０２」より大きいか否かを判定する（Ｓ５３０）。ＦＡＦＳＭが＞１．０２であれば（Ｓ５３０で「ＹＥＳ」）、すなわち空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭがリッチであれば、現在のパージ濃度学習値ＦＧＰＧが小さすぎる（パージ気体中の燃料蒸気量を過小に学習している）ものと判断して、現在のパージ濃度学習値ＦＧＰＧを変動量αだけ増加して、本処理を一旦終了する。
【０１２４】
なお、０．９８≦ＦＡＦＳＭ≦１．０２の場合（Ｓ５１０で「ＮＯ」、Ｓ５３０で「ＮＯ」）は、パージ濃度学習値ＦＧＰＧはその値が維持されたまま、本ルーチンを一旦終了する。
【０１２５】
また、ベース空燃比フィードバック係数ＫＧ（ｍ）と異なり、パージ濃度学習値ＦＧＰＧはエンジン２の運転領域毎に求められるのではなく、エンジン２の全運転領域で共通である。
【０１２６】
次に、パージ率制御処理のフローチャートを図１５に示す。本処理も一定のクランク角毎に割り込み実行される。
本処理が開始されると、まず、空燃比フィードバック制御中であるか否かを判定する（Ｓ６１０）。空燃比フィードバック制御中であれば（Ｓ６１０で「ＹＥＳ」）、冷却水温度ＴＨＷが５０℃以上であるか否かを判定する（Ｓ６２０）。ＴＨＷ≧５０℃であれば（Ｓ６２０で「ＹＥＳ」）、後述するパージ率ＰＧＲの演算が行われ（Ｓ６３０）、パージ実行フラグＸＰＧＯＮをセット（ＸＰＧＯＮ←１）して（Ｓ６４０）、本処理を一旦終了する。
【０１２７】
一方、空燃比フィードバック中でない場合（Ｓ６１０で「ＮＯ」）、あるいはＴＨＷ＜５０℃の場合（Ｓ６２０で「ＮＯ」）は、パージ率ＰＧＲを「０」とし（Ｓ６５０）、パージ実行フラグＸＰＧＯＮをリセット（ＸＰＧＯＮ←０）して（Ｓ６６０）、本処理を一旦終了する。
【０１２８】
パージ率ＰＧＲ演算処理（Ｓ６３０）の内容を図１６のフローチャートに示す。
ここではまず、空燃比フィードバック係数ＦＡＦがどの領域にあるかを判定する（Ｓ７１０）。この空燃比フィードバック係数ＦＡＦの領域の例を、図１７に示す。空燃比フィードバック係数ＦＡＦが１．０±Ｆ内にあるときは領域１に、１．０±Ｆと１．０±Ｇとの間にあるときは領域２に、１．０±Ｇの外側にあるときは領域３に属すると判定する。なお、０＜Ｆ＜Ｇとする。
【０１２９】
ステップ７１０で領域１に属すると判定されたときは、パージ率ＰＧＲをパージ率アップ量Ｄだけ増加する（Ｓ７２０）。ステップ７１０で領域２に属すると判定されたときは、パージ率ＰＧＲは変更せず維持する。ステップ７１０で領域３に属すると判定されたときは、パージ率ＰＧＲをパージ率ダウン量Ｅだけ減少する（Ｓ７３０）。
【０１３０】
ステップＳ７２０，Ｓ７３０の後、あるいはステップＳ７１０にて領域２であると判定された場合には、パージ率ＰＧＲに対して上下限のガード処理を行い（Ｓ７４０）、パージ率ＰＧＲを上限値以下および下限値以上の値とする。こうして、本処理を一旦終了する。
【０１３１】
前述した図１５のパージ率制御処理にて求められたパージ率ＰＧＲおよびパージ実行フラグＸＰＧＯＮに基づいて、図１８のフローチャートに示すパージ弁駆動処理がなされる。本処理は、一定のクランク角毎に割り込み実行される。
【０１３２】
本処理が開始されると、まず、パージ実行フラグＸＰＧＯＮがセットされているか否かを判定する（Ｓ８１０）。リセット状態（ＸＰＧＯＮ＝０）であれば（Ｓ８１０で「ＮＯ」）、デューティＤｕｔｙを「０」に設定して（Ｓ８２０）、本処理を一旦終了する。
【０１３３】
セット（ＸＰＧＯＮ＝１）されていれば（Ｓ８１０で「ＹＥＳ」）、次式６に基づきデューティＤｕｔｙを演算する。
【０１３４】
【数６】
Ｄｕｔｙ  ←  ｋ１・ＰＧＲ／ＰＧＲ100  ＋  ｋ２    …  ［式６］
ここでＰＧＲ100はパージ弁３０の全開時のパージ率であり、エンジン２の回転数ＮＥとエンジン２の負荷（ここでは吸入空気流量ＧＡ）とのマップとして、図１９に示すごとくに、予め実測により設定されている。
【０１３５】
図１９では、全開時パージ率ＰＧＲ100は数値の傾向を等高線で示してある。図から判るように、吸入空気流量ＧＡが小さいほど全開時パージ率ＰＧＲ100は大きく、吸入空気流量ＧＡが小さいほど全開時パージ率ＰＧＲ100は大きくなる傾向にある。また回転数ＮＥが低いほど全開時パージ率ＰＧＲ100は大きくなる傾向にある。ただし、吸入空気流量ＧＡが極めて大きい部分では、回転数ＮＥが低いほど全開時パージ率ＰＧＲ100は小さくなる傾向にある。
【０１３６】
またｋ１，ｋ２はバッテリ電圧あるいは大気圧に応じて定まる補正係数である。
次に、前述したごとくにして求めたベース空燃比フィードバック係数ＫＧ（ｍ）、パージ濃度学習値ＦＧＰＧ、パージ率ＰＧＲ等に基づいて、図２０のフローチャートに示す燃料噴射処理を実行する。この処理は一定クランク角毎に割り込み実行される。
【０１３７】
本処理が開始されると、まず、エンジン２の回転数ＮＥおよび吸入空気流量ＧＡに基づいて、マップＭＴＰ（図示していない）から基本燃料噴射弁開弁時間ＴＰを求める（Ｓ９１０）。
【０１３８】
次に、図１４に示したパージ濃度学習処理において学習されたパージ濃度学習値ＦＧＰＧおよび図１６に示したパージ率演算処理で決定されたパージ率ＰＧＲに基づいて、次式７に示すごとくパージ補正係数ＦＰＧを演算する（Ｓ９２０）。
【０１３９】
【数７】
ＦＰＧ  ←  ＦＧＰＧ・ＰＧＲ        …    ［式７］
次に、図２に示した空燃比制御処理で演算された空燃比フィードバック係数ＦＡＦ、図１３に示すベース空燃比フィードバック係数学習処理で演算されたベース空燃比フィードバック係数ＫＧ（ｍ）およびステップＳ９２０で求めたパージ補正係数ＦＰＧに基づいて燃料噴射弁開弁時間ＴＡＵを次式８により演算する（Ｓ９３０）。
【０１４０】
【数８】
ＴＡＵ  ←  ｋ３・ＴＰ・｛ＦＡＦ＋ＫＧ（ｍ）＋ＦＰＧ｝＋ｋ４…  ［式８］
ここでｋ３およびｋ４は暖機増量、始動増量等を含む補正係数である。次に、燃料噴射弁開弁時間ＴＡＵを出力して（Ｓ９４０）本処理を一旦終了する。
【０１４１】
上述した実施の形態１において、ベーパ配管２４、キャニスタ２６、パージ配管２８およびパージ弁３０がパージ手段に相当し、空燃比センサ３２が空燃比検出手段に相当し、図２の空燃比制御処理が空燃比フィードバック制御手段としての処理に相当し、図１４のパージ濃度学習処理が濃度学習手段としての処理に相当し、図１３のベース空燃比フィードバック係数学習処理がベース空燃比フィードバック係数学習手段としての処理に相当し、図２０の燃料噴射処理が燃料噴射量制御手段としての処理に相当し、図８のベーパ存在量推定処理が燃料蒸気量推定手段としての処理に相当し、図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理が空燃比フィードバック係数挙動検出手段としての処理に相当し、ステップＳ１０１０、Ｓ１０６０が学習制御手段としての処理に相当する。
【０１４２】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（イ）．図８のベーパ存在量推定処理にて、燃料タンク１８内の燃料蒸気の存在量を、燃料タンク１８内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定している。このように、パージされる燃料蒸気の濃度を、空燃比フィードバック係数ＦＡＦの学習から得るのではなく、直接的に、燃料タンク１８内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から燃料タンク１８内の燃料蒸気の存在量を推定している。そして、ベース空燃比学習実行許諾判定処理のステップＳ１０１０にて、この燃料タンク１８内の燃料蒸気の存在量が小さいと推定されれば、確実に燃料タンク１８から流出する燃料蒸気の濃度が薄いと判断できるので、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習を許可し、かつパージ濃度学習処理を禁止するための条件の１つに加えている。
【０１４３】
逆に、燃料タンク内の燃料蒸気の存在量が大きいと推定されれば、燃料タンクから流出する燃料蒸気の濃度が濃い可能性が高いので、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習を禁止し、パージ濃度学習処理を許可することができる。
【０１４４】
このことにより適切な状態でベース空燃比フィードバック係数ＦＡＦの再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数ＫＧ（ｍ）が正確な値に維持できることから、パージ濃度学習処理による蒸発燃料の濃度の学習も正確に行われるようになる。
【０１４５】
（ロ）．図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理にて、パージ弁３０の開状態と閉状態とで、それぞれ空燃比フィードバック係数ＦＡＦの挙動を検出している。この２つの状態における挙動を比較すれば、パージされる燃料蒸気の濃度の程度が判明する。すなわち、パージされる燃料蒸気の濃度が薄ければ、パージ弁３０が開状態である場合に得られている空燃比フィードバック係数ＦＡＦのレベルは、パージ弁３０が閉状態である場合に得られている空燃比フィードバック係数ＦＡＦのレベルに比較して、ほぼ同じかあるいはわずかに高い。逆に、パージされる燃料蒸気の濃度が濃ければ、パージ弁３０が開状態である場合に得られている空燃比フィードバック係数ＦＡＦのレベルは、パージ弁３０が閉状態である場合に得られている空燃比フィードバック係数ＦＡＦのレベルに比較して低くなる。
【０１４６】
したがって、パージ弁開閉時空燃比フィードバック係数挙動検出処理では、パージ弁３０開閉の各場合の空燃比フィードバック係数ＦＡＦの挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習を許可し、パージ濃度学習処理の実行を禁止する条件の一つとしている。また、パージされる燃料蒸気量が希薄でないと判断される場合に、ベース空燃比フィードバック係数ＫＧ（ｍ）の学習を禁止するとともにパージ濃度学習処理の実行を許可している。
【０１４７】
このように、パージ弁３０を開閉処理することにより、パージがなされている状態とパージを無くした状態とを実現して、パージされる燃料蒸気の濃度の濃い薄いを正確に判断することができ、パージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数の再学習を行わせることができるようになる。
【０１４８】
このことにより適切な状態でベース空燃比フィードバック係数ＫＧ（ｍ）の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数ＫＧ（ｍ）が正確な値に維持できることから、パージ濃度学習処理によるパージされる蒸発燃料の濃度の学習も正確に行われるようになる。
【０１４９】
（ハ）．なお、図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理を行うと、パージ弁を閉じる期間が存在することとなるが、従来技術と異なり、単に空燃比フィードバック係数のレベルを検出するのみであり、この間にベース空燃比フィードバック係数の学習そのものを行っているのではないことから、パージ弁の閉状態は短期間でよくなり、パージを制限するほどのことはない。
【０１５０】
（ニ）．（イ）に示したごとく、直接的に、燃料タンク１８内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から燃料タンク１８内の燃料蒸気の存在量を推定していることと、（ロ）に示したごとく、パージ弁開閉時空燃比フィードバック係数挙動検出処理にて、パージ弁３０の開状態と閉状態とで、それぞれ空燃比フィードバック係数ＦＡＦの挙動を検出している。更に、これ以外にも、ステップＳ１０２０〜１０４４の条件を判定して、はじめてベース空燃比フィードバック係数ＫＧ（ｍ）の学習を許可するようにしているので、一層確実にパージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数ＫＧ（ｍ）の再学習を行わせることができるようになる。
【０１５１】
（ホ）．しかも、ステップＳ１０１０における燃料蒸気存在量推定値ＰＧＲｔｎｋの判定を先にして、この燃料蒸気存在量推定値ＰＧＲｔｎｋが希薄判定基準値Ｍ０よりも小さい場合に、ステップＳ１０５０のパージ弁開閉時空燃比フィードバック係数挙動検出処理を起動し、得られた２つの挙動の判定を行うようにしているので、パージ弁３０を閉じる期間が存在しても、実質的にパージの機会を奪うことにはならない。
【０１５２】
（ヘ）．ステップＳ１２２０にて推定ベーパ発生量ｔ＿ＰＧＲｂを求めるに際して、吸入空気温度ＴＨＡを用いている。吸入空気温度ＴＨＡは燃料タンク１８内の燃料温度に応じた値を示すので、燃料タンク１８における燃料蒸気圧を反映した適切な推定ベーパ発生量ｔ＿ＰＧＲｂを得ることができる。また、吸気流路８に既に燃料噴射制御等のために吸入空気温度センサが用いられている場合には、燃料タンク１８に温度センサを設けなくてもよくなり、製造コストの上昇を招かない。
【０１５３】
（ト）．更に、燃料タンク１８における推定ベーパ発生量ｔ＿ＰＧＲｂを、燃料タンク１８内の燃料温度のパラメータ（実際には吸入空気温度ＴＨＡ）以外に、燃料タンク１８に与えられる速度変化｜△ＳＰＤ｜に応じて求めている。エンジン２は自動車に搭載されているので、この自動車の速度変化は燃料タンク１８内の燃料の液面に振動を与えて、波を生じさせる。この波の程度が大きいほど燃料は蒸気の発生が促進される。したがって、推定ベーパ発生量ｔ＿ＰＧＲｂを、燃料タンク１８内の燃料温度（実際には吸入空気温度ＴＨＡ）および燃料タンク１８に与えられる速度変化｜△ＳＰＤ｜に応じて求めることにより、一層正確に推定ベーパ発生量ｔ＿ＰＧＲｂを求めることができる。
【０１５４】
（チ）．推定ベーパ発生量ｔ＿ＰＧＲｂとして、燃料タンク１８内の燃料温度や速度変化に加えて、大気圧Ｋｐａも加味している。大気圧Ｋｐａが低い場合は燃料は蒸気の発生が促進される。したがって、一層正確に推定ベーパ発生量ｔ＿ＰＧＲｂを求めることができる。
【０１５５】
（リ）．図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理では、図１３のベース空燃比フィードバック係数学習処理のルーチンを利用して、空燃比フィードバック係数ＦＡＦの挙動を調べているため、空燃比フィードバック係数ＦＡＦの挙動を調べるために特別なルーチンを用意しなくてもよく、プログラムに必要なメモリ容量を小さくできる。
【０１５６】
［実施の形態２］
本実施の形態２が前記実施の形態１と異なるのは、前記図７に示したパージ弁開閉時ＦＡＦ挙動検出処理において、ステップＳ１１４０の代わりに、図２１のフローチャートに示すパージ弁全閉処理が行われる点である。他の構成は前記実施の形態１と同じである。
【０１５７】
図２１のパージ弁全閉処理では、まず、現在のパージ率ＰＧＲから、漸減のために設定されている減少パージ率ΔＰＧＲ分低減した値が０以下か否かが判定される（Ｓ２０１０）。ここで、ＰＧＲ−ΔＰＧＲ＞０であれば（Ｓ２０１０で「ＮＯ」）、この「ＰＧＲ−ΔＰＧＲ」の値がパージ率ＰＧＲ自身に設定される（Ｓ２０２０）。
【０１５８】
そして、次に、ステップＳ２０２０が実行されてから時間Δｔが経過したか否かが判定される（Ｓ２０３０）。時間Δｔが経過していなければ（Ｓ２０３０で「ＮＯ」）このままステップＳ２０３０の判定処理を繰り返す。すなわち、時間Δｔの時間待ちを行う。
【０１５９】
時間Δｔが経過すれば（Ｓ２０３０で「ＹＥＳ」）、再度、ＰＧＲ−ΔＰＧＲ≦０であるか否かが判定される（Ｓ２０１０）。ＰＧＲ−ΔＰＧＲ＞０である限り（Ｓ２０１０で「ＮＯ」）、ステップＳ２０２０，Ｓ２０３０が繰り返されて、ΔＰＧＲ／Δｔの速度で徐々にパージ率ＰＧＲは小さくなる。このパージ率漸減速度ΔＰＧＲ／Δｔとしては、例えばパージ率ＰＧＲが取り得る最大値が５％であるとすると、秒速「−０．５％」が設定される。パージ率ＰＧＲは前記実施の形態１の図１８にて述べたパージ弁駆動処理によりデューティ制御されてパージ弁３０の開度に反映される。
【０１６０】
そして、ＰＧＲ−ΔＰＧＲ≦０となれば（Ｓ２０１０で「ＹＥＳ」）、パージ率ＰＧＲに０が設定されて（Ｓ２０４０）、パージ弁全閉処理が終了する。こうして、パージ弁３０が全閉となって、図７に示したステップＳ１１５０の処理に移行する。
【０１６１】
この間のパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を図２２に示す。図２２はベース空燃比フィードバック係数ＫＧが過小に誤学習されていた状態にて、パージ弁３０が全閉にされた状態を示している。パージ弁３０が時刻Ｔ０からパージ弁全閉処理により徐々に閉じ始め、時刻Ｔ１にて全閉となる期間に、空燃比フィードバック係数ＦＡＦが実線で示すごとく増加することにより、空燃比を目標空燃比に維持しようとしていることが判る。そして、時刻Ｔ０〜Ｔ１の間は、空燃比フィードバック係数ＦＡＦは、図２の空燃比制御処理のステップＳ１２２にて示した空燃比フィードバック係数ＦＡＦのリッチスキップ処理を、ステップＳ１１２のリーンスキップ処理とともに繰り返している。このことから、パージ弁３０が徐々に閉じている間も、空燃比を目標空燃比に維持できていることを示している。
【０１６２】
なお、図２２における一点鎖線は、パージ弁３０を直ちに全閉にした場合を示しており、時刻Ｔ０以降しばらくは空燃比フィードバック係数ＦＡＦのリッチスキップ処理は生じることなく、空燃比フィードバック係数ＦＡＦは上昇し続ける。このため一時的に過剰に稀薄な空燃比となっていることが考えられる。
【０１６３】
以上説明した本実施の形態２によれば、以下の効果が得られる。
（イ）．前記実施の形態１の（イ）〜（リ）の効果を生じる。
（ロ）．パージ弁開閉時ＦＡＦ挙動検出処理においては、パージ弁３０を全閉にするに際してパージ弁３０を徐々に閉じている。このことにより、学習値の誤設定が存在していたとしても、空燃比制御処理により算出される空燃比フィードバック係数ＦＡＦの増加によって空燃比の変化に十分対応できる。このため、図２２に示したごとく十分に適切な空燃比を維持できる。
【０１６４】
このためパージ弁開閉時ＦＡＦ挙動検出処理の実行時においても、エンジン２の回転安定性を十分に維持できる。
［実施の形態３］
本実施の形態３が前記実施の形態１と異なるのは、前記図７に示したパージ弁開閉時ＦＡＦ挙動検出処理において、ステップＳ１１４０の代わりに、図２３のフローチャートに示すパージ弁全閉処理および図２４のフローチャートに示す中断処理が行われる点である。他の構成は前記実施の形態１と同じである。
【０１６５】
図２３のパージ弁全閉処理では、まず、現在のパージ率ＰＧＲから、漸減のために設定されている減少パージ率ΔＰＧＲ分低減した値が０以下か否かが判定される（Ｓ３０１０）。ここで、ＰＧＲ−ΔＰＧＲ＞０であれば（Ｓ３０１０で「ＮＯ」）、この「ＰＧＲ−ΔＰＧＲ」の値がパージ率ＰＧＲ自身に設定される（Ｓ３０２０）。そして、次に、ステップＳ３０２０が実行されてから時間Δｔが経過したか否かが判定される（Ｓ３０３０）。時間Δｔが経過していなければ（Ｓ３０３０で「ＮＯ」）このままステップＳ３０３０の判定処理を繰り返す。すなわち、時間Δｔの時間待ちを行う。ここまでは前記実施の形態２と同じ処理が行われる。
【０１６６】
次に、時間Δｔが経過すれば（Ｓ３０３０で「ＹＥＳ」）、空燃比フィードバック係数ＦＡＦが濃厚側判定値ＦＡＦＰＧより大きいか否かが判定される（Ｓ３０３５）。この濃厚側判定値ＦＡＦＰＧは、パージ弁３０を徐々に閉じる際に誤学習に起因して空燃比フィードバック係数ＦＡＦの上昇が継続していることを判定するものである。すなわち、この判定は、空燃比制御処理（図２）にて演算される空燃比フィードバック係数ＦＡＦの増加では空燃比を適切に維持することが困難となっている状態を判断するためである。
【０１６７】
ＦＡＦ≦ＦＡＦＰＧであれば（Ｓ３０３５で「ＮＯ」）、再度、ＰＧＲ−ΔＰＧＲ≦０であるか否かが判定される（Ｓ３０１０）。ＰＧＲ−ΔＰＧＲ＞０（Ｓ３０１０で「ＮＯ」）でかつＦＡＦ≦ＦＡＦＰＧ（Ｓ３０３５で「ＮＯ」）である限り、ステップＳ３０２０，Ｓ３０３０が繰り返されて、ΔＰＧＲ／Δｔの速度で徐々にパージ率ＰＧＲは小さくなる。このパージ率漸減速度ΔＰＧＲ／Δｔの例は前記実施の形態２で述べたごとくである。そして、パージ率ＰＧＲはパージ弁駆動処理（図１８）によりデューティ制御されてパージ弁３０の開度に反映される。
【０１６８】
次に、ＰＧＲ−ΔＰＧＲ≦０となれば（Ｓ３０１０で「ＹＥＳ」）、パージ率ＰＧＲに０が設定されて（Ｓ３０４０）、パージ弁全閉処理が終了する。こうして、パージ弁３０が全閉となって、ステップＳ１１５０（図７）の処理に移行する。
【０１６９】
この間のパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を図２５に示す。図２５はベース空燃比フィードバック係数ＫＧが過小に誤学習されていた状態にて、パージ弁３０が全閉にされた状態を示している。図２５のパターンは、前記実施の形態２の図２２に示した場合と同様である。すなわち、パージ弁３０が時刻Ｔ１０からパージ弁全閉処理により徐々に閉じ始め、時刻Ｔ１１にて全閉となる期間に、空燃比フィードバック係数ＦＡＦが実線で示すごとく増加することにより、空燃比を目標空燃比に維持しようとしていることが判る。そして、時刻Ｔ１０〜Ｔ１１の間は、空燃比フィードバック係数ＦＡＦは、リッチスキップ処理をリーンスキップ処理とともに繰り返している。このことから、パージ弁３０が徐々に閉じている間も、空燃比を目標空燃比に維持できていることを示している。
【０１７０】
次に、ベース空燃比フィードバック係数ＫＧが過小の誤学習が、更に大きなものである場合を考える。この場合、パージ弁３０を徐々に閉めたとしても、空燃比のリーン側への変化が大きくて、空燃比制御処理（図２）にて算出される空燃比フィードバック係数ＦＡＦでは適切な空燃比が維持できない状況が生じることがある。
【０１７１】
このような状況では、空燃比制御処理（図２）ではステップＳ１００，Ｓ１０２，Ｓ１０４，Ｓ１０６，Ｓ１０８，Ｓ１１０の処理が継続し、空燃比フィードバック係数ＦＡＦは減少方向に反転することなく継続的に増加する。
【０１７２】
したがって、パージ弁全閉処理（図２３）にてステップＳ３０１０〜Ｓ３０３５を繰り返してパージ弁３０を徐々に閉じている間に、ＦＡＦ＞ＦＡＦＰＧ（Ｓ３０３５で「ＹＥＳ」）となる状況が発生する。この場合には、パージ弁開閉時ＦＡＦ挙動検出処理の中断処理が実行される。
【０１７３】
図２４のフローチャートに中断処理を示す。中断処理では、まず、前記実施の形態１にて説明した燃料蒸気存在量推定値ＰＧＲｔｎｋを規定増加量ΔＰＧＲｔｎｋ分増加させる処理が行われる（Ｓ３１１０）。これはＦＡＦ＞ＦＡＦＰＧ（Ｓ３０３５で「ＹＥＳ」）となった状況では、ベーパ存在量推定処理にて算出されている燃料蒸気存在量推定値ＰＧＲｔｎｋよりも、実際にパージされる気体中の燃料蒸気濃度は濃いものであると推定できるからである。
【０１７４】
次に、現在のパージ率ＰＧＲを、漸増のために設定されている増加パージ率ΔＰＧＲＵ分増加した値が、ステップＳ１１００（図）にて記憶したパージ弁３０の開度ＰＧＲＯ以上か否かが判定される（Ｓ３１２０）。ここで、ＰＧＲ＋ΔＰＧＲＵ＜ＰＧＲＯであれば（Ｓ３１２０で「ＮＯ」）、この「ＰＧＲ＋ΔＰＧＲＵ」の値がパージ率ＰＧＲ自身に設定される（Ｓ３１３０）。そして、次に、ステップＳ３１３０が実行されてから時間Δｔｕが経過したか否かが判定される（Ｓ３１４０）。時間Δｔｕが経過していなければ（Ｓ３１４０で「ＮＯ」）このままステップＳ３１４０の判定処理を繰り返す。すなわち、時間Δｔｕの時間待ちを行う。
【０１７５】
次に、時間Δｔｕが経過すれば（Ｓ３１４０で「ＹＥＳ」）、再度、ＰＧＲ＋ΔＰＧＲＵ≧ＰＧＲＯであるか否かが判定される（Ｓ３１２０）。ＰＧＲ＋ΔＰＧＲＵ＜ＰＧＲＯ（Ｓ３１２０で「ＮＯ」）である限り、ステップＳ３１３０，Ｓ３１４０が繰り返されて、ΔＰＧＲＵ／Δｔｕの速度で徐々にパージ率ＰＧＲは大きくなる。このパージ率漸増速度ΔＰＧＲＵ／Δｔｕはパージ率漸減速度ΔＰＧＲ／Δｔと同じでもよく異なっていてもよい。こうして増加するパージ率ＰＧＲはパージ弁駆動処理（図１８）によりデューティ制御されてパージ弁３０の開度に反映される。
【０１７６】
そして、ＰＧＲ＋ΔＰＧＲＵ≧ＰＧＲＯとなれば（Ｓ３１２０で「ＹＥＳ」）、パージ率ＰＧＲに開度ＰＧＲＯが設定されて（Ｓ３１５０）、パージ弁３０がパージ弁全閉処理を開始する直前のパージ弁３０の開度に戻る。そして、次にステップＳ１０９０（図６）の処理に移る。
【０１７７】
このように、中断処理に入ると、ステップＳ１１５０（図７）が実行されないのでパージ弁３０を全閉とした場合の非パージ時挙動検出値ＫＧＣは求められることはなく、更にステップＳ１０６０（図６）が実行されないので、パージ時挙動検出値ＫＧＯと非パージ時挙動検出値ＫＧＣとの比較もなされない。すなわち、パージ弁開閉時ＦＡＦ挙動検出処理によるベースＦＡＦ学習の許可フラグＸＰＧＲのセット（Ｓ１０７０：図６）は実質的にはなされない。ただし、燃料蒸気存在量推定値ＰＧＲｔｎｋの増加はステップＳ３１１０の処理にてなされている。このため、中断処理の最後にステップＳ１０９０にジャンプして、燃料蒸気存在量推定値ＰＧＲｔｎｋの大きさの判定を行い、濃厚判定基準値Ｑより大きければ（Ｓ１０９０で「ＹＥＳ」）、許可フラグＸＰＧＲをリセットする処理（Ｓ１０９４）を行えるようにしている。
【０１７８】
この間のパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を図２６に示す。パージ弁３０が時刻Ｔ２１からパージ弁全閉処理により徐々に閉じ始める。この時に誤学習に起因して空燃比は急速にリーン側へ移動する。このため、空燃比フィードバック係数ＦＡＦは増加を継続する。
【０１７９】
そして時刻Ｔ２２に空燃比フィードバック係数ＦＡＦは濃厚側判定値ＦＡＦＰＧを越える（Ｓ３０３５で「ＹＥＳ」）。すると中断処理が開始されて時刻Ｔ２２からはパージ率ＰＧＲが増加する。そして、時刻Ｔ２３にてパージ率ＰＧＲが元の状態に復帰する。
【０１８０】
したがって、パージ率ＰＧＲが低下している間は、増加を継続していた空燃比フィードバック係数ＦＡＦは、パージ率ＰＧＲの上昇に応じて低下し元に戻る。この空燃比フィードバック係数ＦＡＦの低下の際には、リッチスキップとリーンスキップとを繰り返していることから空燃比を目標空燃比に維持できていることを示している。
【０１８１】
上述した実施の形態３の構成では、図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理とともに、図２４の中断処理も空燃比フィードバック係数挙動検出手段としての処理に相当する。
【０１８２】
以上説明した本実施の形態３によれば、以下の効果が得られる。
（イ）．前記実施の形態２の（イ）および（ロ）の効果を生じる。
（ロ）．パージ弁開閉時ＦＡＦ挙動検出処理（Ｓ１０５０：図７）にてパージ弁３０を閉じる過程（Ｓ１１４０）において、空燃比フィードバック係数ＦＡＦが増加し続けている状況を濃厚側判定値ＦＡＦＰＧに基づいて判断している（Ｓ３０３５）。そして、空燃比フィードバック係数ＦＡＦが増加し続けている状況にあると判断された場合には（Ｓ３０３５で「ＹＥＳ」）、学習値の誤設定により、空燃比フィードバック係数ＦＡＦの増加では空燃比を適切に維持することが困難となっている可能性が高い。
【０１８３】
このため、本実施の形態３ではステップＳ３０３５にて「ＹＥＳ」と判定された場合には、パージ弁３０を閉じるのを停止して開く側へ反転させ、パージ弁３０の閉状態における空燃比フィードバック係数ＦＡＦの挙動検出を中止している。
【０１８４】
このことにより、過大なリーン状態が継続するのを防止でき、エンジン２の回転安定性を維持することができる。
（ハ）．更に、本実施の形態３では、前記中断処理を実行するに際して、燃料蒸気存在量推定値ＰＧＲｔｎｋを増加補正している（Ｓ３１１０）。このようにパージ弁３０の開度を戻して空燃比フィードバック係数ＦＡＦの挙動の検出を中止する処理に加えて、燃料蒸気存在量推定値ＰＧＲｔｎｋの増加補正を行っている。このことにより燃料蒸気存在量推定値ＰＧＲｔｎｋとして適切な値が設定され、以後の燃料蒸気存在量推定値ＰＧＲｔｎｋに対する判定（Ｓ１０１０，Ｓ１０９０，Ｓ１２５０）が一層正確なものとなる。
【０１８５】
［実施の形態４］
本実施の形態４が前記実施の形態１と異なるのは、図２７に示したＦＡＦ挙動検出継続判定処理が時間周期で繰り返し実行されている点である。更に、前記図７に示したパージ弁開閉時ＦＡＦ挙動検出処理においては、図２７のＦＡＦ挙動検出継続判定処理にてＦＡＦ挙動検出禁止が設定されると、直ちに処理を停止して図２８に示す中断処理を実行する点である。この中断処理では処理の最後で図５，６に示したベース空燃比学習実行許諾判定処理を終了する。
【０１８６】
これ以外の構成は基本的に前記実施の形態１と同じである。
なお、前記実施の形態１では図示しなかったが、吸気流路８には図２９の断面図に示すごとくスロットルバルブ８ａを迂回する吸気バイパス経路５０ａと、この吸気バイパス経路５０ａに設けられたＩＳＣＶ（アイドルスピードコントロールバルブ）５０ｂとを備えたＩＳＣ（アイドルスピードコントロール）システム５０が設けられている。そして、ＩＳＣＶ５０ｂの開度はＥＣＵ３４により、エンジンアイドル時に必要なエンジン回転数を実現するように制御されている。
【０１８７】
まず、図２７のＦＡＦ挙動検出継続判定処理について説明する。本処理が開始されると、ステップＳ１０１０〜Ｓ１０４４に示したパージ弁開閉時ＦＡＦ挙動検出処理（Ｓ１０５０：図７）の実行条件が成立したか否かが判定される（Ｓ４０１０）。成立していなければ（Ｓ４０１０で「ＮＯ」）、次に現在の負荷ＫＬＳＭを判定用記憶値ＫＬＣＨＫとしてメモリ４０内に格納する（Ｓ４０７０）。ここでの負荷ＫＬＳＭは、エンジン２の１回転当たりの吸入空気流量ＧＮで表されている。
【０１８８】
こうして、一旦、処理を終了する。そしてステップＳ４０１０にて条件不成立である限り、ステップＳ４０７０にて常に最新の負荷ＫＬＳＭが判定用記憶値ＫＬＣＨＫに記憶される。
【０１８９】
次に、図５におけるステップＳ１０１０〜Ｓ１０４４までのすべての条件が満足されて、パージ弁開閉時ＦＡＦ挙動検出処理（Ｓ１０５０：図７）が開始された場合は、同時にステップＳ４０１０の条件も満足される。このことにより、まず、図７におけるパージ弁全閉処理（Ｓ１１４０）によりパージ弁３０が全閉となった直後か否かが判定される（Ｓ４０２０）。
【０１９０】
パージ弁開閉時ＦＡＦ挙動検出処理（Ｓ１０５０）において、パージ弁全閉処理（Ｓ１１４０）よりも前の処理（Ｓ１１００〜Ｓ１１３２）が行われている状態では（Ｓ４０２０で「ＮＯ」）、次式９のごとく、判定用記憶値ＫＬＣＨＫと負荷ＫＬＳＭとの差の絶対値が挙動検出中止判定値Ｍａより小さいか否かが判定される（Ｓ４０４０）。
【０１９１】
【数９】
｜ＫＬＣＨＫ−ＫＬＳＭ｜  ＜  Ｍａ      …  ［式９］
ここで、パージ弁開閉時ＦＡＦ挙動検出処理（図７）を開始してからの負荷ＫＬＳＭの変動が挙動検出中止判定値Ｍａ内に収まっていれば（Ｓ４０４０で「ＹＥＳ」）、パージ弁開閉時ＦＡＦ挙動検出の許可がなされる（Ｓ４０５０）。この許可は例えば許可フラグをセットすることで設定される。この許可フラグは、パージ弁開閉時ＦＡＦ挙動検出処理（図７）の中で常にチェックされ、後述するごとく許可フラグがリセットされた場合は、直ちに中断処理（図２８）が実行される。
【０１９２】
負荷ＫＬＳＭの変動が挙動検出中止判定値Ｍａ内に収まっている限り（Ｓ４０４０で「ＹＥＳ」）は、許可フラグがセット状態（Ｓ４０５０）であり、パージ弁開閉時ＦＡＦ挙動検出処理（図７）はそのまま継続される。
【０１９３】
そして、パージ弁３０が全閉にされた場合（図７のＳ１１４０）、パージ弁３０が全閉になった直後に（Ｓ４０２０で「ＹＥＳ」）、次式１０に示すごとく、判定用記憶値ＫＬＣＨＫに対して、増加補正値ＫＬＰＲＧ分の増加補正がなされる（Ｓ４０３０）。
【０１９４】
【数１０】
ＫＬＣＨＫ  ←  ＫＬＣＨＫ  ＋  ＫＬＰＲＧ      …  ［式１０］
これは、ＩＳＣが行われているアイドル時にパージ弁開閉時ＦＡＦ挙動検出処理（図７）が行われているためになされる補正である。
【０１９５】
すなわち、パージ弁３０が全閉となると、ＩＳＣは、パージ弁３０から供給されていた分の吸入空気量をＩＳＣＶ５０ｂの開度を開けることによりエンジン２に供給し、エンジン２の回転数を維持しようとする。このためパージ弁３０が全閉とされる前後では、実際にはエンジン２へ供給される吸入空気量の変化が無いのにも関わらず、エアフローメータ１６を介して供給される空気量が増加する。したがって、ステップＳ４０４０の判定では負荷が増加したものとされてしまう。これを防止するため、増加補正値ＫＬＰＲＧ分の増加補正を判定用記憶値ＫＬＣＨＫに対して、パージ弁３０の全閉直後に１回行っている。
【０１９６】
このようにして判定用記憶値ＫＬＣＨＫの増加補正した後は、ステップＳ４０２０では「ＮＯ」と判定されるようになり、増加補正された判定用記憶値ＫＬＣＨＫにてステップＳ４０４０の判断が適切に行われる。
【０１９７】
そして、パージ弁３０が全閉となった状態でも、負荷ＫＬＳＭの変動が挙動検出中止判定値Ｍａ内に収まっていれば（Ｓ４０４０で「ＹＥＳ」）、パージ弁開閉時ＦＡＦ挙動検出の許可が継続する（Ｓ４０５０）。
【０１９８】
このような許可状態が継続して、パージ弁開閉時ＦＡＦ挙動検出処理（図７）が終了すれば、ＦＡＦ挙動検出の結果に基づいて、ベースＦＡＦ学習の許可フラグＸＰＧＲをセットするかリセットするかの判定がなされる（Ｓ１０６０〜Ｓ１０９４）。こうしてベース空燃比学習実行許諾判定処理（図５，６）を完遂させることができる。
【０１９９】
次に、負荷ＫＬＳＭの変動により、図２７のＦＡＦ挙動検出継続判定処理のステップＳ４０４０にて「ＮＯ」と判定された場合について説明する。このような状況は、例えば、図示していないエアコンがオンされたり、あるいはシフトチェンジがなされたりして、ＩＳＣによりＩＳＣＶ５０ｂの開度が変動した場合などに生じる。
【０２００】
このように実質的に負荷ＫＬＳＭに挙動検出中止判定値Ｍａ以上の変化が生じると（Ｓ４０４０で「ＮＯ」）、許可フラグをリセットすることでパージ弁開閉時ＦＡＦ挙動検出を禁止し（Ｓ４０６０）、ステップＳ４０７０にて最新の負荷ＫＬＳＭを判定用記憶値ＫＬＣＨＫに設定して一旦処理を終了する。
【０２０１】
このように許可フラグがリセットされると、直ちにベース空燃比学習実行許諾判定処理（図５，６）を中断し、図２８に示した中断処理を実行する。
本中断処理では、まず、現在のパージ率ＰＧＲの値が、ステップＳ１１００にて記憶したパージ弁全閉処理を開始する直前のパージ弁３０の開度ＰＧＲＯより小さいか否かが判定される（Ｓ５０１０）。ここで、ＰＧＲ＜ＰＧＲＯであれば（Ｓ５０１０で「ＹＥＳ」）、次に、現在のパージ率ＰＧＲに、漸増のために設定されている増加パージ率ΔＰＧＲＵ分増加した値が開度ＰＧＲＯ以上か否かが判定される（Ｓ５０２０）。ここで、ＰＧＲ＋ΔＰＧＲＵ＜ＰＧＲＯであれば（Ｓ５０２０で「ＮＯ」）、この「ＰＧＲ＋ΔＰＧＲＵ」の値がパージ率ＰＧＲ自身に設定される（Ｓ５０３０）。そして、次に、ステップＳ５０３０が実行されてから時間Δｔｕが経過したか否かが判定される（Ｓ５０４０）。時間Δｔｕが経過していなければ（Ｓ５０４０で「ＮＯ」）このままステップＳ５０４０の判定処理を繰り返す。すなわち、時間Δｔｕの時間待ちを行う。
【０２０２】
次に、時間Δｔｕが経過すれば（Ｓ５０４０で「ＹＥＳ」）、再度、ＰＧＲ＋ΔＰＧＲＵ≧ＰＧＲＯであるか否かが判定される（Ｓ５０２０）。ＰＧＲ＋ΔＰＧＲＵ＜ＰＧＲＯ（Ｓ５０２０で「ＮＯ」）である限り、ステップＳ５０３０，Ｓ５０４０が繰り返されて、ΔＰＧＲＵ／Δｔｕの速度で徐々にパージ率ＰＧＲは大きくなる。こうして増加するパージ率ＰＧＲはパージ弁駆動処理（図１８）によりデューティ制御されてパージ弁３０の開度に反映される。
【０２０３】
そして、ＰＧＲ＋ΔＰＧＲＵ≧ＰＧＲＯとなれば（Ｓ５０２０で「ＹＥＳ」）、パージ率ＰＧＲに開度ＰＧＲＯが設定される（Ｓ５０５０）。こうして、パージ弁３０がパージ弁開閉時ＦＡＦ挙動検出処理（図７）を開始する直前のパージ弁３０の開度に戻る。そして、ベース空燃比学習実行許諾判定処理（図５，６）を中断のまま終了する。すなわち、ステップＳ１０６０〜Ｓ１０９４（図６）の処理は実行せず、パージ弁開閉時ＦＡＦ挙動検出処理（図７）の結果に基づくベースＦＡＦ学習の許可フラグＸＰＧＲの設定処理は行わない。
【０２０４】
また、ＰＧＲ≧ＰＧＲＯであれば（Ｓ５０１０で「ＮＯ」）、次に、現在のパージ率ＰＧＲに、漸減のために設定されている減少パージ率ΔＰＧＲＤ分減少した値が開度ＰＧＲＯ以下か否かが判定される（Ｓ５０６０）。ここで、ＰＧＲ−ΔＰＧＲＤ＞ＰＧＲＯであれば（Ｓ５０６０で「ＮＯ」）、この「ＰＧＲ−ΔＰＧＲＤ」の値がパージ率ＰＧＲ自身に設定される（Ｓ５０７０）。そして、次に、ステップＳ５０７０が実行されてから時間Δｔｄが経過したか否かが判定される（Ｓ５０８０）。時間Δｔｄが経過していなければ（Ｓ５０８０で「ＮＯ」）このままステップＳ５０８０の判定処理を繰り返す。すなわち、時間Δｔｄの時間待ちを行う。
【０２０５】
次に、時間Δｔｄが経過すれば（Ｓ５０８０で「ＹＥＳ」）、再度、ＰＧＲ−ΔＰＧＲＤ≦ＰＧＲＯであるか否かが判定される（Ｓ５０６０）。ＰＧＲ−ΔＰＧＲＤ＞ＰＧＲＯ（Ｓ５０６０で「ＮＯ」）である限り、ステップＳ５０７０，Ｓ５０８０が繰り返されて、ΔＰＧＲＤ／Δｔｄの速度で徐々にパージ率ＰＧＲは小さくなる。こうして減少するパージ率ＰＧＲはパージ弁駆動処理（図１８）によりデューティ制御されてパージ弁３０の開度に反映される。
【０２０６】
そして、ＰＧＲ−ΔＰＧＲＤ≦ＰＧＲＯとなれば（Ｓ５０６０で「ＹＥＳ」）、パージ率ＰＧＲに開度ＰＧＲＯが設定される（Ｓ５０５０）。こうして、パージ弁３０がパージ弁開閉時ＦＡＦ挙動検出処理（図７）を開始する直前のパージ弁３０の開度に戻る。そして、ベース空燃比学習実行許諾判定処理（図５，６）を中断のまま一旦終了する。すなわち、前述したごとくステップＳ１０６０〜Ｓ１０９４（図６）の処理は実行せず、パージ弁開閉時ＦＡＦ挙動検出処理（図７）の結果に基づくベースＦＡＦ学習の許可フラグＸＰＧＲの設定処理は行わない。
【０２０７】
この間の負荷ＫＬＳＭ、パージ率ＰＧＲおよび空燃比フィードバック係数ＦＡＦの挙動の一例を図３０のタイミングチャートに示す。
ここでは、時刻Ｔ３１においてステップＳ１０１０〜Ｓ１０４４が満足されてパージ弁開閉時ＦＡＦ挙動検出処理（図７）を開始する。しかし、パージ弁３０を開いた状態でパージ時挙動検出値ＫＧＯを算出している段階で時刻Ｔ３２にてエアコンオン等により負荷ＫＬＳＭが増加すると、｜ＫＬＣＨＫ−ＫＬＳＭ｜≧Ｍａとなり（Ｓ４０４０で「ＮＯ」）、許可フラグがリセットされる（Ｓ４０６０）。このことによりベース空燃比学習実行許諾判定処理（図５，６）を中断し一旦終了する。そして、再度ステップＳ１０１０〜Ｓ１０４４の条件成立を待つ。
【０２０８】
時刻Ｔ３３にて再度ステップＳ１０１０〜Ｓ１０４４が満足されれば、再度パージ弁開閉時ＦＡＦ挙動検出処理（図７）を開始する。そして、ステップＳ１１００〜Ｓ１１３２の処理の間、負荷ＫＬＳＭに大きい変化が無く、｜ＫＬＣＨＫ−ＫＬＳＭ｜＜Ｍａが維持されることにより、パージ弁開閉時ＦＡＦ挙動検出処理（図７）ではパージ時挙動検出値ＫＧＯを求めることができる（Ｓ１１２０〜Ｓ１１３２）。
【０２０９】
次に時刻Ｔ３４にてパージ弁３０が全閉にされる（Ｓ１１４０）が、ＦＡＦ挙動検出継続判定処理（図２７）のステップＳ４０３０の処理により、判定用記憶値ＫＬＣＨＫが増加補正値ＫＬＰＲＧ分増加されることで、実質的に負荷ＫＬＳＭの変動が無ければ（Ｓ４０４０で「ＹＥＳ」）、このままパージ弁開閉時ＦＡＦ挙動検出処理（図７）が継続し、非パージ時挙動検出値ＫＧＣを求める処理（Ｓ１１５０，Ｓ１１６０）が継続する。
【０２１０】
非パージ時挙動検出値ＫＧＣを求める処理（Ｓ１１５０，Ｓ１１６０）中に、例えば、エアコンがオフになった場合、回転数を下げるためＩＳＣによりＩＳＣＶ５０ｂの開度が減少される。このことにより、時刻Ｔ３５において｜ＫＬＣＨＫ−ＫＬＳＭ｜≧Ｍａとなり（Ｓ４０４０で「ＮＯ」）、許可フラグがリセットされる（Ｓ４０６０）。するとベース空燃比学習実行許諾判定処理（図５，６）を中断して中断処理（図２８）を行う。この中断処理でパージ弁３０の開度を徐々に戻した後にベース空燃比学習実行許諾判定処理（図５，６）を一旦終了する。
【０２１１】
そして、再度ステップＳ１０１０〜Ｓ１０４４の条件成立を待ち、時刻Ｔ３６にて条件成立すると前述した処理を繰り返す。こうして、許可フラグがリセットされない内にパージ弁開閉時ＦＡＦ挙動検出処理（図７）が完了すれば、ベース空燃比学習実行許諾判定処理（図５，６）は完遂されることになる。
【０２１２】
上述した実施の形態４の構成では、図７のパージ弁開閉時ＦＡＦ挙動検出処理とともに、図２７のＦＡＦ挙動検出継続判定処理および図２８の中断処理も空燃比フィードバック係数挙動検出手段としての処理に相当する。
【０２１３】
以上説明した本実施の形態４によれば、以下の効果が得られる。
（イ）．前記実施の形態１の（イ）〜（リ）の効果を生じる。
（ロ）．燃料噴射弁１４の特性やエアフローメータ１６などの特性のずれ等に起因して、エアコンのオン・オフやシフトレンジ等のエンジン２の負荷状態によって空燃比のフィードバック中心が大きく異なる場合がある。このため、ある程度以上の負荷変動が生じた場合には、パージ弁開閉時ＦＡＦ挙動検出処理（図７）の検出精度が低下する。このため、エンジン２の負荷ＫＬＳＭの変化（｜ＫＬＣＨＫ−ＫＬＳＭ｜）が挙動検出中止判定値Ｍａより大きくなった場合に、ベース空燃比学習実行許諾判定処理（図５，６）を中止している。
【０２１４】
こうして、パージ弁開閉時ＦＡＦ挙動検出処理（図７）において一層精度の高い検出が可能となる。したがって、ベース空燃比学習実行許諾判定処理（図５，６）での不正確な判定が防止でき、より精度の高い学習値を設定することができる。
【０２１５】
（ハ）．パージ弁開閉時ＦＡＦ挙動検出処理（図７）においてパージ弁３０が開状態から全閉状態に移行した場合（Ｓ１１４０）には、ＩＳＣシステム５０は、パージ弁３０が閉じたことによる吸入空気量の低下分を補償するためにＩＳＣＶ５０ｂの開度を増加させる。このことにより、実質的には吸入空気量は変化していないのに、エアフローメータ１６により検出される吸入空気量は増加し、検出されるエンジン２の負荷が、見かけ上、増加する場合がある。
【０２１６】
このため本実施の形態４では、パージ弁３０の全閉直後では、負荷ＫＬＳＭの変化（｜ＫＬＣＨＫ−ＫＬＳＭ｜）と挙動検出中止判定値Ｍａとを比較するに際しては、判定用記憶値ＫＬＣＨＫを増加補正値ＫＬＰＲＧ分増加させている（Ｓ４０３０）。このことによりパージ弁３０を介して吸気流路８内に導入されていた気体分の負荷変動を相殺している。
【０２１７】
こうして、パージ弁開閉時ＦＡＦ挙動検出処理（図７）において、正確な検出ができる状況をより確実に判定でき、ＦＡＦの挙動検出の機会を増加させることができる。
【０２１８】
［実施の形態５］
本実施の形態５が前記実施の形態１と異なるのは、図３１に示したＫＧ学習許可取消判定処理が実行される点が異なる。本処理は、図２に示した空燃比制御処理、あるいは図１３に示したベース空燃比フィードバック係数学習処理と同じ周期で繰り返し実行されている処理である。
【０２１９】
これ以外の構成は基本的に前記実施の形態１と同じである。
ＫＧ学習許可取消判定処理が開始されると、まず、ベースＦＡＦ学習の許可フラグＸＰＧＲがセットされているか否かが判定される（Ｓ６０１０）。
【０２２０】
ＸＰＧＲ＝０（リセット）である場合には（Ｓ６０１０で「ＮＯ」）、現在の運転領域ｍに設定されている学習値減量カウンタＣＫＧＬ（ｍ）をクリアして（Ｓ６１２０）、一旦処理を終了する。ここで、運転領域ｍは、前記実施の形態１で述べた図１３のベース空燃比フィードバック係数学習処理における運転領域ｍと同じである。したがって、ベース空燃比フィードバック係数ＫＧ（ｍ）に対応して学習値減量カウンタＣＫＧＬ（ｍ）が設定されている。
【０２２１】
ＸＰＧＲ＝１（セット）である場合（Ｓ６０１０で「ＹＥＳ」）、ベース空燃比フィードバック係数学習処理により、現在領域ｍのベース空燃比フィードバック係数ＫＧ（ｍ）が更新されたか否かが判定される（Ｓ６０２０）。ＸＰＧＲ＝１である場合は、ベース空燃比フィードバック係数学習処理（図１３）が実行許可されている状態であり、このベース空燃比フィードバック係数学習処理のステップＳ４２０またはステップＳ４４０が実行されたか否かが判定される。
【０２２２】
ＫＧ（ｍ）が更新されていなければ（Ｓ６０２０で「ＮＯ」）、次に空燃比制御処理（図２）にて算出されている空燃比フィードバック係数ＦＡＦがパージ増加判定値γより小さいか否かが判定される（Ｓ６０９０）。パージ増加判定値γは予めマイナスの値に設定されている。
【０２２３】
もし空燃比フィードバック係数ＦＡＦがパージ増加判定値γより小さい場合には、吸入空気中の燃料濃度が急激に過大となったことを示している。このため、ベース空燃比フィードバック係数学習処理（図１３）による学習が行われると、ベース空燃比フィードバック係数ＫＧ（ｍ）にパージされた燃料濃度が影響して、誤学習を招く。
【０２２４】
したがって、ＦＡＦ＜γである場合には（Ｓ６０９０で「ＹＥＳ」）、ＸＰＧＲをリセットして（Ｓ６１００）、学習制御処理（図４）においてベース空燃比フィードバック係数学習処理（Ｓ３４０）が実行できないようにする。
【０２２５】
そして、前記実施の形態１にて説明した燃料蒸気存在量推定値ＰＧＲｔｎｋを規定増加量ΔＫ分増加させる処理が行われる（Ｓ６１１０）。このことにより、パージされた燃料濃度をベーパ存在量推定処理（図８）にて算出されている燃料蒸気存在量推定値ＰＧＲｔｎｋに反映させ、実際にパージされる気体中の燃料蒸気濃度に近い値にすることができる。そして次に、学習値減量カウンタＣＫＧＬ（ｍ）をクリアして（Ｓ６１２０）、一旦処理を終了する。
【０２２６】
また、ステップＳ６０９０にてＦＡＦ≧γである場合には（Ｓ６０９０で「ＮＯ」）、このまま本ＫＧ学習許可取消判定処理を一旦終了する。
次に、ステップＳ６０２０にてＫＧ（ｍ）が更新されたと判定された場合（Ｓ６０２０で「ＹＥＳ」）、次にこのＫＧ（ｍ）の更新が減量側、すなわちＫＧ（ｍ）が小さくなる方向への更新か否かが判定される（Ｓ６０３０）。減量側の更新であれば（Ｓ６０３０で「ＹＥＳ」）、学習値減量カウンタＣＫＧＬ（ｍ）をインクリメントする（Ｓ６０４０）。
【０２２７】
また、ＫＧ（ｍ）の更新が増量側、すなわちＫＧ（ｍ）が大きくなる方向への更新であれば（Ｓ６０３０で「ＮＯ」）、学習値減量カウンタＣＫＧＬ（ｍ）をデクリメントする（Ｓ６０５０）。そして、学習値減量カウンタＣＫＧＬ（ｍ）が０より小さいか否かが判定され（Ｓ６０６０）、ＣＫＧＬ（ｍ）＜０であれば（Ｓ６０６０で「ＹＥＳ」）、学習値減量カウンタＣＫＧＬ（ｍ）をゼロクリアする（Ｓ６０７０）。このことにより学習値減量カウンタＣＫＧＬ（ｍ）がマイナスとならないようにガードをかける。
【０２２８】
ステップＳ６０４０またはステップＳ６０７０の後、あるいはステップＳ６０６０にて「ＮＯ」と判定された場合は、次に学習値減量カウンタＣＫＧＬ（ｍ）が減量回数判定値Ｃａより大きいか否かが判定される（Ｓ６０８０）。
【０２２９】
この減量回数判定値Ｃａは、パージされる燃料濃度がＫＧ（ｍ）の更新に与える影響を調べるものである。このため、この減量回数判定値Ｃａより学習値減量カウンタＣＫＧＬ（ｍ）の値が大きくなれば、ベース空燃比フィードバック係数ＫＧ（ｍ）にパージされた燃料濃度が影響し始めていることが判明する。
【０２３０】
したがって、ＣＫＧＬ（ｍ）＞Ｃａである場合には（Ｓ６０８０で「ＹＥＳ」）、ＸＰＧＲをリセットして（Ｓ６１００）、学習制御処理（図４）においてベース空燃比フィードバック係数学習処理（Ｓ３４０：図１３）が実行できないようにする。そして、燃料蒸気存在量推定値ＰＧＲｔｎｋを規定増加量ΔＫ分増加させ（Ｓ６１１０）、学習値減量カウンタＣＫＧＬ（ｍ）をクリアして（Ｓ６１２０）、一旦処理を終了する。
【０２３１】
また、ＣＫＧＬ（ｍ）≦Ｃａであれば（Ｓ６０８０で「ＮＯ」）、次に前述したステップＳ６０９０を実行する。ステップＳ６０９０の判定結果に応じた処理については前述したごとくである。
【０２３２】
ここで、具体的処理の一例として図３２にタイミングチャートを示す。
時刻Ｔ４０にて、ベース空燃比学習実行許諾判定処理（図６）にてベースＦＡＦ学習の許可フラグＸＰＧＲがセット（Ｓ１０７０）され、学習条件も満足されているとする。この時、学習制御処理（図４）においてステップＳ３２０，Ｓ３３０にて共に「ＹＥＳ」と判定されて、ベース空燃比フィードバック係数学習処理（図１３）が実行される。
【０２３３】
このことにより、その時点の運転領域ｍに該当するベース空燃比フィードバック係数ＫＧ（ｍ）の学習が開始される。したがって空燃比フィードバック係数ＦＡＦの変動に応じてＫＧ（ｍ）が増減する。このＫＧ（ｍ）の増減に対して、逆方向に対応して、ＣＫＧＬ（ｍ）も加減算（Ｓ６０４０，Ｓ６０５０）されて増減する（Ｔ４０〜Ｔ４１）。ただし、ＣＫＧＬ（ｍ）はマイナスにはならない（Ｓ６０６０，Ｓ６０７０）ので、ＣＫＧＬ（ｍ）＝０となった（Ｔ４１）後は、ＫＧ（ｍ）が増量しても（Ｔ４２）、ＣＫＧＬ（ｍ）＝０に維持される。
【０２３４】
そして、ＫＧ（ｍ）の減量頻度が高くなって減量回数判定値Ｃａを越えると（Ｔ４３）、許可フラグＸＰＧＲがリセット（Ｓ６１００）される。このことにより、学習制御処理（図４）にてはベース空燃比フィードバック係数学習処理（Ｓ３４０）が停止されるので、ＫＧ（ｍ）の更新は停止する。更に、ステップＳ６１１０の実行の後、ステップＳ６１２０が実行されてＣＫＧＬ（ｍ）は０に戻る。
【０２３５】
以後はパージ濃度学習処理（図１４）が起動され、パージ濃度学習値ＦＧＰＧによる学習となる。そして、パージ弁開閉時ＦＡＦ挙動検出処理（図７）の開始、およびステップＳ１０７０（図６）にて許可フラグＸＰＧＲがセットされるまでＫＧ（ｍ）の更新はなされず、ＣＫＧＬ（ｍ）の値は０に維持される。
【０２３６】
また、パージされる燃料蒸発量が急激に増加した場合の一例を図３３のタイミングチャートに示す。
ベースＦＡＦ学習の許可フラグＸＰＧＲがセットされている状況にて、時刻Ｔ５１にパージされる燃料蒸発量の急増が有り、急激に空燃比フィードバック係数ＦＡＦが減少した場合、ステップＳ６０９０にてＦＡＦ＜γと判定される。このことにより、許可フラグＸＰＧＲがリセット（Ｓ６１００）される。このため学習制御処理（図４）にてはベース空燃比フィードバック係数学習処理（Ｓ３４０）が停止されるので、ＫＧ（ｍ）の更新は停止する。
【０２３７】
そして、許可フラグＸＰＧＲがリセットされたことにより、学習制御処理（図４）のステップＳ３２０にて「ＮＯ」とされて、パージ濃度学習処理（図１４）が起動される。したがって、時刻Ｔ５１以後はＦＡＦの減少分は、パージ濃度学習値ＦＧＰＧにより学習され、ＦＧＰＧの値は減量側へ更新され、ＦＡＦは０を中心とする位置に復帰する。
【０２３８】
上述した構成において、ステップＳ６０１０〜Ｓ６０９０の処理がパージ増加検出手段としての処理に相当し、ステップＳ６１００の処理が学習許可取消手段としての処理に相当する。
【０２３９】
以上説明した本実施の形態５によれば、以下の効果が得られる。
（イ）．前記実施の形態１の（イ）〜（リ）の効果を生じる。
（ロ）．ベース空燃比学習実行許諾判定処理（図５，６）ではパージされる燃料蒸発量が稀薄であれば、ＦＡＦの学習によりＫＧ（ｍ）の更新を許可している。しかし、一旦、パージされる燃料蒸発量が稀薄であると判定された後に、燃料タンク１８に対して大きな加速度が加わったりして、パージされる燃料蒸発量が急に濃厚となる場合も考えられる。
【０２４０】
このような場合は、ベース空燃比学習実行許諾判定処理（図５，６）の処理にて直ちに許可フラグＸＰＧＲをリセットして対応することは困難である。このため、ベース空燃比フィードバック係数学習処理（図１３）においては、パージされた燃料蒸発量により誤学習がなされ、異常に小さい値がＫＧ（ｍ）に設定されるおそれがある。
【０２４１】
これを防止するため、本実施の形態５では、ＫＧ（ｍ）の更新による変化の内、減量側への更新回数（ただし増量側への更新により相殺されている）が、減量回数判定値Ｃａより大きくなった場合（Ｓ６０８０で「ＹＥＳ」）には、パージされた燃料蒸発量により誤学習が開始されつつあるとして、ＫＧ（ｍ）の更新を停止している。
【０２４２】
このことにより、ベース空燃比フィードバック係数ＫＧ（ｍ）の正確な学習値を維持できるようになり、パージ弁３０の開度が変化したり、運転領域ｍが変化しても、空燃比の乱れを防止することができる。
【０２４３】
（ハ）．また、ＫＧ（ｍ）の更新に十分に現れる前に、パージされる燃料蒸発量が急激に増加した場合には、空燃比フィードバック係数ＦＡＦにて捉えることにより、ＫＧ（ｍ）の更新を停止している。
【０２４４】
このことにより、パージされる燃料蒸発量の急増の事態においても、ベース空燃比フィードバック係数ＫＧ（ｍ）の正確な学習値を維持できるようになり、パージ弁３０の開度が変化したり、運転領域ｍが変化しても、空燃比の乱れを防止することができる。
【０２４５】
［その他の実施の形態］
・前記実施の形態１において、ステップＳ１２１０にては、冷却水温度ＴＨＷに応じて初期値ｔ＿ＰＧＲｓｔを求めたが、これ以外に、エンジン２の存在する大気の温度や大気圧等の燃料タンク１８内に蓄積されている燃料蒸気の最大量が推定できる因子に基づいて初期値ｔ＿ＰＧＲｓｔを求めてもよい。
【０２４６】
・前記実施の形態１において、ステップＳ１２２０にて第１発生量ｔ＿ＰＧＲａは吸入空気温度ＴＨＡに応じて設定したが、燃料温度を検出するセンサを燃料タンク１８に設けた場合には、直接、燃料温度に応じて第１発生量ｔ＿ＰＧＲａを求めてもよく、一層正確な第１発生量ｔ＿ＰＧＲａが得られる。
【０２４７】
・前記実施の形態１では、ステップＳ１０７０にてベース空燃比フィードバック係数学習の許可フラグＸＰＧＲがセットされる条件は、ステップＳ１０１０〜Ｓ１０４４，Ｓ１０６０が全て満足される必要があったが、これ以外に、ステップＳ１０１０のみの条件でもよいし、ステップＳ１０３０〜Ｓ１０４４，Ｓ１０６０のみの条件でもよい。
【０２４８】
・これ以外に、次式１１を満足する場合に許可フラグＸＰＧＲをセットしてもよい。
【０２４９】
【数１１】
ＫＧＯ  ＋  ＦＰＧ  −  ＫＧＣ  ≧  ＰＧＲ  ＋  Ｈ０    …  ［式１１］
・前述の実施の形態１では、図７のパージ弁開閉時空燃比フィードバック係数挙動検出処理にて、図１３のベース空燃比フィードバック係数学習処理のルーチンを利用して、空燃比フィードバック係数ＦＡＦの挙動を調べたが、これ以外に、空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭを、パージ弁３０の開時と閉時とで比較してもよい。また、図１３のベース空燃比フィードバック係数学習処理のルーチン等の既に存在する処理を利用せずに、パージ弁開閉時における空燃比フィードバック係数の挙動を検出するために特別に設定した処理を利用してもよい。
【０２５０】
・第２発生量ｔ＿ＰＧＲｓを求めるのに、車速信号から得られる車速の変化量の絶対値｜△ＳＰＤ｜に基づいてテーブル（図１１）から求めたが、これ以外に燃料タンク１８等に振動センサを設けて、振動の程度に応じて、第２発生量ｔ＿ＰＧＲｓを求めてもよい。
【０２５１】
・ステップＳ１０９４にて許可フラグＸＰＧＲをリセットするための条件として、ステップＳ１０９０にて、燃料蒸気存在量推定値ＰＧＲｔｎｋ≧濃厚判定基準値Ｑ０か否かを判定したが、この代わりに、ステップＳ１０１０で用いられている希薄判定基準値Ｍ０を用いて、ＰＧＲｔｎｋ＞Ｍ０か否かを判定してもよい。
【０２５２】
・前記実施の形態４，５では、パージ弁３０を全閉にする処理（Ｓ１１４０）では直ちに全閉にしたが、これ以外に、実施の形態２，３と同様に、図３０に二点鎖線にて示したごとく徐々に閉じるようにしてもよい。
【０２５３】
・前記実施の形態５ではＫＧ（ｍ）の減量側への更新限界を、更新回数で判断した（Ｓ６０８０）が、ベース空燃比フィードバック係数学習処理（図１３）の２つの更新処理（Ｓ４２０，Ｓ４４０）の更新量が異なる場合は、直接、減量側への更新量の累積値にて判断してもよい。
【０２５４】
以上、本発明の実施の形態について説明したが、本発明の実施の形態には、特許請求の範囲に記載した技術的事項以外に次のような各種の技術的事項の実施形態を有するものであることを付記しておく。
【０２５５】
（１）．前記燃料蒸気量推定手段は、前記燃料蒸気の発生量を、内燃機関の吸入空気の温度に応じて求めることを特徴とする請求項１または３記載の内燃機関の空燃比制御装置。
【０２５６】
（２）．前記燃料蒸気量推定手段は、前記燃料蒸気のパージ量を、吸気に対するパージ率と吸入空気量とから得られるパージ流量に応じて求めることを特徴とする請求項１または３記載の内燃機関の空燃比制御装置。
【０２５７】
（３）．請求項１〜１４のいずれか記載の内燃機関の空燃比制御装置の各手段としてコンピュータシステムを機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【０２５８】
【発明の効果】
請求項１の内燃機関の空燃比制御装置は、燃料蒸気量推定手段が、燃料タンク内の燃料蒸気の存在量を、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から推定する。このように、パージされる燃料蒸気の濃度を、空燃比フィードバック係数の学習から得るのではなく、直接的に、燃料タンク内での燃料蒸気の発生量と燃料蒸気のパージ量との収支から燃料タンク内の燃料蒸気の存在量を推定している。そして、この燃料タンク内の燃料蒸気の存在量が小さいと推定されれば、ほぼ確実に、燃料タンクから流出する燃料蒸気の濃度が薄いと判断できるので、学習制御手段がベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可し、濃度学習手段による蒸発燃料の濃度の学習を禁止している。逆に、燃料タンク内の燃料蒸気の存在量が大きいと推定されれば、燃料タンクから流出する燃料蒸気の濃度が濃くなる可能性が高いので、学習制御手段がベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を禁止し、濃度学習手段による蒸発燃料の濃度の学習を許可している。このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。更に、このことにより、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。
さらに、前記燃料蒸気量推定手段が、燃料蒸気の発生量を、燃料タンク内の温度および燃料タンクに与えられる速度変化に応じて求めることにより、一層正確に燃料蒸気の発生量を求めることができる。
【０２５９】
請求項２の内燃機関の空燃比制御装置は、空燃比フィードバック係数挙動検出手段が、パージ弁の開状態と閉状態とで、それぞれ空燃比フィードバック制御手段にて演算される空燃比フィードバック係数の挙動を検出している。この２つの状態における挙動は、両者を比較すれば、パージされる燃料蒸気の濃度の程度が判明する。したがって、学習制御手段は、パージ弁の開閉状態の各場合の空燃比フィードバック係数の挙動に基づき、パージされる燃料蒸気量が希薄であると判断される場合に、ベース空燃比フィードバック係数の学習を許可するとともに蒸発燃料の濃度の学習を禁止している。また、パージされる燃料蒸気量が希薄でないと判断される場合に、ベース空燃比フィードバック係数の学習を禁止するとともに蒸発燃料の濃度の学習を許可している。このように、パージ弁を開閉処理することにより、パージがなされている状態とパージを無くした状態とを実現して、パージされる燃料蒸気の濃度の濃い薄いを正確に判断することができ、確実にパージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数の再学習を行わせることができるようになる。このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。なお、パージ弁を閉じる期間が存在するが、従来技術と異なり、単に空燃比フィードバック係数のレベルを検出するのみであり、この間にベース空燃比フィードバック係数の学習そのものを行っているのではないことから、パージ弁の閉状態は短期間でよくなり、パージを制限するほどのことはない。
さらに、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じることにより前記空燃比フィードバック係数の挙動を検出するに際して、前記パージ弁を徐々に閉じることとしている。このように空燃比フィードバック係数挙動検出手段は、パージ弁を徐々に閉じることにより空燃比の急激な変化を抑制している。したがって学習値の誤設定が存在したとしても、空燃比フィードバック制御手段が演算する空燃比フィードバック係数の増加により、パージ弁を閉じる際に十分に適切な空燃比を維持できるようにしている。このため、空燃比フィードバック係数の挙動検出時においても、内燃機関の回転安定性を損なうことが防止される。
請求項３記載の内燃機関の空燃比制御装置においては、請求項２記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止することとしている。パージ弁を閉じる際に、空燃比フィードバック係数が増加し続けている場合がある。このような場合は、前記請求項２にて述べた学習値の誤設定により、空燃比フィードバック制御手段が演算する空燃比フィードバック係数の増加では空燃比を適切に維持することが困難となっている可能性が高いと見ることができる。このため、空燃比フィードバック係数に対して、燃料濃度を濃くする側に設定されている濃厚側判定値を設定し、この濃厚側判定値より濃い側へ空燃比フィードバック係数が変化したか否かを検出している。このような変化があった場合には、パージ弁を閉じるのを停止またはパージ弁を開いて、パージ弁を閉じた状態における空燃比フィードバック係数の挙動検出を中止している。このことにより、請求項２の効果と共に、不適切な空燃比が実現されるのを未然に防止でき、内燃機関の回転安定性を維持することができる。
【０２６０】
請求項４の内燃機関の空燃比制御装置は、前記請求項１と前記請求項２、３との構成が採用されていることで、学習制御手段は、燃料蒸気の存在量が希薄判定基準値よりも小さく、かつ２つの空燃比フィードバック係数の挙動に基づいてパージされる燃料蒸気量が希薄であると判断される場合に、ベース空燃比フィードバック係数の学習を許可するとともに蒸発燃料の濃度の学習を禁止し、燃料蒸気の存在量が希薄判定基準値よりも大きい、あるいは２つの空燃比フィードバック係数の挙動に基づいてパージされる燃料蒸気量が希薄でないと判断される場合に、ベース空燃比フィードバック係数の学習を禁止するとともに蒸発燃料の濃度の学習を許可している。このように、二重のチェックにてベース空燃比フィードバック係数の学習を許可するようにしているので、確実にパージされる燃料蒸気が薄い時あるいはほとんど燃料蒸気が存在しない時に、ベース空燃比フィードバック係数の再学習を行わせることができるようになる。このことにより適切な状態でのベース空燃比フィードバック係数の再学習が可能になり、誤学習がなされていたとしても適切な学習値に戻すことができるようになる。また、ベース空燃比フィードバック係数の学習値が正確な値に維持できることから、濃度学習手段による蒸発燃料の濃度の学習も正確に行われるようになる。更に、燃料蒸気量推定手段にて推定される燃料蒸気の存在量の判定を先にして、この燃料蒸気の存在量が希薄判定基準値よりも小さい場合に、空燃比フィードバック係数挙動検出手段を起動し、得られた２つの挙動の判定を行うようにすれば、パージ弁を閉じる期間が存在しても、実質的にパージの機会を奪うことにはならないので好ましい。
【０２６１】
請求項５の内燃機関の空燃比制御装置においては、請求項４記載の構成に対して、前記燃料蒸気量推定手段が、前記燃料蒸気の発生量を、前記燃料タンク内の温度に応じて求める。燃料蒸気圧は温度に比例していることから、燃料蒸気の発生量を求める具体的な例として、燃料タンク内の温度に応じて求める手法を挙げることができる。なお、燃料タンク内の温度は、直接検出してもよいが、例えば、内燃機関への吸入空気の温度は燃料タンク内の燃料温度にほぼ比例しているので、吸入空気の温度を用いてもよい。この場合、内燃機関が吸入空気温度センサを他の制御にて設けていた場合には、付加する設備が少なくなり、製造コストの低減に寄与する。
【０２６３】
請求項７の内燃機関の空燃比制御装置は、請求項１、５または６記載の構成に対して、前記燃料蒸気量推定手段が、燃料蒸気の発生量を、燃料タンク内の温度や速度変化に加えて、大気圧も加味することにより、一層正確に燃料蒸気の発生量を求めることができる。
【０２６４】
なお、上述した内燃機関の空燃比制御装置において、前記燃料蒸気量推定手段は、例えば、前記燃料蒸気のパージ量を、吸気に対するパージ率と吸気量とに応じて求めることとしてもよい。吸気に対するパージ率および吸気量に基づけば、実際に燃料タンク側からパージされる流量が求められる。このことにより、例えば、通常、燃料タンク内に存在する平均的な燃料蒸気濃度を用いることで燃料蒸気のパージ量が求められる。また、平均的な燃料蒸気濃度の内でも、内燃機関の運転条件により最も低い濃度を用いた場合は、パージされる燃料は最低限のものとして計算することとなるので、燃料蒸気量推定手段にて推定された燃料タンク内の燃料蒸気の存在量が少なければ、パージされる燃料蒸気の濃度は確実に薄いものであることが判断できる。
【０２６７】
請求項１０記載の内燃機関の空燃比制御装置においては、請求項４記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を閉じる際に、前記空燃比フィードバック係数が、燃料濃度を濃くする側に設定されている濃厚側判定値より濃い側へ変化した場合に、前記パージ弁を閉じるのを停止または前記パージ弁を開いて、前記パージ弁を閉じた状態における前記空燃比フィードバック係数の挙動の検出を中止するとともに、前記燃料蒸気量推定手段にて推定される燃料蒸気の存在量を増加補正することとしている。このようにパージ弁を閉じるのを停止またはパージ弁を開いて、パージ弁を閉じた状態における空燃比フィードバック係数の挙動の検出を中止する処理に加えて、更に燃料蒸気量推定手段にて推定される燃料蒸気の存在量を増加補正している。濃厚側判定値より濃くなるような空燃比フィードバック係数の変化は、燃料タンク内の燃料蒸気の存在量が、燃料蒸気量推定手段にて推定される量よりも多いことを推定させるものである。このため、燃料蒸気の存在量を増加補正している。このように燃料蒸気の存在量を増加補正すると、請求項４の効果に加えて、より適切な値が燃料蒸気の存在量に設定されることになり、学習制御手段における燃料蒸気の存在量に対する判定が一層正確なものとなる。
【０２６８】
請求項１１記載の内燃機関の空燃比制御装置においては、請求項２〜４、８〜１０のいずれか記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、空燃比フィードバック係数の挙動検出中に、内燃機関の負荷の変化が挙動検出中止判定値より大きくなった場合に、空燃比フィードバック係数の挙動検出を中止することとしている。例えば、燃料噴射弁特性やエアフロメータなどの特性のずれ等により、内燃機関負荷状態（例えば、エアコンのオン・オフ）によって空燃比のフィードバック中心が大きく異なる場合がある。したがって、ある程度以上の負荷変動が生じた場合には、空燃比フィードバック係数挙動検出の精度が低下するおそれがある。このため、内燃機関の負荷の変化が挙動検出中止判定値より大きくなった場合に、空燃比フィードバック係数の挙動検出を中止している。こうして、請求項２〜４、８〜１０のいずれかの効果と共に、空燃比フィードバック係数挙動検出手段における不正確な検出を防止できるので、学習制御手段での不正確な判定を防止でき、異常な学習値の設定を防止できる。
【０２６９】
請求項１２記載の内燃機関の空燃比制御装置においては、請求項１１記載の構成に対して、前記空燃比フィードバック係数挙動検出手段は、前記パージ弁を開状態から閉状態に移行した場合は、内燃機関の負荷の変化と前記挙動検出中止判定値とを比較するに際しては、前記パージ弁を介して吸気管内に導入されていた気体に対応する内燃機関の負荷変動を相殺した状態で行うこととしている。パージ弁が開状態から閉状態に移行した場合には、内燃機関の回転数を自動的に制御している場合などでは、パージ弁が閉じたことによる吸入空気量の低下分を補償するために吸入空気量を増加させる。このため実質的には吸入空気量は増加していないのに、内燃機関の負荷が増加したと検知される場合がある。このため、本請求項１２では、内燃機関の負荷の変化と挙動検出中止判定値とを比較するに際しては、パージ弁を介して吸気管内に導入されていた気体に対応する内燃機関の負荷変動を相殺した状態で行っている。こうして、請求項１１の効果と共に、空燃比フィードバック係数挙動検出手段において正確な検出ができる状況をより確実に判定でき、空燃比フィードバック係数の挙動検出の機会を増加させることができる。
【０２７０】
請求項１３記載の内燃機関の空燃比制御装置は、請求項１〜１２記載の内燃機関の空燃比制御装置の構成に加えて、前記学習制御手段により前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習が許可されている状態にて、吸気管内にパージされる蒸発燃料の増加を検出するパージ増加検出手段と、前記パージ増加検出手段にて検出された前記パージ蒸発燃料の増加が、許可取り消し判定値より大きい場合は、前記学習制御手段により許可された前記ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習許可を取り消す学習許可取消手段とを備えている。パージされる燃料蒸発量が稀薄であれば、学習制御手段は、ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を許可している。しかし、その後、燃料タンクに対して大きな加速度が加わったりして、パージされる燃料蒸発量が急に濃厚となる場合も考えられる。このような場合は、ベース空燃比フィードバック係数学習手段によるベース空燃比フィードバック係数の学習を継続すると正確な学習値が得られなくなるおそれがある。このため、本請求項１３では、パージ増加検出手段にて検出されたパージ蒸発燃料の増加が、許可取り消し判定値より大きい場合は、学習許可取消手段は、学習制御手段により許可されたベース空燃比フィードバック係数の学習許可を取り消すこととしている。このことにより、請求項１〜１２の効果に加えて、ベース空燃比フィードバック係数の一層正確な学習値を維持できるようになる。
【０２７１】
請求項１４記載の内燃機関の空燃比制御装置においては、請求項１３記載の構成に対して、前記パージ増加検出手段は、前記ベース空燃比フィードバック係数学習手段により学習されるベース空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出する。ベース空燃比フィードバック係数の学習中におけるパージ蒸発燃料の増加は、ベース空燃比フィードバック係数の変化に基づいて検出することができる。このことにより、請求項１３の効果に加えて、容易に吸気管内にパージされる蒸発燃料の増加を検出することができ、ベース空燃比フィードバック係数自身の一層正確な学習が可能となる。
【０２７２】
請求項１５記載の内燃機関の空燃比制御装置においては、請求項１３記載の構成に対して、前記パージ増加検出手段は、前記空燃比フィードバック制御手段で演算される空燃比フィードバック係数の変化に基づいて、吸気管内にパージされる蒸発燃料の増加を検出する。ベース空燃比フィードバック係数の学習中におけるパージ蒸発燃料の増加は、空燃比フィードバック係数の変化に基づいて検出することができる。このことにより、請求項１３の作用効果に加えて、容易に吸気管内にパージされる蒸発燃料の増加、特に急激な増加を検出することができ、ベース空燃比フィードバック係数の一層正確な学習が可能となる。
【図面の簡単な説明】
【図１】  実施の形態１としての内燃機関の空燃比制御装置の概略構成を表すブロック図。
【図２】  実施の形態１のＥＣＵにより実行される空燃比制御処理を示すフローチャート。
【図３】  実施の形態１のＥＣＵにより実行される空燃比フィードバック係数ＦＡＦのなまし値ＦＡＦＳＭおよび空燃比フィードバック係数ＦＡＦの平均値ＦＡＦＡＶの演算処理のフローチャート。
【図４】  実施の形態１のＥＣＵにより実行される学習制御処理のフローチャート。
【図５】  実施の形態１のＥＣＵにより実行されるベース空燃比学習実行許諾判定処理のフローチャート。
【図６】  実施の形態１のＥＣＵにより実行されるベース空燃比学習実行許諾判定処理のフローチャート。
【図７】  実施の形態１のＥＣＵにより実行されるパージ弁開閉時空燃比フィードバック係数挙動検出処理のフローチャート。
【図８】  実施の形態１のＥＣＵにより実行されるベーパ存在量推定処理のフローチャート。
【図９】  前記ベーパ存在量推定処理にて用いられる燃料蒸気存在量推定値の初期値ｔ＿ＰＧＲｓｔと冷却水温度ＴＨＷとの関係を表すテーブル説明図。
【図１０】  前記ベーパ存在量推定処理にて用いられる第１発生量ｔ＿ＰＧＲａと吸入空気温度ＴＨＡとの関係を表すテーブル説明図。
【図１１】  前記ベーパ存在量推定処理にて用いられる第２発生量ｔ＿ＰＧＲｓと車速の変化量の絶対値｜△ＳＰＤ｜との関係を表すテーブル説明図。
【図１２】  前記ベーパ存在量推定処理にて用いられる推定パージ量ｔ＿ＰＧＲｏとパージ流量ＰＧＲｆｒとの関係を表すテーブル説明図。
【図１３】  実施の形態１のＥＣＵにより実行されるベース空燃比フィードバック係数学習処理のフローチャート。
【図１４】  実施の形態１のＥＣＵにより実行されるパージ濃度学習処理のフローチャート。
【図１５】  実施の形態１のＥＣＵにより実行されるパージ率制御処理のフローチャート。
【図１６】  実施の形態１のＥＣＵにより実行されるパージ率演算処理のフローチャート。
【図１７】  前記パージ率演算処理にて行われる領域判定の説明図。
【図１８】  実施の形態１のＥＣＵにより実行されるパージ弁駆動処理のフローチャート。
【図１９】  前記パージ弁駆動処理にて用いられるパージ弁全開時パージ率ＰＧＲ100を、吸入空気流量ＧＡとエンジン回転数ＮＥとから決定するマップ説明図。
【図２０】  実施の形態１のＥＣＵにより実行される燃料噴射処理のフローチャート。
【図２１】  実施の形態２におけるパージ弁全閉処理のフローチャート。
【図２２】  実施の形態２の制御によるパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を示すタイミングチャート。
【図２３】  実施の形態３におけるパージ弁全閉処理のフローチャート。
【図２４】  実施の形態３における中断処理のフローチャート。
【図２５】  実施の形態３の制御によるパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を示すタイミングチャート。
【図２６】  実施の形態３の制御によるパージ率ＰＧＲと空燃比フィードバック係数ＦＡＦとの挙動を示すタイミングチャート。
【図２７】  実施の形態４におけるＦＡＦ挙動検出継続判定処理のフローチャート。
【図２８】  実施の形態４における中断処理のフローチャート。
【図２９】  実施の形態４におけるＩＳＣシステムの構成説明図。
【図３０】  実施の形態４の制御による許可フラグ、負荷ＫＬＳＭ、パージ率ＰＧＲおよび空燃比フィードバック係数ＦＡＦの挙動を示すタイミングチャート。
【図３１】  実施の形態５におけるＫＧ学習許可取消判定処理のフローチャート。
【図３２】  実施の形態５の制御によるベース空燃比フィードバック係数ＫＧ（ｍ）および学習値減量カウンタＣＫＧＬ（ｍ）の挙動を示すタイミングチャート。
【図３３】  実施の形態５の制御によるベース空燃比フィードバック係数ＫＧ（ｍ）、パージ濃度学習値ＦＧＰＧおよびパージ増加判定値γの挙動を示すタイミングチャート。
【符号の説明】
２…エンジン、４…気筒、６…吸気弁、８…吸気流路、８ａ…スロットルバルブ、１０…排気弁、１２…排気流路、１４…燃料噴射弁、１６…エアフローメータ、１８…燃料タンク、２０…燃料ポンプ、２２…燃料配管、２４…ベーパ配管、２６…キャニスタ、２８…パージ配管、３０…パージ弁、３２…空燃比センサ、３４…電子制御ユニット（ＥＣＵ）、３６…バス、３８…ＣＰＵ、４０…メモリ、４２…入力インターフェイス、４４…出力インターフェイス、５０…ＩＳＣシステム、５０ａ…吸気バイパス経路、５０ｂ…ＩＳＣＶ。
【図１】
0003671727.tif 000002
【図２】
0003671727.tif 000003
【図３】
0003671727.tif 000004
【図４】
0003671727.tif 000005
【図５】
0003671727.tif 000006
【図６】
0003671727.tif 000007
【図７】
0003671727.tif 000008
【図８】
0003671727.tif 000009
【図９】
0003671727.tif 000010
【図１０】
0003671727.tif 000011
【図１１】
0003671727.tif 000012
【図１２】
0003671727.tif 000013
【図１３】
0003671727.tif 000014
【図１４】
0003671727.tif 000015
【図１５】
0003671727.tif 000016
【図１６】
0003671727.tif 000017
【図１７】
0003671727.tif 000018
【図１８】
0003671727.tif 000019
【図１９】
0003671727.tif 000020
【図２０】
0003671727.tif 000021
【図２１】
0003671727.tif 000022
【図２２】
0003671727.tif 000023
【図２３】
0003671727.tif 000024
【図２４】
0003671727.tif 000025
【図２５】
0003671727.tif 000026
【図２６】
0003671727.tif 000027
【図２７】
0003671727.tif 000028
【図２８】
0003671727.tif 000029
【図２９】
0003671727.tif 000030
【図３０】
0003671727.tif 000031
【図３１】
0003671727.tif 000032
【図３２】
0003671727.tif 000033
【図３３】
0003671727.tif 000034