(57)【要約】【課題】パージ制御弁閉弁指示時点以降において機関の空燃比が大きく変動することを抑えることが可能な内燃機関の制御装置を提供すること。【解決手段】ガス濃度学習部Ａ８は、フィードバック補正量FAFに基づいて蒸発燃料ガス濃度学習値を更新する。推定パージ率算出部Ａ９は、パージ制御弁を通過する蒸発燃料ガスの流量KPに基き、蒸発燃料ガスの輸送遅れ期間及び蒸発燃料ガスの挙動を考慮することにより、燃焼室２５に流入する推定パージ流量を推定する。指令噴射量決定部Ａ１０は蒸発燃料ガス濃度学習値と推定パージ流量とからパージ補正量を算出する。パージ停止時調整部Ａ１１は、パージ制御弁閉弁指示時点にて、フィードバック補正量を基本値に修正し、且つ、その基本値に修正される直前のフィードバック補正量による基本噴射量の補正分に相当する量がパージ補正量に加えられるように蒸発燃料ガス濃度学習値を修正する。【選択図】  図２
2008303857.tif 000002
【特許請求の範囲】
【請求項１】
燃料タンク内の燃料を噴射することにより燃焼室に燃料を供給する燃料噴射手段と、
前記燃料タンク内に発生した蒸発燃料を同蒸発燃料を含んだ蒸発燃料ガスとして吸気通路に導入するための通路であって同燃料タンクと同吸気通路とを接続したパージ通路と、
前記パージ通路に配設されるとともに指示信号に応答して開度が変更されるように構成されたパージ制御弁と、
排気通路に配設されるとともに前記燃焼室に供給された混合気の空燃比を検出する空燃比センサと、
を備えた内燃機関に適用される内燃機関の制御装置であって、
所定のパージ条件が成立しているときに前記パージ制御弁を所定の開度に開くための指示信号を同パージ制御弁に送出することにより前記蒸発燃料ガスを前記吸気通路に導入し、同パージ条件が不成立となったときに同パージ制御弁を完全に閉じるための指示信号を同パージ制御弁に送出することにより同蒸発燃料ガスの同吸気通路への導入を停止するパージ制御手段と、
前記燃料噴射手段から噴射される燃料により前記燃焼室にもたらされる混合気の空燃比を所定の目標空燃比とするための基本噴射量を前記機関の吸入空気量に基づいて決定する基本噴射量決定手段と、
所定のフィードバック制御条件が成立しているときに前記検出された空燃比が前記目標空燃比と一致するように前記基本噴射量を補正するためのフィードバック補正量を算出するフィードバック補正量算出手段と、
前記パージ制御弁を前記所定の開度に開くための指示信号が同パージ制御弁に送出されているとき前記フィードバック補正量に関連する値に基づいて前記蒸発燃料ガスに含まれる蒸発燃料の濃度に関連する値を蒸発燃料ガス濃度学習値として学習する蒸発燃料ガス濃度学習手段と、
前記パージ制御弁の開度に関連する値に基いて前記燃焼室に流入する前記蒸発燃料ガスの流量を、同蒸発燃料ガスの同パージ制御弁から同燃焼室までの輸送遅れ期間及び同パージ制御弁の開度に関連する値に対する同パージ制御弁を通過する蒸発燃料ガスの挙動を考慮することにより、推定パージ流量として推定するパージ流量推定手段と、
前記基本噴射量を前記燃焼室に流入する前記蒸発燃料ガス中の前記蒸発燃料に相当する量だけ減少させるように同基本噴射量を補正するためのパージ補正量を前記蒸発燃料ガス濃度学習値及び前記推定パージ流量に基づいて算出するパージ補正量算出手段と、
前記パージ制御弁を開いている状態から完全に閉じた状態へと変更させるための指示信号が同パージ制御弁に送出されるパージ制御弁閉弁指示時点にて、前記フィードバック補正量を、前記基本噴射量を増加も減少もさせない基本値に修正するフィードバック補正量修正手段と、
前記パージ制御弁閉弁指示時点にて、前記基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正する蒸発燃料ガス濃度学習値修正手段と、
前記フィードバック補正量及び前記パージ補正量を用いて前記基本噴射量を補正することにより前記燃料噴射手段から噴射される燃料噴射量を決定する燃料噴射量決定手段と、
を備えた制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置であって、
前記パージ制御弁を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されているパージ制御弁閉弁指示期間において、前記フィードバック補正量を前記基本値に近づけるように同フィードバック補正量に応じて変化する学習用フィードバック値に基いてベース空燃比学習値を更新することによりベース空燃比学習を行うベース空燃比学習手段と、
前記パージ制御弁閉弁指示期間において前記学習用フィードバック値に基いて前記ベース空燃比学習が完了しているか否かを判定するベース空燃比学習完了判定手段と、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを禁止する修正禁止手段と、
を備えるとともに、
前記燃料噴射量決定手段は、
前記基本噴射量の補正に前記ベース空燃比学習値を更に用いるように構成された制御装置。
【請求項３】
請求項２に記載の内燃機関の制御装置であって、
前記機関の回転速度を検出する回転速度検出手段を更に備え、
前記修正禁止手段は、
前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正の禁止及び前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正の禁止を、前記検出された回転速度が所定の閾値よりも大きい場合に限って行うように構成された制御装置。
【請求項４】
請求項１に記載の内燃機関の制御装置であって、
前記パージ制御弁を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されているパージ制御弁閉弁指示期間において、前記フィードバック補正量を前記基本値に近づけるように同フィードバック補正量に応じて変化する学習用フィードバック値に基いてベース空燃比学習値を更新することによりベース空燃比学習を行うベース空燃比学習手段と、
前記パージ制御弁閉弁指示期間において前記学習用フィードバック値に基いて前記ベース空燃比学習が完了しているか否かを判定するベース空燃比学習完了判定手段と、
を備え、
前記蒸発燃料ガス濃度学習値修正手段は、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していると判定されているならば前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを実行し、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば前記機関の運転状態量に応じて分配比率を決定し、同パージ制御弁閉弁指示時点にて算出されていた前記フィードバック補正量による前記基本噴射量の補正分に相当する量のうちの同決定された分配比率に応じた量である分配量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正するとともに、同フィードバック補正量を同分配量だけ減じるように修正する制御装置。
【請求項５】
請求項１乃至請求項４の何れか一項に記載の内燃機関の制御装置であって、
前記フィードバック補正量算出手段により算出される前記フィードバック補正量の低周波数成分のみを通過させるフィルタリングを同フィードバック補正量に対して施すことによりフィルタ後フィードバック補正量を取得するフィルタ手段を更に備え、
前記蒸発燃料ガス濃度学習値修正手段は、
前記基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量として前記パージ制御弁閉弁指示時点における前記フィルタ後フィードバック補正量によって示される前記基本噴射量の補正分に相当する量を用いるように構成された制御装置。
【請求項６】
請求項５に記載の内燃機関の制御装置において、
前記フィルタ手段は、
前記機関の運転状態量に応じて前記フィルタリングの時定数を調節するように構成された制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料タンクから発生した蒸発燃料をパージ通路、パージ制御弁及び吸気通路を通して燃焼室へと供給する内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、燃料タンクにて発生した蒸発燃料をパージ制御弁が配設されたパージ通路及び吸気通路を通して燃焼室へと供給する内燃機関の制御装置が知られている。この蒸発燃料の燃焼室への供給は、「蒸発燃料ガスパージ（又は、略して、エバポパージ）」とも称呼される。
【０００３】
このような制御装置の一つは、空燃比フィードバック制御を行っている間に蒸発燃料ガスパージを実行するようになっている。空燃比フィードバック制御においては、排気通路に設けられた空燃比センサにより機関に供給される混合気の空燃比（機関の空燃比）が検出され、その検出された空燃比に基いて基本噴射量に対するフィードバック補正係数が算出される。そして、このフィードバック補正係数を用いて基本噴射量を補正することによりインジェクタに指示される指令噴射量が決定され、インジェクタからこの指令噴射量に応じた燃料が噴射される。基本噴射量は、一般に、機関の空燃比が理論空燃比となるように、機関の負荷及び回転速度等に応じて設定されるフィードフォワード制御量である。
【０００４】
一方、蒸発燃料ガスパージを実行するために、燃料タンクと吸気通路とがパージ通路により接続されている。パージ通路にはキャニスタが配設されている。更に、パージ通路のキャニスタよりも下流側（機関の吸気通路側）にはパージ制御弁が配設されている。燃料タンク内において発生した蒸発燃料は、パージ通路を経由してキャニスタに導入され、そのキャニスタに一時的に吸着される。キャニスタに吸着されている蒸発燃料は、パージ制御弁が開かれたとき、蒸発燃料ガスとして吸気通路へ供給される。これにより、蒸発燃料ガスのパージが実行される（特許文献１を参照。）。
【０００５】
【特許文献１】特開平５−２０２８１７号公報（図３）
【０００６】
ところで、蒸発燃料ガスのパージを実行しているとき、燃焼室内にて燃焼される混合ガスには、インジェクタから噴射された燃料と、パージ通路を通して供給された蒸発燃料と、が含まれている。従って、上記検出された空燃比に基いて算出されるフィードバック補正係数は蒸発燃料分に対する補正分を含んでいる。このため、蒸発燃料ガスのパージが停止されたとき、フィードバック補正係数は基本噴射量を過度に減量し、その結果、機関の空燃比が過度にリーンとなる場合がある。そこで、上記公報に開示された制御装置は、次に述べる制御を行う。
【０００７】
制御装置は、蒸発燃料ガスのパージによる空燃比の理論空燃比からのズレを補償するためのパージ補正係数を算出する。具体的には、制御装置は、蒸発燃料ガスのパージ量がパージ開始時点からの経過時間とともに増大するとの観点に基き、パージ補正係数をパージ開始時点からの経過時間とともに徐々に減少させる。同時に、制御装置は、パージ中においても機関の空燃比が理論空燃比となるように、上記検出された空燃比に基いてフィードバック補正係数を算出する。そして、制御装置は、パージ中において、パージ補正係数及び空燃比フィードバック補正係数により基本噴射量を補正する。
【０００８】
更に、制御装置は、パージ制御弁を完全に閉じることによって蒸発燃料ガスのパージを停止する時、パージ補正係数をクリアする。即ち、制御装置は、パージ補正係数を、燃料噴射量を増加も減少もさせない基本値「１」に修正する。同時に、制御装置は、蒸発燃料ガスのパージを停止する時、フィードバック補正係数が基本噴射量を減少補正する値となっている場合、そのフィードバック補正係数をクリアする。即ち、制御装置は、フィードバック補正係数を、燃料噴射量を増加も減少もさせない基本値「１」に修正する。
【０００９】
この結果、蒸発燃料ガスのパージ停止直後において、フィードバック補正係数が蒸発燃料ガスのパージによる影響を受けていない値に設定されるから、蒸発燃料ガスのパージ停止直後における機関の空燃比が理論空燃比に対して大きくリーンとなることを回避することができる。従って、ＮＯｘ等の有害ガスの排出量を減少することができる。
【発明の開示】
【００１０】
ところで、蒸発燃料ガスのパージを停止するためにパージ制御弁を完全に閉じたとしても、燃焼室に供給される蒸発燃料ガスの流量は直ちに「０」にならない。これは、蒸発燃料ガスが、パージ制御弁の下流のパージ通路と、サージタンク及び吸気マニホールド等の吸気通路と、に残存しているからである。この蒸発燃料ガスの燃焼室内への流入は、パージ制御弁が完全に閉じられた時点から蒸発燃料ガスの輸送遅れ時間（蒸発燃料ガスがパージ制御弁から燃焼室に達するまでの時間）が経過するまで継続する。
【００１１】
従って、上述した制御装置のように、パージ制御弁が完全に閉じられた時点においてパージ補正係数及びフィードバック補正係数をクリアすると、その直後に燃焼室に吸入される蒸発燃料ガス分だけ空燃比はリッチ側に移行してしまう。このため、パージ制御弁が完全に閉じられた時点から空燃比フィードバック補正係数が収束するまでの時間が長くなり、それ故、実際の空燃比が理論空燃比から大きく乖離している期間が長くなる。この結果、エミッションが悪化するという問題がある。
【００１２】
従って、本発明の目的の一つは、パージ制御弁を開いている状態から完全に閉じた状態へと変更させるための指示信号がパージ制御弁に送出されるパージ制御弁閉弁指示時点以降において、フィードバック補正量及びパージ補正量を適切な量に制御することにより、機関の空燃比が目標空燃比から大きく乖離してしまうことを効果的に抑制することが可能な内燃機関の制御装置を提供することにある。
【００１３】
本発明による制御装置が適用される内燃機関は、
燃料タンク内の燃料を噴射することにより燃焼室に燃料を供給する燃料噴射手段と、
前記燃料タンク内に発生した蒸発燃料を同蒸発燃料を含んだ蒸発燃料ガスとして吸気通路に導入するための通路であって同燃料タンクと同吸気通路とを接続したパージ通路と、
前記パージ通路に配設されるとともに指示信号に応答して開度が変更されるように構成されたパージ制御弁と、
排気通路に配設されるとともに前記燃焼室に供給された混合気の空燃比を検出する空燃比センサと、
を備えている。
この機関において、パージ制御弁が完全に閉じられると、パージ通路は完全に閉じられる。
【００１４】
本発明による制御装置は、パージ制御手段と、基本噴射量決定手段と、フィードバック補正量算出手段と、蒸発燃料ガス濃度学習手段と、パージ流量推定手段と、パージ補正量算出手段と、フィードバック補正量修正手段と、蒸発燃料ガス濃度学習値修正手段と、燃料噴射量決定手段と、を備えている。
【００１５】
パージ制御手段は、所定のパージ条件が成立しているときに前記パージ制御弁を所定の開度に開くための指示信号を同パージ制御弁に送出することにより前記蒸発燃料ガスを前記吸気通路に導入し、同パージ条件が不成立となったときに同パージ制御弁を完全に閉じるための指示信号を同パージ制御弁に送出することにより同蒸発燃料ガスの同吸気通路への導入を停止するようになっている。所定のパージ条件とは、例えば、後述するフィードバック制御条件が成立し且つ機関が定常運転されている（機関の運転状態が急加速運転状態又は急減速運転状態でない）こと等である。
【００１６】
基本噴射量決定手段は、前記燃料噴射手段から噴射される燃料により前記燃焼室にもたらされる混合気の空燃比を所定の目標空燃比とするための基本噴射量を前記機関の吸入空気量に基づいて決定するようになっている。
【００１７】
フィードバック補正量算出手段は、所定のフィードバック制御条件が成立しているときに前記検出された空燃比（検出空燃比）が前記目標空燃比と一致するように前記基本噴射量を補正するためのフィードバック補正量を算出するようになっている。フィードバック補正量の更新は、例えば、所定のクランク角度が経過する毎又は所定（一定）時間毎或に実行され得る。
【００１８】
より具体的に述べると、例えば、制御装置は、蒸発燃料ガスが吸気通路に供給されていない場合において、燃焼室に供給される混合ガスの空燃比を所定の目標空燃比（通常は理論空燃比）に一致させるための燃料噴射量を吸入空気量及び目標空燃比に基いて求める。この燃料噴射量は、フィードフォワード噴射量であり、「基本噴射量」と称呼される。そして、フィードバック補正量算出手段は、基本噴射量と、検出された空燃比に基づいて算出された実際の燃料噴射量との偏差等を用いてフィードバック補正量を算出する。但し、フィードバック補正量の算出方法は、この方法に限定されない。即ち、フィードバック補正量は、検出空燃比が目標空燃比に対してリッチであることを示していれば基本噴射量を減量するように、検出空燃比が目標空燃比に対してリーンであることを示していれば基本噴射量を増量するように、更新されればよい。
【００１９】
蒸発燃料ガス濃度学習手段は、前記パージ制御弁を前記所定の開度に開くための指示信号が同パージ制御弁に送出されているとき前記フィードバック補正量に関連する値に基づいて前記蒸発燃料ガスに含まれる蒸発燃料の濃度に関連する値を蒸発燃料ガス濃度学習値として学習（更新）するようになっている。
【００２０】
この蒸発燃料ガス濃度学習値を学習する基礎となる「フィードバック補正量に関連する値」は、例えば、フィードバック補正量そのもの、フィードバック補正量の所定期間に渡る平均値及びその平均値に類似するような値（フィードバック補正量の低周波数成分のみを通過させるフィルタリングを同フィードバック補正量に対して施すことにより取得されるフィルタ後フィードバック補正量等）である。
【００２１】
蒸発燃料ガス濃度学習値は、例えば、「前記フィードバック補正量に関連する値」によって、フィードバック補正量が基本噴射量を所定量以上減少する値にあることが示されているとき減少され、フィードバック補正量が基本噴射量を所定量以上増大する値にあることが示されているとき増大される。換言すると、蒸発燃料ガス濃度学習値は、例えば、蒸発燃料ガスの濃度が高いほど小さくなり且つ蒸発燃料ガスの濃度が低いほど大きくなるように求められる値である。代替として、蒸発燃料ガス濃度学習値は、蒸発燃料ガスの濃度が高いほど大きくなり且つ蒸発燃料ガスの濃度が低いほど小さくなるように求められる値であってもよい。
【００２２】
パージ流量推定手段は、前記パージ制御弁の開度に関連する値に基いて前記燃焼室に流入する前記蒸発燃料ガスの流量を、同蒸発燃料ガスの同パージ制御弁から同燃焼室までの「輸送遅れ期間」及び同パージ制御弁の開度に関連する値に対する同パージ制御弁を通過する「蒸発燃料ガスの挙動」を考慮することにより、推定パージ流量として推定するようになっている。
【００２３】
この推定パージ流量を推定する基礎となる「前記パージ制御弁の開度に関連する値」は、例えば、パージ制御弁の弁開度を決定する際に用いる目標パージ率、パージ制御弁への指示信号、パージ制御弁の目標開度及び実際のパージ制御弁の開度等である。
【００２４】
例えば、パージ流量推定手段は、目標パージ率等の前記パージ制御弁の開度に関連する値及び吸入空気量からパージ制御弁を通過する蒸発燃料ガスの流量を求め、そのパージ制御弁を通過する蒸発燃料ガスの流量を前記輸送遅れ期間だけ遅延させた量に対して一次遅れ処理することにより、「前記輸送遅れ期間」及び「前記蒸発燃料ガスの挙動」が考慮された推定パージ流量を求めるように構成され得る。
【００２５】
パージ補正量算出手段は、前記基本噴射量を「前記燃焼室に流入する前記蒸発燃料ガス中の前記蒸発燃料に相当する量」だけ減少させるように同基本噴射量を補正するためのパージ補正量を前記蒸発燃料ガス濃度学習値及び前記推定パージ流量に基づいて算出するようになっている。
【００２６】
フィードバック補正量修正手段は、前記パージ制御弁を開いている状態から完全に閉じた状態へと変更させるための指示信号が同パージ制御弁に送出されるパージ制御弁閉弁指示時点にて、前記フィードバック補正量を、前記基本噴射量を増加も減少もさせない基本値に修正する（クリアする）ようになっている。
蒸発燃料ガス濃度学習値修正手段は、前記パージ制御弁閉弁指示時点にて、前記基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正するようになっている。
燃料噴射量決定手段は、前記フィードバック補正量及び前記パージ補正量を用いて前記基本噴射量を補正することにより前記燃料噴射手段から噴射される燃料噴射量を決定するようになっている。
【００２７】
この制御装置によれば、パージ制御弁閉弁指示時点以降における機関の空燃比が目標空燃比から大きく乖離することを回避することができる。以下、この点について、時間経過に伴う種々の制御量を示したタイムチャートである図３を参照しながら説明する。図３に示した例においては、時刻tpcに至るまでパージ制御弁を所定の０でない開度に開くための指示信号がパージ制御弁に送出されている。更に、時刻tpcにてパージ制御弁を完全に閉じる（開度を０にする）指示信号がパージ制御弁に送出されている。即ち、時刻tpcはパージ制御弁閉弁指示時点である。フィードバック補正量（フィードバック補正係数）は継続的に更新されている。
【００２８】
この例において、図３の（Ｃ）に示したパージ補正係数（以下、「パージ補正量」とも言う。）が蒸発燃料ガスによる機関の空燃比への影響を完全に排除できる値になっているとすれば、フィードバック補正量は基本値「１」に極めて近い値となるはずである。ところが、パージ制御弁閉弁指示時点tpcにおけるフィードバック補正量は、図３の（Ｄ）に示したように、フィードバック補正量の基本値「１」から値εだけ小さい値FAF0となっている。従って、値εは、パージ補正量により補正しきれなかった蒸発燃料の量に応じた値と言うことができる。
【００２９】
前述したように、従来の制御装置は、図３の（Ｄ）及び（Ｃ）において破線により示したように、パージ制御弁閉弁指示時点tpcにてフィードバック補正量を基本値「１」に修正するとともに、パージ補正量を基本値「１」に修正している。しかしながら、蒸発燃料ガスの燃焼室内への流入は、パージ制御弁閉弁指示時点tpcから蒸発燃料ガスの輸送遅れ時間（図３における時刻tpc〜時刻te）が経過する時点以降まで継続する。しかも、パージ制御弁を通過する蒸発燃料ガスの流量は、パージ制御弁閉弁指示時点tpcにおいて直ちに「０」にはならず、パージ制御弁閉弁指示時点tpcから僅かな時間だけ遅れて「０」に到る。従って、パージ制御弁閉弁指示時点tpcから蒸発燃料ガスの輸送遅れ時間が経過した後の僅かな期間（時刻te〜時刻tc）においても蒸発燃料ガスは燃焼室に流入する。これらの理由により、図３の（Ｄ）に破線により示したように、フィードバック補正量はパージ制御弁閉弁指示時点tpc直後の期間において基本値「１」から大きく減少し、その結果、図３の（Ｅ）に破線により示したように、機関の空燃比も大きく変動する。
【００３０】
これに対し、本制御装置は、パージ制御弁閉弁指示時点tpcにて、フィードバック補正量を基本値に修正するとともに、その基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分（図３の（Ｄ）における値FAF0と基本値「１」との差ε）に相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正する。より具体例には、本制御装置は、蒸発燃料ガス濃度学習値を図３の（Ｂ）に示したΔFGPGだけ減少させることにより、図３の（Ｃ）に示したパージ補正量をΔFPGだけ減少させる。
【００３１】
一方、蒸発燃料ガス濃度学習値は、パージ制御弁を所定開度に開く指示信号が送出されているときに更新され、パージ制御弁を完全に閉じる指示信号が送出されているときには更新されない。従って、蒸発燃料ガス濃度学習値はパージ制御弁閉弁指示時点tpc以降において同じ値（前記修正がなされた値）に維持される。他方、推定パージ流量（燃焼室に流入する蒸発燃料ガスの流量の推定値）は、パージ制御弁の開度に関連する値に基いて、蒸発燃料ガスの同パージ制御弁から同燃焼室までの輸送遅れ期間及び同パージ制御弁の開度に関連する値に対する同パージ制御弁を通過する蒸発燃料ガスの挙動を考慮することにより、推定される。
【００３２】
従って、蒸発燃料ガス濃度学習値及び推定パージ流量に基いて算出されるパージ補正量（図３の（Ｃ）の実線を参照。）は、パージ制御弁閉弁指示時点tpc以降において燃焼室に流入する蒸発燃料分を精度良く補償する値となる。以上のことから、図３の（Ｄ）に実線により示したように、フィードバック補正量はパージ制御弁閉弁指示時点tpc直後の期間において基本値「１」から殆ど変動せず、その結果、図３の（Ｅ）に実線により示したように、パージ制御弁閉弁指示時点tpc以降における空燃比の変動が極めて効果的に抑制される。これにより、パージ制御弁閉弁指示時点tpc以降におけるＮＯｘ等の排出量を低減することができる。
【００３３】
この制御装置の一態様は、
前記パージ制御弁を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されているパージ制御弁閉弁指示期間において、前記フィードバック補正量を前記基本値に近づけるように同フィードバック補正量に応じて変化する学習用フィードバック値に基いてベース空燃比学習値を更新することによりベース空燃比学習を行うベース空燃比学習手段と、
前記パージ制御弁閉弁指示期間において前記学習用フィードバック値に基いて前記ベース空燃比学習が完了しているか否かを判定するベース空燃比学習完了判定手段と、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを禁止する修正禁止手段と、
を備えるとともに、
前記燃料噴射量決定手段は、
前記基本噴射量の補正に前記ベース空燃比学習値を更に用いるように構成される。
【００３４】
この場合、ベース空燃比学習値の更新のために使用される「前記フィードバック補正量に応じて変化する学習用フィードバック値」は、例えば、フィードバック補正量そのもの、フィードバック補正量の所定期間に渡る平均値及びその平均値に類似するような値（前記フィルタ後フィードバック補正量等）である。そして、ベース空燃比学習値は、パージ制御弁閉弁指示期間において、前記算出されたフィードバック補正量を前記基本値に近づけるように、学習用フィードバック値に基いて更新される。
【００３５】
具体的には、例えば、学習用フィードバック値が「フィードバック補正値の平均値が基本噴射量を増大する値」であることを示している場合にはベース空燃比学習値は増大され、学習用フィードバック値が「フィードバック補正値の平均値が基本噴射量を減少する値」であることを示している場合にはベース空燃比学習値は減少される。その結果、燃料噴射手段の特性ずれ等により生じる基本噴射量の過不足が学習用フィードバック値に反映される。なお、この基本噴射量の過不足に基づく空燃比の目標空燃比からのずれ量は「空燃比のベースのずれ量」とも称呼される。また、上述のような空燃比のベースのずれ量の学習は「ベース空燃比学習」とも称呼される。
【００３６】
このベース空燃比学習が完了していれば、蒸発燃料ガスが燃焼室に流入している場合のフィードバック補正量は、空燃比のベースずれ量に依存しないから、パージ補正量の不足分を精度良く表した値となる。従って、本制御装置は、前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していると判定されているならば、前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値の前記修正とを行う。
【００３７】
これに対し、前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないとすると、フィードバック補正量はパージ補正量の不足分のみならず空燃比のベースずれ量を反映した値となっている。このとき、仮に、フィードバック補正値の基本値からの偏差の大部分又は全部が、空燃比のベースずれによってもたらされている場合、前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値の前記修正とを行うと、パージ制御弁閉弁指示時点以降においてフィードバック補正値は基本値から大きく変化することになる。この結果、パージ制御弁閉弁指示時点以降において、空燃比が目標空燃比から大きく乖離する。
【００３８】
そこで、本制御装置は、修正禁止手段により、前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば、前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを禁止する。これにより、特に、ベース空燃比学習が完了しておらず且つベース空燃比のずれが大きい場合に、空燃比が目標空燃比から大きく乖離することを回避することができる。
【００３９】
ところで、機関が低回転速度にて運転されている場合、吸入空気流量は比較的小さい。従って、仮にパージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きかったとしても、その後のフィードバック補正値の変更によって空燃比が十分に補正され得る。よって、実際の空燃比が目標空燃比から大きく乖離する可能性は小さい。これに対し、機関が高回転速度にて運転されている場合、吸入空気流量は比較的大きい。従って、パージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きいと、その後にフィードバック補正量が変更されたとしても、実際の空燃比が目標空燃比から大きく乖離する可能性が高い。
【００４０】
そこで、上記制御装置は、
前記機関の回転速度を検出する回転速度検出手段を更に備え、
前記修正禁止手段は、
前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正の禁止及び前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正の禁止を、前記検出された回転速度が所定の閾値よりも大きい場合に限って行うように構成されることが好適である。
【００４１】
即ち、この制御装置は、パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているときであっても、機関が低回転速度にて運転されていれば前記フィードバック補正量の前記修正及び前記蒸発燃料ガス濃度学習値の前記修正を実行する。従って、低速運転時において、空燃比のベースのズレ量が比較的小さい場合には、前記フィードバック補正量の前記修正及び前記蒸発燃料ガス濃度学習値の前記修正を禁止する場合に比較して、パージ制御弁閉弁指示時点以降におけるフィードバック補正量の変化は小さくなる。その結果、前記フィードバック補正量の前記修正及び前記蒸発燃料ガス濃度学習値の前記修正を禁止する場合に比較して、空燃比の変動をより抑制することができる。また、低速運転時において、空燃比のベースのズレ量が比較的大きい場合であっても、パージ制御弁閉弁指示時点以降におけるフィードバック補正量の更新によって実際の空燃比は大きく変動しない。
【００４２】
一方、この制御装置は、パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているとき、機関が高回転速度にて運転されていれば、前記フィードバック補正量の前記修正及び前記蒸発燃料ガス濃度学習値の前記修正を禁止する。この結果、高速運転時におけるパージ制御弁閉弁指示時点以降の空燃比の変動が非常に大きく場合が発生することを回避することができる
【００４３】
本発明による制御装置の他の態様は、
前記パージ制御弁を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されているパージ制御弁閉弁指示期間において、前記フィードバック補正量を前記基本値に近づけるように同フィードバック補正量に応じて変化する学習用フィードバック値に基いてベース空燃比学習値を更新することによりベース空燃比学習を行うベース空燃比学習手段と、
前記パージ制御弁閉弁指示期間において前記学習用フィードバック値に基いて前記ベース空燃比学習が完了しているか否かを判定するベース空燃比学習完了判定手段と、
を備えている。
【００４４】
更に、前記蒸発燃料ガス濃度学習値修正手段は、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していると判定されているならば前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを実行し、
前記パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば前記機関の運転状態量に応じて分配比率を決定し、同パージ制御弁閉弁指示時点にて算出されていた前記フィードバック補正量による前記基本噴射量の補正分に相当する量のうちの同決定された分配比率に応じた量である分配量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正するとともに、同フィードバック補正量を同分配量だけ減じるように修正する。
【００４５】
この態様によれば、パージ制御弁閉弁指示時点が到来した場合にベース空燃比学習が完了していると判定されているならば、上述した制御装置と同様、フィードバック補正量の前記修正と蒸発燃料ガス濃度学習値の前記修正とが行われる。
【００４６】
これに対し、パージ制御弁閉弁指示時点が到来した場合にベース空燃比学習が完了していないと判定されているならば、機関の運転状態量に応じて「分配比率」が決定される。換言すると、前記蒸発燃料ガス濃度学習値修正手段は、前記分配比率を決定する分配比率決定手段を内在していると言うことができる。更に、「パージ制御弁閉弁指示時点にて算出されていた前記フィードバック補正量による前記基本噴射量の補正分に相当する量（以下、単に「閉弁指示時点補正相当量」とも称呼する。）のうちの同決定された分配比率に応じた量」である「分配量」が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値が修正される。同時に、フィードバック補正量がその分配量だけ減じられる。
【００４７】
より具体的に述べると、分配比率決定手段は、運転状態検出手段により検出された機関の運転状態量に応じて、前記閉弁指示時点補正相当量のうちパージ補正量に取り込むべき分配比率（取り込み比率）を設定する。この分配比率は、種々の運転状態量（例えば、機関の回転速度及び機関の負荷）に対し、パージ制御弁閉弁指示時点以降における空燃比の変動を出来るだけ小さくすることができる比率となるように予め実験等により定められている。この定められた運転状態量と分配比率との関係は、例えば、ルックアップテーブル（比率設定マップ）の形式や関数の形式にて制御装置内に記憶されている。そして、前記分配比率決定手段は、運転状態検出手段により検出される機関の運転状態量と前記ルックアップテーブル又は前記関数を使用して実際の分配比率を決定する。
【００４８】
例えば、機関の負荷が大きくなるほど吸入空気流量が増加し、単位時間あたりの燃料噴射量も増加する。従って、パージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きい場合、フィードバック補正量を閉弁指示時点補正相当量だけ減じてしまうと、その後におけるフィードバック補正量の変更によって実際の空燃比が大きく変動することを抑制し難くなる。よって、分配比率は、例えば、機関の負荷が大きくなるほど小さくなるように決定される。
【００４９】
同様に、機関の回転速度が大きくなるほど吸入空気流量が大きくなる。従って、パージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きい場合、フィードバック補正量を閉弁指示時点補正相当量だけ減じてしまうと、その後におけるフィードバック補正量の変更によって実際の空燃比が大きく変動することを抑制し難くなる。よって、分配比率は、例えば、機関の回転速度が大きくなるほど小さくなるように決定される。
【００５０】
このように、分配比率を機関の運転状態量に応じて決定する結果、ベース空燃比学習が完了していない場合におけるパージ制御弁閉弁指示時点以降の実際の空燃比の変動を抑制することができる。
【００５１】
これらの内燃機関の制御装置は、
前記フィードバック補正量算出手段により算出される前記フィードバック補正量の低周波数成分のみを通過させるフィルタリングを同フィードバック補正量に対して施すことによりフィルタ後フィードバック補正量を取得するフィルタ手段を更に備え、
前記蒸発燃料ガス濃度学習値修正手段は、
前記基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量として前記パージ制御弁閉弁指示時点における前記フィルタ後フィードバック補正量によって示される前記基本噴射量の補正分に相当する量を用いるように構成されることが好適である。
【００５２】
内燃機関の空燃比は過渡運転時等において種々の理由により過渡的に変動する。従って、フィードバック補正量はその空燃比の過渡的変動の影響を受けて高周波成分を有する。一方、蒸発燃料のパージ量は急激には変化しないので、蒸発燃料ガスパージがフィードバック補正量に高周波成分を重畳させる可能性は小さい。従って、パージ制御弁閉弁指示時点における上記フィルタ後フィードバック補正量は、過渡運転等にともなうフィードバック補正量の乱れが排除された量であるから、パージ補正量の不足分を精度良く表す値となる。更に、上記構成によれば、パージ制御弁閉弁指示時点において前記フィルタ後フィードバック補正量によって示される前記基本噴射量の補正分に相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値が修正される。
【００５３】
この結果、パージ制御弁閉弁指示時点以降におけるパージ補正量がより適正値に近づくから、パージ制御弁閉弁指示時点以降における空燃比の変動をより一層効果的に抑制することができる。
【００５４】
加えて、上記フィルタ手段は、前記機関の運転状態量に応じて前記フィルタリングの時定数を調節するように構成されることが好適である。
【００５５】
なお、「機関の運転状態量」は、例えば、機関の回転速度及び負荷等である。機関の負荷は、吸入空気流量、気筒への吸入空気量、吸入空気量充填率、吸気圧、スロットル弁開度、アクセルペダルの操作量又は燃料噴射量等に基いて取得され得るから、フィルタ手段はこれらのいずれかを検出する。
【００５６】
例えば、機関の回転速度が小さくなるほど、或は、機関の負荷が小さくなるほど、フィードバック補正量に現れる高周波成分の周波数が低下する。従って、機関の回転速度が小さくなるほど、或は、機関の負荷が小さくなるほど、前記フィルタの時定数をより大きくする。一方、フィルタの時定数を大きくしすぎると、パージ補正量の不足分（蒸発燃料量についてのずれ量）の変化が、前記フィルタ後フィードバック補正量に非常に遅れて現れることになる。従って、フィルタの時定数を大きくしすぎると、パージ制御弁閉弁指示時点における上記フィルタ後フィードバック補正量がパージ補正量の不足分を十分に精度良く表さない値となる。よって、上記フィルタ手段は、これらのことを考慮しつつ、前記機関の運転状態量に応じて前記フィルタリングの時定数を調節する。この結果、パージ制御弁閉弁指示時点以降におけるパージ補正量がより適正値に近づくから、パージ制御弁閉弁指示時点以降における空燃比の変動をより一層効果的に抑制することができる。
【発明を実施するための最良の形態】
【００５７】
以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。
ａ．第１実施形態
図１は第１実施形態に係る制御装置を内燃機関１０に適用したシステムの概略構成を示している。機関１０は４ストローク直列４気筒機関である。図１は１つの気筒の縦断面のみを示しているが、他の気筒も同様の構成を備えている。
【００５８】
この機関１０は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０に空気（新気）を供給するための吸気系４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系５０とを含んでいる。
【００５９】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、この往復動がコンロッド２３を通じてクランク軸２４に伝達され、これによりクランク軸２４が回転するようになっている。シリンダ２１の側壁面とピストン２２の頂面とは、シリンダヘッド部３０の下面とともに燃焼室２５を形成している。
【００６０】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉するための吸気弁３２、吸気弁３２を駆動する吸気カムシャフトを含むとともにこのカムシャフトの位相角を連続的に変更することが可能な可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉するための排気弁３５、排気弁３５を駆動する排気カムシャフト３６、燃焼室２５内の上部に露呈した電極部における火花放電より混合ガスに火花点火する点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び、指令噴射量Fiを表す信号による量の燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００６１】
吸気系４０は、各気筒の吸気ポート３１に連通した複数の吸気マニホールドを含む吸気管４１、この吸気管４１の上流側の端部に設けられたエアフィルタ４２、吸気管４１内の吸気マニホールドの集合部に形成されたサージタンク４３、吸気管４１内において吸気管４１に回転可能に支持されているスロットル弁４４及びスロットル弁４４を回転駆動することにより吸気管４１の開口断面積を変更するスロットルモータ４４ａを備えている。なお、吸気ポート３１、吸気管４１及びサージタンク４３は吸気通路を構成している。
【００６２】
更に、内燃機関１０は、液体燃料を貯留する燃料タンク４５、燃料タンク４５内にて発生した蒸発燃料を吸蔵可能なキャニスタ４６、前記蒸発燃料を含むガスを燃料タンク４５からキャニスタ４６へと導くためのベーパ捕集管４７、キャニスタ４６から脱離した蒸発燃料を蒸発燃料ガスとしてサージタンク４３、吸気管４１及び吸気ポート３１へと導くためのパージ流路４８、及び、パージ流路に配設されたパージ制御弁４９を備えている。
【００６３】
本例においては、ベーパ捕集管４７及びパージ流路４８はパージ通路を構成している。また、パージ制御弁４９は、指示信号であるデューティ比DPGを表す駆動信号により開度（開弁期間）が調節されることにより、パージ流路４８の通路断面積を変更するようになっている。パージ制御弁４８は、デューティ比DPGが「０」であるときにパージ流路４８を完全に閉じるようになっている。即ち、パージ制御弁４９は、パージ通路に配設されるとともに指示信号に応答して開度が変更されるように構成されている。
【００６４】
キャニスタ４６は周知のチャコールキャニスタである。キャニスタ４６は、ベーパ捕集管４７に接続されたタンクポート４６ａと、パージ流路４８に接続されたパージポート４６ｂと、大気に曝されている大気ポート４６ｃと、が形成された筐体を備える。キャニスタ４６は、その筐体内に、蒸発燃料を吸着するための吸着剤４６ｄを収納している。キャニスタ４６は、パージ制御弁４９が完全に閉じられている期間において燃料タンク４５内で発生した蒸発燃料を吸蔵し、パージ制御弁４９が開かれている期間において吸蔵した蒸発燃料を蒸発燃料ガスとしてパージ流路４８に放出するようになっている。
【００６５】
排気系５０は、各気筒の排気ポート３７に連通した複数の排気マニホールド５１、複数の排気マニホールド５１の集合部に連通した排気管５２、及び、排気管５２に設けられた三元触媒５３を備えている。燃焼室２５に供給され燃焼室２５にて燃焼される混合ガスによって生成された排ガスは、排気マニホールド５１と排気管５２とを含んで構成される排気通路へと排出される。
【００６６】
機関１０はエアフローメータ６１、アクセル開度センサ６２、スロットルポジションセンサ６３、吸気圧センサ６４、水温センサ６５、クランクポジションセンサ６６、カムポジションセンサ６７及び空燃比センサ６８を備えている。
【００６７】
エアフローメータ６１は吸気管４１内に吸入されていく空気の流量Gaを表す信号を出力するようになっている。アクセル開度センサ６２は、運転者により操作されるアクセルペダル８１の操作量Apを表す信号を出力するようになっている。スロットルポジションセンサ６３はスロットル弁４４の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。吸気圧センサ６４は、サージタンク４３内の圧力である吸気圧を検出し、吸気圧Paを表す信号を出力するようになっている。水温センサ６５は機関１０の冷却水の温度を検出し、冷却水温TWを表す信号を出力するようになっている。
【００６８】
クランクポジションセンサ６６はクランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに、クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この幅広のパルス信号が機関１０の回転速度NEを表す。カムポジションセンサ６７は吸気カムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）、一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。空燃比センサ６８は排気管５２に配設されており、この配設部位を流れ三元触媒５３に流入する既燃ガス（排ガス）中の酸素濃度により空燃比を検出し、機関１０に供給された混合気の空燃比（検出空燃比）afを表す信号を出力するようになっている。
【００６９】
コントロールユニット７０は、ＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともにこの格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びに、ＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は上記センサ６１〜６８と接続され、ＣＰＵ７１にセンサ６１〜６８からの信号を供給するようになっている。更に、インターフェース７５はアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットルモータ４４ａ及びパージ制御弁４９と接続されていて、ＣＰＵ７１の指示に応じてこれらに駆動信号（指示信号）を送出するようになっている。
【００７０】
（通常時における燃料噴射制御の概要）
上記のように構成された本制御装置が通常時にどのように燃料噴射量Fiを決定して燃料噴射を実行するかについて、先ずその概要を説明する。図２は本装置における燃料噴射制御の概要を説明するためのブロック図である。図２中の各部は、ＣＰＵ７１が実行するプログラムの一部に相当する。ＣＰＵ７１はこれらのプログラムを実行することにより、空燃比フィードバック制御、ベース空燃比学習、蒸発燃料ガスパージ及び蒸発燃料ガス濃度学習（ベーパ濃度学習）を行う。なお、以下の記載及び図面において、フィードバックを「F／B」と略すこともある。
【００７１】
＜空燃比フィードバック制御＞
本装置は空燃比フィードバック制御において、実際の機関の空燃比afが所定の目標空燃比afrと一致するように指令噴射量Fiを補正するためのフィードバック補正係数FAFを算出する。フィードバック補正係数FAFは基本噴射量Fbsに乗じられることにより基本噴射量Fbsを補正する係数である。従って、フィードバック補正係数FAFの値が「１」であるとき、フィードバック補正係数FAFは基本噴射量Fbsを増量も減量もしない（基本噴射量Fbsを補正しない）。換言すると、フィードバック補正係数FAFの基本値は「１」である。フィードバック補正係数FAFは「フィードバック補正量」とも称呼される。
【００７２】
本装置は、係る空燃比フィードバック制御を実行するため、図２に示したように、目標空燃比設定部Ａ１、筒内吸入空気量算出部Ａ２、基本噴射量算出部Ａ３、実噴射量算出部Ａ４及びフィードバック補正係数算出部Ａ５を備えている。以下、各部について１つの特定の気筒に着目しながら説明を加える。但し、他の気筒に対しても同様な空燃比のフィードバック制御が行われる。
【００７３】
−目標空燃比設定部Ａ１−
目標空燃比設定部Ａ１は機関１０の暖機運転中等の特別な場合を除き目標空燃比afr(k)を理論空燃比af0に設定するようになっている。なお、目標空燃比設定部Ａ１は下記（１）式に示したように回転速度NE、負荷L及び冷却水温TWと、マップ（ルックアップ−テーブル）Mapafrと、に基いて目標空燃比afr(k)を設定するように構成されてもよい。このマップMapafrは、回転速度NE、負荷L及び冷却水温TWと目標空燃比afr(k)との対応関係を規定している。負荷Lは、吸入空気流量Ga、充填率KL、吸気圧Pa、スロットル弁開度TA及びアクセルペダルの操作量Ap等により表される。変数kが付された値は、特定の気筒の今回の燃焼サイクルについての値であることを示す。即ち、目標空燃比afr(k)は、ある特定の気筒の今回の燃焼サイクルに対する目標空燃比である。従って、目標空燃比afr(k−N)は、ある特定の気筒のN回前の燃焼サイクルに対する目標空燃比である。
【数１】
2008303857.tif 000003
【００７４】
−筒内吸入空気量算出部Ａ２−
筒内吸入空気量算出部Ａ２は下記（２）式に示したように吸入空気流量Ga、回転速度NE及びマップMapMcに基づいて筒内吸入空気量Mc(k)を求めるようになっている。このマップMapMcは、吸入空気流量Ga及び回転速度NEと、筒内吸入空気量Mcと、の対応関係を規定している。筒内吸入空気量Mc(k)は今回の燃焼サイクル（今回の吸気行程）にて特定気筒に吸入される空気（新気）の量である。筒内吸入空気量算出部Ａ２は筒内吸入空気量Mc(k)を特定気筒のサイクルに対応させながら記憶するようになっている。なお、筒内吸入空気量Mc(k)は、周知の空気量推定モデルを用いて取得されることもできる。
【数２】
2008303857.tif 000004
【００７５】
−基本噴射量算出部Ａ３−
基本噴射量算出部Ａ３は下記（３）式に示したように筒内吸入空気量算出部Ａ２により求められた筒内吸入空気量Mc(k)を、目標空燃比設定部Ａ１により設定された目標空燃比afr(k)で除すことにより、機関１０の空燃比を目標空燃比afr(k)と一致させるための基本噴射量Fbs(k)を求めるようになっている。この基本噴射量Fbs(k)は、今回の燃焼サイクルに対する基本噴射量である。基本噴射量Fbs(k)は、インジェクタ３９から噴射される燃料により燃焼室２５にもたらされる混合気の空燃比を目標空燃比afr(k)とするための、機関１０の運転状態に応じて設定されるフィードフォワード制御量である。基本噴射量算出部Ａ３は基本噴射量Fbs(k)を特定気筒のサイクルに対応させながら記憶するようになっている。なお、基本噴射量算出部Ａ３は、例えば、筒内吸入空気量Mc(k)と目標空燃比afr(k)とマップMapFbsとに基いて基本噴射量Fbs(k)を求めるように構成されていてもよい。この場合、マップMapFbsは、筒内吸入空気量Mc(k)及び目標空燃比afr(k)と、基本噴射量Fbs(k)と、の関係を規定するテーブルである。
【数３】
2008303857.tif 000005
【００７６】
−実噴射量算出部Ａ４−
実噴射量算出部Ａ４は下記（４）式に示したように筒内吸入空気量Mc(k−N)を空燃比センサ６８にって検出された現時点の（今回の）検出空燃比af(k)で除すことにより、今回からNサイクル前の実噴射量Fc(k−N)を求めるようになっている。ここで、値Nは、機関１０の排気量及び燃焼室２５から空燃比センサ６８までの距離等により設定される値である。今回からNサイクル前の実噴射量Fc(k−N)を求めるために、今回からNサイクル前の筒内吸入空気量Mc(k−N)と今回の検出空燃比af(k)とを用いるのは、燃焼室２５にて生じた既燃ガスが、排気管５２に配設された空燃比センサ６８に到達するまでに機関１０のNサイクル分に相当する時間を要するからである。
【数４】
2008303857.tif 000006
【００７７】
−フィードバック補正係数算出部Ａ５−
フィードバック（Ｆ／Ｂ）補正係数算出部Ａ５は、Nサイクル前の基本噴射量Fbs(k−N)と、Nサイクル前の実噴射量Fc(k−N)と、を用いてフィードバック補正係数FAFを算出するようになっている。より具体的に述べると、フィードバック補正係数算出部Ａ５は、先ず下記（５）式に示したように基本噴射量Fbs(k−N)から実噴射量Fc(k−N)を減じることにより、噴射量の偏差DFc(k)を求める。基本噴射量Fbs(k−N)は、上記（３）式から明らかなように、Nサイクル前における筒内吸入空気量Mc(k−N)をNサイクル前における目標空燃比afr(k−N)を除した値であるから、Ｎサイクル前における目標筒内噴射量である。従って、偏差DFc(k)はNサイクル前に噴射された燃料の過不足量を表す。偏差DFc(k)は、Nサイクル前に噴射された燃料が不足していれば正の値をとり、Nサイクル前に噴射された燃料が過剰であれば負の値をとる。
【数５】
2008303857.tif 000007
【００７８】
そして、フィードバック補正係数算出部Ａ５は、偏差DFc(k)を下記（６）式に基づいて比例・積分処理（ＰＩ処理）することにより、フィードバック補正値DF(k)を求める。（６）式においてGpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。SDFc(k)は偏差DFc(k)の時間積分値である。
【数６】
2008303857.tif 000008
【００７９】
更に、フィードバック補正係数算出部Ａ５はフィードバック補正値DF(k)及び基本噴射量Fbs(k)を下記（７）式に適用することによりフィードバック補正係数FAF(k)を算出する。即ち、フィードバック補正係数FAF(k)は、基本噴射量Fbs(k)にフィードバック補正値DF(k)を加えた値を基本噴射量Fbs(k)で除すことにより求められる。フィードバック補正係数FAF(k)は、後述する指令噴射量決定部Ａ１０において、指令噴射量Fi(k)を決定するために基本噴射量Fbs(k)に乗じられる。以上が、空燃比フィードバック制御の概要である。
【数７】
2008303857.tif 000009
【００８０】
なお、フィードバック補正係数算出部Ａ５はこの算出されたフィードバック補正係数FAF(k)について、下記（８）式に示したように今回のフィードバック補正係数FAF(k)と前回までの算出値FAFAV(k−1)との加重平均値を求め、その加重平均値を補正係数平均FAFAV(k)として格納する。この補正係数平均FAFAV(k)は、後述するベース空燃比学習係数KGi及び蒸発燃料ガス濃度学習値FGPGを求める際に用いられる。従って、補正係数平均FAFAV(k)は、フィードバック補正量に応じて変化する「学習用フィードバック値」とも称呼される。なお、（８）式における、ｍは０より大きく１より小さい定数である。
【数８】
2008303857.tif 000010
【００８１】
＜ベース空燃比学習＞
本装置はパージ制御弁４９を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されている「パージ制御弁閉弁指示期間（デューティ比DPGが「０」である期間）」において、フィードバック補正係数FAFを基本値「１」に近づけるように学習用フィードバック値（補正係数平均FAFAV(k)）に基いてベース補正係数KGを更新する。このベース補正係数KGの更新をベース空燃比学習とも称呼する。従って、ベース補正係数KGは「ベース空燃比学習値」とも称呼される。
【００８２】
また、パージ制御弁閉弁指示期間において、上述した基本噴射量Fbs(k)によりもたらされる空燃比をベース空燃比と言う。このベース空燃比は、インジェクタ３９の特性ずれ等により、目標空燃比afr(k)から乖離することがある。このベース空燃比の目標空燃比afr(k)からのずれ（空燃比のベースずれ）は、フィードバック補正係数FAF上に現れるから、補正係数平均FAFAV上にも現れる。従って、ベース空燃比学習においては、補正係数平均FAFAVに基いてベース補正係数KGが学習される。ベース補正係数KGは基本噴射量Fbsに乗じられることにより基本噴射量Fbsを補正する係数である。従って、ベース補正係数KGの値が「１」であるとき、ベース補正係数KGは基本噴射量Fbsを増量も減量もしない（基本噴射量Fbsを補正しない）。即ち、ベース補正係数KGの基本値は「１」である。図２に示したベース空燃比学習部Ａ６はこのベース空燃比学習を実行するために設けられている。
【００８３】
−ベース空燃比学習部Ａ６−
ベース空燃比学習部Ａ６は、補正係数平均FAFAVの基本値「１」からの偏差εaが所定値α（α＞０）よりも大きい場合、下記（９）式に示したようにベース空燃比学習係数KGiに所定の十分小さな正の値をとる更新値Xを加えることによりベース空燃比学習係数KGiを更新する。一方、ベース空燃比学習部Ａ６は偏差εaが値（−α）よりも小さい場合、下記（１０）式に示したようにベース空燃比学習係数KGiから更新値Xを減じることによりベース空燃比学習係数KGiを更新する。また、ベース空燃比学習部Ａ６は偏差εaが値（−α）から値αまでの間にある場合、ベース空燃比学習係数KGiを更新しない。ベース空燃比学習部Ａ６は、空燃比のフィードバック制御中であり、且つ、パージ制御弁閉弁指示期間に更新される。
【数９】
2008303857.tif 000011
【数１０】
2008303857.tif 000012
【００８４】
なお、ベース空燃比学習係数KGiの添え字iは、負荷Lの大きさに応じた複数の異なる学習領域が設定されていることを示す。つまり、負荷Lの大きさに基く複数の範囲iが、学習領域iとして予め設定されている。ベース空燃比学習部Ａ６は、ベース空燃比学習係数KGiを更新するにあたり、そのときの負荷Lが属する学習領域iに対するベース空燃比学習係数KGiを更新する。後述する指令噴射量決定部Ａ１０はこのベース空燃比学習係数KGiを負荷Lに応じて選択し、その選択したベース空燃比学習係数KGiをベース補正係数KGとして設定する。
【００８５】
＜蒸発燃料ガスパージ及びパージ濃度学習＞
本装置は、蒸発燃料ガスパージを実行するため、パージ制御弁４９を開く。これにより、キャニスタ４６内に吸着されている蒸発燃料が蒸発燃料ガスとしてパージ流路４８を通過し、且つ、サージタンク４３（吸気通路）へと供給される。図２に示したパージ制御弁駆動部Ａ７はパージ制御弁４９の開度を変更することにより蒸発燃料ガスパージ量を制御するために設けられている。
【００８６】
ところで、パージされる蒸発燃料ガスが機関１０の空燃比に及ぼす影響の大きさは、その蒸発燃料ガスの流量と、その蒸発燃料ガス中に含まれている蒸発燃料の濃度と、に応じて変化する。そこで、本装置は、蒸発燃料ガスに含まれる蒸発燃料の濃度に関連する値を蒸発燃料ガス濃度学習値FGPGとして学習するとともに、燃焼室２５へ流入する蒸発燃料ガスの流量を求める基本値である推定パージ基本流量KPEを求める。更に、本装置は、推定パージ基本流量KPEに基いて推定パージ流量KPEMを推定（算出）する。推定パージ流量KPEMは、燃焼室２５に流入する蒸発燃料ガスの流量の推定値である。本装置は、この推定パージ流量KPEMと吸入空気流量Gaとに基いて推定パージ率PGREを算出する。推定パージ率PGREは、単位吸入空気流量あたりの推定パージ流量である。
【００８７】
そして、本装置は、蒸発燃料ガス濃度学習値FGPGと、推定パージ率PGREと、を用いてパージ補正係数FPGを算出する。パージ補正係数FPGは基本噴射量Fbsに乗じられることにより、指令噴射量Fiを蒸発燃料ガス中の蒸発燃料分だけ減少させるように補正するための係数である。パージ補正係数FPGの基本値は「１」である。図２に示した蒸発燃料ガス濃度学習部Ａ８は上記蒸発燃料ガス濃度学習値FGPGを算出するために設けられている。図２に示した推定パージ率算出部Ａ９は上記推定パージ率PGREを算出するために設けられている。以下、パージ制御弁駆動部Ａ７、蒸発燃料ガス濃度学習部Ａ８及び推定パージ率算出部Ａ９について説明を行う。
【００８８】
−パージ制御弁駆動部Ａ７−
パージ制御弁駆動部Ａ７は、所定のパージ条件が成立している間にパージ制御弁４９を所定の開度（ゼロでない開度）に開く。このパージ条件は、機関１０が定常運転され（例えば、負荷Lの単位時間あたりの変化量が所定値以下）、且つ、空燃比のフィードバック制御条件が成立していること（フィードバック制御実行中）である。パージ条件には、燃料タンク４５内に所定量以上の燃料があること等の他の条件が加えられてもよい。
【００８９】
具体的には、パージ制御弁駆動部Ａ７はパージ条件が成立している場合に目標パージ率PGTを機関１０の運転状態に基づいて設定する。目標パージ率PGTはパージ流量KP（パージ制御弁４９を通過する蒸発燃料ガスの流量、以下、単に、「制御弁位置パージ流量KP」と称呼する。）の吸入空気流量Gaに対する比率として定義される値である。
【００９０】
パージ制御弁駆動部Ａ７は、補正係数平均FAFAVが所定範囲内にあり且つ機関１０の運転状態が安定しているとき、目標パージ率PGTを増大させる。パージ制御弁駆動部Ａ７は、補正係数平均FAFAVが前記所定範囲内にないとき、目標パージ率PGTを減少させる。なお、パージ制御弁駆動部Ａ７は、目標パージ率PGTの上限値を適宜設定しておく。目標パージ率PGTの設定手法について例えば特開平９−３０３２１９号公報にその詳細が記載されている。
【００９１】
そして、パージ制御弁駆動部Ａ７は、下記（１１）式に示したように、設定された目標パージ率PGTに吸入空気流量Gaを乗じることにより制御弁位置パージ流量KPを求める。この制御弁位置パージ流量KPはパージ制御弁４９を通過する蒸発燃料ガスの流量の目標値でもある。
【数１１】
2008303857.tif 000013
【００９２】
次に、パージ制御弁駆動部Ａ７は、下記（１２）式に示したように、回転速度NE、負荷L及びマップMapPGRMXに基いて、全開パージ率PGRMXを求める。この全開パージ率PGRMXはパージ制御弁４９を全開にした時のパージ率（パージ制御弁４９を全開にした時の蒸発燃料ガスの流量の吸入空気流量Gaに対する制御弁位置パージ流量KPの比率）を表す。マップMapPGRMXは実験又はシミュレーションの結果に基づき構成される。マップMapPGRMXによれば、全開パージ率PGRMXは回転速度NEが大きくなるほど、又は、負荷Lが大きくなるほど、小さくなる。
【数１２】
2008303857.tif 000014
【００９３】
ところで、パージ制御弁４９は、パージ制御弁４９をデューティ比１００％にて駆動した時に全開となる。パージ制御弁４９のデューティ比とは、パージ制御弁４９を所定周期Ｔにて開閉する場合における、その周期Ｔに対するパージ制御弁４９を開弁している時間Ｔopenの比（Ｔopen／Ｔ）のことである。そこで、パージ制御弁駆動部Ａ７は、下記（１３）式に示したように、目標パージ率PGTを全開パージ率PGRMXで除して得た値に「１００」を乗じることにより、デューティ比DPGを求める。パージ制御弁駆動部Ａ７はこのデューティ比DPGに基づいてパージ制御弁４９を駆動する。
【数１３】
2008303857.tif 000015
【００９４】
−蒸発燃料ガス濃度学習部Ａ８−
蒸発燃料ガス濃度学習部Ａ８は、パージ制御弁４９を所定の開度（全閉でない開度）に開くための指示信号（デューティ比DPG）がパージ制御弁４９に送出されている「パージ制御弁開弁指示期間」中においてフィードバック補正量に関連する値（補正係数平均FAFAV）に基づいて蒸発燃料ガスに含まれる蒸発燃料の濃度に関連する値を蒸発燃料ガス濃度学習値として学習するようになっている。
【００９５】
より具体的に述べると、蒸発燃料ガス濃度学習部Ａ８は、フィードバック補正係数算出部Ａ５により求められた補正係数平均FAFAVのその基本値「１」からの偏差εaの絶対値の大きさが所定の正の値β（β＞０）よりも大きい場合に限り、下記（１４）式に示したように、後述する更新値tFG分だけ蒸発燃料ガス濃度学習値FGPGを更新する。ここでは、補正係数平均FAFAVが例えば基本噴射量Fbsを２％より大きく増加させ又は減少させる値となっている場合に、蒸発燃料ガス濃度学習部Ａ８は前回算出した蒸発燃料ガス濃度学習値FGPGに更新値tFGを加えることにより、今回の蒸発燃料ガス濃度学習値FGPGを求める。
【数１４】
2008303857.tif 000016
【００９６】
蒸発燃料ガス濃度学習値FGPGの初期値は「１」である。更新値tFGは、下記（１５）式に示したように、補正係数平均FAFAVの基本値「１」からの偏差εaを目標パージ率PGTで除すことにより得られる。即ち、更新値tFGは目標パージ率１％当たりの偏差εaである。従って、偏差εaが大きいほど更新値tFGは大きくなり、目標パージ率PGTが小さいほど更新値tFGの絶対値は大きくなる。一方、パージ制御弁閉弁指示期間において、蒸発燃料ガス濃度学習値FGPGの更新は停止される。この結果、蒸発燃料ガス濃度学習値FGPGは蒸発燃料ガス濃度に応じた値（蒸発燃料ガス濃度が高いほど小さくなる値）となる。蒸発燃料ガス濃度学習値FGPGはバックアップＲＡＭ７４内に保持される。
【数１５】
2008303857.tif 000017
【００９７】
−推定パージ率算出部Ａ９−
推定パージ率算出部Ａ９は、燃焼室２５内に吸入されていく蒸発燃料ガスの流量を求めるための推定パージ基本流量KPEを算出する。更に、推定パージ率算出部Ａ９は、推定パージ基本流量KPEに基いて推定パージ流量KPEMを求め、その推定パージ流量KPEMに基いて推定パージ率PGREを算出する。
【００９８】
推定パージ率算出部Ａ９は、前述した制御弁位置パージ流量KPの蒸発燃料ガスが実際にパージ制御弁４９を通過するという前提に立つ。更に、推定パージ率算出部Ａ９は、パージ制御弁４９を通過した蒸発燃料ガスは蒸発燃料ガスの輸送遅れ時間に相当する所定の遅延時間TD後に燃焼室２５内に流入するという前提に立つ。
【００９９】
このような前提の下、推定パージ率算出部Ａ９は先ず回転速度NEに基づき前記遅延時間TD（例えば、機関１０の１０ストローク分に相当する時間）を決定する。この遅延時間TDは、例えば、回転速度NEと遅延時間TDとの対応関係を予め規定した遅延時間設定マップに基いて求められる。この遅延時間設定マップによれば、遅延時間TDは回転速度NEの値が大きくなるほど短くなるように求められる。
【０１００】
次に、推定パージ率算出部Ａ９は、現時点から遅延時間TD分だけ前の時点にてパージ制御弁駆動部Ａ７により求められた制御弁位置パージ流量KPを推定パージ基本流量KPEとして設定する。ところで、パージ制御弁４９の開閉動作に対して、パージ制御弁４９を通過するガスの流量は概ね一次遅れ特性を有するように変化する。そこで、推定パージ率算出部Ａ９は推定パージ基本流量KPEに下記（１６）式に示した「なまし処理（一次遅れ処理）」を施すことにより、推定パージ流量KPEMを取得する。この（１６）式において、κは０より大きく１より小さい定数である。κはパージ制御弁４９の開閉に伴う実際の蒸発燃料ガスの流量の変化が値KPEM上に反映されるように実験又はシミュレーションの結果に基づき予め調整されている。
【数１６】
2008303857.tif 000018
【０１０１】
このように、推定パージ率算出部Ａ９は、パージ制御弁４９の開度に関連する値（目標パージ率PGT）に基いて制御弁位置パージ流量KPを求め、その制御弁位置パージ流量KPに基いて燃焼室２５に流入する蒸発燃料ガスの流量を、蒸発燃料ガスの同パージ制御弁から同燃焼室までの輸送遅れ期間TD及びパージ制御弁４９の開度に関連する値KPに対するパージ制御弁４９を通過する蒸発燃料ガスの挙動（上記一時遅れ特性）を考慮することにより、推定パージ流量KPEMとして推定する。
【０１０２】
更に、推定パージ率算出部Ａ９は、下記（１７）式に示したように、上記推定パージ流量KPEMを吸入空気流量Gaで除すことにより、推定パージ率PGREを求める。
【数１７】
2008303857.tif 000019
【０１０３】
＜指令噴射量決定＞
本装置は、基本噴射量Fbs、フィードバック補正係数FAF、ベース空燃比学習係数KGi、蒸発燃料ガス濃度学習値FGPG、及び、推定パージ率PGRE、を用いて指令噴射量Fiを決定する。図２に示した指令噴射量決定部Ａ１０はこの指令噴射量Fi（最終的な燃料噴射量）を決定するために設けられている。
【０１０４】
−指令噴射量決定部Ａ１０−
指令噴射量決定部Ａ１０は、下記（１８）式に示したように、先ず、推定パージ率算出部Ａ９により取得された推定パージ率PGREと、蒸発燃料ガス濃度学習部Ａ８により算出された蒸発燃料ガス濃度学習値FGPGと、に基づいてパージ補正係数（パージ補正量）FPGを算出する。即ち、指令噴射量決定部Ａ１０は、蒸発燃料ガス濃度学習値FGPGの「１」からの偏差に推定パージ率PGREを乗じて得られた積に「１」を加えることにより、パージ補正係数FPGを求める。前述したように、蒸発燃料ガス濃度学習値FGPGの基本値は「１」であり、蒸発燃料ガス濃度が高いほど小さくなる。従って、（１８）式によると、蒸発燃料ガス濃度が高いほど、又は、推定パージ率PGREが大きいほど、パージ補正係数FPGは小さくなる。
【数１８】
2008303857.tif 000020
【０１０５】
そして、指令噴射量決定部Ａ１０は、ベース空燃比学習係数KGiのうちから負荷Lに応じた学習領域ｉに対応する係数をベース補正係数KGとして選択する。次に、指令噴射量決定部Ａ１０は、下記（１９）式に示したように、フィードバック補正係数FAF(k)、ベース補正係数KG及びパージ補正係数FPGを基本噴射量Fbs(k)に乗じることにより指令噴射量Fi(k)を決定する。指令噴射量決定部Ａ１０はこの指令噴射量Fi(k)の燃料噴射をインジェクタ３９に対して指示する。
【数１９】
2008303857.tif 000021
【０１０６】
（パージ制御弁閉弁指示時点のフィードバック補正量と蒸発燃料ガス濃度学習値の修正）
本装置は、パージ制御弁４９を開いている状態（DPGが０でない状態）から完全に閉じた状態（DPGが０の状態）へと変更させるための指示信号がパージ制御弁４９に送出されるパージ制御弁閉弁指示時点にて、フィードバック補正係数FAFをクリアする（基本値「１」に修正する。）。更に、本装置は、パージ制御弁閉弁指示時点にて、パージ補正係数FPGに、パージ制御弁閉弁指示時点にて算出されていた前記クリア直前のフィードバック補正係数FAFに応じた燃料噴射量の補正分が加えられるように、蒸発燃料ガス濃度学習値FGPGを修正する。
【０１０７】
このようなフィードバック補正係数FAFのクリア及び、蒸発燃料ガス濃度学習値FGPG（パージ補正係数FPG）の修正を実行するために、本装置は、以下に述べる蒸発燃料ガスのパージ停止時調整部Ａ１１を備える。
【０１０８】
−蒸発燃料ガスのパージ停止時調整部Ａ１１−
蒸発燃料ガスのパージ停止時調整部Ａ１１は、パージ制御弁閉弁指示時点であることを検出すると、その時点の負荷Lに対応した学習領域iにおけるベース空燃比学習が完了しているか否かを判定する。より具体的には、蒸発燃料ガスのパージ停止時調整部Ａ１１は、その時点おける補正係数平均FAFAVの基本値「１」からの偏差εaの絶対値が所定値α（α＞０）より小さいとき、その時点の負荷Lに対応した学習領域iにおけるベース空燃比学習が完了していると判定する。
【０１０９】
そして、蒸発燃料ガスのパージ停止時調整部Ａ１１は、パージ制御弁閉弁指示時点において、その時点の負荷Lに対応した学習領域iにおけるベース空燃比学習が完了していると判定した場合、フィードバック補正係数FAFを基本値に修正する（クリアする）とともに、基本値に修正される直前のフィードバック補正係数FAFによる基本噴射量Fbsの補正分に相当する量がパージ補正係数FPGに加えられるように、蒸発燃料ガス濃度学習値FGPGを修正する。
【０１１０】
より具体的に述べると、蒸発燃料ガスのパージ停止時調整部Ａ１１は、この蒸発燃料ガス濃度学習値FGPG（従って、パージ補正係数FPG）の修正を、フィードバック補正係数FAFとパージ補正係数FPGとの積が蒸発燃料ガスのパージ停止直前及び直後において等しい値に保たれるように行う。以下、パージ補正係数FPGの修正方法について説明する。
【０１１１】
いま、蒸発燃料ガスのパージ停止直前におけるフィードバック補正係数の値がFAF0（図３の（Ｄ）を参照。）であったと仮定する。この値FAF0を（1＋ε）と表す。εはFAF0の「１」からの偏差であり、ここでは負の値である。更に、蒸発燃料ガスのパージ停止直前におけるパージ補正係数の値がFPG0（同図の（Ｃ）を参照。）であったと仮定する。蒸発燃料ガスのパージ停止時調整部Ａ１１は上述のようにパージ制御弁閉弁指示時点にてフィードバック補正係数FAFを「１」にクリアする。従って、蒸発燃料ガスのパージ停止直後における修正されたパージ補正係数の値をFPG1とすると、下記（２０）式が成り立つ。
【数２０】
2008303857.tif 000022
【０１１２】
クリア直前のフィードバック補正係数FAF0の偏差εに応じた基本噴射量Fbsの補正分に相当する相当濃度学習値ΔFGPG（図３の（Ｂ）を参照。）は、次のようにして求めることができる。即ち、推定パージ率PGRE0は蒸発燃料ガスのパージ停止の直前及び直後において連続的であり、変化しないと考えることができる。また、蒸発燃料ガスのパージ停止直後における修正された蒸発ガス濃度学習値をFGPG1とすると、パージ補正係数FPG1と、推定パージ率PGRE0と、蒸発燃料ガス濃度学習値FGPG1と、の間にも上記（１８）式（FPG=1＋PGRE(FGPG−1)）が成り立つ。従って、下記（２１）式が得られる。
【数２１】
2008303857.tif 000023
この結果、（２０）式及び（２１）式から下記（２２）式が得られる。
【数２２】
2008303857.tif 000024
【０１１３】
即ち、蒸発燃料ガス濃度学習値FGPG1は、偏差ε、パージ補正係数FPG0及び推定パージ率PGRE0により表される。
【０１１４】
従って、クリア直前のフィードバック補正係数FAF0の偏差εに応じた基本噴射量Fbsの補正分に相当する相当濃度学習値ΔFGPGは、パージ補正係数FPG0、推定パージ率PGRE0及び蒸発燃料ガス濃度学習値FGPG0に上記（１８）式の関係（FPG0=1＋PGRE0(FGPG0−1)）があることを考慮すると、下記（２３）式により表される。
【数２３】
2008303857.tif 000025
【０１１５】
即ち、クリア直前のフィードバック補正係数FAF0の「１」からの偏差εに応じた燃料噴射量の補正分に相当する「相当濃度学習値ΔFGPG」は、フィードバック補正係数FAFの基本値「１」からの偏差εとパージ補正係数FPG0との積を推定パージ率PGRE0により除することによって求められる。蒸発燃料ガスのパージ停止時調整部Ａ１１は、実質的にこの相当濃度学習値ΔFGPGを蒸発燃料ガスのパージ停止直前の蒸発燃料ガス濃度学習値FGPG0に加えることにより蒸発燃料ガス濃度学習値FGPGを値FGPG1に修正する。
【０１１６】
このパージ制御弁閉弁指示時点におけるフィードバック補正係数FAFの偏差εの蒸発燃料ガス濃度学習値FGPGへの取り込みについて、図３及び図４を参照しながらより詳細に説明する。図３は、パージ制御弁閉弁指示時点の前後におけるパージ補正係数FPG及びフィードバック補正係数FAFの変化の一例を模式的に示している。ここでは、パージ制御弁閉弁指示時点tpcに至るまでに（その時点の負荷Lに対応する学習領域iにおける）ベース空燃比学習が完了している場合を想定している。
【０１１７】
この例においては、パージ制御弁閉弁指示時点tpc以前において、図３の（Ａ）に示したように推定パージ率PGREはPGRE0となっており、図３の（Ｂ）に示したように蒸発燃料ガス濃度学習値FGPGはFGPG0となっている。従って、図３の（Ｃ）に示したように、パージ補正係数FPGは、推定パージ率PGRE0及び蒸発燃料ガス濃度学習値FGPG0が上記（１８）式に代入されることにより得られるパージ補正係数FPG0（＝1＋PGRE0(FGPG0−1)）となっている。
【０１１８】
ところで、推定パージ流量KPEMが蒸発燃料ガスの実際のパージ流量に完全に一致することは少ない。従って、図３の（Ａ）に示したように、推定パージ率PGRE0と、実際のパージ率（実際の蒸発燃料ガスの流量を吸入空気流量Gaで除した値）PGRRとの間にはずれ量ΔP（＝PGRE0−PGRR）が生じている。このため、パージ補正係数FPG（＝FPG0）は蒸発燃料ガスのパージによる空燃比への影響を完全には補正できない。この結果、図３の（Ｄ）に示したように、フィードバック補正係数FAFは、パージ補正係数FPGによる補正不足を補う値FAF0となる。
【０１１９】
パージ制御弁閉弁指示時点tpcに至ると、蒸発燃料ガスのパージ停止時調整部Ａ１１は、フィードバック補正係数FAF0をクリアする（即ち、フィードバック補正係数FAFを基本値「１」に設定する。）。同時に、蒸発燃料ガスのパージ停止時調整部Ａ１１は、図３（Ｃ）に示したように、パージ補正係数FPGを値FPG0から値FPG1へと変更する。換言すると、蒸発燃料ガスのパージ停止時調整部Ａ１１は、蒸発燃料ガス濃度学習値FGPG0に、クリア直前のフィードバック補正係数FAF0（基本値「１」よりも小さな値）による基本噴射量Fbsの補正分に対応する相当濃度学習値ΔFGPG（負の値。上記（２３）式を参照。）を加えることにより、蒸発燃料ガス濃度学習値FGPGを修正する。これにより、蒸発燃料ガスのパージ停止の直前に蒸発燃料ガス濃度学習値FGPG0に基いて算出されていたパージ補正係数FPG0は値FPG1へと減少する。
【０１２０】
このパージ制御弁閉弁指示時点tpc以降においては、蒸発燃料ガスのパージが事実上継続される。これに対処するように、本装置は、蒸発燃料ガス濃度学習値FGPG1と、上記（１６）式及び（１７）式に基いて「輸送遅れ期間（遅延時間TD）」及び「蒸発燃料ガス流量の変化特性（上記一次遅れ特性）」が考慮されることにより得た推定パージ率PGREと、を上記（１８）式に代入してパージ補正係数FPGを算出する。従って、「パージ制御弁閉弁指示時点tpc」以降において、燃料の指令噴射量Fiを蒸発燃料ガスの実際のパージ流量の変化に応じて変化させることができる。この結果、図３（Ｅ）の実線により示したように、機関１０の空燃比afが理論空燃比af0の前後の値から大きく変動することを防ぐことができる。
【０１２１】
一方、従来の制御装置はパージ制御弁閉弁指示時点tpcにてパージ補正係数FPGをクリアする（図３（Ｃ）の破線を参照。）とともに、フィードバック補正係数FAFをクリアする（図３（Ｄ）の破線を参照。）。これによると、蒸発燃料ガスの輸送遅れに起因して、蒸発燃料ガスのパージ停止直後から空燃比afは理論空燃比af0よりもリッチとなり、この空燃比afの変動を抑えるためにフィードバック補正係数FAFも急激に変化する（図３（Ｄ）の破線を参照。）。
【０１２２】
更に、本制御装置の蒸発燃料ガスのパージ停止時調整部Ａ１１は、現時点がパージ制御弁閉弁指示時点tpcであることを検出しても、ベース空燃比学習部Ａ６によるベース空燃比学習が完了していない場合、上述のようなフィードバック補正係数FAFの「１」への修正と、蒸発燃料ガス濃度学習値FGPGの修正（従って、パージ補正係数FPGの修正）と、を行わない（禁止する）ようになっている。図４はこのような禁止による効果を説明するためのタイムチャートである。図４は、パージ制御弁閉弁指示時点tpcにて至るまでに（その時点の負荷Lに対応する学習領域iにおける）ベース空燃比学習が完了していない場合において、パージ制御弁閉弁指示時点tpcの前後のパージ補正係数FPG及びフィードバック補正係数FAFの変化を模式的に示している。
【０１２３】
この例においても、ベース空燃比学習が完了している場合と同様、「パージ制御弁閉弁指示時点tpc」に至る以前では、図４の（Ａ）に示したように推定パージ率PGREはPGRE0となっており、図４の（Ｂ）に示したように蒸発燃料ガス濃度学習値FGPGはFGPG0となっている。従って、図４の（Ｃ）に示したように、パージ補正係数FPGは、推定パージ率PGRE0及び蒸発燃料ガス濃度学習値FGPG0が上記（１８）式に代入されることにより得られるパージ補正係数FPG0（＝1＋PGRE0(FGPF0−1)）となっている。
【０１２４】
更に、ベース空燃比学習が完了している場合と同様、推定パージ率PGRE0と、実際のパージ率PGRRと、の間にはずれ量ΔPが生じている（図４（Ａ）を参照。）。しかし、ここではベース空燃比学習が完了している場合とは異なり、値がFAF0となっているフィードバック補正係数FAFは、推定パージ率PGRE0と実際のパージ率PGRRとの差ΔPに起因して燃料噴射量を補正しなければならない部分ΔFAF0（＝FAF0−FAFC）と、空燃比のベースのずれに起因して燃料噴射量を補正しなければならない部分ΔFAF1（＝FAFC−1）と、を含んでいる。
【０１２５】
ところで、上記値FAFCは、ベース空燃比学習が完了していないこと、及び、蒸発燃料ガスのパージ停止後においても何らかの理由によりベース空燃比学習が進まないことを想定した場合に、蒸発燃料ガスのパージ停止に伴って蒸発燃料ガスの燃焼室２５への実質的な流入が停止した時点から十分に時間が経過した時刻tcとなったときにフィードバック補正係数FAFが収束する値である。従って、空燃比のベースのずれによる部分ΔFAF1が、蒸発燃料ガスの流量のずれ量による部分ΔFAF0よりも大きければ、フィードバック補正係数の収束値FAFCは、基本値「１」よりも、値FAF0に近い値になる。
【０１２６】
従って、パージ制御弁閉弁指示時点tpcにおいて上述のようにフィードバック補正係数FAFを基本値に修正するとともにフィードバック補正係数FAF（＝FAF0）による燃料噴射量の補正分に応じた相当濃度学習値ΔFGPGを蒸発燃料ガス濃度学習値FGPGに取り込んだときの時刻te以降におけるフィードバック補正係数FAFの変化量（図４（Ｄ）の実線を参照。）は、パージ制御弁閉弁指示時点tpcにおいてフィードバック補正係数FAFを基本値に修正せず且つ相当濃度学習値ΔFGPGを蒸発燃料ガス濃度学習値FGPGに取り込まなかったときの時刻te以降におけるフィードバック補正係数FAFの変化量（図４（Ｄ）の破線を参照。）よりも大きくなる。その結果、空燃比は、図４の（Ｅ）において実線により示したように、図４の（Ｅ）において破線により示した場合よりも大きく変動してしまう。そこで、蒸発燃料ガスのパージ停止時調整部Ａ１１はベース空燃比学習が未完了である場合には、パージ制御弁閉弁指示時点tpcにおけるフィードバック補正係数FAFの修正及び蒸発燃料ガス濃度学習値FGPGの修正を禁止する。
【０１２７】
以上から理解されるように、ベース空燃比学習が完了していない場合、フィードバック補正係数FAFの修正（クリア）及び蒸発燃料ガス濃度学習値FGPGの修正を禁止することにより、そのような修正を実施した場合よりも空燃比の変動を小さくすることができる。
【０１２８】
（１．通常時における実際の作動）
上述のように本制御装置の特徴の一つは、パージ制御弁閉弁指示時点においてフィードバック補正係数FAFを基本値に修正するとともに、その修正される前のフィードバック補正係数FAFによる燃料噴射量の補正分をパージ補正係数FPG（実際には、蒸発燃料ガス濃度学習値FGPG）へと取り込むことにある。以下では、この取り込み処理に関わる実際の作動について説明する。先ず、通常時における作動について図５〜図１０を用いて説明し、その後に図１１を用いてパージ制御弁閉弁指示時点における作動について説明する。
【０１２９】
＜空燃比フィードバック制御のためのフィードバック補正係数の算出＞
コントロールユニット７０のＣＰＵ７１は、図５に示したフィードバック補正係数算出ルーチンを各気筒のクランク角が所定のクランク角度（本例では、排気上死点前の所定の角度（例えば、90°CA））となる毎に繰り返し実行するようになっている。ＣＰＵ７１がこのフィードバック補正係数算出ルーチンを実行することによって上記フィードバック補正係数算出部Ａ５による処理が達せられる。なお、筒内吸入空気量Mc(k)、燃料の基本噴射量Fbs(k)及び実噴射量Fc(k−N)は、上記（１）式乃至（４）式に従って、図示しないルーチンにより別途算出されている。
【０１３０】
所定のタイミングになるとＣＰＵ７１はステップ５００から処理を開始し、先ずステップ５０５にて、空燃比フィードバック条件（フィードバック条件）が成立しているか否かを判定する。このフィードバック条件は、（１）機関１０が始動時でなく、（２）機関１０が燃料カット中でなく、（３）機関１０の冷却水温TWが所定温度以上であり（暖機が完了しており）、（４）空燃比センサ６８が正常に動作しており、且つ、（５）機関１０の筒内吸入空気量Mc(k)（又は負荷L）が所定値以下であるときに成立する。
【０１３１】
いま、フィードバック条件が成立しているが、機関１０の運転状態が過渡運転状態（例えば、機関１０が加速されている状態）であるために、後述するパージ条件が十分に長い期間に亘って不成立であると仮定する。
【０１３２】
この場合、ＣＰＵ７１はステップ５０５にて「Ｙｅｓ」と判定してステップ５１０に進み、上記（５）式に従って基本噴射量Fbs(k−N)から実噴射量Fc(k−N)を減じて得た値を噴射量偏差DFc(k)として設定する。次いで、ＣＰＵ７１はステップ５１５に進み、上記（６）式に従って噴射量偏差DFc(k)をＰＩ処理し、これにより得た値をフィードバック補正値DF(k)として設定する。
【０１３３】
続いて、ＣＰＵ７１はステップ５２０にて下記（２４）式に示したように、その時点における噴射量偏差の積分値SDFc(k)に、ステップ５１５にて新たに算出した噴射量偏差DFc(k)を加えることにより、新たな噴射量偏差の積分値SDFc(k+1)を求める。この新たな噴射量偏差の積分値SDFc(k+1)は、本ルーチンの次回の呼び出し時のステップ５１５にてフィードバック補正値DF(k+1)を算出するために用いられる。
【数２４】
2008303857.tif 000026
【０１３４】
更に、ＣＰＵ７１はステップ５２５に進み、上記（７）式に従ってフィードバック補正値DF(k)をフィードバック補正係数FAF(k)に変換する。そして、ＣＰＵ７１はステップ５３０に進み、上記（８）式に従って、ステップ５２５にて得られたフィードバック補正係数FAF(k)と、本ルーチンの前回の呼び出し時に本ステップ５３０にて得た前回のフィードバック補正係数FAF(k−1)と、の平均値（加重平均値）を求め、その平均値を補正係数平均FAFAV(k)として格納する。そして、ＣＰＵ７１はステップ５９５に進んで本ルーチンを一旦終了する。以上により、フィードバック補正係数FAF(k)及び補正係数平均FAFAV(k)が算出される。
【０１３５】
＜蒸発燃料ガスパージ非実行中のベース空燃比学習＞
一方、ＣＰＵ７１は図６に示したパージ制御弁駆動ルーチンを所定時間の経過毎に実行するようになっている。ＣＰＵ７１は、このパージ制御弁駆動ルーチンを実行することにより、上記パージ制御弁駆動部Ａ７による処理を達成するようになっている。
【０１３６】
ＣＰＵ７１は所定のタイミングになるとステップ６００から処理を開始し、ステップ６０５に進んでパージ条件が成立しているか否かを判定する。このパージ条件は、空燃比フィードバック制御が実行中であり、且つ、機関１０が定常運転されているとき（例えば、負荷Lの単位時間あたりの変化量が所定値以下のとき）に成立する。
【０１３７】
前述した仮定に従えば、パージ条件は成立していない。従って、ＣＰＵ７１はステップ６０５にて「Ｎｏ」と判定してステップ６１０に進み、デューティ比DPGを「０」に設定する。次に、ＣＰＵ７１はステップ６１２に進み、制御弁位置パージ流量KPを「０」に設定する。その後、ＣＰＵ７１はステップ６１５に進み、パージ制御弁４９をデューティ比DPGに基いて開閉制御する。このとき、デューティ比DPGは「０」に設定されているからパージ制御弁４９は完全に閉じられた状態となる。その後、ＣＰＵ７１はステップ６９５に進んで本ルーチンを一旦終了する。
【０１３８】
更に、ＣＰＵ７１は、図７に示したベース空燃比学習ルーチンを所定の時間間隔毎に実行するようになっている。このベース空燃比学習ルーチンの実行によって、蒸発燃料ガスパージが行われていない間にベース空燃比学習が行われ、上記ベース空燃比学習部Ａ６による処理が達せられる。
【０１３９】
ＣＰＵ７１は所定のタイミングになるとステップ７００から処理を開始し、ステップ７０５に進んで空燃比フィードバック制御が実行中であるか否か（即ち、フィードバック条件が成立しているか否か）を判定し、更に、ステップ７１０にて蒸発燃料ガスパージが行われているか否かを判定する。本例において、ＣＰＵ７１は蒸発燃料ガスパージが行われているか否か（蒸発燃料ガスが気筒内に吸入されている状態であるか否か）を、後述する図９のルーチンにより求められる推定パージ率PGREが「０」であるか否かに基いて行う。即ち、ＣＰＵ７１は推定パージ率PGREが「０」以外の値に設定されている場合には蒸発燃料ガスパージが行われていると判定し、また推定パージ率PGREが「０」に設定されている場合には蒸発燃料ガスパージが行われていないと判定する。
【０１４０】
前述した仮定に従えば、空燃比フィードバック制御は実行されているが、パージ条件は十分に長い期間に亘って不成立である。従って、蒸発燃料ガスパージは行われていない。よって、ＣＰＵ７１はステップ７０５にて「Ｙｅｓ」と判定し、ステップ７１０にて「Ｎｏ」と判定してステップ７１５に進む。
【０１４１】
ＣＰＵ７１はステップ７１５にて補正係数平均FAFAVの基本値「１」からの偏差εa（εa＝FAFAV(k)−１）が値α（α＞０）以上であるか否かを判定する。即ち、補正係数平均FAFAVが１＋α以上であるか否かを判定する。そして、偏差εaが値α以上である場合、ＣＰＵ７１はステップ７１５にて「Ｙｅｓ」と判定してステップ７２５に進み、そのときの負荷Lが属する学習領域iに対するベース空燃比学習係数KGiを所定値X（X＞０）だけ増大させる。
【０１４２】
一方、偏差εaが値α以上でなければＣＰＵ７１はステップ７１５にて「Ｎｏ」と判定してステップ７２０に進み、その偏差εaが値（−α）以下であるか否かを判定する。即ち、補正係数平均FAFAVが１−α以下であるか否かを判定する。そして、偏差εaが値（−α）以下である場合、ＣＰＵ７１はステップ７２０にて「Ｙｅｓ」と判定してステップ７３０に進み、ベース空燃比学習係数KGiを所定値Xだけ減少させる。
【０１４３】
更に、ＣＰＵ７１はステップ７２５又はステップ７３０に続いてステップ７３５に進み、ステップ７３５にて空燃比学習完了フラグXliを「０」に設定する。空燃比学習完了フラグXliとは、学習領域iに対応して設けられるフラグである。空燃比学習完了フラグXliの値が「０」であれば、学習領域iにおけるベース空燃比学習が完了していないことを示す。次いで、ＣＰＵ７１はステップ７９５にて本ルーチンを一旦終了する。
【０１４４】
他方、偏差εaが値（−α）よりも大きく且つ値αよりも小さい場合（即ち、１−α＜FAFAV(K)＜１＋αである場合）、ＣＰＵ７１はステップ７１５及びステップ７２０の両ステップにて「Ｎｏ」と判定してステップ７４０に進み、空燃比学習完了フラグXliを「１」に設定する。空燃比学習完了フラグXliの値が「１」であれば、学習領域iにおけるベース空燃比学習が完了していることを示す。次いで、ＣＰＵ７１はステップ７９５にて本ルーチンを一旦終了する。
【０１４５】
以上により、空燃比フィードバック制御の実行中であって蒸発燃料ガスパージが実質的に行われていない間にベース空燃比学習係数KGiが更新される。
【０１４６】
＜蒸発燃料ガスパージ非実行中の指令噴射量の決定＞
更に、ＣＰＵ７１は、図８に示した蒸発燃料ガス濃度学習ルーチンを上記ベース空燃比学習ルーチンに続いて実行するようになっている。この蒸発燃料ガス濃度学習ルーチンの実行によって、蒸発燃料ガスパージが行われている間（推定パージ率PGREが「０」以外の値に設定されている期間）に蒸発燃料ガス濃度学習（蒸発燃料ガス濃度学習値FGPGの更新）が行われ、上記蒸発燃料ガス濃度学習部Ａ８による処理が達せられる。ＣＰＵ７１は所定のタイミングになるとステップ８００から処理を開始してステップ８０５に進み、空燃比フィードバック制御が実行中であるか否かを判定し、更に、ステップ８１０にてデューティ比DPGが「０」より大きいか否か（即ち、パージ制御弁開弁指示期間であるか否か）を判定する。
【０１４７】
前述した仮定に従えば、空燃比フィードバック制御は実行されているがデューティ比DPGが「０」となっていて、蒸発燃料ガスパージは行われていない。従って、ＣＰＵ７１はステップ８０５にて「Ｙｅｓ」と判定するとともにステップ８１０にて「Ｎｏ」と判定してステップ８９５に進み、本ルーチンを一旦終了する。このように、空燃比フィードバック制御は実行されているがパージ制御弁開弁指示期間でない（パージ制御弁閉弁指示期間である）場合、後述するステップ８３０が実行されないから、蒸発燃料ガス濃度学習値FGPGは更新されない。
【０１４８】
加えて、ＣＰＵ７１は、図９に示した推定パージ率算出ルーチンを上記蒸発燃料ガス濃度学習ルーチンに続いて実行するようになっている。この推定パージ率算出ルーチンの実行によって推定パージ率PGREが算出され、上記推定パージ率算出部Ａ９による処理が達せられる。ＣＰＵ７１は所定のタイミングになるとステップ９００から処理を開始し、ステップ９１０からステップ９２５に進んで以下に述べる処理を実行する。
【０１４９】
ステップ９１０：ＣＰＵ７１は、回転速度NE及び遅延時間設定マップに基づいて上記遅延時間TD（蒸発燃料ガスの輸送遅れ時間）を算出する。
ステップ９１５：ＣＰＵ７１は、遅延時間TD分だけ過去に算出され且つ記憶されている制御弁位置パージ流量KPを現在の推定パージ基本流量KPEとして設定する。なお、パージ条件が不成立になると、図６のステップ６１２により、制御弁位置パージ流量KPは「０」となる。従って、パージ条件が成立している状態から不成立の状態へと変化した時点（パージ制御弁閉弁指示時点tpc）から遅延時間TDが経過すると、推定パージ基本流量KPEの値も「０」になる。
【０１５０】
ステップ９２０：ＣＰＵ７１は、上記（１６）式に従って、推定パージ基本流量KPEになまし処理を施すことにより、推定パージ流量KPEMを算出する。
ステップ９２５：ＣＰＵ７１は、上記（１７）式に従って、推定パージ流量KPEM及び吸入空気流量Gaから推定パージ率PGREを算出する。
【０１５１】
次に、ＣＰＵ７１はステップ９３０に進み、推定パージ率PGREが微小な値δより大きいか否かを判定する。そして、推定パージ率PGREが値δ以下であれば、ＣＰＵ７１はステップ９３０にて「Ｎｏ」と判定してステップ９３５に進み、推定パージ率PGREを「０」に設定し、ステップ９９５に進んで本ルーチンを一旦終了する。また、推定パージ率PGREが値δより大きければ、ＣＰＵ７１はステップ９３０にて「Ｙｅｓ」と判定してステップ９９５に直接進み、本ルーチンを一旦終了する。
【０１５２】
なお、パージ条件が十分に長い期間に亘って不成立であるために蒸発燃料ガスパージが十分に長い期間に亘って行われていない現時点の状態においては、制御弁位置パージ流量KPは「０」となり続けている。従って、なまし処理後の推定パージ流量KPEMは殆ど「０」となる。この結果、ステップ９２５にて算出される推定パージ率PGREが値δ以下となるから、ＣＰＵ７１はステップ９３０からステップ９３５に進む。従って、現時点において、推定パージ率PGREは「０」となる。
【０１５３】
更に、ＣＰＵ７１は、図１０に示した指令噴射量決定ルーチンを各気筒のクランク角が各吸気上死点前の所定のクランク角度（例えば、吸気上死点前80°CA）となる毎に繰り返し実行するようになっている。この指令噴射量決定ルーチンの実行によって、燃料の指令噴射量Fiを決定するとともに同指令噴射量Fiの燃料噴射を行う上記指令噴射量決定部Ａ１０による処理が達せられる。
【０１５４】
ＣＰＵ７１は所定のタイミングになると、ステップ１０００から処理を開始してステップ１００５に進み、現在の負荷Lの値に応じた学習領域iのベース空燃比学習係数KGiを選択し、そのベース空燃比学習係数KGiをベース補正係数KGとして設定する。次いで、ＣＰＵ７１は続くステップ１０１０にて、上記（１８）式に従ってパージ補正係数FPGを設定する。前述したように、現時点においては、推定パージ率PGREは「０」となっている。この結果、ステップ１０１０にて求められるパージ補正係数FPGは「１（基本値）」となる。
【０１５５】
次いで、ＣＰＵ７１はステップ１０１５に進み、ステップ１００５にて設定されたベース補正係数KG、ステップ１０１０にて算出されたパージ補正係数FPG及び図５のフィードバック補正係数算出ルーチンにて算出されたフィードバック補正係数FAF（ステップ５２５にて求められているFAF(k)）を用いて基本噴射量Fbsを補正することにより燃料の指令噴射量Fiを算出する（上記（１９）式を参照。）。ＣＰＵ７１は続くステップ１０２０にて指令噴射量Fiの燃料を噴射するための指示を吸気上死点を迎えようとしているインジェクタ３９に対して行い、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０１５６】
＜パージ制御弁の駆動による蒸発燃料ガスパージの実行＞
次に、空燃比フィードバック制御が実行中であり、且つ、機関１０が定常運転されてパージ条件が成立している場合について説明する。この場合、ＣＰＵ７１は図５のステップ５０５乃至ステップ５３０の処理を行うことにより空燃比フィードバック制御を実行する。更に、パージ条件が成立しているから、ＣＰＵ７１は図６のステップ６０５にて「Ｙｅｓ」と判定してステップ６２０に進み、目標パージ率PGTを機関１０の運転状態に基づいて設定する。
【０１５７】
次いで、ＣＰＵ７１はステップ６２５〜ステップ６３５に進んで、以下に述べる処理を実行する。
ステップ６２５：ＣＰＵ７１は、上記（１１）式に従って目標パージ率PGT及び吸入空気流量Gaから制御弁位置パージ流量KPを算出する。
ステップ６３０：ＣＰＵ７１は、回転速度NE及び負荷Lに基づき全開パージ率PGRMXを求める。
ステップ６３５：ＣＰＵ７１は、上記（１３）式に従って全開パージ率PGRMX及び目標パージ率PGTを用いてデューティ比DPGを算出する。
【０１５８】
その後、ＣＰＵ７１は、ステップ６１５にてパージ制御弁４９を上記設定されたデューティ比DPGにて駆動し、ステップ５９５に進んで本ルーチンを一旦終了する。以上により、パージ条件が成立している場合にはデューティ比DPGにてパージ制御弁４９が駆動される。その結果、制御弁位置パージ流量KPの蒸発燃料ガスが制御弁４９を通過して機関１０の吸気通路に導入され、その後、燃焼室２５に流入する。
【０１５９】
＜蒸発燃料ガスパージ実行中の蒸発燃料ガス濃度学習及び推定パージ率の算出＞
前述した仮定に従えば、蒸発燃料ガスパージが行われている。従って、ＣＰＵ７１は図７のベース空燃比学習ルーチンのステップ７１０にて「Ｙｅｓ」と判定してステップ７９５に進み、そのままそのベース空燃比学習ルーチンを終了する。この結果、ベース空燃比学習係数KGiは更新されない。即ち、ベース空燃比の学習が停止される。
【０１６０】
更に、この場合、ＣＰＵ７１は、図８の蒸発燃料ガス濃度学習ルーチンのステップ８０５及びステップ８１０の両ステップにて「Ｙｅｓ」と判定してステップ８１５に進み、補正係数平均FAFAVの基本値「１」からの偏差εa（＝FAFAV−１）の絶対値の大きさが値βより大きいか否かを判定する。そして、偏差εaの絶対値の大きさが値βより大きい場合、ＣＰＵ７１はステップ８１５にて「Ｙｅｓ」と判定してステップ８２０に進み、上記（１５）式に従ってその偏差εaと目標パージ率PGTとから更新値tFGを求める。目標パージ率PGTは図６のステップ６２０にて設定されている。一方、偏差εaの絶対値の大きさが値β以下である場合、ＣＰＵ７１はステップ８１５にて「Ｎｏ」と判定してステップ８２５に進み、更新値tFGを「０」とする。
【０１６１】
そして、ＣＰＵ７１はステップ８２０又はステップ８２５からステップ８３０に進み、上記（１４）式に従って蒸発燃料ガス濃度学習値FGPGを更新し、続くステップ８９５にて本ルーチンを一旦終了する。以上により、パージ制御弁開弁指示期間（デューティ比DPGが０より大きい場合）において、補正係数平均FAFAVの基本値「１」からの偏差εaの絶対値の大きさが値βより大きいとき、蒸発燃料ガス濃度学習値FGPGが更新される。
【０１６２】
更に、このパージ制御弁開弁指示期間においても、ＣＰＵ７１は、図９の推定パージ率算出ルーチンの処理を行う。その結果、図６のステップ６２５にて求められる制御弁位置パージ流量KPに対して遅延時間TDの遅延処理及びなまし処理が施された推定パージ流量KPEMが求められ、その推定パージ流量KPRMに基いて推定パージ率PGREが算出される。
【０１６３】
＜蒸発燃料ガスパージ実行中の指令噴射量の決定＞
ＣＰＵ７１は、パージ制御弁開弁指示期間においても、パージ制御弁閉弁指示期間と同様に図１０に示したルーチンを所定のタイミングにて実行する。以上により、燃焼室２５に導入される蒸発燃料ガス中の蒸発燃料に機関１０の空燃比afが影響を受けないように基本噴射量Fbsがパージ補正係数FPGにより補正され、その結果、燃料の指令噴射量Fiが算出される。そして、その指令噴射量Fiに応じた燃料噴射が行われる。
【０１６４】
＜フィードバック条件不成立時の処理＞
以上の作動は空燃比のフィードバック条件が成立することにより空燃比フィードバック制御が実行されている場合の作動である。これに対し、フィードバック条件が不成立であると、ＣＰＵ５１は、図５のステップ５０５にて「Ｎｏ」と判定してステップ５３５に進み、フィードバック補正係数FAF(k)の値を「１」に設定する。次いで、ＣＰＵ７１は、ステップ５４０にて噴射量偏差の積分値SDFc(k)を「０」に設定し、ステップ５９５に進んで本ルーチンを一旦終了する。
【０１６５】
更に、この場合（フィードバック条件が不成立の場合）にはパージ条件が不成立となる。従って、ＣＰＵ７１は図６のステップ６０５にて「Ｎｏ」と判定してステップ６１０、ステップ６１２及びステップ６１５に進み、パージ制御弁４９を閉じられた状態に維持する。加えて、この場合（フィードバック条件が不成立の場合）、ＣＰＵ７１は図７のステップ７０５にて「Ｎｏ」と判定して直接ステップ７９５に進む。同様に、ＣＰＵ７１は図８のステップ８０５にて「Ｎｏ」と判定して直接ステップ８９５に進む。
【０１６６】
以上のように、フィードバック条件が不成立であり空燃比フィードバック制御が行われない場合には、蒸発燃料ガスパージ、ベース空燃比学習（ベース空燃比学習係数KGiの更新）及び蒸発燃料ガス濃度学習（蒸発燃料ガス濃度学習値FGPGの更新）は実行されない。また、フィードバック条件が不成立となることにともなってパージ条件が不成立となってから十分に長い期間が経過すると、制御弁位置パージ流量KPは「０」となり続ける。従って、なまし処理後の推定パージ流量KPEMは殆ど「０」となるから、ステップ９２５にて算出される推定パージ率PGREが値δ以下となる。この結果、ステップ９３５によって推定パージ率PGREは「０」となるので、図１０のステップ１０１０にて算出されるパージ補正係数FPGは「１（基本値）」となる。
【０１６７】
（２．パージ制御弁閉弁指示時点における実際の作動）
ＣＰＵ７１は、上述した各ルーチンに加え、図１１に示したパージ停止時調整ルーチンを実行するようになっている。ＣＰＵ７１は、このルーチンを図１０に示した指令噴射量決定ルーチンの直前のタイミングにて実行する。図１１に示したパージ停止時調整ルーチンの実行によって上記蒸発燃料ガスのパージ停止時調整部Ａ１１による処理が達せられる。
【０１６８】
即ち、ＣＰＵ７１は上記適宜のタイミングにてステップ１１００から処理を開始し、ステップ１１０５に進んで現時点がパージ制御弁閉弁指示時点であるか否か（実際には、パージ制御弁閉弁指示時点の直後であるか否か）を判定する。即ち、ＣＰＵ７１はステップ１１０５にて、デューティ比DPGが「０」以外の値から「０」へと変更されることによりパージ制御弁４９が閉弁されたタイミングの直後であるか否かを判定する。現時点がパージ制御弁閉弁指示時点でなければ、ＣＰＵ７１はステップ１１０５にて「Ｎｏ」と判定してステップ１１９５に直接進み、本ルーチンを一旦終了する。
【０１６９】
現時点がパージ制御弁閉弁指示時点であると仮定すると、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定してステップ１１１０に進み、空燃比学習完了フラグXliの値が、ベース空燃比学習が完了していることを示す「１」となっているか否かを判定する。
【０１７０】
いま、空燃比学習完了フラグXliが「１」となっていてベース空燃比学習が完了していることを想定して説明を続ける。この場合、ＣＰＵ７１はステップ１１１０にて「Ｙｅｓ」と判定してステップ１１１５に進み、その時点のフィードバック補正係数FAF（＝FAF(k)）の基本値「１」からの偏差ε（ε＝FAF−１）、その時点のパージ補正係数FPG（＝FPG0）及びその時点の推定パージ率PGRE（＝PGRE0）を、上記（２３）式に適用することにより、相当濃度学習値ΔFGPGを算出する。
【０１７１】
そして、ＣＰＵ７１はステップ１１２０にて、フィードバック補正係数FAF（＝FAF(k)）を基本値「１」に設定する（「１」に修正する。クリアする。）。ＣＰＵ７１は、続くステップ１１２５にて噴射量偏差の積分値SDFc(k)を「０」に設定する（クリアする）。この時点が、図３の（Ｄ）の時刻tpcに相当する。
【０１７２】
次いで、ＣＰＵ７１はステップ１１３０にて、下記（２５）式に示したように、ステップ１１１５で算出された相当濃度学習値ΔFGPGをパージ制御弁閉弁指示時点の蒸発燃料ガス濃度学習値FGPGに加えることにより蒸発燃料ガス濃度学習値FGPGを更新する（図３（Ｂ）の時刻tpcを参照。）。その後、ＣＰＵ７１はステップ１１９５に進んで本ルーチンを一旦終了する。
【０１７３】
そして、ＣＰＵ７１は、図１０の指令噴射量決定ルーチンにおいて、負荷Lに応じたベース補正係数KGを設定し（ステップ１００５）、上記更新された蒸発燃料ガス濃度学習値FGPGからパージ補正係数FPGを算出する（ステップ１０１０）。更に、ＣＰＵ７１は、算出されたパージ補正係数FPGと、上記クリアされたフィードバック補正係数FAF（＝FAF(k)＝１）と、ベース補正係数KGと、を用いて燃料の指令噴射量Fiを算出する。以上が、パージ制御弁閉弁指示時点におけるベース空燃比学習が完了している場合の実際の作動である。
【数２５】
2008303857.tif 000027
【０１７４】
一方、ステップ１１１０の判定時において空燃比学習完了フラグXliが「０」となっている場合（ベース空燃比学習が完了していない場合）、ＣＰＵ７１はステップ１１１０からステップ１１９５へと直接進む。この結果、ベース空燃比学習が完了していない場合、ステップ１１１５〜１１３０が実行されないので、フィードバック補正係数FAFの基本値への修正（クリア）及び蒸発燃料ガス濃度学習値FGPGの修正が実行されない（禁止される）。
【０１７５】
以上説明したように、本制御装置は、パージ制御弁閉弁指示時点tpcにて、フィードバック補正量を基本値に修正するとともに、その基本値に修正される直前のフィードバック補正量FAFによる前記基本噴射量の補正分εに相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値FGPGを修正する。
【０１７６】
一方、蒸発燃料ガス濃度学習値FGPGは、パージ制御弁を所定開度に開く指示信号が送出されているとき（パージ制御弁開弁指示期間中）に更新され、パージ制御弁を完全に閉じる指示信号が送出されているとき（パージ制御弁閉弁指示期間中）には更新されない。従って、蒸発燃料ガス濃度学習値はFGPGパージ制御弁閉弁指示時点tpc以降において同じ値（前記修正がなされた値＝FGPG0＋ΔFPG）に維持される。他方、推定パージ流量KPEMは、パージ制御弁の開度に関連する値（目標パージ率PGTに応じる制御弁位置パージ流量KP）に基いて、蒸発燃料ガスの同パージ制御弁から同燃焼室までの輸送遅れ期間TD及び同パージ制御弁の開度に関連する値に対する同パージ制御弁を通過する蒸発燃料ガスの挙動（一次遅れ挙動）を考慮することにより、非常に精度良く推定される。
【０１７７】
従って、蒸発燃料ガス濃度学習値FGPG及び推定パージ流量KPEM（実際には推定パージ流量KPEMに依存する推定パージ率PGRE）に基いて算出されるパージ補正量FPGは、パージ制御弁閉弁指示時点tpc以降において燃焼室に流入する蒸発燃料による空燃比への影響を精度良く補償する値となる。以上のことから、フィードバック補正量FAFはパージ制御弁閉弁指示時点tpc直後の期間において基本値「１」から殆ど変動せず、その結果、パージ制御弁閉弁指示時点tpc以降における空燃比の変動が極めて効果的に抑制される。これにより、パージ制御弁閉弁指示時点tpc以降におけるＮＯｘ等の排出量を低減することができる。
【０１７８】
また、本制御装置は、前記パージ制御弁閉弁指示時点tpcが到来した場合に前記ベース空燃比学習が完了していないと判定されているならば（その時点の学習領域iに相当する空燃比学習完了フラグXliの値が「０」であるならば）、フィードバック補正量FAFの前記基本値「１」への修正と蒸発燃料ガス濃度学習値FGPGの前記修正とを禁止する（図１１のステップ１１１０からステップ１１９５へと直接進む流れを参照。）。これにより、特に、ベース空燃比学習が完了しておらず且つベース空燃比のずれが大きい場合に、空燃比が目標空燃比から大きく乖離することを回避することができる。
【０１７９】
以上の通りの本制御装置が適用される内燃機関は、燃料タンク（４５）内の燃料を噴射することにより燃焼室（２５）に燃料を供給する燃料噴射手段（３９）と、前記燃料タンク（４５）内に発生した蒸発燃料を同蒸発燃料を含んだ蒸発燃料ガスとして吸気通路（４１、４３、３１）に導入するための通路であって同燃料タンク（４５）と同吸気通路（４１、４３、３１）とを接続したパージ通路（４７、４８）と、前記パージ通路（４７、４８）に配設されるとともに指示信号に応答して開度が変更されるように構成されたパージ制御弁（４９）と、排気通路（５１、５２）に配設されるとともに前記燃焼室（２５）に供給された混合気の空燃比を検出する空燃比センサ（６８）と、を備えている。
【０１８０】
パージ制御弁駆動部Ａ７（図６のルーチン）は、所定のパージ条件が成立しているときに前記パージ制御弁を所定の開度に開くための指示信号（値が０でないデューティ比DPGを有する駆動信号）を同パージ制御弁に送出することにより前記蒸発燃料ガスを前記吸気通路に導入し、同パージ条件が不成立となったときに同パージ制御弁を完全に閉じるための指示信号（値が０であるデューティ比DPGを有する駆動信号）を同パージ制御弁に送出することにより同蒸発燃料ガスの同吸気通路への導入を停止するパージ制御手段に相当している。
【０１８１】
基本噴射量算出部Ａ３は、前記燃料噴射手段から噴射される燃料により前記燃焼室にもたらされる混合気の空燃比を所定の目標空燃比とするための基本噴射量を前記機関の吸入空気量に基づいて決定する基本噴射量決定手段に相当している。
フィードバック補正係数算出部Ａ５等（図５のルーチン）は、所定のフィードバック制御条件が成立しているときに前記検出された空燃比が前記目標空燃比と一致するように前記基本噴射量を補正するためのフィードバック補正量を算出するフィードバック補正量算出手段に相当している。
【０１８２】
蒸発燃料ガス濃度学習部Ａ８（図８のルーチン）は、前記パージ制御弁を前記所定の開度に開くための指示信号が同パージ制御弁に送出されているとき前記フィードバック補正量に関連する値に基づいて前記蒸発燃料ガスに含まれる蒸発燃料の濃度に関連する値を蒸発燃料ガス濃度学習値として学習する蒸発燃料ガス濃度学習手段に相当している。
【０１８３】
推定パージ率算出部Ａ９（図６のステップ６０５、６１２、６２０、６２５及び図９のルーチン）の一部等は、前記パージ制御弁の開度に関連する値に基いて前記燃焼室に流入する前記蒸発燃料ガスの流量を、同蒸発燃料ガスの同パージ制御弁から同燃焼室までの輸送遅れ期間及び同パージ制御弁の開度に関連する値に対する同パージ制御弁を通過する蒸発燃料ガスの挙動を考慮することにより、推定パージ流量として推定するパージ流量推定手段を構成している。
【０１８４】
指令噴射量決定部Ａ１０の一部（図１０のステップ１０１０）は、前記基本噴射量を前記燃焼室に流入する前記蒸発燃料ガス中の前記蒸発燃料に相当する量だけ減少させるように同基本噴射量を補正するためのパージ補正量を前記蒸発燃料ガス濃度学習値及び前記推定パージ流量に基づいて算出するパージ補正量算出手段を構成している。
【０１８５】
蒸発燃料ガスのパージ停止時調整部Ａ１１は、前記パージ制御弁を開いている状態から完全に閉じた状態へと変更させるための指示信号が同パージ制御弁に送出されるパージ制御弁閉弁指示時点にて、前記フィードバック補正量を、前記基本噴射量を増加も減少もさせない基本値に修正するフィードバック補正量修正手段（図１１のステップ１１２０）と、前記パージ制御弁閉弁指示時点にて、前記基本値に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量が前記パージ補正量に加えられるように前記蒸発燃料ガス濃度学習値を修正する蒸発燃料ガス濃度学習値修正手段（図１１のステップ１１１５、１１３０）と、に相当している。
【０１８６】
指令噴射量決定部Ａ１０（図１０のステップ１０２０）は、前記フィードバック補正量、前記ベース空燃比学習値及び前記パージ補正量を用いて前記基本噴射量を補正することにより前記燃料噴射手段から噴射される燃料噴射量を決定する燃料噴射量決定手段に相当している。
【０１８７】
ベース空燃比学習部Ａ６（図７のルーチン）は、前記パージ制御弁を完全に閉じた状態に維持する指示信号が同パージ制御弁に送出されているパージ制御弁閉弁指示期間において、前記フィードバック補正量を前記基本値に近づけるように同フィードバック補正量に応じて変化する学習用フィードバック値に基いてベース空燃比学習値を更新することによりベース空燃比学習を行うベース空燃比学習手段に相当している。また、図７のステップ７１５、７２０、７４０及び７３５は前記パージ制御弁閉弁指示期間において前記学習用フィードバック値に基いて前記ベース空燃比学習が完了しているか否かを判定するベース空燃比学習完了判定手段を構成している。
【０１８８】
また、図１１のステップ１１０５及びステップ１１１０と、ステップ１１１０からステップ１１９５へ直接向かう流れは、パージ制御弁閉弁指示時点が到来した場合に前記ベース空燃比学習が完了していないと判定されているならば前記フィードバック補正量修正手段による前記フィードバック補正量の前記修正と前記蒸発燃料ガス濃度学習値修正手段による前記蒸発燃料ガス濃度学習値の前記修正とを禁止する修正禁止手段を構成している。
【０１８９】
ｂ．第２実施形態
次に、本発明の第２実施形態に係る内燃機関の制御装置について説明する。この第２実施形態に係る制御装置は、そのＣＰＵ７１が、第１実施形態のＣＰＵ７１が実行する図１１のパージ停止時調整ルーチンに代えて図１２に示したパージ停止時調整ルーチンを実行するようになっている点のみにおいて、第１実施形態と相違している。以下、この相違点を中心として説明する。なお、図１２において図１１に示したステップと同一のステップには、そのステップと対応する図１１のステップに付された符号と同一の符号が付されている。
【０１９０】
第２実施形態は、ベース空燃比学習が完了していない状態においてパージ制御弁閉弁指示時点に至ったとき、パージ制御弁閉弁指示時点にておけるフィードバック補正係数FAFの基本値「１」への修正及び蒸発燃料ガス濃度学習値FGPGの修正（パージ補正係数FPGへのフィードバック補正係数FAFによる燃料噴射量の補正分の取り込み）を高速運転時に限って禁止する。換言すると、ベース空燃比学習が完了していない状態においてパージ制御弁閉弁指示時点に至ったときであっても、高速運転時であればパージ制御弁閉弁指示時点にておけるフィードバック補正係数FAFの基本値「１」への修正及び蒸発燃料ガス濃度学習値FGPGの修正が行われる。
【０１９１】
より具体的に説明すると、図１２のパージ停止時調整ルーチンにおいては、図１１に示したルーチンにステップ１２０５の処理が挿入されている。即ち、ＣＰＵ７１は、ステップ１１１０の判定時において空燃比学習完了フラグXliが「０」となっていると（ベース空燃比学習が完了してないと）、同ステップ１１１０にて「Ｎｏ」と判定してステップ１２０５に進み、機関１０の回転速度NEが所定値（高速回転判定値）N0以上であるかを判定する。
【０１９２】
このとき、回転速度NEが所定値N0よりも小さければ（機関が低速運転されていると）、ＣＰＵ７１はステップ１２０５にて「Ｎｏ」と判定して、上述したステップ１１１５〜１１３０を実行する。この結果、ステップ１１１５にて相当濃度学習値ΔFGPGが算出され、ステップ１１２０にてフィードバック補正係数FAFが基本値「１」に修正される。更に、ステップ１１２５にて噴射量偏差の積分値SDFc(k)が「０」に修正され、ステップ１１３０にて相当濃度学習値ΔFGPGがパージ制御弁閉弁指示時点の蒸発燃料ガス濃度学習値FGPGに加えられた値が蒸発燃料ガス濃度学習値FGPGとして設定される。
【０１９３】
一方、ステップ１２０５の判定時において回転速度NEが所定値N0以上であれば（機関が高速運転されていると）、ＣＰＵ７１はステップ１２０５にて「Ｙｅｓ」と判定し、上述したステップ１１１５〜１１３０を実行することなく、ステップ１２９５へと進んで本ルーチンを一旦終了する。
【０１９４】
ところで、機関１０が低回転速度にて運転されている場合、吸入空気流量は比較的小さい。従って、仮にパージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きかったとしても、その後のフィードバック補正値（フィードバック補正係数FAF）の変更によって空燃比が十分に補正され得る。従って、実際の空燃比が目標空燃比から大きく乖離する可能性は小さい。これに対し、機関１０が高回転速度にて運転されている場合、吸入空気流量は比較的大きい。従って、パージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きいと、その後にフィードバック補正量（フィードバック補正係数FAF）が変更されたとしても、実際の空燃比が目標空燃比から大きく乖離する可能性が高い。
【０１９５】
以上を考慮し、本制御装置は、ベース空燃比学習が完了していない状態においてパージ制御弁閉弁指示時点に至ったとき、パージ補正係数FPGへのフィードバック補正係数FAFによる燃料噴射量の補正分の取り込み（蒸発燃料ガス濃度学習値FGPGの修正）及びフィードバック補正係数FAFの基本値「１」への修正を高速運転時に禁止し、高速運転時以外では許容する。
【０１９６】
この結果、高速運転時における空燃比の変動が過大になることを回避することができる。更に、高速運転時以外においては、パージ補正係数FPGへのフィードバック補正係数FAFによる燃料噴射量の補正分の取り込み（蒸発燃料ガス濃度学習値FGPGの修正）及びフィードバック補正係数FAFの基本値「１」への修正が、ベース空燃比学習が完了しているか否かに関わらず実行される。従って、空燃比のベースのズレ量が比較的小さい場合には、空燃比の変動を極めて効果的に抑制することができる。更に、空燃比のベースのズレ量が比較的大きい場合であっても、上述したように、その後のフィードバック補正係数FAFの変更によって実際の空燃比が大きく変動することを回避することができる。
【０１９７】
ｃ．第３実施形態
次に、本発明の第３実施形態に係る内燃機関の制御装置について説明する。この第３実施形態に係る制御装置は、そのＣＰＵ７１が、第１実施形態のＣＰＵ７１が実行する図１１のパージ停止時調整ルーチンに代えて図１３に示したパージ停止時調整ルーチンを実行するようになっている点のみにおいて、第１実施形態と相違している。以下、この相違点を中心として説明する。なお、図１３において図１１に示したステップと同一のステップには、そのステップと対応する図１１のステップに付された符号と同一の符号が付されている。
【０１９８】
第３実施形態に係る制御装置は、パージ制御弁閉弁指示時点が到来した場合にベース空燃比学習が完了していないと判定されているならば、機関１０の運転状態量に応じて分配比率（取り込み比率）RFAFを決定する。そして、この制御装置は、パージ制御弁閉弁指示時点にて算出されていたフィードバック補正量による基本噴射量の補正分に相当する量（フィードバック補正係数FAFの基本値からの偏差ε）のうちの決定された分配比率RFAFに応じた量である分配量がパージ補正量（パージ補正係数FPG）に加えられるように蒸発燃料ガス濃度学習値FGPGを修正するとともに、フィードバック補正量（フィードバック補正係数FAF）をその分配量だけ減じるように修正する。
【０１９９】
より具体的に説明すると、ＣＰＵ７１は上記適宜のタイミングにてステップ１３００から処理を開始し、ステップ１１０５に進んで現時点がパージ制御弁閉弁指示時点であるか否かを判定する。現時点がパージ制御弁閉弁指示時点でなければ、ＣＰＵ７１はステップ１１０５にて「Ｎｏ」と判定しステップ１３９５に直接進んで本ルーチンを一旦終了する。
【０２００】
これに対し、現時点がパージ制御弁閉弁指示時点であると、ＣＰＵ７１はステップ１１０５にて「Ｙｅｓ」と判定してステップ１３０５に進み、その時点のフィードバック補正係数FAFの基本値「１」からの偏差ε（ε＝FAF−１）、その時点のパージ補正係数FPG（＝FPG0）及びその時点の推定パージ率PGRE（＝PGRE0）を、上記（２３）式に適用することにより、相当濃度学習値ΔFGPGを最大相当濃度学習値ΔFGPGmとして算出する。
【０２０１】
いま、ベース空燃比学習が完了していない（空燃比学習完了フラグXliが「１」となっていない）と仮定する。この場合、ＣＰＵ７１は、空燃比学習完了フラグXliが「１」であるか否かを判定するステップ１１１０において「Ｎｏ」と判定し、ステップ１３１５に進んで分配比率RFAFを決定する。分配比率RFAFは、下記（２６）式に示したように、回転速度NE、負荷L及び比率設定マップMapRFAF(NE,L)に基いて求められる。
【０２０２】
この分配比率RFAFは、フィードバック補正係数FAFの基本値「１」からの偏差εのうちのどの程度をパージ補正係数FPG（従って、蒸発燃料ガス濃度学習値FGPG）に取り込むかを示す比率である。分配比率RFAFが０％から１００％に向けて大きくなるほど、図１４（Ｄ）に示すようにパージ制御弁閉弁指示時点（時刻tpc）の直後のフィードバック補正係数FAFは値FAF0から値FAFよりも基本値「１」に近い値に変化し、図１４（Ｃ）に示すようにパージ制御弁閉弁指示時点の直後のパージ補正係数FPGは値FPG0よりも基本値「１」から離れた値となる。
【数２６】
2008303857.tif 000028
【０２０３】
図１５はこの分配比率RFAFを決定するための比率設定マップMapRFAFを示している。この比率設定マップMapRFAFに基けば、回転速度NEが小さくなるほど分配比率RFAFがより大きくなるように設定される。これは、パージ制御弁閉弁指示時点直前において、フィードバック補正係数FAFのうちの空燃比のベースのずれ量が反映されている部分（図１４（Ｄ）のΔFAF1）が、フィードバック補正係数FAFのうちの蒸発燃料量のずれ量が反映されている部分（図１４（Ｄ）のΔFAF0）よりも大きいとしても、機関の回転速度NEが小さくなるほど吸入空気流量が小さくなるから、その後のフィードバック補正係数FAFの変更によって実際の空燃比afが大きく変動する可能性が小さいからである。
【０２０４】
ここで、空燃比のベースのずれ量が反映されている部分ΔFAF1は、蒸発燃料ガスパージ停止後にベース空燃比学習が行われることなく十分な時間が経過したときにフィードバック補正係数FAFが収束する値FAFCと「１」との差であり、空燃比のベースのずれ量の未学習分に起因する空燃比フィードバック補正係数FAFの「１」からの偏差である。また、フィードバック補正係数FAFのうちの蒸発燃料量のずれ量が反映されている部分ΔFAF0は、パージ補正係数FPGによって補正することができなかった蒸発燃料による空燃比のずれ分である。
【０２０５】
更に、この比率設定マップMapRFAFにより、負荷Lが大きくなるほど分配比率RFAFが小さくなるように設定される。これは、機関の負荷Lが大きくなるほど吸入空気流量Ga及び燃料噴射量が増加し且つ単位時間あたりの燃料噴射量も増大するので、パージ制御弁閉弁指示時点における空燃比のベースのずれ量が比較的大きい場合、その後のフィードバック補正係数FAFの変更によって実際の空燃比が大きく変動することを抑制し難くなるからである。
【０２０６】
次いで、ＣＰＵ７１はステップ１３２０に進み、下記（２７）式に示したように、ステップ１３０５にて算出された最大相当濃度学習値ΔFGPGmに、ステップ１３１５にて設定された分配比率RFAFを乗じることにより、相当濃度学習値（取り込み分）ΔFGPGを算出する。
【数２７】
2008303857.tif 000029
【０２０７】
次に、ＣＰＵ７１はステップ１３２５にて、フィードバック補正係数FAF（FAF(k)）を下記（２８）式に従って更新する。即ち、ＣＰＵはフィードバック補正係数FAFの基本値「１」からの偏差εの上記分配比率RFAF分を減じるようにフィードバック補正係数FAFを修正する（図１４の（Ｄ）の時刻tpcを参照）。
【数２８】
2008303857.tif 000030
【０２０８】
次に、ＣＰＵ７１はステップ１３３０にて、同ステップ１３３０に示したように、噴射量偏差の積分値SDFc(k)を、パージ制御弁閉弁指示時点における噴射量偏差の積分値SDFc(k)に（１−RFAF）を乗じた値に修正する。その後、ＣＰＵ７１はステップ１１３０に進み、ステップ１３２０で算出された相当濃度学習値ΔFGPGをパージ制御弁閉弁指示時点の蒸発燃料ガス濃度学習値FGPGに加えることによって蒸発燃料ガス濃度学習値FGPGを修正する（図１４（Ｂ）の時刻tpcを参照。）。次いで、ＣＰＵ７１はステップ１３９５に進んで本ルーチンを一旦終了する。
【０２０９】
このように、ステップ１３１５及びステップ１３２０の処理により、パージ制御弁閉弁指示時点におけるフィードバック補正係数FAFによる燃料噴射量の補正分に相当する最大相当濃度学習値ΔFGPGmのうちの分配比率RFAF分が蒸発燃料ガス濃度学習値FGPGに取り込まれる。
【０２１０】
一方、ステップ１１１０の判定時において空燃比学習完了フラグXliが「１」となっていれば（ベース空燃比学習が完了していれば）、ＣＰＵ７１はステップ１１１０にて「Ｙｅｓ」と判定してステップ１３１０に進み、相当濃度学習値ΔFGPGに最大相当濃度学習値ΔFGPGmを設定する。次いで、ＣＰＵ７１は、上述したステップ１１２０〜ステップ１１３０の処理を実行する。
【０２１１】
これにより、第１実施形態と同様、パージ制御弁閉弁指示時点（蒸発燃料ガスパージを実行するために開かれていたパージ制御弁４９が閉じられる時）においてフィードバック補正係数FAFが基本値「１」に修正され（クリアされ）、基本値「１」に修正される直前のフィードバック補正係数FAFによる基本噴射量の補正分に相当する量がパージ補正量FPGに加えられるように蒸発燃料ガス濃度学習値FGPGが修正される。換言すると、ステップ１３１０及びステップ１１２０〜ステップ１１３０の処理は、上記分配比率RFAFを最大値「１＝１００％」としたときの処理と同じ結果をもたらす。
【０２１２】
以上説明したように、本制御装置は、パージ制御弁閉弁指示時点が到来した場合にベース空燃比学習が完了していないと判定されている（空燃比学習完了フラグXliの値が「０」である）ならば、機関の運転状態量（回転速度NE及び負荷L）に応じて分配比率RFAFを決定し、パージ制御弁閉弁指示時点にて算出されていたフィードバック補正量（フィードバック補正係数FAF）による基本噴射量Fbsの補正分に相当する量εのうちの同決定された分配比率RFAFに応じた量である分配量（RFAF・ε）がパージ補正量FPGに加えられるように蒸発燃料ガス濃度学習値を修正するとともに同フィードバック補正量を同分配量だけ減じるように修正する（ステップ１１１０、ステップ１３１５〜１３３０、ステップ１１３０）。
【０２１３】
その結果、ベース空燃比の学習が完了しておらず且つベース空燃比のずれが大きい場合においても、パージ制御弁閉弁指示時点以降において機関の空燃比afが大きく変動することを抑制することができる。更に、ベース空燃比の学習が完了しておらず且つベース空燃比のずれが小さい場合には、機関の空燃比afの変動をより効果的に抑制することができる。
【０２１４】
ｄ．第４実施形態
次に、本発明の第４実施形態に係る内燃機関の制御装置について説明する。この第４実施形態に係る制御装置は、そのＣＰＵ７１が、第１実施形態のＣＰＵ７１が実行する図５のフィードバック補正係数算出ルーチンに代えて図１６に示したフィードバック補正係数算出ルーチンを実行するとともに、図１１のパージ停止時調整ルーチンに代えて図１７に示したパージ停止時調整ルーチンを実行するようになっている点のみにおいて、第１実施形態と相違している。以下、この相違点を中心として説明する。なお、図１６において図５に示したステップと同一のステップには、そのステップと対応する図５のステップに付された符号と同一の符号が付されている。また、図１７において図１１に示したステップと同一のステップには、そのステップと対応する図１１のステップに付された符号と同一の符号が付されている。
【０２１５】
第４実施形態に係る制御装置は、フィードバック補正量DFの低周波成分のみを通過させるフィルタリングを同フィードバック補正量DFに対して施すことによってフィルタ値DFM（フィルタ後フィードバック補正量DFM）を求め、このフィルタ値DFMから相当濃度学習値ΔFGPGを算出する。なお、上記フィルタリングは、図９の推定パージ率算出ルーチンにおける推定パージ流量KPEMに対する上記なまし処理と同様の処理（一次遅れ処理）である。
【０２１６】
より具体的に説明すると、ＣＰＵ７１は、図５に示したルーチンを開始するタイミングと同様なタイミングにて、図１６のステップ１６００から処理を開始し、ステップ５０５に進んでフィードバック条件が成立しているか否かを判定する。
【０２１７】
いま、フィードバック条件が成立していると仮定する。この場合、ＣＰＵ７１はステップ５０５にて「Ｙｅｓ」と判定し、ステップ５１０にて噴射量偏差DFc(k)を算出し、ステップ５１５にてフィードバック補正値DF(k)を算出する。次いで、ＣＰＵ７１は、ステップ１６０５にて、フィードバック補正値DF(k)に下記（２９）式により示されたフィルタリングを施すことにより、フィードバック補正量のフィルタ値DFM(k)を算出する。このフィルタリングは１次のローパスフィルタと等価なフィルタリング（なまし処理、一次遅れ処理）である。下記（２９）式において、値γは０より大きく１より小さい定数である。値γは、フィードバック補正値DF(k)に含まれる高周波帯域のノイズ成分（蒸発燃料ガスパージによりもたらされる空燃比変動の周波数よりも高い周波数を有する成分）がフィードバック補正値DF(k)から取り除かれるように、実験又はシミュレーションにより予め定められた値である。この値γとフィルタ値DFM(k)の算出間隔Δt（フィードバック補正係数算出ルーチンの呼び出し間隔Δt）とを下記（３０）式に代入して得られるTは、このフィルタリングにおける応答性を表す時定数である。つまり、値γはフィルタリングにおける時定数に応じた値である。
【数２９】
2008303857.tif 000031
【数３０】
2008303857.tif 000032
【０２１８】
その後、ＣＰＵ７１はステップ５２０に進んで噴射量偏差の積分値SDFc(k+1)を算出し、ステップ５２５に進んでフィードバック補正値DF(k)をフィードバック補正係数FAF(k)に変換するとともに、ステップ５２５に進んで補正係数平均FAFAV(k)を算出する。
【０２１９】
また、ＣＰＵ７１は上記適宜のタイミングにて図１７のステップ１７００から処理を開始し、ステップ１１０５に進んで現時点がパージ制御弁閉弁指示時点であるか否かを判定する。
【０２２０】
いま、現時点がパージ制御弁閉弁指示時点であり、且つ、ベース空燃比学習が完了している（空燃比学習完了フラグXliが「１」となっている）と仮定する。この場合、ＣＰＵ７１はステップ１１０５及び空燃比学習完了フラグXliが「１」となっているか否かを判定するステップ１１１０の両ステップにて「Ｙｅｓ」と判定してステップ１７０５に進む。ＣＰＵ７１は、ステップ１７０５にて、フィードバック補正量DFのフィルタ値DFM、パージ補正係数FPG0及び推定パージ率PGRE0により相当濃度学習値ΔFGPGを算出する。このとき、ＣＰＵ７１は、フィルタ値DFMを基本噴射量Fbs(k)により除した値（＝DFM／Fbs(k)）を偏差εとして採用し（上記（７）式を参照。）、その偏差ε、その時点のパージ補正係数FPG（＝FPG0）及びその時点の推定パージ率PGRE（＝PGRE0）を上記（２３）式に代入することにより、相当濃度学習値ΔFGPG（＝ε・FPG0／PGRE0）を算出する。
【０２２１】
その後、ＣＰＵ７１は、ステップ１１２０にてフィードバック補正係数FAF(K)を基本値「１」に修正する（クリアする）とともに、続くステップ１１２５にて噴射量偏差の積分値SDFc(k)を「０」に設定する（クリアする）。更に、ＣＰＵ７１は、ステップ１１３０に進み、相当濃度学習値ΔFGPGをパージ制御弁閉弁指示時点の蒸発燃料ガス濃度学習値FGPG（＝FGPG0）に加えることによって蒸発燃料ガス濃度学習値FGPGを修正する。その他の場合については、本実実施形態のＣＰＵ７１は第１実施形態のＣＰＵ７１と同様に作動する。
【０２２２】
以上、説明したように、本制御装置は、フィードバック補正量の低周波数成分のみを通過させるフィルタリングをフィードバック補正量に対して施すことによりフィルタ後フィードバック補正量（フィルタ値DFM）を取得するフィルタ手段（ステップ１６０５）を備えている。また、パージ制御弁閉弁指示時点において、基本値「１」に修正される直前のフィードバック補正量による前記基本噴射量の補正分に相当する量として、パージ制御弁閉弁指示時点におけるフィルタ後フィードバック補正量によって示される基本噴射量の補正分に相当する量ε（＝DFM／Fbs(k)）を用いるように構成された蒸発燃料ガス濃度学習値修正手段を備えている（ステップ１７０５、ステップ１１３０）。
【０２２３】
機関１０の空燃比は過渡運転時等において種々の理由により過渡的に変動する。従って、フィードバック補正量DF(k)（従って、フィードバック補正係数FAF）はその空燃比の過渡的変動の影響を受けて高周波成分を有する。一方、蒸発燃料のパージ量は急激には変化しないので、蒸発燃料ガスパージがフィードバック補正量DF(k)に高周波成分を重畳させる可能性は小さい。従って、パージ制御弁閉弁指示時点におけるフィルタ後フィードバック補正量（フィルタ値DFM）は、過渡運転等にともなうフィードバック補正量の乱れが排除された量であるから、パージ補正量FPGの不足分を精度良く表す値となる。
【０２２４】
従って、本制御装置によれば、フィルタ後フィードバック補正量（フィルタ値DFM）に基いてパージ制御弁閉弁指示時点の蒸発燃料ガス濃度学習値FGPGが修正されるので、パージ制御弁閉弁指示時点以降におけるパージ補正量FPGがより適正値に近づく。この結果、パージ制御弁閉弁指示時点以降における空燃比の変動をより一層効果的に抑制することができる。
【０２２５】
なお、上記第４実施形態においてはフィルタリングの時定数Tに関わる値γは一定値であった。これに対し、この値γを運転状態量（回転速度NE又は負荷Lなど）に応じて可変に設定してもよい。
【０２２６】
例えば、機関１０の回転速度が小さくなるほど、或は、機関１０の負荷が小さくなるほど、フィードバック補正量DFc(k)に現れる高周波成分の周波数が低下する。従って、図１８に示したように、機関１０の回転速度NEが小さくなるほど、或は、機関の負荷Lが小さくなるほど、前記フィルタの時定数Tをより大きくするように前記γを変更することが望ましい。
【０２２７】
一方、フィルタの時定数Tを大きくしすぎると、パージ補正量の不足分（蒸発燃料量についてのずれ量）の変化が、前記フィルタ後フィードバック補正量DF(k)に非常に遅れて現れることになる。従って、フィルタの時定数Tを大きくしすぎると、パージ制御弁閉弁指示時点におけるフィルタ後フィードバック補正量（フィルタ値DFM）がパージ補正量FPGの不足分を十分に精度良く表さない値となる。よって、これらのことを考慮して、前記フィルタリングの時定数Tを調節することが望ましい。このような時定数Tの設定の結果、パージ制御弁閉弁指示時点以降におけるパージ補正量FPGがより適正値に近づくから、パージ制御弁閉弁指示時点以降における空燃比の変動をより一層効果的に抑制することができる。
【０２２８】
以上説明したように各実施形態の機関の制御装置は、パージ制御弁閉弁指示時点にフィードバック補正係数FAF及び蒸発燃料ガス濃度学習値FGPGを修正することにより、パージ制御弁閉弁指示時点後に機関の空燃比が変動することを有効に抑えることができる。
【０２２９】
本発明は上記実施形態（第１〜第４実施形態）に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。例えば、指令噴射量決定部Ａ５は燃料の基本噴射量Fbsにフィードバック補正係数FAF、ベース補正係数KG及びパージ補正係数FPGを乗じることにより、指令噴射量Fiを決定した。これら補正係数が用いられるとき、補正係数の有するその基本値「１」からの偏差が補正量を表す。
【０２３０】
これとは異なり、燃料の基本噴射量Fbsにベース補正量を乗じた値に、フィードバック補正量DF及びパージ補正量を加えることにより、指令噴射量Fiを決定してもよい。この場合、蒸発燃料ガスのパージ停止時調整部Ａ１１は、パージ制御弁閉弁指示時点においてフィードバック補正量DFが基本噴射量Fbsをａ％減少させる値であったとき、その基本噴射量Fbsのａ％に相当する分だけパージ補正量を減少させるように蒸発燃料ガス濃度学習値FGPGを修正する。
【０２３１】
また、上記実施形態におけるインジェクタ３９に代え、燃焼室内に燃料を直接噴射する直噴弁を採用してもよい。更に、蒸発燃料ガス濃度学習値FGPGの更新値tFGを固定値としてもよく、ベース空燃比学習係数KGiの更新値Xは可変値としてもよい。
【図面の簡単な説明】
【０２３２】
【図１】本発明の第１実施形態に係る制御装置を適用した内燃機関の概略図である。
【図２】図１に示した制御装置による燃料噴射量の制御を説明するための機能ブロック図である。
【図３】ベース空燃比学習が完了している場合におけるパージ制御弁閉弁指示時点の処理を説明するためのタイムチャートである。
【図４】ベース空燃比学習が完了していない場合におけるパージ制御弁閉弁指示時点の処理を説明するためのタイムチャートである。
【図５】図１に示したＣＰＵが実行するフィードバック補正係数を算出するためのルーチンを示したフローチャートである。
【図６】図１に示したＣＰＵが実行するパージ制御弁を駆動制御するためのルーチンを示したフローチャートである。
【図７】図１に示したＣＰＵが実行する空燃比のベースのずれ量を学習するためのルーチンを示したフローチャートである。
【図８】図１に示したＣＰＵが実行する蒸発燃料ガス中の蒸発燃料ガス濃度に応じた値を学習するためのルーチンを示したフローチャートである。
【図９】図１に示したＣＰＵが実行する推定パージ率を算出するためのルーチンを示したフローチャートである。
【図１０】図１に示したＣＰＵが実行する指令噴射量を決定するためのルーチンを示したフローチャートである。
【図１１】図１に示したＣＰＵが実行するパージ制御弁閉弁指示時点にてフィードバック補正係数を蒸発燃料ガス濃度学習値Fに取り込むためのルーチンを示したフローチャートである。
【図１２】図１１のルーチンに代えて第２実施形態のＣＰＵが実行するルーチンを示したフローチャートである。
【図１３】図１１のルーチンに代えて第３実施形態のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】第３実施形態によるパージ制御弁閉弁指示時点の処理を説明するためのタイムチャートである。
【図１５】機関の回転速度及び負荷と分配比率との関係を示した比率設定マップ（テーブル）である。
【図１６】図５のルーチンに代えて、第４実施形態のＣＰＵが実行するルーチンを示したフローチャートである。
【図１７】図１１のルーチンに代えて、第４実施形態のＣＰＵが実行するルーチンを示したフローチャートである。
【図１８】第４実施形態の変形例における機関の回転速度及び負荷とフィルタの時定数との関係を示した時定数設定マップである。
【符号の説明】
【０２３３】
１０…内燃機関、２５…燃焼室、３９…インジェクタ、４３…サージタンク、４５…燃料タンク、４６…キャニスタ、４７…ベーパ捕集管、４８…パージ流路、４９…パージ制御弁、６８…空燃比センサ、７０…コントロールユニット、７１…ＣＰＵ。
【図１】
2008303857.tif 000033
【図２】
2008303857.tif 000034
【図３】
2008303857.tif 000035
【図４】
2008303857.tif 000036
【図５】
2008303857.tif 000037
【図６】
2008303857.tif 000038
【図７】
2008303857.tif 000039
【図８】
2008303857.tif 000040
【図９】
2008303857.tif 000041
【図１０】
2008303857.tif 000042
【図１１】
2008303857.tif 000043
【図１２】
2008303857.tif 000044
【図１３】
2008303857.tif 000045
【図１４】
2008303857.tif 000046
【図１５】
2008303857.tif 000047
【図１６】
2008303857.tif 000048
【図１７】
2008303857.tif 000049
【図１８】
2008303857.tif 000050