(57)【特許請求の範囲】
【請求項１】
圧縮着火式の内燃機関の気筒内にメイン噴射と前記メイン噴射に先行するパイロット噴射とを１燃焼サイクル中に実施する燃料噴射弁の燃料噴射を制御する燃料噴射制御装置において、
前記メイン噴射により噴射された燃料の着火時期を検出する着火時期検出手段と、
前記内燃機関の運転状態を検出する運転状態検出手段と、
前記運転状態が所定の定常状態であるかを判定する定常状態判定手段と、
前記内燃機関が前記定常状態であるときに前記パイロット噴射のパイロット噴射量の中心値を増減しながら前記中心値を基準として前記パイロット噴射量を増減する噴射量増減手段と、
前記パイロット噴射量の増減による前記着火時期の変化量を検出する着火変化量検出手段と、
前記中心値における前記着火時期に対し、前記噴射量増減手段が前記中心値を基準として前記パイロット噴射量を増加したときの前記着火時期の進み量、ならびに前記噴射量増減手段が前記中心値を基準として前記パイロット噴射量を減少したときの前記着火時期の遅れ量がそれぞれ所定の変化量の範囲内であれば、前記中心値を前記パイロット噴射量の学習値とする噴射量学習手段と、
を備えることを特徴とする燃料噴射制御装置。
【請求項２】
前記着火時期検出手段が検出した前記メイン噴射の実着火時期と前記メイン噴射の目標着火時期との差に基づき前記メイン噴射の噴射時期をフィードバック制御する噴射時期フィードバック手段を備えることを特徴とする請求項１に記載の燃料噴射制御装置。
【請求項３】
圧縮着火式の内燃機関の気筒内にメイン噴射と前記メイン噴射に先行するパイロット噴射とを１燃焼サイクル中に実施する燃料噴射弁の燃料噴射を制御する燃料噴射制御装置において、
前記メイン噴射により噴射された燃料の着火時期を検出する着火時期検出手段と、
前記内燃機関の運転状態を検出する運転状態検出手段と、
前記運転状態が所定の定常状態であるかを判定する定常状態判定手段と、
前記内燃機関が前記定常状態であるときに前記パイロット噴射のパイロット噴射量を増減する噴射量増減手段と、
前記パイロット噴射量の増減による前記着火時期の変化量を検出する着火変化量検出手段と、
前記パイロット噴射量の増減による前記着火時期の前記変化量に基づいて前記パイロット噴射量を学習する噴射量学習手段と、
前記着火時期検出手段が検出した前記メイン噴射の実着火時期と前記メイン噴射の目標着火時期との差に基づき前記メイン噴射の噴射時期をフィードバック制御し、前記パイロット噴射量の学習中において前記フィードバック制御を停止する噴射時期フィードバック手段と、
を備えることを特徴とする燃料噴射制御装置。
【請求項４】
前記噴射量増減手段は、前記パイロット噴射量の中心値を増減しながら前記中心値を基準として前記パイロット噴射量を増減し、
前記噴射量学習手段は、前記中心値における前記着火時期に対し、前記噴射量増減手段が前記中心値を基準として前記パイロット噴射量を増加したときの前記着火時期の進み量、ならびに前記噴射量増減手段が前記中心値を基準として前記パイロット噴射量を減少したときの前記着火時期の遅れ量がそれぞれ所定の変化量の範囲内であれば、前記中心値を前記パイロット噴射量の学習値とすることを特徴とする請求項３に記載の燃料噴射制御装置。
【請求項５】
前記運転状態を複数の所定範囲に規定する規定手段を備え、
前記噴射量増減手段は前記所定範囲毎に前記パイロット噴射量を増減し、
前記着火変化量検出手段は前記所定範囲毎に前記パイロット噴射量の増減による前記着火時期の前記変化量を検出し、
前記噴射量学習手段は前記パイロット噴射量の増減による前記着火時期の前記変化量に基づいて前記所定範囲毎に前記パイロット噴射量を学習する、
ことを特徴とする請求項１から４のいずれか一項に記載の燃料噴射制御装置。
【請求項６】
燃料を加圧し圧送する燃料供給ポンプと、
前記燃料供給ポンプが圧送する燃料を蓄圧するコモンレールと、
前記コモンレールが蓄圧している燃料を内燃機関の気筒に噴射する燃料噴射弁と、
請求項１から５のいずれか一項に記載の燃料噴射制御装置と、
を備えることを特徴とする燃料噴射システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１燃焼サイクル中にメイン噴射とメイン噴射に先行してパイロット噴射を実施する燃料噴射弁の燃料噴射を制御する燃料噴射制御装置およびそれを用いた燃料噴射システムに関する。
【背景技術】
【０００２】
従来、メイン噴射とメイン噴射に先行するパイロット噴射とを１燃焼サイクル中に実施する燃料噴射弁において、メイン噴射の着火時期を検出し、検出した着火時期に基づいてパイロット噴射量を制御する燃料噴射制御装置が知られている（例えば、特許文献１参照。）。
【０００３】
特許文献１ではパイロット噴射が指令されているにも関わらずパイロット噴射が実施された場合よりもメイン噴射の着火時期が遅れている場合、燃料噴射弁のばらつき等によりパイロット噴射が実施されていないと判断し、パイロット噴射量を増量するように指令する。
【０００４】
パイロット噴射は、メイン噴射に先行してなされるものであり、パイロット噴射を実施することによりメイン噴射による燃料の着火時期を早め、メイン噴射の急激な燃焼を抑制する。これにより、ＮＯｘおよび燃焼騒音を低減することができる。
【０００５】
ここで、可能であれば、メイン噴射の着火時期に基づいてパイロット噴射量を制御するのではなく、パイロット噴射の燃焼部分の波形を直接解析してパイロット噴射量を制御することが考えられる。
【０００６】
しかしながら、パイロット噴射量は微少量であるため、パイロット噴射による燃焼部分を示すセンサ信号の変化量は小さい。その結果、パイロット噴射による燃焼部分のセンサ信号がノイズに埋もれるので、パイロット噴射の燃焼状態を誤検出するおそれがある。そのため、特許文献１のように、センサ信号の変化量が大きいメイン噴射の燃焼を解析し、メイン噴射の着火時期に基づいてパイロット噴射量の増量を指令する方式が採用されている。
【特許文献１】特開平１１−８２１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、メイン噴射による着火時期は、燃料噴射弁の機差、経時変化による噴射特性の変化に加え、燃料セタン価等の燃料性状によっても変化する。例えば、燃料セタン価が異なると、同じパイロット噴射量であっても単位時間における燃焼量等の燃焼状態が異なる。その結果、同じパイロット噴射量で比較した場合、燃料セタン価が低下するとメイン噴射の着火時期は遅れ、燃料セタン価が上昇するとメイン噴射の着火時期は進む。したがって、特許文献１のようにメイン噴射の着火時期の遅れを検出してパイロット噴射量を増量すると、メイン噴射の着火時期を進めることはできるが、適正なパイロット噴射量を設定することはできない。
【０００８】
パイロット噴射量が適正値ではなく多すぎるとパイロット噴射による燃焼音が大きくなるとともに、スモークが発生する。また、パイロット噴射量が少なすぎるとメイン噴射の着火時期が遅れるので、エミッションが悪化するとともに急激なメイン噴射による燃焼のために燃焼音が大きくなる。
【０００９】
この問題は、着火時期に代えて、例えばメイン噴射の噴射開始の指令時期に対する着火時期の着火遅れ時間に着目した場合も同様に発生する。着火時期が変化すると着火遅れ時間も変化するので、パイロット噴射が実施された場合よりも着火遅れ時間が長い場合にパイロット噴射量を増量すると、着火遅れ時間を減少し短くすることはできるが、適正なパイロット噴射量を設定することはできない。
【００１０】
本発明は、上記問題を解決するためになされたものであり、メイン噴射の着火時期の変化量に基づいて適正なパイロット噴射量を学習する燃料噴射制御装置およびそれを用いた燃料噴射システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明者は、燃料噴射弁の機差、経時変化または燃料セタン価等によってメイン噴射の着火時期または着火遅れ時間は変化するものの、パイロット噴射量が増加するにしたがいパイロット噴射量を増減したときの着火時期または着火遅れ時間の変化量は小さくなり、パイロット噴射量が減少するにしたがいパイロット噴射量を増減したときの着火時期または着火遅れ時間の変化量は大きくなることを見いだした。
【００１２】
そして本発明者は、燃料噴射弁の機差、経時変化または燃料性状に関わらず、パイロット噴射量が多すぎず、かつ少なすぎず、パイロット噴射量を増減したときの着火時期または着火遅れ時間の変化量が所定の範囲内になる境界のパイロット噴射量が最適なパイロット噴射量であることを見いだした。
【００１３】
そこで請求項１から６に記載の発明では、内燃機関が定常状態であるときにパイロット噴射量を増減したときに、メイン噴射により噴射された燃料の着火時期の変化量に基づいてパイロット噴射量を学習する。
【００１４】
これにより、パイロット噴射量が多すぎず、かつ少なすぎず、パイロット噴射量を増減したときの着火時期が所定の変化量の範囲内になる最適なパイロット噴射量を学習することができる。
【００１５】
ここで、着火時期の変化量とは、パイロット噴射量の増減によるメイン噴射の着火時期の進み量および遅れ量だけではなく、パイロット噴射量の増減によるメイン噴射の着火遅れ時間の減少量および増加量も表している。着火時期が進むと着火遅れ時間が減少し、着火時期が遅れると着火遅れ時間が増加するので、着火時期の進み量および遅れ量と、着火遅れ時間の減少量および増加量とは実質的に同じ内容を表している。
【００１６】
さらに請求項１および４に記載の発明では、パイロット噴射量の中心値を増減しながら中心値を基準としてパイロット噴射量を増減し、中心値における着火時期（着火遅れ時間）に対し、中心値を基準としてパイロット噴射量を増加したときの着火時期の進み量（着火遅れ時間の減少量）、ならびに中心値を基準としてパイロット噴射量を減少したときの着火時期の遅れ量（着火遅れ時間の増加量）がそれぞれ所定の変化量の範囲内であれば、そのときの中心値をパイロット噴射量の学習値とする。
【００１７】
このように、パイロット噴射量の中心値を増減し、増減したパイロット噴射量の中心値を基準としてパイロット噴射量を増減することにより、着火時期の進み量および遅れ量（着火遅れ時間の減少量および増加量）が所定の変化量の範囲内になる最適なパイロット噴射量を高精度に学習できる。
【００１８】
また請求項２および３に記載の発明では、着火時期検出手段が検出したメイン噴射の実着火時期とメイン噴射の目標着火時期との差に基づきメイン噴射の噴射時期をフィードバック制御する。
これにより、学習したパイロット噴射量でパイロット噴射を実施し、メイン噴射の噴射時期を適切にフィードバック制御できる。
【００１９】
さらに請求項３に記載の発明では、噴射時期フィードバック手段は、パイロット噴射量の学習中においてフィードバック制御を停止する。
これにより、噴射時期フィードバック手段による噴射時期のフィードバック制御の影響を排除し、噴射量学習手段は最適なパイロット噴射量を学習できる。
【００２０】
請求項５に記載の発明では、内燃機関の運転状態を複数の所定範囲に規定し、規定した所定範囲毎にパイロット噴射量を学習する。これにより、運転状態の所定範囲毎に、最適なパイロット噴射量を学習できる。
【００２１】
尚、本発明に備わる複数の手段の各機能は、構成自体で機能が特定されるハードウェア資源、プログラムにより機能が特定されるハードウェア資源、またはそれらの組み合わせにより実現される。また、これら複数の手段の各機能は、各々が物理的に互いに独立したハードウェア資源で実現されるものに限定されない。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図に基づいて説明する。
本発明の一実施形態による燃料噴射システムを図１に示す。
（燃料噴射システム２０）
本実施形態の蓄圧式の燃料噴射システム２０は、高圧ポンプ３２、コモンレール３４、燃料噴射弁４０、筒内圧センサ（Combustion Pressure Sensor:ＣＰＳ）４２、電子制御装置（Electronic Control Unit;ＥＣＵ）５０等から構成されている。
【００２３】
燃料噴射システム２０が燃料を供給するディーゼルエンジン１０は４気筒の内燃機関である。コンプレッサ２で圧縮された吸気は、インタークーラ４を通り、吸気絞り弁６で流量を調整され、ディーゼルエンジン１０の各気筒に吸入される。吸気絞り弁６は、軽負荷領域ではＥＧＲをより多く入れるために絞られるが、高負荷領域では吸気量増大やポンピングロスの低減等のために、ほぼ全開状態に保持される。ディーゼルエンジン１０に吸入される吸気の圧力は、吸気圧センサ８で検出される。
【００２４】
ＥＧＲ(Exhaust Gas Recirculation)弁１２は、ＥＧＲクーラ１４で冷却されたディーゼルエンジン１０の排気を吸気側に環流する流量を調整する。
高圧ポンプ３２は、カムシャフトのカムの回転にともないプランジャが往復移動することにより、燃料タンク３０から加圧室に吸入した燃料を加圧する公知のポンプである。ＥＣＵ５０が高圧ポンプ３２の図示しない調量弁に供給する電流値を制御することにより、高圧ポンプ３２が吸入行程で吸入する燃料吸入量が調量される。そして、燃料吸入量が調量されることにより、高圧ポンプ３２の燃料吐出量が調量される。
【００２５】
コモンレール３４は、高圧ポンプ３２が圧送する燃料を蓄圧しエンジン運転状態に応じた所定の高圧に燃料圧力を保持する。コモンレール３４の圧力（以下、「コモンレール圧」とも記載する。）は、高圧ポンプ３２の吐出量およびコモンレール３４に設置された図示しない減圧弁により制御される。
【００２６】
燃料噴射弁４０は、ディーゼルエンジン１０の各気筒に設置され、コモンレール３４が蓄圧している燃料を気筒内に噴射する。燃料噴射弁４０は、ディーゼルエンジン１０の１回の燃焼行程においてパイロット噴射、メイン噴射およびポスト噴射等を含む多段噴射を行う。燃料噴射弁４０は、ノズルニードルに閉弁方向に燃料圧力を加える制御室の圧力を制御することにより燃料噴射量を制御する公知の電磁駆動式の弁である。
【００２７】
ＣＰＳ４２は、ディーゼルエンジン１０の気筒内の圧力を検出する圧力センサである。ＣＰＳ４２は、図１の実線および点線のＣＰＳ４２に示されるように４気筒のすべてに設置されてもよいし、実線のＣＰＳ４２が示すように１気筒だけに設置されてもよい。ＮＥセンサ４４は、ディーゼルエンジン１０の回転数を検出する。
【００２８】
燃料噴射制御装置としてのＥＣＵ５０は、ディーゼルエンジン１０を最適な運転状態に制御するために、吸気圧センサ８、ＣＰＳ４２、ＮＥセンサ４４等の各種センサから取得したエンジン運転状態に基づいて高圧ポンプ３２、コモンレール３４の調量弁および燃料噴射弁４０への通電を制御する。
【００２９】
ＥＣＵ５０は、各種センサから得たエンジン運転状態に基づいて燃料噴射弁４０の噴射時期および噴射量を制御する。ＥＣＵ５０は、燃料噴射弁４０の噴射時期および噴射量を制御する噴射指令信号として噴射パルス信号を出力する。噴射パルス信号のパルス幅が長くなると、燃料噴射弁４０の制御室が低圧側に開放される時間が長くなるので、噴射量が増加する。ＥＣＵ５０は、噴射パルス信号のパルス幅と噴射量との関係を表す噴射量特性を、噴射圧であるコモンレール圧毎にマップとしてＲＯＭまたはフラッシュメモリ等の記憶装置に記憶している。
【００３０】
（メイン着火時期）
図２に示すように、メイン噴射とメイン噴射に先行してパイロット噴射を実施するときのメイン噴射の着火時期について説明する。
【００３１】
図２の上段に示すように、ＥＣＵ５０は、パイロット噴射およびメイン噴射に対して噴射時期および噴射量を指令する噴射パルス信号２００を出力する。図２の中段のノズルリフト２０２が示すように、燃料噴射弁４０の開弁時期および閉弁時期は噴射パルス信号に対して遅れる。ＥＣＵ５０は、燃料噴射弁４０の開弁遅れ時間および閉弁遅れ時間を記憶装置に記憶しており、これらデータを考慮して噴射パルス信号の立ち上がり時期およびパルス幅を調整する。
【００３２】
ＥＣＵ５０は、燃料噴射弁４０の開弁遅れ時間を考慮し、エンジン運転状態からメイン噴射の噴射指令時期および目標着火時期を算出して噴射パルス信号を出力する。そして、実際の実着火時期と目標着火時期との差に基づき、噴射指令時期をフィードバック制御する。
【００３３】
ここで、メイン噴射の実着火時期を次式（１）から熱発生率を算出することにより検出する。
熱発生率＝（Ｖ・ｄＰ＋κ・Ｐ・ｄＶ）／（κ−１）      ・・・（１）
式（１）において、Ｖは気筒内容積を、ＰはＣＰＳ４２が検出した筒内圧を、κは比熱比をそれぞれ示している。そして、メイン噴射による燃料の着火により熱発生率が上昇し予め設定してある閾値を超える時期をメイン噴射の着火時期とする。図２では、熱発生率の２０を閾値としている。
【００３４】
メイン噴射に対する噴射指令時期である噴射パルス信号の立ち上がり時期から実着火時期までの着火遅れ時間は、燃料噴射弁４０の機差、経時変化、ＥＧＲ弁１２の経時変化または燃料セタン価等によって変化する。そして、メイン噴射の着火時期は、パイロット噴射量Ｑｐによって図３に示すように変化する。図３の実線３１０は燃料セタン価が高いときの特性を示し、点線３２０は燃料セタン価が低いときの特性を示している。
【００３５】
そして、燃料セタン価の高低に関わらず、パイロット噴射量が減少すると着火時期が遅れ（「着火遅れ時間が増加する」ともいう。）、パイロット噴射量が増加すると着火時期が進む（「着火遅れ時間が減少する」ともいう。）。パイロット噴射量がある程度以上増加すると、パイロット噴射量の増減に対して着火時期の変化量は小さくなる。また、燃料セタン価が高くなると、同じパイロット噴射量に対して着火時期が進むことが分かる。
【００３６】
パイロット噴射量が減少することにより着火時期が遅れ、着火遅れ時間が増加すると、エミッションの悪化およびメイン噴射による燃焼騒音の増加が発生する。一方、パイロット噴射量が増加することにより着火時期が進み、着火遅れ時間が減少すると、スモークおよびパイロット噴射による燃焼騒音の増加が発生する。
【００３７】
ここで、本発明者は、パイロット噴射量を増減したときに、着火時期の変化量、つまり着火時期の進み量および遅れ量がともに所定の変化量の範囲内になる境界点において、パイロット噴射量が最適になることを見いだした。図３では、黒点３１２、３２２がこの境界点を示している。燃料セタン価により、最適となるパイロット噴射量、つまり黒点３１２、３２２の位置は異なっている。
【００３８】
（ＥＣＵ５０の各手段）
次に、最適なパイロット噴射量を学習するためにＥＣＵ５０に設けた各手段を説明する。ＥＣＵ５０は、ＲＯＭまたはフラッシュメモリ等の記憶装置に記憶されている制御プログラムにより以下の各手段として機能する。
【００３９】
（１）着火時期検出手段
ＥＣＵ５０は、ＣＰＳ４２の検出信号に基づいて前述した式（１）から熱発生率を算出する。そして、ＥＣＵ５０は、メイン噴射による燃料が着火し、熱発生率が上昇して所定の閾値を超える時期をメイン噴射の着火時期として検出する。
【００４０】
（２）運転状態検出手段
ＥＣＵ５０は、パイロット噴射量を学習するときの学習条件を検出するために、各種センサからエンジン運転状態を検出する。
【００４１】
（３）定常状態判定手段
ＥＣＵ５０は、エンジン運転状態がパイロット噴射量の学習条件として設定した定常状態にあるかを判定する。学習条件としては、アイドル運転時のような特定の運転域か、例えばエンジン回転数とトルクとの関係を示すエンジン運転状態の全域を複数に区切った所定範囲のいずれかでもよい。特定の運転域で学習する場合は、検出した着火時期を変換して他の運転状態に適用すればよい。
【００４２】
（４）噴射量増減手段
ＥＣＵ５０は、燃料噴射弁４０に対して噴射パルス信号のパルス幅を調整してパイロット噴射量の増減を指令する。
【００４３】
（５）着火変化量検出手段
ＥＣＵ５０は、パイロット噴射量の中心値Ｑｐにおける着火時期に対し、中心値Ｑｐから所定量ΔＱ増減したときの着火時期の進み量および遅れ量、あるいは中心値Ｑｐにおける着火遅れ時間に対し、中心値Ｑｐから所定量ΔＱ増減したときの着火遅れ時間の減少量および増加量を検出する。
【００４４】
（６）噴射量学習手段
ＥＣＵ５０は、パイロット噴射量の中心値Ｑｐを増減しながら中心値Ｑｐを基準としてパイロット噴射量を増減し、着火時期の進み量および遅れ量、または着火遅れ時間の減少量および増加量が所定の変化量の範囲内になるパイロット噴射量の最適値を学習する。
【００４５】
（７）規定手段
ＥＣＵ５０は、メイン噴射の着火時期をエンジン運転状態の複数の所定範囲毎に検出し、検出した着火時期の変化量に基づいてパイロット噴射量を学習する場合、エンジン運転状態を区切る所定範囲を規定する。ＥＣＵ５０は、各所定範囲において学習したパイロット噴射量を所定範囲のエンジン運転状態に適用する。つまり、エンジン運転状態を区切る所定範囲は、パイロット噴射量を学習する場合にＥＣＵ５０として同じエンジン運転状態とみなせる範囲である。
【００４６】
（８）噴射時期フィードバック手段
ＥＣＵ５０は、噴射量学習手段で最適なパイロット噴射量の学習が終了すると、エンジン運転状態から基準となるベース噴射時期を設定し、ベース噴射時期から目標着火時期を設定する。そして、着火時期検出手段で検出した実着火時期を目標着火時期に近づけるように、実着火時期と目標着火時期との差に基づいて噴射時期のフィードバック量を算出する。
【００４７】
（パイロット噴射量学習）
次に、燃料噴射システム２０におけるパイロット噴射量の学習について、図４から図１１に基づいて説明する。各図に示すルーチンは、ＥＣＵ５０のＲＯＭまたはフラッシュメモリ等の記憶装置に記憶されており、常時実行される。また、各図において「Ｓ」はステップを表している。
【００４８】
（フィードバックルーチン）
まず、図４に示す燃料噴射弁４０の噴射時期のフィードバックルーチンについて説明する。フィードバックルーチンで噴射されるパイロット噴射量は、後述するパイロット噴射量学習ルーチンで学習した最適な値である。
【００４９】
Ｓ４００においてＥＣＵ５０は、パイロット噴射量の学習中ではないかを判定する。この判定は、後述する学習中フラグのオンまたはオフで判定する。
パイロット噴射量の学習中であれば（Ｓ４００：Ｎｏ）、Ｓ４０２においてＥＣＵ５０は、噴射時期のフィードバック制御を行わず、前回のフィードバック制御で算出した噴射時期を保持してそのまま使用する。
【００５０】
パイロット噴射量の学習中ではない場合（Ｓ４００：Ｙｅｓ）、Ｓ４０４においてＥＣＵ５０は、エンジン運転状態からベース噴射時期を設定し、Ｓ４０６において目標着火時期を設定する。
【００５１】
Ｓ４０８においてＥＣＵ５０は、検出されているメイン噴射の実着火時期を記憶装置から読み出し、Ｓ４１０において実着火時期を目標着火時期に一致させるように、実着火時期と目標着火時期との差から噴射時期のフィードバック量を算出する。
【００５２】
Ｓ４１２においてＥＣＵ５０は、Ｓ４１０において算出したフィードバック量でベース噴射時期を補正し、本ルーチンを終了する。ＥＣＵ５０は、本ルーチンで算出した噴射時期または前回の噴射時期で燃料噴射弁４０に指令する。噴射時期をフィードバック制御する場合、ＥＣＵ５０は、パイロット噴射とメイン噴射とのインターバル時間は変更せず、パイロット噴射およびメイン噴射の噴射時期をともに変更する。
【００５３】
（着火時期検出ルーチン）
図５、６、７に着火時期検出ルーチンを示す。
図５のＳ４２０においてＥＣＵ５０は、ＣＰＳ４２の検出信号をサンプリングする気筒と、サンプリング区間を設定する。サンプリング区間は、例えば所定のクランク角度の範囲で設定される。ＣＰＳ４２を１気筒だけに設置している場合は、サンプリング区間だけを設定する。
【００５４】
Ｓ４２２においてＥＣＵ５０は、サンプリング気筒のクランク角度がサンプリング区間に達したかを判定する。サンプリング区間に達していない場合（Ｓ４２２：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。
【００５５】
サンプリング区間に達している場合（Ｓ４２２：Ｙｅｓ）、Ｓ４２４においてＥＣＵ５０は、ＣＰＳ４２の検出信号をクランク角度またはクロック時間に同期してＡＤ変換し、ＲＡＭまたはフラッシュメモリに記憶し保存する。
【００５６】
Ｓ４２６においてＥＣＵ５０は、サンプリング区間が終了したかを判定する。ＥＣＵ５０は、サンプリング区間が終了していない場合（Ｓ４２６：Ｎｏ）、Ｓ４２４に処理を戻し、サンプリング区間が終了した場合（Ｓ４２６：Ｙｅｓ）、本ルーチンを終了する。
【００５７】
図６のＳ４３０においてＥＣＵ５０は、図５のＳ４２４においてＡＤ変換され保存されたＣＰＳ４２の検出信号を、サンプリング箇所の中間値を平均により算出するなどしてスムージングする。
【００５８】
Ｓ４３２においてＥＣＵ５０は、スムージングしたＣＰＳ４２の検出信号（筒内圧）の値を前述した式（１）に代入し、熱発生率を算出する。そして、Ｓ４３４においてＥＣＵ５０は、式（１）からサンプリング区間内のクランク角度毎に算出した熱発生率を記憶装置に記憶して保存し、本ルーチンを終了する。
【００５９】
図７のＳ４４０においてＥＣＵ５０は、メイン噴射の着火時期を検出するときの熱発生率の閾値と、着火時期の検出区間とを設定する。
Ｓ４４２においてＥＣＵ５０は、図６のＳ４３４で保存した熱発生率データを読み出す。そして、Ｓ４４４においてＥＣＵ５０は、メイン噴射による燃料が着火して図２に示す熱発生率が上昇し、熱発生率の閾値（図２では熱発生率の２０）を通過する時のクランク角度位置をメイン噴射の着火時期として記憶する。
【００６０】
Ｓ４４６においてＥＣＵ５０は、燃料噴射弁４０に指令した噴射パルス信号の立ち上がり時期とメイン噴射の着火時期との差を着火遅れ時間として算出し（図２参照）、記憶する。
【００６１】
（学習要請設定ルーチン）
図８に、パイロット噴射量の学習要請ルーチンを示す。図８に示すパイロット学習要請フラグは、セットされていればパイロット噴射量の学習が必要であることを示し、リセットされていればパイロット噴射量の学習を禁止することを示す。
【００６２】
Ｓ４５０においてＥＣＵ５０は、前回のパイロット学習が終了してから所定距離以上走行したかを判定する。パイロット噴射量は出荷時に一度学習されている。
前回のパイロット学習が終了してから所定距離走行している場合（Ｓ４５０：Ｙｅｓ）、Ｓ４５２においてＥＣＵ５０は、パイロット学習要請フラグをセットし、本ルーチンを終了する。前回のパイロット学習が終了してから所定距離以上走行している場合、燃料噴射弁４０等の経時変化によりメイン噴射の着火時期が変化している可能性があるので、ＥＣＵ５０はパイロット学習の実施を要請する。
【００６３】
前回のパイロット学習が終了してから所定距離以上走行していない場合（Ｓ４５０：Ｎｏ）、Ｓ４５４においてＥＣＵ５０は、図７のＳ４４６において算出した現在のメイン噴射の着火遅れ時間が、前回の学習完了時の値よりも所定値以上変化したかを判定する。
【００６４】
メイン噴射の着火遅れ時間が所定値以上変化している場合（Ｓ４５４：Ｙｅｓ）、前回のパイロット学習が終了してから所定距離以上走行していなくても、燃料セタン価等の燃料性状が変化した可能性があるので、Ｓ４５２においてＥＣＵ５０は、パイロット学習要請フラグをセットし、本ルーチンを終了する。
【００６５】
メイン噴射の着火遅れ時間が所定値以上変化していない場合（Ｓ４５４：Ｎｏ）、Ｓ４５６においてＥＣＵ５０は、パイロット学習要請フラグをリセットし、本ルーチンを終了する。
【００６６】
（学習条件判定ルーチン）
図９に、パイロット噴射量の学習条件が成立しているかを判定する学習条件判定ルーチンを示す。
【００６７】
Ｓ４６０においてＥＣＵ５０は、パイロット学習要請フラグがセットされているかを判定する。パイロット学習要請フラグがセットされていない場合（Ｓ４６０：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。
【００６８】
パイロット学習要請フラグがセットされている場合（Ｓ４６０：Ｙｅｓ）、Ｓ４６２においてＥＣＵ５０は、エンジン運転状態が予め設定した所定の運転状態であるかを判定する。
【００６９】
エンジン運転状態が所定の運転状態である場合（Ｓ４６２：Ｙｅｓ）、Ｓ４６４においてＥＣＵ５０は、エンジン運転状態が設定した運転状態から外れておらず、ほぼ定常状態であるかを判定する。
【００７０】
エンジン運転状態が設定した運転状態から外れておらず、ほぼ定常状態である場合（Ｓ４６４：Ｙｅｓ）、Ｓ４６６においてＥＣＵ５０は、ＣＰＳ４２が正常であるかを判定する。例えば、ＣＰＳ４２の出力信号がロー側またはハイ側に固定され変化しない場合には、ＥＣＵ５０はＣＰＳ４２の異常であると判定する。
【００７１】
ＣＰＳ４２が正常であれば、ＥＣＵ５０はパイロット噴射量の学習条件が成立していると判断し、Ｓ４６８において学習中フラグをセットし、本ルーチンを終了する。
Ｓ４６２、Ｓ４６４またはＳ４６６において判定結果がＮｏであれば、Ｓ４７０においてＥＣＵ５０は、学習中フラグをリセットする。
【００７２】
そしてＳ４７２においてＥＣＵ５０は、パイロット噴射量の学習が終了しているかを判定する。学習が終了している場合（Ｓ４７２：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。学習が終了していない場合（Ｓ４７２：Ｙｅｓ）、ＥＣＵ５０はＳ４７４に処理を移行する。
【００７３】
Ｓ４７２の判定は、後述するルーチンで設定される学習値取得完了フラグのオンまたはオフで判定する。Ｓ４６２、Ｓ４６４、Ｓ４６６において学習条件が成立しなくなっても、学習値取得完了フラグがオンであれば、所定のパイロット噴射量Ｑｐにおいて、中心値のＱｐにおける着火時期と、Ｑｐを中心値として所定の変化量ΔＱを増加および減少させたときの中心値Ｑｐからの着火時期の変化量の学習は終了していることを示す。
【００７４】
Ｓ４７４においてＥＣＵ５０は、パイロット噴射Ｑｐと、Ｑｐを中心値として所定の変化量ΔＱを増加および減少させた（Ｑｐ±ΔＱ）とにおけるデータ取得済フラグをリセットし、本ルーチンを終了する。
【００７５】
（着火遅れ時間検出ルーチン）
図１０に、着火遅れ時間検出ルーチンを示す。
Ｓ４８０においてＥＣＵ５０は、パイロット学習が未完了かを判定する。この判定は、パイロット学習要請フラグと学習値取得完了フラグとがセットされているか否かで判定される。ＥＣＵ５０は、パイロット学習要請フラグおよび学習値取得完了フラグがともにセットされていれば、パイロット噴射量の学習が要請されているとともに、パイロット噴射量の中心値Ｑｐにおける着火遅れ時間のデータと、中心値Ｑｐから所定のΔＱ増減したときの着火遅れ時間のデータとを取得済みであり、パイロット学習が完了していると判定する。また、ＥＣＵ５０は、パイロット学習要請フラグおよび学習値取得完了フラグの少なくとも一方がリセットされていると、パイロット学習は未完了であると判定する。
【００７６】
パイロット学習が完了している場合（Ｓ４８０：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。パイロット学習が未完了の場合（Ｓ４８０：Ｙｅｓ）、Ｓ４８２においてＥＣＵ５０は、学習中フラグがセットされているかを判定する。
【００７７】
学習中フラグがリセットされ学習中ではない場合（Ｓ４８２：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。
学習中フラグがセットされ学習中である場合（Ｓ４８２：Ｙｅｓ）、Ｓ４８４においてＥＣＵ５０は、中心値であるパイロット噴射量Ｑｐにおいてメイン噴射の着火遅れ時間を未取得であるかを判定する。
【００７８】
未取得であれば（Ｓ４８４：Ｙｅｓ）、Ｓ４８６においてＥＣＵ５０は、パイロット噴射量Ｑｐにおいて着火遅れ時間Ｔｄ＿ｂａｓｅを検出する。そして、Ｓ４８８においてＥＣＵ５０は、パイロット噴射量Ｑｐでのデータ取得済フラグをセットし、本ルーチンを終了する。
【００７９】
パイロット噴射量Ｑｐにおいてメイン噴射の着火遅れ時間を取得している場合（Ｓ４８４：Ｎｏ）、Ｓ４９０においてＥＣＵ５０は、中心値ＱｐからΔＱ減量したパイロット噴射量（Ｑｐ−ΔＱ）においてメイン噴射の着火遅れ時間を未取得であるかを判定する。
【００８０】
パイロット噴射量（Ｑｐ−ΔＱ）においてメイン噴射の着火遅れ時間を未取得である場合（Ｓ４９０：Ｙｅｓ）、Ｓ４９２においてＥＣＵ５０は、パイロット噴射量（Ｑｐ−ΔＱ）において着火遅れ時間Ｔｄ＿ｄｏｗｎを検出する。そして、Ｓ４９４においてＥＣＵ５０は、パイロット噴射量（Ｑｐ−ΔＱ）でのデータ取得済フラグをセットし、本ルーチンを終了する。
【００８１】
パイロット噴射量（Ｑｐ−ΔＱ）においてメイン噴射の着火遅れ時間を取得している場合（Ｓ４９０：Ｎｏ）、Ｓ４９６においてＥＣＵ５０は、パイロット噴射量（Ｑｐ＋ΔＱ）において着火遅れ時間Ｔｄ＿ｕｐを検出する。そして、ＥＣＵ５０は、Ｓ４９８においてメイン噴射の着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）を算出し、Ｓ５００においてメイン噴射の着火遅れ時間の減少量（Ｔｄ＿ｂａｓｅ−Ｔｄ＿ｕｐ）を算出する。
【００８２】
そして、Ｓ５０２においてＥＣＵ５０は、学習値取得完了フラグをセットし、本ルーチンを終了する。
（最適値学習ルーチン）
図１１に、パイロット噴射量の最適値学習ルーチンを示す。
【００８３】
Ｓ５１０においてＥＣＵ５０は、学習値取得完了フラグがオンであるかを判定する。学習値取得完了フラグがオフであれば（Ｓ５１０：Ｎｏ）、ＥＣＵ５０は本ルーチンを終了する。
【００８４】
学習値取得完了フラグがオンであれば（Ｓ５１０：Ｙｅｓ）、Ｓ５１２においてＥＣＵ５０は、図１０のＳ４９８で算出した、中心値ＱｐからΔＱ減少させたときのメイン噴射の着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ａを超えているかを判定する。
【００８５】
中心値ＱｐからΔＱ減少させたときの着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ａを超えている場合（Ｓ５１２：Ｙｅｓ）、ＥＣＵ５０は、パイロット噴射量の中心値Ｑｐが最適値（図３の黒点３１２、３２２）よりも減少側であると判断し、Ｓ５１４において中心値Ｑｐを（Ｑｐ＋ΔＱ）に増加設定する。
【００８６】
そして、Ｓ５１６においてＥＣＵ５０は、パイロット噴射量Ｑｐ、（Ｑｐ−ΔＱ）でのデータ取得済フラグをリセットし、本ルーチンを終了する。
中心値ＱｐからΔＱ減少させたときの着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ａを超えていない場合（Ｓ５１２：Ｎｏ）、ＥＣＵ５０は、パイロット噴射量の中心値Ｑｐが少なくとも最適値よりも減少側ではないと判断する。
【００８７】
そして、Ｓ５１８においてＥＣＵ５０は、中心値ＱｐからΔＱ減少させたときの着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ｂより小さいかを判定する。所定量ｂは次のＳ５２２で使用する所定量ｃよりも小さい値である。
【００８８】
中心値ＱｐからΔＱ減少させたときの着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ｂよりも小さい場合（Ｓ５１８：Ｙｅｓ）、ＥＣＵ５０は、パイロット噴射量の中心値Ｑｐが最適値よりも大き過ぎると判断し、Ｓ５２０おいて中心値Ｑｐを（Ｑｐ−ΔＱ）に減少設定し、Ｓ５１６に処理を移行する。
【００８９】
中心値ＱｐからΔＱ減少させたときの着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ｂ以上の場合（Ｓ５１８：Ｎｏ）、Ｓ５２２においてＥＣＵ５０は、図１０のＳ５００で算出した中心値ＱｐからΔＱ増加させたときのメイン噴射の着火遅れ時間の減少量（Ｔｄ＿ｂａｓｅ−Ｔｄ＿ｕｐ）が所定量ｃよりも小さいかを判定する。
【００９０】
中心値ＱｐからΔＱ減少させたときのメイン噴射の着火遅れ時間の増加量（Ｔｄ＿ｄｏｗｎ−Ｔｄ＿ｂａｓｅ）が所定量ｂ以上であり（Ｓ５１８：Ｎｏ）、中心値ＱｐからΔＱ増加させたときのメイン噴射の着火遅れ時間の減少量（Ｔｄ＿ｂａｓｅ−Ｔｄ＿ｕｐ）が所定量ｂよりも大きい所定量ｃ以上の場合（Ｓ５２２：Ｎｏ）、図３の特性から判断して着火時期の検出結果が正常であればこのような判定結果にはならない。
【００９１】
そこで、着火遅れ時間の減少量（Ｔｄ＿ｂａｓｅ−Ｔｄ＿ｕｐ）が所定量ｃ以上の場合（Ｓ５２２：Ｎｏ）、ＥＣＵ５０は着火時期の検出結果が異常であると判断し、Ｓ５１６に処理を移行し、着火時期の検出をやり直す。
【００９２】
中心値ＱｐからΔＱ増加させたときの着火遅れ時間の減少量（Ｔｄ＿ｂａｓｅ−Ｔｄ＿ｕｐ）が所定量ｃよりも小さい場合（Ｓ５２２：Ｙｅｓ）、ＥＣＵ５０は、中心値のパイロット噴射ＱｐからΔＱ増減させたときのメイン噴射の着火遅れ時間が所定の変化量の範囲内にあると判断する。そして、Ｓ５２４においてＥＣＵ５０は、パイロット学習要請フラグ、パイロット噴射量Ｑｐ、（Ｑｐ−ΔＱ）でのデータ取得済フラグをリセットする。
【００９３】
Ｓ５２６においてＥＣＵ５０は、メイン噴射の着火遅れ時間をＲＡＭに記憶し、本ルーチンを終了する。
ＥＣＵ５０は、このように学習したパイロット噴射量の最適値によりパイロット噴射を実行し、前述した図４のフィードバックルーチンでメイン噴射の着火時期を目標着火時期に一致させる。
【００９４】
以上説明したように、パイロット噴射量を増減したときの着火時期の変化量が所定範囲内になる最適値を学習することにより、燃料噴射弁４０の機差、経時変化、ＥＧＲ弁１２の経時変化、または燃料セタン価等の燃料性状の変化によりメイン噴射の着火時期が変動しても、学習したパイロット噴射量に基づいて、エンジン運転状態に適したメイン噴射の着火時期になるように噴射時期をフィードバック制御できる。
【００９５】
［他の実施形態］
上記実施形態では、パイロット噴射量の中心値を増減しながら、中心値を基準としてパイロット噴射量を増減し、中心値における着火遅れ時間に対し、中心値を基準としてパイロット噴射量を増減したときの着火遅れ時間が所定の変化量の範囲内であれば、中心値をパイロット噴射量の学習値とした。これに対し、中心値に相当するパイロット噴射量を増減しながら、中心値における着火時期または着火遅れ時間の変化量を中心値同士で比較し、着火時期または着火遅れ時間が所定の変化量の範囲内になる中心値をパイロット噴射量の学習値としてもよい。
【００９６】
このように、本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の実施形態に適用可能である。
【図面の簡単な説明】
【００９７】
【図１】本実施形態による燃料噴射システムを示すブロック図。
【図２】パイロット噴射およびメイン噴射における噴射パルス信号、ノズルリフト、熱発生率の変化を示すタイムチャート。
【図３】燃料セタン価の高低におけるパイロット噴射量と着火時期との関係を示す特性図。
【図４】フィードバックルーチンを示すフローチャート。
【図５】着火時期検出ルーチンを示すフローチャート。
【図６】着火時期検出ルーチンを示すフローチャート。
【図７】着火時期検出ルーチンを示すフローチャート。
【図８】学習要請設定ルーチンを示すフローチャート。
【図９】学習条件判定ルーチンを示すフローチャート。
【図１０】着火遅れ時間検出ルーチンを示すフローチャート。
【図１１】最適値学習ルーチンを示すフローチャート。
【符号の説明】
【００９８】
１０：ディーゼルエンジン（内燃機関）、２０：燃料噴射システム、３２：高圧ポンプ（燃料供給ポンプ）、３４：コモンレール、４０：燃料噴射弁、４２：ＣＰＳ、５０：ＥＣＵ（燃料噴射制御装置、着火時期検出手段、運転状態検出手段、定常状態判定手段、噴射量増減手段、着火変化量検出手段、噴射量学習手段、規定手段、噴射時期フィードバック手段）
【図１】
0004941246.tif 000002
【図２】
0004941246.tif 000003
【図３】
0004941246.tif 000004
【図４】
0004941246.tif 000005
【図５】
0004941246.tif 000006
【図６】
0004941246.tif 000007
【図７】
0004941246.tif 000008
【図８】
0004941246.tif 000009
【図９】
0004941246.tif 000010
【図１０】
0004941246.tif 000011
【図１１】
0004941246.tif 000012