(57)【特許請求の範囲】
【請求項１】
空燃比を検出する空燃比検出手段と、
該空燃比検出手段によって検出された空燃比の目標値に対する偏差に基づいてフィードバック補正値を設定するフィードバック補正値設定手段と、
該フィードバック補正値設定手段によって設定されたフィードバック補正値に基づいて空燃比を制御する空燃比制御手段と、
蒸発燃料を捕集する蒸発燃料捕集手段と、
該蒸発燃料捕集手段によって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段とが設けられているエンジンの蒸発燃料量推定装置であって、
フィードバック補正値設定手段によって設定されたフィードバック補正値の平均値(平均フィードバック補正値)を演算する平均フィードバック補正値演算手段と、
該平均フィードバック補正値演算手段によって演算された平均フィードバック補正値に基づいて、蒸発燃料捕集手段によって捕集されている蒸発燃料の量(蒸発燃料捕集量)を推定する蒸発燃料捕集量推定手段と、
該蒸発燃料捕集量推定手段により推定された蒸発燃料捕集量からエンジンに吸入される蒸発燃料流入量を演算する蒸発燃料流入量演算手段と、
該蒸発燃料流入量演算手段により演算された蒸発燃料流入量を必要燃料供給量から減量する燃料供給量減量手段とが設けられていることを特徴とする蒸発燃料量推定装置。
【請求項２】
請求項１に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定手段が、平均フィードバック補正値演算手段によって演算された平均フィードバック補正値が中立値より小さいか否かに応じて前回の蒸発燃料捕集量推定値を増減させて今回の蒸発燃料捕集量を推定するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項３】
請求項２に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定手段が、蒸発燃料捕集量推定値を増減させる補正量を、平均フィードバック補正値が大きいときほど大きく設定するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項４】
請求項１〜請求項３のいずれか１つに記載された蒸発燃料量推定装置において、
蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下では、蒸発燃料捕集量推定手段による蒸発燃料捕集量の推定を禁止する蒸発燃料捕集量推定禁止手段が設けられていることを特徴とする蒸発燃料量推定装置。
【請求項５】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、蒸発燃料の吸気系へのパージが停止されているときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項６】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、充填効率が所定値以上であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項７】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、吸気圧が所定値以下であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項８】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、空燃比のフィードバック制御が停止されているときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項９】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、蒸発燃料の吸気系へのパージが停止されている状態と、吸入空気量が所定値以上である状態と、吸気圧が所定値以下である状態と、空燃比のフィードバック制御が停止されている状態のうちの少なくとも１つの状態が成立しているときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１０】
請求項１〜請求項９のいずれか１つに記載された蒸発燃料量推定装置において、
平均フィードバック補正値の絶対値が所定の限界値未満となったときに、蒸発燃料捕集量推定手段による蒸発燃料捕集量の推定が完了しているものと判定する推定完了判定手段が設けられていることを特徴とする蒸発燃料量推定装置。
【請求項１１】
請求項１０に記載された蒸発燃料量推定装置において、
推定完了判定手段が、蒸発燃料捕集量の推定が完了していると判定した後において、蒸発燃料捕集量推定禁止手段によって蒸発燃料捕集量の推定が所定期間以上継続して禁止されたときには、蒸発燃料捕集量の推定が完了しているとの判定を撤回するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１２】
請求項１〜請求項１１のいずれか１つに記載された蒸発燃料量推定装置において、
空燃比制御手段が、フィードバック補正値が中立値となるように、制御出力特性を学習により補正するといった学習機能を備えていて、
蒸発燃料捕集量推定手段が、空燃比制御手段の学習が終了した後で蒸発燃料捕集量を推定するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１３】
請求項１〜請求項９のいずれか１つに記載された蒸発燃料量推定装置において、
空気過剰率λが１より大きい領域においてもＯ２濃度を検出することができるリニアＯ２センサが、空燃比検出手段として設けられ、
平均フィードバック補正値演算手段が、一定時間毎のフィードバック補正値の相加平均値又は重み付けした加重平均値を、上記のフィードバック補正値の平均値として演算するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１４】
請求項１〜請求項９のいずれか１つに記載された蒸発燃料量推定装置において、
空気過剰率λが１より大きいか否かを検出することができるλＯ２センサが、空燃比検出手段として設けられ、
平均フィードバック補正値演算手段が、フィードバック補正値の加重平均値を、上記のフィードバック補正値の平均値として演算するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１５】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、吸気圧が所定値以上であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１６】
請求項４に記載された蒸発燃料量推定装置において、
蒸発燃料捕集量推定禁止手段が、充填効率が所定値以下であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置。
【請求項１７】
請求項１〜請求項１４のいずれか１つに記載された蒸発燃料量推定装置と、
該蒸発燃料量推定装置によって推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段とが設けられていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項１８】
蒸発燃料を捕集する蒸発燃料捕集手段と、
該蒸発燃料捕集手段によって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段と、
蒸発燃料捕集手段によって捕集されている蒸発燃料の量(蒸発燃料捕集量)を検出若しくは推定する蒸発燃料捕集量検出手段と、
該蒸発燃料捕集量検出手段によって検出若しくは推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段とが設けられ、
蒸発燃料パージ量算出手段が、蒸発燃料捕集手段から吸気系側に放出される蒸発燃料の流量(蒸発燃料放出量)を算出する蒸発燃料放出量算出手段と、該蒸発燃料放出量算出手段によって算出された蒸発燃料放出量に基づいて、燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)を算出する蒸発燃料流入量算出手段とを備え、
蒸発燃料放出量算出手段が、蒸発燃料パージ手段の制御弁の開度と該制御弁の前後の差圧とに基づいてパージ空気量を演算するパージ空気量演算手段と、該パージ空気量演算手段によって演算されたパージ空気量と、蒸発燃料捕集量とに基づいて蒸発燃料放出量を演算する蒸発燃料放出量演算手段とを備えていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項１９】
請求項１８に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
蒸発燃料流入量算出手段が、蒸発燃料捕集手段から燃焼室に至る蒸発燃料輸送経路の輸送遅れ特性を設定する輸送遅れ特性設定手段と、
蒸発燃料放出量演算手段によって演算された蒸発燃料放出量と、エンジン回転数と、輸送遅れ特性設定手段によって設定された輸送遅れ特性とに基づいて蒸発燃料流入量を演算する蒸発燃料流入量演算手段とを備えていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２０】
請求項１９に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
蒸発燃料流入量算出手段が、蒸発燃料放出量演算手段によって演算された蒸発燃料放出量とエンジン回転数とに基づいて蒸発燃料の全燃料中に占める比率(蒸発燃料比率)を演算する蒸発燃料比率演算手段を備えていて、
蒸発燃料流入量演算手段が、蒸発燃料比率演算手段によって演算された蒸発燃料比率と、輸送遅れ特性設定手段によって設定された輸送遅れ特性とに基づいて、蒸発燃料流入量の全燃料中に占める比率(正味蒸発燃料比率)を演算するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２１】
請求項２０に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ空気量演算手段と、蒸発燃料放出量演算手段と、輸送遅れ特性設定手段と、蒸発燃料比率演算手段と、蒸発燃料流入量演算手段とが、夫々、所定のモデル式でもって出力値を演算又は設定するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２２】
請求項１７〜請求項２１のいずれか１つに記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
蒸発燃料捕集量の検出又は推定が完了していないときには、蒸発燃料の吸気系へのパージを規制するパージ規制手段が設けられていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２３】
請求項２２に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ規制手段による蒸発燃料のパージ規制が、蒸発燃料の吸気系へのパージの禁止であることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２４】
請求項２２に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ規制手段が、アイドル時に蒸発燃料の吸気系へのパージを禁止するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２５】
請求項２２又は請求項２４に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ規制手段が、蒸発燃料捕集量の検出又は推定が完了するまでは蒸発燃料のパージ速度を小さくするようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２６】
請求項２２又は請求項２４に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ規制手段が、蒸発燃料捕集量の検出又は推定が完了するまでは蒸発燃料のパージ量を少なくするようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２７】
請求項２５に記載された蒸発燃料量推定装置を備えたエンジンの制御装置において、
パージ規制手段が、蒸発燃料パージ手段の制御弁が閉弁状態から開弁状態に移行する際には、蒸発燃料のパージ速度を目標値に達するまで徐々に増加させるようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置。
【請求項２８】
蒸発燃料を捕集する蒸発燃料捕集手段と、
該蒸発燃料捕集手段によって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段と、
蒸発燃料捕集手段によって捕集されている蒸発燃料の量(蒸発燃料捕集量)を検出若しくは推定する蒸発燃料捕集量検出手段と、
該蒸発燃料捕集量検出手段によって検出若しくは推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段とが設けられ、
蒸発燃料パージ量算出手段が、蒸発燃料捕集手段から吸気系側に放出される蒸発燃料の流量(蒸発燃料放出量)を算出する蒸発燃料放出量算出手段と、該蒸発燃料放出量算出手段によって算出された蒸発燃料放出量に基づいて、燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)を算出する蒸発燃料流入量算出手段とを備え、
蒸発燃料パージ量算出手段が、蒸発燃料放出量に対して蒸発燃料捕集手段の脱気特性を加味して、質量流量で蒸発燃料流入量を算出するようになっていることを特徴とするエンジンの制御装置。
【請求項２９】
請求項２８に記載されたエンジンの制御装置において、
上記脱気特性が、蒸発燃料捕集手段におけるパージ空気量に対する蒸発燃料パージ質量流量の吸気温依存性であることを特徴とするエンジンの制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、キャニスタの蒸発燃料捕集量を推定する蒸発燃料量推定装置、及び該蒸発燃料量推定装置又は蒸発燃料捕集量検出手段を備えていて蒸発燃料捕集量等に基づいて蒸発燃料パージ量を算出するエンジンの制御装置、さらには上記蒸発燃料パージ量等に基づいて空燃比を制御するエンジンの制御装置に関するものである。
【０００２】
【従来の技術】
一般に、自動車用の燃料噴射式エンジンにおいては空燃比を目標値（目標空燃比）に合わせるために、基本的にはエアフローセンサによって検出される吸入空気量に対応する基本燃料噴射量（基本パルス幅）で、燃料噴射弁から吸気系又は燃焼室に燃料が噴射されるようになっている。しかしながら、燃料噴射弁の噴射量コントロールの精度には限度があり、また燃料噴射弁から噴射された燃料の一部は吸気通路壁に付着するなどしてすぐには燃焼室に入らない。また、燃料噴射弁の噴射特性は経時的に変化することがある。このため、単に吸入空気量に対応する基本燃料噴射量で燃料を噴射するだけでは、高精度で空燃比を目標空燃比に一致させることはむずかしい。
【０００３】
そこで、通常、燃料噴射式エンジンにおいては、所定の運転領域（フィードバック領域）では、リニアＯ２センサ又はλＯ２センサで排気ガス中のＯ２濃度を検出して該Ｏ２濃度から空燃比を算出し、この空燃比の目標空燃比に対する偏差（空燃比偏差）に応じて該空燃比偏差をなくす方向に作用するフィードバック補正値を演算し、該フィードバック補正値で上記基本燃料噴射量を補正して空燃比を目標値に追従させるといった空燃比制御、すなわち空燃比のフィードバック制御を行うようにしている。なお、フィードバック補正値を中立値に固定したときには、フィードバック制御は行われずオープンループ制御が行われることになる。
なお、リニアＯ２センサは空気過剰率λが１より大きいとき領域においてもＯ２濃度を検出することができるが、λＯ２センサは基本的には空気過剰率λが１より大きいか否かを検出するだけである。
【０００４】
他面、自動車において燃料タンク内の空気を直接大気中に排出すると大気汚染を招くとともに燃料の損失となるので、自動車には通常、燃料タンクから排出された空気に含まれる蒸発燃料を捕集（吸着）するキャニスタが設けられる。そして、かかるキャニスタには、該キャニスタ内に捕集されている蒸発燃料を適宜吸気系にパージする蒸発燃料パージ手段が設けられる。かかる蒸発燃料パージ手段には、普通、キャニスタと吸気系とを接続するパージ通路と、該パージ通路を適宜開閉するパージ制御弁とが設けられ、パージ制御弁が開かれたときにキャニスタ内の蒸発燃料が吸気系にパージ（キャニスタパージ）されるようになっている。
【０００５】
したがって、キャニスタパージが行われるとキャニスタ内の蒸発燃料が吸気系に供給されることになるので、吸入空気量に応じた基本燃料噴射量で燃料噴射を行っているとき（オープンループ制御時）にキャニスタパージを行うと空燃比が目標値から大幅にずれてしまう。そこで、フィードバック領域で空燃比のフィードバック制御を行うようにしたエンジンでは、普通、フィードバック制御時にキャニスタパージを行うようにしている。
【０００６】
しかしながら、このように空燃比のフィードバック制御時にキャニスタパージを行う場合、該キャニスタパージによって吸気系に供給される蒸発燃料は空燃比制御側からみれば外乱となり、キャニスタ内に蒸発燃料がトラップされている場合、この外乱はフィードバック補正値を中立値よりもリーン側に変化させることによってフィードバック動作により補償されることになる。そして、この場合、キャニスタパージによって吸気系に供給される蒸発燃料の量（蒸発燃料パージ量）が一定であり、かつエンジンが定常状態にあるときには、キャニスタパージに起因する外乱はほぼ完全に補償されるものの、蒸発燃料パージ量が急変する際、例えばパージ制御弁が閉状態から開状態に変化する際又は開状態から閉状態に変化する際、あるいはパージ制御弁の前後差圧が急変する際、あるいはキャニスタパージ時においてエンジンが過渡状態にあるとき例えば加減速時には、空燃比の検出遅れ（タイムラグ）あるいはフィードバック動作の遅れによりキャニスタパージに起因する外乱が十分には補償されず、空燃比が目標値からずれてしまうといった問題がある。かかる現象が生じるのは、およそ次のような理由による。
【０００７】
すなわち、空燃比のフィードバック制御時において、例えばパージ制御弁が閉状態から開状態になったときには、蒸発燃料パージ量に応じて空燃比がリッチ化することになる。そして、かかる空燃比のリッチ化は排気通路に臨設されたリニアＯ２センサ又はλＯ２センサによって検出された後、これに基づいてフィードバック補正値がリーン方向に変更されて上記空燃比のリッチ化が是正されることになる。換言すれば、キャニスタパージによって空燃比がリッチ化した場合、このリッチ化がリニアＯ２センサ又はλＯ２センサによって実際に検出されるまでは該空燃比のリッチ化は何ら是正されないことになる（タイムラグ）。
逆に、パージバルブが開状態から閉状態になったときには空燃比がリーン化することになるが、この場合もキャニスタパージの停止によって空燃比がリーン化した後、このリーン化がリニアＯ２センサ又はλＯ２センサによって実際に検出されるまでは該空燃比のリーン化は何ら是正されないことになる（タイムラグ）。
【０００８】
また、キャニスタパージ時においてエンジンが過渡状態にあるとき、例えば加速時においては、パージ制御弁の前後差圧が急低下するので、１回の吸入行程で燃焼室に供給される蒸発燃料の量（蒸発燃料流入量）ないしは該蒸発燃料流入量が全燃料流入量中に占める比率が急低下して空燃比がリーン化し、他方減速時には空燃比がリッチ化する。そして、かかる空燃比のリーン化あるいはリッチ化も、これらがリニアＯ２センサ又はλＯ２センサによって実際に検出されるまでは何ら是正されないことになる（タイムラグ）。
【０００９】
このため、蒸発燃料パージ量の急変時あるいはキャニスタパージ時においてエンジンが過渡状態にあるときには、一時的に空燃比がリッチ化して燃料が無駄に消費され燃費性能が低下するとともにＨＣ排出量が増加してエミッション性能が低下するなどといった問題が生じたり、逆に空燃比がリーン化して十分なエンジン出力が得られない場合があるなどといった問題が生じたりする。
【００１０】
また、蒸発燃料パージ量の急増と急減とが頻繁に繰り返されたとき、あるいはキャニスタパージ時において加速と減速とが頻繁に繰り返されたときには、前記のタイムラグ或いはフィードバック動作遅れにより空燃比の是正が後手後手にまわりハンチングあるいはサイクリングが生じて空燃比のフィードバック制御の安定性が悪くなるといった問題が生じる。
【００１１】
なお、蒸発燃料を空燃比フィードバック制御の外乱として処理する場合、蒸発燃料パージ量が非常に多いときには、これに起因する外乱を補償するためにフィードバック補正値がリーン側の限界値にはりついてしまい、その他の外乱に対処することができなくなるおそれもある。
【００１２】
これに対して、蒸発燃料パージ量を検出し、本来必要とされる最終的な燃料噴射量すなわちキャニスタパージがない場合に必要とされる最終的な燃料噴射量（以下、これを必要燃料噴射量という）を上記蒸発燃料パージ量分だけ減量補正することにより、キャニスタパージの影響を空燃比のフィードバック制御から排除するといった対応、すなわちキャニスタパージによって吸気系に供給される蒸発燃料を空燃比フィードバック制御の外乱とはならないようにするといった対応が考えられるが、蒸発燃料パージ量を直接的に高精度で検出することができる実用的な手段は現時点では見当たらない。
【００１３】
そこで、間接的に蒸発燃料パージ量を推定し、必要燃料噴射量を上記推定値分だけ減量補正するようにしたエンジンが提案されている（例えば、特開平２−２４５４４１号公報参照）。そして、このような従来のエンジン、例えば特開平２−２４５４４１号公報に開示されているエンジンでは、フィードバック補正値とその中立値との差に基づいて蒸発燃料パージ量を推定するようにしている。なお、この従来のエンジンでは、蒸発燃料パージ量の推定値をエンジン回転数で除算して１回転当たりの蒸発燃料パージ量を算出し、基本燃料噴射量をこの１回転当たりの蒸発燃料パージ量分だけ減量補正するようにしている。
【００１４】
【発明が解決しようとする課題】
しかしながら、一般に、蒸発燃料パージ量は、エンジンの運転状態の変化に伴って非常に短い周期で変動する。例えば、吸入空気量の変化、吸気圧の変化、エンジン回転数の変化等に伴って非常に短い周期で変動する。他方、例えば特開平２−２４５４４１号公報に開示されているような従来のエンジンでは、蒸発燃料パージ量をフィードバック補正値に基づいて推定するようにしているが、前記したとおりフィードバック補正値は、リニアＯ２センサ又はλＯ２センサによって検出される空燃比に基づいて演算される関係上どうしてもタイムラグが伴われるので、エンジンの運転状態の変化すなわち実際の蒸発燃料パージ量の変化の周期が短いときには、蒸発燃料パージ量の推定精度が低下し、ひいては空燃比の目標値からのずれを生じさせるといった問題が生じる。
【００１５】
かかる従来の問題点と従来の技術とに鑑みれば、蒸発燃料パージ量を高精度で把握することができれば、必要燃料噴射量を該蒸発燃料パージ量で減量補正することにより、空燃比のずれを生じさせることなくキャニスタパージを行うことができるものと考えられる。そこで、本願発明者は、蒸発燃料パージ量、より正確には燃焼室に流入する蒸発燃料の流量（蒸発燃料流入量）を高精度で把握することができる手段を見出だすことにより、上記の各問題点を解決しようと考えた。
【００１６】
そして、本願発明者は、キャニスタに捕集されている蒸発燃料の量すなわち蒸発燃料捕集量の経時変化はエンジンの運転状態の経時変化に比べれば非常に緩やかであり、蒸発燃料捕集量は前記のタイムラグ程度の時間内あるいは空燃比制御の１ルーチン実行時間内ではほとんど変化しないといった事実に着目し、かかる蒸発燃料捕集量に基づいて蒸発燃料パージ量を算出することができれば、空燃比検出におけるタイムラグにかかわりなく蒸発燃料パージ量ないしは蒸発燃料流入量を高精度で把握することができ、ひいては必要燃料噴射量をこの蒸発燃料パージ量で減量補正することにより、空燃比のずれを生じさせることなくキャニスタパージを行うことができるであろうと考察した。
【００１７】
本発明は、上記考察結果に基づいて、上記従来の各問題点を解決するためになされたものであって、キャニスタの蒸発燃料捕集量を高精度で推定することができる手段を提供することを目的とする。
そして、キャニスタの蒸発燃料捕集量に基づいて、蒸発燃料パージ量あるいは蒸発燃料流入量を高精度で算出することができる手段を提供することを目的とする。
さらには、蒸発燃料パージ量あるいは蒸発燃料流入量に基づいて、空燃比の目標値に対するずれを生じさせることなくキャニスタパージを行うことができる手段を提供することを目的とする。
【００１８】
【課題を解決するための手段】
上記の目的を達するため、図１にその構成を示すように、第１の発明は、空燃比を検出する空燃比検出手段Ａと、該空燃比検出手段Ａによって検出された空燃比の目標値に対する偏差に基づいてフィードバック補正値を設定するフィードバック補正値設定手段Ｂと、該フィードバック補正値設定手段Ｂによって設定されたフィードバック補正値に基づいて空燃比（燃料供給手段の燃料供給量）を制御する空燃比制御手段Ｃと、蒸発燃料を捕集する蒸発燃料捕集手段Ｄと、該蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段Ｅとが設けられているエンジンの蒸発燃料量推定装置であって、フィードバック補正値設定手段Ｂによって設定されたフィードバック補正値の平均値（平均フィードバック補正値）を演算する平均フィードバック補正値演算手段Ｆと、該平均フィードバック補正値演算手段Ｆによって演算された平均フィードバック補正値に基づいて、蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料の量（蒸発燃料捕集量）を推定する蒸発燃料捕集量推定手段Ｇと、該蒸発燃料捕集量推定手段Ｇにより推定された蒸発燃料捕集量からエンジンに吸入される蒸発燃料流入量を演算する蒸発燃料流入量演算手段Ｒ’と、該蒸発燃料流入量演算手段Ｒ’により演算された蒸発燃料流入量を必要燃料供給量から減量する燃料供給量減量手段Ｕ’とが設けられていることを特徴とする蒸発燃料量推定装置を提供する。
【００１９】
第２の発明は、第１の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定手段Ｇが、平均フィードバック補正値演算手段Ｆによって演算された平均フィードバック補正値が中立値より小さいか否かに応じて前回の蒸発燃料捕集量推定値を増減させて今回の蒸発燃料捕集量を推定するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２０】
第３の発明は、第２の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定手段Ｇが、蒸発燃料捕集量推定値を増減させる補正量を、平均フィードバック補正値が大きいときほど大きく設定するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２１】
第４の発明は、第１〜第３の発明のいずれか１つにかかる蒸発燃料量推定装置において、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下では、蒸発燃料捕集量推定手段Ｇによる蒸発燃料捕集量の推定を禁止する蒸発燃料捕集量推定禁止手段Ｈが設けられていることを特徴とする蒸発燃料量推定装置を提供する。
【００２２】
第５の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、蒸発燃料の吸気系へのパージが停止されているときに、蒸発燃料捕集量とフィードバック補正値との相関性が存在しない条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２３】
第６の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、充填効率が所定値以上であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２４】
第７の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、吸気圧が所定値以下であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２５】
第８の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、空燃比のフィードバック制御が停止されているときに、蒸発燃料捕集量とフィードバック補正値との相関性が存在しない条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２６】
第９の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、蒸発燃料の吸気系へのパージが停止されている状態と、吸入空気量が所定値以上である状態と、吸気圧が所定値以下である状態と、空燃比のフィードバック制御が停止されている状態のうちの少なくとも１つの状態が成立しているときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２７】
第１０の発明は、第１〜第９の発明のいずれか１つにかかる蒸発燃料量推定装置において、平均フィードバック補正値の絶対値が所定の限界値未満となったときに、蒸発燃料捕集量推定手段Ｇによる蒸発燃料捕集量の推定が完了しているものと判定する推定完了判定手段Ｉが設けられていることを特徴とする蒸発燃料量推定装置を提供する。
【００２８】
第１１の発明は、第１０の発明にかかる蒸発燃料量推定装置において、推定完了判定手段Ｉが、蒸発燃料捕集量の推定が完了していると判定した後において、蒸発燃料捕集量推定禁止手段Ｈによって蒸発燃料捕集量の推定が所定期間以上継続して禁止されたときには、蒸発燃料捕集量の推定が完了しているとの判定を撤回するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００２９】
第１２の発明は、第１〜第１１の発明のいずれか１つにかかる蒸発燃料量推定装置において、空燃比制御手段Ｃが、フィードバック補正値が中立値となるように、制御出力特性を学習により補正するといった学習機能を備えていて、蒸発燃料捕集量推定手段Ｇが、空燃比制御手段Ｃの学習が終了した後で蒸発燃料捕集量を推定するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００３０】
第１３の発明は、第１〜第９の発明のいずれか１つにかかる蒸発燃料量推定装置において、空気過剰率λが１より大きい領域においてもＯ２濃度を検出することができるリニアＯ２センサが、空燃比検出手段Ａとして設けられ、平均フィードバック補正値演算手段Ｆが、一定時間毎のフィードバック補正値の相加平均値又は重み付けした加重平均値を、上記のフィードバック補正値の平均値として演算するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００３１】
第１４の発明は、第１〜第９の発明のいずれか１つにかかる蒸発燃料量推定装置において、空気過剰率λが１より大きいか否かを検出することができるλＯ２センサが、空燃比検出手段Ａとして設けられ、平均フィードバック補正値演算手段Ｆが、フィードバック補正値の加重平均値を、上記のフィードバック補正値の平均値として演算するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００３２】
第１５の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、吸気圧が所定値以上であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００３３】
第１６の発明は、第４の発明にかかる蒸発燃料量推定装置において、蒸発燃料捕集量推定禁止手段Ｈが、充填効率が所定値以下であるときに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下であるとして蒸発燃料捕集量の推定を禁止するようになっていることを特徴とする蒸発燃料量推定装置を提供する。
【００３４】
第１７の発明は、図２にその構成を示すように、第１〜第１４の発明のいずれか１つにかかる蒸発燃料量推定装置Ｌと、該蒸発燃料量推定装置Ｌによって推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段Ｋとが設けられていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００３５】
第１８の発明は、蒸発燃料を捕集する蒸発燃料捕集手段Ｄと、該蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段Ｅと、蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料の量(蒸発燃料捕集量)を検出若しくは推定する蒸発燃料捕集量検出手段Ｊと、該蒸発燃料捕集量検出手段Ｊによって検出若しくは推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段Ｋとが設けられ、蒸発燃料パージ量算出手段Ｋが、蒸発燃料捕集手段Ｄから吸気系側に放出される蒸発燃料の流量(蒸発燃料放出量)を算出する蒸発燃料放出量算出手段Ｍと、該蒸発燃料放出量算出手段Ｍによって算出された蒸発燃料放出量に基づいて、燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)を算出する蒸発燃料流入量算出手段Ｎとを備え、蒸発燃料放出量推定手段Ｍが、蒸発燃料パージ手段Ｅの制御弁の開度と該制御弁の前後の差圧とに基づいてパージ空気量を演算するパージ空気量演算手段Ｏと、該パージ空気量演算手段Ｏによって演算されたパージ空気量と、蒸発燃料捕集量とに基づいて蒸発燃料放出量を演算する蒸発燃料放出量演算手段Ｐとを備えていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００３６】
第１９の発明は、第１８の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、蒸発燃料流入量算出手段Ｎが、蒸発燃料捕集手段Ｄから燃焼室に至る蒸発燃料輸送経路の輸送遅れ特性を設定する輸送遅れ特性設定手段Ｑと、蒸発燃料放出量演算手段Ｐによって演算された蒸発燃料放出量と、エンジン回転数と、輸送遅れ特性設定手段Ｑによって設定された輸送遅れ特性とに基づいて蒸発燃料流入量を演算する蒸発燃料流入量演算手段Ｒとを備えていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００３７】
第２０の発明は、第１９の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、蒸発燃料流入量算出手段Ｎが、蒸発燃料放出量演算手段Ｐによって演算された蒸発燃料放出量とエンジン回転数とに基づいて蒸発燃料の全燃料中に占める比率（蒸発燃料比率）を演算する蒸発燃料比率演算手段Ｓを備えていて、蒸発燃料流入量演算手段Ｒが、蒸発燃料比率演算手段Ｓによって演算された蒸発燃料比率と、輸送遅れ特性設定手段Ｑによって設定された輸送遅れ特性とに基づいて、蒸発燃料流入量の全燃料中に占める比率（正味蒸発燃料比率）を演算するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００３８】
第２１の発明は、第２０の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ空気量演算手段Ｏと、蒸発燃料放出量演算手段Ｐと、輸送遅れ特性設定手段Ｑと、蒸発燃料比率演算手段Ｓと、蒸発燃料流入量演算手段Ｒとが、夫々、所定のモデル式でもって出力値を演算又は設定するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００３９】
第２２の発明は、第１７〜第２１の発明のいずれか１つにかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、蒸発燃料捕集量の検出又は推定が完了していないときには、蒸発燃料の吸気系へのパージを規制するパージ規制手段Ｔが設けられていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４０】
第２３の発明は、第２２の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ規制手段Ｔによる蒸発燃料のパージ規制が、蒸発燃料の吸気系へのパージの禁止であることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４１】
第２４の発明は、第２２の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ規制手段Ｔが、アイドル時に蒸発燃料の吸気系へのパージを禁止するようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４２】
第２５の発明は、第２２又は第２４の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ規制手段Ｔが、蒸発燃料捕集量の検出又は推定が完了するまでは蒸発燃料のパージ速度を小さくするようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４３】
第２６の発明は、第２２又は第２４の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ規制手段Ｔが、蒸発燃料捕集量の検出又は推定が完了するまでは蒸発燃料のパージ量を少なくするようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４４】
第２７の発明は、第２５の発明にかかる蒸発燃料量推定装置を備えたエンジンの制御装置において、パージ規制手段Ｔが、蒸発燃料パージ手段Ｅの制御弁が閉弁状態から開弁状態に移行する際には、蒸発燃料のパージ速度を目標値に達するまで徐々に増加させるようになっていることを特徴とする蒸発燃料量推定装置を備えたエンジンの制御装置を提供する。
【００４５】
第２８の発明は、蒸発燃料を捕集する蒸発燃料捕集手段Ｄと、該蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料を吸気系にパージする蒸発燃料パージ手段Ｅと、蒸発燃料捕集手段Ｄによって捕集されている蒸発燃料の量(蒸発燃料捕集量)を検出若しくは推定する蒸発燃料捕集量検出手段Ｊと、該蒸発燃料捕集量検出手段Ｊによって検出若しくは推定された蒸発燃料捕集量に基づいて、吸気系への蒸発燃料のパージ流量(蒸発燃料パージ量)を算出する蒸発燃料パージ量算出手段Ｋとが設けられ、蒸発燃料パージ量算出手段Ｋが、蒸発燃料捕集手段Ｄから吸気系側に放出される蒸発燃料の流量(蒸発燃料放出量)を算出する蒸発燃料放出量算出手段Ｍと、該蒸発燃料放出量算出手段Ｍによって算出された蒸発燃料放出量に基づいて、燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)を算出する蒸発燃料流入量算出手段Ｎとを備え、蒸発燃料パージ量算出手段Ｋが、蒸発燃料放出量に対して蒸発燃料捕集手段の脱気特性を加味して、質量流量で蒸発燃料流入量を算出するようになっていることを特徴とするエンジンの制御装置を提供する。
【００４６】
第２９の発明は、第２８の発明にかかるエンジンの制御装置において、上記脱気特性が、蒸発燃料捕集手段Ｄにおけるパージ空気量に対する蒸発燃料パージ質量流量の吸気温依存性であることを特徴とするエンジンの制御装置を提供する。
【００４９】
【実施例】
以下、本発明の実施例を具体的に説明する。
図３は、本発明にかかる蒸発燃料推定装置及び制御装置を備えたエンジンのシステム構成図である。図３に示すように、燃料噴射式の４気筒ガソリンエンジンＣＥの各気筒１（１つの気筒のみ図示）においては、吸気弁２が開かれたときに吸気ポート３から燃焼室４に混合気が吸入され、この混合気がピストン５で圧縮された後点火プラグ（図示せず）によって着火・燃焼させられ、排気弁６が開かれたときに燃焼ガス（排気ガス）が排気ポート７を介して排気通路８に排出されるようになっている。排気通路８には、排気ガス中のＯ２濃度を検出するリニアＯ２センサ９が臨設されている。そして、リニアＯ２センサ９で検出されたＯ２濃度はコントロールユニットＣＵに入力され、コントロールユニットＣＵではこのＯ２濃度に基づいて混合気の空燃比を演算するようになっている。ここで、リニアＯ２センサ９によって検出されるＯ２濃度と該Ｏ２濃度に基づいて演算される空燃比とは一義的な対応関係にあるので、以下では便宜上、上記空燃比を「リニアＯ２センサ９によって検出された空燃比」又は「実空燃比」ということにする。
ここで、リニアＯ２センサ９に代えて、λＯ２センサを用いてもよい。なお、リニアＯ２センサ９は、空気過剰率λが１より大きい領域でもＯ２濃度ひいては空燃比を検出することができるが、λＯ２センサは基本的には空気過剰率λが１より大きいか否かを検出するだけである。
【００５０】
エンジンＣＥの各気筒１（燃焼室４）に燃料燃焼用の空気を供給するために吸気系１０が設けられ、この吸気系１０には上流端が大気に開放された共通吸気通路１１が設けられている。そして、共通吸気通路１１にはアクセルペダル（図示せず）と連動して開閉されるスロットル弁１２が介設され、共通吸気通路１１の下流端は吸入空気の流れを安定させるサージタンク１３に接続されている。さらに、サージタンク１３には、各気筒１に夫々個別に空気を供給する独立吸気通路１４（１つのみ図示）が接続され、これらの各独立吸気通路１４の下流端は夫々対応する気筒１の吸気ポート３に接続されている。
【００５１】
吸気ポート３近傍において各独立吸気通路１４には、吸気ポート３内ないしは燃焼室４内に燃料を噴射する燃料噴射弁１５が、噴射口が下流側に向くようにして臨設されている。ここで、燃料噴射弁１５の燃料噴射量（噴射パルス幅）及び噴射タイミングは、後で説明するようにコントロールユニットＣＵによって制御されるようになっている。
なお、燃料噴射弁１５は特許請求の範囲に記載された「燃料供給手段」に相当する。
【００５２】
そして、燃料の気化・霧化を促進するために各燃料噴射弁１５にアシストエアを供給するアシストエア供給手段１６（以下、これをＡＭＩ１６という）が設けられている。このＡＭＩ１６には、詳しくは図示していないが、上流端がスロットル弁１２より上流側で共通吸気通路１１と連通するアシストエア導入通路１７が設けられ、このアシストエア導入通路１７にはコントロールユニットＣＵによって開閉されるソレノイド式のアシストエア制御弁１８が介設されている。なお、アシストエア制御弁１８をバイパスしてアシストエアを通すバイパスアシストエア通路１９が設けられ、このバイパスアシストエア通路１９には所定の圧力損失（圧力低下）を生じさせ、流量を規制するためのオリフィス２０が介設されている。
【００５３】
アシストエア導入通路１７の下流端はミキシングチャンバ２１に接続され、このミキシングチャンバ２１にはさらにアシストエア供給通路２２が接続されている。そして、アシストエア供給通路２２は下流側で４つの分岐アシストエア供給通路２３に分岐し、各分岐アシストエア供給通路２３は夫々、その下流端で対応する気筒１の燃料噴射弁１５に接続され、対応する燃料噴射弁１５に個別にアシストエアを供給するようになっている。
【００５４】
エンジンＣＥには、燃料タンク（図示せず）から排出される空気に含まれる蒸発燃料（ガソリンベーパ）を捕集する蒸発燃料捕集手段と、該蒸発燃料捕集手段に捕集されている蒸発燃料を適宜吸気系１０にパージする蒸発燃料パージ手段とを備えた蒸発燃料回収手段２４が設けられているが、以下この蒸発燃料回収手段２４について説明する。
この蒸発燃料回収手段２４には、内部に蒸発燃料を捕集（吸着）することができる吸着材（例えば、活性炭）が充填されたキャニスタ２５が設けられている。そして、このキャニスタ２５には、先端が燃料タンクの上部空間部と連通し燃料タンク内の上部空間部の空気を該キャニスタ２５内にリリーフするリリーフ通路２６と、先端が大気に開放された大気開放通路２７と、先端がミキシングチャンバ２１に接続されたパージ通路２８とが接続されている。なお、大気開放通路２７の先端をスロットル弁１２よりも上流側で共通吸気通路１１に接続するようにしてもよい。また、キャニスタ２５内に吸着材を充填するのではなく、吸着以外の現象（例えば、吸収、反応等）を利用して蒸発燃料を捕集する材料を充填してもよい（ただし、空気によるパージが可能なもの）。
なお、キャニスタ２５は特許請求の範囲に記載された「蒸発燃料捕集手段」に相当する。
【００５５】
パージ通路２８にはこれを任意に開閉することができるデューティソレノイド式のパージ制御弁２９が介設され、このパージ制御弁２９はコントロールユニットＣＵによってその開度がデューティ制御されるようになっている。このパージ制御弁２９は、コントロールユニットＣＵから印加される駆動デューティ比に従って開閉制御され、例えば駆動デューティ比が０のときには全閉され、駆動デューティ比が１００％のときには全開され、両者間では駆動デューティ比が大きいときほど開弁度合が大きくなるようになっている。
なお、パージ通路２８とパージ制御弁２９とからなる組立体は特許請求の範囲に記載された「蒸発燃料パージ手段」に相当する。
【００５６】
そして、この蒸発燃料回収手段２４において、パージ制御弁２９が全閉（駆動デューティ比０）されているときには燃料タンク内の空気はリリーフ通路２６を通してキャニスタ２５内にリリーフされた後、大気開放通路２７を通して大気中に排出されるが、この空気に含まれている蒸発燃料はキャニスタ２５内の吸着材層を通過する際に吸着材に捕集され、大気中には排出されない。
【００５７】
他方、パージ制御弁２９が開かれているときには吸気系１０の負圧によって、大気中の空気が、まず大気開放通路２７を通してキャニスタ２５内に吸い込まれて吸着材層を通り抜け、この後パージ通路２８とＡＭＩ１６（ミキシングチャンバ２１〜分岐アシストエア供給通路２３）とを通して吸気系１０にひいては燃焼室４にパージされる。ここで、パージ制御弁２９の開弁度合（すなわち、駆動デューティ比）に応じてパージされる空気の流量（以下、これをパージ空気量という）が変化するのはもちろんである。そして、その際キャニスタ２５内の吸着材に捕集されている蒸発燃料の一部が吸着材から離脱し、パージされた上記空気（以下、これをパージ空気という）ともに吸気系１０にひいては燃焼室４にパージされる。なお、以下ではこのように吸気系１０ひいては燃焼室４にパージされる蒸発燃料の流量を「蒸発燃料パージ量」という。
【００５８】
しかしながら、キャニスタ２５から燃焼室４に至るパージ空気ないしは蒸発燃料の輸送経路はかなりの容量を有しているので、キャニスタ２５からパージ通路２８に放出された蒸発燃料が燃焼室４に実際に達するまでには、上記輸送経路の容積及び形状（輸送特性）に相応する輸送遅れが伴われる。したがって、ある時刻において、キャニスタ２５からパージ通路２８に放出される蒸発燃料の流量（以下、これを蒸発燃料放出量という）と、燃焼室４に実際に流入する蒸発燃料の流量（以下、これを蒸発燃料流入量という）とは、定常状態にある特別な場合を除けば通常は一致しない。このため、以下では蒸発燃料パージ量を、蒸発燃料放出量と蒸発燃料流入量とに区別して説明することにする。
なお、キャニスタ２５から燃焼室４に至るパージ空気ないしは蒸発燃料の輸送経路の容積が非常に小さい場合は、輸送遅れを無視することができるので蒸発燃料放出量と蒸発燃料流入量とをとくには区別せず、蒸発燃料パージ量という概念を用いてもとくには不具合は生じない。
【００５９】
ところで、図３に示すエンジンＣＥでは、パージ通路２８の下流端をミキシングチャンバ２１に接続し、キャニスタ２５に捕集されている蒸発燃料をＡＭＩ１６を介して吸気系１０にパージするようにしているが、ＡＭＩが設けられていないエンジンの場合は、パージ通路２８の下流端を各独立吸気通路１４に分岐して接続すればよい。
また、図４に示すように、ＡＭＩが設けられていないエンジンＣＥ’の場合は、パージ通路２８の下流端をサージタンク１３に接続し、キャニスタ２５に捕集されている蒸発燃料を直接的に吸気系１０にパージするようにすれば、何ら不具合は生じない。なお、図４において、図３と共通する部材には同一番号を付している。
【００６０】
コントロールユニットＣＵは、特許請求の範囲に記載された「フィードバック補正値設定手段」、「空燃比制御手段」、「平均フィードバック補正値演算手段」、「蒸発燃料捕集量推定手段」、「蒸発燃料捕集量推定禁止手段」、「推定完了判定手段」、「蒸発燃料パージ量算出手段」、「蒸発燃料放出量算出手段」、「蒸発燃料流入量算出手段」、「パージ空気量演算手段」、「蒸発燃料放出量演算手段」、「輸送遅れ特性設定手段」、「蒸発燃料流入量演算手段」、「蒸発燃料比率演算手段」、「パージ規制手段」、「燃料供給量減量手段」、「蒸発燃料量推定装置」及び「空燃比検出手段（一部）」を含む、マイクロコンピュータで構成された、エンジンＣＥ（エンジンＣＥ’を含む、以下でも同様）の総合的な制御装置であって、リニアＯ２センサ９（あるいはλＯ２センサ）によって検出される空燃比（実空燃比）、スロットル開度センサ３１によって検出されるスロットル開度、エアフローセンサ３２によって検出される吸入空気量、回転数センサ３３によって検出されるエンジン回転数、アイドルスイッチ３４から出力されるアイドル信号等を制御情報として、エンジンＣＥ（蒸発燃料回収手段２４を含む）の各種制御、キャニスタ２５に捕集されている蒸発燃料の量（以下、これをトラップ量という）の推定、蒸発燃料放出量の算出（演算）、蒸発燃料流入量の算出（演算）等を行うようになっている。
なお、トラップ量は特許請求の範囲に記載された「蒸発燃料捕集量」に相当する。
【００６１】
しかしながら、エンジンＣＥの一般的な制御はよく知られており、またかかる一般的な制御は本発明の要旨とするところでもないのでその説明を省略し、以下では本発明の要旨に関連する、空燃比制御（燃料噴射量制御）の制御方法と、キャニスタパージ制御の制御方法と、トラップ量の推定方法と、蒸発燃料放出量の算出方法（演算方法）と、蒸発燃料流入量の算出方法（演算方法）とについてのみ説明する。
【００６２】
以下、図５を参照しつつコントロールユニットＣＵの基本的な機能について説明する。
図５に示すように、コントロールユニットＣＵは機能的にみれば、空燃比制御（燃料噴射量制御）及びキャニスタパージ制御を行うエンジン制御ブロックＳＬと、トラップ量の推定を行うトラップ量推定ブロックＳＭと、トラップ量に基づいて蒸発燃料放出量及び蒸発燃料流入量を演算する蒸発燃料パージ量演算ブロックＳＮとに大別される。
エンジン制御ブロックＳＬは、基本的には、空燃比が目標空燃比となるように燃料噴射弁１５の噴射パルス幅すなわち燃料噴射量を運転状態に応じてフィードバック制御又はオープンループ制御するとともに（空燃比制御）、キャニスタパージを行うべき運転領域では運転状態に応じてキャニスタパージを行う（キャニスタパージ制御）。
【００６３】
この空燃比制御においては、エンジンＣＥの運転状態が所定のフィードバック領域（例えば、高負荷領域と高回転領域を除いた領域）に入っていれば実空燃比の目標空燃比に対する偏差（以下、これを空燃比偏差という）に基づいてフィードバック制御が行われ、フィードバック領域に入っていなければ空燃比偏差には基づかないオープンループ制御が行われる。ここでの空燃比のフィードバック制御の制御手法はおよそ次のとおりである。
すなわち、吸入空気量とエンジン回転数とに応じて燃料噴射弁１５の基本パルス幅すなわち基本燃料噴射量が演算される（ベース演算）。
【００６４】
そして、他方では空燃比偏差（例えば、目標空燃比−実空燃比）に基づいて、例えば空燃比偏差に基づいて、フィードバック補正値ｃｆｂが演算される（ステップＳ１）。ここで、フィードバック補正値ｃｆｂは、中立値すなわち空燃比をいずれの方向にも補正しない中立的な値が０とされ、ｃｆｂ＞０のときは空燃比（燃料噴射量）をリッチ方向に補正し、ｃｆｂ＜０のときは空燃比（燃料噴射量）をリーン方向に補正する。
【００６５】
そして、基本パルス幅とフィードバック補正値ｃｆｂとに基づいて、例えば基本パルス幅にｃｆｂを乗算するなどして、基本パルス幅が空燃比偏差が縮小する方向に補正されて要求パルス幅すなわち要求燃料噴射量が演算される（ステップＳ２）。例えば、実空燃比が目標空燃比よりもリーンなときにはｃｆｂ＞０となり、これに伴って燃料噴射量が増量補正され空燃比がリッチ方向に補正されて空燃比偏差が縮小される。逆に、実空燃比が目標空燃比よりもリッチなときにはｃｆｂ＜０となり、これに伴って燃料噴射量が減量補正され空燃比がリーン方向に補正されて空燃比偏差が縮小される。かくして、空燃比偏差に応じて該空燃比偏差をなくすように空燃比（燃料噴射量）がフィードバック制御される。
なお、要求パルス幅すなわち要求燃料噴射量は、特許請求の範囲に記載された「必要燃料供給量」に相当する。
【００６６】
他方、空燃比のオープンループ制御が行われる場合は、フィードバック補正値ｃｆｂが０に固定される。この場合は、基本パルス幅が空燃比偏差に応じては何ら補正されずにそのまま要求パルス幅となるので、フィードバックのないオープンループ制御となる。
【００６７】
さらに、要求パルス幅すなわち要求燃料噴射量から、後で説明する蒸発燃料流入量に対応するパルス幅（以下、これをパージ補正パルス幅という）を減算して燃料噴射弁１５の実際の噴射パルス幅（以下、これを実噴射パルス幅という）すなわち実燃料噴射量（実際の燃料噴射量）が演算される。そして、この実噴射パルス幅すなわち実燃料噴射量でもって、所定のタイミングで燃料噴射弁１５から燃料が噴射される。かくして、実空燃比が目標空燃比に保持される。
【００６８】
キャニスタパージ制御は、キャニスタパージ条件が成立しているとき例えば水温が所定値（８０℃）以上のときに、よく知られた普通の手法でエンジンＣＥの運転状態に応じて行われる、すなわち、パージ制御弁２９にエンジンＣＥの運転状態に応じたデューティ比が印加され、キャニスタパージが行われる。
【００６９】
トラップ量推定ブロックＳＭは、キャニスタパージ時に、エンジン制御ブロックＳＬのステップＳ１で演算されたフィードバック補正値ｃｆｂを平均化処理することにより平均フィードバック補正値ｃｆｂａｖｅを演算し（ステップＳ３）、さらにこの平均フィードバック補正値ｃｆｂａｖｅに基づいて間接的にトラップ量を推定する（ステップＳ４）。すなわち、平均フィードバック補正値ｃｆｂａｖｅを、現在把握しているトラップ量（トラップ量推定値）が真のトラップ量よりも大きいか小さいかを判定する指標として用いることによりトラップ量を把握する。
【００７０】
後で説明するように、コントロールユニットＣＵは、所定の演算式を用いてトラップ量推定値に基づいて蒸発燃料流入量を演算し、さらに要求燃料噴射量から蒸発燃料流入量を減算することによって実燃料噴射量を設定するようにしている。ここで、トラップ量推定値が正確であればすなわち真のトラップ量と一致していれば蒸発燃料流入量が正確に演算されるので、キャニスタパージによって燃焼室４に供給される蒸発燃料はフィードバック制御の外乱とはならずフィードバック補正値ｃｆｂにとくには影響を与えない。この場合、ほかに大きな外乱がなければフィードバック補正値ｃｆｂは中立値（すなわち０）を中心にして若干変動するだけであり、したがって平均フィードバック補正値ｃｆｂａｖｅはほぼ中立値０となる。換言すれば、平均フィードバック補正値ｃｆｂａｖｅが０であれば、トラップ量推定値は真のトラップ量に一致していることになる。
【００７１】
しかしながら、トラップ量推定値が真のトラップ量よりも大きいとこれに伴って蒸発燃料流入量演算値が真値よりも大きくなり、したがって実燃料噴射量が適正値よりも小さくなるので燃焼室４に実際に供給される燃料が必要とされる燃料量（要求燃料噴射量）よりも少なくなり、実空燃比がリーン化する。この場合、このリーン化を是正するためにフィードバック補正値ｃｆｂがリッチ方向に変化して０より大きくなり、これに伴って平均フィードバック補正値ｃｆｂａｖｅが０より大きくなる。換言すれば、ｃｆｂａｖｅ＞０であれば、トラップ量推定値は真のトラップ量よりも大であるということになる。
【００７２】
なお、前記したとおりフィードバック補正値ｃｆｂは変動するので、トラップ量推定値が真のトラップ量より大であっても必ずしもｃｆｂ＞０になるとは限らず、したがってｃｆｂ＞０であってもトラップ量推定値が真のトラップ量よりも大であるとは限らない。したがって、フィードバック補正値ｃｆｂに基づいてトラップ量を推定した場合は、その推定精度は非常に低くなるものと考えられる。かかる事情に鑑み、本実施例では平均フィードバック補正値ｃｆｂａｖｅに基づいてトラップ量を推定するようにしている。
【００７３】
逆に、トラップ量推定値が真のトラップ量よりも小さいとこれに伴って蒸発燃料流入量演算値が真値よりも小さくなり、したがって実燃料噴射量が適正値よりも大きくなるので、燃焼室４に供給される燃料は必要とされる燃料量よりも多くなり、実空燃比がリッチ化する。この場合、このリッチ化を是正するためにフィードバック補正値ｃｆｂがリーン方向に変化して０より小となり、これに伴って平均フィードバック補正値ｃｆｂａｖｅが０より小となる。換言すれば、ｃｆｂａｖｅ＜０であれば、トラップ量推定値が真のトラップ量よりも小であるということになる。
【００７４】
したがって、最初にトラップ量推定値に適当な初期値を設定した上で、ｃｆｂａｖｅ＞０であればトラップ量推定値を所定の補正量σだけ減らし、ｃｆｂａｖｅ＜０であればトラップ量推定値を補正量σだけ増やすといった操作を繰り返せば、トラップ量推定値はやがて真のトラップ量に収束（到達）し、トラップ量が把握されることになる。かくして、平均フィードバック補正値ｃｆｂａｖｅに基づいてトラップ量が推定される。
【００７５】
ここで、トラップ量推定値が真のトラップ量にほぼ一致しているか否か、すなわちトラップ量の推定がほぼ完了しているか否かは、平均フィードバック補正値ｃｆｂａｖｅの絶対値│ｃｆｂａｖｅ│が所定の限界値ε以下であるか否かで判定するのが好ましい。│ｃｆｂａｖｅ│が非常に小さければ、トラップ量推定値が真のトラップにほぼ一致していると考えられるからである。
【００７６】
このトラップ量の推定手法においては、トラップ量ないしは蒸発燃料パージ量と、フィードバック補正値ｃｆｂないしは平均フィードバック補正値ｃｆｂａｖｅとの間に、前記のような相関性（相関関係）が成立していることを前提としている。したがって、かかる相関性が低い状況下あるいは相関性が存在しない状況下では、トラップ量を高精度で推定することはできない。このため、上記相関性が低い状況下あるいは相関性が存在しない状況下では、トラップ量の推定を禁止するのが好ましい。ここで、上記相関性が低い状況としては、後で説明するように、例えば充填効率や吸気圧が非常に高いとき、充填効率や吸気圧が非常に低いとき等があげられる。また、上記相関性が存在しない状況としては、例えばキャニスタパージが停止されているとき、空燃比のフィードバック制御停止されているとき（オープンループ制御時）等があげられる。
なお、上記相関性が低い状況あるいは相関性がない状況がいくつか重複して存在するときにのみトラップ量の推定を禁止するようにしてもよいのはもちろんである。
【００７７】
また、このトラップ量の推定手法においては、蒸発燃料流入量が正確に把握されていれば、すなわちキャニスタパージによる蒸発燃料の供給がフィードバック補正値ｃｆｂに対して影響を与えなければ、フィードバック補正値ｃｆｂが中立値０を中心にして変動し、したがって平均フィードバック補正値ｃｆｂａｖｅは中立値０になるということを前提としている。ところで、一般に、フィードバック補正値ｃｆｂが平均的には中立値０となるように、制御出力特性すなわち燃料噴射弁の噴射特性を学習により自動的に補正してゆくといった空燃比学習を行うようにしたエンジンが広く用いられているが、かかる空燃比の学習機能を備えたエンジンでトラップ量を推定する場合は、かかる空燃比学習が終了してからトラップ量の推定を行うのが好ましい。けだし、空燃比学習が終了していれば、キャニスタパージの影響がない場合には、平均フィードバック補正値ｃｆｂａｖｅが確実に中立値０になるからである。
【００７８】
なお、このようにしてトラップ量の推定が禁止されている期間がある程度以上継続されたときには、トラップ量推定値が真のトラップ量からずれているおそれがあるので、すでにトラップ量の推定が完了していると判定されている場合でも該判定を撤回（リセット）するのが好ましい。
【００７９】
上記補正量σが大きいときには、推定開始後においてトラップ量推定値の収束に要する時間、すなわちトラップ量を推定するのに要する時間を短くすることができるものの、トラップ量推定値の精度が低下する。他方、補正量σが小さいときには、トラップ量推定値の収束に要する時間は長くなるものの、トラップ量推定値の精度を高めることができる。したがって、収束に要する時間に対する要求と、トラップ量推定値の精度に対する要求とが両立するように、補正量σを適切な値に設定するのが好ましい。
【００８０】
なお、補正量σは一定値とする必要はなく、トラップ量の推定中に変化させてもよい。例えば、トラップ量の推定の進行状況に応じて変化させ、あるいは平均フィードバック補正値ｃｆｂａｖｅの値に応じて設定してもよい。例えば、トラップ量の推定開始時には補正量σを大きくして収束を早め、トラップ量推定値がある程度収束した後は補正量σを小さくしてトラップ量推定値の精度を高めるようにしてもよい。また、平均フィードバック補正値ｃｆｂａｖｅが大きいときほど補正量σを大きくすれば、トラップ量推定値が真のトラップ量からかけ離れているときには収束を早めることができ、他方トラップ量推定値が真のトラップ量に近いときにはその精度を高めることができる。
【００８１】
蒸発燃料パージ量演算ブロックＳＮは、基本的には、トラップ量推定ブロックＳＭのステップＳ４で推定されたトラップ量推定値に基づいて蒸発燃料放出量を演算し、さらにこの蒸発燃料放出量に基づいて蒸発燃料流入量を演算し、この蒸発燃料流入量に相当する燃料噴射弁１５のパルス幅すなわちパージ補正パルス幅を演算し、このパージ補正パルス幅をエンジン制御ブロックＳＬに出力する。つまり、フィードフォワード制御（見込み制御）により、タイムラグを生じさせることなくひいては空燃比のずれを生じさせることなく空燃比制御に対するキャニスタパージの影響を補償することになる。
より詳しくは、まずパージ通路２８内におけるパージ制御弁２９の前後差圧すなわちパージ制御弁２９の直上流側と直下流側との間の圧力差（以下、これをパージ制御弁前後差圧という）が演算される一方（ステップＳ５）、パージ制御弁２９に印加されている駆動デューティ比からパージ制御弁開度（パージＳＯＬ開度）が演算され（ステップＳ６）、続いてパージ制御弁前後差圧とパージ制御弁開度とに基づいてパージ空気量（キャニスタ脱気Ａｉｒ量）が演算される（ステップＳ７）。
【００８２】
ここで、パージ制御弁前後差圧は、吸気充填効率に基づいて演算されるようになっているが、このようにする理由はおよそ次のとおりである。
すなわち、吸気圧はよく知られた手法で充填効率から演算することができ、かつパージ制御弁２９の直下流側の圧力は吸気圧とほぼ同一である。他方、パージ制御弁２９の直上流側の圧力は実質的に一定値（大気圧）とみなすことができる。そして、パージ制御弁前後差圧はパージ制御弁２９の直上流側の圧力と直下流側の圧力の差、すなわち大気圧と吸気圧との差である。したがって、充填効率に所定の演算処理を施すことによりパージ制御弁前後差圧を得ることができることになる。このようにすれば、吸気圧センサを設ける必要がなくなり、吸気系１０が簡素化される。
なお、パージ制御弁２９の直下流側の圧力を吸気圧センサを用いて検出するようにしてもよいのはもちろんである。また、パージ制御弁前後差圧を直接検出する差圧センサを設けてもよい。
【００８３】
パージ空気量は、パージ制御弁前後差圧とパージ制御弁開度とに基づいて、よく知られた手法で演算される。
すなわち、一般に気体の密閉通路に介設された機器の前後差圧ΔＰすなわち圧力損失と、該機器を流通する気体の流速ｕとの間には、流体力学の分野でよく知られていた一定の関数関係が成立する（例えば、ΔＰ＝ｋ・ｕ２）。したがって、前後差圧に基づいて該機器内における気体の流速を演算することができる。そして、この流速に該機器の流通断面積を乗算すれば該流路を流れている気体の体積流量を得ることができる。
したがって、かかる一般原理に鑑みれば、本実施例においては、パージ制御弁開度からパージ制御弁２９の流通断面積を容易に求めることができるので、パージ制御弁前後差圧とパージ制御弁開度（駆動デューティ比）とに基づいてパージ空気量（体積流量）を求めることができるわけである。
なお、パージ空気量を直接検出することができる流量検出センサを設け、該流量検出センサでパージ空気量を検出するようにしてもよい。
【００８４】
そして、ステップＳ７で演算されたパージ空気量と、トラップ量推定値とに基づいて蒸発燃料放出量（パージガス質量流量すなわち蒸発燃料の質量流量）が演算される（ステップＳ８）。次に、エンジン回転数が計測され（ステップＳ９）、このエンジン回転数とステップＳ８で演算された蒸発燃料放出量とに基づいてパージガス比率が演算される（ステップＳ１０）。ここで、パージガス比率とは、キャニスタ２５からパージ通路２８に放出された蒸発燃料が、必要とされる全燃料（要求燃料噴射量）中に占める比率であって、蒸発燃料の燃焼への寄与率をあらわしている。
なお、パージガス比率は特許請求の範囲に記載された「蒸発燃料比率」に相当する。
【００８５】
この後、キャニスタ２５から燃焼室４に至るパージ空気ないしは蒸発燃料の輸送経路（以下、これを蒸発燃料輸送経路という）の輸送遅れ特性（吸入空気量モデル）を設定し（ステップＳ１１）、続いてステップ１０で演算されたパージガス比率とステップＳ１１で設定された吸入空気量モデルとに基づいて正味パージガス比率が演算される（ステップＳ１２）。この正味パージガス比率は、燃焼室４に流入する蒸発燃料が、必要とされる全燃料（要求燃料噴射量）中に占める比率、すなわち蒸発燃料流入量が要求燃料噴射量中に占める比率である。したがって、燃料噴射弁１５から噴射すべき燃料量は、要求燃料噴射量に（１−正味パージガス比率）を乗算したものとなる。
なお、正味パージガス比率は特許請求の範囲に記載された「正味蒸発燃料比率」に相当する。
【００８６】
そして、ステップＳ１２で演算された正味パージガス比率（蒸発燃料流入量）に相当する燃料噴射弁１５のパルス幅すなわちパージ補正パルス幅が演算され（ステップＳ１３）、このパージ補正パルス幅が、前記のエンジン制御ブロックＳＬに出力される。
【００８７】
以下、図７〜図１４に示すフローチャートに従って、適宜図３〜図６を参照しつつ、コントロールユニットＣＵによる各種制御の制御手法ないしは各種演算の演算手法について説明する。
まず、図７に示すフローチャート従って、該制御手法ないしは演算手法の全体フローすなわちメインルーチンを説明する。
このメインルーチンにおいては、まずステップＴ１で初期化が行われる。具体的には、トラップ量推定値ｔｒａｐと、空燃比学習完了フラグｘｌｒｎｄと、トラップ量推定完了フラグｘｔｒａｐｌｒｎと、トラップ量推定可能フラグｘｔｌｅｘとに夫々初期値として０がセットされる。ここで、空燃比学習完了フラグｘｌｒｎｄは、空燃比学習が完了したときに１がたてられるフラグである。トラップ量推定完了フラグｘｔｒａｐｌｒｎは、トラップ量の推定が完了したときに１がたてられ、トラップ量の推定の禁止が所定時間以上継続されたときに０にリセットされるフラグである。トラップ量推定可能フラグｘｔｌｅｘは、トラップ量推定条件が成立したときに１がたてられ、上記トラップ量推定条件が不成立となったときに０にリセットされるフラグである。
【００８８】
次に、ステップＴ２でエンジン回転数ｎｅが演算され、続いてステップＴ３で充填効率ｃｅが演算される。ここで、充填効率ｃｅは、吸入空気量、エンジン回転数ｎｅ、吸気温等に基づいてよく知られた手法で演算される。
【００８９】
この後、ステップＴ４〜ステップＴ８が順に実行される。ここで、ステップＴ４〜Ｔ８は、夫々、後で説明する各種サブルーチンを用いて実行される。具体的には、ステップＴ４では、図１１又は図１２にそのフローチャートが示されているサブルーチンを用いて燃料噴射量の演算が行われる。ステップＴ５では、図１４にそのフローチャートが示されているサブルーチンを用いてパージ実行判定が行われる。ステップＴ６では、図１３にそのフローチャートが示されているサブルーチンを用いてパージ量の演算が行われる。ステップＴ７では、図１０にそのフローチャートが示されているサブルーチンを用いてトラップ量推定の実行判定が行われる。ステップＴ８では、図８又は図９にそのフローチャートが示されているサブルーチンを用いてトラップ量の演算が行われる。この後、ステップＴ２に復帰する。
【００９０】
以下、各サブルーチンについて具体的に説明する。
まず、図８に示すフローチャートに従って適宜図３〜図６を参照しつつ、メインルーチンのステップＴ８で実行（起動）されるトラップ量演算サブルーチン、すなわちコントロールユニットＣＵによるトラップ量の具体的な推定手法を説明する。
【００９１】
このサブルーチンにおいては、まずステップ＃２で、所定のトラップ量推定条件が成立しているか否か、すなわちエンジンＣＥの運転状態がトラップ量を高精度で推定することが可能な状態にあるか否かが判定される。ここでは、次の４つの条件がすべて成立しているときにはトラップ量推定条件が成立しているものと判定するようにしている。
（１）キャニスタパージが行われていること
（２）空燃比のフィードバック制御が行われていること
（３）充填効率が所定値未満であること（図１０中のステップ＃３３参照）
（４）空燃比学習が完了していること（図１０中のステップ＃３４参照）
なお、上記（１）〜（４）に加えて、吸気圧が所定値以下の時、トラップ量の推定が禁止できるように、吸気圧、または吸気圧相当を求めることができる充填効率が、上記（３）の所定値（上限値）より低い下限値（第２の所定値）以上であることをトラップ量推定条件としても良い。
【００９２】
換言すれば、キャニスタパージが停止されているとき、空燃比のフィードバック制御が停止されているとき、充填効率が所定値以上であるとき、又は空燃比学習が完了していないときには、トラップ量の推定を禁止するようにしている。このようにする理由は、およそ次のとおりである。
すなわち、前記したとおり、キャニスタパージ又はフィードバック制御が停止されているときは、トラップ量とフィードバック補正値ないしは平均フィードバック補正値との間に相関性が存在せず、したがってトラップ量を推定することができないのでトラップ量の推定を禁止するようにしている。
充填効率ないし吸気圧が非常に高いときには、パージ制御弁前後差圧が非常に小さくなるとともに吸気脈動が激しくなりフィードバック補正値が変動し、このためパージ空気量を高精度で演算することができなくなるので、トラップ量の推定を禁止するようにしている。
また、充填効率ないし吸気圧が非常に低いときには、パージ制御弁前後差圧が大きくなりすぎパージ空気量を高精度で演算することができなくなるので、トラップ量の推定を禁止するようにしている。
さらに、空燃比学習が完了した後でトラップ量の推定を行うようにしているのは、前記したとおり、空燃比学習が完了した後はトラップ量の推定精度が非常に高くなるからである（段落００７５参照）。
【００９３】
かくして、ステップ＃２でトラップ量推定条件が成立していると判定された場合は（ＹＥＳ）、ステップ＃３でトラップ量推定可能フラグｘｔｌｅｘに１がたてられるとともに、トラップ量推定禁止カウンタｃｔに初期値ｃｔ０がセットされる。トラップ量推定禁止カウンタｃｔは、トラップ量推定条件が不成立となってトラップ量の推定が禁止されている期間（時間）をカウントするためのカウンタである。
【００９４】
続いて、ステップ＃４で、次の式１により平均フィードバック補正値ｃｆｂａｖｅが演算されるとともに、平均フィードバック補正値ｃｆｂａｖｅの演算回数をカウントするための演算回数カウンタＰが１だけインクリメントされる（Ｐ＝Ｐ＋１）。すなわち、リニアＯ２センサ９を用いたこのエンジンでは、一定時間毎のフィードバック補正値の相加平均値が平均フィードバック補正値ｃｆｂａｖｅとされている。
【数１】
ｃｆｂａｖｅ＝Σ（ｋ＝０→ｎ−１）［ｃｆｂ（ｉ−ｋ）］／ｎ……………………………式１
ｃｆｂａｖｅ：平均フィードバック補正値
ｃｆｂ（ｉ）：今回のフィードバック補正値
ｃｆｂ（ｉ−ｋ）：ｋ回前のフィードバック補正値
ｎ：平均化処理されるｃｆｂのサンプル数
なお、式１において、Σ（ｋ＝α→β）［ｆ（ｋ）］は、関数ｆ（ｋ）の、ｋ＝αからｋ＝βまでのシグマ演算（Σ）をあらわすものとする。
【００９５】
次に、ステップ＃５で演算回数カウンタＰが所定の設定値Ｐ０以上であるか否かが判定され、Ｐ＜Ｐ０であると判定された場合は（ＮＯ）、以下の全ステップをスキップし、すなわちトラップ量の推定を行わずにステップ＃２に復帰する。このトラップ量演算サブルーチンでは、演算回数カウンタＰのカウント値が設定値Ｐ０未満の場合は、平均フィードバック補正値ｃｆｂａｖｅがまだ十分には安定していないものと考えられるので（フィードバック補正値ｃｆｂの変動の影響が残っている）トラップ量の推定を行わないようにしている。
【００９６】
他方、ステップ＃５でＰ≧Ｐ０であると判定された場合は（ＹＥＳ）、ステップ＃６で平均フィードバック補正値ｃｆｂａｖｅの絶対値│ｃｆｂａｖｅ│が所定の限界値ε以上であるか否かが判定される。
ここでは│ｃｆｂａｖｅ│＜εであればトラップ量の推定が完了しているものと判定し、この場合はトラップ量推定値が真のトラップ量とほぼ一致しているものと考えられるので、この現時点におけるトラップ量推定値ｔｒａｐを変化させずにそのまま保持するようにしている。
例えば、図１５に模式的に示すように、真のトラップ量がａ２である場合、トラップ量推定値ｔｒａｐがａ１〜ａ３の範囲内に入ったときにトラップ量の推定が完了しているものと判定されることになる。なお、図１５においてグラフＧ１は│ｃｆｂａｖｅ│をあらわしている。また、ｔｒａｐ＞ａ２の範囲内ではｃｆｂａｖｅ＞０であり、ｔｒａｐ＜ａ２の範囲内ではｃｆｂａｖｅ＜０である。
他方、│ｃｆｂａｖｅ│≧εであれば平均フィードバック補正値ｃｆｂａｖｅが０以下であるか又は０より大きいかに応じてトラップ量推定値ｔｒａｐを補正量σだけ増加又は減少させ、トラップ量推定値ｔｒａｐを真のトラップ量に近付けるようにしている。なお、補正量σの設定方法は前に説明したとおりである（段落００７７、段落００７８参照）。
【００９７】
具体的には、ステップ＃６で│ｃｆｂａｖｅ│＜εであると判定された場合は（ＮＯ）、ステップ＃１０でトラップ量推定完了フラグｘｔｒａｐｌｒｎに１がたてられる。他方、ステップ＃６で│ｃｆｂａｖｅ│≧εであると判定された場合は（ＹＥＳ）、ステップ＃７でｃｆｂａｖｅが０以下であるか否かが判定される。ここで、ｃｆｂａｖｅ≦０であると判定された場合は（ＹＥＳ）ステップ＃８でトラップ量推定値ｔｒａｐが補正量σだけ増やされ（ｔｒａｐ＝ｔｒａｐ＋σ）、他方ｃｆｂａｖｅ＞０であると判定された場合は（ＮＯ）ステップ＃９でトラップ量推定値ｔｒａｐが補正量σだけ減らされる（ｔｒａｐ＝ｔｒａｐ−σ）。
【００９８】
ところで、前記のステップ＃２でトラップ量推定条件が成立していないと判定された場合は（ＮＯ）、ステップ＃１１でトラップ量推定禁止カウンタｃｔが１だけデクリメントされてトラップ量の推定が禁止されている期間（時間）のカウントが開始されるとともに（ｃｔ＝ｃｔ−１）、演算回数カウンタＰが０にリセットされる（Ｐ＝０）。
【００９９】
次に、ステップ＃１２でトラップ量推定禁止カウンタｃｔが０以下であるか否か、すなわちトラップ量の推定が禁止された後所定期間ｃｔ０が経過したか否かが判定され、ｃｔ≦０であると判定された場合は（ＹＥＳ）、すでにｃｔ０を経過しているのでステップ＃１３でトラップ量推定完了フラグｘｔｒａｐｌｒｎが０にリセットされる。この場合は、前記したとおり、トラップ量推定値ｔｒａｐが真のトラップ量からずれているおそれがあるので、トラップ量推定完了フラグｘｔｒａｐｌｒｎをリセットするようにしている。他方、ステップ＃１２でｃｔ＞０であると判定された場合は（ＮＯ）、まだｃｔ０を経過していないのでステップ＃１３をスキップする。
【０１００】
図１６に、かかるトラップ量推定ルーチンが実行された場合において、時刻ｔ１でキャニスタパージが開始されたときの、パージ制御弁２９に印加される駆動デューティ比ｄｐｇ（グラフＧ２）、フィードバック補正値ｃｆｂ（グラフＧ３）、平均フィードバック補正値ｃｆｂａｖｅ（グラフＧ４）及びトラップ量推定値ｔｒａｐ（グラフＧ５）の経時変化の一例を示す。
図１６から明らかなとおり、トラップ量推定値ｔｒａｐは時刻ｔ１から推定が開始され、まもなく一定値に収束している。このようにして、トラップ量が高精度で推定される。
【０１０１】
この図８に示すトラップ量演算サブルーチンでは、ステップ＃４で、前記したとおり、一定時間毎のフィードバック補正値ｃｆｂの相加平均が平均フィードバック補正値ｃｆｂａｖｅとされているが、このようにせず、次の式２を用いてフィードバック補正値ｃｆｂを重み付けした加重平均値すなわちなまし値を求め、この加重平均値を平均フィードバック補正値ｃｆｂａｖｅとしてもよい。
【数２】
ｃｆｂａｖｅ＝α・ｃｆｂ（ｉ）＋（１−α）・ｃｆｂ（ｉ−１）…………………………式２
α；重み係数
ｃｆｂａｖｅ：平均フィードバック補正値
ｃｆｂ（ｉ）：今回のフィードバック補正値
ｃｆｂ（ｉ−１）：前回のフィードバック補正値
【０１０２】
ここで、Ｏ２センサとしてλＯ２センサを用いる場合は、かかる加重平均値を平均フィードバック補正値ｃｆｂａｖｅとするのが好ましい。
図９に、このように加重平均をとることにより平均フィードバック補正値ｃｆｂａｖｅを演算する場合のトラップ量演算サブルーチンのフローチャートを示す。なお、図９に示すフローチャートは、ステップ＃４’を除けば図８に示すフローチャートと同一である。
【０１０３】
図２０に、リニアＯ２センサを用いたエンジンにおいて、フィードバック補正値ｃｆｂの相加平均値を平均フィードバック補正値ｃｆｂａｖｅとした場合の（図８中のステップ＃４参照）、フィードバック補正値ｃｆｂ（グラフＭ１）及び平均フィードバック補正値ｃｆｂａｖｅ（グラフＭ２）の、時間に対する変化特性を示す。
図２０から明らかなとおり、リニアＯ２センサを用いてフィードバック補正値ｃｆｂの相加平均値を平均フィードバック補正値ｃｆｂａｖｅとした場合は、精度の高い平均フィードバック補正値ｃｆｂａｖｅが得られる。
【０１０４】
また、図２１に、λＯ２センサを用いた場合において、フィードバック補正値ｃｆｂの加重平均値すなわちなまし値を平均フィードバック補正値ｃｆｂａｖｅとした場合の（図９中のステップ＃４’参照）、フィードバック補正値ｃｆｂ（グラフＭ３）及び平均フィードバック補正値ｃｆｂａｖｅ（グラフＭ４）の時間に対する変化特性を示す。
図２１から明らかなとおり、λＯ２センサを用いてフィードバック補正値ｃｆｂの加重平均値を平均フィードバック補正値ｃｆｂａｖｅとした場合は、過渡時において応答遅れの少ない平均フィードバック補正値ｃｆｂａｖｅが得られる。なお、ＰＩＤ制御では、反転値サンプルの相加平均値（グラフＭ５）は、応答遅れが大きくなる。
【０１０５】
ところで、コントロールユニットＣＵが空燃比の学習機能を備えている場合は、前に説明したとおり、空燃比学習が終了した後でトラップ量の推定を行うのが好ましい。なお、空燃比学習が終了した後でトラップ量の推定を行う場合の利点は前に説明したとおりである（段落００７５参照）。
【０１０６】
以下、図１０に示すフローチャートに従って、適宜図３〜図６を参照しつつ、メインルーチンのステップＴ７で実行（起動）されるトラップ量推定実行判定サブルーチン、すなわち空燃比の学習機能を備えている場合の好ましいトラップ量の推定手法を説明する。
このサブルーチンでは、基本的にはアイドル時において所定の空燃比学習条件が成立しているときに空燃比学習を行う一方、該空燃比学習が終了した後において所定のトラップ量推定条件が成立しているときにトラップ量の推定を行うようにしている。
【０１０７】
具体的には、図１０に示すように、まずステップ＃２２でアイドル判定フラグｘｉｄｌが１であるか否かが判定される。アイドル判定フラグｘｉｄｌは、エンジンＣＥがアイドル状態にあるときには１がたてられ、非アイドル状態にあるときには０にリセットされるフラグである。ここで、ｘｉｄｌ＝１であると判定された場合は（ＹＥＳ）、ステップ＃２３〜ステップ＃２９の空燃比学習を行うためのアイドル時用ルーチンが実行される。他方、ｘｉｄｌ≠１（ｘｉｄｌ＝０）であると判定された場合は（ＮＯ）、ステップ＃３０で空燃比学習実行カウンタｃｌｒｎとアイドル継続時間カウンタｔｉｄｌとが夫々０にリセットされた後、後で説明するステップ＃３１が実行されることになる。
【０１０８】
アイドル時用ルーチンが実行される場合は、まずステップ＃２３とステップ＃２４とで、順に、空燃比フィードバック制御実行フラグｘｆｂが１であるか否かと、アイドル継続時間カウンタｔｉｄｌが所定値αを超えているか否かとが判定される。ここで、空燃比フィードバック制御実行フラグｘｆｂは空燃比のフィードバック制御が行われているときには１がたてられ、フィードバック制御が行われていないとき（オープンループ制御時）には０にリセットされるフラグである。また、アイドル継続時間カウンタｔｉｄｌは、アイドル時におけるアイドル運転開始後の経過時間をカウントするためのカウンタである。
【０１０９】
このトラップ量推定実行判定サブルーチンでは、アイドル時における空燃比のフィードバック制御時において、アイドル運転継続時間が所定期間α以下の場合は、エンジンＣＥが安定したアイドル状態に達していないものと考えられるので、空燃比学習を行わないようにしている。
かくして、ステップ＃２３でｘｆｂ≠１（ｘｆｂ＝０）であると判定された場合は（ＮＯ）、空燃比学習を行うことができないので、ステップ＃２４〜ステップ＃２９は実行されず、前記のステップ＃３０で空燃比学習実行カウンタｃｌｒｎとアイドル継続時間カウンタｔｉｄｌとが夫々０にリセットされた後、ステップ＃３１が実行される。
【０１１０】
また、ステップ＃２３でｘｆｂ＝１であると判定された場合（ＹＥＳ）、すなわちフィードバック制御時であっても、ステップ＃２４でｔｉｄｌ≦αであると判定された場合は（ＮＯ）、やはり空燃比学習を行うことができないので、ステップ＃２８で、アイドル継続時間カウンタｔｉｄｌが１だけインクリメントされた後（ｔｉｄｌ＝ｔｉｄｌ＋１）、ステップ＃３１が実行される。
【０１１１】
他方、ステップ＃２４でｔｉｄｌ＞αであると判定された場合は（ＹＥＳ）、ステップ＃２５で空燃比学習実行カウンタｃｌｒｎが所定値β未満であるか否かが判定される。空燃比学習実行カウンタｃｌｒｎは、アイドル運転開始後において空燃比学習が実行された回数をカウントするためのカウンタである。ここでは、空燃比学習の実行回数が所定値β以上となったときに空燃比学習が終了しているものと判定するようにしている。
【０１１２】
かくして、ステップ＃２５でｃｌｒｎ＜βであると判定された場合は（ＹＥＳ）、まだ空燃比学習が終了していないのでステップ＃２６で空燃比学習が継続され、続いてステップ＃２７で空燃比学習実行カウンタｃｌｒｎが１だけインクリメントされ（ｃｌｒｎ＝ｃｌｒｎ＋１）、この後ステップ＃３１が実行される。なお、空燃比学習は、空燃比偏差が０のときにはフィードバック補正値ｃｆｂが平均的には中立値０となるように、燃料噴射弁１５の噴射特性を変化させるなどといった普通の手法で行われる。
【０１１３】
他方、ステップ＃２５でｃｌｒｎ≧βであると判定された場合は（ＮＯ）、空燃比学習が終了しているのでステップ＃２９で空燃比学習完了フラグｘｌｒｎｄに１がたてられ、この後ステップ＃３１が実行される。
【０１１４】
かくして、ステップ＃３１〜ステップ＃３４では、トラップ推定条件が成立しているか否かが判定される。ここでは、次の４つの条件がすべて成立しているときには、トラップ量推定条件が成立しているものと判定し、これらのうちのいずれか１つでも不成立であればトラップ量推定条件が不成立であると判定するようにしている。
（１）キャニスタパージが行われていること
（２）空燃比のフィードバック制御が行われていること
（３）充填効率（または吸気圧）が所定値未満であること
（４）空燃比学習が完了（終了）していること
これらの４つの条件（１）〜（４）を設ける理由は、図８にフローチャートを示している前記のトラップ量演算サブルーチンのステップ＃２の場合と同様である。なお、上記（１）〜（４）に加えて、吸気圧が所定値以下の時、トラップ量の推定が禁止できるように、吸気圧、または吸気圧相当を求めることができる充填効率が、上記（３）の所定値（上限値）より低い下限値（第２の所定値）以上であることをトラップ量推定条件としても良い。
【０１１５】
具体的には、ステップ＃３１〜ステップ＃３４の４つのステップで、順に、パージ実行フラグｘｐｇが１であるか否かすなわちキャニスタパージが行われているか否かと、空燃比フィードバック制御実行フラグｘｆｂが１であるか否かすなわち空燃比のフィードバック制御が行われているか否かと、充填効率ｃｅが所定値γ未満であるか否かと、空燃比学習完了フラグｘｌｒｎｄが１であるか否かすなわち空燃比学習が終了しているか否かとが判定される。
【０１１６】
ここで、ｘｐｇ＝１であり、ｘｆｂ＝１であり、ｃｅ＜γであり、かつｘｌｒｎｄ＝１であると判定された場合（ステップ＃３１〜ステップ＃３４がすべてＹＥＳ）、すなわちトラップ量推定条件が成立していると判定された場合は、ステップ＃３５でトラップ量が推定される。なお、トラップ量の具体的な推定方法は、図６にフローチャートを示すトラップ量演算サブルーチンの場合と同様である。
【０１１７】
他方、ｘｐｇ＝０であるか、ｘｆｂ＝０であるか、ｃｅ≧γであるか、又はｘｌｒｎｄ＝０であると判定された場合は（ステップ＃３１〜ステップ＃３４のいずれか１つがＮＯ）、トラップ量推定条件が成立していないので、ステップ＃３５をスキップする。
このように、図１０にフローチャートを示すこのトラップ量推定手法によれば、空燃比学習が終了した後でトラップ量が推定されるので、トラップ量の推定精度が大幅に高められる。
【０１１８】
以下、図１１に示すフローチャートに従って、適宜図３〜図６を参照しつつ、メインルーチンのステップＴ４で実行（起動）される燃料噴射量演算サブルーチン、すなわちコントロールユニットＣＵによるパージガス比率（蒸発燃料放出量）及び正味パージガス比率（蒸発燃料流入量）の演算手法と、空燃比制御（燃料噴射量制御）の制御手法とについて具体的に説明する。
この燃料噴射量演算サブルーチンでは、ステップ＃４１〜ステップ＃４７が順に実行される。
ステップ＃４１では、パージ制御弁前後差圧テーブルｔａｂｌｅ１を検索することにより、吸気充填効率ｃｅに基づいてパージ制御弁前後差圧ｄｐが演算される。ここでｓｉｐｏｌ（ｔａｂｌｅ１，ｃｅ）は、ｃｅを独立変数としｄｐを従属変数とする所定の関数関係をあらわすｔａｂｌｅ１において、あるｃｅに対応するｄｐを意味する。パージ制御弁前後差圧テーブルｔａｂｌｅ１は、吸気充填効率ｃｅとパージ制御弁前後差圧ｄｐとの間の関数関係をあらわすテーブルである。吸気充填効率ｃｅに基づいてパージ制御弁前後差圧ｄｐを演算することができる所以は前に説明したとおりである（段落００８０参照）。
なお、パージ制御弁前後差圧ｄｐを、このようなテーブル検索によるのではなく、ｃｅとｄｐの関係をあらわす関数ｆ１（ｃｅ）を用いて直接的に演算するようにしてもよい（ｄｐ＝ｆ１（ｃｅ））。
【０１１９】
ステップ＃４２では、パージ空気量マップｍａｐ１を検索することにより、パージ制御弁前後差圧ｄｐとパージ制御弁２９に印加される駆動デューティ比ｄｐｇとに基づいてパージ空気量ｑｐｇが演算される。ここでｓｍａｐ（ｍａｐ１，ｄｐｇ，ｄｐ）は、ｄｐｇ及びｄｐを独立変数としｑｐｇを従属変数とする所定の関数関係をあらわすｍａｐ１において、あるｄｐｇ及びｄｐに対応するｑｐｇを意味する。パージ空気量ｍａｐ１は、駆動デューティ比ｄｐｇ、パージ制御弁前後差圧ｄｐ及びパージ空気量ｑｐｇの相互間の関数関係をあらわすマップである。駆動デューティ比ｄｐｇとパージ制御弁前後差圧ｄｐとに基づいてパージ空気量ｑｐｇを演算することができる所以は前に説明したとおりである（段落００８１参照）。
なお、パージ空気量ｑｐｇを、このようなマップ検索によるのではなく、ｄｐｇ、ｄｐ及びｑｐｇの相互関係をあらわす関数ｆ２（ｄｐｇ，ｄｐ）を用いて直接的に演算するようにしてもよい（ｑｐｇ＝ｆ２（ｄｐｇ，ｄｐ））。
【０１２０】
ステップ＃４３では、蒸発燃料放出量マップｍａｐ２を検索することにより、パージ空気量ｑｐｇとトラップ量ｔｒａｐとに基づいて蒸発燃料放出量ｇｐｇが演算される。ここでｓｍａｐ（ｍａｐ２，ｑｐｇ，ｔｒａｐ）は、ｑｐｇ及びｔｒａｐを独立変数としｇｐｇを従属変数とする所定の関数関係をあらわすｍａｐ２において、あるｑｐｇ及びｔｒａｐに対応するｇｐｇを意味する。パージ空気量ｍａｐ２は、パージ空気量ｑｐｇ、トラップ量ｔｒａｐ及び蒸発燃料放出量ｇｐｇの相互間の関数関係をあらわすマップである。
図１７に、蒸発燃料放出量ｇｐｇの、パージ空気量ｑｐｇ及びトラップ量ｔｒａｐに対する依存特性の一例を示す。蒸発燃料放出量マップｍａｐ３は、例えば図１７に示すような関数関係をマップ化したものである。
なお、蒸発燃料放出量ｇｐｇを、このようなマップ検索によるのではなく、ｑｐｇ、ｔｒａｐ及びｇｐｇの相互関係をあらわす関数ｆ３（ｇｐｇ，ｔｒａｐ）を用いて直接的に演算するようにしてもよい（ｇｐｇ＝ｆ３（ｑｐｇ，ｔｒａｐ））。
【０１２１】
ステップ＃４４では、次の式３によりパージガス比率ｃｐｇｏが演算される。
【数３】
ｃｐｇｏ＝Ｙｓ・１２０／（γ０・Ｖｃ）・ｇｐｇ／ｎｅ…………………………式３
ｃｐｇｏ：パージガス比率
Ｙｓ：吸入空気量を燃料噴射量に換算するための換算係数
γ０：密度
Ｖｃ：シリンダ有効容積
ｇｐｇ：蒸発燃料放出量
ｎｅ：エンジン回転数［ｒ．ｐ．ｍ．］
なお、式３において、１２０／（γ０・Ｖｃ・ｎｅ）は、単位時間（秒）当たりの燃焼室４への吸入空気量（質量流量）の逆数であり、したがってこれに換算係数Ｙｓを乗算したＹｓ・１２０／（γ０・Ｖｃ・ｎｅ）は単位時間あたりの要求燃料噴射量の逆数である。したがって、パージガス比率ｃｐｇｏは、蒸発燃料放出量を要求燃料噴射量で除算した値、すなわち蒸発燃料放出量の全燃料流量に対する比率である。
【０１２２】
ステップ＃４５では、次の式４により正味パージガス比率ｃｐｇが演算される。
【数４】
ｃｐｇ＝λ・ｃｐｇ＋（１−λ）・ｃｐｇｏ………………………………………式４
ｃｐｇ：正味パージガス比率
λ：一次フィルタ係数（０＜λ＜１）
ｃｐｇｏ：パージガス比率
式４は蒸発燃料輸送経路の輸送遅れ特性をあらわすモデル式である。エンジンＣＥの吸気系１０、ＡＭＩ１６及びパージ通路２８の形状に応じて好ましく一次フィルタ係数λを設定することにより、式４を用いて正味パージガス比率ｃｐｇ（蒸発燃料流入量）を正確に演算することができる。
【０１２３】
ステップ＃４６では、次の式５により実パルス幅ｔａ（実燃料噴射量）すなわち燃料噴射弁１５から実際に噴射すべき燃料噴射量が演算される。
【数５】
ｔａ＝Ｋ・  （ｃｅ・ｃｔｏｔａｌ−ｃｐｇ）……………………………………式５
ｔａ：実パルス幅
Ｋ：換算係数
ｃｅ：吸気充填効率
ｃｔｏｔａｌ：補正係数
式５において、Ｋ・ｃｅ・ｃｔｏｔａｌは要求パルス幅（要求燃料噴射量）すなわち燃焼室４で実際に必要とされる燃料量をあらわしている。また、ｋ・ｃｐｇはパージによる供給燃料量を噴射パルス幅相当に換算したものである。したがって、式５では燃料噴射弁１５から実際に噴射すべき燃料量（実燃料噴射量）に対応する噴射パルス幅すなわち実パルス幅ｔａが演算されることになる。
【０１２４】
ステップ＃４７では、ステップ＃４６で演算された実パルス幅ｔａで燃料噴射弁１５から燃料が噴射され、この後ステップ＃４１に復帰する。このようにして燃焼室４には、キャニスタパージを行っているときでも、運転状態に応じて必要とされる量の燃料が正確に供給され、空燃比制御（燃料噴射量制御）の制御精度が高められ、実空燃比が目標値に保持される。この場合、運転状態に応じて要求燃料噴射量を決定するプロセスすなわち空燃比制御本体はフィードバック制御であるが、要求燃料噴射量から蒸発燃料流入量を差し引いてキャニスタパージによる影響を排除するプロセスはフィードフォワード制御である。したがって、正味パージガス比率ないしは蒸発燃料流入量の演算にはタイムラグが伴われない。このため、キャニスタパージに起因する実空燃比の目標値に対するずれは生じない。
図１８に、かかる制御が行われた場合において時刻ｔ２でキャニスタパージが開始されたときの、駆動デューティ比ｄｐｇ（グラフＨ１）、パージガス比率ｃｐｇｏ（グラフＨ２）、正味パージガス比率ｃｐｇ（グラフＨ３）及び実パルス幅ｔａ（グラフＨ４）の時間に対する変化特性の一例を示す。
【０１２５】
このように、エンジンＣＥにおいては、トラップ量を推定し、該トラップ量に基づいて蒸発燃料流入量（正味パージガス比率）を正確に演算し、要求燃料噴射量から蒸発燃料流入量を差し引いて実燃料噴射量を設定するようにしているので、キャニスタパージによって吸気系１０ないしは燃焼室４に流入する蒸発燃料が空燃比のフィードバック制御の外乱とはならない。このため、トラップ量の推定が完了しているときにはキャニスタパージによっては空燃比の目標値に対するずれは生じない。
しかしながら、トラップ量の推定が完了していないときすなわちトラップ量推定完了フラグｘｔｒａｐｌｒｎが０であるときには、正味パージガス比率ないしは蒸発燃料流入量が正確には把握されない。したがって、トラップ量の推定が完了していないときには、キャニスタパージを規制するのが好ましい。
【０１２６】
かかるキャニスタパージの具体的な規制方法としては、例えば次のようなものが考えられる。
すなわち、トラップ量の推定が完了するまでは、キャニスタパージを禁止し、あるいはパージ速度（パージ空気量）を小さくするようにしてもよい。なお、キャニスタパージを禁止する場合は、該禁止をアイドル時のみとしてもよい。
また、パージ制御弁２９が閉状態から開状態に変化してキャニスタパージが開始される際には、燃焼室４への燃料供給特性の急変を防止するために、パージ制御弁２９の駆動デューティ比（パージ空気量）を、運転状態に応じて設定される目標駆動デューティ比まで一挙に増加させるのではなく、徐々に増加させるのが好ましい。
そして、このように駆動デューティ比を目標駆動デューティ比に達するまで徐々に増加させるようにした場合において、トラップ量の推定が完了していないときにはキャニスタパージ開始時における駆動デューティ比の増加速度を小さくするのが好ましい。つまり、トラップ量の推定が完了しているときには駆動デューティ比の増加速度を大きくし、トラップ量の推定が完了していないときには駆動デューティ比の増加速度を小さくすることになる。
【０１２７】
ところで、燃料噴射量演算サブルーチンにおいては、パージ空気量ｑｐｇ及びトラップ量ｔｒａｐだけではなく、さらにキャニスタの２５の脱気特性をも加味して蒸発燃料放出量ｇｐｇを演算するようにしてもよい。ここで、上記脱気特性としては、例えば、パージ空気によってキャニスタ２５からパージされる燃料の質量流量（パージ質量流量）の吸気温依存性等を用いるのが好ましい。
なお、図２２に、トラップ量を一定とした場合における、パージ質量流量の吸気温依存性の一例を示す。
【０１２８】
また、図６に、図２２に示すようなパージ質量流量の吸気温依存性を考慮した場合における、制御システムの一例を示す。この図６に示す制御システムは、ステップＳ８でパージガス質量流量を演算する際に、吸気温ないしは吸気温依存性を考慮する点を除けば、前記の図５に示す制御システムと同様である。
さらに、図１２に、図２２に示すようなパージ質量流量の吸気温依存性を考慮した場合における燃料噴射量演算サブルーチンのフローチャートを示す。この図１２に示す燃料噴射量演算サブルーチンは、ステップ＃４３ａと、ステップ＃４３ｂで、上記吸気温依存性を考慮して次の式６、式７を用いて蒸発燃料放出量ｇｐｇを演算する点を除けば、前記の図１１に示す燃料噴射量演算サブルーチンと同様である。
【数６】
ｇｐｇφ＝ｓｍａｐ（ｍａｐ２，ｑｐｇ、ｔｒａｐ）…………………………………………式６
（ｇｐｇφ＝ｆ３（ｑｐｇ，ｔｒａｐ）
【数７】
ｇｐｇ＝ｇｐｇφ・ｓｉｐｏｌ（ｔａｂｌｅ２，ｔｈａａ）………………………………………式７
ｇｐｇφ：吸気温補正前蒸発燃料放出量
ｇｐｇ：吸気温補正後蒸発燃料放出量
ｔｈａａ：吸気温
このように、吸気温依存性を考慮した場合、燃料タンク等の配置にかかわらず、燃料パージ量を高精度で演算することができる。
【０１２９】
以下、図１３に示すフローチャートに従って、適宜図３〜図６を参照しつつ、メインルーチンのステップＴ６で実行（起動）されるパージ量演算サブルーチン、すなわちキャニスタパージ開始時に駆動デューティ比を徐々に増加させるようにした場合における、駆動デューティ比の増加速度の制御方法を説明する。
このパージ量演算サブルーチンでは、まずステップ＃５１で、パージ実行フラグｘｐｇが１であるか否かが判定され、ｘｐｇ≠１（ｘｐｇ＝０）であれば（ＮＯ）、ステップ＃５２でパージ補正値ｃｍｏｄが０とされる。
【０１３０】
パージ補正値ｃｍｏｄは、キャニスタパージが開始される際に、エンジンＣＥの運転状態に応じて設定された目標駆動デューティ比を補正するための０以上１以下の補正値であって、目標駆動デューティ比とパージ補正値ｃｍｏｄの積がパージ制御弁２９に実際に印加される駆動デューティ比ｄｐｇとなる。そして、パージ補正値ｃｍｏｄは、キャニスタパージ開始前は０とされ、キャニスタパージ開始後は増分ＳＰで徐々に増やされ、したがってパージ空気量が徐々に増やされる。そして、パージ補正値ｃｍｏｄが１に達した後は、１に保持される。なお、パージ補正値ｃｍｏｄが０である場合は目標駆動デューティ比の値にかかわらずキャニスタパージが停止され、パージ補正値ｃｍｏｄが１である場合は目標駆動デューティ比がそのままパージ制御弁２９に印加されることになる。
【０１３１】
他方、ステップ＃５１で、ｘｐｇ＝１であると判定された場合は（ＹＥＳ）、ステップ＃５３でパージ補正値ｃｍｏｄが１であるか否かが判定される。ここで、ｃｍｏｄ≠１（すなわち、ｃｍｏｄ＜１）であると判定された場合は（ＮＯ）、キャニスタパージ開始後においてパージ補正値ｃｍｏｄを徐々に増加させるべき状態にあるので、ステップ＃５４〜ステップ＃５７で、トラップ量の推定が完了しているか否かを考慮して、パージ補正値ｃｍｏｄが徐々に増やされる。
【０１３２】
具体的には、ステップ＃５４で、トラップ量推定完了フラグｘｔｒａｐｌｒｎが１であるか否か、すなわちトラップ量の推定が完了しているか否かが判定される。ここで、ｘｔｒａｐｌｒｎ＝１であると判定された場合は（ＹＥＳ）、ステップ＃５５で増分ＳＰが比較的大きい値ＫＭ１とされ、この後ステップ＃５７が実行される。この場合は、トラップ量の推定が完了しているので、正味パージガス比率ないしは蒸発燃料流入量を正確に演算することができる。したがって、フィードフォワード制御でキャニスタパージの影響を確実に補償することができる。すなわち、ある程度急激にキャニスタパージを開始しても、その影響は十分に補償され、空燃比制御に乱れを生じさせない。そこで、増分ＳＰを大きくして、すなわちパージ補正値ｃｍｏｄの増加速度を大きくして、早期に目標駆動デューティ比でキャニスタパージを行うようにしている。
この場合、実際にパージ制御弁２９に印加される駆動デューティ比ｄｐｇの時間に対する変化特性は、例えば図１９中のグラフＬ１のようになる。なお、図１９中において、グラフＬ１，Ｌ２が時間軸と平行になっている部分は、目標駆動デューティ比をあらわしている。
【０１３３】
他方、ステップ＃５４でｘｔｒａｐｌｒｎ≠１（ｘｔｒａｐｌｒｎ＝０）であると判定された場合は（ＮＯ）、ステップ＃５６で増分ＳＰが比較的小さい値ＫＭ２（ＫＭ２＜ＫＭ１）とされ、この後ステップ＃５７が実行される。この場合は、トラップ量の推定がまだ完了していないので、正味パージガス比率ないしは蒸発燃料流入量を正確に演算することができない。したがって、フィードフォワード機能が十分にははたらかないので、急激にキャニスタパージを開始すると、その影響が十分に補償されず、空燃比制御に乱れを生じる。そこで、増分ＳＰを小さくして、すなわちパージ補正値ｃｍｏｄの増加速度を小さくするようにしている。
この場合、実際にパージ制御弁２９に印加される駆動デューティ比ｄｐｇの時間に対する変化特性は、例えば図１９中のグラフＬ２のようになる。
【０１３４】
ステップ＃５７では、前回のパージ補正値ｃｍｏｄにＳＰを加算して今回のパージ補正値ｃｍｏｄが演算される。なお、加算の結果今回のパージ補正値ｃｍｏｄが１を超える場合には１にとどめられる。ここで、ａｄｄｃｌｉｐ（ｃｍｏｄ，ＳＰ，１）は、ｃｍｏｄにＳＰを加算するが上限値を１とするといった演算処理をあらわしている。このようにして、パージ補正値ｃｍｏｄが徐々に増やされる。
【０１３５】
次に、ステップ＃５８で、次の式８によりパージ制御弁２９に実際に印加すべき駆動デューティ比ｄｐｇが演算される。
【数８】
ｄｐｇ＝ｃｍｏｄ・ｓｍａｐ（ｍａｐ３，ｎｅ，ｃｅ）………………………………………式８
ｄｐｇ：駆動デューティ比
ｃｍｏｄ：パージ補正値
ｓｍａｐ（ｍａｐ３，ｎｅ，ｃｅ）：目標駆動デューティ比
ｎｅ：エンジン回転数
ｃｅ：吸気充填効率
なお、式８において、ｓｍａｐ（ｍａｐ３，ｎｅ，ｃｅ）は、ｎｅ及びｃｅを独立変数としｄｐｇを従属変数とする所定の関数関係をあらわすデューティ比ｍａｐ３において、あるｎｅ及びｃｅに対応するｄｐｇを意味する。デューティ比ｍａｐ３は、エンジン回転数ｎｅ、吸気充填効率ｃｅ及び駆動デューティ比ｄｐｇの相互間の関数関係をあらわすマップである。
このようにして、キャニスタパージが開始される際には、駆動デューティ比ｄｐｇすなわちパージ空気量が徐々に増やされる。
【０１３６】
ところで、前記のステップ＃５３でｃｍｏｄ＝１であると判定された場合は（ＹＥＳ）、キャニスタパージ開始後においてｃｍｏｄがすでに１に達していることになるので、ステップ＃５４〜ステップ＃５７をスキップして、ステップ＃５８でパージ補正値ｃｍｏｄを１として駆動デューティ比ｄｐｇが演算される。
【０１３７】
以下、図１４に示すフローチャートに従って、適宜図３〜図６を参照しつつ、メインルーチンのステップＴ５で実行（起動）されるパージ実行判定サブルーチンについて説明する。
このパージ実行判定サブルーチンでは、まずステップ＃６１でパージ実行可であるか否かが判定され、パージ実行可でなければ（ＮＯ）、ステップ＃６６でパージ実行フラグｘｐｇに０がセットされる。この後、ステップ＃６１に復帰する。
なお、ここでは水温が８０℃以上である場合において、エンジンＣＥの運転状態がフィードバックゾーン又はエンリッチゾーンにあるときには、パージ実行可とされている。
【０１３８】
他方、ステップ＃６１でパージ実行可であると判定された場合は（ＹＥＳ）、ステップ＃６２でアイドル判定フラグｘｉｄｌが１であるか否か、すなわちアイドル時であるか否かが判定され、ｘｉｄｌ≠１（ｘｉｄｌ＝０）であれば（ＮＯ）、すなわちアイドル時でなければ、ステップ＃６５でパージ実行フラグｘｐｇに１がセットされる。
【０１３９】
ステップ＃６２で、ｘｉｄｌ＝１であると判定された場合は（ＹＥＳ）、ステップ＃６３とステップ＃６４とで、夫々、空燃比学習完了フラグｘｌｒｎｄが１であるか否かと、トラップ量推定完了フラグｘｔｒａｐｌｒｎが１であるか否かとが判定される。ここでは、アイドル時において、ｘｌｒｎｄ＝１でありかつｘｔｒａｐｌｒｎ＝１である場合、すなわち空燃比学習が完了しておりかつトラップ量推定が完了している場合にのみ、パージ実行を許可するようにしている（パージ実行フラグｘｐｇに１をセットする）。
【０１４０】
かくして、ステップ＃６３とステップ＃６４とで、ｘｌｒｎｄ＝１でありかつｘｔｒａｐｌｒｎ＝１であると判定された場合は、ステップ＃６５でパージ実行フラグｘｐｇに１がセットされる。他方、ｘｌｒｎｄとｘｔｒａｐｌｒｎのうちの少なくとも一方が０であれば、ステップ＃６６でパージ実行フラグｘｐｇに０がセットされる。
【０１４１】
このようにして、アイドル時においても、空燃比制御に乱れを生じさせずに、すなわち空燃比の目標値に対するずれを生じさせずにキャニスタパージを行うことができる。
【０１４２】
前記の実施例では、トラップ量を平均フィードバック補正値に基づいて推定するようにしているが、トラップ量を直接検出するトラップ量検出センサを設け、このトラップ量検出センサによって検出されたトラップ量に基づいて蒸発燃料放出量（パージガス比率）ないしは蒸発燃料流入量（正味パージガス比率）を演算するようにしてもよい。
この場合、トラップ量検出センサとしては、キャニスタ２５内の吸着材の静電容量に基づいてトラップ量を検出するもの、あるいはＨＣセンサ等をもちいることが可能である。
【０１４３】
【発明の作用・効果】
第１の発明によれば、平均フィードバック補正値に基づいて蒸発燃料捕集量が正確に推定される。したがって、該蒸発燃料捕集量とパージ空気量とに基づいて、好ましくは蒸発燃料輸送経路の輸送遅れ特性を考慮することによって、タイムラグのない蒸発燃料パージ量あるいは燃焼室への蒸発燃料流入量を正確に把握することが可能となる。そして、このようにして把握されたタイムラグのない蒸発燃料パージ量ないしは蒸発燃料流入量で燃料噴射量を減量補正することによって、キャニスタパージによって燃焼室に供給される蒸発燃料を、空燃比フィードバック制御の外乱から切り離すことができ、空燃比制御の制御精度を高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれの発生を有効に防止することができる。
また、平均フィードバック補正値に基づいて蒸発燃料捕集量を推定するようにしているので、フィードバック補正値が変動している場合でも蒸発燃料捕集量が正確に推定され、蒸発燃料捕集量の推定精度が大幅に高められる。
【０１４４】
第２の発明によれば、基本的には第１の発明と同様の作用・効果が得られる。さらに、平均フィードバック補正値が中立値より小さいか否かに応じて前回の蒸発燃料捕集量推定値を増減させ今回の蒸発燃料捕集量を推定するようにしているので、蒸発燃料捕集量の推定が極めて容易となる。
【０１４５】
第３の発明によれば、基本的には第２の発明と同様の作用・効果が得られる。さらに、平均フィードバック補正値が大きいときほど補正量が大きく設定されるので、蒸発燃料捕集量推定値の収束を速めることができる。
【０１４６】
第４の発明によれば、基本的には第１〜第３の発明のいずれか１つと同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性が低い条件下、すなわち平均フィードバック補正値に基づいて蒸発燃料捕集量を正確に推定することが困難な状況下では蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が高められる。
【０１４７】
第５の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性がないパージ停止時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１４８】
第６の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性が低い高充填効率時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１４９】
第７の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性が低い低吸気圧時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１５０】
第８の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性がない空燃比フィードバック制御停止時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１５１】
第９の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、相関性の低い条件が重複しているときに蒸発燃料の推定が禁止されるので、蒸発燃料捕集量の推定が過度に禁止されるのが防止される。
【０１５２】
第１０の発明によれば、基本的には第１〜第９の発明のいずれか１つと同様の作用・効果が得られる。さらに、平均フィードバック補正値の絶対値が所定の限界値未満となったときに蒸発燃料捕集量の推定が完了しているものと判定されるので、蒸発燃料捕集量の推定完了判定が容易となる。
【０１５３】
第１１の発明によれば、基本的には第１０の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量の推定が完了していると判定された後において、蒸発燃料捕集量の推定が所定期間以上継続して禁止されたときには、上記の完了判定が撤回されるので、蒸発燃料捕集量の推定が長時間継続されたことによって蒸発燃料捕集量推定値が真値からずれている場合に、蒸発燃料捕集量の推定が完了していると誤判定するのが防止される。
【０１５４】
第１２の発明によれば、基本的には第１〜第１１の発明のいずれか１つと同様の作用・効果が得られる。さらに、空燃比制御における空燃比学習が終了した後で蒸発燃料捕集量が推定される。したがって、蒸発燃料捕集量推定値が真値より大きいときには平均フィードバック補正値が中立値よりも確実に大きくなり、他方蒸発燃料捕集量推定値が真値よりも小さいときには平均フィードバック補正値が中立値よりも確実に小さくなるので、蒸発燃料捕集量の推定精度が大幅に高められる。
【０１５５】
第１３の発明によれば、基本的には第１〜第９の発明と同様の作用・効果が得られる。さらに、空燃比検出手段が空気過剰率λが１より大きい領域でもＯ２濃度を検出することができるリニアＯ２センサとされるので、フィードバック補正値の相加平均値又は加重平均値である平均フィードバック補正値の算出精度が高められ、蒸発燃料捕集量の推定精度がさらに高められる。
【０１５６】
第１４の発明によれば、基本的には第１〜第９の発明と同様の作用・効果が得られる。さらに、空燃比検出手段が空気過剰率λＯ２センサとされ、フィードバック補正値の加重平均値が平均フィードバック補正値とされるので、過渡時においては応答遅れの少ない平均フィードバック補正値が得られ、蒸発燃料捕集量の推定精度が大幅に高められる。
【０１５７】
第１５の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性が低い高吸気圧時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１５８】
第１６の発明によれば、基本的には第４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量とフィードバック補正値との相関性が低い低充填効率時には蒸発燃料捕集量の推定が禁止されるので、蒸発燃料捕集量推定値の精度が一層高められる。
【０１５９】
第１７の発明によれば、蒸発燃料量推定装置によって推定された蒸発燃料捕集量に基づいて蒸発燃料パージ量が算出されるので、タイムラグのない正確な蒸発燃料パージ量が得られる。そして、このようにして得られたタイムラグのない蒸発燃料パージ量で燃料噴射量を減量補正することにより、キャニスタパージによって燃焼室に供給される蒸発燃料を、空燃比のフィードバック制御の外乱から切り離すことができ、空燃比制御の制御精度を高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれの発生を有効に防止することができる。
なお、蒸発燃料捕集量を推定する上においては、第１〜第１４の発明のいずれか１つと同様の作用・効果が得られる。
【０１６０】
第１８の発明によれば、蒸発燃料捕集量検出手段によって検出された蒸発燃料捕集量に基づいて蒸発燃料パージ量が算出されるので、タイムラグのない正確な蒸発燃料パージ量が得られる。そして、このようにして得られたタイムラグのない蒸発燃料パージ量で燃料噴射量を減量補正することにより、キャニスタパージによって燃焼室に供給される蒸発燃料を、空燃比のフィードバック制御の外乱から切り離すことができ、空燃比制御の制御精度を高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれの発生を有効に防止することができる。
さらに、まず蒸発燃料放出量が算出され、この蒸発燃料放出量に基づいて、好ましくは蒸発燃料輸送経路の輸送遅れ特性を考慮するなどして、実際に燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)が正確に算出される。したがって、燃料噴射量の減量補正を正確に行うことが可能となり、空燃比制御の制御精度を一層高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれを一層有効に防止することができる。
さらに、蒸発燃料パージ手段の制御弁の開度と該制御弁の前後の差圧とに基づいてパージ空気量が演算され、さらにこのパージ空気量と蒸発燃料捕集量とに基づいて蒸発燃料放出量が演算されるので、蒸発燃料放出量の演算精度が大幅に高められる。
【０１６１】
第１９の発明によれば、基本的には第１８の発明と同様の作用・効果が得られる。さらに、蒸発燃料輸送経路の輸送遅れ特性を考慮して、蒸発燃料放出量に基づいて蒸発燃料流入量が演算されるので、蒸発燃料流入量が正確に求められる。このため、燃料噴射量の減量補正を正確に行うことが可能となり、空燃比制御の制御精度を一層高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれを一層有効に防止することができる。
【０１６２】
第２０の発明によれば、基本的には第１９の発明と同様の作用・効果が得られる。さらに、蒸発燃料放出量とエンジン回転数とに基づいて蒸発燃料比率が演算され、さらにこの蒸発燃料比率と、蒸発燃料輸送経路の輸送遅れ特性とに基づいて蒸発燃料流入量に対応する正味蒸発燃料比率が演算されるので、蒸発燃料流入量（正味蒸発燃料比率）の演算が簡略化される。
【０１６３】
第２１の発明によれば、基本的には第２０の発明と同様の作用・効果が得られる。さらに、パージ空気量演算手段と、蒸発燃料放出量演算手段と、輸送遅れ特性設定手段と、蒸発燃料比率演算手段と、蒸発燃料流入量演算手段とが、夫々、所定のモデル式でもって出力値を演算又は設定するようになっている（モデル化されている）ので、パージ空気量、蒸発燃料放出量及び蒸発燃料流入量の演算が極めて容易となる。
【０１６４】
第２２の発明によれば、基本的には第１７〜第２１の発明のいずれか１つと同様の作用・効果が得られる。さらに、蒸発燃料捕集量の検出又は推定が完了していないときには、キャニスタパージが規制されるので、蒸発燃料流入量の算出精度が低いのにもかかわらずキャニスタパージに起因する空燃比制御の乱れを抑制することができる。
【０１６５】
第２３の発明によれば、基本的には第２２の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量の検出又は推定が完了していないときには、キャニスタパージが禁止されるのでキャニスタパージによる空燃比制御の乱れを確実に防止することができる。
【０１６６】
第２４の発明によれば、基本的には第２２の発明と同様の作用・効果が得られる。さらに、キャニスタパージの禁止がアイドル時のみとされるので、非アイドル時にはキャニスタパージを行うことができ、不必要にキャニスタパージを禁止するのを防止することができる。
【０１６７】
第２５の発明によれば、基本的には第２２又は第２４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量の検出又は推定が完了していないときには、キャニスタパージのパージ速度を小さくするようにしているので、キャニスタパージによる空燃比制御の乱れを一層有効に抑制することができる。
【０１６８】
第２６の発明によれば、基本的には第２２又は第２４の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集量の検出又は推定が完了していないときには、キャニスタパージのパージ量を少なくするようにしているので、キャニスタパージによる空燃比制御の乱れを一層有効に抑制することができる。
【０１６９】
第２７の発明によれば、基本的には第２５の発明と同様の作用・効果が得られる。さらに、蒸発燃料パージ手段の制御弁が閉弁状態から開弁状態に移行する際にはパージ速度が徐々に増加させられ、蒸発燃料捕集量の検出又は推定が完了していないときには、上記増加速度が小さく設定されるので、キャニスタパージ開始時における空燃比制御の乱れを防止することができる。
【０１７０】
第２８の発明によれば、蒸発燃料捕集量検出手段によって検出された蒸発燃料捕集量に基づいて蒸発燃料パージ量が算出されるので、タイムラグのない正確な蒸発燃料パージ量が得られる。そして、このようにして得られたタイムラグのない蒸発燃料パージ量で燃料噴射量を減量補正することにより、キャニスタパージによって燃焼室に供給される蒸発燃料を、空燃比のフィードバック制御の外乱から切り離すことができ、空燃比制御の制御精度を高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれの発生を有効に防止することができる。
さらに、まず蒸発燃料放出量が算出され、この蒸発燃料放出量に基づいて、好ましくは蒸発燃料輸送経路の輸送遅れ特性を考慮するなどして、実際に燃焼室へ流入する蒸発燃料の流量(蒸発燃料流入量)が正確に算出される。したがって、燃料噴射量の減量補正を正確に行うことが可能となり、空燃比制御の制御精度を一層高めることができ、キャニスタパージに起因する空燃比の目標値に対するずれを一層有効に防止することができる。
さらに、蒸発燃料捕集手段の脱気特性を考慮して蒸発燃料流入量が算出されるので、燃料タンク等の配置にかかわらず該蒸発燃料流入量の算出精度が高められ、空燃比制御の制御精度が高められる。
【０１７１】
第２９の発明によれば、基本的には第２８の発明と同様の作用・効果が得られる。さらに、蒸発燃料捕集手段の蒸発燃料放出特性の吸気温依存性を考慮して蒸発燃料流入量が算出されるので、該蒸発燃料流入量の算出精度が一層高められ、空燃比制御の制御精度が大幅に高められる。
【図面の簡単な説明】
【図１】請求項１〜請求項１４に対応する第１〜第１４の発明の構成を示すブロック図である。
【図２】請求項１７〜請求項２９に対応する第１７〜第２９の発明の構成を示すブロック図である。
【図３】本発明にかかる蒸発燃料量推定装置及び制御装置を備えたエンジンのシステム構成図である。
【図４】本発明にかかる蒸発燃料量推定装置及び制御装置を備えたエンジンの変形例を示すシステム構成図である。
【図５】コントロールユニットの構成を機能化して示したブロック図である。
【図６】蒸発燃料放出量の吸気温依存性を考慮した場合における図５と同様の図である。
【図７】コントロールユニットによるエンジン制御のメインルーチンのフローチャートである。
【図８】トラップ量演算サブルーチンのフローチャートである。
【図９】トラップ量演算サブルーチンの変形例のフローチャートである。
【図１０】トラップ量推定実行判定サブルーチンのフローチャートである。
【図１１】燃料噴射量演算サブルーチンのフローチャートである。
【図１２】燃料噴射量演算サブルーチンの変形例のフローチャートである。
【図１３】パージ量演算サブルーチンのフローチャートである。
【図１４】パージ実行判定サブルーチンのフローチャートである。
【図１５】平均フィードバック補正値とトラップ量の関係を示す図である。
【図１６】駆動デューティ比、フィードバック補正値、平均フィードバック補正値及びトラップ量推定値の経時変化の一例を示す図である。
【図１７】蒸発燃料放出量のパージ空気量及びトラップ量に対する依存特性を示す図である。
【図１８】駆動デューティ比、パージガス比率、正味パージガス比率及び実パルス幅の経時変化の一例を示す図である。
【図１９】キャニスタパージ開始時における、駆動デューティ比の経時変化の一例を示す図である。
【図２０】リニアＯ２センサを用いた場合の、フィードバック補正値及び平均フィードバック補正値の時間に対する変化特性を示す図である。
【図２１】λＯ２センサを用いた場合の、フィードバック補正値及び平均フィードバック補正値の時間に対する変化特性を示す図である。
【図２２】パージ質量流量の吸気温依存性を示す図である。
【符号の説明】
ＣＥ，ＣＥ’…エンジン
ＣＵ…コントロールユニット
４…燃焼室
９…リニアＯ２センサ
１０…吸気系
１５…燃料噴射弁
１６…アシストエア供給手段（ＡＭＩ）
２５…キャニスタ
２８…パージ通路
２９…パージ制御弁
【図１】
0003582137.tif 000002
【図２】
0003582137.tif 000003
【図３】
0003582137.tif 000004
【図４】
0003582137.tif 000005
【図５】
0003582137.tif 000006
【図６】
0003582137.tif 000007
【図７】
0003582137.tif 000008
【図８】
0003582137.tif 000009
【図９】
0003582137.tif 000010
【図１０】
0003582137.tif 000011
【図１１】
0003582137.tif 000012
【図１２】
0003582137.tif 000013
【図１３】
0003582137.tif 000014
【図１４】
0003582137.tif 000015
【図１５】
0003582137.tif 000016
【図１６】
0003582137.tif 000017
【図１７】
0003582137.tif 000018
【図１８】
0003582137.tif 000019
【図１９】
0003582137.tif 000020
【図２０】
0003582137.tif 000021
【図２１】
0003582137.tif 000022
【図２２】
0003582137.tif 000023