(57)【特許請求の範囲】
【請求項１】
複数の気筒を有する内燃機関の無噴射運転時に、前記気筒毎に設けられたインジェクタから学習用噴射を行って当該学習用噴射による内燃機関の回転数の変化に基づいて前記インジェクタ毎の噴射補正量を求める内燃機関の燃料噴射制御装置であって、
複数の前記インジェクタは、予め複数のグループに分けられており、
内燃機関が運転中であるが前記インジェクタから燃料を噴射していない前記無噴射運転時において、前記インジェクタの前記噴射補正量を求めるための噴射量学習実行条件が成立しているか否かを判定する学習条件判定手段と、
前記無噴射運転時であって前記噴射量学習実行条件が成立している噴射量学習タイミング毎に、複数の前記グループの中から１つのグループを特定するとともに特定したグループの中から１つのインジェクタを先行インジェクタとして特定し、特定したグループ内における前記先行インジェクタとは異なるインジェクタを後続インジェクタとして特定し、特定した前記先行インジェクタから、当該先行インジェクタの噴射タイミングにおいて、学習用の微小噴射量である学習用噴射量を噴射する先行学習噴射手段と、
前記先行学習噴射手段の噴射から前記内燃機関の所定量回転後に、特定した前記後続インジェクタから、当該後続インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する後続学習噴射手段と、
前記先行インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である先行実変動量を検出する先行実変動量検出手段と、
前記後続インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である後続実変動量を検出する後続実変動量検出手段と、
１回の前記噴射量学習タイミングにて、前記先行インジェクタから実際に噴射された燃料量である先行実噴射量を、前記先行実変動量と、当該先行実変動量の検出期間における前記内燃機関の回転数と、に基づいて求め、前記後続インジェクタから実際に噴射された燃料量である後続実噴射量を、前記後続実変動量と、当該後続実変動量の検出期間における前記内燃機関の回転数と、に基づいて求めるグループインジェクタ毎実噴射量算出手段と、
インジェクタ毎に複数回求めた前記先行実噴射量及び前記後続実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求めるグループインジェクタ毎補正量算出手段と、
を有するグループインジェクタ学習手段を備えている、
内燃機関の燃料噴射制御装置。
【請求項２】
請求項１に記載の内燃機関の燃料噴射制御装置であって、
複数の前記グループの前記先行インジェクタと前記後続インジェクタは、前記先行インジェクタに対応する気筒の爆発行程と、前記後続インジェクタに対応する気筒の爆発行程と、が連続した爆発行程とならないように選定されている、
内燃機関の燃料噴射制御装置。
【請求項３】
請求項１または２に記載の内燃機関の燃料噴射制御装置であって、
前記学習条件判定手段と、
前記噴射量学習タイミング毎に、複数の前記インジェクタの中から１つのインジェクタを単独学習インジェクタとして特定し、特定した単独学習インジェクタから、当該単独学習インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する単独学習噴射手段と、
前記単独学習インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である単独実変動量を検出する単独実変動量検出手段と、
１回の前記噴射量学習タイミングにて、前記単独学習インジェクタとして特定したインジェクタから実際に噴射された燃料量である単独実噴射量を、前記単独実変動量と、当該単独実変動量の検出期間における前記内燃機関の回転数と、に基づいて求める単独インジェクタ毎実噴射量算出手段と、
インジェクタ毎に複数回求めた前記単独実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求める単独インジェクタ毎補正量算出手段と、
を有する単独インジェクタ学習手段を備え、
前記内燃機関の運転状態に基づいて、前記インジェクタの被熱量に関連した被熱関連量を積算し、積算した前記被熱関連量である累積被熱関連量を算出する累積被熱関連量算出手段と、
前記累積被熱関連量が所定被熱関連量未満である場合に前記グループインジェクタ学習手段を用いてインジェクタ毎の前記噴射補正量を求めるなじみ期間中学習手段と、
前記累積被熱関連量が所定被熱関連量以上である場合に前記単独インジェクタ学習手段を用いてインジェクタ毎の前記噴射補正量を求めるなじみ期間経過後学習手段と、
を備えている、
内燃機関の燃料噴射制御装置。
【請求項４】
複数の気筒を有する内燃機関の無噴射運転時に、前記気筒毎に設けられたインジェクタから学習用噴射を行って当該学習用噴射による内燃機関の回転数の変化に基づいて前記インジェクタ毎の噴射補正量を求める内燃機関の燃料噴射量学習方法であって、
複数の前記インジェクタを、予め複数のグループに分け、
内燃機関が運転中であるが前記インジェクタから燃料を噴射していない前記無噴射運転時において、前記インジェクタの前記噴射補正量を求めるための噴射量学習実行条件が成立しているか否かを判定する学習条件判定ステップと、
前記無噴射運転時であって前記噴射量学習実行条件が成立している噴射量学習タイミング毎に、複数の前記グループの中から１つのグループを特定するとともに特定したグループの中から１つのインジェクタを先行インジェクタとして特定し、特定したグループ内における前記先行インジェクタとは異なるインジェクタを後続インジェクタとして特定し、特定した前記先行インジェクタから、当該先行インジェクタの噴射タイミングにおいて、学習用の微小噴射量である学習用噴射量を噴射する先行学習噴射ステップと、
前記先行学習噴射ステップの噴射から前記内燃機関の所定量回転後に、特定した前記後続インジェクタから、当該後続インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する後続学習噴射ステップと、
前記先行インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である先行実変動量を検出する先行実変動量検出ステップと、
前記後続インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である後続実変動量を検出する後続実変動量検出ステップと、
１回の前記噴射量学習タイミングにて、前記先行インジェクタから実際に噴射された燃料量である先行実噴射量を、前記先行実変動量と、当該先行実変動量の検出期間における前記内燃機関の回転数と、に基づいて求め、前記後続インジェクタから実際に噴射された燃料量である後続実噴射量を、前記後続実変動量と、当該後続実変動量の検出期間における前記内燃機関の回転数と、に基づいて求めるグループインジェクタ毎実噴射量算出ステップと、
インジェクタ毎に複数回求めた前記先行実噴射量及び前記後続実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求めるグループインジェクタ毎補正量算出ステップと、を有する、
内燃機関の燃料噴射量学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の無噴射運転時にインジェクタから学習用噴射を行って内燃機関の挙動を観測してインジェクタの補正量を求める噴射量学習制御を実行する、内燃機関の燃料噴射制御装置及び内燃機関の燃料噴射量学習方法に関する。
【背景技術】
【０００２】
例えば内燃機関としてディーゼルエンジンを備えた一般車両や産業車両では、排気ガス中のＮＯｘの低減や燃焼時の騒音の低減を目的として、主となる燃料噴射であるメイン噴射に先立って、微少量の燃料を噴射するパイロット噴射を行っている。このパイロット噴射によってＮＯｘ低減や騒音低減の効果を最大限に得るためには、パイロット噴射時における正確な燃料量の噴射が必要である。ところが、内燃機関の気筒毎に設けられたインジェクタは、それぞれ固有の誤差を有しており、しかも、長期間使用しているとその誤差も個々に変動する。このため、インジェクタ毎に噴射補正量を求める、いわゆる噴射量学習制御が行われている。
【０００３】
例えば特許文献１には、インジェクタに対する指令噴射量がゼロ以下となる無噴射時に、特定した１つのインジェクタから学習用噴射量の単発噴射を実施している。そして単発噴射によって上昇したエンジン回転数の変化量と、単発噴射を実施時のエンジンの回転数と、学習用噴射量と、に基づいてトルク比例量を算出し、算出したトルク比例量に基づいて実際の噴射量である実噴射量をインジェクタ毎に推定している。そして実噴射量と学習用噴射量との差から、インジェクタ毎の噴射補正量を算出している。
【０００４】
また特許文献２には、噴射量学習を行う際の噴射の実行時において、エンジンの冷却水温度と大気圧に応じて、内燃機関の燃焼を促進させるために、１回の噴射〜３回の噴射を切り替えている。つまり、引用文献１では１回の噴射量学習タイミングで１つのインジェクタから１発の噴射を実施しているが、引用文献２では１回の噴射量学習タイミングで１つのインジェクタから１発〜３発の噴射を切り替えて実施している。これにより、内燃機関の運転状態に応じて、燃焼が促進された学習用噴射が実施され、適切なトルクが発生する。従って、微少量の学習用噴射における燃焼を安定させ、高精度な噴射量学習を行うことができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−０３６７８８号公報
【特許文献２】特開２００９−０２４５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１と特許文献２に記載の発明では、１回の噴射量学習タイミングで１つのインジェクタの実噴射量を求めることしかできない。通常、噴射量学習では、誤差を低減するためにインジェクタ毎に数１０回程度、実噴射量を求め、その平均等を用いている。つまり、実際に噴射補正量が求められるまでには、インジェクタ毎に数１０回もの噴射量学習が必要であり、噴射補正量が更新される頻度が低い。しかも、噴射量学習は燃料の無噴射運転時（アクセルペダルから足を離した状態の惰性走行時等）のタイミングで実行されるので、噴射量学習タイミングそのものの頻度が低い。このため、ＮＯｘ低減や騒音低減の効果を最大限に得ることができない期間が長くなってしまうので、好ましくない。
【０００７】
本発明は、このような点に鑑みて創案されたものであり、インジェクタ毎の噴射補正量を求める頻度をより高くすることができる内燃機関の燃料噴射制御装置及び内燃機関の燃料噴射量学習方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明に係る内燃機関の燃料噴射制御装置及び内燃機関の燃料噴射量学習方法は次の手段をとる。まず、本発明の第１の発明は、複数の気筒を有する内燃機関の無噴射運転時に、前記気筒毎に設けられたインジェクタから学習用噴射を行って当該学習用噴射による内燃機関の回転数の変化に基づいて前記インジェクタ毎の噴射補正量を求める内燃機関の燃料噴射制御装置であって、複数の前記インジェクタは、予め複数のグループに分けられている。そして、内燃機関が運転中であるが前記インジェクタから燃料を噴射していない前記無噴射運転時において、前記インジェクタの前記噴射補正量を求めるための噴射量学習実行条件が成立しているか否かを判定する学習条件判定手段と、前記無噴射運転時であって前記噴射量学習実行条件が成立している噴射量学習タイミング毎に、複数の前記グループの中から１つのグループを特定するとともに特定したグループの中から１つのインジェクタを先行インジェクタとして特定し、特定したグループ内における前記先行インジェクタとは異なるインジェクタを後続インジェクタとして特定し、特定した前記先行インジェクタから、当該先行インジェクタの噴射タイミングにおいて、学習用の微小噴射量である学習用噴射量を噴射する先行学習噴射手段と、前記先行学習噴射手段の噴射から前記内燃機関の所定量回転後に、特定した前記後続インジェクタから、当該後続インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する後続学習噴射手段と、前記先行インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である先行実変動量を検出する先行実変動量検出手段と、前記後続インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である後続実変動量を検出する後続実変動量検出手段と、１回の前記噴射量学習タイミングにて、前記先行インジェクタから実際に噴射された燃料量である先行実噴射量を、前記先行実変動量と、当該先行実変動量の検出期間における前記内燃機関の回転数と、に基づいて求め、前記後続インジェクタから実際に噴射された燃料量である後続実噴射量を、前記後続実変動量と、当該後続実変動量の検出期間における前記内燃機関の回転数と、に基づいて求めるグループインジェクタ毎実噴射量算出手段と、インジェクタ毎に複数回求めた前記先行実噴射量及び前記後続実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求めるグループインジェクタ毎補正量算出手段と、を有するグループインジェクタ学習手段を備えている、内燃機関の燃料噴射制御装置である。
【０００９】
この第１の発明では、１回の噴射量学習タイミングで１つのインジェクタの実噴射量を求めている従来の噴射量学習に対して、１回の噴射量学習タイミングで、先行インジェクタと後続インジェクタの２つのインジェクタのそれぞれの先行実噴射量と後続実噴射量とを求める。従って、従来の噴射量学習の頻度に対して、噴射量学習の頻度を２倍にすることができる内燃機関の燃料噴射制御装置を提供することができる。
【００１０】
次に、本発明の第２の発明は、上記第１の発明に係る内燃機関の燃料噴射制御装置であって、複数の前記グループの前記先行インジェクタと前記後続インジェクタは、前記先行インジェクタに対応する気筒の爆発行程と、前記後続インジェクタに対応する気筒の爆発行程と、が連続した爆発行程とならないように選定されている。
【００１１】
この第２の発明では、グループのそれぞれは、先行インジェクタに対応する気筒の爆発行程と、後続インジェクタに対応する気筒の爆発行程と、が連続した爆発行程とならないインジェクタの組み合わせとされている。先行学習噴射と後続学習噴射を連続する爆発行程で行うと、先行学習噴射の爆発行程による内燃機関の挙動の変化の計測が不十分な状態で、後続学習噴射の爆発行程が行われてしまうので、あまり好ましくない。しかし、先行学習噴射と後続学習噴射を、連続させずに間隔をあけることで、先行学習噴射による内燃機関の挙動の変化と、後続学習噴射による内燃機関の挙動の変化と、を適切に計測することができる。
【００１２】
次に、本発明の第３の発明は、上記第１の発明または第２の発明に係る内燃機関の燃料噴射制御装置であって、前記学習条件判定手段と、前記噴射量学習タイミング毎に、複数の前記インジェクタの中から１つのインジェクタを単独学習インジェクタとして特定し、特定した単独学習インジェクタから、当該単独学習インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する単独学習噴射手段と、前記単独学習インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である単独実変動量を検出する単独実変動量検出手段と、１回の前記噴射量学習タイミングにて、前記単独学習インジェクタとして特定したインジェクタから実際に噴射された燃料量である単独実噴射量を、前記単独実変動量と、当該単独実変動量の検出期間における前記内燃機関の回転数と、に基づいて求める単独インジェクタ毎実噴射量算出手段と、インジェクタ毎に複数回求めた前記単独実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求める単独インジェクタ毎補正量算出手段と、を有する単独インジェクタ学習手段を備えている。そして、前記内燃機関の運転状態に基づいて、前記インジェクタの被熱量に関連した被熱関連量を積算し、積算した前記被熱関連量である累積被熱関連量を算出する累積被熱関連量算出手段と、前記累積被熱関連量が所定被熱関連量未満である場合に前記グループインジェクタ学習手段を用いてインジェクタ毎の前記噴射補正量を求めるなじみ期間中学習手段と、前記累積被熱関連量が所定被熱関連量以上である場合に前記単独インジェクタ学習手段を用いてインジェクタ毎の前記噴射補正量を求めるなじみ期間経過後学習手段と、を備えている。
【００１３】
この第３の発明では、累積被熱関連量が所定被熱関連量未満である、なじみ期間の間は、インジェクタの噴射量の変動量が比較的大きいので、高い頻度であるが単独インジェクタ学習手段よりも精度が低いグループインジェクタ学習手段を用いて噴射補正量を更新する。また、累積被熱関連量が所定被熱関連量以上である、なじみ期間の経過後は、インジェクタの噴射量の変動量が比較的小さいので、低い頻度であるがグループインジェクタ学習手段よりも精度が高い単独インジェクタ学習手段を用いて噴射補正量を更新する。このように、なじみ期間に応じて、グループインジェクタ学習手段と、単独インジェクタ学習手段と、を適切に使い分け、噴射補正量の更新頻度と精度のバランスが良い燃料噴射制御装置を提供できる。
【００１４】
次に、本発明の第４の発明は、複数の気筒を有する内燃機関の無噴射運転時に、前記気筒毎に設けられたインジェクタから学習用噴射を行って当該学習用噴射による内燃機関の回転数の変化に基づいて前記インジェクタ毎の噴射補正量を求める内燃機関の燃料噴射量学習方法であって、複数の前記インジェクタを、予め複数のグループに分ける。そして、内燃機関が運転中であるが前記インジェクタから燃料を噴射していない前記無噴射運転時において、前記インジェクタの前記噴射補正量を求めるための噴射量学習実行条件が成立しているか否かを判定する学習条件判定ステップと、前記無噴射運転時であって前記噴射量学習実行条件が成立している噴射量学習タイミング毎に、複数の前記グループの中から１つのグループを特定するとともに特定したグループの中から１つのインジェクタを先行インジェクタとして特定し、特定したグループ内における前記先行インジェクタとは異なるインジェクタを後続インジェクタとして特定し、特定した前記先行インジェクタから、当該先行インジェクタの噴射タイミングにおいて、学習用の微小噴射量である学習用噴射量を噴射する先行学習噴射ステップと、前記先行学習噴射ステップの噴射から前記内燃機関の所定量回転後に、特定した前記後続インジェクタから、当該後続インジェクタの噴射タイミングにおいて、前記学習用噴射量を噴射する後続学習噴射ステップと、前記先行インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である先行実変動量を検出する先行実変動量検出ステップと、前記後続インジェクタからの前記学習用噴射量の噴射によって変動した前記内燃機関の回転数の実際の変動量である後続実変動量を検出する後続実変動量検出ステップと、１回の前記噴射量学習タイミングにて、前記先行インジェクタから実際に噴射された燃料量である先行実噴射量を、前記先行実変動量と、当該先行実変動量の検出期間における前記内燃機関の回転数と、に基づいて求め、前記後続インジェクタから実際に噴射された燃料量である後続実噴射量を、前記後続実変動量と、当該後続実変動量の検出期間における前記内燃機関の回転数と、に基づいて求めるグループインジェクタ毎実噴射量算出ステップと、インジェクタ毎に複数回求めた前記先行実噴射量及び前記後続実噴射量と、前記学習用噴射量と、の差に基づいて、インジェクタ毎の前記噴射補正量を求めるグループインジェクタ毎補正量算出ステップと、を有する、内燃機関の燃料噴射量学習方法である。
【００１５】
この第４の発明では、１回の噴射量学習タイミングで１つのインジェクタの実噴射量を求めている従来の噴射量学習に対して、１回の噴射量学習タイミングで、先行インジェクタと後続インジェクタの２つのインジェクタのそれぞれの先行実噴射量と後続実噴射量とを求める。従って、従来の噴射量学習の頻度に対して、噴射量学習の頻度を２倍にすることができる内燃機関の燃料噴射量学習方法を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】内燃機関（この例ではディーゼルエンジン）の制御システムの概略構成を説明する図である。
【図２】燃料噴射制御装置の構成と、燃料噴射制御装置の入出力を説明する図である。
【図３】第１の実施の形態のグループインジェクタ学習における先行学習噴射と後続学習噴射を実施する処理手順の例を説明するフローチャートである。
【図４】グループインジェクタ学習における先行学習噴射を実施後、及び後続学習噴射を実施後、インジェクタ毎の噴射補正量を求める処理手順の例を説明するフローチャートである。
【図５】先行インジェクタ（この例ではインジェクタ１）からの先行学習噴射と、後続インジェクタ（この例ではインジェクタ４）からの後続学習噴射と、内燃機関の回転数の状態の例を説明する図である。
【図６】グループインジェクタ学習による各インジェクタの噴射補正量の更新頻度と、単独インジェクタ学習による各インジェクタの噴射補正量の更新頻度と、を説明する図である。
【図７】第２の実施の形態の、グループインジェクタ学習と単独インジェクタ学習とを切り替える処理手順の例を説明するフローチャートである。
【図８】内燃機関の運転時間と、インジェクタの噴射量変動量と、なじみ期間と、を説明する図である。
【図９】単独インジェクタ学習における単独学習噴射を実施する処理手順の例を説明するフローチャートである。
【図１０】単独インジェクタ学習における単独学習噴射を実施後、インジェクタ毎の噴射補正量を求める処理手順の例を説明するフローチャートである。
【図１１】単独インジェクタ（この例ではインジェクタ１）からの単独学習噴射と、内燃機関の回転数の状態の例を説明する図である。
【発明を実施するための形態】
【００１７】
以下に本発明を実施するための形態を図面を用いて説明する。
●［内燃機関の制御システムの概略構成（図１）と制御手段５０の入出力（図２）］
まず図１を用いて、制御対象の内燃機関の概略構成について説明する。本実施の形態の説明では、内燃機関の例として、４気筒のエンジン１０（例えばディーゼルエンジン）を用いて説明する。エンジン１０には、各気筒４５Ａ〜４５Ｄへの吸入空気を導入する吸気管１１が接続されている。またエンジン１０には、各気筒４５Ａ〜４５Ｄからの排気が吐出される排気管１２が接続されている。またエンジン１０にはクランクシャフト１３（内燃機関の回転軸に相当）が設けられており、クランクシャフト１３は変速機１５に回転動力を伝達する。なお、以降の説明において、「＃１」は１番気筒を示し、「＃２」は２番気筒を示し、「＃３」は３番気筒を示し、「＃４」は４番気筒を示す。また本実施の形態で用いる４気筒のエンジン１０では、爆発行程が、＃１−＃３−＃４−＃２−＃１・・の順に発生するように設定されているものとする。
【００１８】
吸気管１１には、吸気温検出手段２４が設けられている。吸気温検出手段２４は、例えば吸気温センサであり、吸気管１１内の吸気の温度に応じた検出信号を制御手段５０に出力する。制御手段５０（燃料噴射制御装置に相当）は、吸気温検出手段２４からの検出信号に基づいて吸入空気の温度を検出可能である。
【００１９】
エンジン１０には、回転検出手段２６、特定気筒検出手段２７、冷却水温検出手段２２等が設けられている。回転検出手段２６は、例えば回転角度センサであり、クランクシャフト１３の回転角度に応じた検出信号を制御手段５０に出力する。制御手段５０は、回転検出手段２６からの検出信号に基づいてクランクシャフト１３の回転角度を検出し、クランクシャフト１３の回転数であるエンジン１０の回転数や、クランクシャフト１３が所定回転角度となったタイミングを検出可能である。特定気筒検出手段２７は、気筒判別センサであり、例えばクランクシャフト１３が回転して１番気筒である気筒４５Ａ内のピストンが圧縮行程の上死点となった場合に検出信号を出力する。制御手段５０は、回転検出手段２６からの検出信号と特定気筒検出手段２７からの検出信号とに基づいて、各気筒のピストンが、どの行程（吸気行程、圧縮行程、爆発行程、排気行程）の状態にあり、どのようなクランクシャフトの回転角度であるか、を検出可能である。
【００２０】
冷却水温検出手段２２は、例えば冷却水温センサであり、エンジン１０の冷却水（クーラント）の温度に応じた検出信号を制御手段５０に出力する。制御手段５０は、冷却水温検出手段２２からの検出信号に基づいて冷却水の温度を検出可能である。
【００２１】
変速機１５には、クランクシャフト１３と変速機１５との締結状態に応じた検出信号を制御手段５０に出力するクラッチ検出手段２９が設けられている。クラッチ検出手段２９は、例えばクランクシャフト１３と変速機１５とが解放状態とされた場合に検出信号を出力する位置センサであり、制御手段５０は、クラッチ検出手段２９からの検出信号に基づいて、クランクシャフトと変速機が解放状態であるか否かを検出可能である。
【００２２】
エンジン１０の気筒４５Ａ〜４５Ｄのそれぞれには、制御手段５０からの制御信号に基づいて各気筒内に燃料を噴射するインジェクタ４３Ａ〜４３Ｄのそれぞれが設けられている。そしてインジェクタ４３Ａ〜４３Ｄには、コモンレール４１から燃料配管４２Ａ〜４２Ｄを介して燃料が供給されている。
【００２３】
コモンレール４１には燃料タンク（図示省略）から燃料が供給され、コモンレール４１内の燃料は高圧に維持されている。コモンレール４１には、燃料圧力検出手段２１と燃料温度検出手段２５が設けられている。燃料圧力検出手段２１は、例えば燃料圧力センサであり、制御手段５０は、燃料圧力検出手段２１からの検出信号に基づいて、コモンレール４１内の燃料の圧力を検出可能である。燃料温度検出手段２５は、例えば燃料温度センサであり、制御手段５０は、燃料温度検出手段２５からの検出信号に基づいて、コモンレール４１内の燃料の温度を検出可能である。
【００２４】
制御手段５０は、内部にＣＰＵを備えた制御装置（燃料噴射制御装置）であり、上記に説明した入出力に加えて、例えば、大気圧検出手段２３やアクセル踏込量検出手段２８からの検出信号が入力されている。大気圧検出手段２３は、例えば圧力センサであり、大気圧に応じた検出信号を制御手段５０に出力する。制御手段５０は、大気圧検出手段２３からの検出信号に基づいて、大気圧を検出可能である。アクセル踏込量検出手段２８は、例えばアクセルペダルセンサであり、ユーザによるアクセルペダルの踏込量に応じた検出信号を制御手段５０に出力する。制御手段５０は、アクセル踏込量検出手段２８からの検出信号に基づいて、ユーザによるアクセルペダルの踏込量を検出可能である。制御手段５０は、上記に説明した各種の検出手段等からの検出信号を取り込んでエンジン１０の運転状態を検出し、インジェクタ４３Ａ〜４３Ｄを駆動する制御信号を出力する。なお、図２中の制御手段５０内の符号５１Ａ〜５１Ｇ、符号５２Ａ、５２Ｂ、５２Ｄ、５２Ｆ、５２Ｇ、符号５３Ａ〜５３Ｃについては後述する。
【００２５】
●●［第１の実施の形態における制御手段５０の処理手順（図３〜図６）］
以下にて、制御手段５０によるグループインジェクタ学習を用いた燃料噴射量学習方法の処理手順について説明する。既に説明したように、従来（後述する単独インジェクタ学習）では、１回の噴射量学習タイミングで１つのインジェクタの実噴射量を求め、インジェクタ毎に数１０回分の実噴射量を求めた後、インジェクタ毎に噴射補正量を求めている。従って、インジェクタ毎の噴射補正量が更新される頻度が低い。また内燃機関の無噴射運転時に噴射量学習を行っているので、噴射量学習の頻度そのものが比較的低い。そこで本願の第１の実施の形態にて説明するグループインジェクタ学習では、後述するように、１回の噴射量学習タイミングで２つのインジェクタの実噴射量をそれぞれ求めることで、インジェクタ毎の噴射補正量の更新頻度を、従来と比較して２倍にするものである。
【００２６】
なお図５に示すタイムチャートにおいて、最上段のＴＤＣの欄の「＃１」の位置は、１番気筒の圧縮上死点のタイミングを示している。同様に「＃２」の位置は２番気筒の圧縮上死点のタイミングを示し、「＃３」の位置は３番気筒の圧縮上死点のタイミングを示し、「＃４」は４番気筒の圧縮上死点のタイミングを示している。なお前述したように４気筒のエンジンの場合、＃１−＃３−＃４−＃２−＃１・・の順に爆発行程が発生する。また図５における「インジェクタ１」は１番気筒用のインジェクタ４３Ａの動作状態を示している。同様に「インジェクタ２」は２番気筒用のインジェクタ４３Ｂの動作状態を示し、「インジェクタ３」は３番気筒用のインジェクタ４３Ｃの動作状態を示し、「インジェクタ４」は４番気筒用のインジェクタ４３Ｄの動作状態を示している。
【００２７】
また図５における「ＮＥ」はエンジン１０のクランクシャフト１３の回転数を示しており、図５の例では無噴射運転中であるので回転数「ＮＥ」が徐々に減少する様子を示している。なお先行学習噴射（図５の例では「インジェクタ１」からの噴射）と後続学習噴射（図５の例では「インジェクタ４」からの噴射）が実施された直後は、回転数「ＮＥ」が一時的に上昇する様子を示している。また図５における「ΔＮＥ」は、その時点の「ＮＥ」と、その時点から７２０°ＣＡ前の「ＮＥ」との差を示している。例えば後続学習噴射を実施した「タイミング」が「＃４［ｉ−１］」のタイミングでは、＃４用の回転数ＮＥ４（図５の例ではＮＥ４［ｉ−１］）が求められ、＃４用の回転数変動量ΔＮＥ４（図５の例ではΔＮＥ４［ｉ−１］）が求められる。なお図５の例に示す回転数変動量ΔＮＥ４［ｉ−１］＝回転数ＮＥ４［ｉ−１］−回転数ＮＥ４［ｉ−２］である。
【００２８】
なお、「７２０°ＣＡ」は、クランクシャフトの回転角度で７２０°分を示しており、例えば１８０°ＣＡではクランクシャフトの回転角度で１８０°分を示し、３６０°ＣＡではクランクシャフトの回転角度で３６０°分を示す。
【００２９】
まず図１に示すインジェクタ４３Ａ〜４３Ｄは、グループＡとグループＢに分けられている。グループＡのインジェクタは、１番気筒（＃１）用のインジェクタ４３Ａと４番気筒（＃４）用のインジェクタ４３Ｄである。グループＢのインジェクタは、３番気筒（＃３）用のインジェクタ４３Ｃと２番気筒（＃２）用のインジェクタ４３Ｂである。４気筒のエンジン１０では、振動が少ない爆発順として、１番気筒−３番気筒−４番気筒−２番気筒−１番気筒・・の順番に爆発行程となるように設定されている。従って、グループＡのインジェクタ４３Ａとインジェクタ４３Ｄは、先行インジェクタによる爆発行程と後続インジェクタによる爆発行程と、が連続した爆発行程とならないように選定されている。同様に、グループＢのインジェクタ４３Ｃとインジェクタ４３Ｂも、先行インジェクタによる爆発行程と後続インジェクタによる爆発行程、が連続した爆発行程とならないように選定されている。
【００３０】
次に図３に示すフローチャートと図４に示すフローチャートを用いて、第１の実施の形態における制御手段５０の処理手順について説明する。図３に示す処理Ｓ１００は、例えば各インジェクタから噴射を開始するべき手前の時点で起動される割り込み等の処理であるが、起動のタイミングについては従来と同じであるので、起動タイミングの詳細については説明を省略する。また図４に示す処理Ｓ２００は、例えば各気筒のピストンの上死点の位置で起動される割り込み等の処理であり、４気筒のエンジンの場合、１８０°ＣＡ毎に発生する。なお、図４に示す処理Ｓ２００も起動のタイミングについては従来と同じであるので、起動タイミングの詳細については説明を省略する。
【００３１】
●［先行学習噴射と後続学習噴射を実行する処理の処理手順（図３）］
図３に示す処理Ｓ１００が起動されると制御手段５０は、ステップＳ１１０へと処理を進める。ステップＳ１１０にて制御手段５０は、無噴射運転中であるか否かを判定し、無噴射運転中である場合（Ｙｅｓ）はステップＳ１２０に進み、無噴射運転中でない場合（Ｎｏ）は処理を終了する。なお無噴射運転とは、内燃機関が運転中であるがインジェクタから燃料を噴射していない運転状態を指し、例えば、信号機の有る交差点等の手前や緩やかな下り坂等にて、走行中にユーザがアクセルペダルを離して惰性走行をしている状態を指す。
【００３２】
ステップＳ１２０に進んだ場合、制御手段５０は、噴射量学習実行条件が成立しているか否かを判定し、成立している場合（Ｙｅｓ）はステップＳ１３０に進み、成立していない場合（Ｎｏ）は処理を終了する。なお噴射量学習実行条件には種々の条件があり、例えば制御手段５０は、以下の（１）〜（５）が全て成立している場合に噴射量学習実行条件が成立している、と判定するが、この条件に限定されるものではない。例えば吸気温度の条件を追加してもよいし、燃料の温度や圧力の条件を追加してもよい。
（１）クラッチ検出手段からの検出信号に基づいてクランクシャフトと変速機とが解放状態であると判定した場合。
（２）アクセル踏込量検出手段からの検出信号に基づいてアクセルペダルの踏み込み量がゼロである（アイドリング状態）と判定した場合。
（３）大気圧検出手段からの検出信号に基づいて大気圧が所定大気圧以上であると判定した場合。
（４）冷却水温検出手段からの検出信号に基づいて冷却水の温度が所定温度範囲内であると判定した場合。
（５）回転検出手段からの検出信号に基づいてクランクシャフトの回転数が所定回転範囲内であると判定した場合。
【００３３】
上記のステップＳ１１０とステップＳ１２０は、無噴射運転時において噴射量学習実行条件が成立しているか否かを判定する学習条件判定ステップに相当する。そして当該学習条件判定ステップを実行している制御手段５０は、図２に示す学習条件判定手段５１Ａとして動作する。
【００３４】
ステップＳ１３０に進んだ場合、制御手段５０は、グループＡのインジェクタの学習のターンであるか否かを判定し、グループＡの学習ターンである場合（Ｙｅｓ）はステップＳ１４１に進み、グループＡの学習ターンでない場合（Ｎｏ、すなわちグループＢの学習ターンである場合）はステップＳ１４３に進む。例えば制御手段５０は、噴射量学習が初めてである場合や前回の噴射量学習のタイミングにてグループＢ（インジェクタ４３Ｃとインジェクタ４３Ｂ）の学習を実施した場合、今回の噴射量学習ではグループＡの学習ターンであると判定する。制御手段５０は、噴射量学習タイミング毎に、グループＡの噴射量学習とグループＢの噴射量学習とを交互に実施する。
【００３５】
ステップＳ１４１に進んだ場合、制御手段５０は、グループＡのインジェクタにて先行学習噴射を実施済であるか否かを判定し、先行学習噴射を実施済である場合（Ｙｅｓ）はステップＳ１４２に進み、先行学習噴射を実施済でない場合（Ｎｏ）はステップＳ１５１に進む。
【００３６】
ステップＳ１５１に進んだ場合、制御手段５０は、グループＡのインジェクタの先行学習噴射の実施タイミングであるか否かを判定し、先行学習噴射の実施タイミングである場合（Ｙｅｓ）はステップＳ１６１に進み、先行学習噴射の実施タイミングでない場合（Ｎｏ）は処理を終了する。
【００３７】
ステップＳ１６１に進んだ場合、制御手段５０は、グループＡのインジェクタの中から特定した先行インジェクタからの先行学習噴射（学習用噴射量の噴射）を実施して処理を終了する。ステップＳ１６１はグループＡの先行学習噴射の実行であるので、この場合、１番気筒（＃１）用のインジェクタ４３Ａまたは４番気筒（＃４）用のインジェクタ４３Ｄが先行インジェクタとして特定される。また制御手段５０は、先行インジェクタとして特定しなかったインジェクタを後続インジェクタとして特定する。
【００３８】
制御手段５０は、前回のグループＡの噴射量学習でどちらのインジェクタを先行インジェクタに特定したかを記憶しており、グループＡの噴射量学習毎に、先行インジェクタを変更する。例えば制御手段５０は、前回のグループＡの噴射量学習ではインジェクタ４３Ｄを先行インジェクタに特定した場合、今回のグループＡの噴射量学習ではインジェクタ４３Ａを先行インジェクタに特定し、インジェクタ４３Ｄを後続インジェクタに特定する。図５に示す例は、今回の噴射量学習のグループとしてグループＡを特定し、かつ１番気筒（＃１）用のインジェクタ４３Ａ（インジェクタ１）を先行インジェクタに特定し、４番気筒（＃４）用のインジェクタ４３Ｄ（インジェクタ４）を後続インジェクタに特定した場合の例を示している。
【００３９】
ステップＳ１４２に進んだ場合、制御手段５０は、グループＡのインジェクタの後続学習噴射を実施済であるか否かを判定し、後続学習噴射を実施済である場合（Ｙｅｓ）は処理を終了し、後続学習噴射を実施済でない場合（Ｎｏ）はステップＳ１５２に進む。
【００４０】
ステップＳ１５２に進んだ場合、制御手段５０は、グループＡのインジェクタの後続学習噴射の実施タイミングであるか否かを判定し、後続学習噴射の実施タイミングである場合（Ｙｅｓ）はステップＳ１６２に進み、後続学習噴射の実施タイミングでない場合（Ｎｏ）は処理を終了する。
【００４１】
ステップＳ１６２に進んだ場合、制御手段５０は、グループＡのインジェクタの中から特定した後続インジェクタからの後続学習噴射（学習用噴射量の噴射）を実施して処理を終了する。
【００４２】
ステップＳ１４３に進んだ場合、制御手段５０は、グループＢのインジェクタにて先行学習噴射を実施済であるか否かを判定し、先行学習噴射を実施済である場合（Ｙｅｓ）はステップＳ１４４に進み、先行学習噴射を実施済でない場合（Ｎｏ）はステップＳ１５３に進む。
【００４３】
ステップＳ１５３に進んだ場合、制御手段５０は、グループＢのインジェクタの先行学習噴射の実施タイミングであるか否かを判定し、先行学習噴射の実施タイミングである場合（Ｙｅｓ）はステップＳ１６３に進み、先行学習噴射の実施タイミングでない場合（Ｎｏ）は処理を終了する。
【００４４】
ステップＳ１６３に進んだ場合、制御手段５０は、グループＢのインジェクタの中から特定した先行インジェクタからの先行学習噴射（学習用噴射量の噴射）を実施して処理を終了する。ステップＳ１６３はグループＢの先行学習噴射の実行であるので、この場合、３番気筒（＃３）用のインジェクタ４３Ｃまたは２番気筒（＃２）用のインジェクタ４３Ｂが先行インジェクタとして特定される。また制御手段５０は、先行インジェクタとして特定しなかったインジェクタを後続インジェクタとして特定する。
【００４５】
制御手段５０は、前回のグループＢの噴射量学習でどちらのインジェクタを先行インジェクタに特定したかを記憶しており、グループＢの噴射量学習毎に、先行インジェクタを変更する。例えば制御手段５０は、噴射量学習が初めてである場合や前回のグループＢの噴射量学習ではインジェクタ４３Ｂを先行インジェクタに特定した場合、今回のグループＢの噴射量学習ではインジェクタ４３Ｃを先行インジェクタに特定し、インジェクタ４３Ｂを後続インジェクタに特定する。
【００４６】
ステップＳ１４４に進んだ場合、制御手段５０は、グループＢのインジェクタの後続学習噴射を実施済であるか否かを判定し、後続学習噴射を実施済である場合（Ｙｅｓ）は処理を終了し、後続学習噴射を実施済でない場合（Ｎｏ）はステップＳ１５４に進む。
【００４７】
ステップＳ１５４に進んだ場合、制御手段５０は、グループＢのインジェクタの後続学習噴射の実施タイミングであるか否かを判定し、後続学習噴射の実施タイミングである場合（Ｙｅｓ）はステップＳ１６４に進み、後続学習噴射の実施タイミングでない場合（Ｎｏ）は処理を終了する。
【００４８】
ステップＳ１６４に進んだ場合、制御手段５０は、グループＢのインジェクタの中から特定した後続インジェクタからの後続学習噴射（学習用噴射量の噴射）を実施して処理を終了する。
【００４９】
以上に説明したステップＳ１３０、Ｓ１４１、Ｓ１５１、Ｓ１６１、Ｓ１４３、Ｓ１５３、Ｓ１６３の処理は、噴射量学習タイミング毎に、１つのグループを特定し、特定したグループの中から１つのインジェクタを先行インジェクタとして特定し、特定したグループ内における先行インジェクタとは異なるインジェクタを後続インジェクタとして特定し、当該先行インジェクタの噴射タイミングにおいて学習用噴射量を噴射する先行学習噴射ステップに相当する。そして当該先行学習噴射ステップを実行している制御手段５０は、図２に示す先行学習噴射手段５１Ｂとして動作する。
【００５０】
また、以上に説明したステップＳ１３０、Ｓ１４１、Ｓ１４２、Ｓ１５２、Ｓ１６２、Ｓ１４３、Ｓ１４４、Ｓ１５４、Ｓ１６４の処理は、先行学習噴射（先行学習噴射手段）の噴射から内燃機関の所定量回転後（この場合、３６０°ＣＡ後）に、特定したグループ内における後続インジェクタから、当該後続インジェクタの噴射タイミングにおいて学習用噴射量を噴射する後続学習噴射ステップに相当する。そして当該後続学習噴射ステップを実行している制御手段５０は、図２に示す後続学習噴射手段５１Ｃとして動作する。
【００５１】
●［先行学習噴射と後続学習噴射の実噴射量の推定と、噴射補正量を算出する処理手順（図４〜図６）］
図４に示す処理Ｓ２００は、例えば各気筒のピストンの上死点の位置（図５に示すタイムチャートにおける「ＴＤＣ」の位置）で起動される。処理Ｓ２００が起動されると制御手段５０は、ステップＳ２１０へと処理を進める。
【００５２】
ステップＳ２１０にて制御手段５０は、今回の処理Ｓ２００が起動された時刻と前回の処理Ｓ２００が起動された時刻との差から、クランクシャフトの１８０°ＣＡの回転に要した時間を算出し、最新の回転数ＮＥを算出してステップＳ２１５に進む。例えば制御手段５０は、気筒毎の回転数を記憶しており、１番気筒（＃１）用の最新の回転数ＮＥ１［ｉ］、１番気筒用の前回の回転数ＮＥ１［ｉ−１］、１番気筒用の前々回の回転数ＮＥ［ｉ−２］を記憶している。同様に制御手段５０は、２番気筒（＃２）用の最新の回転数ＮＥ２［ｉ］と、２番気筒用の前回の回転数ＮＥ２［ｉ−１］と、２番気筒用の前々回の回転数ＮＥ２［ｉ−２］とを記憶している。同様に制御手段５０は、３番気筒（＃３）用の最新の回転数ＮＥ３［ｉ］と、３番気筒用の前回の回転数ＮＥ３［ｉ−１］と、３番気筒用の前々回の回転数ＮＥ３［ｉ−２］とを記憶している。同様に制御手段５０は、４番気筒（＃４）用の最新の回転数ＮＥ４［ｉ］と、４番気筒用の前回の回転数ＮＥ４［ｉ−１］と、４番気筒用の前々回の回転数ＮＥ４［ｉ−２］とを記憶している。
【００５３】
制御手段５０は、図５に示す「ＴＤＣ」が「＃１」のタイミングでは１番気筒（＃１）用の回転数ＮＥ１を算出し、「ＴＤＣ」が「＃３」のタイミングでは３番気筒（＃３）用の回転数ＮＥ３を算出する。また制御手段５０は、「ＴＤＣ」が「＃４」のタイミングでは４番気筒（＃４）用の回転数ＮＥ４を算出し、「ＴＤＣ」が「＃２」のタイミングでは２番気筒（＃２）用の回転数ＮＥ２を算出する。例えば今回の処理Ｓ２００のタイミングが図５中の「タイミング」における＃１［ｉ］のタイミングであった場合、制御手段５０は、現在記憶されている回転数ＮＥ１［ｉ−１］を回転数ＮＥ１［ｉ−２］にコピーして、現在記憶されている回転数ＮＥ１［ｉ］を回転数ＮＥ１［ｉ−１］にコピーして、求めた回転数ＮＥを回転数ＮＥ１［ｉ］に記憶する。
【００５４】
ステップＳ２１５にて制御手段５０は、今回の処理Ｓ２００にて算出したＮＥと、前回の処理Ｓ２００にて算出したＮＥと、の差である回転数変動量ΔＮＥを算出してステップＳ２２０に進む。例えば制御手段５０は、気筒毎の回転数変動量を記憶しており、１番気筒（＃１）用の最新の回転数変動量ΔＮＥ１［ｉ］と、１番気筒用の前回の回転数変動量ΔＮＥ１［ｉ−１］と、１番気筒用の前々回の回転数変動量ΔＮＥ１［ｉ−２］とを記憶している。同様に制御手段５０は、２番気筒（＃２）用の最新の回転数変動量ΔＮＥ２［ｉ］と、２番気筒用の前回の回転数変動量ΔＮＥ２［ｉ−１］と、２番気筒用の前々回の回転数変動量ΔＮＥ［ｉ−２］とを記憶している。同様に制御手段５０は、３番気筒（＃３）用の最新の回転数変動量ΔＮＥ３［ｉ］と、３番気筒用の前回の回転数変動量ΔＮＥ３［ｉ−１］と、３番気筒用の前々回の回転数変動量ΔＮＥ３［ｉ−２］とを記憶している。同様に制御手段５０は、４番気筒（＃４）用の最新の回転数変動量ΔＮＥ４［ｉ］と、４番気筒用の前回の回転数変動量ΔＮＥ４［ｉ−１］と、４番気筒用の前々回の回転数変動量ΔＮＥ４［ｉ−２］とを記憶している。
【００５５】
制御手段５０は、図５に示す「ＴＤＣ」が「＃１」のタイミングでは１番気筒（＃１）用の回転数変動量ΔＮＥ１を算出し、「ＴＤＣ」が「＃３」のタイミングでは３番気筒（＃３）用の回転数変動量ΔＮＥ３を算出する。また制御手段５０は、「ＴＤＣ」が「＃４」のタイミングでは４番気筒（＃４）用の回転数変動量ΔＮＥ４を算出し、「ＴＤＣ」が「＃２」のタイミングでは２番気筒（＃２）用の回転数変動量ΔＮＥ２を算出する。例えば今回の処理Ｓ２００のタイミングが図５中の「タイミング」における＃１［ｉ］のタイミングであった場合、制御手段５０は、現在記憶されている回転数変動量ΔＮＥ１［ｉ−１］を回転数変動量ΔＮＥ１［ｉ−２］にコピーして、現在記憶されている回転数変動量ΔＮＥ１［ｉ］を回転数変動量ΔＮＥ１［ｉ−１］にコピーして、求めた回転数変動量ΔＮＥ（この場合、ＮＥ１［ｉ］−ＮＥ１［ｉ−１］）を回転数変動量ΔＮＥ１［ｉ］に記憶する。
【００５６】
ステップＳ２２０にて制御手段５０は、後続学習噴射を実施してから１０８０°ＣＡ後のタイミングであるか否かを判定する。後続学習噴射から１０８０°ＣＡ後のタイミングである場合（Ｙｅｓ、図５の例では「タイミング」が「＃１［ｉ］の位置」）はステップＳ２２５に進み、そうでない場合（Ｎｏ）は処理を終了する。
【００５７】
ステップＳ２２５に進んだ場合、制御手段５０は、第１ベース変動量ΔＡＶ１、先行学習噴射による先行実変動量δａを算出してステップＳ２３０に進む。例えば図５の「タイミング」が「＃１［ｉ］」の場合において、回転数変動量ΔＮＥにおける符号「ａ」、「ｂ」、「ｍ」、「ｎ」のそれぞれの回転数変動量ΔＮＥの平均を第１ベース変動量ΔＡＶ１とする。図５の例では、第１ベース変動量ΔＡＶ１＝（ΔＮＥ２［ｉ−２］＋ΔＮＥ１［ｉ−２］＋ΔＮＥ２［ｉ］＋ΔＮＥ１［ｉ］）／４とする。
【００５８】
また、例えば図５の「タイミング」が「＃１［ｉ］」の場合において、回転数変動量ΔＮＥの符号「ｃ」の位置における第１ベース変動量ΔＡＶ１からの変動量δ１と、回転数変動量ΔＮＥにおける符号「ｄ」の位置における第１ベース変動量ΔＡＶ１からの変動量δ２と、の平均を先行実変動量δａとする。図５の例では、先行実変動量δａ＝［（ΔＮＥ３［ｉ−１］−ΔＡＶ１）＋（ΔＮＥ４［ｉ−１］−ΔＡＶ１）］／２とする。
【００５９】
このステップＳ２２５の処理は、先行学習噴射によって変動した内燃機関の回転数の実際の変動量である先行実変動量δａを検出する先行実変動量検出ステップに相当する。そして当該先行実変動量検出ステップを実行している制御手段５０は、図２に示す先行実変動量検出手段５１Ｄとして動作する。
【００６０】
ステップＳ２３０にて制御手段５０は、第２ベース変動量ΔＡＶ２、後続学習噴射による後続実変動量δｂを算出してステップＳ２３５に進む。例えば図５の「タイミング」が「＃１［ｉ］」の場合において、回転数変動量ΔＮＥにおける符号「ｃ」、「ｄ」、「ｇ」、「ｈ」のそれぞれの回転数変動量ΔＮＥの平均を第２ベース変動量ΔＡＶ２とする。図５の例では、第２ベース変動量ΔＡＶ２＝（ΔＮＥ３［ｉ−１］＋ΔＮＥ４［ｉ−１］＋ΔＮＥ３［ｉ］＋ΔＮＥ４［ｉ］）／４とする。
【００６１】
また、例えば図５の「タイミング」が「＃１［ｉ］」の場合において、回転数変動量ΔＮＥの符号「ｅ」の位置における第２ベース変動量ΔＡＶ２からの変動量δ３と、回転数変動量ΔＮＥにおける符号「ｆ」の位置における第２ベース変動量ΔＡＶ２からの変動量δ４と、の平均を後続実変動量δｂとする。図５の例では、後続実変動量δｂ＝［（ΔＮＥ２［ｉ−１］−ΔＡＶ２）＋（ΔＮＥ１［ｉ−１］−ΔＡＶ２）］／２とする。
【００６２】
このステップＳ２３０の処理は、後続学習噴射によって変動した内燃機関の回転数の実際の変動量である後続実変動量δｂを検出する後続実変動量検出ステップに相当する。そして当該後続実変動量検出ステップを実行している制御手段５０は、図２に示す後続実変動量検出手段５１Ｅとして動作する。
【００６３】
ステップＳ２３５にて制御手段５０は、先行実噴射量、後続実噴射量、を算出してステップＳ２４０に進む。例えば図５の「タイミング」が「＃１［ｉ］」の場合において、制御手段５０は、先行実変動量δａと、先行学習噴射を実行した際の回転数ＮＥと（図５の例では回転数ＮＥ１［ｉ−２］）、に基づいて先行学習噴射によるトルクを求め、当該トルクを発生させる噴射量である先行実噴射量を求める。このときの回転数ＮＥは、先行実変動量δａの検出期間における内燃機関の回転数に相当する。
【００６４】
また、例えば図５の「タイミング」が「＃１［ｉ］」の場合において、制御手段５０は、後続実変動量δｂと、後続学習噴射を実行した際の回転数ＮＥと（図５の例では回転数ＮＥ４［ｉ−１］）、に基づいて後続学習噴射によるトルクを求め、当該トルクを発生させる噴射量である後続実噴射量を求める。このときの回転数ＮＥは、後続実変動量δｂの検出期間における内燃機関の回転数に相当する。
【００６５】
このステップＳ２３５の処理は、先行実変動量δａと、先行実変動量δａの検出期間における内燃機関の回転数と、に基づいて先行実噴射量を求め、後続実変動量δｂと、後続実変動量δｂの検出期間における内燃機関の回転数と、に基づいて後続実噴射量を求めるグループインジェクタ毎実噴射量算出ステップに相当する。そして当該グループインジェクタ毎実噴射量算出ステップを実行している制御手段５０は、図２に示すグループインジェクタ毎実噴射量算出手段５１Ｆとして動作する。
【００６６】
ステップＳ２４０にて制御手段５０は、先行噴射補正量Ｈａ、後続噴射補正量Ｈｂ、を算出してステップＳ２５１に進む。例えば図５の「タイミング」が「＃１［ｉ］」の場合において、制御手段５０は、学習用噴射量と先行実噴射量との差に基づいて先行噴射補正量Ｈａを算出し、学習用噴射量と後続実噴射量との差に基づいて後続噴射補正量Ｈｂを算出する。
【００６７】
ステップＳ２５１にて制御手段５０は、先行インジェクタがインジェクタ１に特定されているか否かを判定し、インジェクタ１に特定されている場合（Ｙｅｓ）はステップＳ２６１に進み、インジェクタ１に特定されていない場合（Ｎｏ）はステップＳ２５２に進む。
【００６８】
ステップＳ２６１に進んだ場合、先行インジェクタはインジェクタ１に特定され、後続インジェクタはインジェクタ４に特定されている場合であるので、制御手段５０は、インジェクタ１用の累積補正量１に先行噴射補正量Ｈａを加算して累積補正量１を更新し、インジェクタ４用の累積補正量４に後続噴射補正量Ｈｂを加算して累積補正量４を更新する。また制御手段５０は、グループＡ（インジェクタ１とインジェクタ４にて構成したグループ）用の学習回数であるグループＡ学習回数をカウントアップして、ステップＳ２７１に進む。
【００６９】
ステップＳ２５２に進んだ場合、制御手段５０は、先行インジェクタがインジェクタ４に特定されているか否かを判定し、インジェクタ４に特定されている場合（Ｙｅｓ）はステップＳ２６２に進み、インジェクタ４に特定されていない場合（Ｎｏ）はステップＳ２５３に進む。
【００７０】
ステップＳ２６２に進んだ場合、先行インジェクタはインジェクタ４に特定され、後続インジェクタはインジェクタ１に特定されている場合であるので、制御手段５０は、インジェクタ４用の累積補正量４に先行噴射補正量Ｈａを加算して累積補正量４を更新し、インジェクタ１用の累積補正量１に後続噴射補正量Ｈｂを加算して累積補正量１を更新する。また制御手段５０は、グループＡ（インジェクタ１とインジェクタ４にて構成したグループ）用の学習回数であるグループＡ学習回数をカウントアップして、ステップＳ２７１に進む。
【００７１】
ステップＳ２７１に進んだ場合、制御手段５０は、グループＡ学習回数が所定回数以上であるか判定し、所定回数以上である場合はステップＳ２８１に進み、所定回数未満である場合は処理を終了する。
【００７２】
ステップＳ２８１に進んだ場合、制御手段５０は、累積補正量１に基づいて（例えば平均化して）インジェクタ１用の噴射補正量１を算出し、累積補正量４に基づいて（例えば平均化して）インジェクタ４用の噴射補正量４を算出する。また制御手段５０は、累積補正量１と累積補正量４とグループＡ学習回数をクリア（初期化）して処理を終了する。
【００７３】
ステップＳ２５３に進んだ場合、制御手段５０は、先行インジェクタがインジェクタ３に特定されているか否かを判定し、インジェクタ３に特定されている場合（Ｙｅｓ）はステップＳ２６３に進み、インジェクタ３に特定されていない場合（Ｎｏ）はステップＳ２６４に進む。
【００７４】
ステップＳ２６３に進んだ場合、先行インジェクタはインジェクタ３に特定され、後続インジェクタはインジェクタ２に特定されている場合であるので、制御手段５０は、インジェクタ３用の累積補正量３に先行噴射補正量Ｈａを加算して累積補正量３を更新し、インジェクタ２用の累積補正量２に後続噴射補正量Ｈｂを加算して累積補正量２を更新する。また制御手段５０は、グループＢ（インジェクタ３とインジェクタ２にて構成したグループ）用の学習回数であるグループＢ学習回数をカウントアップして、ステップＳ２７３に進む。
【００７５】
ステップＳ２６４に進んだ場合、先行インジェクタはインジェクタ２に特定され、後続インジェクタはインジェクタ３に特定されている場合であるので、制御手段５０は、インジェクタ２用の累積補正量２に先行噴射補正量Ｈａを加算して累積補正量２を更新し、インジェクタ３用の累積補正量３に後続噴射補正量Ｈｂを加算して累積補正量３を更新する。また制御手段５０は、グループＢ（インジェクタ３とインジェクタ２にて構成したグループ）用の学習回数であるグループＢ学習回数をカウントアップして、ステップＳ２７３に進む。
【００７６】
ステップＳ２７３に進んだ場合、制御手段５０は、グループＢ学習回数が所定回数以上であるか判定し、所定回数以上である場合はステップＳ２８３に進み、所定回数未満である場合は処理を終了する。
【００７７】
ステップＳ２８３に進んだ場合、制御手段５０は、累積補正量３に基づいて（例えば平均化して）インジェクタ３用の噴射補正量３を算出し、累積補正量２に基づいて（例えば平均化して）インジェクタ２用の噴射補正量２を算出する。また制御手段５０は、累積補正量３と累積補正量２とグループＢ学習回数をクリア（初期化）して処理を終了する。
【００７８】
以上に説明したステップＳ２４０以降の処理は、インジェクタ毎に複数回求めた先行実噴射量及び後続実噴射量と、学習用噴射量と、の差に基づいてインジェクタ毎の噴射補正量を求めるグループインジェクタ毎補正量算出ステップに相当する。また当該グループインジェクタ毎補正量算出ステップを実行している制御手段５０は、図２に示すグループインジェクタ毎補正量算出手段５１Ｇとして動作する。
【００７９】
以上に説明した図３及び図４の処理手順に示すグループインジェクタ学習よって、図５に示すように、１回の噴射量学習（グループインジェクタ学習）にて、インジェクタ１とインジェクタ４の、２つのインジェクタの噴射量学習が実施される。従って、１回の噴射量学習にて、１つのインジェクタのみ噴射量学習を行っていた従来の単独インジェクタ学習の場合と比較して、インジェクタ毎の噴射補正量の更新頻度を２倍にすることができる（図６参照）。なお図２に示すように、グループインジェクタ学習手段は、上述した学習条件判定手段５１Ａ〜グループインジェクタ毎補正量算出手段５１Ｇを有している。
【００８０】
図６は、上述したグループインジェクタ学習による噴射補正量の更新頻度と、後述する単独インジェクタ学習による噴射補正量の更新頻度とを比較するイメージ図であり、横軸は走行距離を示している。図６における「単独インジェクタ学習」では、１回の噴射量学習で１つのインジェクタのみ噴射量学習を行うので、「インジェクタ１の噴射量のずれ量」、「インジェクタ３の噴射量のずれ量」、「インジェクタ４の噴射量のずれ量」、「インジェクタ２の噴射量のずれ量」は、いずれも、「更新」のタイミングが４回発生する毎にほぼゼロにリセットされる。そして次のリセットが発生するまでずれ量が徐々に増えていく。つまり、更新の頻度が低いので、噴射量のずれ量の値が大きくなってしまい、あまり好ましくない。
【００８１】
これに対して図６における「グループインジェクタ学習」（図３、図４の処理）では、１回の噴射量学習で、２つのインジェクタの噴射量学習を行うので、「インジェクタ１の噴射量のずれ量」、「インジェクタ３の噴射量のずれ量」、「インジェクタ４の噴射量のずれ量」、「インジェクタ２の噴射量のずれ量」は、いずれも、「更新」のタイミングが２回発生する毎にほぼゼロにリセットされ、次のリセットが発生するまでずれ量が徐々に増えていく。また「インジェクタ１の噴射量のずれ量」がほぼゼロにリセットされるタイミングは、図４に示すフローチャートにおけるステップＳ２８１にて噴射補正量１と補正噴射量４を算出したタイミングである。従って「インジェクタ１の噴射量のずれ量」がほぼゼロにリセットされるタイミングでは、「インジェクタ４の噴射量のずれ量」もほぼゼロにリセットされる。同様に「インジェクタ３の噴射量のずれ量」がほぼゼロにリセットされるタイミングでは、「インジェクタ２の噴射量のずれ量」もほぼゼロにリセットされる。
【００８２】
●●［第２の実施の形態における制御手段５０の処理手順（図７〜図１１）］
図８は、温度Ｔ３、温度Ｔ２、温度Ｔ１（温度Ｔ３＞温度Ｔ２＞温度Ｔ１）の各温度の場合において、インジェクタの運転時間（使用累積時間）と、当該インジェクタの噴射量変動量との関係を示すグラフである。インジェクタの噴射量変動量は、図８に示すように、インジェクタが製造されてから初期の期間では、変動の度合いが比較的大きく変化（傾きが大きく変化）しており、その後は、変動の度合いが小さくなる（傾きが小さくなる）ことが知られている。また温度が高いほど、変動の度合いが比較的大きい期間が短くなることが知られている。この変動の度合いが比較的大きな期間（図８中のグラフの傾きが比較的大きな期間）を「なじみ期間」と呼ぶ。すなわち、なじみ期間が経過後は、変動の度合いが比較的小さい。
【００８３】
上述したグループインジェクタ学習では、後述する単独インジェクタ学習と比較して、噴射補正量の更新頻度は高いが、噴射補正量を求めるための情報量が少ない（図５中のδ１とδ２で先行インジェクタの噴射補正量を求め、δ３とδ４で後続インジェクタの噴射補正量を求めている）ので、噴射補正量の精度が、やや落ちる可能性がある。また後述するように、単独インジェクタ学習では、グループインジェクタ学習と比較して、噴射補正量の更新頻度は低いが、噴射補正量を求めるための情報量が多い（図１１中のδ５とδ６とδ７とδ８で単独学習インジェクタの噴射補正量を求めている）ので、噴射補正量の精度は高い。そこで、変動量が大きいなじみ期間の間は、グループインジェクタ学習を行って、高い頻度で噴射補正量を更新し、変動量が小さいなじみ期間の経過後では、単独インジェクタ学習を行うことが、より好ましい。
【００８４】
図７に示すフローチャートは、上述したように、なじみ期間の間はグループインジェクタ学習を行い、なじみ期間の経過後には単独インジェクタ学習を行う、第２の実施の形態における制御手段５０の処理手順の例を示している。図７に示す処理Ｓ３００は、所定タイミングで起動され、処理Ｓ３００が起動されると制御手段５０はステップＳ３１０へと処理を進める。
【００８５】
ステップＳ３１０にて制御手段５０は、被熱温度を演算してステップＳ３２０に進む。例えば制御手段５０は、エンジンの回転数と、インジェクタからの燃料噴射量と、に基づいたマップ等（予め記憶手段に記憶されている）を用いて被熱温度を求める。
【００８６】
ステップＳ３２０にて制御手段５０は、被熱量を演算してステップＳ３３０に進む。例えば制御手段５０は、内燃機関の運転時間（運転継続時間）を計測しており、当該運転時間と、被熱温度と、に基づいたマップ等（予め記憶手段に記憶されている）を用いて被熱量を求める。
【００８７】
ステップＳ３３０にて制御手段５０は、被熱量に基づいた被熱関連量を求め、被熱関連量を累積した（積算した）累積被熱関連量を算出し、ステップＳ３４０に進む。被熱量から被熱関連量への換算方法は、特に限定せず、被熱量＝被熱関連量としてもよい。
【００８８】
ステップＳ３４０にて制御手段５０は、累積被熱関連量が所定量未満であるか否かを判定し、累積被熱関連量が所定量未満である場合（Ｙｅｓ）はステップＳ３５１に進み、累積被熱関連量が所定量以上である場合（Ｎｏ）はステップＳ３５２に進む。
【００８９】
ステップＳ３５１に進んだ場合、制御手段５０は、なじみ期間中であると判定してステップＳ３８１に進む。
【００９０】
ステップＳ３８１にて制御手段５０は、前述した処理Ｓ１００、処理Ｓ２００の起動及び実行を行い（後述する処理Ｓ４００、処理５００を実行せず）、前述したグループインジェクタ学習制御を実行する。
【００９１】
ステップＳ３５２に進んだ場合、制御手段５０は、なじみ期間経過後であると判定してステップＳ３６２に進む。
【００９２】
ステップＳ３６２にて制御手段５０は、今回のなじみ期間経過後の判定が、なじみ期間中からなじみ期間経過後へと切替わったタイミングであるか否かを判定し、切替わったタイミングであると判定した場合（Ｙｅｓ）はステップＳ３７２に進み、前回もなじみ期間経過後と判定していた場合（Ｎｏ）はステップＳ３８２に進む。
【００９３】
ステップＳ３７２に進んだ場合、制御手段５０は、累積補正量１〜累積補正量４をクリア（初期化）し、単独学習回数１〜単独学習回数４をクリア（初期化）してステップＳ３８２に進む。制御手段５０は、グループインジェクタ学習制御から単独インジェクタ学習制御に切替わったタイミングで、単独インジェクタ学習で用いる累積補正量１〜累積補正量４、単独学習回数１〜単独学習回数４を初期化する。
【００９４】
ステップＳ３８２に進んだ場合、制御手段５０は、前述した処理Ｓ１００の代わりに後述する処理Ｓ４００の起動及び実行を行い、前述した処理Ｓ２００の代わりに後述する処理Ｓ５００の起動及び実行を行い、後述する単独インジェクタ学習制御を実行する。
【００９５】
このステップＳ３１０〜Ｓ３３０の処理は、内燃機関の運転状態に基づいて、インジェクタの被熱量に関連した被熱関連量を積算し、積算した被熱関連量である累積被熱関連量を算出する累積被熱関連量算出ステップに相当する。そして当該累積被熱関連量算出ステップを実行している制御手段５０は、図２に示す累積被熱関連量算出手段５３Ａとして動作する。
【００９６】
またステップＳ３４０、Ｓ３５１、Ｓ３８１の処理は、累積被熱関連量が所定被熱関連量未満である場合にグループインジェクタ学習手段を用いてインジェクタ毎の噴射補正量を求めるなじみ期間中学習ステップに相当する。そして当該なじみ期間中学習ステップを実行している制御手段５０は、図２に示すなじみ期間中学習手段５３Ｂとして動作する。
【００９７】
またステップＳ３４０、Ｓ３５２、（Ｓ３６２、Ｓ３７２）、Ｓ３８２の処理は、累積被熱関連量が所定被熱関連量以上である場合に単独インジェクタ学習手段を用いてインジェクタ毎の噴射補正量を求めるなじみ期間経過後学習ステップに相当する。そして当該なじみ期間経過後学習ステップを実行している制御手段５０は、図２に示すなじみ期間経過後学習手段５３Ｃとして動作する。
【００９８】
●［単独学習噴射を実行する処理の処理手順（図９）］
図９は、単独インジェクタ学習制御を行なう際、前述した処理Ｓ１００（図３参照）の代わりに起動及び実行される処理である。以下、図９のフローチャートの各処理について説明する。制御手段５０は、図９に示す処理Ｓ４００が起動されると、ステップＳ４１０へと処理を進める。
【００９９】
ステップＳ４１０にて制御手段５０は、図３に示すステップＳ１１０と同様、無噴射運転中であるか否かを判定し、無噴射運転中である場合（Ｙｅｓ）はステップＳ４２０に進み、無噴射運転中でない場合（Ｎｏ）は処理を終了する。
【０１００】
ステップＳ４２０に進んだ場合、制御手段５０は、噴射量学習実行条件が成立しているか否かを判定し、成立している場合（Ｙｅｓ）はステップＳ４４１に進み、成立していない場合（Ｎｏ）は処理を終了する。なお、噴射量学習実行条件については、図３に示すステップＳ１２０と同様であるので説明を省略する。
【０１０１】
上記のステップＳ４１０とステップＳ４２０の処理は、無噴射運転時において噴射量学習実行条件が成立しているか否かを判定する学習条件判定ステップに相当する。そして当該学習条件判定ステップを実行している制御手段５０は、図２に示す学習条件判定手段５２Ａとして動作する。
【０１０２】
ステップＳ４４１に進んだ場合、制御手段５０は、単独学習噴射を実施済であるか否かを判定し、単独学習噴射を実施済である場合（Ｙｅｓ）は処理を終了し、単独学習噴射を実施済でない場合（Ｎｏ）はステップＳ４５１に進む。なお、単独学習噴射を内燃機関の運転時間ごとあるいは内燃機関を搭載した車両の所定走行距離ごとに実施を継続する場合、このステップの処理は実施しなくてもよい。
【０１０３】
ステップＳ４５１に進んだ場合、制御手段５０は、単独学習噴射の実施タイミングであるか否かを判定し、単独学習噴射の実施タイミングである場合（Ｙｅｓ）はステップＳ４６１に進み、単独学習噴射の実施タイミングでない場合（Ｎｏ）は処理を終了する。
【０１０４】
ステップＳ４６１に進んだ場合、制御手段５０は、単独学習噴射（学習用噴射量の噴射）を実施して処理を終了する。制御手段５０は、前回の単独学習噴射を、どのインジェクタで実施したかを記憶しており、単独学習噴射毎に、インジェクタを順番に変更する。例えば制御手段５０は、前回の単独学習噴射をインジェクタ４３Ａ（インジェクタ１）にて実施した場合、今回の単独学習噴射ではインジェクタ４３Ｃ（インジェクタ３）にて実施する。なお、図１１に示す例は、今回の単独学習噴射を、１番気筒（＃１）用のインジェクタ１（インジェクタ４３Ａ）にて実施した場合の例を示している。
【０１０５】
上記のステップＳ４４１〜Ｓ４６１の処理は、噴射量学習タイミング毎に、複数のインジェクタの中から１つのインジェクタを単独学習インジェクタとして特定し、特定した単独学習インジェクタから、当該単独学習インジェクタの噴射タイミングにおいて、学習用噴射量を噴射する単独学習噴射ステップに相当する。そして当該単独学習噴射ステップを実行している制御手段５０は、図２に示す単独学習噴射手段５２Ｂとして動作する。
【０１０６】
●［単独学習噴射の実噴射量の推定と、噴射補正量を算出する処理手順（図１０、図１１）］
図１０は、単独インジェクタ学習制御を行なう際、前述した処理Ｓ２００（図４参照）の代わりに起動及び実行される処理である。以下、図１０のフローチャートの各処理について説明する。制御手段５０は、図１０に示す処理Ｓ５００が起動されると、ステップＳ５１０へと処理を進める。
【０１０７】
ステップＳ５１０にて制御手段５０は、図４に示すステップＳ２１０と同様、今回の処理Ｓ５００が起動された時刻と前回の処理Ｓ５００が起動された時刻との差から、クランクシャフトの１８０°ＣＡの回転に要した時間を算出し、最新の回転数ＮＥを算出してステップＳ５１５に進む。なお処理の詳細についてはステップＳ２１０と同様であるので、説明を省略する。
【０１０８】
ステップＳ５１５にて制御手段５０は、図４に示すステップＳ２１５と同様、今回の処理Ｓ５００にて算出したＮＥと、前回の処理Ｓ５００にて算出したＮＥと、の差である回転数変動量ΔＮＥを算出してステップＳ５２０に進む。なお処理の詳細についてはステップＳ２１５と同様であるので、説明を省略する。
【０１０９】
ステップＳ５２０にて制御手段５０は、単独学習噴射を実施してから１０８０°ＣＡ後のタイミングであるか否かを判定する。単独学習噴射から１０８０°ＣＡ後のタイミングである場合（Ｙｅｓ、図１１の例では「タイミング」が「＃４［ｉ］の位置」）はステップＳ５２５に進み、そうでない場合（Ｎｏ）は処理を終了する。
【０１１０】
ステップＳ５２５に進んだ場合、制御手段５０は、第３ベース変動量ΔＡＶ３、単独学習噴射による単独実変動量δｃを算出してステップＳ５３５に進む。例えば図１１の「タイミング」が「＃４［ｉ］」の場合において、回転数変動量ΔＮＥにおける符号「ａ」、「ｂ」、「ｇ」、「ｈ」のそれぞれの回転数変動量ΔＮＥの平均を第３ベース変動量ΔＡＶ３とする。図１１の例では、第３ベース変動量ΔＡＶ３＝（ΔＮＥ２［ｉ−１］＋ΔＮＥ１［ｉ−１］＋ΔＮＥ３［ｉ］＋ΔＮＥ４［ｉ］）／４とする。
【０１１１】
また、例えば図１１の「タイミング」が「＃４［ｉ］」の場合において、回転数変動量ΔＮＥの符号「ｃ」の位置における第３ベース変動量ΔＡＶ３からの変動量δ５と、回転数変動量ΔＮＥにおける符号「ｄ」の位置における第３ベース変動量ΔＡＶ３からの変動量δ６と、回転数変動量ΔＮＥにおける符号「ｅ」の位置における第３ベース変動量ΔＡＶ３からの変動量δ７と、回転数変動量ΔＮＥにおける符号「ｆ」の位置における第３ベース変動量ΔＡＶ３からの変動量δ８と、の平均を単独実変動量δｃとする。図１１の例では、単独実変動量δｃ＝［（ΔＮＥ３［ｉ−１］−ΔＡＶ３）＋（ΔＮＥ４［ｉ−１］−ΔＡＶ３）＋（ΔＮＥ２［ｉ］−ΔＡＶ３）＋（ΔＮＥ１［ｉ］−ΔＡＶ３）］／４とする。
【０１１２】
このステップＳ５２５の処理は、単独学習噴射によって変動した内燃機関の回転数の実際の変動量である単独実変動量δｃを検出する単独実変動量検出ステップに相当する。そして当該単独実変動量検出ステップを実行している制御手段５０は、図２に示す単独実変動量検出手段５２Ｄとして動作する。
【０１１３】
ステップＳ５３５にて制御手段５０は、単独実噴射量、を算出してステップＳ５４０に進む。例えば図１１の「タイミング」が「＃４［ｉ］」の場合において、制御手段５０は、単独実変動量δｃと、単独学習噴射を実行した際の回転数ＮＥと（図１１の例では回転数ＮＥ１［ｉ−１］）、に基づいて単独学習噴射によるトルクを求め、当該トルクを発生させる噴射量である単独実噴射量を求める。このときの回転数ＮＥは、単独実変動量δｃの検出期間における内燃機関の回転数に相当する。
【０１１４】
このステップＳ５３５の処理は、単独実変動量δｃと、単独実変動量δｃの検出期間における内燃機関の回転数と、に基づいて単独実噴射量を求める、単独インジェクタ毎実噴射量算出ステップに相当する。そして当該単独インジェクタ毎実噴射量算出ステップを実行している制御手段５０は、図２に示す単独インジェクタ毎実噴射量算出手段５２Ｆとして動作する。
【０１１５】
ステップＳ５４０にて制御手段５０は、単独噴射補正量Ｈｃ、を算出してステップＳ５５１に進む。例えば図１１の「タイミング」が「＃４［ｉ］」の場合において、制御手段５０は、学習用噴射量と単独実噴射量との差に基づいて単独噴射補正量Ｈｃを算出する。
【０１１６】
ステップＳ５５１にて制御手段５０は、単独学習インジェクタがインジェクタ１であるか否かを判定し、インジェクタ１である場合（Ｙｅｓ）はステップＳ５６１に進み、インジェクタ１でない場合（Ｎｏ）はステップＳ５５２に進む。
【０１１７】
ステップＳ５６１に進んだ場合、単独学習インジェクタはインジェクタ１であるので、制御手段５０は、インジェクタ１用の累積補正量１に単独噴射補正量Ｈｃを加算して累積補正量１を更新し、インジェクタ１用の学習回数である単独学習回数１をカウントアップして、ステップＳ５７１に進む。
【０１１８】
ステップＳ５７１に進んだ場合、制御手段５０は、単独学習回数１が所定回数以上であるか否かを判定し、所定回数以上である場合はステップＳ５８１に進み、所定回数未満である場合は処理を終了する。
【０１１９】
ステップＳ５８１に進んだ場合、制御手段５０は、累積補正量１に基づいて（例えば平均化して）インジェクタ１用の噴射補正量１を算出し、累積補正量１と単独学習回数１をクリア（初期化）して処理を終了する。
【０１２０】
ステップＳ５５２に進んだ場合、制御手段５０は、単独学習インジェクタがインジェクタ２であるか否かを判定し、インジェクタ２である場合（Ｙｅｓ）はステップＳ５６２に進み、インジェクタ２でない場合（Ｎｏ）はステップＳ５５３に進む。
【０１２１】
ステップＳ５６２に進んだ場合、単独学習インジェクタはインジェクタ２であるので、制御手段５０は、インジェクタ２用の累積補正量２に単独噴射補正量Ｈｃを加算して累積補正量２を更新し、インジェクタ２用の学習回数である単独学習回数２をカウントアップして、ステップＳ５７２に進む。
【０１２２】
ステップＳ５７２に進んだ場合、制御手段５０は、単独学習回数２が所定回数以上であるか否かを判定し、所定回数以上である場合はステップＳ５８２に進み、所定回数未満である場合は処理を終了する。
【０１２３】
ステップＳ５８２に進んだ場合、制御手段５０は、累積補正量２に基づいて（例えば平均化して）インジェクタ２用の噴射補正量２を算出し、累積補正量２と単独学習回数２をクリア（初期化）して処理を終了する。
【０１２４】
ステップＳ５５３に進んだ場合、制御手段５０は、単独学習インジェクタがインジェクタ３であるか否かを判定し、インジェクタ３である場合（Ｙｅｓ）はステップＳ５６３に進み、インジェクタ３でない場合（Ｎｏ）はステップＳ５６４に進む。
【０１２５】
ステップＳ５６３に進んだ場合、単独学習インジェクタはインジェクタ３であるので、制御手段５０は、インジェクタ３用の累積補正量３に単独噴射補正量Ｈｃを加算して累積補正量３を更新し、インジェクタ３用の学習回数である単独学習回数３をカウントアップして、ステップＳ５７３に進む。
【０１２６】
ステップＳ５７３に進んだ場合、制御手段５０は、単独学習回数３が所定回数以上であるか否かを判定し、所定回数以上である場合はステップＳ５８３に進み、所定回数未満である場合は処理を終了する。
【０１２７】
ステップＳ５８３に進んだ場合、制御手段５０は、累積補正量３に基づいて（例えば平均化して）インジェクタ３用の噴射補正量３を算出し、累積補正量３と単独学習回数３をクリア（初期化）して処理を終了する。
【０１２８】
ステップＳ５６４に進んだ場合、単独学習インジェクタはインジェクタ４であるので、制御手段５０は、インジェクタ４用の累積補正量４に単独噴射補正量Ｈｃを加算して累積補正量４を更新し、インジェクタ４用の学習回数である単独学習回数４をカウントアップして、ステップＳ５７４に進む。
【０１２９】
ステップＳ５７４に進んだ場合、制御手段５０は、単独学習回数４が所定回数以上であるか否かを判定し、所定回数以上である場合はステップＳ５８４に進み、所定回数未満である場合は処理を終了する。
【０１３０】
ステップＳ５８４に進んだ場合、制御手段５０は、累積補正量４に基づいて（例えば平均化して）インジェクタ４用の噴射補正量４を算出し、累積補正量４と単独学習回数４をクリア（初期化）して処理を終了する。
【０１３１】
以上に説明したステップＳ５４０以降の処理は、インジェクタ毎に複数回求めた単独実噴射量と、学習用噴射量と、の差に基づいてインジェクタ毎の噴射補正量を求める単独インジェクタ毎補正量算出ステップに相当する。また当該単独インジェクタ毎補正量算出ステップを実行している制御手段５０は、図２に示す単独インジェクタ毎補正量算出手段５２Ｇとして動作する。
【０１３２】
以上に説明した図９及び図１０の処理手順に示す単独インジェクタ学習よって、図１１に示すように、１回の噴射量学習（単独インジェクタ学習）にて、１つのインジェクタの噴射量学習が実施される。図１１に示す単独インジェクタ学習では、変動量δ５〜δ８の４個の情報を用いて学習している。従って、単独インジェクタ学習は、図５に示す変動量δ１、δ２の２個の情報を用いて先行インジェクタの噴射量を学習するとともに変動量δ３、δ４の２個の情報を用いて後続インジェクタの噴射量を学習するグループインジェクタ学習とは頻度と、精度が異なる。つまり、単独インジェクタ学習では、１回の噴射量学習にて、１つのインジェクタのみ噴射量学習を行うため、上述したグループインジェクタ学習と比較して、更新頻度は１／２である（図６参照）が、より多くの情報に基づいて算出される噴射補正量の精度は、より高いといえる。なお図２に示すように、単独インジェクタ学習手段は、上述した学習条件判定手段５２Ａ〜単独インジェクタ毎補正量算出手段５２Ｇを有している。
【０１３３】
以上、本実施の形態にて説明したグループインジェクタ学習を用いた内燃機関の燃料噴射制御装置、及び内燃機関の燃料噴射量学習方法は、インジェクタ毎の噴射補正量を求める頻度をより高くすることができる。また、なじみ期間に応じてグループインジェクタ学習と単独インジェクタ学習とを切り替えることで、バランスよく噴射補正量の更新頻度と精度を確保することができる。
【０１３４】
本発明の、内燃機関の燃料噴射制御装置、及び内燃機関の燃料噴射量学習方法は、本実施の形態で説明した構成、構造、動作、処理手順等に限定されず、本発明の要旨を変更しない範囲で種々の変更、追加、削除が可能である。
【０１３５】
本実施の形態にて説明したフローチャート（図３、図４、図７、図９、図１０）は、これらに限定されるものではなく、種々の変更、追加、削除が可能である。また動作の例を示すタイムチャート（図５、図１１）も、この動作に限定されるものではない。
【０１３６】
また本実施の形態の説明では、４気筒の内燃機関を例として説明したが、６気筒や８気筒等、種々の数の気筒を有する内燃機関に適用することができる。例えば６気筒の場合では、クランクが２回転（７２０°ＣＡ）する間に、第１気筒−第２気筒−第３気筒−第４気筒−第５気筒−第６気筒、の順に爆発行程が発生すると仮定すると、先行インジェクタの爆発行程と後続インジェクタの爆発行程が、連続した爆発行程とならないように、第１気筒用インジェクタと第４気筒用インジェクタにてグループＡを構成し、第２気筒用インジェクタと第５気筒用インジェクタにてグループＢを構成し、第３気筒用インジェクタと第６気筒用インジェクタにてグループＣを構成すればよい。
【０１３７】
また、以上（≧）、以下（≦）、より大きい（＞）、未満（＜）等は、等号を含んでも含まなくてもよい。また、本実施の形態の説明に用いた数値は一例であり、この数値に限定されるものではない。
【符号の説明】
【０１３８】
１０      エンジン（内燃機関）
１１      吸気管
１２      排気管
１３      クランクシャフト（内燃機関の回転軸）
１５      変速機
２１      燃料圧力検出手段
２２      冷却水温検出手段
２３      大気圧検出手段
２４      吸気温検出手段
２５      燃料温度検出手段
２６      回転検出手段
２７      特定気筒検出手段
２８      アクセル踏込量検出手段
２９      クラッチ検出手段
４１      コモンレール
４３Ａ    インジェクタ（インジェクタ１）
４３Ｂ    インジェクタ（インジェクタ２）
４３Ｃ    インジェクタ（インジェクタ３）
４３Ｄ    インジェクタ（インジェクタ４）
４５Ａ〜４５Ｄ    気筒
５０      制御手段（燃料噴射制御装置）
５１Ａ、５２Ａ    学習条件判定手段
５１Ｂ    先行学習噴射手段
５１Ｃ    後続学習噴射手段
５１Ｄ    先行実変動量検出手段
５１Ｅ    後続実変動量検出手段
５１Ｆ    グループインジェクタ毎実噴射量算出手段
５１Ｇ    グループインジェクタ毎補正量算出手段
５２Ｂ    単独学習噴射手段
５２Ｄ    単独実変動量検出手段
５２Ｆ    単独インジェクタ毎実噴射量算出手段
５２Ｇ    単独インジェクタ毎補正量算出手段
５３Ａ    累積被熱関連量算出手段
５３Ｂ    なじみ期間中学習手段
５３Ｃ    なじみ期間経過後学習手段
【図１】
0006392722.tif 000002
【図２】
0006392722.tif 000003
【図３】
0006392722.tif 000004
【図４】
0006392722.tif 000005
【図５】
0006392722.tif 000006
【図６】
0006392722.tif 000007
【図７】
0006392722.tif 000008
【図８】
0006392722.tif 000009
【図９】
0006392722.tif 000010
【図１０】
0006392722.tif 000011
【図１１】
0006392722.tif 000012