JP3972922B2 - 内燃機関の蒸発燃料処理装置 - Google Patents
内燃機関の蒸発燃料処理装置 Download PDFInfo
- Publication number
- JP3972922B2 JP3972922B2 JP2004144061A JP2004144061A JP3972922B2 JP 3972922 B2 JP3972922 B2 JP 3972922B2 JP 2004144061 A JP2004144061 A JP 2004144061A JP 2004144061 A JP2004144061 A JP 2004144061A JP 3972922 B2 JP3972922 B2 JP 3972922B2
- Authority
- JP
- Japan
- Prior art keywords
- purge
- fuel
- vapor concentration
- vapor
- air
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Supplying Secondary Fuel Or The Like To Fuel, Air Or Fuel-Air Mixtures (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
本発明は内燃機関の蒸発燃料処理装置に関する。
燃料タンク内で発生する蒸発燃料を一時的に蓄えるキャニスタと、キャニスタから吸気通路内にパージされる燃料ベーパのパージ量を制御するパージ制御弁とを具備した内燃機関において、キャニスタに吸着されている蒸発燃料量とパージ作用が行われたときの吸気通路内におけるベーパ濃度との関係を予め記憶しておき、空燃比のずれ量からパージ開始直後における初期ベーパ濃度を求めると共にこの初期ベーパ濃度から上述の予め記憶された関係を用いてキャニスタの初期蒸発燃料吸着量を求め、次いで初期ベーパ濃度から単位時間当りのキャニスタ蒸発燃料吸着量の減少量を求め、次いで減少したキャニスタ蒸発燃料吸着量から上記予め記憶された関係を用いてベーパ濃度を予測し、予測されたベーパ濃度から再び単位時間当りのキャニスタ蒸発燃料吸着量の減少量を求め、次いで減少したキャニスタ蒸発燃料吸着量から上記予め記憶された関係を用いて再びベーパ濃度を予測し、予測されたベーパ濃度に基づいて空燃比が目標空燃比となるように供給燃料量を補正するようにした内燃機関が公知である(特許文献1参照)。
即ち、過渡運転時にはベーパ濃度が変化しないのに空燃比が変動することがある。ところが空燃比のずれ量に基づいてベーパ濃度を算出しているとこのような場合にもベーパ濃度が変化したと判断され、このときベーパ濃度が更新されると逆に空燃比が変動することになる。そこで上述の内燃機関ではパージ作用が開始された後はキャニスタ蒸発燃料吸着量が徐々に減少していくとの前提に立ち、この前提をもとにベーパ濃度は時間の経過と共に減少するものと予測し、この予測されたベーパ濃度に基づき燃料噴射量を補正することにより空燃比が変動するのを抑制するようにしている。
しかしながら例えば燃料温が高いときに一時的にパージが停止されるとこの間に多量の蒸発燃料がキャニスタに吸着され、斯くしてキャニスタ蒸発燃料吸着量は増大することになる。しかしながら上述の内燃機関ではこのような場合でもキャニスタ蒸発燃料吸着量は徐々に減少するものとされ、ベーパ濃度の予測値も徐々に減少せしめられるのでパージが再開されたときにベーパ濃度の予測値が実際のベーパ濃度に対して大巾にずれ、斯くして空燃比が大巾に変動するという問題を生ずる。
上記問題点を解決するために本発明では、燃料タンクの上部空間と吸気通路とを連結する燃料ベーパのパージ通路と、パージ通路内に配置されたパージ制御弁と、空燃比を検出するための空燃比検出手段と、空燃比検出手段により検出された空燃比に基づいて空燃比が目標空燃比となるように供給燃料量を制御する第1の供給燃料量補正手段と、目標空燃比に対する空燃比のずれ量から吸気通路内に供給された燃料ベーパのベーパ濃度を算出するベーパ濃度算出手段と、ベーパ濃度に基づいて空燃比が目標空燃比となるように供給燃料量を補正する第2の供給燃料量補正手段とを具備した内燃機関の蒸発燃料処理装置において、燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内におけるパージ作用停止中の燃料ベーパのベーパ濃度変化を検出する濃度変化検出手段を具備し、第2の供給燃料量補正手段はベーパ濃度変化に応じてパージ再開直後の空燃比が目標空燃比となるようにベーパ濃度算出手段により算出されたベーパ濃度を補正し、パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはベーパ濃度算出手段により算出されたベーパ濃度を増大させるようにしている。
更に、本発明によれば、燃料タンクの上部空間と吸気通路とを連結する燃料ベーパのパージ通路と、パージ通路内に配置されたパージ制御弁と、空燃比を検出するための空燃比検出手段と、空燃比検出手段により検出された空燃比に基づいて空燃比が目標空燃比となるように供給燃料量を制御する第1の供給燃料量補正手段と、目標空燃比に対する空燃比のずれ量から吸気通路内に供給された燃料ベーパのベーパ濃度を算出するベーパ濃度算出手段と、ベーパ濃度に基づいて空燃比が目標空燃比となるように供給燃料量を補正する第2の供給燃料量補正手段とを具備した内燃機関の蒸発燃料処理装置において、燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内におけるパージ作用停止中の燃料ベーパのベーパ濃度変化を検出する濃度変化検出手段を具備し、第1の供給燃料量補正手段は空燃比検出手段により検出された空燃比に応じて変化するフィードバック補正係数により空燃比が目標空燃比となるように供給燃料量を制御し、更に第1の供給燃料量補正手段はベーパ濃度変化に応じてパージ再開直後の空燃比が目標空燃比となるようにパージ再開時のフィードバック補正係数の値を制御し、パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはパージ再開時にフィードバック補正係数の値を予め定められた修正量だけ減少させるようにしている。
パージ作用が一時的に停止され、その後パージ作用が再開されるときに空燃比が変動するのを阻止することができる。
図1を参照すると、1は機関本体、2は吸気枝管、3は排気マニホルド、4は各吸気枝管2に夫々取付けられた燃料噴射弁を示す。各吸気枝管2は共通のサージタンク5に連結され、このサージタンク5は吸気ダクト6およびエアフローメータ7を介してエアクリーナ8に連結される。吸気ダクト6内にはスロットル弁9が配置される。また、図1に示されるように内燃機関は活性炭10を内蔵したキャニスタ11を具備する。このキャニスタ11は活性炭10の両側に夫々燃料蒸気室12と大気室13とを有する。燃料蒸気室12は一方では導管14を介して燃料タンク15の上部空間に連結され、他方では導管16を介してサージタンク5内に連結される。導管16内には電子制御ユニット20の出力信号に制御されるパージ制御弁17が配置される。燃料タンク15内で発生した燃料蒸気は導管14を介してキャニスタ11内に送り込まれて活性炭10に吸着される。パージ制御弁17が開弁すると空気が大気室13から活性炭10内を通って導管16内に送り込まれる。空気が活性炭10内を通過する際に活性炭10に吸着されている燃料蒸気が活性炭10から脱離され、斯くして燃料蒸気を含んだ空気、即ち燃料ベーパが導管16を介してサージタンク5内にパージされる。
電子制御ユニット20はディジタルコンピュータからなり、双方向性バス21によって相互に接続されたROM(リードオンリメモリ)22、RAM(ランダムアクセスメモリ)23、CPU(マイクロプロセッサ)24、入力ポート25および出力ポート26を具備する。エアフローメータ7は吸入空気量に比例した出力電圧を発生し、この出力電圧が対応するAD変換器27を介して入力ポート25に入力される。スロットル弁9にはスロットル弁9がアイドリング開度のときにオンとなるスロットルスイッチ28が取付けられ、このスロットルスイッチ28の出力信号が入力ポート25に入力される。機関本体1には機関冷却水温に比例した出力電圧を発生する水温センサ29が取付けられ、この水温センサ29の出力電圧が対応するAD変換器27を介して入力ポート25に入力される。排気マニホルド3には空燃比センサ30が取付けられ、この空燃比センサ30の出力信号が対応するAD変換器27を介して入力ポート25に入力される。
また、燃料蒸気室12は導管31を介して圧力センサ32に連結され、この圧力センサ32によって燃料蒸気室12内の圧力が検出される。この圧力センサ32は燃料蒸気室12内の圧力、即ち燃料タンク15の上部空間又は燃料タンク15の上部空間からパージ制御弁17に至る導管16の圧力に比例した出力電圧を発生し、この出力電圧は対応するAD変換器27を介して入力ポート25に入力される。更に入力ポート25にはクランクシャフトが例えば30度回転する毎に出力パルスを発生するクランク角センサ33が接続される。CPU24ではこの出力パルスに基づいて機関回転数が算出される。一方、出力ポート26は夫々対応する駆動回路34を介して燃料噴射弁4およびパージ制御弁17に接続される。
図1に示す内燃機関では基本的には次式に基づいて燃料噴射時間TAUが算出される。
TAU=TP・FW・(FAF+KGj−FPG)
ここで各係数は次のものを表わしている。
TP:基本燃料噴射時間
FW:補正係数
FAF:フィードバック補正係数
KGj:空燃比の学習係数
FPG:パージ空燃比補正係数(以下、パージA/F補正係数と称する)
基本燃料噴射時間TPは空燃比を目標空燃比とするのに必要な実験により求められた噴射時間であってこの基本燃料噴射時間TPは機関負荷Q/N(吸入空気量Q/機関回転数N)および機関回転数Nの関数として予めROM22内に記憶されている。
TAU=TP・FW・(FAF+KGj−FPG)
ここで各係数は次のものを表わしている。
TP:基本燃料噴射時間
FW:補正係数
FAF:フィードバック補正係数
KGj:空燃比の学習係数
FPG:パージ空燃比補正係数(以下、パージA/F補正係数と称する)
基本燃料噴射時間TPは空燃比を目標空燃比とするのに必要な実験により求められた噴射時間であってこの基本燃料噴射時間TPは機関負荷Q/N(吸入空気量Q/機関回転数N)および機関回転数Nの関数として予めROM22内に記憶されている。
補正係数FWは暖機増量係数や加速増量係数を一まとめにして表わしたもので増量補正する必要がないときにはFW=1.0となる。
フィードバック補正係数FAFは空燃比センサ30の出力信号に基づいて空燃比を目標空燃比に制御するために設けられている。
パージA/F補正係数FPGは機関の運転が開始されてからパージが開始されるまでの間はFPG=0とされ、パージ作用が開始されると燃料ベーパ濃度が高くなるほど大きくなる。なお、機関運転中においてパージ作用が一時的に停止されたときはパージ作用の停止期間中、FPG=0とされる。
フィードバック補正係数FAFは空燃比センサ30の出力信号に基づいて空燃比を目標空燃比に制御するために設けられている。
パージA/F補正係数FPGは機関の運転が開始されてからパージが開始されるまでの間はFPG=0とされ、パージ作用が開始されると燃料ベーパ濃度が高くなるほど大きくなる。なお、機関運転中においてパージ作用が一時的に停止されたときはパージ作用の停止期間中、FPG=0とされる。
ところで上述したようにフィードバック補正係数FAFは空燃比センサ30の出力信号に基づいて空燃比を目標空燃比に制御するためのものである。この場合、目標空燃比としてはどのような空燃比を用いてもよいが図1に示す実施例では目標空燃比が理論空燃比とされており、従って以下目標空燃比を理論空燃比とした場合について説明する。なお、目標空燃比が理論空燃比であるときには空燃比センサ30として排気ガス中の酸素濃度に応じ出力電圧が変化するセンサが使用され、従って以下空燃比センサ30をO2 センサと称する。このO2 センサ30は空燃比が過濃側のとき、即ちリッチのとき0.9(V)程度の出力電圧を発生し、空燃比が希薄側のとき、即ちリーンのとき0.1(V)程度の出力電圧を発生する。
図2は空燃比が目標空燃比に維持されているときのO2 センサ30の出力電圧Vとフィードバック補正係数FAFとの関係を示している。図2に示されるようにO2 センサ30の出力電圧Vが基準電圧、例えば0.45(V)よりも高くなると、即ち空燃比がリッチになるとフィードバック補正係数FAFはスキップ量Sだけ急激に低下せしめられ、次いで積分定数Kでもって徐々に減少せしめられる。これに対してO2 センサ30の出力電圧Vが基準電圧よりも低くなると、即ち空燃比がリーンになるとフィードバック補正係数FAFはスキップ量Sだけ急激に増大せしめられ、次いで積分定数Kでもって徐々に増大せしめられる。
即ち、空燃比がリッチになるとフィードバック補正係数FAFが減少せしめられるので燃料噴射量が減少せしめられ、空燃比がリーンになるとフィードバック補正係数FAFが増大せしめられるために燃料噴射量が増大せしめられ、斯くして空燃比が理論空燃比に制御されることになる。図2に示されるようにこのときフィードバック補正係数FAFは基準値、即ち1.0を中心として上下動する。
また、図2においてFAFLは空燃比がリーンからリッチになったときのフィードバック補正係数FAFの値を示しており、FAFRは空燃比がリッチからリーンになったときのフィードバック補正係数FAFの値を示している。本発明による実施例ではフィードバック補正係数FAFの変動平均値(以下、単に平均値という)としてこれらFAFLとFAFRとの平均値が用いられている。
図3はパージ作用の概略を示している。なお、図3においてPGRは燃料ベーパのパージ率を示している。図3に示されるように本発明による実施例では機関の運転開始後、初めてパージ作用が開始されたときにはパージ率PGRは零から徐々に増大せしめられ、パージ率PGRが一定値、例えば6パーセントに達するとその後はパージ率PGRが目標パージ率に維持される。
次いで例えば減速運転時に燃料の供給が停止されたような場合にはXで示されるようにパージ率PGRが一時的に零にされる。次いでパージ作用が停止される直前のパージ率PGRでもってパージ作用が再開される。
次に図4を参照しつつ燃料ベーパ濃度の学習方法について説明する。
燃料ベーパ濃度の学習は単位パージ率当りのベーパ濃度を正確に求めることから始まる。この単位パージ率当りのベーパ濃度が図4においてFGPGで示されている。パージA/F補正係数FPGはFGPGにパージ率PGRを乗算することによって得られる。
次に図4を参照しつつ燃料ベーパ濃度の学習方法について説明する。
燃料ベーパ濃度の学習は単位パージ率当りのベーパ濃度を正確に求めることから始まる。この単位パージ率当りのベーパ濃度が図4においてFGPGで示されている。パージA/F補正係数FPGはFGPGにパージ率PGRを乗算することによって得られる。
単位パージ率当りのベーパ濃度FGPGはフィードバック補正係数FAFがスキップ(図2のS)する毎に次式に基づいて算出される。
tFG=(1−FAFAV)/(PGR・a)
FGPG=FGPG+tFG
ここでtFGはFAFのスキップ毎に行われるFGPGの更新量を示しており、FAFAVはフィードバック補正係数の平均値(=(FAFL+FAFR)/2)を示しており、本発明による実施例ではaは2に設定されている。
tFG=(1−FAFAV)/(PGR・a)
FGPG=FGPG+tFG
ここでtFGはFAFのスキップ毎に行われるFGPGの更新量を示しており、FAFAVはフィードバック補正係数の平均値(=(FAFL+FAFR)/2)を示しており、本発明による実施例ではaは2に設定されている。
即ち、パージが開始されると空燃比がリッチとなるために空燃比を理論空燃比とすべくフィードバック補正係数FAFが小さくなる。次いで時刻t1 においてO2 センサ31により空燃比がリッチからリーンに切替ったと判断されるとフィードバック補正係数FAFは増大せしめられる。この場合、パージが開始されてから時刻t1 に至るまでのフィードバック補正係数FAFの変化量ΔFAF(ΔFAF=(1.0−FAF))はパージ作用による空燃比の変動量を表しており、この変動量ΔFAFは時刻t1 における燃料ベーパ濃度を表わしている。
時刻t1 に達すると空燃比は理論空燃比に維持され、その後空燃比が理論空燃比からずれないようにフィードバック補正係数の平均値FAFAVを1.0まで戻すために単位パージ率当りのベーパ濃度FGPGがフィードバック補正係数FAFのスキップ毎に徐々に更新される。このときのFGPGの一回当りの更新量tFGは1.0に対するフィードバック補正係数の平均値FAFAVのずれ量の半分とされ、従ってこの更新量tFGは上述した如くtFG=(1−FAFAV)/(PGR・2)となる。
図4に示されるようにFGPGの更新作用が数回繰返されるとフィードバック補正係数の平均値FAFAVは1.0に戻り、その後は単位パージ率当りのベーパ濃度FGPGは一定となる。このようにFGPGが一定になるということはこのときのFGPGが単位パージ率当りのベーパ濃度を正確に表わしていることを意味しており、従ってベーパ濃度の学習が完了したことを意味している。一方、実際の燃料ベーパ濃度は単位パージ率当りのベーパ濃度FGPGにパージ率PGRを乗算した値となる。従って実際の燃料ベーパ濃度を表わすパージA/F補正係数FPG(=FGPG・PGR)は図4に示されるようにFGPGが更新される毎に更新され、パージ率PGRが増大するにつれて増大する。
パージ開始後におけるベーパ濃度の学習が一旦完了した後においてもベーパ濃度が変化すればフィードバック補正係数FAFは1.0からずれ、このときにも上述のtFG(=(1−FAFAV)/(PGR・a))を用いてFGPGの更新量が算出される。
次に図5および図6を参照しつつパージ制御ルーチンについて説明する。なお、このルーチンは一定時間毎の割込みによって実行される。
次に図5および図6を参照しつつパージ制御ルーチンについて説明する。なお、このルーチンは一定時間毎の割込みによって実行される。
図5および図6を参照するとまず初めにステップ50においてパージ制御弁17の駆動パルスのデューティ比の計算時期か否かが判別される。本発明による実施例ではデューティ比の計算は100msec毎に行われる。デューティ比の計算時期でないときにはステップ63にジャンプしてパージ制御弁17の駆動処理が実行される。これに対してデューティ比の計算時期であるときにはステップ51に進んでパージ条件1が成立しているか否か、例えば暖機が完了したか否かが判別される。パージ条件1が成立していないときにはステップ64に進んで初期化処理が行われ、次いでステップ65ではデューティ比DPGおよびパージ率PGRが零とされる。これに対してパージ条件1が成立しているときにはステップ52に進んでパージ条件2が成立しているか否か、例えば空燃比のフィードバック制御が行われているか否かおよび燃料の供給が停止されていないか否かが判別される。パージ条件2が成立していないときにはステップ65に進み、パージ条件2が成立しているときにはステップ53に進む。
ステップ53では全開パージ量PGQと吸入空気量QAとの比である全開パージ率PG100(=(PGQ/QA)・100)が算出される。ここで全開パージ量PGQはパージ制御弁17を全開にしたときのパージ量を表わしている。全開パージ率PG100は例えば機関負荷Q/N(吸入空気量QA/機関回転数N)と機関回転数Nの関数であって予め実験により求められており、下表に示すようなマップの形で予めROM22内に記憶されている。
機関負荷Q/Nが低くなるほど吸入空気量QAに対する全開パージ量PGQは大きくなるので表1に示されるように全開パージ率PG100は機関負荷Q/Nが低くなるほど大きくなり、また機関回転数Nが低くなるほど吸入空気量QAに対する全開パージ量PGQは大きくなるので表1に示されるように全開パージ率PG100は機関回転数Nが低くなるほど大きくなる。
次いでステップ54ではフィードバック補正係数FAFが上限値KFAF15(=1.15)と下限値KFAF85(=0.85)との間にあるか否かが判別される。KFAF15>FAF>KFAF85のときには、即ち空燃比が理論空燃比にフィードバック制御されているときにはステップ55に進んでパージ率PGRが零であるか否かが判別される。既にパージ作用が行われているときにはPGR>0であるのでこのときにはステップ57にジャンプする。これに対してまだパージ作用が開始されていないときにはステップ56に進んでパージ率PGROが再開パージ率PGRとされる。機関の運転が開始されてから初めてパージ条件1およびパージ条件2が成立したときには初期化処理(ステップ64)によりパージ率PGROは零とされているのでこのときにはPGR=0となる。これに対してパージ作用が一旦中止され、その後パージ制御が再開されたときにはパージ制御が中止される直前のパージ率PGROが再開パージ率PGRとされる。
次いでステップ57ではパージ率PGRに一定値KPGRuを加算することによって目標パージ率tPGR(=PGR+KPGRu)が算出される。即ち、KFAF15>FAF>KFAF85のときには目標パージ率tPGRが100msec毎に徐々に増大せしめられることがわかる。なお、この目標パージ率tPGRに対しては上限値P(Pは例えば6%)が設定されており、従って目標パージ率tPGRは上限値Pまでしか上昇できない。次いでステップ59に進む。
一方、ステップ54においてFAF≧KFAF15であるか又はFAF≦KFAF85であると判別されたときにはステップ58に進み、パージ率PGRから一定値KPGRdを減算することによって目標パージ率tPGR(=PGR−KPGRd)が算出される。即ち、燃料ベーパのパージ作用により空燃比を理論空燃比に維持しえないときには目標パージ率tPGRが減少せしめられる。なお、目標パージ率tPGRに対しては下限値S(S=0%)が設定されている。次いでステップ59に進む。
ステップ59では目標パージ率tPGRを全開パージ率PG100により除算することによってパージ制御弁17の駆動パルスのデューティ比DPG(=(tPGR/PG100)・100)が算出される。従ってパージ制御弁17の駆動パルスのデューティ比DPG、即ちパージ制御弁17の開弁量は全開パージ率PG100に対する目標パージ率tPGRの割合に応じて制御されることになる。このようにパージ制御弁17の開弁量を全開パージ率PG100に対する目標パージ率tPGRの割合に応じて制御すると目標パージ率tPGRがどのようなパージ率であったとしても機関の運転状態にかかわらず実際のパージ率が目標パージ率に維持される。
例えば今、目標パージ率tPGRが2%であり、現在の運転状態における全開パージ率PG100が10%であったとすると駆動パルスのデューティ比DPGは20%となり、このときの実際のパージ率は2%となる。次いで運転状態が変化し、変化後の運転状態における全開パージ率PG100が5%になったとすると駆動パルスのデューティ比DPGは40%となり、このときの実際のパージ率は2%となる。即ち、目標パージ率tPGRが2%であれば機関の運転状態にかかわらずに実際のパージ率は2%となり、目標パージ率tPGRが変化して4%になれば機関の運転状態にかかわらずに実際のパージ率は4%に維持される。
次いでステップ60では全開パージ率PG100にデューティ比DPGを乗算することによって実際のパージ率PGR(=PG100・(DPG/100))が算出される。即ち、前述したようにデューティ比DPGは(tPGR/PG100)・100で表わされ、この場合目標パージ率tPGRが全開パージ率PG100よりも大きくなるとデューティ比DPGは100%以上となる。しかしながらデューティ比DPGは100%以上にはなりえず、このときデューティ比DPGは100%とされるために実際のパージ率PGRは目標パージ率tPGRよりも小さくなる。従って実際のパージ率PGRは上述した如くPG100・(DPG/100)で表わされることになる。
次いでステップ61ではデューティ比DPGがDPGOとされ、パージ率PGRがPGROとされる。次いでステップ62ではパージが開始されてからの時間を表しているパージ実行時間カウンタCPGRが1だけインクリメントされる。次いでステップ63においてパージ制御弁17の駆動処理が行われる。この駆動処理は図7に示されており、従って次に図7に示す駆動処理について説明する。
図7を参照するとまず初めにステップ66においてデューティ比の出力周期か否か、即ちパージ制御弁17の駆動パルスの立上り周期であるか否かが判別される。このデューティ比の出力周期は100msecである。デューティ比の出力周期であるときにはステップ67に進んでデューティ比DPGが零であるか否かが判別される。DPG=0のときにはステップ71に進んでパージ制御弁17の駆動パルスYEVPがオフとされる。これに対してDPG=0でないときにはステップ68に進んでパージ制御弁17の駆動パルスYEVPがオンにされる。次いでステップ69では現在の時刻TIMERにデューティ比DPGを加算することによって駆動パルスのオフ時刻TDPG(=DPG+TIMER)が算出される。
一方、ステップ66においてデューティ比の出力周期ではないと判別されたときにはステップ70に進んで現在の時刻TIMERが駆動パルスのオフ時刻TDPGであるか否かが判別される。TDPG=TIMERになるとステップ71に進んで駆動パルスYEVPがオフとされる。
次に図8に示すフィードバック補正係数FAFの算出ルーチンについて説明する。このルーチンは例えば一定時間毎の割込みによって実行される。
次に図8に示すフィードバック補正係数FAFの算出ルーチンについて説明する。このルーチンは例えば一定時間毎の割込みによって実行される。
図8を参照するとまず初めにステップ100において空燃比のフィードバック制御条件が成立しているか否かが判別される。フィードバック制御条件が成立していないときにはステップ113に進んでフィードバック補正係数FAFが1.0に固定され、次いでステップ114においてフィードバック補正係数の平均値FAFAVが1.0に固定される。次いでステップ112に進む。これに対してフィードバック制御条件が成立しているときにはステップ101に進む。
ステップ101ではO2 センサ31の出力電圧Vが0.45(V)よりも高いか否か、即ちリッチであるか否かが判別される。V≧0.45(V)のとき、即ちリッチのときにはステップ102に進んで前回の処理サイクル時にリーンであったか否かが判別される。前回の処理サイクル時にリーンのとき、即ちリーンからリッチに変化したときにはステップ103に進んでフィードバック補正係数FAFがFAFLとされ、ステップ104に進む。ステップ104ではフィードバック補正係数FAFからスキップ値Sが減算され、従って図2に示されるようにフィードバック補正係数FAFはスキップ値Sだけ急激に減少せしめられる。次いでステップ105ではFAFLとFAFRの平均値FAFAVが算出される。次いでステップ106ではスキップフラグがセットされる。次いでステップ112に進む。一方、ステップ102において前回の処理サイクル時にはリッチであったと判別されたときはステップ107に進んでフィードバック補正係数FAFから積分値K(K≪S)が減算され、次いで112に進む。従って図2に示されるようにフィードバック補正係数FAFは徐々に減少せしめられる。
一方、ステップ101においてV<0.45(V)であると判断されたとき、即ちリーンのときにはステップ108に進んで前回の処理サイクル時にリッチであったか否かが判別される。前回の処理サイクル時にリッチのとき、即ちリッチからリーンに変化したときにはステップ109に進んでフィードバック補正係数FAFがFAFRとされ、ステップ110に進む。ステップ110ではフィードバック補正係数FAFにスキップ値Sが加算され、従って図2に示されるようにフィードバック補正係数FAFはスキップ値Sだけ急激に増大せしめられる。次いでステップ105ではFAFLとFAFRの平均値FAFAVが算出される。一方、ステップ108において前回の処理サイクル時にはリーンであったと判別されたときはステップ111に進んでフィードバック補正係数FAFに積分値Kが加算される。従って図2に示されるようにフィードバック補正係数FAFは徐々に増大せしめられる。
ステップ112ではフィードバック補正係数FAFが変動許容範囲の上限1.2と下限0.8によりガードされる。即ち、FAFが1.2よりも大きくならず、0.8よりも小さくならないようにFAFの値がガードされる。上述したように空燃比がリッチとなってFAFが小さくなると燃料噴射時間TAUが短かくなり、空燃比がリーンとなってFAFが大きくなると燃料噴射時間TAUが長くなるので空燃比が理論空燃比が維持されることになる。
図8に示すフィードバック補正係数FAFの算出ルーチンが完了すると図9に示される空燃比の学習ルーチンに進む。
図9を参照するとまず初めにステップ120において空燃比の学習条件が成立しているか否かが判別される。空燃比の学習条件が成立していないときにはステップ128にジャンプし、空燃比の学習条件が成立しているときにはステップ121に進む。ステップ121ではスキップフラグがセットされているか否かが判別され、スキップフラグがセットされていないときにはステップ128にジャンプする。これに対してスキップフラグがセットされているときにはステップ122に進んでスキップフラグがリセットされ、次いでステップ123に進む。即ち、フィードバック補正係数FAFがスキップせしめられる毎にステップ123に進むことになる。
図9を参照するとまず初めにステップ120において空燃比の学習条件が成立しているか否かが判別される。空燃比の学習条件が成立していないときにはステップ128にジャンプし、空燃比の学習条件が成立しているときにはステップ121に進む。ステップ121ではスキップフラグがセットされているか否かが判別され、スキップフラグがセットされていないときにはステップ128にジャンプする。これに対してスキップフラグがセットされているときにはステップ122に進んでスキップフラグがリセットされ、次いでステップ123に進む。即ち、フィードバック補正係数FAFがスキップせしめられる毎にステップ123に進むことになる。
ステップ123ではパージ率PGRが零であるか否か、即ちパージ作用が行われているか否かが判別される。パージ率PGRが零でないとき、即ちパージ作用が行われているときには図10に示されるベーパ濃度の学習ルーチンへ進む。これに対してパージ率PGRが零のとき、即ちパージ作用が行われていないときにはステップ124に進んで空燃比の学習が行われる。
即ち、まず初めにステップ124においてフィードバック補正係数の平均値FAFAVが1.02よりも大きいか否かが判別される。FAFAV≧1.02のときにはステップ127に進んで学習領域jに対する空燃比の学習値KGjに一定値Xが加算される。即ち、本発明による実施例では機関負荷に応じて複数個の学習領域jが予め定められており、各学習領域jに対して夫々空燃比の学習値KGjが設けられている。従ってステップ127では機関負荷に応じた学習領域jの空燃比の学習値KGjが更新される。次いでステップ128に進む。
一方、ステップ124においてFAFAV<1.02であると判別されたときにはステップ125に進んでフィードバック補正係数の平均値FAFAVが0.98よりも小さいか否かが判別される。FAFAV≦0.98のときにはステップ126に進んで機関負荷に応じた学習領域jの空燃比の学習値KGjから一定値Xが減算される。一方、ステップ125においてFAFAV>0.98であると判別されたとき、即ちFAFAVが0.98と1.02との間にあるときには空燃比の学習値KGjを更新することなくステップ128にジャンプする。
ステップ128およびステップ129ではベーパ濃度を学習するための初期化処理が行われる。即ち、ステップ128では機関始動中であるか否かが判別され、機関始動中のときにはステップ129に進んで単位パージ率当りのベーパ濃度FGPGが零とされ、パージ実行時間カウント値CPGRがクリアされる。次いで図11に示される燃料噴射時間の算出ルーチンに進む。一方、始動時でない場合には図11に示される燃料噴射時間の算出ルーチンに直接進む。
上述したようにステップ123においてパージ作用が行われていると判断されたときには図10に示されるベーパ濃度の学習ルーチンに進む。次にこのベーパ濃度の学習ルーチンについて説明する。
図10を参照すると、まず初めにステップ130において、フィードバック補正係数の平均値FAFAVが一定範囲内にあるか否か、即ち1.02>FAFAV>0.98であるか否かが判別される。フィードバック補正係数の平均値FAFAVが設定範囲内にあるとき、即ち1.02>FAFAV>0.98であるときにはステップ132に進んで単位パージ率当りのパージ濃度FGPGの更新量tFGが零とされ、次いでステップ133に進む。従ってこのときにはベーパ濃度FGPGは更新されない。
図10を参照すると、まず初めにステップ130において、フィードバック補正係数の平均値FAFAVが一定範囲内にあるか否か、即ち1.02>FAFAV>0.98であるか否かが判別される。フィードバック補正係数の平均値FAFAVが設定範囲内にあるとき、即ち1.02>FAFAV>0.98であるときにはステップ132に進んで単位パージ率当りのパージ濃度FGPGの更新量tFGが零とされ、次いでステップ133に進む。従ってこのときにはベーパ濃度FGPGは更新されない。
一方、ステップ130においてフィードバック補正係数の平均値FAFAVが一定範囲を越えていると判断されたとき、即ちFAFAV≧1.02であるか又はFAFAV≦0.98であるときにはステップ131に進んで次式に基づきベーパ濃度FGPGの更新量tFGが算出される。
tFG=(1.0−FAFAV)/PGR・a
ここでaは2である。即ちフィードバック補正係数の平均値FAFAVが設定範囲(0.98と1.02との間)を越えると1.0に対するFAFAVのずれ量の半分が更新量tFGとされる。次いでステップ133に進む。ステップ133ではベーパ濃度FGPGに更新量tFGが加算される。次いでステップ134ではベーパ濃度FGPGの更新回数を表している更新回数カウンタCFGPGが1だけインクリメントされる。次いで図11に示される燃料噴射時間の算出ルーチンに進む。
tFG=(1.0−FAFAV)/PGR・a
ここでaは2である。即ちフィードバック補正係数の平均値FAFAVが設定範囲(0.98と1.02との間)を越えると1.0に対するFAFAVのずれ量の半分が更新量tFGとされる。次いでステップ133に進む。ステップ133ではベーパ濃度FGPGに更新量tFGが加算される。次いでステップ134ではベーパ濃度FGPGの更新回数を表している更新回数カウンタCFGPGが1だけインクリメントされる。次いで図11に示される燃料噴射時間の算出ルーチンに進む。
次に図11に示される燃料噴射時間の算出ルーチンについて説明する。
図11を参照するとまず初めにステップ140において機関負荷Q/Nおよび機関回転数Nに基づき基本燃料噴射時間TPが算出される。次いでステップ141では暖機増量等のための補正係数FWが算出される。次いでステップ142では単位パージ率当りのベーパ濃度FGPGにパージ率PGRを乗算することによってパージA/F補正係数FGR(=FGPG・PGR)が算出される。次いでステップ143では次式に基づいて燃料噴射時間TAUが算出される。
図11を参照するとまず初めにステップ140において機関負荷Q/Nおよび機関回転数Nに基づき基本燃料噴射時間TPが算出される。次いでステップ141では暖機増量等のための補正係数FWが算出される。次いでステップ142では単位パージ率当りのベーパ濃度FGPGにパージ率PGRを乗算することによってパージA/F補正係数FGR(=FGPG・PGR)が算出される。次いでステップ143では次式に基づいて燃料噴射時間TAUが算出される。
TAU=TP・FW・(FAF+KGj−FPG)
ところで前述したように本発明による実施例ではパージ作用中にパージ作用が一時的に停止され、次いでパージ作用が再開される際にはパージ作用が停止される直前のパージ率でもってパージ作用が再開される。この場合、パージ作用が停止される直前の吸気通路内のベーパ濃度とパージが再開されたときの吸気通路内のベーパ濃度とがほぼ同じであればパージ再開時に空燃比は変動することなく、空燃比はただちに目標空燃比に維持される。
ところで前述したように本発明による実施例ではパージ作用中にパージ作用が一時的に停止され、次いでパージ作用が再開される際にはパージ作用が停止される直前のパージ率でもってパージ作用が再開される。この場合、パージ作用が停止される直前の吸気通路内のベーパ濃度とパージが再開されたときの吸気通路内のベーパ濃度とがほぼ同じであればパージ再開時に空燃比は変動することなく、空燃比はただちに目標空燃比に維持される。
ところが例えば燃料タンク15内の燃料温が高いときにパージ作用が停止せしめられるとパージ作用が停止せしめられている間に多量の蒸発燃料が燃料タンク15内に発生し、従ってこの間に多量の蒸発燃料がキャニスタ11の活性炭10に吸着されることになる。このように多量の蒸発燃料が燃料タンク15内に発生し、また多量の蒸発燃料がキャニスタ11の活性炭10に吸着されているときにパージ作用が再開されるとパージ再開時における吸気通路内のベーパ濃度がパージ停止直前における吸気通路内のベーパ濃度に比べてかなり高くなる。この場合、パージ再開時におけるベーパ濃度がパージ停止直前におけるベーパ濃度と同じであるとして燃料供給量を補正すると空燃比が大巾にリッチになってしまうという問題を生ずる。
そこで本発明ではパージ作用が停止されているときに燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度を検出し、パージ作用が停止されているときにこのベーパ濃度が増大したときには燃料噴射時間TAUを算出する際に用いるベーパ濃度による補正値、具体的には単位パージ率当りのベーパ濃度FGPGを増大させるようにしている。
次に図12および図13を参照しつつ具体的に説明する。図12および図13に示す実施例では圧力センサ32により検出された燃料蒸気室12内の圧力PTに基づいてベーパ濃度FGPGが制御される。
図12においてt1 においてパージ作用が停止され、t2 においてパージ作用が再開されたとする。パージ作用が停止される前は図12に示されるように燃料蒸気室12内の圧力PTは負圧となっている。燃料タンク15内の燃料温が低いときには蒸発燃料の発生量は少なく、このときパージ作用が停止されると燃料蒸気室12内の圧力PTは図12において破線で示すようにほぼ大気圧まで上昇する。この場合には図12において破線で示されるようにベーパ濃度FGPGの値は更新されることなくそのまま維持される。
図12においてt1 においてパージ作用が停止され、t2 においてパージ作用が再開されたとする。パージ作用が停止される前は図12に示されるように燃料蒸気室12内の圧力PTは負圧となっている。燃料タンク15内の燃料温が低いときには蒸発燃料の発生量は少なく、このときパージ作用が停止されると燃料蒸気室12内の圧力PTは図12において破線で示すようにほぼ大気圧まで上昇する。この場合には図12において破線で示されるようにベーパ濃度FGPGの値は更新されることなくそのまま維持される。
これに対し燃料タンク15内の燃料温が高いときにパージ作用が停止せしめられると燃料タンク15内にはパージ作用停止中に多量の蒸発燃料が発生し続けるために燃料蒸気室12内の圧力PTは図12において実線で示すように大気圧よりもかなり大きく増大する。そこで図12に示す第1実施例では燃料蒸気室12内の圧力PTが予め定められた設定値KPTを越えたときにはベーパ濃度FGPGを実線で示すように徐々に増大させ、パージ作用が開始されたときには増大されたベーパ濃度FGPGを用いて燃料噴射時間TAUを補正するようにしている。このようにすることによってパージ再開時に空燃比が変動するのを阻止することができる。
図13はベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図13を参照するとまず初めにステップ200においてパージ実行時間カウント値CPGRが一定値K3を越えたた否か、例えば機関運転が開始された後最初にパージが開始されてから3分を経過したか否かが判別される。CPGR≦K3のときには処理ルーチンを完了し、従ってこのときにはベーパ濃度FGPGの更新作用は行われない。即ち、最初にパージが開始されたときにはベーパ濃度FGPGの学習は未だ行われておらず、このとき燃料蒸気室12内の圧力PTに基づきベーパ濃度FGPGを更新しても意味がないのでこのときにはベーパ濃度FGPGの更新作用を禁止するようにしている。一方、最初にパージが開始されてから3分を経過すればベーパ濃度FGPGの学習は完了しているものと考えられ、従ってその後、ベーパ濃度FGPGの更新作用を行うようにしている。
図13を参照するとまず初めにステップ200においてパージ実行時間カウント値CPGRが一定値K3を越えたた否か、例えば機関運転が開始された後最初にパージが開始されてから3分を経過したか否かが判別される。CPGR≦K3のときには処理ルーチンを完了し、従ってこのときにはベーパ濃度FGPGの更新作用は行われない。即ち、最初にパージが開始されたときにはベーパ濃度FGPGの学習は未だ行われておらず、このとき燃料蒸気室12内の圧力PTに基づきベーパ濃度FGPGを更新しても意味がないのでこのときにはベーパ濃度FGPGの更新作用を禁止するようにしている。一方、最初にパージが開始されてから3分を経過すればベーパ濃度FGPGの学習は完了しているものと考えられ、従ってその後、ベーパ濃度FGPGの更新作用を行うようにしている。
即ち、ステップ200においてCPGR>K3であると判別されたときにはステップ201に進んでパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ202に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPT(図12)よりも高いか否かが判別される。PT>KPTのときにはステップ203に進んでベーパ濃度FGPGに一定値ΔKが加算される。従ってこのとき図12に示されるようにベーパ濃度FGPGは徐々に増大せしめられる。
図14および図15に第2実施例を示す。この実施例では燃料蒸気室12内の圧力PTから燃料タンク15内における単位時間当りの蒸発燃料量PVを求め、この蒸発燃料量PVの累積値を求めてこの累積値が予め定められた設定値KDを越えたときにベーパ濃度FGPGを徐々に増大せしめるようにしている。なお、この場合、燃料蒸気室12内の圧力PTと単位時間当りの蒸発燃料量PVとの関係は予め実験により求められており、この関係が図14に示されている。
図15は第2実施例におけるベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図15を参照するとまず初めにステップ300において更新回数カウント値CFGPGが予め定められた設定値K20、例えば20よりも大きいか否かが判別される。CFGPG≦K20のときには処理サイクルを完了する。一方、CFGPG>K20になれば、即ちベーパ濃度FGPGの更新回数がほぼ20回以上になればベーパ濃度FGPGの学習が完了していると判断され、このときにはステップ301に進む。
図15を参照するとまず初めにステップ300において更新回数カウント値CFGPGが予め定められた設定値K20、例えば20よりも大きいか否かが判別される。CFGPG≦K20のときには処理サイクルを完了する。一方、CFGPG>K20になれば、即ちベーパ濃度FGPGの更新回数がほぼ20回以上になればベーパ濃度FGPGの学習が完了していると判断され、このときにはステップ301に進む。
ステップ301ではパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止せしめられているときにはステップ302に進んで燃料蒸気室12内の圧力PTに基づき図14に示す関係から単位時間当りの蒸発燃料量PVが算出される。次いでステップ303では蒸発燃料量PVの累積値ΣPV(=ΣPV+PV)が算出される。次いでステップ304では累積値ΣPVが予め定められた設定値KDよりも大きくなったか否かが判別され、ΣPV≧KDのときにはステップ305に進んでベーパ濃度FGPGに一定値ΔKが加算される。従ってΣPV≧KDである間、ベーパ濃度FGPGが徐々に増大せしめられる。一方、ステップ301においてパージ率PGR>0であると判断されたときにはステップ306に進んで累積値ΣPVが零とされる。
図16および図17に第3実施例を示す。この実施例では燃料タンク15内における蒸発燃料量TVとベーパ濃度FGPGとの関係を予め実験により求めておき、この関係に基づいてベーパ濃度FGPGを求めるようにしている。図16に燃料タンク15内における蒸発燃料量TVとベーパ濃度FGPGとの関係を示す。
図17は第3実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。 図17を参照するとまず初めにステップ400においてパージ時間実行カウント値CPGRが設定値K3よりも大きいか否か、即ち機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR≦K3のときには処理サイクルを完了する。これに対しCPGR>K3のときにはステップ401に進んでパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ402に進んでパージ作用停止直後における燃料タンク15内の蒸発燃料量TV1を算出したか否かが判別される。パージ作用停止直後にはまだ蒸発燃料量TV1を算出していないのでこのときにはステップ403に進み、そのときのベーパ濃度FGPGから図16に示す関係を用いて蒸発燃料量TV1が算出される。
次いでステップ404では燃料蒸気室12内の圧力PTから図14に示す関係を用いて単位時間当りの蒸発燃料量PVが算出され、次いでステップ405では蒸発燃料量の累積値ΣPV(=ΣPV+PV)が算出される。次の処理サイクルではステップ402からステップ404にジャンプする。
一方、ステップ401においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ406に進み、蒸発燃料量の累積値ΣPVが設定値KDよりも大きいか否かが判別される。なお、このときのΣPVはパージ作用が停止している期間中に蒸発した燃料量を表している。ΣPV<KDのときにはステップ408にジャンプし、ΣPVが零とされる。これに対しΣPV≧KDのときにはステップ407に進んでパージ停止直後の蒸発燃料量TV1にΣPVを加算することによりパージ再開時における燃料タンク15内の蒸発燃料量PV2が算出され(図16)、このPV2から図16に示す関係を用いてパージ再開時におけるベーパ濃度FGPGが算出される。
一方、ステップ401においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ406に進み、蒸発燃料量の累積値ΣPVが設定値KDよりも大きいか否かが判別される。なお、このときのΣPVはパージ作用が停止している期間中に蒸発した燃料量を表している。ΣPV<KDのときにはステップ408にジャンプし、ΣPVが零とされる。これに対しΣPV≧KDのときにはステップ407に進んでパージ停止直後の蒸発燃料量TV1にΣPVを加算することによりパージ再開時における燃料タンク15内の蒸発燃料量PV2が算出され(図16)、このPV2から図16に示す関係を用いてパージ再開時におけるベーパ濃度FGPGが算出される。
図18および図19に第4実施例を示す。この実施例では燃料タンク15の燃料温に基づいてパージ再開時の、ベーパ濃度FGPGが算出される。この実施例では図18に示されるように燃料タンク15に燃料温を検出するための温度センサ35が取付けられる。
図19は第4実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図19は第4実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図19を参照するとまず初めにステップ500においてパージ時間実行カウント値CPGRが設定値K3よりも大きいか否か、即ち機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR≦K3のときには処理サイクルを完了する。これに対しCPGR>K3のときにはステップ501に進んでパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ502に進んでパージ停止期間を表しているパージ停止期間カウント値COFFが1だけインクリメントされる。
次いでステップ503では温度センサ35により検出された燃料タンク15内の燃料温TEMPが多量の蒸発燃料を発生させる温度K45、例えば45℃よりも高いか否かが判別される。TEMP>K45のときにはステップ504に進んでパージ停止期間カウント値COFFが一定値KCよりも大きいか否かが判別される。COFF>KCのときにはステップ505に進んでベーパ濃度FGPGに一定値ΔKが加算される。即ち、この実施例ではパージ停止期間が短かいとき(COFF≦KC)にはベーパ濃度FGPGの更新作用が禁止される。これに対し、燃料タンク15内の燃料温が例えば45℃以上であってパージの停止期間が比較的長いときにはベーパ濃度FGPGが徐々に増大せしめられる。一方、ステップ501においてPGR>0であると判断されるとステップ506に進んでCOFFが零とされる。
図20および図21に第5実施例を示す。この実施例では燃料タンク15内の燃料温TEMPと単位時間当りの燃料タンク15内の蒸発燃料量PVとの関係を実験により予め求めておき、この関係に基づいてパージ再開時におけるベーパ濃度FGPGの更新作用が行われる。図20は燃料タンク15内の燃料圧TEMPと単位時間当りの燃料タンク15内の蒸発燃料量PVとの関係を示している。
図21を参照するとまず初めにステップ600においてパージ時間実行カウント値CPGRが設定値K3よりも大きいか否か、即ち機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR≦K3のときには処理サイクルを完了する。これに対しCPGR>K3のときにはステップ601に進んでパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ602に進んで燃料タンク15内の燃料温TEMPに基づき図20に示す関係から単位時間当りの蒸発燃料量PVが算出される。次いでステップ603では蒸発燃料量PVの累積値ΣPV(=ΣPV+PV)が算出される。次いでステップ604では累積値ΣPVが予め定められた設定値KDよりも大きくなったか否かが判別され、ΣPV≧KDのときにはステップ605に進んでベーパ濃度FGPGに一定値ΔKが加算される。従ってΣPV≧KDである間、ベーパ濃度FGPGが徐々に増大せしめられる。一方、ステップ601においてベーパ率PGR>0であると判断されたときにはステップ606に進んで累積値ΣPVが零とされる。
次に第6実施例について説明する。この実施例ではパージ作用が停止されているときに燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度を検出し、パージ作用が停止されているときにこのベーパ濃度が増大したときにはパージ再開時におけるフィードバック補正係数FAFの値を減少させるようにしている。図22および図23はこの第6実施例を具体的に示している。
図22は図12と同様にt1 においてパージ作用が停止され、t2 においてパージ作用が再開された場合を示している。また、実線は燃料タンク15内の燃料温が高いときを示しており、破線は燃料タンク15内の燃料温が低いときを示している。この第6実施例では図22に示されるようにパージ停止中に燃料蒸気室12内の圧力PTが予め定められた設定値KPTKを越えたときにはパージ再開時t2 におけるフィードバック補正係数FAFの値がパージ停止直前t1 の値に対して予め定められた修正量KFAF10だけ減少せしめられる。図22に示す例では修正量KFAF10は0.1とされている。
このように燃料蒸気室12内の圧力PTが設定値をKPTK越えたときに、即ちパージ停止直前t1 におけるパージガスのベーパ濃度に比べてパージ再開時t2 におけるパージガスのベーパ濃度が高くなったときにパージ再開時t2 におけるフィードバック補正係数FAFの値が修正量KFAF10だけ減少せしめられるとパージ再開時t2 に空燃比がリッチになることがなく、斯くしてパージ再開時に空燃比が変動するのを阻止することができる。
図23は第6実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。 図23を参照するとまず初めにステップ700においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ701に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ702に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ704に進んでKFAFが零とされる。
一方、ステップ700においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ703に進み、フィードバック補正係数FAFから修正量KFAFが減算される。次いでステップ704に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開時のFAFが修正量KFAFだけ減少せしめられる。
図24はベーパ濃度の制御ルーチンの第7実施例を示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
この実施例はパージ再開時にパージ作用が空燃比に大きな影響を与える場合に限ってパージ再開時にフィードバック補正係数FAFの値を減少させるようにした場合を示している。例えば機関始動後パージを初めて開始したときにはパージ率PGRが小さなパージ率PGRから徐々に大きくされる。この場合、パージ率PGRが小さなときにパージが停止され次いでパージが再開されたときにフィードバック補正係数FAFの値が減少せしめられると過補正となり、空燃比が大巾にリーンとなる危険性がある。これを防止するために第7実施例ではパージ実行時間カウント値CPGRが一定時間KCPGR3、例えば3分を越えたときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
この実施例はパージ再開時にパージ作用が空燃比に大きな影響を与える場合に限ってパージ再開時にフィードバック補正係数FAFの値を減少させるようにした場合を示している。例えば機関始動後パージを初めて開始したときにはパージ率PGRが小さなパージ率PGRから徐々に大きくされる。この場合、パージ率PGRが小さなときにパージが停止され次いでパージが再開されたときにフィードバック補正係数FAFの値が減少せしめられると過補正となり、空燃比が大巾にリーンとなる危険性がある。これを防止するために第7実施例ではパージ実行時間カウント値CPGRが一定時間KCPGR3、例えば3分を越えたときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
即ち、図24を参照するとまず初めにステップ800においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ801に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ802に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ805に進んでKFAFが零とされる。
一方、ステップ800においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ803に進み、パージ実行時間カウント値CPGRが一定時間KCPGR3よりも大きくなったか否かが判別される。CPGR<KCPGR3のときにはステップ805にジャンプする。これに対してCPGR≧KCPGR3のときにはステップ804に進んでフィードバック補正係数FAFから修正量KFAFが減算される。次いでステップ805に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開時にCPGR≧KCPGR3となっていればパージ再開時のFAFが修正量KFAKだけ減少せしめられる。
図25から図28は夫々、パージ再開時にパージ作用が空燃比に大きな影響を与える場合に限ってパージ再開時にフィードバック補正係数FAFの値を減少させるようにした第7実施例の変形例を示している。図25から図28に示されるベーパ濃度の制御ルーチンにおいて図24に示すルーチンと異なるのは図24のステップ803だけであり、その他のステップ800,801,802,804,805については図24のルーチンと同じであるので図24のステップ803に対応するステップのみについて説明する。
図25に示すルーチンではステップ803aにおいてパージ率PGRが予め定められたパージ率KPGR05、例えば0.5パーセントよりも大きいか否かが判別され、PGR≧KPGR05の場合に限ってステップ804に進む。即ち、パージ率PGRが小さなときにパージが再開され、このときにフィードバック補正係数FAFの値が減少せしめられると過補正となって空燃比が大巾にリーンとなる危険性がある。これを防止するためにパージ率PGRが予め定められたパージ率KPGR05を越えたときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
図26に示すルーチンではステップ803bにおいてパージ制御弁17のデューティ比DPGが予め定められたデューティ比KDPG10、例えば10パーセントよりも大きいか否かが判別され、DPG≧KDPG10の場合に限ってステップ804に進む。即ち、デューティ比DPGが小さなときにパージが再開され、このときにフィードバック補正係数FAFの値が減少せしめられると過補正となって空燃比が大巾にリーンとなる危険性がある。これを防止するためにデューティ比DPGが予め定められたデューティ比KDPG10よりも大きいときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
図27に示すルーチンではステップ803cにおいて吸入空気量Gaが予め定められた吸入空気量KGaよりも少ないか否かが判別され、Ga≦KGaの場合に限ってステップ804に進む。即ち、吸入空気量が多く、燃料噴射量が多いときにパージが再開され、このときにフィードバック補正係数FAFの値が減少せしめられると過補正となって空燃比が大巾にリーンとなる危険性がある。これを防止するために吸入空気量Gaが予め定められた吸入空気量KGaよりも少ないときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
図28に示すルーチンではステップ803dにおいてベーパ濃度の更新回数CFGPGが予め定められた回数KCFGPG20、例えば20回よりも大きいか否かが判別され、CFGPG≧KCFGPG20の場合に限ってステップ804に進む。即ち、ベーパ濃度の更新回数が小さいときにはベーパ濃度が実際のベーパ濃度を正確に表わしていない場合が多く、このような場合にパージが再開されたときにフィードバック補正係数FAFの値が減少せしめられると過補正となって空燃比が大巾に変動する危険性がある。これを防止するためにベーパ濃度の更新回数CFGPGが予め定められた回数KCFGPG20よりも大きいときに限ってパージ再開時にフィードバック補正係数FAFを減少させるようにしている。
図29および図30に第8実施例を示す。パージ停止中における燃料蒸気室12の圧力PTが高くなるほどパージ再開時におけるパージガス中のベーパ濃度は高くなる。従ってこの実施例では図29に示されるようにパージ停止中における燃料蒸気室12内の圧力PTが高くなるほどフィードバック補正係数FAFの修正量KFAFが大きくされる。
図30は第8実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。 図30を参照するとまず初めにステップ900においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ901に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ902に進んで図29に示す関係から圧力PTに基づいてフィードバック補正係数FAFの修正量KFAFが算出される。これに対してPT<KPTKのときにはステップ904に進んでKFAFが零とされる。
一方、ステップ900においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ903に進み、フィードバック補正係数FAFから修正量KFAFが減算される。次いでステップ904に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開時のFAFが修正量KFAFだけ減少せしめられる。
図31および図32に第9実施例を示す。パージ停止中における燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度の増大量が大きくてもパージ停止直前におけるベーパ濃度FGPGが大きいほどパージ停止直前のベーパ濃度FGPGに対するパージ再開時におけるベーパ濃度FGPGの変化割合は小さくなる。従ってこの実施例では修正量KFAFに補正係数KFGPGを乗算することによって最終的な修正量(KFAF・KFGPG)を求め、この補正係数KFGPGを図31に示すようにベーパ濃度FGPGが大きくなるほど小さくするようにしている。このようにすることによってパージ再開時におけるベーパ濃度FGPGの過補正を防止することができる。
図32は第9実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図32を参照するとまず初めにステップ1000においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1001に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1002に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1005に進んでKFAFが零とされる。
図32を参照するとまず初めにステップ1000においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1001に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1002に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1005に進んでKFAFが零とされる。
一方、ステップ1000においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ1003に進み、図31に示す関係からベーパ濃度FGPGに基づいて補正係数KFGPGが算出される。次いでステップ1004では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)
即ち、フィードバック補正係数FAFから修正量KFAF・補正係数KFGPGが減算される。次いでステップ1005に進む。従ってこの実施例ではパージ停止中にPT≧KPTKになるとパージ再開時のFAFがKFAK・KFGPGだけ減少せしめられることになる。
FAF=FAF−(KFAF・KFGPG)
即ち、フィードバック補正係数FAFから修正量KFAF・補正係数KFGPGが減算される。次いでステップ1005に進む。従ってこの実施例ではパージ停止中にPT≧KPTKになるとパージ再開時のFAFがKFAK・KFGPGだけ減少せしめられることになる。
図33に第10実施例を示す。パージ停止中における燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度の増大量が同一である場合にはパージ再開時におけるパージ率PGRが高いほどパージ再開時における空燃比のずれ量が大きくなる。従ってこの実施例では次式に基づいてフィードバック補正係数FAFを求めるようにしている。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)
ここでKPGRは予め定められた基準パージ率である。従ってこの実施例では修正量KFAFに前述した補正係数KFGPGを乗算し、更に基準パージ率KPGRに対するパージ率PGRの割合(PGR/KPGR)を乗算することによって最終的な修正量が算出される。
ここでKPGRは予め定められた基準パージ率である。従ってこの実施例では修正量KFAFに前述した補正係数KFGPGを乗算し、更に基準パージ率KPGRに対するパージ率PGRの割合(PGR/KPGR)を乗算することによって最終的な修正量が算出される。
図33は第10実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図33を参照するとまず初めにステップ1100においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1101に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1102に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1105に進んでKFAFが零とされる。
図33を参照するとまず初めにステップ1100においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1101に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1102に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1105に進んでKFAFが零とされる。
一方、ステップ1101においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ1103に進み、図31に示す関係からベーパ濃度FGPGに基づいて補正係数KFGPGが算出される。次いでステップ1004では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)
即ち、フィードバック補正係数FAFから修正量KFAF・補正係数KFPGP・パージ率の割合(PGR/KPGR)が減算される。次いでステップ1105に進む。従ってこの実施例ではパージ停止中にPT≧KPTKになるとパージ再開時のFAFがKFAK・KFPGP(PGR/KPGR)だけ減少せしめられることになる。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)
即ち、フィードバック補正係数FAFから修正量KFAF・補正係数KFPGP・パージ率の割合(PGR/KPGR)が減算される。次いでステップ1105に進む。従ってこの実施例ではパージ停止中にPT≧KPTKになるとパージ再開時のFAFがKFAK・KFPGP(PGR/KPGR)だけ減少せしめられることになる。
図34および図35に第11実施例を示す。パージ再開後、パージされた燃料ベーパが燃焼室内に到達して燃焼せしめられるまでに時間遅れを有する。従ってこの実施例では図34に示されるようにパージ再開時t2 から予め定められた遅れ時間Δtが経過した後にフィードバック補正係数FAFを減少させるようにしている。
図35は第11実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図35を参照するとまず初めにステップ1200においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1201に進んで時間算出カウント値CFAFが零とされる。次いでステップ1202に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1203に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1208に進んでKFAFが零とされる。
図35を参照するとまず初めにステップ1200においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1201に進んで時間算出カウント値CFAFが零とされる。次いでステップ1202に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1203に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1208に進んでKFAFが零とされる。
一方、ステップ1200においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ1204に進み、時間算出カウント値CFAFが1だけインクリメントされる。次いでステップ1205では時間算出カウント値CFAFが予め定められたカウント値KCFAF5に達したか否か、即ちパージが再開されてから図34に示す遅れ時間Δtに達したか否かが判別される。CFAF=KCFAF5でないときには処理サイクルを完了する。これに対してCFAF=KCFAF5となったときにはステップ1206に進み、図31に示す関係からベーパ濃度FGPGに基づいて補正係数KFGPGが算出される。次いでステップ1207では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)
次いでステップ1208に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過したときにFAFがKFAF・KFGPG・(PGR/KPGR)だけ減少せしめられる。
図36および図37に第12実施例を示す。前述したようにパージ再開後、パージされた燃料ベーパが燃焼室内に到達して燃焼せしめられるまでに時間遅れを有するばかりでなく、パージされた燃料ベーパはサージタンク5内において吸入空気と混合した後に順次各気筒に供給されるので各気筒に供給される吸入空気中のベーパ濃度は順次段階的に増大していく。従ってこの実施例では図36に示されるようにパージ再開時t2 から予め定められた遅れ時間Δtが経過した後に予め定められた一定期間Δt1に亘ってフィードバック補正係数FAFを少しずつ段階的に減少させるようにしている。
次いでステップ1208に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過したときにFAFがKFAF・KFGPG・(PGR/KPGR)だけ減少せしめられる。
図36および図37に第12実施例を示す。前述したようにパージ再開後、パージされた燃料ベーパが燃焼室内に到達して燃焼せしめられるまでに時間遅れを有するばかりでなく、パージされた燃料ベーパはサージタンク5内において吸入空気と混合した後に順次各気筒に供給されるので各気筒に供給される吸入空気中のベーパ濃度は順次段階的に増大していく。従ってこの実施例では図36に示されるようにパージ再開時t2 から予め定められた遅れ時間Δtが経過した後に予め定められた一定期間Δt1に亘ってフィードバック補正係数FAFを少しずつ段階的に減少させるようにしている。
このようにフィードバック補正係数FAFを段階的に減少させるためにこの実施例では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)/KM
ここでKMは4から8程度の値である。即ち、この実施例ではFAFがKFAF・KFGPG・(PGR/KPGR)の数分の1ずつ段階的に減少せしめられる。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)/KM
ここでKMは4から8程度の値である。即ち、この実施例ではFAFがKFAF・KFGPG・(PGR/KPGR)の数分の1ずつ段階的に減少せしめられる。
図37は第12実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図37を参照するとまず初めにステップ1300においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1301に進んで時間算出カウント値CFAFが零とされる。次いでステップ1302に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1303に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1309に進んでKFAFが零とされる。
図37を参照するとまず初めにステップ1300においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1301に進んで時間算出カウント値CFAFが零とされる。次いでステップ1302に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1303に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1309に進んでKFAFが零とされる。
一方、ステップ1300においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ1304に進み、時間算出カウント値CFAFが1だけインクリメントされる。次いでステップ1305では時間算出カウント値CFAFが予め定められたカウント値KCFAF5を越えたか否か、即ちパージが再開されてから図36に示す遅れ時間Δtに達したか否かが判別される。CFAF<KCFAF5のときには処理サイクルを完了する。これに対してCFAF≧KCFAF5となったときにはステップ1306に進み、図31に示す関係からベーパ濃度FGPGに基づいて補正係数KFGPGが算出される。次いでステップ1307では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)/KM
次いでステップ1308では時間算出カウント値CFAFが予め定められたカウント値KCFAF15を越えたか否か、即ち図36の時間範囲Δt1を越えたか否かが判別される。CFAF<KCFAF15のときには処理サイクルを完了し、これに対してCFAF≧KCFAF15になるとステップ1309に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過したときから一定期間Δt1,FAFがKFAF・KFGPG・(PGR/KPGR)/KMずつ段階的に減少せしめられる。
次いでステップ1308では時間算出カウント値CFAFが予め定められたカウント値KCFAF15を越えたか否か、即ち図36の時間範囲Δt1を越えたか否かが判別される。CFAF<KCFAF15のときには処理サイクルを完了し、これに対してCFAF≧KCFAF15になるとステップ1309に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過したときから一定期間Δt1,FAFがKFAF・KFGPG・(PGR/KPGR)/KMずつ段階的に減少せしめられる。
図38および図39に第13実施例を示す。この実施例では図38に示されるようにパージ再開後空燃比がリーンとなるまでフィードバック補正係数FAFが段階的に減少せしめられる。このようにするとFAFの過補正を阻止することができる。
図39は第13実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図39は第13実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図39を参照するとまず初めにステップ1400においてパージ率PGRが零であるか否かが判別される。PGR=0のとき、即ちパージ作用が停止されているときにはステップ1401に進んで時間算出カウント値CFAFが零とされる。次いでステップ1402に進んで圧力センサ32により検出された燃料蒸気室12内の圧力PTが設定値KPTK(図22)よりも高いか否かが判別される。PT≧KPTKのときにはステップ1403に進んでフィードバック補正係数FAFの修正量KFAFがKFAF10(図22)とされる。これに対してPT<KPTKのときにはステップ1409に進んでKFAFが零とされる。
一方、ステップ1400においてPGR>0であると判別されると、即ちパージ作用が開始されるとステップ1404に進み、時間算出カウント値CFAFが1だけインクリメントされる。次いでステップ1405では時間算出カウント値CFAFが予め定められたカウント値KCFAF5を越えたか否か、即ちパージが再開されてから図38に示す遅れ時間Δtを越えたか否かが判別される。CFAF<KCFAF5のときには処理サイクルを完了する。これに対してCFAF≧KCFAF5となったときにはステップ1406に進み、図31に示す関係からベーパ濃度FGPGに基づいて補正係数KFGPGが算出される。次いでステップ1407では次式に基づいてフィードバック補正係数FAFが算出される。
FAF=FAF−(KFAF・KFGPG)・(PGR/KPGR)/KM
次いでステップ1408ではO2 センサ30の出力信号から空燃比がリーンになったか否かが判別される。空燃比がリーンでないときには処理サイクルを完了し、これに対して空燃比がリーンになるとステップ1409に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過した後、空燃比がリーンとなるまでFAFがKFAF・KFGPG・(PGR/KPGR)/KMずつ段階的に減少せしめられる。
次いでステップ1408ではO2 センサ30の出力信号から空燃比がリーンになったか否かが判別される。空燃比がリーンでないときには処理サイクルを完了し、これに対して空燃比がリーンになるとステップ1409に進む。即ち、パージ停止中にPT≧KPTKになるとパージ再開後一定の遅れ時間Δtを経過した後、空燃比がリーンとなるまでFAFがKFAF・KFGPG・(PGR/KPGR)/KMずつ段階的に減少せしめられる。
図40から図42に第14実施例を示す。まず初めに図40について説明すると、図40には第1のパージ停止作用Iと第2のパージ停止作用IIとが示されている。t1 およびt2 は第1のパージ停止作用Iにおけるパージ停止時期とパージ再開時期とを夫々示しており、t3 およびt4 は第2のパージ作用IIのパージ停止時期とパージ再開時期とを夫々示している。
この実施例ではパージ停止中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したか否かがパージ開始後のフィードバック補正係数FAFの変化から判断される。例えば図40において第1のパージ停止期間I中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したとするとパージ再開(図40のt2 )直後においてフィードバック補正係数FAFが小さくなる。図40に示される例ではこのときフィードバック補正係数FAFが予め定められた設定値KFAF09、例えば0.9よりも小さくなったときにパージ停止中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したと判断され、このときベーパ濃度が増大したことを示すベーパ濃度増大フラグXVAPORがセットされる。
ベーパ濃度増大フラグXVAPORが一旦セットされるとその後パージが停止され次いでパージが再開される毎に、図40に示される例では第2のパージ停止期間II後のパージ再開時t4 においてベーパ濃度FGPGが予め定められた修正量KFGPGだけ増大せしめられる。このようにパージ再開時にベーパ濃度FGPGが増大せしめられるとパージ再開時にフィードバック補正係数FAFが基準値(=1.0)に維持され、空燃比A/Fが理論空燃比に維持される。
図41および図42は第14実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図41および図42を参照するとまず初めにステップ1500においてパージ時間実行カウント値CPGRが設定値KCPGR3よりも大きいか否か、例えば機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR<KCPGR3のときにはステップ1508に進んでベーパ濃度増大フラグXVAPORがリセットされる。次いでステップ1509では前回の処理サイクル時におけるパージ率PGROが零であったか否かが判別される。PGRO=0のときにはステップ1510に進んでパージ停止時間を表すパージ停止時間カウント値CPGROFが1だけインクリメントされ、次いでステップ1512に進む。これに対してPGRO=0でないときにはステップ1511に進んでパージ停止時間カウント値CPGROFが零とされ、次いでステップ1512に進む。ステップ1512ではパージ継続時間を表すパージ時間カウント値CPGRONが零とされ、次いで処理サイクルを完了する。
図41および図42を参照するとまず初めにステップ1500においてパージ時間実行カウント値CPGRが設定値KCPGR3よりも大きいか否か、例えば機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR<KCPGR3のときにはステップ1508に進んでベーパ濃度増大フラグXVAPORがリセットされる。次いでステップ1509では前回の処理サイクル時におけるパージ率PGROが零であったか否かが判別される。PGRO=0のときにはステップ1510に進んでパージ停止時間を表すパージ停止時間カウント値CPGROFが1だけインクリメントされ、次いでステップ1512に進む。これに対してPGRO=0でないときにはステップ1511に進んでパージ停止時間カウント値CPGROFが零とされ、次いでステップ1512に進む。ステップ1512ではパージ継続時間を表すパージ時間カウント値CPGRONが零とされ、次いで処理サイクルを完了する。
一方、ステップ1500においてCPGR≧KCPGR3であると判別されたときにはステップ1501に進んでパージ率PGRが零であるか否かが判別される。PGR=0のときにはステップ1509に進む。これに対してPGR>0のとき、即ちパージが開始されたときにはステップ1502に進んでパージ停止時間カウント値CPGOFが設定値KCUTよりも大きいか否かが判別される。CPGROF≧KCUTのときにはステップ1503に進む。
ステップ1503ではベーパ濃度増大フラグXVAPORがセットされているか否かが判別される。XVAPOR=0のとき、即ちベーパ濃度増大フラグXVAPORがリセットされているときにはステップ1504に進んでパージ開始後におけるフィードバック補正係数FAFのスキップSの回数CSKIPが3回よりも小さいか否かが判別される。CSKIP≦3のときにはステップ1505に進んでフィードバック補正係数FAFが設定値KFAF09(図40)よりも小さくなったか否かが判別される。FAF≦KFAF09になるとステップ1506に進んでベーパ濃度増大フラグXVAPORがセットされる。即ち、CSKIP≦3のときにFAF≦KFAF09になればベーパ濃度増大フラグXVAPORがセットされることになる。次いでステップ1507においてパージ時間カウント値CPGRONが1とされる。
ベーパ濃度増大フラグXVAPORがセットされると次の処理サイクルではステップ1503からステップ1513に進み、パージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1514ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONが1であるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1503からステップ1513に進む。このときにはパージ時間カウント値CPGRONは1となる。従って次のステップ1514ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1515に進み、ベーパ濃度FGPGに予め定められた修正量KFGPGが加算される。従って図40を参照しつつ前述したようにパージ再開時に空燃比A/Fが変動するのを阻止することができる。
図43から図45に第15実施例を示す。この実施例ではパージ再開時におけるベーパ濃度FGPGが一定値以上増大したときにパージ停止中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したと判断される。即ち、図43において第1のパージ停止期間I後のパージ再開時にベーパ濃度FGPGがパージ停止直前のベーパ濃度FGPGOFに比べて設定値KFGよりも大きくなったとき、即ちFGPG≧FGPGOF+KFGになったときにはベーパ濃度増大フラグXVAPORがセットされ、次いでパージが停止され次いでパージが再開されたときにベーパ濃度FGPGが予め定められた修正量KFGPGだけ増大せしめられる。
図44および図45は第15実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。
図44および図45を参照するとまず初めにステップ1600においてパージ時間実行カウント値CPGRが設定値KCPGR3よりも大きいか否か、例えば機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR<KCPGR3のときにはステップ1608に進んでベーパ濃度増大フラグXVAPORがリセットされる。次いでステップ1609では前回の処理サイクル時におけるパージ率PGROが零であったか否かが判別される。PGRO=0のときにはステップ1610に進んでパージ停止時間を表すパージ停止時間カウント値CPGROFが1だけインクリメントされ、次いでステップ1612に進む。これに対してPGRO=0でないときにはステップ1611に進んでパージ停止時間カウント値CPGROFが零とされ、次いでステップ1612に進む。ステップ1612ではベーパ濃度FGPGがFGPGOFとされる。次いでステップ1613ではパージ継続時間を表すパージ時間カウント値CPGRONが零とされ、次いで処理サイクルを完了する。
図44および図45を参照するとまず初めにステップ1600においてパージ時間実行カウント値CPGRが設定値KCPGR3よりも大きいか否か、例えば機関の運転が開始された後パージ作用が開始されてから3分が経過したか否かが判別される。CPGR<KCPGR3のときにはステップ1608に進んでベーパ濃度増大フラグXVAPORがリセットされる。次いでステップ1609では前回の処理サイクル時におけるパージ率PGROが零であったか否かが判別される。PGRO=0のときにはステップ1610に進んでパージ停止時間を表すパージ停止時間カウント値CPGROFが1だけインクリメントされ、次いでステップ1612に進む。これに対してPGRO=0でないときにはステップ1611に進んでパージ停止時間カウント値CPGROFが零とされ、次いでステップ1612に進む。ステップ1612ではベーパ濃度FGPGがFGPGOFとされる。次いでステップ1613ではパージ継続時間を表すパージ時間カウント値CPGRONが零とされ、次いで処理サイクルを完了する。
一方、ステップ1600においてCPGR≧KCPGR3であると判別されたときにはステップ1601に進んでパージ率PGRが零であるか否かが判別される。PGR=0のときにはステップ1609に進む。これに対してPGR>0のとき、即ちパージが開始されたときにはステップ1602に進んでパージ停止時間カウント値CPGOFが設定値KCUTよりも大きいか否かが判別される。CPGROF≧KCUTのときにはステップ1603に進む。
ステップ1603ではベーパ濃度増大フラグXVAPORがセットされているか否かが判別される。XVAPOR=0のとき、即ちベーパ濃度増大フラグXVAPORがリセットされているときにはステップ1604に進んでパージ開始後におけるフィードバック補正係数FAFのスキップSの回数CSKIPが6回よりも小さいか否かが判別される。CSKIP≦6のときにはステップ1605に進んでベーパ濃度FGPGがパージ停止直前のベーパ濃度FGPGOFと設定値KFGとの和(FGPGOF+KFG)よりも大きくなったか否かが判別される。FGPG≧FGPGOF+KFGになるとステップ1606に進んでベーパ濃度増大フラグXVAPORがセットされる。即ち、CSKIP≦6のときにFGPG≧FGPGOF+KFGになればベーパ濃度増大フラグXVAPORがセットされることになる。次いでステップ1607においてパージ時間カウント値CPGRONが1とされる。
ベーパ濃度増大フラグXVAPORがセットされると次の処理サイクルではステップ1603からステップ1614に進み、パージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1615ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONが1であるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1603からステップ1614に進む。このときにはパージ時間カウント値CPGRONは1となる。従って次のステップ1615ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1616に進み、ベーパ濃度FGPGに予め定められた修正量KFGPGが加算される。従ってパージ再開時に空燃比A/Fが変動するのを阻止することができる。
図46から図48に第16実施例を示す。この実施例では図46に示されるように第1のパージ停止期間I後のベーパ濃度FGPGの増大量のほぼ全体KFGPGが第2のパージ停止期間II後のパージ再開時におけるパージ濃度の修正量KFGPGとされる。
図47および図48は第16実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。なお、図47のステップ1700からステップ1713は図44のステップ1600からステップ1613と同じであり、図44および図45に示すルーチンと異なるところは図48のステップ1714以後であるので以下、図48のステップ1714以後について説明する。
図47および図48は第16実施例を実行するためのベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。なお、図47のステップ1700からステップ1713は図44のステップ1600からステップ1613と同じであり、図44および図45に示すルーチンと異なるところは図48のステップ1714以後であるので以下、図48のステップ1714以後について説明する。
パージ開始後、FGPG≧FGPGOF+KFGとなり、ベーパ濃度増大フラグXVAPORがセットされると次の処理サイクルではステップ1703からステップ1714に進む。ステップ1714ではベーパ濃度増大フラグXVAPORがセットされておりかつスキップ回数CSKIPが6回以下でありかつパージ時間カウント値CPGRONが1以上であるか否かが判別される。このときにはXVAPOR=1でありかつCPGRON≧1であるのでCSKIP≦6であればステップ1715に進んで現在のベーパ濃度FGPGからパージ停止直前のベーパ濃度FGPGOFを差し引いた差(FGPG−FGPGOF)が修正量KFGPGとされる。
次いでステップ1716ではパージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1717ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONが1であるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次の処理サイクルではSKIP≦6である限りステップ1714からステップ1715に進んで修正量KFGPGが更新される。SKIP=6となるころにはベーパ濃度FGPGの学習がほぼ完了しており、従って修正量KFGPGはベーパ濃度FGPGの増大量にほぼ一致する。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1703からステップ1714に進む。このときにはパージ時間カウント値CPGRONは零であるのでステップ1714からステップ1716にジャンプし、ステップ1716においてパージ時間カウント値CPGRONが1となる。従って次のステップ1717ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1718に進み、ベーパ濃度FGPGに既に算出されている修正量KFGPGが加算される。従ってパージ再開時に空燃比A/Fが変動するのを阻止することができる。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1703からステップ1714に進む。このときにはパージ時間カウント値CPGRONは零であるのでステップ1714からステップ1716にジャンプし、ステップ1716においてパージ時間カウント値CPGRONが1となる。従って次のステップ1717ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1718に進み、ベーパ濃度FGPGに既に算出されている修正量KFGPGが加算される。従ってパージ再開時に空燃比A/Fが変動するのを阻止することができる。
次の処理サイクルではCSKIP≦6であればステップ1715に進み、再び修正量KFGPGが更新される。
図49および図50に第17実施例を示す。この実施例では単位パージ停止時間当りの修正量ΔFGPGを求め、この修正量ΔFGPGからパージ停止時間に比例した最終的な修正量KFGPGを求めるようにしている。具体的に云うと次式に基づいて最終的な修正量KFGPGが算出される。
図49および図50に第17実施例を示す。この実施例では単位パージ停止時間当りの修正量ΔFGPGを求め、この修正量ΔFGPGからパージ停止時間に比例した最終的な修正量KFGPGを求めるようにしている。具体的に云うと次式に基づいて最終的な修正量KFGPGが算出される。
ΔFGPG=(FGPG−FGPGOF)・KCPGROF/CPGROF・・・(1)
KFGPG=ΔFGPG・(CPGROF/KCPGROF)・・・(2)
ここでKCPGROFは基準となるパージ停止時間、例えば10sec である。
図46を利用して説明すると(1)式におけるCPGROFは第1のパージ停止期間Iを表わしており、従って(1)式よりパージ停止時間10sec 当りの修正量ΔFGPGが求められる。
KFGPG=ΔFGPG・(CPGROF/KCPGROF)・・・(2)
ここでKCPGROFは基準となるパージ停止時間、例えば10sec である。
図46を利用して説明すると(1)式におけるCPGROFは第1のパージ停止期間Iを表わしており、従って(1)式よりパージ停止時間10sec 当りの修正量ΔFGPGが求められる。
これに対して(2)式におけるCPGROFは第2のパージ停止期間IIを表わしており、従ってパージ停止時間が長くなるほど最終的な修正量KFGPGが増大せしめられる。
図49および図50はベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。なお、図49のステップ1800からステップ1813は図44のステップ1600からステップ1613と同じであり、図44および図45に示すルーチンと異なるところは図50のステップ1814以後であるので以下、図50のステップ1814以後について説明する。
図49および図50はベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。なお、図49のステップ1800からステップ1813は図44のステップ1600からステップ1613と同じであり、図44および図45に示すルーチンと異なるところは図50のステップ1814以後であるので以下、図50のステップ1814以後について説明する。
パージ開始後、FGPG≧FGPGOF+KFGとなり、ベーパ濃度増大フラグXVAPORがセットされると次の処理サイクルではステップ1803からステップ1814に進む。ステップ1814ではベーパ濃度増大フラグXVAPORがセットされておりかつスキップ回数CSKIPが6回以下でありかつパージ時間カウント値CPGRONが1以上であるか否かが判別される。このときにはXVAPOR=1でありかつCPGRON≧1であるのでCSKIP≦6であればステップ1815に進んで現在のベーパ濃度FGPG、パージ停止直前のベーパ濃度FGPGOF、基準パージ停止時間KCPGROFおよびパージ停止時間を表すパージ停止時間カウント値CPGROFを用いて次式に基づき単位パージ停止時間当りの修正量ΔFGPGが算出される。
ΔFGPG=(FGPG−FGPGOF)・KCPGROF/CPGROF
次いでステップ1816ではパージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1817ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONが1であるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次いでステップ1816ではパージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1817ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONが1であるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次の処理サイクルではSKIP≦6である限りステップ1814からステップ1815に進んでΔFGPGが更新される。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1803からステップ1814に進む。このときにはパージ時間カウント値CPGRONは零であるのでステップ1814からステップ1816にジャンプし、ステップ1816においてパージ時間カウント値CPGRONが1となる。従って次のステップ1817ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1818に進み、次式に基づいて最終的な修正量KFGPGが算出される。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1803からステップ1814に進む。このときにはパージ時間カウント値CPGRONは零であるのでステップ1814からステップ1816にジャンプし、ステップ1816においてパージ時間カウント値CPGRONが1となる。従って次のステップ1817ではXVAPOR=1でありかつCPGRON=1であると判断されるのでステップ1818に進み、次式に基づいて最終的な修正量KFGPGが算出される。
KFGPG=ΔFGPG・(CPGROF/KCPGROF)
次いでステップ1819ではパージ濃度FGPGに修正量KFGPGが加算される。次の処理サイクルではCSKIP≦6であればステップ1815に進み、再びΔFGPGが更新される。
図51および図52に第18実施例を示す。この実施例ではパージが再開されてからパージされた燃料ベーパが燃焼室内に到達するまでの遅れ時間を考慮してパージ再開時のベーパ濃度FGPGの修正作用をパージ時間カウント値CPGRONが一定値KCPGとなるまで一定時間だけ遅らせるようにしている。
次いでステップ1819ではパージ濃度FGPGに修正量KFGPGが加算される。次の処理サイクルではCSKIP≦6であればステップ1815に進み、再びΔFGPGが更新される。
図51および図52に第18実施例を示す。この実施例ではパージが再開されてからパージされた燃料ベーパが燃焼室内に到達するまでの遅れ時間を考慮してパージ再開時のベーパ濃度FGPGの修正作用をパージ時間カウント値CPGRONが一定値KCPGとなるまで一定時間だけ遅らせるようにしている。
図51および図52はベーパ濃度の制御ルーチンを示しており、このルーチンは一定時間、例えば100msec毎の割込みによって実行される。なお、図51のステップ1900からステップ1913は図44のステップ1600からステップ1613と同じであり、図44および図45に示すルーチンと異なるところは図52のステップ1914以後であるので以下、図52のステップ1914以後について説明する。
パージ開始後、FGPG≧FGPGOF+KFGとなり、ベーパ濃度増大フラグXVAPORがセットされると次の処理サイクルではステップ1903からステップ1914に進む。ステップ1914ではベーパ濃度増大フラグXVAPORがセットされておりかつスキップ回数CSKIPが6回以下でありかつパージ時間カウント値CPGRONがKCPG以上であるか否かが判別される。このときにはXVAPOR=1であるがCPGRONは1であるのでステップ1916にジャンプする。
ステップ1916ではパージ時間カウント値CPGRONが1だけインクリメントされる。次いでステップ1917ではベーパ濃度増大フラグXVAPORがセットされておりかつパージ時間カウント値CPGRONがKCPGであるか否かが判別される。このときにはXVAPOR=1であるがCPGRON=2(<KCPG)であるので処理サイクルを完了する。このときにはベーパ濃度FGPGの修正は行われない。
次いでステップ1916においてCPGRONがKCPGになるとステップ1918に進む。機関の運転が開始された後、初めてステップ1918に進んだときにはΔFGPGは未だ算出されておらずΔFGPGは零になっているので修正量KFGPGは零となり、斯くしてこのときもベーパ濃度FGPGの修正作用は行われない。
一方、CPGRONがKCPGになると次の処理サイクルではCSKIP≦6であればステップ1914からステップ1915に進んで現在のベーパ濃度FGPG、パージ停止直前のベーパ濃度FGPGOF、基準パージ停止時間KCPGROFおよびパージ停止時間を表すパージ停止時間カウント値CPGROFを用いて次式に基づき単位パージ停止時間当りの修正量ΔFGPGが算出される。
ΔFGPG=(FGPG−FGPGOF)・KCPGROF/CPGROF
次いでステップ1916ではCPGRONがKCPG+1となるのでステップ1917を経て処理サイクルを完了する。
次の処理サイクルではSKIP≦6である限りステップ1914からステップ1915に進んでΔFGPGが更新される。
次いでステップ1916ではCPGRONがKCPG+1となるのでステップ1917を経て処理サイクルを完了する。
次の処理サイクルではSKIP≦6である限りステップ1914からステップ1915に進んでΔFGPGが更新される。
次いで再びパージが停止され次いでパージが再開されたとするとこのときにはベーパ濃度増大フラグXVAPORが既にセットされているのでステップ1903からステップ1914に進む。このときにはパージ時間カウント値CPGRONは零であるのでステップ1914からステップ1916にジャンプする。
次いでステップ1916においてCPGRONがKCPGになるとステップ1917からステップ1918に進み、次式に基づいて最終的な修正量KFGPGが算出される。
次いでステップ1916においてCPGRONがKCPGになるとステップ1917からステップ1918に進み、次式に基づいて最終的な修正量KFGPGが算出される。
KFGPG=ΔFGPG・(CPGROF/KCPGROF)
次いでステップ1919ではパージ濃度FGPGに修正量KFGPGが加算される。即ち、パージが再開されたときにはパージ再開後CPGRONがKCPGとなったときに、即ちパージ再開後一定時間遅れてベーパ濃度FGPGが修正されることになる。次の処理サイクルではCSKIP≦6であればステップ1915に進み、再びΔFGPGが更新される。
次いでステップ1919ではパージ濃度FGPGに修正量KFGPGが加算される。即ち、パージが再開されたときにはパージ再開後CPGRONがKCPGとなったときに、即ちパージ再開後一定時間遅れてベーパ濃度FGPGが修正されることになる。次の処理サイクルではCSKIP≦6であればステップ1915に進み、再びΔFGPGが更新される。
次に、パージ再開時に例えばベーパ濃度FGPGを修正したときにこの修正が過補正となる場合にはベーパ濃度増大フラグXVAPORをリセットするようにした場合について説明する。図53はパージ再開時t4 にベーパ濃度が修正され、この修正が過補正となる場合を示している。このように修正が過補正となる場合には図53に示されるようにフィードバック補正係数FAFは大きくなり、ベーパ濃度FGPGが急速に低下する。
そこで図54に示すベーパ濃度増大フラグXVAPORの制御ルーチンでは図53に示されるようにパージ再開後一定期間内にフィードバック補正係数FAFが予め定められた値KFAF11、例えば1.1を越えたときにはベーパ濃度増大フラグXVAPORをリセットして再度パージ停止中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御弁17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したか否かを判断するようにし、図55に示すベーパ濃度増大フラグXVAPORの制御ルーチンでは図53に示されるようにパージ再開後一定期間内にベーパ濃度FGPGが予め定められた値FGPGOF+α(α≧0)よりも低下したときにはベーパ濃度増大フラグXVAPORをリセットして再度パージ停止中に燃料タンク15の上部空間内又は燃料タンク15の上部空間からパージ制御17に至るパージ通路内の燃料ベーパのベーパ濃度が増大したか否かを判断するようにしている。
図54を参照するとまず初めにステップ2000においてパージ停止時間カウント値CPGROFが一定時間KCUTよりも大きいか否かが判別される。CPGROF≧KCUTのときにはステップ2001に進んでパージ時間カウント値CPGRONが一定時間KCPGよりも大きいか否かが判別される。CPGRON≧KCPGのときにはステップ2002に進んでベーパ濃度増大フラグXVAPORがセットされているか否かが判別される。
ベーパ濃度増大フラグXVAPORがセットされているときにはステップ2003に進んでフィードバック補正係数FAFのスキップ回数CSKIPが3回以下であるか否かが判別される。CSKIP≧3のときにはステップ2004に進んでフィードバック補正係数FAFが予め定められた値KFAF11よりも大きくなったか否かが判別される。FAF≧KFAF11のときにはステップ2005に進んでベーパ濃度増大フラグXVAPORがリセットされる。
次に別の実施例を示す図55を参照するとまず初めにステップ2100においてパージ停止時間カウント値CPGROFが一定時間KCUTよりも大きいか否かが判別される。CPGROF≧KCUTのときにはステップ2101に進んでパージ時間カウント値CPGRONが一定時間KCPGよりも大きいか否かが判別される。CPGRON≧KCPGのときにはステップ2102に進んでベーパ濃度増大フラグXVAPORがセットされているか否かが判別される。
ベーパ濃度増大フラグXVAPORがセットされているときにはステップ2103に進んでフィードバック補正係数FAFのスキップ回数CSKIPが6回以下であるか否かが判別される。CSKIP≦6のときにはステップ2104に進んでベーパ濃度FGPGが予め定められた値FGPGOF+αよりも小さくなったか否かが判別される。FGPG≦FGPGOF+αのときにはステップ2105に進んでベーパ濃度増大フラグXVAPORがリセットされる。
4…燃料噴射弁
5…サージタンク
11…キャニスタ
17…パージ制御弁
30…空燃比センサ
5…サージタンク
11…キャニスタ
17…パージ制御弁
30…空燃比センサ
Claims (14)
- 燃料タンクの上部空間と吸気通路とを連結する燃料ベーパのパージ通路と、パージ通路内に配置されたパージ制御弁と、空燃比を検出するための空燃比検出手段と、該空燃比検出手段により検出された空燃比に基づいて空燃比が目標空燃比となるように供給燃料量を制御する第1の供給燃料量補正手段と、目標空燃比に対する空燃比のずれ量から吸気通路内に供給された燃料ベーパのベーパ濃度を算出するベーパ濃度算出手段と、該ベーパ濃度に基づいて空燃比が目標空燃比となるように供給燃料量を補正する第2の供給燃料量補正手段とを具備した内燃機関の蒸発燃料処理装置において、燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内におけるパージ作用停止中の燃料ベーパのベーパ濃度変化を検出する濃度変化検出手段を具備し、該第2の供給燃料量補正手段は該ベーパ濃度変化に応じてパージ再開直後の空燃比が目標空燃比となるように該ベーパ濃度算出手段により算出されたベーパ濃度を補正し、パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときには該ベーパ濃度算出手段により算出されたベーパ濃度を増大させる内燃機関の蒸発燃料処理装置。
- 上記濃度変化検出手段は、燃料タンク上部空間又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の圧力からベーパ濃度変化を検出する請求項1に記載の内燃機関の蒸発燃料処理装置。
- 上記濃度変化検出手段は、燃料タンク内の温度からベーパ濃度変化を検出する請求項1に記載の内燃機関の蒸発燃料処理装置。
- 機関の運転開始後初めてパージが開始され、次いでパージ作用が停止されたとき以後にベーパ濃度変化が検出され、該ベーパ濃度変化に応じて上記ベーパ濃度算出手段により算出されたベーパ濃度が補正される請求項1に記載の内燃機関の蒸発燃料処理装置。
- パージ作用の停止期間が予め定められた期間よりも短かいときには上記第2の燃料供給量補正手段によるベーパ濃度の補正を禁止する請求項1に記載の内燃機関の蒸発燃料処理装置。
- 燃料タンクの上部空間と吸気通路とを連結する燃料ベーパのパージ通路と、パージ通路内に配置されたパージ制御弁と、空燃比を検出するための空燃比検出手段と、該空燃比検出手段により検出された空燃比に基づいて空燃比が目標空燃比となるように供給燃料量を制御する第1の供給燃料量補正手段と、目標空燃比に対する空燃比のずれ量から吸気通路内に供給された燃料ベーパのベーパ濃度を算出するベーパ濃度算出手段と、該ベーパ濃度に基づいて空燃比が目標空燃比となるように供給燃料量を補正する第2の供給燃料量補正手段とを具備した内燃機関の蒸発燃料処理装置において、燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内におけるパージ作用停止中の燃料ベーパのベーパ濃度変化を検出する濃度変化検出手段を具備し、該第1の供給燃料量補正手段は該空燃比検出手段により検出された空燃比に応じて変化するフィードバック補正係数により空燃比が目標空燃比となるように供給燃料量を制御し、更に該第1の供給燃料量補正手段は該ベーパ濃度変化に応じてパージ再開直後の空燃比が目標空燃比となるようにパージ再開時のフィードバック補正係数の値を制御し、パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはパージ再開時に該フィードバック補正係数の値を予め定められた修正量だけ減少させる内燃機関の蒸発燃料処理装置。
- 上記濃度変化検出手段は、燃料タンク上部空間又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の圧力からベーパ濃度変化を検出する請求項6に記載の内燃機関の蒸発燃料処理装置。
- パージ停止時における燃料タンク上部空間又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の圧力が高いほど上記修正量が大きくされる請求項6に記載の内燃機関の蒸発燃料処理装置。
- 上記ベーパ濃度算出手段により算出されたベーパ濃度が高いほど上記修正量が小さくされる請求項6に記載の内燃機関の蒸発燃料処理装置。
- 燃料ベーパのパージ率が小さいほど上記修正量が小さくされる請求項6に記載の内燃機関の蒸発燃料処理装置。
- パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはパージ再開時に上記フィードバック補正係数の値を予め定められた修正量ずつ複数回に亘り段階的に減少させる請求項6に記載の内燃機関の蒸発燃料処理装置。
- パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはパージ再開時に空燃比がリーンとなるまで上記フィードバック補正係数の値を予め定められた修正量ずつ複数回に亘り段階的に減少させる請求項6に記載の内燃機関の蒸発燃料処理装置。
- パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときには機関運転開始後におけるパージ実行時間が予め定められた時間よりも長いか、又は燃料ベーパのパージ率が予め定められたパージ率よりも高いか、又はパージ制御弁の開度が予め定められた開度よりも大きいか、又は吸入空気量が予め定められた量よりも少ないか、又はベーパ濃度の更新回数が予め定められた回数よりも多いときに限り、パージ再開時に上記フィードバック補正係数の値を予め定められた修正量だけ減少させる請求項6に記載の内燃機関の蒸発燃料処理装置。
- パージ作用が停止されているときに燃料タンク上部空間内又は燃料タンク上部空間からパージ制御弁に至るパージ通路内の燃料ベーパのベーパ濃度が増大したときにはパージ再開後、一定時間を経た後に上記フィードバック補正係数の値を予め定められた修正量だけ減少させる請求項6に記載の内燃機関の蒸発燃料処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004144061A JP3972922B2 (ja) | 1997-09-22 | 2004-05-13 | 内燃機関の蒸発燃料処理装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25679297 | 1997-09-22 | ||
JP2004144061A JP3972922B2 (ja) | 1997-09-22 | 2004-05-13 | 内燃機関の蒸発燃料処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01956798A Division JP3620261B2 (ja) | 1997-09-22 | 1998-01-30 | 内燃機関の蒸発燃料処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004263703A JP2004263703A (ja) | 2004-09-24 |
JP3972922B2 true JP3972922B2 (ja) | 2007-09-05 |
Family
ID=33133320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004144061A Expired - Fee Related JP3972922B2 (ja) | 1997-09-22 | 2004-05-13 | 内燃機関の蒸発燃料処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3972922B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007092650A (ja) * | 2005-09-29 | 2007-04-12 | Fujitsu Ten Ltd | 内燃機関の制御装置、制御方法及びベーパ発生量推定装置 |
-
2004
- 2004-05-13 JP JP2004144061A patent/JP3972922B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004263703A (ja) | 2004-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3931853B2 (ja) | 内燃機関の制御装置 | |
JPH0552139A (ja) | 内燃機関の供給燃料制御装置 | |
JP3620261B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3287228B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP2867912B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JPH0494445A (ja) | 内燃機関の蒸発燃料処理制御装置 | |
JP3632985B2 (ja) | 蒸発燃料処理装置 | |
JPH08121264A (ja) | 内燃機関の供給燃料制御装置 | |
JP3206494B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JPH07269419A (ja) | 蒸発燃料処理装置 | |
JP3972922B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3610682B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JPH08121265A (ja) | 内燃機関の蒸発燃料処理装置 | |
JP2789908B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3444100B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3587010B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3368759B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3277865B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3444102B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
US5782218A (en) | Evaporated fuel treatment device of an engine | |
JP3282591B2 (ja) | 内燃機関の供給燃料制御装置 | |
JPH10196468A (ja) | 内燃機関の蒸発燃料処理装置 | |
JP3518226B2 (ja) | 内燃機関の蒸発燃料処理装置 | |
JPH084603A (ja) | 内燃機関の蒸発燃料処理制御装置 | |
JP2000257487A (ja) | 内燃機関の蒸発燃料処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070522 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070604 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100622 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |