JP4215917B2 - Control device for internal combustion engine - Google Patents
Control device for internal combustion engine Download PDFInfo
- Publication number
- JP4215917B2 JP4215917B2 JP36192499A JP36192499A JP4215917B2 JP 4215917 B2 JP4215917 B2 JP 4215917B2 JP 36192499 A JP36192499 A JP 36192499A JP 36192499 A JP36192499 A JP 36192499A JP 4215917 B2 JP4215917 B2 JP 4215917B2
- Authority
- JP
- Japan
- Prior art keywords
- purge
- fuel ratio
- air
- correction coefficient
- coefficient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Supplying Secondary Fuel Or The Like To Fuel, Air Or Fuel-Air Mixtures (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、内燃機関の制御装置に係わり、特に、燃料タンク内で発生した蒸発燃料を内燃機関の吸気系にパージするパージ制御に関するものである。
【0002】
【従来の技術】
従来の内燃機関の制御装置は、例えば、パージカットソレノイドバルブ(以下、「ソレノイド」と略記する。)を用いて、燃料タンク内で発生した蒸発燃料の吸気系への供給量をコントロールし、この供給量に応じて、インジェクタから供給する燃料量を減算するパージ補正係数を算出して、シリンダー内がオーバーリッチとなるのを防いでいた。
【0003】
すなわち、シリンダー内に供給される蒸発燃料が多ければ、パージ補正量算出の基礎となるパージ補正係数を大きくし、インジェクタから供給する燃料量もその分減算する。
この場合において、パージ補正係数はソレノイドの開度によってコントロールしていた(例えば、特開平11−62729号)。
【0004】
【発明が解決しようとする課題】
しかしながら、パージ補正量の更新量決定の基礎となるパージ濃度補正係数を算出する際の加算項が常に固定値である場合には、その設定如何によって、以下の問題が生じる。
すなわち、目標空燃比が濃い状態を基準に加算項を大きく設定すると、燃焼が不安定なリーンバーン時には出力の変動が大きくなり、運転性の悪化を招く。逆に、目標空燃比が薄い状態を基準に小さく設定すると、パージの変化に対する追従性が低下する。
【0005】
また、上記制御装置では、それまで開いていたソレノイドを全閉にした際には、パージ補正係数を即座に「0」としていたため、パージカットを実施(パージを停止)した後に、ソレノイドと吸気マニホールド間に残留する蒸発燃料がシリンダー内に流入するため、オーバーリッチを引き起こしていた。
【0006】
本発明は、このような事情に鑑みてなされたもので、その目的とするところは、運転状態や目標空燃比に応じた最適燃料供給量の決定を可能とすることにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、請求項1の発明は、燃料タンク(実施の形態では、燃料タンク41)内で発生した蒸発燃料を内燃機関(実施の形態では、内燃機関本体1)の吸気系にパージするパージ手段(実施の形態では、通路42,パージ通路43,パージ制御弁44,キャニスタ45,2ウェイバルブ46)と、前記パージ手段によるパージ量に応じて前記内燃機関に供給する燃料量を減量補正するパージ補正量を算出するパージ補正量算出手段(実施の形態では、ECU5で実行されるステップS003,S039〜S043)と、前記内燃機関の運転状態に応じて目標空燃比を設定する目標空燃比設定手段(実施の形態では、ECU5)と、前記目標空燃比設定手段により設定された目標空燃比になるよう前記内燃機関に供給される混合気の空燃比を制御する空燃比補正量を算出する空燃比補正量算出手段(実施の形態では、ECU5)と、アイドル中であるか走行中であるかを判別する判別手段(実施の形態では、ECU5で実行されるステップS053,S057)を有し、走行中と判別されると前記目標空燃比に応じてリーン領域では小さい値をとり、リッチ領域に移行するに従い値が大きくなるように前記パージ補正量の更新量を決定する第1更新量決定手段(実施の形態では、ECU5で実行されるステップS053,S057,S059,S061)と、実空燃比と前記目標空燃比との偏差に基づいて前記パージ補正量の更新量を決定する第2更新量決定手段(実施の形態では、ECU5で実行されるステップS407〜S409,S413,S414,S418〜S423,S425〜S435)と、前記第1更新量決定手段により決定された更新量及び第2更新量決定手段により決定された更新量により更新されたパージ補正量、及び空燃比補正量に応じて前記内燃機関に供給する燃料量を決定する燃料供給量決定手段(実施の形態では、ECU5)とを有し、前記パージ補正量算出手段は、パージを停止するとき前記補正量を徐々に小さくすることを特徴としている。
【0008】
この構成によれば、目標空燃比設定手段により設定された目標空燃比に応じて、更新量算出手段がパージ補正量の更新量を決定するため、実空燃比と目標空燃比とを比較して実空燃比がリーンである場合には、パージ補正量の更新量を緩やかに設定することが可能となり、オーバーリーンによるエンジン回転数の低下,エンスト等を防止することができる。
【0010】
この構成によれば、パージカットを実施した際に、内燃機関に供給する燃料量の減量補正値が即座に「0」とならず、徐々に「0」へと移行させることが可能になるため、系内に残留する蒸発燃料の影響による実空燃比のリッチ化を防止することができる。
【0011】
【発明の実施の形態】
本発明の一の実施の形態を図面を参照して以下に説明する。
図1は本発明の一の実施の形態を示す図である。同図中、1は、各気筒に吸気弁及び排気弁(図示せず)を設けた直列4気筒の、動力を発生させる内燃機関本体である。
【0012】
内燃機関の吸気管2は分岐部(吸気マニホルド)11を介して内燃機関本体1の各気筒の燃焼室に接続する。吸気管2の途中にはスロットル弁3が配されている。スロットル弁3にはスロットル弁開度(θTH)センサ4が連結されており、スロットル弁開度θTHに応じた電気信号を出力してECU5に供給する。吸気管2には、スロットル弁3をバイパスする補助空気通路6が設けられており、該通路6の途中には補助空気量制御弁7が配されている。補助空気量制御弁7は、ECU5に接続されており、ECU5によりその開弁量が制御される。
【0013】
吸気管2のスロットル弁3の上流側には吸気温(TA)センサ8が装着されており、その検出信号がECU5に供給される。吸気管2のスロットル弁3と吸気マニホルド11の間には、チャンバ9が設けられており、チャンバ9には吸気管内絶対圧(PBA)センサ10が取り付けられている。PBAセンサ10の検出信号はECU5に供給される。
【0014】
内燃機関本体1には内燃機関水温(TW)センサ13が装着されており、その検出信号がECU5に供給される。ECU5には、内燃機関本体1のクランク軸(図示せず)の回転角度を検出するクランク角度位置センサ14が接続されており、クランク軸の回転角度に応じた信号がECU5に供給される。クランク角度位置センサ14は、内燃機関本体1の特定の気筒の所定クランク角度位置で信号パルス(以下「CYL信号パルス」という)を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点(TDC)に関し所定クランク角度前のクランク角度位置で(4気筒エンジンではクランク角180度毎に)TDC信号パルスを出力するTDCセンサ及びTDC信号パルスより短い一定クランク角周期(例えば30度周期)で1パルス(以下「CRK信号パルス」という)を発生するCRKセンサから成り、CYL信号パルス、TDC信号パルス及びCRK信号パルスがECU5に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及び内燃機関の回転数NEの検出に使用される。
【0015】
吸気マニホルド11の吸気弁の少し上流側には、燃料噴射弁12が、各気筒毎に設けられており、各燃料噴射弁12は図示しない燃料ポンプに接続されているとともにECU5に電気的に接続されて、ECU5からの信号により燃料噴射時期及び燃料噴射時間(開弁時間)が制御される。内燃機関本体1の点火プラグ(図示せず)もECU5に電気的に接続されており、ECU5により点火時期θIGが制御される。
【0016】
排気管16は分岐部(排気マニホルド)15を介して内燃機関本体1の燃焼室に接続されている。排気系の排気管16には分岐部15が集合する部分の直ぐ下流側に、広域空燃比センサ(以下「LAFセンサ」という)17が設けられている。さらにLAFセンサ17の下流側には直下三元触媒19及び床下三元触媒20が配されており、またこれらの三元触媒19及び20の間には酸素濃度センサ(以下「O2センサ」という)18が装着されている。三元触媒19、20は、排気ガス中のHC,CO,NOx等の浄化を行う。
【0017】
LAFセンサ17は、ECU5に接続されており、排気ガス中の酸素濃度すなわち実空燃比を検出し該実空燃比に比例した電気信号を出力し、その電気信号をECU5に供給する。O2センサ18は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。O2センサ18は、ECU5に接続されており、その検出信号はECU5に供給される。
【0018】
排気還流機構30は、吸気管2のチャンバ9と排気管16とを接続する排気還流路31と、排気還流路31の途中に設けられ、排気還流量を制御する排気還流弁(EGR弁)32と、EGR弁32の弁開度を検出し、その検出信号をECU5に供給するリフトセンサ33とから成る。EGR弁32は、ソレノイドを有する電磁弁であり、ソレノイドはECU5に接続され、その弁開度がECU5からの制御信号によりリニアに変化させることができるように構成されている。
【0019】
蒸発燃料処理装置40は、燃料を貯留する燃料タンク41内で発生した蒸発燃料を内燃機関本体1の吸気系にパージするもので、燃料タンク41が通路42を介してキャニスタ45に接続し、キャニスタ45はパージ通路43を介して吸気管2のチャンバ9に接続している。キャニスタ45は、燃料タンク41内で発生する蒸発燃料を吸着する吸着剤を内蔵し、外気取込口を有する。通路42の途中には、正圧バルブ及び負圧バルブから成る2ウェイバルブ46が配設され、パージ通路43の途中にはデューティ制御型の電磁弁であるパージ制御弁44が設けられている。パージ制御弁44は、ECU5に接続されており、ECU5からの信号に応じて制御される。
【0020】
ECU5は、上述した各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変化する等の機能を有する入力回路と、中央処理回路(CPU)と、該CPUで実行される各種演算プログラムや後述する各種マップ及び演算結果等を記憶するROM及びRAMからなる記憶回路と、燃料噴射弁12,パージ制御弁44等の各種電磁弁や点火プラグに駆動信号を出力する出力回路とを備えている。
【0021】
ECU5は、上述の各種内燃機関運転パラメータ信号に基づいて、LAFセンサ17及びO2センサ18の出力に応じたフィードバック制御運転領域やオープン制御運転領域等の種々の内燃機関運転状態を判別するとともに、内燃機関運転状態に応じ、燃料噴射弁12の燃料噴射時間TOUTを演算し、この演算結果に基づいて燃料噴射弁12を駆動する信号を出力する。すなわち、ECU5は、上述した内燃機関本体1、燃料噴射弁12、燃料タンク41および蒸発燃料処理装置40とを有する内燃機関を制御する。しかも、ECU5は、蒸発燃料処理装置40による蒸発燃料のパージ量に応じて、燃料噴射弁12により内燃機関本体1に供給する燃料量である燃料噴射弁12の燃料噴射時間TOUTを補正する。
【0022】
燃料量に相当する燃料噴射弁12の燃料噴射時間(燃料噴射弁12の開弁時間)TOUTは、概略以下の式に基づいて求められることになる。
TOUT=KTTL×TIM×KAF×KCMD−KAFEVACT×TIM×KCMD
ここで、KTTLは空燃比補正係数以外の補正係数を、TIMは内燃機関の吸気系負圧と内燃機関の回転数NEとにより決まるマップ値である基本燃料噴射量を、KAFは、LAFセンサ17の出力に応じた空燃比のPID制御のフィードバック係数である空燃比フィードバック係数を、KCMDは目標空燃比に基づく目標空燃比係数を、KAFEVACTはパージ補正係数を、それぞれ示している。
【0023】
この式から明らかなように、燃料噴射弁12の開弁時間TOUTは、内燃機関の運転状態から決まる基本燃料噴射量TIMと目標空燃比係数KCMDと空燃比フィードバック係数KAF等とに基づく値から、パージによる影響であるパージ補正係数KAFEVACTに基づく値を減算して求められることになる。すなわち、パージ補正係数KAFEVACTは、燃料噴射時間TOUTをパージによる影響を排除するべく補正するための補正量となる。
【0024】
以下に、このパージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)について図2に示すサブルーチン・フローチャートを参照して以下に説明する。このKAFEVACT_CALのフローチャートは、例えば、TDCセンサからTDC信号パルスが出力される毎にスタートからエンドまでの1サイクルが実行される。
【0025】
このサブルーチンは、パージ補正係数KAFEVACTをパージ実施中とパージカット実施中とで別々に設定するステップを備えている。
まず、ステップS001では、フィードバック制御実行フラグF_LAFFBのフラグ値に「1」がセットされているか、即ち、空燃比フィードバック制御を行っているかを判定し、空燃比フィードバック制御を行っている場合(判定結果が「YES」)は、ステップS003に進み、空燃比フィードバック制御を行っていない場合(判定結果が「NO」)は、ステップS031に進む。
【0026】
ステップS003では、パージ制御弁駆動デューティ値DOUTPGが「0%」であるか、即ち、パージ制御弁44の指令値が「0」となって、パージがカットされているかを判定し、パージ制御弁44が開いている場合(判定結果が「NO」)、即ち、パージ実施中はステップS005に進み、パージ制御弁44が閉じられている場合(判定結果が「YES」)、即ち、パージカット実施中はステップS031に進む。
【0027】
[パージ実施中]
ステップS005では、空燃比フィードバック補正係数KAFの学習値(以下、「空燃比学習値」と略記する。)KREF/KREFXを選択処理する。具体的には、内燃機関本体1の運転状態(アイドル,リーンバーン,ストイキ,リッチの4条件)に基づき選択した値を、空燃比学習値KREF/KREFXにセットする。なお、空燃比学習値KREFはパージ実施中に算出されて記憶された学習値、空燃比学習値KREFXはパージカット実施中に算出されて記憶された学習値である。
【0028】
ステップS007では、空燃比学習値KREF/KREFX等に基づくパージ濃度係数KAFEVの算出を行う。このパージ濃度係数KAFEVの算出手順は、図3のサブルーチン・フロー・チャート(KAFEV_CAL)に示す通りであるが、これについては後で説明する。
ステップS009では、今回の目標空燃比係数KCMDnと前回の目標空燃比係数KCMDn-1との偏差DKCMDの絶対値が、所定の閾値#DKCMEVA以上であるかを判定し、その判定結果が「YES」の場合、即ち、目標空燃比(A/F)が移行中である場合は、ステップS011に進み、目標空燃比(A/F)が移行中でない場合(判定結果が「NO」)は、ステップS013に進む。
【0029】
ステップS011では、目標空燃比移行ディレータイマTDKCEVAに所定のタイマ値#TMDKCEVA(例えば、1.5秒)をセットしてスタートさせる。これにより、目標空燃比(A/F)が移行中、即ち、パージ濃度係数KAFEV等の算出誤差が大きくなると予想される間、その後の処理は実行されない。
ステップS013では、目標空燃比移行ディレータイマTDKCEVAのタイマ値が「0秒」であるかを判定し、その判定結果が「NO」の場合は、上記と同様に処理を実行せず、判定結果が「YES」の場合は、ステップS015に進む。
ステップS015では、目標パージ補正係数KAFEVACZの算出を行う。この目標パージ補正係数KAFEVACZの算出手順は、図4のサブルーチン・フロー・チャート(KAFEVACZ_CAL)に示す通りであるが、これについては後で説明する。
【0030】
ステップS017,S019,S021,S027,S029は、パージ実施後間もない時、即ち、パージ制御弁44を開いて蒸発燃料が吸気マニホールド11に届くまでの間は、蒸発燃料による空燃比(A/F)への影響遅れが生じるため、その間、パージ補正係数KAFEVACTの算出処理を止めておくために実行される。
ステップS017では、一時変数NEVDLYTXにパージ補正係数加算ディレーの所定値#NEVDLYTをセットする。この所定値#NEVDLYTは、内燃機関の回転数NEに応じて、図5のNEVDLYTテーブルをテーブル検索することにより取得する。同図に示すように、一時変数NEVDLYTXは、内燃機関の回転数NEが高回転になる程、小さくなるように設定されている。
【0031】
ステップS019では、カウンタNEVDLYがステップS017でセットしたパージ補正係数加算ディレーNEVDLYTX以上であるかを判定し、その判定結果が「YES」の場合は、上記影響遅れが解消したものと判断してステップS021に進み、判定結果が「NO」の場合は、上記影響遅れが解消していないものと判断してステップS027に進む。
ステップS021では、フラグF_NEVDLYEDのフラグ値に、遅れが解消したことを示す「1」をセットする。これにより、ステップS019で「NO」と判定された場合も、ステップS027での判定により、パージ補正係数算出補正係数KAFEVACT等を算出する処理に復帰することとなる。
【0032】
ステップS027では、フラグF_NEVDLYEDのフラグ値が「1」であるかを判定し、その判定結果が「YES」の場合は、ステップS023に進み、判定結果が「NO」の場合は、ステップS029に進む。
ステップS029では、カウンタNEDVDLYの値をインクリメントする。
ステップS023では、パージ補正係数算出補正係数KEVACTを算出する。このパージ補正係数算出補正係数KEVACTの算出手順は、図15,図16のサブルーチン・フロー・チャート(KEVACT_CAL)に示す通りであるが、これについては後で説明する。
ステップS025では、ステップS015で算出した目標パージ補正係数KAFEVACZと、ステップS023で算出したパージ補正係数算出補正係数KEVACTとを乗じて得た値を、パージ補正係数KAFEVACTにセットする。
【0033】
[パージカット実施中]
空燃比フィードバック制御を行っていない場合(ステップS001の判定結果が「NO」)、又は空燃比フィードバック制御を行っている場合(ステップS001の判定結果が「YES」)であってもパージカットを実施している場合(ステップS003の判定結果が「YES」)は、ステップS031に進む。
ステップS031及びそれ以降のステップS033,S035,S037では、フラグF_NEVDLYED,カウンタNEVDLY,パージ補正係数算出補正係数KEVACT,目標パージ補正係数KAFEVACZの各フラグ値に「0」をセットする。
【0034】
また、ステップS039では、パージ補正係数KAFEVACTから所定のパージ補正係数下降時減算量#DKAFEVAM(例えば、0.023)を減算し、これを新たなパージ補正係数KAFEVACTとする。これにより、パージ制御弁44が全閉となった場合(ステップS003の判定結果が「YES」)であっても、パージ補正係数KAFEVACTを即座に「0」とすることなく、所定のパージ補正係数下降時減算量#DKAFEVAMを用いて徐々に「0」に近づけることが可能になり、パージカット後においても、系内に残留する蒸発燃料の影響による実空燃比のリッチ化を効果的に緩和ないしは防止することができる。
【0035】
ステップS041では、減算後のパージ補正係数KAFEVACT(ステップS011)が目標パージ補正係数KAFEVACZを下回るかを判定し、下回る場合(判定結果が「YES」)はステップS043に進み、下回らない場合(判定結果が「NO」)は、ステップS043をスキップする。
ステップS043では、パージ補正係数KAFEVACTに「0」をセットする。
【0036】
次に、図3のサブルーチン・フロー・チャートを用いて、図2のステップS007で実行されるパージ濃度係数KAFEVの算出手順を説明する。
このサブルーチンは、パージ濃度係数KAFEVの加減算項DKEVAPOをアイドル運転中と走行中とで別々に設定するステップと、走行中の加減算項DKEVAPOを目標空燃比係数KCMDに応じて設定するステップと、目標空燃比係数KCMD移行時におけるパージ濃度係数KAFEVの誤学習を防止するステップとを備えている。
【0037】
まず、ステップS051では、前回のフィードバック制御実行フラグF_LAFFBのフラグ値に「1」がセットされているか、即ち、空燃比フィードバック制御を行っていたかを判定し、空燃比フィードバック制御を行っていなかった場合(判定結果が「NO」)は、そのまま処理を終了し、空燃比フィードバック制御を行っていた場合(判定結果が「YES」)は、ステップS053に進む。
ステップS053では、アイドル運転フラグF_IDLEのフラグ値が「1」にセットされているか、即ち、内燃機関本体1がアイドル運転状態にあるかを判定し、アイドル運転状態にある場合(判定結果が「YES」)はステップS055に進み、アイドル運転状態外にある場合(判定結果が「NO」)はステップS057に進む。
【0038】
ステップS055では、加減算項DKEVAPOに所定値#DKEVAPO1(例えば、0.001)をセットする。この#DKEVAPO1は、アイドル運転状態での加減算項である。
ステップS057では、車速VPが「0」であるか、すなわち、車両が停止中であるかを判定し、車両停止中の場合(判定結果が「YES」)は、ステップS055に進み、車両走行中の場合(判定結果が「NO」)は、ステップS059に進む。
【0039】
ステップS059では、目標空燃比係数KCMDに応じた加減算項#DKEVAPO2のテーブル検索(図7)を行う。この#DKEVAPO2は、アイドル運転状態外での加減算項であり、図7に示すように、目標空燃比係数KCMDが小さい程、小さくなるように設定されている。これにより、燃焼の不安定となるリーンバーン中(判断結果が「YES」)には、パージ濃度係数KAFEVの変動を緩やかにし得て、オーバーリーンによる運転性の悪化を防止することが可能となる。
ステップS061では、ステップS059でテーブル検索により取得した所定値#DKEVAPO2(例えば、0.07)を加減算項DKEVAPOにセットする。
【0040】
しかるに、以上説明したステップS053〜S061により、アイドル運転中と走行中とでパージ濃度係数KAFEVの加減算項DKEVAPOを別々に設定する処理と、走行中においても目標空燃比係数KCMDに応じて加減算項DKEVAPOを設定する処理とが実現されている。
ステップS063では、目標空燃比係数の今回値KCMDnと前回値KCMDn-1の偏差DKCMDの絶対値が所定の閾値#DKCMEV(例えば、0.008)以上であるかを判定し、その判定結果が「YES」の場合、即ち、目標空燃比係数KCMDが移行中であると判定した場合はステップS065に進み、そうでない場合(判定結果が「NO」)は、ステップS067に進む。
【0041】
ステップS065では、目標空燃比移行完了後パージ濃度係数算出デイレータイマTDKCMEVに所定のタイマ値#TMDKCMEV(例えば、1.5秒)をセットしてスタートさせる。これにより、目標空燃比移行完了後から所定タイマー時間は、パージ濃度係数KAFEVの算出処理が実行されないので、目標空燃比係数KCMDの移行時に生じ得るパージ濃度係数KAFEVの誤学習が効果的に防止される。
ステップS067では、空燃比移行完了後パージ濃度係数算出ディレータイマTDKCMEVが「0秒」であるかを判定し、その判定結果が「NO」の場合は、上記と同様に処理を中断し、「YES」の場合は、ステップS069に進む。
【0042】
ステップS069では、空気流量QAIRに応じたパージ濃度係数算出判定偏差DKAFEVのテーブル検索(図6)を行い、このテーブル検索により取得した所定値#DKAFEV(例えば、0.07)をパージ濃度係数算出判定偏差DKAFEVにセットする。なお、パージ濃度係数算出判定偏差DKAFEVは、図6に示すように、空気流量QAIRが高流量になる程、小さくなるように設定されている。
【0043】
ステップS071,S073では、LAFセンサ117の検出値に基づいて公知の手法、例えば、PID制御則を用いて求められる空燃比フィードバック補正係数KAFが、図2のステップS005にて選択した空燃比学習値KREFXからパージ濃度係数算出判定偏差DKAFEVを減算して得た下側の閾値よりも小さいか(ステップS071の判定結果が「YES」),パージ濃度係数算出判定偏差DKAFEVを加算して得た上側の閾値よりも大きいか(ステップS071の判定結果が「NO」かつステップS073の判定結果が「YES」),下側の閾値と上側の閾値の間にあるか(ステップS071,S073の判定結果が共に「NO」)を判定する。
【0044】
空燃比フィードバック補正係数KAFが下側の閾値よりも小さい場合(ステップS071の判定結果が「YES」)であって、LAFセンサ17によって検出された実空燃比係数KACTが目標空燃比係数KCMDよりも大きいとき(ステップS075の判定結果が「YES」)は、パージによる影響で空燃比(A/F)がリッチになったものと判定して、ステップS079に進み、ステップS075の判定結果が「NO」の場合は、ステップS083に進む。
【0045】
空燃比フィードバック補正係数KAFが上側の閾値よりも大きい場合(ステップS071の判定結果が「NO」かつステップS073の判定結果が「YES」)であって、実空燃比係数KACTが目標空燃比係数KCMDよりも小さいとき(ステップS077の判定結果が「YES」)は、パージによる空燃比(A/F)への影響が少ないものと判定して、ステップS081に進み、ステップS077の判定結果が「NO」の場合は、ステップS083に進む。
空燃比フィードバック補正係数KAFが上下閾値の間にある場合(ステップS071及びステップS073の判定結果が共に「NO」)は、ステップS083に進む。
【0046】
ステップS079では、一時変数KAFEVFにステップS055もしくはS061で設定された加減算項DKEVAPOを加算して得た値を、新たな一時変数KAFEVFとする。これにより、ステップS085で算出されるパージ濃度係数KAFEVは大きなものとなる。
ステップS081では、一時変数KAFEVFから加減算項DKEVAPOを減算して得た値を、新たな一時変数KAFEVFとする。これにより、ステップS085で算出されるパージ濃度係数KAFEVは小さなものとなる。
ステップS083では、空燃比学習値KREFXから空燃比フィードバック補正係数KAFを減算し、更にこれを係数#CAFEV(例えば、256)で除算した値を一時変数KAFEVFに加算して得た値を、新たな一時変数KAFEVFとする。これにより、ステップS085で算出されるパージ濃度係数KAFEVは、小さくも大きくもなくなる。
【0047】
しかるに、以上説明したステップS071,S073においては、パージ濃度係数KAFEVの算出基準として、空燃比学習値KREFXを用いることにより、蒸発燃料の影響によるリッチ化,リーン化の補正を適切に行うことができる。
【0048】
ステップS085では、今回の一時変数KAFEVF,前回の一時変数KAFEVF(n−1)及びなまし値#CKAFEV(例えば、0.031)を用いて、なまし計算を行い、その計算結果をパージ濃度係数KAFEVにセットする。
ステップS087では、ステップS085で算出したパージ濃度係数KAFEVが所定のリミット値#KAFEVLMT(例えば、2.0)よりも大きいかを判定し、このリミット値#KAFEVLMTを超える場合(判定結果が「YES」)は、ステップS089に進み、リミット値#KAFEVLMTを超えない場合(判定結果が「NO」)は、ステップS089をスキップする。
ステップS089では、パージ濃度係数KAFEVにリミット値#KAFEVLMTをセットする。
【0049】
次に、図4のサブルーチン・フロー・チャートを用いて、図2のステップS015で実行される目標パージ補正係数KAFEVACZの算出手順を説明する。
【0050】
まず、ステップS091では、その他補正係数KTTLに空燃比フィードバック補正係数KAFを乗じ、更にこれから所定のガード算出補正値#DEVACTGを減算して得た値を、一時変数KEVACTGにセットする。
【0051】
ステップS093では、ステップS023で算出したパージ濃度係数KAFEVと、パージ制御弁駆動デューティ値比PGRATEと、目標パージ流量比QRATEとを乗じて得た値を、目標パージ補正係数KAFEVACZにセットする。
ステップS095では、ステップS093でセットされた目標パージ補正係数KAFEVACZがステップS091でセットされた一時変数KEVAOTGよりも大きいかを判定し、その判定結果が「YES」の場合は、ステップS097に進み、判定結果が「NO」の場合は、ステップS097をスキップする。
【0052】
ステップS097では、目標パージ補正係数KAFEVACZに一時変数KEVACTGをセットする。
【0053】
次に、図1のフローチャートのステップS023で算出される、パージ補正係数KAFEVACTを修正するための修正量であるパージ補正係数算出補正係数KEVACT(0以上1以下)の算出処理(KEVACT_CAL)のサブルーチンフローチャートについて図15,図16を参照して以下に説明する。
【0054】
まず、ステップS401において、内燃機関本体1がアイドル状態にあるか否かを示すアイドル運転フラグF_IDLEがセットされているか否か、すなわちF_IDLE=1であるか否かを判定する。
このステップS401において、F_IDLE=1でない場合、すなわち内燃機関本体1がアイドル状態外にある場合には、後述するステップS424に進む。
【0055】
「アイドル状態」
一方、ステップS401においてF_IDLE=1である場合、すなわち内燃機関本体1がアイドル状態にある場合には、ステップS402において、後述するステップS424でアイドル状態外になってから所定時間経過したか否かを判断する際に用いるアイドル外移行ディレイタイマTKEVACTIのタイマ値を、所定のアイドル外移行ディレイタイマ値♯TMKEVACI(例えば2.0s)にセットする。
【0056】
次に、ステップS403において、このパージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルで、内燃機関本体1に負荷となるエアコンディショナ(以下「エアコン」と称す)がON状態にあるか否かを示すエアコンONフラグF_HACINDがセットされているか否か、すなわちF_HACIND=1であるか否かを判定する。ここで、エアコンONフラグF_HACINDは、エアコン負荷そのものでセットしてもよく、エアコン負荷補正用二次エアが導入されるのをトリガとしてセットしてもよい。
【0057】
このステップS403において、F_HACIND=1でない場合、エアコンがON状態になく、内燃機関本体1にとっての負荷が小さいと判定して後述するステップS407に進む。
【0058】
一方、ステップS403において、F_HACIND=1である場合、エアコンがON状態にあって、内燃機関本体1にとっての負荷が大きくなっていると判定できるが、このとき、次のステップS404において、このパージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の前回のサイクルで、エアコンONフラグF_HACINDがセットされていたか否か、すなわF_HACIND=1であったか否かを判定する。
【0059】
このステップS404において、前回のサイクルでF_HACIND=1であった場合、ステップS403で今回のサイクルでもF_HACIND=1であることから、エアコンのON状態が持続していて、内燃機関本体1にとっての負荷の変動を検出していないと判定して後述するステップS407に進む。
【0060】
一方、ステップS404において、前回のサイクルでF_HACIND=1でなかった場合、ステップS403で今回のサイクルでF_HACIND=1であることから、エアコンがOFF状態からON状態になった直後である、すなわち内燃機関本体1にとっての負荷の変動を検出したと判定し、ステップS405で、現在設定されているパージ補正係数算出補正係数KEVACTが所定のリミット値♯KEVACTAC(具体的には0.3)より大きいか否かを判定する。
【0061】
そして、ステップS405で、KEVACT>♯KEVACTACではない場合、現在のパージ補正係数算出補正係数KEVACTに基づくパージ補正係数KAFEVACTが小さいため、負荷変動があっても影響が少ないと判定して後述するステップS407に進む。
【0062】
一方、ステップS405で、KEVACT>♯KEVACTACである場合、負荷変動があった場合の影響が大きいと判定して、ステップS406において、パージ補正係数算出補正係数KEVACTを予め定められた所定のリミット値♯KEVACTACに初期化して、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。ここで、この初期化は、例えば、高温条件下における高濃度蒸発燃料発生時等、燃料噴射時間TOUTを補正するパージ補正係数KAFEVACTが大きい場合には、負荷変動直後はパージ制御弁44を介して流入する蒸発燃料の増大が遅れるため、そのままパージ補正係数KAFEVACTを用いると過補正となり、オーバーリーンになってアイドル回転が低下してしまうことを防止するのである。
【0063】
上述したステップS403で、今回のサイクルにおいてF_HACIND=1でないと判定された場合、ステップS404で前回のサイクルにおいてF_HACIND=1であると判定された場合およびステップS405でKEVACT>♯KEVACTACではないと判定された場合は、ステップS407において、LAFセンサ17の出力に基づく実空燃比係数KACTと目標空燃比係数KCMDとの偏差|KCMD−KACT|を算出し、これが所定の加算量切換判定値♯DKAFEVIC(具体的に0.023)以下であるか否かを判定する。
【0064】
ステップS407において、偏差|KCMD−KACT|≦♯DKAFEVICでない場合、すなわち、偏差|KCMD−KACT|が大きい場合には、後述するステップS421に進む。
【0065】
一方、ステップS407において、偏差|KCMD−KACT|≦♯DKAFEVICである場合、すなわち、偏差|KCMD−KACT|が小さい場合には、ステップS408において、空燃比フィードバック係数KAFが、大きい所定の減算判定値♯KAFEVAIH(具体的には1.063)より大きいか否かを判定する。
【0066】
ステップS408において、KAF>♯KAFEVAIHである場合、すなわち空燃比フィードバック係数KAFが、♯KAFEVAIH(1.063)より大きくなると、パージ補正係数算出補正係数KEVACTを減少させることになる。次に、ステップS409において、パージ補正係数KAFEVACTを小さくする更新量DKEVACTを、所定の減算量♯DKEVAIM1(具体的には0.00005)にする。
【0067】
そして、ステップS410で、パージ補正係数算出補正係数KEVACTから更新量DKEVACTを減算しこの値を新たなパージ補正係数算出補正係数KEVACTとして設定する。続いて、ステップS411において、この設定したパージ補正係数算出補正係数KEVACTが「0」より小さいか否かを判定し、KEVACT<0でない場合は、そのまま、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0068】
一方、ステップS411において、KEVACT<0である場合は、ステップS412において、パージ補正係数算出補正係数KEVACTを「0」として、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0069】
上述したステップS408において、KAF>♯KAFEVAIHでない場合、ステップS413において、空燃比フィードバック係数KAFが、小さい所定の加算切替判定値♯KAFEVAIL(具体的には0.953)よりも小さいか否かを判定する。
【0070】
ステップS413において、KAF<♯KAFEVAILである場合、すなわち空燃比フィードバック係数KAFが、♯KAFEVAIL(具体的には0.953)より低くなると、パージ補正係数算出補正係数KEVACTを増加させることになる。次に、ステップS414において、更新量DKEVACTを所定の加算量♯DKEVACI3(具体的には0.0005)とする。
【0071】
そして、ステップS415で、パージ補正係数算出補正係数KEVACTに更新量DKEVACTを加算してこの値を新たなパージ補正係数算出補正係数KEVACTとして設定する。続いて、ステップS416において、この設定したパージ補正係数算出補正係数KEVACTが「1」より大きいか否かを判定し、KEVACT>1でない場合は、そのまま、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0072】
一方、ステップS416において、KEVACT>1である場合は、ステップS417において、パージ補正係数算出補正係数KEVACTを「1」として、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0073】
上述したステップS413において、KAF<♯KAFEVAILでない場合、ステップS418において、空燃比フィードバック係数KAFが、上記加算切替判定値♯KAFEVAILよりもやや大きい所定の保持判定値♯KAFEVAIM(具体的には0.992)よりも小さいか否かを判定する。
【0074】
ステップS418において、KAF<♯KAFEVAIMでない場合、パージ補正係数算出補正係数KEVACTを変更せずに、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0075】
一方、ステップS418において、KAF<♯KAFEVAIMである場合、すなわち空燃比フィードバック係数KAFが、♯KAFEVAIM(0.992)より低くなると、ステップS419において、実空燃比係数KACTから目標空燃比係数KCMDを減算した値が、所定の保持判定値♯DKAFEVIM(具体的には0.003)以下であるか否かを判定し、KACT−KCMD≦♯DKAFEVIMである場合、すなわちリーン側であった場合、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0076】
逆に、ステップS419においてKACT−KCMD≦♯DKAFEVIMでない場合、すなわちリッチ側であった場合、ステップS420において、パージ補正係数算出補正係数KEVACTを増加させるための更新量DKEVACTを#DKEVACT2に設定することになる。上述したステップS415〜S417の加算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0077】
すなわち、以上のステップS408〜S420までの処理は、偏差|KCMD−KACT|が小さい場合に、空燃比フィードバック係数KAFの大きさに応じて、パージ補正係数KAFEVACTを修正するためのパージ補正係数算出補正係数KEVACTの更新値DKEVACTを選択するのである。具体的には、空燃比フィードバック係数KAFが、中央値(具体的には1.0)を上回る減算判定値♯KAFEVAIH(具体的には1.063)より大きい場合は、更新量DKEVACTとして減算量♯DKEVAIM1(具体的には0.0005)を選択設定し、中央値を挟んで上下の減算判定値♯KAFEVAIH(具体的には1.063)以下かつ保持判定値♯KAFEVAIM(具体的には0.992)以上の範囲では、パージ補正係数算出補正係数KEVACTを変更せず、この範囲より下の保持判定値♯KAFEVAIM(具体的には0.992)より小さく加算切替判定値♯KAFEVAIL(具体的には0.953)以上の範囲では、偏差|KCMD−KACT|が大きいとき更新量DKEVACTを小さな加算量♯DKEVACI2(具体的には0.0001)を選択設定し、中央値(具体的には1.0)を大きく下回る加算切替判定値♯KAFEVAIL(具体的には0.953)より小さい場合は、更新量DKEVACTとして大きな加算量♯DKEVACI3(具体的には0.0005)を選択設定したりするのである。
【0078】
上述したステップS407において、偏差|KCMD−KACT|≦♯DKAFEVICでない場合、すなわち、偏差|KCMD−KACT|が大きい場合には、ステップS421において、実空燃比係数KACTが目標空燃比係数KCMDよりも小さいか否か、すなわち、実空燃比が目標空燃比よりもリーンであるかリッチであるかを判定する。
【0079】
ステップS421において、KACT<KCMDである場合、すなわち、実空燃比が目標空燃比よりもリーンである場合は、ステップS422において、パージ補正係数算出補正係数KEVACTを更新するための更新量DKEVACTを、大きな所定の減算量♯DKEVAIM2(具体的には0.0005)として、上述したステップS410〜S412の減算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0080】
一方、ステップS421において、KACT<KCMDでない場合、すなわち、実空燃比が目標空燃比よりもリッチである場合は、ステップS423において、パージ補正係数算出補正係数KEVACTを更新するための更新量DKEVACTを、所定の加算量♯DKEVACI1(具体的には0.001)として、上述したステップS415〜S417の加算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0081】
ここで、上記数値の大小関係をまとめると、♯KAFEVAIH>♯KAFEVAIM>♯KAFEVAILであり、♯DKEVAIM1<♯DKEVAIM2であり、♯DKEVACI2<♯DKEVACI3<♯DKEVACI1となる。
【0082】
「アイドル状態外」
ステップS401においてF_IDLE=1でない場合、すなわち内燃機関本体1がアイドル状態にない場合には、ステップS424において、アイドル状態外になってから所定時間経過したか否かを、アイドル外移行ディレイタイマTKEVACTI(具体的には2秒)のタイマ値が「0」であるか否かにより判定する。これは、アイドル状態からアイドル状態外に切り替わった直後は、アイドル状態と同様の処理を行うことでパージ補正係数算出補正係数KEVACTの急変による空燃比の影響を排除するために行われる。
【0083】
このステップS424において、TKEVACTI=0でない場合、すなわち、アイドル状態からアイドル状態外に切り替わってから所定のアイドル外移行ディレイ時間が経過していない場合は、上述したステップS407に進む。
【0084】
一方、このステップS424において、TKEVACTI=0の場合、すなわち、アイドル状態からアイドル状態外に切り替わってから所定のアイドル外移行ディレイ時間が経過している場合は、上述したステップS407〜S423とほぼ同様で判定値および更新値が異なる処理が行われる。すなわち、ステップS425において、LAFセンサ17の出力に基づく実空燃比係数KACTと目標空燃比係数KCMDとの偏差|KCMD−KACT|を算出し、これが所定の加算量切換判定値♯DKAFEVAC(具体的には0.02)以下であるか否かを判定する。すなわち、偏差|KCMD−KACT|が大きい場合と小さい場合とで、パージ補正係数算出補正係数KEVACTの算出処理を変えるのである。
【0085】
ステップS425において、偏差|KCMD−KACT|≦♯DKAFEVACでない場合、すなわち、偏差|KCMD−KACT|が大きい場合には、後述するステップS433に進む。
【0086】
一方、ステップS425において、偏差|KCMD−KACT|≦♯DKAFEVACである場合、すなわち、偏差|KCMD−KACT|が小さい場合には、ステップS426において、空燃比フィードバック係数KAFが、大きい所定の減算判定値♯KAFEVAH(具体的には1.078)より大きいか否かを判定する。
【0087】
ステップS425において、KAF>♯KAFEVAHである場合、すなわち空燃比フィードバック係数KAFが、中央値を上回る♯KAFEVAHより高くなると、パージ補正係数算出補正係数KEVACTを減少させることになる。
ステップS427において、パージ補正係数算出補正係数KEVACTを更新するための更新量DKEVACTを、所定の減算量♯DKEVAM1(具体的には0.0005)にして、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0088】
一方、上述したステップS426において、KAF>♯KAFEVAHでない場合、ステップS428において、空燃比フィードバック係数KAFが、所定の加算切替判定値♯KAFEVAL(具体的には0.953)よりも小さいか否かを判定する。
【0089】
ステップS428において、KAF<♯KAFEVALである場合、すなわち空燃比フィードバック係数KAFが、♯KAFEVALより低くなると、パージ補正係数算出補正係数KEVACTを増加させることになる。
ステップS429において、更新量DKEVACTを所定の加算量♯DKEVACT3(具体的には0.002)とする。
【0090】
そして、ステップS415〜S417の加算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0091】
上述したステップS428において、KAF<♯KAFEVALでない場合、ステップS430において、空燃比フィードバック係数KAFが、上記加算切替判定値♯KAFEVALよりもやや大きく所定の保持判定値♯KAFEVAM(具体的には0.992)よりも小さいか否かを判定する。
【0092】
ステップS430において、KAF<♯KAFEVAMでない場合、パージ補正係数算出補正係数KEVACTを変更せずに、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0093】
一方、ステップS430において、KAF<♯KAFEVAMである場合、すなわち空燃比フィードバック係数KAFが低くなると、ステップS431において、実空燃比係数KACTから目標空燃比係数KCMDを減算した値が、所定の保持判定値♯DKAFEVM(具体的には0.003)以下であるか否かを判定し、KACT−KCMD≦♯DKAFEVMである場合、すなわちリーン側であった場合、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0094】
逆に、ステップS431においてKACT−KCMD≦♯DKAFEVMでない場合、すなわちリッチ側であった場合、ステップS432において、パージ補正係数算出補正係数KEVACTを増加させるための更新量DKEVACTを、設定することになる。
上述したステップS415〜S417の加算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0095】
すなわち、以上のステップS426〜S432までの処理は、偏差|KCMD−KACT|が小さい場合に、空燃比フィードバック係数KAFの大きさに応じて、パージ補正係数KAFEVACTを修正するためのパージ補正係数算出補正係数KEVACTの更新値DKEVACTを選択するのである。具体的には、空燃比フィードバック係数KAFが、減算判定値♯KAFEVAHより大きい場合は、更新量DKEVACTとして減算量♯DKEVAM1(具体的には0.0005)を選択設定し、減算判定値♯KAFEVAH以下かつ保持判定値♯KAFEVAM以上の範囲では、パージ補正係数算出補正係数KEVACTを変更せず、この範囲より下の保持判定値♯KAFEVAMより小さく加算切替判定値♯KAFEVAL以上の範囲では、条件によって、更新量DKEVACTとして小さな加算量♯DKEVACT2(具体的には0.001)を選択設定し、加算切替判定値♯KAFEVALより小さい場合は、更新量DKEVACTとして大きな加算量♯DKEVACT3(具体的には0.002)を選択設定したりするのである。
【0096】
上述したステップS425において、偏差|KCMD−KACT|≦♯DKAFEVACでない場合、すなわち、偏差|KCMD−KACT|が大きい場合には、ステップS433において、実空燃比係数KACTが目標空燃比係数KCMDよりも小さいか否か、すなわち、実空燃比が目標空燃比よりもリーンであるかリッチであるかを判定する。
【0097】
ステップS433において、KACT<KCMDである場合、すなわち、実空燃比が目標空燃比よりもリーンである場合は、ステップS434において、パージ補正係数算出補正係数KEVACTを更新するための更新量DKEVACTを、大きな所定の減算量♯DKEVAM2(具体的には0.001)として、上述したステップS410〜S412の減算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0098】
一方、ステップS433において、KACT<KCMDでない場合、すなわち、実空燃比が目標空燃比よりもリッチである場合は、ステップS435において、パージ補正係数算出補正係数KEVACTを更新するための更新量DKEVACTを、かなり大きな所定の加算量♯DKEVACT1(具体的には0.003)として、上述したステップS415〜S417の加算処理を行って、パージ補正係数算出補正係数KEVACTの算出処理(KEVACT_CAL)の今回のサイクルを終了し、パージ補正係数KAFEVACTの算出処理(KAFEVACT_CAL)のフローチャートに戻る。
【0099】
ここで、上記数値の大小関係をまとめると、♯KAFEVAH>♯KAFEVAM>♯KAFEVALであり、♯DKEVAM1<♯DKEVAM2であり、♯DKEVACT2<♯DKEVACT3<♯DKEVACT1となる。
【0100】
さらに、♯DKEVAM1>♯DKEVAIM1、♯DKEVAM2>♯DKEVAIM2、♯DKEVACT1>♯DKEVACI1、♯DKEVACT2>♯DKEVACI2、♯DKEVACT3>♯DKEVACI3となる。
【0101】
図8及び図9は、パージ流量を所定の流量とするためにパージ制御弁44を駆動制御する処理を示すフローチャートであり、図10及び図11は図8に示すPGCMD算出処理において、特に目標流量算出(QPG_CAL)の処理を示すフローチャートであり、図12はパージ補正係数KAFEVACTに応じて変化する低地側及び高地側パージ絞り係数KPGTSPL/Hのグラフ図であり、図13は大気圧PAに応じて変化するパージ絞り係数KPGTSPのグラフ図であり、図14はパージ補正係数KAFEVACTに応じて変化する更新タイマ値TMPGTL/LIのグラフ図である。
【0102】
先ず、図8に示すステップS101において、目標空燃比係数KCMDの増加に伴って減少するように設定された空気流量換算係数KQAIRをテーブル検索により求める。なお、目標空燃比係数KCMDは空燃比(A/F)の逆数すなわち燃空比(F/A)に比例し、理論空燃比に対応する値は1.0である。
次に、ステップS102に進み、内燃機関本体1の回転数NE及び吸気管内絶対圧PBAに応じて設定される基本燃料噴射量TIMと、目標空燃比係数KCMDと、回転数NEと、空気流量換算係数KQAIRとを乗算して得た値を、空気流量QAIRとして設定する。なお、空気流量QAIRは内燃機関本体1に供給される流量である。
【0103】
次に、ステップS103に進み、パージ制御弁44を作動させてパージの実行を許可するか否かを判定するためのパージ実行許可フラグF_PGACTのフラグ値が「1」であるか否かを判定する。なお、パージの実行許可は、例えば内燃機関本体1の冷却水温度等に応じて設定される。
この判定結果が「NO」であると判定された場合、すなわちパージの実行を停止すると判定された場合には、後述するステップS120以下の処理を行う。
一方、ステップS103における判定結果が「YES」であると判定された場合、すなわちパージの実行が許可された場合には、ステップS104に進み、燃料供給停止実行フラグF_FCのフラグ値が「1」であるか否かを判定する。
この判定結果が「YES」であると判定された場合、つまり内燃機関本体1への燃料供給が停止されていると判定された場合にはステップS105に進む。
【0104】
ステップS105においては、後述する目標パージ制御弁駆動デューティ値PGCMDに0%をセットしてステップS106に進み、次に、ステップS106において目標パージ流量QPGCにゼロをセットして、ステップS107に進む。なお、パージ制御弁駆動デューティ値とは、パージ制御弁44を、例えばPWMにより駆動する際のデューティ比である。
図9に示すステップS107においては、判定用パージ流量制限係数KPGTJUDがパージ流量制限係数KPGT以下であるか否かを判定する。
この判定結果が「NO」であると判定された場合には、後述するステップS128以下の処理を行う。一方、判定結果が「YES」であると判定された場合には、ステップS108に進み、判定用パージ流量制限係数KPGTJUDにパージ流量制限係数KPGTをセットして、後述するステップS128に進む。
なお、判定用パージ流量制限係数KPGTJUDは、例えばパージの実行が一時的に停止された後に再開された場合等において、停止前のパージ流量制限係数KPGTの値を保持するためのものである。
【0105】
一方、ステップS104における判定結果が「NO」であると判定された場合には、ステップS109に進む。
ステップS109においては、全開増量実行フラグF_WOTのフラグ値が「1」であるか否かを判定する。
この判定結果が「YES」であると判定された場合には、後述するステップS111に進む。一方、判定結果が「NO」であると判定された場合には、ステップS110に進む。
【0106】
ステップS110においては、LAFセンサ17からの出力に基づいて、例えばPID制御等により、内燃機関本体1の空燃比を目標空燃比にフィードバック制御するためのフィードバック制御実行フラグF_LAFFBのフラグ値が「1」であるか否かを判定する。
この判定結果が「NO」であると判定された場合には、ステップS105に進む。一方、判定結果が「YES」であると判定された場合には、ステップS111に進む。
【0107】
ステップS111においては、アイドル停止フラグF_IDLSTPのフラグ値が「1」であるか否かを判定する。
なお、アイドル停止とは、ECU5により内燃機関本体1への燃料供給が停止して内燃機関本体1を停止させて、不要なアイドル運転を禁止して燃料の節減を図る処理である。
このアイドル停止フラグF_IDLSTPのフラグ値に「1」がセットされる場合としては、例えば車両の減速時等に車速Vが所定車速(ゼロも含む)に達した後、シフトポジションがニュートラル又はP(駐車)ポジションにある場合、或いはシフトポジションがD(前進)ポジション又はR(後進)ポジションにあってもブレーキペダルが踏まれている場合等である。ただし、内燃機関本体1を停止させてもスタータモータ(図示略)を作動させて内燃機関本体1を再始動できるか否かを判定して、電力の余裕がない場合には内燃機関本体1を停止させずにアイドル運転状態を維持する。
なお、アイドル停止状態から内燃機関本体1が再始動される場合としては、例えばクラッチスイッチ(図示略)がON状態になってシフトポジションがインギアになった場合等であり、ECU5によりスタータモータが自動的に駆動されて内燃機関本体1が始動する。
ステップS111における判定結果が「YES」であると判定された場合、すなわち内燃機関本体1のアイドル停止を実行中であると判定された場合には、ステップS105に進む。
一方、この判定結果が「NO」であると判定された場合、すなわちアイドル停止の実行中ではないと判定された場合にはステップS112に進み、後述するPGCMD算出処理を実行して、ステップS113に進む。
すなわち、内燃機関本体1がアイドル停止状態に移行する際にパージの実行を停止することによって、内燃機関本体1に空気が流入することを抑制して、これらの空気が圧縮されることに起因する、いわゆるディーゼリング現象が発生することを防ぎ、内燃機関本体1に振動等が発生することを抑制している。
【0108】
図9に示すステップS113においては、目標パージ制御弁駆動デューティ値PGCMDが、所定のハイ側パージ制御弁駆動デューティ閾値#DOUTPGH(例えば100%)以上であるか否かを判定する。
この判定結果が「YES」であると判定された場合、すなわち目標パージ制御弁駆動デューティ値PGCMDがオーバーフローしている判定された場合には、ステップS114に進み、所定のハイ側パージ制御弁駆動デューティ閾値#DOUTPGHをパージ制御弁駆動デューティ値DOUTPGにセットして、後述するステップS117に進む。
【0109】
一方、ステップS113における判定結果が「NO」であると判定された場合、すなわち目標パージ制御弁駆動デューティ値PGCMDがオーバーフローしていないと判定された場合には、ステップS115に進み、目標パージ制御弁駆動デューティ値PGCMDが、所定のロー側パージ制御弁駆動デューティ閾値#DOUTPGL(例えば0%)以下であるか否かを判定する。
この判定結果が「YES」であると判定された場合、すなわち目標パージ制御弁駆動デューティ値PGCMDがアンダーフローしていると判定された場合には、後述するステップS128に進む。
一方、ステップS115における判定結果が「NO」であると判定された場合、すなわち目標パージ制御弁駆動デューティ値PGCMDがアンダーフローしていないと判定された場合には、ステップS116に進み、目標パージ制御弁駆動デューティ値PGCMDをパージ制御弁駆動デューティ値DOUTPGにセットして、ステップS117に進む。
【0110】
ステップS117においては、パージ終了後所定時間検知タイマTMPGOFFに所定のタイマ値#TMPGOFF(例えば1.0s)をセットしてステップS118に進む。
ステップS118においては、パージ制御弁駆動デューティ値DOUTPGからパージ制御弁駆動デューティ値電圧補正DPGCVBを減算して得た値を、さらに初期目標パージ制御弁駆動デューティ値PGCMD0により除算して得た値をパージ制御弁駆動デューティ値比PGRATEにセットする。
なお、パージ制御弁駆動デューティ値電圧補正DPGCVBは、パージ制御弁44に供給される電圧に応じて、パージ制御弁駆動デューティ値DOUTPGの立ち上がり遅れ分を補正するものであって、パージ制御弁44に供給される電圧の増加に伴って減少するように設定されている。
次に、ステップS119においては、目標パージ流量QPGCを目標パージ流量基本値QPGCBASEで除算して得た値を目標パージ流量比QRATEにセットして、一連の処理を終了する。
【0111】
また、図8に示すステップS120においては、パージ制御弁駆動デューティ値DOUTPGに0%をセットする。そして、目標パージ制御弁駆動デューティ値PGCMDに0%をセットして(ステップS121)、目標パージ流量QPGCにゼロをセットして(ステップS122)、ステップS123に進む。
ステップS123においては、パージ流量制限係数KPGTに所定のパージ開始時流量制限係数#KPGTINI(例えば0.120)をセットする。そして、パージ流量制限係数KPGT更新タイマTMPGTに所定の始動後用更新タイマ値#TMPGT0(例えば10s)をセットして(ステップS124)、次に、パージ終了後所定時間検知タイマTMPGOFFに所定のタイマ値#TMPGOFF(例えば1.0s)をセットして(ステップS125)、ステップS126に進む。
ステップS126においては、パージ流量制限係数KPGT算出実行フラグF_KPGTONのフラグ値に「0」をセットする。そして、判定用パージ流量制限係数KPGTJUDにゼロをセットして(ステップS127)、後述するステップS135以下の処理を行う。
【0112】
また、ステップS128においては、パージ流量制限係数KPGT算出実行フラグF_KPGTONのフラグ値が「1」であるか否かを判定する。
この判定結果が「NO」であると判定された場合、例えば内燃機関本体1の始動直後、或いはパージの実行が一時的に停止された後のパージの再開直後等におけるパージ実行時において、パージ流量制限係数KPGTの算出中ではない場合には、パージ流量制限係数KPGT更新タイマTMPGTに所定の更新タイマ値#TMPGTS0(例えば5s)をセットして(ステップS129)、次に、パージ流量制限係数KPGTに所定のパージ開始時流量制限係数#KPGTINI(例えば0.102)をセットして(ステップS130)、後述するステップS134以下の処理を行う。
【0113】
一方、ステップS128における判定結果が「YES」であると判定された場合、すなわちパージの実行開始時等においてパージ流量制限係数KPGTの算出中である場合には、パージ流量制限係数KPGT更新タイマTMPGTに所定の更新タイマ値#TMPGTS(例えば0.3s)をセットして(ステップS131)、次に、パージ流量制限係数KPGTが所定のパージ再開時流量制限係数#KPGTREST(例えば0.320)以上であるか否かを判定する(ステップS132)。
この判定結果が「NO」であると判定された場合には、後述するステップS134以下の処理を行う。一方、判定結果が「YES」であると判定された場合には、パージ流量制限係数KPGTに所定のパージ再開時流量制限係数#KPGTREST(例えば0.320)をセットして(ステップS133)、ステップS134に進む。
【0114】
ステップS134においては、パージ制御弁駆動デューティ値DOUTPGに0%をセットして、ステップS135に進む。
ステップS135においては、パージ制御弁駆動デューティ値比PGRATEにゼロをセットする。そして、目標パージ流量比QRATEにゼロをセットして(ステップS136)、一連の処理を終了する。
【0115】
次に、上述したステップS112におけるPGCMD算出処理について添付図面を参照しながら説明する。この処理では目標パージ流量QPGCを算出すると共に、この目標パージ流量QPGCに基づいて、目標パージ制御弁駆動デューティ値PGCMDを算出する処理である。以下においては、特に、目標パージ流量QPGCを算出する処理について説明する。
【0116】
先ず、図10に示すステップS201において、空気流量QAIRに所定の目標パージ率#KQPGB(例えば0.150)を乗算して得た値を目標パージ流量基本値QPGCBASEにセットしてステップS202に進む。
なお、目標パージ率#KQPGBは、例えばパージ制御弁44の開度が一定値であっても、絶対吸気管負圧PBAに応じてパージ流量が変化することを補正する補正係数である。
ステップS202においては、目標パージ流量基本値QPGCBASEが所定のパージ流量上限値#QPGMAX(例えば35リットル/min)よりも大きいか否かを判定する。
この判定結果が「YES」であると判定された場合には、ステップS203に進み、目標パージ流量値QPGCMDにパージ流量上限値#QPGMAXをセットして、後述するステップS207に進む。
【0117】
一方、ステップS202における判定結果が「NO」であると判定された場合は、ステップS204に進み、目標パージ流量基本値QPGCBASEが所定のパージ流量下限値#QPGMIN(例えば0)よりも小さいか否かを判定する。
この判定結果が「YES」であると判定された場合には、ステップS205に進み、目標パージ流量値QPGCMDにパージ流量下限値#QPGMINをセットして、後述するステップS207に進む。
一方、ステップS204における判定結果が「NO」であると判定された場合には、ステップS206に進み、目標パージ流量値QPGCMDに目標パージ流量基本値QPGCBASEをセットして、ステップS207に進む。
【0118】
ステップS207においては、アイドル運転フラグF_IDLEのフラグ値が「1」であるか否かを判定する。
この判定結果が「NO」であると判定された場合、すなわち内燃機関本体1がアイドル運転状態ではないと判定された場合には、後述するステップS213に進む。
一方、ステップS207における判定結果が「YES」であると判定された場合には、ステップS208に進み、図13に示すように、パージ補正係数KAFEVACTの増加に伴って減少するように設定された低地側パージ絞り係数#KPGTSPL及び高地側パージ絞り係数#KPGTSPHをテーブル検索により求める。
なお、図13に示すように、パージ補正係数KAFEVACTの増加に伴って両パージ絞り係数#KPGTSPL/Hが減少するように設定されていることで、パージの濃度が高いときにはパージ流量を減少させるようにすると共に、燃料噴射弁12の開弁時間が短くなって最低限必要とされる燃料値が確保できなくなることを防止している。
【0119】
そして、ステップS209において、図14に示すように、低地側及び高地側パージ絞り係数検索値KPGTSPL/Hのそれぞれを、順に、大気圧PAに関する所定の低地側格子点#PAKPGTL(例えば61.3kPa)と、高地側格子点#PAKPGTH(97.3kPa)とに対応させ、大気圧PAの適宜の値に対して補間算出することでパージ絞り係数KPGTSPを求める。
すなわち、例えば高地ではアイドリング運転中の燃料値が減少するため、パージ絞り係数KPGTSPを減少させる。
【0120】
次に、ステップS210においては、パージ流量制限係数KPGTがパージ絞り係数KPGTSP以下であるか否かを判定する。
この判定結果が「NO」であると判定された場合には、図11に示すステップS211に進み、パージ流量制限係数KPGTにパージ絞り係数KPGTSPをセットして、判定用パージ流量制限係数KPGTJUDにパージ絞り係数KPGTSPをセットして(ステップS212)、後述するステップS216以下の処理を行う。
一方、ステップS210における判定結果が「YES」であると判定された場合には、ステップS213に進み、パージ流量制限係数KPGT更新タイマTMPGTがゼロであるか否かを判定する。
この判定結果が「NO」であると判定された場合には、後述するステップS227以下の処理を行う。
【0121】
一方、ステップS213における判定結果が「YES」であると判定された場合には、図11に示すステップS214に進み、パージ流量制限係数KPGT算出実行フラグF_KPGTONのフラグ値に「1」をセットする。
そして、パージ流量制限係数KPGTに所定の加算値#DKPGT(例えば0.008)を加算して得た値を、新たなパージ流量制限係数KPGTとして(ステップS215)、ステップS216に進む。
ステップS216においては、パージ流量制限係数KPGTが「1.0」よりも大きいか否かを判定する。
この判定結果が「NO」であると判定された場合には、後述するステップS218に進む。一方、判定結果が「YES」であると判定された場合には、パージ流量制限係数KPGTに「1.0」をセットして(ステップS217)、ステップS218に進む。
【0122】
ステップS218においては、パージ流量制限係数KPGTが判定用パージ流量制限係数KPGTJUD以上であるか否かを判定する。
この判定結果が「NO」であると判定された場合には、ステップS219に進み、アイドル運転フラグF_IDLEのフラグ値が「1」であるか否かを判定する。
ステップS219における判定結果が「YES」であると判定された場合には、パージ流量制限係数KPGT更新タイマTMPGTに所定の更新タイマ値#TMPGTSI(例えば2.8s)をセットして(ステップS220)、後述するステップS227以下の処理を行う。
一方、ステップS219における判定結果が「NO」であると判定された場合には、パージ流量制限係数KPGT更新タイマTMPGTに所定の更新タイマ値#TMPGTS(例えば0.3s)をセットして(ステップS221)、後述するステップS227以下の処理を行う。
【0123】
また、ステップS218における判定結果が「YES」であると判定された場合には、ステップS222に進み、アイドル運転フラグF_IDLEのフラグ値が「1」であるか否かを判定する。
ステップS222における判定結果が「YES」であると判定された場合には、図12に示すように、パージ補正係数KAFEVACTの増加に伴って増大するように設定された更新タイマ値#TMPGTLIのテーブル検索により、更新タイマ検索値TMPGTLIを求める(ステップS223)。
そして、パージ流量制限係数KPGT更新タイマTMPGTに更新タイマ検索値TMPGTLIをセットして(ステップS224)、後述するステップS227以下の処理を行う。
【0124】
一方、ステップS222における判定結果が「NO」であると判定された場合には、図12に示すように、パージ補正係数KAFEVACTの増加に伴って増大するように設定された更新タイマ値#TMPGTLのテーブル検索により、更新タイマ検索値TMPGTLを求める(ステップS225)。そして、パージ流量制限係数KPGT更新タイマTMPGTに更新タイマ検索値TMPGTLをセットして(ステップS226)、ステップS227に進む。
ステップS227においては、目標パージ流量値QPGCMDにパージ流量制限係数KPGTを乗算して得た値を、目標パージ流量QPGCにセットして、一連の処理を終了する。
【0125】
すなわち、パージ流量制限係数KPGTが徐々に増大してパージ絞り係数KPGTSPと等しくなると、パージ流量制限係数KPGTの更新速度を低下させる。さらに、アイドル運転状態においては、パージ流量制限係数KPGTの更新速度を低下させる。
【0126】
【発明の効果】
以上の説明から明らかなように、本発明によれば、以下の効果を得ることができる。
請求項1の発明によれば、目標空燃比設定手段により設定された目標空燃比に応じて、更新量算出手段がパージ補正量の更新量を決定するため、実空燃比と目標空燃比とを比較して実空燃比がリーンである場合には、パージ補正量の更新量を緩やかに設定することが可能となり、オーバーリーンによるエンジン回転数の低下,エンスト等を防止することができる。
【0127】
また、パージカットを実施した際に、内燃機関に供給する燃料量の減量補正値が即座に「0」とならず、徐々に「0」へと移行させることが可能になるため、系内に残留する蒸発燃料の影響による実空燃比のリッチ化を防止することができる。
【図面の簡単な説明】
【図1】 本発明の一の実施の形態を示すブロック図である。
【図2】 パージ補正係数KAFEVACTの算出手順を示すサブルーチン・フロー・チャートである。
【図3】 図2のステップS007で実行されるパージ濃度係数KAFEVの算出手順を示すサブルーチン・フロー・チャートである。
【図4】 図2のステップS015で実行される目標パージ補正係数KAFEVACZの算出手順を示すサブルーチン・フロー・チャートである。
【図5】 エンジン回転数NEから一時変数NEVDLYTをテーブル検索するための図である。
【図6】 空気流量QAIRからパージ濃度係数算出判定偏差DKAFEVをテーブル検索するための図である。
【図7】 目標空燃比係数KCMDから加減算項DKEVAPO2をテーブル検索するための図である。
【図8】 パージ流量を所定の流量とするためにパージ制御弁を駆動制御する処理を示すフローチャートである。
【図9】 パージ流量を所定の流量とするためにパージ制御弁を駆動制御する処理を示すフローチャートである。
【図10】 図8に示すPGCMD算出処理において、特に目標流量算出(QPG_CAL)の処理を示すフローチャートである。
【図11】 図8に示すPGCMD算出処理において、特に目標流量算出(QPG_CAL)の処理を示すフローチャートである。
【図12】 パージ補正係数KAFEVACTに応じて変化する更新タイマ値TMPGTL/LIのグラフ図である。
【図13】 パージ補正係数KAFEVACTに応じて変化する低地側及び高地側パージ絞り係数KPGTSPL/Hのグラフ図である。
【図14】 大気圧PAに応じて変化するパージ絞り係数KPGTSPのグラフ図である。
【図15】 パージ補正係数KAFEVACTを修正するための修正量であるパージ補正係数算出補正係数KEVACTの算出処理の一部のフローチャートである。
【図16】 パージ補正係数KAFEVACTを修正するための修正量であるパージ補正係数算出補正係数KEVACTの算出処理の他の一部のフローチャートである。
【符号の説明】
1 内燃機関本体(内燃機関)
5 ECU(パージ補正量算出手段、目標空燃比設定手段、空燃比補正量算出手段、更新量算出手段、燃料供給量決定手段)
41 燃料タンク
42 通路(パージ手段の一部)
43 パージ通路(パージ手段の一部)
44 パージ制御弁(パージ手段の一部)
45 キャニスタ(パージ手段の一部)
46 2ウェイバルブ(パージ手段の一部)[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an internal combustion engine control apparatus, and more particularly to purge control for purging evaporated fuel generated in a fuel tank to an intake system of the internal combustion engine.
[0002]
[Prior art]
A conventional control device for an internal combustion engine uses, for example, a purge cut solenoid valve (hereinafter abbreviated as “solenoid”) to control the supply amount of evaporated fuel generated in a fuel tank to an intake system. According to the supply amount, a purge correction coefficient for subtracting the fuel amount supplied from the injector is calculated to prevent the cylinder from becoming over-rich.
[0003]
That is, if there is a large amount of evaporated fuel supplied into the cylinder, the purge correction coefficient that is the basis for calculating the purge correction amount is increased, and the fuel amount supplied from the injector is also subtracted accordingly.
In this case, the purge correction coefficient is controlled by the opening of the solenoid (for example, JP-A-11-62729).
[0004]
[Problems to be solved by the invention]
However, if the addition term used to calculate the purge concentration correction coefficient that is the basis for determining the purge correction amount update amount is always a fixed value, the following problems occur depending on the setting.
That is, if the addition term is set to be large with reference to a state in which the target air-fuel ratio is high, the fluctuation in output becomes large during lean burn where combustion is unstable, leading to deterioration in operability. Conversely, if the target air-fuel ratio is set to a small value based on a low target air-fuel ratio, the followability with respect to the change in purge is reduced.
[0005]
In the above control device, when the solenoid that has been opened is fully closed, the purge correction coefficient is immediately set to “0”. Therefore, after the purge cut is performed (purge is stopped), the solenoid and the intake Since the evaporated fuel remaining between the manifolds flows into the cylinder, overriching was caused.
[0006]
The present invention has been made in view of such circumstances, and an object of the present invention is to make it possible to determine the optimum fuel supply amount according to the operating state and the target air-fuel ratio.
[0007]
[Means for Solving the Problems]
In order to achieve the above-mentioned object, the invention of
[0008]
According to this configuration, since the update amount calculation means determines the update amount of the purge correction amount in accordance with the target air fuel ratio set by the target air fuel ratio setting means, the actual air fuel ratio is compared with the target air fuel ratio. When the actual air-fuel ratio is lean, the update amount of the purge correction amount can be set gently, and engine speed reduction, engine stall, and the like due to overlean can be prevented.
[0010]
According to this configuration, when purge cut is performed, the fuel amount reduction correction value supplied to the internal combustion engine does not immediately become “0”, but can be gradually shifted to “0”. Therefore, it is possible to prevent the actual air-fuel ratio from being enriched due to the influence of the evaporated fuel remaining in the system.
[0011]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below with reference to the drawings.
FIG. 1 is a diagram showing an embodiment of the present invention. In the figure,
[0012]
An intake pipe 2 of the internal combustion engine is connected to a combustion chamber of each cylinder of the internal
[0013]
An intake air temperature (TA) sensor 8 is mounted on the upstream side of the
[0014]
An internal combustion engine water temperature (TW) sensor 13 is attached to the internal
[0015]
A
[0016]
The
[0017]
The
[0018]
The exhaust
[0019]
The evaporative
[0020]
The
[0021]
The
[0022]
The fuel injection time of the
TOUT = KTTTL × TIM × KAF × KCMD−KAFEVACT × TIM × KCMD
Here, KTTL is a correction coefficient other than the air-fuel ratio correction coefficient, TIM is a basic fuel injection amount that is a map value determined by the intake system negative pressure and the rotational speed NE of the internal combustion engine, and KAF is the
[0023]
As is apparent from this equation, the valve opening time TOUT of the
[0024]
The purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL) will be described below with reference to the subroutine flowchart shown in FIG. In the KAFEVACT_CAL flowchart, for example, one cycle from the start to the end is executed every time a TDC signal pulse is output from the TDC sensor.
[0025]
This subroutine includes a step of setting the purge correction coefficient KAFEVACT separately during purge execution and purge cut execution.
First, in step S001, it is determined whether or not the flag value of the feedback control execution flag F_LAFFB is set to “1”, that is, whether air-fuel ratio feedback control is being performed, and when air-fuel ratio feedback control is being performed (determination result) Is “YES”), the process proceeds to step S003, and if the air-fuel ratio feedback control is not performed (the determination result is “NO”), the process proceeds to step S031.
[0026]
In step S003, it is determined whether the purge control valve driving duty value DOUTPG is “0%”, that is, the command value of the
[0027]
[Purge in progress]
In step S005, the learning value of the air-fuel ratio feedback correction coefficient KAF (hereinafter abbreviated as “air-fuel ratio learning value”) KREF / KREFX is selected. Specifically, a value selected based on the operating state of the internal combustion engine body 1 (four conditions of idle, lean burn, stoichiometric, and rich) is set to the air-fuel ratio learned value KREF / KREFX. The air-fuel ratio learning value KREF is a learning value that is calculated and stored during the purge execution, and the air-fuel ratio learning value KREFX is a learning value that is calculated and stored during the purge cut.
[0028]
In step S007, the purge concentration coefficient KAFEV is calculated based on the air-fuel ratio learning value KREF / KREFX or the like. The procedure for calculating the purge concentration coefficient KAFEV is as shown in the subroutine flow chart (KAFEV_CAL) of FIG. 3, which will be described later.
In step S009, it is determined whether the absolute value of the deviation DKCMD between the current target air-fuel ratio coefficient KCMDn and the previous target air-fuel ratio coefficient KCMDn-1 is equal to or greater than a predetermined threshold value #DKCMMEVA, and the determination result is “YES”. In other words, that is, when the target air-fuel ratio (A / F) is transitioning, the process proceeds to step S011, and when the target air-fuel ratio (A / F) is not transitioning (determination result is “NO”), step S011 is performed. The process proceeds to S013.
[0029]
In step S011, a predetermined timer value #TMDKCEVA (for example, 1.5 seconds) is set in the target air-fuel ratio transition delay timer TDKCEVA and started. As a result, during the transition of the target air-fuel ratio (A / F), that is, while the calculation error such as the purge concentration coefficient KAFEV is expected to increase, the subsequent processing is not executed.
In step S013, it is determined whether the timer value of the target air-fuel ratio transition delay timer TDKCEVA is “0 second”. If the determination result is “NO”, the processing is not executed as described above, and the determination result is If “YES”, the process proceeds to step S015.
In step S015, the target purge correction coefficient KAFEVACZ is calculated. The calculation procedure of the target purge correction coefficient KAFEVACZ is as shown in the subroutine flow chart (KAFEVACZ_CAL) in FIG. 4, which will be described later.
[0030]
Steps S017, S019, S021, S027, and S029 are performed immediately after the purge is performed, that is, until the evaporated fuel reaches the
In step S017, a predetermined value #NEVDLYT of the purge correction coefficient addition delay is set in the temporary variable NEVDLYTX. This predetermined value #NEVDLYT is obtained by performing a table search on the NEVDLYT table of FIG. 5 according to the rotational speed NE of the internal combustion engine. As shown in the figure, the temporary variable NEVDLYTX is set to decrease as the rotational speed NE of the internal combustion engine increases.
[0031]
In step S019, it is determined whether the counter NEVDLY is equal to or larger than the purge correction coefficient addition delay NEVLYTX set in step S017. If the determination result is “YES”, it is determined that the influence delay has been eliminated, and step S021. If the determination result is “NO”, it is determined that the influence delay has not been resolved, and the process proceeds to step S027.
In step S021, "1" indicating that the delay has been eliminated is set in the flag value of the flag F_NEVDLYED. Thus, even if “NO” is determined in the step S019, the process returns to the process of calculating the purge correction coefficient calculation correction coefficient KAFEVACT and the like by the determination in the step S027.
[0032]
In step S027, it is determined whether the flag value of the flag F_NEVDLYED is “1”. If the determination result is “YES”, the process proceeds to step S023. If the determination result is “NO”, the process proceeds to step S029. .
In step S029, the value of the counter NEDVDLY is incremented.
In step S023, a purge correction coefficient calculation correction coefficient KEVACT is calculated. The procedure for calculating the purge correction coefficient calculation correction coefficient KEVACT is as shown in the subroutine flow chart (KEVACT_CAL) of FIGS. 15 and 16, which will be described later.
In step S025, a value obtained by multiplying the target purge correction coefficient KAFEVACZ calculated in step S015 and the purge correction coefficient calculation correction coefficient KEVACT calculated in step S023 is set in the purge correction coefficient KAFEVACT.
[0033]
[Purge cut in progress]
Even if the air-fuel ratio feedback control is not performed (the determination result of step S001 is “NO”) or the air-fuel ratio feedback control is performed (the determination result of step S001 is “YES”), the purge cut is performed. If yes (the determination result in step S003 is “YES”), the process proceeds to step S031.
In step S031 and subsequent steps S033, S035, and S037, “0” is set to each flag value of the flag F_NEVDLYED, the counter NEVDLY, the purge correction coefficient calculation correction coefficient KEVACT, and the target purge correction coefficient KAFEVACZ.
[0034]
In step S039, a predetermined purge correction coefficient lowering subtraction amount #DKAFEVAM (for example, 0.023) is subtracted from the purge correction coefficient KAFEVACT to obtain a new purge correction coefficient KAFEVACT. Thus, even when the
[0035]
In step S041, it is determined whether the purge correction coefficient KAFEVACT (step S011) after subtraction is lower than the target purge correction coefficient KAFEVACZ. If the purge correction coefficient KAFEVACZ is lower than the target purge correction coefficient KAFEVACZ (determination result is “YES”), the process proceeds to step S043. Is “NO”), step S043 is skipped.
In step S043, “0” is set to the purge correction coefficient KAFEVACT.
[0036]
Next, the procedure for calculating the purge concentration coefficient KAFEV executed in step S007 of FIG. 2 will be described using the subroutine flow chart of FIG.
This subroutine includes a step of separately setting the addition / subtraction term DKVAPO of the purge concentration coefficient KAFEV during idle operation and during travel, a step of setting the addition / subtraction term DKVAPO during travel according to the target air-fuel ratio coefficient KCMD, And a step of preventing erroneous learning of the purge concentration coefficient KAFEV at the time of shifting to the fuel ratio coefficient KCMD.
[0037]
First, in step S051, it is determined whether the flag value of the previous feedback control execution flag F_LAFFB has been set to “1”, that is, whether air-fuel ratio feedback control has been performed, and when air-fuel ratio feedback control has not been performed. If the determination result is “NO”, the process is terminated as it is, and if the air-fuel ratio feedback control is being performed (the determination result is “YES”), the process proceeds to step S053.
In step S053, it is determined whether the flag value of the idle operation flag F_IDLE is set to “1”, that is, whether the internal
[0038]
In step S055, a predetermined value # DKEVAPO1 (for example, 0.001) is set in the addition / subtraction term DKEVAPO. This # DKEVAPO1 is an addition / subtraction term in the idle operation state.
In step S057, it is determined whether the vehicle speed VP is “0”, that is, whether the vehicle is stopped. If the vehicle is stopped (the determination result is “YES”), the process proceeds to step S055, and the vehicle is running. If (the determination result is “NO”), the process proceeds to step S059.
[0039]
In step S059, a table search (FIG. 7) for addition / subtraction term # DKEVAPO2 corresponding to the target air-fuel ratio coefficient KCMD is performed. This # DKEVAPO2 is an addition / subtraction term outside the idling operation state, and is set to be smaller as the target air-fuel ratio coefficient KCMD is smaller, as shown in FIG. As a result, during lean burn where the combustion becomes unstable (judgment result is “YES”), fluctuations in the purge concentration coefficient KAFEV can be moderated, and it becomes possible to prevent deterioration of operability due to overlean. .
In step S061, the predetermined value # DKEVAPO2 (for example, 0.07) acquired by the table search in step S059 is set in the addition / subtraction term DKEVAPO.
[0040]
However, in steps S053 to S061 described above, processing for separately setting the addition / subtraction term DKVAPO of the purge concentration coefficient KAFEV during idle operation and during travel, and addition / subtraction term DKEVAPO according to the target air-fuel ratio coefficient KCMD even during travel. The process of setting is realized.
In step S063, it is determined whether the absolute value of the deviation DKCMD between the current value KCMDn and the previous value KCMDn-1 of the target air-fuel ratio coefficient is equal to or greater than a predetermined threshold value #DKCMEV (for example, 0.008). If “YES”, that is, if it is determined that the target air-fuel ratio coefficient KCMD is shifting, the process proceeds to step S065; otherwise (determination result is “NO”), the process proceeds to step S067.
[0041]
In step S065, after completion of the target air-fuel ratio transition, a predetermined timer value #TMDKCMEV (for example, 1.5 seconds) is set in the purge concentration coefficient calculation delay timer TDKCMEV and started. As a result, since the purge concentration coefficient KAFEV calculation process is not executed for a predetermined timer time after the completion of the target air-fuel ratio transition, erroneous learning of the purge concentration coefficient KAFEV that may occur during the transition of the target air-fuel ratio coefficient KCMD is effectively prevented. The
In step S067, it is determined whether the purge concentration coefficient calculation delay timer TDKCMEV is “0 second” after the completion of the air-fuel ratio transition. If the determination result is “NO”, the processing is interrupted in the same manner as described above, and “YES” ", The process proceeds to step S069.
[0042]
In step S069, a table search (FIG. 6) of the purge concentration coefficient calculation determination deviation DKAFEV according to the air flow rate QAIR is performed, and a predetermined value #DKAFEV (for example, 0.07) acquired by this table search is determined for purge concentration coefficient calculation. Set the deviation DKAFEV. The purge concentration coefficient calculation determination deviation DKAFEV is set to become smaller as the air flow rate QAIR becomes higher, as shown in FIG.
[0043]
In steps S071 and S073, the air-fuel ratio feedback correction coefficient KAF obtained using a known method, for example, a PID control law, based on the detection value of the
[0044]
When the air-fuel ratio feedback correction coefficient KAF is smaller than the lower threshold (the determination result in step S071 is “YES”), the actual air-fuel ratio coefficient KACT detected by the
[0045]
When the air-fuel ratio feedback correction coefficient KAF is larger than the upper threshold (the determination result in step S071 is “NO” and the determination result in step S073 is “YES”), the actual air-fuel ratio coefficient KACT is equal to the target air-fuel ratio coefficient KCMD. Is smaller (the determination result in step S077 is “YES”), it is determined that the influence of the purge on the air-fuel ratio (A / F) is small, the process proceeds to step S081, and the determination result in step S077 is “NO”. ", The process proceeds to step S083.
If the air-fuel ratio feedback correction coefficient KAF is between the upper and lower threshold values (both the determination results in steps S071 and S073 are “NO”), the process proceeds to step S083.
[0046]
In step S079, a value obtained by adding the addition / subtraction term DKEVAPO set in step S055 or S061 to the temporary variable KAFEVF is set as a new temporary variable KAFEVF. As a result, the purge concentration coefficient KAFEV calculated in step S085 becomes large.
In step S081, a value obtained by subtracting the addition / subtraction term DKEVAPO from the temporary variable KAFEVF is set as a new temporary variable KAFEVF. As a result, the purge concentration coefficient KAFEV calculated in step S085 becomes small.
In step S083, the value obtained by subtracting the air-fuel ratio feedback correction coefficient KAF from the air-fuel ratio learned value KREFX and further dividing this by the coefficient #CAFEV (for example, 256) is added to the temporary variable KAFEVF to obtain a new value. The temporary variable KAFEVF is used. As a result, the purge concentration coefficient KAFEV calculated in step S085 is neither small nor large.
[0047]
However, in the above-described steps S071 and S073, by using the air-fuel ratio learned value KREFX as a calculation reference for the purge concentration coefficient KAFEV, it is possible to appropriately correct enrichment and leaning due to the influence of evaporated fuel. .
[0048]
In step S085, annealing calculation is performed using the current temporary variable KAFEVF, the previous temporary variable KAFEVF (n-1), and the smoothing value #CKAFEV (for example, 0.031), and the calculation result is the purge concentration coefficient. Set to KAFEV.
In step S087, it is determined whether the purge concentration coefficient KAFEV calculated in step S085 is larger than a predetermined limit value #KAFEVLMT (for example, 2.0). If this limit value #KAFEVLMT is exceeded (the determination result is “YES”). ) Proceeds to step S089, and if the limit value #KAFEVLMT is not exceeded (determination result is “NO”), step S089 is skipped.
In step S089, a limit value #KAFEVLMT is set to the purge concentration coefficient KAFEV.
[0049]
Next, the calculation procedure of the target purge correction coefficient KAFEVACZ executed in step S015 of FIG. 2 will be described using the subroutine flow chart of FIG.
[0050]
First, in step S091, a value obtained by multiplying the other correction coefficient KTTL by the air-fuel ratio feedback correction coefficient KAF and subtracting a predetermined guard calculation correction value #DEVACTG from this is set in the temporary variable KEVACTG.
[0051]
In step S093, a value obtained by multiplying the purge concentration coefficient KAFEV calculated in step S023, the purge control valve drive duty value ratio PGRATE, and the target purge flow rate ratio QRATE is set in the target purge correction coefficient KAFEVACZ.
In step S095, it is determined whether or not the target purge correction coefficient KAFEVACZ set in step S093 is larger than the temporary variable KEVAOTG set in step S091, and if the determination result is “YES”, the process proceeds to step S097. If the result is “NO”, step S097 is skipped.
[0052]
In step S097, a temporary variable KEVACTG is set to the target purge correction coefficient KAFEVACZ.
[0053]
Next, a subroutine flowchart of a calculation process (KEVACT_CAL) of purge correction coefficient calculation correction coefficient KEVACT (0 to 1), which is a correction amount for correcting the purge correction coefficient KAFEVACT calculated in step S023 of the flowchart of FIG. Will be described below with reference to FIGS.
[0054]
First, in step S401, it is determined whether or not an idle operation flag F_IDLE indicating whether or not the internal
If F_IDLE is not 1 in step S401, that is, if the internal
[0055]
"Idle state"
On the other hand, if F_IDLE = 1 in step S401, that is, if the internal
[0056]
Next, in step S403, in this cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL), an air conditioner (hereinafter referred to as “air conditioner”) that is a load on the internal
[0057]
If F_HACIND is not 1 in step S403, it is determined that the air conditioner is not in an ON state and the load on the internal
[0058]
On the other hand, if F_HACIND = 1 in step S403, it can be determined that the air conditioner is in an ON state and the load on the internal
[0059]
In this step S404, if F_HACIND = 1 in the previous cycle, since F_HACIND = 1 in the current cycle in step S403, the air conditioner is kept on, and the load on the internal
[0060]
On the other hand, if F_HACIND = 1 in the previous cycle in step S404, since F_HACIND = 1 in the current cycle in step S403, this is immediately after the air conditioner is switched from the OFF state to the ON state. It is determined that a load variation for the
[0061]
If KEVACT>#KEVACACTA is not satisfied in step S405, the purge correction coefficient KAFEVACT based on the current purge correction coefficient calculation correction coefficient KEVACT is small, so that it is determined that the influence is small even if there is a load change, and will be described later in step S407. Proceed to
[0062]
On the other hand, if KEVACT>#KEVACACTA in step S405, it is determined that the influence of the load fluctuation is large, and in step S406, the purge correction coefficient calculation correction coefficient KEVACT is set to a predetermined limit value # Initializing to KEVACTAC, this cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL). Here, this initialization is performed via the
[0063]
In step S403 described above, if it is determined that F_HACIND = 1 is not present in the current cycle, if it is determined in step S404 that F_HACIND = 1 in the previous cycle, and in step S405, it is determined that KEVACT>#KEVACACTA is not satisfied. In step S407, a deviation | KCMD−KACT | between the actual air-fuel ratio coefficient KACT and the target air-fuel ratio coefficient KCMD based on the output of the
[0064]
If the deviation | KCMD−KACT | ≦ # DKAFEVIC is not satisfied in step S407, that is, if the deviation | KCMD−KACT | is large, the process proceeds to step S421 described later.
[0065]
On the other hand, if the deviation | KCMD−KACT | ≦ # DKAFEVIC is satisfied in step S407, that is, if the deviation | KCMD−KACT | is small, a predetermined subtraction determination value in which the air-fuel ratio feedback coefficient KAF is large in step S408. It is determined whether it is greater than #KAFEVAIH (specifically, 1.063).
[0066]
In step S408, when KAF>#KAFEVAIH, that is, when the air-fuel ratio feedback coefficient KAF becomes larger than #KAFEVAIH (1.063), the purge correction coefficient calculation correction coefficient KEVACT is decreased. Next, in step S409, the update amount DKEVACT that decreases the purge correction coefficient KAFEVACT is set to a predetermined subtraction amount # DKEVAIM1 (specifically 0.00005).
[0067]
In step S410, the update amount DKEVACT is subtracted from the purge correction coefficient calculation correction coefficient KEVACT, and this value is set as a new purge correction coefficient calculation correction coefficient KEVACT. Subsequently, in step S411, it is determined whether or not the set purge correction coefficient calculation correction coefficient KEVACT is smaller than “0”. If KEVACT <0, the purge correction coefficient calculation correction coefficient KEVACT is calculated as it is. This cycle of (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0068]
On the other hand, if KEVACT <0 in step S411, the purge correction coefficient calculation correction coefficient KEVACT is set to “0” in step S412, and the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is completed. Then, the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0069]
If KAF>#KAFEVAIH is not satisfied in step S408 described above, it is determined in step S413 whether the air-fuel ratio feedback coefficient KAF is smaller than a small predetermined addition switching determination value #KAFEVAIL (specifically 0.953). To do.
[0070]
In step S413, if KAF <#KAFEVAIL, that is, if the air-fuel ratio feedback coefficient KAF is lower than #KAFEVAIL (specifically 0.953), the purge correction coefficient calculation correction coefficient KEVACT is increased. Next, in step S414, the update amount DKEVACT is set to a predetermined addition amount # DKEVACI3 (specifically 0.0005).
[0071]
In step S415, the update amount DKEVACT is added to the purge correction coefficient calculation correction coefficient KEVACT, and this value is set as a new purge correction coefficient calculation correction coefficient KEVACT. Subsequently, in step S416, it is determined whether or not the set purge correction coefficient calculation correction coefficient KEVACT is greater than “1”. If KEVACT> 1, the purge correction coefficient calculation correction coefficient KEVACT is calculated as it is. This cycle of (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0072]
On the other hand, if KEVACT> 1 in step S416, the purge correction coefficient calculation correction coefficient KEVACT is set to “1” in step S417, and the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated. Then, the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0073]
If KAF <#KAFEVAIL is not satisfied in step S413 described above, a predetermined holding determination value #KAFEVAIM (specifically 0.992) in which the air-fuel ratio feedback coefficient KAF is slightly larger than the addition switching determination value #KAFEVAIL in step S418. Or less).
[0074]
If KAF <#KAFEVAIM is not satisfied in step S418, the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated without changing the purge correction coefficient calculation correction coefficient KEVACT, and the purge correction coefficient KAFEVACT is set. Returning to the flowchart of the calculation process (KAFEVACT_CAL).
[0075]
On the other hand, if KAF <#KAFEVAIM in step S418, that is, if the air-fuel ratio feedback coefficient KAF is lower than #KAFEVAIM (0.992), the target air-fuel ratio coefficient KCMD is subtracted from the actual air-fuel ratio coefficient KACT in step S419. It is determined whether or not the determined value is equal to or less than a predetermined holding determination value #DKAFEVIM (specifically 0.003). If KACT-KCMD ≦ # DKAFEVIM, that is, on the lean side, purge correction is performed. This cycle of the coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) ends, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0076]
On the other hand, if KACT−KCMD ≦ # DKAFEVIM is not satisfied in step S419, that is, if it is rich, in step S420, the update amount DKEVACT for increasing the purge correction coefficient calculation correction coefficient KEVACT is set to # DKEVACT2. Become. The addition process of steps S415 to S417 described above is performed, the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0077]
That is, the processing from step S408 to S420 described above is performed when the deviation | KCMD-KACT | is small. The purge correction coefficient calculation correction for correcting the purge correction coefficient KAFEVACT according to the magnitude of the air-fuel ratio feedback coefficient KAF. The updated value DKEVACT of the coefficient KEVACT is selected. Specifically, when the air-fuel ratio feedback coefficient KAF is larger than the subtraction determination value #KAFEVAIH (specifically 1.063) exceeding the median value (specifically 1.0), the subtraction amount is used as the update amount DKEVACT. # DKEVAIM1 (specifically 0.0005) is selected and set, the upper and lower subtraction determination values #KAFEVAAIH (specifically 1.063) or less and the holding determination value #KAFEVAIM (specifically 0) across the median .992) In the above range, the purge correction coefficient calculation correction coefficient KEVACT is not changed, and the addition switching determination value #KAFEVAIL (specifically smaller than the holding determination value #KAFEVAIM (specifically 0.992) below this range) In the range of 0.953) or more, when the deviation | KCMD−KACT | is large, the update amount DKEVACT is reduced by a small addition amount #DK. VACI2 (specifically 0.0001) is selected and set, and if it is smaller than the addition switching determination value #KAFEVAIL (specifically 0.953) that is much lower than the median value (specifically 1.0), it is updated. For example, a large addition amount # DKEVACI3 (specifically 0.0005) is selectively set as the amount DKEVACT.
[0078]
If the deviation | KCMD−KACT | ≦ # DKAFEVIC is not satisfied in step S407 described above, that is, if the deviation | KCMD−KACT | is large, the actual air-fuel ratio coefficient KACT is smaller than the target air-fuel ratio coefficient KCMD in step S421. It is determined whether or not the actual air-fuel ratio is leaner or richer than the target air-fuel ratio.
[0079]
If KACT <KCMD in step S421, that is, if the actual air-fuel ratio is leaner than the target air-fuel ratio, the update amount DKEVACT for updating the purge correction coefficient calculation correction coefficient KEVACT is increased in step S422. As the predetermined subtraction amount # DKEVAIM2 (specifically 0.0005), the subtraction process of steps S410 to S412 described above is performed, and this cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is completed. Returning to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0080]
On the other hand, if KACT <KCMD is not satisfied in step S421, that is, if the actual air-fuel ratio is richer than the target air-fuel ratio, the update amount DKEVACT for updating the purge correction coefficient calculation correction coefficient KEVACT is set in step S423. The addition processing in steps S415 to S417 described above is performed as a predetermined addition amount # DKEVACI1 (specifically 0.001), and this cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is completed. Returning to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0081]
Here, to summarize the magnitude relationship of the above numerical values, #KAFEVAIH>#KAFEVAIM>#KAFEVAIL,# DKEVAIM1 <# DKEVAIM2, and # DKEVACI2 <# DKEVACI3 <# DKEVACI1.
[0082]
"Idle state"
If F_IDLE = 1 is not satisfied in step S401, that is, if the internal
[0083]
In step S424, if TKEVACTI = 0 is not satisfied, that is, if the predetermined non-idle transition delay time has not elapsed since switching from the idle state to the idle state, the process proceeds to step S407 described above.
[0084]
On the other hand, in this step S424, when TKEVACTI = 0, that is, when a predetermined non-idle transition delay time has elapsed since switching from the idle state to the outside of the idle state, it is almost the same as the above-described steps S407 to S423. Processing with different judgment values and update values is performed. That is, in step S425, a deviation | KCMD-KACT | between the actual air-fuel ratio coefficient KACT and the target air-fuel ratio coefficient KCMD based on the output of the
[0085]
If the deviation | KCMD−KACT | ≦ # DKFAFEVAC is not satisfied in step S425, that is, if the deviation | KCMD−KACT | is large, the process proceeds to step S433 described later.
[0086]
On the other hand, if the deviation | KCMD−KACT | ≦ # DKAFACEVAC is small in step S425, that is, if the deviation | KCMD−KACT | is small, a predetermined subtraction determination value in which the air-fuel ratio feedback coefficient KAF is large in step S426. It is determined whether it is larger than #KAFEVAH (specifically, 1.078).
[0087]
In step S425, if KAF>#KAFEVAH, that is, if the air-fuel ratio feedback coefficient KAF is higher than #KAFEVAH exceeding the median value, the purge correction coefficient calculation correction coefficient KEVACT is decreased.
In step S427, the update amount DKEVACT for updating the purge correction coefficient calculation correction coefficient KEVACT is set to a predetermined subtraction amount # DKEVAM1 (specifically 0.0005), and the purge correction coefficient calculation correction coefficient KEVACT is calculated (step S427). This cycle of (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0088]
On the other hand, if KAF>#KAFEVAH is not satisfied in step S426, it is determined in step S428 whether or not the air-fuel ratio feedback coefficient KAF is smaller than a predetermined addition switching determination value #KAFEVAL (specifically 0.953). judge.
[0089]
In step S428, if KAF <#KAFEVAL, that is, if the air-fuel ratio feedback coefficient KAF is lower than #KAFEVAL, the purge correction coefficient calculation correction coefficient KEVACT is increased.
In step S429, the update amount DKEVACT is set to a predetermined addition amount # DKEVACT3 (specifically 0.002).
[0090]
Then, the addition process of steps S415 to S417 is performed, the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0091]
If KAF <#KAFEVAL is not satisfied in step S428 described above, the air-fuel ratio feedback coefficient KAF is slightly larger than the addition switching determination value #KAFEVAL in step S430, and a predetermined holding determination value #KAFEVALAM (specifically 0.992). Or less).
[0092]
If KAF <#KAFEVAM is not satisfied in step S430, the purge correction coefficient calculation correction coefficient KEVACT is not changed, the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated, and the purge correction coefficient KAFEVACT is set. Returning to the flowchart of the calculation process (KAFEVACT_CAL).
[0093]
On the other hand, if KAF <#KAFEVAM in step S430, that is, if the air-fuel ratio feedback coefficient KAF becomes low, the value obtained by subtracting the target air-fuel ratio coefficient KCMD from the actual air-fuel ratio coefficient KACT in step S431 is a predetermined hold determination value. It is determined whether or not #DKAFEVM (specifically, 0.003) or less. If KACT−KCMD ≦ # DKAFEVM, that is, on the lean side, the purge correction coefficient calculation correction coefficient KEVACT calculation process ( This cycle of (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0094]
On the other hand, if KACT−KCMD ≦ # DKAFEVM is not satisfied in step S431, that is, if it is rich, an update amount DKEVACT for increasing the purge correction coefficient calculation correction coefficient KEVACT is set in step S432.
The addition process of steps S415 to S417 described above is performed, the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is terminated, and the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0095]
That is, in the processes from step S426 to S432 described above, when the deviation | KCMD-KACT | is small, the purge correction coefficient calculation correction for correcting the purge correction coefficient KAFEVACT according to the magnitude of the air-fuel ratio feedback coefficient KAF. The updated value DKEVACT of the coefficient KEVACT is selected. Specifically, when the air-fuel ratio feedback coefficient KAF is larger than the subtraction determination value #KAFEVAH, the subtraction amount # DKEVAM1 (specifically 0.0005) is selected and set as the update amount DKEVACT, and the subtraction determination value #KAFEVAH or less. Further, the purge correction coefficient calculation correction coefficient KEVACT is not changed in the range above the holding determination value #KAFEVAM, and is updated depending on the condition in the range below the holding determination value #KAFEVAM below this range and above the addition switching determination value #KAFEVAL. A small addition amount # DKEVACT2 (specifically 0.001) is selected and set as the amount DKEVACT, and when it is smaller than the addition switching determination value #KAFEVAL, a large addition amount # DKEVACT3 (specifically 0.002) as the update amount DKEVACT. ) Is selected and set.
[0096]
If the deviation | KCMD−KACT | ≦ # DKAFACEVAC is not satisfied in step S425 described above, that is, if the deviation | KCMD−KACT | is large, the actual air / fuel ratio coefficient KACT is smaller than the target air / fuel ratio coefficient KCMD in step S433. It is determined whether or not the actual air-fuel ratio is leaner or richer than the target air-fuel ratio.
[0097]
If KACT <KCMD in step S433, that is, if the actual air-fuel ratio is leaner than the target air-fuel ratio, the update amount DKEVACT for updating the purge correction coefficient calculation correction coefficient KEVACT is increased in step S434. As the predetermined subtraction amount # DKEVAM2 (specifically 0.001), the subtraction process in steps S410 to S412 described above is performed, and this cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is completed. Returning to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0098]
On the other hand, if KACT <KCMD is not satisfied in step S433, that is, if the actual air-fuel ratio is richer than the target air-fuel ratio, the update amount DKEVACT for updating the purge correction coefficient calculation correction coefficient KEVACT is set in step S435. The addition process of steps S415 to S417 described above is performed as a considerably large predetermined addition amount # DKEVACT1 (specifically 0.003), and the current cycle of the purge correction coefficient calculation correction coefficient KEVACT calculation process (KEVACT_CAL) is performed. Then, the process returns to the flowchart of the purge correction coefficient KAFEVACT calculation process (KAFEVACT_CAL).
[0099]
Here, to summarize the magnitude relationship of the above numerical values, #KAFEVAH>#KAFEVAM>#KAFEVAL,# DKEVAM1 <# DKEVAM2, and # DKEVACT2 <# DKEVACT3 <# DKEVACT1.
[0100]
Further, # DKEVAM1># DKEVAIM1, # DKEVAM2># DKEVAIM2, # DKEVACT1># DKEVACI1, # DKEVACT2># DKEVACI2, # DKEVACT3># DKEVACI3.
[0101]
FIGS. 8 and 9 are flowcharts showing a process for driving and controlling the
[0102]
First, in step S101 shown in FIG. 8, an air flow rate conversion coefficient KQAIR set so as to decrease as the target air-fuel ratio coefficient KCMD increases is obtained by table search. The target air-fuel ratio coefficient KCMD is proportional to the reciprocal of the air-fuel ratio (A / F), that is, the fuel-air ratio (F / A), and the value corresponding to the theoretical air-fuel ratio is 1.0.
Next, the process proceeds to step S102, where the basic fuel injection amount TIM, the target air-fuel ratio coefficient KCMD, the rotational speed NE, and the air flow rate conversion set according to the rotational speed NE of the internal
[0103]
Next, the process proceeds to step S103, and it is determined whether or not the purge execution permission flag F_PGACT for determining whether or not to permit the purge execution by operating the
When it is determined that this determination result is “NO”, that is, when it is determined that the execution of the purge is to be stopped, the processing from step S120 described later is performed.
On the other hand, if it is determined that the determination result in step S103 is “YES”, that is, if purge execution is permitted, the process proceeds to step S104, where the flag value of the fuel supply stop execution flag F_FC is “1”. It is determined whether or not there is.
When it is determined that the determination result is “YES”, that is, when it is determined that the fuel supply to the internal
[0104]
In step S105, 0% is set to a target purge control valve drive duty value PGCMD, which will be described later, and the process proceeds to step S106. Next, in step S106, the target purge flow rate QPGC is set to zero, and the process proceeds to step S107. The purge control valve drive duty value is a duty ratio when the
In step S107 shown in FIG. 9, it is determined whether the determination purge flow rate limiting coefficient KPGTJUD is equal to or less than the purge flow rate limiting coefficient KPGT.
When it is determined that the determination result is “NO”, the processing in step S128 and later is performed. On the other hand, if it is determined that the determination result is “YES”, the process proceeds to step S108, the purge flow rate limiting coefficient KPGT is set to the determination purge flow rate limiting coefficient KPGTJUD, and the process proceeds to step S128 described later.
The determination purge flow rate limiting coefficient KPGTJUD is for holding the value of the purge flow rate limiting coefficient KPGT before the stop, for example, when the execution of the purge is temporarily stopped and then restarted.
[0105]
On the other hand, when it is determined that the determination result in step S104 is “NO”, the process proceeds to step S109.
In step S109, it is determined whether or not the full open increase execution flag F_WOT is “1”.
If it is determined that the determination result is “YES”, the flow proceeds to step S111 described later. On the other hand, if it is determined that the determination result is “NO”, the process proceeds to step S110.
[0106]
In step S110, based on the output from the
If it is determined that the determination result is “NO”, the process proceeds to step S105. On the other hand, if it is determined that the determination result is “YES”, the flow proceeds to step S111.
[0107]
In step S111, it is determined whether or not the flag value of the idle stop flag F_IDLSTP is “1”.
The idling stop is a process in which the
When the flag value of the idle stop flag F_IDLSTP is set to “1”, for example, after the vehicle speed V reaches a predetermined vehicle speed (including zero) at the time of deceleration of the vehicle, the shift position is set to neutral or P (parking). ) Position, or when the brake pedal is depressed even if the shift position is in the D (forward) position or the R (reverse) position. However, even if the internal
The case where the internal
When it is determined that the determination result in step S111 is “YES”, that is, when it is determined that the idling stop of the internal
On the other hand, if it is determined that the determination result is “NO”, that is, if it is determined that the idling stop is not being executed, the process proceeds to step S112, a PGCMD calculation process described later is executed, and the process proceeds to step S113. move on.
That is, when the internal combustion engine
[0108]
In step S113 shown in FIG. 9, it is determined whether or not the target purge control valve drive duty value PGCMD is equal to or greater than a predetermined high-side purge control valve drive duty threshold value #DOUTPGH (for example, 100%).
When it is determined that the determination result is “YES”, that is, when it is determined that the target purge control valve drive duty value PGCMD has overflowed, the process proceeds to step S114, and a predetermined high-side purge control valve drive duty is set. The threshold value #DOUTPGH is set to the purge control valve drive duty value DOUTPG, and the process proceeds to step S117 described later.
[0109]
On the other hand, when it is determined that the determination result in step S113 is “NO”, that is, when it is determined that the target purge control valve drive duty value PGCMD has not overflowed, the routine proceeds to step S115, where the target purge control valve It is determined whether or not the drive duty value PGCMD is equal to or less than a predetermined low-side purge control valve drive duty threshold value #DOUTPGL (for example, 0%).
When it is determined that the determination result is “YES”, that is, when it is determined that the target purge control valve drive duty value PGCMD is underflowing, the process proceeds to step S128 described later.
On the other hand, if it is determined that the determination result in step S115 is “NO”, that is, if it is determined that the target purge control valve drive duty value PGCMD is not underflowing, the process proceeds to step S116, where target purge control is performed. The valve drive duty value PGCMD is set to the purge control valve drive duty value DOUTPG, and the process proceeds to step S117.
[0110]
In step S117, a predetermined timer value #TMPGOFF (for example, 1.0 s) is set in a predetermined time detection timer TMPGOFF after completion of the purge, and the process proceeds to step S118.
In step S118, the value obtained by subtracting the purge control valve drive duty value voltage correction DPGCVB from the purge control valve drive duty value DOUTPG and further dividing by the initial target purge control valve drive duty value PGCMD0 is purged. Set to control valve drive duty value ratio PGRATE.
The purge control valve drive duty value voltage correction DPGCVB corrects the rising delay of the purge control valve drive duty value DOUTPG according to the voltage supplied to the
Next, in step S119, a value obtained by dividing the target purge flow rate QPGC by the target purge flow rate basic value QPGCBASE is set to the target purge flow rate ratio QRATE, and the series of processing ends.
[0111]
In step S120 shown in FIG. 8, 0% is set to the purge control valve drive duty value DOUTPG. Then, the target purge control valve drive duty value PGCMD is set to 0% (step S121), the target purge flow rate QPGC is set to zero (step S122), and the process proceeds to step S123.
In step S123, a predetermined purge start flow rate limiting coefficient #KPGTINI (for example, 0.120) is set in the purge flow rate limiting coefficient KPGT. Then, a predetermined after-start update timer value # TMPGT0 (for example, 10 s) is set in the purge flow rate limiting coefficient KPGT update timer TMPGT (step S124), and then a predetermined timer value is set in a predetermined time detection timer TMPGOFF after the purge is completed. #TMPGOFF (for example, 1.0 s) is set (step S125), and the process proceeds to step S126.
In step S126, “0” is set to the flag value of the purge flow rate restriction coefficient KPGT calculation execution flag F_KPGTON. Then, zero is set to the determination purge flow rate limiting coefficient KPGTJUD (step S127), and the processing after step S135 described later is performed.
[0112]
In step S128, it is determined whether the purge flow rate restriction coefficient KPGT calculation execution flag F_KPGTON is “1”.
When it is determined that the determination result is “NO”, for example, the purge flow rate at the time of purge execution immediately after the start of the internal
[0113]
On the other hand, when it is determined that the determination result in step S128 is “YES”, that is, when the purge flow rate restriction coefficient KPGT is being calculated at the start of purge execution, the purge flow rate restriction coefficient KPGT update timer TMPGT is set. A predetermined update timer value #TMPGTS (for example, 0.3 s) is set (step S131), and then the purge flow rate limiting coefficient KPGT is equal to or larger than a predetermined purge resumption flow rate limiting coefficient #KPGTREST (for example, 0.320). It is determined whether or not (step S132).
If it is determined that the determination result is “NO”, the processing in step S134 and later described below is performed. On the other hand, if it is determined that the determination result is “YES”, a predetermined purge resumption flow rate limiting coefficient #KPGTREST (for example, 0.320) is set in the purge flow rate limiting coefficient KPGT (step S133), and step S133 is performed. The process proceeds to S134.
[0114]
In step S134, 0% is set to the purge control valve drive duty value DOUTPG, and the process proceeds to step S135.
In step S135, the purge control valve drive duty value ratio PGRATE is set to zero. Then, the target purge flow rate ratio QRATE is set to zero (step S136), and the series of processes is terminated.
[0115]
Next, the PGCMD calculation process in step S112 described above will be described with reference to the attached drawings. In this process, the target purge flow rate QPGC is calculated, and the target purge control valve drive duty value PGCMD is calculated based on the target purge flow rate QPGC. In the following, a process for calculating the target purge flow rate QPGC will be described in particular.
[0116]
First, in step S201 shown in FIG. 10, a value obtained by multiplying the air flow rate QAIR by a predetermined target purge rate #KQPGB (for example, 0.150) is set to the target purge flow rate basic value QPGCBASE, and the process proceeds to step S202.
Note that the target purge rate #KQPGB is a correction coefficient for correcting that the purge flow rate changes according to the absolute intake pipe negative pressure PBA even if the opening of the
In step S202, it is determined whether or not the target purge flow rate basic value QPGCBASE is larger than a predetermined purge flow rate upper limit value #QPGMAX (for example, 35 liters / min).
If it is determined that the determination result is “YES”, the process proceeds to step S203, the purge flow rate upper limit value #QPGMAX is set to the target purge flow value QPGCMD, and the process proceeds to step S207 described later.
[0117]
On the other hand, when it is determined that the determination result in step S202 is “NO”, the process proceeds to step S204, and whether or not the target purge flow rate basic value QPGCBASE is smaller than a predetermined purge flow rate lower limit value #QPGMIN (for example, 0). Determine.
If it is determined that the determination result is “YES”, the process proceeds to step S205, the purge flow rate lower limit value #QPGMIN is set to the target purge flow value QPGCMD, and the process proceeds to step S207 described later.
On the other hand, if it is determined that the determination result in step S204 is “NO”, the process proceeds to step S206, the target purge flow rate value QPGCMD is set to the target purge flow rate basic value QPGCBASE, and the process proceeds to step S207.
[0118]
In step S207, it is determined whether the flag value of the idle operation flag F_IDLE is “1”.
When it is determined that the determination result is “NO”, that is, when it is determined that the internal
On the other hand, if it is determined that the determination result in step S207 is “YES”, the process proceeds to step S208, and the lowland area set to decrease as the purge correction coefficient KAFEVACT increases as shown in FIG. The side purge throttle coefficient #KPGTSPL and the high ground side purge throttle coefficient #KPGTSPH are obtained by table search.
As shown in FIG. 13, the purge flow rate is decreased when the purge correction coefficient KAFEVACT is increased, so that the purge flow rate is decreased when the purge concentration is high. In addition, the opening time of the
[0119]
In step S209, as shown in FIG. 14, the low-side and high-side purge throttle coefficient search values KPGTSPL / H are sequentially set to predetermined low-side grid points #PAKPGTL (for example, 61.3 kPa) regarding the atmospheric pressure PA. Then, the purge throttle coefficient KPGTSP is obtained by performing interpolation calculation with respect to an appropriate value of the atmospheric pressure PA in correspondence with the high altitude side lattice point #PAKPGTH (97.3 kPa).
That is, for example, at high altitude, the fuel value during idling operation decreases, so the purge throttle coefficient KPGTSP is decreased.
[0120]
Next, in step S210, it is determined whether the purge flow rate restriction coefficient KPGT is equal to or less than the purge throttle coefficient KPGTSP.
If it is determined that the determination result is “NO”, the process proceeds to step S211 shown in FIG. 11, the purge throttle coefficient KPGTSP is set in the purge flow rate limiting coefficient KPGT, and the purge is performed to the determination purge flow rate limiting coefficient KPGTJUD. The aperture coefficient KPGTSP is set (step S212), and the processes in step S216 and later are performed.
On the other hand, if it is determined that the determination result in step S210 is “YES”, the process proceeds to step S213, and it is determined whether or not the purge flow rate restriction coefficient KPGT update timer TMPGT is zero.
When it is determined that the determination result is “NO”, the processing in step S227 and later described below is performed.
[0121]
On the other hand, if it is determined that the determination result in step S213 is “YES”, the process proceeds to step S214 shown in FIG. 11, and the flag value of the purge flow rate restriction coefficient KPGT calculation execution flag F_KPGTON is set to “1”.
Then, a value obtained by adding a predetermined addition value #DKPGT (for example, 0.008) to the purge flow rate limiting coefficient KPGT is set as a new purge flow rate limiting coefficient KPGT (step S215), and the process proceeds to step S216.
In step S216, it is determined whether or not the purge flow rate restriction coefficient KPGT is larger than “1.0”.
If it is determined that the determination result is “NO”, the flow proceeds to step S218 described later. On the other hand, if it is determined that the determination result is “YES”, “1.0” is set to the purge flow rate restriction coefficient KPGT (step S217), and the process proceeds to step S218.
[0122]
In step S218, it is determined whether or not the purge flow rate limiting coefficient KPGT is equal to or greater than the determination purge flow rate limiting coefficient KPGTJUD.
If it is determined that the determination result is “NO”, the process advances to step S219 to determine whether or not the flag value of the idle operation flag F_IDLE is “1”.
When it is determined that the determination result in step S219 is “YES”, a predetermined update timer value #TMPGTSI (for example, 2.8 s) is set in the purge flow rate restriction coefficient KPGT update timer TMPGT (step S220). Steps S227 and later are performed as will be described later.
On the other hand, when it is determined that the determination result in step S219 is “NO”, a predetermined update timer value #TMPGTS (eg, 0.3 s) is set in the purge flow rate restriction coefficient KPGT update timer TMPGT (step S221). ), The process from step S227 described later is performed.
[0123]
When it is determined that the determination result in step S218 is “YES”, the process proceeds to step S222, and it is determined whether or not the flag value of the idle operation flag F_IDLE is “1”.
When it is determined that the determination result in step S222 is “YES”, as shown in FIG. 12, a table search for the update timer value #TMPGTLI set so as to increase with the increase of the purge correction coefficient KAFEVACT is performed. Thus, the update timer search value TMPGTLLI is obtained (step S223).
Then, the update timer search value TMPGTLI is set in the purge flow rate restriction coefficient KPGT update timer TMPGT (step S224), and the processing after step S227 described later is performed.
[0124]
On the other hand, when it is determined that the determination result in step S222 is “NO”, as shown in FIG. 12, the update timer value #TMPGTL set so as to increase as the purge correction coefficient KAFEVACT increases. An update timer search value TMPGTL is obtained by table search (step S225). Then, the update timer search value TMPGTL is set in the purge flow rate limiting coefficient KPGT update timer TMPGT (step S226), and the process proceeds to step S227.
In step S227, a value obtained by multiplying the target purge flow rate value QPGCMD by the purge flow rate limiting coefficient KPGT is set in the target purge flow rate QPGC, and the series of processes is terminated.
[0125]
That is, when the purge flow rate limiting coefficient KPGT gradually increases and becomes equal to the purge throttle coefficient KPGTSP, the update rate of the purge flow rate limiting coefficient KPGT is decreased. Further, in the idle operation state, the update rate of the purge flow rate restriction coefficient KPGT is reduced.
[0126]
【The invention's effect】
As is clear from the above description, according to the present invention, the following effects can be obtained.
According to the first aspect of the present invention, the update amount calculation means determines the update amount of the purge correction amount in accordance with the target air fuel ratio set by the target air fuel ratio setting means. In comparison, when the actual air-fuel ratio is lean, it is possible to set the update amount of the purge correction amount gradually, and it is possible to prevent a decrease in engine speed, engine stall, etc. due to overlean.
[0127]
Also When the purge cut is performed, the correction amount for reducing the amount of fuel supplied to the internal combustion engine does not immediately become “0” but can be gradually shifted to “0”, so that it remains in the system. It is possible to prevent the actual air-fuel ratio from becoming rich due to the influence of the evaporated fuel.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of the present invention.
FIG. 2 is a subroutine flow chart showing a procedure for calculating a purge correction coefficient KAFEVACT.
FIG. 3 is a subroutine flow chart showing a procedure for calculating a purge concentration coefficient KAFEV executed in step S007 of FIG. 2;
4 is a subroutine flow chart showing a calculation procedure of a target purge correction coefficient KAFEVACZ executed in step S015 of FIG.
FIG. 5 is a table for searching a temporary variable NEVDLYT from the engine speed NE.
FIG. 6 is a diagram for searching a table for a purge concentration coefficient calculation determination deviation DKAFEV from an air flow rate QAIR.
FIG. 7 is a table for searching a table for an addition / subtraction term DKEVAPO2 from a target air-fuel ratio coefficient KCMD.
FIG. 8 is a flowchart showing a process for driving and controlling a purge control valve in order to set the purge flow rate to a predetermined flow rate.
FIG. 9 is a flowchart showing a process for driving and controlling the purge control valve in order to set the purge flow rate to a predetermined flow rate.
10 is a flowchart showing a target flow rate calculation (QPG_CAL) process in the PGCMD calculation process shown in FIG.
11 is a flowchart showing a target flow rate calculation (QPG_CAL) process in the PGCMD calculation process shown in FIG.
FIG. 12 is a graph of an update timer value TMPGTL / LI that changes in accordance with a purge correction coefficient KAFEVACT.
FIG. 13 is a graph of the low-ground side and high-ground side purge throttle coefficient KPGTSPL / H that changes in accordance with the purge correction coefficient KAFEVACT.
FIG. 14 is a graph of a purge throttle coefficient KPGTSP that changes according to the atmospheric pressure PA.
FIG. 15 is a flowchart illustrating a part of a calculation process of a purge correction coefficient calculation correction coefficient KEVACT that is a correction amount for correcting the purge correction coefficient KAFEVACT.
FIG. 16 is a flowchart of another part of the calculation process of the purge correction coefficient calculation correction coefficient KEVACT, which is a correction amount for correcting the purge correction coefficient KAFEVACT.
[Explanation of symbols]
1 Internal combustion engine body (internal combustion engine)
5 ECU (purge correction amount calculation means, target air-fuel ratio setting means, air-fuel ratio correction amount calculation means, update amount calculation means, fuel supply amount determination means)
41 Fuel tank
42 passage (part of purge means)
43 Purge passage (part of purge means)
44 Purge control valve (part of purge means)
45 Canister (part of purge means)
46 2-way valve (part of purge means)
Claims (1)
前記パージ手段によるパージ量に応じて前記内燃機関に供給する燃料量を減量補正するパージ補正量を算出するパージ補正量算出手段と、
前記内燃機関の運転状態に応じて目標空燃比を設定する目標空燃比設定手段と、
前記目標空燃比設定手段により設定された目標空燃比になるよう前記内燃機関に供給される混合気の空燃比を制御する空燃比補正量を算出する空燃比補正量算出手段と、
アイドル中であるか走行中であるかを判別する判別手段を有し、走行中と判別されると前記目標空燃比に応じてリーン領域では小さい値をとり、リッチ領域に移行するに従い値が大きくなるように前記パージ補正量の更新量を決定する第1更新量決定手段と、
実空燃比と前記目標空燃比との偏差に基づいて前記パージ補正量の更新量を決定する第2更新量決定手段と、
前記第1更新量決定手段により決定された更新量及び前記第2更新量決定手段により決定された更新量により更新されたパージ補正量、及び空燃比補正量に応じて前記内燃機関に供給する燃料量を決定する燃料供給量決定手段とを有し、
前記パージ補正量算出手段は、パージを停止するとき前記補正量を徐々に小さくすることを特徴とする内燃機関の制御装置。Purge means for purging the evaporated fuel generated in the fuel tank to the intake system of the internal combustion engine;
A purge correction amount calculating means for calculating a purge correction amount for correcting a decrease in the amount of fuel supplied to the internal combustion engine in accordance with a purge amount by the purge means;
Target air-fuel ratio setting means for setting a target air-fuel ratio according to the operating state of the internal combustion engine;
Air-fuel ratio correction amount calculating means for calculating an air-fuel ratio correction amount for controlling the air-fuel ratio of the air-fuel mixture supplied to the internal combustion engine so as to be the target air-fuel ratio set by the target air-fuel ratio setting means;
It has a discriminating means for discriminating whether the vehicle is idling or traveling, and when it is determined that the vehicle is traveling, the lean region takes a small value according to the target air-fuel ratio, and the value increases as the rich region is shifted. First update amount determining means for determining an update amount of the purge correction amount so that
Second update amount determination means for determining an update amount of the purge correction amount based on a deviation between an actual air fuel ratio and the target air fuel ratio;
Fuel supplied to the internal combustion engine according to the update amount determined by the first update amount determining means, the purge correction amount updated by the update amount determined by the second update amount determining means , and the air-fuel ratio correction amount have a fuel supply amount determining means for determining the amount,
The control device for an internal combustion engine, wherein the purge correction amount calculating means gradually decreases the correction amount when stopping the purge .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36192499A JP4215917B2 (en) | 1999-12-20 | 1999-12-20 | Control device for internal combustion engine |
US09/739,630 US6390083B2 (en) | 1999-12-20 | 2000-12-20 | Control apparatus for internal combustion engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP36192499A JP4215917B2 (en) | 1999-12-20 | 1999-12-20 | Control device for internal combustion engine |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001173491A JP2001173491A (en) | 2001-06-26 |
JP4215917B2 true JP4215917B2 (en) | 2009-01-28 |
Family
ID=18475315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP36192499A Expired - Fee Related JP4215917B2 (en) | 1999-12-20 | 1999-12-20 | Control device for internal combustion engine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4215917B2 (en) |
-
1999
- 1999-12-20 JP JP36192499A patent/JP4215917B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001173491A (en) | 2001-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3704011B2 (en) | Evaporative fuel processing device for internal combustion engine | |
JP5451687B2 (en) | Engine control device | |
US6516772B2 (en) | Combustion state control system of internal combustion engine | |
JPH0914027A (en) | Control device of internal combustion engine and control device of vehicle | |
EP1043489B1 (en) | Internal combustion engine control apparatus and method | |
JPH0452855B2 (en) | ||
JPH08338325A (en) | Control device for internal combustion engine | |
JP3753166B2 (en) | Evaporative fuel processing device for internal combustion engine | |
US6390083B2 (en) | Control apparatus for internal combustion engine | |
JP4215917B2 (en) | Control device for internal combustion engine | |
JP3803221B2 (en) | Control device for internal combustion engine | |
JPH11101144A (en) | Fuel supply control device for internal combustion engine | |
JP4453187B2 (en) | Control device for internal combustion engine | |
JPH0569985B2 (en) | ||
JP2001073845A (en) | Combustion control device of internal-combustion engine | |
JP3491019B2 (en) | Idle rotation learning control system for electronically controlled throttle internal combustion engine | |
JPH08200166A (en) | Air-fuel ratio control device | |
US6273063B1 (en) | Apparatus and method for controlling idle rotation speed of an internal combustion engine | |
JP3562248B2 (en) | Evaporative fuel treatment system for internal combustion engine | |
JP4452380B2 (en) | Engine control device | |
JP2012002151A (en) | Engine controller | |
JP3384291B2 (en) | Evaporative fuel treatment system for internal combustion engine | |
JP3862934B2 (en) | Evaporative fuel processing device for internal combustion engine | |
JP4421078B2 (en) | In-cylinder injection engine control device | |
JP3384303B2 (en) | Air-fuel ratio control device for internal combustion engine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051205 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080527 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080718 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080806 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081028 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081105 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111114 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |