(57)【要約】【課題】内燃機関の負荷の大きさによるパージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、空燃比制御の精度を向上させる。【解決手段】ベーパ濃度学習処理が開始されると、まずステップ１８０でフィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶが所定範囲内にあるかどうかが判別される。１．０２＞ＦＡＦＡＶ＞０．９８であるときにはステップ１８６で更新量ｔＦＧが零とされる。一方、ステップ１８０においてＦＡＦＡＶ≧１．０２であるか又はＦＡＦＡＶ≦０．９８であるときには、ステップ１８２でパージ率ＰＧＲ及び負荷率ＫＬＯＡＤによるマップに基づいて更新量補正係数ＫＲＰＧが算出される。次にステップ１８４で更新量補正係数ＫＲＰＧを用いてベーパ濃度値の更新量ｔＦＧが｛（１−ＦＡＦＡＶ）／ＰＧＲ｝×ＫＲＰＧに基づき算出される。ステップ１８８ではベーパ濃度値ＦＧＰＧに更新量ｔＦＧが加算される。【選択図】　　　図８
2004108360.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内で発生する燃料ベーパを一時的に捕集するキャニスタと、その捕集した燃料ベーパを含むパージガスを内燃機関の吸気通路に発生する吸気負圧に基づいてパージするパージ手段と、目標空燃比に対する空燃比のずれ量に基づいてベーパ濃度を算出するベーパ濃度学習手段と、該ベーパ濃度学習手段により算出されたベーパ濃度に基づいて空燃比が目標空燃比となるように燃料噴射量を設定する噴射量設定手段と、を備えた内燃機関の制御装置において、
前記ベーパ濃度学習手段は、前記内燃機関の負荷が大きいときには負荷が小さいときに比較して前記ベーパ濃度学習値の更新量を小さくする
ことを特徴とする内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記負荷が大きい状態は前記吸気通路に発生する吸気負圧が小さい状態であることを特徴とする内燃機関の制御装置。
【請求項３】
請求項１に記載の内燃機関の制御装置において、
前記負荷は、前記内燃機関に吸入される吸入空気量である
ことを特徴とする内燃機関の制御装置。
【請求項４】
請求項１に記載の内燃機関の制御装置において、
前記負荷は、前記内燃機関の吸気圧力である
ことを特徴とする内燃機関の制御装置。
【請求項５】
請求項１〜４のいずれかに記載の内燃機関の制御装置において、
前記ベーパ濃度学習手段は、さらに、前記パージ手段によってパージされるパージ流量のパージ率が小さいときにはパージ率が大きいときに比較して前記ベーパ濃度学習値の更新量を小さくする
ことを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、燃料タンク内で発生する燃料ベーパを大気中に放出することなくキャニスタに捕集し、その捕集した燃料ベーパを内燃機関の吸気通路へ適宜にパージするようにした燃料ベーパ処理装置を備えた内燃機関の制御装置に関する。
【０００２】
【従来の技術】
一般に、揮発性液体燃料を用いて駆動される内燃機関は、燃料ベーパ処理装置を備えている。その燃料ベーパ処理装置は、燃料タンクで発生する燃料蒸気（以下燃料ベーパという）を一時的に蓄えるキャニスタを備えている。キャニスタ内の吸着剤に捕集された燃料ベーパは適宜、そのキャニスタからパージ通路及びパージ制御弁を通じてエンジンの吸気通路へとパージされ、エンジンに吸入された空気に混入される。そして、燃料ベーパは、インジェクタから噴射された燃料とともに、内燃機関の燃焼室内で燃焼される。パージ通路に設けられたパージ制御弁は、吸気通路へパージされる燃料ベーパを含むガス（パージガス）の流量を調整する。
【０００３】
一方、上記内燃機関では、その燃焼室に供給される可燃混合気の空燃比が検出され、その検出された実際の空燃比が目標空燃比に合致するように、インジェクタから噴射される燃料の量が調節される。空燃比制御を好適に行うためには、パージ通路を介して吸気通路へパージされる燃料ベーパの量を考慮して、インジェクタから燃焼室に噴射される燃料の量を制御することが必要になる。
【０００４】
このように構成された内燃機関において、燃料ベーパの影響を加味した燃料噴射量の制御は、以下のようにして実施される。
まず、機関回転速度や吸入空気量等の運転状態パラメータに基づいて基本となる燃料噴射量（時間）が算出され、その基本燃料噴射量に、空燃比フィードバック補正係数、空燃比学習値、パージ空燃比補正係数、及びその他の各種運転状態に基づく補正係数を加味した最終燃料噴射量（時間）が決定される。空燃比フィードバック補正係数は、前回の燃料噴射に係る空燃比の理論空燃比に対するずれ量に対応するものであり、今回の燃料噴射に係る空燃比を理論空燃比により近似させるための補正係数である。空燃比学習値は、異なる運転領域における空燃比フィードバック制御の制御結果に基づき各運転領域ごとに学習記憶された補正係数であり、この学習値を採用することにより空燃比フィードバック制御の精度が一層高められることになる。
【０００５】
一方、パージ空燃比補正係数は、燃料ベーパの燃焼室への導入による空燃比への影響を加味した補正係数であり、パージ率とベーパ濃度学習値とに基づいて算出される。ここで、パージ率とは、吸気通路内を流れる吸入空気の流量に対する同吸気通路内に導入されるパージガスの流量の割合を反映する係数である。また、ベーパ濃度学習値とは前記パージガス中のベーパ成分の濃度を反映する係数である。これら両係数を乗算したものをパージ空燃比補正係数として、空燃比の補正に用いることとなる。
【０００６】
このように構成された内燃機関では、燃料ベーパがパージされているときに空燃比が目標空燃比からずれたときには、パージ空燃比補正係数を算出するためのベーパ濃度学習値の更新が行われる。この際、ベーパ濃度学習値が上記パージ率に関係なく予め定められた一定量だけ更新されると、特にパージ率が小さい状態から大きい状態になったときに空燃比が目標空燃比からずれてしまうという問題がある。
【０００７】
すなわち、内燃機関の空燃比はパージ作用の影響のみによって変動するわけではなく、車両の走行状態の変化によっても変動する。従って空燃比のずれが全てパージ作用の影響によるものとして空燃比のずれ量を全てベーパ濃度学習値の更新量に反映させると、算出されたベーパ濃度学習値は実際のベーパ濃度に対してずれを生じることになる。このように算出されたベーパ濃度学習値が実際のベーパ濃度に対してずれると、パージ率が変化しないとき及びパージ率が小さくなるときには特に問題を生じないが、パージ率が小さな値から大きくなるときに問題を生ずる。
【０００８】
例えば今、パージ作用の影響ではなく車両の走行状態の変化によって空燃比が目標空燃比に対し２％ずれており、パージ率が小さな値、例えば０．５％だったとする。このとき空燃比のずれが全てパージ作用の影響によるものとして空燃比のずれ量が全てベーパ濃度学習値の更新量に反映されると、算出されたベーパ濃度学習値は実際のベーパ濃度に対し単位パージ率当り４％（＝２％／０．５％）のずれを生じていることになる。この場合、パージ率が０．５％に維持されていると算出されたベーパ濃度学習値は実際のベーパ濃度に対して４％ずれ続けることになる。
【０００９】
ところがパージ率が例えばパージ率が０．５％から５％まで上昇したとすると、算出されたベーパ濃度学習値のずれ量は２０％（＝単位パージ率当りのずれ量４％×パージ率５％）となる。算出されたベーパ濃度学習値のずれ量が２０％にもなると、この算出されたベーパ濃度学習値に基いて補正された燃料供給量は目標空燃比に維持するのに必要な燃料供給量に比べて大幅にずれ、これによって空燃比が目標空燃比に対して大幅にずれるという問題を生ずる。
【００１０】
一方、車両の走行状態の影響によって空燃比が目標空燃比に対し２％ずれており、パージ率が大きな値、例えば５％だったとすると、このとき算出されたベーパ濃度学習値は単位パージ率当り０．４％（＝２／５％）にすぎない。従ってこのときにはベーパ濃度学習値の誤差は小さく、特に問題とはならない。また、このようにパージ率が大きな値から低下したときにはベーパ濃度学習値のずれ量が次第に小さくなるので、この場合にも特に問題とはならない。すなわち、問題を生ずるのはパージ率が低いときにベーパ濃度学習値を更新するときである。
【００１１】
このような問題点を解決するため、例えば特許文献１では、ベーパ濃度学習値を更新する際、パージ率が小さいときにはパージ率が大きいときに比べてベーパ濃度学習値の更新量を小さな値に設定するようにしている。これにより、車両の走行状態の影響による空燃比のずれによるベーパ濃度の誤学習を防止することができるようにしている。
【００１２】
【特許文献１】
特開平１０−２２７２４２号公報
【００１３】
【発明が解決しようとする課題】
ところが、上記特許文献１に記載された技術のように、パージ率は吸気通路内を流れる吸入空気の流量に対するパージ流量の理論的な割合であって、このパージ率が小さい値であることは吸入空気量に対してパージ流量が少ない状態である。しかもこのようにパージ率が小さい値である場合には吸気通路に作用する吸気負圧も小さい。パージ流量は吸気通路に作用する吸気負圧の大きさによってその流量がばらつく。また、内燃機関毎に吸気負圧に対する圧損ばらつきがあるため、吸気負圧が小さい値となるパージ率が小さい状態においては、内燃機関毎にパージ流量がばらつくこととなる。従って、上記公報のように、パージ率が小さい値であるときに単にベーパ濃度学習値の更新量を小さな値に設定するものでは、パージ流量のばらつきが考慮されていないため、ベーパ濃度の誤学習のおそれがある。よって、パージ率が小さいときには燃料ベーパの濃度が正確に求められず、燃料噴射量の算出が不正確となり、空燃比制御の精度が低下するという問題がある。
【００１４】
本発明は、こうした実情に鑑みてなされたものであって、その目的は、内燃機関の負荷の大きさによるパージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、空燃比制御の精度を向上させることができる内燃機関の制御装置を提供することにある。
【００１５】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の発明は、燃料タンク内で発生する燃料ベーパを一時的に捕集するキャニスタと、その捕集した燃料ベーパを含むパージガスを内燃機関の吸気通路に発生する吸気負圧に基づいてパージするパージ手段と、目標空燃比に対する空燃比のずれ量に基づいてベーパ濃度を算出するベーパ濃度学習手段と、該ベーパ濃度学習手段により算出されたベーパ濃度に基づいて空燃比が目標空燃比となるように燃料噴射量を設定する噴射量設定手段と、を備えた内燃機関の制御装置において、前記ベーパ濃度学習手段は、前記内燃機関の負荷が大きいときには負荷が小さいときに比較して前記ベーパ濃度学習値の更新量を小さくすることを特徴とする。
【００１６】
燃料ベーパのパージを実行しているときに、空燃比が目標空燃比からずれたときには、ベーパ濃度学習値が更新される。この際、内燃機関の負荷が大きいときには吸気通路に発生する吸気負圧も小さく、内燃機関毎に吸気負圧に対する圧損ばらつきがあるため、パージ流量がばらつくこととなる。
【００１７】
この点に関して、上記構成によれば、内燃機関の負荷が大きいときには負荷が小さいときに比較してベーパ濃度学習値の更新量が小さくされるため、パージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、空燃比制御の精度が向上する。
【００１８】
請求項２に記載の発明は、請求項１に記載の内燃機関の制御装置において、前記負荷が大きい状態は前記吸気通路に発生する吸気負圧が小さい状態であることを特徴とする。
【００１９】
請求項３に記載の発明は、請求項１に記載の内燃機関の制御装置において、前記負荷は、前記内燃機関に吸入される吸入空気量であることを特徴とする。
内燃機関に吸入される吸入空気量が大きい状態では吸気通路に発生する吸気負圧も小さく、内燃機関毎に吸気負圧に対する圧損ばらつきがあるため、パージ流量がばらつくこととなる。
【００２０】
この点に関して、上記構成によれば、内燃機関の吸入空気量が大きいときには吸入空気量が小さいときに比較してベーパ濃度学習値の更新量が小さくされるため、パージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、空燃比制御の精度が向上する。
【００２１】
請求項４に記載の発明は、請求項１に記載の内燃機関の制御装置において、前記負荷は、前記内燃機関の吸気圧力であることを特徴とする。
内燃機関の吸気圧力が大きい状態では吸気通路に発生する吸気負圧が小さく、内燃機関毎に吸気負圧に対する圧損ばらつきがあるため、パージ流量がばらつくこととなる。
【００２２】
この点に関して、上記構成によれば、内燃機関の吸気圧力が大きいときには吸気圧力が小さいときに比較してベーパ濃度学習値の更新量が小さくされるため、パージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、空燃比制御の精度が向上する。
【００２３】
請求項５に記載の発明は、請求項１〜４のいずれかに記載の内燃機関の制御装置において、前記ベーパ濃度学習手段は、さらに、前記パージ手段によってパージされるパージ流量のパージ率が小さいときにはパージ率が大きいときに比較して前記ベーパ濃度学習値の更新量を小さくすることを特徴とする。
【００２４】
パージ率が小さいとき、すなわちパージ流量が小さいときに学習したベーパ濃度学習値にずれがあると、パージ率が変化して大きくなったときにベーパ濃度学習値が大幅にずれ、空燃比が目標空燃比から大幅にずれることになる。
【００２５】
この点に関して、上記構成によれば、パージ率が小さいときにはパージ率が大きいときに比べてベーパ濃度学習値の更新量を小さな値に設定するようにしているため、ベーパ濃度の誤学習を抑制することができるようになる。
【００２６】
【発明の実施の形態】
以下、本発明に係る内燃機関の制御装置を具体化した実施の形態を図面を参照して説明する。
【００２７】
図１は、本実施の形態に係る燃料ベーパ処理装置を備えた自動車のエンジンシステムを示す概略構成図である。同システムは燃料を収容するための燃料タンク１を備える。
【００２８】
燃料タンク１に内蔵されるポンプ４から延びるメインライン５はデリバリパイプ６に接続される。このデリバリパイプ６に設けられた複数のインジェクタ７はエンジン８に設けられた複数の気筒（図示略）に対応して配置される。デリバリパイプ６から延びるリターンライン９は燃料タンク１に接続される。ポンプ４から吐出された燃料はメインライン５を通ってデリバリパイプ６に至り、各インジェクタ７へと分配される。各インジェクタ７は電子制御装置（ＥＣＵ）３１による制御のもとにエンジン８の各気筒へ燃料を噴射供給する。
【００２９】
吸気通路１０はエアクリーナ１１及びサージタンク１０ａを含む。エアクリーナ１１を通って浄化された空気は吸気通路１０に導入される。各インジェクタ７から噴射された燃料とこの導入される空気との混合気はエンジン８の各気筒に供給され、燃焼に供される。デリバリパイプ６において各インジェクタ７へ分配されることなく余った燃料は、上記リターンライン９を通って燃料タンク１に戻される。燃焼後の排気ガスはエンジン８の各気筒から排気通路１２を通って外部へ排出される。
【００３０】
燃料ベーパ処理装置は燃料タンク１で発生する燃料ベーパを大気中に放出させることなく捕集して処理する。この処理装置は燃料タンク１で発生するベーパをベーパライン１３を通じて捕集するキャニスタ１４を有する。キャニスタ１４の中は活性炭等の吸着剤１５により占められる部分と、その吸着剤１５の上下に位置する空間１４ａ，１４ｂとを含む。
【００３１】
キャニスタ１４に設けられた第１大気弁１６は逆止弁よりなる。この大気弁１６は、キャニスタ１４の内圧が大気圧よりも小さいときに開いてキャニスタ１４に対する外気（大気圧）の導入を許容し、その逆方向の気体の流れを阻止する。この大気弁１６から延びるエアパイプ１７はエアクリーナ１１に接続される。従って、キャニスタ１４にはエアクリーナ１１により浄化された外気が導入される。キャニスタ１４の内部に設けられた第２大気弁１８も逆止弁よりなる。この大気弁１８はキャニスタ１４の内圧が大気圧よりも大きくなったときに開いてキャニスタ１４からアウトレットパイプ１９に対する気体（内圧）の導出を許容し、その逆方向の気体の流れを阻止する。
【００３２】
キャニスタ１４に設けられたベーパ制御弁２０は燃料タンク１からキャニスタ１４へ流れるベーパを制御する。この制御弁２０は前記ベーパライン１３を含む燃料タンク１の側の内圧（以下タンク側内圧という）と、キャニスタ１４の側の内圧（以下キャニスタ側内圧という）との差に基づいて開かれることにより、キャニスタ１４に対するベーパの流入を許容する。
【００３３】
キャニスタ１４から延びるパージライン２１はサージタンク１０ａに連通している。キャニスタ１４はベーパライン１３を通じて導入される気体中の燃料成分だけを吸着剤１５に吸着させて捕集し、燃料成分を含まない気体だけを大気弁１８が開いたときにアウトレットパイプ１９を通じて外部へ排出する。エンジン８の運転時には、吸気通路１０で発生する吸気負圧がパージライン２１に作用する。この状態で、パージライン２１に設けられたパージ制御弁２２が開弁されると、キャニスタ１４に捕集された燃料ベーパ、及び燃料タンク１からキャニスタ１４に導入されて吸着剤１５に吸着されることのない燃料ベーパが、そのパージライン２１を通じて吸気通路１０へパージされる。パージ制御弁２２は電気信号の供給を受けて弁体を移動させる電磁弁であり、その開度がＥＣＵ３１によってデューティ制御されることにより、パージライン２１を通過するベーパを含むパージガスの流量をエンジン８の運転状態に応じて調整する。
【００３４】
各種センサ２５〜３０は、エンジン８の運転状態を検出する。吸気通路１０内のスロットル２５ａ近傍に設けられたスロットルセンサ２５は、アクセルペダルの踏込み量に対応したスロットル開度ＴＡを検出し、その開度ＴＡに応じた信号を出力する。エアクリーナ１１の近傍に設けられた吸気温センサ２６は吸気通路１０に吸入される空気の温度（吸気温度）ＴＨＡを検出し、その温度ＴＨＡに応じた信号を出力する。同エアクリーナ１１の近傍に設けられた吸気量センサ２７は吸気通路１０に吸入される空気量（吸気量）Ｑを検出し、その吸気量Ｑに応じた信号を出力する。エンジン８に設けられた水温センサ２８はエンジンブロック８ａの内部を流れる冷却水の温度（冷却水温）ＴＨＷを検出し、その温度ＴＨＷに応じた信号を出力する。エンジン８に設けられたクランク角センサ（回転速度センサ）２９はエンジン８のクランクシャフト８ｂの回転速度（エンジン回転数）ＮＥを検出し、その回転速度ＮＥに応じた信号を出力する。排気通路１２に設けられた酸素センサ３０は排気通路１２を通過する排気ガス中の酸素濃度を検出し、その濃度の高さに応じた信号を出力する。
【００３５】
ＥＣＵ３１は、これら各種センサ２５〜３０から出力される信号を入力する。また、同ＥＣＵ３１は、エンジン８における混合気の空燃比がエンジン８の運転状態に適した目標空燃比となるように、各インジェクタ７から噴射される燃料量を制御するための空燃比制御を実行する。
【００３６】
さらに、ＥＣＵ３１はエンジン８の運転状態に適したパージ流量に制御すべく、パージ制御弁２２の開閉制御を行う。すなわち、上記各種センサの信号からエンジン８運転状態を判断し、更にその判断に基づいて、パージ制御弁２２の開閉をデューティ制御する。ここで、キャニスタ１４から吸気通路１０へパージされるベーパはエンジン８における混合気の空燃比に影響をおよぼす。そのため、ＥＣＵ３１はエンジン８の運転状態に応じてパージ制御弁２２の開度を決定する。
【００３７】
加えて、ＥＣＵ３１はパージ処理が実行されているときに、空燃比制御の制御結果と、酸素センサ３０により検出される酸素濃度値に基づき、パージガス中の燃料ベーパの濃度（以下、ベーパ濃度）を学習する。前述のように、空燃比が小さくなった場合（リッチ）、エンジン８の排気ガス中に含まれるＣＯ等の濃度が増加し、酸素濃度が減少する。そこで、ＥＣＵ３１は、酸素センサ３０により検出される排気ガス中の酸素濃度の値に基づき、ベーパ濃度値ＦＧＰＧを学習する。言い換えれば、ＥＣＵ３１は、目標空燃比に対する検出空燃比のずれに基づき、ベーパ濃度値ＦＧＰＧを求める。ＥＣＵ３１は、このベーパ濃度値ＦＧＰＧに基づきパージ制御弁２２の開度に相当するデューティ比ＤＰＧの値を決定し、その値に応じた駆動パルス信号を制御弁２２に出力する。
【００３８】
またＥＣＵ３１は、基本的にはエンジン８の運転状態に応じて予め設定されている基本燃料噴射量（時間）ＴＰを、前記ベーパ濃度値ＦＧＰＧや、空燃比フィードバック制御により算出される空燃比フィードバック補正係数ＦＡＦ等を加味して補正し、最終的な目標燃料噴射量（時間）ＴＡＵを決定する。
【００３９】
図２のブロック図に示すように、ＥＣＵ３１は中央処理装置（ＣＰＵ）３２、読み出し専用メモリ（ＲＯＭ）３３、ランダムアクセスメモリ（ＲＡＭ）３４、バックアップＲＡＭ３５及びタイマカウンタ３６等を備える。ＥＣＵ３１はこれら各部３２〜３６と、外部入力回路３７と、外部出力回路３８等とをバス３９により接続してなる論理演算回路を構成する。ここで、ＲＯＭ３３は空燃比制御及びパージ制御等に関する所定の制御プログラム等を予め記憶する。ＲＡＭ３４はＣＰＵ３２の演算結果等を一時記憶する。バックアップＲＡＭ３５はバッテリバックアップされた不揮発性のＲＡＭであり、書き込まれたデータをＥＣＵ３１の非能動時（電源オフ時）においても保存する。タイマカウンタ３６は同時に複数の計時動作を行うことができる。外部入力回路３７はバッファ、波形成形回路、ハードフィルタ（電気抵抗及びコンデンサよりなる回路）及びＡ／Ｄ変換器等を含む。外部出力回路３８は駆動回路等を含む。各種センサ２５〜３０は外部入力回路３７につながる。上記インジェクタ７やパージ制御弁２２等は外部出力回路３８につながる。
【００４０】
ＣＰＵ３２は外部入力回路３７を介して入力される各種センサ２５〜３０の検出信号を読み込む。ＣＰＵ３２はそれら入力値に基づき空燃比フィードバック制御、空燃比学習、パージ制御、ベーパ濃度学習、及び燃料噴射制御等を実行する。
【００４１】
図３は前記ＥＣＵ３１にて実行される内燃機関の空燃比制御手順のメインルーチンを示すフローチャートである。ＥＣＵ３１は、予め決定された周期毎にメインルーチンを実行する。メインルーチンの実行を開始すると、まずステップ１００にて、空燃比制御の基礎となる補正係数であるフィードバック補正係数ＦＡＦを算出する。続くステップ１０２において、ＥＣＵ３１は、空燃比を学習する。次に、ステップ１０４において、ＥＣＵ３１は、ベーパ濃度の学習及び燃料噴射時間の算出を行う。
【００４２】
以下に、図３のステップ１００，１０２，１０４の各々で実行される処理内容を詳細に説明する。先ず、図４は、図３のステップ１００で実行されるフィードバック補正係数ＦＡＦ算出ルーチンを示すフローチャートである。図４に示すように、まず初めにステップ１１０において空燃比のフィードバック制御条件が成立しているかどうかが判別される。フィードバック制御条件が成立していないときにはステップ１３６に進んでフィードバック補正係数ＦＡＦが１．０に固定され、次いでステップ１３８においてフィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶ（後述する）が１．０に固定される。次いでステップ１３４に進む。
【００４３】
これに対してステップ１１０においてフィードバック制御条件が成立しているときにはステップ１１２に進む。
ステップ１１２では酸素センサ３０の出力電圧Ｖが０．４５（Ｖ）以上かどうか、すなわち混合気の空燃比が目標空燃比（例えば理論空燃比）以下であるか否かが判別される。なお、これ以降、空燃比が目標空燃比より低いことを、単に混合気がリッチであると言う。また、空燃比が目標空燃比より高いことを、単に混合気がリーンであると言う。出力電圧Ｖ≧０．４５（Ｖ）のとき、即ち混合気がリッチのときにはステップ１１４に進んで前回の処理サイクル時に混合気がリーンであったかどうかが判別される。前回の処理サイクル時に混合気がリーンのとき、即ちリーンからリッチに変化したときにはステップ１１６に進んで、現在のフィードバック補正係数ＦＡＦがＦＡＦＬとして保持され、ステップ１１８に進む。ステップ１１８では現在のフィードバック補正係数ＦＡＦから予め定められたスキップ値Ｓを減算した結果が、新たなフィードバック補正係数ＦＡＦとして設定される。従って、フィードバック補正係数ＦＡＦはスキップ値Ｓだけ急激に減少する。
【００４４】
一方、ステップ１１２において出力電圧Ｖ＜０．４５（Ｖ）であると判断されたとき、即ち混合気がリーンのときにはステップ１２６に進んで前回の処理サイクル時に混合気がリッチであったかどうかが判別される。前回の処理サイクル時に混合気がリッチのとき、即ちリッチからリーンに変化したときにはステップ１２８に進んで、現在のフィードバック補正係数ＦＡＦがＦＡＦＲとして保持され、ステップ１３０に進む。ステップ１３０では現在のフィードバック補正係数ＦＡＦに前記スキップ値Ｓを加算した結果が、新たなフィードバック補正係数ＦＡＦとして設定される。従って、フィードバック補正係数ＦＡＦはスキップ値Ｓだけ急激に増大する。
【００４５】
前記ステップ１１８或いはステップ１３０からステップ１２０に進むと、現在保持されているＦＡＦＬとＦＡＦＲとの合計を２で割った結果が、前記平均値ＦＡＦＡＶとして設定される。つまり、平均値ＦＡＦＡＶは、変動するフィードバック補正係数ＦＡＦの平均値を示す。次いでステップ１２２ではスキップフラグがセットされる。次いでステップ１３４に進む。
【００４６】
一方、ステップ１１４において前回の処理サイクル時には混合気がリッチであったと判別されたときはステップ１２４に進んで、現在のフィードバック補正係数ＦＡＦから積分値Ｋ（Ｋ≪Ｓ）が減算され、次いでステップ１３４に進む。従って、フィードバック補正係数ＦＡＦは徐々に減少する。また、ステップ１２６において前回の処理サイクル時にはリーンであったと判別されたときはステップ１３２に進んで、現在のフィードバック補正係数ＦＡＦに積分値Ｋ（Ｋ≪Ｓ）が加算され、次いでステップ１３４に進む。従って、フィードバック補正係数ＦＡＦは徐々に増大する。
【００４７】
ステップ１３４ではフィードバック補正係数ＦＡＦが上限値１．２と下限値０．８との間の値に制御される。即ち、フィードバック補正係数ＦＡＦが１．２と０．８との間の値であれば、フィードバック補正係数ＦＡＦの値がそのまま採用される。しかし、フィードバック補正係数ＦＡＦが１．２よりも大きい場合には１．２に設定され、０．８よりも小さい場合には０．８に設定されるステップ１３４が終了すると、フィードバック補正係数ＦＡＦ算出ルーチンを終了する。
【００４８】
なお、図５は空燃比が目標空燃比に維持されているときの酸素センサ３０の出力電圧Ｖとフィードバック補正係数ＦＡＦとの関係を示すグラフである。図５に示されるように酸素センサ３０の出力電圧Ｖが基準電圧、例えば０．４５（Ｖ）よりも低い値から基準電圧よりも高い値に変化すると、即ち混合気がリーンからリッチに変化すると、フィードバック補正係数ＦＡＦはスキップ値Ｓだけ急激に低下され、次いで積分値Ｋでもって徐々に減少される。これに対して酸素センサ３０の出力電圧Ｖが基準電圧よりも高い値から低い値に変化すると、即ち混合気がリッチからリーンに変化すると、フィードバック補正係数ＦＡＦはスキップ値Ｓだけ急激に増大され、次いで積分値Ｋでもって徐々に増大される。
【００４９】
燃料噴射量は、フィードバック補正係数ＦＡＦが小さくなると減少し、フィードバック補正係数ＦＡＦが大きくなると増大する。混合気がリッチになるとフィードバック補正係数ＦＡＦが減少されるので、燃料噴射量が減少される。混合気がリーンになるとフィードバック補正係数ＦＡＦが増大されるために燃料噴射量が増大される。その結果、空燃比は目標空燃比（理論空燃比）に制御されることになる。図５に示されるように、フィードバック補正係数ＦＡＦは基準値、即ち１．０を中心として変動する。
【００５０】
また、図５においてＦＡＦＬは混合気がリーンからリッチになったときのフィードバック補正係数ＦＡＦの値を示しており、ＦＡＦＲは混合気がリッチからリーンになったときのフィードバック補正係数ＦＡＦの値を示している。
【００５１】
図６は、図３のステップ１０２で実行される空燃比学習ルーチンを示すフローチャートである。図６に示すように、まず初めにステップ１５０において空燃比の学習条件が成立しているかどうかが判別される。空燃比の学習条件が成立していないときにはステップ１６６にジャンプし、空燃比の学習条件が成立しているときにはステップ１５２に進む。ステップ１５２ではスキップフラグ（図４のステップ１２２参照）がセットされているかどうかが判別され、スキップフラグがセットされていないときにはステップ１６６にジャンプする。これに対してスキップフラグがセットされているときにはステップ１５４に進んでスキップフラグがリセットされ、次いでステップ１５６に進む。即ち、図５のステップ１１８でフィードバック補正係数ＦＡＦからスキップ値Ｓが減算された場合、或いは図５ステップ１３０でフィードバック補正係数ＦＡＦにスキップ値Ｓが加算された場合には、ステップ１５６に進むことになる。以下、フィードバック補正係数ＦＡＦがスキップ値Ｓ分だけ急変することを、フィードバック補正係数ＦＡＦがスキップされると言う。
【００５２】
ステップ１５６ではパージ率ＰＧＲが零であるかどうか、即ち燃料ベーパのパージが行われているかどうか（パージ制御弁２２が開いているか否か）が判別される。パージ率ＰＧＲとは、吸気通路１０内を流れる吸入空気の流量に対するパージガスの流量をいう。パージ率ＰＧＲが零でないとき、即ちパージが行われているときには、図８に示されるベーパ濃度の学習ルーチンへ進む。これに対してパージ率ＰＧＲが零のとき、即ちパージが行われていないときにはステップ１５８に進んで空燃比の学習が行われる。
【００５３】
即ち、まず初めにステップ１５８においてフィードバック補正係数の平均値ＦＡＦＡＶが１．０２以上であるかどうかが判別される。平均値ＦＡＦＡＶ≧１．０２のときにはステップ１６４に進んで空燃比の学習値ＫＧｊに一定値Ｘが加算される。なお、ＥＣＵ３１のＲＡＭ３４には、異なる複数の機関負荷領域にそれぞれ対応して、複数個の学習領域ｊが予め定められており、各学習領域ｊに対してそれぞれ空燃比の学習値ＫＧｊが格納される。従ってステップ１６４では、現在の機関負荷に対応する学習領域ｊ内の学習値ＫＧｊが更新される。次いでステップ１６６に進む。
【００５４】
一方、ステップ１５８においてフィードバック補正係数の平均値ＦＡＦＡＶ＜１．０２であると判別されたときにはステップ１６０に進んで平均値ＦＡＦＡＶが０．９８以下であるかどうかが判別される。平均値ＦＡＦＡＶ≦０．９８のときにはステップ１６２に進んで機関負荷に対応する学習領域ｊ内の学習値ＫＧｊから一定値Ｘが減算される。一方、ステップ１６０においてＦＡＦＡＶ＞０．９８であると判別されたとき、即ち平均値ＦＡＦＡＶが０．９８と１．０２との間にあるときには空燃比の学習値ＫＧｊを更新することなくステップ１６６にジャンプする。
【００５５】
ステップ１６６では機関始動中であるかどうかが判別され、機関始動中のときにはステップ１６８に進んで、初期化処理が実行される、具体的にはベーパ濃度値ＦＧＰＧが零とされ、パージ実行時間カウント値ＣＰＧＲがクリアされる。次いで図９に示される燃料噴射時間の算出ルーチンに進む。一方、始動時でない場合には図９に示される燃料噴射時間の算出ルーチンに直接進む。
【００５６】
図８は図３のステップ１０４で実行されるベーパ濃度学習ルーチンを示すフローチャートであり、図９は同じく図３のステップ１０４で実行される燃料噴射時間算出ルーチンを示すフローチャートである。
【００５７】
図８のベーパ濃度学習ルーチンを説明する前に、図７のグラフを参照してベーパ濃度学習の考え方について説明する。ベーパ濃度の学習はベーパ濃度を正確に求めることから始まる。ベーパ濃度値ＦＧＰＧの学習の過程が、図７に示されている。
【００５８】
パージ空燃比補正係数（以下、パージＡ／Ｆ補正係数と記載する）ＦＰＧは燃焼室に導入される燃料ベーパの量を反映する係数であり、ベーパ濃度値ＦＧＰＧにパージ率ＰＧＲを乗算することによって得られる。ベーパ濃度値ＦＧＰＧは、フィードバック補正係数ＦＡＦがスキップ値Ｓ分だけ変化する毎に（図４のステップ１１８，１３０参照）、次式（１），（２）に基づいて算出される。
【００５９】
【数１】
ｔＦＧ←｛（１−ＦＡＦＡＶ）／ＰＧＲ｝×ＫＲＰＧ　　…（１）
ＦＧＰＧ←ＦＧＰＧ＋ｔＦＧ　　　　　　　　　　　　　…（２）
値ＦＡＦＡＶは、図４のステップ１２０で説明したように、フィードバック補正係数ＦＡＦの平均値を示している。値ＫＲＰＧは、更新量補正係数であり、更新量補正係数ＫＲＰＧは図１４に示されるように、パージ率ＰＧＲ及び負荷率ＫＬＯＡＤによるマップに基づいて算出される。この更新量補正係数ＫＲＰＧのマップは予めＲＯＭ３３内に記憶されている。なお、負荷率ＫＬＯＡＤは、エンジン８への最大吸入空気量に対するその運転状態における吸入空気量の割合である。負荷率ＫＬＯＡＤが大きい状態は吸気圧力が大きい状態であり、吸気負圧は小さくなる。逆に、負荷率ＫＬＯＡＤが小さい状態は吸気圧力が小さい状態であり、吸気負圧は大きくなる。この更新量補正係数ＫＲＰＧは、負荷率ＫＬＯＡＤが大きい値、すなわち吸気負圧が小さい値であるほど小さい値が採用され、負荷率ＫＬＯＡＤが小さい値、すなわち吸気負圧が大きい値であるほど１．０に近づくような大きい値が採用される。また、更新量補正係数ＫＲＰＧは、パージ率ＰＧＲが大きい値であるほど大きい値が採用され、パージ率ＰＧＲが小さい値であるほど小さい値が採用される。
【００６０】
すなわち、パージ率ＰＧＲは吸気通路１０内を流れる吸入空気量に対するパージ流量の理論的な割合であって、このパージ率ＰＧＲが小さい値であることは吸入空気量に対してパージ流量が少ない状態である。しかもこのようにパージ率が小さい値である場合には吸気通路１０に作用する吸気負圧も小さい。図１５に示されるように、負荷率ＫＬＯＡＤが大きい、すなわち吸気負圧が小さいほど、パージ制御弁２２における圧損のばらつきが大きくなり、パージ制御弁２２を全開としたときのパージ流量ＫＰＱのばらつきが大きくなる。また、エンジン８毎に吸気負圧に対するパージ制御弁２２の圧損ばらつきがあるため、吸気負圧が小さい値となるパージ率が小さい状態においては、エンジン８毎にパージ制御弁２２を介してパージされるパージ流量がばらつくこととなる。従って、パージ率ＰＧＲが小さい値であるときに単にベーパ濃度学習値ＦＧＰＧの更新量を小さな値に設定していたのでは、パージ流量のばらつきが考慮されておらず、ベーパ濃度の誤学習のおそれがある。そのため、本実施形態では更新量補正係数ＫＲＰＧは図１４に示されるように、パージ率ＰＧＲ及び負荷率ＫＬＯＡＤによるマップに基づいて算出される。
【００６１】
そして、この平均値ＦＡＦＡＶ、パージ率ＰＧＲ及び更新量補正係数ＫＲＰＧに基づき、ベーパ濃度値ＦＧＰＧの更新量ｔＦＧが求められる。そして、フィードバック補正係数ＦＡＦがスキップ値Ｓ分だけ変化する毎に、求められた更新量ｔＦＧがベーパ濃度値ＦＧＰＧに加算される。
【００６２】
図７に示すように、パージが開始されると混合気がリッチとなるために、空燃比を理論空燃比とすべくフィードバック補正係数ＦＡＦが小さくなる。時刻ｔ１において、酸素センサ３０の検出結果に基づき混合気がリッチからリーンに切替ったと判断されると、フィードバック補正係数ＦＡＦは増大される。パージが開始されてから時刻ｔ１に至るまでのフィードバック補正係数ＦＡＦの変化量ΔＦＡＦは、パージによる空燃比の変動量を表しており、この変化量ΔＦＡＦは時刻ｔ１におけるベーパ濃度を表わしている。
【００６３】
時刻ｔ１に達すると空燃比は理論空燃比に維持される。その後、空燃比が理論空燃比に維持された状態でフィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶを１．０まで戻すべく、ベーパ濃度値ＦＧＰＧが、フィードバック補正係数ＦＡＦがスキップ値Ｓ分だけ変化する毎に徐々に更新される。ベーパ濃度値ＦＧＰＧの一回当りの更新量ｔＦＧは、前記の式（１）に示されるように、｛（１−ＦＡＦＡＶ）／ＰＧＲ｝×ＫＲＰＧで表される。
【００６４】
図７に示されるように、ベーパ濃度値ＦＧＰＧの更新が数回繰返されると、フィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶは１．０に戻り、その後はベーパ濃度値ＦＧＰＧは一定となる。ベーパ濃度値ＦＧＰＧが一定になるということは、このベーパ濃度値ＦＧＰＧが実際のベーパ濃度を正確に表わしていることを意味しており、言い換えればベーパ濃度の学習が完了したことを意味している。
【００６５】
一方、燃焼室に導入される燃料ベーパ量は、単位パージ率当りのベーパ濃度値ＦＧＰＧにパージ率ＰＧＲを乗算した値によって反映される。従って、燃料ベーパ量を反映するパージＡ／Ｆ補正係数ＦＰＧ（＝ＦＧＰＧ・ＰＧＲ）は、図７に示されるようにベーパ濃度値ＦＧＰＧが更新される毎に更新され、パージ率ＰＧＲが増大するにつれて増大する。
【００６６】
パージ開始後におけるベーパ濃度の学習が一旦完了した後においても、ベーパ濃度が変化すればフィードバック補正係数ＦＡＦは１．０からずれる。このときにも、上記式１を用いて、ベーパ濃度値ＦＧＰＧの更新量ｔＦＧが算出される。
【００６７】
続いて、図８のベーパ濃度学習ルーチンについて説明する。図８のベーパ濃度学習ルーチンは、上述した図６のステップ１５６においてパージが行われていると判断されたときに開始される。図８に示すように、まず初めにステップ１８０において、フィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶが所定範囲内にあるかどうか、即ち１．０２＞ＦＡＦＡＶ＞０．９８であるかどうかが判別される。１．０２＞ＦＡＦＡＶ＞０．９８であるときにはステップ１８６に進んで更新量ｔＦＧが零とされ、次いでステップ１８８に進む。従ってこのときにはベーパ濃度値ＦＧＰＧは更新されない。
【００６８】
一方、ステップ１８０においてＦＡＦＡＶ≧１．０２であるか又はＦＡＦＡＶ≦０．９８であるときには、ステップ１８２に進んで、図１４に示されるように、パージ率ＰＧＲ及び負荷率ＫＬＯＡＤによるマップに基づいて更新量補正係数ＫＲＰＧが算出される。
【００６９】
次にステップ１８４に進んで、前記ステップ１８２にて求められた更新量補正係数ＫＲＰＧを用いて上記式（１）に基づき更新量ｔＦＧが算出される。次いでステップ１８８に進む。ステップ１８８ではベーパ濃度値ＦＧＰＧに更新量ｔＦＧが加算される。次いでステップ１９０ではベーパ濃度値ＦＧＰＧの更新回数を表している更新回数カウンタＣＦＧＰＧが１だけインクリメントされる。次いで図９に示される燃料噴射時間の算出ルーチンに進む。
【００７０】
次に、図９の燃料噴射時間算出ルーチンについて説明する。
まず初めにステップ２００において機関負荷Ｑ／Ｎ及び機関回転速度ＮＥに基づき基本燃料噴射時間ＴＰが算出される。なお、基本燃料噴射時間ＴＰは、空燃比を目標空燃比とするのに必要な、実験により求められた噴射時間であって、この基本燃料噴射時間ＴＰは機関負荷Ｑ／Ｎ（吸入空気量Ｑ／機関回転速度ＮＥ）及び機関回転速度ＮＥの関数として予めＲＯＭ３３内に記憶されている。
【００７１】
次いでステップ２０２では暖機増量等のための補正係数ＦＷが算出される。この補正係数ＦＷは、例えば、エンジン８の暖機運転時或いは車両加速時において燃料噴射量を増量するために用いられる。この補正係数ＦＷは、増量補正する必要がないときには１．０となる。
【００７２】
次いでステップ２０４ではベーパ濃度値ＦＧＰＧにパージ率ＰＧＲを乗算することによってパージ空燃比補正係数ＦＰＧが算出される。このパージＡ／Ｆ補正係数ＦＰＧはエンジン８の運転が開始されてからパージが開始されるまでの間はゼロとされ、パージの開始後は燃料ベーパの濃度が高くなるほど大きくなる。なお、エンジン８の運転中においてパージが一時的に停止されたときは、パージの停止期間中、パージＡ／Ｆ補正係数ＦＰＧはゼロとされる。
【００７３】
次いでステップ２０６では次式３に基づいて燃料噴射時間ＴＡＵが算出され、燃料噴射時間算出ルーチンを終了する。
【００７４】
【数２】
ＴＡＵ←ＴＰ・ＦＷ・（ＦＡＦ＋ＫＧｊ−ＦＰＧ）　　…（３）
上述したように、フィードバック補正係数ＦＡＦは酸素センサ３０の出力信号に基づいて空燃比を目標空燃比に制御するためのものである。目標空燃比としてはどのような空燃比を用いてもよいが、本実施形態では目標空燃比が理論空燃比とされており、従って以下目標空燃比を理論空燃比とした場合について説明する。酸素センサ３０は空燃比が過濃側のとき、即ち混合気がリッチのとき０．９（Ｖ）程度の出力電圧を発生し、空燃比が希薄側のとき、即ち混合気がリーンのとき０．１（Ｖ）程度の出力電圧を発生する。
【００７５】
図１０は、図３のメインルーチンに対して割り込み実行される割り込みルーチンを示すフローチャートである。この割り込みルーチンは、パージ制御弁２２に対して出力される駆動パルス信号のデューティ比ＤＰＧを計算すべく予め定められた計算周期に対応して実行される。図１０に示すように、ＥＣＵ３１は、割り込みルーチンを開始すると、まずステップ２１０においてパージ率を算出する。次いで、ＥＣＵ３１は、ステップ２１２においてパージ制御弁２２の駆動処理を行う。
【００７６】
以下に、図１０のステップ２１０，２１２の各々で実行される処理内容を詳細に説明する。先ず、図１１及び図１２は、図１０のステップ２１０で実行されるパージ率算出ルーチンを示すフローチャートである。
【００７７】
図１１に示すように、まず初めにステップ２２０において、前記デューティ比ＤＰＧの計算時期かどうかが判別される。デューティ比ＤＰＧの計算時期でないときには、このままパージ率算出ルーチンを終了する。これに対してデューティ比ＤＰＧの計算時期であるときにはステップ２２２に進んでパージ条件１が成立しているかどうか、例えばエンジン８の暖機が完了したかどうかが判別される。パージ条件１が成立していないときにはステップ２４２に進んで初期化処理が行われ、次いでステップ２４４ではデューティ比ＤＰＧおよびパージ率ＰＧＲが零とされ、パージ率算出ルーチンを終了する。ステップ２２２においてパージ条件１が成立しているときにはステップ２２４に進んでパージ条件２が成立しているかどうかが判別される。例えば、空燃比のフィードバック制御が行われており、且つ燃料の供給が行われている場合、パージ条件２が成立していると判定される。パージ条件２が成立していないときにはステップ２４４に進み、パージ条件２が成立しているときにはステップ２２６に進む。
【００７８】
ステップ２２６では全開パージ流量ＫＰＱと吸入空気量Ｇａとの比である全開パージ率ＰＧ１００が算出される。ここで全開パージ流量ＫＰＱはパージ制御弁２２を全開にしたときのパージ流量を表わしており、吸入空気量Ｇａは吸気量センサ２７（図１）により検出される。全開パージ率ＰＧ１００は、例えば機関負荷Ｑ／Ｎ（吸入空気量Ｇａ／機関回転速度ＮＥ）及び機関回転速度ＮＥの関数として、マップの形で予めＲＯＭ３３内に記憶されている。
【００７９】
機関負荷Ｑ／Ｎが低くなるほど吸入空気量Ｇａに対する全開パージ流量ＫＰＱは大きくなり、全開パージ率ＰＧ１００も機関負荷Ｑ／Ｎが低くなるほど大きくなる。また機関回転速度Ｎｅが低くなるほど吸入空気量Ｇａに対する全開パージ流量ＫＰＱは大きくなるので、全開パージ率ＰＧ１００は機関回転速度Ｎｅが低くなるほど大きくなる。
【００８０】
次いでステップ２２８ではフィードバック補正係数ＦＡＦが上限値ＫＦＡＦ１５（＝１．１５）と下限値ＫＦＡＦ８５（＝０．８５）との間にあるかどうかが判別される。ＫＦＡＦ１５＞ＦＡＦ＞ＫＦＡＦ８５のときには、即ち空燃比が理論空燃比にフィードバック制御されているときにはステップ２３０に進む。ステップ２３０ではパージ率ＰＧＲに一定値ＫＰＧＲｕを加算することによって目標パージ率ｔＰＧＲ（←ＰＧＲ＋ＫＰＧＲｕ）が算出される。即ち、ＫＦＡＦ１５＞ＦＡＦ＞ＫＦＡＦ８５のときには目標パージ率ｔＰＧＲが徐々に増大される。なお、この目標パージ率ｔＰＧＲに対しては上限値Ｐ（Ｐは例えば６％）が設定されており、従って目標パージ率ｔＰＧＲは上限値Ｐまでしか上昇できない。次いで図１２のステップ２３４に進む。
【００８１】
一方、図１１のステップ２２８においてＦＡＦ≧ＫＦＡＦ１５であるか又はＦＡＦ≦ＫＦＡＦ８５であると判別されたときにはステップ２３２に進み、パージ率ＰＧＲから一定値ＫＰＧＲｄを減算することによって目標パージ率ｔＰＧＲ（←ＰＧＲ−ＫＰＧＲｄ）が算出される。即ち、燃料ベーパのパージに起因して空燃比を理論空燃比に維持しえないときには目標パージ率ｔＰＧＲが減少される。なお、目標パージ率ｔＰＧＲに対しては下限値Ｔ（Ｔ＝０％）が設定されている。次いで図１２のステップ２３４に進む。
【００８２】
図１２に示すように、ステップ２３４では目標パージ率ｔＰＧＲを全開パージ率ＰＧ１００により除算することによって、パージ制御弁２２に対して出力される駆動パルス信号のデューティ比ＤＰＧ（←（ｔＰＧＲ／ＰＧ１００）・１００）が算出される。従って、デューティ比ＤＰＧ、即ちパージ制御弁２２の開弁量は全開パージ率ＰＧ１００に対する目標パージ率ｔＰＧＲの割合に応じて制御されることになる。その結果、目標パージ率ｔＰＧＲがどのようなパージ率であったとしても機関の運転状態にかかわらず実際のパージ率が目標パージ率に維持される。
【００８３】
例えば今、目標パージ率ｔＰＧＲが２％であり、現在の運転状態における全開パージ率ＰＧ１００が１０％であったとすると駆動パルスのデューティ比ＤＰＧは２０％となり、このときの実際のパージ率は２％となる。次いで運転状態が変化し、変化後の運転状態における全開パージ率ＰＧ１００が５％になったとすると駆動パルスのデューティ比ＤＰＧは４０％となり、このときの実際のパージ率は２％となる。即ち、目標パージ率ｔＰＧＲが２％であれば機関の運転状態にかかわらずに実際のパージ率は２％となり、目標パージ率ｔＰＧＲが変化して４％になれば機関の運転状態にかかわらずに実際のパージ率は４％に維持される。
【００８４】
次いでステップ２３６では全開パージ率ＰＧ１００にデューティ比ＤＰＧを乗算することによって理論パージ率ＰＧＲ（←ＰＧ１００・（ＤＰＧ／１００））が算出される。即ち、前述したようにデューティ比ＤＰＧは（ｔＰＧＲ／ＰＧ１００）・１００で表わされるので、目標パージ率ｔＰＧＲが全開パージ率ＰＧ１００よりも大きくなると、算出されるデューティ比ＤＰＧは１００％より大きくなる。しかしながらデューティ比ＤＰＧは実際には１００％より大きくならず、算出されるデューティ比ＤＰＧが１００％より大きい場合にはデューティ比ＤＰＧは１００％とされる。そのため、理論パージ率ＰＧＲは目標パージ率ｔＰＧＲよりも小さくなる場合がある。この理論パージ率ＰＧＲが、上記した図８のステップ１８２での更新量補正係数ＫＲＰＧの算出、図８のステップ１８４での更新量ｔＦＧの算出、図９のステップ２０４でのパージＡ／Ｆ補正係数ＦＰＧの算出、及び図１１のステップ２３０，２３２での目標パージ率ｔＰＧＲの算出等に用いられる。
【００８５】
次いでステップ２３８ではデューティ比ＤＰＧがＤＰＧＯとされ、パージ率ＰＧＲがＰＧＲＯとされる。次いでステップ２４０ではパージが開始されてからの時間を表しているパージ実行時間カウント値ＣＰＧＲが１だけインクリメントされ、パージ率算出ルーチンを終了する。
【００８６】
図１３は、図１０のステップ２１２で実行されるパージ制御弁２２の駆動処理ルーチンを示すフローチャートである。図１３に示すように、まず初めにステップ２５０においてパージ制御弁２２に出力される駆動パルス信号ＹＥＶＰの立上り時期であるかどうかが判別される。駆動パルス信号ＹＥＶＰの立上り時期であるときにはステップ２５２に進んでデューティ比ＤＰＧが零であるかどうかが判別される。ＤＰＧ＝０のときにはステップ２６０に進んで駆動パルス信号ＹＥＶＰがオフとされる。これに対してＤＰＧ＝０でないときにはステップ２５４に進んで駆動パルス信号ＹＥＶＰがオンにされる。次いでステップ２５６では現在の時刻ＴＩＭＥＲにデューティ比ＤＰＧを加算することによって駆動パルス信号ＹＥＶＰのオフ時刻ＴＤＰＧ（←ＤＰＧ＋ＴＩＭＥＲ）が算出され、パージ制御弁駆動処理ルーチンを終了する。
【００８７】
一方、ステップ２５０において駆動パルス信号ＹＥＶＰの立上り時期ではないと判別されたときにはステップ２５８に進んで現在の時刻ＴＩＭＥＲが駆動パルス信号ＹＥＶＰのオフ時刻ＴＤＰＧであるかどうかが判別される。ＴＤＰＧ＝ＴＩＭＥＲになるとステップ２６０に進んで駆動パルス信号ＹＥＶＰがオフとされてパージ制御弁駆動処理ルーチンを終了し、一方、ＴＤＰＧ＝ＴＩＭＥＲでないときは、そのままパージ制御弁駆動処理ルーチンを終了する。
【００８８】
以上説明した本実施の形態によれば、以下のような効果を得ることができる。
・　本実施形態では、燃料ベーパのパージを実行しているときに、空燃比が目標空燃比からずれたときには、ベーパ濃度学習値を更新するが、この際、エンジン８の負荷率ＫＬＯＡＤが大きいときには大きいときには負荷が小さいときに比較してベーパ濃度学習値ＦＧＰＧの更新量ｔＦＧを小さくするようにしている。そのため、エンジン８の負荷率ＫＬＯＡＤが大きい、すなわち吸気負圧が小さい場合のパージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、エンジン８の空燃比制御の精度が向上する。
【００８９】
・　また、本実施形態では、パージ制御弁２２によってパージされるパージ流量のパージ率ＰＧＲが小さいときにはパージ率ＰＧＲが大きいときに比較してベーパ濃度学習値ＦＧＰＧの更新量ｔＦＧを小さくするようにしている。パージ流量が少ないパージ率ＰＧＲが小さい状態では吸気通路１０に作用する吸気負圧も小さく、パージ制御弁２２における圧損のばらつきが大きくなり、パージ流量のばらつきが大きくなる。この点に関して、本実施形態によれば、パージ率が小さく吸気負圧が小さい場合のパージ流量のばらつきを考慮したベーパ濃度学習を行うことができ、エンジン８の空燃比制御の精度が向上する。
【００９０】
なお、実施の形態は上記に限定されるものではなく、次のように変更してもよい。
・　上記実施形態において、負荷率ＫＬＯＡＤに代えて、吸入空気量をエンジン８の負荷として採用し、吸入空気量及びパージ率ＰＧＲに基づいて更新量補正係数ＫＲＰＧを算出するようにしてもよい。エンジン８に吸入される吸入空気量が大きい状態では吸気通路１０に発生する吸気負圧は小さく、吸入空気量が小さい態では吸気通路１０に発生する吸気負圧は大きくなるためである。
【００９１】
・　上記実施形態において、負荷率ＫＬＯＡＤに代えて、吸気圧力をエンジン８の負荷として採用し、吸気圧力及びパージ率ＰＧＲに基づいて更新量補正係数ＫＲＰＧを算出するようにしてもよい。エンジン８の吸気圧力が大きい状態では吸気通路１０に発生する吸気負圧は小さく、吸気圧力が小さい態では吸気通路１０に発生する吸気負圧は大きくなるためである。この場合、吸気通路１０に吸気圧力を検出する吸気圧センサを設け、その検出圧力を吸気圧力として用いればよい。
【００９２】
・　上記実施形態では、更新量補正係数ＫＲＰＧをパージ率ＰＧＲ及び負荷率ＫＬＯＡＤによるマップに基づいて算出するようにしたが、更新量補正係数ＫＲＰＧを負荷率ＫＬＯＡＤのみに基づいて算出するようにしてもよい。
【図面の簡単な説明】
【図１】実施の形態の内燃機関システムを示す概略構成図。
【図２】図１のエンジンシステムにおける電子制御装置（ＥＣＵ）の電気的構成を示すブロック図。
【図３】図２のＥＣＵによる内燃機関の空燃比制御方法のメインルーチンを示すフローチャート。
【図４】図３のフィードバック補正係数ＦＡＦ算出ルーチンを示すフローチャート。
【図５】空燃比及び空燃比フィードバック補正係数の変化態様を示すタイムチャート。
【図６】図３の空燃比学習ルーチンを示すフローチャート。
【図７】ベーパ濃度学習の考え方を説明するグラフ。
【図８】図３のベーパ濃度学習ルーチンを示すフローチャート。
【図９】図３の燃料噴射時間算出ルーチンを示すフローチャート。
【図１０】図２のＥＣＵによる割り込みルーチンを示すフローチャート。
【図１１】図１０のパージ率算出ルーチンを示すフローチャート。
【図１２】図１０のパージ率算出ルーチンを示すフローチャート。
【図１３】図１０のパージ制御弁駆動処理ルーチンを示すフローチャート。
【図１４】パージ率及び負荷率による更新量補正係数のマップ。
【図１５】内燃機関の負荷率とパージ制御弁の全開パージ流量との関係を示すグラフ。
【符号の説明】
１…燃料タンク、８…エンジン（内燃機関）、１０…吸気通路、１４…キャニスタ、２２…パージ手段としてのパージ制御弁、３１…ベーパ濃度学習手段及び噴射量設定手段としてのＥＣＵ、ＦＧＰＧ…ベーパ濃度学習値、Ｇａ…吸入空気量、ＫＰＱ…パージ流量、ＰＧＲ…パージ率、ｔＦＧ…更新量。
【図１】
2004108360.tif 000003
【図２】
2004108360.tif 000004
【図３】
2004108360.tif 000005
【図４】
2004108360.tif 000006
【図５】
2004108360.tif 000007
【図６】
2004108360.tif 000008
【図７】
2004108360.tif 000009
【図８】
2004108360.tif 000010
【図９】
2004108360.tif 000011
【図１０】
2004108360.tif 000012
【図１１】
2004108360.tif 000013
【図１２】
2004108360.tif 000014
【図１３】
2004108360.tif 000015
【図１４】
2004108360.tif 000016
【図１５】
2004108360.tif 000017