図1〜図20は、この発明の実施例を示すものである。
図20において、2は車両のエンジン、4はエンジン2の吸気系の吸気通路、6はエンジン2の排気系の排気通路である。
エンジン2は、一側シリンダバンク8−1と他側シリンダバンク8−2とを、V字形状に配置して構成されている。
吸気通路4には、上流側から順次に、エアクリーナ10と、エンジン2の吸入空気温度を検出する吸気温度センサ12と、エンジン2の吸入空気量を検出するエアフローセンサ14と、該吸気通路4を流通してエンジン2に供給される吸入空気量を制御するスロットルバルブ16とが配設されている。この吸気通路4の下流側は、一側分岐吸気通路4−1と他側分岐吸気通路4−2とに分岐されている。また、吸気通路4には、スロットルバルブ16のスロットル開度を検出するスロットルセンサ18が設けられている。
また、吸気通路4には、吸入空気量制御装置20が設けられている。この吸入空気量制御装置20には、スロットルバルブ16を迂回して該スロットルバルブ16の上流側の吸気通路4と下流側の吸気通路4とを連通するバイパス通路22と、このバイパス通路22を流通してエンジン2に供給される吸入空気の流量を制御するアイドル制御弁(ISCバルブ)24とが設けられている。
排気通路6は、上流側が一側分岐排気通路6−1と他側分岐排気通路6−2とに分岐されている。一側分岐排気通路6−1の途中に一側触媒コンバータ26−1が設けられるとともに、他側分岐排気通路6−2の途中には他側触媒コンバータ26−2が設けられている。
一側分岐排気通路6−1の途中の一側触媒コンバータ26−1よりも上流側部位には、空燃比センサとして、例えば、一側フロントO2センサ(酸素濃度センサ)28−1Fが設けられる。この一側フロントO2センサ28−1Fは、一側触媒コンバータ26−1よりも上流側の一側分岐排気通路6−1内の排ガス中の酸素濃度を検出し、リッチ・リーンの出力信号を出力するものである。また、一側分岐排気通路6−1の途中の一側触媒コンバータ26−1よりも下流側部位には、空燃比センサとして、例えば、一側リアO2センサ(酸素濃度センサ)28−1Rが設けられる。この一側リアO2センサ28−1Rは、一側触媒コンバータ26−1よりも下流側の一側分岐排気通路6−1内の排ガス中の酸素濃度を検出し、リッチ・リーンの出力信号を出力するものである。
他側分岐排気通路6−2の途中の他側触媒コンバータ26−2よりも上流側部位には、空燃比センサとして、例えば、他側フロントO2センサ(酸素濃度センサ)28−2Fが設けられる。この他側フロントO2センサ28−2Fは、他側触媒コンバータ26−2よりも上流側の他側分岐排気通路6−2内の排ガス中の酸素濃度を検出し、リッチ・リーンの出力信号を出力するものである。また、他側分岐排気通路6−2の途中の他側触媒コンバータ26−2よりも下流側部位には、空燃比センサとして、例えば、他側リアO2センサ(酸素濃度センサ)28−2Rが設けられる。この他側リアO2センサ28−2Rは、他側触媒コンバータ26−2よりも下流側の他側分岐排気通路6−2内の排ガス中の酸素濃度を検出し、リッチ・リーンの出力信号を出力するものである。
なお、空燃比センサとしては、O2センサの他に、排気系に取り付けられる各種センサを用いることができる。
一側、他側O2センサ28−1R、28−2Rよりも下流側部位においては、一側、他側分岐排気通路6−1、6−2が合流され、この合流部位よりも下流側の排気通路6の途中には、三元触媒コンバータ30が配設されている。
エンジン2には、燃料供給装置32が設けられている。この燃料供給装置32には、燃料を貯留する燃料タンク34と、この燃料タンク34内に設置された燃料ポンプ36と、この燃料ポンプ36から圧送された燃料をエンジン2側に導く燃料供給通路38と、この燃料供給通路38に連絡してエンジン2内に燃料を噴射する一側、他側燃料噴射弁(インジェクタ)40−1、40−2とが設けられている。また、燃料供給通路38の途中には、燃料中に含有する塵埃を除去する燃料フィルタ42が設けられている。
また、燃料供給装置32において、燃料供給通路38の途中には、燃料の圧力を調整する燃料圧力レギュレータ44が設けられている。この燃料圧力レギュレータ44は、吸気通路4に連通する第1導圧通路46−1から導入される吸気圧力である吸気管圧力によって燃料圧を一定値に調整し、余剰の燃料を燃料戻り通路48から燃料タンク34に戻させるものである。この燃料タンク34には、給油管34Aが付設されているとともに、燃料レベルセンサ50とタンク内圧力センサ52とが配設されている。
また、エンジン2には、パージ制御装置54が設けられている。このパージ制御装置54においては、図19に示す如く、燃料タンク34内に連通してタンク圧力制御バルブ58を備えたエバポ通路56が設けられ、エンジン2の吸気系としてのスロットルバルブ16よりも下流側の吸気通路4のサージタンク部4Aに連通したパージ通路60が設けられ、エバポ通路56とパージ通路60との間に、燃料タンク34からの蒸発燃料(燃料蒸気)を吸着保持するとともに大気の導入によってこの吸着保持された蒸発燃料をパージさせてパージガスをエンジン2に供給するキャニスタ62が設けられ、そして、パージ通路60の途中に、エンジン2の運転状態に応じて開動作(オン)及び閉動作(オフ)されてエンジン2ヘのパージガスの流量であるパージ量を制御するパージバルブ(VSV)64が設けられている。また、キャニスタ62には、大気開放通路66が接続している。この大気開放通路66の途中には、大気のキャニスタ62への導入時に該大気開放通路66を開放するように動作される大気開放弁68が設けられている。タンク圧力制御バルブ58は、吸気通路4に連通する第2導圧通路46−2から導入される吸気圧力である吸気管圧力によって作動される。この第2導圧通路46−2には、タンク圧力制御ソレノイドバルブ69が設けられている。
更に、エンジン2には、EGR装置70が設けられている。このEGR装置70には、排気系から吸気系に還流される排気のEGR量を調整するEGRバルブ72が設けられている。このEGRバルブ72は、排気系の他側フロント側O2センサ28−2Fよりも上流側の他側分岐排気通路6−2と吸気系の一側、他側分岐吸気通路4−1、4−2の合流部位とを連通するEGR通路74に設けられ、電子的に制御されてEGR量を調整するものである。
エンジン2の他側シリンダバンク8−2には、PCVバルブ76が設けられている。
図20に示す如く、吸気温度センサ12と、エアフローセンサ14と、スロットルセンサ18と、アイドル制御弁24と、一側フロントO2センサ28−1Fと、一側リアO2センサ28−1Rと、他側フロントO2センサ28−2Fと、他側リアO2センサ28−2Rと、燃料ポンプ36と、一側燃料噴射弁40−1と、他側燃料噴射弁40−2と、燃料レベルセンサ50と、タンク内圧力センサ52と、パージバルブ64と、大気開放弁68と、EGRバルブ72とは、制御手段(ECM)78に連絡している。
また、この制御手段78には、図18、図20に示す如く、エンジン2のカム軸(図示せず)の回転角を検出してカム信号を出力するカム角センサ80と、吸気管圧力を検出する吸気圧センサ82と、一側イグニションコイルアッセンブリ84−1と、他側イグニションコイルアッセンブリ84−2と、エンジン2の冷却水温度をエンジン水温として検出する水温センサ86と、エンジン2のクランク軸(図示せず)の回転角を検出してクランク信号を出力するクランク角センサ88と、インジケータランプ90と、接続端子92と、パワーステアリング圧力スイッチ94と、ヒータブロアファンスイッチ96と、クルーズ・コントロール・モジュール98と、車速を検出する車速センサ100と、コンビネーションメータ102と、A/Dコンデンサファンリレー104と、エアコン(A/C)コントローラ106と、データリンクコネクタ108と、ABSコントローラモジュール110と、メインリレー112と、エンジンキーを回すとオンしてイグニション信号を出力するイグニションスイッチ114、P/Nポジションスイッチ116と、バッテリ118と、スタータが作動するとオンになってスタータ信号を出力するスタータスイッチ120と、O/Dオフランプ122と、パワーランプ124と、ライティングスイッチ126と、ストップランプスイッチ128と、O/Dカットスイッチ130と、パワー/ノーマルチェンジスイッチ132と、4WD・LOWスイッチ134と、トランスミッションレンジスイッチ136と、第1ソレノイドバルブ138と、第2ソレノイドバルブ140と、TCCソレノイドバルブ142と、A/Tインプットスピードセンサ144と、A/Tアウトプットスピードセンサ146と、エンジン2がアイドル運転になるとオンになるアイドルスイッチ148と、エンジン回転数を検出するエンジン回転数センサ150と、大気圧を検出する大気圧センサ152とが連絡している。
更に、この制御手段78は、図18に示す如く、燃料噴射量を制御する燃料制御手段78Aと、パージ量を制御するエバポパージ制御手段78Bと、エバポ濃度を演算するエバポ濃度制御演算手段78Cとを備えている。
そして、この制御手段78は、各O2センサ28からの出力信号及びエンジン2ヘのパージガス中の蒸発燃料の濃度として演算されるパージ濃度を反映して空燃比をフィードバック制御し、パージバルブ64が開動作したパージオン時に、前記パージ濃度の演算を学習して空燃比をパージ学習値で補正制御し、パージバルブ64のパージオフ時には、空燃比を通常学習値で補正制御する。
また、図1、図3、図8に示す如く、制御手段78は、パージバルブ64を開動作させるパージ制御をした後に、各O2センサ28によって空燃比のリッチ・リーンの反転が検出されず、この空燃比のリッチ・リーンの反転が検出されない状態が所定時間(例えば、20秒)継続される場合には、パージ制御の実施を中止し(パージオフ)、パージ濃度を初期化するものである。つまり、パージオン時に、O2センサ28がリッチ又はリーン側に張り付いて反転しなくなった時間が、所定時間(例えば、20秒)継続した場合に、パージオフとし、そして、前回のパージ濃度を初期化(クリア)し、パージ濃度を計測し直して現在のパージ濃度を正確に計測し、この正確な値のパージ濃度によりパージ制御及び空燃比制御を実施し、精度を高くして空燃比を目標空燃比に制御することができるものである。
更に、制御手段78は、パージ率(PQA)を、パージ濃度(PDENC)のパージ濃度変化量がパージ濃度比較値(PDLT)よりも大きく且つパージ率(PQA)のパージ率変化量がパージ率比較値(PQDLT)よりも大きいときに、目標パージ率になるまで数回に分けて一定の割合でゆっくりなまして増加し、パージ濃度変化量がパージ濃度比較値(PDLT)よりも小さく且つパージ率変化量がパージ率比較値(PQDLT)よりも小さいときには、なまさない目標パージ率とし、パージバルブ64を開動作させてパージ制御するものである。
更にまた、制御手段78は、前記パージ濃度(PDENC)の初期化と同時に、前回のパージ学習値及びパージカウンタを、共に初期化する一方、パージ積算値及び通常学習値を、前回のまま継続使用するものである。
また、制御手段78は、O2センサ28によって空燃比のリッチ・リーンの反転が検出されない状態が所定時間継続されない場合には、パージ濃度(PDENC)の初期化をせずに通常のパージ制御を行う一方、パージ濃度の初期化をした場合には、該パージ濃度(PDENC)の初期化後(及びエンジン2の始動後)の初回のみに、パージ濃度学習回数が積算して所定の固定回数(例えば、40回)終了するまで、パージ割合(PQAMN)を一定の割合で変化させてパージ濃度(PDENC)の演算を学習するものである(図2、17参照)。
即ち、制御手段78においては、燃料フィードバック制御を実施するとともに、O2センサ28からの出力信号及びエンジン2へのパージガス中の蒸発燃料の濃度として演算されるパージ濃度(PDENC)を反映して空燃比をフィードバック制御するものであり、所定のパージ学習制御条件(例えば、水温が75℃以上)が成立すると、パージオンとパージオフを交互に繰り返し、パージオン時には、パージバルブ64を開き(オン)、この時のパージ濃度(PDENC)を演算して学習するとともにパージ学習値(KLERNC)を演算し、このパージ学習値(KLERNC)をパージ補正値として空燃比を補正制御し、一方、パージオフ時には、パージバルブ64を閉じ、この時の通常学習値(KLERNA)を演算し、この通常学習値(KLERNA)を通常補正値として空燃比を補正制御する(図1、17参照)。この通常学習値(KLERNA)は、図13に示す如く、エンジン回転数とエンジン負荷との通常学習値記憶マップに記憶される。また、パージ学習値(KLERNC)は、直前の値のみ記憶マップに記憶される。
また、制御手段78においては、演算されたパージ濃度(PDENC)状態によってパージ濃度学習回数と通常学習回数とを設定するものである(図9参照)。この図9においては、パージ濃度(PDENC)が第1所定値P1付近までは、通常学習回数がパージ濃度学習の回数よりも少し多いが、パージ濃度(PDENC)が第1所定値P1を越えると、パージ濃度(PDENC)が第2所定値P2になるまで、通常学習回数が漸次少なくなり、パージ濃度(PDENC)が第2所定値P2になると、通常学習回数が所定の回数N1に設定される一方、パージ濃度学習回数が漸次多くなり、パージ濃度(PDENC)が第2所定値P2になると、パージ濃度学習回数が所定の回数N2に設定される。
更にまた、制御手段78においては、エンジン2への吸入空気量に対するパージ量の割合であるパージ率(PQA)を、パージ濃度(PDENC)によって設定するものである(図10参照)。
また、制御手段78においては、エンジン2の低負荷時に、パージ濃度(PDENC)の演算において、フィードバック補正値(GAMASA)がパージ濃度(PDENC)の演算に対して悪影響を及ぼさないように、エンジン負荷(吸入空気量、スロットル開度、吸気管負圧等)によってパージ濃度補正係数(xDEN)を求め、このパージ濃度補正係数(xDEN)によってパージ濃度(PDENC)を補正するものである(図11参照)。
更に、制御手段78においては、エンジン負荷の変化時に、パージ濃度(PDENC)の演算において、フィードバック補正値(GAMASA)の変動がパージ濃度(PDENC)の演算に対して悪影響を及ぼさないように、エンジン負荷変化量によってパージ濃度補正係数(yDEN)を求め、このパージ濃度補正係数(yDEN)によってパージ濃度(PDENC)を補正するものである(図12参照)。
更にまた、制御手段78においては、パージ濃度(PDENC)の演算において、エンジン負荷に応じたパージ濃度補正係数(xDEN)、または、エンジン負荷変化量に応じたパージ濃度補正係数(yDEN)を求め、このパージ濃度補正係数(xDEN、yDEN)によってパージ濃度(PDENC)の補正をする場合に、図6に示すように、初回のパージ学習時のみ、パージ濃度(PDENC)を補正するものである。
また、制御手段78においては、燃料フィードバック制御が停止してエンリッチ領域に入った場合に、一定のパージ率、又は、エンジン回転数とエンジン負荷とで設定されたパージ率(図14参照)、又は、エンジン負荷で設定されたパージ率(図15参照)でパージバルブ64を開動作させてパージ制御するものである(図4参照)。このため、制御手段78には、エンリッチ時に、吸気管圧力によってパージ量とパージバルブ64の開度(%)が設定されている(図16参照)。
更にまた、制御手段78においては、アイドルスイッチ148のオン時及び/またはエンリッチ領域以外で燃料フィードバック制御が停止した領域では、一定のパージ率又はエンジン回転数とエンジン負荷とで設定されたパージ率(図14参照)又はエンジン負荷で設定されたパージ率(図15参照)でパージバルブ64を開動作させてパージ制御するものである(図4参照)。
次に、この実施例の作用を説明する。
図1のフローチャートに示す如く、制御手段78のパージ濃度学習制御においては、イグニションスイッチ114のオンによるエンジン2の始動後に、プログラムがスタートすると(ステップ202)、先ず、パージ積算値(CPTOTAL)を初期化し(ステップ204)、そして、パージ学習値(KLERNC)とパージカウンタ(PCOUNT)とパージ濃度(PDENC)とを初期化する(ステップ206)。
これは、キャニスタ62からの蒸発燃料のパージは、キャニスタ62の温度によって大きく変化するので、高温下では燃料タンク34内の蒸発燃料がキャニスタ62に吸着保持されても、エンジン2を停止し、エンジン2が冷えてしまえば、次にエンジン2を始動した時には、キャニスタ62や燃料タンク34内からの蒸発燃料の発生量が少ないからであり、よって、パージ学習値(KLERNC)及びパージ濃度(PDENC)を、前回のエンジン始動時の値で使用することができず、エンジン2を始動する毎に、初期化する。
エンジン2の始動後、燃料フィードバック(F/B)制御及びパージ学習制御が始まるまでは、パージオフあるいは制限された低いパージ率でパージ制御され、この場合には、通常学習値記憶マップ(図13参照)の通常学習値(KLERNA)に従って空燃比補正制御を実施する(ステップ208)。
そして、燃料フィードバック制御が開始したか否かを判断する(ステップ210)。
このステップ210がYESの場合には、燃料学習制御条件が成立したか否かを判断する(ステップ212)。
このステップ212がYESの場合には、第1のパージ制御(パージ制御1)(図2参照)を行う(ステップ214)。
一方、前記ステップ210がNO、及び、前記ステップ212がNOの場合には、第2のパージ制御(パージ制御2)(図4参照)を行う(ステップ216)。
図1の前記ステップ214におけるパージ制御1を、図2のフローチャートに基づいて説明する。
図2に示す如く、パージ制御1のプログラムがスタートすると(ステップ302)、パージカウンタ(PCOUNT)が、PCOUNT=0か否かを判断する(ステップ304)。
このステップ304がYESの場合に、エンジン2の始動時は、キャニスタ62内及び燃料供給通路38内の濃度が解らないため、エンジン2の始動後の初回のみ、つまり、パージ濃度の初期化後の初回のみ、パージ濃度学習回数が積算して所定の固定回数(例えば、40回)になるように、通常のパージ割合値(PQAMN)まで、パージ濃度の演算を、パージバルブ64をゆっくり開動作して一定の割合でゆっくり変化させて学習する(ステップ306)(図17参照)。
そして、このパージ濃度学習回数が、所定の固定回数(例えば、40回)を終了したか否かを判断する(ステップ308)。
このステップ308がNOの場合には、前記ステップ304に戻し、パージカウンタ(PCOUNT)が、PCOUNT=0か否かを判断する。
このステップ308がYESの場合には、パージカウンタ(PCOUNT)を1に、つまり、PCOUNT←1とする(ステップ310)。
そして、パージバルブ64を閉動作してパージオフとする(ステップ312)。なお、このパージバルブ64の閉動作時には、後述する通常学習値を演算する通常学習を行っている。
また、前記ステップ304でNOの場合には、このステップ312に直接的に移行させる。
このパージオフしている時間は、通常学習回数により設定される。この通常学習回数は、図9に示すように、直前に演算されたパージ濃度(PDENC)によって設定される(ステップ314)。
そして、この通常学習回数が、図9で設定された所定回数まで終了し、通常学習が終了したか否かを判断する(ステップ316)。
このステップ316がNOの場合には、前記ステップ312に戻し、通常学習回数が、設定された所定回数を終了まで、パージバルブ64の閉状態を継続する。
前記ステップ316がYESの場合には、パージ濃度によるパージ率の設定を実施する(ステップ318)。
そして、パージ濃度学習が終了したか否かを判断し(ステップ320)、このステップ320がNOの場合には、前記ステップ318に戻して、パージ濃度によるパージ率の設定を継続し、一方、このステップ320がYESの場合には、前記ステップ304に戻して、パージカウンタ(PCOUNT)が、PCOUNT=0か否かを判断する。
図2の前記ステップ318におけるパージ濃度によるパージ率の設定を、図3のフローチャートに基づいて説明する。
図3に示す如く、パージ濃度によるパージ率の設定のプログラムがスタートすると(ステップ402)、先ず、前回求まったパージ濃度(PDENC)により、今回のパージ率(PQA)を、図10から求める(ステップ404)。
そして、前回求められたパージ濃度(PDENC)とパージ濃度比較値(PDLT)とを比較し、PDENC≧PDLTか否かを判断する(ステップ406)。
このステップ406がYESの場合には、蒸発燃料が多量にあるため、さらに、パージ率(PQA)とパージ率比較値(PDLT)とを比較し、PQA≧PDLTか否かを判断する(ステップ408)。
前記ステップ406がNO、前記ステップ408がNOの場合には、図10で求まったパージ率(PQA)まで、パージバルブ64を開動作させ、パージ率(PQA)をなまさないで、直接に目標パージ率でパージ制御をする(ステップ410)。
前記ステップ408がYESの場合には、図10で求まったパージ率(PQA)まで、パージバルブ64を、一定の割合でパージバルブ64をゆっくり開動作させ、パージ率(PQA)をゆっくりなまして増加する(ステップ412)。こうすることで、低パージ量及び低吸入空気量でエンジン2が始動した後において、最初にパージ濃度を演算することがなく、実際に、キャニスタ62内やエバポ通路56内には蒸発燃料が少ない場合に、パージ濃度が濃いとして演算をすることがないので、空燃比のみリーンに誤補正するのを回避させ、よって、運転性能の悪化を防止し、また、排ガスの排出量が多くなるのを防止することができる。
そして、前記ステップ410、前記ステップ412の処理後には、O2センサ28からの出力信号がリッチ・リーンに反転しない状態か否かを判断する(ステップ414)。
O2センサ28からの出力信号がリッチ・リーンに反転しない状態で、このステップ414がYESの場合には、このO2センサ28からの出力信号がリッチ・リーンに反転しない状態の時間が、所定時間(例えば、20秒)以上になったか否か、つまり、反転しない時間≧20秒を判断する(ステップ416)。
前記ステップ414がNO、及び、前記ステップ416がNOの場合には、パージ濃度学習が終了したか否かを判断する(ステップ418)。
このステップ418がNOの場合には、前記ステップ404に戻す。
このステップ418がYESの場合には、図1の前記ステップ208に移行する(Aで示す)。
前記ステップ416がYESの場合には、図1の前記ステップ206に移行する(Bで示す)。
図1の前記ステップ216におけるパージ制御2を、図4のフローチャートに基づいて説明する。
図4に示す如く、パージ制御2のプログラムがスタートすると(ステップ502)、先ず、エンジン水温が、エンジン水温>設定値(PTW:例えば75℃)か否かを判断する(ステップ504)。
このステップ504がYESの場合には、アイドルスイッチ148がオフか否かを判断する(ステップ506)。
そして、このステップ506がYESの場合には、エンリッチ領域か否かを判断する(ステップ508)。
このステップ508がYESの場合には、一定の第1パージ率(例えば、2%)、又は、図14のエンジン回転数とエンジン負荷とで設定したパージ率、又は、図15のエンジン負荷としての例えば吸入空気量で設定したパージ率により、パージバルブ64を開動作させパージ制御を実施する(ステップ510)。
前記ステップ506でNO、及び、前記ステップ508でNOの場合には、上述の第1パージ率(例えば、2%)より小さい一定の第2パージ率(例えば0.5%)、又は、図14のエンジン回転数とエンジン負荷とで設定したパージ率、又は、図15のエンジン負荷としての例えば吸入空気量で設定したパージ率により、パージバルブ64を開動作させパージ制御を実施する(ステップ512)。こうすることで、パージ制御において、パージ量をパージ濃度によって設定し、燃料フィードバック制御及びパージ濃度を演算するパージ学習制御が行われていない領域では、パージ量の設定ができないことから、パージ制御を停止し、エンリッチ状態の高負荷領域、高回転領域では、燃料フィードバック制御を停止して、パージ制御も停止している場合には、登坂等の運転が長く続き、燃料タンク34内に蒸発燃料が多く溜まり、特に、高地では、燃料タンク内で蒸発燃料の発生量が多くなるとともに、エンジン出力も低下することから、アクセルペダルの踏み込み量も大きくなり、エンリッチでの走行時間が増加するという不具合が生じようとするが、燃料タンク34内のタンク内圧力が蒸発燃料によって高くなるのを回避させ、蒸発燃料がキャニスタ62の大気開口通路66から外部に洩れる可能性をなくし、また、蒸発燃料により燃料タンク34内のタンク内圧力が急上昇するのを回避させ、タンク内圧力センサ52がタンク内圧を誤って診断してしまうのを防止することができる。
一方、前記ステップ504でNOの場合には、パージバルブ64を開動作することなく、図1の前記ステップ208に移行させ(Aで示す)、また、前記ステップ510及び前記ステップ512の処理後は、各パージ率でパージバルブ64を開動作させている状態で、図1の前記ステップ208に移行させる(Aで示す)。
次に、パージ濃度(PDENC)及びパージ学習値(KLERNC)、通常学習値(KLERNA)を演算するためのパージ濃度演算・パージ学習制御について説明する。なお、このパージ濃度演算・パージ学習制御には、図5のフローチャートに示す第1実施例(実施例1)と図6のフローチャートに示す第2実施例(実施例2)とがある。
第1実施例(実施例1)のパージ濃度演算・パージ学習制御を、図5のフローチャートに基づいて説明する。
図5に示す如く、エンジン2の始動後に、プログラムがスタートすると(ステップ602)、先ず、パージカウンタ(PCOUNT)が、PCOUNT=0か否かを判断する(ステップ604)。
このステップ604がYESの場合には、パージバルブ64をゆっくり開けているため、空燃比のフィードバック補正値(GAMASA)は、空燃比をリーンに補正する方向に制御される。そして、この時のフィードバック補正値の4周期分の平均値(GAMAAVE)を求める(ステップ606)(図17参照)。
そして、この4周期分の平均値(GAMAAVE)の計測時におけるエンジン負荷の平均値及びエンジン負荷変化量を求める(ステップ608)。
そして、パージ濃度(PDENC)を、図11のエンジン負荷と図12のエンジン負荷変化量によって補正して求める(ステップ610)。
つまり、パージ濃度(PDENC)は、
PDENC=(KLERNC−KLERNA+GAMAAVE*xDEN*yDEN)÷パージ率 …(式1)
で求められる。
ここで、
KLERNC:前回学習したパージ学習値(エンジン始動後、最初は0)
KLERNA:通常学習値(図13の通常学習値記憶マップに記憶)
GAMAAVE:フィードバック補正値の4周期分の平均値
xDEN:エンジン負荷に対するパージ濃度補正係数(図11のマップに記憶)
yDEN:エンジン負荷変化量に対するパージ濃度補正係数(図12のマップに記憶)
である。
この(式1)の結果得られたパージ濃度(PDENC)を、記憶する。そして、このパージ濃度(PDENC)からパージ学習値を演算する(後に、図7の空燃比補正制御のフローチャートに従って説明する)。
そして、パージ濃度学習回数が、図9で設定された固定回数を終了したか否かを判断する(ステップ612)。なお、この固定回数は、初回が、例えば、40回、その後は、図9に示すように、パージ濃度(PDENC)の状態によって設定される。
このステップ612がNOの場合には、ステップ606に戻し、パージ学習を繰り返す。
このステップ612がYESの場合には、パージカウンタ(PCOUNT)を1に、つまり、PCOUNT←1とする(ステップ614)。この場合、少なくとも初回のパージ学習制御が、終了する。
そして、パージバルブ64を閉動作してパージオフとする(ステップ616)。
次いで、このパージバルブ64が閉動作状態での空燃比のフィードバック補正値の4周期分の平均値(GAMAAVE)を測定し、このフィードバック補正値の平均値(GAMAAVE)を、通常学習値(KLERNA)として学習する通常学習を行なう(ステップ618)。
同時に、エンジン負荷およびエンジン回転数を計測し、この通常学習値(KLERNA)を、図13に示すエンジン負荷およびエンジン回転数毎に区画された通常学習値記憶マップに、記憶する(ステップ620)。
次に、このパージオフ時における通常学習回数が、設定された所定回数だけ終了したか否かを判断する(ステップ622)。この通常学習回数は、図9に示すように、パージ濃度(PDENC)の状態によって決定される。
このステップ622がNOの場合には、前記ステップ616に戻し、通常学習を繰り返す。
このステップ622がYESの場合には、前記ステップ604に戻す。
一方、前記ステップ604がNOの場合には、パージバルブ64を開動作した直後の所定時間、つまり学習禁止(LRNDLY)の時間では、パージ濃度学習を禁止する(ステップ624)(図17参照)。このパージ濃度学習禁止(LRNDLY)の時間の経過後は、ステップ606に移行する。こうすることで、パージオン時から実際に蒸発燃料がエンジン2に到達するまでのパージ不安定による制御への悪影響を取り除くことができる。
第2実施例(実施例2)のパージ濃度演算・パージ学習制御を、図6のフローチャートに基づいて説明する。
この第2実施例(実施例2)のパージ濃度演算・パージ学習制御においては、エンジン2の始動後の初回のパージ濃度(PDENC)演算においてのみ、図11のエンジン負荷と図12のエンジン負荷変化量とによって補正し、2回目以降のパージ濃度(PDENC)演算では、エンジン負荷とエンジン負荷変化量とによる上述の補正を省くものである。
即ち、この第2実施例(実施例2)のパージ濃度演算・パージ学習制御においては、図6に示す如く、エンジン2の始動後に、プログラムがスタートすると(ステップ702)、先ず、パージカウンタ(PCOUNT)が、PCOUNT=0か否かを判断する(ステップ704)。
このステップ704がYESの場合には、パージバルブ64をゆっくり開けているため空燃比のフィードバック補正値(GAMASA)は、空燃比をリーンに補正する方向に制御される。そして、この時のフィードバック補正値の4周期分の平均値(GAMAAVE)を求める(ステップ706)(図17参照)。
そして、そのフィードバック補正値の4周期分の平均値(GAMAAVE)の計測時におけるエンジン負荷の平均値及びエンジン負荷変化量を求める(ステップ708)。
そして、パージ濃度(PDENC)を、図11のエンジン負荷と図12のエンジン負荷変化量とによって補正して求める(ステップ710)。
つまり、パージ濃度(PDENC)は、
PDENC=(KLERNC−KLERNA+GAMAAVE*xDEN*yDEN)÷パージ率 …(式1)
で求められる。
ここで、
KLERNC:前回学習したパージ学習値(エンジン始動後、最初は0)
KLERNA:通常学習値(図13の通常学習値記憶マップに記憶)
GAMAAVE:フィードバック補正値の4周期分の平均値
xDEN:エンジン負荷に対するパージ濃度補正係数(図11に記憶)
yDEN:エンジン負荷変化量に対するパージ濃度補正係数(図12に記憶)
である。
この(式1)の結果得られたパージ濃度(PDENC)を、記憶する。そして、このパージ濃度(PDENC)からパージ学習値を演算する(後に、図7の空燃比補正制御のフローチャートに従って説明する)。
そして、パージ濃度学習回数が、設定された固定回数終了し、パージ濃度学習が終了したか否かを判断する(ステップ712)。なお、この固定回数は、初回が40回、その後は、図9に示すように、パージ濃度(PDENC)の状態により設定される。
このステップ712がNOの場合には、ステップ706に戻し、パージ学習を繰り返す。
このステップ712がYESの場合には、パージカウンタ(PCOUNT)を1に、つまり、PCOUNT←1とする(ステップ714)。この場合に、少なくとも初回のパージ学習制御が、終了する。
そして、パージバルブ64を閉動作し、パージオフとする(ステップ716)。
このパージバルブ64が閉動作状態での空燃比のフィードバック補正値の4周期分の平均値(GAMAAVE)を測定し、このフィードバック補正値の平均値(GAMAAVE)を通常学習値(KLERNA)として学習する通常学習を行なう(ステップ718)。
同時に、エンジン負荷およびエンジン回転数を計測し、この通常学習値(KLERNA)を、図13に示すエンジン負荷およびエンジン回転数毎に区画された通常学習値記憶マップに、記憶する(ステップ720)。
次に、このパージオフ時における通常学習回数が設定された所定回数終了して通常学習が終了したか否かを判断する(ステップ722)。この通常学習回数は、図9に示すように、パージ濃度(PDENC)の状態によって決定される。
このステップ722がNOの場合には、前記ステップ716に戻し、通常学習を繰り返す。
このステップ722がYESの場合には、前記ステップ704に戻す。
一方、前記ステップ704がNOの場合には、パージバルブ64を開動作した直後の所定時間、つまり、パージ濃度学習禁止(LRNDLY)の時間では、パージ濃度学習を禁止する(ステップ724)(図17参照)。
そして、パージ濃度(PDENC)を、
PDENC=(KLERNC−KLERNA+GAMAAVE)÷パージ率 …(式2)
で求める(ステップ726)。
そして、パージ濃度学習回数が、図9により設定された固定回数終了したか否かを判断する(ステップ728)。
次に、このステップ728がYESの場合には、前記ステップ716に移行する。
一方、このステップ728がNOの場合には、前記ステップ726に戻す。
次に、空燃比補正制御におけるパージ学習値の演算と補正制御を、図7のフローチャートに基づいて説明する。この場合、パージオン時のパージ学習値(KLERNC)は、図7示すように演算されて補正が行われる。
即ち、図7に示す如く、この空燃比補正制御においては、プログラムがスタートすると(ステップ802)、先ず、パージ濃度補正を行い(ステップ804)、そして、パージオフからパージオンへの切り替わり時に、前回のパージ濃度(PDENC)によって図10から今回のパージ率(PQA)を求めるとともに、パージオフ時に演算して図13の通常学習値記憶マップに記憶した通常学習値(KLERNA)を読み出し、
パージ学習値(KLERNC)を、
パージ学習値(KLERNC)=パージ濃度(PDENC)*パージ率(PQA)+通常学習値(KLERNA) …(式3)
で求める(ステップ806)。
そして、パージ率(PQA)の変化と同期して今回補正するパージ学習値(KLERNC)を求め、パージオフからパージオンへの切り替わり時及びパージオン状態であってパージ率(PQA)が変化する都度に、その求められたパージ学習値(KLERNC)で空燃比の補正を実施する(ステップ808)。
次いで、パージオフ時には、パージ学習値(KLERNC)を零(0)、つまり、KLERNC←0にするとともに、図13の通常学習値記憶マップに記憶した通常学習値(KLERNA)を読み出し、この通常学習値(KLERNA)で空燃比の補正を実施する(ステップ810)。
その後、上述の演算および空燃比補正制御を繰り返えす(ステップ812)。
従って、燃料フィードバック制御の停止中又は燃料学習制御の停止中は、図4のパージ制御2によってパージバルブ制御を行っている。これにより、例えば、登坂時、高地等で、アクセルペダルの踏み込み量が大きくなり、燃料タンク34内のタンク内圧力が高くなっても、蒸発燃料が外部に洩れる可能性がない。また、タンク圧力センサ52がタンク内圧の誤診断をすることがない。
次に、パージ濃度学習制御を、図8のタイムチャートに基づいて説明する。
図8に示す如く、車両の減速中(時間t1)は、パージバルブが閉動作(オフ)でパージオフとなり、パージオフのままであり、そして、車速が零(0)となり、エンジン回転数が一定に低くなったときに(時間t2)、エンジン2がアイドリング運転状態となり、また、O2センサ28toの出力信号が動き始め、燃料タンク34内に蒸発燃料が発生する。この蒸発燃料の発生量は、走行時、外気温度、吸気温度、燃料温度が高く、高地等で多くなるものである。
その後、車速が上昇し始め、所定時間が経過時(時間t3)したときには、車両の走行を開始すると、パージ量を確保するために、前回のパージ濃度の値に従ってパージバルブ64が開動作(オン)され、パージが実施されるとともに、燃料濃度減量補正が実施される。
このとき、溜まった燃料蒸気が前回のパージ濃度よりも濃い場合に、急激なリッチが発生し、燃料フィードバック(F/B)制御では、減量しきれずに、燃料フィードバック(F/B)制御が限界値(図8の「制御限界」で示す)となる(時間t4)。
このパージバルブ64が開動作(オン)オンされているときに、O2センサ28の出力信号がリッチ・リーンに所定時間(例えば、20秒)以上へばりついていたら、パージバルブ64を閉動作(オフ)とし、そして、パージ濃度を初期化し(時間t5)、パージ濃度を検出し直す。
このパージ濃度の初期化後、パージ濃度を求めるために、パージバルブ64をゆっくり開動作(オン)し、このパージバルブ64のオンにより、蒸発燃料がエンジン2に供給され、パージ濃度が濃い場合には、燃料フィードバック補正制御により、空燃比を目標空燃比に制御する。
また、このとき、パージ濃度が正確なので、空燃比は、目標空燃比に制御することができ、O2センサ28の出力信号もリッチ・リーン側に偏らなくなる。
そして、パージバルブ64が一定の開度になると(時間t6)、今回のパージ濃度が求まり、そして、この今回のパージ濃度の値により燃料濃度減量補正が実施される。
そして、パージバルブ64が閉動作(オフ)でパージオフになると(時間t7)、燃料フィードバック(F/B)制御が、燃料蒸気の影響を受けないことから、空燃比を目標空燃比に制御することができるようになる。
そして、パージバルブ64が開動作(オン)でパージオンになると(時間t8)、通常のパージ制御が実施される。
この結果、パージバルブ64を開動作させるパージ制御をした後に、O2センサ28によって空燃比のリッチ・リーンの反転が検出されず、この空燃比のリッチ・リーンの反転が検出されない状態が所定時間継続される場合には、パージの実施を中止し、パージ濃度を初期化することから、空燃比を理論空燃比に制御できない時間を短縮することができ、また、パージ量を確保する時間を確保することができ、更に、O2センサ28の異常/正常の誤判定も減らすことができる。
また、パージ率を、前記パージ濃度のパージ濃度変化量がパージ濃度比較値よりも大きく且つパージ率のパージ率変化量がパージ率比較値よりも大きいときに、目標パージ率になるまで数回に分けて一定の割合でゆっくりなまして増加し、前記パージ濃度変化量が前記パージ濃度比較値よりも小さく且つ前記パージ率変化量が前記パージ率比較値よりも小さいときには、なまさない目標パージ率とし、前記パージバルブを開動作させてパージ制御することから、パージ制御の実施を適切に行わせ、パージ濃度を初期化する機会を正しく設定することができる。
更に、前記パージ濃度の初期化と同時に、前回のパージ学習値及びパージカウンタを、共に初期化する一方、パージ積算値及び通常学習値を、前回のまま継続使用することから、パラメータのうち初期化するものと初期化しないものとを、具体化することができる。
更にまた、O2センサ28によって空燃比のリッチ・リーンの反転が検出されない状態が所定時間継続されない場合には、前記パージ濃度の初期化をせずに通常のパージ制御を行う一方、前記パージ濃度の初期化をした場合には、該パージ濃度の初期化後の初回のみに、パージ濃度学習回数が積算して所定の固定回数終了するまで、パージ割合を一定の割合で変化させてパージ濃度の演算を学習することから、今回のパージ濃度が正しく求まるので、燃料濃度減量補正を正確にすることができ、空燃比の悪化や排ガスの不良を防止することができる。
即ち、この実施例においては、パージオン時に、O2センサ28からの出力信号が、所定時間(例えば、20秒)リッチ又はリーン側に張り付いた場合にのみ、パージオフとし、そして、パージ濃度を初期化するので、パージオン時に、空燃比を理論空燃比に制御できない時間を短縮することができ、パージ濃度の初期化後は、正常に空燃比を制御することができ、また、パージ量も少なくせずに済み、更に、パージ濃度を初期化するパージオフの時間を長く設定(例えば、5〜10分)することが可能となるので、パージ量を確保することができ、且つ、空燃比を目標空燃比に精度高く制御することができる。また、O2センサ28からの出力信号がリッチ又はリーンに反転できない時間を短縮することができ、パージ濃度の急激な変化等で、O2センサ28が正常にもかかわらず誤検出してしまうことを改善することができる。更に、キャニスタ62のパージ量が少なくなってしまい、エンジン2を停止した時の蒸発燃料をキャニスタ62が吸着できなくなり、蒸発燃料が大気に漏れてしまう問題を改善できる。更にまた、パージ制御とパージ濃度による燃料制御の両立を図ることができ、運転性能の向上、排ガスの不良等を防止することができる。しかも、パージ量を多く確保することが可能で、キャニスタ62の蒸発燃料の吸着性能を向上することが可能となり、エンジン2を停止した時の蒸発燃料をキャニスタ62に吸着できなくなって蒸発燃料が大気に漏れてしまう問題を防止し、また、キャニスタ62のハード部分の吸着性能を小さくすることが可能となるため、コストダウンを図ることが可能となる。
なお、この発明においては、パージ制御条件が成立した後、パージバルブを短い時間でオンさせ、この短い時間において、燃料フィードバック補正の値が急激に制御限界に近づく等でO2センサのリッチ又はリーンへの張り付きの兆候があると予測した場合には、パージ濃度を直ぐに初期化することにより、空燃比を理論空燃比に制御できない時間をより短縮することができ、また、パージ量を確保する時間を確保することができ、更に、O2センサ28の異常/正常の誤判定も減らすことができる。