(57)【要約】    【課題】  コスト上昇を招くことなく、燃料供給系におけるベーパロックをより確実に防止することができる燃料ポンプの制御装置を提供する．    【解決手段】  検出される大気圧ＰＡが所定圧ＰＡＦＰＣＨＩ以下であるとき（Ｓ６０）、検出される大気圧ＰＡの機関始動時からの低下量ＤＰＡＦＰＣが所定変化量ＤＰＡＦＰＣＨより大きいとき（Ｓ６１）、または蒸発燃料処理装置から機関に供給されるパージガス中の蒸発燃料濃度を示す蒸発燃料濃度パラメータＶＰＲＴＴＬが所定値ＶＰＲＦＰＣＨＩより大きいとき（Ｓ６２）は、ベーパロックが発生し易いと判定し、燃料ポンプ１０を大流量モードで駆動する（Ｓ６７）。【選択図】  図５
2007126986.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内で発生する蒸発燃料を含む混合気を供給する蒸発燃料処理装置を備えた内燃機関の燃料噴射弁に、前記燃料タンクから燃料を圧送する燃料ポンプの制御装置において、
前記蒸発燃料処理装置から前記機関に供給される混合気中の蒸発燃料濃度を推定する蒸発燃料濃度推定手段と、
該蒸発燃料濃度推定手段により推定される蒸発燃料濃度が所定濃度より高いとときに、前記燃料ポンプを通常より速い回転速度で駆動する燃料ポンプ駆動手段とを備えることを特徴とする燃料ポンプの制御装置。
【請求項２】
燃料タンク内の燃料を内燃機関の燃料噴射弁に圧送する燃料ポンプの制御装置において、
大気圧を検出する大気圧検出手段と、
検出される大気圧が所定圧力より低いとき、または検出される大気圧の低下量が所定量より大きいときに、前記燃料ポンプを通常より速い回転速度で駆動する燃料ポンプ駆動手段とを備えることを特徴とする燃料ポンプの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料タンク内の燃料を内燃機関の燃料噴射弁に圧送する燃料ポンプの制御装置に関する。
【背景技術】
【０００２】
特許文献１には、燃料タンク内の燃料温度（第１の燃料温度）及び燃料噴射弁に近い燃料系路中の燃料温度（第２の燃料温度）を検出し、検出される第１及び第２の燃料温度の差が所定値以上であるとき、燃料ポンプを通常制御時より高速で駆動するようにした制御装置が示されている。
【０００３】
【特許文献１】実公平１−３９９００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の装置は、第１及び第２の燃料温度の差が大きいときは、燃料通路が燃料蒸気によって閉塞されるベーパロックが発生し易いことに着目して考案されたものである。
しかしながら、上記従来の装置では、温度センサが２個必要となり、コストの上昇を招く。また上記従来の装置では、大気圧の低下に起因するベーパロックは考慮されていない。
【０００５】
本発明は上述した点を考慮してなされたものであり、コスト上昇を招くことなく、燃料供給系におけるベーパロックをより確実に防止することができる燃料ポンプの制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため請求項１に記載の発明は、燃料タンク（９））内で発生する蒸発燃料を含む混合気を供給する蒸発燃料処理装置（３１〜３３）を備えた内燃機関（１）の燃料噴射弁（６）に、前記燃料タンク（９）から燃料を圧送する燃料ポンプ（１０）の制御装置において、前記蒸発燃料処理装置（３１〜３３）から前記機関（１）に供給される混合気中の蒸発燃料濃度（ＶＰＲＴＴＬ）を推定する蒸発燃料濃度推定手段と、該蒸発燃料濃度推定手段により推定される蒸発燃料濃度（ＶＰＲＴＴＬ）が所定濃度（ＶＰＲＦＰＣＨＩ）より高いときに、前記燃料ポンプ（１０）を通常より速い回転速度で駆動する燃料ポンプ駆動手段とを備えることを特徴とする。
【０００７】
前記蒸発燃料濃度推定手段は、前記機関の排気系（２０）に設けられた空燃比検出手段（１９）により検出される空燃比が目標空燃比と一致するように設定される空燃比補正係数（ＫＡＦ）に基づいて前記蒸発燃料濃度（ＶＰＲＴＴＬ）の推定を行うことが望ましい。
【０００８】
請求項２に記載の発明は、燃料タンク内の燃料を内燃機関の燃料噴射弁に圧送する燃料ポンプの制御装置において、大気圧（ＰＡ）を検出する大気圧検出手段と、検出される大気圧（ＰＡ）が所定圧力（ＰＡＦＰＣＨＩ）より低いとき、または検出される大気圧の低下量（ＤＰＡＦＰＣ）が所定量（ＤＰＡＦＰＣＨ）より大きいときに、前記燃料ポンプ（１０）を通常より速い回転速度で駆動する燃料ポンプ駆動手段とを備えることを特徴とする。
【０００９】
前記燃料ポンプ（１０）は、第１の回転速度及び該第１の回転速度より高い第２の回転速度で駆動可能に構成されており、前記ポンプ駆動手段は、推定される蒸発燃料濃度が所定濃度より高いとき、検出される大気圧が所定圧力より低いとき、または検出される大気圧の低下量が所定量より大きいときに、前記第２の回転速度で前記燃料ポンプ（１０）を駆動することが望ましい。
【発明の効果】
【００１０】
請求項１に記載の発明によれば、蒸発燃料処理装置から機関に供給される混合気中の蒸発燃料濃度が推定され、推定された蒸発燃料濃度が所定濃度より高いときに、燃料ポンプが通常より速い回転速度で駆動される。蒸発燃料濃度の推定は、通常の空燃比制御において行われるため、温度センサあるいは蒸発燃料濃度センサのような新たな構成要素を設けることなく、ベーパロックが発生し易い状態を検知し、ベーパロックを確実に防止することができる。
【００１１】
請求項２に記載の発明によれば、検出される大気圧が所定圧力より低いとき、または検出される大気圧の低下量が所定量より大きいときに、燃料ポンプが通常より速い回転速度で駆動される。したがって、機関により駆動される車両が高地を走行しているとき、あるいは車両が低地から高地へ移動したときにおいて、燃料供給系におけるベーパロックを確実に防止することができる。
【発明を実施するための最良の形態】
【００１２】
以下本発明の実施の形態を図面を参照して説明する。
図１は本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。同図において、内燃機関（以下単に「エンジン」という）１は例えば４気筒を有し、エンジン１の吸気管２の途中にはスロットル弁３が配されている。また、スロットル弁３にはスロットル弁開度センサ４が連結されており、当該スロットル弁３の開度に応じた電気信号を出力して電子制御ユニット（以下（ＥＣＵ）という）５に供給する。
【００１３】
燃料噴射弁６は、吸気管２の途中であってエンジン１とスロットル弁３との間の図示しない吸気弁の少し上流側に各気筒毎に設けられている。また、各燃料噴射弁６は燃料供給管７を介して密閉構造の燃料タンク９内に設けられた燃料ポンプユニット１１に接続されている。燃料供給管７にはパルセーションダンパ８が設けられている。燃料ポンプユニット１１は、燃料ポンプ１０と、燃料ストレーナ（図示せず）と、参照圧力を大気圧あるいはタンク内圧としたプレッシャーレギュレータ（図示せず）とが一体に構成されたものである。ＥＣＵ５は、駆動回路１２を介して燃料ポンプ１０と接続されており、燃料ポンプ１０の駆動制御（回転速度制御）を行う。
【００１４】
燃料噴射弁６はＥＣＵ５に電気的に接続され、該ＥＣＵ５からの信号によりその開弁時間が制御される。吸気管２のスロットル弁３の下流側には吸気管内絶対圧ＰＢＡを検出する吸気管内絶対圧（ＰＢＡ）センサ１３、及び吸気温ＴＡを検出する吸気温（ＴＡ）センサ１４が装着されている。
【００１５】
エンジン１の図示しないカム軸周囲又はクランク軸周囲には、エンジン回転数を検出するエンジン回転数（ＮＥ）センサ１７が取付けられている。エンジン回転数センサ１７はエンジン１のクランク軸の１８０度回転毎に所定のクランク角度位置でパルス（ＴＤＣ信号パルス）を出力する。エンジン１の冷却水温ＴＷを検出するエンジン冷却水温センサ１８がエンジン本体に装着されている。またエンジン１の排気中の酸素濃度を検出する酸素濃度センサ（以下「ＬＡＦセンサ」という）１９が排気管２０に設けれられている。上記センサ１３，１４，１７〜１９の検出信号はＥＣＵ５に供給される。
ＥＣＵ５にはさらに、大気圧ＰＡを検出する大気圧センサ２２及びエンジン１により駆動される車両の走行速度（車速）ＶＰを検出する車速センサ２３が接続されており、これらのセンサの検出信号がＥＣＵ５に供給される。
【００１６】
燃料タンク９には、チャージ通路３１を介してキャニスタ３３が接続され、キャニスタ３３は、吸気管２のスロットル弁３の下流側にパージ通路３２を介して接続されている。キャニスタ３３は、燃料タンク９内の蒸発燃料を吸着するための活性炭を内蔵し、空気通路（図示せず）を介して大気に連通可能となっている。パージ通路３２のキャニスタ３３と吸気管２との間には、パージ制御弁３４が設けられている。パージ制御弁３４は、その制御信号のオン−オフデューティ比（制御弁の開度）を変更することにより流量を連続的に制御することができるように構成された電磁弁であり、その作動はＥＣＵ５により制御される。
チャージ通路３１、パージ通路３２、キャニスタ３３及びパージ制御弁３４により蒸発燃料処理装置が構成される。
【００１７】
ＥＣＵ５は各種センサ等からの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理回路（以下「ＣＰＵ」という）、ＣＰＵで実行される演算プログラム及び演算結果等を記憶する記憶回路、及び燃料噴射弁６、燃料ポンプ１０の駆動回路１２、パージ制御弁３４などに駆動信号を供給する出力回路から構成される。
【００１８】
ＥＣＵ５のＣＰＵは、エンジン回転数センサ１７、吸気管内絶対圧センサ１３、エンジン冷却水温センサ１８などの各種センサの出力信号に応じてエンジン１に供給する燃料量制御、パージ制御弁３４のデューティ制御等を行う。
ＥＣＵ５のＣＰＵは、燃料噴射弁６の開弁時間ＴＯＵＴを、下記式（１）により算出する。
ＴＯＵＴ＝ＴＩＭ×ＫＡＦ×Ｋ１＋Ｋ２                      （１）
【００１９】
ＴＩＭは基本燃料量、具体的には燃料噴射弁６の基本燃料噴射時間であり、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたＴＩマップを検索して決定される。ＴＩマップは、エンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに対応する運転状態において、エンジンに供給する混合気の空燃比がほぼ理論空燃比になるように設定されている。すなわち、基本燃料量ＴＩＭは、１ＴＤＣ期間（隣り合うＴＤＣパルスの時間間隔）当たりのエンジン１の吸入空気量（質量流量）にほぼ比例する値を有する。
【００２０】
ＫＡＦは、ＬＡＦセンサ１９の出力に応じて設定される空燃比補正係数である。空燃比補正係数ＫＡＦは、酸素濃度センサ１９により検出される空燃比が目標空燃比と一致するように設定される。
またＫ１及びＫ２は夫々各種エンジンパラメータ信号に応じて演算される他の補正係数および補正変数であり、エンジン運転状態に応じた燃費特性、エンジン加速特性等の諸特性の最適化が図れるような所定値に設定される。
【００２１】
またＥＣＵ５のＣＰＵは、イグニッションスイッチがオンされた状態でも、所定エンジン停止条件が満たされるとエンジン１を停止させ（アイドル停止を行い）、所定再始動条件が満たされるとエンジン１を再始動させる自動停止始動制御を実行する。
【００２２】
ＥＣＵ５のＣＰＵは、さらに以下に説明するように燃料ポンプ１０の駆動制御を行う。図２は、燃料ポンプ１０のモータ１０ａの駆動回路を示すブロック図であり、ＥＣＵ５からデューティ制御信号ＤＦＰが出力され、駆動回路１２に供給される。駆動回路１２には、イグニッションスイッチがオンされるとバッテリの出力電圧ＶＢが供給される。ＥＣＵ５は、モータ１０ａを停止させるときは、デューティ比ＤＵＴＹが０％のデューティ制御信号ＤＦＰを出力し、小流量モードで作動させるときは、デューティ比ＤＵＴＹが小流量制御値ＤＵＴＬ（例えば６６％）のデューティ制御信号ＤＦＰを出力し、大流量モードで作動させるときは、デューティ比ＤＵＴＹが大流量制御値ＤＵＴＨ（例えば１００％）のデューティ制御信号ＤＦＰを出力する。駆動回路１２は、入力されるデューティ制御信号ＤＦＰのデューティ比ＤＵＴＹに応じて、例えば０Ｖ（０％）、１０．７５Ｖ（６６％）及びバッテリＶＢ（１００％）に等しい駆動電圧ＶＭを出力する。これにより、燃料ポンプ１０の回転速度を、停止を含めて３段階に切り換える制御が行われる。
【００２３】
図３及び図４は、燃料ポンプ１０の流量制御（回転速度制御）を行う処理のフローチャートである。この処理はＥＣＵ５のＣＰＵで所定時間（例えば２００ミリ秒）毎に実行される。
ステップＳ１１では、図５に示すＦＦＰＣＨＩＲＱ設定処理を実行する。ＦＦＰＣＨＩＲＱ設定処理では、本処理のステップＳ２０で参照される大流量要求フラグＦＦＰＣＨＩＲＱが、車速ＶＰ、大気圧ＰＡ、及び蒸発燃料処理装置から吸気管２に供給される蒸発燃料を含む混合気（以下「パージガス」という）中の蒸発燃料濃度を示す蒸発燃料濃度パラメータＶＰＲＴＴＬに応じて設定される。
【００２４】
ステップＳ１８では、図６の処理で設定されるフェールセーフ処理フラグ（以下「ＦＳＡフラグ」という）ＦＦＳＰＦＰＣＺＮが「１」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、アップカウントタイマＴＩＳＦＰＣの値を「０」に設定し（ステップＳ２１）、流量制御パラメータＦＰＣＺＮを「３」に設定する（ステップＳ３７）。流量制御パラメータＦＰＣＺＮが「３」に設定されると、燃料ポンプ１０の作動モードが大流量モードとなるように燃料ポンプ１０の駆動制御信号のデューティ比ＤＵＴＹが大流量制御値ＤＵＴＨに設定される。
【００２５】
ステップＳ１８でＦＦＳＰＦＰＣＺＮ＝０であるときは、アップカウントタイマＴ０１ＩＧＰＯＮの値が所定時間ＴＭＩＧＯＮＦＰＣ（例えば２秒）より小さいか否かを判別する（ステップＳ１９）。アップカウントタイマＴ０１ＩＧＰＯＮは、イグニッションスイッチがオンされた時点からの時間を計測するタイマである。ステップＳ１９の答が肯定（ＹＥＳ）、すなわちイグニッションスイッチオン後所定時間ＴＭＩＧＯＮＦＰＣ経過前は、前記ステップＳ２１に進む。したがって、デューティ比ＤＵＴＹは大流量制御値ＤＵＴＨに設定される。
【００２６】
ステップＳ１９でＴ０１ＩＧＰＯＮＦＰＣ≧ＴＭＩＧＯＮＦＰＣであるときは、ステップＳ１１で設定される大流量要求フラグＦＦＰＣＨＩＲＱが「１」であるか否かを判別する（ステップＳ２０）。ＦＦＰＣＨＩＲＱ＝１であって、大流量モードが要求されているときは、前記ステップＳ２１に進む。一方大流量要求フラグＦＦＰＣＨＩＲＱが「０」であるときは、ステップＳ２２（図４）に進み、エンジン停止フラグＦＭＥＯＦが「１」であるか否かを判別する。エンジン停止フラグＦＭＥＯＦは、イグニッションスイッチがオンされた状態でエンジンが停止したとき「１」に設定される。ステップＳ２２の答が否定（ＮＯ）であって、エンジンが作動しているときは、アップカウントタイマＴＩＳＦＰＣの値を「０」に設定し（ステップＳ２３）、フュエルカットフラグＦＭＡＤＥＣＦＣが「１」であるか否かを判別する（ステップＳ２４）。フュエルカットフラグＦＭＡＤＥＣＦＣは、フュエルカット（燃料供給遮断）運転を行うとき「１」に設定される。
【００２７】
ステップＳ２４の答が否定（ＮＯ）であって、通常運転中であるときは、車速ＶＰが第１所定車速ＶＦＰＯＦＦＬ（例えば１０ｋｍ／ｈ）より高いか否かを判別する（ステップＳ２７）。この答が肯定（ＹＥＳ）であるときは、空調クラッチフラグＦＡＣＣＬが「１」であるか否かを判別する（ステップＳ２９）。空調クラッチフラグＦＡＣＣＬは、空調装置を駆動するクラッチが係合しているとき「１」に設定される。ステップＳ２９の答が否定（ＮＯ）であるときは、エンジン回転数ＮＥが所定回転数ＮＥＦＰＯＦＦ（例えば３０００ｒｐｍ）より高いか否かを判別する（ステップＳ３０）。
【００２８】
ステップＳ３０の答が否定（ＮＯ）であるときは、ダウンカウントタイマＴＦＰＯＦＦを第１所定時間ＴＭＦＰＯＦＦ（例えば０．５秒）にセットしてスタートさせる（ステップＳ３２）。一方ステップＳ２７の答が否定（ＮＯ）またはステップＳ２９またはＳ３０の答が肯定（ＹＥＳ）であるときは、ダウンカウントタイマＴＦＰＯＦＦを第１所定時間ＴＭＦＰＯＦＦより長い第２所定時間ＴＭＦＰＯＦＦ２（例えば２５秒）にセットしてスタートさせる（ステップＳ３１）。ダウンカウントタイマＴＦＰＯＦＦは、ステップＳ２６で参照される。
【００２９】
ステップＳ３１またはＳ３２実行後は、ステップＳ３３に進み、アップカウントタイマＴ１ＳＡＳＴの値が所定時間ＴＭＡＳＴＦＰＣ（例えば１秒）以上であるか否かを判別する。アップカウントタイマＴ１ＳＡＳＴは、エンジン１の始動完了時点からの経過時間を計測するタイマである。ステップＳ３３の答が肯定（ＹＥＳ）であるときは、アップカウントタイマＴＡＣＲＦＰＣの値が所定時間ＴＭＡＣＲＦＰＣ（例えば２秒）以上であるか否かを判別する（ステップＳ３４）。アップカウントタイマＴＡＣＲＦＰＣは、エンジン１が停止しているとき、ステップＳ３８で「０」に設定され、再始動後の経過時間を計測するタイマである。ステップＳ３４の答が肯定（ＹＥＳ）であるときは、単位時間当たりの燃料噴射量（燃料噴射時間）を示す噴射量パラメータＮＴＩが所定量ＮＴＩＦＰＣＨ（例えば２８ｓｅｃ／ｍｉｎ）以上であるか否かを判別する。
【００３０】
ステップＳ３５の答が否定（ＮＯ）であるときは、流量制御パラメータＦＰＣＺＮを「２」に設定する（ステップＳ３６）。一方、ステップＳ３３若しくはＳ３４の答が否定（ＮＯ）、またはステップＳ３５の答が肯定（ＹＥＳ）であるときは、流量制御パラメータＦＰＣＺＮを「３」に設定する（ステップＳ３７）。
【００３１】
ステップＳ２４でＦＭＡＤＥＣＦＣ＝１であってフュエルカット運転中であるときは、車速ＶＰが第１所定車速ＶＦＰＯＦＦＬより高い第２所定車速ＶＦＰＯＦＦＨ（例えば１２０ｋｍ／ｈ）より低いか否かを判別する（ステップＳ２５）。この答が否定（ＮＯ）であるときは、前記ステップＳ３２に進み、肯定（ＹＥＳ）であるときは、ステップＳ３１またはＳ３２でスタートされるダウンカウントタイマＴＦＰＯＦＦの値が「０」であるか否かを判別する（ステップＳ２６）。最初はこの答は否定（ＮＯ）となるので、前記ステップＳ３３に進み、ＴＦＰＯＦＦ＝０となると、流量制御パラメータＦＰＣＺＮを「０」に設定する。流量制御パラメータＦＰＣＺＮが「０」に設定されると、燃料ポンプ１０の制御デューティ比ＤＵＴＹが「０」に設定され、燃料ポンプ１０の作動が停止される。
【００３２】
また前記ステップＳ２２でＦＭＥＯＦ＝１であってエンジン停止中であるときは、アップカウントタイマＴＡＣＲＦＰＣの値を「０」に設定する（ステップＳ３８）とともに、アップカウントタイマＴＩＳＦＰＣの値を「０」に設定し（ステップＳ４０）、流量制御パラメータＦＰＣＺＮを「０」に設定する（ステップＳ４３）。
【００３３】
図５は、図３のステップＳ１１で実行されるＦＦＰＣＨＩＲＱ設定処理のフローチャートである。
ステップＳ５１では、初期化フラグＦＰＡＩＮＩＦＰＣが「１」であるか否かを判別する。最初（エンジン始動直後）はこの答が否定（ＮＯ）であるので、ステップＳ５２に進み、その時点の検出大気圧ＰＡを、初期大気圧ＰＡＩＮＩＦＰＣとして記憶する。ステップＳ５３では、初期化フラグＦＰＡＩＮＩＦＰＣを「１」に設定し、ステップＳ５４に進む。ステップＳ５３を実行すると、その後はステップＳ５１の答が肯定（ＹＥＳ）となるので、ステップＳ５１からステップＳ５４に進む。
【００３４】
ステップＳ５４では、下記式（２）により初期大気圧ＰＡＩＮＩＦＰＣからの低下量を示す大気圧変化量ＤＰＡＦＰＣを算出する。
ＤＰＡＦＰＣ＝ＰＡＩＮＩＦＰＣ−ＰＡ                      （２）
ステップＳ５５では、始動フラグＦＦＥＮＧＳＴが「１」であるか否かを判別する。始動フラグＦＦＥＮＧＳＴは、イグニッションスイッチがオフからオンされてエンジンの始動が開始されたとき「１」に設定され、始動が完了すると「０」に戻される。ステップＳ５５で始動フラグＦＦＥＮＧＳＴが「１」であって、エンジン１の始動中であるときは、エンジン冷却水温ＴＷに応じてＴＭＦＰＣＨＩテーブルを検索し、保持時間ＴＭＦＰＣＨＩを算出する（ステップＳ５６）。ＴＭＦＰＣＨＩテーブルは、エンジン冷却水温ＴＷが高くなるほど、保持時間ＴＭＦＰＣＨＩが長くなるように設定されている。エンジン始動時は、蒸発燃料濃度パラメータＶＰＲＴＴＬが「０」に設定され、その後の空燃比補正係数ＫＡＦの値に応じて更新され、徐々に実際の蒸発燃料濃度を示す値に収束していく。エンジン冷却水温ＴＷが高くなるほど、パージガス中の蒸発燃料濃度が高くなるため、蒸発燃料濃度パラメータＶＰＲＴＴＬが正確に実際の蒸発燃料濃度を示す値となるまでに要する時間が長くなる。したがって、エンジン始動直後において、燃料ポンプ１０を大流量モードに保持する時間である保持時間ＴＭＦＰＣＨＩは、エンジン冷却水温ＴＷが高くなるほど長く設定される。
【００３５】
ステップＳ５７では、ダウンカウントタイマＴＦＰＣＨＩを保持時間ＴＭＦＰＣＨＩにセットしてスタートさせ、ステップＳ５８に進む。ステップＳ５５でＦＦＥＮＧＳＴ＝０であるときは、直ちにステップＳ５８に進む。
ステップＳ５８では、ステップＳ５７でスタートしたタイマＴＦＰＣＨＩの値が「０」であるか否かを判別する。この答が肯定（ＹＥＳ）であるときは、車速ＶＰが所定車速ＶＦＰＣＮＶ（例えば５ｋｍ／ｈ）以上であるか否かを判別する（ステップＳ５９）。この答が否定（ＮＯ）であるときは、大気圧ＰＡが所定圧ＰＡＦＰＣＨＩ（例えば７３ｋＰａ（５５０ｍＨｇ））以下であるか否かを判別する（ステップＳ６０）。
【００３６】
ステップＳ５８の答が否定（ＮＯ）またはステップＳ５９若しくはＳ６０の答が肯定（ＹＥＳ）であるとき、すなわちアイドル停止後の再始動直後であるとき、高車速であるとき、または高地走行中であるときは、大流量要求フラグＦＦＰＣＨＩＲＱを「１」に設定し、燃料ポンプ１０を大流量モードで作動させる（ステップＳ６７）。
【００３７】
ステップＳ６０でＰＡ＞ＰＡＦＰＣＨＩであるときは、ステップＳ５４で算出した大気圧変化量ＤＰＡＦＰＣが所定変化量ＤＰＡＦＰＣＨ（例えば３．３ｋＰａ（２５ｍｍＨｇ））より大きいか否かを判別する（ステップＳ６１）。この答が否定（ＮＯ）であるときは、キャニスタ３３から供給されるパージガス中の蒸発燃料濃度を示す蒸発燃料濃度パラメータＶＰＲＴＴＬが所定値ＶＰＲＦＰＣＨＩ（例えば１８倍）より大きいか否かを判別する（ステップＳ６２）。
【００３８】
ステップＳ６１またはＳ６２の答が肯定（ＹＥＳ）、すなわちエンジン始動地点より高地へ移動し、大気圧の低下量が大きいときまたはパージガス中の蒸発燃料濃度が高いときは、ダウンカウントタイマＴＦＰＣＭＩＤを所定時間ＴＭＦＰＣＭＩＤ（例えば４３０秒）にセットしてスタートさせ、前記ステップＳ６７に進む。
【００３９】
ステップＳ６２の答が否定（ＮＯ）であるときは、ステップＳ６４でスタートされるタイマＴＦＰＣＭＩＤの値が「０」であるか否かを判別する（ステップＳ６５）。ＴＦＰＣＭＩＤ＞０である間は、前記ステップＳ６７に進み、大流量モード要求を維持する。タイマＴＦＰＣＭＩＤの値が「０」となると、ステップＳ６５からステップＳ６６に進み、大流量要求フラグＦＦＰＣＨＩＲＱを「０」に設定する。
【００４０】
図５の処理によれば、アイドル停止後の再始動直後は、パージガス中の蒸発燃料濃度の推定（蒸発燃料濃度パラメータＶＰＲＴＴＬの算出）や大気圧の低下量に基づく減圧沸騰効果の推定を正確に行うことができないので、エンジン冷却水温ＴＷに応じた保持時間ＴＭＦＰＣＨＩだけ大流量モードが継続される。また高地（ＰＡ≦ＰＡＦＰＣＨＩ、ＤＰＡＦＰＣ＞ＤＰＡＦＰＣＨ）では、減圧沸騰効果でベーパロックが発生し易く、また燃料タンクでの蒸発燃料の発生量が大きいとき（ＶＰＲＴＴＬ＞ＶＰＲＦＰＣＨＩ）も、ベーパロックが発生し易いことから、燃料ポンプ１０が大流量モードで駆動される。これにより、ベーパロック、ひいてはそれに起因する空燃比のリーン化や不必要な警告表示を防止するとともに、アイドル時のエンジン回転の安定性を向上させることができる。さらに高車速時（ＶＰ≧ＶＦＰＣＮＶ）は、走行騒音で燃料ポンプ１０の作動音が気にならないため、燃料ポンプ１０が大流量モードで駆動され、空燃比のリーン化が防止される。
【００４１】
また、上記以外の場合には、燃料ポンプ１０が大流量モードで駆動されないので、例えばアイドル停止状態で燃料ポンプ１０の作動音が車両の乗員に不快感を与えることを防止することができる。
【００４２】
図６は、図３のステップＳ１８で参照されるＦＳＡフラグＦＦＳＰＦＰＣＺＮの設定を行う処理のフローチャートである。本処理は、ＥＣＵ５のＣＰＵで所定時間毎に実行される。
ステップＳ７１では吸気管内絶対圧センサ１３の故障が検出されているか否かを判別し、その答が否定（ＮＯ）であるときは、エンジン回転数センサ１７の故障が検出されているか否かを判別する（ステップＳ７２）。ステップＳ７２の答が否定（ＮＯ）であるときは、エンジン冷却水温センサ１８の故障が検出されているか否かを判別し（ステップＳ７３）、その答が否定（ＮＯ）であるときは、大気圧センサ２２の故障が検出されているか否かを判別する（ステップＳ７４）。ステップＳ７４の答が否定（ＮＯ）であるときは、車速センサ２３の故障が検出されているか否かを判別し（ステップＳ７５）、その答が否定（ＮＯ）であるときは、蒸発燃料処理装置の故障が検出されているか否かを判別する（ステップＳ７６）。ステップＳ７６の答が否定（ＮＯ）であるときは、燃料ポンプ１０の駆動回路１２の故障が検出されているか否かを判別する（ステップＳ７７）。
【００４３】
ステップＳ７７の答が否定（ＮＯ）であるときは、ＦＳＡフラグＦＦＳＰＦＰＣＺＮを「０」に設定する一方（ステップＳ７８）、ステップＳ７１〜Ｓ７７の何れかの答が肯定（ＹＥＳ）であるときは、ＦＳＡフラグＦＦＳＰＦＰＣＺＮを「１」に設定する（ステップＳ７９）。これにより、上記各種センサ、蒸発燃料処理装置、または駆動回路１２の故障が検出されているときは、燃料ポンプ１０が大流量モードで駆動され（図３、ステップＳ１８，図４、ステップＳ３７）、センサ等の故障によるベーパロックの発生、ひいてはアイドル回転数の不安定化を防止することができる。
【００４４】
次に図７〜図１０を参照して蒸発燃料濃度パラメータＶＰＲＴＴＬの算出処理を説明する。蒸発燃料濃度パラメータＶＰＲＴＴＬは、ＬＡＦセンサ１９の出力に応じて算出される空燃比補正係数ＫＡＦの学習値ＫＲＥＦ及びＫＲＥＦＸに応じて算出される。
【００４５】
図７は、空燃比補正係数ＫＡＦの学習値ＫＲＥＦ及びＫＲＥＦＸを算出する処理のフローチャートである。この処理は、ＬＡＦセンサ１９の出力に応じた空燃比フィードバック制御の実行中に、ＴＤＣパルスの発生に同期して実行される。なおこの処理では、蒸発燃料のパージ（吸気管２への供給）実行中に第１学習値ＫＲＥＦが算出され、パージ停止中に第２学習値ＫＲＥＦＸが算出される。
【００４６】
ステップＳ１３１では、パージ停止フラグＦＰＧＤＬＹが「１」であるか否かを判別する。パージ停止フラグＦＰＧＤＬＹは、第２学習値ＫＲＥＦＸを算出するために蒸発燃料のパージを停止するとき「１」に設定される。
ＦＰＧＤＬＹ＝０であってパージ停止中でないときは、学習許可フラグＦＫＲＦＣＮＤが「１」であるか否かを判別する（ステップＳ１３２）。学習許可フラグＦＫＲＦＣＮＤは、学習値ＫＲＥＦまたはＫＲＥＦＸの算出を許可するエンジン運転状態にあるとき「１」に設定される。ＦＫＲＦＣＮＤ＝１であるときは、下記式（３）により、第１学習値ＫＲＥＦを算出する（ステップＳ１３３）。
ＫＲＥＦ＝ＣＲＥＦ×ＫＡＦ＋（１−ＣＲＥＦ）×ＫＲＥＦ        （３）
ここでＣＲＥＦは、０から１の間の値に設定されるなまし係数であり、右辺のＫＲＥＦは、前回算出値である。
【００４７】
ステップＳ１３４では、ステップＳ１３３で算出される第１学習値ＫＲＥＦのリミット処理を行う。すなわち、第１学習値ＫＲＥＦが所定下限値ＫＲＥＦＬＭＴＬより小さいときは、第１学習値ＫＲＥＦをその所定下限値ＫＲＥＦＬＭＴＬに設定し、第１学習値ＫＲＥＦが所定上限値ＫＲＥＦＬＭＴＨより大きいときは、第１学習値ＫＲＥＦをその所定上限値ＫＲＥＦＬＭＴＨに設定し、第１学習値ＫＲＥＦが所定上下限値ＫＲＥＦＬＭＴＨ，ＫＲＥＦＬＭＴＬの間にあるときは、ステップＳ３３で算出された値を維持する。その後、ＫＲＥＦＸ更新フラグＦＫＲＥＦＸを「０」に設定し（ステップＳ１４２）、本処理を終了する。
【００４８】
ステップＳ１３１でＦＰＧＤＬＹ＝１であってパージ停止中であるときは、エンジン回転数ＮＥが所定上限回転数ＮＫＲＥＦＸＨ（例えば４０００ｒｐｍ）より高いか否かを判別する（ステップＳ１３５）。この答が肯定（ＹＥＳ）であるときは前記ステップＳ１４２に進む。エンジン回転数ＮＥが所定上限回転数ＮＫＲＥＦＸＨ以下であるときは、始動後経過時間タイマＴ１０ＭＳＡＣＲの値が所定時間ＴＭＫＲＥＦＸＢ（例えば２０秒）より大きいか否かを判別する（ステップＳ１３６）。この答が否定（ＮＯ）であるときは直ちにステップＳ１３８に進む。またＴ１０ＭＳＡＣＲ＞ＴＭＫＲＥＦＸＢであるときは、ＫＲＥＦＸ学習済みフラグＦＫＲＥＦＸＢＵが「１」であるか否かを判別する（ステップＳ１３７）。ＫＲＥＦＸ学習済みフラグＦＫＲＥＦＸＢＵは、バッテリが外されて、それまでの学習値が失われた後、最初に第２学習値ＫＲＥＦＸの算出が完了したとき「１」に設定される。ステップＳ１３７の答が否定（ＮＯ）であって、第２学習値ＫＲＥＦＸの算出が完了していないときは、直ちにステップＳ１４１に進む。ＦＫＲＥＦＸＢＵ＝１であって第２学習値ＫＲＥＦＸの算出が完了したときは、ステップＳ１３８に進む。
【００４９】
ステップＳ１３８では、吸気温ＴＡが所定吸気温ＴＡＲＥＦ（例えば８０℃）より高いか否かを判別する。この答が否定（ＮＯ）であるときは、吸気管内絶対圧ＰＢＡが所定下限値ＰＢＡＲＥＦＸＬ（例えば２１．３ｋＰａ（１６０ｍｍＨｇ））より高いか否かを判別する（ステップＳ１３９）。この答が肯定（ＹＥＳ）であるときは、吸気管内絶対圧ＰＢＡが所定上限値ＰＢＡＲＥＦＸＨ（例えば７４．６ｋＰａ（５６０ｍｍＨｇ））より低いか否かを判別する（ステップＳ１４０）。ステップＳ１４０の答が肯定（ＹＥＳ）であるときは、ステップＳ１４１に進む一方、ステップＳ１３８の答が肯定（ＹＥＳ）、またはステップＳ１３９若しくはＳ１４０の答が否定（ＮＯ）であるときは、前記ステップＳ１４２に進む。
【００５０】
ステップＳ１４１では、学習許可フラグＦＫＲＦＣＮＤが「１」であるか否かを判別し、この答が否定（ＮＯ）であるときは前記ステップＳ１４２に進む。ＦＫＲＦＣＮＤ＝１であって学習値算出が許可されているときは、下記式（４）により、第２学習値ＫＲＥＦＸを算出する。
ＫＲＥＦＸ＝ＣＲＥＦＸ×ＫＡＦ＋（１−ＣＲＥＦＸ）×ＫＲＥＦＸ  （４）
ここでＣＲＥＦＸは０から１の間の値に設定されるなまし係数であり、右辺のＫＲＥＦＸは前回算出値である。
【００５１】
ステップＳ１４４では、ステップＳ１４３で算出された第２学習値ＫＲＥＦＸのリミット処理を行う。すなわち、第２学習値ＫＲＥＦＸが所定下限値ＫＲＦＸＬＭＴＬより小さいときは、第２学習値ＫＲＥＦＸをその所定下限値ＫＲＦＸＬＭＴＬに設定し、第２学習値ＫＲＥＦＸが所定上限値ＫＲＦＸＬＭＴＨより大きいときは、第２学習値ＫＲＥＦＸをその所定上限値ＫＲＦＸＬＭＴＨに設定し、第２学習値ＫＲＥＦＸが所定上下限値ＫＲＦＸＬＭＴＨ，ＫＲＦＸＬＭＴＬの間にあるときは、ステップＳ１４３で算出された値を維持する。その後、ＫＲＥＦＸ更新フラグＦＫＲＥＦＸを「１」に設定し（ステップＳ１４５）、本処理を終了する。
【００５２】
図８は、後述する図１０の処理で参照されるフラグの設定を行う処理のフローチャートである。この処理は所定時間（例えば１０ミリ秒）毎に実行される。図８の処理では、具体的には、加算フラグＦＫＡＦＥＶＰ、減算フラグＦＫＡＦＥＶＭ、及び偏差算出フラグＫＡＦＥＶＣの設定が行われる。
【００５３】
ステップＳ１７１では、吸入空気流量ＱＡＩＲに応じて図９（ａ）に示すＤＫＡＦＥＶＸＨテーブルを検索し、上側判定偏差ＤＫＡＦＥＶＸＨを算出する。ＤＫＡＦＥＶＸＨテーブルは、吸入空気流量ＱＡＩＲが増加するほど、上側判定偏差ＤＫＡＦＥＶＸＨが減少するように設定されている。なお、吸入空気流量ＱＡＩＲは、基本燃料量ＴＩＭにエンジン回転数ＮＥ及び換算係数を乗算することにより算出される。
【００５４】
ステップＳ１７２では、吸入空気流量ＱＡＩＲに応じて図９（ｂ）に示すＤＫＡＦＥＶＸＬテーブルを検索し、下側判定偏差ＤＫＡＦＥＶＸＬを算出する。ＤＫＡＦＥＶＸＬテーブルは、吸入空気流量ＱＡＩＲが増加するほど、下側判定偏差ＤＫＡＦＥＶＸＬが減少するように設定されている。
【００５５】
ステップＳ１７５では、空燃比補正係数ＫＡＦが、第２学習値ＫＲＥＦＸから下側判定偏差ＤＫＡＦＥＶＸＬを減算した値より小さいか否かを判別する（ステップＳ１７５）。この答が肯定（ＹＥＳ）であって、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸよりリーン側に比較的大きくずれているときは、リッチ空燃比フラグＦＫＡＣＴＲが「１」であるか否かを判別する（ステップＳ１７６）。リッチ空燃比フラグＦＫＡＣＴＲは、ＬＡＦセンサ１９により検出される空燃比が理論空燃比よりリッチ側にあるとき「１」に設定される。
【００５６】
ステップＳ１７６の答が肯定（ＹＥＳ）であって検出空燃比が理論空燃比よりリッチであるときは、加算フラグＦＫＡＦＥＶＰを「１」に設定するとともに、減算フラグＦＫＡＦＥＶＭ及び偏差算出フラグＦＫＡＦＥＶＣをともに「０」に設定する（ステップＳ１７７）。ステップＳ１７６でＦＫＡＣＴＲ＝０であって検出空燃比が理論空燃比よりリッチでないときは、加算フラグＦＫＡＦＥＶＰ、減算フラグＦＫＡＦＥＶＭ及び偏差算出フラグＦＫＡＦＥＶＣをいずれも「０」に設定する（ステップＳ１８０）。
【００５７】
ステップＳ１７５でＫＡＦ≧（ＫＲＥＦＸ−ＤＫＡＦＥＶＸＬ）であるときは、空燃比補正係数ＫＡＦが、第２学習値ＫＲＥＦＸに上側判定偏差ＤＫＡＦＥＶＸＨを加算した値より大きいか否かを判別する（ステップＳ１７８）。この答が肯定（ＹＥＳ）であって、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸよりリッチ側に比較的大きくずれているときは、リーン空燃比フラグＦＫＡＣＴＬが「１」であるか否かを判別する（ステップＳ１７９）。リーン空燃比フラグＦＫＡＣＴＬは、ＬＡＦセンサ１９により検出される空燃比が理論空燃比よりリーン側にあるとき「１」に設定される。
【００５８】
ステップＳ１７９の答が肯定（ＹＥＳ）であって検出空燃比が理論空燃比よりリーンであるときは、減算フラグＦＫＡＦＥＶＭを「１」に設定するとともに、加算フラグＦＫＡＦＥＶＰ及び偏差算出フラグＦＫＡＦＥＶＣをともに「０」に設定する（ステップＳ１８１）。またステップＳ１７９でＦＫＡＣＴＬ＝０であるときは前記ステップＳ１８０に進む。
【００５９】
ステップＳ１７８の答が否定（ＮＯ）であって、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸの近傍にあるときは、第１学習値ＫＲＥＦが第２学習値ＫＲＥＦＸより小さいか否かを判別する（ステップＳ１８２）。この答が肯定（ＹＥＳ）であるときは、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸより小さいか否かを判別する（ステップＳ１８３）。この答が肯定（ＹＥＳ）であるときは、リッチ空燃比フラグＦＫＡＣＴＲが「１」であるか否かを判別する（ステップＳ１８４）。この答が肯定（ＹＥＳ）であるときは、加算フラグＦＫＡＦＥＶＰ及び減算フラグＦＫＡＦＥＶＭを「０」に設定するとともに、偏差算出フラグＦＫＡＦＥＶＣを「１」に設定する（ステップＳ１８５）。ステップＳ１８３またはＳ１８４の答が否定（ＮＯ）であるときは、加算フラグＦＫＡＦＥＶＰ、減算フラグＦＫＡＦＥＶＭ及び偏差算出フラグＦＫＡＦＥＶＣをいずれも「０」に設定する（ステップＳ１８８）。
【００６０】
ステップＳ１８２で、ＫＲＥＦ≧ＫＲＥＦＸであるときは、ステップＳ１８６に進み、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸより大きいか否かを判別する。その答が肯定（ＹＥＳ）であるときは、リーン空燃比フラグＦＫＡＣＴＬが「１」であるか否かを判別する（ステップＳ１８７）。ステップＳ１８７の答が肯定（ＹＥＳ）であるときは、加算フラグＦＫＡＦＥＶＰ及び減算フラグＦＫＡＦＥＶＭを「０」に設定するとともに、偏差算出フラグＦＫＡＦＥＶＣを「１」に設定する（ステップＳ１８９）。ステップＳ１８６またはＳ１８７の答が否定（ＮＯ）であるときは、前記ステップＳ１８８に進む。
【００６１】
図８の処理によれば、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸから比較的大きくリーン側にずれており、かつ検出空燃比がリッチ側にあるときは、パージガス中の蒸発燃料濃度が増加していると判定され、加算フラグＦＫＡＦＥＶＰが「１」に設定される（ステップＳ１７７）。また空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸから比較的大きくリッチ側にずれており、かつ検出空燃比がリーン側にあるときは、パージガス中の蒸発燃料濃度が減少していると判定され、減算フラグＦＫＡＦＥＶＭが「１」に設定される（ステップＳ１８１）。また、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸの近傍にあり、第１学習値ＫＲＥＦが第２学習値ＫＲＥＦＸより小さく、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸより小さく、かつ検出空燃比がリッチ側にあるときは、第１学習値ＫＲＥＦと第２学習値ＫＲＥＦＸの偏差（ＫＲＥＦＸ−ＫＲＥＦ）に応じた量だけ、パージガス中の蒸発燃料濃度が増加したと判定され、偏差算出フラグＦＫＡＦＥＶＣが「１」に設定される（ステップＳ１８５）。または空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸの近傍にあり、第１学習値ＫＲＥＦが第２学習値ＫＲＥＦＸ以上であり、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸより大きく、かつ検出空燃比がリーン側にあるときは、偏差（ＫＲＥＦＸ−ＫＲＥＦ）は負の値（または「０」）となり、この負の偏差に応じた量だけ、蒸発燃料濃度が減少したと判定され、偏差算出フラグＦＫＡＦＥＶＣが「１」に設定される（ステップＳ１８９）。
【００６２】
図１０は、蒸発燃料濃度パラメータＶＰＲＴＴＬを算出する処理のフローチャートである。この処理は所定時間（例えば１０ミリ秒）毎に実行される。
ステップＳ１５１では、フィードバック制御フラグＦＡＦＦＢＸが「１」であるか否かを判別する。フィードバック制御フラグＦＡＦＦＢＸは、ＬＡＦセンサ１９の出力に応じて空燃比補正係数ＫＡＦを算出する空燃比フィードバック制御を実行するとき「１」に設定される。ステップＳ１５１の答が肯定（ＹＥＳ）であるときは、パージ流量ＱＰＧＣが「０」であるか否かを判別する（ステップＳ１５２）。パージ流量ＱＰＧＣは、パージ実行中にパージ通路３２を介して吸気管２に供給されるパージガスの流量を示すパラメータであり、エンジン１の吸入空気流量ＱＡＩＲ、大気圧ＰＡと吸気管内絶対圧ＰＢＡとの差圧などに応じて、図示しない処理で算出される。
【００６３】
ステップＳ１５２の答が否定（ＮＯ）であるとき、すなわち空燃比フィードバック制御及び蒸発燃料のパージを実行しているときは、ダウンカウントタイマＴＶＰＲＴＴＬＤを所定時間ＴＭＶＰＲＴＬＤ（例えば１０秒）にセットしてスタートさせる（ステップＳ１５７）。
【００６４】
ステップＳ１５８では、加算フラグＦＫＡＦＥＶＰが「１」であるか否かを判別する。ステップＳ１５８の答が肯定（ＹＥＳ）であるときは、下記式（５）により、ベーパ量パラメータＶＰＲＴを算出する（ステップＳ１５９）。その後、ステップＳ１６６に進む。
ＶＰＲＴ＝ＶＰＲＴＴＬ＋ＤＶＰＲＴＴＬＰ              （５）
ここでＶＰＲＴＴＬは、蒸発燃料濃度パラメータの前回算出値であり、ＤＶＰＲＴＴＬＰは所定加算項である。
【００６５】
ステップＳ１５８でＦＫＡＦＥＶＰ＝０であるときは、減算フラグＦＫＡＦＥＶＭが「１」であるか否かを判別する（ステップＳ１６０）。ステップＳ１６０の答が肯定（ＹＥＳ）であるときは、下記式（６）により、ベーパ量パラメータＶＰＲＴを算出する（ステップＳ１６１）。その後、ステップＳ１６６に進む。
ＶＰＲＴ＝ＶＰＲＴＴＬ−ＤＶＰＲＴＴＬＭ              （６）
ここでＶＰＲＴＴＬは、蒸発燃料濃度パラメータの前回算出値であり、ＤＶＰＲＴＴＬＭは所定減算項である。
【００６６】
ステップＳ１６０でＦＫＡＦＥＶＭ＝０であるときは、偏差算出フラグＦＫＡＦＥＶＣが「１」であるか否かを判別する。ステップＳ１６２の答が肯定（ＹＥＳ）であるときは、下記式（７）に図７の処理で算出される第１学習値ＫＲＥＦ及び第２学習値ＫＲＥＦＸを適用し、学習値偏差ＤＫＲＥＦＸを算出する（ステップＳ１６３）。
ＤＫＲＥＦＸ＝ＫＲＥＦＸ−ＫＲＥＦ                        （７）
【００６７】
ステップＳ１６４では、下記式（８）に学習値偏差ＤＫＲＥＦＸを適用して、ベーパ量パラメータＶＰＲＴを算出する。その後ステップＳ１６６に進む。
ＶＰＲＴ＝ＶＰＲＴＴＬ＋ＤＫＲＥＦＸ×ＣＡＦＥＶ      （８）
ここで、ＶＰＲＴＴＬは、蒸発燃料濃度パラメータの前回算出値であり、ＣＡＦＥＶは、例えば０．０３５１５に設定される所定間引き係数である。
【００６８】
ステップＳ１６２でＦＫＡＦＥＶＣ＝０であるときは、ベーパ量パラメータＶＰＲＴを、蒸発燃料濃度パラメータの前回算出値ＶＰＲＴＴＬに設定し（ステップＳ１６５）、ステップＳ１６６に進む。
一方、ステップＳ１５１の答が否定（ＮＯ）またはステップＳ１５２の答が肯定（ＹＥＳ）であるとき、すなわち空燃比フィードバック制御または蒸発燃料のパージを実行していないときは、ステップＳ１５３に進み、ステップＳ１５７でスタートされるダウンカウントタイマＴＶＰＲＴＴＬＤの値が「０」であるか否かを判別する。最初はこの答は否定（ＮＯ）であるので、ベーパ量パラメータＶＰＲＴを、蒸発燃料濃度パラメータの前回算出値ＶＰＲＴＴＬに設定し（ステップＳ１５４）、ステップＳ１６６に進む。タイマＴＶＰＲＴＴＬＤの値が「０」となると、ステップＳ１５３からステップＳ１５５に進み、ステップＳ１５７と同様に、タイマＴＶＰＲＴＴＬＤを所定時間ＴＭＶＰＲＴＬＤにセットしてスタートさせる。続くステップＳ１５６では、ベーパ量パラメータＶＰＲＴを下記式（９）により算出する。その後ステップＳ１６６に進む。
ＶＰＲＴ＝ＶＰＲＴＴＬ−ＤＶＰＲＴＴＬＤ                （９）
ここで、ＶＰＲＴＴＬは、蒸発燃料濃度パラメータの前回算出値であり、ＤＶＰＲＴＴＬＤは、所定強制減算項である。
【００６９】
ステップＳ１６６では、ベーパ量パラメータＶＰＲＴが所定上限値ＶＰＲＴＬＭＴ以下であるか否かを判別し、この答が肯定（ＹＥＳ）であるときは、蒸発燃料濃度パラメータＶＰＲＴＴＬを、ベーパ量パラメータＶＰＲＴに設定する（ステップＳ１６７）。またベーパ量パラメータＶＰＲＴが所定上限値ＶＰＲＴＬＭＴより大きいときは、蒸発燃料濃度パラメータＶＰＲＴＴＬをその所定上限値ＶＰＲＴＬＭＴに設定する（ステップＳ１６８）。その後本処理を終了する。
【００７０】
図７、図８及び図１０の処理によれば、空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸから比較的大きくずれているときは、蒸発燃料濃度が比較的大きく増加または減少していると判定され、蒸発燃料濃度パラメータＶＰＲＴＴＬが比較的大きく増加または減少するように更新される（図１０，ステップＳ１５９，Ｓ１６１）。また空燃比補正係数ＫＡＦが第２学習値ＫＲＥＦＸの近傍にあるときは、パージガス中の蒸発燃料濃度が低いことを示すので、第１学習値ＫＲＥＦと第２学習値ＫＲＥＦＸの偏差である学習値偏差ＤＫＲＥＦＸ（＝ＫＲＥＦＸ−ＫＲＥＦ）に間引き係数ＣＡＦＥＶを乗算した値だけ、比較的小さく増加または減少するように、蒸発燃料濃度パラメータＶＰＲＴＴＬが更新される（図１０，ステップＳ１６４）。したがって、このようにして更新される蒸発燃料濃度パラメータＶＰＲＴＴＬは、パージガス中の蒸発燃料濃度を示すパラメータとして使用することができる。
【００７１】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、上述した実施形態では、大流量モードとすべきか否かの判定処理（図５）において、大気圧ＰＡに基づく判定（ステップＳ６０，Ｓ６１）及び蒸発燃料濃度パラメータＶＰＲＴＴＬに基づく判定（ステップＳ６２）を共に行うようにしたが、いずれか一方のみを行うようにしてもよい。
【００７２】
また上述した実施形態では、燃料ポンプ１０は、作動モード（回転速度）を、小流量モード及び大流量モードの２段階に切換可能なものを使用しているが、これに限るものではなく、３段階以上に切換可能なものも適用可能である。
【図面の簡単な説明】
【００７３】
【図１】本発明の一実施形態にかかる内燃機関及びその制御装置の構成を示す図である。
【図２】燃料ポンプのモータを駆動する回路構成を示す図である。
【図３】燃料ポンプの駆動制御処理のフローチャートである。
【図４】燃料ポンプの駆動制御処理のフローチャートである。
【図５】図３の処理で参照されるフラグ（ＦＰＣＨＩＲＱ）の設定を行う処理のフローチャートである。
【図６】図３の処理で参照されるフラグ（ＦＳＰＦＰＣＺＮ）の設定を行う処理のフローチャートである。
【図７】空燃比補正係数（ＫＡＦ）の学習値（ＫＲＥＦ，ＫＲＥＦＸ）を算出する処理のフローチャートである。
【図８】図１０の処理で参照されるフラグを設定する処理のフローチャートである。
【図９】図８の処理で使用されるテーブルを示す図である。
【図１０】パージガス中の蒸発燃料濃度を示すパラメータ（ＶＰＲＴＴＬ）を算出する処理のフローチャートである。
【符号の説明】
【００７４】
１  内燃機関
５  電子制御ユニット（蒸発燃料濃度推定手段、ポンプ駆動手段）
６  燃料噴射弁
７  燃料供給管
９  燃料タンク
１０  燃料ポンプ
１２  駆動回路（ポンプ駆動手段）
１９  酸素濃度センサ（空燃比検出手段）
２２  大気圧センサ（大気圧検出手段）
３１  チャージ通路（蒸発燃料処理装置）
３２  パージ通路（蒸発燃料処理装置）
３３  キャニスタ（蒸発燃料処理装置）
【図１】
2007126986.tif 000003
【図２】
2007126986.tif 000004
【図３】
2007126986.tif 000005
【図４】
2007126986.tif 000006
【図５】
2007126986.tif 000007
【図６】
2007126986.tif 000008
【図７】
2007126986.tif 000009
【図８】
2007126986.tif 000010
【図９】
2007126986.tif 000011
【図１０】
2007126986.tif 000012