(57)【特許請求の範囲】
【請求項１】
燃料タンク内にて発生した蒸発燃料を蓄えるキャニスタと、該キャニスタとエンジンの吸気通路に設けられたスロットル弁の下流側とを連通し途中にパージバルブを有するパージ通路と、エンジン動作状態に応じて前記パージバルブの開閉制御のためのデューティ値を設定するデューティ値設定手段と、前記デューティ値の増減に基づいて前記エンジンに供給される蒸発燃料のパージ量を増減調整するパージ量調整手段とを有するエンジンの蒸発燃料パージ制御装置において、
前記エンジン動作状態が予め設定されている定常状態でありかつ前記パージバルブが非動作状態であるか否かを判定する学習条件判定手段と、
前記エンジンが前記定常状態でありかつ前記パージバルブが非動作状態である場合に、前記パージバルブに対してデューティ値を所定速度で強制的に増加するように入力するデューティ値増加入力手段と、
前記エンジンの排気通路に設けられ空燃比を検出する空燃比センサと、
前記空燃比センサにより検出される空燃比の変化に基づいて前記デューティ値増加入力手段がデューティ値の強制的な増加入力を開始してから前記パージバルブが実際に開動作を始めるまでのバルブ動作開始所要時間を計測するタイマ手段と、
前記バルブ動作開始所要時間と前記デューティ値増加入力手段によるデューティ値の増加入力速度とを用いて前記パージバルブが開動作を行うことができないデューティ値である無効デューティ値を算出する無効デューティ値算出手段とを有し、
前記パージ量調整手段は、前記エンジン運転状態に応じて設定されたデューティ値に前記算出した無効デューティ値を付加したデューティ値に基づいて前記パージ量の増減調整をすることを特徴とするエンジンの蒸発燃料パージ制御装置。
【請求項２】
前記空燃比センサの検出信号に基づいて空燃比のフィードバック制御を行うための空燃比フィードバック補正係数値を算出する空燃比フィードバック補正係数値算出手段を有し、
前記タイマ手段は、
前記デューティ値増加入力手段がデューティ値の強制的な増加入力を開始した時点から、前記デューティ値の増加入力によって前記パージバルブが開動作を開始し前記蒸発燃料が前記エンジンにパージされることによって前記空燃比センサにより検出される空燃比が小さくなり前記空燃比フィードバック補正係数値が予め設定されている第１設定値以下となる時点までの第１デューティ値増加入力時間と、
前記デューティ値増加入力手段がデューティ値の強制的な増加入力を開始した時点から、前記空燃比フィードバック補正係数値が前記第１設定値よりも更に小さくなる側に設定されている第２設定値以下となる時点までの第２デューティ値増加入力時間とを計測し、
前記第１デューティ値増加入力時間と第２デューティ値増加入力時間とを用いて前記バルブ動作開始所要時間を算出することを特徴とする請求項１に記載のエンジンの蒸発燃料パージ制御装置。
【請求項３】
第１デューティ値増加入力時間又は第２デューティ値増加入力時間の少なくとも一方が各々予め設定されている制限時間の範囲を外れる場合に、前記無効デューティ値算出手段は無効デューティ値の算出を中止することを特徴とする請求項１又は２に記載のエンジンの蒸発燃料パージ制御装置。
【請求項４】
前記空燃比センサにＯ２センサを用いたことを特徴とする請求項１〜３に記載のエンジンの蒸発燃料パージ制御装置。
【請求項５】
前記Ｏ２センサの代わりに検出する空燃比に対してリニヤな出力特性を有する広域空燃比センサを用いたことを特徴とする請求項１〜３に記載のエンジンの蒸発燃料パージ制御装置。
【請求項６】
燃料タンク内にて発生した蒸発燃料を蓄えるキャニスタと、該キャニスタとエンジンの吸気通路に設けられたスロットル弁の下流側とを連通し途中にパージバルブを有するパージ通路と、エンジン動作状態に応じて前記パージバルブの開閉制御のためのデューティ値を設定するデューティ値設定手段と、前記デューティ値の増減に基づいて前記エンジンに供給される蒸発燃料のパージ量を増減調整するパージ量調整手段とを有するエンジンの蒸発燃料パージ制御装置において、
前記エンジン動作状態が予め設定されている定常状態でありかつ前記パージバルブが非動作状態であるか否かを判定する学習条件判定手段と、
前記パージバルブよりも前記キャニスタ側に位置する前記パージ通路内のライン圧力を検出する圧力センサと、
前記エンジンが前記定常状態で前記パージバルブが非動作状態である場合に、
前記燃料タンクとキャニスタとの間を強制的に閉鎖して前記パージバルブよりも前記キャニスタ側の前記パージ通路内及び前記キャニスタ内のエバポの圧力状態を保持する圧力保持手段と、
前記パージ通路内の圧力状態を保持した際の前記パージ通路内のライン圧力を記憶するライン圧力記憶手段と、
前記ライン圧力を記憶した後に前記パージバルブに対してデューティ値を所定速度で強制的に増加するように入力するデューティ値増加入力手段と、
前記デューティ値の強制増加入力によって前記パージバルブが開動作を行い前記圧力センサにより検出される前記パージ通路内のライン圧力が前記記憶したライン圧力よりも低下した際に、前記デューティ値増加入力手段により前記パージバルブに増加入力されているデューティ値を無効デューティ値として検出する無効デューティ値検出手段とを有し、
前記パージ量調整手段は、前記エンジン運転状態に応じて設定されたデューティ値に前記算出した無効デューティ値を付加したデューティ値に基づいて前記パージ量の増減調整をすることを特徴とするエンジンの蒸発燃料パージ制御装置。
【請求項７】
前記算出した無効デューティ値を学習する無効デューティ値学習手段を有することを特徴とする請求項１〜６に記載のエンジンの蒸発燃料パージ制御装置。
【請求項８】
前記デューティ値増加入力手段のデューティ値の増加入力速度を、前記エンジンの吸入空気量に応じて設定する増加入力速度設定手段を有することを特徴とする請求項１〜７に記載のエンジンの蒸発燃料パージ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エンジンの蒸発燃料パージ制御装置、特にエンジンの燃料タンクで発生した蒸発燃料（以下、単に「エバポ」という）をキャニスタに蓄え、この蓄えられたエバポをエンジンの吸気系にパージする蒸発燃料のパージ制御装置に関するものである。
【０００２】
【従来の技術】
従来より、エバポの大気中への排出量を規制する装置として、燃料タンク内にて発生するエバポを内部に吸着剤の装填されたキャニスタに蓄え、エンジンの吸気系の吸入負圧を用いて吸引させて通常の燃料と共に燃焼させるエバポパージ制御装置がある。
【０００３】
そして、このようなエバポパージ制御装置において、キャニスタとエンジンの吸気系とを連通するパージ通路の経路途中にデューティソレノイドバルブを設けて、エンジンの運転状態に応じてデューティ値を制御してエバポの流量を調整するエバポのパージ制御を行う技術が知られている。
【０００４】
例えば、デューティソレノイドバルブをエンジン動作状態に応じて得られる各種データに基づいて電子制御装置（以下、単に「ＥＣＵ」という）によってデューティ制御することによりバルブ開度を調整して、空燃比へのエバポによる影響が大きい低負荷領域ではパージ量を減少させ、エバポによる影響が小さい高負荷領域ではパージ量を増加させる制御を行う。これにより、エンジンに吸引されるパージ量を制御し、エンジンの空燃比が目標空燃比となるように制御している。なお、デューティソレノイドバルブのバルブ開度とは、バルブが開いている割合をいう。
【０００５】
【発明が解決しようとする課題】
しかし、デューティソレノイドバルブは、入力されるデューティ値がある所定のデューティ値以上でなければ開動作しないという特性を有しており、この特性は排除することができない。この所定のデューティ値は、いわゆる無効デューティ値といわれており、その値はデューティソレノイドバルブ個体毎に異なり、また、使用により経時的にも変化する。したがって、デューティソレノイドバルブの流量特性は個々に異なる。
【０００６】
図１５は、デューティソレノイドバルブに入力される入力デューティ値とデューティソレノイドバルブのバルブ開度との関係を示したデューティソレノイドバルブの流量特性を示すグラフである。図中、実線で示したように、入力されるデューティ値が所定値を超えるまで、すなわち無効デューティ値ＤＴ０超えるまではデューティソレノイドバルブは動作せず、バルブは閉じたままである。そして、その流量特性は個々に異なり、図中点線で示した範囲内で無効デューティ値に応じたバラツキを有する。
【０００７】
従来のデューティソレノイドバルブを用いたパージ制御では、上述のようなデューティソレノイドバルブの流量特性の個体差及び経時変化を考慮せず、ある一定の無効デューティ値を用いて決定した最終的なデューティ値によりデューティソレノイドバルブのデューティ制御がなされていた。
【０００８】
図１６は、従来のエバポパージ制御装置の機能ブロック図である。図示したように、最終デューティ値算出手段７０は、目標デューティ値算出手段６０によりエンジン動作状態に応じて設定される目標デューティ値ＤＴｔｇｔと予め固定値として設定されている無効デューティ値ＤＴ０とを用いて最終デューティ値ＤＵＴＹを算出している。
【０００９】
したがって、例えば、吸気通路内の負圧等が同一の条件でデューティソレノイドバルブに同一のデューティ値を出力した場合（図１５中、ｂ点）に、デューティソレノイドバルブのバルブ開度（図１５中、ａ点）は、無効デューティ値によってバラツキを有し（図１５中、ａ′点〜ａ″点間）、正確なエバポパージ量を得ることができなかった。したがって、空燃比制御によって空燃比を正確にストイキオに制御して、排気エミッションの浄化を行うには充分ではなかった。
【００１０】
本発明は、上記課題に鑑みてなされたものであり、その目的は蒸発燃料を吸気系に供給する蒸発燃料パージバルブの流量特性変化を学習して正確なエバポパージ制御を行うことができる蒸発燃料パージ制御装置を提供することにある。
【００１１】
【課題を解決するための手段】
上記目的を達成するために本発明の請求項１に記載のエンジンの蒸発燃料パージ制御装置によれば、エンジン動作状態が予め設定されている定常状態でありかつパージバルブが非動作状態である場合に、パージ通路に設けられているパージバルブに対してデューティ値を所定速度で強制的に増加入力する。
【００１２】
そして、空燃比センサにより検出した空燃比の変化に基づいて、デューティ値の強制的な増加入力を開始してからパージバルブが実際に開動作を始めるまでのバルブ動作開始所要時間を計測する。
【００１３】
そして、バルブ動作開始所要時間と強制増加入力の所定速度とを用いてパージバルブが開動作することができないデューティ値である無効デューティ値を算出し、エンジン運転状態に応じて設定されたデューティ値にこの無効デューティ値を付加した最終的なデューティ値によってパージ量の増減調整を行う。
【００１４】
また、請求項２に記載のエンジンの蒸発燃料パージ制御装置によれば、空燃比センサの検出信号に基づいて算出される空燃比フィードバック補正係数値を用いてバルブ動作開始所要時間を算出する。
【００１５】
すなわち、バルブ動作開始所要時間の算出は、デューティ値の増加入力によってパージバルブが開動作を行い蒸発燃料がエンジンに供給されることにより空燃比センサによって検出される空燃比は小さくなり、それに応じて空燃比フィードバック補正係数値も小さくなる。
【００１６】
そして、タイマ手段によりパージバルブへのデューティ値の強制的な増加入力を開始した時点から空燃比フィードバック補正係数値が予め設定されている第１設定値以下となる時点まで、デューティ値が強制的に増加入力される時間である第１デューティ値増加入力時間を計測する。
【００１７】
また、空燃比フィードバック補正係数値が第１設定値よりも更に減少する側に設定されている第２設定値以下となる時点までの第２デューティ値増加入力時間を計測する。そして、第１デューティ値増加入力時間と第２デューティ値増加入力時間とを用いてバルブ動作開始所要時間を算出する。
【００１８】
したがって、空燃比の変化する時間を用いて容易かつ短時間に無効デューティ値を算出することができ、パージバルブの正確な流量特性を把握することができる。これにより、パージバルブによるエバポのパージ量を精密に制御することができる。
【００１９】
請求項３に記載のエンジンの蒸発燃料パージ制御装置によれば、第１デューティ値増加入力時間又は第２デューティ値増加入力時間の少なくとも一方が各々設定されている制限時間の範囲を外れる場合には、無効デューティ値の算出を中止する。
【００２０】
ここで、制限時間の範囲を外れる場合とは、例えばキャニスタ内のエバポ濃度が極端に高い場合、あるいは極端に低い場合である。このようなエバポの状況にてデューティ値の強制増加入力を行った場合には、パージバルブの流量特性を正確に把握できないので、無効デューティ値の算出を中止する。したがって、パージバルブの流量特性を誤って算出することを防止することができる。
【００２１】
請求項４に記載のエンジンの蒸発燃料パージ制御装置は、空燃比センサに安価であるＯ２センサを用いて、そのＯＮ・ＯＦＦ信号に基づいてバルブ動作開始所要時間を計測して無効デューティ値を算出し、エンジンに供給されるエバポのパージ量を精密に制御することができる。
【００２２】
請求項５に記載のエンジンの蒸発燃料パージ制御装置は、空燃比センサとしてＯ２センサの代わりに空燃比に対してリニヤな出力特性を有する広域空燃比センサを用いる。したがって、空燃比を直接計測することができ、無効デューティ値の算出時間やそれに基づくパージバルブの制御時間をより短縮することができる。
【００２３】
請求項６に記載のエンジンの蒸発燃料パージ制御装置によれば、エンジン動作状態が予め設定されている定常状態でありかつパージバルブが非動作状態である場合に、燃料タンクとキャニスタとの間を強制的に閉鎖してパージバルブよりもキャニスタ側のパージ通路内及びキャニスタ内のエバポの圧力状態を保持する。
【００２４】
そして、パージバルブよりもキャニスタ側に位置するパージ通路内のライン圧力を検出し、記憶した後にパージバルブに対してデューティ値を所定速度で強制的に増加するように入力する。
【００２５】
これにより、所定のデューティ値が入力された後にパージバルブは開動作を行う。そして、ライン圧力が圧力状態保持時に記憶したライン圧力よりも低下した際にパージバルブに入力されているデューティ値を無効デューティ値として検出する。
【００２６】
したがって、パージ通路内の圧力変化を検出することによって容易かつ短時間にパージバルブの無効デューティ値を算出することができ、パージバルブの正確な流量特性を把握することができる。これにより、パージバルブによるエバポのパージ量を精密に制御することができる。
【００２７】
請求項７に記載のエンジンの蒸発燃料パージ制御装置は、算出した無効デューティ値を学習する無効デューティ値学習手段を有する。これにより、無効デューティ値を算出することができないエンジン動作状態の場合にもパージバルブによるエバポのパージ量を精密に制御することができる。
【００２８】
請求項８に記載のエンジンの蒸発燃料パージ制御装置は、デューティ値増加入力手段のデューティ値の増加入力速度をエンジンの吸入空気量に応じて設定する増加入力速度設定手段を有する。したがって、請求項１〜７の作用に加えて、エンジンの冷態時等のアイドル回転数が通常時よりも高回転である場合にも無効デューティ値を正確に算出することができ、パージバルブの正確な流量特性を把握することができる。
【００２９】
【発明の実施の形態】
以下、図面に基づいて発明の実施の形態について詳細に説明する。
【００３０】
図１は、本発明の第１の実施の形態にかかるエンジンの蒸発燃料パージ制御装置が用いられるエンジン装置の概略構成図である。図示のように、エンジン１０は、吸気通路２０と排気通路３０と連通し、吸気通路２０は上流側よりエアクリーナ２１、吸入空気量Ｑを検出するエアフローメータ２２及び吸入空気量Ｑを調整するスロットル弁２３を具備している。
【００３１】
排気通路３０は、その経路途中にエンジン１０より排出される排気エミッションの浄化を行う触媒３１を有し、触媒３１の上流側に排気ガス中の空燃比を検出する空燃比センサであるＯ２センサ３２を有している。
【００３２】
また、本エンジン装置は、燃料タンク４０と燃料タンク４０内にて発生したエバポを吸着して蓄える吸着剤（図示せず）が充填されているキャニスタ４２とを具備している。燃料タンク４０は、連通管４１を介してキャニスタ４２と接続されており、キャニスタ４２は、吸気通路２０よりも小径の流路面積を持って形成されたパージ通路４３を介して吸気通路２０のスロットル弁２３下流側に連通して設けられている。
【００３３】
パージ通路４３は、その経路途中にパージバルブであるデューティソレノイドバルブ４４を有しており、ＥＣＵ５０から出力されるデューティ値によってパージ通路４３内を通過するエバポのパージ量を調整する。
【００３４】
ＥＣＵ５０には、各種運転状態に応じたデータを検出するための各種検出器が接続されている。例えば、エアフローメータ２２、スロットル弁２３の開度θを検出するためのスロットル開度センサ２４、吸気通路２０内の吸気負圧を検出する負圧センサ２９、エンジン水温Ｔｗを検出するための水温センサ２５、エンジン回転数Ｎｅを検出するためのクランク角センサ２６、空燃比を検出するＯ２センサ３２、車速ｖを検出するための車速センサ２７が接続されている。
【００３５】
そして、上記各部材の駆動制御並びに各センサからの検出信号を受信する電子制御装置（以下、単に「ＥＣＵ」という）５０は、図２に示すように、各センサからの信号を受信する入力インターフェース５０ａ、各部材への駆動制御信号を出力する出力インターフェース５０ｂ、主演算装置としてのＣＰＵ５０ｃ、制御プログラムや予め設定された固定データを記憶するＲＯＭ５０ｄ、各センサからの検出信号等を格納するＲＡＭ５０ｅ、さらに学習データ等を格納するバックアップＲＡＭ５０ｆ、タイマ５０ｇ等をバスライン５０ｈで相互に接続してなるマイクロコンピュータシステムとして構成されている。
【００３６】
次に、図３に示す本発明の第１の実施の形態の機能ブロック図について説明する。図示したように、本発明において特徴的なことはデューティソレノイドバルブ４４の無効デューティ値を算出するために、デューティ値増加入力手段９０と無効デューティ値算出手段８０とを設けたことである。
【００３７】
デューティ値増加入力手段９０は、学習条件判定手段９１によりエンジン動作状態が所定の条件を満たす状態であると判定した場合に、バルブ制御手段７５を介してデューティソレノイドバルブ４４に強制的に所定のデューティ値を所定の設定速度（以下、単に「増加入力速度」という）Ｘで増加入力する。
【００３８】
無効デューティ値算出手段８０は、タイマ手段８１と空燃比フィードバック制御手段８２に接続されており、これらの手段より入力されるデータに基づいて無効デューティ値ＤＴ０を算出し、最終デューティ値算出手段７０に出力する。ここで、無効デューティ値ＤＴ０とは、入力しても開動作を行われないデューティ値である。
【００３９】
空燃比フィードバック制御手段（空燃比フィードバック補正係数値算出手段）８２は、Ｏ２センサ３２の検出信号から空燃比フィードバック補正係数値ＬＡＭＢＤＡを算出する。
【００４０】
タイマ手段８１は、空燃比フィードバック補正係数値ＬＡＭＢＤＡの変化時間を計測し、それに基づいてデューティ値増加入力手段９０がデューティ値の強制的な増加入力を開始してからパージバルブが実際に開動作を開始するまでのバルブ動作開始所要時間を計測する。
【００４１】
また、無効デューティ値算出手段８０は無効デューティ値学習手段８３と接続されており、算出した無効デューティ値ＤＴ０は、無効デューティ値学習手段８３によってＥＣＵ５０のＲＡＭ５０ｅ内に記憶更新され、空燃比フィードバック制御手段８２から空燃比フィードバック補正係数値（ＬＡＭＢＤＡ）がフィードバックされてこない場合に、記憶した無効デューティ値ＤＴ０を読み出して最終デューティ値算出手段７０に出力される。
【００４２】
目標デューティ値算出手段６０は、データマップ６１を有しており、負圧センサ２９及びエアフローメータ２２より入力した負圧Ｐｂと吸入空気量Ｑとを用いて、データマップ６１を参照することにより目標デューティ値ＤＴｔｇｔを設定し、最終デューティ値算出手段７０に出力する。ここで、目標デューティ値ＤＴｔｇｔとは、デューティソレノイドバルブ４４を実際に開けたいバルブ開度を指示するデューティ値である。
【００４３】
最終デューティ値算出手段７０は、目標デューティ値算出手段６０により算出される目標デューティ値ＤＴｔｇｔと無効デューティ値算出手段８０により算出される無効デューティ値ＤＴ０とを用いてデューティソレノイドバルブ４４を駆動する最終的なデューティ値ＤＵＴＹを算出し、バルブ制御手段７５を介してデューティソレノイドバルブ４４に出力する。
【００４４】
次に、図４〜図６を参照しつつ本実施の形態の動作について説明する。図４のフローチャートは、現在のエンジン動作状態からデューティソレノイドバルブが正確な無効デューティ値ＤＴ０を算出することができる状態にあるか否かを判定する学習実行判定ルーチンを示している。
【００４５】
まず最初に、ステップ（以下、単に「Ｓ」という）１０１では、エンジンが空燃比フィードバック制御を行っているか否かが判断される。ここで、空燃比フィードバック制御を行っていない（ＮＯ）と判断された場合には、無効デューティ値ＤＴ０を算出するために用いられる空燃比フィードバック補正係数値ＬＡＭＢＤＡを得ることができないので、算出条件を満たさないと判断して本ルーチンを抜ける（リターン）。
【００４６】
また、空燃比フィードバック制御中である（ＹＥＳ）と判定された場合には、Ｓ１０２に移行し、Ｓ１０２ではエンジン１０がアイドル運転中であるか否かが判断される。アイドル運転中であるか否かは、スロットル開度センサ２４及び車速センサ２７の検出信号に基づいてＥＣＵ５０により判断される。
【００４７】
ここで、アイドル運転中ではない（ＮＯ）と判断された場合は、エンジン動作状態が一定でないので、算出条件を満たさないと判断して本ルーチンを抜ける（リターン）。また、アイドル運転中である（ＹＥＳ）と判定された場合には、Ｓ１０３に移行し、Ｓ１０３では空燃比フィードバック制御手段８２にて算出された空燃比フィードバック補正係数値ＬＡＭＢＤＡがＥＣＵ５０のＲＯＭ５０ｄ内に予め設定されているＬＡＭＢＤＡ設定範囲内にあるか否かが判定される。
【００４８】
ここでは、空燃比フィードバック補正係数値ＬＡＭＢＤＡが無効デューティ値ＤＴ０を算出することが可能な範囲にあるか否かが判断される。そして、空燃比フィードバック補正係数値ＬＡＭＢＤＡがＬＡＭＢＤＡ設定範囲内にある（ＹＥＳ）場合にはＳ１０４へ移行し、ＬＡＭＢＤＡ設定範囲内にない（ＮＯ）場合には算出条件を満たさないとして本ルーチンを抜ける（リターン）。
【００４９】
Ｓ１０４では、空燃比フィードバック補正係数値ＬＡＭＢＤＡの平均値ＮＬＡＭの変化率が設定値以下であるか否かが判断される。ここで、平均値ＮＬＡＭの変化率が設定値以下である（ＹＥＳ）場合には平均値ＮＬＡＭが安定していると判断して平均値ＮＬＡＭをＥＣＵ５０内のＲＡＭ５０ｅ内に記憶した後に、Ｓ１０５へ移行する。
【００５０】
また、平均値ＮＬＡＭの変化率が設定値を超える（ＮＯ）場合には平均値ＮＬＡＭが安定していない、すなわちエンジン動作状態が無効デューティ値ＤＴ０を算出することができる状況にないとして、本ルーチンを抜ける（リターン）。
【００５１】
Ｓ１０５では、デューティソレノイドバルブ４４が非動作状態であるか否かが判定される。ここで、デューティソレノイドバルブ４４が非動作状態である（ＹＥＳ）場合には、エンジン動作状態がＳ１０１〜Ｓ１０５の条件を満たしている状態、すなわち定常運転状態でかつデューティソレノイドバルブ４４が非作動状態であるとして、Ｓ１０６へ移行する。
【００５２】
そして、Ｓ１０６では、ＥＣＵ５０のＲＡＭ５０ｅ内にエンジン動作状態等が学習条件を満たしていることを示すフラグが立てられ（ＦＬＡＧ←１）、本ルーチンを抜ける（リターン）。また、デューティソレノイドバルブ４４が非動作状態でない（ＮＯ）場合、すなわち動作中である場合には、無効デューティ値ＤＴ０を算出することができないとして本ルーチンを抜ける（リターン）。
【００５３】
図５のフローチャートは、無効デューティ値ＤＴ０を算出し、最終デューティ値ＤＵＴＹを得るための制御ルーチンである。また、図６は、図５のルーチンを実行することによって変化する空燃比フィードバック補正係数値ＬＡＭＢＤＡ及びその平均値ＮＬＡＭとデューティソレノイドバルブ４４に増加入力されるデューティ値（以下、単に「入力デューティ値」という）との関係を時間ｔを用いて示した概略説明図である。
【００５４】
図５に示したように、Ｓ２０１にて、図４の学習実行判定ルーチンによってＥＣＵ５０のＲＡＭ５０ｅ内にフラグが立てられている（ＦＬＡＧ＝１）か否かが判定される。ここで、フラグが立っている（ＹＥＳ）場合には無効デューティ値ＤＴ０の算出条件を満たしている、すなわちエンジン動作状態が定常運転状態でかつデューティソレノイドバルブ４４が非作動状態であるとしてＳ２０２に移行し、フラグが立っていない（ＮＯ）場合には本ルーチンを実行する条件を満たさないとして本ルーチンを抜ける（リターン）。
【００５５】
Ｓ２０２では、デューティ値増加入力手段９０によりデューティソレノイドバルブ４４に対して入力デューティ値を増加入力速度Ｘで１ｂｉｔづつ増加入力する動作が行われる。また、タイマ手段８１は、入力デューティ値の増加入力開始と同時に時間の計測を開始する。ここで、増加入力速度Ｘ（ｂｉｔ／ｓｅｃ）は、ＥＣＵ５０のＲＯＭ５０ｄ内に予めストアされている設定値である。
【００５６】
これにより、入力デューティ値は、図６に示したように、増加入力速度Ｘ（図中、線Ｂの勾配）で増加する。したがって、デューティソレノイドバルブ４４は、入力デューティ値が無効デューティ値を超えたときから徐々に開きはじめ（図１５参照）、このバルブ開度の増大によりエンジンに供給されるエバポのパージ量も増加する。これにより、空燃比フィードバック補正係数値ＬＡＭＢＤＡは徐々に小さくなり、空燃比フィードバック補正係数値ＬＡＭＢＤＡの平均値ＮＬＡＭｎｅｗは一定の割合で減少することとなる（図６中、線Ａ）。
【００５７】
Ｓ２０３では、図６に示したように減少を続ける平均値ＮＬＡＭｎｅｗが前述のＳ１０４にてＥＣＵ５０のＲＡＭ５０ｅ内に記憶した平均値ＮＬＡＭｏｌｄの９割よりも小さくなったか否かを判定する。ここで、平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの９割、すなわち平均値ＮＬＡＭｏｌｄの０．９倍よりも大きい（ＮＯ）場合には、Ｓ２０２へ戻り、平均値ＮＬＡＭｏｌｄの０．９倍以下（ＹＥＳ）になるまでＳ２０２の動作を行う。
【００５８】
そして、Ｓ２０３にて平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの０．９倍以下になった（ＹＥＳ）場合にはＳ２０４へ移行する。Ｓ２０４では、デューティ値増加入力手段９０によりデューティ値の増加入力を開始した時点から平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの０．９倍以下になった時点までの時間Ｔ９を計測する。この計測した時間Ｔ９は、ＲＡＭ５０ｅ内にデータとして記憶される。
【００５９】
したがって、時間Ｔ９は、図６に示したように、デューティソレノイドバルブ４４のバルブ動作開始所要時間ＴｏｐｅｎとＯ２センサ３２の応答遅れ時間Ｔｄとを含んでいる。ここで、バルブ動作開始所要時間Ｔｏｐｅｎとは、デューティ値増加入力手段９０によりデューティ値の増加入力を開始した時点（図中、ｅ点）から実際にデューティソレノイドバルブ４４が動作を開始する時点（図中、ｆ点）までの時間である。
【００６０】
また、Ｏ２センサ３２の応答遅れ時間Ｔｄは、デューティソレノイドバルブ４４の動作によりエバポがエンジンに供給された時点（図中、ｆ点）から排気通路３０に設けられたＯ２センサ３２がそのエバポによる空燃比の変化を検出する（図中、ｇ点）までのセンサの応答遅れの時間であり、エンジン運転状態に応じて予めＥＣＵ５０のＲＯＭ５０ｄ内に設定されている。
【００６１】
Ｓ２０５では、Ｓ２０２の動作が連続して行われる。また、タイマ８１も時間の計測を継続する。したがって、図６に示したように、入力デューティ値は同一の増加入力速度Ｘで増加を継続し、エバポのパージ量も同じ割合で増加を続ける。そして、空燃比フィードバック補正係数値ＬＡＭＢＤＡの平均値ＮＬＡＭｎｅｗも同様に同じ割合で更に減少を続ける。
【００６２】
Ｓ２０６では、減少を続ける平均値ＮＬＡＭｎｅｗがＳ１０４にてＥＣＵ５０のＲＡＭ５０ｅ内に記憶した平均値ＮＬＡＭｏｌｄの８割よりも小さくなったか否かを判定する。ここで、平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの８割、すなわち平均値ＮＬＡＭｏｌｄの０．８倍よりも大きい（ＮＯ）場合には、Ｓ２０５へ戻り、平均値ＮＬＡＭｏｌｄの０．８倍以下（ＹＥＳ）になるまでＳ２０５の動作を行う。
【００６３】
そして、Ｓ２０６にて平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの０．８倍以下になった（ＹＥＳ）場合にはＳ２０７へ移行し、Ｓ２０７では、デューティ値増加入力手段９０によりデューティ値の増加入力を開始した時点から平均値ＮＬＡＭｎｅｗが平均値ＮＬＡＭｏｌｄの０．８倍以下になった時点までの時間Ｔ８を計測する。この計測した時間Ｔ８は、時間Ｔ９と同様にＲＡＭ５０ｅ内にデータとして記憶される。
【００６４】
次に、Ｓ２０８では、デューティソレノイドバルブ４４のバルブ動作開始所要時間Ｔｏｐｅｎの算出が行われる。バルブ動作開始所要時間Ｔｏｐｅｎは、以下の（１）式によって算出することができる。
【００６５】
Ｔｏｐｅｎ＝Ｔ９×２−Ｔ８−Ｔｄ……（１）
すなわち、バルブ動作開始所要時間Ｔｏｐｅｎは、時間Ｔ９を２倍したものからＴ８とＴｄを減算することにより算出することができる。
【００６６】
このバルブ動作開始所要時間Ｔｏｐｅｎの算出原理を以下に説明する。図６に示したように、平均値ＮＬＡＭｎｅｗが０．９倍から０．８倍になるまでの時間、すなわち時間Ｔ９と時間Ｔ８との時間差は、デューティソレノイドバルブ４４が増加入力されたデューティ値に基づいて実際に開動作を行ったことにより平均値ＮＬＡＭｎｅｗが低下した時間である。
【００６７】
したがって、バルブ動作開始所要時間Ｔｏｐｅｎと応答遅れ時間Ｔｄとを含んだ時間Ｔ９を２倍したものから時間Ｔ８及び応答遅れ時間Ｔｄを除算することによりバルブ動作開始所要時間Ｔｏｐｅｎを算出することができる。
【００６８】
次に、Ｓ２０９にて無効デューティ値ＤＴ０を算出する。ここで、無効デューティ値ＤＴ０は、以下の（２）式により算出することができる。
【００６９】
ＤＴ０＝Ｘ×Ｔｏｐｅｎ……（２）
すなわち、図６に示したように、増加入力速度Ｘの勾配でバルブ動作開始所要時間Ｔｏｐｅｎだけ上昇した入力デューティ値を無効デューティ値ＤＴ０として算出することができる。また、ここで算出された無効デューティ値ＤＴ０は、無効デューティ値学習手段８３によって前回のプログラムサイクル時に記憶した無効デューティ値ＤＴ０を更新し、記憶される。
【００７０】
そして、Ｓ２１０では算出した無効デューティ値ＤＴ０と目標デューティ値ＤＴｔｇｔから最終デューティ値ＤＵＴＹが算出される。ここで、最終デューティ値ＤＵＴＹは、以下の（３）式により算出することができる。
【００７１】
ＤＵＴＹ＝ＤＴ０＋ＤＴｔｇｔ……（３）
このようにして最終デューティ値ＤＵＴＹを算出した後に、本ルーチンを抜ける（リターン）。したがって、以上の制御ルーチンを実行することによって、正確な無効デューティ値ＤＴ０を算出し学習することができ、これを用いてデューティソレノイドバルブ４４を正確に制御する最終デューティ値ＤＵＴＹを得ることができる。
【００７２】
したがって、無効デューティ値ＤＴ０によるデューティソレノイドバルブ４４の流量特性のバラツキ又は経時変化を検出して、学習することができ、図１５に示したように、入力されるデューティ値に対するデューティソレノイドバルブ４４のバルブ開度を正確に得ることができる。これにより、得られた最終デューティ値ＤＵＴＹを用いてエバポのパージ制御を正確に行うことが可能となる。
【００７３】
次に、本発明の第２の実施の形態について説明する。本実施の形態において特徴的なことは、無効デューティ値を算出学習するためのパラメータとして、第１の実施の形態にて用いられていた空燃比フィードバック補正係数値ＬＡＭＢＤＡの代わりにパージ通路４３内におけるエバポのパージ圧力の変化を用いることである。すなわち、本実施の形態は、パージ通路内のパージ圧力を検出して無効デューティ値を算出学習し、入力されるデューティ値に対するデューティソレノイドバルブ４４のバルブ開度を正確に得るものである。
【００７４】
以下に、本実施の形態について図７〜図１０を用いて詳細に説明する。図７は、本実施の形態におけるエンジン装置を示した概略説明図、図８は、その機能ブロック図である。また、図９は、現在のエンジン動作状態が正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かを判定する学習実行判定ルーチンを示すフローチャート、図１０は、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。なお、第１の実施の形態と同様の構成要素には同一の符号を付することでその詳細な説明を省略する。
【００７５】
図７に示したように、本実施の形態におけるエンジン装置の構成において特徴的なことは、パージ通路４３に圧力センサ４５を設け、圧力保持手段として連通管４１に圧力制御弁４８と、キャニスタ４２の大気開放口４９に開閉弁４７を設けたことである。
【００７６】
圧力センサ４５はパージ通路４３内のエバポのパージ圧力Ｐｅを検出してＥＣＵ５０に出力し、圧力制御弁４８はＥＣＵ５０からの指示信号によって燃料タンク４０とキャニスタ４２との圧力を調整し、開閉弁４７は開閉動作によってキャニスタ４２内を大気開放又は閉鎖する。
【００７７】
すなわち、圧力制御弁４８と開閉弁４７は、デューティソレノイドバルブ４４が非動作状態である場合に、キャニスタ４２内の圧力を一定の正圧状態に保つ動作を行う。また、図８に示したように、無効デューティ値算出手段８０は、圧力センサ４５からエバポのパージ圧力検出信号Ｐｅを入力し、無効デューティ値ＤＴ０を算出する。
【００７８】
次に、図９及び図１０のフローチャートを用いて無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを算出する方法について説明する。まず最初に、図９に示したルーチンにより、現在のエンジン動作状態が正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かが判断される。
【００７９】
図示したように、Ｓ３０１及びＳ３０２では第１の実施の形態におけるＳ１０１とＳ１０２と同様であるのでその説明を省略する。そして、Ｓ３０３では、デューティソレノイドバルブ４４が非動作状態であるか否かが判定される。
【００８０】
ここで、デューティソレノイドバルブ４４が非動作状態である（ＹＥＳ）場合には、エンジン動作状態がＳ３０１〜Ｓ３０３の条件を満たしている状態、すなわち無効デューティ値を算出学習することができる状態にあると判断して、Ｓ３０４へ移行する。
【００８１】
また、デューティソレノイドバルブ４４が非動作状態でない（ＮＯ）場合、すなわち動作中である場合には、正確な無効デューティ値ＤＴ０を得ることができないとして本ルーチンを抜ける（リターン）。そして、Ｓ３０４にてＥＣＵ５０のＲＡＭ５０ｅ内に学習条件を満たしていることを示すフラグが立てられた後に、本ルーチンを抜ける（リターン）。
【００８２】
次に、図１０において、Ｓ４０１では第１の実施の形態におけるＳ２０１と同様にフラグが立てられているか否かが判断される。そして、Ｓ４０１でフラグが立っていると判断されると、Ｓ４０２では、開閉弁４７及び圧力制御弁４８の閉鎖が行われ、キャニスタ４２内を正圧状態に保持した後に、圧力センサ４５によりパージ通路内のライン圧であるパージ圧Ｐｅが検出され、ＥＣＵ５０のＲＡＭ５０ｅ内にデータとして記憶される。
【００８３】
Ｓ４０３では、デューティソレノイドバルブ４４への入力デューティ値が増加入力速度Ｘで１ｂｉｔづつ増加入力される制御がなされ、Ｓ４０４では、エバポのパージ圧Ｐｅが予め設定されている圧力値Ｐよりも小さくなったか否かの判断がなされる。
【００８４】
ここで、検出したパージ圧Ｐｅが設定されている圧力値Ｐ以上（ＮＯ）の場合には、Ｓ４０３の動作を継続し、小さくなった（ＹＥＳ）場合には、Ｓ４０５に移行し、Ｓ４０５にてそのときの入力デューティ値を計測し、その入力デューティ値を無効デューティ値ＤＴ０と判断する。
【００８５】
すなわち、非動作状態であるデューティソレノイドバルブ４４にＳ４０３にてデューティ値が徐々に増加入力され、入力デューティ値が無効デューティ値ＤＴ０を超えてからデューティソレノイドバルブ４４は開動作を開始する。
【００８６】
この開動作によりキャニスタ４２内にて正圧状態に保たれているエバポは、パージ通路４３を通過して吸気通路２０内へと流入を開始し、キャニスタ４２内のパージ圧Ｐｅは徐々に低下し始める。したがって、強制増加入力を開始した時点から、パージ圧Ｐｅが低下を開始する時点までの入力デューティ値を無効デューティ値ＤＴ０と判断することができる。
【００８７】
そして、Ｓ４０６では、Ｓ２１０と同様の制御により最終デューティ値ＤＵＴＹが算出され、本ルーチンを抜ける（リターン）。
【００８８】
したがって、本実施の形態では空燃比フィードバックによる検出値をパラメータとして用いていないので、第１の実施の形態と比較して、無効デューティ値ＤＴ０を短時間で算出し学習することができる。したがって、デューティソレノイドバルブ４４の流量特性変化を学習することができ、正確なエバポパージ制御を行うことが可能となる。
【００８９】
次に、本発明の第３の実施の形態について以下に説明する。本実施の形態において特徴的なことは、第１の実施の形態における入力デューティ値の増加入力速度Ｘを吸入空気量Ｑに応じて設定することである。これにより、エンジン冷態時においても、正確な無効デューティ値を算出学習してより精密なエバポパージ制御を行うことを目的としている。
【００９０】
例えば、エンジン水温が低い場合に、アイドル運転におけるアイドル回転数は高く設定され、それに伴って空燃比フィードバック補正係数値ＬＡＭＢＤＡの反転回数も多くなる。したがって、本実施の形態は、空燃比フィードバック補正係数値ＬＡＭＢＤＡの反転回数に応じて増加入力速度Ｘを変更設定することによって、より正確な無効デューティ値ＤＴ０を算出学習するものである。
【００９１】
以下に、本実施の形態について図１１を用いて説明する。図１１は、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【００９２】
まず最初に、Ｓ５０１ではフラグが立てられているか否かが判断される。このフラグについては、第１の実施の形態と同様であるのでその詳細な説明を省略する。ここで、フラグが立てられている（ＹＥＳ）場合にはエンジン動作状態が所定の前提条件を満たしていると判断して、Ｓ５０２へ移行し、フラグが立てられていない（ＮＯ）場合には前提条件を満たしていないと判断して、本ルーチンを抜ける（リターン）。
【００９３】
次に、Ｓ５０２では入力デューティ値の増加入力速度Ｘが設定される。ここで、増加入力速度Ｘは吸入空気量Ｑのデータテーブルを参照することにより設定される。このデータテーブルは、吸入空気量Ｑが増加すると増加入力速度Ｘも速い速度となるように構成されている。
【００９４】
そして、Ｓ５０３では、デューティソレノイドバルブ４４に対してＳ５０２で設定された増加入力速度Ｘで１ｂｉｔづつ入力デューティ値が増加入力される。Ｓ５０４〜Ｓ５１１は、Ｓ２０３〜Ｓ２１０までと同様であるのでその詳細な説明を省略する。
【００９５】
したがって、上述の制御を行うことにより、エンジン水温が低くアイドル回転数が高い場合、例えば、エンジン始動後間もないエンジン冷態時においても吸入空気量Ｑに応じて増加入力速度Ｘが設定されるので、正確に無効デューティ値を算出することができ、精密なエバポのパージ制御を行うことができる。
【００９６】
次に、本発明の第４の実施の形態について以下に説明する。本実施の形態において特徴的なことは、第１の実施の形態において、キャニスタ４２内のエバポ濃度を考慮して無効デューティ値の算出学習を行うことである。
【００９７】
例えば、キャニスタ４２内のエバポ濃度が極端に低い場合には、デューティソレノイドバルブ４４を制御してもパージするエバポが少ないために、所定量のエバポをパージするのに長時間を有する。すなわち、時間Ｔ９や時間Ｔ８が非常に長くなり、無効デューティ値を算出するために行う制御時間が長くなるために、通常の空燃比制御に不具合を与える可能性がある。
【００９８】
また、キャニスタ４２内のエバポ濃度が極端に高い場合には、デューティソレノイドバルブ４４が僅かに開いただけで大量のエバポがパージされるので、Ｏ２センサによるフィードバック制御が追いつかなくなる可能性がある。
【００９９】
したがって、本実施の形態は、上述のような不具合を除去するべく、時間Ｔ９及び時間Ｔ８が予め設定されている設定時間の範囲を外れる場合には、無効デューティ値の算出学習制御を中止するものを新たに追加したものである。
【０１００】
以下に、本発明の実施の形態について図１２を用いて説明する。図１２は、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【０１０１】
図示したように、Ｓ６０１ではフラグが立てられているか否かが判断される。このフラグについては第１の実施の形態と同様であるのでその詳細な説明を省略する。ここで、フラグが立てられている（ＹＥＳ）場合にはエンジン動作状態が前提条件を満たしていると判断して、Ｓ６０２へ移行し、フラグが立てられていない（ＮＯ）場合には前提条件を満たしていないと判断して、本ルーチンを抜ける（リターン）。
【０１０２】
Ｓ６０２〜Ｓ６０４は、第１の実施の形態におけるＳ２０２〜Ｓ２０４と同様であるのでその説明を省略する。Ｓ６０５では、時間Ｔ９が設定時間Ｔ２より短いか否かが判断される。設定時間Ｔ２は、時間Ｔ９の最短の制限時間としてＥＣＵ５０のＲＯＭ５０ｄ内に予め設定されているものである。
【０１０３】
ここで、時間Ｔ９が設定時間Ｔ２よりも短い（ＹＥＳ）場合には、キャニスタ４２内のエバポ濃度が極端に高いと判断し、無効デューティ値ＤＴ０の算出学習制御を中止した後に本ルーチンを抜ける（リターン）。また、時間Ｔ９が設定時間Ｔ２よりも長い（ＮＯ）場合には、キャニスタ４２内のエバポ濃度は設定範囲よりも高くないと判断してＳ６０６へ移行する。
【０１０４】
Ｓ６０６では、時間Ｔ９が設定時間Ｔ１より長いか否かが判断される。設定時間Ｔ１は、時間Ｔ９の最長の制限時間としてＥＣＵ５０のＲＯＭ５０ｄ内に予め設定されているものである。
【０１０５】
ここで、時間Ｔ９が設定時間Ｔ１よりも長い（ＹＥＳ）場合には、キャニスタ４２内のエバポ濃度が極端に低いと判断し、無効デューティ値ＤＴ０の算出学習制御を中止した後に、本ルーチンを抜ける（リターン）。また、時間Ｔ９が設定時間Ｔ１よりも短い（ＮＯ）場合には、キャニスタ４２内のエバポ濃度は設定範囲内にあり適正な状態であると判断してＳ６０７へ移行する。
【０１０６】
Ｓ６０７〜Ｓ６０９は、第１の実施の形態におけるＳ２０５〜Ｓ２０７と同様であるのでその説明を省略する。Ｓ６１０では、時間Ｔ９の場合と同様の判断が行われる。すなわち、時間Ｔ８が設定時間Ｔ４より短いか否かが判断され、設定時間Ｔ３よりも長いか否かが判断される。なお、設定時間Ｔ４とＴ３の関係はＴ４＜Ｔ３である。
【０１０７】
これにより、キャニスタ４２内のエバポ濃度が適正な状態で無効デューティ値の算出学習を行い、それに基づいて最終デューティ値を算出することができる。したがって、第１の実施の形態の効果に加えて、キャニスタ４２内のエバポ濃度を考慮し、エバポ濃度の異常時に誤って学習しない制御を行うことが可能となり、正確なエバポパージ制御を行うことができる。
【０１０８】
次に、本発明の第５の実施の形態について以下に説明する。本実施の形態において特徴的なことは、第１の実施の形態にて空燃比センサとして用いられるＯ２センサ３２の代わりに、リニアな出力を得られる広域空燃比センサ３３を用いて無効デューティ値の算出学習を行うことである。
【０１０９】
これは、空燃比センサとしてＯ２センサを用いた場合には、無効デューティ値ＤＴ０を算出するために、空燃比フィードバック補正係数値ＬＡＭＢＤＡの平均値ＮＬＡＭを用いなければならない。すなわち、平均値ＮＬＡＭは、空燃比フィードバック補正係数値ＬＡＭＢＤＡを用いて算出しなければならず、算出後に平均値ＮＬＡＭの変化率が所定の設定値内にあるか否かを判断しなければならない（図４のＳ１０４）。
【０１１０】
したがって、本実施の形態では、広域空燃比センサによって空燃比を直接的に計測することにより、無効デューティ値ＤＴ０の算出学習を精度良く行い、かつその算出学習時間をより短くできる。
【０１１１】
以下に、本実施の形態について図１３と図１４を用いて説明する。図１３は、現在のエンジン動作状態が正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かを判定する学習実行判定ルーチンを示すフローチャート、図１４は、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【０１１２】
図１３に示したように、Ｓ７０１〜Ｓ７０３は、第１の実施の形態におけるＳ１０１〜Ｓ１０３と同様であるのでその詳細な説明を省略する。また、Ｓ７０３にて空燃比フィードバック補正係数値ＬＡＭＢＤＡが設定範囲内にあると判断した（ＹＥＳ）場合には、その値を無効デューティ値ＤＴ０を算出学習し最終デューティ値ＤＵＴＹを算出する制御の開始前の空燃比フィードバック補正係数値ＬＡＭＢＤＡ（以下、単に「ＬＡＭＢＤＡＯ」という）として、ＥＣＵ５０のＲＡＭ５０ｅ内に記憶した後に、Ｓ７０４へ移行する。
【０１１３】
そして、Ｓ７０４では、Ｓ１０５と同様にデューティソレノイドバルブ４４が非動作状態であるか否かが判定され、非動作状態である（ＹＥＳ）場合にはＳ７０５へ移行し、非動作状態でない（ＮＯ）場合は、エンジン動作状態が正確な無効デューティ値を得ることができる状態にないとして本ルーチンを抜ける（リターン）。Ｓ７０５では、ＥＣＵ５０のＲＡＭ５０ｅ内に学習条件を満たしている状態であることを示すフラグが立てられ（ＦＬＡＧ←１）、本ルーチンを抜ける（リターン）。
【０１１４】
次に、図１４では、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御が行われるが、Ｓ８０１とＳ８０２は、第１の実施の形態におけるＳ２０１とＳ２０２と同様であるのでその詳細な説明を省略する。Ｓ８０３では、Ｓ８０２の動作により、空燃比フィードバック補正係数値ＬＡＭＢＤＡがＳ７０３にてＥＣＵ５０のＲＡＭ５０ｅ内に記憶した空燃比フィードバック補正係数値ＬＡＭＢＤＡＯの９割以下になったか否かを判定する（ＬＡＭＢＤＡ≦ＬＡＭＢＤＡＯ×０．９）。
【０１１５】
ここで、空燃比フィードバック補正係数値ＬＡＭＢＤＡが、空燃比フィードバック補正係数値ＬＡＭＢＤＡＯの９割よりも大きい（ＮＯ）場合には、小さくなるまで（ＹＥＳ）Ｓ８０２の動作を繰り返し行い、９割以下になった（ＹＥＳ）場合には、Ｓ８０４へ移行する。
【０１１６】
Ｓ８０４では、デューティ値増加入力手段９０によりデューティ値の増加入力を開始した時点からＳ８０３にてＹＥＳと判定されるまで、すなわち空燃比フィードバック補正係数値ＬＡＭＢＤＡが、空燃比フィードバック補正係数値ＬＡＭＢＤＡＯの９割以下になるまでの時間Ｔ９が計測される。
【０１１７】
Ｓ８０５以降では、Ｓ８０２からＳ８０４までと同様の制御により空燃比フィードバック補正係数値ＬＡＭＢＤＡが、空燃比フィードバック補正係数値ＬＡＭＢＤＡＯの８割となるまでの時間Ｔ８が計測される。
【０１１８】
そして、Ｓ８０８以降にて、第１の実施の形態におけるＳ２０８からＳ２１０と同様に、無効デューティ値ＤＴ０が算出され、最終デューティ値ＤＵＴＹが算出される。
【０１１９】
したがって、直接計測した空燃比を用いることにより無効デューティ値ＤＴ０を精度良く算出学習することができ、また、平均値ＮＬＡＭを用いる必要がないので算出学習時間を短縮することができる。これにより、デューティソレノイドバルブ４４の流量特性の変化をより早く学習することができ、正確なエバポパージ制御を行うことが可能となる。
【０１２０】
【発明の効果】
以上説明したように、本発明にかかるエンジンの蒸発燃料パージ制御装置によれば、パージバルブの無効デューティ値を算出し学習することができる。これにより、パージバルブが個々に有しかつ使用状況に応じて変化する流量特性を正確に把握することができ、正確なエバポパージ制御を行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態にかかるエンジンの蒸発燃料パージ制御装置が用いられるエンジン装置の概略構成図である。
【図２】ＥＣＵの内部構成を示す構成説明図である。
【図３】本発明の第１の実施の形態の機能ブロック図である。
【図４】エンジン動作状態及びデューティソレノイドバルブが正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かを判定する学習実行判定ルーチンを示すフローチャートである。
【図５】無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【図６】図５のルーチンによって変化する空燃比フィードバック補正係数値ＬＡＭＢＤＡ及びその平均値ＮＬＡＭと入力デューティ値との関係を時間ｔを用いて示した概略説明図である。
【図７】第２の実施の形態におけるエンジン装置を示した概略説明図である。
【図８】第２の実施の形態における機能ブロック図である。
【図９】第２の実施の形態において、エンジン動作状態及びデューティソレノイドバルブが正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かを判定する学習実行判定ルーチンを示すフローチャートである。
【図１０】第２の実施の形態において、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【図１１】第３の実施の形態において、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【図１２】第４の実施の形態において、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【図１３】第５の実施の形態において、エンジン動作状態及びデューティソレノイドバルブが正確な無効デューティ値ＤＴ０を得ることができる状態にあるか否かを判定する学習実行判定ルーチンを示すフローチャートである。
【図１４】第５の実施の形態において、無効デューティ値ＤＴ０を算出学習し、最終デューティ値ＤＵＴＹを得るための制御ルーチンを示すフローチャートである。
【図１５】デューティソレノイドバルブに入力される入力デューティ値とデューティソレノイドバルブのバルブ開度との関係を示したデューティソレノイドバルブの流量特性を示すグラフである。
【図１６】従来のエバポパージ制御装置の機能ブロック図である。
【符号の説明】
１０ エンジン
２０ 吸気通路
２３ スロットル弁
３２ 空燃比センサ（Ｏ２センサ）
４０ 燃料タンク
４２ キャニスタ
４３ パージ通路
４４ デューティソレノイドバルブ（パージバルブ）
６０ 目標デューティ値算出手段
７０ 最終デューティ値算出手段
８０ 無効デューティ値算出手段
８１ タイマ手段
８２ 空燃比フィードバック制御手段
８３ 無効デューティ値学習手段
９０ デューティ値増加入力手段
【図１】
0003872861.tif 000002
【図２】
0003872861.tif 000003
【図３】
0003872861.tif 000004
【図４】
0003872861.tif 000005
【図５】
0003872861.tif 000006
【図６】
0003872861.tif 000007
【図７】
0003872861.tif 000008
【図８】
0003872861.tif 000009
【図９】
0003872861.tif 000010
【図１０】
0003872861.tif 000011
【図１１】
0003872861.tif 000012
【図１２】
0003872861.tif 000013
【図１３】
0003872861.tif 000014
【図１４】
0003872861.tif 000015
【図１５】
0003872861.tif 000016
【図１６】
0003872861.tif 000017