(57)【特許請求の範囲】
【請求項１】
内燃機関に燃料を噴射する燃料噴射弁と、燃料タンク内で発生した燃料蒸発ガスを吸着するキャニスタと、このキャニスタ内に吸着されている燃料蒸発ガスを内燃機関の吸気系へパージする動作を制御するパージ制御弁とを備えた内燃機関の空燃比制御装置において、
前記内燃機関の運転状態に基づいて燃料噴射量を演算する燃料噴射量演算手段と、
前記燃料噴射量の演算値が最小噴射量より小さいときに該燃料噴射量の演算値を該最小噴射量でガード処理して前記燃料噴射弁から実際に噴射する燃料量（以下「実燃料噴射量」という）を決定する実燃料噴射量決定手段と、
前記実燃料噴射量に基づいて前記キャニスタからパージする燃料蒸発ガスの制御量（以下「パージ制御量」という）を演算するパージ制御量演算手段と
を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項２】
内燃機関に燃料を噴射する燃料噴射弁と、燃料タンク内で発生した燃料蒸発ガスを吸着するキャニスタと、このキャニスタ内に吸着されている燃料蒸発ガスを内燃機関の吸気系へパージする動作を制御するパージ制御弁とを備えた内燃機関の空燃比制御装置において、
前記内燃機関の運転状態に基づいて燃料噴射量を演算する燃料噴射量演算手段と、
前記燃料噴射量の演算値が最大噴射量より大きいときに該燃料噴射量の演算値を該最大噴射量でガード処理して前記燃料噴射弁から実際に噴射する燃料量（以下「実燃料噴射量」という）を決定する実燃料噴射量決定手段と、
前記実燃料噴射量に基づいて前記キャニスタからパージする燃料蒸発ガスの制御量（以下「パージ制御量」という）を演算するパージ制御量演算手段と
を備えていることを特徴とする内燃機関の空燃比制御装置。
【請求項３】
前記パージ制御量に基づいて前記パージ制御弁を制御する制御手段を備えていることを特徴とする請求項１又は２に記載の内燃機関の空燃比制御装置。
【請求項４】
前記パージ制御量演算手段は、前記実燃料噴射量、及び、空燃比変動要因の中でパージによる空燃比変動要因のみをパラメータとして前記パージ制御量を演算することを特徴とする請求項１乃至３のいずれかに記載の内燃機関の空燃比制御装置。
【請求項５】
前記パージ制御量に基づいてパージガスの燃料濃度を学習する学習手段と、この学習手段の学習値に基づいて前記燃料噴射量を補正する補正手段とを備えていることを特徴とする請求項１乃至４のいずれかに記載の内燃機関の空燃比制御装置。
【請求項６】
吸入空気量とパージ流量とに基づいてパージ率を演算するパージ率演算手段を備え、
前記制御手段は、前記パージ制御量に基づき前記パージ率演算手段で演算されたパージ率を目標にして前記パージ制御弁の開度を制御することを特徴とする請求項３に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キャニスタ内に吸着されている蒸発燃料を内燃機関の吸気系へパージ（放出）する燃料蒸発ガスパージシステムを搭載した内燃機関の空燃比制御装置に関するものである。
【０００２】
【従来の技術】
燃料蒸発ガスパージシステムにおいては、燃料タンク内で発生する燃料蒸発ガス（ＨＣ）が大気中に漏れ出すことを防止するため、燃料蒸発ガスをキャニスタ内に吸着すると共に、このキャニスタ内に吸着されている燃料蒸発ガスを内燃機関の吸気管へパージするパージ通路の途中にパージ制御弁を設け、このパージ制御弁によって、キャニスタから吸気管へパージする燃料蒸発ガス量（パージ量）を制御するようになっている。
【０００３】
従来、パージ量の制御は、特公平７−５９９１７号公報や特開平７−２９３３６１号公報に示すように、空燃比フィードバック制御（ラムダ制御）の出力である空燃比フィードバック補正係数ＦＡＦに基づいて行われるようになっている。ここで、空燃比フィードバック補正係数ＦＡＦは、次式により燃料噴射量ＴＡＵの演算値（以下「演算ＴＡＵ」と表記する）を用いて表される。
【０００４】
ＦＡＦ＝演算ＴＡＵ／（ＴＰ×ＦＴＨＡ×ＦＰＡ）
−（ＦＷＬ＋ＦＳＥ＋ＦＡＳＥ＋ＦＦＣ＋ＦＴＣ＋ＦＰＲＧ＋ＦＬＡＦ）
ＴＰ    ：基本噴射量（基本噴射時間）
ＦＴＨＡ：吸気温補正係数
ＦＰＡ  ：大気圧補正係数
ＦＷＬ  ：暖機補正係数
ＦＳＥ  ：始動時補正係数
ＦＡＳＥ：始動後補正係数
ＦＦＣ  ：燃料カット復帰時補正係数
ＦＴＣ  ：加減速補正係数
ＦＰＲＧ：パージ補正係数
ＦＬＡＦ：空燃比学習補正係数
【０００５】
尚、上記したＦＡＦを表す式は、演算ＴＡＵを算出する次式を解くことで求められる。
0003890576.tif 000002
【０００６】
【発明が解決しようとする課題】
ところで、演算ＴＡＵは、燃料噴射弁の最小／最大噴射量に対応する下限ガード値ＴＡＵmin と上限ガード値ＴＡＵmax が設定され、ＴＡＵmin ≦演算ＴＡＵ≦ＴＡＵmax の範囲から外れると、演算ＴＡＵがＴＡＵmin 又はＴＡＵmax でガード処理され、演算ＴＡＵ＝ＴＡＵmin 又はＴＡＵmax となる。従って、演算ＴＡＵがガード値ＴＡＵmin 〜ＴＡＵmax から外れた領域では、燃料噴射弁から実際に噴射する燃料量（以下「実ＴＡＵ」と表記する）が演算ＴＡＵと異なってくる。このため、上記従来のように、空燃比フィードバック補正係数ＦＡＦによってパージ量の制御を行うと、演算ＴＡＵがガード値ＴＡＵmin 〜ＴＡＵmax から外れた領域では、パージ制御量が実ＴＡＵに対応しない不正確な値となり、パージの影響を考慮した正確な空燃比フィードバック制御を行うことができず、排気エミッションを悪くする結果となる。
【０００７】
しかも、前記したＦＡＦを表す式の右辺の第２項において、パージ以外の空燃比変動要因（暖機補正係数ＦＷＬ，始動時補正係数ＦＳＥ，始動後補正係数ＦＡＳＥ，燃料カット復帰時補正係数ＦＦＣ）が含まれるため、パージによるＦＡＦの変動分のみを取り出すことができない。従って、従来のように、ＦＡＦに基づいてパージ制御量を決定すると、パージ制御量にもパージ以外の空燃比変動要因が含まれてしまうため、正確なパージ制御を行うことができず、パージの影響を考慮した正確な空燃比フィードバック制御を行うことができない。
【０００８】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、パージの影響を考慮した精度の良い空燃比フィードバック制御を行うことができる内燃機関の空燃比制御装置を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１，２の空燃比制御装置は、内燃機関の運転状態に基づいて燃料噴射量を燃料噴射量演算手段により演算し、この燃料噴射量の演算値が最小噴射量より小さいとき又は最大噴射量より大きいときに、該燃料噴射量の演算値を該最大噴射量又は該最小噴射量でガード処理して燃料噴射弁から実際に噴射する燃料量（以下「実燃料噴射量」という）を実燃料噴射量決定手段により決定した後、この実燃料噴射量に基づいてキャニスタからパージする燃料蒸発ガスの制御量（以下「パージ制御量」という）をパージ制御量演算手段により演算する。
【００１０】
この空燃比制御装置によれば、パージ制御量を、ガード処理後の実燃料噴射量に基づいて演算するため、実燃料噴射量に対応したパージ制御量を求めることができ、パージの影響を考慮した精度の良い空燃比フィードバック制御を行うことができる。
【００１１】
このようにして求めたパージ制御量に基づいてパージ制御弁を制御手段により制御すれば、精度の良いパージ制御が可能となる（請求項３）。
【００１２】
更に、請求項４のように、実燃料噴射量に加え、空燃比変動要因の中でパージによる空燃比変動要因のみをパラメータとしてパージ制御量を演算することが好ましい。このようにすれば、パージによる変動分のみを取り出すことができて、パージ以外の変動要因を排除した精度の良いパージ制御を行うことができ、パージの影響を考慮した精度の良い空燃比フィードバック制御を行うことができる。
【００１４】
また、請求項５のように、前記パージ制御量に基づいてパージガスの燃料濃度を学習手段により学習し、この学習手段の学習値に基づいて燃料噴射量を補正手段により補正しても良い。この場合、実燃料噴射量に基づいて演算されたパージ制御量は従来より正確であるため、このパージ制御量に基づいてパージガスの燃料濃度を学習すれば、パージガスの燃料濃度を従来より精度良く学習することができ、パージによる燃料噴射量の補正精度も向上できる。
【００１５】
また、請求項６のように、吸入空気量とパージ流量とに基づいてパージ率をパージ率演算手段により演算し、パージ制御量に基づき、該パージ率を目標にしてパージ制御弁の開度を制御するようにしても良い。このようにすれば、パージ率の演算精度も向上でき、パージ制御の精度向上につながる。
【００１６】
【発明の実施の形態】
以下、本発明の一実施形態を図面に基づいて説明する。まず、図１に基づいてシステム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の途中にスロットルバルブ１３が設けられ、このスロットルバルブ１３の開度がスロットルセンサ１４により検出される。スロットルバルブ１３の下流側に設けられたサージタンク１５には、スロットルバルブ１３を通過した吸入空気の圧力（吸気圧）を検出する吸気圧センサ１６が設けられ、サージタンク１５を通過した吸入空気を各気筒に導入する吸気マニホールド１２ａには、燃料タンク２１から供給される燃料を噴射する燃料噴射弁１７が取り付けられている。また、エンジン１１の排気管１８には、排出ガス中の酸素濃度に応じた信号を出力する酸素センサ１９が設けられ、更に、エンジン１１のシリンダブロックには、エンジン冷却水温を検出する冷却水温センサ２０が取り付けられている。
【００１７】
一方、燃料タンク２１内の燃料は燃料ポンプ２２により汲み上げられ、燃料配管２３を通して送られてくる燃料が燃料フィルタ２９で濾過されてデリバリパイプ２４に送られ、このデリバリパイプ２４から各気筒の燃料噴射弁１７に分配される。また、デリバリパイプ２４内の余剰燃料はリターン配管２５を通して燃料タンク２１内に戻される。このリターン配管２５の途中にはプレッシャレギュレータ２６が設けられ、このプレッシャレギュレータ２６の背圧室を圧力導入管２７を介してサージタンク１５に連通させて、プレッシャレギュレータ２６の背圧室に吸気圧を導入することで、デリバリパイプ２４内の燃圧を吸気圧との差圧が一定になるように調整する。
【００１８】
次に、燃料蒸発ガスパージシステム３０の構成を説明する。燃料タンク２１には、連通管３１を介してキャニスタ３２が接続されている。このキャニスタ３２内には、燃料蒸発ガスを吸着する活性炭等の吸着体（図示せず）が収容されている。また、キャニスタ３２には、大気に連通する大気連通管３３が設けられ、このキャニスタ３２とサージタンク１５との間には、キャニスタ３２内に吸着されている燃料蒸発ガスを吸気管１２にパージ（放出）するためのパージ通路３４が設けられ、このパージ通路３４の途中にパージ流量を調整するパージ制御弁３５が設けられている。
【００１９】
このパージ制御弁３５は、内部のガス流路を開閉する弁体３６と、この弁体３５をスプリング（図示せず）に抗して開弁方向へ移動させるソレノイドコイル３７等を備えた電磁弁である。このパージ制御弁３５のソレノイドコイル３７には、パルス信号にて電圧が印加され、このパルス信号の周期に対するパルス幅の比率（デューティ比）を変えることによって、弁体３６の開度を調整して、キャニスタ３２から吸気管１２への燃料蒸発ガスのパージ流量を制御する。このパージ制御弁３５のデューティ比とパージ流量との変化特性を図２に示している。
【００２０】
一方、エンジン制御回路４０には、上述した各種センサからエンジン運転状態を表す各種の情報が入力され、その入力情報がＣＰＵ４１で演算処理されて、空燃比フィードバック制御、燃料噴射制御、点火制御、燃料蒸発ガスパージ制御等が行われる。このエンジン制御回路４０内には、後述する各種の制御プログラムやマップ等のデータが格納されたＲＯＭ４２（記憶媒体）、入力データや演算データ等を一時的に記憶するＲＡＭ４３等が内蔵されている。以下、このエンジン制御回路４０が実行する空燃比フィードバック制御、燃料噴射制御、燃料蒸発ガスパージ制御等について説明する。
【００２１】
［空燃比フィードバック制御］
空燃比フィードバック制御は、図３に示す空燃比フィードバック制御プログラムに従って、例えば４ｍｓｅｃ毎の割込み処理により実行される。本プログラムの処理が開始されると、まずステップ１０１で、フィードバック実行条件が成立しているか否かを判別する。ここで、フィードバック実行条件としては、（１）エンジン始動時でないこと、（２）燃料カット中でないこと、（３）冷却水温ＴＨＷ≧４０℃であること、（４）燃料噴射量ＴＡＵ＞ＴＡＵmin であること（但しＴＡＵmin は燃料噴射弁１７の最小燃料噴射量）、（５）排出ガスの酸素濃度を検出する酸素センサ１９が活性状態であること等があり、これら（１）〜（５）の条件を全て満たす場合に、フィードバック実行条件が成立する。このフィードバック実行条件が不成立の場合には、ステップ１０２に進み、空燃比フィードバック補正係数ＦＡＦを「１．０」に設定して本プログラムを終了する。
【００２２】
一方、フィードバック実行条件が成立している場合には、ステップ１０３に進み、酸素センサ１９の出力を所定の判定レベルと比較して、それぞれ所定時間Ｈ，Ｉ（ｍｓｅｃ）だけ遅らせて空燃比フラグＸＯＸＲを操作する。具体的には、酸素センサ１９の出力がリッチからリーンに反転してからＨ（ｍｓｅｃ）後に、ＸＯＸＲ＝０（リーンを意味）にセットし、酸素センサ１９の出力がリーンからリッチに反転してからＩ（ｍｓｅｃ）後に、ＸＯＸＲ＝１（リッチを意味）にセットする。
【００２３】
次のステップ１０４で、上記空燃比フラグＸＯＸＲに基づいて空燃比フィードバック補正係数ＦＡＦの値を次のように操作する。即ち、空燃比フラグＸＯＸＲが「０」→「１」又は「１」→「０」に変化したときに、空燃比フィードバック補正係数ＦＡＦの値を所定量スキップさせ、空燃比ＸＯＸＲが「１」又は「０」を継続しているときに、空燃比フィードバック補正係数ＦＡＦの積分制御を行なう。この後、ステップ１０５で、空燃比フィードバック補正係数ＦＡＦの値の上下限チェック（ガード処理）を行い、続くステップ１０６で、空燃比フィードバック補正係数ＦＡＦを基に、スキップ毎又は所定時間毎になまし（平均化）処理を行なって空燃比フィードバック補正係数のなまし値ＦＡＦＡＶを算出し、本プログラムを終了する。
【００２４】
［パージ率制御］
パージ率制御は、図４に示すパージ率制御プログラムに従って例えば３２ｍｓｅｃ毎の割込み処理により実行される。本プログラムは、特許請求の範囲でいうパージ率演算手段としての役割を果たす。本プログラムの処理が開始されると、まずステップ２０１〜２０３で、パージ実行条件が成立しているか否かを判定する。
【００２５】
ここで、パージ実行条件は、▲１▼冷却水温ＴＨＷが例えば４０℃以上であること（ステップ２０１）、▲２▼空燃比フィードバック実行中であること（ステップ２０２）、▲３▼燃料カット中でないこと（ステップ２０３）であり、これら▲１▼〜▲３▼の条件を１つでも満たさなければ、パージ実行条件が成立せず、ステップ２１０に進み、パージ実行フラグＸＰＲＧをパージ禁止を意味する「０」にリセットすると共に、続くステップ２１１で、最終パージ率ＲＰＲＧを「０」にリセットして、本プログラムを終了する。この最終パージ率ＲＰＲＧが「０」ということは、パージを実行しないことを意味する。尚、本実施形態では、パージ実行時の冷却水温ＴＨＷの条件をＴＨＷ≧４０℃とすることで、比較的低い水温域からパージを開始するようにしている。
【００２６】
一方、上述した▲１▼〜▲３▼の条件を全て満たせば、パージ実行条件が成立し、ステップ２０５に進み、パージ実行フラグＸＰＲＧをパージ実行を意味する「１」にセットした後、ステップ２０６〜２０９で最終パージ率ＲＰＲＧを次のようにして演算する。まず、ステップ２０６で、吸気管圧力ＰＭとエンジン回転数ＮＥとをパラメータとする図５の二次元マップから、その時のＰＭとＮＥに応じた全開パージ率ＲＰＲＧＭＸを読み込む。この後、ステップ２０７で、目標ＴＡＵ補正量ＫＴＰＲＧを燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶで除算して目標パージ率ＲＰＲＧＯを算出する（ＲＰＲＧＯ＝ＫＴＰＲＧ／ＦＬＰＲＧＡＶ）。
【００２７】
ここで、目標ＴＡＵ補正量ＫＴＰＲＧとは、パージ実行時に燃料噴射量ＴＡＵを減量補正する際の最大補正量に相当する。この目標ＴＡＵ補正量ＫＴＰＲＧは燃料噴射弁１７の最小噴射量に対する余裕度を基に予め設定され、吸気管圧力ＰＭとエンジン回転数ＮＥをパラメータとする図６の二次元マップから、その時のＰＭとＮＥに応じた目標ＴＡＵ補正量ＫＴＰＲＧが読み込まれる。また、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶは、キャニスタ３２内の燃料蒸発ガス吸着量に対応しており、後述の処理によって推定され、随時更新されつつＲＡＭ４３に書き込まれている。
【００２８】
従って、上記ステップ２０７で算出される目標パージ率ＲＰＲＧＯは、目標ＴＡＵ補正量ＫＴＰＲＧまで燃料噴射量を減量することを想定したとき、どれだけの燃料蒸発ガスをパージによって補充したらよいかを表している。この場合、同じ運転状態であれば、目標パージ率ＲＰＲＧＯは燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶが大きいほど小さな値となる。
【００２９】
目標パージ率ＲＰＲＧＯの算出後、ステップ２０８で、後述する図７のパージ率徐変制御プログラムによって算出されたパージ率徐変値ＲＰＲＧＤを読み込む。ここで、パージ率徐変値ＲＰＲＧＤとは、パージ率をいきなり大きく変更すると、補正が追いつかず最適な空燃比を保てなくなってしまうため、これを避けるために設けられた制御値である。
【００３０】
このようにして、全開パージ率ＲＰＲＧＭＸ、目標パージ率ＲＰＲＧＯ、パージ率徐変値ＲＰＲＧＤを算出した後、ステップ２０９に進み、これらの中から最小値を最終パージ率ＲＰＲＧとして決定する。この最終パージ率ＲＰＲＧにてパージ制御が実施される。通常は、パージ率徐変値ＲＰＲＧＤにて最終パージ率ＲＰＲＧが制御され、このパージ率徐変値ＲＰＲＧＤが増え続ければ、最終パージ率ＲＰＲＧは全開パージ率ＲＰＲＧＭＸ又は目標パージ率ＲＰＲＧＯによって上限ガードされることになる。
【００３１】
［パージ率徐変制御］
パージ率徐変制御は、図７に示すパージ率徐変制御プログラムに従って例えば３２ｍｓｅｃ毎の割込み処理により実行される。本プログラムの処理が開始されると、まずステップ３０１で、パージ実行フラグＸＰＲＧがパージ実行を意味する「１」であるか否かを判定し、ＸＰＲＧ＝０の場合、つまりパージが実行されない場合には、ステップ３０４に進み、パージ率徐変値ＲＰＲＧＤを「０」に設定して本プログラムを終了する。
【００３２】
一方、ＸＰＲＧ＝１の場合（パージ実行の場合）には、ステップ３０２に進み、後述する図１２のパージ制御量演算プログラムのステップ６０２で算出されたパージ制御量ＡＦＰＲＧが０．８から１．２までの範囲内であるか否かを判定し、ＡＦＰＲＧが０．８以下又は１．２以上の場合には、ステップ３０５に進み、前回の最終パージ率ＲＰＲＧ(i-1) から「０．１％」を減算した値を今回のパージ率徐変値ＲＰＲＧＤとする。
【００３３】
また、０．８＜ＡＦＰＲＧ＜１．２の場合には、ステップ３０２からステップ３０３に進んで、後述する図１２のステップ６０２で算出されたパージ制御量なまし値ＡＦＰＲＧＳＭが基準値（＝１）からどの程度ずれているか、そのズレ量｜ＡＦＰＲＧＳＭ−１｜を判定する。このとき、｜ＡＦＰＲＧＳＭ−１｜≦５％であれば、ステップ３０６に進み、前回の最終パージ率ＰＦＲ(i-1) に「０．２％」を加算した値を今回のパージ率徐変値ＰＦＲＤとする。また、５％＜｜ＡＦＰＲＧＳＭ−１｜≦１０％であれば、ステップ３０７に進んで、前回の最終パージ率ＲＰＲＧ(i-1) に「０．１％」を加算した値を今回のパージ率徐変値ＲＰＲＧＤとする。また、｜ＡＦＰＲＧＳＭ−１｜＞１０％であれば、ステップ３０８に進んで、前回の最終パージ率ＲＰＲＧ(i-1) をそのまま今回のパージ率徐変値ＲＰＲＧＤとする。
【００３４】
以上説明したパージ率徐変値ＲＰＲＧＤの演算方法は、図８を参照すれば、一層理解が容易である。
【００３５】
［燃料蒸発ガス濃度検出］
燃料蒸発ガス濃度検出は、図９に示す燃料蒸発ガス濃度検出プログラムに従って例えば４ｍｓｅｃ毎の割込み処理により実行される。本プログラムの処理が開始されると、まずステップ４０１で、キースイッチ投入時であるか否かを判別する。キースイッチ投入時であれば、ステップ４１５〜４１７で各データを初期化し、燃料蒸発ガス濃度ＦＬＰＲＧ＝０、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶ＝０、初回濃度検出終了フラグＸＮＦＬＰＲＧ＝０にする。
【００３６】
ここで、燃料蒸発ガス濃度ＦＬＰＲＧ＝０、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶ＝０は、燃料蒸発ガス濃度が「０」であること（換言すればキャニスタ３２に燃料蒸発ガスが全く吸着されていないこと）を意味する。エンジン始動時には初期化により吸着量が「０」に仮定される。初回濃度検出終了フラグＸＮＦＬＰＲＧ＝０は、エンジン始動後に未だ燃料蒸発ガス濃度が検出されていないことを意味する。
【００３７】
キースイッチ投入後は、ステップ４０２に進み、パージ実行フラグＸＰＲＧが「１」であるか否か、即ちパージ制御が開始されているか否かを判別する。ここで、ＸＰＲＧ＝０（パージ制御開始前）の場合には、そのまま本プログラムを終了する。一方、ＸＰＲＧ＝１（パージ制御開始後）の場合には、ステップ４０３に進み、車両が加減速中であるか否かを判定する。ここで、加減速中であるか否かの判定は、アイドルスイッチ（図示せず）のオフ、スロットルバルブ１３の弁開度変化、吸気管圧力変化、車速変化等の検出結果によって行われる。そして、加減速中であると判定されると、そのまま本プログラムを終了する。つまり、加減速中（エンジン運転の過渡状態）では燃料蒸発ガス濃度検出が禁止され、誤検出防止が図られる。
【００３８】
また、上記ステップ４０３で、加減速中でないと判定されると、ステップ４０４に進み、初回濃度検出終了フラグＸＮＦＰＧが「１」であるか否か、即ち燃料蒸発ガス濃度の初回検出が終了しているか否かを判定する。ここで、ＸＮＦＬＰＲＧ＝１（初回検出後）であれば、ステップ４０５に進み、ＸＮＦＰＧ＝０（初回検出前）であれば、ステップ４０５を飛び越してステップ４０６に進む。
【００３９】
最初は、燃料蒸発ガス濃度検出が終了していないので（ＸＮＦＬＰＲＧ＝０）、ステップ４０４からステップ４０６に進み、パージ制御量ＡＦＰＲＧのなまし値ＡＦＰＲＧＳＭが基準値（＝１）からどの程度ずれているか判定し、ＡＦＰＲＧＳＭ−１＜−０．０２の場合は、ステップ４０８に進み、前回の燃料蒸発ガス濃度ＦＬＰＲＧ(i-1) から所定値ｂを減算した値を今回の燃料蒸発ガス濃度ＦＬＰＲＧとする。また、−０．０２≦ＡＦＰＲＧＳＭ−１≦＋０．０２の場合は、ステップ４０９に進み、前回の燃料蒸発ガス濃度ＦＬＰＲＧ(i-1) をそのまま今回の燃料蒸発ガス濃度ＦＬＰＲＧとする。また、ＡＦＰＲＧＳＭ−１＞＋０．０２の場合は、ステップ４１０に進み、前回の燃料蒸発ガス濃度ＦＬＰＲＧ(i-1) に所定値ａを加算した値を今回の燃料蒸発ガス濃度ＦＬＰＲＧとする。この場合、所定値ａは所定値ｂよりも小さい値に設定されている。これは、燃料蒸発ガス濃度が低いときには、パージしても濃度が徐々にしか下がらないためである。
【００４０】
前述した初期化処理により、燃料蒸発ガス濃度ＦＬＰＲＧの初期値は「０」に設定され（ステップ４１５）、上記ステップ４０６〜４１０の処理によりパージ制御量なまし値ＡＦＰＲＧＳＭのずれ量に応じて燃料蒸発ガス濃度ＦＬＰＲＧの学習値が徐々に更新される。このステップ４０６〜４１０の処理が特許請求の範囲でいう学習手段としての役割を果たす。この燃料蒸発ガス濃度ＦＬＰＲＧの学習値の更新方法は、図１０を参照すれば、一層理解が容易である。
【００４１】
このようにして燃料蒸発ガス濃度ＦＬＰＲＧの学習値を更新した後、ステップ４１１に進み、初回濃度検出終了フラグＸＮＦＬＰＲＧが初回濃度検出終了を意味する「１」であるか否かを判定する。ここで、ＸＮＦＬＰＲＧ＝０（初回濃度検出前）であれば、ステップ４１２に進み、燃料蒸発ガス濃度ＦＬＰＲＧの前回検出値と今回検出値との変化が所定値（例えば３％）以下の状態が例えば３回以上継続したか否かによって、燃料蒸発ガス濃度ＦＬＰＲＧが安定したか否かを判定する。燃料蒸発ガス濃度ＦＬＰＲＧが安定すると、次のステップ４１３に進み、初回濃度検出終了フラグＸＮＦＬＰＲＧに「１」をセットした後、ステップ４１４に進む。
【００４２】
一方、上記ステップ４１１で、ＸＮＦＬＰＲＧ＝１（初回濃度検出終了）の場合、又はステップ４１２で燃料蒸発ガス濃度ＦＬＰＲＧが安定していないと判定された場合、ステップ４１４へジャンプし、今回の燃料蒸発ガス濃度ＦＬＰＲＧを平均化するために、所定のなまし演算（例えば１／６４なまし演算）を実行し、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶを求める。
【００４３】
このようにして初回濃度検出が終了すると（ＸＮＦＬＰＲＧ＝１がセットされると）、ステップ４０４が常に「Ｙｅｓ」と判定され、ステップ４０５に進んで、最終パージ率ＲＰＲＧが所定値β（例えば０％）を越えるか否かを判定する。そして、ＲＰＲＧ＞βの場合のみ、ステップ４０６以降の燃料蒸発ガス濃度の学習処理を実行する。つまり、パージ実行フラグＸＰＲＧが「１」にセットされていても、最終パージ率ＲＰＲＧが「０」となる場合があり、この場合は、実際にはパージが実施されないため、初回検出時以外は、ＲＰＲＧ＝０の場合に燃料蒸発ガス濃度の検出を行なわないようにしている。
【００４４】
尚、最終パージ率ＲＰＲＧが小さい場合、即ちパージ制御弁３５が低流量側で制御されている場合は開度制御の精度が比較的低く、燃料蒸発ガス濃度検出の信頼性が低い。そこで、ステップ４０５の所定値βをパージ制御弁３５の低開度域に設定し（例えば０％＜β＜２％）、初回検出時以外は、精度の良い検出条件が揃った場合のみ、燃料蒸発ガス濃度検出を行うようにしても良い。
【００４５】
［燃料噴射量演算］
燃料噴射量の演算は、図１１に示す燃料噴射量演算プログラムに従って例えば４ｍｓｅｃ毎の割込み処理により実行される。本プログラムの処理が開始されると、まずステップ５０１で、ＲＯＭ４２内にマップとして格納されているデータに基づき、エンジン回転数ＮＥと負荷（例えば吸気管圧力ＰＭ）に応じた基本噴射量（基本噴射時間）ＴＰを演算する。そして、次のステップ５０２で、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶに最終パージ率ＲＰＲＧを乗算することで、パージ補正係数ＦＰＲＧを算出する（ＦＰＲＧ＝ＦＬＰＲＧＡＶ×ＲＰＲＧ）。
【００４６】
この後、ステップ５０３で、燃料噴射量ＴＡＵの演算値（演算ＴＡＵ）を次式により算出する。
0003890576.tif 000003
ＴＰ    ：基本噴射量
ＦＴＨＡ：吸気温補正係数
ＦＰＡ  ：大気圧補正係数
ＦＷＬ  ：暖機補正係数
ＦＳＥ  ：始動時補正係数
ＦＡＳＥ：始動後補正係数
ＦＦＣ  ：燃料カット復帰時補正係数
ＦＴＣ  ：加減速補正係数
ＦＰＲＧ：パージ補正係数
ＦＬＡＦ：空燃比学習補正係数
ＦＡＦ  ：空燃比フィードバック補正係数
【００４７】
上記ステップ５０１〜５０３の処理は、特許請求の範囲でいう燃料噴射量演算手段としての役割を果たす。また、上記ステップ５０２，５０３の処理は、燃料蒸発ガス濃度平均値ＦＬＰＲＧＡＶ（燃料蒸発ガス濃度の学習値の平均値）に基づいて燃料噴射量を補正する補正手段としても機能する。
【００４８】
次のステップ５０４で、演算ＴＡＵを燃料噴射弁１７の最小／最大噴射量に対応する下限ガード値ＴＡＵmin と上限ガード値ＴＡＵmax でガード処理して燃料噴射弁１７から実際に噴射する実燃料燃料量（実ＴＡＵ）を決定する。つまり、ＴＡＵmin ≦演算ＴＡＵ≦ＴＡＵmax の範囲では、実ＴＡＵ＝演算ＴＡＵとなるが、演算ＴＡＵがガード値ＴＡＵmin 〜ＴＡＵmax から外れた領域では、ガードが働いて、実ＴＡＵ＝ＴＡＵmin 又はＴＡＵmax となる。このステップ５０４の処理は、特許請求の範囲でいう実燃料噴射量決定手段としての役割を果たす。
【００４９】
そして、ＣＰＵ４１は、所定の燃料噴射タイミングで実ＴＡＵの指令を燃料噴射弁１７に出力して燃料噴射を実行する。
【００５０】
［パージ制御量演算］
パージ制御量演算は、図１２に示すパージ制御量演算プログラムに従って例えば３２ｍｓｅｃ毎の割込み処理により実行される。本プログラムは、特許請求の範囲でいうパージ制御量演算手段としての役割を果たす。本プログラムの処理が開始されると、まずステップ６０１で、空燃比フィードバック中であるか否かを判定し、空燃比フィードバック中でない場合には、パージ制御は実行されないので、ステップ６０４，６０５に進み、パージ制御量ＡＦＰＲＧとなまし値ＡＦＰＲＧＳＭを「１．０」に設定して、本プログラムを終了する。
【００５１】
一方、空燃比フィードバック中であれば、ステップ６０２に進み、パージ制御量ＡＦＰＲＧを実ＴＡＵを用いて次式により演算する。
ＡＦＰＲＧ＝実ＴＡＵ／（ＴＰ×ＦＴＨＡ×ＦＰＡ）−（ＦＴＣ＋ＦＰＲＧ＋ＦＬＡＦ）
ＴＰ    ：基本噴射量
ＦＴＨＡ：吸気温補正係数
ＦＰＡ  ：大気圧補正係数
ＦＴＣ  ：加減速補正係数
ＦＰＲＧ：パージ補正係数
ＦＬＡＦ：空燃比学習補正係数
【００５２】
上式の右辺の第２項において、空燃比変動要因のうちパージ以外の空燃比変動要因（暖機補正係数ＦＷＬ，始動時補正係数ＦＳＥ，始動後補正係数ＦＡＳＥ，燃料カット復帰時補正係数ＦＦＣ）が除外され、パージによる空燃比変動要因（ＦＰＲＧ）のみをパラメータとしてパージ制御量ＡＦＰＲＧが演算される。尚、このパージ制御量ＡＦＰＲＧは、パージ制御弁３５の調整範囲を考慮してガード処理しても良い。
【００５３】
この後、ステップ６０３で、パージ制御量ＡＦＰＲＧのなまし値ＡＦＰＲＧＳＭを次のなまし式により演算する。
ＡＦＰＲＧＳＭ＝ＡＦＰＲＧＳＭ(i-1) ＋（ＡＦＰＲＧ−ＡＦＰＲＧ(i-1) ）／Ｎ
ここで、ＡＦＰＲＧＳＭ(i-1) は前回のパージ制御量のなまし値、ＡＦＰＲＧ(i-1) は前回のパージ制御量、Ｎはなまし係数である。
【００５４】
［パージ制御弁の制御］
パージ制御弁３５の制御は、図１３に示すパージ制御弁制御プログラムに従って例えば１００ｍｓｅｃ毎に割込み処理により実行される。本プログラムは、特許請求の範囲でいう制御手段としての役割を果たす。本プログラムの処理が開始されると、まずステップ７０１で、パージ実行フラグＸＰＲＧがパージ実行を意味する「１」であるか否かを判定し、ＸＰＲＧ＝０（パージ不実施）であれば、ステップ７０２に進み、パージ制御弁３５を駆動させるための制御値Ｄｕｔｙを「０」とし、パージ制御弁３５を全閉して、パージを停止する。
【００５５】
また、ＸＰＲＧ＝１（パージ実施）であれば、ステップ７０３に進み、最終パージ率ＲＰＲＧ及びその時点での運転状態に見合った全開パージ率ＲＰＲＧＭＸに基づき、次式により制御値Ｄｕｔｙを算出する。
【００５６】
Ｄｕｔｙ＝（ＲＰＲＧ／ＲＰＲＧＭＸ）×（１００ｍｓ−Ｐｖ）×Ｐｐａ＋Ｐｖ
この式で、パージ制御弁３５の駆動周期は１００ｍｓｅｃに設定されている。また、Ｐｖはバッテリ電圧の変動に対する電圧補正値（駆動周期補正用の時間相当量）であり、Ｐｐａは大気圧の変動に対する大気圧補正値である。上式で算出された制御値Ｄｕｔｙに基づき、パージ制御弁３５の駆動パルス信号のデューティ比が設定され、パージ制御弁３５の開度が制御される。
【００５７】
［制御例］
上述した各プログラムによる燃料蒸発ガスパージ制御の挙動を図１４及び図１５のタイムチャートを用いて説明する。
【００５８】
図１４は、パージを停止している状態からパージを開始し、そのパージ実行中に演算ＴＡＵが下限ガード値ＴＡＵmin を下回った時の挙動を示している。演算ＴＡＵが下限ガード値ＴＡＵmin に到達するまでは、演算ＴＡＵと実ＴＡＵが一致するため、ＦＡＦ（演算ＴＡＵ）による従来のパージ制御と実ＴＡＵによる本実施形態のパージ制御との挙動が一致する。
【００５９】
その後、演算ＴＡＵが下限ガード値ＴＡＵmin を下回ると、ガードが働いて、実ＴＡＵが下限ガード値ＴＡＵmin で固定され、実ＴＡＵ≠演算ＴＡＵとなり、ＦＡＦ（演算ＴＡＵ）による従来のパージ制御と実ＴＡＵによる本実施形態のパージ制御との挙動が異なってくる。即ち、本実施形態では、演算ＴＡＵが下限ガード値ＴＡＵmin を下回ると、実ＴＡＵが下限ガード値ＴＡＵmin で固定されるため、暫くしてパージ制御量ＡＦＰＲＧが基準値で一定となり、燃料蒸発ガス濃度ＦＬＰＲＧの学習値も一定となると共に、この学習値に基づいて設定されるパージ補正係数ＦＰＲＧも一定となる。
【００６０】
これに対し、ＦＡＦ（演算ＴＡＵ）による従来のパージ制御では、演算ＴＡＵが下限ガード値ＴＡＵmin を下回った後も、演算ＴＡＵの低下に伴ってパージ制御量ＡＦＰＲＧが下がり続け、燃料蒸発ガス濃度ＦＬＰＲＧの学習値とパージ補正係数ＦＰＲＧも下がり続ける。このため、燃料蒸発ガス濃度ＦＬＰＲＧの学習は、斜線で示す部分が誤学習となり、パージ補正係数ＦＰＲＧも斜線で示す部分が過補正となる。その結果、パージの影響を考慮した正確な空燃比フィードバック制御を行うことができず、排気エミッションを悪くしてしまう。
【００６１】
この点、本実施形態では、実ＴＡＵに基づいてパージ制御量ＡＦＰＲＧを演算するため、燃料蒸発ガス濃度ＦＬＰＲＧの誤学習やパージ補正係数ＦＰＲＧの過補正を回避できて、実ＴＡＵに対応したパージ制御量ＡＦＰＲＧを求めることができ、パージの影響を考慮した精度の良い空燃比フィードバック制御を行うことができて、パージによる排気エミッションの悪化を回避することができる。
【００６２】
一方、図１５は、エンジン始動後に空燃比フィードバックを開始し、その後、パージを開始した時の挙動を示している。エンジン始動直後から、始動後補正係数ＦＡＳＥと暖機補正係数ＦＷＬを設定して、空燃比フィードバックを開始する。これにより、空燃比フィードバック補正係数ＦＡＦは、始動後補正係数ＦＡＳＥと暖機補正係数ＦＷＬによる変動分が加えられ、その後、パージが開始されると、ＦＡＦにパージによる変動分が追加される。また、燃料カットが行われると、その燃料カット復帰直後にＦＡＦに燃料カット復帰時補正係数ＦＦＣによる変動分が追加される。
【００６３】
従来は、ＦＡＦ（演算ＴＡＵ）によるパージ制御を行っていたため、パージだけによるＦＡＦの変動分を取り出すことができない。このため、燃料蒸発ガス濃度ＦＬＰＲＧの学習値にパージ以外の変動要因（ＦＡＳＥ，ＦＥＬ，ＦＦＣ）が含まれてしまうため、斜線で示す部分が誤学習となり、パージの影響を考慮した正確な空燃比フィードバック制御を行うことができず、排気エミッションを悪くしてしまう。
【００６４】
これに対し、本実施形態では、パージ制御量ＡＦＰＲＧの演算式から、空燃比変動要因のうちパージ以外の空燃比変動要因（暖機補正係数ＦＷＬ，始動時補正係数ＦＳＥ，始動後補正係数ＦＡＳＥ，燃料カット復帰時補正係数ＦＦＣ）が除外され、パージによる空燃比変動要因（ＦＰＲＧ）のみをパラメータとしてパージ制御量ＡＦＰＲＧが演算される（図１２のステップ６０２）。このため、パージによる変動分のみを取り出すことができて、パージ以外の空燃比変動要因による燃料蒸発ガス濃度ＦＬＰＲＧの誤学習を防止でき、濃度学習の精度を向上できて、パージの影響を考慮した精度の良い空燃比フィードバック制御を行うことができる。
【００６７】
また、次式によりパージ制御量ＡＦＰＲＧを算出するようにしても良い。
ＡＦＰＲＧ＝実ＴＡＵ／（ＴＰ×ＦＴＨＡ×ＦＰＡ）
−（ＦＷＬ＋ＦＳＥ＋ＦＡＳＥ＋ＦＦＣ＋ＦＴＣ＋ＦＰＲＧ＋ＦＬＡＦ）
【００６８】
この場合、右辺の第２項において、パージ以外の空燃比変動要因（暖機補正係数ＦＷＬ，始動時補正係数ＦＳＥ，始動後補正係数ＦＡＳＥ，燃料カット復帰時補正係数ＦＦＣ）が含まれるが、実ＴＡＵに基づいてパージ制御量ＡＦＰＲＧを算出するため、演算ＴＡＵを用いる従来のパージ制御と比較して、パージ制御量ＡＦＰＲＧの演算精度を向上でき、空燃比フィードバック制御の精度を向上できる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すシステム全体の概略構成図
【図２】パージ制御弁駆動デューティとパージ流量との関係を示す特性図
【図３】空燃比フィードバック制御プログラムの処理の流れを示すフローチャート
【図４】パージ率制御プログラムの処理の流れを示すフローチャート
【図５】全開パージ率マップの一例を示す図
【図６】目標ＴＡＵ補正量マップの一例を示す図
【図７】パージ率徐変制御プログラムの処理の流れを示すフローチャート
【図８】パージ率徐値ＲＰＲＧＤの演算方法を説明する図
【図９】燃料蒸発ガス濃度検出プログラムの処理の流れを示すフローチャート
【図１０】燃料蒸発ガス濃度ＦＬＰＲＧの学習値の更新方法を説明する図
【図１１】燃料噴射量演算プログラムの処理の流れを示すフローチャート
【図１２】パージ制御量演算プログラムの処理の流れを示すフローチャート
【図１３】パージ制御弁制御プログラムの処理の流れを示すフローチャート
【図１４】パージ実行中に演算ＴＡＵが下限ガード値ＴＡＵmin を下回った時の挙動を示すタイムチャート
【図１５】エンジン始動後に空燃比フィードバックを開始し、その後、パージを開始した時の挙動を示すタイムチャート
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１３…スロットルバルブ、１５…サージタンク、１６…吸気圧センサ、１７…燃料噴射弁、１８…排気管、１９…酸素センサ、２１…燃料タンク、２２…燃料ポンプ、２３…燃料配管、２６…プレッシャレギュレータ、２５…リターン配管、３０…燃料蒸発ガスパージシステム、３２…キャニスタ、３３…大気連通管、３４…パージ通路、３５…パージ制御弁、４０…エンジン制御回路（制御手段，燃料噴射量演算手段，実燃料噴射量決定手段，パージ量演算手段，パージ率演算手段，学習手段，補正手段）。
【図１】
0003890576.tif 000004
【図２】
0003890576.tif 000005
【図３】
0003890576.tif 000006
【図４】
0003890576.tif 000007
【図５】
0003890576.tif 000008
【図６】
0003890576.tif 000009
【図７】
0003890576.tif 000010
【図８】
0003890576.tif 000011
【図９】
0003890576.tif 000012
【図１０】
0003890576.tif 000013
【図１１】
0003890576.tif 000014
【図１２】
0003890576.tif 000015
【図１３】
0003890576.tif 000016
【図１４】
0003890576.tif 000017
【図１５】
0003890576.tif 000018