(57)【特許請求の範囲】
【請求項１】
内燃機関の各気筒毎に燃料噴射弁から燃料を噴射する内燃機関の燃料噴射制御装置において、
始動時に気筒判別して第１回目の燃料噴射から吸気行程に同期した燃料噴射を行う噴射時期制御手段と、
始動時に第１回目の燃料噴射により気筒内に供給される混合気（以下「第１回目の吸入混合気」という）が燃焼可能な空燃比の範囲（以下「始動時可燃範囲」という）を冷却水温情報に基づいて推定する始動時可燃範囲推定手段と、
機関停止中に前記燃料噴射弁から漏れた燃料が１気筒内に吸入される量（以下「漏れ燃料吸入量」という）を推定する漏れ燃料吸入量推定手段と、
前記漏れ燃料吸入量推定手段で推定した漏れ燃料吸入量を考慮して始動時の第１回目の吸入混合気の空燃比が前記始動時可燃範囲となるように第１回目の燃料噴射量を算出する始動時噴射量算出手段と、
を備えていることを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
始動時に第１回目の吸入混合気の燃焼状態（以下「第１回目の燃焼状態」という）を判定する燃焼状態判定手段と、
前記燃焼状態判定手段で判定した第１回目の燃焼状態に基づいて次回の始動時の第１回目の燃料噴射量を補正する補正値を学習する学習手段とを備え、
前記始動時噴射量算出手段は、前記学習手段の学習補正値を用いて第１回目の燃料噴射量を補正することを特徴とする請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項３】
前記燃料噴射弁から噴射する燃料を微粒化する燃料微粒化手段を備えていることを特徴とする請求項１又は２に記載の内燃機関の燃料噴射制御装置。
【請求項４】
前記漏れ燃料吸入量推定手段は、機関停止中の漏れ燃料の総量を推定する手段と、前記漏れ燃料が拡散する吸気管容積に対する１気筒分の吸入空気量の比率と前記漏れ燃料の総量とに基づいて１気筒内に吸入される漏れ燃料吸入量を推定する手段とを備えていることを特徴とする請求項１乃至３のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項５】
前記始動時噴射量算出手段は、前記漏れ燃料吸入量を考慮して、前記始動時可燃範囲におけるリーン限界を基準にして第１回目の燃料噴射量を算出することを特徴とする請求項１乃至４のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項６】
前記学習手段は、始動毎に前記始動時可燃範囲におけるリーン限界の燃料噴射量に対する補正値を学習し、前記燃焼状態判定手段で判定した第１回目の燃焼状態が適正でない時に、学習補正値を所定の学習ディザ値分だけリッチ側にずらした値に更新することを特徴とする請求項２に記載の内燃機関の燃料噴射制御装置。
【請求項７】
前記学習手段は、前記漏れ燃料吸入量に応じて前記学習ディザ値を切り換えることを特徴とする請求項６に記載の内燃機関の燃料噴射制御装置。
【請求項８】
前記学習手段は、始動条件に応じて区分された複数の学習領域を設定し、始動毎にその始動条件に対応する学習領域の学習補正値を更新又は維持し、
前記始動時噴射量算出手段は、現在の始動条件に対応する学習領域の学習補正値を用いて第１回目の燃料噴射量を補正することを特徴とする請求項２，６，７のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項９】
前記燃焼状態判定手段は、始動時に第１回目の燃焼行程での機関回転数の上昇具合又は筒内圧力の上昇具合に基づいて第１回目の燃焼状態を判定することを特徴とする請求項２，６乃至８のいずれかに記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、始動時の燃料噴射時期及び燃料噴射量を適正化した内燃機関の燃料噴射制御装置に関するものである。
【０００２】
【従来の技術】
近年、内燃機関の始動性を向上させるために、実公平１−２１１５６号公報に示すように、始動時の燃料噴射量と実際に始動に要した時間（始動時間）との関係を学習し、その学習結果に基づいて始動時間を短縮する方向に始動時の燃料噴射量を増減補正することが提案されている。
【０００３】
【発明が解決しようとする課題】
ところで、内燃機関の始動性能は、始動時の燃料噴射方式が独立噴射、グループ噴射、非同期噴射のいずれであるかによって大きく異なる。例えば、グループ噴射や非同期噴射では、始動時に噴射した燃料が吸気ポート等に付着する量（ウェット量）が多くなり、その分、気筒内に吸入される燃料量が要求燃料量よりも少なくなる。このため、始動初期の混合気の空燃比が燃焼可能範囲よりもリーンになりやすく、始動性が悪いばかりか、始動時の未燃炭化水素（ＨＣ）の排出量が増加するという問題がある。また、独立噴射でも、噴射時期が吸気行程から離れていると、同様の問題が生じる。
【０００４】
しかしながら、上記公報では、始動時の燃料噴射方式が具体的に記載されておらず、燃料噴射方式による始動性への影響が全く無視されているため、近年の益々厳しくなる排ガス規制や始動性向上の要求には、十分に対応することができない。
【０００５】
また、機関停止中には、燃料噴射弁から燃料が僅かずつ漏れて吸気系内に拡散し、始動時にこの漏れ燃料が気筒内に吸入されるため、気筒内に吸入される混合気の空燃比が漏れ燃料の吸入によってずれてしまう。しかも、この漏れ燃料の吸入量は一定ではなく、機関停止時間が長くなるに従って、燃料噴射弁からの漏れ燃料が増加し、それに伴って、１気筒当たりの漏れ燃料吸入量が増加して、空燃比のずれ量も大きくなる。従って、上記公報のように、始動時の燃料噴射量と始動時間との関係のみを学習して燃料噴射量を補正したのでは、漏れ燃料の吸入による始動時の空燃比のずれを全く補正することができず、始動性向上・排気エミッション低減の効果が少ない。
【０００６】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、始動時に第１回目の噴射燃料から確実に燃焼させることができて、近年の益々厳しくなる排ガス規制や始動性向上の要求にも十分に対応することができる内燃機関の燃料噴射制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１の内燃機関の燃料噴射制御装置によれば、噴射時期制御手段によって、始動時に気筒判別して第１回目の燃料噴射から吸気行程に同期した燃料噴射を行う。これにより、噴射した燃料が直接、気筒内に吸入されるようになり、吸気ポート等への燃料の付着（ウェット）が少なくなり、その分、始動時の空燃比制御が容易になる。更に、始動時には、第１回目の燃料噴射により気筒内に供給される混合気（以下「第１回目の吸入混合気」という）が燃焼可能な空燃比の範囲（以下「始動時可燃範囲」という）を冷却水温情報に基づいて始動時可燃範囲推定手段により推定すると共に、機関停止中に燃料噴射弁から漏れた燃料が１気筒内に吸入される量（以下「漏れ燃料吸入量」という）を漏れ燃料吸入量推定手段により推定する。そして、この漏れ燃料吸入量を考慮して始動時の第１回目の吸入混合気の空燃比が始動時可燃範囲となるように第１回目の燃料噴射量を始動時噴射量算出手段により算出する。このようにすれば、始動時に漏れ燃料の吸入の影響を受けずに、第１回目の燃料噴射から混合気の空燃比を確実に始動時可燃範囲に設定することができ、第１回目の噴射燃料から確実に燃焼させることができて、始動性を向上できると共に、始動時のＨＣ排出量を低減できる。
【０００８】
この場合、請求項２のように、始動時に第１回目の吸入混合気の燃焼状態（以下「第１回目の燃焼状態」という）を燃焼状態判定手段により判定し、第１回目の燃焼状態に基づいて次回の始動時の第１回目の燃料噴射量を補正する補正値を学習手段により学習し、この学習補正値を用いて第１回目の燃料噴射量を補正するようにしても良い。このようにすれば、燃料噴射弁等の燃料供給系部品やセンサ等の制御系部品の個体差（ばらつき）や経時劣化による燃料噴射特性のばらつきがあっても、このばらつきを学習効果により自動的に修正することができ、始動性向上や排気エミッション低減の効果を長期間安定して持続させることができる。
【０００９】
また、請求項３のように、燃料噴射弁から噴射する燃料を微粒化する燃料微粒化手段を設けた構成としても良い。このようにすれば、燃料の燃焼性が向上し、低温時においても、第１回目の噴射燃料から確実に燃焼させることができる。
【００１０】
また、請求項４のように、漏れ燃料吸入量を推定する際に、機関停止中の漏れ燃料の総量を推定し、漏れ燃料が拡散する吸気管容積に対する１気筒分の吸入空気量の比率と、推定した漏れ燃料の総量とに基づいて１気筒内に吸入される漏れ燃料吸入量を推定すると良い。このようにすれば、機関停止中の漏れ燃料の吸気管内への拡散作用を考慮して、１気筒当たりの漏れ燃料吸入量を精度良く推定することができる。
【００１１】
更に、請求項５のように、漏れ燃料吸入量を考慮して、始動時可燃範囲におけるリーン限界を基準にして第１回目の燃料噴射量を算出すると良い。このように、リーン限界を基準にすれば、第１回目の燃料噴射量を始動時可燃範囲内で必要最少量に設定でき、始動時のＨＣ排出量の大幅な低減が可能となる。
【００１２】
また、請求項６のように、始動毎に始動時可燃範囲におけるリーン限界の燃料噴射量に対する補正値を学習し、燃焼状態判定手段で判定した第１回目の燃焼状態が適正でない時に、学習補正値を所定の学習ディザ値分だけリッチ側にずらした値に更新するようにしても良い。このようにすれば、第１回目の燃焼状態が適正となる必要最少量の燃料噴射量を学習することができ、燃料供給系や制御系のばらつきがあっても、その影響を受けずに、始動時のＨＣ排出量を確実に低減することができる。
【００１３】
この場合、請求項７のように、学習補正値を更新する学習ディザ値を漏れ燃料吸入量に応じて切り換えるようにしても良い。このようにすれば、漏れ燃料吸入量を学習処理に反映させることができ、漏れ燃料吸入量に応じた適正な学習を行うことができる。
【００１４】
また、冷却水温等の始動条件が異なれば、始動時可燃範囲も異なるため、請求項８のように、始動条件に応じて区分された複数の学習領域を設定し、始動毎にその始動条件に対応する学習領域の学習補正値を更新又は維持し、始動時には、その始動条件に対応する学習領域の学習補正値を用いて第１回目の燃料噴射量を補正するようにしても良い。このようにすれば、始動条件毎に第１回目の燃焼状態が適正となる燃料噴射量を学習でき、学習精度を向上できる。
【００１５】
また、請求項９のように、始動時に第１回目の燃焼行程での機関回転数の上昇具合又は筒内圧力の上昇具合に基づいて第１回目の燃焼状態を判定するようにしても良い。つまり、始動時に燃焼状態が良くなるほど、機関回転数が上昇し、且つ、筒内圧力が上昇するため、機関回転数の上昇具合又は筒内圧力の上昇具合に基づいて第１回目の燃焼状態を精度良く判定することができる。
【００１６】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図１８に基づいて説明する。まず、図１に基づいてエンジン制御系システム全体の概略構成を説明する。内燃機関である例えば４気筒のガソリンエンジン１０の吸気ポート１１に接続された吸気管１２の最上流部にはエアクリーナ１３が設けられ、このエアクリーナ１３の下流に吸気温センサ１４が設けられている。また、吸気管１２の途中部には、スロットルバルブ１５が設けられ、このスロットルバルブ１５をバイパスするバイパス路１６にはアイドルスピードコントロールバルブ１７が設けられている。上記スロットルバルブ１５の開度は、スロットル開度センサ１８によって検出され、スロットルバルブ１５の下流側の吸気管圧力は、吸気管圧力センサ１９によって検出される。
【００１７】
また、各気筒の吸気ポート１１の近傍には、燃料タンク２１から供給される燃料を噴射する燃料噴射弁２０が設けられている。燃料タンク２１内の燃料は燃料ポンプ２２→燃料フィルタ２３→プレッシャレギュレータ２４の経路を経て各気筒の燃料噴射弁２０に分配され、プレッシャレギュレータ２４により燃料圧力（燃圧）が吸気管圧力に対して一定圧力に保たれると共に、余剰燃料がリターン配管２５を通して燃料タンク２１内に戻される。
【００１８】
一方、エンジン１０の排気ポート２６に接続された排気管２７には、排ガス中の酸素濃度を検出する酸素濃度センサ２８が設けられている。エンジン１０を冷却するウォータジャケット２９には、冷却水温を検出する水温センサ３０が取り付けられている。また、エンジン１０の各気筒のシリンダヘッドには点火プラグ３１が取り付けられ、各気筒の点火プラグ３１には、イグナイタ付きの点火コイル３２とディストリビュータ３３によって高電圧が印加され、点火される。
【００１９】
また、ディストリビュータ３３内には、クランク角センサ３５と気筒判別センサ３６とが設けられている。クランク角センサ３５は、エンジン１０のクランク軸の回転に応じて所定のクランク角毎にクランク角信号を発生し、そのクランク角信号の周波数によってエンジン回転数が検出される。また、気筒判別センサ３６は、エンジン１０のカム軸の回転に伴って特定気筒のクランク角基準位置（例えば第１気筒の圧縮ＴＤＣ及び第４気筒の圧縮ＴＤＣ）で気筒判別信号を発生し、この気筒判別信号が気筒判別に用いられる。
【００２０】
前述したクランク角センサ３５、気筒判別センサ３６、水温センサ３０等の各種センサの出力信号は、エンジン制御回路（以下「ＥＣＵ」と表記する）３７に入力される。このＥＣＵ３７は、バッテリ３４を電源として動作し、イグニッションスイッチ３８のオン信号によりスタータ（図示せず）を駆動すると共に、各気筒の燃料噴射弁２０の開弁時間（燃料噴射時間）を調整して燃料噴射量を制御し、エンジン１０を始動させる。この際、ＥＣＵ３７は、クランク角センサ３５と気筒判別センサ３６の出力信号から気筒を判別し、始動時に第１回目の燃料噴射から吸気行程に同期した燃料噴射を行う噴射時期制御手段として機能する。
【００２１】
このＥＣＵ３７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）には、後述する燃料噴射制御用の各ルーチンが記憶されている。以下、各ルーチンの処理内容を説明する。
【００２２】
［始動時燃料噴射制御メインルーチン］
図２に示す始動時燃料噴射制御メインルーチンは、イグニッションスイッチ３８のオン後に所定時間毎（例えば４ｍｓ毎）に次のように実行される。まず、ステップ１００で、初期化ルーチンを実行し、ＲＡＭ等の記憶領域に初期値がセットされると共に、各種入力信号がチェックされる。次のステップ２００で、後述する図３の始動時可燃範囲推定ルーチンを実行して、エンジン１０の冷却水温に基づいて気筒内の混合気が燃焼可能な空燃比の範囲を推定する。この始動時可燃範囲推定ルーチンの処理が特許請求の範囲でいう始動時可燃範囲推定手段としての役割を果たす。
【００２３】
その後、ステップ３００に進み、後述する図６の停止中燃料漏れ量推定ルーチンを実行して、エンジン停止中に燃料噴射弁２０から漏れた燃料の総量を推定する。次のステップ４００で、後述する図１１の漏れ燃料吸入量推定ルーチンを実行して、燃料噴射弁２０から漏れた燃料のうち１つの気筒内に吸入される漏れ燃料吸入量を推定する。これら停止中燃料漏れ量推定ルーチンと漏れ燃料吸入量推定ルーチンの処理が特許請求の範囲でいう漏れ燃料吸入量推定手段としての役割を果たす。
【００２４】
そして、次のステップ５００で、後述する図１２の始動時噴射量算出ルーチンを実行して、ステップ４００で求めた漏れ燃料吸入量を考慮して、始動時の吸入混合気の空燃比がステップ２００で求めた始動時可燃範囲内となるように始動時の燃料噴射量を算出する。この始動時噴射量算出ルーチンの処理が特許請求の範囲でいう始動時噴射量算出手段としての役割を果たす。この始動時燃料噴射量で、第１回目の燃料噴射から各気筒の吸気行程に同期させて燃料を噴射する。
【００２５】
この後、ステップ６００に進み、後述する図１４の補正値学習ルーチンを実行して、第１回目の噴射燃料の燃焼状態を判定し、その判定結果に基づいて、次回の始動時の燃料噴射量算出に反映させる補正値を学習する。この補正値学習ルーチンの処理が特許請求の範囲でいう学習手段としての役割を果たす。始動時には、上記各ステップ２００〜６００の処理が繰り返し行われる。
【００２６】
［始動時可燃範囲推定ルーチン］
図３に示す始動時可燃範囲推定ルーチン（図２のステップ２００）は、例えば８ｍｓ毎に次のように実行される。まず、ステップ２０１で、水温センサ３０で検出された冷却水温ＴＷＨを読み込み、次のステップ２０２で、図４に示す冷却水温ＴＨＷをパラメータとする始動時可燃範囲のリーン限界曲線のマップを検索し、現在の冷却水温ＴＨＷに応じた始動時可燃範囲のリーン限界ＡＦLeanを求める。この始動時可燃範囲のリーン限界ＡＦLeanは、始動時に気筒内に吸入される混合気が完全燃焼できる空燃比のリーン限界であり、このリーン限界より薄い混合気は不完全燃焼となる。
【００２７】
次のステップ２０３で、図４に示す冷却水温ＴＨＷをパラメータとする始動時可燃範囲のリッチ限界曲線のマップを検索し、現在の冷却水温ＴＨＷに応じた始動時可燃範囲のリッチ限界ＡＦRichを求める。この始動時可燃範囲のリッチ限界ＡＦRichは、始動時に気筒内に吸入される混合気が完全燃焼できる空燃比のリッチ限界であり、このリッチ限界より濃い混合気は不完全燃焼となる。図４に示すリーン限界曲線及びリッチ限界曲線のマップは、予め、実験データや理論式によって設定され、ＥＣＵ３７のＲＯＭに記憶されている。
【００２８】
次のステップ２０４で、クランキング時の１気筒当たりの吸入空気量ＱCRNK  ［ｇ］を次式により算出する。
ＱCRNK＝（総排気量）／４×ＫＴＰ×（空気比重）  ［ｇ］
上式において、「４」はエンジン１０の気筒数、ＫＴＰは充填効率である。この充填効率ＫＴＰは、図５に示すエンジン回転数ＮＥと吸気管圧力Ｐｍとをパラメータとする充填効率マップから求める。この充填効率マップは、予め、実験データや理論式によって設定され、ＥＣＵ３７のＲＯＭに記憶されている。
【００２９】
吸入空気量ＱCRNKの算出後、ステップ２０５に進み、ステップ２０２で求めたリーン限界ＡＦLeanに相当するリーン限界燃料量ＦＬＥＡＮ［ｇ］を次式により算出する。
ＦＬＥＡＮ＝ＱCRNK／ＡＦLean  ［ｇ］
【００３０】
この後、ステップ２０６に進み、ステップ２０３で求めたリッチ限界ＡＦRichに相当するリッチ限界燃料量ＦＲＩＣＨ［ｇ］を次式により算出して、本ルーチンを終了する。
ＦＲＩＣＨ＝ＱCRNK／ＡＦRich    ［ｇ］
【００３１】
ここで、リーン／リッチ限界燃料量ＦＬＥＡＮ，ＦＲＩＣＨは、冷却水温ＴＨＷに応じて予め作成したマップ等から求めるようにしても良いが、バッテリ電圧やオイルの粘性の違いによって、クランキング時のエンジン回転数ＮＥが変動して、吸入空気量ＱCRNKが変動するため、本ルーチンのように、冷却水温ＴＨＷに応じて求めたリーン／リッチ限界ＡＦLean，ＡＦRichと吸入空気量ＱCRNKを用いてリーン／リッチ限界燃料量ＦＬＥＡＮ，ＦＲＩＣＨを算出すれば、吸入空気量ＱCRNKが変動しても、リーン／リッチ限界燃料量ＦＬＥＡＮ，ＦＲＩＣＨを精度良く算出することができる。
【００３２】
尚、予め冷却水温ＴＨＷと吸入空気量ＱCRNK（又はエンジン回転数ＮＥと吸気管圧力Ｐｍ）とをパラメータとするリーン／リッチ限界燃料量ＦＬＥＡＮ，ＦＲＩＣＨのマップを実験データや理論式によって作成しておき、このマップからリーン／リッチ限界燃料量ＦＬＥＡＮ，ＦＲＩＣＨを求めるようにしても良い。
【００３３】
［停止中燃料漏れ量推定ルーチン］
図６に示す停止中燃料漏れ量推定ルーチン（図２のステップ３００）は、エンジン停止中もバックアップ電源により例えば５０ｍｓ毎に実行され、エンジン停止中に全気筒の燃料噴射弁２０から漏れた燃料の総量（漏れ燃料積算値ＦＬＥＡＫ）を次のようにして算出する。まず、ステップ３０１で、前回のエンジン停止（イグニッションスイッチ３８のオフ）から現在までの経過時間を停止時間計測タイマ（図示せず）で計測して、その経過時間（停止時間）を読み込み、次のステップ３０２で、現在の冷却水温ＴＨＷを読み込む。
【００３４】
この後、ステップ３０３に進み、図７に示す冷却水温ＴＨＷをパラメータとする水温補正値ＦＰTHW のマップを検索して、現在の冷却水温ＴＨＷに応じた水温補正値ＦＰTHW を求める。次のステップ３０４で、この水温補正値ＦＰTHW を用いて漏れ燃料積算値ＦＬＥＡＫを次式により算出する。
【００３５】
【数１】
0003894389.tif 000002
【００３６】
ここで、ａ，ｂ，ｃは、燃料供給系で異なる燃圧特性から燃料の漏れ量を求めるための変換定数である。Ｐは現在の燃圧（ｋＰａ）であり、図８に示す停止時間をパラメータとする燃圧変化特性のマップを検索して、現在までの停止時間に応じた燃圧Ｐを求める。ｑ0 は、基準温度（例えば２５℃）、基準燃圧の時に１分間当たり全気筒の燃料噴射弁２０から漏れる燃料の合計量（ｍｍ3 ／ｍｉｎ）である。この合計燃料漏れ量ｑ0 は、図９に示すような分布特性を示し、この分布特性から、合計燃料漏れ量ｑ0 のばらつき中心値ｑ（ａｖ）とばらつき上限値ｑ（３σ）が求められる。
【００３７】
上記（１），（２）式の計算をエンジン停止中にバックアップ電源により例えば５０ｍｓ毎に繰り返すことで、エンジン停止中に全気筒の燃料噴射弁２０から漏れた燃料を積算し、前回のエンジン停止から現在までの漏れ燃料積算値ＦＬＥＡＫを算出する。そして、始動当初（スタータオン時）に算出した漏れ燃料積算値ＦＬＥＡＫがエンジン停止中の漏れ燃料の総量となる。この場合、合計燃料漏れ量ｑ0 のばらつき中心値ｑ（ａｖ）とばらつき上限値ｑ（３σ）を用いて、漏れ燃料積算値ＦＬＥＡＫのばらつき中心値ＦＬＥＡＫ（ａｖ）とばらつき上限値ＦＬＥＡＫ（３σ）が算出される。
【００３８】
尚、本ルーチンでは、エンジン停止中に漏れ燃料を積算するようにしたが、予め、図１０に示すように、停止時間をパラメータとする漏れ燃料積算値ＦＬＥＡＫのマップを実験データや理論式により作成して、ＥＣＵ３７のＲＯＭに記憶しておき、始動当初（スタータオン時）に、このマップを検索して停止時間に応じた漏れ燃料積算値ＦＬＥＡＫを求めるようにしても良い。
【００３９】
［漏れ燃料吸入量推定ルーチン］
図１１に示す漏れ燃料吸入量推定ルーチン（図２のステップ４００）は、例えば１６ｍｓ毎に実行され、１気筒当たりの漏れ燃料吸入量を次のようにして推定する。まず、ステップ４０１で、吸気管容積ＶINを読み込む。ここで、吸気管容積ＶINは、エンジン停止中に漏れた燃料が時間の経過に伴って拡散すると推定される吸気管１２の吸気ポート１１からエアクリーナ１３までの全容積である。次のステップ４０２で、前記始動時可燃範囲推定ルーチンで求めた充填効率ＫＴＰを読み込んだ後、ステップ４０３で、前記停止中燃料漏れ量推定ルーチンで算出した漏れ燃料積算値ＦＬＥＡＫを読み込む。
【００４０】
この後、ステップ４０４で、漏れた燃料のうち１つの気筒内に吸入される漏れ燃料吸入量ＦＬＫを次式により算出する。
ＦＬＫ＝（排気量／４×ＫＴＰ）／ＶIN×ＦＬＥＡＫ
つまり、エンジン停止中に漏れた燃料が吸気管１２内全体に拡散していると推定し、吸気管容積ＶINに対する１気筒分の吸入空気量（排気量／４×ＫＴＰ）の比率を、漏れ燃料積算値ＦＬＥＡＫに乗算することで、１気筒内に吸入される漏れ燃料吸入量ＦＬＫを算出する。
【００４１】
この際、漏れ燃料積算値ＦＬＥＡＫのばらつき中心値ＦＬＥＡＫ（ａｖ）とばらつき上限値ＦＬＥＡＫ（３σ）を用いて、漏れ燃料吸入量ＦＬＫのばらつき中心値ＦＬＫ（ａｖ）とばらつき上限値ＦＬＫ（３σ）が算出される。
【００４２】
［始動時噴射量算出ルーチン］
図１２に示す始動時噴射量算出ルーチン（図２のステップ５００）は、所定クランク角毎（例えば３０℃Ａ毎）に実行され、始動時の燃料噴射量（始動時噴射時間ＴＡＵ）を次のようにして算出する。まず、ステップ５０１で、エンジン回転数ＮＥが例えば５００ｒｐｍよりも高いか否かを判定する。ここで、５００ｒｐｍは、始動完了と判定するのに十分な回転数である。もし、エンジン回転数ＮＥが５００ｒｐｍよりも高ければ、始動完了と判定され、ステップ８００に進み、後述する始動後噴射制御を実行する。
【００４３】
上記ステップ５０１で、エンジン回転数ＮＥが５００ｒｐｍ以下の場合には、始動完了前と判定され、ステップ５０２に進み、前記始動時可燃範囲推定ルーチンで算出したリーン限界燃料量ＦＬＥＡＮに、後述する図１４の補正値学習ルーチンで学習した学習補正値ＦＧＡＫを乗算して暫定の燃料噴射量Ｘを算出する。
Ｘ＝ＦＬＥＡＮ×ＦＧＡＫ
【００４４】
この後、ステップ５０３に進み、漏れ燃料吸入量のばらつき上限値ＦＬＫ（３σ）を考慮した時の第１のリッチ限界噴射量ＫＧ１（図１３参照）を、リッチ限界燃料量ＦＲＩＣＨから漏れ燃料吸入量のばらつき上限値ＦＬＫ（３σ）を差し引いて求める。
ＫＧ１＝ＦＲＩＣＨ−ＦＬＫ（３σ）
【００４５】
この後、ステップ５０４に進み、第２のリッチ限界噴射量ＫＧ２（図１３参照）を次式により算出する。
ＫＧ２＝ＦＲＩＣＨ−｛ＦＬＫ（３σ）−ＦＬＫ（ａｖ）｝
ここで、ＦＬＫ（３σ）−ＦＬＫ（ａｖ）は、漏れ燃料吸入量のばらつき上限値ＦＬＫ（３σ）からばらつき中心値ＦＬＫ（ａｖ）を差し引いた値、つまり、ばらつき中心値ＦＬＫ（ａｖ）からばらつき上限値ＦＬＫ（３σ）までの偏差である。
【００４６】
次のステップ５０５で、暫定の燃料噴射量Ｘを第１のリッチ限界噴射量ＫＧ１と比較し、Ｘ≦ＫＧ１と判定された場合、つまり暫定の燃料噴射量Ｘが第１のリッチ限界噴射量ＫＧ１よりもリーン側に位置している場合には、ステップ５０６に進み、後述する図１４の補正値学習ルーチンで用いる学習ディザ値ＫＤＺを所定値αにセットする。この後、ステップ５０７に進み、リーン限界燃料量ＦＬＥＡＮ［ｇ］を燃料噴射弁２０の燃料噴射時間ＴＬＥＡＮ［ｍｓ］に変換し、次のステップ５０８で、このリーン限界の燃料噴射時間ＴＬＥＡＮに学習補正値ＦＧＡＫを乗算して始動時噴射時間ＴＡＵを算出する。
ＴＡＵ＝ＴＬＥＡＮ×ＦＧＡＫ
つまり、リーン限界の燃料噴射時間ＴＬＥＡＮを学習補正値ＦＧＡＫで補正して始動時噴射時間ＴＡＵを求める。
【００４７】
一方、ステップ５０５で、Ｘ＞ＫＧ１と判定された場合、つまり、暫定の燃料噴射量Ｘが第１のリッチ限界噴射量ＫＧ１よりリッチ側に位置する場合には、暫定の燃料噴射量Ｘがリッチ限界燃料量ＦＲＩＣＨに近いため、漏れ燃料吸入量のばらつき度合いによっては、気筒内に吸入される燃料の総量がリッチ限界燃料量ＦＲＩＣＨを越えてリッチ失火する可能性があると判断し、ステップ５０９に進み、学習ディザ値ＫＤＺをα／２に切り換えて、学習補正値ＦＧＡＫを小刻みに更新させるようにする。
【００４８】
この後、ステップ５１０に進み、暫定の燃料噴射量Ｘを第２のリッチ限界噴射量ＫＧ２と比較し、Ｘ≦ＫＧ２と判定された場合、つまり暫定の燃料噴射量Ｘが第２のリッチ限界噴射量ＫＧ２よりもリーン側に位置している場合には、リッチ失火する可能性がないと判断し、前述したＸ≦ＫＧ１の場合と同じく、ステップ５０７，５０８に進み、リーン限界の燃料噴射時間ＴＬＥＡＮを学習補正値ＦＧＡＫで補正して始動時噴射時間ＴＡＵを求める。
【００４９】
これに対し、上記ステップ５１０で、Ｘ＞ＫＧ２と判定された場合、つまり、暫定の燃料噴射量Ｘが第２のリッチ限界噴射量ＫＧ２よりもリッチ側に位置してる場合には、暫定の燃料噴射量Ｘを始動時の燃料噴射量として採用すると、漏れ燃料吸入量のばらつき度合いによっては、気筒内に吸入される燃料の総量がリッチ限界燃料量ＦＲＩＣＨを越えてリッチ失火する可能性があるため、ステップ５１１に進み、始動時の燃料噴射量を第２のリッチ限界噴射量ＫＧ２でガード処理すべく、第２のリッチ限界噴射量ＫＧ２［ｇ］を燃料噴射時間ＴＫＧ２［ｍｓ］に変換し、次のステップ５１２で、このＴＫＧ２を始動時噴射時間ＴＡＵとして採用する。
【００５０】
このようにして算出された始動時噴射時間ＴＡＵで、ＥＣＵ３７は、始動時に第１回目の燃料噴射から各気筒の吸気行程に同期させて燃料を噴射する。
【００５１】
［補正値学習ルーチン］
図１４に示す補正値学習ルーチン（図２のステップ６００）は、例えば３０℃Ａ毎に実行され、学習補正値ＦＧＡＫを次のようにして更新する。まず、ステップ６０１で、クランキング開始後の全気筒の燃料噴射弁２０の合計噴射回数をカウントするカウンタＣＩＮＪのカウント値が２以下であるか否かを判定する。このカウンタＣＩＮＪのカウント値が２以下の時、つまり合計噴射回数が２回以下の時は、図１５に示すように、第１回目の燃料噴射を行った気筒が第１回目の燃焼行程（爆発行程）に達しておらず、第１回目の燃焼状態を判定できないので、以降の処理を行うことなく、本ルーチンを終了する。図１５に示すように、始動時に、気筒判別後、例えば＃３気筒から吸気行程に同期して燃料噴射を開始した場合には、＃３気筒の吸気→圧縮の２工程（１８０℃Ａ×２）を経て第１回目の燃焼行程となり、この第１回目の燃焼行程に到達する前に、＃４気筒で燃料噴射が行われる。
【００５２】
一方、上記ステップ６０１で、カウンタＣＩＮＪのカウント値が２を越えている場合（合計噴射回数が３回以上の場合）には、噴射燃料が燃焼可能であると判断し、ステップ６０２に進み、第１回目の噴射燃料が燃焼する第１回目の燃焼点であるか否かを判定する。もし、第１回目の燃焼点であれば、ステップ６０３に進み、第１回目の燃焼状態が適正であるか否かを判定するために、エンジン回転数ＮＥが所定回転数（ＮＥCRNK＋β）以下であるか否かを判定する。ここで、ＮＥCRNKはクランキング回転数の平均値、βは適正燃焼時の回転数上昇量判定値である。この回転数上昇量判定値βは、図１６に示す冷却水温ＴＨＷをパラメータとするマップから、現在の冷却水温ＴＨＷに応じて求められる。このステップ６０３の処理が特許請求の範囲でいう燃焼状態判定手段として機能する。
【００５３】
始動時のエンジン回転数ＮＥは、第１回目の噴射燃料が燃焼すると、その燃焼の度合いに応じて上昇するため、第１回目の燃焼点のエンジン回転数ＮＥを、十分なトルクを発生できる適正燃焼時の回転数下限値（ＮＥCRNK＋β）と比較することで、第１回目の燃焼状態を判定することができる。
【００５４】
上記ステップ６０３で、ＮＥ＞ＮＥCRNK＋βと判定されれば、第１回目の燃焼状態が適正（完全燃焼）であったと判断し、次回の始動時の燃料噴射量を補正する必要がないため、学習補正値ＦＧＡＫを更新せずに本ルーチンを終了する。
【００５５】
これに対して、ステップ６０３で、ＮＥ≦ＮＥCRNK＋βと判定されれば、第１回目の燃焼状態が適正でなかったと判断し、ステップ６０４に進み、学習補正値ＦＧＡＫを次式により更新する。
ＦＧＡＫ(i) ＝（ＦＧＡＫ(i-1) ×ＦＬＥＡＮ＋ＫＤＺ）／ＦＬＥＡＮ
【００５６】
ここで、ＦＧＡＫ(i) は今回の学習補正値、ＦＧＡＫ(i-1) は前回の学習補正値である。この学習補正値ＦＧＡＫは、リーン限界燃料量ＦＬＥＡＮを基準にしてリッチ側に補正する割合を示す値である。ＫＤＺは前記始動時噴射量算出ルーチンで決定した学習ディザ値であり、Ｘ≦ＫＧ１の時はＫＤＺ＝αが用いられ、Ｘ＞ＫＧ１の時は、ＫＤＺ＝α／２が用いられる。尚、上式で用いた学習ディザ値ＫＤＺは燃料噴射量（ＦＧＡＫ×ＦＬＥＡＮ）に対するディザ値（補正量）であるが、学習ディザ値ＫＤＺを学習補正値ＦＧＡＫに対するディザ値に設定した場合には、次式により学習補正値ＦＧＡＫを更新すれば良い。
ＦＧＡＫ(i) ＝ＦＧＡＫ(i-1) ＋ＫＤＺ
【００５７】
このステップ６０４で更新された学習補正値ＦＧＡＫは、ＥＣＵ３７のバックアップＲＡＭ（図示せず）に記憶され、イグニッションスイッチ３８がオフされても保持され、次回の始動時噴射時間ＴＡＵの算出に用いられる。これにより、次回の始動時の第１回目の燃料噴射量は、学習ディザ値ＫＤＺ分だけリッチ側に増量補正され、第１回目の燃焼状態が改善される。
【００５８】
一方、前述したステップ６０２で、第１回目の燃焼点でないと判定された場合（つまり２回目以降の燃焼点と判定された場合）には、ステップ６０５に進み、ステップ６０３と同様に、ＮＥ≦ＮＥCRNK＋βであるか否かを判定し、ＮＥ≦ＮＥCRNK＋βの場合には、２回目以降の燃焼状態が適正でないと判断して、ステップ６０６に進み、始動時噴射時間ＴＡＵに所定の補正値γを加算し、始動時噴射時間ＴＡＵをリッチ側に補正して、本ルーチンを終了する。ここで、補正値γは始動時噴射時間ＴＡＵを適当な振り幅でリッチ側に補正する値であり、予め実験等により設定されている。
【００５９】
また、上記ステップ６０３で、ＮＥ＞ＮＥCRNK＋βである場合には、２回目以降の燃焼状態が適正と判断し、本ルーチンを終了する。
【００６０】
以上説明した学習処理について図１７のタイムチャートを用いて説明する。１回目の始動時に、第１回目の燃焼点で、エンジン回転数ＮＥが所定値（ＮＥCRNK＋β）に到達していないため、学習補正値ＦＧＡＫ（初期値は例えば１．０とする）は、学習ディザ値ＫＤＺに応じてリッチ側に更新される。図１７の例では、２回目、３回目の始動時も、同様に、第１回目の燃焼点で、エンジン回転数ＮＥが所定値（ＮＥCRNK＋β）に到達していないため、学習補正値ＦＧＡＫは順次更新される。このようにして、始動毎に学習補正値ＦＧＡＫが更新され、順次、燃焼状態が改善されていく。そして、４回目の始動で、始めてエンジン回転数ＮＥが所定値（ＮＥCRNK＋β）に到達すると、適正な燃焼状態と判定され、学習補正値ＦＧＡＫは、３回目の始動時に更新された値に保持される。このようにして、始動時の燃料噴射量が第１回目の燃焼状態に応じて最適化されていく。
【００６１】
［始動後噴射制御ルーチン］
図１８に示す始動後噴射制御ルーチン（図１２のステップ８００）は、例えば３０℃Ａ毎に次のように実行される。まず、ステップ８０１，８０２で、エンジン回転数ＮＥと吸気管圧力Ｐｍを読み込んだ後、ステップ８０３で、吸気管圧力変化量ΔＰｍを算出する。この後、ステップ８０４〜８０７で、吸気温ＴＨＡ、冷却水温ＴＨＷ、スロットル開度ＴＡ及び排気中の酸素濃度を検出し、ステップ８０８で、エンジン回転数ＮＥと吸気管圧力Ｐｍに応じて基本噴射時間ＴＰを算出する。
【００６２】
そして、次のステップ８０９で、冷却水温ＴＨＷに応じて水温補正係数ＦWLを算出した後、ステップ８１０で、冷却水温ＴＨＷと始動後経過時間に応じて始動後補正係数ＦASE を算出する。更に、ステップ８１１で、吸気温ＴＨＡに応じて吸気温補正係数ＦTHA を算出した後、ステップ８１２で、スロットル開度ＴＡとエンジン回転数ＮＥと吸気管圧力Ｐｍに応じて高負荷補正係数ＦOTP を算出する。この後、ステップ８１３で、排気中の酸素濃度に応じて空燃比フィードバック補正係数ＦA/F を算出した後、ステップ８１４で、吸気管圧力変化量ΔＰｍに応じて加速補正パルスＴACC を算出する。そして、次のステップ８１５で、燃料噴射時間ＴＡＵを次式により算出する。
ＴＡＵ＝ＴＰ×ＦWL×ＦTHA ×（ＦASE ＋ＦOTP ）×ＦA/F ＋ＴACC
【００６３】
以上説明した実施形態（１）によれば、エンジン停止中の漏れ燃料吸入量を考慮して始動時の第１回目の吸入混合気の空燃比が始動時可燃範囲となるように第１回目の燃料噴射量を算出し、且つ、始動時に気筒判別して第１回目の燃料噴射から吸気行程に同期した燃料噴射を行うので、吸気ポート等への燃料の付着（ウェット）を少なくし、且つ漏れ燃料の吸入の影響を受けずに、第１回目の燃料噴射から混合気の空燃比を確実に始動時可燃範囲に設定でき、第１回目の噴射燃料から確実に燃焼させることができて、始動性を向上できると共に、始動時のＨＣ排出量を低減でき、近年の益々厳しくなる排ガス規制や始動性向上の要求にも十分に対応することができる。
【００６４】
しかも、始動時に第１回目の吸入混合気の燃焼状態を判定し、その燃焼状態に応じて次回の始動時の第１回目の燃料噴射量に対する学習補正値を更新するようにしたので、燃料噴射弁２０等の燃料供給系部品やセンサ等の制御系部品の個体差（ばらつき）や経時劣化による燃料噴射特性のばらつきがあっても、このばらつきを学習効果により自動的に修正することができ、始動性向上や排気エミッション低減の効果を長期間安定して持続させることができる。
【００６５】
更に、始動時可燃範囲におけるリーン限界を基準にして第１回目の燃料噴射量を算出するようにしたので、第１回目の燃料噴射量を始動時可燃範囲内で必要最少量に設定することができ、始動時のＨＣ排出量の大幅な低減が可能となる。
【００６６】
《実施形態（２）》
ところで、図１９に示すように、始動時間は、噴射燃料の粒径が小さくなるほど短くなり、燃料粒径が１００μｍ以下になると、始動時間がほぼ１ｓｅｃとなる。また、図２０に示すように、始動時のＨＣ排出量は、燃料粒径が小さくなるほど低下する。従って、始動性向上や始動時のＨＣ排出量低減を図るには、燃料を微粒化して噴射することが好ましい。
【００６７】
この観点から、図２１に示す本発明の実施形態（２）では、燃料微粒化手段としてエアアシスト型の燃料噴射弁４０を採用している。この燃料噴射弁４０には、エアミキシングソケット４１が装着され、スロットルバルブ１５をバイパスする三方弁型のアイドルスピードコントロールバルブ（以下「ＩＳＣ」と表記する）４２からバイパスエアの一部がアシストエアとしてエア通路４３を通してエアミキシングソケット４１に供給される。このアシストエアは、スロットルバルブ１５の上流側と下流側の差圧によってエアミキシングソケット４１側に送られ、燃料噴射時にアシストエアを燃料噴射弁４０の噴射燃料と混合して噴射することで、噴射燃料を微粒化する。
【００６８】
アシストエアの流量は、三方弁型のＩＳＣ４２の開度調節によって調節され、ＩＳＣ４２からスロットルバルブ１５の下流側に戻されるバイパスエアと燃料噴射弁４０側に送られるアシストエアとの合計流量が目標バイパス流量となるようにアイドル回転制御が行われる。また、アシストエアとバイパスエアとの分配比は、エンジン運転状態に応じて制御される。始動時の燃料噴射制御と学習制御は前記実施形態（１）と同じである。
【００６９】
この実施形態（２）のように、エアアシスト型の燃料噴射弁４０を用いて噴射燃料を微粒化すれば、始動性向上とＨＣ排出量低減の効果を更に高めることができる。
【００７０】
尚、燃料微粒化手段は、エアアシスト方式のものに限定されず、燃料噴射弁の改良により噴射燃料を微粒化するようにしても良い。或は、プレッシャレギュレータ２４の設定圧を高くし、燃料ポンプ２２の吐出圧を高めて、燃料噴射弁への供給燃圧を高くすることで、噴射燃料を微粒化するようにしても良い。
【００７１】
《実施形態（３）》
前記実施形態（１）では、始動時に第１回目の燃焼行程でのエンジン回転数の上昇具合によって第１回目の燃焼状態を判定するようにしたが、図２２に示すように、燃焼状態に応じて筒内圧力の上昇具合が変化するため、筒内圧力の上昇具合に基づいて第１回目の燃焼状態を判定することが可能である。
【００７２】
そこで、図２３に示す本発明の実施形態（３）では、筒内圧力センサ４５付きの点火プラグ４６をエンジン１０のシリンダヘッドに取り付け、筒内圧力センサ４５によって、燃焼時の筒内圧力とコンプレッション圧力とを検出して、両者の圧力差（燃焼時の筒内圧力上昇量）を算出し、これを判定値と比較することで、完全燃焼と不完全燃焼とを判別するようにしている。これ以外は、前記実施形態（１），（２）のいずれかと同じである。
【００７３】
この場合、図１４の補正値学習ルーチンにおいて、ステップ６０３，６０５で、燃焼時の筒内圧力上昇量が判定値以下であるか否かを判定すれば良く、これによって、前記実施形態（１）と同じく、第１回目の燃焼状態に応じて次回の始動時の第１回目の燃料噴射量に対する学習補正値を更新することができる。
尚、燃焼時の筒内圧力上昇量とエンジン回転数の上昇量の両方を用いて第１回目の燃焼状態を判定するようにしても良い。
【００７４】
《実施形態（４）》
冷却水温等の始動条件が異なれば、始動時可燃範囲も異なるため、本発明の実施形態（４）では、始動条件に応じて区分された複数の学習領域を設定し、始動毎にその始動条件に対応する学習領域の学習補正値を更新又は維持し、始動時には、その始動条件に対応する学習領域の学習補正値を用いて第１回目の燃料噴射量を補正する。これ以外は、前記実施形態（１）〜（３）のいずれかと同じである。
【００７５】
この実施形態（４）では、始動条件毎に第１回目の燃焼状態が適正となる燃料噴射量を学習でき、学習精度を向上できる。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御系システム全体の概略構成を示す図
【図２】始動時燃料噴射制御メインルーチンの処理の流れを示すフローチャート
【図３】始動時可燃範囲推定ルーチンの処理の流れを示すフローチャート
【図４】始動時可燃範囲を示す図
【図５】充填効率マップを示す図
【図６】停止中燃料漏れ量推定ルーチンの処理の流れを示すフローチャート
【図７】冷却水温ＴＨＷと水温補正値ＦＰTHW との関係を示す図
【図８】停止時間と燃圧の関係を示す図
【図９】燃料噴射弁の合計燃料漏れ量の分布特性を示す図
【図１０】停止時間と漏れ燃料積算値ＦＬＥＡＫの関係を示す図
【図１１】漏れ燃料吸入量推定ルーチンの処理の流れを示すフローチャート
【図１２】始動時噴射量算出ルーチンの処理の流れを示すフローチャート
【図１３】始動時の燃料噴射量の算出方法を説明する図
【図１４】補正値学習ルーチンの処理の流れを示すフローチャート
【図１５】始動時の燃料噴射制御の一例を示すタイムチャート
【図１６】冷却水温ＴＨＷと回転数上昇量判定値βとの関係を示す図
【図１７】始動時の学習制御の一例を示すタイムチャート
【図１８】始動後噴射制御ルーチンの処理の流れを示すフローチャート
【図１９】燃料粒径と始動時間との関係を示す図
【図２０】燃料粒径と始動時ＨＣ排出量との関係を示す図
【図２１】本発明の実施形態（２）におけるエンジン制御系システム全体の概略構成を示す図
【図２２】燃焼時の筒内圧力の変化を示すタイムチャート
【図２３】本発明の実施形態（３）におけるシステムの主要部の構成を示す図
【符号の説明】
１０…エンジン（内燃機関）、１２…吸気管、２０…燃料噴射弁、３０…水温センサ、２２…燃料ポンプ、３５…クランク角センサ、３６…気筒判別センサ、３７…ＥＣＵ（噴射時期制御手段，始動時可燃範囲推定手段，漏れ燃料吸入量推定手段，始動時噴射量算出手段，燃焼状態判定手段，学習手段）、４０…燃料噴射弁、４１…エアミキシングソケット、４２…ＩＳＣ、４３…エア通路、４５…筒内圧力センサ、４６…点火プラグ。
【図１】
0003894389.tif 000003
【図２】
0003894389.tif 000004
【図３】
0003894389.tif 000005
【図４】
0003894389.tif 000006
【図５】
0003894389.tif 000007
【図６】
0003894389.tif 000008
【図７】
0003894389.tif 000009
【図８】
0003894389.tif 000010
【図９】
0003894389.tif 000011
【図１０】
0003894389.tif 000012
【図１１】
0003894389.tif 000013
【図１２】
0003894389.tif 000014
【図１３】
0003894389.tif 000015
【図１４】
0003894389.tif 000016
【図１５】
0003894389.tif 000017
【図１６】
0003894389.tif 000018
【図１７】
0003894389.tif 000019
【図１８】
0003894389.tif 000020
【図１９】
0003894389.tif 000021
【図２０】
0003894389.tif 000022
【図２１】
0003894389.tif 000023
【図２２】
0003894389.tif 000024
【図２３】
0003894389.tif 000025