(57)【要約】【課題】内燃機関停止後のリーク判定に起因するバッテリ上がりを回避する。【解決手段】車両の蒸発燃料処理系は、燃料タンクを含み、該燃料タンクには、給油のためのフィラーチューブが設けられている。蒸発燃料処理系には、該蒸発燃料処理系の圧力を検出する圧力センサが設けられている。リーク判定装置は、内燃機関が停止されたことが検出されたならば、該蒸発燃料処理系を閉じた後、圧力センサによって検出された圧力と所定に基づいて、該蒸発燃料処理系内にリークがあるかどうかを判定する。リーク判定装置は、内燃機関を搭載した車両のバッテリに充電されている電気量を算出し、該電気量に基づいて、リーク判定に許容される時間を算出する。該許容時間が、リーク判定に必要な所定時間以上ならば、リーク判定を許可する。【選択図】図１１
2005233060.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンクと、大気に連通する吸気口が設けられ、該燃料タンク内で発生する蒸発燃料を吸着するキャニスタと、該燃料タンクおよび該キャニスタを接続する第１の通路と、該キャニスタを内燃機関の吸気系に接続する第２の通路と、キャニスタの吸気口を開閉するベントシャット弁と、第２の通路に設けられたパージ制御弁とを備える蒸発燃料処理系のリークを判定する装置であって、
前記蒸発燃料処理系の圧力を検出する圧力センサと、
前記内燃機関の停止を検出する機関停止検出手段と、
前記内燃機関の停止が検出されたならば、前記パージ制御弁および前記ベントシャット弁を閉じることにより前記蒸発燃料処理系を閉じ、前記圧力センサによって検出された圧力に基づいて、該蒸発燃料処理系内にリークがあるかどうかを判定するリーク判定手段と、
前記内燃機関を搭載した車両のバッテリに充電されている電気量を算出する電気量算出手段と、
前記算出された電気量に基づいて、前記リーク判定手段によるリーク判定に許容される時間を算出する許容時間算出手段と、
前記許容時間が、前記リーク判定に必要な所定時間以上ならば、前記リーク判定手段によるリーク判定を許可する許可手段と、
を備える、リーク判定装置。
【請求項２】
さらに、前記リーク判定手段によるリーク判定が開始されてからの経過時間を計測する時間計測手段を備え、
前記リーク判定手段は、前記許可手段によって前記リーク判定が許可されたならば、前記経過時間が前記許容時間に達するまで、前記リーク判定を継続する、
請求項１に記載のリーク判定装置。
【請求項３】
前記許容時間算出手段は、さらに、前記リーク判定に消費される電気量に基づいて、前記許容時間を算出する、請求項１に記載のリーク判定装置。
【請求項４】
前記電気量算出手段は、さらに、前記内燃機関が運転している時の、前記車両に搭載された発電機の発電量と、前記車両に搭載された電気負荷に消費される電気量とに基づいて、前記バッテリに充電されている電気量を算出する、請求項１に記載のリーク判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関が停止した後に、該内燃機関の蒸発燃料処理系にリークがあるかどうかを判定する装置に関する。
【背景技術】
【０００２】
内燃機関（以下、エンジンと呼ぶ）が停止した後に、該エンジンの蒸発燃料処理系にリーク（漏れ）があるかどうかを判定する手法が提案されている（例えば、特許文献１を参照）。この手法によれば、エンジンを停止した後に、蒸発燃料処理系の圧力と大気圧との差圧を検出する。検出された差圧の変化に基づいて、リークがあるかどうかが判定される。
【特許文献１】特開２００３−１１３７４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
リーク判定は、典型的に、ＥＣＵ（電子制御ユニット）により実施される。ＥＣＵは、所定のセンサからの出力を受け取り、リークがあるかどうかを判定する。
【０００４】
ＥＣＵの動作には、電力が必要とされる。エンジンを停止した後、ＥＣＵは、バッテリからの電力を使用して、リーク判定を実施する。一方、エンジンを停止した後では、バッテリへの充電が行われない。エンジンが停止した時にバッテリに充電されている電気量が少ないと、リーク判定の実施により、バッテリ上がりを招くおそれがある。
【０００５】
したがって、バッテリ上がりを招くことなく、エンジンを停止した後にリーク判定を実施することのできる装置が必要とされている。
【課題を解決するための手段】
【０００６】
この発明の一つの側面によると、リーク判定装置は、燃料タンクと、大気に連通する吸気口が設けられ、該燃料タンク内で発生する蒸発燃料を吸着するキャニスタと、該燃料タンクおよび該キャニスタを接続する第１の通路と、該キャニスタを内燃機関の吸気系に接続する第２の通路と、キャニスタの吸気口を開閉するベントシャット弁と、第２の通路に設けられたパージ制御弁とを備える蒸発燃料処理系のリークを判定する。リーク判定装置は、蒸発燃料処理系の圧力を検出する圧力センサと、内燃機関の停止を検出する手段を備える。リーク判定装置は、内燃機関の停止が検出されたならば、パージ制御弁およびベントシャット弁を閉じることにより、蒸発燃料処理系を閉じる。その後、リーク判定装置は、圧力センサによって検出された圧力に基づいて、該蒸発燃料処理系内にリークがあるかどうかを判定する。リーク判定装置は、該内燃機関を搭載した車両のバッテリに充電されている電気量を算出し、該算出した電気量に基づいて、リーク判定に許容される時間を算出する。リーク判定装置は、該許容時間が、リーク判定に必要な所定時間以上ならば、リーク判定を許可する。
【０００７】
この発明の一実施形態によると、リーク判定装置は、リーク判定が開始されてからの経過時間を計測する。リーク判定装置は、リーク判定が許可されたならば、該経過時間が上記許容時間に達するまで、リーク判定を継続する。
【０００８】
この発明の一実施形態によると、上記の許容時間は、さらに、リーク判定に消費される電気量に基づいて算出される。
【０００９】
この発明の一実施形態によると、上記のバッテリに充電されている電気量は、内燃機関が運転している時の、車両に搭載された発電機の発電量と、該車両に搭載された電気負荷に消費される電気量とに基づいて算出される。
【発明の効果】
【００１０】
この発明によると、バッテリに充電されている電気量に基づいて算出された、リーク判定に許容される時間を超えないように、リーク判定が実行される。したがって、バッテリ上がり起こすことなく、リーク判定を実施することができる。
【発明を実施するための最良の形態】
【００１１】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の実施形態に従う、内燃機関およびその制御装置の全体構成図である。
【００１２】
電子制御ユニット（以下、「ＥＣＵ」）という）５は、車両の各部から送られてくるデータを受け入れる入力インターフェース５ａ、車両の各部の制御を行うための演算を実行するＣＰＵ５ｂ、読み取り専用メモリ（ＲＯＭ）およびランダムアクセスメモリ（ＲＡＭ）を有するメモリ５ｃ、および車両の各部に制御信号を送る出力インターフェース５ｄを備えている。メモリ５ｃのＲＯＭには、車両の各部の制御を行うためのプログラムおよび各種のデータが格納されている。この発明に従うリーク判定を実施するためのプログラム、および該プログラムの実行の際に用いるデータおよびテーブルは、このＲＯＭに格納されている。ＲＯＭは、ＥＰＲＯＭのような書き換え可能なＲＯＭでもよい。ＲＡＭには、ＣＰＵ５ｂによる演算のための作業領域が設けられる。車両の各部から送られてくるデータおよび車両の各部に送り出す制御信号は、ＲＡＭに一時的に記憶される。
【００１３】
エンジン１は、例えば４気筒を備えるエンジンであり、吸気管２が連結されている。吸気管２の上流側にはスロットル弁３が配されており、スロットル弁３に連結されたスロットル弁開度センサ（θＴＨ）４は、スロットル弁３の開度に応じた電気信号を出力してＥＣＵ５に供給する。
【００１４】
燃料噴射弁６は、エンジン１とスロットル弁３の間に各気筒毎に設けられ、ＥＣＵ５からの制御信号によって開弁時間が制御される。燃料供給管７は、燃料噴射弁６および燃料タンク９を接続し、その途中に設けられた燃料ポンプ８が、燃料を燃料タンク９から燃料噴射弁６に供給する。図示しないレギュレータが、ポンプ８と燃料噴射弁６の間に設けられ、吸気管２から取り込まれる空気の圧力と、燃料供給管７を介して供給される燃料の圧力との間の差圧を一定にするよう動作して、燃料の圧力が高すぎるときは図示しないリターン管を通して余分な燃料を燃料タンク９に戻す。こうして、スロットル弁３を介して取り込まれた空気は、吸気管２を通り、燃料噴射弁６から噴射される燃料と混合してエンジン１のシリンダ（図示せず）に供給される。
【００１５】
吸気管圧力（ＰＢ）センサ１３および吸気温（ＴＡ）センサ１４は、スロットル弁３の下流側に装着されており、それぞれ吸気管圧力ＰＢおよび吸気温ＴＡを検出し、それをＥＣＵ５に送る。
【００１６】
エンジン１には、クランク角センサ１７が設けられている。クランク角センサ１７は、クランクシャフト（図示せず）の回転に伴い、パルス信号であるＣＲＫ信号およびＴＤＣ信号をＥＣＵ５に出力する。
【００１７】
ＣＲＫ信号は、所定のクランク角（たとえば、３０度）で出力されるパルス信号である。ＥＣＵ５は、該ＣＲＫ信号に応じ、エンジン１の回転数ＮＥを算出する。ＴＤＣ信号は、ピストン（図示せず）のＴＤＣ位置に関連したクランク角度で出力されるパルス信号である。
【００１８】
エンジン水温（ＴＷ）センサ１８は、エンジン１のシリンダブロックの冷却水が充満した気筒周壁（図示せず）に取り付けられ、エンジン冷却水の温度ＴＷを検出し、それをＥＣＵ５に送る。
【００１９】
エンジン１には排気管１２が接続され、排気管１２の途中に設けられた排気ガス浄化装置である三元触媒（図示せず）を介して排気する。三元触媒の上流に設けられたＬＡＦセンサ１９は広域空燃比センサであり、リーンからリッチにわたる範囲において排気ガス中の酸素濃度すなわち実空燃比を検出し、それをＥＣＵ５に送る。
【００２０】
オルタネータ（発電機）４１は、エンジン１のクランクプーリーからのＶベルトによって駆動される。オルタネータ４１の発電量は、エンジン回転数ＮＥに従う。オルタネータ４１からの電力は、エアコン、ヘッドライト、ＥＣＵ５などの電気負荷に供給される。
【００２１】
バッテリ４２は、オルタネータ４１および他の電気負荷に接続されている。電気負荷に消費される電気量がオルタネータ４１の発電量より大きければ、バッテリ４２が放電して不足分を補う。オルタネータ４１の発電量が電気負荷に消費される電気量より大きければ、バッテリ４２が充電される。
【００２２】
バッテリ４２には、バッテリ４２の電圧ＶＢを検出するセンサ４３が接続されている。検出されたバッテリ電圧ＶＢは、ＥＣＵ５に送られる。
【００２３】
イグニッションスイッチ２１がＥＣＵ５に接続されている。イグニッションスイッチ２１の切換信号は、ＥＣＵ５に送られる。
【００２４】
車速（ＶＰ）センサ２２および大気圧（ＰＡ）センサ２３がＥＣＵ５に接続されており、それぞれ、車両の速度ＶＰおよび大気圧ＰＡを検出し、それをＥＣＵ５に送る。
【００２５】
次に、蒸発燃料処理系について説明する。燃料タンク９は、チャージ通路３１を介してキャニスタ３３に接続され、燃料タンク９からの蒸発燃料が、キャニスタ３３に移動できるようになっている。チャージ通路３１には、機械式の二方向弁３５が設けられている。二方向弁３５は、タンク内圧が大気圧より第１の所定圧（たとえば、２．７ｋＰａ）以上高いときに開く正圧弁と、タンク内圧がキャニスタ３３の圧力より第２の所定圧以上低いとき開く負圧弁を備える。
【００２６】
二方向弁をバイパスするバイパス通路３１ａが設けられている。バイパス通路３１ａには、電磁弁であるバイパス弁３６が設けられる。バイパス弁３６は、通常は閉弁状態にあり、ＥＣＵ５からの制御信号に従って開弁する。
【００２７】
圧力センサ１５は、二方向弁３５と燃料タンク９との間に設けられており、その検出信号はＥＣＵ５に送られる。圧力センサ１５の出力ＰＴＡＮＫは、キャニスタ３３および燃料タンク９内の圧力が安定している定常状態では、燃料タンク内の圧力に等しくなる。一方、圧力センサ１５の出力ＰＴＡＮＫは、キャニスタ３３または燃料タンク９内の圧力が変化しているときは、実際のタンク内圧とは異なる圧力を示す。圧力センサ１５の出力を、以下「タンク内圧ＰＴＡＮＫ」と呼ぶ。
【００２８】
キャニスタ３３は、燃料蒸気を吸着する活性炭を内蔵し、通路３７を介して大気に連通する吸気口（図示せず）を持つ。通路３７の途中には、ベントシャット弁３８が設けられる。ベントシャット弁３８は、通常は開弁状態にあり、ＥＣＵ５からの制御信号に従って閉弁する。
【００２９】
キャニスタ３３は、パージ通路３２を介して吸気管２のスロットル弁３の下流側に接続される。パージ通路３２の途中には電磁弁であるパージ制御弁３４が設けられ、キャニスタ３３に吸着された燃料が、パージ制御弁３４を介してエンジンの吸気系に適宜パージされる。パージ制御弁３４は、ＥＣＵ５からの制御信号に基づいて、オン−オフデューティ比を変更することにより、パージ流量を連続的に制御する。
【００３０】
この実施形態によると、イグニッションスイッチ２１がオフされても、リーク判定を実施する期間中は、ＥＣＵ５、バイパス弁３６およびベントシャット弁３８には電気が供給される。パージ制御弁３４は、イグニッションスイッチ２１がオフされると電気が供給されなくなり、閉弁状態を維持する。
【００３１】
各種センサからの入力信号はＥＣＵ５の入力インターフェース５ａに渡される。入力インターフェース５ａは、受け取ったアナログ信号をデジタル信号に変換する。ＣＰＵ５ｂは、変換されたデジタル信号を処理し、メモリ５ｃに格納されているプログラムに従って演算を実行し、車の各部のアクチュエータに送る制御信号を作り出す。この制御信号は出力インターフェース５ｄに送られ、出力インターフェース５ｄは、燃料噴射弁６、パージ制御弁３４、バイパス弁３６およびベントシャット弁３８に制御信号を送る。
【００３２】
図２は、本願発明の一実施形態に従う、蒸発燃料処理系５０にリークがあるかどうかを判断する装置のブロック図である。各機能ブロックは、典型的には、メモリ５ｃに記憶されたコンピュータプログラムにより実現される。代替的に、ソフトウェア、ハードウェアおよびファームウェアおよびこれらの任意の組み合わせにより実現してもよい。
【００３３】
この発明の一実施形態では、第１および第２のリーク判定が実施される。第２のリーク判定は、第１のリーク判定よりも小さい穴（たとえば、直径が約０．５ミリメートルの穴）を検出する。以下の説明において、単に「リーク判定」と呼ぶ時は、第１および第２のリーク判定を含むものとする。
【００３４】
エンジンが運転している間、充電量算出部５１は、所定時間の間隔で、バッテリ４２に充電されている電気量を算出する。許容時間算出部５２は、エンジンが停止した時に、充電量算出部５１により算出された、バッテリ４２に蓄えられた電気量を受け取る。許容時間算出部５２は、該エンジンが停止した時のバッテリ４２の電気量に基づいて、リーク判定の実施が許容される時間ＴＢＡＴＴＯＫを算出する。
【００３５】
判定許可部５３は、エンジンが停止した後、リーク判定を実施する条件が成立するかどうかを判断する。許容時間算出部５２により算出された許容時間ＴＢＡＴＴＯＫと、第１の判定時間ＴＭＤＤＰＴＬ（たとえば、３００ミリ秒）とを比較する。ここで、第１の判定時間ＴＭＤＤＰＴＬは、第１のリーク判定を実行するのに必要な時間を示し、たとえばシミュレーション等によって予め定められる。判定許可部５３は、許容時間ＴＢＡＴＴＯＫが第１の判定時間ＴＭＤＤＰＴＬ以上ならば、リーク判定の実施を許可する。判定許可部５３は、許容時間ＴＢＡＴＴＯＫが第１の判定時間ＴＭＤＤＰＴＬより小さければ、リーク判定の実施を禁止する。
【００３６】
リーク判定の実施が許可されたならば、リーク開始部５４は、ベントシャット弁３８およびバイパス弁３６を開いて、蒸発燃料処理系５０を大気に開放する。該大気開放処理は、所定時間にわたって実行される。その後、ベントシャット弁３８を閉じる。
【００３７】
リーク判定部５５は、ベントシャット弁３８が閉じることに応じて、第１および第２のリーク判定を開始する。第１および第２のリーク判定は、所定時間の間隔で、第１のリーク判定部６１および第２のリーク判定部６２によりそれぞれ実行される。
【００３８】
タイマ５７は、第２のリーク判定が開始されてからの経過時間ＴＥＯＮＶＴＬを計測する。判定中止部５８は、許容時間算出部５２により算出された許容時間ＴＢＡＴＴＯＫと、タイマ５７により計測された経過時間ＴＥＯＮＶＴＬとを比較する。判定中止部５８は、第２のリーク判定の経過時間ＴＥＯＮＶＴＬが許容時間ＴＢＡＴＴＯＫに達したならば、第２のリーク判定を中止する。
【００３９】
第１のリーク判定では、第１の判定時間ＴＭＤＤＰＴＬ内に判定結果を得ることができる。一方、第２のリーク判定は、より小さい穴を検出するので、第１のリーク判定よりも長い時間にわたって実施するのが好ましい。たとえば、第２のリーク判定が実施される第２の判定時間は１０００秒以上にわたって実施され、これは、第１の判定時間ＴＭＤＤＰＴＬ（例えば、３００秒）よりも長い。この発明の一実施形態では、最初に、許容時間ＴＢＡＴＴＯＫが第１の判定時間ＴＭＤＤＰＴＬ以上ならば第１および第２のリーク判定を許可し、さらに、第２のリーク判定については、その経過時間が許容時間ＴＢＡＴＴＯＫに達するまで、該第２のリーク判定を継続する。
【００４０】
エンジンが停止した後、オルタネータ４１による発電は停止されるので、バッテリ４２への充電が停止される。リーク判定は、ＥＣＵ５により実行され、バッテリからの電気量を消費する。リーク判定を実行するのに必要な電気量がバッテリに十分残っていないと、リーク判定を実行することによってバッテリ上がりを招くおそれがある。
【００４１】
この発明によれば、バッテリに充電されている電気量に基づいて、リーク判定が許容される時間が算出される。リーク判定は、該許容時間を超えないように実施される。したがって、リーク判定の実行に起因してバッテリ上がりを招くことを回避することができる。
【００４２】
リーク判定をどのように実現するかに従い、該リーク判定を実施する判定時間が許容時間を超えないようにする手法を変更することができることに注意されたい。たとえば、第１のリーク判定のように、リーク判定を実施すべき時間を予め定めることができるならば、許容時間と該予め定められた時間とを比較することにより、該リーク判定を許可ないし禁止する。第２のリーク判定のように、リーク判定を実施すべき時間を予め定めることが困難な場合には、該リーク判定の開始からの経過時間が該許容時間に達した時、該リーク判定を中止する。さらに、リーク判定に必要な最小限の判定時間が予め定めることができる場合には、該必要最小限の判定時間が許容時間以下ならばリーク判定を開始し、該リーク判定の経過時間が該許容時間に達するまで該リーク判定を継続するようにしてもよい。いずれのリーク判定についても、バッテリの電気量に基づいて算出された許容時間を超えないようにリーク判定を実施することが、この発明の一つの目的である。
【００４３】
リーク判定は、任意の既知の手法で実行することができる。本願発明の一実施形態によると、第１の判定部６１は、タンク内圧ＰＴＡＮＫの２回微分値に基づいて、蒸発燃料処理系５０にリークがあるかどうかを判定する。第２の判定部６２は、タンク内圧ＰＴＡＮＫと、該タンク内圧ＰＴＡＮＫの停滞時間との関係に基づいて、リークがあるかどうかを判定する。
【００４４】
図３〜図６を参照して、第１のリーク判定を説明する。
【００４５】
図３は、タンク内圧ＰＴＡＮＫの推移を示すタイムチャートの一例である。具体的には、図３は、大気開放処理の後にベントシャット弁３８を閉じた時刻ｔ０からのタンク内圧ＰＴＡＮＫの推移を示す。図３の（ａ）は、蒸発燃料処理系５０が正常な（すなわちリーク無しの）場合を示し、図３の（ｂ）は、蒸発燃料処理系５０にリークがある場合を示す。蒸発燃料処理系５０が正常なときは、タンク内圧ＰＴＡＮＫはほぼ直線的に増加する。蒸発燃料処理系５０にリークがあるときは、タンク内圧ＰＴＡＮＫは、比較的大きな変化率で上昇した後、徐々に変化率が減少する。したがって、タンク内圧ＰＴＡＮＫの変化率の推移を観測することにより、リークがあるかどうかを判定することができる。
【００４６】
この発明の一実施形態では、リークがあるかどうかを判定するための判定パラメータの算出に、タンク内圧ＰＴＡＮＫの２回微分値を用いる。蒸発燃料処理系５０が正常ならば、該タンク内圧ＰＴＡＮＫの２回微分値はほぼゼロとなる。蒸発燃料処理系５０にリークがあれば、該２回微分値は負の値となる。
【００４７】
図４の（ａ）は、一定時間毎にサンプリングされたタンク内圧ＰＴＡＮＫの実測値の一例を示す。今回のサンプリングサイクルで検出されたタンク内圧をＰＴＡＮＫ（ｋ）で表すと、タンク内圧の変化量ＤＰは、式（１）で表される。
【００４８】
ＤＰ＝ＰＴＡＮＫ（ｋ）−ＰＴＡＮＫ（ｋ−１）      （１）
図４の（ｂ）は、変化量ＤＰの推移を示すタイムチャートである。変化量ＤＰが徐々に減少する傾向があることが、示されている。本願発明の一実施形態では、最小二乗法により、変化量ＤＰの推移を示す回帰直線Ｌ１を求め、この傾きＥＤＤＰＬＳＱＡ（第１の傾きパラメータと呼ぶ）を算出する。第１の傾きパラメータは、タンク内圧ＰＴＡＮＫの２回微分値を表している。
【００４９】
燃料タンク９内で発生する蒸発燃料の量が多く、かつベントシャット弁３８を閉じた後の圧力変化率が大きいときは、蒸発燃料処理系５０が正常であっても、変化量ＤＰは徐々に減少する傾向を示すことが、実験的に確認されている。このような状態においてもリークがあるかどうかをより正確に判定するため、本願発明の一実施形態では、図５に示すように、ベントシャット弁３８を閉じた時刻ｔ０から、第１の判定時間ＴＭＤＤＰＴＬが経過するまでの期間における、タンク内圧の最大値ＤＰＥＯＭＡＸを検出する。蒸発燃料処理系５０にリークがあれば、最大値ＤＰＥＯＭＡＸに対する傾きＥＤＤＰＬＳＱＡの割合が大きくなる。該割合を調べることにより、リークがあるかどうかを判定することができる。該割合は式（２）により算出され、これを判定パラメータＥＯＤＤＰＪＵＤとする。
【００５０】
ＥＯＤＤＰＪＵＤ＝｜ＥＤＤＰＬＳＱＡ｜／ＤＰＥＯＭＡＸ    （２）
図６は、判定パラメータＥＯＤＤＰＪＵＤを縦軸とし、最大圧力ＤＰＥＯＭＡＸを横軸とした座標平面上に、蒸発燃料処理系５０にリークが無い（すなわち、正常）場合のデータを黒丸としてプロットし、リークがある場合のデータを白丸としてプロットしている。この図から明らかなように、しきい値ＤＤＰＪＵＤを適切な値に設定することにより、リークがあるかどうかを正確に判定することができる。
【００５１】
次に、図７を参照して、第２のリーク判定について説明する。蒸発燃料処理系５０に小さな孔（たとえば、直径が０．５ミリメートルのような孔）があり、タンク内圧ＰＴＡＮＫの変化速度が非常に小さいときには、第１の判定によりリークを検出することが困難なことがある。第２の判定によれば、このような小さな孔によるリークを検出することができる。
【００５２】
図７の（ａ）は、正常な場合のタンク内圧ＰＴＡＮＫ（後述するように、より正確には、タンク内圧ＰＴＡＮＫを平滑化した（ローパスフィルタを適用した）タンク内圧ＰＥＯＮＶＡＶＥ）の推移を示し、図７の（ｂ）は、リークがある場合のタンク内圧ＰＴＡＮＫ（後述するように、より正確には、タンク内圧ＰＴＡＮＫを平滑化した（ローパスフィルタを適用した）タンク内圧ＰＥＯＮＶＡＶＥ）の推移を示す。検出された圧力ＰＴＡＮＫが変化しない持続時間を、停滞時間ＴＳＴＹと定義する。図に示すＴ１、Ｔ２およびＴ３が、停滞時間ＴＳＴＹに相当する。停滞時間ＴＳＴＹとタンク内圧ＰＴＡＮＫとの間の関係をプロットすると、正常な場合については図７の（ｃ）に示されるような相関特性が得られ、リークがある場合については図７の（ｄ）に示されるような相関特性が得られる。それぞれの図における回帰直線Ｌ１１およびＬ１２の傾きに着目すると、回帰直線Ｌ１１の傾きＡＬ１１は、正の比較的小さな値であり、回帰直線Ｌ１２の傾きＡＬ１２は、絶対値が大きな負の値となることがわかる。本願発明の一実施形態では、タンク内圧ＰＴＡＮＫと停滞時間ＴＳＴＹとの相関特性を表す回帰直線の傾き（第２の傾きパラメータＥＯＤＴＭＪＵＤと呼ぶ）により、リークを判定する。
【００５３】
図８は、バッテリに充電されている電気量に基づいてリーク判定に許容される時間を算出するプロセスのフローチャートである。このプロセスは、エンジンが運転している間（すなわち、イグニションキーがオンされてから、オフされるまで）、所定の時間間隔（たとえば、８０ミリ秒）で実行される。
【００５４】
ステップＳ１１において、プーリー比ＫＰＵＬＬＥＹに、検出された現在のエンジン回転数ＮＥを乗算することにより、オルタネータ４１の回転数ＮＡＣＧを算出する。プーリー比ＫＰＵＬＬＥＹは、オルタネータ４１のプーリーの径に対する、クランクプーリーの径の比である。例えば、クランクプーリーの径とオルタネータ４１のプーリーの径の比が３：１ならば、プーリー比は３である。
【００５５】
ステップＳ１２において、オルタネータの回転数ＮＡＣＧおよび検出された現在のエンジン水温ＴＷに基づいて所定のマップを参照し、オルタネータ４１の発電電流ＡＣＧＧＥＮＥを求める。オルタネータ４１の回転数ＮＡＣＧおよびエンジン水温ＴＷに対応する発電電流ＡＣＧＧＥＮＥは、予めシミュレーション等によって算出され、該マップに規定されることができる。該マップは、メモリ５ｃに記憶されることができる。典型的には、回転数ＮＡＣＧが高くなるほど、発電電流ＡＣＧＧＥＮＥは大きくなるよう設定される。また、発電電流ＡＣＧＧＥＮＥは、オルタネータのコイルの温度が上昇するほど小さくなる。コイルの温度を直接計測することは困難であるため、エンジン水温ＴＷを用いる。エンジン水温ＴＷが高くなるほど、発電電流ＡＣＧＧＥＮＥは小さくなるよう設定される。
【００５６】
ステップＳ１３において、検出された車速ＶＰに基づいて所定のマップを参照し、バッテリ４２から電気負荷に供給される電流ＥＬＬＯＡＤを求める。該マップの一例を、図９に示す。
【００５７】
電気負荷には、たとえば、ヘッドライト、スモールランプ、ストップランプ、およびエアコンなどが含まれる。車速ＶＰが低下するほど、電気負荷に供給される電流ＥＬＬＯＡＤは減少する。これは、主に、ストップランプとラジエータを冷却するファンの影響による。車両が停止している状態、または車両の減速のためにブレーキが踏まれている状態では、ストップランプが点灯する。車速が低下するほど、ファンにあたる風が弱くなり、ラジエータを冷却するファンを電気的に駆動する必要が生じる。
【００５８】
ステップＳ１４において、オルタネータ４１の発電電流ＡＣＧＧＥＮＥから、電気負荷に供給される電流ＥＬＬＯＡＤを減算し、バッテリ４２の充放電電流ＢＡＴＴＣＨＲＧＸを算出する。バッテリ４２の充放電電流ＢＡＴＴＣＨＲＧＸは、バッテリ４２が充電される時はプラスの値で表され、バッテリ４２が放電される時はマイナスの値で表される。
【００５９】
バッテリ４２の充放電電流の最大値は、そのバッテリに固有の容量に依存して決まる。ステップＳ１５において、該バッテリの容量に従って決まる充放電電流の最大値ＢＡＴＴＣＨＲＧＨにより、ステップＳ１４で算出したバッテリ４２の充放電電流ＢＡＴＴＣＨＲＧＸをリミット処理する。最大値ＢＡＴＴＣＨＲＧＨは、充電電流の場合にはプラスの値を持ち、放電電流の場合はマイナスの値を持つ。
【００６０】
たとえば、充電電流ＢＡＴＴＣＨＲＧＸが該最大値ＢＡＴＴＣＨＲＧＨより大きければ、該最大値を、充放電電流ＢＡＴＴＣＨＲＧとして算出する。充電電流ＢＡＴＴＣＨＲＧＸが該最大値ＢＡＴＴＣＨＲＧＨより小さければ、該充電電流ＢＡＴＴＣＨＲＧＸが、充放電電流ＢＡＴＴＣＨＲＧとして算出される。
【００６１】
放電電流ＢＡＴＴＣＨＲＧＸが該最大値ＢＡＴＴＣＨＲＧＨより小さければ（両方とも、マイナスの値で表される点に注意されたい）、該最大値を、充放電電流ＢＡＴＴＣＨＲＧとして算出する。放電電流ＢＡＴＴＣＨＲＧＸが該最大値ＢＡＴＴＣＨＲＧＨより大きければ、該放電電流ＢＡＴＴＣＨＲＧＸが、充放電電流ＢＡＴＴＣＨＲＧとして算出される。
【００６２】
ステップＳ１６において、まず、式（３）に従い、ステップＳ１５で算出した充放電電流ＢＡＴＴＣＨＲＧの１秒あたりの電流の量を算出する。
【００６３】
ＢＡＴＴＣＨＲＧ×サイクル時間（秒）      （３）
たとえば、このフローチャートの処理のサイクル時間を８０ミリ秒とすると、式（３）のサイクル時間は０．０８秒である。
【００６４】
バッテリの充放電電流についての積算値の前回値ＢＡＴＣＧＴＬＸ（ｎ−１）に、式（３）で算出された１秒当たりの充放電電流ＢＡＴＴＣＨＲＧを加算し、バッテリの充放電電流の積算値の今回値ＢＡＴＣＧＴＬＸ（ｎ）を算出する。バッテリの充放電電流の積算値の今回値ＢＡＴＣＧＴＬＸ（ｎ）は、バッテリに現在充電されている電気量を表す。
【００６５】
ステップＳ１７において、バッテリに現在充電されている電気量ＢＡＴＣＧＴＬＸ（ｎ）を、所定の上限値でリミット処理し、リーク判定に使用可能な電気量ＢＡＴＣＧＴＬを算出する。バッテリの総容量に対して放電電流が３〜５％を超えると、バッテリが急激に劣化することが知られている。したがって、たとえば（バッテリの総容量×０．０３）が上限値に設定され、電気量ＢＡＴＣＧＴＬＸ（ｎ）が該上限値を超えたならば、該上限値が、電気量ＢＡＴＣＧＴＬに設定される。電気量ＢＡＴＣＧＴＬＸ（ｎ）が該上限値以下ならば、該電気量ＢＡＴＣＧＴＬＸ（ｎ）が、電気量ＢＡＴＣＧＴＬに設定される。
【００６６】
ステップＳ１８において、ステップＳ１７で算出された、リーク判定に使用可能なバッテリ４２の電気量ＢＡＴＣＧＴＬがゼロより大きいかどうかを判断する。電気量ＢＡＴＣＧＴＬがゼロ以下ならば、リーク判定に使用することのできる電気量がバッテリ４２に残っていないことを示すので、リーク判定の許容時間ＴＢＡＴＴＯＫにゼロを設定する（Ｓ１９）。電気量ＢＡＴＣＧＴＬがゼロより大きければ、該電気量ＢＡＴＣＧＴＬを、リーク判定に必要な電流ＢＡＴＴＤＩＳＥＯＮＶで除算し、リーク判定の許容時間ＴＢＡＴＴＯＫを算出する（Ｓ２０）。リーク判定に必要な電流ＢＡＴＴＤＩＳＥＯＮＶは、シミュレーション等で予め算出されている。
【００６７】
図１０に、一例として、車速ＶＰの変化に従ってリーク判定の許容時間ＴＢＡＴＴＯＫがどのように推移するかを示す。車速ＶＰが高くなるほど、電気負荷に消費される電気量が減り、よって、バッテリ４２に充電される電気量が増える。その結果、車速ＶＰが高くなるほど、許容時間ＴＢＡＴＴＯＫが長くなる。車速ＶＰがゼロ、すなわちブレーキをかけて停止するたびに、ストップランプに電気が消費され、よって許容時間ＴＢＡＴＴＯＫが短くなる。
【００６８】
図１１は、リーク判定を実行するための条件が成立するかどうかを判断するプロセスのフローチャートである。このプロセスでは、該条件が成立することに応じて、許可フラグＦＭＣＮＤＥＯＮＶが値１に設定される。このプロセスは、所定時間（たとえば、８０ミリ秒）毎に実行される。
【００６９】
ステップＳ３１において、許可フラグＦＭＣＮＤＥＯＮＶの値を調べる。ＦＭＣＮＤＥＯＮＶ＝０ならば、許可フラグＦＭＣＮＤＥＯＮＶの値をゼロに維持し（Ｓ３２）、このプロセスを終了する。
【００７０】
ステップＳ３３において、リーク判定が終了するときに値１にセットされる判定終了フラグＦＤＯＮＥの値を調べる。ＦＤＯＮＥ＝１ならば、リーク判定が既に終了しているので、ステップＳ３２に進む。
【００７１】
ＦＤＯＮＥ＝０ならば、ステップＳ３４において、エンジンが停止しているか、すなわちイグニションスイッチ２１がオフされているかどうかを調べる。エンジンが作動中であるときは、許可フラグＦＭＣＮＤＥＯＮＶの値をゼロにし（Ｓ３２）、このプロセスを終了する。
【００７２】
エンジンが停止するとステップＳ３５に進み、給油中であるときに値１がセットされる給油フラグＦＲＥＦＵＥＬＤＣを調べる。給油中である時は、リーク判定を正確に実行することができないので、ステップＳ３２に進む。
【００７３】
ステップＳ３６において、図１０において算出された、リーク判定の許容時間ＴＢＡＴＴＯＫと、リーク判定に必要な第１の判定時間ＴＭＤＤＰＴＬを比較する。第１の判定時間ＴＭＤＤＰＴＬは、予め決められ、メモリに記憶されている。許容時間ＴＢＡＴＴＯＫが第１の判定時間ＴＭＤＤＰＴＬより小さければ、第１のリーク判定を実行するのに必要な電気量がバッテリに残されていないことを示す。このような状態で第１のリーク判定を実施するとバッテリ上がりを招くおそれがあるので、ステップＳ３２に進み、許可フラグＦＭＣＮＤＥＯＮＶの値をゼロにする（Ｓ３２）。
【００７４】
許容時間ＴＢＡＴＴＯＫが第１の判定時間ＴＭＤＤＰＴＬ以上ならば、リーク判定を実行するのに必要な電気量がバッテリ４２に残されていることを示す。ステップＳ３７に進み、許可フラグＦＭＣＮＤＥＯＮＶに値１をセットし、リーク判定の実行を許可する。
【００７５】
この実施例では、リーク判定を実施するのに、検出されたタンク内圧ＰＴＡＮＫを平滑化した（ローパスフィルタを適用した）タンク内圧ＰＥＯＮＶＡＶＥと、該タンク内圧ＰＥＯＮＶＡＶＥが停滞しているときの値を示す停滞タンク内圧ＰＥＯＡＶＤＴＭとを用いる。
【００７６】
図１２は、該タンク内圧ＰＥＯＮＶＡＶＥと、該停滞タンク内圧ＰＥＯＡＶＤＴＭを算出するプロセスのフローチャートを示す。このプロセスは、エンジンが停止した後、所定時間（たとえば、８０ミリ秒）毎に実行される。
【００７７】
ステップＳ５２において、許可フラグＦＭＣＮＤＥＯＮＶの値がゼロならば、リーク判定を実行するための条件が成立していないことを示す。リーク判定の実行条件が成立していないときは、ダウンカウントタイマＴＥＯＤＬＹを所定時間ＴＥＯＤＬＹ０（たとえば、９０秒）に設定してスタートする（Ｓ５３）。タイマＴＥＯＤＬＹは、大気開放処理期間を計測するタイマである。
【００７８】
ステップＳ５４において、実行フラグＦＥＯＮＶＥＸＥをゼロに設定する。さらに、バイパス弁３６およびベントシャット弁３８を開弁状態に維持し、蒸発燃料処理系５０を大気に開放する。フラグＦＶＳＶＣＰＣＴＬをゼロに設定して、ベントシャット弁３８が開いていることを示す。
【００７９】
ステップＳ５２においてＦＭＣＮＤＥＯＮＶ＝１ならば、リーク判定を実行する条件が成立していることを示す。ステップＳ５５において、実行フラグＦＥＯＮＶＥＸＥの値が１かどうかを判断する。最初にこのステップを実行する時は答えがＮｏであるので、ステップＳ５６に進み、ステップＳ５３でスタートしたタイマＴＥＯＤＬＹの値がゼロかどうかを判断する。最初にこのステップを実行する時は答えがＮｏであるので、フラグＦＶＳＶＣＰＴＣＬをゼロに設定し（Ｓ６１）、ベントシャット弁３８を開弁状態に維持する。
【００８０】
ステップＳ５６においてＴＥＯＤＬＹ＝０となると、ステップＳ５７に進み、現在のタンク内圧ＰＴＡＮＫを、開始圧ＰＥＯＴＡＮＫ０として記憶する。このタンク内圧ＰＴＡＮＫは、大気開放処理により、ほぼ大気圧を示す。
【００８１】
ステップＳ５８において、修正タンク内圧ＰＥＯＴＡＮＫ、タンク内圧ＰＥＯＮＶＡＶＥ、比較パラメータの今回値ＰＥＯＤＴＭ、比較パラメータの前回値ＰＥＯＤＴＭＺ、停滞タンク内圧の今回値ＰＥＯＡＶＤＴＭ、停滞タンク内圧の前回値ＰＥＯＡＶＤＴＭＺを、ゼロに設定する。
【００８２】
ステップＳ５９において、実行フラグＦＥＯＮＶＥＸＥを値１に設定し、リーク判定の実行を開始する。ステップＳ６０では、ダウンカウントタイマＴＥＯＤＴＭを、所定時間ＴＭＥＯＤＴＭに設定してスタートさせる。さらに、アップカウントタイマＴＥＯＮＶＴＬをゼロに設定して、ステップＳ６１に進む。タイマＴＥＯＮＶＴＬは、リーク判定を開始してからの経過時間を計測するタイマである。
【００８３】
ステップＳ５９において実行フラグＦＥＯＮＶＥＸＥが値１に設定された後にこのルーチンに入ると、ステップＳ５５の答えがＹｅｓになる。ステップＳ６２に進み、現在のタンク内圧ＰＴＡＮＫから開始圧ＰＥＯＴＡＮＫ０を減算することにより、修正タンク内圧ＰＥＯＴＡＮＫを算出する。ステップＳ６３において、式（４）により、タンク内圧ＰＥＯＮＶＡＶＥを算出する。
【００８４】
ＰＥＯＮＶＡＶＥの今回値＝ＣＰＴＡＶＥ×ＰＥＯＴＡＮＫ      
＋（１−ＣＰＴＡＶＥ）×ＰＥＯＮＶＡＶＥの前回値    （４）
ここで、ＣＰＴＡＶＥはゼロから１の間の値に設定される平滑化（なまし）係数である。
【００８５】
ステップＳ６４において、比較パラメータの前回値ＰＥＯＤＴＭＺに、今回値ＰＥＯＤＴＭを設定する。ステップＳ６５において、比較パラメータの今回値ＰＥＯＤＴＭに、タンク内圧ＰＥＯＮＶＡＶＥを設定する。ステップＳ６６では、比較パラメータの今回値と前回値が等しいかどうかを判断する。この答えがＮｏならば、タンク内圧ＰＥＯＮＶＡＶＥが変化していることを示す。ステップＳ６７において、ダウンカウントタイマＴＥＯＤＴＭに所定時間ＴＭＥＯＤＴＭを設定してスタートさせる。ステップＳ７１に進み、フラグＦＶＳＶＣＰＴＣＬを値１に設定し、ベントシャット弁３８を閉じる。
【００８６】
ステップＳ６６の答えがＹｅｓであれば、タンク内圧ＰＥＯＮＶＡＶＥが停滞していることを示す。ステップＳ６８において、タイマＴＥＯＤＴＭの値がゼロかどうかを判断する。最初にこのステップを実行する時は答えがＮｏであるので、ステップＳ７１に進む。ステップＳ６８の答えがＹｅｓになると、停滞タンク内圧の前回値ＰＥＯＡＶＤＴＭＺに今回値ＰＥＯＡＶＤＴＭを設定し（Ｓ６９）、今回値ＰＥＯＡＶＤＴＭに、タンク内圧ＰＥＯＮＶＡＶＥを設定する（Ｓ７０）。その後、ステップＳ７１に進む。
【００８７】
このように、リーク判定の実行条件が成立したときに、大気開放処理が実行され（Ｓ５４）、その後ベントシャット弁３８が閉じられる（Ｓ７１）。リーク判定を実行している間は、タンク内圧ＰＥＯＮＶＡＶＥおよび停滞タンク内圧ＰＥＯＡＶＤＴＭの演算が実行される。
【００８８】
図１３および図１４は、第１のリーク判定のプロセスのフローチャートである。このプロセスは、所定時間（例えば、１秒）毎に実行される。
【００８９】
ステップＳ８０において、フラグＦＶＳＶＣＰＴＣＬの値が調べる。前述したように、該フラグは、ベントシャット弁３８が閉じている時に値１を持つ。ＦＶＳＶＣＰＴＣＬ＝０ならば、現在のタンク内圧ＰＥＯＮＶＡＶＥを、初期圧ＰＥＯＮＶＡＶに設定する（Ｓ８１）。ステップＳ８２において、第１の傾きパラメータＥＤＤＰＬＳＱＡの算出に用いられる各種パラメータの初期化を行う。第１の傾きパラメータＥＤＤＰＬＳＱＡは、図４の（ｂ）を参照して説明した、回帰直線Ｌ１の傾きを示す。
【００９０】
ステップＳ８３において、最大圧力ＤＰＥＯＭＡＸをゼロに設定する。ステップＳ８４において、第１の漏れ判定フラグＦＤＤＰＬＫ、保留フラグＦＤＤＰＪＤＨＤ、第１の判定終了フラグＦＥＯＮＶＤＤＰＪＵＤを、すべてゼロに設定する。第１の漏れ判定フラグＦＤＤＰＬＫはリークがあると判定されたときに値１に設定されるフラグである。ステップＳ８５において、アップカウントタイマＴＤＤＰＴＬの値をゼロに設定する。
【００９１】
ステップＳ８０においてＦＶＳＶＣＰＴＣＬ＝１ならば、ベントシャット弁３８は閉じている。ステップＳ８６において、タイマＴＤＤＰＴＬの値が、第１の判定時間ＴＭＤＤＰＴＬ以上かどうかを判断する。前述したように、第１の判定時間ＴＭＤＤＰＴＬは、第１のリーク判定に必要な時間である。最初にこのステップを実行する時は答えがＮｏであるので、ステップＳ８７〜Ｓ９５を実行し、第１の傾きパラメータＥＤＤＰＬＳＱＡおよび最大圧力ＤＰＥＯＭＡＸを算出する。
【００９２】
ステップＳ８７において、時間パラメータＣＥＤＤＰＣＡＬを１だけインクリメントする。ステップＳ８８において、タンク内圧ＰＥＯＮＶＡＶＥから初期圧ＰＥＯＮＶＡＶ０を減算することにより、圧力変化量ＤＰＥＯＮＶを算出する。
【００９３】
ステップ８９において、式（５）により、時間パラメータＣＥＤＤＰＣＡＬの積算値ＥＳＩＧＭＡＸを算出する。
【００９４】
ＥＳＩＧＭＡＸの今回値＝ＥＳＩＧＭＡＸの前回値＋ＣＥＤＤＰＣＡＬ  （５）
ステップＳ９０において、式（６）により、時間パラメータＣＥＤＤＰＣＡＬを２乗した値の積算値ＥＳＩＧＭＡＸ２を算出する。
【００９５】
ＥＳＩＧＭＡＸ２の今回値＝ＥＳＩＧＭＡＸ２の前回値
＋ＣＥＤＤＰＣＡＬ×ＣＥＤＤＰＣＡＬ            （６）
ステップＳ９１において、式（７）により、時間パラメータＣＥＤＤＰＣＡＬと、圧力変化量ＤＰＥＯＮＶの積の積算値ＥＳＩＧＭＡＸＹを算出する。
【００９６】
ＥＳＩＧＭＡＸＹの今回値＝ＥＳＩＧＭＡＸＹの前回値
＋ＣＥＤＤＰＣＡＬ×ＤＰＥＯＮＶ          （７）
ステップＳ９２において、式（８）により、圧力変化量ＤＰＥＯＮＶの積算値ＥＳＩＧＭＡＹを算出する。
【００９７】
ＥＳＩＧＭＡＹの今回値＝ＥＳＩＧＭＡＹの前回値＋ＤＰＥＯＮＶ    （８）
ステップＳ９３において、ステップＳ８７、Ｓ８９〜Ｓ９２で算出される時間パラメータＣＥＤＤＰＣＡＬ、積算値ＥＳＩＧＭＡＸ、ＥＳＩＧＭＡＸ２、ＥＳＩＧＭＡＸＹ、およびＥＳＩＧＭＡＹを用い、式（９）に従って第１の傾きパラメータＥＤＤＰＬＳＱＡを算出する。
【数１】
2005233060.tif 000003
【００９８】
ステップＳ９４において、初期圧ＰＥＯＮＶＡＶ０に、現在のタンク内圧ＰＥＯＮＶＡＶＥを設定する。ステップＳ９５において、最大圧力ＤＰＥＯＭＡＸと、タンク内圧ＰＥＯＮＶＡＶＥの大きい方を選択し、最大圧力ＤＰＥＯＭＡＸを求める。
【００９９】
ステップＳ８６においてタイマＴＤＤＰＴＬの値が第１の判定時間ＴＭＤＤＰＴＬに達すると、ステップＳ１０１（図１４）に進み、最大圧力ＤＰＥＯＭＡＸが、所定圧ＰＤＤＰＭＩＮ以上であるかどうかを判断する。その答えがＮｏであるならば、タンク内圧ＰＴＡＮＫの上昇が不十分であることを示す。この場合、正確な判定はできないので、第１の判定終了フラグＦＥＯＮＶＤＤＰＪＵＤをゼロに設定する（Ｓ１１２）。
【０１００】
ステップＳ１０１においてＤＰＥＯＭＡＸ≧ＰＤＤＰＭＩＮならば、前述した式（２）により判定パラメータＥＯＤＤＰＪＵＤを算出する（Ｓ１０２）。
【０１０１】
ステップＳ１０３において、大気圧ＰＡに基づいて図１５に示すＫＥＯＰ１ＪＤＸテーブルを参照し、補正係数ＫＥＯＰ１ＪＤＸを算出する。ＫＥＯＰ１ＪＤＸテーブルは、大気圧ＰＡが低下するほど、補正係数ＫＥＯＰ１ＪＤＸが減少するように設定されている。図のＰＡ１、ＰＡ２およびＰＡ３は、たとえば、７７ｋＰａ（５８０ｍｍＨｇ）、８４ｋＰａ（６３０ｍｍＨｇ）、および９９ｋＰａ（７４０ｍｍＨｇ）に設定され、ＫＸ１およびＫＸ２は、たとえば、それぞれ０．７５および０．８４に設定される。
【０１０２】
ステップＳ１０４およびＳ１０５において、補正係数ＫＥＯＰ１ＪＤＸを用い、式（１０）および式（１１）に従ってＯＫ判定用しきい値ＤＤＰＪＵＤＯＫおよびＮＧ判定用しきい値ＤＤＰＪＵＤＮＧを算出する。
【０１０３】
ＤＤＰＪＵＤＯＫ＝ＥＯＤＤＰＪＤＯＫ×ＫＥＯＰ１ＪＤＸ    （１０）
ＤＤＰＪＵＤＮＧ＝ＥＯＤＤＰＪＤＮＧ×ＫＥＯＰ１ＪＤＸ    （１１）
ここで、ＥＯＤＤＰＪＤＯＫおよびＥＯＤＤＰＪＤＮＧは、それぞれ、ＯＫ判定用のしきい値およびＮＧ判定用の所定のしきい値であり、前者は、後者より小さい値に設定される。
【０１０４】
ステップＳ１０６において、判定パラメータＥＯＤＤＰＪＵＤが、ＯＫ判定用しきい値ＤＤＰＪＵＤＯＫ以下かどうかを判断する。その答えがＹｅｓならば、蒸発燃料処理系５０は正常であると判定し、第１の漏れ判定フラグＦＤＤＰＬＫをゼロに設定する（Ｓ１０８）。
【０１０５】
ステップＳ１０６においてＥＯＤＤＰＪＵＤ＞ＤＤＰＪＵＤＯＫならば、判定パラメータがＥＯＤＤＰＪＵＤがＮＧ判定用のしきい値ＤＤＰＪＵＤＮＧより大きいかどうかを判断する（Ｓ１０７）。この答えがＹｅｓならば、蒸発燃料処理系５０にリークがあると判定し、第１の漏れ判定フラグＦＤＤＰＬＫを値１に設定する（Ｓ１０９）。ステップＳ１０７の答えがＮｏならば、すなわちＤＤＰＪＵＤＯＫ＜ＥＯＤＤＰＪＵＤ≦ＤＤＰＪＵＤＮＧならば、判定を保留し、保留フラグＦＤＤＰＪＤＨＤを値１に設定する（Ｓ１１０）。
【０１０６】
ステップＳ１１１において、第１の判定終了フラグＦＥＯＮＶＤＤＰＪＵＤを値１に設定し、第１の判定が終了したことを示す。
【０１０７】
第１の判定手法に従えば、タンク内圧ＰＥＯＮＶＡＶＥの時間についての２回微分値に相当する第１の傾きパラメータＥＤＤＰＬＳＱＡが算出される。さらに、第１の傾きパラメータＥＤＤＰＬＳＱＡを最大圧力ＤＰＥＯＭＡＸで除算することにより、判定パラメータＥＯＤＤＪＵＤが算出される。判定パラメータがＯＫ判定用しきい値ＤＤＰＪＵＤＯＫ以下ならば、蒸発燃料処理系５０は正常と判定され、ＮＧ判定用しきい値ＤＤＰＪＵＤＮＧより大きければ、リークがあると判定される。こうして、図６を参照して説明した第１の判定が実現される。
【０１０８】
図１６は、第２のリーク判定の実行条件が成立するかどうかを判断するプロセスのフローチャートである。このプロセスは、エンジンが停止した後、所定時間（例えば、１秒）毎に実施される。
【０１０９】
ステップＳ１２１では、ベントシャット弁３８が閉じている時に値１がセットされるフラグＦＶＳＶＣＰＴＣＬの値を調べる。ＦＶＳＶＣＰＴＣＬ＝０ならば、ステップＳ１２５に進み、許可フラグＦＥＯＤＴＭＥＸにゼロを設定し、第２のリーク判定の実施を禁止する。
【０１１０】
ステップＳ１２１においてＦＶＳＶＣＰＴＣＬ＝１ならば、ステップＳ１２２に進み、アップカウントタイマＴＥＯＮＶＴＬの値が、図８のステップＳ２０で算出されたリーク判定の許容時間ＴＢＡＴＴＯＫより小さいかどうかを判断する。アップカウントタイマＴＥＯＮＶＴＬは、実行フラグＦＥＯＮＶＥＸＥが値１に設定された時に起動され（図１２のＳ６０）、リーク判定の実行が開始されてからの経過時間を計測する。
【０１１１】
ＴＥＯＮＶＴＬ≧ＴＢＡＴＴＯＫならば、第２のリーク判定の実行を開始してからの経過時間が、バッテリに充電されている電気量に基づく許容時間を超えていることを示す。第２のリーク判定をさらに継続すると、バッテリ上がりを生じさせるおそれがある。したがって、ステップＳ１２４に進み、中止フラグＦＥＯＮＶＴＭＵＰを値１に設定して第２のリーク判定を中止する。第２のリーク判定が中止されたので、ステップＳ１２５において、許可フラグＦＥＯＤＴＭＥＸにゼロを設定する。
【０１１２】
ステップＳ１２２において、ＴＥＯＮＶＴＬ＜ＴＢＡＴＴＯＫならば、ステップＳ１２３において、最大実行時間ＴＭＥＯＭＡＸ（所定値であり、例えば、２４００秒）と、経過時間ＴＥＯＮＶＴＬとを比較する。ＴＥＯＮＶＴＬ≧ＴＭＥＯＭＡＸならば、第２のリーク判定を実行することのできる最大実行時間が経過したことを示す。ステップＳ１２４に進み、中止フラグＦＥＯＮＶＴＭＵＰを値１に設定して第２の判定を中止する。第２のリーク判定が中止されたので、ステップＳ１２５において、許可フラグＦＥＯＤＴＭＥＸにゼロを設定する。
【０１１３】
ステップＳ１２３においてＴＥＯＮＶＴＬ＜ＴＭＥＯＭＡＸならば、ステップＳ１２６に進み、停滞タンク内圧の今回値ＰＥＯＡＶＤＴＭが第１の所定圧Ｐ０以上で、かつ第２の所定圧Ｐ１以下であるかどうかを判断する。第１の所定圧Ｐ０は、例えば大気圧に等しい値に設定され、第２の所定圧Ｐ１は、第１の所定圧Ｐ０よりわずかに高い値、たとえば第１の所定圧Ｐ０より０．１３３ｋＰａ（１ｍｍＨｇ）高い値に設定される。
【０１１４】
ステップＳ１２６の答えがＹｅｓであるならば、停滞タンク内圧の今回値ＰＥＯＡＶＤＴＭが大気圧近傍にあることを示す。ステップＳ１３０に進み、停滞タンク内圧の前回値ＰＥＯＡＶＤＴＭＺが第１の所定圧Ｐ０より低いかどうかを判断する。ＰＥＯＡＶＤＴＭＺ＜Ｐ０であるならば、停滞タンク内圧が増加していることを示す。ステップＳ１３２に進み、許可フラグＦＥＯＤＴＭＥＸにゼロを設定する。
【０１１５】
一方、ステップＳ１３０においてＰＥＯＡＶＴＭＺ≧Ｐ０ならば、停滞タンク内圧が停滞している、または減少していることを示す。ステップＳ１３１において、許可フラグＦＥＯＤＭＥＸを値１に設定する。
【０１１６】
ステップＳ１２６の答えがＮｏであるならば、すなわちＰＥＯＡＶＤＴＭ＜Ｐ０またはＰＥＯＡＶＤＴＭ＞Ｐ１であるならば、停滞タンク内圧の今回値ＰＥＯＡＶＤＴＭが前回値ＰＥＯＡＶＤＴＭＺと等しいかどうかを判断する（Ｓ１２７）。両者が等しければ、停滞タンク内圧が変化していないことを示し、該プロセスを終了する。
【０１１７】
ステップＳ１２７の答えがＮｏならば、停滞タンク内圧の今回値ＰＥＯＡＶＤＴＭが前回値ＰＥＯＡＶＤＴＭＺより大きいかどうかを判断する（Ｓ１２８）。この答えがＹｅｓであるならば、停滞タンク内圧が増加したことを示し、許可フラグＦＥＯＤＴＭＥＸにゼロを設定する（Ｓ１３２）。
【０１１８】
ステップＳ１２８の答えがＮｏであるならば、停滞タンク内圧が減少したことを示し、ステップＳ１２９に進んで許可フラグＦＥＯＤＴＭＥＸを値１に設定する。
【０１１９】
こうして、停滞タンク内圧ＰＥＯＡＶＤＴＭが増加している時は、許可フラグＦＥＯＤＴＭＥＸはゼロに設定され、減少している時は、値１に設定される。また、停滞タンク内圧が大気圧近傍（Ｐ０からＰ１の間）に停滞しているときは、許可フラグＦＥＯＤＴＭＥＸは常に値１に設定される。
【０１２０】
このように、第２のリーク判定は、停滞タンク内圧が、大気圧近傍に停滞しているときと、減少しているときとに実行される。
【０１２１】
図１７および図１８は、第２のリーク判定を実行するプロセスのフローチャートである。このプロセスは、所定時間（例えば１秒）毎に実行される。
【０１２２】
ステップＳ１４１では、ベントシャット弁３８が閉じている時に値１が設定されるフラグＦＶＳＶＣＰＴＣＬを調べる。ＦＶＳＶＣＰＴＣＬ＝０ならば、ステップＳ１４５（図１８）に進み、最小圧力の今回値ＤＰＥＯＭＩＮおよび前回値ＤＰＥＯＭＩＮＺを、現在の停滞タンク内圧ＰＥＯＡＶＤＴＭに設定する。ステップＳ１４６において、タンク内圧の停滞時間を計測するアップカウントタイマＴＤＴＭＳＴＹの値をゼロに設定する。
【０１２３】
ステップＳ１４７において、図７の（ｃ）および（ｄ）に示す回帰直線Ｌ１１およびＬ１２の傾きに相当する第２の傾きパラメータＥＯＤＴＭＪＵＤを算出するための各種パラメータを初期化する。
【０１２４】
ステップＳ１４８では、第２の漏れ判定フラグＦＤＴＭＬＫ、判定不可フラグＦＤＴＭＤＩＳＢＬ、第２の判定終了フラグＦＥＯＮＶＤＴＭＪＵＤ、および圧力変化フラグＦＣＨＧのすべてをゼロに設定する。第２の漏れ判定フラグＦＤＴＭＬＫは、リークがあると判定されたときに値１に設定されるフラグである。
【０１２５】
ステップＳ１４１の答えがＹｅｓならば、ベントシャット弁３８が閉じていることを示す。ステップＳ１４２において、中止フラグＦＥＯＮＶＴＭＵＰの値が１かどうかを調べる。この答えがＹｅｓならば、判定不可フラグＦＤＴＭＤＩＳＢＬを値１に設定し（Ｓ１４３）、該プロセスを終了する。
【０１２６】
ステップＳ１４２においてＦＥＯＮＶＴＭＵＰ＝０ならば、ステップＳ１４４に進み、許可フラグＦＥＯＤＴＭＥＸの値が１かどうかを調べる。この答えがＮｏであるならば、ステップＳ１４５に進み、第２のリーク判定の実施を禁止する。
【０１２７】
ステップＳ１４４においてＦＥＯＤＴＭＥＸ＝１ならば、ステップＳ１４９に進み、最小圧力の前回値ＤＰＥＯＭＩＮＺに、今回値ＤＰＥＯＭＩＮを設定する。ステップＳ１５０において、最小圧力ＤＰＥＯＭＩＮと、停滞タンク内圧ＰＥＯＡＶＤＴＭのうちの小さい方を選択し、最小圧力ＤＰＥＯＭＩＮに設定する。
【０１２８】
ステップＳ１５１において、最小圧力の今回値ＤＰＥＯＭＩＮが前回値ＤＰＥＯＭＩＮＺと等しいかどうかを判断する。この答えがＹｅｓならば、タイマＴＤＴＭＳＴＹの値が、所定値ＴＤＴＭＬＫ以上かどうかを判断する（Ｓ１５２）。最初にこのステップを実行する時は答えがＮｏであるので、ステップＳ１５３に進み、停滞時間パラメータＣＴＭＳＴＹを１だけインクリメントする。停滞時間パラメータＣＴＭＳＴＹは、停滞時間ＴＳＴＹ（図７）に対応するパラメータである。ステップＳ１５４において、圧力変化フラグＦＣＨＧが１かどうかを判断する。最初にこのステップを実行する時は答えがＮｏとなるので、ステップＳ１６４（図１８）に進む。
【０１２９】
最小圧力ＤＰＥＯＭＩＮが変化すると、すなわち停滞タンク内圧ＰＥＯＡＶＤＴＭが低下すると、ステップＳ１５１からステップＳ１５９に進み、圧力変化フラグＦＣＨＧを値１に設定する。ステップＳ１６０において、圧力パラメータＣＤＴＭＰＣＨＧを１だけインクリメントする。圧力パラメータＣＤＴＭＰＣＨＧは、図７の（ｃ）または（ｄ）の横軸に示すタンク内圧ＰＴＡＮＫに対応するパラメータであるが、タンク内圧ＰＴＡＮＫが低下するほど、圧力パラメータＣＤＴＭＰＣＨＧは増加する。したがって、第２の傾きパラメータＥＯＤＴＭＪＵＤは、図７の（ｃ）の直線Ｌ１１に対応する値は負の値となり、図７の（ｄ）の直線Ｌ１２に対応する値は正の値となる。
【０１３０】
ステップＳ１６１において、式（１２）により、圧力パラメータＣＤＴＭＰＣＨＧの積算値ＤＴＭＳＩＧＸを算出する。
【０１３１】
ＤＴＭＳＩＧＸの今回値＝ＤＴＭＳＩＧＸの前回値＋ＣＤＴＭＰＣＨＧ
（１２）
ステップＳ１６２において、式（１３）により、圧力パラメータＣＤＴＭＰＣＨＧを２乗した値の積算値ＤＴＭＳＩＧＸ２を算出する。
【０１３２】
ＤＴＭＳＩＧＸ２の今回値＝ＤＴＭＳＩＧＸ２の前回値
＋ＣＤＴＭＰＣＨＧ×ＣＤＴＭＰＣＨＧ        （１３）
ステップＳ１６３において、タイマＴＤＴＭＳＴＹの値をゼロに戻し、ステップＳ１６４に進む。
【０１３３】
圧力変化フラグＦＣＨＧが値１に設定された後に、ステップＳ１５１の答えがＹｅｓとなり、ステップＳ１５３を経てステップＳ１５４に進む。ステップＳ１５４の答えがＹｅｓとなるので、ステップＳ１５５に進み、式（１４）により、停滞時間パラメータＣＴＭＳＴＹの積算値ＤＴＭＳＩＧＹを算出する
ＤＴＭＳＩＧＹの今回値＝ＤＴＭＳＩＧＹの前回値＋ＣＴＭＳＴＹ    （１４）
ステップＳ１５６において、式（１５）により、圧力パラメータＣＤＴＭＰＣＨＧと停滞時間パラメータＣＴＭＳＴＹとの積の積算値ＤＴＭＳＩＧＸＹを算出する。
【０１３４】
ＤＴＭＳＩＧＸＹの今回値＝ＤＴＭＳＩＧＸＹの前回値＋
ＣＤＴＭＰＣＨＧ×ＣＴＭＳＴＹ            （１５）
ステップＳ１５７において、圧力変化フラグＦＣＨＧをゼロに戻し、停滞時間パラメータＣＴＭＳＴＹをゼロに戻す。その後、ステップＳ１６４に進む。
【０１３５】
ステップＳ１６４において、圧力パラメータＣＤＴＭＰＣＨＧが１より大きいかどうかを判断する。その答えがＮｏであるときは、回帰直線の傾きを求めることはできないので、該プロセスを終了する。ＣＤＴＭＰＣＨＧ＞１ならば、圧力パラメータＣＤＴＭＰＣＨＧ、積算値ＤＴＭＳＩＧＸ、ＤＴＭＳＩＧＸ２、ＤＴＭＳＩＧＹおよびＤＴＭＳＩＧＸＹを用い、式（１６）に従って第２の傾きパラメータＥＯＤＴＭＪＵＤを算出する（Ｓ１６５）。この実施形態では、最小圧力ＤＰＥＯＭＩＮが変化する毎に圧力パラメータＣＤＴＭＰＣＨＧが１だけインクリメントされるので、圧力パラメータＣＤＴＭＰＣＨＧはサンプリングデータ数を示すパラメータでもあることに注意されたい。
【数２】
2005233060.tif 000004
【０１３６】
ステップＳ１６６において、第２の傾きパラメータＥＯＤＴＭＪＵＤが、判定しきい値ＥＯＤＴＭＪＤＯＫより大きいかどうかを判断する。その答えがＹｅｓであるならば、リークがあると判定し、第２の漏れ判定フラグＦＤＴＭＬＫを値１に設定する。第２の判定終了フラグＦＥＯＮＶＤＴＭＪＵＤを値１に設定し（Ｓ１６９）、第２のリーク判定が終了したことを示す。
【０１３７】
第２の傾きパラメータＥＯＤＴＭＪＵＤが判定しきい値ＥＯＤＴＭＪＤＯＫ以下であるならば、圧力パラメータＣＤＴＭＰＣＨＧが所定値ＤＴＭＥＮＢＩＴ以上であるかどうかを判断する（Ｓ１６７）。ＣＤＴＭＰＣＨＧ＜ＤＴＭＥＮＢＩＴであるならば、該プロセスを終了する。圧力パラメータＣＤＴＭＰＣＨＧが所定値ＤＴＭＥＮＢＩＴに達すると、ステップＳ１６８に進み、第２の漏れ判定フラグＦＤＴＭＬＫをゼロに設定し、第２のリーク判定でリークが検出されなかったことを示す。さらに、第２の判定終了フラグＦＥＯＮＶＤＴＭＪＵＤを値１に設定する（Ｓ１６８）。
【０１３８】
また、ステップＳ１５２において、停滞時間を計測するタイマＴＤＴＭＳＴＹの値が所定時間ＴＤＴＭＬＫ以上になったときは、リークがあると判定し、第２の漏れ判定フラグＦＤＴＭＬＫを１に設定し、第２の判定終了フラグＦＥＯＮＶＤＴＭＪＵＤを値１に設定する（Ｓ１５８）。
【０１３９】
このように、停滞タンク内圧ＰＥＯＡＶＤＴＭが停滞または低下している時に、第２のリーク判定が実行される。停滞時間ＴＤＴＭＳＴＹが所定時間ＴＤＴＭＬＫ以上であるならば、または図７に示す回帰直線の傾きに対応する第２の傾きパラメータＥＯＤＴＭＪＵＤが判定しきい値ＥＯＤＴＭＪＤＯＫより大きければ、蒸発燃料処理系に、小さい孔によるリークがあると判定される。
【０１４０】
図１９は、最終判定を行うプロセスのフローチャートである。このプロセスは、所定時間（例えば、１秒）毎に実行される。
【０１４１】
ステップＳ１７１において、判定終了フラグＦＤＯＮＥが１かどうかを判断する。この答えがＹｅｓならば、本プロセスを終了する。ＦＤＯＮＥ＝０ならば、許可フラグＦＭＣＮＤＥＯＮＶが１かどうかを判断する（Ｓ１７２）。この答えがＹｅｓならば、判定不可フラグＦＤＴＭＤＩＳＢＬが１かどうかを判断する（Ｓ１７３）。ＦＭＣＮＤＥＯＮＶ＝０またはＦＤＴＭＤＩＳＢＬ＝１ならば、リーク判定を中断するため、中断フラグＦＥＯＮＶＡＢＯＴおよび判定終了フラグＦＤＯＮＥを１に設定し（Ｓ１７４）、本プロセスを終了する。
【０１４２】
ステップＳ１７３においてＦＤＴＭＤＩＳＢＬ＝０ならば、第１の判定終了フラグＦＥＯＮＶＤＤＰＪＵＤが１かどうかを判断する。ＦＥＯＮＶＤＤＰＪＵＤ＝１ならば、第１のリーク判定は終了している。ステップＳ１７６において、保留フラグＦＤＤＰＪＤＨＤの値が１かどうかを判断する。ＦＤＤＰＪＤＨＤ＝１ならば、中断フラグＦＥＯＮＶＡＢＯＴをゼロに設定し、終了フラグＦＤＯＮＥを１に設定する（Ｓ１８４）。
【０１４３】
ステップＳ１７６において保留フラグＦＤＤＰＪＤＨＤがゼロならば、ステップＳ１７７に進み、第１の漏れ判定フラグＦＤＤＰＬＫが１かどうかを判断する。ＦＤＤＰＬＫ＝１ならば、故障フラグＦＦＳＤを１に設定し（Ｓ１７８）、故障が生じたことを示す。ＦＤＤＰＬＫ＝０ならば、正常フラグＦＯＫを１に設定する（Ｓ１７９）。その後、ステップＳ１８４に進む。
【０１４４】
ステップＳ１７５において第１のリーク判定が終了していなければ、ステップＳ１８０に進み、第２の判定終了フラグＦＥＯＮＶＤＴＭＪＵＤが１かどうかを判断する。この答えがＮｏならば、本プロセスを終了する。第２の判定が終了しているときはＳ１８１に進み、第２の漏れ判定フラグＦＤＴＭＬＫが１かどうかを判断する。ＦＤＴＭＬＫ＝１ならば、故障フラグＦＦＳＤを１に設定し（Ｓ１８２）、故障が生じたことを示す。ＦＤＴＭＬＫ＝０ならば、正常フラグＦＦＳＤを１に設定する（Ｓ１８３）。その後、ステップＳ１８４に進む。
【０１４５】
こうして、第１のリーク判定および第２のリーク判定のどちらかが終了することに応じて、発燃料処理系のリーク判定を終了する。第２のリーク判定は、第１のリーク判定よりも時間がかかるので、第１のリーク判定の結果を優先的に用いるようにしている。代替的に、両方の判定結果が得られることに応じて、蒸発燃料処理系のリーク判定を終了してもよい。また、第１のリーク判定においてリーク有りと判定された場合にのみ、第２のリーク判定の結果を得るようにしてもよい。
【０１４６】
代替的に、平滑化されたタンク内圧ＰＥＯＮＶＡＶＥおよび停滞タンク内圧ＰＥＯＡＶＤＴＭの変わりに、検出されたタンク内圧ＰＴＡＮＫを用いてもよい。
【０１４７】
図１７および図１８のプロセスでは、圧力パラメータＣＤＴＭＰＣＨＧおよび停滞時間パラメータＣＴＭＳＴＹについて最小２乗法を適用して、第２の傾きＥＯＤＴＭＪＵＤを算出する。代替的に、タンク内圧ＰＴＡＮＫおよびアップカウントタイマＴＤＴＭＳＴＹの値に最小２乗法を適用して、第２の傾きＥＯＤＴＭＪＵＤを算出してもよい。
【０１４８】
本発明は、汎用の（例えば、船外機等の）内燃機関に適用可能である。
【図面の簡単な説明】
【０１４９】
【図１】この発明の一実施例に従う、内燃機関およびその制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、リーク判定装置の機能ブロック図。
【図３】この発明の一実施例に従う、リーク判定を実行しているときのタンク内圧の推移を示す図。
【図４】この発明の一実施例に従う、タンク内圧の実測データを示すタイムチャート、および該実測データに基づいて算出される回帰直線を示す図。
【図５】この発明の一実施例に従う、リーク判定を実行する期間における最大圧力を説明するための図。
【図６】この発明の一実施例に従う、第１のリーク判定手法を説明するための図。
【図７】この発明の一実施例に従う、第２のリーク判定手法を説明するための図。
【図８】この発明の一実施例に従う、リーク判定の許容時間を算出するプロセスのフローチャート。
【図９】この発明の一実施例に従う、電気負荷に供給される電流と車速との関係を示すマップ。
【図１０】この発明の一実施例に従う、算出された許容時間の一例を示すタイムチャート。
【図１１】この発明の一実施例に従う、リーク判定を実行する条件が成立するかどうかを判断するプロセスのフローチャート。
【図１２】この発明の一実施例に従う、圧力パラメータを算出するプロセスのフローチャート。
【図１３】この発明の一実施例に従う、第１のリーク判定を実行するプロセスのフローチャート。
【図１４】この発明の一実施例に従う、第１のリーク判定を実行するプロセスのフローチャート。
【図１５】この発明の一実施例に従う、図１４で使用されるテーブルの一例を示す図。
【図１６】この発明の一実施例に従う、第２のリーク判定を実行するための条件が成立するかどうかを判断するプロセスのフローチャート。
【図１７】この発明の一実施例に従う、第２のリーク判定を実行するプロセスのフローチャート。
【図１８】この発明の一実施例に従う、第２のリーク判定を実行するプロセスのフローチャート。
【図１９】この発明の一実施例に従う、最終判定を実行するプロセスのフローチャート。
【符号の説明】
【０１５０】
１  エンジン                ５  ＥＣＵ        
６  燃料噴射弁              ９  燃料タンク    
３４  パージ制御弁        ３６  バイパス弁
３８  ベントシャット弁    
４１  オルタネータ        ４２  バッテリ
【図１】
2005233060.tif 000005
【図２】
2005233060.tif 000006
【図３】
2005233060.tif 000007
【図４】
2005233060.tif 000008
【図５】
2005233060.tif 000009
【図６】
2005233060.tif 000010
【図７】
2005233060.tif 000011
【図８】
2005233060.tif 000012
【図９】
2005233060.tif 000013
【図１０】
2005233060.tif 000014
【図１１】
2005233060.tif 000015
【図１２】
2005233060.tif 000016
【図１３】
2005233060.tif 000017
【図１４】
2005233060.tif 000018
【図１５】
2005233060.tif 000019
【図１６】
2005233060.tif 000020
【図１７】
2005233060.tif 000021
【図１８】
2005233060.tif 000022
【図１９】
2005233060.tif 000023