(57)【特許請求の範囲】
【請求項１】
燃料タンクで発生した蒸発燃料を吸着するキャニスタと、
前記キャニスタとエンジンの吸気通路とを連通する配管を開閉するパージバルブと、
を有する蒸発燃料処理装置であって、
排気エミッションを悪化させないように目標パージ率を設定する目標パージ率設定手段と、
前記目標パージ率に基づいて前記パージバルブを開弁制御したときに前記キャニスタから脱離する燃料脱離量を推定するキャニスタモデルと、
前記エンジンに供給する燃料に対して、前記キャニスタモデルで推定された燃料脱離量の相当量を減量補正する燃料噴射量調整手段と、
空燃比フィードバック補正係数の変動周期に基づいて排気エミッションが悪化したか否かを判定するエミッション悪化判定手段と、
前記エミッション悪化判定手段で排気エミッションの悪化を判定したときには、前記燃料タンクで発生中の蒸発燃料量が過大であると判定する燃料過蒸発判定手段と、
を有することを特徴とする蒸発燃料処理装置。
【請求項２】
前記エミッション悪化判定手段は、アイドル運転中ではなく走行中に判定する、
ことを特徴とする請求項１に記載の蒸発燃料処理装置。
【請求項３】
前記エミッション悪化判定手段は、パージ濃度推定の完了前は、空燃比フィードバック補正係数が許容変動幅を下回る回数をカウントし、所定時間以内に規定カウント数に達した場合に排気エミッションの悪化を判定する、
ことを特徴とする請求項１又は請求項２に記載の蒸発燃料処理装置。
【請求項４】
前記エミッション悪化判定手段は、パージ濃度推定の完了後は、空燃比フィードバック補正係数が許容変動幅を上回る回数及び下回る回数をカウントし、所定時間以内に規定カウント数に達した場合に排気エミッションの悪化を判定する、
ことを特徴とする請求項１又は請求項２に記載の蒸発燃料処理装置。
【請求項５】
前記エミッション悪化判定手段は、パージ制御を停止中に、パージ制御を停止前の空燃比フィードバック補正係数の変動回数カウント及びカウント開始からの経過時間を保持し、パージ制御を再び開始したらその保持した回数カウント及び経過時間から再開する、
ことを特徴とする請求項３又は請求項４に記載の蒸発燃料処理装置。
【請求項６】
前記エミッション悪化判定手段は、空燃比フィードバック補正係数の変動を、パッシブキャリブレーション方式で検出し、所定時間以内に規定カウント数に達した場合には、空燃比フィードバック補正係数の変動にベースずれがないか否かを判定する、
ことを特徴とする請求項３から請求項５までのいずれか１項に記載の蒸発燃料処理装置。
【請求項７】
前記エミッション悪化判定手段は、ベースずれがないことを判定したときには、排気エミッションの悪化を判定する、
ことを特徴とする請求項６に記載の蒸発燃料処理装置。
【請求項８】
前記エミッション悪化判定手段は、ベースずれがあることを判定したときには、空燃比フィードバック補正係数の変動を、アクティブキャリブレーション方式で検出し、所定時間以内に規定カウント数に達した場合には、排気エミッションの悪化を判定する、
ことを特徴とする請求項６に記載の蒸発燃料処理装置。
【請求項９】
前記燃料過蒸発判定手段が前記燃料タンクで発生中の蒸発燃料量が過大であると判定したときには、前記パージバルブの開度を絞る、
ことを特徴とする請求項１から請求項８までのいずれか１項に記載の蒸発燃料処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、燃料タンクから発生する蒸発燃料を処理する装置に関する。
【背景技術】
【０００２】
燃料タンク内では蒸発燃料が発生する。そこで燃料タンク〜エンジンの間にキャニスタを設け、キャニスタの活性炭でエンジン停止中に発生した蒸発燃料を吸着する。そしてエンジンが始動したら、スロットルバルブ下流の吸気管に発達する吸入負圧を利用して活性炭で吸着した燃料を脱離させて燃焼処理する(パージ処理)。
【０００３】
キャニスタから脱離した燃料がエンジンに吸入されると、空燃比がリッチになるので、その分、燃料噴射量を減量補正する必要がある。そこで特許文献１では、パージ処理中、エンジン燃焼安定性や、排気エミッションを悪化させない範囲で可能な限り高い目標パージ率（吸入空気流量に対するパージ流量の比率）を設定し、その目標パージ率を実現するようにパージバルブを開弁するとともに、キャニスタモデルを使用してキャニスタから脱離する燃料量(以下「脱離量」という)を推定し、その相当量だけ燃料噴射量を減量補正する。このようにすることで迅速にパージ処理することができる。
【０００４】
ところが夏のように気温が高いときには、特許文献１のようにキャニスタモデルを使用して燃料噴射量を減量補正しても、リッチ空燃比が解消されないことがある。
【０００５】
すなわち気温が高いときは燃料タンク内で蒸発燃料が逐次発生するので、パージバルブを開弁したときに、活性炭が吸着した燃料だけでなく、燃料タンクで発生した蒸発燃料も、エンジンに吸入される。したがってキャニスタモデルによる推定量よりも多くの燃料がエンジンに吸入されるので、キャニスタからの脱離量しか考慮していない特許文献１の方法では、リッチ空燃比を解消できない。しかも、エンジンを始動して走行開始したものの、すぐに渋滞にまきこまれるような場面では、リッチ空燃比によって失火するおそれもある。
【０００６】
そこで従来は、外気温が高温で蒸発燃料が過大となる可能性があり、かつキャニスタモデルに基づいて燃料噴射量を減量補正してもなおリッチ空燃比となるときには、燃料過蒸発状態であると判定し、パージバルブの開度を絞ってパージ処理よりも燃焼安定性を優先するようにしていた。
【０００７】
ところが、このような判定は、吸入空気量が小さくかつ運転状態が安定している状態で行う必要がある。
【０００８】
すなわち、燃料タンクで発生した蒸発燃料量は吸入空気量の影響を受けないが、燃料噴射量は吸入空気量に応じて多くなるので、吸入空気量が多いときは燃料噴射量に占める割合が小さいので、誤差範囲とみなされてしまって燃料過蒸発状態を判定できない。
【０００９】
そのため、従来は、燃料過蒸発状態であるか否かを判定を、アイドル運転中に行っていたのである。
【特許文献１】特開２００２−２７６４７９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
このように、従来の方法では、燃料過蒸発状態を判定するにはアイドル運転中に行う必要があったので、停車時にエンジンを停止する、いわゆるアイドルストップ車両には適用できない。
【００１１】
本発明は、このような従来の問題点に着目してなされたものであり、走行中であっても燃料の過蒸発状態を判定できるので、アイドルストップ車両にも適用することができ、燃料タンクから発生する蒸発燃料によってリッチ空燃比になってしまうことを防止可能な蒸発燃料処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は以下のような解決手段によって前記課題を解決する。なお、理解を容易にするために本発明の実施形態に対応する符号を付するが、これに限定されるものではない。
【００１３】
本発明は、燃料タンク（２０）で発生した蒸発燃料を吸着するキャニスタ（１０）と、前記キャニスタ（１０）とエンジン（３０）の吸気通路（３１）とを連通する配管（２２）を開閉するパージバルブ（１４）とを有する蒸発燃料処理装置であって、排気エミッションを悪化させないように目標パージ率を設定する目標パージ率設定手段（ステップＳ１０）と、前記目標パージ率に基づいて前記パージバルブを開弁制御したときに前記キャニスタから脱離する燃料脱離量を推定するキャニスタモデル（ステップＳ１００）と、前記エンジンに供給する燃料に対して、前記キャニスタモデルで推定された燃料脱離量の相当量を減量補正する燃料噴射量調整手段（１００，３４）と、空燃比フィードバック補正係数の変動周期に基づいて排気エミッションが悪化したか否かを判定するエミッション悪化判定手段（ステップＳ３７，Ｓ４１８）と、前記エミッション悪化判定手段で排気エミッションの悪化を判定したときには、前記燃料タンクで発生中の蒸発燃料量が過大であると判定する燃料過蒸発判定手段（ステップＳ３８，Ｓ４７）とを有することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、排気エミッションを悪化させないように目標パージ率を設定し、その目標パージ率に基づいてパージバルブを開弁制御したときにキャニスタから脱離する燃料脱離量をキャニスタモデルで推定し、キャニスタモデルで推定された燃料脱離量の相当量を減量補正してエンジンに燃料を供給しているにもかかわらず、排気エミッションの悪化を判定したときには、燃料タンクで発生中の蒸発燃料量が過大であると判定するようにしたので、燃料の過蒸発状態を正確に検出することができる。また排気エミッションの悪化は空燃比フィードバック補正係数の変動周期に基づいて判定するようにしたので、走行中であっても燃料の過蒸発状態を判定できるため、アイドルストップ車両にも適用することができる。
【発明を実施するための最良の形態】
【００１５】
以下では図面等を参照して本発明を実施するための最良の形態についてさらに詳しく説明する。図１は、本発明による蒸発燃料処理装置を備えるエンジンの全体構成図である。
【００１６】
エンジン３０の吸気通路３１には、吸気絞り弁３３の下流に気筒別の燃料噴射弁３４が設けられる。また排気通路３５には三元触媒（図示しない）が設けられる。三元触媒は排気中の空燃比が理論空燃比を中心とする狭い範囲にあるときに最大の転化効率を発揮して、排気中の窒素酸化物ＮＯｘを還元するとともに、炭化水素ＨＣ及び一酸化炭素ＣＯを酸化する。
【００１７】
そこでコントローラ１００は、エアフローメータ３２からの吸入空気流量の信号、クランク角センサ３７からの信号、水温センサ３８からのエンジン冷却水温の信号等を入力し、これらの信号に基づいて基本空燃比（理論空燃比）の混合気が得られる基本噴射パルス幅Ｔｐを算出する。そしてコントローラ１００は、酸素センサ(Ｏ2センサ)３６の出力信号に基づいて空燃比フィードバック補正係数αを演算し、この空燃比フィードバック補正係数α（空燃比フィードバック補正量）で基本噴射パルス幅Ｔｐ（エンジンへの供給燃料量の基本値）を補正して燃料噴射パルス幅Ｔｉを求め、燃料噴射弁３４を開弁制御する。このようにすることで、排気中の空燃比が理論空燃比と一致し、三元触媒は最大の転化効率を発揮できる。
【００１８】
蒸発燃料処理装置１は、キャニスタ１０と、バイパスバルブ１１と、バキュームカットバルブ１２と、ドレンカットバルブ１３と、パージバルブ１４とを備え、それらのバルブがコントローラ１００によって開閉制御され、エンジン３０の燃料タンク２０で発生した蒸発燃料を処理する。
【００１９】
キャニスタ１０は、配管２１を介して燃料タンク２０に連通し、配管２２を介してエンジン３０のスロットルバルブ３３よりも下流の吸気通路３１に連通する。キャニスタ１０は、内部に燃料吸着剤（活性炭）１０ａを有する。キャニスタ１０は大気解放口１０ｂを備える。この大気解放口１０ｂは、ドレンカットバルブ１３によって開閉される。
【００２０】
バイパスバルブ１１及びバキュームカットバルブ１２は、配管２１に並列に設けられる。バキュームカットバルブ１２は、燃料タンク２０の内圧が大気圧よりも低くなると開弁する。
【００２１】
パージバルブ１４は、配管２２に設けられる。パージバルブ１４は、キャニスタ１０の燃料吸着剤（活性炭）１０ａに吸着されている燃料を脱離させるときに開弁する。配管２２には、配管内の圧力を測定する圧力センサ２３が設けられる。
【００２２】
燃料タンク２０で発生した蒸発燃料は、配管２１を介してキャニスタ１０に導かれ、燃料成分だけがキャニスタ１０の活性炭１０ａに吸着され、残りの空気は大気解放口１０ｂから外部に放出される。
【００２３】
この活性炭１０ａに吸着された燃料を処理するときは、パージバルブ１４を開弁し、スロットルバルブ３３の下流に発達した吸入負圧によって大気解放口１０ｂからキャニスタ１０に新気を導入する。これによって活性炭１０ａに吸着されていた燃料が脱離して、新気とともに配管２２を介してエンジン３０の吸気通路３１に吸入される（以下、この処理を「パージ処理」という）。
【００２４】
コントローラ１００は、パージ処理中、エンジン燃焼安定性や、排気エミッションを悪化させない範囲で可能な限り高い目標パージ率（吸入空気流量に対するパージ流量の比率）を設定し、その目標パージ率を実現するようにパージバルブ１４を駆動する。
【００２５】
さらに、パージ処理を行っているときは、パージガス中の燃料及び空気がエンジンに供給されることになるので、そのパージ率及びパージ濃度に応じて燃料噴射量を補正し、エンジン３０の空燃比変動を抑える。
【００２６】
このため、コントローラ１００は、後述するキャニスタモデルを用いてキャニスタ１０からの脱離燃料量Ｄｇを推定し、脱離燃料量Ｄｇ、目標パージ率、吸入空気質量に基づいてパージ分補正係数FHOSを演算し、このパージ分補正係数FHOSで基本噴射パルス幅Ｔｐを補正する。このようにすることで、パージによる排気空燃比への影響はパージ分補正係数FHOSが補償することになり、空燃比フィードバック補正係数αはパージがないのと同じ動きをする。したがって空燃比フィードバック補正係数αはパージによる外乱に対する影響を考慮しないでよい。
【００２７】
ここで目標パージ率の設定方法について説明する。図２は、目標パージ率設定ルーチンの内容を説明するフローチャートである。
【００２８】
ステップＳ１１においてコントローラ１００は、今回のパージ制御が初回の制御であるか否かを判定する。すなわちキャニスタ１０の吸着状態に基づいて目標パージ率を設定するには目標パージ率の前回値が必要である。ところが初回制御のときには前回値がないのでそのときにはキャニスタ１０の吸着状態に基づかないで目標パージ率を設定しなければならない。そこで今回制御が初回制御であるか否かを判定する。初回制御であるときはステップＳ１２へ処理を移行し、初回制御でなければステップＳ１３へ処理を移行する。
【００２９】
ステップＳ１２においてコントローラ１００は、キャニスタ１０の吸着状態に基づかない目標パージ率を設定する。具体的な設定方法は後述する。
【００３０】
ステップＳ１３においてコントローラ１００は、キャニスタ１０の吸着状態に基づく目標パージ率を設定する。具体的な設定方法は後述する。
【００３１】
図３は、キャニスタの吸着状態に基づかない目標パージ率設定ルーチンの内容を説明するフローチャートである。
【００３２】
ステップＳ１２１においてコントローラ１００は、積算パージ流量（パージを開始してからの総パージ流量）を算出する。この積算パージ流量は、パージ開始時点では初期値としてゼロが与えられており、パージ開始後は前回算出された目標パージ率と吸入空気流量とからパージ流量を求めて、積算パージ流量を更新する。
【００３３】
ステップＳ１２２においてコントローラ１００は、積算パージ流量がパージ配管容積（キャニスタ１０からパージバルブ１４までの配管の容積）よりも大きいか否かを判定する。積算パージ流量がパージ配管容積よりも大きければステップＳ１２４へ処理を移行し、そうでなければステップＳ１２３へ処理を移行する。
【００３４】
ステップＳ１２３においてコントローラ１００は、目標パージ率をして初期パージ率（１％以下の小さな値）を設定する。なおこのように小さな値に設定するのは以下の理由による。すなわち、積算パージ流量がパージ配管容積に達していないときにパージを開始すると、エンジンへはパージ配管中に存在する低濃度のパージガスが供給される。このような場合にもステップＳ１２４以降に示すように目標パージ率を設定しては、低濃度パージガスによる空燃比変動が小さいことから、大量パージが可能であると判断されて大きなパージ率が設定されるおそれがある。しかし、このようにして大きなパージ率を設定しては、大量の脱離燃料が突然供給されることになるので、エンジン１０の燃焼安定性等を悪化させてしまう。そこで積算パージ流量がパージ配管容積に達していないときは目標パージ率をして初期パージ率（１％以下の小さな値）を設定するのである。
【００３５】
ステップＳ１２４においてコントローラ１００は、目標空燃比フィードバック偏差と実空燃比フィードバック偏差との差（以下「空燃比フィードバック偏差の差」という）を演算する。なお目標空燃比フィードバック偏差とは、空燃比フィードバック補正係数の目標値ｔαの空燃比フィードバック補正係数の基準値(100%)に対する偏差(=|tα-100|%)をいう。また実空燃比フィードバック偏差とは、実際の空燃比フィードバック補正係数αの空燃比フィードバック補正係数の基準値(100%)に対する偏差(=|α-100|%)をいう。例えば、パージによる空燃比変動を空燃比フィードバック制御で十分吸収できる範囲内で大量のパージ流量を確保することを目的として空燃比フィードバック補正係数の目標値ｔαを８０％に設定する場合には、目標空燃比フィードバック偏差は２０％に設定される。
【００３６】
ステップＳ１２５においてコントローラ１００は、あらかじめＲＯＭに格納された図４に示す特性のテーブルを検索して空燃比フィードバック偏差の差に応じたパージ率変化量を求める。パージ率変化量の絶対値は、空燃比フィードバック偏差の差の絶対値が大きくなるほど大きくなって目標値への収束性を高める。ただし空燃比フィードバック偏差の差の絶対値が同じであっても正負によって、パージ率変化量の絶対値は異なる。パージ率変化量の絶対値は、負値のほうが正値よりも大きい。このような特性とするのは、空燃比フィードバック偏差の差が負側にずれている場合は空燃比フィードバック補正係数αが目標とする８０％よりも小さな値になっており、逆の正側にずれている場合と比べてパージ以外の外乱によってエンジン安定性、エミッションの悪化を招きやすく、不利な状態あるからである。つまり、パージ変化量を空燃比フィードバック偏差の差の正負に応じて特性を変えるのは、エンジンの燃焼安定性を図り、エミッションの悪化を防止するために、制御点を速やかに安全側に復帰させるためである。
【００３７】
ステップＳ１２６においてコントローラ１００は、目標パージ率の前回値にステップＳ１２５で演算したパージ率変化量を加算することで、目標パージ率の今回値を算出する。
【００３８】
この処理によれば、キャニスタ１０の吸着状態によらず、最適なパージ率を設定することができ、また、想定以上の濃度のパージが供給された場合でも、それによる空燃比変動を受けて目標パージ率が適宜変更され、常に最適なパージ率を設定することができる。
【００３９】
図５は、キャニスタの吸着状態に基づく目標パージ率設定ルーチンの内容を説明するフローチャートである。
【００４０】
ステップＳ１３１においてコントローラ１００は、パージ変化量制限値を設定する。具体的な設定方法は後述する。
【００４１】
ステップＳ１３２においてコントローラ１００は、最大パージ率を設定する。具体的な設定方法は後述する。
【００４２】
ステップＳ１３３においてコントローラ１００は、目標パージ率の前回値が最大パージ率と一致するか否かを判定する。一致すればステップＳ１３４に処理を移行し、そうでなければステップＳ１３５へ処理を移行する。
【００４３】
ステップＳ１３４においてコントローラ１００は、目標パージ率の前回値をそのまま目標パージ率として設定する。
【００４４】
ステップＳ１３５においてコントローラ１００は、目標パージ率の前回値が最大パージ率を下回るか否かを判定する。下回るときにはステップＳ１３６へ処理を移行し、そうでなければステップＳ１３７へ処理を移行する。
【００４５】
ステップＳ１３６においてコントローラ１００は、目標パージ率の前回値にパージ率変化量制限値を加算して目標パージ率を設定する。
【００４６】
ステップＳ１３７においてコントローラ１００は、目標パージ率の前回値からパージ率変化量制限値を減算して目標パージ率を設定する。
【００４７】
図６は、パージ変化量制限値設定ルーチンの内容を説明するフローチャートである。
【００４８】
ステップＳ１３１１においてコントローラ１００は、キャニスタモデルで演算した脱離量及びパージ流量に基づいて、パージガスの空燃比（パージ空燃比）を算出する。なお、パージ空燃比を、ＨＣセンサを使用して検出してもよいが、演算によって算出すれば安価かつ正確に求めることができる。
【００４９】
ステップＳ１３１２においてコントローラ１００は、運転状態、例えばエンジン回転速度、エンジン負荷、吸入空気流量などのパラメータに基づいて、パージ空燃比の誤差を推定する。具体的には、例えば図７（Ａ）に示す特性のテーブルを参照して求める。図７（Ａ）によれば、吸入空気流量が小さくなるほど、またパージ率が小さくなるほど、パージ空燃比誤差は大きくなる。また図７（Ｂ）に示す特性のテーブルを参照して求めてもよい。図７（Ｂ）によれば、パージ空燃比が薄くなるほど、パージ空燃比誤差は大きくなる。
【００５０】
ステップＳ１３１３においてコントローラ１００は、パージ空燃比誤差に基づいて、ステップＳ１３１１で求めたパージ空燃比を補正する。
【００５１】
ステップＳ１３１４においてコントローラ１００は、補正後のパージ空燃比に基づいてパージ率変化量制限値を計算する。パージ率変化量制限値とは、パージ率を変化させたときに生ずるエンジン１０の空燃比変化を、エミッションを悪化させることなく空燃比フィードバック制御によって吸収可能な空燃比変動幅に収めるための制限値である。
【００５２】
図８は、最大パージ率設定ルーチンの内容を説明するフローチャートである。
【００５３】
ステップＳ１３２１においてコントローラ１００は、パージバルブ１４のサイズに基づいてパージ率上限値PVMXを設定する。このパージ率上限値PVMXとは、パージバルブ１４を最大開度としたときのパージ率である。パージバルブ１４を最大開度としたときのパージ率よりも大きな目標パージ率を設定してしまっては、パージ率を目標パージ率に一致させることができない。そのため、FHOSの演算誤差が大きくなり、空燃比変動が大きくなって、エミッション悪化等が生じる。パージバルブのサイズが大きいほどパージガスの流量も大きくなる。そこでパージバルブのサイズが大きいほどパージ率上限値PVMXを大きく設定する。
【００５４】
ステップＳ１３２２においてコントローラ１００は、燃料噴射弁１５の性能に応じて決まる燃料最小噴射パルス幅、目標パージ率の前回値、パージ分補正係数との関係から燃料噴射弁１５の性能に基づくパージ率上限値TIMNMXを設定する。パージ率が大きくなるとパージによってエンジン１０に供給される燃料量が増加するので、燃料噴射弁１５の燃料噴射量を、その増加量だけ減らす必要があるが、燃料噴射弁１５の噴射精度を確保するには、ある程度以上の燃料噴射量が必要である。そこで燃料噴射弁１５の噴射精度を確保するために、パージ率に上限値TIMNMXを設定する。
【００５５】
ステップＳ１３２３においてコントローラ１００は、現在の運転領域から想定しうるすべての運転領域を想定し、その中での最小パージ率を予測し、この最小パージ率とパージ率変化量制限値とからパージ率上限値PRMNMXを設定する。例えば、アクセル全開で加速した場合には目標パージ率はごく小さな値に設定されるが、このアクセルを全開とする直前に目標パージ率が大きな値に設定されていると、パージ率の変化量が変化量制限値以下に制限されていることからパージ率を目標パージ率に追従させることができない。この追従遅れはエミッション増大の原因等となるので、このような追従遅れを生じないように想定しうる最小パージ率に基づいてパージ率上限値PRMNMXを設定する。
【００５６】
ステップＳ１３２４においてコントローラ１００は、空燃比フィードバック補正係数αをモニタし、所定値以下であれば空燃比フィードバック補正係数αを所定値以上とするパージ率のうち最も大きな値をパージ率上限値ALPMXとして設定する。このような上限値ALPMXを設けるのは、空燃比フィードバック制御では空燃比フィードバック補正係数αは１００±２５％に収まるように制御されているが、空燃比フィードバック補正係数αが前記制限値（例えば８０％）近傍で制御されているような場合は、大量にパージしているとパージ以外の外乱を受けて制御範囲から外れやすくなるからである。
【００５７】
ステップＳ１３２５においてコントローラ１００は、上記４つの上限値PVMX、TIMNMX、PRMNMX、ALPMXから最も小さい値を選択し、その値を最大パージ率とする。
【００５８】
キャニスタ１０の吸着状態に基づく目標パージ率設定ルーチン（Ｓ１３）において、パージ率変化量制限値の範囲内で最大パージ率になるように、目標パージ率を設定するので、排気エミッションを悪化させることなく大量のパージを行う上で最良のパージ率を設定することができる。また、物理的な制限、現在の運転領域等で決まる上限値PVMX、TIMNMX、ALPMXだけでなく、運転領域が変化した場合でも遅れなくその領域での最大パージ率に移行できるように決定される上限値PRMNMXも考慮して、最大パージ率を設定するので、運転条件が変化しても排気エミッションを悪化させない大量パージを可能にする最良のパージ率を設定することができる。
【００５９】
次に図９を参照してキャニスタモデルに基づく脱離燃料量Ｄｇの推定方法について説明する。
【００６０】
ステップＳ１０１においてコントローラ１００は、次式(1)によってキャニスタ１０が吸着する燃料量の今回値Ｙを演算する。
【００６１】
【数１】
0004710712.tif 000002
【００６２】
ステップＳ１０２においてコントローラ１００は、次式(2)によって活性炭温度Ｔを演算する。
【００６３】
【数２】
0004710712.tif 000003
【００６４】
この活性炭温度演算式は、過去の温度（右辺第１項）と、脱離による温度低下（右辺第２項）と、熱伝達による温度上昇（右辺第３項）とで構成される。このように活性炭温度Tを演算するのは、次式(3)中の脱離指数ｎ(T)が活性炭温度Ｔの影響を受け、特に、脱離量が多いときは活性炭温度Ｔの降下量が大きく、これがキャニスタ１０における燃料の脱離特性に与える影響を無視することができないからである。
【００６５】
ステップＳ１０３においてコントローラ１００は、次式(3)により基準パージ流量での脱離量Dgkを演算する。
【００６６】
【数３】
0004710712.tif 000004
【００６７】
この式(3)は吸着脱離現象（フロイントリッヒ(Freundlich)の式）の考え方をキャニスタ１０の脱離現象に応用したものであり、これによってキャニスタ１０からの燃料脱離特性をほぼ正確に表現することができる。なお、フロイントリッヒの式に関しては「表面における理論II」（丸善、塚田著）のp.25-p.27、p.108-p115に記載がある。
【００６８】
ステップＳ１０４においてコントローラ１００は、次式(4)よって脱離量を演算する。
【００６９】
【数４】
0004710712.tif 000005
【００７０】
このパージ流量に応じた脱離量演算式(4)は、パージ流量と脱離量がほぼ比例することから、直線近似により脱離量Dgを演算するものである。なお、ここでは式(3)によって基準流量時の脱離量を求め、式(4)でこれにパージ流量を掛けることによって脱離量を演算しているが、式(3),(4)を一つの式にまとめてもよい。
【００７１】
したがって、キャニスタモデルは上記式(1)〜(4)で構成され、このキャニスタモデルを制御ブロック図で示すと図１０になる。キャニスタモデルは吸着量演算部Ｂ１０１、活性炭温度演算部Ｂ１０２、基準脱離量演算部Ｂ１０３、流量相当脱離量演算部Ｂ１０４で構成され、各部分がそれぞれ式(1)〜(4)に対応する。
【００７２】
ところで、従来は、外気温が高温で蒸発燃料が過大となる可能性があり、かつキャニスタモデルに基づいて燃料噴射量を減量補正してもなおリッチ空燃比となるときに、燃料過蒸発状態を判定し、パージバルブの開度を絞ってパージ処理よりも燃焼安定性を優先するようにしていた。ところが、このような判定は、吸入空気量が小さくかつ運転状態が安定している状態で行う必要があり、アイドル運転中に行う必要があったので、いわゆるアイドルストップ車両には適用できなかった。
【００７３】
本発明では、リッチ空燃比のときには、そのリッチ空燃比を補正するために空燃比フィードバック補正係数αの変動振幅が大きくなること、及びその変動周期が短くなることに着目し、これらに基づいて燃料過蒸発状態を判定するようにしたのである。
【００７４】
以下ではコントローラ１００の具体的な制御ロジックについてフローチャートに沿って説明する。
【００７５】
図１１は、本発明による蒸発燃料処理装置の動作を説明するメインフローチャートである。
【００７６】
ステップＳ１においてコントローラ１００は、パージ実行中であるか否かを判定する。パージ実行中であればステップＳ２へ処理を移行し、そうでなければ一旦処理を抜ける。
【００７７】
ステップＳ２においてコントローラ１００は、パージ濃度の推定が完了したか否かを判定する。完了したらステップＳ４へ処理を移行し、そうでなければステップＳ３へ処理を移行する。
【００７８】
ステップＳ３においてコントローラ１００は、濃度推定完了前の燃料過蒸発状態判定を行う。詳細は後述する。
【００７９】
ステップＳ４においてコントローラ１００は、濃度推定完了後の燃料過蒸発状態判定を行う。詳細は後述する。
【００８０】
図１２は、濃度推定完了前の燃料過蒸発状態判定ルーチンの内容を説明するフローチャートである。
【００８１】
ステップＳ３１においてコントローラ１００は、α変動タイマをインクリメントする。
【００８２】
ステップＳ３２においてコントローラ１００は、α変動タイマが規定時間を超えたか否かを判定する。超えるまではステップＳ３３へ処理を移行し、超えたらステップＳ３９へ処理を移行する。
【００８３】
ステップＳ３３においてコントローラ１００は、空燃比フィードバック補正係数αの前回値αzが変動幅下限値MIN以上であってかつ今回の空燃比フィードバック補正係数αが変動幅下限値MINよりも小さいか否かを判定する。すなわち空燃比フィードバック補正係数αが今回はじめて変動幅下限値MINよりも小さくなったか否かを判定する。この条件が成立するまでは一旦処理を抜け、成立したらステップＳ３４に処理を移行する。
【００８４】
ステップＳ３４においてコントローラ１００は、α変動カウンタがゼロであるか否かを判定する。ゼロであればステップＳ３５へ処理を移行し、そうでなければステップＳ３６へ処理を移行する。
【００８５】
ステップＳ３５においてコントローラ１００は、α変動タイマをリセットする。
【００８６】
ステップＳ３６においてコントローラ１００は、α変動カウンタをインクリメントする。
【００８７】
ステップＳ３７においてコントローラ１００は、α変動カウンタが規定値を超えたか否かを判定する。超えていればステップＳ３８へ処理を移行し、そうでなければ一旦処理を抜ける。
【００８８】
ステップＳ３８においてコントローラ１００は、燃料が過蒸発状態であることを判定し、パージバルブの開度を絞るように調整する。またα変動タイマをリセットするとともに、１JOB後にα変動カウンタをリセットする。
【００８９】
ステップＳ３９においてコントローラ１００は、α変動カウンタをリセットする。
【００９０】
図１３は、濃度推定完了後の燃料過蒸発状態判定ルーチンの内容を説明するフローチャートである。
【００９１】
ステップＳ４１においてコントローラ１００は、空燃比フィードバック補正係数αがハンチングするか否かを判定する。詳細は後述する。
【００９２】
ステップＳ４２においてコントローラ１００は、ハンチングか否かを判定する。ハンチングするまでは一旦処理を抜け、ハンチングするようになったらステップＳ４３へ処理を移行する。
【００９３】
ステップＳ４３においてコントローラ１００は、現在の状態がパッシブキャリブレーションであるか否かを判定する。なおパッシブキャリブレーションについては後で説明する。
【００９４】
ステップＳ４４においてコントローラ１００は、ベースずれを判定する。詳細は後述する。
【００９５】
ステップＳ４５においてコントローラ１００は、ベースがズレているか否かを判定する。ベースずれがあればステップＳ４７へ処理を移行し、そうでなければステップＳ４６へ処理を移行する。
【００９６】
ステップＳ４６においてコントローラ１００は、アクティブキャリブレーションにする。なおアクティブキャリブレーションについては後で説明する。
【００９７】
ステップＳ４７においてコントローラ１００は、燃料が過蒸発状態であることを判定し、パージバルブの開度を絞るように調整する。
【００９８】
図１４は、空燃比フィードバック補正係数αがハンチングするか否かを判定するルーチンの内容を説明するフローチャートである。
【００９９】
ステップＳ４１１においてコントローラ１００は、α変動タイマをインクリメントする。
【０１００】
ステップＳ４１２においてコントローラ１００は、α変動タイマが規定時間を超えたか否かを判定する。超えるまではステップＳ４１３へ処理を移行し、超えたらステップＳ４２０へ処理を移行する。
【０１０１】
ステップＳ４１３においてコントローラ１００は、空燃比フィードバック補正係数αの前回値αzが変動幅上限値MAX以下であってかつ今回の空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きいか否かを判定する。すなわち空燃比フィードバック補正係数αが今回はじめて変動幅上限値MAXよりも大きくなったか否かを判定する。この条件が成立するまではステップＳ４１４に処理を移行し、成立したらステップＳ４１５に処理を移行する。
【０１０２】
ステップＳ４１４においてコントローラ１００は、空燃比フィードバック補正係数αの前回値αzが変動幅下限値MIN以上であってかつ今回の空燃比フィードバック補正係数αが変動幅下限値MINよりも小さいか否かを判定する。すなわち空燃比フィードバック補正係数αが今回はじめて変動幅下限値MINよりも小さくなったか否かを判定する。この条件が成立するまでは一旦処理を抜け、成立したらステップＳ４１５に処理を移行する。
【０１０３】
ステップＳ４１５においてコントローラ１００は、α変動カウンタがゼロであるか否かを判定する。ゼロであればステップＳ４１６へ処理を移行し、そうでなければステップＳ４１７へ処理を移行する。
【０１０４】
ステップＳ４１６においてコントローラ１００は、α変動タイマをリセットする。
【０１０５】
ステップＳ４１７においてコントローラ１００は、α変動カウンタをインクリメントする。
【０１０６】
ステップＳ４１８においてコントローラ１００は、α変動カウンタが規定値を超えたか否かを判定する。超えていればステップＳ４１９へ処理を移行し、そうでなければ一旦処理を抜ける。
【０１０７】
ステップＳ４１９においてコントローラ１００は、ハンチングを判定する。またα変動タイマをリセットするとともに、１JOB後にα変動カウンタをリセットする。
【０１０８】
ステップＳ４２０においてコントローラ１００は、α変動カウンタをリセットする。
【０１０９】
図１５は、ベースずれルーチンの内容を説明するフローチャートである。
【０１１０】
ステップＳ４４１においてコントローラ１００は、ベースチェックタイマをインクリメントする。
【０１１１】
ステップＳ４４２においてコントローラ１００は、ベースチェックタイマが規定時間を超えたか否かを判定する。超えるまではステップＳ４４３へ処理を移行し、超えたらステップＳ４４８へ処理を移行する。
【０１１２】
ステップＳ４４３においてコントローラ１００は、空燃比フィードバック補正係数αがベースずれなし領域にあるか否かを判定する。ベースずれなし領域にあればステップＳ４４４へ処理を移行し、そうでなければステップＳ４４５へ処理を移行する。
【０１１３】
ステップＳ４４４においてコントローラ１００は、ベースずれタイマをリセットする。
【０１１４】
ステップＳ４４５においてコントローラ１００は、ベースずれタイマをインクリメントする。
【０１１５】
ステップＳ４４６においてコントローラ１００は、ベースずれタイマが規定時間を超えたか否かを判定する。超えるまでは一旦処理を抜け、超えたらステップＳ４４７へ処理を移行する。
【０１１６】
ステップＳ４４７においてコントローラ１００は、ベースずれを判定する。またベースチェックタイマ及びベースずれタイマをリセットする。
【０１１７】
ステップＳ４４８においてコントローラ１００は、ベースずれなしを判定し、ベースチェックタイマをリセットする。
【０１１８】
図１６は、パッシブキャリブレーション及びアクティブキャリブレーションについての説明図である。
【０１１９】
パッシブキャリブレーションは、図１６（ａ−１）のように、パージ率を例えば１０％上げた場合の、空燃比フィードバック補正係数αの値を検出する。ベースずれがなくベースが１００％であれば、図１６（ａ−２）に実線で示すように検出値は例えば９０％となる。ところが、ベースずれがあって例えばベースが９０％であれば、図１６（ａ−２）に破線で示すように検出値は８０％となる。このように検出値によってベースずれの有無を判定できる。また空燃比フィードバック補正係数αの検出値によって判定できるので、迅速に検出できる。しかしベースずれがあった場合には、空燃比フィードバック補正係数αの変動が正確ではない。したがってステップＳ４１においてハンチングを正確には判定できないおそれがある。
【０１２０】
一方、アクティブキャリブレーションは、図１６（ｂ−１）のように、パージ率を例えば１０％上げた後、０％に戻した場合の、空燃比フィードバック補正係数αの変化量を検出する。この場合は、ベースずれの有無にかかわらず、空燃比フィードバック補正係数αの変動は同じであり（すなわち、図１６（ｂ−２）でΔＡ＝ΔＢ）、ハンチングを正確に判定できる。
【０１２１】
次に図１７に示すタイムチャートを参照して本発明による蒸発燃料処理装置の動作を説明する。図１７は濃度推定完了前の蒸発燃料処理装置の動作を示すタイムチャートである。なおフローチャートとの対応が分かりやすくなるように、ステップ番号をＳ付けで併記する。
【０１２２】
パージ実行中であって(図１７(Ｂ)；ステップＳ１でYes)、パージ濃度の推定が完了していない間は(ステップＳ２でNo)、濃度推定完了前の燃料過蒸発状態判定を行う(ステップＳ３)。図１７の時刻ｔ10〜ｔ11までは、α変動タイマをインクリメントする(図１７(Ｄ)；ステップＳ３１)。
【０１２３】
時刻ｔ11で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなり(図１７(Ａ)；ステップＳ３３でYes)、α変動カウンタが０であるので(図１７(Ｃ)；ステップＳ３４でYes)、α変動タイマをリセットし(図１７(Ｄ)；ステップＳ３５)、α変動カウンタを１にインクリメントする(図１７(Ｃ)；ステップＳ３６)。
【０１２４】
時刻ｔ12で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１７(Ａ)；ステップＳ３３でYes)、α変動カウンタを２にインクリメントする(図１７(Ｃ)；ステップＳ３６)。
【０１２５】
時刻ｔ13でα変動タイマが規定時間を超えたら(図１７(Ｄ)；ステップＳ３２でYes)、α変動カウンタ及びα変動タイマをリセットする(図１７(Ｃ)(Ｄ)；ステップＳ３６)。
【０１２６】
時刻ｔ14で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなり(図１７(Ａ)；ステップＳ３３でYes)、α変動カウンタが０であるので(図１７(Ｃ)；ステップＳ３４でYes)、α変動タイマをリセットし(図１７(Ｄ)；ステップＳ３５)、α変動カウンタを１にインクリメントする(図１７(Ｃ)；ステップＳ３６)。
【０１２７】
時刻ｔ15でパージを停止したら(図１７(Ｂ)；ステップＳ１でNo)、時刻ｔ17でパージ開始するまでは(図１７(Ｂ)；ステップＳ１でYes)、時刻ｔ16で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなっても(図１７(Ａ))、α変動カウンタ及びα変動タイマは現在値を保持する(図１７(Ｃ)(Ｄ))。
【０１２８】
時刻ｔ18で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１７(Ａ)；ステップＳ３３でYes)、α変動カウンタを２にインクリメントする(図１７(Ｃ)；ステップＳ３６)。
【０１２９】
時刻ｔ19で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１７(Ａ)；ステップＳ３３でYes)、α変動カウンタを３にインクリメントし(図１７(Ｃ)；ステップＳ３６)、α変動カウンタが規定値を超えたので(図１７(Ｃ)；ステップＳ３７でYes)、燃料過蒸発状態であると判定しフラグをセットする(図１７(Ｅ)；ステップＳ３８)。
【０１３０】
図１８は、濃度推定完了後であってアクティブキャリブレーションにおける蒸発燃料処理装置の動作を示すタイムチャートである。
【０１３１】
パージ実行中であって(図１８(Ｂ)；ステップＳ１でYes)、パージ濃度の推定が完了した後は(ステップＳ２でYes)、濃度推定完了後の燃料過蒸発状態判定を行う(ステップＳ４)。図１８の時刻ｔ200〜ｔ201までは、α変動タイマをインクリメントする(図１８(Ｄ)；ステップＳ４１１)。
【０１３２】
時刻ｔ201で空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなり(図１８(Ａ)；ステップＳ４１３でYes)、α変動カウンタが０であるので(図１８(Ｃ)；ステップＳ４１５でYes)、α変動タイマをリセットし(図１８(Ｄ)；ステップＳ４１６)、α変動カウンタを１にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１３３】
時刻ｔ202で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１８(Ａ)；ステップＳ４１４でYes)、α変動カウンタを２にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１３４】
時刻ｔ203で空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなったら(図１８(Ａ)；ステップＳ４１３でYes)、α変動カウンタを３にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１３５】
時刻ｔ204で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１８(Ａ)；ステップＳ４１４でYes)、α変動カウンタを４にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１３６】
時刻ｔ205でα変動タイマが規定時間を超えたら(図１８(Ｄ)；ステップＳ４１２でYes)、α変動カウンタ及びα変動タイマをリセットする(図１８(Ｃ)(Ｄ)；ステップＳ４２０)。
【０１３７】
時刻ｔ206で空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなり(図１８(Ａ)；ステップＳ４１３でYes)、α変動カウンタが０であるので(図１８(Ｃ)；ステップＳ４１５でYes)、α変動タイマをリセットし(図１８(Ｄ)；ステップＳ４１６)、α変動カウンタを１にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１３８】
時刻ｔ209でパージを停止したら(図１８(Ｂ)；ステップＳ１でNo)、時刻ｔ212でパージ開始するまでは(図１８(Ｂ)；ステップＳ１でYes)、空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったり(時刻ｔ210)、空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなっても(時刻ｔ211；図１８(Ａ))、α変動カウンタ及びα変動タイマは現在値を保持する(図１８(Ｃ)(Ｄ))。
【０１３９】
時刻ｔ213で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１８(Ａ)；ステップＳ４１４でYes)、α変動カウンタを４にインクリメントする(図１８(Ｃ)；ステップＳ４１７)。
【０１４０】
時刻ｔ215で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１８(Ａ)；ステップＳ４１４でYes)、α変動カウンタを６にインクリメントし(図１８(Ｃ)；ステップＳ４１７)、α変動カウンタが規定値を超えたので(図１８(Ｃ)；ステップＳ４１８でYes)、空燃比フィードバック係数αのハンチングを判定しフラグをセットする(図１７(Ｆ)；ステップＳ４１９)。
【０１４１】
なお図１８はアクティブキャリブレーション中であるので(図１８(Ｅ))、その後は燃料過蒸発状態であると判定しフラグをセットする(図１８(Ｆ)；ステップＳ４７)。
【０１４２】
図１９は、濃度推定完了後であってパッシブキャリブレーションのベースずれがない場合の蒸発燃料処理装置の動作を示すタイムチャートである。
【０１４３】
時刻ｔ314で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図１９(Ａ)；ステップＳ４１４でYes)、α変動カウンタを５にインクリメントする(図１９(Ｃ)；ステップＳ４１７)。
【０１４４】
時刻ｔ315で空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなったら(図１９(Ａ)；ステップＳ４１３でYes)、α変動カウンタを６にインクリメントし(図１９(Ｃ)；ステップＳ４１７)、α変動カウンタが規定値を超えたので(図１９(Ｃ)；ステップＳ４１８でYes)、空燃比フィードバック係数αのハンチングを判定しフラグをセットする(図１９(Ｇ)；ステップＳ４１９)。
【０１４５】
時刻ｔ316でベースチェックタイマのインクリメントを開始し(図１９(Ｈ)；ステップＳ４４１)、空燃比フィードバック補正係数αがベースずれなし領域内に収まったまま(ステップＳ４４３でYes)、時刻ｔ317で規定時間を経過したら(図１９(Ｈ)；ステップＳ４４２でYes)、ベースずれなしを判定し(ステップＳ４４８)、ベースずれがないにもかかわらず、ハンチングしていることから燃料過蒸発状態であると判定しフラグをセットする(図１９(Ｆ)；ステップＳ４７)。
【０１４６】
図２０は、濃度推定完了後であってパッシブキャリブレーションのベースずれがある場合の蒸発燃料処理装置の動作を示すタイムチャートである。
【０１４７】
時刻ｔ414で空燃比フィードバック補正係数αが変動幅下限値MINよりも小さくなったら(図２０(Ａ)；ステップＳ４１４でYes)、α変動カウンタを５にインクリメントする(図２０(Ｃ)；ステップＳ４１７)。
【０１４８】
時刻ｔ415で空燃比フィードバック補正係数αが変動幅上限値MAXよりも大きくなったら(図２０(Ａ)；ステップＳ４１３でYes)、α変動カウンタを６にインクリメントし(図２０(Ｃ)；ステップＳ４１７)、α変動カウンタが規定値を超えたので(図２０(Ｃ)；ステップＳ４１８でYes)、空燃比フィードバック係数αのハンチングを判定しフラグをセットする(図２０(Ｇ)；ステップＳ４１９)。
【０１４９】
時刻ｔ416でベースチェックタイマのインクリメントを開始し(図２０(Ｈ)；ステップＳ４４１)、時刻ｔ417で空燃比フィードバック補正係数αがベースずれなし領域から外れたら(図２０(Ａ)；ステップＳ４４３でNo)、ベースずれタイマをインクリメントする(図２０(Ｉ)；ステップＳ４４５)。
【０１５０】
時刻ｔ418で空燃比フィードバック補正係数αがベースずれなし領域に戻ったら(図２０(Ａ)；ステップＳ４４３でYes)、ベースずれタイマをリセットし(図２０(Ｉ)；ステップＳ４４４)、時刻ｔ419で空燃比フィードバック補正係数αがベースずれなし領域から外れたら(図２０(Ａ)；ステップＳ４４３でNo)、ベースずれタイマをインクリメントする(図２０(Ｉ)；ステップＳ４４５)。
【０１５１】
時刻ｔ420で空燃比フィードバック補正係数αがベースずれなし領域から外れたまま規定時間を超えたら(図２０(Ａ)；ステップＳ４４６でYes)、ベースずれありを判定する(ステップＳ４４７)。ベースずれを判定したらアクティブキャリブレーションにし(ステップＳ４６)、それでもハンチングを判定するときは(ステップＳ４２でYes)、燃料過蒸発状態であると判定しフラグをセットする(ステップＳ４７)。
【０１５２】
本実施形態によれば、排気エミッションを悪化させないように目標パージ率を設定し、その目標パージ率に基づいてパージバルブを開弁制御したときにキャニスタから脱離する燃料脱離量をキャニスタモデルで推定し、キャニスタモデルで推定された燃料脱離量の相当量を減量補正してエンジンに燃料を供給しているにもかかわらず、排気エミッションの悪化を判定したときには、燃料タンクで発生中の蒸発燃料量が過大であると判定するようにしたので、燃料の過蒸発状態を正確に検出することができる。また排気エミッションの悪化は空燃比フィードバック補正係数の変動周期に基づいて判定するようにした。またパージ制御を停止中に、パージ制御を停止前の空燃比フィードバック補正係数の変動回数カウント及びカウント開始からの経過時間を保持し、パージ制御を再び開始したらその保持した回数カウント及び経過時間から再開するようにしたので、走行中であっても燃料の過蒸発状態を判定でき、アイドルストップ車両にも適用することができる。
【０１５３】
空燃比フィードバック補正係数の変動周期はパッシブキャリブレーション方式で検出するので迅速である。またパッシブキャリブレーション方式ではうまく検出できないときはベースずれチェックを行い、ベースずれがあればアクティブキャリブレーション方式に変更するので、いかなる場合も正確な検出が可能である。
【０１５４】
燃料タンクで発生中の蒸発燃料量が過大であると判定したときには、パージバルブの開度を絞るようにしたので、気筒内のリッチ空燃比を防止できる。
【０１５５】
パージ濃度推定の完了前は、空燃比フィードバック補正係数が許容変動幅を下回る回数をカウントし、所定時間以内に規定カウント数に達したか否かによって判定し、パージ濃度推定の完了後は、空燃比フィードバック補正係数が許容変動幅を上回る回数及び下回る回数をカウントし、所定時間以内に規定カウント数に達したか否かによって判定するので正確に判定できる。所定時間以内に規定カウント数に達しなければ再度判定をやり直すので誤判定を防止できる。
【０１５６】
以上説明した実施形態に限定されることなく、その技術的思想の範囲内において種々の変形や変更が可能であり、それらも本発明と均等であることは明白である。
【図面の簡単な説明】
【０１５７】
【図１】本発明による蒸発燃料処理装置を備えるエンジンの全体構成図である。
【図２】目標パージ率設定ルーチンの内容を説明するフローチャートである。
【図３】キャニスタの吸着状態に基づかない目標パージ率設定ルーチンの内容を説明するフローチャートである。
【図４】空燃比フィードバック偏差の差に応じたパージ率変化量を求めるための特性テーブルを示す図である。
【図５】キャニスタの吸着状態に基づく目標パージ率設定ルーチンの内容を説明するフローチャートである。
【図６】パージ変化量制限値設定ルーチンの内容を説明するフローチャートである。
【図７】パージ空燃比の誤差を推定するための特性テーブルを示す図である。
【図８】最大パージ率設定ルーチンの内容を説明するフローチャートである。
【図９】キャニスタモデルによる脱離量演算ルーチンの内容を説明するフローチャートである。
【図１０】キャニスタモデルを示す制御ブロック図である。
【図１１】本発明による蒸発燃料処理装置の動作を説明するメインフローチャートである。
【図１２】濃度推定完了前の燃料過蒸発状態判定ルーチンの内容を説明するフローチャートである。
【図１３】濃度推定完了後の燃料過蒸発状態判定ルーチンの内容を説明するフローチャートである。
【図１４】空燃比フィードバック補正係数αがハンチングするか否かを判定するルーチンの内容を説明するフローチャートである。
【図１５】ベースずれルーチンの内容を説明するフローチャートである。
【図１６】パッシブキャリブレーション及びアクティブキャリブレーションについての説明図である。
【図１７】濃度推定完了前の蒸発燃料処理装置の動作を示すタイムチャートである。
【図１８】濃度推定完了後であってアクティブキャリブレーションにおける蒸発燃料処理装置の動作を示すタイムチャートである。
【図１９】濃度推定完了後であってパッシブキャリブレーションのベースずれがない場合の蒸発燃料処理装置の動作を示すタイムチャートである。
【図２０】濃度推定完了後であってパッシブキャリブレーションのベースずれがある場合の蒸発燃料処理装置の動作を示すタイムチャートである。
【符号の説明】
【０１５８】
１  蒸発燃料処理装置
１０  キャニスタ
１４  パージバルブ
２０  燃料タンク
２２  配管
３０  エンジン
３１  吸気通路
３４  燃料噴射弁（燃料噴射量調整手段）
１００  コントローラ
ステップＳ１０  目標パージ率設定手段
ステップＳ１００  キャニスタモデル
ステップＳ３７，Ｓ４１８  エミッション悪化判定手段
ステップＳ３８，Ｓ４７  燃料過蒸発判定手段
【図１】
0004710712.tif 000006
【図２】
0004710712.tif 000007
【図３】
0004710712.tif 000008
【図４】
0004710712.tif 000009
【図５】
0004710712.tif 000010
【図６】
0004710712.tif 000011
【図７】
0004710712.tif 000012
【図８】
0004710712.tif 000013
【図９】
0004710712.tif 000014
【図１０】
0004710712.tif 000015
【図１１】
0004710712.tif 000016
【図１２】
0004710712.tif 000017
【図１３】
0004710712.tif 000018
【図１４】
0004710712.tif 000019
【図１５】
0004710712.tif 000020
【図１６】
0004710712.tif 000021
【図１７】
0004710712.tif 000022
【図１８】
0004710712.tif 000023
【図１９】
0004710712.tif 000024
【図２０】
0004710712.tif 000025