(57)【要約】【課題】内燃機関に実際に取り付けたときの閉弁遅れ時間を反映させながら、燃料噴射弁を制御することができ、それにより、排ガス特性及び燃費性能を向上させることができる内燃機関の制御装置を提供する。【解決手段】閉弁遅れ時間Toffが存在する燃料噴射弁10を備えた内燃機関3の制御装置1はECU2を備える。ECU2は、初期値学習条件が成立するように、燃料噴射制御及び点火時期制御において、初期値用制御を実行し(ステップ61,81)、初期値用制御の実行中において初期値学習条件が成立しているときに、閉弁遅れ時間の初期値Toff_iniを算出し(ステップ4〜7)、通常時制御を実行するときに、閉弁遅れ時間の初期値Toff_iniを用いて、燃料噴射弁10の開弁時間Tiを算出し(ステップ67)、通常時制御を実行するときに、開弁時間Tiで開弁するように、燃料噴射弁10を制御する(ステップ70)。【選択図】図4
2018044469.tif 000002
【特許請求の範囲】
【請求項１】
閉弁を指令してから実際に閉弁するまでの閉弁遅れ時間が存在する燃料噴射弁を備えた内燃機関の制御装置であって、
前記閉弁遅れ時間の初期値を取得するための初期値取得条件が成立するように、前記燃料噴射弁の開弁時間を制御するとともに前記内燃機関の点火時期を遅角側に制御する初期値用制御を実行する初期値用制御手段と、
当該初期値用制御の実行中において前記初期値取得条件が成立しているときに、前記閉弁遅れ時間の初期値を取得する初期値取得手段と、
前記初期値用制御以外の通常時制御を実行するときに、前記閉弁遅れ時間の前記初期値を用いて、前記燃料噴射弁の開弁時間を算出する開弁時間算出手段と、
前記通常時制御を実行するときに、当該算出された開弁時間で開弁するように、前記燃料噴射弁を制御する燃料噴射制御手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記初期値取得条件は、前記燃料噴射弁の前記開弁時間が所定値以上であることを含むことを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記初期値取得条件は、前記内燃機関の回転数が所定回転数域にあること、前記燃料噴射弁に供給される燃料圧が所定圧域にあること、及び前記燃料温度が所定温度域にあることを含むことを特徴とする請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記通常時制御の実行中において前記閉弁遅れ時間の学習条件が成立しているときに、前記閉弁遅れ時間の学習値を取得する学習値取得手段をさらに備え、
前記開弁時間算出手段は、前記閉弁遅れ時間の前記学習値と前記閉弁遅れ時間の前記初期値との偏差を用いて、前記燃料噴射弁の開弁時間を算出することを特徴とする請求項１ないし３のいずれかに記載の内燃機関の制御装置。
【請求項５】
前記内燃機関の運転状態に応じて、前記開弁時間の基本値を算出する基本値算出手段と、
前記閉弁遅れ時間の前記学習値と前記閉弁遅れ時間の前記初期値との前記偏差に、所定係数を乗算した値を用いて、補正値を算出する補正値算出手段と、
をさらに備え、
前記開弁時間算出手段は、前記開弁時間の基本値を前記補正値で補正することにより、前記開弁時間を算出することを特徴とする請求項４に記載の内燃機関の制御装置。
【請求項６】
前記学習条件は、前記燃料噴射弁の前記開弁時間が所定値以上であることを含むことを特徴とする請求項４又は５に記載の内燃機関の制御装置。
【請求項７】
前記学習条件は、前記内燃機関の回転数が所定回転数域にあること、前記燃料噴射弁に供給される燃料圧が所定圧域にあること、及び前記燃料温度が所定温度域にあることを含むことを特徴とする請求項４ないし６のいずれかに記載の内燃機関の制御装置。
【請求項８】
前記内燃機関は、複数の気筒と、当該複数の気筒の各々に設けられた前記燃料噴射弁とを備えており、
前記初期値取得手段は、前記閉弁遅れ時間の前記初期値を前記燃料噴射弁ごとに取得することを特徴とする請求項１ないし７のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、閉弁遅れ時間が存在する燃料噴射弁を備えた内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、内燃機関の制御装置として特許文献１に記載されたものが知られている。この内燃機関は、直噴式多気筒エンジンタイプのものであり、複数の燃料噴射弁によって、複数の気筒内に燃料がそれぞれ直接噴射される。この制御装置では、以下に述べるように、燃料噴射弁のコイルへの通電時間Ｔｉが制御される。
【０００３】
すなわち、要求噴射量設定部４１では、アクセルペダル踏込量、エンジン負荷及びエンジン回転数に応じて、要求噴射量が設定され、通電時間設定部４２では、要求噴射量に応じて、マップ記憶部４３に記憶されている通電時間Ｔｉと要求噴射量Ｑとの関係をマップ化した３つのマップＭ１〜Ｍ３を用いた補間演算手法によって、燃料噴射弁のコイルへの通電時間Ｔｉが設定される。この場合、マップＭ１は、ばねの弾性係数が標準的なノミナル品の燃料噴射弁のものに設定され、マップＭ２，Ｍ３は、ばねの弾性係数がノミナル品よりも大きいときのもの及び小さいときのものにそれぞれ設定されている。
【０００４】
また、学習部４４では、燃料噴射弁に実際に出力した通電時間Ｔｉと、燃料噴射弁のコイルへの通電開始タイミングから閉弁タイミングまでの計測時間Ｔｃとの関係が学習される。さらに、ばね特性推定部４５では、学習部４４による通電時間Ｔｉと計測時間Ｔｃとの関係の学習結果に応じ、３つのマップＬ１〜Ｌ３を用いた補間演算手法によって、燃料噴射弁のばね特性を推定する。
【０００５】
そして、補正部４６では、ばね特性推定部４５におけるばね特性の推定結果に応じ、３つのマップＭ１〜Ｍ３を用いた補間演算手法によって、補正量を算出し、この補正量で、通電時間設定部４２で設定された通電時間Ｔｉを補正することにより、最終的な通電時間Ｔｉが決定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１６−３３３４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
内燃機関用の燃料噴射弁の場合、新品の燃料噴射弁であっても、個体間の製造誤差などに起因して、内燃機関に実際に取り付けたときの閉弁遅れ時間（すなわちコイルへの通電終了タイミングから実際に閉弁するまでの時間）が個体間でばらつくのが一般的である。これに対して、上記特許文献１の制御装置によれば、マップＬ１〜Ｌ３を用いて、燃料噴射弁のばね特性を推定し、この推定結果に応じて、マップＭ１〜Ｍ３を参照することにより、通電時間Ｔｉの補正を実施しているものの、これらのマップＬ１〜Ｌ３，Ｍ１〜Ｍ３は、標準的な燃料噴射弁の作動特性に基づいたものに過ぎないため、上述した実際に取り付けたときの個体間における閉弁遅れ時間のばらつきが反映されていないことになる。
【０００８】
その結果、通電時間Ｔｉの補正を実施しているものの、取り付けた燃料噴射弁の個体間における閉弁遅れ時間のばらつきに起因して、通電時間Ｔｉに対する実際の開弁時間の誤差が発生してしまう。その結果、燃料噴射量及び空燃比の制御誤差などを生じることで、排ガス特性の悪化や、燃費性能の低下などを招くおそれがある。また、多気筒内燃機関に限らず、単気筒内燃機関においても、燃料噴射弁を実際に取り付けたときの閉弁遅れ時間が反映されていないことに起因して、同様の問題が発生するおそれがある。
【０００９】
本発明は、上記課題を解決するためになされたもので、内燃機関に実際に取り付けたときの閉弁遅れ時間を反映させながら、燃料噴射弁を制御することができ、それにより、排ガス特性及び燃費性能を向上させることができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、請求項１に係る発明は、閉弁を指令してから実際に閉弁するまでの閉弁遅れ時間Ｔｏｆｆが存在する燃料噴射弁１０を備えた内燃機関３の制御装置１であって、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを取得するための初期値取得条件が成立するように、燃料噴射弁１０の開弁時間Ｔｉを制御するとともに内燃機関３の点火時期ＩＧを遅角側に制御する初期値用制御を実行する初期値用制御手段（ＥＣＵ２、ステップ６１，８１）と、初期値用制御の実行中において初期値取得条件が成立しているときに、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを取得する初期値取得手段（ＥＣＵ２、ステップ４〜７）と、初期値用制御以外の通常時制御を実行するときに、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを用いて、燃料噴射弁１０の開弁時間Ｔｉを算出する開弁時間算出手段（ＥＣＵ２、ステップ６７）と、通常時制御を実行するときに、算出された開弁時間Ｔｉで開弁するように、燃料噴射弁１０を制御する燃料噴射制御手段（ＥＣＵ２、ステップ７０）と、を備えることを特徴とする。
【００１１】
この内燃機関の制御装置によれば、閉弁遅れ時間の初期値を取得するための初期値取得条件が成立するように、燃料噴射弁の開弁時間を制御するとともに内燃機関の点火時期を遅角側に制御する初期値用制御が実行され、この初期値用制御の実行中において初期値取得条件が成立しているときに、閉弁遅れ時間の初期値が取得される。そして、初期値用制御以外の通常時制御を実行するときに、閉弁遅れ時間の初期値を用いて、燃料噴射弁の開弁時間が算出され、算出された開弁時間で開弁するように、燃料噴射弁が制御される。以上のように、初期値用制御の実行中において初期値取得条件が成立しているときに、閉弁遅れ時間の初期値が取得されるので、この初期値用制御の実行タイミング及び初期値の取得タイミングを、燃料噴射弁を内燃機関に実際に取り付けたときのタイミングに設定することによって、それ以降の通常時制御を実行するときに、燃料噴射弁を内燃機関に実際に取り付けたときの閉弁遅れ時間すなわち動作特性を反映させながら、燃料噴射弁を制御することができる。それにより、燃料噴射量及び空燃比の制御精度を向上させることができ、排ガス特性及び燃費性能を向上させることができる（なお、本明細書における「閉弁遅れ時間の初期値の取得」及び「学習値の取得」などの「取得」は、センサなどによりこれらの値を直接検出することに限らず、これらの値を他のパラメータに基づいて算出／推定することを含む）。
【００１２】
請求項２に係る発明は、請求項１に記載の内燃機関３の制御装置１において、初期値取得条件は、燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であることを含むことを特徴とする。
【００１３】
本出願人の実験により、燃料噴射弁の開弁時間が所定値以上の領域にある場合、燃料噴射弁のソレノイドのコイルを流れる電流が安定することにより、燃料噴射弁の閉弁遅れ時間が安定することが確認できた（後述する図８参照）。したがって、この内燃機関の制御装置によれば、初期値取得条件が燃料噴射弁の開弁時間が所定値以上であることを含むので、そのように閉弁遅れ時間が安定している状態で、閉弁遅れ時間の初期値を取得するこができ、その取得精度を向上させることができる。
【００１４】
請求項３に係る発明は、請求項１又は２に記載の内燃機関３の制御装置１において、初期値取得条件は、内燃機関３の回転数ＮＥが所定回転数域（ＮＥ≦ＮＥｒｅｆ）にあること、燃料噴射弁１０に供給される燃料圧ＰＦが所定圧域（ＰＦ１≦ＰＦ≦ＰＦ２）にあること、及び燃料温度Ｔｆｕｅｌが所定温度域（Ｔｆｕｅｌ１≦Ｔｆｕｅｌ≦Ｔｆｕｅｌ２）にあることを含むことを特徴とする。
【００１５】
一般に、燃料噴射弁の閉弁遅れ時間は、内燃機関の回転数、燃料噴射弁に供給される燃料圧及び燃料温度の影響を受けることが知られている。これに対して、この内燃機関の制御装置によれば、初期値取得条件が、内燃機関の回転数が所定回転数域にあること、燃料噴射弁に供給される燃料圧が所定圧域にあること、及び燃料温度が所定温度域にあることを含むので、これらの所定回転域、所定圧域及び所定温度域を適切に設定することによって、燃料噴射弁の閉弁遅れ時間が安定している状態で、閉弁遅れ時間の初期値を取得するこができ、閉弁遅れ時間の初期値の取得精度をさらに向上させることができる。
【００１６】
請求項４に係る発明は、請求項１ないし３のいずれかに記載の内燃機関３の制御装置１において、通常時制御の実行中において閉弁遅れ時間Ｔｏｆｆの学習条件が成立しているときに、閉弁遅れ時間の学習値（通常学習値Ｔｏｆｆ＿ＬＲＮ）を取得する学習値取得手段（ＥＣＵ２、ステップ４３）をさらに備え、開弁時間算出手段は、閉弁遅れ時間の学習値（通常学習値Ｔｏｆｆ＿ＬＲＮ）と閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉとの偏差を用いて、燃料噴射弁１０の開弁時間Ｔｉを算出することを特徴とする。
【００１７】
この内燃機関の制御装置によれば、通常時制御の実行中において閉弁遅れ時間の学習条件が成立しているときに、閉弁遅れ時間の学習値が取得され、この閉弁遅れ時間の学習値と閉弁遅れ時間の初期値との偏差を用いて、燃料噴射弁の開弁時間が算出されるので、閉弁遅れ時間の初期値を取得してから、現時点までの閉弁遅れ時間の変化を反映させながら、燃料噴射弁の開弁時間を制御することができる。それにより、燃料噴射弁の開弁時間の制御精度を向上させることができる。
【００１８】
請求項５に係る発明は、請求項４に記載の内燃機関３の制御装置１において、内燃機関３の運転状態に応じて、開弁時間の基本値（基本開弁時間Ｔｉ＿ｂｓ）を算出する基本値算出手段（ＥＣＵ２、ステップ６４）と、閉弁遅れ時間の学習値（通常学習値Ｔｏｆｆ＿ＬＲＮ）と閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉとの偏差に、所定係数（所定のゲイン係数ＫＧ）を乗算した値を用いて、補正値（開弁時間補正値Ｃｏｒ＿Ｔｉ）を算出する補正値算出手段（ＥＣＵ２、ステップ６７）と、をさらに備え、開弁時間算出手段は、開弁時間の基本値（基本開弁時間Ｔｉ＿ｂｓ）を補正値（開弁時間補正値Ｃｏｒ＿Ｔｉ）で補正することにより、開弁時間Ｔｉを算出する（ステップ６８）ことを特徴とする。
【００１９】
この内燃機関の制御装置によれば、内燃機関の運転状態に応じて、開弁時間の基本値が算出され、閉弁遅れ時間の学習値と閉弁遅れ時間の初期値との偏差に、所定係数を乗算した値を用いて、補正値が算出されるとともに、開弁時間の基本値を補正値で補正することにより、開弁時間が算出される。したがって、この所定係数を適切に設定することによって、閉弁遅れ時間の初期値を取得してから現時点までの閉弁遅れ時間の変化を適切に反映させながら、燃料噴射弁の開弁時間を算出することができ、その算出精度をさらに向上させることができる。
【００２０】
請求項６に係る発明は、請求項４又は５に記載の内燃機関３の制御装置１において、学習条件は、燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であることを含むことを特徴とする。
【００２１】
この内燃機関の制御装置によれば、学習条件が燃料噴射弁の開弁時間が所定値以上であることを含むので、前述したように、燃料噴射弁の閉弁遅れ時間が安定している状態で、閉弁遅れ時間の学習値を取得することができ、その取得精度を向上させることができる。
【００２２】
請求項７に係る発明は、請求項４ないし６のいずれかに記載の内燃機関３の制御装置１において、学習条件は、内燃機関３の回転数ＮＥが所定回転数域（ＮＥ≦ＮＥｒｅｆ）にあること、燃料噴射弁１０に供給される燃料圧ＰＦが所定圧域（ＰＦ３≦ＰＦ≦ＰＦ４）にあること、及び燃料温度Ｔｆｕｅｌが所定温度域（Ｔｆｕｅｌ１≦Ｔｆｕｅｌ≦Ｔｆｕｅｌ３）にあることを含むことを特徴とする。
【００２３】
この内燃機関の制御装置によれば、学習条件が、内燃機関の回転数が所定回転数域にあること、燃料噴射弁に供給される燃料圧が所定圧域にあること、及び燃料温度が所定温度域にあることを含むので、前述した理由により、これらの所定回転域、所定圧域及び所定温度域を適切に設定することによって、閉弁遅れ時間の学習値の取得精度をさらに向上させることができる。
【００２４】
請求項８に係る発明は、請求項１ないし７のいずれかに記載の内燃機関３の制御装置１において、内燃機関３は、複数の気筒３ａと、複数の気筒３ａの各々に設けられた燃料噴射弁１０とを備えており、初期値取得手段は、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを燃料噴射弁１０ごとに取得する（ステップ６）ことを特徴とする。
【００２５】
この内燃機関の制御装置によれば、複数の気筒と、複数の気筒の各々に設けられた燃料噴射弁とを備えた多気筒内燃機関において、複数の燃料噴射弁の動作特性のばらつきが存在する場合でも、各燃料噴射弁を多気筒内燃機関に実際に取り付けたときの閉弁遅れ時間を反映させながら、各燃料噴射弁を制御することができ、それにより、多気筒内燃機関においても、排ガス特性及び燃費性能を向上させることができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の一実施形態に係る制御装置及びこれを適用した内燃機関の構成を模式的に示す図である。
【図２】（ａ）燃料噴射弁が閉弁状態にあるときと（ｂ）開弁状態にあるときの構成を模式的に示す図である。
【図３】（ａ）新品及び経年変化品の燃料噴射弁のリフトと（ｂ）開弁指令信号との関係を示すタイミングチャートである。
【図４】初期値学習処理を示すフローチャートである。
【図５】実行指令判定処理を示すフローチャートである。
【図６】初期学習条件判定処理を示すフローチャートである。
【図７】（ａ）〜（ｄ）１〜４番気筒の燃料噴射弁のリフトと（ｅ）開弁指令信号との関係を示すタイミングチャートである。
【図８】（ａ）新品及び経年変化品の燃料噴射弁における開弁時間と閉弁遅れ時間との関係、及び（ｂ）燃料噴射弁の電磁石を流れる電流と通電時間との関係を示す図である。
【図９】通常学習処理を示すフローチャートである。
【図１０】通常学習条件判定処理を示すフローチャートである。
【図１１】燃料噴射制御処理を示すフローチャートである。
【図１２】点火時期制御処理を示すフローチャートである。
【図１３】吸気制御処理を示すフローチャートである。
【図１４】制御装置による制御結果の一例を示すタイミングチャートである。
【発明を実施するための形態】
【００２７】
以下、図面を参照しながら、本発明の一実施形態に係る内燃機関の制御装置について説明する。図１に示すように、本発明の制御装置１は、ＥＣＵ２を備えており、後述するように、このＥＣＵ２によって、内燃機関（以下「エンジン」という）３における各種の制御処理が実行される。
【００２８】
エンジン３は、４組（１組のみ図示）の気筒３ａ及びピストン３ｂを有する直列４気筒ガソリンエンジンであり、図示しない車両に搭載されている。このエンジン３には、気筒３ａごとに、吸気弁４、排気弁５、点火プラグ６及び燃料噴射弁１０が設けられている。なお、以下の説明では、４つの気筒３ａをそれらの配列順に「１〜４番気筒３ａ」と呼び、１〜４番気筒３ａに設けられた燃料噴射弁１０をそれぞれ、「１〜４番噴射弁１０」と呼ぶ。
【００２９】
点火プラグ６は、ＥＣＵ２に電気的に接続されており、後述するように、ＥＣＵ２によって点火プラグ６による混合気の点火時期が制御される。すなわち、点火時期制御が実行される。
【００３０】
燃料噴射弁１０は、その先端部が気筒３ａ内に臨むように設けられており、燃料供給装置のデリバリパイプ（いずれも図示せず）に接続されている。エンジン３の運転中、このデリバリパイプから高圧の燃料が燃料噴射弁１０に供給されるようになっており、それにより、燃料噴射弁１０の開弁に伴って、燃料が気筒３ａ内に噴射される。
【００３１】
燃料噴射弁１０は、図２に示すように、ケーシング１１、電磁石１２、ばね１３、アーマチュア１４及び弁体１５などを備えている。電磁石１２は、ケーシング１１の天壁の内側に固定されており、ヨーク１２ａと、その外周に巻かれたコイル１２ｂとで構成されている。このコイル１２ｂは、図示しない駆動回路を介して、ＥＣＵ２に電気的に接続されており、ＥＣＵ２からの開弁指令信号の供給／停止によって、電磁石１２が励磁／非励磁状態に切り換えられる。
【００３２】
また、ばね１３は、電磁石１２のヨーク１２ａとアーマチュア１４の間に配置されており、アーマチュア１４を介して弁体１５を閉弁方向に常に付勢している。それにより、電磁石１２が励磁されていないときには、弁体１５がケーシング１１の先端部の噴孔１１ａを閉鎖する状態に保持され、それにより、燃料噴射弁１０が閉弁状態に保持される（図２（ａ）参照）。
【００３３】
以上の構成により、この燃料噴射弁１０では、ＥＣＵ２からの開弁指令信号が駆動回路を介してコイル１２ｂに供給され、電磁石１２が励磁されると、アーマチュア１４が、ばね１３の付勢力に抗しながら、ヨーク１２ａ側に吸引される。それに伴い、弁体１５がヨーク１２ａ側に移動し、噴孔１１ａを開放することで、燃料噴射弁１０が開弁する（図２（ｂ）参照）。以下、この弁体１５のヨーク１２ａ側への移動量を燃料噴射弁１０の「リフト」という。この状態から、開弁指令信号の供給が停止され、電磁石１２が非励磁状態に切り換わると、上述したように、ばね１３の付勢力によって、燃料噴射弁１０が閉弁される。
【００３４】
以上のように、開弁指令信号によって燃料噴射弁１０を開閉した場合、燃料噴射弁１０の実際の動作状態は図３に示すものとなる。なお、図中のＴｉは、後述するように算出される燃料噴射弁１０の開弁時間である。図３（ａ），（ｂ）に示すように、時刻ｔ１で、開弁指令信号が燃料噴射弁１０に入力されると、燃料噴射弁１０の応答遅れ特性に起因して、時刻ｔ２で、弁体１５がヨーク１２ａ側への移動を開始し、リフトが増大する。
【００３５】
そして、開弁指令信号の入力タイミングから開弁時間Ｔｉが経過したタイミング（時刻ｔ３）で、開弁指令信号の入力が停止されると、それ以降、弁体１５がばね１３の付勢力によって閉弁側に移動するのに伴って、リフトが減少し、時刻ｔ４で、燃料噴射弁１０が全閉状態になり、リフトが値０になる。以下の説明では、この開弁指令信号の入力停止タイミングからリフトが実際に値０になるまでの時間を「閉弁遅れ時間Ｔｏｆｆ」と呼ぶ。  
【００３６】
この場合、閉弁遅れ時間Ｔｏｆｆは、ばね１３の付勢力によって決まる関係上、ばね１３が経年変化し、その弾性係数が変化すると、図３（ａ）に破線で示すように、同図に実線で示す新品の場合と比べて、閉弁遅れ時間Ｔｏｆｆがより長くなる。その結果、同じ開弁時間Ｔｉの開弁指令信号が入力されたときでも、燃料噴射弁１０の経年変化品は、新品のものと比べて、実際の開弁時間が長くなり、余分な燃料を噴射してしまうことになる。この問題を解消すべく、本実施形態の燃料噴射制御処理では、後述する補正手法を用いて、開弁時間Ｔｉが算出される。
【００３７】
また、エンジン３の吸気通路７には、スロットル弁機構８が設けられている。このスロットル弁機構８は、スロットル弁８ａ及びこれを開閉駆動するＴＨアクチュエータ８ｂなどを備えている。スロットル弁８ａは、吸気通路７の途中に回動自在に設けられており、当該回動に伴う開度の変化により、スロットル弁８ａを通過する空気の流量を変化させる。ＴＨアクチュエータ８ｂは、ＥＣＵ２に接続された電気モータにギヤ機構（いずれも図示せず）を組み合わせたものであり、ＥＣＵ２からの駆動信号によって制御されることにより、スロットル弁８ａの開度（以下「スロットル弁開度」という）ＴＨを変化させる。
【００３８】
さらに、ＥＣＵ２には、クランク角センサ２０、水温センサ２１、大気温センサ２２、燃料圧センサ２３、電流電圧センサ２４、アクセル開度センサ２５及びスロットル弁開度センサ２６が電気的に接続されている。
【００３９】
このクランク角センサ２０は、マグネットロータ及びＭＲＥピックアップで構成されており、クランクシャフト３ｃの回転に伴い、いずれもパルス信号であるＣＲＫ信号及びＴＤＣ信号をＥＣＵ２に出力する。このＣＲＫ信号は、クランク角３０゜ごとに１パルスが出力され、ＥＣＵ２は、このＣＲＫ信号に基づき、エンジン３の回転数（以下「エンジン回転数」という）ＮＥを算出する。
【００４０】
これに加えて、ＥＣＵ２は、ＣＲＫ信号と、図示しないカムシャフトの回転角度を検出するカム角センサ（図示せず）の検出信号とに基づき、クランクシャフト３ｃの回転角度であるクランク角ＣＡを算出する。また、ＴＤＣ信号は、各気筒３ａのピストン３ｂが吸気行程のＴＤＣ位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、実施形態の４気筒エンジンの場合、クランク角１８０゜ごとに１パルスが出力される。
【００４１】
また、水温センサ２１は、エンジン３のシリンダブロック内を循環する冷却水の温度であるエンジン水温ＴＷを検出して、それを表す検出信号をＥＣＵ２に出力し、大気温センサ２２は、大気温ＴＡを検出して、それを表す検出信号をＥＣＵ２に出力する。
【００４２】
さらに、燃料圧センサ２３は、デリバリパイプ内の燃料の圧力である燃料圧ＰＦを検出して、それを表す検出信号をＥＣＵ２に出力し、電流電圧センサ２４は、燃料噴射弁１０の電磁石１２の両端における電圧Ｖｉｎｊ、及び電磁石１２を流れる電流Ｉｉｎｊを検出して、それを表す検出信号をＥＣＵ２に出力する。なお、以下の説明では、これらの電圧Ｖｉｎｊ及び電流Ｉｉｎｊをそれぞれ、「ソレノイド電圧Ｖｉｎｊ」及び「ソレノイド電流Ｉｉｎｊ」という。
【００４３】
また、アクセル開度センサ２５は、車両の図示しないアクセルペダルの踏み込み量（以下「アクセル開度」という）ＡＰを検出して、それを表す検出信号をＥＣＵ２に出力し、スロットル弁開度センサ２６は、スロットル弁開度ＴＨを検出して、それを表す検出信号をＥＣＵ２に出力する。
【００４４】
一方、ＥＣＵ２は、ＣＰＵ、ＲＡＭ、ＲＯＭ、Ｅ２ＰＲＯＭ及びＩ／Ｏインターフェース（いずれも図示せず）などからなるマイクロコンピュータで構成されており、以上の各種のセンサ２０〜２６の検出信号などに基づいて、以下に述べるように、各種の制御処理を実行する。なお、本実施形態では、ＥＣＵ２が、初期値用制御手段、初期値取得手段、開弁時間算出手段、燃料噴射制御手段、学習値取得手段、基本値算出手段及び補正値算出手段に相当する。
【００４５】
次に、ＥＣＵ２によって実行される各種の制御処理について説明する。なお、以下の説明において算出／設定される各種の値は、ＥＣＵ２のＲＡＭ及びＥ２ＰＲＯＭのいずれかに書き込まれて記憶されるとともに、特に断らない場合にはＲＡＭに書き込まれるものとする。
【００４６】
まず、図４を参照しながら、初期値学習処理について説明する。この初期値学習処理は、以下に述べるように、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを学習するものであり、ＥＣＵ２によって所定の制御周期ΔＴ（例えば数十ｍｓｅｃ）で実行される。
【００４７】
同図に示すように、まず、ステップ１（図では「Ｓ１」と略す。以下同じ）で、Ｅ２ＰＲＯＭに記憶されている初期値学習済みフラグＦ＿ＩＮＩ＿ＤＯＮＥが「０」であるか否かを判別する。この判別結果がＮＯのとき、すなわち初期値学習済みフラグＦ＿ＩＮＩ＿ＤＯＮＥ＝１で、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを学習済みであるときには、そのまま本処理を終了する。
【００４８】
一方、ステップ１の判別結果がＹＥＳで、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを学習済みでないときには、ステップ２に進み、実行指令判定処理を実行する。この実行指令判定処理は、初期値用制御処理の実行指令信号の有無を判定するものであり、具体的には、図５に示すように実行される。
【００４９】
同図に示すように、まず、ステップ１０で、初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「０」であるか否かを判別する。この判別結果がＮＯで、前回以前の制御タイミングにおいて実行指令信号が入力されていたときには、そのまま本処理を終了する。
【００５０】
一方、ステップ１０の判別結果がＹＥＳで、前回以前の制御タイミングにおいて実行指令信号が入力されていないときには、ステップ１１に進み、初期値用制御処理の実行指令信号が入力されたか否かを判別する。この実行指令信号は、新品の車両をユーザに提供する前の工場での点検時や、故障時に燃料噴射弁やＥＣＵ２がサービス工場で交換されたときなどにおいて、点検装置をＥＣＵ２に電気的に接続した後、点検者による手動操作によって点検装置からＥＣＵ２に入力される。
【００５１】
ステップ１１の判別結果がＹＥＳで、実行指令信号が入力されたときには、初期値用制御処理を実行すべきであることを表すために、ステップ１２に進み、初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬを「１」に設定した後、本処理を終了する。
【００５２】
一方、ステップ１１の判別結果がＮＯのときには、そのまま本処理を終了する。
【００５３】
図４に戻り、ステップ２で、実行指令判定処理を以上のように実行した後、ステップ３に進み、初期学習条件判定処理を実行する。この初期学習条件判定処理は、以下に述べるように、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習条件（初期値取得条件）が成立したか否かを判定するものであり、具体的には、図６に示すように実行される。
【００５４】
同図に示すように、まず、ステップ２０で、前述した初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「１」であるか否かを判別する。この判別結果がＹＥＳで、後述する初期値用制御処理の実行中であるときには、ステップ２１に進み、燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であるか否かを判別する。
【００５５】
この所定値Ｔｉｒｅｆで規定される開弁時間Ｔｉの領域（Ｔｉ≧Ｔｉｒｅｆ）は、後述するように、電磁石１２を流れるソレノイド電流Ｉｉｎｊが安定し、閉弁遅れ時間Ｔｏｆｆが安定するような領域に設定されている。以下の説明では、開弁時間Ｔｉなどのパラメータにおける、閉弁遅れ時間Ｔｏｆｆが安定する領域を「Ｔｏｆｆ安定域」という。
【００５６】
ステップ２１の判別結果がＹＥＳで、開弁時間ＴｉがＴｏｆｆ安定域にあるときには、ステップ２２に進み、燃料温度Ｔｆｕｅｌにおいて、Ｔ１≦Ｔｆｕｅｌ≦Ｔ２が成立しているか否かを判別する。この燃料温度Ｔｆｕｅｌは、エンジン水温ＴＷ及び大気温ＴＡに応じて、図示しないマップを検索することにより算出される。また、Ｔ１，Ｔ２は、Ｔ１＜Ｔ２が成立するように設定される燃料温度Ｔｆｕｅｌの所定値であり、これらの所定値Ｔ１，Ｔ２で規定される温度域（Ｔ１≦Ｔｆｕｅｌ≦Ｔ２）は、Ｔｏｆｆ安定域に設定されている。
【００５７】
ステップ２２の判別結果がＹＥＳで、燃料温度ＴｆｕｅｌがＴｏｆｆ安定域にあるときには、ステップ２３に進み、エンジン回転数ＮＥが所定回転数ＮＥｒｅｆ以下であるか否かを判別する。この所定回転数ＮＥｒｅｆで規定される回転域（ＮＥ≦ＮＥｒｅｆ）は、Ｔｏｆｆ安定域に設定されている。
【００５８】
ステップ２３の判別結果がＹＥＳで、エンジン回転数ＮＥがＴｏｆｆ安定域にあるときには、ステップ２４に進み、燃料圧ＰＦにおいて、ＰＦ１≦ＰＦ≦ＰＦ２が成立しているか否かを判別する。この場合、ＰＦ１，ＰＦ２は、ＰＦ１＜ＰＦ２が成立するように設定される燃料圧ＰＦの所定値であり、これらの所定値ＰＦ１，ＰＦ２で規定される圧力域（ＰＦ１≦ＰＦ≦ＰＦ２）は、Ｔｏｆｆ安定域に設定されている。
【００５９】
ステップ２４の判別結果がＹＥＳで、燃料圧ＰＦがＴｏｆｆ安定域にあるときには、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習条件が成立したと判定して、それを表すために、ステップ２５に進み、初期値学習条件フラグＦ＿ＩＮＩ＿ＬＲＮを「１」に設定した後、本処理を終了する。
【００６０】
一方、以上のステップ２０〜２４のいずれかの判別結果がＮＯのときには、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習条件が不成立であると判定して、それを表すために、ステップ２６に進み、初期値学習条件フラグＦ＿ＩＮＩ＿ＬＲＮを「０」に設定した後、本処理を終了する。
【００６１】
図４に戻り、ステップ３で、初期学習条件判定処理を以上のように実行した後、ステップ４に進み、初期値学習条件フラグＦ＿ＩＮＩ＿ＬＲＮが「１」であるか否かを判別する。この判別結果がＮＯで、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習条件が不成立であるときには、そのまま本処理を終了する。
【００６２】
一方、ステップ４の判別結果がＹＥＳで、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習条件が成立しているときには、ステップ５に進み、学習気筒番号＃ｊの設定処理を実行する。
【００６３】
この設定処理の内容はここでは図示しないが、この設定処理では、クランク角ＣＡに基づき、今回の制御タイミングよりも後のタイミングで、１〜４番噴射弁１０のうちの燃料噴射が最初に実行される燃料噴射弁１０を、今回の閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを学習すべき学習弁１０として決定し、その学習弁１０が設けられている気筒３ａの番号を学習気筒番号＃ｊとして設定する。
【００６４】
例えば、学習弁１０が１番気筒３ａに設けられている場合には、学習気筒番号＃ｊが＃１に設定され、学習弁１０が４番気筒３ａに設けられている場合には、学習気筒番号＃ｊが＃４に設定される。なお、以下の説明において、学習気筒番号＃ｊを添字とする各種の算出値は、学習気筒番号＃ｊが表す気筒３ａの算出値に相当する。
【００６５】
ステップ５に続くステップ６で、学習弁１０の閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊを算出する。この算出処理では、その内容はここでは図示しないが、以下の周知の方法によって、学習弁１０の閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊが算出される。すなわち、学習弁１０のソレノイド電圧Ｖｉｎｊの１階微分値を算出し、そのピーク位置を学習弁１０の実閉弁タイミングとして検出するとともに、開弁指令信号の停止タイミングから実閉弁タイミングまでの時間が、学習弁１０の閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊとして算出される。
【００６６】
次いで、ステップ７に進み、全ての燃料噴射弁１０（すなわち１〜４番噴射弁１０）の学習が終了したか否かを判別する。この判別結果がＮＯで、全ての燃料噴射弁１０の学習が終了していないときには、そのまま本処理を終了する。
【００６７】
一方、ステップ７の判別結果がＹＥＳで、全ての燃料噴射弁１０の学習が終了したときには、それを表すために、ステップ８に進み、初期値学習済みフラグＦ＿ＩＮＩ＿ＤＯＮＥを「１」に設定するとともに、初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬ及び初期値学習条件フラグＦ＿ＩＮＩ＿ＬＲＮをいずれも「０」に設定する。そして、３つのフラグの値Ｆ＿ＩＮＩ＿ＤＯＮＥ，Ｆ＿ＩＮＩ＿ＣＴＲＬ，Ｆ＿ＩＮＩ＿ＬＲＮをＥ２ＰＲＯＭに書き込んだ後、本処理を終了する。
【００６８】
次に、図７及び図８を参照しながら、以上の手法によって、４つの燃料噴射弁１０における閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊ（ｊ＝１〜４）を学習した理由について説明する。
【００６９】
図７は、参考のために、新品の１〜４番噴射弁１０をエンジン３に取り付けた時点において、１〜４番噴射弁１０に対して、同一の開弁時間Ｔｉの開弁指令信号（図７（ｅ）参照）を同時に入力したときの動作の一例を示しており、図７（ａ）〜（ｄ）の＃１〜＃４リフトは、１〜４番噴射弁１０のリフトをそれぞれ示している。
【００７０】
同図７に示すように、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊ（ｊ＝１〜４）は、同一の開弁時間Ｔｉの開弁指令信号が入力されたときでも、個体間の動作特性などのばらつきなどに起因して、１〜４番噴射弁１０の間でばらつきを生じるのが一般的である。したがって、本実施形態では、後述する燃料噴射制御処理を実行する際、これらの閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊのばらつきの影響を抑制し、燃料噴射の制御精度を向上させることを目的として、新品の車両をユーザに提供する前に、前述した図４に示す手法によって、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊの学習を実行している。
【００７１】
また、図８（ａ）において、実線で示す曲線は、燃料噴射弁１０が新品である場合の開弁時間Ｔｉと閉弁遅れ時間Ｔｏｆｆとの関係を計測したものであり、破線で示す曲線は、燃料噴射弁１０が経年変化品である場合の開弁時間Ｔｉと閉弁遅れ時間Ｔｏｆｆとの関係を計測したものである。
【００７２】
この図８（ａ）を参照すると明らかなように、閉弁遅れ時間Ｔｏｆｆは、燃料噴射弁１０が新品である場合でも、燃料噴射弁１０が経年劣化品である場合でも、Ｔｉ＜Ｔｉｒｅｆが成立する領域では、不安定な値を示すのに対して、Ｔｉ≧Ｔｉｒｅｆの領域では、安定した値を示すことが判る。これは、図８（ｂ）に示すように、燃料噴射弁１０の電磁石１２に電力を供給した場合、電磁石１２への通電時間が長くなり、通電時間≧Ｔｉｒｅｆが成立するような領域において、ソレノイド電流Ｉｉｎｊが安定することによる。以上の理由により、本実施形態の場合、Ｔｉ≧Ｔｉｒｅｆが成立していることを、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊの学習条件の１つに設定している。
【００７３】
次に、図９を参照しながら、通常学習処理について説明する。この通常学習処理は、前述した初期値学習処理の実行後におけるエンジン３の運転中、以下に述べるように、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮ（学習値）を算出するものであり、ＥＣＵ２によって前述した制御周期ΔＴで実行される。
【００７４】
同図に示すように、まず、ステップ４０で、通常学習条件判定処理を実行する。この通常学習条件判定処理は、以下に述べるように、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮの学習条件（算出条件）が成立したか否かを判定するものであり、具体的には、図１０に示すように実行される。
【００７５】
同図に示すように、まず、ステップ５０で、前述したステップ２１と同様に、燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であるか否かを判別する。この判別結果がＹＥＳで、開弁時間ＴｉがＴｏｆｆ安定域にあるときには、ステップ５１に進み、燃料温度Ｔｆｕｅｌにおいて、Ｔ１≦Ｔｆｕｅｌ≦Ｔ３が成立しているか否かを判別する。
【００７６】
この場合、Ｔ３はＴ１＜Ｔ２＜Ｔ３が成立するような燃料温度Ｔｆｕｅｌの所定値であり、２つの所定値Ｔ１，Ｔ３で規定される温度域（Ｔ１≦Ｔｆｕｅｌ≦Ｔ３）は、エンジン３の通常運転中における燃料温度ＴｆｕｅｌのＴｏｆｆ安定域に設定されている。
【００７７】
ステップ５１の判別結果がＹＥＳで、燃料温度ＴｆｕｅｌがＴｏｆｆ安定域にあるときには、ステップ５２に進み、前述したステップ２３と同様に、エンジン回転数ＮＥが所定回転数ＮＥｒｅｆ以下であるか否かを判別する。この判別結果がＹＥＳで、エンジン回転数ＮＥがＴｏｆｆ安定域にあるときには、ステップ５３に進み、燃料圧ＰＦにおいて、ＰＦ３≦ＰＦ≦ＰＦ４が成立しているか否かを判別する。
【００７８】
この場合、ＰＦ３，ＰＦ４は、ＰＦ３＜ＰＦ４が成立するように設定される燃料圧ＰＦの所定値であり、これらの値ＰＦ３，ＰＦ４で規定される圧力域（ＰＦ３≦ＰＦ≦ＰＦ４）は、エンジン３の通常運転中における燃料圧ＰＦのＴｏｆｆ安定域に設定されている。
【００７９】
ステップ５３の判別結果がＹＥＳで、燃料圧ＰＦがＴｏｆｆ安定域にあるときには、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮの学習条件が成立したと判定して、それを表すために、ステップ５４に進み、通常学習条件フラグＦ＿ＬＥＡＲＮを「１」に設定した後、本処理を終了する。
【００８０】
一方、以上のステップ５０〜５３のいずれかの判別結果がＮＯのときには、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮの学習条件が不成立であると判定して、それを表すために、ステップ５５に進み、通常学習条件フラグＦ＿ＬＥＡＲＮを「０」に設定した後、本処理を終了する。
【００８１】
図９に戻り、ステップ４０で、通常学習条件判定処理を以上のように実行した後、ステップ４１に進み、通常学習条件フラグＦ＿ＬＥＡＲＮが「１」であるか否かを判別する。この判別結果がＮＯで、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮの学習条件が不成立であるときには、そのまま本処理を終了する。
【００８２】
一方、ステップ４１の判別結果がＹＥＳで、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮの学習条件が成立しているときには、ステップ４２に進み、前述したステップ５と同様の手法により、学習気筒番号＃ｊを設定する。この学習気筒番号＃ｊは、前述したように、学習弁１０が設けられている気筒３ａの番号、すなわち今回の閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮを学習すべき燃料噴射弁１０が設けられている気筒３ａの番号である。
【００８３】
次いで、ステップ４３に進み、学習弁１０の閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮ＃ｊを算出する。この算出処理の場合、その内容はここでは図示しないが、前述した閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉ＃ｊと同じ算出手法によって、学習弁１０の閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮ＃ｊを算出する。以上のように、ステップ４３で、学習弁１０の閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮ＃ｊを算出し、それをＥ２ＰＲＯＭに書き込んだ後、本処理を終了する。
【００８４】
次に、図１１を参照しながら、燃料噴射制御処理について説明する。この燃料噴射制御処理は、以下に述べるように、１〜４番噴射弁１０の開弁時間Ｔｉなどを制御するものであり、ＥＣＵ２によってＴＤＣ信号の発生タイミングに同期して実行される。
【００８５】
同図に示すように、まず、ステップ６０で、前述した初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「１」であるか否かを判別する。この判別結果がＹＥＳのときには、ステップ６１に進み、燃料噴射制御処理における初期値用制御処理を実行する。この初期値用制御処理では、燃料噴射弁１０の開弁時間Ｔｉが、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習に最適な初期制御用値Ｔｉ＿ｉｎｉに設定される。この場合、初期制御用値Ｔｉ＿ｉｎｉは、通常のアイドル運転用値Ｔｉ＿ｉｄｌよりも大きい値であって、前述した所定値Ｔｉｒｅｆよりも大きい所定値に設定される（図１４参照）。
【００８６】
さらに、燃料噴射弁１０の噴射開始タイミングである開弁タイミングＩＮＪｓｔが、初期学習用値ＩＮＪｓｔ＿ｉｎｉに設定される。この初期学習用値ＩＮＪｓｔ＿ｉｎｉは、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習に最適な値であって、前述した図６の初期学習条件が成立するような値に設定されている。そして、この初期値用制御処理が実行されるごとに、これらの２つの初期制御用値Ｔｉ＿ｉｎｉ，ＩＮＪｓｔ＿ｉｎｉに対応する開弁指令信号が、１〜４番噴射弁１０に対して、１番噴射弁１０⇒３番噴射弁１０⇒４番噴射弁１０⇒２番噴射弁１０⇒１番噴射弁１０……の順に出力される。以上のように、ステップ６１で、初期値用制御処理を実行した後、本処理を終了する。
【００８７】
一方、前述したステップ６０の判別結果がＮＯのときには、以下に述べるように、ステップ６２〜７０で、燃料噴射制御処理における通常時制御処理を実行する。まず、ステップ６２で、算出気筒番号＃ｉの設定処理を実行する。
【００８８】
この設定処理では、その内容はここでは図示しないが、クランク角ＣＡに基づき、今回の制御タイミングよりも後のタイミングで、１〜４番気筒３ａのうちの燃料噴射が最初に実行される気筒３ａを算出気筒３ａとして決定し、その算出気筒３ａの番号が算出気筒番号＃ｉとして設定される。
【００８９】
例えば、算出気筒３ａが１番気筒３ａである場合には、算出気筒番号＃ｉが＃１に設定され、算出気筒３ａが４番気筒３ａである場合には、算出気筒番号＃ｉが＃４に設定される。なお、以下の説明において、算出気筒番号＃ｉを添字とする各種の算出値は、算出気筒番号＃ｉが表す気筒３ａの算出値に相当する。
【００９０】
ステップ６２に続くステップ６３で、算出気筒３ａの要求燃料量Ｑ＃ｉを算出する。この要求燃料量Ｑ＃ｉは、アクセル開度ＡＰ及びエンジン回転数ＮＥに応じて、図示しないマップを検索することにより、要求トルクＴＲＱを算出し、この要求トルクＴＲＱ及びエンジン回転数ＮＥに応じて、図示しないマップを検索することにより算出される。
【００９１】
次いで、ステップ６４に進み、算出気筒３ａの要求燃料量Ｑ＃ｉに応じて、図示しないマップを検索することにより、算出気筒３ａの基本開弁時間Ｔｉ＿ｂｓ＃ｉ（開弁時間の基本値）を算出する。
【００９２】
次に、ステップ６５で、Ｅ２ＰＲＯＭ内に記憶されている算出気筒３ａの閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮ＃ｉを読み込む。
【００９３】
ステップ６５に続くステップ６６で、温度補正値Ｃｏｒ＿Ｔｆｕｅｌを算出する。この温度補正値Ｃｏｒ＿Ｔｆｕｅｌは、前述した燃料温度Ｔｆｕｅｌに応じて、図示しないマップを検索することにより算出される。
【００９４】
次いで、ステップ６７に進み、下式（１）により、開弁時間補正値Ｃｏｒ＿Ｔｉ＃ｉ（補正値）を算出する。
Cor_Ti#i＝KG・(Toff_LRN#i−Toff_ini#i−Cor_Tfuel)                ……（１）
この式（１）のＫＧは、０＜ＫＧ＜１が成立するように設定される所定のゲイン係数（所定係数）であり、本実施形態では一定値に設定されている。なお、このゲイン係数ＫＧを、一定値に代えて、エンジン３の運転状態に応じたマップ検索手法によって設定するように構成してもよい。
【００９５】
次に、ステップ６８で、下式（２）により、算出気筒３ａの開弁時間Ｔｉ＃ｉを算出する。
Ti#i＝Ti_bs#i−Cor_Ti#i                                          ……（２）
【００９６】
ステップ６８に続くステップ６９で、算出気筒３ａの開弁タイミングＩＮＪｓｔ＃ｉを算出する。具体的には、開弁時間Ｔｉ＃ｉ及びエンジン回転数ＮＥに応じて、図示しないマップを検索することにより、算出気筒３ａの閉弁タイミングＩＮＪｅｎｄ＃ｉを算出し、この閉弁タイミングＩＮＪｅｎｄ＃ｉ及び開弁時間Ｔｉ＃ｉに基づいて、図示しないマップを検索することにより、算出気筒３ａの開弁タイミングＩＮＪｓｔ＃ｉを算出する。
【００９７】
次いで、ステップ７０に進み、開弁制御処理を実行した後、本処理を終了する。この開弁制御処理では、その内容はここでは図示しないが、算出気筒３ａの開弁タイミングＩＮＪｓｔ＃ｉ及び開弁時間Ｔｉに対応する開弁指令信号が算出気筒３ａの燃料噴射弁１０に出力される。それにより、算出気筒３ａにおける燃料噴射が実行される。
【００９８】
次に、図１２を参照しながら、点火時期処理について説明する。この点火時期処理は、以下に述べるように、点火プラグ６による点火時期ＩＧを制御するものであり、ＥＣＵ２によってＴＤＣ信号の発生タイミングに同期して実行される。なお、本実施形態の場合、点火時期ＩＧは、進角側であるほど、より大きい正値になるように制御されるものとする。
【００９９】
同図に示すように、まず、ステップ８０で、前述した初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「１」であるか否かを判別する。この判別結果がＹＥＳのときには、ステップ８１に進み、点火時期処理における初期値用制御処理を実行する。この初期値用制御処理では、点火時期ＩＧが、通常のアイドル運転用の値ＩＧｉｄｌよりも遅角側の初期学習用値ＩＧｉｎｉに制御される（図１４参照）。すなわち、点火時期ＩＧのリタード制御が実行される。この場合、初期学習用値ＩＧｉｎｉは、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習に最適な値であって、前述した図６の初期学習条件が成立するような値に設定されている。以上のように、ステップ８１で、初期値用制御処理を実行した後、本処理を終了する。
【０１００】
一方、ステップ８０の判別結果がＮＯのときには、ステップ８２に進み、点火時期処理における通常時制御処理を実行する。この通常時制御処理では、その内容はここでは図示しないが、エンジン水温ＴＷ、アクセル開度ＡＰ及びバッテリ電圧などの各種の運転状態パラメータに応じて、点火時期ＩＧが制御される。以上のように、ステップ８２で、通常時制御処理を実行した後、本処理を終了する。
【０１０１】
次に、図１３を参照しながら、吸気制御処理について説明する。この吸気制御処理は、以下に述べるように、スロットル弁開度ＴＨを制御するものであり、ＥＣＵ２によって所定の制御周期（例えば数百ｍｓｅｃ）で実行される。
【０１０２】
同図に示すように、まず、ステップ９０で、前述した初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「１」であるか否かを判別する。この判別結果がＹＥＳのときには、ステップ９１に進み、吸気制御処理における初期値用制御処理を実行する。
【０１０３】
この初期値用制御処理では、エンジン回転数ＮＥが所定の初期学習用値ＮＥｉｎｉになるにように、スロットル弁開度ＴＨが制御される。この初期学習用値ＮＥｉｎｉは、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習に最適なエンジン回転数ＮＥであって、通常のアイドル回転数ＮＥｉｄｌよりも高くかつ前述した所定値ＮＥｒｅｆよりも低い値に設定されている（図１４参照）。以上のように、ステップ９１で、初期値用制御処理を実行した後、本処理を終了する。
【０１０４】
一方、ステップ９０の判別結果がＮＯのときには、ステップ９２に進み、吸気制御処理における通常時制御処理を実行する。この通常時制御処理の場合、その内容はここでは図示しないが、エンジン回転数ＮＥ及びアクセル開度ＡＰなどの各種の運転状態パラメータに応じて、スロットル弁開度ＴＨが制御される。以上のように、ステップ９２で、通常時制御処理を実行した後、本処理を終了する。
【０１０５】
次に、図１４を参照しながら、前述した初期値学習処理及びステップ６１，８１，９１の初期値用制御処理を実行したときの制御結果の一例について説明する。
【０１０６】
同図に示すように、アイドル運転中において、実行指令信号がＥＣＵ２に入力されたタイミング（時刻ｔ１０）で、前述した初期値用制御フラグＦ＿ＩＮＩ＿ＣＴＲＬが「１」に設定されると、それに伴って、ステップ６１，８１，９１の初期値用制御処理が実行される。すなわち、エンジン回転数ＮＥが、アイドル運転用値ＮＥｉｄｌからそれよりも高い初期学習用値ＮＥｉｎｉになるように制御され、点火時期ＩＧが、通常のアイドル運転用の値ＩＧｉｄｌからそれよりも遅角側の初期学習用値ＩＧｉｎｉになるように制御されるとともに、開弁時間Ｔｉが、通常のアイドル運転用値Ｔｉ＿ｉｄｌから、それよりも大きくかつ前述した所定値Ｔｉｒｅｆよりも大きい初期制御用値Ｔｉ＿ｉｎｉになるように制御される。
【０１０７】
そして、前述したステップ２０〜２４の判別結果がすべてＹＥＳとなり、初期学習条件が成立したタイミング（時刻ｔ１１）で、初期値学習条件フラグＦ＿ＩＮＩ＿ＬＲＮが「１」に設定され、それ以降、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習が実行される。そして、時刻ｔ１２で、全ての燃料噴射弁１０における閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉの学習が終了すると、初期値学習済みフラグＦ＿ＩＮＩ＿ＤＯＮＥが「１」に設定されると同時に、２つのフラグＦ＿ＩＮＩ＿ＣＴＲＬ，Ｆ＿ＩＮＩ＿ＬＲＮが「０」にリセットされる。それに伴い、通常のアイドル運転に移行する。
【０１０８】
以上のように、本実施形態の制御装置１によれば、新品の車両をユーザに提供する前に、工場などにおいて、点検装置をＥＣＵ２に電気的に接続した後、点検者による手動操作によって点検装置から実行指令信号がＥＣＵ２に入力されたときに、初期学習条件が成立するように、燃料噴射制御処理、点火時期制御処理及び吸気制御処理において、ステップ６１，８１，９１の初期値用制御処理が実行される。
【０１０９】
そして、これらの初期値用制御処理の実行中において、図６の初期学習条件判定処理において、ステップ２１〜２４の判別結果がすべてＹＥＳのとき、すなわち、Ｔｉ≧Ｔｉｒｅｆ，Ｔｆｕｅｌ１≦Ｔｆｕｅｌ≦Ｔｆｕｅｌ２，ＮＥ≦ＮＥｒｅｆ，ＰＦ１≦ＰＦ≦ＰＦ２がいずれも成立していることで、燃料噴射弁１０の閉弁遅れ時間Ｔｏｆｆが安定している状態のときに、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉが気筒３ａごとに学習される。したがって、４つの燃料噴射弁１０がエンジン３に取り付けられたときの、４つの燃料噴射弁１０間での閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉのばらつきを精度よく学習することができる。
【０１１０】
また、図９の通常学習処理では、ステップ５０〜５３の判別結果がすべてＹＥＳのとき、すなわち、Ｔｉ≧Ｔｉｒｅｆ，Ｔｆｕｅｌ１≦Ｔｆｕｅｌ≦Ｔｆｕｅｌ３，ＮＥ≦ＮＥｒｅｆ，ＰＦ３≦ＰＦ≦ＰＦ４がいずれも成立していることで、燃料噴射弁１０の閉弁遅れ時間Ｔｏｆｆが安定している状態のときに、閉弁遅れ時間の通常学習値Ｔｏｆｆ＿ＬＲＮが学習されるので、その学習精度を向上させることができる。
【０１１１】
さらに、燃料噴射制御処理の通常時制御処理では、エンジン３の運転状態に応じて、基本開弁時間Ｔｉ＿ｂｓを算出し、これを開弁時間補正値Ｃｏｒ＿Ｔｉで補正することにより、開弁時間Ｔｉが算出される。この開弁時間補正値Ｃｏｒ＿Ｔｉは、通常学習値Ｔｏｆｆ＿ＬＲＮから初期値Ｔｏｆｆ＿ｉｎｉ及び温度補正値Ｃｏｒ＿Ｔｏｆｆを減算した値に、所定のゲイン係数ＫＧを乗算することによって算出される。したがって、閉弁遅れ時間の初期値Ｔｏｆｆ＿ｉｎｉを学習してから現時点までの閉弁遅れ時間Ｔｏｆｆの変化と、現時点での燃料温度Ｔｆｕｅｌの影響（燃料の粘性抵抗の変化）を適切に反映させながら、開弁時間Ｔｉを燃料噴射弁１０ごとに算出することができ、その算出精度を向上させることができる。
【０１１２】
これに加えて、所定のゲイン係数ＫＧが０＜ＫＧ＜１が成立するように設定されているので、通常学習値Ｔｏｆｆ＿ＬＲＮ及び温度補正値Ｃｏｒ＿Ｔｏｆｆの算出誤差が一時的に増大した場合でも、そのように増大した算出誤差の影響を抑制しながら、開弁時間Ｔｉを算出することができ、制御精度を向上させることができる。
【０１１３】
なお、実施形態は、本発明の制御装置を４気筒タイプの内燃機関３に適用した例であるが、本発明の制御装置はこれに限らず、様々な気筒数の内燃機関に適用可能である。例えば、本発明の制御装置を、気筒数が１〜３個の内燃機関や、気筒数が５個以上の内燃機関に適用してもよい。
【０１１４】
また、実施形態は、本発明の制御装置を車両用の内燃機関に適用した例であるが、本発明の制御装置は、これに限らず、船舶用の内燃機関や、他の産業機器用の内燃機関にも適用可能である。
【符号の説明】
【０１１５】
１  制御装置
２  ＥＣＵ（初期値用制御手段、初期値取得手段、開弁時間算出手段、燃料噴射制御        手段、学習値取得手段、基本値算出手段、補正値算出手段）
３  内燃機関
３ａ  気筒
１０  燃料噴射弁
Ｔｏｆｆ  閉弁遅れ時間
Ｔｏｆｆ＿ｉｎｉ  閉弁遅れ時間の初期値
Ｔｏｆｆ＿ＬＲＮ  閉弁遅れ時間の通常学習値（学習値）
Ｔｉ  開弁時間
Ｔｉｒｅｆ  開弁時間の所定値
Ｔｉ＿ｂｓ  基本開弁時間（開弁時間の基本値）
ＫＧ  所定のゲイン係数（所定係数）
Ｃｏｒ＿Ｔｉ  開弁時間補正値（補正値）
ＩＧ  点火時期
ＮＥ  内燃機関の回転数
ＮＥｒｅｆ  内燃機関の回転数の所定値（所定回転数域を規定する値）
ＰＦ  燃料圧
ＰＦ１  燃料圧の所定値（所定圧域を規定する値）
ＰＦ２  燃料圧の所定値（所定圧域を規定する値）
ＰＦ３  燃料圧の所定値（所定圧域を規定する値）
ＰＦ４  燃料圧の所定値（所定圧域を規定する値）
Ｔｆｕｅｌ  燃料温度
Ｔ１  燃料温度の所定値（所定温度域を規定する値）
Ｔ２  燃料温度の所定値（所定温度域を規定する値）
Ｔ３  燃料温度の所定値（所定温度域を規定する値）
【図１】
2018044469.tif 000003
【図２】
2018044469.tif 000004
【図３】
2018044469.tif 000005
【図４】
2018044469.tif 000006
【図５】
2018044469.tif 000007
【図６】
2018044469.tif 000008
【図７】
2018044469.tif 000009
【図８】
2018044469.tif 000010
【図９】
2018044469.tif 000011
【図１０】
2018044469.tif 000012
【図１１】
2018044469.tif 000013
【図１２】
2018044469.tif 000014
【図１３】
2018044469.tif 000015
【図１４】
2018044469.tif 000016
【手続補正書】
【提出日】平成30年1月18日(2018.1.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
閉弁を指令してから実際に閉弁するまでの閉弁遅れ時間が存在する燃料噴射弁を備えた内燃機関の制御装置であって、
前記閉弁遅れ時間の初期値を取得するための初期値取得条件が成立するように、前記燃料噴射弁の開弁時間を制御するとともに前記内燃機関の点火時期を遅角側に制御する初期値用制御を実行する初期値用制御手段と、
当該初期値用制御の実行中において前記初期値取得条件が成立しているときに、前記閉弁遅れ時間の初期値を取得する初期値取得手段と、
前記初期値用制御以外の通常時制御を実行するときに、前記閉弁遅れ時間の前記初期値を用いて、前記燃料噴射弁の開弁時間を算出する開弁時間算出手段と、
前記通常時制御を実行するときに、当該算出された開弁時間で開弁するように、前記燃料噴射弁を制御する燃料噴射制御手段と、
を備えることを特徴とする内燃機関の制御装置。
【請求項２】
前記初期値取得条件は、前記初期値用制御の実行中における前記燃料噴射弁の開弁時間が所定値以上であることを含むことを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記初期値取得条件は、前記内燃機関の回転数が所定回転数域にあること、前記燃料噴射弁に供給される燃料圧が所定圧域にあること、及び燃料温度が所定温度域にあることを含むことを特徴とする請求項１又は２に記載の内燃機関の制御装置。
【請求項４】
前記通常時制御の実行中において前記閉弁遅れ時間の学習条件が成立しているときに、前記閉弁遅れ時間の学習値を取得する学習値取得手段をさらに備え、
前記開弁時間算出手段は、前記閉弁遅れ時間の前記学習値と前記閉弁遅れ時間の前記初期値との偏差を用いて、前記燃料噴射弁の開弁時間を算出することを特徴とする請求項１ないし３のいずれかに記載の内燃機関の制御装置。
【請求項５】
前記内燃機関の運転状態に応じて、前記開弁時間の基本値を算出する基本値算出手段と、
前記閉弁遅れ時間の前記学習値と前記閉弁遅れ時間の前記初期値との前記偏差に、所定係数を乗算した値を用いて、補正値を算出する補正値算出手段と、
をさらに備え、
前記開弁時間算出手段は、前記開弁時間の基本値を前記補正値で補正することにより、前記開弁時間を算出することを特徴とする請求項４に記載の内燃機関の制御装置。
【請求項６】
前記学習条件は、前記通常時制御の実行中における前記燃料噴射弁の開弁時間が所定値以上であることを含むことを特徴とする請求項４又は５に記載の内燃機関の制御装置。
【請求項７】
前記学習条件は、前記内燃機関の回転数が所定回転数域にあること、前記燃料噴射弁に供給される燃料圧が所定圧域にあること、及び燃料温度が所定温度域にあることを含むことを特徴とする請求項４ないし６のいずれかに記載の内燃機関の制御装置。
【請求項８】
前記内燃機関は、複数の気筒と、当該複数の気筒の各々に設けられた前記燃料噴射弁とを備えており、
前記初期値取得手段は、前記閉弁遅れ時間の前記初期値を前記燃料噴射弁ごとに取得することを特徴とする請求項１ないし７のいずれかに記載の内燃機関の制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
請求項２に係る発明は、請求項１に記載の内燃機関３の制御装置１において、初期値取得条件は、初期値用制御の実行中における燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であることを含むことを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
本出願人の実験により、燃料噴射弁の開弁時間が所定値以上の領域にある場合、燃料噴射弁のソレノイドのコイルを流れる電流が安定することにより、燃料噴射弁の閉弁遅れ時間が安定することが確認できた（後述する図８参照）。したがって、この内燃機関の制御装置によれば、初期値取得条件が、初期値用制御の実行中における燃料噴射弁の開弁時間が所定値以上であることを含むので、そのように閉弁遅れ時間が安定している状態で、閉弁遅れ時間の初期値を取得することができ、その取得精度を向上させることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】変更
【補正の内容】
【００２０】
請求項６に係る発明は、請求項４又は５に記載の内燃機関３の制御装置１において、学習条件は、通常時制御の実行中における燃料噴射弁１０の開弁時間Ｔｉが所定値Ｔｉｒｅｆ以上であることを含むことを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】変更
【補正の内容】
【００２１】
この内燃機関の制御装置によれば、学習条件が、通常時制御の実行中における燃料噴射弁の開弁時間が所定値以上であることを含むので、前述したように、燃料噴射弁の閉弁遅れ時間が安定している状態で、閉弁遅れ時間の学習値を取得することができ、その取得精度を向上させることができる。