以下、図面に基づいて本発明の一実施形態を説明する。図1にエンジンの全体構成図を示す。
図中の符号1は4気筒エンジンであり、シリンダブロック2に4気筒分のシリンダ3が形成されている。このシリンダ3にピストン4が往復動可能に挿通され、このピストン4の頂面とシリンダ3とシリンダヘッド5とで形成される閉空間に燃焼室6が形成される。
シリンダヘッド5には、各気筒の燃焼室6に開口する吸気ポート7及び排気ポート8が形成され、この吸気ポート7の上流が吸気通路9に連通され、排気ポート8の下流が排気通路10に連通されている。又、この吸気ポート7、排気ポート8を燃焼室6に対して開閉する吸気弁11、排気弁12がそれぞれ配設されている。
吸気通路9は、その上流側からエアフィルタ(図示せず)、スロットル弁13、コレクタ14、吸気マニホルド15で構成されている。
又、排気通路10は、その上流側から排気マニホルド16、触媒コンバータ(図示せず)、マフラ(図示せず)で構成されている。触媒コンバータには不完全燃焼成分であるHC(炭化水素)及びCO(一酸化炭素)の酸化と、空気中の窒素と燃え残りの酸素とが反応して生成されるNox(窒素酸化物)の還元とを同時に促進する三元触媒が収容されている。
本実施形態では、電子制御スロットルを採用しており、スロットル弁13はアクセルペダル(図示せず)と機械的に接続されておらず、併設するスロットルアクチュエータ17の動作によりスロットル開度が制御される。尚、スロットルアクチュエータ17は、後述するエンジン制御装置(ECU)21からの制御信号により動作される。
又、吸気マニホルド15の下流に、噴孔が吸気弁11及び吸気ポート7方向へ指向されているインジェクタ18が取り付けられ、又、シリンダヘッド5に、発火部が燃焼室6に臨まされている点火プラグ19が取付けられている。この点火プラグ19は所定タイミングで点火され、点火時は点火コイル20に内蔵されているイグナイタにより1次電流の通電を遮断し、その2次電流を点火プラグ19に供給して、発火部を放電させる。
次に、エンジン1の運転状態を検出するセンサ・スイッチ類の構成について説明する。シリンダブロック2に形成されている冷却水通路2aに、エンジン水温をエンジン水温から検出する水温センサ22が臨まされている。又、吸気通路9のエアフィルタ(図示せず)の直下流に吸入空気量を検出する吸入空気量センサ23が臨まされている。又、コレクタ14に吸入空気の温度を検出する吸気温センサ24とスロットル弁13下流の圧力を絶対圧で検出する吸気圧センサ26とが取り付けられている。更に、スロットル弁13にスロットル開度を検出するスロットル開度センサ25と、スロットル弁13の全閉状態を検出するアイドルスイッチ(図示せず)とが連設されている。
更に、排気マニホルド16の下流で、触媒コンバータの直上流に排ガス中の酸素濃度(或いは、未燃ガスである一酸化炭素の濃度)に比例して広域で且つリニアな空燃比信号を出力する空燃比(A/F)センサ27が臨まされている。更に、ピストン4の往復運動を回転運動に変換するクランク軸(図示せず)にクランクロータ31が軸着されており、このクランクロータ31の回転からエンジン回転数を非接触式に検出する、燃焼状態検出手段としてのクランク角センサ28が対設されている。
これら各センサ・スイッチ類で検出した信号は、エンジン制御装置(ECU)21に入力される。ECU21は、CPU、ROM、RAM、バックアップRAMから成る周知のマイクロコンピュータを中心に構成されている。又、CPUは、ROMに記憶されている制御プログラムに従い、各種センサ・スイッチ類からの信号を入力し、燃料噴射制御、点火時期制御、吸入空気量制御等のエンジン運転に係わる各種制御を実行する。尚、バックアップRAMは、バッテリ(図示せず)からバックアップ電源が常時給電されており、イグニッションスイッチをOFFした際にも記憶内容が保持されている。
この中で、点火時期制御は、各種センサ、スイッチの信号に基づき、点火対象気筒を判別すると共に、最適な点火時期を演算し、この点火時期に対応する点火コイル通電期間をクランク角タイミングに換算する。そして、このクランク角タイミングに基づいて、点火対象気筒の1次側点火コイルに通電信号を送り、所定点火時期に達したときイグナイタにて1次側コイルに対する通電を遮断し、点火プラグ19を点火させる。
又、吸入空気量制御は、各種センサ、スイッチの信号、及び水温センサ22で検出したエンジン水温twから決定されるアイドル目標回転数を参照し、このアイドル目標回転数を維持することの出来る吸入空気量を演算する。そして、この吸入空気量を実現するスロットル弁13のスロットル開度を求め、対応する駆動信号をスロットルアクチュエータ17へ出力する。尚、冷態始動時は触媒コンバータを早期活性させるために、暖機完了後のアイドル目標回転数よりも高いファーストアイドル回転数がアイドル目標回転数として設定される。
又、燃料噴射制御は、各種センサ、スイッチの信号に基づき燃料噴射量を演算し、この燃料噴射量を実現するインジェクタ駆動期間をクランク角タイミングに換算する。その後、このクランク角タイミングに基づいて、インジェクタ18へ噴射信号を出力する。又、燃料噴射制御では、排気通路10に設けられているA/Fセンサ27で検出した排ガス中の実際の空燃比(A/F)を読込み、この空燃比が目標空燃比となるように、燃料噴射量をフィードバック制御する。
上述したECU21で処理される始動時の燃料噴射制御は、具体的には、図2〜図8に示すフローチャートに従って実行される。イグニッションスイッチをONすると、先ず、図2に示すイニシャル処理ルーチンが1回のみ実行される。
このルーチンでは、ステップS1で、各種パラメータを初期設定する。すなわち、このステップS1では、水温センサ22で検出したエンジン水温tw[℃]を読込み、これを始動時水温twst[℃]として設定する(twst←tw)。又、燃料噴射回数cntinj、始動時燃料噴射フィードバック制御実施許可フラグxflvlexe、燃料噴射量積算値taustsumをそれぞれリセットする(cntinj←0,xflvlexe←0,taustsum←0)。又、燃料噴射量指標flvlを初期値(3.8)で初期設定し(flvl←3.8)、更に、始動時水温twstに基づいて始動時燃料噴射量フィードバック補正開始燃料噴射回数テーブルtFTINJCNTを参照して、始動時燃料噴射量フィードバック補正開始燃料噴射回数ftinjcntを初期設定する(ftinjcnt←tFTINJCNT(twst))。
燃料噴射量指標flvlは燃料性状を表す指標であり、本実施形態では1〜5の範囲内に設
定されている。すなわち、1が最小燃料噴射量(軽質燃料)を表す指標、5が最大燃料噴
射量(重質燃料)を表す指標である。尚、通常使用されている燃料(ガソリン)は、flvl
=1〜4の範囲であり、flvl=5は極めて重質な燃料を想定している。エンジン始動時、
始動時燃料噴射量フィードバック補正開始燃料噴射回数ftinjcnt未満の場合、固定の燃料噴射量となるため、初爆前の状態では、始動性能の確保を考慮し、燃料噴射量指標flvlを、一般に使用されている重質燃料の最大値(flvl=4)よりもやや軽い値(本実施形態では、3.8)に初期設定するようにしている。
下表に、本実施形態で採用する始動時燃料噴射量フィードバック補正開始燃料噴射回数テーブルtFTINJCNTを示す。
始動時燃料噴射量フィードバック補正開始燃料噴射回数テーブルtFTINJCNTは、始動時水温twstを、例えば10[℃]毎に区分し、区分された各領域に最初の噴射が初爆に至るまでの燃料噴射回数を格納している。尚、本実施形態は4気筒エンジン、排気行程噴射とした場合、最初に噴射した燃料によって得られるエンジン回転数が検出される時点における燃料噴射回数の4[回]で始動時燃料噴射量フィードバック補正開始燃料噴射回数ftinjcntが設定される。従って、6気筒エンジンでは、ftinjcnt=6、8気筒エンジンではftinjcnt=8となる。
次いで、ステップS2へ進み、燃料性状によって燃料噴射に顕著な差が生じる温度帯か否かを、始動時水温twstが、判定下限水温kTWSTLと判定上限水温kTWSTHとの間にあるか否かで調べる。燃料の揮発性は燃料性状と温度によって異なるため、エンジン始動時水温twstを参照して燃料性状によって燃料噴射量に顕著な差が生じる温度帯を始動時燃料噴射フィードバック制御の実施条件としている。判定下限水温kTWSTLと判定上限水温kTWSTHは、予め実験などに基づいて設定したもので、本実施形態では、kTWSTL=20[℃]、kTWSTH=30[℃]に設定されている。
そして、kTWSTL≦twst≦kTWSTHのときは、燃料が燃料性状によって燃料噴射に顕著な差が生じる温度帯にあると判定してステップS3へ進む。又、twst<kTWSTL、或いはkTWSTH<twstのときは、燃料が燃料性状の影響をほとんど受けない温度帯にある、すなわち、始動時燃料噴射フィードバック制御を実行しても、燃費及び排気エミッションが大きく変化することはないと判定し、そのままルーチンを終了する。又、ステップS3へ進むと、始動時燃料噴射フィードバック制御実施許可フラグxflvlexeをセットして(xflvlexe←1)、ルーチンを終了する。
図3に示す燃料噴射回数算出ルーチンは、ECU21からインジェクタ18に対して噴射信号が出力される都度に起動される。そして、ステップS11で、燃料噴射回数cntinjをインクリメントして(cntinj←cntinj+1)、ルーチンを抜ける。
又、図4に示す燃料噴射制御ルーチンが各気筒の圧縮上死点(TDC)毎、すなわち、720[deg-CA]/気筒数毎に実行される。尚、本実施形態は4気筒エンジンであるため、この燃料噴射制御ルーチンは180[deg-CA]毎に実行される。
そして、先ず、ステップS21で、180[deg-CA]分のクランクパルスと、その所要時間とに基づきエンジン回転数neを算出し、RAMに一時格納する。又、ステップS22では、水温センサ22で検出したエンジン水温twを読込み、RAMに一時格納する。
次いで、ステップS23へ進み、始動時燃料噴射フィードバック制御実施許可フラグxflvlexeの値を参照し、始動時燃料噴射フィードバック制御の実施が許可状態にあるか否かを調べる。そして、xflvlexe=0の実施不可の場合はステップS24へ進み、又、xflvlexe=1の実施許可のときはステップS25へ進む。
ステップS24へ進むと、始動時燃料噴射制御用の始動後判定条件を設定してステップS26へ進む。又、ステップS25へ進むと、始動時燃料噴射フィードバック制御用の始動後判定条件を設定してステップS26へ進む。
ステップS24、或いはステップS25で設定する始動後判定条件は、始動時水温twstを参照して、始動後判定下限回転数nelと始動後判定上限回転数nehと始動後判定燃料噴射回数injcntに基づいて設定される。
すなわち、下表2に示すように、始動時燃料噴射制御用の始動後判定条件(始動後判定下限回転数nel、始動後判定上限回転数neh、
始動後判定燃料噴射回数injcnt)は、始動時水温twstに基づき、始動後判定下限回転数テーブルtNEL、始動後判定上限回転数テーブルtNEH、
始動後判定燃料噴射回数テーブルtINJCNTを参照して設定される。尚、本実施形態では、始動時水温twst
=20[℃],30[℃]に対して、各テーブルtNEL,tNEH,tINJCNT毎に、同じ値の始動後判定下限回転数nel(=300[rpm])、始動後判定上限回転数neh(=500[rpm])、
始動後判定燃料噴射回数injcnt(=4[回])が格納されている。
始動時燃料噴射制御時の燃料噴射量は、重質燃料が使用された場合にも始動性を確保するため、燃料噴射回数に拘らずほぼ固定の値が設定される。燃料噴射量の多い始動時燃料噴射制御が長い間続くと、点火プラグがくすぶり、失火の原因となってしまう。そのため、始動後判定上限回転数nehを比較的低い値(表においては500[rpm])に設定し、エンジン回転数neの上昇が検出された場合、直ちに始動後燃料噴射制御に切り替える。
又、最も燃料噴射量の多い各気筒初回の燃料噴射が実施される以前に始動後判定が成立し(例えば、インジェクタ18の油密漏れによって吸気系上流に可燃空気が充満している場合、エンジン始動の初期動作であるクランキング時に、燃料噴射が実施されていない気筒に対する点火によってエンジン回転数が上昇する状態)、ポートウエット(吸気ポート噴射において気化せずに吸気ポートや吸気弁に付着している燃料を指し、次サイクルの燃焼に寄与する)の不足が原因で完爆エンスト(十分にエンジン回転数が上昇した後(1000[rpm]程度)エンストする場合)することがある。従って、始動時燃料噴射制御では、確実に各気筒初回の燃料噴射を実施させるために、始動後判定燃料噴射回数injcntを気筒数(4気筒エンジンでは4)に設定する。
又、始動後判定下限回転数nelは、始動後判定が成立した後、エンジン回転数neが始動後判定下限回転数nelを下回ったときに始動後判定を解除する条件であるため、始動時燃料噴射制御、及び後述する始動時燃料噴射フィードバック制御では、クランキング回転数+α(100[rpm])程度(表においては300[rpm])に設定されている。
又、下表3に示すように、始動時燃料噴射フィードバック制御用の始動後判定条件(始動後判定下限回転数nel、始動後判定上限回転数neh、
始動後判定燃料噴射回数injcnt)は、始動時水温twstに基づき、始動後判定下限回転数テーブルtFLVLNEL、始動後判定上限回転数テーブルtFLVLNEH、
始動後判定燃料噴射回数テーブルtFLVLINJCNTを参照して設定される。尚、本実施形態では、始動時水温twst
=20[℃],30[℃]に対して、各テーブルtFLVLNEL,tFLVLNEH,t
FLVLINJCNT毎に
、始動後判定下限回転数nel(300[rpm])、始動後判定上限回転数neh(1400[rpm])、
始動後判定燃料噴射回数injcnt(20[回])が格納されている
。
その後、ステップS26へ進むと、ステップS24、或いはステップS25で設定したパラメータに基づき、始動後判定条件が満足されているか否かを調べる。
すなわち、エンジン回転数neと始動後判定下限回転数nel及び始動後判定上限回転数nehとを比較し、且つ、燃料噴射回数cntinjと始動後判定燃料噴射回数injcntとを比較する。そして、エンジン回転数neが始動後判定下限回転数nel以上(ne≧nel)で、且つ始動後判定上限回転数neh以上(ne≧neh)を経験し、且つ燃料噴射回数cntinjが始動後判定燃料噴射回数injcnt以上(cntinj≧injcnt)のときは、始動後判定条件成立と判定し、ステップS30へ分岐する。又、エンジン回転数neが始動後判定下限回転数nel未満(ne<nel)、或いは始動後判定上限回転数neh以上(ne≧neh)の経験がなく、或いは燃料噴射回数cntinjが始動後判定燃料噴射回数injcnt未満(cntinj<injcnt)のときは、始動後判定条件不成立と判定し、ステップS27へ進む。
始動時燃料噴射フィードバック制御では、燃料噴射量が噴射毎に適正な値に設定されるため、点火プラグがくすぶることは殆ど無いこと、及びファーストアイドル回転数以上のエンジン回転数の上昇は必要としないことから、始動後判定上限回転数nehはファーストアイドル回転数(表においては1400[rpm])に設定されている。
更に、燃料噴射回数cntinjは、燃料性状に応じた適正な燃料噴射量とした場合におけるファーストアイドル回転数に到達するまでに必要な値(表では20回)に設定されている。この燃料噴射回数が、後述する始動時燃料噴射フィードバック制御ルーチンで算出される燃料噴射量積算値taustsumの積算回数となる。尚、始動後判定下限回転数nelについては上述した通りである。
又、ステップS27へ進むと、始動時燃料噴射フィードバック制御実施許可フラグxflvlexeの値を再度調べ、xflvlexe=0の実施不可の場合はステップS28へ進み、又、xflvlexe=1の実施許可のときはステップS29へ分岐する。
ステップS28へ進むと、始動時燃料噴射制御処理を実行してルーチンを抜ける。又、ステップS29へ進むと、始動時燃料噴射フィードバック制御処理を実行してルーチンを抜ける。又、ステップS30へ進むと、始動後燃料噴射制御処理を実行してルーチンを抜ける。
ステップS28で処理される始動時燃料噴射制御は、図5に示す始動時燃料噴射制御サブルーチンに従って実行される。このルーチンでは、先ず、ステップS31で、燃料噴射量taustを算出した後、この燃料噴射量taustとバッテリ電圧に基づいて設定される電圧補正値tvとに基づき最終燃料噴射量tauoutを算出する。
taust←tTAUST(twst)・mTAUSTNE(ne,twst)
tauout←taust+tv
ここで、tTAUSTは基本値算出テーブル、mTAUSTNEは回転数補正算出マップである。基本値算出テーブルtTAUSTには、燃料噴射量の基本値が始動時水温twst毎に格納されている。又、回転数補正算出マップmTAUSTNEには、エンジン回転数neに基づく補正値が始動時水温twst毎に格納されている。
始動時燃料噴射制御を実行する領域は、燃料性状によって燃料噴射量に顕著な差が生じない温度帯である。従って、燃料噴射量taustは、始動時水温twstのみに基づいて設定する。
そして、最終燃料噴射量tauoutに対応する駆動パルスが、図示しない駆動回路を介して噴射対象気筒のインジェクタ18へ出力され、このインジェクタ18から所定タイミングで燃料が噴射される。
次いで、ステップS32へ進み、始動後燃料増量補正fasの初期値を算出し、ルーチンを抜ける。
fas←tFAS(twst)
ここで、tFASは始動後燃料増量補正の初期値テーブル(図示せず)であり、始動後燃料増量補正fasと始動時水温twstとの関係を予め実験等から求めて格納されている。
始動後燃料増量補正fasは、燃料性状とエンジン水温twによって相違する。しかし、上述したように始動時燃料噴射制御を実行する領域は、燃料性状によって燃料噴射量に顕著な差が生じない温度帯であるため、始動時水温twstのみに基づいて設定する。。
又、ステップS29で処理される始動時燃料噴射フィードバック制御は、図6、図7に示す始動時燃料噴射フィードバック制御サブルーチンに従って実行される。このルーチンでは、先ず、ステップS41で、燃料噴射回数cntinjと始動時燃料噴射量フィードバック補正開始燃料噴射回数ftinjcnt(本実施形態では、4[回])とを比較し、cntinj≧ftinjcntのときは始動時燃料噴射量フィードバック補正開始条件成立と判定し、ステップS42へ進み、始動時燃料噴射量フィードバック補正を開始する。又、cntinj<ftinjcntのときは始動時燃料噴射量フィードバック補正開始条件不成立と判定し、ステップS56へジャンプする。
ポート噴射タイプのインジェクタ18は、吸気弁が閉弁している排気行程において燃料が吸気弁に向けて噴射されるため、インジェクタ18から噴射された燃料が燃焼室6に供給されて燃焼に寄与するまでに、おおよそ720[deg-CA]の遅れがある。よって、燃焼状態判定も720[deg-CA]だけ遅れることになる。その間、4気筒エンジンでは、初回の噴射を含めて4回の燃料噴射が行われる。本実施形態では、最初に噴射した燃料によって得られるエンジン回転数が検出される時点における燃料噴射回数である4回を始動時燃料噴射量フィードバック補正の開始条件としている。
ステップS42へ進むと、当該ステップS42〜S49で、燃焼状態判定値(目標燃料噴射量指標)flvltgtを算出する。尚、このステップS42〜S49での処理が、本発明の燃焼状態判定値設定手段の燃焼状態判定値の算出部であり、且つ、燃料噴射量指標設定手段の目標燃料噴射量指標の算出部でもある。
すなわち、先ず、ステップS42では、目標エンジン回転数netgtを、燃料噴射回数cntinjと始動時水温twstとに基づき、目標エンジン回転数マップmNETGTを参照して補間計算により算出する。目標エンジン回転数マップmNETGTは、予め区分した始動時水温領域(例えば10[℃]間隔)毎に設定されている。目標エンジン回転数netgtは、燃料性状に応じた適正な燃料量を噴射した場合に得られるエンジン回転数neを、そのエンジン回転数neが検出される際の燃料噴射回数cntinjに対応させて設定されている。図9(a)には、始動時水温twstが20〜30[℃]の領域にある場合に選択される目標エンジン回転数マップmNETGTが示されている。
次いで、ステップS43で、燃料噴射回数cntinj、今回のエンジン回転数neと目標エンジン回転数netgtとの差から求めたエンジン回転数の偏差を表す差回転数(ne−netgt)、及び始動時水温twstに基づき、燃焼状態判定値(目標燃料噴射量指標)の基本値マップmFLVLBSEを参照して、後述する燃焼状態判定値(目標燃料噴射量指標)flvltgtの基本値flvlbseを補間計算により算出する。
図9(b)に、燃焼状態判定値(目標燃料噴射量指標)の基本値マップmFLVLBSEを示す。同図に示すように、燃焼状態判定値(目標燃料噴射量指標)の基本値flvlbseは、目標エンジン回転数netgtを維持するために必要とする燃料噴射量を中間燃料を基準に設定し、同様の燃料噴射量で燃料性状を変更した場合に得られる判定ラインを燃料性状ごとに設定している。すなわち、本実施の形態では、燃料性状を軟質燃料から重質燃料の間で5段階に区分している。燃料性状を軟質燃料とした場合のエンジン回転数neに基づいて第1基本値nebse1が設定され、又、燃料性状を重質燃料とした場合のエンジン回転数neに基づいて第4基本値nebse4が設定されている。尚、図9(a)には、目標エンジン回転数netgtを中心値として各基本値nebsel1〜5が記載されている。
更に、燃料性状のバラツキ、機差バラツキ、及び経時変化を想定した第2、第3基本値nebse2,nebse3が、目標エンジン回転数netgtを挟んでほぼ対称な位置に設定されており、この第2、第3基本値nebse2,nebse3で挟まれた領域に不感帯領域が設定されている。更に、最も重質な燃料を使用した場合であってもエンストを回避できるような値のエンジン回転数neが第5基本値nebse5として設定されている。これら基本値ラインnebse1〜5を用いてリッチ〜リーンの度合いを表す基準とし、エンジン回転数が目標エンジン回転数よりも低い場合をリーンの燃焼状態、高い場合をリッチの燃焼状態を表すようにしている。尚、本実施形態では、燃料噴射回数cntinjが8回付近において、第1基本値nebse1が、nebse1=netgt+150[rpm]、第2基本値nebse2が、nebse2=netgt+50[rpm] 、第3基本値nebse3が、nebse3=netgt−50[rpm]、第4基本値nebse4が、nebse4=netgt−150[rpm]、第5基本値nebse5が、nebse5=netgt−250[rpm]に設定されている。
上述したステップS43では、始動時水温twstに基づいて選択した燃焼状態判定値(目標燃料噴射量指標)の基本値マップmFLVLBSEを参照し、当該燃焼状態判定値(目標燃料噴射量指標)の基本値マップmFLVLBSEに格納されている各基本値nebse1〜nebse5と差回転数(ne-netgt)とを比較し、燃焼状態(空燃比がストイキオ領域nebse2〜3にあるか、リッチ領域nebse1〜2にあるか、リーン領域nebse3〜4にあるか、或いは超リーン領域nebse4〜5にあるか)を判定し、対応する指標値で燃焼状態判定値(目標燃料噴射量指標)の基本値flvlbseを補間計算により算出する。
すなわち、先ず、始動時水温twstに対応する燃焼状態判定値(目標燃料噴射量指標)の基本値マップmFLVLBSEを選択し、燃料噴射回数cntinjと差回転数(ne-netgt)とに基づきマップ点を特定し、このマップ点に対応する燃焼状態判定値(目標燃料噴射量指標)の基本値flvlbseを、各基本値nebse1〜nebse5に基づき補間計算により数値化して算出する(flvlbse←mFLVLBSE(cntinj,(ne-netgt),twst))。
次いで、ステップS44ヘ進み、燃料噴射回数cntinj、今回のエンジン回転数neと前回の上死点(TDC)時に算出したエンジン回転数neoldとの差(ne−neold)から算出したエンジン回転数の変動を表すエンジン回転上昇率dne/dθ(θ=180[deg])、及び始動時水温twstに基づき、燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFを参照して、燃焼状態判定(目標燃料噴射量指標)の補正値flvlcoefを補間計算により算出する。
この燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFは、上述した目標エンジン回転数マップmNETGTと同様、予め区分した設定始動時水温領域(例えば10[℃])毎に設定されている。更に、各燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFには、燃料性状に応じて、6段階に区分された第1〜第6補正値coef1〜coef6が格納されている。
図10には始動時水温twstが20〜30[℃]の領域にある場合に選択される燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFが例示されている。同図に示す燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFを参照して、第1〜第6補正値coef1〜coef6の特性について説明する。
同図は、前述の目標エンジン回転数netgt設定時のエンジン回転数を基にTDC間のエンジン回転上昇率dne/dθを、燃料噴射回数cntinjに対応させてプロットしており、そのラインが目標エンジン回転上昇率(dne/dθ)tgtとして設定されている。
燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFには、目標エンジン回転上昇率(dne/dθ)tgtを中心として、エンジン回転上昇率dne/dθの高い側に第1〜第3補正値coef1〜coef3のラインが設定され、低い側に第4〜第6補正値coef4〜coef6のラインが設定されている。すなわち、第3、第4補正値coef3,coef4は、燃料性状のバラツキ、機差バラツキ、及び経時変化を想定して、目標エンジン回転上昇率(dne/dθ)を中心としてほぼ対称な位置にそれぞれ設定されている。そして、この第3、第4補正値coef3,coef4で挟まれた領域に不感帯領域が設定されている。又、第2補正値coef2のラインがリッチ補正上限値を示し、第5補正値coef5のラインがリーン下限値を示し、第1補正値coef1のラインが超リッチ補正上限値を示し、第6補正値coef6のラインが超リーン下限値を示している。
そして、上述したステップS44では、始動時水温twstに対応する燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEFを選択し、燃料噴射回数cntinjとエンジン回転上昇率dne/dθとに基づき燃焼状態判定(目標燃料噴射量指標)の補正値マップmFLVLCOEF上のマップ点を特定し、このマップ点に対応する燃焼状態判定(目標燃料噴射量指標)の補正値flvlcoefを、補正値coef1〜coef6に基づき補間計算により算出する(flvlcoef←mFLVLCOEF(cntinj,(ne-neold),twst))。
上述した各補正値coef1〜coef6は、実験などに基づいて、燃焼状態が安定する最適な値に設定されている。具体的には、第3、第4補正値coef3,coef4が1.0に設定されており、第1、第2、第5、第6補正値coef1,coef2,coef5,coef6には、0.7,0.85,1.15,1.3が各々設定されている。
すなわち、燃焼状態判定値(目標燃料噴射量指標)flvltgtは、エンジン回転数neが目標エンジン回転数netgtよりも低い場合は、リーンの燃焼状態、高い場合はリッチの燃焼状態とする基本値flvlbseと、エンジン回転上昇率dne/dθを参照して過渡運転状態の過去履歴を反映し、燃焼状態の判定精度を向上させる補正値flvlcoefとの掛け算で構成される。
ステップS45では、燃焼状態判定値(目標燃料噴射量指標)の基本値flvlbseを燃焼状態判定(目標燃料噴射量指標)の補正値flvlcoefで補正して、燃焼状態判定値(目標燃料噴射量指標)flvltgtを算出する(flvltgt←flvlbse・flvlcoef)。従って、この燃焼状態判定値(目標燃料噴射量指標)flvltgtは、エンジン回転数neが目標エンジン回転数netgtよりも低い場合をリーンの燃焼状態、高い場合をリッチの燃焼状態とする基本値flvlbse、すなわち、エンジン回転数neに基づいて設定された燃料性状を判定する基本値を、エンジン回転上昇率dne/dθに基づいて将来のエンジン回転数の挙動を予測する補正値flvlcoefで補正して算出される。
その後、ステップS46〜S49で燃焼状態判定値(目標燃料噴射量指標)flvltgtに対して上下限ガード処理を施す。すなわち、ステップS46で燃焼状態判定値(目標燃料噴射量指標)flvltgtと燃焼状態判定(目標燃料噴射量指標)下限値kFLVLMINとを比較し、ステップS47で燃焼状態判定値(目標燃料噴射量指標)flvltgtと燃焼状態判定(目標燃料噴射量指標)上限値kFLVLMAXとを比較する。上述したように、本実施形態では、燃料噴射量指標flvlを1〜5の範囲内に設定しており、従って、燃焼状態判定値(目標燃料噴射量指標)flvltgtも1〜5の範囲に収める必要がある。本実施形態では、燃焼状態判定(目標燃料噴射量指標)下限値kFLVLMINが1、燃焼状態判定(目標燃料噴射量指標)上限値kFLVLMAXが5に設定されている。
そして、ステップS46で、flvltgt≧kFLVLMINと判定されたときは、ステップS47へ進む。又、flvltgt<kFLVLMINと判定されたときはステップS48へ進み、燃焼状態判定値(目標燃料噴射量指標)flvltgtを燃焼状態判定(目標燃料噴射量指標)下限値kFLVLMINで下限ガード処理を施して(flvltgt←kFLVLMIN)、ステップS50へ進む。
一方、ステップS47へ進むと、燃焼状態判定値(目標燃料噴射量指標)flvltgtと燃焼状態判定(目標燃料噴射量指標)上限値kFLVLMAXとを比較する。そして、flvltgt≦kFLVLMAXと判定されたときは、燃焼状態判定値(目標燃料噴射量指標)flvltgtが燃焼状態判定(目標燃料噴射量指標)下限値kFLVLMINと燃焼状態判定(目標燃料噴射量指標)上限値kFLVLMAXとの間にあるため(kFLVLMIN≦flvltgt≦kFLVLMAX)、ステップS50へ進む。又、flvltgt>kFLVLMAXと判定されたときは、ステップS49へ進み、燃焼状態判定値(目標燃料噴射量指標)flvltgtを燃焼状態判定(目標燃料噴射量指標)上限値kFLVLMAXで上限ガード処理を施して(flvltgt←kFLVLMAX)、ステップS50へ進む。
ステップS50では、エンジン回転数neと目標エンジン回転数netgtとの差回転数(ne-netgt)に基づき、目標燃料噴射量指標の反映率マッブmFLVLTGTGAINを参照して、目標燃料噴射量指標flvltgtの反映率(なまし率)flvltgtgainを補間計算により算出する。
図11に示すように、目標燃料噴射量指標の反映率マップmFLVLTGTGAINは、エンジン回転数neと目標エンジン回転数netgtとの差分の絶対値が設定範囲(本実施形態では、約20〜30[rpm])内にある場合、flvltgtgain=0に設定され、そこから、差回転数(ne−netgt)の絶対値が大きくなるに従い、反映率flvltgtgainが次第に大きな値に設定される。すなわち、差回転数(ne−netgt)の絶対値が大きい場合、空燃比がリッチ或いはリーンの度合いが高く、一方、差回転数(ne−netgt)が0近傍にある場合は適正な燃焼状態にあると判断できる。従って、現在の燃焼状態を適正な燃焼状態に速やかに移行させるには、差回転数(ne−netgt)の絶対値が大きい場合には、反映率flvltgtgainを大きく設定し、又、差回転数(ne−netgt)が0近傍にある場合は、反映率flvltgtgainを0とする。
その後、ステップS51へ進み、前回の演算時に算出した燃料噴射量指標flvl[n-1]と目標燃料噴射量指標flvltgtと、その反映率flvltgtgainとに基づき、次式から今回の燃料噴射量指標flvlをなまし演算により算出する。
flvl←flvl[n-1]・(1-flvltgtgain)+flvltgt・flvltgtgain
この結果、差回転数(ne-netgt)の絶対値が大きい場合、相対的に目標燃料噴射量指標flvltgtが大きく反映されるため、エンジン回転数neを目標エンジン回転数netgtに対して早期に収束させることができる。又、差回転数(ne-netgt)が0近傍にある場合は、flvltgtgain=0であるため、燃料噴射量指標flvlは前回の値(flvl[n-1])が維持される。従って、エンジン回転数neが目標エンジン回転数netgt近傍で微小変化しても燃料噴射量指標flvlは変化せず、制御ハンチングが防止され、エンジン回転数neの挙動を安定させることができる。
又、上述したように、ポート噴射タイプのインジェクタ18では、排気行程で噴射した燃料が燃焼室6に供給されて燃焼に寄与するまでに、最大720[deg-CA]の遅れがある。そのため、燃焼状態判定も最大720[deg-CA]だけ遅れが生じる。その間、4気筒エンジンでは、4回の燃料噴射が行われるが、エンジン回転数neが目標エンジン回転数netgt近傍では前回の値(flvl[n-1])が維持されるため、燃料噴射量の過補正を防止することができる。
更に、燃料噴射量指標flvlの初期値は重質燃料の燃料噴射量を表す指標(本実施形態では、3.8)に設定されているが、ステップS51において初回の燃料噴射量指標flvlが算出される際に、燃焼状態判定値(目標燃料噴射量指標)flvltgtが適正な燃焼状態を示す場合(本実施形態では、nebse2〜3の近傍)、燃料噴射量指標flvlを更新せず、燃料噴射量指標が初期値の状態で適正な燃料噴射量とすることができる。尚、本実施形態では、反映率flvltgtgainが切り替わる際には、制御ハンチングを防止するためにヒステリシスが設けられている。又、このステップS50,S51での処理が、本発明の燃料噴射量指標設定手段の燃料噴射量指標の算出部である。
その後、ステップS52〜S55で、燃料噴射量指標flvlに対して上下限ガード処理を施す。すなわち、ステップS52で燃料噴射量指標flvlと燃料噴射量指標の下限値kFLVLMINとを比較し、ステップS53で燃料噴射量指標flvlと燃料噴射量指標の上限値kFLVLMAXとを比較する。尚、上述したように、本実施形態では、kFLVLMIN=1、kFLVLMAX=5に設定されている。
そして、ステップS52で、flvl≧kFLVLMINと判定されたときは、ステップS53へ進む。又、flvl<kFLVLMINと判定されたときはステップS54へ進み、燃料噴射量指標flvlを燃料噴射量指標の下限値kFLVLMINで下限ガード処理を施して(flvl←kFLVLMIN)、ステップS56へ進む。
一方、ステップS53へ進むと、燃料噴射量指標flvlと燃料噴射量指標の上限値kFLVLMAXとを比較する。そして、flvl≦kFLVLMAXと判定されたときは、燃料噴射量指標flvlが燃料噴射量指標の下限値kFLVLMINと燃料噴射量指標の上限値kFLVLMAXとの間にあるため(kFLVLMIN≦flvl≦kFLVLMAX)、ステップS56へ進む。又、flvl>kFLVLMAXと判定されたときは、ステップS55へ進み、燃料噴射量指標flvlを燃料噴射量指標の上限値kFLVLMAXで上限ガード処理を施して(flvl←kFLVLMAX)、ステップS56へ進む。
ステップS56へ進むと、先ず、燃料噴射量指標flvl、燃料噴射回数cntinj、始動時水温twstに基づき、燃料噴射量算出マップmFLVLTAUSTを参照して、始動時の燃料噴射量taustを補間計算により算出した後、この燃料噴射量taustとバッテリ電圧に基づいて設定される電圧補正値tvとに基づき最終燃料噴射量tauoutを算出する。
taust←mFLVLTAUST(cntinj,flvl,twst)
tauout←taust+tv
そして、最終燃料噴射量tauoutに対応する駆動パルスが、図示しない駆動回路を介して噴射対象気筒のインジェクタ18へ出力され、このインジェクタ18から所定タイミングで燃料が噴射される。尚、ステップS56での処理が、本発明の燃料噴射量設定手段に対応している。
図12に示すように、燃料噴射量算出マップmFLVLTAUSTは所定範囲の始動時水温twst毎に、燃料噴射回数cntinjと燃料噴射量taustとに基づき燃料性状別の燃料噴射量指標ラインflvl1〜5が設定されており、各燃料噴射量指標ラインflvl1〜5には目標エンジン回転数netgtを維持する適切な燃料噴射量が設定されている。本実施形態では、flvl1を軽質燃料、flvl2〜3の領域を中間燃料、flvl4を通常の重質燃料、flvl5を異常に重い重質燃料に設定されており、同様な燃料性状で設定された燃焼状態判定値(目標燃料噴射量指標)の基本値ラインnebse1〜5の各設定数値1〜5とは、燃料性状に基づいて対応づけられている。より詳細には、燃料性状バラツキ、機差バラツキ、及び経時変化を想定して、最大の燃料噴射量(最大リーンの燃焼状態)を表す5には、「重質燃料の燃料噴射量」を設定し、4には「重質燃料の燃料噴射量」を、3には「中間燃料の燃料噴射量」を、2に「中間燃料の燃料噴射量」を、最小の燃料噴射量(最大リッチの燃焼状態)を表す1には、「軽質燃料の燃料噴射量」を設定する。尚、燃料噴射量指標設定手段で算出された燃料噴射量指標flvlが上述したラインの間にある場合は、補間計算により燃料噴射量taustを算出する。
エンジン回転数neに基づいて算出される燃焼状態判定値、つまり、目標燃料噴射量指標へ、単純ななまし演算により燃料噴射量指標を追従させるので、エンジン回転数neの上昇に応じて燃料噴射が適正化される。その結果、始動性能の確保と、排気エミッションの低減が実現される。
又、本実施形態は、始動時燃料噴射量フィードバック補正開始燃料噴射回数ftinjcntが、4気筒エンジン、排気行程噴射の場合、最初に噴射した燃料によって得られるンジン回転数neが検出される時点の噴射回数(ftinjcnt=4)に初期値設定されているため、4噴射が終了するまでは燃料噴射量taustが一定の値に固定される。
次いで、ステップS57へ進むと、今回の燃料噴射量taustと前回の演算時に算出した燃料噴射量積算値taustsum[n-1]とに基づき、今回の燃料噴射量積算値taustsumを算出する。尚、このステップでの処理が、本発明の燃料噴射量積算手段に対応している。
taustsum←taustsum[n-1]+taust
その後、ステップS58へ進み、前述のステップS25で設定した始動後判定燃料噴射回数injcnt分の燃料噴射量taustの積算値(燃料噴射量積算値)taustsumと始動時水温twstとに基づき、燃料性状判定マップmFUELを参照して、燃料性状判定値fuelを補間計算により算出する。尚、この燃料性状判定値fuelは、後述する始動後燃料増量補正fasを求める際に読込まれる。又、このステップでの処理が、本発明の燃料性状判定値設定手段に対応している。
始動後は徐々に負圧が発生し、燃料の気化が促進され、燃料性状の影響を受けにくくなるが、エンジン水温twは未だ低いため、燃料噴射量積算値taustsumに基づいて増量割合を算出する。
図13に燃料性状判定マップmFUELの特性を示す。燃料性状判定マップmFUELは、予め設定した始動時水温twst領域毎に設定されており、図13には、始動時水温twstが20〜30[℃]の領域にある場合に選択される燃料性状判定マップmFUELが例示されている。
同図に示される燃料噴射量積算値taustsumと燃料性状判定値fuelの関係は、軽質燃料、中間燃料、重質燃料を用いて始動時燃料噴射フィードバック制御を実施した際の実験値に基づいて適切に設定されている。
そして、ステップS59へ進むと、燃料性状判定値fuelと始動時水温twstに基づき、始動後燃料増量補正の初期値マップmFUELFASを参照して、始動後燃料増量補正fasの初期値を補間計算により算出し、ルーチンを抜ける。
fas←mFUELFAS(fuel,twst)
始動後燃料増量補正の初期値マップmFUELFASは、予め設定した始動時水温twst領域毎に設定されており、図14には始動時水温twstが20〜30[℃]の領域にある場合に選択される始動後燃料増量補正の初期値マップマップmFUELFASが例示されている。
始動後燃料増量補正fasは、燃料性状とエンジン水温twによって変化するため、始動後燃料増量補正fasの初期値を燃料性状判定値fuelと始動時水温twstとに基づいて設定する。
又、図4に示すフローチャートのステップS30で実行される始動後燃料噴射制御は、図8に示す始動後燃料噴射制御サブルーチンに従って実行される。このルーチンでは、先ず、ステップS61で、始動時燃料噴射フィードバック制御実施許可フラグxflvlexeの値を参照して、始動時燃料噴射フィードバック制御実施条件が満足されているか否かを調べる。そして、xflvlexe=0の始動時燃料噴射フィードバック制御実施条件不成立時は、ステップS62へ進み、xflvlexe=1の始動時燃料噴射フィードバック制御実施条件成立時は、ステップS63へ進む。
ステップS62へ進むと、エンジン水温twに基づき始動後燃料増量補正減衰量テーブルtFASDMP(図示せず)を参照して、始動後燃料増量補正fasの減衰量fasdmpを補間計算により算出し、ステップS64へ進む。
始動時燃料噴射フィードバック制御実施許可フラグxflvlexeが、xflvlexe=0の始動時燃料噴射フィードバック制御実施条件不成立と判定されている領域は、燃料性状によって燃料噴射量に顕著な差が生じない温度帯であるため、エンジン水温twのみに基づいて始動後燃料増量補正fasの減衰量fasdmpを算出する。
又、ステップS63へ進むと、エンジン水温twと燃料性状判定値fuelとに基づき、始動後燃料増量補正減衰量マップmFUELFASDMPを参照して、始動後燃料増量補正fasの減衰量fasdmpを補間計算により算出し、ステップS64へ進む。
始動後燃料増量補正fasの減衰量fasdmpが、xflvlexe=1の始動時燃料噴射フィードバック制御実施条件成立と判定されている領域は、燃料性状によっても燃料噴射量に大きな差が生じる。従って、この場合は、エンジン水温twと燃料性状判定値fuelとの双方に基づいて減衰量fasdmpを設定する。図15には始動時水温twstが20〜30[℃]の領域にある場合に選択される始動後燃料増量補正減衰量マップmFUELFASDMPが例示されている。
そして、ステップS64へ進むと、前回のルーチン実行時に演算した始動後燃料増量補正fas[n-1]から、ステップS62、或いはステップS63で求めた減衰量fasdmpを減算して、今回の始動後燃料増量補正fasを算出する。
fas←fas[n-1]−fasdmp
尚、ステップS32,S59,S62〜S64での処理が本発明の始動後燃料増量補正値設定手段に対応している。
その後、ステップS65で始動後燃料増量補正fasが0以上か否かを調べ、fas≧0のときは、ステップS67へ進み、又、fas<0のときは、ステップS66へ分岐して、始動後燃料増量補正fasを0で下限ガード処理して(fas←0)、ステップS67へ進む。ステップS67へ進むと、次式から最終燃料噴射量tauoutを算出し、ルーチンを抜ける。
tauout←tp・(ffb+flrn)×(1+fas+ftw+fda+ ・・・ )+tv
ここで、tpは基本噴射量であり、tp←k・Q/neから求める(k:インジェクタ特性補正定数、Q:吸入空気量センサ23で検出した吸入空気量)。
又、ffbはA/Fセンサ27で検出した空燃比A/Fを目標空燃比に収束させるための空燃比フィードバック補正係数、flrnは空燃比補正学習値、ftwは水温増量補正である。
そして、この最終燃料噴射量tauoutに対応する駆動パルスが、図示しない駆動回路を介して噴射対象気筒のインジェクタ18へ出力され、このインジェクタ18から所定タイミングで燃料が噴射される。
このように、本実施形態によれば、始動時燃料噴射フィードバック制御実施条件が成立している場合(xflvlexe=1)、図6、図7に示す始動時燃料噴射フィードバック制御サブルーチンにおいて、初爆後に、燃焼状態判定値(目標燃料噴射量指標)flvltgtを算出し、次いで、この燃焼状態判定値(目標燃料噴射量指標)flvltgtに基づいて燃料噴射量指標flvlを算出するようにしたので、エンジン始動初期の燃料噴射量を、噴射される燃料の性状に応じて適正に補正することができる。その結果、良好な始動性能を得ることができるばかりでなく、排気エミッションの低減、及び燃費改善を実現することができる。
図16に始動時水温twstが25[℃]の環境で、燃料性状が重質の燃料を使用して始動時燃料噴射フィードバック制御を実施した場合の空気過剰率λとエンジン回転数neの変化を示す。同図に示すように、燃料噴射量指標flvlの初期値を、重質燃料に対応する燃料噴射量指標(4.0)よりも噴射量が少ない3.8に設定した場合であっても、完爆時間(クランキング開始からエンジン回転数neが1000[rpm]に達するまでの時間)が1秒以下であり、始動性能を満足している。又、空気過剰率λも初爆から1.0以上を維持しており、排気エミッションが低減されていることが解る。又、図17に、そのときの燃料性状判定値fuelの変化を示す。燃料性状判定値fuelは、燃料噴射回数cntinj(本実施形態では20[回])における燃料噴射量積算値taustsumに基づいて設定され、最終的に重質燃料を示す燃料性状判定値fuel(図においては3.6)となっており、実際の燃料性状とほぼ一致している。
同様に、図18に始動時水温twstが25[℃]の環境で、燃料性状が中間の燃料を使用して始動時燃料噴射フィードバック制御を実施した場合の空気過剰率λとエンジン回転数neの変化を示す。同図に示すように、燃料噴射量指標flvlの初期値を、中間燃料に対応する燃料噴射量指標(3.0)よりも噴射量が多い3.8に設定した場合であっても、空気過剰率λは、初爆から1.0以上を維持しており、排気エミッションが低減されていることが解る。又、図19に示すように、燃料性状判定値fuelは、最終的に中間燃料を示す燃料性状判定値fuel(図においては3.0)となっており、実際の燃料性状とほぼ一致している。
更に、図20に従来の始動時水温twstが25[℃]の環境で、中間燃料を使用して始動時燃料噴射制御を実施した場合の空気過剰率λとエンジン回転数neの変化を示す。同図に示すように、始動時燃料噴射制御では、空気過剰率λが下降している。以上のことから、本実施形態の始動時燃料噴射フィードバック制御は従来と同等の始動性能を得ており、且つ、排ガス性能が向上していることが解る。
尚、本発明は、上述した実施形態に限るものではなく、例えば燃料性状は5段階である必要はなく、4段階以下であっても、或いは6段階以上であっても良い。