(57)【要約】【課題】燃料の揺れの発生に関わらず、蒸発燃料処理系のリーク判定を精度よくかつ迅速に行うことができる蒸発燃料処理系のリーク判定装置を提供する。【解決手段】リーク判定装置１は、所定のリーク判定期間中に検出された蒸発燃料処理系３０内の検出圧力に応じて、蒸発燃料処理系３０のリークの有無を判定し（ステップ６７〜６９）、リーク判定期間中に検出された蒸発燃料処理系３０内の圧力の変化量ＤＳＬＯＳＨ１，ＤＳＬＯＳＨ０  を所定期間ごとに算出する（ステップ３０，３１）とともに、この圧力変化量の今回値ＤＳＬＯＳＨ１  と前回値ＤＳＬＯＳＨ０  との偏差ＤＤＳＬＯＳＨ  が、所定の正の第１判定値ＤＤＨＯＳＥＩ  以上のとき、または所定の負の第２判定値（−ＤＤＨＯＳＥＩ）以下のときに、燃料タンク３１内で燃料が揺れたと判定し（ステップ３３，３９）、そのように判定されたときに、リーク判定に用いる検出圧力の値を、圧力変化量の偏差ＤＤＳＬＯＳＨ  に基づいて補正する（ステップ５４）。【選択図】  図４
2004324484.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内で発生した蒸発燃料を、キャニスタに一時的に吸着し、内燃機関の吸気系に供給する蒸発燃料処理系のリーク判定装置であって、
前記蒸発燃料処理系内の圧力を検出する圧力検出手段と、
所定のリーク判定期間中に検出された前記蒸発燃料処理系内の検出圧力に応じて、前記蒸発燃料処理系のリークの有無を判定するリーク判定手段と、
前記リーク判定期間中に検出された前記蒸発燃料処理系内の圧力の変化量を所定期間ごとに算出する圧力変化量算出手段と、
当該算出された圧力変化量の今回値と前回値との偏差が、所定の正の第１判定値以上のとき、または所定の負の第２判定値以下のときに、燃料タンク内で燃料の揺れが発生したと判定する燃料揺れ判定手段と、
当該燃料揺れ判定手段により前記燃料タンク内で燃料の揺れが発生したと判定されたときに、前記リーク判定に用いる前記検出圧力の値を、前記圧力変化量の前記偏差に基づいて補正する補正手段と、
を備えることを特徴とする蒸発燃料処理系のリーク判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、燃料タンク内で発生した蒸発燃料を、キャニスタに一時的に吸着し、内燃機関の吸気系に供給する蒸発燃料処理系のリークの有無を判定する蒸発燃料処理系のリーク判定装置に関する。
【０００２】
【従来の技術】
従来、この種のリーク判定装置として、例えば特許文献１に開示されたものが知られている。この蒸発燃料処理系は、キャニスタ、燃料タンク、ベーパ通路およびパージ通路を有している。キャニスタは、ベーパ通路を介して燃料タンクに接続され、パージ通路を介して内燃機関の吸気管に接続されている。べーパ通路には、圧力センサが設けられており、この圧力センサによって、ベーパ通路と燃料タンクで形成される空間内の圧力（以下「タンク内圧」という）が検出される。
【０００３】
このリーク判定装置では、上記蒸発燃料処理系のリークの有無がタンク内圧に基づいて判定される。また、燃料タンク内の燃料の揺れ（以下「スロッシュ」という）の有無が判定され、スロッシュが発生していると判定された場合には、蒸発燃料処理系のリーク判定が中止される。これは、スロッシュが発生している場合、このスロッシュによって蒸発燃料量が増えることで、タンク内圧が上昇するので、そのような状態で検出されたタンク内圧に基づいてリークの有無を判定すると、判定を誤るおそれがあるためである。また、スロッシュ判定は、タンク内圧の今回値と前回値との偏差に基づいて行われ、このタンク内圧の偏差が所定値以上のときに、スロッシュが発生したと判定される。さらに、スロッシュ発生によるリーク判定の中止状態は、タンク内圧の偏差が上記所定値未満になっても、タンク内圧がスロッシュの発生直前の値以下に低下するまで継続される。
【０００４】
【特許文献１】
特開平６−１５９１５７号公報
【０００５】
【発明が解決しようとする課題】
上述した従来のリーク判定装置では、スロッシュが発生したと判定された場合に、リーク判定が中止されるとともに、その後、タンク内圧がスロッシュの発生直前の値以下に低下するまで、リーク判定が実行されないので、その場合には、リーク判定の結果が得られるまでに時間がかかってしまう。
【０００６】
本発明は、このような課題を解決するためになされたものであり、燃料の揺れの発生に関わらず、蒸発燃料処理系のリーク判定を精度よくかつ迅速に行うことができる蒸発燃料処理系のリーク判定装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
この目的を達成するため、請求項１による発明は、燃料タンク３１内で発生した蒸発燃料を、キャニスタ３３に一時的に吸着し、内燃機関３の吸気系（実施形態における（以下、本項において同じ）吸気管４）に供給する蒸発燃料処理系３０のリーク判定装置１であって、蒸発燃料処理系３０内の圧力（タンク内圧ＰＴＡＮＫ）を検出する圧力検出手段（圧力センサ３５）と、所定のリーク判定期間中に検出された蒸発燃料処理系３０内の検出圧力に応じて、蒸発燃料処理系３０のリークの有無を判定するリーク判定手段（ＥＣＵ２、図８のステップ６７〜６９）と、リーク判定期間中に検出された蒸発燃料処理系３０内の圧力の変化量（圧力変化量の今回値ＤＳＬＯＳＨ１，圧力変化量の前回値ＤＳＬＯＳＨ０）を所定期間（所定値ＣＰＴＳＰα）ごとに算出する圧力変化量算出手段（ＥＣＵ２、図３のステップ３０，３１）と、算出された圧力変化量の今回値ＤＳＬＯＳＨ１と前回値ＤＳＬＯＳＨ０との偏差（圧力変化量偏差ＤＤＳＬＯＳＨ）が、所定の正の第１判定値ＤＤＨＯＳＥＩ以上のとき、または所定の負の第２判定値（−ＤＤＨＯＳＥＩ）以下のときに、燃料タンク３１内で燃料の揺れが発生したと判定する燃料揺れ判定手段（ＥＣＵ２、図４のステップ３３，３９）と、燃料揺れ判定手段により燃料タンク３１内で燃料の揺れが発生したと判定されたときに、リーク判定に用いる検出圧力の値を、圧力変化量の偏差に基づいて補正する補正手段（ＥＣＵ２、図５のステップ５４）と、を備えることを特徴とする。
【０００８】
この蒸発燃料処理系のリーク判定装置によれば、所定のリーク判定期間中に検出された蒸発燃料処理系内の圧力に応じて、蒸発燃料処理系のリークの有無が判定される。また、リーク判定期間中に検出された蒸発燃料処理系内の圧力の変化量が所定期間ごとに算出され、この圧力変化量の今回値と前回値との偏差が、正の第１判定値以上のとき、または負の第２判定値以下のときに、燃料タンク内の燃料に揺れが発生したと判定され、そのように判定されたときには、リーク判定に用いる検出圧力の値が、算出された偏差に基づいて補正される。
【０００９】
燃料の揺れが発生した場合、この燃料の揺れによって蒸発燃料が急激に増加することで、蒸発燃料処理系内の圧力は、それまでの燃料の揺れが発生していない場合よりも大きな傾きで上昇する。したがって、上記のように圧力変化量の今回値と前回値との偏差が正の第１判定値以上のときに燃料の揺れが発生したと判定することによって、燃料の揺れの発生を捉えることができる。また、燃料の揺れがリーク判定の開始時に発生した場合には、蒸発燃料処理系内の圧力は、リーク判定の開始直後から比較的大きな傾きで上昇し、その後、緩やかに上昇する。このような特異なパターンの燃料の揺れは、第１判定値を用いた上述した手法では捉えることができないものの、圧力変化量の偏差が負の第２判定値以下のときに燃料の揺れが発生したと判定することによって、逃さずに的確に捉えることができる。
【００１０】
さらに、燃料の揺れが発生したと判定したときに算出された偏差は、その算出方法から明らかなように、燃料の揺れに起因する蒸発燃料処理系内の圧力の変化状態を表す。したがって、本発明によれば、燃料の揺れが発生したと判定されたときに、リーク判定に用いる検出圧力の値を、この偏差に基づいて補正することによって、燃料の揺れが発生したときでも、それに起因する圧力への影響を排除しながら、リーク判定を適切に精度よく行うことができる。また、従来と異なり、リーク判定を、スロッシュが発生したときに中止せずに迅速に行うことができる。
【００１１】
【発明の実施の形態】
以下、図面を参照しながら、本発明の好ましい実施形態を詳細に説明する。図１は、本発明のリーク判定装置１、これを適用した蒸発燃料処理系３０および内燃機関（以下「エンジン」という）３の概略構成を示している。このリーク判定装置１は、蒸発燃料処理系３０のリークの有無を判定するものである。
【００１２】
エンジン３は、ガソリンエンジンであり、図示しない車両に搭載されている。このエンジン３の本体には、エンジン回転数センサ２１が取り付けられている。エンジン回転数センサ２１は、エンジン回転数ＮＥを検出し、その検出信号をＥＣＵ２に出力する。
【００１３】
エンジン３の吸気管４（吸気系）には、スロットル弁５が設けられ、その下流側には、吸気管内絶対圧センサ２２が取り付けられている。この吸気管内絶対圧センサ２２は、吸気管４内の吸気管内絶対圧ＰＢＡを検出し、その検出信号をＥＣＵ２に出力する。
【００１４】
さらに、吸気管４の吸気管内絶対圧センサ２２よりも下流側には、インジェクタ６が吸気ポート（図示せず）に臨むように取り付けられている。このインジェクタ６の開弁時間である燃料噴射時間は、ＥＣＵ２によって制御される。また、インジェクタ６は、燃料供給管７を介して燃料タンク３１に接続されており、この燃料供給管７の途中には、インジェクタ６に燃料を圧送する燃料ポンプ８が設けられている。
【００１５】
エンジン３の排気管９の触媒装置１０よりも上流側には、Ｏ２センサ２３が取り付けられている。このＯ２センサ２３は、触媒装置１０の上流側の排気ガス中の酸素濃度を検出し、その酸素濃度に応じた検出信号をＥＣＵ２に出力する。ＥＣＵ２は、このＯ２センサ２３の検出信号に基づき、前述した燃料噴射時間の算出に用いる空燃比補正係数ＫＯ２を求める。
【００１６】
ＥＣＵ２には、車速センサ２４から、車両の速度（以下「車速」という）ＶＰを表す検出信号が出力される。
【００１７】
蒸発燃料処理系３０は、燃料タンク３１、チャージ通路３２、キャニスタ３３およびパージ通路３４を備えており、燃料タンク３１内で発生した蒸発燃料を、キャニスタ３３に一時的に吸着・貯留し、吸気管４内に適宜、放出するものである。
【００１８】
燃料タンク３１は、チャージ通路３２を介して、キャニスタ３３に接続されており、燃料タンク３１内で発生した蒸発燃料がチャージ通路３２を介して、キャニスタ３３に送られる。燃料タンク３１には、フロート弁３１ａが設けられている。このフロート弁３１ａは、チャージ通路３２の燃料タンク３１側のポートを開閉するものであり、通常はポートを開放しており、燃料タンク３１が満タン状態のときや燃料タンク３１内の燃料が揺れたときなどには、ポートを閉鎖することにより、燃料がチャージ通路３２側に流れ込むのを阻止する。
【００１９】
チャージ通路３２の燃料タンク３１側には、圧力センサ３５（圧力検出手段）が配置されている。この圧力センサ３５は、例えば圧電素子で構成され、チャージ通路３２内の圧力を検出し、その検出信号をＥＣＵ２に出力する。このチャージ通路３２内の圧力は、通常は燃料タンク３１内の圧力にほぼ等しいので、以下、タンク内圧ＰＴＡＮＫ（蒸発燃料処理系内の圧力）という。
【００２０】
また、チャージ通路３２の圧力センサ３５とキャニスタ３３の間には、２方向弁３６が設けられている。この２方向弁３６は、いずれもダイアフラム式の正圧弁および負圧弁を組み合わせた機械式弁で構成されている。この正圧弁は、タンク内圧ＰＴＡＮＫが上限圧、すなわち大気圧よりも所定圧分高い所定圧力に達したときに開弁するように構成されており、その開弁により、燃料タンク３１内の蒸発燃料がキャニスタ３３に送られる。また、負圧弁は、タンク内圧ＰＴＡＮＫが下限圧、すなわちキャニスタ３３側の圧力よりも所定圧分低い所定圧力に達したときに開弁するように構成されており、その開弁により、キャニスタ３３に貯えられていた蒸発燃料が燃料タンク３１に戻される。
【００２１】
さらに、チャージ通路３２には、２方向弁３６をバイパスするようにバイパス通路３７が設けられている。このバイパス通路３７には、バイパス弁４０が設けられている。このバイパス弁４０は、常閉タイプの電磁弁で構成されており、通常はバイパス通路３７を閉鎖し、ＥＣＵ２の制御によって励磁されたときに開弁することにより、バイパス通路３７を開放する。
【００２２】
キャニスタ３３は、活性炭を内蔵しており、この活性炭によって蒸発燃料が吸着される。このキャニスタ３３には、大気側に開口する大気通路３８が接続されており、大気通路３８には、これを開閉するベントシャット弁４１が設けられている。このベントシャット弁４１は、常開タイプの電磁弁で構成されており、通常は大気通路３８を開放し、ＥＣＵ２の制御により励磁されたときに大気通路３８を閉鎖する。
【００２３】
パージ通路３４は、キャニスタ３３と吸気管４を連結しており、パージ通路３４の途中には、これを開閉するパージ制御弁４２が設けられている。このパージ制御弁４２は、電磁弁で構成されており、その開度は、ＥＣＵ２からの駆動信号のデューティ比に応じて連続的に変化するように制御される。上記ベントシャット弁４１が開弁状態のときに、パージ制御弁４２が開弁することによって、キャニスタ３３に貯えられた蒸発燃料が、吸気管４内の負圧により吸気管４内に送り込まれる（パージされる）。ＥＣＵ２は、パージ制御弁４２の開度をデューティ制御することにより、キャニスタ３３から吸気管４に送り込まれる蒸発燃料の流量、すなわちパージ流量を制御する。
【００２４】
ＥＣＵ２は、Ｉ／Ｏインターフェース、ＣＰＵ、ＲＡＭおよびＲＯＭなどからなるマイクロコンピュータで構成されている。前述した各種のセンサ２１〜２４および３５からの検出信号はそれぞれ、Ｉ／ＯインターフェースでＡ／Ｄ変換や整形がなされた後、ＣＰＵに入力される。
【００２５】
ＣＰＵは、これらの入力信号に応じて、エンジン３の運転状態を判別するとともに、判別した運転状態に応じ、ＲＯＭに記憶された制御プログラムや、ＲＡＭに記憶されたデータなどに従って、上述した各種の弁４０〜４２の動作を制御することによって蒸発燃料処理系３０の動作を制御するとともに、リーク判定処理を実行する。なお、本実施形態では、ＥＣＵ２により、リーク判定手段、圧力変化量算出手段、燃料揺れ判定手段、および補正手段が構成されている。
【００２６】
図２はこのリーク判定処理のメインフローを示している。この処理は、蒸発燃料処理系３０のうちの、２方向弁３６およびバイパス弁４０よりも上流側から燃料タンク３１までの部分を対象としてリークの有無を判定するものであり、所定時間（例えば８０ｍｓｅｃ）ごとに実行される。なお、リーク判定処理におけるリーク判定は、エンジン３の運転の開始から終了までの間に１回のみ実行される。
【００２７】
まず、ステップ１（Ｓ１と図示。以下同じ）において、リーク判定完了フラグＦ＿ＤＯＮＥが「１」であるか否かを判別する。この答がＹＥＳで、リーク判定が完了しているときには、そのまま本プログラムを終了する。
【００２８】
ステップ１の答がＮＯで、リーク判定が完了していないときには、リーク判定の実行条件が成立しているか否かを判別する（ステップ２）。この実行条件は、次の（１）〜（４）の条件がいずれも成立しているときに、成立していると判別される。
（１）パージ制御弁４２によるパージ制御を実行中であること。
（２）エンジン３が所定の定常運転状態にあること（例えば吸気管内絶対圧ＰＢＡおよびエンジン回転数ＮＥなどにより判定される）。
（３）車速ＶＰの変化が小さいクルージング運転中であること。
（４）空燃比補正係数ＫＯ２が所定値以上であって、空燃比に対するパージ流量の影響が小さい状態であること。
【００２９】
ステップ２の答がＹＥＳで、リーク判定の実行条件が成立しているときには、ステップ３〜７の大気開放モード処理、減圧モード処理、リークチェックモード処理、圧力復帰モード処理および補正チェックモード処理を順に実行した後、本プログラムを終了する。
【００３０】
一方、ステップ２の答がＮＯで、リーク判定の実行条件が成立していないときには、アップカウント式のリーク判定タイマのタイマ値Ｔを値０にセットし（ステップ８）、本プログラムを終了する。
【００３１】
上記ステップ３の大気開放モード処理では、タンク内圧ＰＴＡＮＫが大気圧にほぼ等しくなるように、バイパス弁４０およびベントシャット弁４１を開放状態に、パージ制御弁４２を閉鎖状態にそれぞれ保持する。
【００３２】
ステップ３に続くステップ４の減圧モード処理では、バイパス弁４０を開放状態に、ベントシャット弁４１を閉鎖状態に保持するとともに、パージ制御弁４２を所定の減圧時間Ｔ１、デューティ制御することによって、蒸発燃料処理系３０内を減圧する。そして、この減圧後に、リーク判定タイマのタイマ値Ｔを値０にセットするとともに、前記リークチェックモード処理を実行可能な状態であることを表すために、リークチェックモード許可フラグＦ＿ＥＶＡＰ２を「１」にセットする。
【００３３】
図３〜５は、前記ステップ５のリークチェックモード処理を示している。まず、ステップ１１では、リークチェックモード許可フラグＦ＿ＥＶＡＰ２が「１」であるか否かを判別する。この答がＮＯで、蒸発燃料処理系３０がリークチェックモード処理を実行可能な状態にないときには、ダウンカウント式のサンプリングタイマのタイマ値ＴＳＬＯＨを値０にセットする（ステップ１２）とともに、後述するバッファＰＴＳＬＯＳＨ［１４］〜［０］をいずれも値０に設定し（ステップ１３）、取込カウンタのカウンタ値ＣＰＴＳＰを所定値ＣＰＴＳＰα（例えば１０）にセットする（ステップ１４）。
【００３４】
次いで、ステップ１５〜１８において、後述する＋側（増加側）圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰ、−側（減少側）圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭ、＋側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＰ、−側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＭ、＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰ、−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭおよびスロッシュ補正値ＲＥＶＳＬＴＴＬを値０に設定し、本プログラムを終了する。
【００３５】
一方、ステップ１１の答がＹＥＳで、Ｆ＿ＥＶＡＰ２＝１のときには、バイパス弁（「ＢＰＳ」と図示）４０、ベントシャット弁（「ＶＳＳＶ」と図示）４１およびパージ制御弁（「ＰＣＳ」と図示）４２を閉鎖状態に保持する（ステップ１９）。
【００３６】
次いで、タンク内圧取り込みフラグＦ＿ＰＴが「１」であるか否かを判別する（ステップ２０）。この答がＮＯのときには、現在のタンク内圧ＰＴＡＮＫを移行時タンク内圧ＰＴＬＫ０として設定する（ステップ２１）とともに、この設定（取り込み）が終了したことを表すために、タンク内圧取り込みフラグＦ＿ＰＴを「１」にセットし（ステップ２２）、次のステップ２３に進む。一方、ステップ２０の答がＹＥＳで、Ｆ＿ＰＴ＝１のときには、ステップ２１および２２をスキップし、ステップ２３に進む。
【００３７】
このステップ２３では、サンプリングタイマのタイマ値ＴＳＬＯＳＨが値０であるか否かを判別する。今回のループがリークチェックモードに移行した直後のループの場合には、前記ステップ１２の実行により、この答がＹＥＳとなり、その場合には、バッファＰＴＳＬＯＳＨ［１４］〜［０］を更新する（ステップ２４）。これらのバッファＰＴＳＬＯＳＨ［１４］〜［０］は、タンク内圧ＰＴＡＮＫをＰＴＳＬＯＳＨ［０］〜ＰＴＳＬＯＳＨ［１４］に順次、記憶するためのものであり、このステップ２４の更新によって、タンク内圧ＰＴＡＮＫのデータが順次シフトされる。次いで、空き状態となったＰＴＳＬＯＳＨ［０］に現在のタンク内圧ＰＴＡＮＫを今回値として記憶する（ステップ２５）。
【００３８】
次いで、取込カウンタのカウンタ値ＣＰＴＳＰが値０であるか否かを判別する（ステップ２６）。この答がＮＯのときには、このカウンタ値ＣＰＴＳＰをデクリメントする（ステップ２７）とともに、サンプリングタイマのタイマ値ＴＳＬＯＳＨを所定のサンプリング時間ＴＭＳＬＯＳＨ（例えば１ｓｅｃ）にセットし（ステップ２８）、リークチェックモード終了フラグＦ＿ＰＴＬＫ０ＥＮＤが「１」であるか否かを判別する（ステップ２９）。このリークチェックモード終了フラグＦ＿ＰＴＬＫ０ＥＮＤは、リーク判定タイマのタイマ値Ｔが所定のリークチェック時間Ｔ２（例えば６０ｓｅｃ）以上のとき、すなわちリークチェックモードへの移行後、リークチェック時間Ｔ２が経過したときに、リークチェックモードを終了すべきとして「１」にセットされるものである。この答がＮＯで、リークチェックモードへの移行後、リークチェック時間Ｔ２が経過していないときには、本プログラムを終了する。また、上記ステップ２８の実行により、以後のループでは、前記ステップ２３の答がＮＯとなるので、その場合には、上記ステップ２９を実行し、本プログラムを終了する。
【００３９】
一方、前記ステップ２６の答がＹＥＳで、ＣＰＴＳＰ≦０、すなわち、所定値ＣＰＴＳＰα＋１に相当する所定数のタンク内圧ＰＴＡＮＫが、バッファＰＴＳＬＯＳＨ［０］〜［１４］に記憶されたときには、ＰＴＳＬＯＳＨ［０］−ＰＴＳＬＯＳＨ［ＣＰＴＳＰα／２］を、圧力変化量の今回値ＤＳＬＯＳＨ１（蒸発燃料処理系内の圧力の変化量）として設定する（ステップ３０）。この場合、ＰＴＳＬＯＳＨ［０］は、バッファＰＴＳＬＯＳＨ［０］に今回値として記憶されたタンク内圧ＰＴＡＮＫに相当し、ＰＴＳＬＯＳＨ［ＣＰＴＳＰα／２］は、今回時から所定値ＣＰＴＳＰαの半分の値に相当する所定回前に記憶されたタンク内圧ＰＴＡＮＫに相当する。
【００４０】
次いで、ＰＴＳＬＯＳＨ［ＣＰＴＳＰα／２］−ＰＴＳＬＯＳＨ［ＣＰＴＳＰα］を、圧力変化量の前回値ＤＳＬＯＳＨ０（蒸発燃料処理系内の圧力の変化量）として設定する（ステップ３１）。この場合、ＰＴＳＬＯＳＨ［ＣＰＴＳＰα］は、今回時から所定値ＣＰＴＳＰαに相当する所定回前に記憶されたタンク内圧ＰＴＡＮＫに相当する。
【００４１】
以上のように、サンプリング時間ＴＭＳＬＯＳＨごとに、バッファＰＴＳＬＯＳＨ［０］〜［１４］へのタンク内圧ＰＴＡＮＫの取り込みが繰り返し行われ（ステップ２３〜２５および２８）、所定値ＣＰＴＳＰα＋１に相当する所定数のタンク内圧ＰＴＡＮＫが記憶される（ステップ２６および２７）。そして、この記憶が終了すると、現在のタンク内圧ＰＴＡＮＫ（最新値）から、今回時から所定値ＣＰＴＳＰαの半分に相当する所定回前のタンク内圧ＰＴＡＮＫ（中間値）を減算することによって、圧力変化量の今回値ＤＳＬＯＳＨ１が算出される（ステップ３０）。また、所定値ＣＰＴＳＰαの半分に相当する所定回前のタンク内圧ＰＴＡＮＫから、所定値ＣＰＴＳＰαに相当する所定回前のタンク内圧ＰＴＡＮＫ（最前値）を減算することによって、圧力変化量の前回値ＤＳＬＯＳＨ０が算出される（ステップ３１）。
【００４２】
ステップ３１に続くステップ３２では、算出された圧力変化量の今回値ＤＳＬＯＳＨ１から前回値ＤＳＬＯＳＨ０を減算した値を、圧力変化量偏差ＤＤＳＬＯＳＨ（圧力変化量の今回値と前回値との偏差）として算出し、次いで、算出された圧力変化量偏差ＤＤＳＬＯＳＨが、所定の正の第１判定値ＤＤＨＯＳＥＩ（例えば１ｍｍＨｇ）以上であるか否かを判別する（ステップ３３）。この答がＹＥＳで、ＤＤＳＬＯＳＨ≧ＤＤＨＯＳＥＩ、すなわち圧力変化量の今回値ＤＳＬＯＳＨ１が前回値ＤＳＬＯＳＨ０よりも非常に大きいときには、−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭを値０に設定する（ステップ３４）とともに、スロッシュが発生したために、タンク内圧ＰＴＡＮＫが急激に上昇しているとして、スロッシュが発生したと判定し、そのことを表すために、＋側スロッシュフラグＦ＿ＳＬＯＳＨＳＴＰを「１」にセットする（ステップ３５）。以下、このような圧力変化量の今回値ＤＳＬＯＳＨ１が前回値ＤＳＬＯＳＨ０よりも非常に大きいことでスロッシュが発生したと判定するパターンを、「＋側判定パターン」という。
【００４３】
次いで、圧力変化量偏差ＤＤＳＬＯＳＨが＋側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰよりも大きいか否かを判別する（ステップ３６）。この答がＹＥＳで、ＤＤＳＬＯＳＨ＞ＤＤＳＬＭＡＸＰのときには、圧力変化量偏差ＤＤＳＬＯＳＨを＋側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰとして設定する（ステップ３７）とともに、＋側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＰと＋側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰとの和を、＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰとして設定する（ステップ３８）。一方、ステップ３６の答がＮＯで、ＤＤＳＬＯＳＨ≦ＤＤＳＬＭＡＸＰのときには、ステップ３７をスキップし、ステップ３８を実行する。
【００４４】
一方、前記ステップ３３の答がＮＯで、ＤＤＳＬＯＳＨ＜正の第１判定値ＤＤＨＯＳＥＩのときには、圧力変化量偏差ＤＤＳＬＯＳＨが、第１判定値ＤＤＨＯＳＥＩと絶対値が同じ所定の負の第２判定値（−ＤＤＨＯＳＥＩ）（例えば−１ｍｍＨｇ）以下であるか否かを判別する（ステップ３９）。この答がＹＥＳで、ＤＤＳＬＯＳＨ≦（−ＤＤＨＯＳＥＩ）、すなわち圧力変化量の前回値ＤＳＬＯＳＨ０が今回値ＤＳＬＯＳＨ１よりも非常に大きいときには、＋側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰを値０に設定する（ステップ４０）とともに、スロッシュが発生したために、タンク内圧ＰＴＡＮＫが急激に上昇した後、その傾きが緩くなったとして、やはりスロッシュが発生したと判定し、そのことを表すために、−側スロッシュフラグＦ＿ＳＬＯＳＨＳＴＭを「１」にセットする（ステップ４１）。以下、このような圧力変化量の前回値ＤＳＬＯＳＨ０が今回値ＤＳＬＯＳＨ１よりも非常に大きいことでスロッシュが発生したと判定するパターンを、「−側判定パターン」という。
【００４５】
次いで、圧力変化量偏差の絶対値｜ＤＤＳＬＯＳＨ｜が−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭよりも大きいか否かを判別する（ステップ４２）。この答がＹＥＳで、｜ＤＤＳＬＯＳＨ｜＞ＤＤＳＬＭＡＸＭのときには、圧力変化量偏差の絶対値｜ＤＤＳＬＯＳＨ｜を−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭとして設定する（ステップ４３）とともに、−側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＭと−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭとの和を、−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭとして設定する（ステップ４４）。一方、ステップ４２の答がＮＯで、｜ＤＤＳＬＯＳＨ｜≦ＤＤＳＬＭＡＸＭのときには、ステップ４３をスキップし、ステップ４４を実行する。
【００４６】
一方、前記ステップ３９の答がＮＯで、第２判定値（−ＤＤＨＯＳＥＩ）＜圧力変化量偏差ＤＤＳＬＯＳＨ＜第１判定値ＤＤＨＯＳＥＩのときには、スロッシュが発生していないと判定し、＋側スロッシュフラグＦ＿ＳＬＯＳＨＳＴＰが「１」であるか否かを判別する（ステップ４５）。この答がＹＥＳで、前回のループにおいて＋側判定パターンによりスロッシュが発生したと判定されたときには、現在の＋側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＰと＋側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰとの和を、今回の＋側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＰとして設定した（ステップ４６）後、ステップ４７に進む。
【００４７】
一方、ステップ４５の答がＮＯのときには、−側スロッシュフラグＦ＿ＳＬＯＳＨＳＴＭが「１」であるか否かを判別する（ステップ４９）。この答がＹＥＳで、前回のループにおいて−側判定パターンによりスロッシュが発生したと判定されたときには、現在の−側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＭと−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＭとの和を、今回の−側圧力変化量偏差の積算値ＤＤＳＬＳＵＭＭとして設定した（ステップ５０）後、ステップ４７に進む。一方、ステップ４９の答がＮＯのときには、ステップ４７に進む。
【００４８】
このステップ４７では、スロッシュが発生していないことを表すために、＋側および−側スロッシュフラグＦ＿ＳＬＯＳＨＳＴＰおよびＦ＿ＳＬＯＳＨＳＴＭを「０」にセットする。次いで、＋側および−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰおよびＤＤＳＬＭＡＸＭを値０に設定する（ステップ４８）。
【００４９】
前記ステップ３８，４４または４８に続くステップ５１では、設定された＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰが、−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭよりも大きいか否かを判別する。この答がＹＥＳで、ＲＥＶＳＬＴＬＰ＞ＲＥＶＳＬＴＬＭのときには、＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰをスロッシュ補正量ＲＥＶＳＬＴＴＬとして設定する（ステップ５２）。一方、ステップ５１の答がＮＯで、ＲＥＶＳＬＴＬＰ≦ＲＥＶＳＬＴＬＭのときには、−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭをスロッシュ補正量ＲＥＶＳＬＴＴＬとして設定する（ステップ５３）。
【００５０】
前記ステップ５２または５３の後には、前記ステップ２８を実行した後、前記ステップ２９に進む。このステップ２９の答がＹＥＳで、Ｆ＿ＰＴＬＫ０ＥＮＤ＝１、すなわち、リークチェックモードへの移行後、リークチェック時間Ｔ２が経過したときには、第１平均変化量ＰＴＶＡＲＩＢを、前記ステップ２１で設定した移行時タンク内圧ＰＴＬＫ０、現在のタンク内圧ＰＴＡＮＫおよび上記スロッシュ補正量ＲＥＶＳＬＴＴＬなどを用いて、次式（１）によって算出する（ステップ５４）。
ＰＴＶＡＲＩＢ＝［（ＰＴＡＮＫ−ＰＴＬＫ０）−（ＲＥＶＳＬＴＴＬ・ＫＤＤＳＲＥＶ）］／Ｔ２    ……（１）
ここで、ＫＤＤＳＲＥＶは、スロッシュによるタンク内圧ＰＴＡＮＫの上昇分の影響度合を表す所定の係数（例えば１．０）である。
【００５１】
次いで、リークチェックモード許可フラグＦ＿ＥＶＡＰ２を「０」にセットし、前記圧力復帰モード処理を実行可能な状態であることを表すために、圧力復帰モード許可フラグＦ＿ＥＶＡＰ３を「１」にセットするとともに、リーク判定タイマのタイマ値Ｔを値０にセットし（ステップ５５）、本プログラムを終了する。
【００５２】
図６は、前述した減圧モード処理およびリークチェックモード処理を実行したときのタンク内圧ＰＴＡＮＫの推移の一例を示している。また、同図は、リークチェックモード中にスロッシュが発生した場合を示している。
【００５３】
同図に示すように、まず、減圧モードによって蒸発燃料処理系３０内の減圧が開始されると（時刻ｔ０）、大気開放モードによって大気圧と等しい状態にあったタンク内圧ＰＴＡＮＫが低下する。その後、タンク内圧ＰＴＡＮＫが所定負圧まで低下し、減圧時間Ｔ１が経過した時点（時刻ｔ１）で、リークチェックモードに移行する。そして、この移行時のタンク内圧ＰＴＡＮＫが移行時タンク内圧ＰＴＬＫ０として設定されるとともに、タンク内圧ＰＴＡＮＫが、蒸発燃料の発生により緩やかに上昇する。その後、サンプリング時間ＴＭＳＬＯＳＨごとに、バッファＰＴＳＬＯＳＨ［０］〜［１４］へのタンク内圧ＰＴＡＮＫの取り込みが繰り返し行われ、所定値ＣＰＴＳＰα＋１に相当する所定数のタンク内圧ＰＴＡＮＫが記憶される（なお、同図は、所定値ＣＰＴＳＰαを値４に設定した場合の例である）。
【００５４】
そして、前述したように、所定数のタンク内圧ＰＴＡＮＫが記憶されると（時刻ｔ２）、これらのうちの最新値と中間値との差から圧力変化量の今回値ＤＳＬＯＳＨ１が算出され、中間値と最前値との差から圧力変化量の前回値ＤＬＯＳＨ０が算出されるとともに、これらＤＳＬＯＳＨ１およびＤＳＬＯＳＨ０の偏差である圧力変化量偏差ＤＤＳＬＯＳＨが算出される。これらの算出は、タンク内圧ＰＴＡＮＫがサンプリングされるごとに、バッファＰＴＳＬＯＳＨ［１４］〜［０］に更新された新たなデータを用いて実行される。
【００５５】
そして、スロッシュが発生すると、このスロッシュによって蒸発燃料が急激に増加することで、タンク内圧ＰＴＡＮＫは、それまで（時刻ｔ３〜ｔ３’）よりも大きな傾きで上昇する（時刻ｔ３’〜ｔ４）。この場合、圧力変化量の今回値ＤＳＬＯＳＨ１（時刻ｔ３’〜ｔ４）が前回値ＤＳＬＯＳＨ０（時刻ｔ３〜ｔ３’）よりも非常に大きい。したがって、圧力変化量偏差ＤＤＳＬＯＳＨが正の第１判定値ＤＤＨＯＳＥＩ以上になるので、＋側判定パターンにより、スロッシュが発生していると判定することができる。
【００５６】
また、図７に示すように、スロッシュがリークチェックモードへの移行時に発生した場合には、タンク内圧ＰＴＡＮＫは、リークチェックモードへの移行時から急激に上昇し（ｔ１〜ｔ１’）、その後、それよりも小さな傾きで上昇する（ｔ１’〜ｔ２）。この場合、圧力変化量の前回値ＤＳＬＯＳＨ０（ｔ１〜ｔ１’）が、今回値ＤＳＬＯＳＨ１（ｔ１’〜ｔ２）よりも非常に大きい。したがって、圧力変化量偏差ＤＤＳＬＯＳＨが負の第２判定値（−ＤＤＨＯＳＥＩ）以下になるので、−側判定パターンにより、スロッシュが発生していると判定することができる。
【００５７】
そして、スロッシュが発生していると判定されたときに算出された圧力変化量偏差の絶対値｜ＤＤＳＬＯＳＨ｜に基づいて、スロッシュ補正量ＲＥＶＳＬＴＴＬが設定される。その後、リークチェックモードの開始から、リークチェック時間Ｔ２が経過すると（時刻ｔ５）、その時点でのタンク内圧ＰＴＡＮＫと移行時タンク内圧ＰＴＬＫ０との差からスロッシュ補正量ＲＥＶＳＬＴＴＬを減算した値を、リークチェック時間Ｔ２で除算することによって、第１平均変化量ＰＴＶＡＲＩＢを算出し、リークチェックモードを終了する。
【００５８】
また、圧力変化量偏差の絶対値｜ＤＤＳＬＯＳＨ｜に基づいて設定されるスロッシュ補正量ＲＥＶＳＬＴＴＬは、その設定方法から明らかなように、スロッシュによるタンク内圧ＰＴＡＮＫの上昇分に相当する。したがって、第１平均変化量ＰＴＶＡＲＩＢは、リークチェックモード中の全体の変化量からスロッシュによる上昇分を除いた、タンク内圧ＰＴＡＮＫの単位時間当たりの変化量を表す。
【００５９】
なお、図６に示すように、スロッシュによってタンク内圧ＰＴＡＮＫが急激に上昇したときに、時刻ｔ３〜ｔ４において、＋側判定パターンによるスロッシュ判定がなされるとともに、時刻ｔ３’〜ｔ４’において、−側判定パターンによるスロッシュ判定がなされる場合がある。その場合には、それぞれの判定パターンにおいて、＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰおよび−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭが算出されるとともに、そのうちの大きい方がスロッシュ補正量ＲＥＶＳＬＴＴＬとして選択される（ステップ５１〜５３）ので、これを適切に設定することができる。
【００６０】
また、リークチェックモード中に、スロッシュが複数回、発生した場合には、＋側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＰは、ステップ３８および４６により、−側圧力変化量偏差の最終積算値ＲＥＶＳＬＴＬＭは、ステップ４４および５０により、対応する判定パターンによるスロッシュの判定がなされるごとに圧力変化量偏差ＤＤＳＬＯＳＨを積算することによって求められる。したがって、スロッシュが複数回、生じた場合に、この複数回のスロッシュによるタンク内圧ＰＴＡＮＫの上昇分を、スロッシュ補正量ＲＥＶＳＬＴＴＬに適切に反映させることができる。
【００６１】
さらに、１回のスロッシュに対して、前記ステップ３３または３９の答が複数回のループにわたって連続的にＹＥＳとなる場合がある。その場合には、前記ステップ３６および３７または４２および４３の実行により、算出された複数の圧力変化量偏差ＤＤＳＬＯＳＨのうち、絶対値の最大のものが、＋側または−側圧力変化量偏差の最大値ＤＤＳＬＭＡＸＰまたはＤＤＳＬＭＡＸＭとして設定され、これに基づいてスロッシュ補正量ＲＥＶＳＬＴＴＬが設定される。したがって、スロッシュ補正量ＲＥＶＳＬＴＴＬを適切に設定することができる。
【００６２】
図２に戻り、前記ステップ５に続く、前記ステップ６の圧力復帰モード処理では、まず、圧力復帰モード許可フラグＦ＿ＥＶＡＰ３が「１」であるか否かを判別する。この答がＮＯのときには、蒸発燃料処理系３０が圧力復帰モード処理を実行可能な状態にないとして、そのまま本プログラムを終了する一方、この答がＹＥＳのときには、所定の復帰時間Ｔ３（例えば１０ｓｅｃ）、バイパス弁４０およびベントシャット弁４１を開放状態に、パージ制御弁４２を閉鎖状態にそれぞれ保持する。これにより、タンク内圧ＰＴＡＮＫが大気圧と等しい圧力まで上昇する。
【００６３】
次いで、圧力復帰モード許可フラグＦ＿ＥＶＡＰ３を「０」にセットし、前記補正チェックモード処理を実行可能な状態であることを表すために、補正チェックモード許可フラグＦ＿ＥＶＡＰ４を「１」にセットするとともに、リーク判定タイマのタイマ値Ｔを値０にセットし、本プログラムを終了する。
【００６４】
図８は、前記ステップ６に続くステップ７の補正チェックモード処理を示している。まず、ステップ６１では、補正チェックモード許可フラグＦ＿ＥＶＡＰ４が「１」であるか否かを判別する。この答がＮＯのときには、補正チェックモード処理を実行可能な状態にないとして、そのまま本プログラムを終了する一方、この答がＹＥＳのときには、バイパス弁４０、ベントシャット弁４１およびパージ制御弁４２を閉鎖状態に保持する（ステップ６２）。
【００６５】
次いで、リーク判定タイマのタイマ値Ｔが所定の遅延時間Ｔ４１（例えば１ｓｅｃ）よりも大きいか否かを判別する（ステップ６３）。この答がＮＯで、補正チェックモードへの移行後、遅延時間Ｔ４１が経過していないときには、タンク内圧ＰＴＡＮＫを基準タンク内圧Ｐαとして設定し（ステップ６４）、本プログラムを終了する。
【００６６】
ステップ６３の答がＹＥＳのときには、リーク判定タイマのタイマ値Ｔが所定の補正チェック時間Ｔ４（例えば６０ｓｅｃ）以上であるか否かを判別する（ステップ６５）。この答がＮＯで、補正チェックモードへの移行後、補正チェック時間Ｔ４が経過していないときには、本プログラムを終了する。
【００６７】
ステップ６５の答がＹＥＳのときには、第２平均変化量ＰＴＶＡＲＩＢＨを、上記基準タンク内圧Ｐα、現在のタンク内圧ＰＴＡＮＫなどを用いて、次式（２）によって算出する（ステップ６６）。
ＰＴＶＡＲＩＢＨ＝（ＰＴＡＮＫ−Ｐα）／（Ｔ４−Ｔ４１）  ……（２）
この（２）式から明らかなように、第２平均変化量ＰＴＶＡＲＩＢＨは、遅延時間Ｔ４１から補正チェック時間Ｔ４までの期間内におけるタンク内圧ＰＴＡＮＫの単位時間当たりの変化量である。
【００６８】
次いで、前記リークチェックモード処理において求めた第１平均変化量ＰＴＶＡＲＩＢから第２平均変化量ＰＴＶＡＲＩＢＨを減算した値が、所定のリーク判定値ＰＴＲＥＦ（例えば５ｍｍＨｇ／ｍｉｎ）以下であるか否かを判別する（ステップ６７）。この答がＹＥＳで、リークチェックモード中におけるタンク内圧ＰＴＡＮＫの単位時間当たりの変化量と、補正チェックモード中におけるタンク内圧ＰＴＡＮＫの単位時間当たりの変化量との差が小さいときには、蒸発燃料処理系３０にリークがないと判定し、それを表すために、リーク判定フラグＦ＿ＬＥＡＫを「０」にセットする（ステップ６８）。
【００６９】
このような場合に、蒸発燃料処理系３０にリークがないと判定するのは、次の理由による。すなわち、補正チェックモード処理は、圧力復帰モード処理の実行により、タンク内圧ＰＴＡＮＫを大気圧に制御した状態から開始されるので、第２平均変化量ＰＴＶＡＲＩＢＨは、蒸発燃料によるタンク内圧ＰＴＡＮＫの上昇分とリークによる減少分を反映する。これに対して、リークチェックモード処理は、減圧モード処理により負圧状態で開始されるので、第１平均変化量ＰＴＶＡＲＩＢは、タンク内圧ＰＴＡＮＫの蒸発燃料による上昇分とリークによる上昇分を反映する。したがって、両者の差（ＰＴＶＡＲＩＢ−ＰＴＶＡＲＩＢＨ）は、リークによる上昇分を主として表すので、この値がリーク判定値ＰＴＲＥＦ以下のときに、リークが無いと判定することができる。
【００７０】
一方、ステップ６７の答がＮＯで、ＰＴＶＡＲＩＢ−ＰＴＶＡＲＩＢＨ＞ＰＴＲＥＦ、すなわち第１平均変化量ＰＴＶＡＲＩＢが第２平均変化量ＰＴＶＡＲＩＢＨよりも大きく、その差が大きいときには、蒸発燃料処理系３０にリークがあると判定し、それを表すために、リーク判定フラグＦ＿ＬＥＡＫを「１」にセットする（ステップ６９）。
【００７１】
上記ステップ６８または６９に続くステップ７０では、リーク判定が終了したことを表すために、リーク判定終了フラグＦ＿ＤＯＮＥを「１」にセットし、本プログラムを終了する。
【００７２】
以上のように、本実施形態によれば、圧力変化量の今回値ＤＳＬＯＳＨ１と前回値ＤＳＬＯＳＨ０との偏差である圧力変化量偏差ＤＤＳＬＯＳＨが、正の第１判定値ＤＤＨＯＳＥＩ以上のときに、＋側判定パターンによってスロッシュの発生を適切に判定することができる。また、リークチェックモードの開始時にスロッシュが発生したような場合には、圧力変化量偏差ＤＤＳＬＯＳＨが負の第２判定値（−ＤＤＨＯＳＥＩ）以下のときにスロッシュが発生したと判定する−側判定パターンによって、スロッシュを逃さずに捉えることができる。
【００７３】
さらに、スロッシュが発生したと判定されたときには、そのときの圧力変化量偏差ＤＤＳＬＯＳＨに基づいて、スロッシュ補正量ＲＥＶＳＬＴＴＬが設定され、このスロッシュ補正量ＲＥＶＳＬＴＴＬが、リーク判定に用いられる第１平均変化量ＰＴＶＡＲＩＢを算出する際に減算される。このように、スロッシュが発生したときでも、それに起因するタンク内圧ＰＴＡＮＫへの影響を排除しながら、リーク判定を適切に行うことができるので、この判定を精度よく行うことができる。また、従来と異なり、リーク判定を、スロッシュが発生したときに中止せずに迅速に行うことができる。
【００７４】
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、本実施形態は、リークチェックモードおよび補正チェックモード中、バイパス弁４０を閉鎖することにより、バイパス弁４０および２方向弁３６よりも燃料タンク３１側の空間をリーク判定の対象としたが、これに代えてまたは併せて、リークチェックモードおよび補正チェックモード中、バイパス弁４０を開弁したままとすることにより、キャニスタ３３側を含む蒸発燃料処理系３０全体をリーク判定の対象にしてもよい。この場合、２つの手法によるリーク判定を双方とも実行することにより、リークの部位がバイパス弁４０よりもキャニスタ３３側または燃料タンク３１側のいずれであるかを特定することが可能になる。
【００７５】
また、本実施形態では、スロッシュが発生したと判定されたときに、リーク判定に用いられる第１平均変化量ＰＴＶＡＲＩＢを、その算出の際にスロッシュ補正量ＲＥＶＳＬＴＴＬを減算することによって補正したが、これに代えて、第２平均変化量ＰＴＶＡＲＩＢＨを同様に補正してもよい。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。
【００７６】
【発明の効果】
以上のように、本発明の蒸発燃料処理系のリーク判定装置によれば、燃料の揺れの発生に関わらず、蒸発燃料処理系のリーク判定を精度よくかつ迅速に行うことができるなどの効果を有する。
【図面の簡単な説明】
【図１】本発明のリーク判定装置、これを適用した蒸発燃料処理系および内燃機関の概略構成を示す図である。
【図２】リーク判定処理を示すフローチャートである。
【図３】図２のリークチェックモード処理のサブルーチンを示すフローチャートである。
【図４】図３のフローチャートの続きである。
【図５】図４のフローチャートの続きである。
【図６】減圧モード処理およびリークチェックモード処理を実行した場合において、リークチェックモード中にスロッシュが発生したときのタンク内圧の推移の一例を示すタイミングチャートである。
【図７】図６の他の例を示すタイミングチャートである。
【図８】図２の補正チェックモード処理のサブルーチンを示すフローチャートである。
【符号の説明】
１  リーク判定装置
２  ＥＣＵ（リーク判定手段、圧力変化量算出手段、燃料揺れ判定手段、補正手段）
３  内燃機関
４  吸気管（吸気系）
３０  蒸発燃料処理系
３１  燃料タンク
３３  キャニスタ
３５  圧力センサ（圧力検出手段）
ＰＴＡＮＫ  タンク内圧（蒸発燃料処理系内の圧力）
ＤＳＬＯＳＨ１  圧力変化量の今回値（蒸発燃料処理系内の圧力の変化量）
ＤＳＬＯＳＨ０  圧力変化量の前回値（蒸発燃料処理系内の圧力の変化量）
ＣＰＴＳＰα  所定値（所定期間）
ＤＤＳＬＯＳＨ  圧力変化量偏差（圧力変化量の今回値と前回値との偏差）
ＤＤＨＯＳＥＩ  正の第１判定値
（−ＤＤＨＯＳＥＩ）  負の第２判定値
【図１】
2004324484.tif 000003
【図２】
2004324484.tif 000004
【図３】
2004324484.tif 000005
【図４】
2004324484.tif 000006
【図５】
2004324484.tif 000007
【図６】
2004324484.tif 000008
【図７】
2004324484.tif 000009
【図８】
2004324484.tif 000010