(57)【要約】【課題】１回の燃焼に要求される噴射量に相当する量の燃料を複数回の燃料噴射で噴射する際、これら複数回の燃料噴射のうちの最後の燃料噴射での噴射量のばらつきを抑制する。【解決手段】燃料噴射制御装置は、個別噴射量演算部によって演算された各燃料噴射での噴射量である演算値Ｑ１、Ｑ２、Ｑ３を変更する噴射量変更部を備える。噴射量変更部は、３回の燃料噴射のうちの３回目の燃料噴射の演算値Ｑ３が、パーシャルリフト噴射下限値Ｑｐｍｉｎ未満である場合に、演算値Ｑ３をパーシャルリフト噴射下限値Ｑｐｍｉｎと同じ値にまで増量し、増量後の値を３回目の燃料噴射の実行値とする。また、その増量分を１回目の燃料噴射の演算値Ｑ１から減量し、減量後の値を１回目の燃料噴射の実行値とする。【選択図】図１４
2018017160.tif 000002
【特許請求の範囲】
【請求項１】
燃料を噴射する筒内インジェクタのニードル弁が全開に至るフルリフト噴射と、筒内インジェクタのニードル弁が全開に至らないパーシャルリフト噴射とを実行可能な内燃機関に適用され、１回の燃焼に要求される噴射量に相当する量の燃料を複数回の燃料噴射に分割して噴射させ、前記複数回の燃料噴射のうち最後の燃料噴射として前記パーシャルリフト噴射を前記筒内インジェクタに実行させる燃料噴射制御装置であって、
前記複数回の燃料噴射での噴射量の総量を総噴射量として演算する総噴射量演算部と、
前記複数回の燃料噴射での噴射量の和が、前記総噴射量演算部によって演算された総噴射量と一致するように各燃料噴射での噴射量を演算する個別噴射量演算部と、
前記複数回の燃料噴射のうちの前記最後の燃料噴射での噴射量が、予め定められたパーシャルリフト噴射下限値未満である場合に、第１変更処理を実行する噴射量変更部とを備え、
前記噴射量変更部は、前記第１変更処理として、前記最後の燃料噴射における噴射量を、前記パーシャルリフト噴射下限値以上であって当該パーシャルリフト噴射下限値よりも大きな値に定められたパーシャルリフト噴射上限値以下の値へと増量し、その増量分を前記複数回の燃料噴射のうち前記最後の燃料噴射以外の燃料噴射での噴射量から減量する処理を実行する
ことを特徴とする燃料噴射制御装置。
【請求項２】
前記複数回の燃料噴射のうち最初の燃料噴射として前記フルリフト噴射を前記筒内インジェクタに実行させ、
前記噴射量変更部は、前記第１変更処理において、前記最後の燃料噴射での噴射量の増量分を、前記最初の燃料噴射での噴射量から減量する処理を実行する
ことを特徴とする請求項１に記載の燃料噴射制御装置。
【請求項３】
前記噴射量変更部は、前記第１変更処理において、前記個別噴射量演算部によって演算された前記最後の燃料噴射での噴射量を、前記パーシャルリフト噴射下限値と同じ値へと増量する処理を実行する
ことを特徴とする請求項１又は２に記載の燃料噴射制御装置。
【請求項４】
前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第２変更処理を実行し、
前記噴射量変更部は、前記第２変更処理として、前記特定燃料噴射での噴射量を前記フルリフト噴射下限値以上の値にまで増量し、その増量分を前記最初の燃料噴射の噴射量から減量する処理を実行する
ことを特徴とする請求項１〜３のいずれか一項に記載の燃料噴射制御装置。
【請求項５】
前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第３変更処理を実行し、
前記噴射量変更部は、前記第３変更処理として、前記特定燃料噴射での噴射量を「０」に減量し、その減量分を前記最初の燃料噴射での噴射量に対して増量する処理を実行する
ことを特徴とする請求項１〜３のいずれか一項に記載の燃料噴射制御装置。
【請求項６】
前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第４変更処理を実行し、
前記噴射量変更部は、前記第４変更処理として、前記特定燃料噴射での噴射量を前記パーシャルリフト噴射下限値以上で前記パーシャルリフト噴射上限値以下の値に減量し、その減量分を前記最初の燃料噴射での噴射量に対して増量する処理を実行する
ことを特徴とする請求項１〜３のいずれか一項に記載の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射制御装置に関する。
【背景技術】
【０００２】
特許文献１には、燃料を噴射する筒内インジェクタのニードル弁が全開に至るフルリフト噴射と、筒内インジェクタのニードル弁が全開に至らないパーシャルリフト噴射（中間リフト噴射）とを実行可能な内燃機関に適用される燃料噴射制御装置が記載されている。特許文献１に記載の燃料噴射制御装置は、筒内インジェクタに、１回の燃焼に要求される噴射量に相当する量の燃料を複数回の燃料噴射に分割して噴射させる。また、特許文献１に記載の燃料噴射制御装置は、上記複数回の燃料噴射のうちの最後の燃料噴射として、筒内インジェクタにパーシャルリフト噴射を実行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−８５６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような技術において、複数回の燃料噴射のうちの最後の燃料噴射は、点火プラグの近傍に他の領域よりも濃い燃料層を成層することを目的として実行される。そのため、最後の燃料噴射での噴射量にばらつきが生じると、気筒毎、１回の燃焼毎の燃焼状態にばらつきが生じやすい。したがって、複数回の燃料噴射のうちの最後の燃料噴射は、ばらつきの小さい正確な噴射量で噴射が実行されることが求められる。
【０００５】
ところで、燃料噴射制御装置による噴射量の演算方法によっては、上記複数回の燃料噴射のうちの最後の燃料噴射での噴射量として小さな噴射量が演算されることがある。そして、パーシャルリフト噴射での燃料噴射は、ニードル弁の位置がフルリフト噴射の場合に比べて不安定で、噴射量が小さくなるほどばらつきが大きくなる。したがって、過度に小さな噴射量が最後の燃料噴射での噴射量の実行値として設定されると、気筒毎、１回の燃焼毎の燃焼状態にばらつきが生じることがある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明は、燃料を噴射する筒内インジェクタのニードル弁が全開に至るフルリフト噴射と、筒内インジェクタのニードル弁が全開に至らないパーシャルリフト噴射とを実行可能な内燃機関に適用され、１回の燃焼に要求される噴射量に相当する量の燃料を複数回の燃料噴射に分割して噴射させ、前記複数回の燃料噴射のうち最後の燃料噴射として前記パーシャルリフト噴射を前記筒内インジェクタに実行させる燃料噴射制御装置であって、前記複数回の燃料噴射での噴射量の総量を総噴射量として演算する総噴射量演算部と、前記複数回の燃料噴射での噴射量の和が、前記総噴射量演算部によって演算された総噴射量と一致するように各燃料噴射での噴射量を演算する個別噴射量演算部と、前記複数回の燃料噴射のうちの前記最後の燃料噴射での噴射量が、予め定められたパーシャルリフト噴射下限値未満である場合に、第１変更処理を実行する噴射量変更部とを備え、前記噴射量変更部は、前記第１変更処理として、前記最後の燃料噴射における噴射量を、前記パーシャルリフト噴射下限値以上であって当該パーシャルリフト噴射下限値よりも大きな値に定められたパーシャルリフト噴射上限値以下の値へと増量し、その増量分を前記複数回の燃料噴射のうち前記最後の燃料噴射以外の燃料噴射での噴射量から減量する処理を実行する。
【０００７】
上記の構成によれば、複数回の燃料噴射のうち最後の燃料噴射での噴射量として、パーシャルリフト噴射下限値未満の噴射量が演算されても、その噴射量がパーシャルリフト噴射下限値以上の値に変更される。したがって、最後の燃料噴射が、パーシャルリフト噴射下限値未満という過度に小さな噴射量で実行されることはない。その結果、最後の燃料噴射での噴射量のばらつきを抑制して、気筒毎、１回の燃焼毎の燃焼状態にばらつきが生じることを抑制できる。
【０００８】
本発明において、前記複数回の燃料噴射のうち最初の燃料噴射として前記フルリフト噴射を前記筒内インジェクタに実行させ、前記噴射量変更部は、前記第１変更処理において、前記最後の燃料噴射での噴射量の増量分を、前記最初の燃料噴射での噴射量から減量する処理を実行するようにしてもよい。
【０００９】
上記の構成において最初の燃料噴射は、気筒全体に燃料を分布させるためのフルリフト噴射であり、最後の燃料噴射ほどの噴射量の正確性は必要とされない。したがって、上記の構成によれば、最初の燃料噴射での噴射量を減量することに伴って、気筒における燃焼状態に何らかの悪影響を及ぼす可能性は低い。
【００１０】
本発明において、前記噴射量変更部は、前記第１変更処理において、前記個別噴射量演算部によって演算された前記最後の燃料噴射での噴射量を、前記パーシャルリフト噴射下限値と同じ値へと増量する処理を実行するようにしてもよい。
【００１１】
上記の構成によれば、最後の燃料噴射での噴射量をパーシャルリフト噴射下限値以上の噴射量に変更するにあたって、その変更量を最小限に抑えることができる。したがって、最後の燃料噴射での噴射量を変更することに伴って、気筒内の点火プラグ近傍における燃料の成層状況が変化することを最小限に留められる。
【００１２】
本発明において、前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第２変更処理を実行し、前記噴射量変更部は、前記第２変更処理として、前記特定燃料噴射での噴射量を前記フルリフト噴射下限値以上の値にまで増量し、その増量分を前記最初の燃料噴射の噴射量から減量する処理を実行するようにしてもよい。
【００１３】
パーシャルリフト噴射での燃料噴射だけでなく、フルリフト噴射での燃料噴射であっても噴射量が小さくなるほどばらつきも大きくなる傾向がある。この点、上記の構成によれば、個別噴射量演算部によって演算された特定燃料噴射での噴射量がフルリフト噴射下限値未満であっても、その噴射量が噴射量変更部によってフルリフト噴射下限値以上の噴射量に増量される。したがって、特定燃料噴射が、フルリフト噴射下限値未満というフルリフト噴射での燃料噴射としては過度に小さな噴射量で実行されることはない。なお、最初の燃料噴射は、気筒全体に燃料を分布させるための噴射であり、それより後の燃料噴射ほどの噴射量の正確性は必要とされない。したがって、最初の燃料噴射での噴射量を減量することに伴って、気筒における燃焼状態に何らかの悪影響を及ぼす可能性は低い。
【００１４】
本発明において、前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第３変更処理を実行し、前記噴射量変更部は、前記第３変更処理として、前記特定燃料噴射での噴射量を「０」に減量し、その減量分を前記最初の燃料噴射での噴射量に対して増量する処理を実行するようにしてもよい。
【００１５】
上記の構成によれば、個別噴射量演算部によって演算された特定燃料噴射での噴射量がパーシャルリフト噴射上限値より大きくフルリフト噴射下限値未満である場合には、その特定燃料噴射での噴射量が「０」に減量される。すなわち、特定燃料噴射が省略されて、全体としては燃料噴射の回数が１回少なくなる。したがって、ばらつきの大きい噴射量で特定燃料噴射が実行されることはない。なお、この処理が行われた場合、最初の燃料噴射において噴射量全体の大半を確保しつつ、最後の燃料噴射において点火プラグの近傍に他の領域よりも濃い燃料層を適切に成層することができる。したがって、特定燃料噴射が省略されることに伴って気筒における燃焼状態に何らかの悪影響を及ぼす可能性は低い。
【００１６】
本発明において、前記噴射量変更部は、前記個別噴射量演算部によって演算された前記複数回の燃料噴射のうち最初の燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きな値に定められたフルリフト噴射下限値以上であり、且つ、前記個別噴射量演算部によって演算された各燃料噴射での噴射量のうち前記最後の燃料噴射と前記最初の燃料噴射とを除く特定燃料噴射での噴射量が、前記パーシャルリフト噴射上限値よりも大きく前記フルリフト噴射下限値未満である場合に、第４変更処理を実行し、前記噴射量変更部は、前記第４変更処理として、前記特定燃料噴射での噴射量を前記パーシャルリフト噴射下限値以上で前記パーシャルリフト噴射上限値以下の値に減量し、その減量分を前記最初の燃料噴射での噴射量に対して増量する処理を実行するようにしてもよい。
【００１７】
上記の構成によれば、個別噴射量演算部によって演算された特定燃料噴射での噴射量がパーシャルリフト噴射上限値よりも大きくフルリフト噴射下限値未満である場合には、噴射量が減量されて特定燃料噴射がパーシャルリフト噴射で実行されることになる。このように、ばらつきの大きい噴射量でフルリフト噴射により特定燃料噴射を実行するよりは、噴射量を多少下げてでもパーシャルリフト噴射により噴射した方が特定燃料噴射での噴射量のばらつきを小さくすることができる。
【図面の簡単な説明】
【００１８】
【図１】内燃機関及び燃料噴射制御装置の概略構成図。
【図２】筒内インジェクタの断面図。
【図３】筒内インジェクタにおける噴射量及び噴射量のばらつきと通電時間との関係を示すグラフ。
【図４】吸気行程から圧縮行程までに１つの気筒に供給する燃料の総量である総噴射量を演算する処理を示すフローチャート。
【図５】３回の燃料噴射の各噴射量を演算値として演算する処理を示すフローチャート。
【図６】各噴射量の演算値を変更する変更処理を示すフローチャート。
【図７】各噴射量の演算値を変更する変更処理を示すフローチャート。
【図８】各噴射量の演算値を変更する変更処理を示すフローチャート。
【図９】変更処理による各噴射量の変化を示す説明図。
【図１０】変更処理による各噴射量の変化を示す説明図。
【図１１】変更処理による各噴射量の変化を示す説明図。
【図１２】変更処理による各噴射量の変化を示す説明図。
【図１３】変更処理による各噴射量の変化を示す説明図。
【図１４】変更処理による各噴射量の変化を示す説明図。
【図１５】変更処理による各噴射量の変化を示す説明図。
【図１６】変更処理による各噴射量の変化を示す説明図。
【図１７】変更処理による各噴射量の変化を示す説明図。
【図１８】変更処理による各噴射量の変化を示す説明図。
【図１９】変更処理による各噴射量の変化を示す説明図。
【図２０】変更処理による各噴射量の変化を示す説明図。
【図２１】変更処理による各噴射量の変化を示す説明図。
【図２２】変更処理による各噴射量の変化を示す説明図。
【図２３】図１８で示す変更処理に代えて適用可能な変更処理による各噴射量の変化を示す説明図。
【発明を実施するための形態】
【００１９】
以下、本発明の燃料噴射制御装置を図面に従って説明する。先ず、本発明の燃料噴射制御装置５０が適用される内燃機関１０の概略構成を説明する。
図１に示すように、内燃機関１０の吸気通路１１には、当該吸気通路１１に流入する吸気中の塵などの異物をろ過するエアクリーナ１２が設けられている。吸気通路１１におけるエアクリーナ１２よりも下流側には、吸気の流量を検出するエアフローメータ１３が設けられている。エアフローメータ１３は、検出した吸気の流量値を燃料噴射制御装置５０へと出力する。吸気通路１１におけるエアフローメータ１３よりも下流側には、弁開度の変更を通じて吸入空気量を調整するスロットルバルブ１４が設けられている。
【００２０】
吸気通路１１のスロットルバルブ１４よりも下流側は、吸気ポート１５を介して気筒１６に接続されている。気筒１６の内部には、気筒１６内で往復動作するピストン１７が設けられている。気筒１６には、排気ポート１８を介して排気通路１９が接続されている。排気通路１９には、排気中の窒素酸化物、一酸化炭素及び炭化水素を浄化するための排気浄化触媒２０が設けられている。また、気筒１６の内部において、吸気ポート１５と排気ポート１８との間には、燃料を点火するための点火プラグ２１が設けられている。なお、図１では、気筒１６及びこれに接続された吸気ポート１５及び排気ポート１８を１組のみ図示しているが、内燃機関１０には、気筒１６及びこれに接続された吸気ポート１５及び排気ポート１８が複数組設けられている。
【００２１】
上記の内燃機関１０の各気筒１６には、燃料を貯留する燃料タンク３０から燃料が供給される。燃料タンク３０の内部には、その燃料タンク３０内の燃料を汲み出して低圧燃料通路３２へと吐出するフィードポンプ３１が設けられている。低圧燃料通路３２は、途中で第１分岐通路３２ａ及び第２分岐通路３２ｂに分岐している。これらのうち第１分岐通路３２ａは、低圧燃料配管３３に接続されている。低圧燃料配管３３には、当該低圧燃料配管３３から供給される燃料を噴射するポートインジェクタ３４が設けられている。ポートインジェクタ３４は電磁式の弁であり、燃料噴射制御装置５０によって開閉制御されることで、所定量の燃料を内燃機関１０における吸気ポート１５内に噴射する。
【００２２】
低圧燃料通路３２における第２分岐通路３２ｂには、燃料噴射制御装置５０によって動作が制御される高圧燃料ポンプ３５が設けられている。高圧燃料ポンプ３５は、フィードポンプ３１から吐出される燃料をさらに所定の圧力にまで加圧して吐出する。高圧燃料ポンプ３５には、高圧燃料通路３６を介して高圧燃料配管３７が接続されている。高圧燃料配管３７には、当該高圧燃料配管３７から供給される燃料を噴射する筒内インジェクタ４０が設けられている。筒内インジェクタ４０は電磁式の弁であり、燃料噴射制御装置５０によって開閉制御されることで、所定量の燃料を内燃機関１０における気筒１６内に噴射する。また、高圧燃料配管３７には、筒内インジェクタ４０に供給する燃料の圧力を検出する燃圧センサ３８が設けられている。燃圧センサ３８は、高圧燃料配管３７の燃圧値を燃料噴射制御装置５０に出力する。
【００２３】
次に、筒内インジェクタ４０のより具体的な構成について説明する。
図２に示すように、筒内インジェクタ４０のハウジング４１は、全体としては筒状に形成されている。ハウジング４１の内部には、電磁ソレノイド４２が設けられている。電磁ソレノイド４２は、ハウジング４１に固定された固定コア４３と、固定コア４３の周囲に設けられた電磁コイル４４と、固定コア４３よりも筒内インジェクタ４０の先端側（図２において右側）に配置された可動コア４５とを備えている。可動コア４５は、ハウジング４１の内部においてハウジング４１の軸方向（図２において左右方向）に変位可能に設けられている。
【００２４】
ハウジング４１の内部において、固定コア４３と可動コア４５との間には、ハウジング４１の軸方向に延びるスプリング４６が介在されている。スプリング４６は、固定コア４３によって支持されているとともに、可動コア４５を先端側へと付勢している。ハウジング４１の内部において可動コア４５よりも先端側には空隙が設けられており、この空隙が、上述した高圧燃料配管３７から燃料が供給される燃料室Ｒとして機能している。
【００２５】
可動コア４５の先端側には、可動コア４５と一体的に変位するニードル弁４７が固定されている。ニードル弁４７は、全体としてはハウジング４１の軸方向に延びる針状になっている。ハウジング４１の内部における先端側には、ニードル弁４７の先端部分の周囲を取り囲むノズルボディ４８が取り付けられている。ノズルボディ４８の先端には、ハウジング４１の内外を連通させる噴孔４９が設けられている。
【００２６】
筒内インジェクタ４０において、ニードル弁４７は可動コア４５とともにハウジング４１の先端側へと付勢されている。そして、電磁ソレノイド４２の電磁コイル４４への通電が行われていない状態では、ニードル弁４７の先端がノズルボディ４８の先端に着座して、ニードル弁４７により噴孔４９が閉塞された状態にある。
【００２７】
電磁ソレノイド４２の電磁コイル４４への通電が開始されると、固定コア４３と可動コア４５との間に電磁吸引力が発生し、可動コア４５が固定コア４３側へと変位する。これに伴って、ニードル弁４７の先端がノズルボディ４８から離れて、噴孔４９が開放される。これにより、筒内インジェクタ４０は、燃料室Ｒ内の燃料を噴孔４９を介してハウジング４１の外部に噴射する。なお、可動コア４５は、固定コア４３に当接する位置まで移動可能である。そして、図２に示すように可動コア４５と固定コア４３とが当接しているときに、ニードル弁４７が全開となる。
【００２８】
次に、上記のように構成された筒内インジェクタ４０における、電磁ソレノイド４２の電磁コイル４４への通電時間と噴射量のばらつきとの関係について説明する。なお、以下の説明では、「パーシャルリフト噴射」を「Ｐ／Ｌ」、「フルリフト噴射」を「Ｆ／Ｌ」と略記することがある。
【００２９】
図３に示すように、筒内インジェクタ４０の電磁コイル４４に通電が開始されてから、ある程度の時間が経過するまでは、ニードル弁４７の先端がノズルボディ４８に着座しているため、筒内インジェクタ４０からの噴射量は「０」である。筒内インジェクタ４０の電磁コイル４４に通電が開始されてからある程度の時間が経過したリフト開始時刻ＴＯにおいて、ニードル弁４７はノズルボディ４８から離れ始める。
【００３０】
リフト開始時刻ＴＯを過ぎると、通電時間が長くなるのに従ってニードル弁４７のリフト量が大きくなる。そして、Ｐ／Ｌ最大通電時刻Ｔｐｍａｘの直後にニードル弁４７のリフト量が最大となる。すなわち、ニードル弁４７が全開となる。また、リフト開始時刻ＴＯからＰ／Ｌ最大通電時刻Ｔｐｍａｘまでの期間においては、筒内インジェクタ４０の噴射量が通電時間に比例して徐々に多くなる。なお、この期間においては、ニードル弁４７のリフト量も通電時間に比例して大きくなるため、噴射量の変化率は比較的に大きい。このように、通電終了時刻がリフト開始時刻ＴＯからＰ／Ｌ最大通電時刻Ｔｐｍａｘまでの時刻に設定されるＰ／Ｌ領域においては、筒内インジェクタ４０は、ニードル弁４７が全開に至らないパーシャルリフト噴射を実行する。
【００３１】
一方、Ｐ／Ｌ最大通電時刻Ｔｐｍａｘよりも後の期間においては、ニードル弁４７のリフト量が最大に保持され、ニードル弁４７が全開のままである。したがって、この期間においては、筒内インジェクタ４０の噴射量が通電時間に比例して徐々に多くなる。なお、この期間においては、ニードル弁４７のリフト量は、後述するニードル弁４７のバウンス運動による変動を除けば一定であるため、噴射量の変化率は上述したＰ／Ｌ領域における変化率よりは小さい。このように、通電終了時刻がＰ／Ｌ最大通電時刻Ｔｐｍａｘより後の時刻に設定されるＦ／Ｌ領域においては、筒内インジェクタ４０は、ニードル弁４７が全開に至るフルリフト噴射を実行する。
【００３２】
筒内インジェクタ４０の電磁コイル４４への通電開始からニードル弁４７が離れるリフト開始時刻ＴＯまでの時間には、ある程度のばらつきが存在する。そして、そのばらつきは、パーシャルリフト噴射における噴射量のばらつきの要因となる。また、パーシャルリフト噴射においては、通電時間が短くなるほど、噴射量全体に対する上記の噴射量のばらつきの割合が大きくなる。したがって、パーシャルリフト噴射においては、通電時間が短くて噴射量が少ないほど、噴射量のばらつきが大きくなる。
【００３３】
一方、筒内インジェクタ４０において可動コア４５が固定コア４３に当接してニードル弁４７が全開になるときには、可動コア４５が固定コア４３に当接した衝撃の反動でニードル弁４７がバウンス運動する。こうしたニードル弁４７のバウンス運動に起因するリフト量の微小振動がフルリフト噴射における噴射量のばらつきの要因となる。また、フルリフト噴射においては、通電時間が短くなるほど、噴射量全体に対する上記の噴射量のばらつきの割合が大きくなる。したがって、フルリフト噴射においては、通電時間が短くて噴射量が少ないほど、噴射量のばらつきが大きくなる傾向がある。
【００３４】
内燃機関１０を適切に運転させるためには、気筒１６毎、気筒１６の１回の燃焼毎の燃料の噴射量のばらつきを一定の許容値以下に留めることが好ましい。そして、図３に示すように、所定のばらつき許容値を定めた場合、Ｐ／Ｌ領域においては、噴射量のばらつきが許容値以下となる通電時間、すなわち通電終了時刻がＰ／Ｌ最小通電時刻ＴｐｍｉｎからＰ／Ｌ最大通電時刻Ｔｐｍａｘまでの時刻で、筒内インジェクタ４０の電磁コイル４４を通電すればよい。したがって、通電終了時刻がＰ／Ｌ最小通電時刻Ｔｐｍｉｎであるときの理論上の噴射量（ばらつきが「０」の噴射量）をＰ／Ｌ下限値Ｑｐｍｉｎ、通電終了時刻がＰ／Ｌ最大通電時刻Ｔｐｍａｘであるときの理論上の噴射量（ばらつきが「０」の噴射量）をＰ／Ｌ上限値Ｑｐｍａｘとしたとき、パーシャルリフト噴射における噴射量を、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下に設定すれば、噴射量のばらつきは許容値以内に留められる。
【００３５】
同様に、所定のばらつき許容値を定めた場合、Ｆ／Ｌ領域においては、噴射量のばらつきが許容値以下となる通電時間、すなわち通電終了時刻がＦ／Ｌ最小通電時刻Ｔｆｍｉｎ以後の時刻で筒内インジェクタ４０の電磁コイル４４を通電すればよい。したがって、通電終了時刻がＦ／Ｌ最小通電時刻Ｔｆｍｉｎであるときの理論上の噴射量（ばらつきが「０」の噴射量）をＦ／Ｌ下限値Ｑｆｍｉｎとしたとき、パーシャルリフト噴射における噴射量を、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上に設定すれば、噴射量のばらつきは許容値以内に留められる。
【００３６】
図１に示すように、上記の筒内インジェクタ４０による燃料噴射は、燃料噴射制御装置５０によって制御されている。燃料噴射制御装置５０は、各種のプログラムを実行する演算部５１、各種のプログラムやプログラムの実行の際に使用される数値や演算式等が格納されたＲＯＭ５２、各種のプログラム等の際に一時的にデータが記憶されるＲＡＭ５３を備えたコンピュータとして構成されている。なお、この実施形態では、燃料噴射制御装置５０は、車両の電子制御ユニットとして構成されている。
【００３７】
燃料噴射制御装置５０には、上述したように、エアフローメータ１３が検出した吸気の流量値、及び燃圧センサ３８が検出した高圧燃料配管３７の燃圧値が入力される。また、燃料噴射制御装置５０には、ピストン１７の往復動作に伴って回転するクランクシャフトの回転数を検出するクランク角センサ６１からクランク角の検出値が入力される。燃料噴射制御装置５０には、内燃機関１０を冷却するラジエターの冷却水温を検出する水温センサ６２から水温値が入力される。また、燃料噴射制御装置５０には、アクセルペダルの踏み込み量を検出するアクセルセンサ６３からアクセルペダルの踏み込み量が入力される。さらに、燃料噴射制御装置５０には、車両の外部の気温を検出する外気温センサ６４から外気温値が入力される。燃料噴射制御装置５０は、これらの値に基づいて、筒内インジェクタ４０から噴射される燃料の噴射量を演算する。
【００３８】
燃料噴射制御装置５０の演算部５１は、各気筒１６における１回の燃焼に要求される噴射量を、燃料噴射制御装置５０に入力される各種の値やＲＯＭ５２に予め格納されている数値や演算式に従って総噴射量Ｑｔとして演算する総噴射量演算部５１ａとしての機能を有する。この実施形態では、燃料噴射制御装置５０は、始動開始時から暖機が完了するまでの期間など、内燃機関１０が特定の運転状態にある場合に、１回の燃焼に要求される噴射量に相当する燃料を３回に分割して噴射させる。したがって、総噴射量演算部５１ａは、３回の燃料噴射での噴射量の総量を総噴射量Ｑｔとして演算する。なお、この実施形態では、１回目の燃料噴射が「最初の燃料噴射」に、３回目の燃料噴射が「最後の燃料噴射」に、２回目の燃料噴射が「最後の燃料噴射と最初の燃料噴射とを除いた特定燃料噴射」に、それぞれ相当する。
【００３９】
燃料噴射制御装置５０の演算部５１は、各回の燃料噴射での噴射量を演算値Ｑ１、Ｑ２、Ｑ３として演算する個別噴射量演算部５１ｂとしての機能を有する。個別噴射量演算部５１ｂは、ＲＯＭ５２に予め格納されている演算式に従って、演算値Ｑ１、Ｑ２、Ｑ３の和が総噴射量演算部５１ａが演算した総噴射量Ｑｔと一致するように、各燃料噴射での演算値Ｑ１、Ｑ２、Ｑ３を演算する。燃料噴射制御装置５０の演算部５１は、個別噴射量演算部５１ｂが演算した演算値Ｑ１、Ｑ２、Ｑ３を変更する噴射量変更部５１ｃとしての機能を有する。噴射量変更部５１ｃは、演算値Ｑ１、Ｑ２、Ｑ３の値が特定の条件を満たした場合に、これら演算値Ｑ１、Ｑ２、Ｑ３を変更する変更処理を実行する。
【００４０】
上記のように構成された燃料噴射制御装置５０による燃料噴射制御の各処理について、図４〜図８のフローチャート、及び図９〜図２２の説明図を参照して説明する。
内燃機関１０が始動して自立運転を開始すると、燃料噴射制御装置５０における総噴射量演算部５１ａは、図４に示す総噴射量演算処理のステップＳ４０を実行する。なお、ステップＳ４０以後の処理は、内燃機関１０における各気筒１６の１回の燃焼毎に実行される。
【００４１】
ステップＳ４０では、総噴射量演算部５１ａは、内燃機関１０の運転状態に基づいて基準噴射量Ｑｂを演算する。具体的には、総噴射量演算部５１ａは、エアフローメータ１３が検出した吸気の流量値、クランク角センサ６１が検出したクランク角の検出値、水温センサ６２が検出した水温値、アクセルセンサ６３が検出したアクセルペダルの踏み込み量などに基づいて基準噴射量Ｑｂを演算する。基準噴射量Ｑｂの演算後、総噴射量演算部５１ａの処理はステップＳ４１に移行する。
【００４２】
ステップＳ４１では、総噴射量演算部５１ａは、暖機時増量係数Ｋ１を演算する。暖機時増量係数Ｋ１は、内燃機関１０の排気浄化触媒２０を暖機するために必要な燃料を確保するための係数であり、外気温によって変化する「１」以上の係数である。総噴射量演算部５１ａは、外気温センサ６４が検出した外気温値を参照し、暖機時増量係数Ｋ１として、外気温が低いほど大きな値を演算し、外気温が高いほど小さな値を演算する。ステップＳ４１が終了すると、総噴射量演算部５１ａの処理はステップＳ４２に移行する。
【００４３】
ステップＳ４２では、総噴射量演算部５１ａは、減衰係数Ｋ２を演算する。減衰係数Ｋ２は、内燃機関１０が始動してからの時間ｔによって変化する係数であり、「１／Ｋ１」以上で「１」以下の値である。総噴射量演算部５１ａは、減衰係数Ｋ２として、内燃機関１０が始動してからの時間ｔが短いほど「１」に近い値を演算し、内燃機関１０が始動してからの時間が長いほど「１／Ｋ１」に近い値を演算する。ステップＳ４２が終了すると、総噴射量演算部５１ａの処理はステップＳ４３に移行する。
【００４４】
ステップＳ４３では、総噴射量演算部５１ａは、総噴射量Ｑｔを演算する。総噴射量Ｑｔを演算するにあたっては、ステップＳ４０で演算した基準噴射量Ｑｂに、ステップＳ４１で演算した暖機時増量係数Ｋ１及びステップＳ４２で演算した減衰係数Ｋ２を乗算する。なお、内燃機関１０が自立運転を開始した時点では、減衰係数Ｋ２は「１」である。したがって、この時の「Ｋ１×Ｋ２」は「Ｋ１」と等しく、総噴射量Ｑｔは、基準噴射量Ｑｂを暖機時増量係数Ｋ１で増量した値となる。一方、減衰係数Ｋ２は、時間の経過とともに小さくなっていき、最終的には「１／Ｋ１」となる。この時の「Ｋ１×Ｋ２」は「１」であり、総噴射量Ｑｔは、暖機時増量係数Ｋ１で増量されていない基準噴射量Ｑｂと等しくなる。総噴射量Ｑｔが演算されると、総噴射量演算部５１ａによる総噴射量演算処理が終了する。
【００４５】
上記の総噴射量演算処理が終了すると、燃料噴射制御装置５０の個別噴射量演算部５１ｂは、図５に示す個別噴射量演算処理のステップＳ５０を実行する。ステップＳ５０では、個別噴射量演算部５１ｂは、燃料噴射制御装置５０のＲＯＭ５２から、１回目〜３回目の燃料噴射における噴射割合Ｒ１〜Ｒ３を読み込む。噴射割合Ｒ１〜Ｒ３は、総噴射量Ｑｔに対する各回の燃料噴射の噴射量の比率であり、全て加算すると「１」になるように定められている。また、噴射割合Ｒ２は噴射割合Ｒ１以下の値、噴射割合Ｒ３は噴射割合Ｒ２より小さい値に定められている。噴射割合Ｒ１〜Ｒ３を読み込むと、個別噴射量演算部５１ｂの処理はステップＳ５１に移行する。
【００４６】
ステップＳ５１では、個別噴射量演算部５１ｂは、総噴射量演算処理において演算した総噴射量Ｑｔに、噴射割合Ｒ１〜Ｒ３をそれぞれ乗算することにより、１〜３回目の燃料噴射の噴射量として、それぞれ演算値Ｑ１〜Ｑ３を演算する。上述したように、噴射割合Ｒ１〜Ｒ３は、全て加算すると「１」になる。したがって、演算値Ｑ１〜Ｑ３を全て加算すると、総噴射量Ｑｔに等しくなる。演算値Ｑ１〜Ｑ３が演算されると、個別噴射量演算部５１ｂによる個別噴射量演算処理が終了する。
【００４７】
なお、上述した噴射割合Ｒ１は、総噴射量Ｑｔが小さい場合であっても、演算値Ｑ１がＰ／Ｌ上限値Ｑｐｍａｘより大きくなるように相応に大きな値に定められている。総噴射量Ｑｔが小さい状況としては、例えば、内燃機関１０の運転状態がアクセルペダルの踏み込み量が「０」であるアイドル状態で基準噴射量Ｑｂが小さく、且つ内燃機関１０が自立運転を開始してから程度の時間が経過して減衰係数Ｋ２が「１／Ｋ１」である場合が挙げられる。
【００４８】
また、上述した噴射割合Ｒ３は、総噴射量Ｑｔが大きい場合であっても、演算値Ｑ３がＰ／Ｌ上限値Ｑｐｍａｘ以下となるように相応に小さな値に定められている。総噴射量Ｑｔが大きい状況としては、例えば、内燃機関１０の機関負荷が大きくて基準噴射量Ｑｂが大きく、且つ内燃機関１０の自立運転を開始してからの時間が短くて減衰係数Ｋ２が「１」である場合が挙げられる。
【００４９】
上記の個別噴射量演算処理が終了すると、燃料噴射制御装置５０の噴射量変更部５１ｃは、図６〜図８に示す噴射量変更処理のステップＳ６０を実行する。ステップＳ６０では、噴射量変更部５１ｃは、「Ｐ／Ｌ下限値Ｑｐｍｉｎ≦演算値Ｑ３」を満たすか否かを判断する。演算値Ｑ３がＰ／Ｌ下限値Ｑｐｍｉｎ以上であると判断されたときには（ステップＳ６０においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ６１に移行する。
【００５０】
ステップＳ６１では、「Ｆ／Ｌ下限値Ｑｆｍｉｎ≦演算値Ｑ２」を満たすか否かを判断する。演算値Ｑ２がＦ／Ｌ下限値Ｑｆｍｉｎ以上であると判断されたときには（ステップＳ６１においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ６２に移行する。
【００５１】
噴射量変更部５１ｃの処理がステップＳ６２に至った場合、図９に示すように、演算値Ｑ３は、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上である。また、上述したように噴射割合Ｒ３が相応に小さな値に定められているため、演算値Ｑ３は、Ｐ／Ｌ上限値Ｑｐｍａｘより大きくなることはない。したがって、演算値Ｑ３は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内にある。また、演算値Ｑ２は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上である。そして、噴射割合Ｒ１は噴射割合Ｒ２以上であるため、演算値Ｑ１も、演算値Ｑ２と同様に、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ６２では、噴射量変更部５１ｃは、演算値Ｑ１、Ｑ２、Ｑ３を変更することなく１〜３回目の燃料噴射の実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。
【００５２】
一方、ステップＳ６１において演算値Ｑ２がＦ／Ｌ下限値Ｑｆｍｉｎ未満であるときには（ステップＳ６１においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ６３に移行する。ステップＳ６３では、噴射量変更部５１ｃは、「演算値Ｑ２≦Ｐ／Ｌ上限値Ｑｐｍａｘ」を満たすか否かを判断する。演算値Ｑ２がＰ／Ｌ上限値Ｑｐｍａｘ以下であるときには、噴射量変更部５１ｃの処理は、ステップＳ６４に移行する。
【００５３】
ステップＳ６４では、噴射量変更部５１ｃは、「Ｆ／Ｌ下限値Ｑｆｍｉｎ≦演算値Ｑ１」を満たすか否かを判断する。演算値Ｑ１がＦ／Ｌ下限値Ｑｆｍｉｎ以上であると判断された場合には（ステップＳ６４においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ６５に移行する。
【００５４】
噴射量変更部５１ｃの処理がステップＳ６５に至った場合、図１０に示すように、演算値Ｑ２、Ｑ３は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内にある。また、演算値Ｑ１は、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ６５では、噴射量変更部５１ｃは、演算値Ｑ１、Ｑ２、Ｑ３を変更することなく１〜３回目の燃料噴射の実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。
【００５５】
一方、ステップＳ６４において演算値Ｑ１がＦ／Ｌ下限値Ｑｆｍｉｎ未満であると判断された場合には（ステップＳ６４においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ６６に移行する。
【００５６】
噴射量変更部５１ｃの処理がステップＳ６６に至った場合、図１１に示すように、演算値Ｑ２、Ｑ３は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内にある。さらに、演算値Ｑ１は、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内にある。そこで、ステップＳ６６では、演算値Ｑ３をＰ／Ｌ下限値Ｑｐｍｉｎに減量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を「０」に減量して、その値を２回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ１を総噴射量ＱｔからＰ／Ｌ下限値Ｑｐｍｉｎを減算し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３、Ｑ２の減量分を演算値Ｑ１に対して増量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、図１１は、演算値Ｑ１、Ｑ２、Ｑ３の増減を模式的に表したものであり、演算値Ｑ１、Ｑ２、Ｑ３の増量分と減量分とが一致していない。この点、後述する図１１〜図２３についても同様である。
【００５７】
ここで、３回目の燃料噴射の実行値「Ｑｐｍｉｎ」は、噴射量のばらつきの小さい範囲内にある。また、演算値Ｑ１は、噴射量のばらつきの大きい範囲内であったのが変更された結果、１回目の燃料噴射の実行値として「Ｑｔ−Ｑｐｍｉｎ」に設定されている。そして、この実行値「Ｑｔ−Ｑｐｍｉｎ」は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上の値になる可能性がある。したがって、ステップＳ６６の変更処理によれば、燃料噴射の実行値が噴射量のばらつきの小さい範囲内に設定されやすくなる。なお、ステップＳ６６では、２回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００５８】
さて、ステップＳ６３において演算値Ｑ２がＰ／Ｌ上限値Ｑｐｍａｘより大きいと判断されたときには（ステップＳ６３においてＮＯ）、噴射量変更部５１ｃの処理はステップＳ６７に移行する。ステップＳ６７では、噴射量変更部５１ｃは、「Ｆ／Ｌ下限値Ｑｆｍｉｎ−演算値Ｑ２≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。この条件を満たしていると判断されたときには（ステップＳ６７においてＹＥＳ）、噴射量変更部５１ｃの処理はステップＳ６８に移行する。
【００５９】
噴射量変更部５１ｃの処理がステップＳ６８に至った場合、図１２に示すように、演算値Ｑ３は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内にある。また、演算値Ｑ１は、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。これに対して、演算値Ｑ２は、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内である。そこで、ステップＳ６８では、演算値Ｑ３を変更することなく３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２をＦ／Ｌ下限値Ｑｆｍｉｎに増量し、その値を２回目の燃料噴射の実行値として設定する。そして、演算値Ｑ１を、総噴射量Ｑｔから、Ｆ／Ｌ下限値Ｑｆｍｉｎ及び演算値Ｑ３を減算した値に減量し、その値を、１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ２の増量分を、演算値Ｑ１から減量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ６８の処理は、噴射量変更部５１ｃによる第２変更処理に相当する。
【００６０】
ここで、２回目の燃料噴射の実行値「Ｆ／Ｌ下限値Ｑｆｍｉｎ」は、噴射量のばらつきの小さい範囲内にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差は、Ｆ／Ｌ下限値Ｑｆｍｉｎと演算値Ｑ２との差以上である。そのため、演算値Ｑ２を実行値「Ｆ／Ｌ下限値Ｑｆｍｉｎ」へと増量した分を、演算値Ｑ１から減算しても、１回目の燃料噴射の実行値がばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００６１】
一方、ステップＳ６７において「Ｆ／Ｌ下限値Ｑｆｍｉｎ−演算値Ｑ２≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たさないと判断されたとき（ステップＳ６７においてＮＯ）、噴射量変更部５１ｃの処理はステップＳ６９に移行する。
【００６２】
噴射量変更部５１ｃの処理がステップＳ６９に至った場合、図１３に示すように、演算値Ｑ３は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内にある。また、演算値Ｑ１は、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。ただし、演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎに比較的に近く、演算値Ｑ１を大きく減量すると、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満になる。また、演算値Ｑ２は、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内である。そこで、ステップＳ６９では、演算値Ｑ３を変更することなく３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を「０」に減量し、その値を２回目の燃料噴射の実行値として設定する。そして、演算値Ｑ１を、総噴射量Ｑｔから演算値Ｑ３を減算した値に増量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ２の減量分を、演算値Ｑ１に対して増量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ６９の処理は、噴射量変更部５１ｃによる第３変更処理に相当する。
【００６３】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」は、噴射量のばらつきの小さい範囲内にある。また、増量する前の演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上の値であるので、増量を行って１回目の燃料噴射の実行値として設定しても、依然としてＦ／Ｌ下限値Ｑｆｍｉｎ以上の値である。このようにして、３回目、１回目の燃料噴射の実行値は、ばらつきの小さい範囲内で設定される。なお、ステップＳ６９では、２回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００６４】
さて、ステップＳ６０において演算値Ｑ３がＰ／Ｌ下限値Ｑｐｍｉｎ未満であると判断されたときには（ステップＳ６０においてＮＯ）、噴射量変更部５１ｃの処理は、図７に示すステップＳ７０に移行する。
【００６５】
ステップＳ７０では、噴射量変更部５１ｃは、「Ｆ／Ｌ上限値Ｑｆｍｉｎ≦演算値Ｑ２」を満たすか否かを判断する。演算値Ｑ２がＦ／Ｌ上限値Ｑｆｍｉｎ以上であるとき、噴射量変更部５１ｃの処理は、ステップＳ７１に移行する。ステップＳ７１では、噴射量変更部５１ｃは、「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。この条件を満たすときには（ステップＳ７１においてＹＥＳ）、噴射量変更部５１ｃの処理はステップＳ７２に移行する。
【００６６】
噴射量変更部５１ｃの処理がステップＳ７２に至った場合、図１４に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。一方、演算値Ｑ２、Ｑ３は、いずれも噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ７２では、演算値Ｑ３をＰ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を変更することなく２回目の燃料噴射の実行値として設定する。そして、演算値Ｑ１を、総噴射量Ｑｔから、演算値Ｑ２及びＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に減量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の増量分を、演算値Ｑ１から減量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、図１４では、１回目の燃料噴射の実行値を２回目の燃料噴射の実行値よりも大きな値で図示しているが、噴射割合Ｒ１、Ｒ２の値や総噴射量Ｑｔの値によっては、このステップＳ７２の処理の結果、１回目の燃料噴射の実行値が２回目の燃料噴射の実行値よりも小さくなることがある。なお、ステップＳ７２の処理は、噴射量変更部５１ｃが実行する第１変更処理に相当する。
【００６７】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」、及び２回目の燃料噴射の実行値「Ｑ２」は、噴射量のばらつきの小さい範囲内にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差は、Ｐ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ３との差以上である。そのため、演算値Ｑ３を実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」へと増量した分を、演算値Ｑ１から減算しても、１回目の燃料噴射の実行値がばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００６８】
一方、ステップＳ７１において、「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たさないと判断されたときには（ステップＳ７１においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ７３に移行する。
【００６９】
ステップＳ７３では、噴射量変更部５１ｃは、「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦（演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ）＋（演算値Ｑ２−Ｆ／Ｌ下限値Ｑｆｍｉｎ）」を満たすか否かを判断する。この条件を満たすときには（ステップＳ７３においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ７４に移行する。
【００７０】
噴射量変更部５１ｃの処理がステップＳ７４に至った場合、図１５に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。一方、演算値Ｑ２、Ｑ１は、いずれも噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。ただし、演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎに比較的に近く、演算値Ｑ１を大きく減量すると、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満になる。そこで、ステップＳ７４では、演算値Ｑ３をＰ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ１をＦ／Ｌ下限値Ｑｆｍｉｎに減量し、その値を１回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ２を、総噴射量Ｑｔから、Ｆ／Ｌ下限値Ｑｆｍｉｎ及びＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に減量し、その値を２回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の増量分を、演算値Ｑ２、Ｑ１から減量してそれぞれ実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ７２の処理は、噴射量変更部５１ｃが実行する第１変更処理に相当する。
【００７１】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」、及び１回目の燃料噴射の実行値「Ｆ／Ｌ下限値Ｑｆｍｉｎ」は、いずれも噴射量のばらつきの小さい範囲内にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差と演算値Ｑ２とＦ／Ｌ下限値Ｑｆｍｉｎとの差を加算した値は、Ｐ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ３との差以上である。したがって、演算値Ｑ３を実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」へと増量した分の一部を、演算値Ｑ２から減算して２回目の燃料噴射の実行値として「総噴射量Ｑｔ−Ｆ／Ｌ下限値Ｑｆｍｉｎ−Ｐ／Ｌ下限値Ｑｐｍｉｎ」を設定しても、その実行値が、燃料噴射のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００７２】
一方、ステップＳ７３において、「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦（演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ）＋（演算値Ｑ２−Ｆ／Ｌ下限値Ｑｆｍｉｎ）」を満たさないと判断されたときには（ステップＳ７３においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ７５に移行する。
【００７３】
噴射量変更部５１ｃの処理がステップＳ７５に至った場合、図１６に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。一方、演算値Ｑ２、Ｑ１は、いずれも噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。ただし、演算値Ｑ１、Ｑ２は、Ｆ／Ｌ下限値Ｑｆｍｉｎに比較的に近く、演算値Ｑ１、Ｑ２を大きく減量すると、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満になる。そこで、ステップＳ７５では、演算値Ｑ３をＰ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を「０」に減量して、その値を２回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ１を総噴射量ＱｔからＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に増量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の増量分を演算値Ｑ１から減量するとともに、演算値Ｑ２の減量分を演算値Ｑ１に対して増量して、実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ７５の処理は、噴射量変更部５１ｃが実行する第１変更処理に相当する。
【００７４】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」は、噴射量のばらつきの小さい範囲内にある。また、増量する前の演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上の値であるので、増量を行って１回目の燃料噴射の実行値として設定しても、依然としてＦ／Ｌ下限値Ｑｆｍｉｎ以上の値である。このようにして、３回目、１回目の燃料噴射の実行値は、ばらつきの小さい範囲内で設定される。なお、ステップＳ７５では、２回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００７５】
さて、ステップＳ７０において、演算値Ｑ２がＦ／Ｌ下限値Ｑｆｍｉｎ未満であると判断されたとき（ステップＳ７０においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ７６に移行する。ステップＳ７６では、噴射量変更部５１ｃは、「Ｐ／Ｌ上限値Ｑｐｍａｘ＜演算値Ｑ２＜Ｆ／Ｌ下限値Ｑｆｍｉｎ未満」であるか否かを判断する。演算値Ｑ２がＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満であると判断された場合には（ステップＳ７６においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ７７に移行する。
【００７６】
ステップＳ７７では、噴射量変更部５１ｃは、「（Ｆ／Ｌ下限値Ｑｆｍｉｎ−演算値Ｑ２）＋（Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３）≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。この条件を満たすときには（ステップＳ７７においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ７８に移行する。
【００７７】
噴射量変更部５１ｃの処理がステップＳ７８に至った場合、図１７に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。また、演算値Ｑ２は、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内である。一方、演算値Ｑ１は、ばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ７８では、演算値Ｑ３を、Ｐ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を、Ｆ／Ｌ下限値Ｑｆｍｉｎに増量し、その値を２回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ１を、総噴射量ＱｔからＦ／Ｌ下限値Ｑｆｍｉｎ及びＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に減量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３、Ｑ２の増量分を、演算値Ｑ１から減量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ７８の処理は、噴射量変更部５１ｃによる第１変更処理及び第２変更処理に相当する。
【００７８】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」、及び２回目の燃料噴射の実行値「Ｆ／Ｌ下限値Ｑｆｍｉｎ」は、いずれも噴射量のばらつきの小さい範囲にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差は、Ｐ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ３との差及びＦ／Ｌ下限値Ｑｆｍｉｎと演算値Ｑ２との差を加算した値以上である。そのため、演算値Ｑ３、Ｑ２を増量した分を演算値Ｑ１から減算して、１回目の燃料噴射の実行値として「総噴射量Ｑｔ−Ｆ／Ｌ下限値Ｑｆｍｉｎ−Ｐ／Ｌ下限値Ｑｐｍｉｎ」を設定しても、その実行値がばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＦ／Ｌ下限値Ｑｆｍｉｎ未満の値になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００７９】
一方、ステップＳ７７において「（Ｆ／Ｌ下限値Ｑｆｍｉｎ−演算値Ｑ２）＋（Ｐ／Ｌ下限値−演算値Ｑ３）≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たしていないと判断された場合には（ステップＳ７７においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ７９に移行する。
【００８０】
噴射量変更部５１ｃの処理がステップＳ７９に至った場合、図１８に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。また、演算値Ｑ２は、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内である。一方、演算値Ｑ１は、ばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。ただし、演算値Ｑ１は、比較的にＦ／Ｌ下限値Ｑｆｍｉｎに近く、演算値Ｑ１を大きく減量すると、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満になる。そこで、ステップＳ７９では、演算値Ｑ３を、Ｐ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を「０」に減量し、その値を２回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ１を、総噴射量ＱｔからＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に増量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の増量分を演算値Ｑ１から減量するとともに、演算値Ｑ２の減量分を演算値Ｑ１に対して増量して、実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ７９の処理は、噴射量変更部５１ｃが実行する第１変更処理及び第３変更処理に相当する。
【００８１】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」は、噴射量のばらつきの小さい範囲にある。また、増量する前の演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上の値であるので、増量を行って１回目の燃料噴射の実行値として設定しても、依然としてＦ／Ｌ下限値Ｑｆｍｉｎ以上の値である。このようにして、３回目、１回目の燃料噴射の実行値は、ばらつきの小さい範囲内で設定される。なお、ステップＳ７９では、２回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００８２】
さて、ステップＳ７６において演算値Ｑ２がＰ／Ｌ下限値Ｑｐｍｉｎ未満であると判断されたときには（ステップＳ７６においてＮＯ）、噴射量変更部５１ｃの処理は、図８に示すステップＳ８０に移行する。
【００８３】
ステップＳ８０では、噴射量変更部５１ｃは、「Ｐ／Ｌ下限値Ｑｐｍｉｎ≦演算値Ｑ２≦Ｐ／Ｌ上限値Ｑｐｍａｘ」を満たすか否かを判断する。演算値Ｑ２が、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下であると判断された場合には（ステップＳ８０においてＹＥＳ）、噴射量変更部５１ｃの処理はステップＳ８１に移行する。
【００８４】
ステップＳ８１では、噴射量変更部５１ｃは、「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。この条件を満たすときには（ステップＳ８１においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ８２に移行する。
【００８５】
噴射量変更部５１ｃの処理がステップＳ８２に至った場合、図１９に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。その一方で、演算値Ｑ２は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内である。また、演算値Ｑ１は、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ８２では、演算値Ｑ３を、Ｐ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を変更せず、そのまま２回目の燃料噴射の実行値として設定する。さらに、演算値Ｑ１を、総噴射量Ｑｔから演算値Ｑ２及びＰ／Ｌ下限値Ｑｐｍｉｎを減算した値に減量し、その値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の増量分を演算値Ｑ１から減量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ８２の処理は、噴射量変更部５１ｃが実行する第１変更処理に相当する。
【００８６】
ここで、３回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」、及び２回目の燃料噴射の実行値「Ｑ２」は、いずれも噴射量のばらつきの小さい範囲にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差は、Ｐ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ３との差以上である。そのため、演算値Ｑ３を増量した分を演算値Ｑ１から減算して、１回目の燃料噴射の実行値として「総噴射量Ｑｔ−演算値Ｑ２−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を設定しても、その実行値がばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＦ／Ｌ下限値Ｑｆｍｉｎ未満の値になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００８７】
一方、ステップＳ８１で「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たさないと判断された場合には（ステップＳ８１においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ８３に移行する。
【００８８】
噴射量変更部５１ｃの処理がステップＳ８３に至った場合、図２０に示すように、演算値Ｑ３は、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。その一方で、演算値Ｑ２は、噴射量のばらつきの小さいＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内である。また、演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上であっても比較的にＦ／Ｌ下限値Ｑｆｍｉｎに近い値であるか、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満の値である。そこで、ステップＳ８３では、演算値Ｑ３を「０」に減量して、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２は、変更せずそのまま実行値として設定する。さらに、演算値Ｑ１を、総噴射量Ｑｔから演算値Ｑ２を減算した値に増量して、その値を３回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の減量分を演算値Ｑ１に対して増量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。
【００８９】
ここで、２回目の燃料噴射の実行値「Ｑ２」は、燃料噴射のばらつきの小さい範囲内にある。また、１回目の燃料噴射の実行値は燃料噴射のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である可能性があり、仮にＦ／Ｌ下限値Ｑｆｍｉｎ未満であっても、変更前の演算値Ｑ１よりは噴射量のばらつきが小さくなる。したがって、ステップＳ８３の変更処理によれば、少なくとも噴射量のばらつきを抑えることができる。なお、ステップＳ８３では、３回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００９０】
さて、ステップＳ８０において、「Ｐ／Ｌ下限値Ｑｐｍｉｎ≦演算値Ｑ２≦Ｐ／Ｌ上限値Ｑｐｍａｘ」を満たしていないと判断された場合、すなわち演算値Ｑ２がＰ／Ｌ下限値Ｑｐｍｉｎ未満であると判断された場合には（ステップＳ８０においてＮＯ）、噴射量変更部５１ｃの処理はステップＳ８４に移行する。
【００９１】
ステップＳ８４では、噴射量変更部５１ｃは、「（Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ２）＋（Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３）≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。この条件を満たしていると判断されたときには（ステップＳ８４においてＹＥＳ）、噴射量変更部５１ｃの処理は、ステップＳ８５に移行する。
【００９２】
噴射量変更部５１ｃの処理がステップＳ８５に至った場合、図２１に示すように、演算値Ｑ３、Ｑ２は、いずれも噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。一方、演算値Ｑ３は、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上である。そこで、ステップＳ８５では、演算値Ｑ３、Ｑ２を、それぞれＰ／Ｌ下限値Ｑｐｍｉｎに増量し、これらを３回目、２回目の燃料噴射の実行値として設定する。また、演算値Ｑ１を、総噴射量Ｑｔから、Ｐ／Ｌ下限値Ｑｐｍｉｎの２倍を減算した値に減量し、この値を１回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３、Ｑ２の増量分を演算値Ｑ１から減量して実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、ステップＳ８５の処理は、噴射量変更部５１ｃが実行する第１変更処理に相当する。
【００９３】
ここで、３回目、２回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」は、燃料噴射のばらつきの小さい範囲内にある。また、演算値Ｑ１とＦ／Ｌ下限値Ｑｆｍｉｎとの差は、Ｐ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ２との差及びＰ／Ｌ下限値Ｑｐｍｉｎと演算値Ｑ３との差を加算した値以上である。したがって、演算値Ｑ３、Ｑ２をＰ／Ｌ下限値Ｑｐｍｉｎに増量して、その増量分を演算値Ｑ１から減算して「総噴射量Ｑｔ−（Ｐ／Ｌ下限値Ｑｐｍｉｎ×２）」を実行値として設定しても、その実行値が、ばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲になることはない。したがって、１〜３回目の燃料噴射の実行値は、いずれも燃料噴射のばらつきの小さい範囲内で設定される。
【００９４】
一方、ステップＳ８４で「（Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ２）＋（Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３）≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たしていないと判断された場合（ステップＳ８４においてＮＯ）、噴射量変更部５１ｃの処理は、ステップＳ８６に移行する。
【００９５】
噴射量変更部５１ｃの処理がステップＳ８６に至った場合、図２２に示すように、演算値Ｑ３、Ｑ２は、いずれも噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である。また、演算値Ｑ１は、Ｆ／Ｌ下限値Ｑｆｍｉｎ以上であっても比較的にＦ／Ｌ下限値Ｑｆｍｉｎに近い値であるか、Ｆ／Ｌ下限値Ｑｆｍｉｎ未満の値である。そこで、ステップＳ８６では、演算値Ｑ３を「０」に減量して、その値を３回目の燃料噴射の実行値として設定する。また、演算値Ｑ２を、Ｐ／Ｌ下限値Ｑｐｍｉｎに増量し、その値を実行値として設定する。さらに、演算値Ｑ１を、総噴射量Ｑｔから演算値Ｑ２を減算した値に増量して、その値を３回目の燃料噴射の実行値として設定する。すなわち、演算値Ｑ３の減量分を演算値Ｑ１に対して増量するとともに、演算値Ｑ２の増量分を演算値Ｑ１から減量して、実行値として設定する。各燃料噴射の実行値が設定されると、噴射量変更部５１ｃによる噴射量変更処理が終了する。なお、図２２では、演算値Ｑ１が増量されるものとして図示しているが、演算値Ｑ２、Ｑ３の値によっては、ステップＳ８６の処理の結果、演算値Ｑ１が減量されることもある。
【００９６】
ここで、２回目の燃料噴射の実行値「Ｐ／Ｌ下限値Ｑｐｍｉｎ」は、燃料噴射のばらつきの小さい範囲内にある。また、１回目の燃料噴射の実行値は燃料噴射のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上になる可能性がある。したがって、ステップＳ８３の変更処理によれば、少なくとも２回目の燃料噴射の噴射量のばらつきを抑えることができる。なお、ステップＳ８３では、３回目の燃料噴射の実行値が「０」に設定された結果として、燃料噴射の回数は、３回から２回に変更されることになる。
【００９７】
上記の燃料噴射制御装置５０の作用及び効果について説明する。
本実施形態の燃料噴射制御装置５０のように１回の燃焼に要求される燃料を３回の燃料噴射に分割して噴射する場合、１回目の燃料噴射は、気筒１６内の全体に均一に燃料を供給することを目的として行われる。そして、２回目及び３回目の燃料噴射は、気筒１６内において点火プラグに近いほど濃度の高い燃料層を成層することを目的として行われる。したがって、１回目よりも２回目、２回目よりも３回目の燃料噴射の方が噴射量のばらつきが、気筒１６内における燃料層の成層状況に影響を与える可能性が高い。そして、気筒１６毎、１回の燃焼毎の内燃機関１０の燃焼状態の均一化を図るためには、３回目の燃料噴射の実行値を、ばらつきの少ない噴射量に設定する必要がある。
【００９８】
この点、図１４〜図１９、図２１に示すように、演算値Ｑ３がばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である場合には、演算値Ｑ３がＰ／Ｌ下限値Ｑｐｍｉｎに増量され、その値が３回目の燃料噴射の実行値とされる。そして、図３に示すように、燃料噴射の実行値が「Ｐ／Ｌ下限値Ｑｐｍｉｎ」であれば、噴射量のばらつきは許容値以下に抑えることができる。その結果、気筒毎、１回の燃焼毎の燃焼状態にばらつきが生じることを抑制できる。
【００９９】
また、噴射割合Ｒ１、Ｒ２、Ｒ３は、３回の燃料噴射で気筒１６内において適切に燃料層を成層できるように定められている。したがって、噴射割合Ｒ１、Ｒ２、Ｒ３に基づいて演算される演算値Ｑ１、Ｑ２、Ｑ３をできるだけ変更せずに実行値を設定できることが好ましい。この点、本実施形態では、ばらつき許容値以下に抑えられる最小限の値であるＰ／Ｌ下限値Ｑｐｍｉｎに、演算値Ｑ３を増量する。そのため、演算値Ｑ３の変更量や、それに伴う演算値Ｑ２、Ｑ１の変更量を最小限に抑えることができる。
【０１００】
ところで、１回の燃焼に要求される燃料の総量である総噴射量Ｑｔを維持するためには、演算値Ｑ３を増量する分を、他の演算値Ｑ１、Ｑ２において減量する必要がある。その一方で、演算値Ｑ１、Ｑ２を変更することに伴って、１回目の燃料噴射や２回目の燃料噴射の実行値として、ばらつきの大きい噴射量が設定されることは可能な限り避けたい。そこで、本実施形態の燃料噴射制御装置５０では、図７に示すステップＳ７１において「Ｐ／Ｌ下限値Ｑｐｍｉｎ−演算値Ｑ３≦演算値Ｑ１−Ｆ／Ｌ下限値Ｑｆｍｉｎ」を満たすか否かを判断する。すなわち、演算値Ｑ３を増量する分を、演算値Ｑ１のみで賄えるか否かを判断する。そして、演算値Ｑ１のみで賄える場合には、図１４に示すように、演算値Ｑ１のみを減量する。さらに、演算値Ｑ３を増量する分を、演算値Ｑ１のみで賄えない場合であっても、図１５に示すように、演算値Ｑ１を優先的に減量し、その残りを演算値Ｑ２から減量している。このように、気筒１６内における燃料層の成層状況に影響を与えにくい１回目の燃料噴射の演算値Ｑ１を優先的に減量することにより、各燃料噴射の演算値Ｑ１、Ｑ２、Ｑ３を変更することに伴って気筒１６内の燃焼状態に失火等の悪影響を及ぼすことが抑制できる。
【０１０１】
なお、本実施形態では、演算値Ｑ３を増量する分を、演算値Ｑ１及び演算値Ｑ２の双方をもってしても賄えない場合には、図１６に示すように、演算値Ｑ２を「０」に減量する。すなわち、２回目の燃料噴射を省略して、合計２回の燃料噴射にする。この場合であっても、３回目の燃料噴射（２回目が省略されているため、事実上の２回目の燃料噴射）の実行値としては噴射量のばらつきの少ない「Ｐ／Ｌ下限値Ｑｐｍｉｎ」が設定されている。したがって、３回目の燃料噴射の実行値が過度に噴射量のばらつきの大きい噴射量に設定されている場合よりは、気筒１６毎、燃料サイクル毎の燃焼を確実に行いつつ、気筒１６毎、燃料サイクル毎に燃焼状態にばらつきが生じることを適切に抑制でき得る。
【０１０２】
上記実施形態において、演算値Ｑ３だけでなく、演算値Ｑ２として噴射量のばらつきの大きな値が演算されることがある。例えば、図１２、図１３、図１７、図１８に示すように、演算値Ｑ２が、Ｐ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満である場合がある。この場合、本実施形態では、ステップＳ７７やステップＳ８４において、演算値Ｑ２を噴射量のばらつきの少ないＦ／Ｌ下限値Ｑｆｍｉｎに増量する分を、演算値Ｑ１で賄えるか否かを判断する。そして、演算値Ｑ２を増量する分を演算値Ｑ１で賄える場合には、図１２及び図１７に示すように、演算値Ｑ１のみを減量する。このように、気筒１６内における燃料層の成層状況に影響を与えにくい１回目の燃料噴射の演算値Ｑ１を減量することにより、各燃料噴射の演算値Ｑ１、Ｑ２、Ｑ３を変更することに伴って気筒１６内の燃焼状態に失火等の悪影響を及ぼすことが抑制できる。一方、演算値Ｑ２を増量する分を演算値Ｑ１で賄えない場合には、図１３及び図１８に示すように、演算値Ｑ２を「０」に減量する。すなわち、２回目の燃料噴射を省略して、合計２回の燃料噴射にする。この場合であっても、３回目の燃料噴射（２回目が省略されているため、事実上の２回目の燃料噴射）の実行値としては噴射量のばらつきの少ない「Ｐ／Ｌ下限値Ｑｐｍｉｎ」が設定されている。したがって、３回目の燃料噴射の実行値が過度に噴射量のばらつきの大きい噴射量に設定されている場合よりは、内燃機関１０の燃焼状態を適切にでき得る。
【０１０３】
また、演算値Ｑ２として噴射量のばらつきの大きな値が演算される場合として、例えば、図２１及び図２２に示すように、演算値Ｑ２が、Ｐ／Ｌ下限値Ｑｐｍｉｎ未満である場合がある。この場合、本実施形態では、ステップＳ８４において、演算値Ｑ２を噴射量のばらつきの少ないＰ／Ｌ下限値Ｑｐｍｉｎに増量する分を、演算値Ｑ１で賄えるか否かを判断する。演算値Ｑ２を増量する分を演算値Ｑ１で賄える場合には、図２１に示すように、演算値Ｑ１のみを減量する。このように、気筒１６内における燃料層の成層状況に影響を与えにくい１回目の燃料噴射の演算値Ｑ１を減量することにより、各燃料噴射の演算値Ｑ１、Ｑ２、Ｑ３を変更することに伴って気筒１６内の燃焼状態に失火等の悪影響を及ぼすことが抑制できる。一方、演算値Ｑ２を増量する分を演算値Ｑ１で賄えない場合には、図２２に示すように、演算値Ｑ３を「０」に減量する。すなわち、３回目の燃料噴射を省略して、合計２回の燃料噴射にする。この場合であっても、２回目の燃料噴射の実行値としては噴射量のばらつきの少ない「Ｐ／Ｌ下限値Ｑｐｍｉｎ」が設定されている。したがって、１回目及び２回目の燃料噴射量の合計が総噴射量演算部５１ａによって演算された総噴射量Ｑｔからずれることは抑制される。さらに、例えば３回目の燃料噴射ではなく２回目の燃料噴射を省略する場合に比較して、噴射量のばらつきの小さい噴射量へと変更するための変更量が少なくて済む。
【０１０４】
また、演算値Ｑ２として、噴射量のばらつきの小さい「Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下」が演算されることがある。このような場合において、図２０に示すように、演算値Ｑ３が噴射量のばらつきが大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満である場合には、演算値Ｑ３を「０」に減量する。すなわち、３回目の燃料噴射を省略して、合計２回の燃料噴射にする。この場合、２回目の燃料噴射の実行値としては噴射量のばらつきの少ない「Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下」が設定されている。したがって、１回目及び２回目の燃料噴射量の合計が総噴射量演算部５１ａによって演算された総噴射量Ｑｔからずれることは抑制される。
【０１０５】
さて、噴射割合Ｒ１が相応に大きな値に設定されているため、演算値Ｑ１は、Ｐ／Ｌ上限値Ｑｐｍａｘ以下になることはない。とはいえ、図１１に示すように、演算値Ｑ１として、噴射量のばらつきの大きいＰ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の値が演算されることはあり得る。この場合、本実施形態では、演算値Ｑ３を、噴射量のばらつきを許容値以下にできる最小限の噴射量であるＰ／Ｌ下限値Ｑｐｍｉｎに減量する。加えて、演算値Ｑ２を「０」に減量して２回目の燃料噴射を省略する。このように、演算値Ｑ３、Ｑ２を可能な限り減量して、その減量分を演算値Ｑ１に対して増量することにより、１回目の燃料噴射の実行値として、噴射量のばらつきの小さいＦ／Ｌ下限値Ｑｆｍｉｎ以上の値を確保できる可能性がある。
【０１０６】
上記の実施形態は、次のように変更することができる。
・燃料噴射制御装置５０が適用される内燃機関１０の構成は、上記実施形態の例に限らない。例えば、排気浄化触媒２０等のように一部の構成を省略してもよいし、過給器などのように上記実施形態で設けられていない装置が設けられていてもよい。
【０１０７】
・上記実施形態では、総噴射量Ｑｔが小さい場合であっても演算値Ｑ１がＰ／Ｌ上限値Ｑｐｍａｘより大きくなるように噴射割合Ｒ１を定めていたが、これに限らない。すなわち、上記実施形態では、３回の燃料噴射のうちの１回目の燃料噴射がフルリフト噴射で実行されていたが、３回全てがパーシャルリフト噴射で実行されてもよい。複数回の燃料噴射のうちの最後の燃料噴射がパーシャルリフト噴射で実行されるのであれば、最後の燃料噴射の演算値がＰ／Ｌ下限値Ｑｐｍｉｎ未満であるときにその演算値をＰ／Ｌ下限値Ｑｐｍｉｎ以上に増量するという、上記実施形態の技術を適用可能である。
【０１０８】
・Ｐ／Ｌ下限値Ｑｐｍｉｎ、Ｐ／Ｌ上限値Ｑｐｍａｘ、Ｆ／Ｌ下限値Ｑｆｍｉｎは、常に一定の値でなくてもよい。内燃機関１０の運転状態によっては、噴射量のばらつきとして許容できる値も異なり得る。そこで、Ｐ／Ｌ下限値Ｑｐｍｉｎ、Ｐ／Ｌ上限値Ｑｐｍａｘ、Ｆ／Ｌ下限値Ｑｆｍｉｎのいずれか又は全てを、内燃機関１０の運転状態に応じた可変の値としてもよい。なお、Ｐ／Ｌ下限値Ｑｐｍｉｎ、Ｐ／Ｌ上限値Ｑｐｍａｘ、Ｆ／Ｌ下限値Ｑｆｍｉｎの各値が可変であっても、内燃機関１０の運転状態との関係（マップや演算式など）が、例えば燃料噴射制御装置５０のＲＯＭ５２等に格納されているのであれば、各値は予め定められた値であるといえる。
【０１０９】
・上記の実施形態では、１回の燃焼に要求される燃料を分割して噴射する回数を原則として３回に定めたが、２回でもよいし４回以上でもよい。なお、燃料噴射の回数を２回にした場合には、「特定燃料噴射」に相当する燃料噴射は存在しないことになる。また、燃料噴射の回数を４回にした場合には、２回目及び３回目の燃料噴射が「特定燃料噴射」に相当する。このように「特定燃料噴射」が複数存在するときには、その複数の「特定燃料噴射」がいずれも、Ｐ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内にある場合がある。この場合、「特定燃料噴射」を増量又は減量する処理は、複数の「特定燃料噴射」の少なくともいずれか１つに対して実行すればよい。また、仮に複数の「特定燃料噴射」を増量又は減量する場合には、増量又は減量後の値が「特定燃料噴射」毎に異なっていてもよい。
【０１１０】
・上記の実施形態では、燃料噴射制御装置５０を車両の電子制御ユニットとして構成したが、これに限らない。例えば、車両の電子制御ユニットとは別のコンピュータ（制御チップ）として燃料噴射制御装置５０を構成してもよい。
【０１１１】
・上記の実施形態では、燃料噴射制御装置５０による一連の制御を内燃機関１０の始動時に適用したが、他の状況に適用しても構わない。なお、燃料噴射制御装置５０による一連の制御を内燃機関１０の始動時以外に適用するのであれば、図４に示すステップＳ４１〜ステップＳ４３の処理は省略でき得る。
【０１１２】
・燃料噴射制御装置５０における総噴射量演算部５１ａの処理、すなわち総噴射量Ｑｔを演算する処理は、上記実施形態の例に限らない。上述した変更例のように排気浄化触媒２０を省略した場合には、暖機時増量係数Ｋ１及び減衰係数Ｋ２を用いた演算は必要ない。また、暖機時増量係数Ｋ１及び減衰係数Ｋ２の他に他の係数や補正値等を用いて総噴射量Ｑｔを演算するようにしてもよい。
【０１１３】
・燃料噴射制御装置５０における個別噴射量演算部５１ｂの処理、すなわち演算値Ｑ１、Ｑ２、Ｑ３を演算する処理は、上記実施形態の例に限らない。例えば、予め定められた演算式に内燃機関１０の運転状態を示す各種パラメータを代入することによって演算値Ｑ１、Ｑ２、Ｑ３を演算してもよい。
【０１１４】
・図７に示すステップＳ７９に代えて他の処理を行ってもよい。上記実施形態におけるステップＳ７９では、図１８に示すように、演算値Ｑ２を「０」に減量して２回目の燃料噴射を省略しているため、燃料噴射の回数が２回になっている。燃料噴射の回数を減らすことが適切でないのであれば、演算値Ｑ２を「０」に減量するのに代えて、図２３に示すように、演算値Ｑ２をＰ／Ｌ上限値Ｑｐｍａｘに減量してもよい。この変更例によれば、２回目の燃料噴射における噴射量が減少され、フルリフト噴射で噴射されるはずであった２回目の燃料噴射がパーシャルリフト噴射で実行されるが、燃料噴射の回数そのものは減少しない。この変更例の場合、３回目の燃料噴射の実行値は、総噴射量ＱｔからＰ／Ｌ下限値Ｑｐｍｉｎ及びＰ／Ｌ上限値Ｑｐｍａｘを減算した値に設定される。
【０１１５】
・さらに、上記の変更例において、演算値Ｑ２をＰ／Ｌ上限値Ｑｐｍａｘに減量するのに限らず、演算値Ｑ２をＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下であればどのような値に減量してもよい。なお、これらの変更例における処理は、噴射量変更部５１ｃによる第１変更処理及び第４変更処理に相当する。
【０１１６】
・１回目の燃料噴射において噴射量のばらつきが大きくなることが許容できるのであれば、演算値Ｑ１の値に拘らず、演算値Ｑ３、Ｑ２の増量分を常に演算値Ｑ１から減量してもよい。具体的には、図６に示すステップＳ６７を省略して、噴射量変更部５１ｃの処理がステップＳ６３から直接ステップＳ６８に移行するようにしてもよい。この点、ステップＳ７１、ステップＳ７７、ステップＳ８１、ステップＳ８４においても同様である。
【０１１７】
・上記実施形態では、演算値Ｑ３を増量する際に、Ｐ／Ｌ下限値Ｑｐｍｉｎに増量したが、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の値であればどのような値であってもよい。３回目の燃料噴射の実行値が「Ｐ／Ｌ下限値Ｑｐｍｉｎ」である場合には、噴射量のばらつきは許容値以下に抑えられる。しかしながら、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の範囲内には、噴射量のばらつきを更に小さくできる噴射量が存在し得る。３回目の燃料噴射の実行値として、さらなるばらつきの小ささを求めるのであれば、Ｐ／Ｌ下限値Ｑｐｍｉｎに限らず他の値を採用することも考えられる。
【０１１８】
・上記実施形態では、Ｐ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内にある演算値Ｑ２を増量するにあたって、Ｆ／Ｌ下限値Ｑｆｍｉｎに増量したがこれに限らない。増量後の演算値Ｑ２（実行値）がＦ／Ｌ下限値Ｑｆｍｉｎ以上の値であるならば、どのような値であっても許容でき得る。
【０１１９】
・同様に、Ｐ／Ｌ上限値Ｑｐｍａｘより大きくてＦ／Ｌ下限値Ｑｆｍｉｎ未満の範囲内にある演算値Ｑ２を、Ｐ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の値に減量する際には、減量後の演算値Ｑ２（実行値）がＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下になるのであれば、どのような値であっても許容でき得る。
【０１２０】
・演算値Ｑ３が、噴射量のばらつきの大きいＰ／Ｌ下限値Ｑｐｍｉｎ未満であるときに、演算値Ｑ３をＰ／Ｌ下限値Ｑｐｍｉｎ以上でＰ／Ｌ上限値Ｑｐｍａｘ以下の値に増量できるのであれば、他の処理は省略できる。例えば、図６に示すステップＳ６０において、演算値Ｑ３がＰ／Ｌ下限値Ｑｐｍｉｎ未満であると判断された場合に（ステップＳ６０においてＮＯ）、図７に示すステップＳ７２の処理を行ない。他のステップの処理は省略してもよい。この変更例の場合、１回目や２回目の燃料噴射の実行値として、噴射量のばらつきの大きい値が設定されることがあり得るが、少なくとも最後の燃料噴射である３回目の燃料噴射の実行値は、ばらつきの小さい噴射量に設定される。したがって、３回目の燃料噴射がばらつくことに伴って、気筒毎、燃焼サイクル毎の燃焼状態にばらつきが生じることは抑制できる。
【０１２１】
・上記実施形態のステップＳ８３（図２０参照）及びステップＳ８６（図２２参照）のように、３回目の燃料噴射の演算値Ｑ３を「０」に減量する場合において、２回目の燃料噴射の噴射タイミングを変更してもよい。３回目の燃料噴射を省略する場合、２回目の燃料噴射が事実上の最後の燃料噴射として機能する。そして、２回目の燃料噴射は、３回目の燃料噴射よりも噴射タイミングの時期が速い。そのため、２回目の燃料噴射で燃料層が成層されても、燃料点火のタイミングまでに燃料が拡散して期待どおりの燃料層の成層状況を維持できないこともあり得る。そこで、２回目の燃料噴射の噴射タイミングを、より遅い時期に変更することで、２回目の燃料噴射で成層した燃料層を点火タイミングまで維持されやすくするとよい。
【符号の説明】
【０１２２】
１０…内燃機関、１１…吸気通路、１２…エアクリーナ、１３…エアフローメータ、１４…スロットルバルブ、１５…吸気ポート、１６…気筒、１７…ピストン、１８…排気ポート、１９…排気通路、２０…排気浄化触媒、２１…点火プラグ、３０…燃料タンク、３１…フィードポンプ、３２…低圧燃料通路、３２ａ…第１分岐通路、３２ｂ…第２分岐通路、３３…低圧燃料配管、３４…ポートインジェクタ、３５…高圧燃料ポンプ、３６…高圧燃料通路、３７…高圧燃料配管、３８…燃圧センサ、４０…筒内インジェクタ、４１…ハウジング、４２…電磁ソレノイド、４３…固定コア、４４…電磁コイル、４５…可動コア、４６…スプリング、４７…ニードル弁、４８…ノズルボディ、４９…噴孔、５０…燃料噴射制御装置、５１…演算部、５１ａ…総噴射量演算部、５１ｂ…個別噴射量演算部、５１ｃ…噴射量変更部、５２…ＲＯＭ、５３…ＲＡＭ、６１…クランク角センサ、６２…水温センサ、Ｒ…燃料室、ＴＯ…リフト通電開始時刻、Ｔｐｍｉｎ…パーシャルリフト噴射最小通電時刻、Ｔｐｍａｘ…パーシャルリフト噴射最大通電時刻、Ｔｆｍｉｎ…フルリフト噴射最小通電時刻、Ｑｐｍｉｎ…パーシャルリフト噴射下限値、Ｑｐｍａｘ…パーシャルリフト噴射上限値、Ｑｆｍｉｎ…フルリフト噴射下限値、Ｑｔ…総噴射量、Ｑｂ…基準噴射量、Ｋ１…暖機時増量係数、Ｋ２…減衰係数、Ｑ１…１回目の燃料噴射での噴射量（演算値）、Ｑ２…２回目の燃料噴射での噴射量（演算値）、Ｑ３…３回目の燃料噴射での噴射量（演算値）。
【図１】
2018017160.tif 000003
【図２】
2018017160.tif 000004
【図３】
2018017160.tif 000005
【図４】
2018017160.tif 000006
【図５】
2018017160.tif 000007
【図６】
2018017160.tif 000008
【図７】
2018017160.tif 000009
【図８】
2018017160.tif 000010
【図９】
2018017160.tif 000011
【図１０】
2018017160.tif 000012
【図１１】
2018017160.tif 000013
【図１２】
2018017160.tif 000014
【図１３】
2018017160.tif 000015
【図１４】
2018017160.tif 000016
【図１５】
2018017160.tif 000017
【図１６】
2018017160.tif 000018
【図１７】
2018017160.tif 000019
【図１８】
2018017160.tif 000020
【図１９】
2018017160.tif 000021
【図２０】
2018017160.tif 000022
【図２１】
2018017160.tif 000023
【図２２】
2018017160.tif 000024
【図２３】
2018017160.tif 000025