(57)【要約】【課題】燃料噴射弁の弁体のリフト量がフルリフト位置に到達しない噴射パルスで燃料噴射弁を開弁駆動するパーシャルリフト噴射の噴射量ばらつきを精度良く補正する。【解決手段】少なくともパーシャルリフト噴射の噴射パルスのオフ後に、燃料噴射弁２１のマイナス端子電圧を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧と第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧との差分を算出し、所定の基準タイミングからフィルタ電圧の差分が変曲点となるタイミングまでの時間を電圧変曲点時間として算出する。この後、予め記憶された噴射パルス幅毎の電圧変曲点時間と噴射量との関係を用いて、現在の電圧変曲点時間に対応する噴射量を噴射パルス幅毎に推定する。その推定結果に基づいて噴射パルス幅と噴射量との関係を規定するマップを作成し、このマップを用いて要求噴射量に応じた要求噴射パルス幅を算出する。【選択図】図１
2015096722.tif 000002
【特許請求の範囲】
【請求項１】
電磁駆動式の燃料噴射弁（２１）を備えた内燃機関の燃料噴射制御装置において、
前記燃料噴射弁（２１）の弁体（３３）のリフト量がフルリフト位置に到達する噴射パルスで前記燃料噴射弁（２１）を開弁駆動するフルリフト噴射と前記弁体（３３）のリフト量が前記フルリフト位置に到達しない噴射パルスで前記燃料噴射弁（２１）を開弁駆動するパーシャルリフト噴射とを実行する噴射制御手段（３０）と、
前記パーシャルリフト噴射の噴射パルスのオフ後に、前記燃料噴射弁（２１）の端子電圧をノイズ成分の周波数よりも低い第１の周波数をカットオフ周波数とする第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧を取得すると共に、前記端子電圧を前記第１の周波数よりも低い第２の周波数をカットオフ周波数とする第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧を取得するフィルタ電圧取得手段（３５，３６，４０）と、
前記第１のフィルタ電圧と前記第２のフィルタ電圧との差分を算出する差分算出手段（３５，３６，４０）と、
所定の基準タイミングから前記差分が変曲点となるタイミングまでの時間を電圧変曲点時間として算出する時間算出手段（３５，３６，４０）と、
前記電圧変曲点時間に基づいて前記パーシャルリフト噴射の噴射パルスを補正する噴射パルス補正手段（３５）とを備え、
前記噴射パルス補正手段（３５）は、前記パーシャルリフト噴射となる複数の噴射パルス幅毎に前記電圧変曲点時間と噴射量との関係を予め記憶しておく記憶手段（４２）を有し、前記記憶手段（４２）に予め記憶された前記噴射パルス幅毎の前記電圧変曲点時間と前記噴射量との関係と、前記時間算出手段（３５，３６，４０）で算出した電圧変曲点時間とに基づいて、要求噴射量に応じた要求噴射パルス幅を算出することを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
前記噴射パルス補正手段（３５）は、前記記憶手段（４２）に予め記憶された前記電圧変曲点時間と前記噴射量との関係を用いて、前記時間算出手段（３５，３６，４０）で算出した電圧変曲点時間に対応する噴射量を前記噴射パルス幅毎に推定して、その推定結果に基づいて前記噴射パルス幅と前記噴射量との関係を設定し、前記噴射パルス幅と前記噴射量との関係を用いて前記要求噴射量に応じた要求噴射パルス幅を算出することを特徴とする請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項３】
前記噴射パルス補正手段（３５）は、前記時間算出手段（３５，３６，４０）で算出した全気筒の電圧変曲点時間の平均値を算出して各気筒の電圧変曲点時間と前記平均値との偏差を気筒毎に算出し、前記偏差と、前記記憶手段（４２）に予め記憶された前記電圧変曲点時間と前記噴射量との関係とに基づいて噴射補正量を気筒毎に算出し、前記噴射補正量を用いて前記要求噴射量に応じた要求噴射パルス幅を算出することを特徴とする請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項４】
前記噴射パルス補正手段（３５）は、前記電圧変曲点時間と前記噴射量との関係として、前記電圧変曲点時間と前記噴射量との関係を近似した一次式を用いることを特徴とする請求項１乃至３のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項５】
前記記憶手段（４２）は、前記噴射パルス幅毎に前記一次式の傾きと切片を記憶していることを特徴とする請求項４に記載の内燃機関の燃料噴射制御装置。
【請求項６】
前記記憶手段（４２）は、更に燃料圧力毎に前記一次式の傾きと切片を記憶していることを特徴とする請求項５に記載の内燃機関の燃料噴射制御装置。
【請求項７】
前記噴射パルス補正手段（３５）は、前記電圧変曲点時間と前記噴射量との関係として、前記電圧変曲点時間と前記噴射量との関係を近似した二次以上の多項式を用いることを特徴とする請求項１乃至３のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項８】
前記記憶手段（４２）は、前記噴射パルス幅毎に前記多項式の各項の定数を記憶していることを特徴とする請求項７に記載の内燃機関の燃料噴射制御装置。
【請求項９】
前記記憶手段（４２）は、更に燃料圧力毎に前記多項式の各項の定数を記憶していることを特徴とする請求項８に記載の内燃機関の燃料噴射制御装置。
【請求項１０】
前記噴射パルス補正手段（３５）は、各気筒毎に前記噴射パルスを補正することを特徴とする請求項１乃至９のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項１１】
前記噴射パルス補正手段（３５）は、前記噴射パルスを補正する際に、前記パーシャルリフト噴射となる噴射パルス幅のうちの一つの代表噴射パルス幅で前記パーシャルリフト噴射を実行した場合に前記時間算出手段（３５，３６，４０）で算出した電圧変曲点時間を用いることを特徴とする請求項１乃至１０のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項１２】
前記代表噴射パルス幅は、前記パーシャルリフト噴射と前記フルリフト噴射との境界に相当する噴射量の１／２の噴射量となる噴射パルス幅であることを特徴とする請求項１１に記載の内燃機関の燃料噴射制御装置。
【請求項１３】
前記時間算出手段（３５，３６，４０）は、前記差分が所定の閾値を越えるタイミングを、前記差分が前記変曲点となるタイミングとして前記電圧変曲点時間を算出することを特徴とする請求項１乃至１２のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項１４】
前記フィルタ電圧取得手段（３５，３６，４０）は、前記差分をノイズ成分の周波数よりも低い第３の周波数をカットオフ周波数とする第３のローパスフィルタでフィルタ処理した第３のフィルタ電圧を取得すると共に、前記差分を前記第３の周波数よりも低い第４の周波数をカットオフ周波数とする第４のローパスフィルタでフィルタ処理した第４のフィルタ電圧を取得し、
前記差分算出手段（３５，３６，４０）は、前記第３のフィルタ電圧と前記第４のフィルタ電圧との差分を２階差分として算出し、
前記時間算出手段（３５，３６，４０）は、前記２階差分が極値となるタイミングを、前記差分が前記変曲点となるタイミングとして前記電圧変曲点時間を算出することを特徴とする請求項１乃至１２のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項１５】
前記時間算出手段（３５，３６，４０）は、前記２階差分が増加しなくなったときに前記２階差分が前記極値であると判定することを特徴とする請求項１４に記載の内燃機関の燃料噴射制御装置。
【請求項１６】
前記パーシャルリフト噴射の実行中に、前記時間算出手段（３５，３６，４０）で算出した電圧変曲点時間に基づいて燃料性状を判定して、前記噴射パルスの算出に用いる前記燃料噴射弁（２１）の噴射特性を前記燃料性状に応じて変更する変更手段（３５）を備えていることを特徴とする請求項１乃至１５のいずれかに記載の内燃機関の燃料噴射制御装置。
【請求項１７】
前記変更手段（３５）は、前記電圧変曲点時間の燃料給油前後における変化量が所定値以上になったときに、前記噴射パルスの算出に用いる前記燃料噴射弁（２１）の噴射特性を変更することを特徴とする請求項１６に記載の内燃機関の燃料噴射制御装置。
【請求項１８】
前記変更手段（３５）は、前記電圧変曲点時間の燃料給油前後における変化量として、今回の燃料給油直前又は直後の電圧変曲点時間と今回の燃料給油から所定期間経過後の電圧変曲点時間との差、又は前回の燃料給油から所定期間経過後の電圧変曲点時間と今回の燃料給油から所定期間経過後の電圧変曲点時間との差を用いることを特徴とする請求項１７に記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電磁駆動式の燃料噴射弁を備えた内燃機関の燃料噴射制御装置に関する発明である。
【背景技術】
【０００２】
一般に、内燃機関の燃料噴射制御システムでは、電磁駆動式の燃料噴射弁を備え、内燃機関の運転状態に応じて要求噴射量を算出し、この要求噴射量に相当するパルス幅の噴射パルスで燃料噴射弁を開弁駆動して要求噴射量分の燃料を噴射するようにしている。
【０００３】
しかし、高圧の燃料を筒内に噴射する筒内噴射式の内燃機関の燃料噴射弁は、図５に示すように、噴射パルス幅に対する実噴射量の変化特性のリニアリティ（直線性）がパーシャルリフト領域（噴射パルス幅が短くて弁体のリフト量がフルリフト位置に到達しないパーシャルリフト状態となる領域）で悪化する傾向がある。このパーシャルリフト領域では、弁体（例えばニードル弁）のリフト量のばらつきが大きくなって噴射量ばらつきが大きくなる傾向があり、噴射量ばらつきが大きくなると、排気エミッションやドライバビリティが悪化する可能性がある。
【０００４】
燃料噴射弁の噴射量ばらつきの補正に関連する技術としては、例えば、特許文献１（ＵＳ２００３／００７１６１３号公報）に記載されているように、ソレノイドの駆動電圧ＵＭと、この駆動電圧ＵＭをローパスフィルタでフィルタ処理したリファレンス電圧ＵＲとを比較し、両者の交点に基づいてソレノイドのアーマチャ位置を検出するようにしたものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】ＵＳ２００３／００７１６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、上記特許文献１の技術では、フィルタ処理前の駆動電圧ＵＭ（生値）とフィルタ処理後のリファレンス電圧ＵＲとを比較しているため、フィルタ処理前の駆動電圧ＵＭに重畳するノイズの影響を受けて両者の交点を精度良く検出できない可能性がある。また、ソレノイドの特性によっては駆動電圧ＵＭとリファレンス電圧ＵＲの交点が存在しない可能性もある。このため、ソレノイドのアーマチャ位置を精度良く検出することは困難である。従って、上記特許文献１の技術を利用しても、燃料噴射弁のパーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができない。
【０００７】
そこで、本発明が解決しようとする課題は、燃料噴射弁のパーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる内燃機関の燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に係る発明は、電磁駆動式の燃料噴射弁（２１）を備えた内燃機関の燃料噴射制御装置において、燃料噴射弁（２１）の弁体（３３）のリフト量がフルリフト位置に到達する噴射パルスで燃料噴射弁（２１）を開弁駆動するフルリフト噴射と弁体（３３）のリフト量がフルリフト位置に到達しない噴射パルスで燃料噴射弁（２１）を開弁駆動するパーシャルリフト噴射とを実行する噴射制御手段（３０）と、パーシャルリフト噴射の噴射パルスのオフ後に、燃料噴射弁（２１）の端子電圧をノイズ成分の周波数よりも低い第１の周波数をカットオフ周波数とする第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧を取得すると共に、端子電圧を第１の周波数よりも低い第２の周波数をカットオフ周波数とする第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧を取得するフィルタ電圧取得手段（３５，３６，４０）と、第１のフィルタ電圧と第２のフィルタ電圧との差分を算出する差分算出手段（３５，３６，４０）と、所定の基準タイミングから差分が変曲点となるタイミングまでの時間を電圧変曲点時間として算出する時間算出手段（３５，３６，４０）と、電圧変曲点時間に基づいてパーシャルリフト噴射の噴射パルスを補正する噴射パルス補正手段（３５）とを備え、この噴射パルス補正手段（３５）は、パーシャルリフト噴射となる複数の噴射パルス幅毎に電圧変曲点時間と噴射量との関係を予め記憶しておく記憶手段（４２）を有し、この記憶手段（４２）に予め記憶された噴射パルス幅毎の電圧変曲点時間と噴射量との関係と、時間算出手段（３５，３６，４０）で算出した電圧変曲点時間とに基づいて、要求噴射量に応じた要求噴射パルス幅を算出する構成としたものである。
【０００９】
燃料噴射弁は、噴射パルスのオフ後に誘導起電力によって端子電圧（例えばマイナス端子電圧）が変化する（図１６参照）。その際、燃料噴射弁が閉弁するときに、弁体の変化速度（可動コアの変化速度）が比較的大きく変化して、端子電圧の変化特性が変化するため、閉弁タイミング付近で端子電圧の変化特性が変化する電圧変曲点となる。
【００１０】
このような特性に着目して、本発明では、まず、パーシャルリフト噴射の噴射パルスのオフ後に、端子電圧をノイズ成分の周波数よりも低い第１の周波数をカットオフ周波数とする第１のローパスフィルタでフィルタ処理（なまし処理）した第１のフィルタ電圧を取得すると共に、端子電圧を第１の周波数よりも低い第２の周波数をカットオフ周波数とする第２のローパスフィルタでフィルタ処理（なまし処理）した第２のフィルタ電圧を取得する。これにより、端子電圧からノイズ成分を除去した第１のフィルタ電圧と電圧変曲点検出用の第２のフィルタ電圧を取得することができる。
【００１１】
更に、第１のフィルタ電圧と第２のフィルタ電圧との差分を算出し、所定の基準タイミングから差分が変曲点となるタイミングまでの時間を電圧変曲点時間として算出する。これにより、燃料噴射弁の閉弁タイミングに応じて変化する電圧変曲点時間を精度良く算出することができる。
【００１２】
また、燃料噴射弁のパーシャルリフト領域では、図６に示すように、燃料噴射弁のリフト量のばらつきによって噴射量が変動すると共に閉弁タイミングが変動するため、燃料噴射弁の噴射量と閉弁タイミングとの間には相関関係がある。更に、燃料噴射弁の閉弁タイミングに応じて電圧変曲点時間が変化するため、図７に示すように、電圧変曲点時間と噴射量との間には相関関係がある。
【００１３】
このような関係に着目して、電圧変曲点時間に基づいてパーシャルリフト噴射の噴射パルスを補正することで、パーシャルリフト噴射の噴射パルスを精度良く補正することができる。
【００１４】
その際、本発明では、パーシャルリフト噴射となる複数の噴射パルス幅毎に電圧変曲点時間と噴射量との関係を予め記憶しておく。そして、この予め記憶された噴射パルス幅毎の電圧変曲点時間と噴射量との関係と、時間算出手段で算出した電圧変曲点時間（つまり燃料噴射弁の現在の噴射特性を反映した電圧変曲点時間）とに基づいて、要求噴射量に応じた要求噴射パルス幅を算出する。これにより、燃料噴射弁の現在の噴射特性において要求噴射量を実現するのに必要な要求噴射パルス幅を精度良く設定することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の実施例１におけるエンジン制御システムの概略構成を示す図である。
【図２】図２は実施例１のＥＣＵの構成を示すブロック図である。
【図３】図３は燃料噴射弁のフルリフトを説明する図である。
【図４】図４は燃料噴射弁のパーシャルリフトを説明する図である。
【図５】図５は燃料噴射弁の噴射パルス幅と実噴射量との関係を示す図である。
【図６】図６は燃料噴射弁の噴射量と閉弁タイミング等の関係を説明する図である。
【図７】図７は燃料噴射弁の電圧変曲点時間と噴射量との関係を示す図である。
【図８】図８は電圧変曲点時間Ｖdiffと噴射量Ｑとの関係を近似した一次式を説明する図である。
【図９】図９は電圧変曲点時間Ｖdiffに対応する噴射量Ｑest を推定する処理を説明する図である。
【図１０】図１０は噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップの一例を概念的に示す図である。
【図１１】図１１は要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する処理を説明する図である。
【図１２】図１２は実施例１の電圧変曲点時間算出ルーチンの処理の流れを示すフローチャートである。
【図１３】図１３は実施例１の噴射パルス補正ルーチンの処理の流れを示すフローチャート（その１）である。
【図１４】図１４は実施例１の噴射パルス補正ルーチンの処理の流れを示すフローチャート（その２）である。
【図１５】図１５は代表噴射パルス幅Ｔi(x)を説明する図である。
【図１６】図１６は実施例１の電圧変曲点時間算出の実行例を示すタイムチャートである。
【図１７】図１７は実施例２の電圧変曲点時間算出ルーチンの処理の流れを示すフローチャートである。
【図１８】図１８は実施例２の電圧変曲点時間算出の実行例を示すタイムチャートである。
【図１９】図１９は実施例３の電圧変曲点時間算出ルーチンの処理の流れを示すフローチャートである。
【図２０】図２０は実施例３の電圧変曲点時間算出の実行例を示すタイムチャートである。
【図２１】図２１は実施例４の電圧変曲点時間算出ルーチンの処理の流れを示すフローチャートである。
【図２２】図２２は実施例４の電圧変曲点時間算出の実行例を示すタイムチャートである。
【図２３】図２３は実施例５の電圧変曲点時間Ｖdiffと噴射量Ｑとの関係を近似した一次式を説明する図である。
【図２４】図２４は実施例６の噴射パルス補正ルーチンの主要部の処理の流れを示すフローチャートである。
【図２５】図２５は噴射補正量ΔＱの算出方法を説明する図である。
【図２６】図２６は噴射補正量ΔＱを用いた噴射パルスの補正方法を説明する図である。
【図２７】図２７は実施例７の噴射パルス補正ルーチンの主要部の処理の流れを示すフローチャートである。
【図２８】図２８は電圧変曲点時間Ｖdiffと噴射量Ｑとの関係を近似した二次式を説明する図である。
【図２９】図２９は変化割合Ｑgainを用いた噴射パルスの補正方法を説明する図である。
【図３０】図３０は燃料の粘性の違いよる噴射特性の変化を説明する図である。
【図３１】図３１は実施例８の噴射特性マップ変更ルーチンの処理の流れを示すフローチャートである。
【図３２】図３２は実施例９のＥＣＵの構成を示すブロック図である。
【図３３】図３３は実施例１０のＥＣＵの構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１７】
本発明の実施例１を図１乃至図１６に基づいて説明する。
まず、図１に基づいてエンジン制御システムの概略構成を説明する。
筒内噴射式の内燃機関である筒内噴射式エンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１８】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、エンジン１１の各気筒には、それぞれ筒内に燃料を直接噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各気筒の点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００１９】
一方、エンジン１１の排気管２３には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００２０】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキングを検出するノックセンサ２７が取り付けられている。また、クランク軸２８の外周側には、クランク軸２８が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２９が取り付けられ、このクランク角センサ２９の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２１】
これら各種センサの出力は、電子制御ユニット（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御用のプログラムを実行することで、エンジン運転状態に応じて、燃料噴射量、点火時期、スロットル開度（吸入空気量）等を制御する。
【００２２】
図２に示すように、ＥＣＵ３０には、エンジン制御用マイコン３５（エンジン１１の制御用のマイクロコンピュータ）やインジェクタ駆動用ＩＣ３６（燃料噴射弁２１の駆動用ＩＣ）等が設けられている。ＥＣＵ３０は、エンジン制御用マイコン３５で、エンジン運転状態（例えばエンジン回転速度やエンジン負荷等）に応じて要求噴射量を算出して、この要求噴射量に応じて要求噴射パルス幅Ｔi （噴射時間）を算出し、インジェクタ駆動用ＩＣ３６で、要求噴射量に応じた要求噴射パルス幅Ｔi で燃料噴射弁２１を開弁駆動して要求噴射量分の燃料を噴射する。
【００２３】
図３及び図４に示すように、燃料噴射弁２１は、噴射パルスをオンして駆動コイル３１に通電したときに駆動コイル３１によって生じる電磁力によってプランジャ３２（可動コア）と一体的にニードル弁３３（弁体）を開弁方向に駆動する構成となっている。図３に示すように、噴射パルス幅が比較的長くなるフルリフト領域では、ニードル弁３３のリフト量がフルリフト位置（プランジャ３２がストッパ３４に突き当たる位置）に到達するが、図４に示すように、噴射パルス幅が比較的短くなるパーシャルリフト領域では、ニードル弁３３のリフト量がフルリフト位置に到達しないパーシャルリフト状態（プランジャ３２がストッパ３４に突き当たる手前の状態）となる。
【００２４】
ＥＣＵ３０は、フルリフト領域ではニードル弁３３のリフト量がフルリフト位置に到達する噴射パルスで燃料噴射弁２１を開弁駆動するフルリフト噴射を実行し、パーシャルリフト領域ではニードル弁３３のリフト量がフルリフト位置に到達しないパーシャルリフト状態となる噴射パルスで燃料噴射弁２１を開弁駆動するパーシャルリフト噴射を実行する噴射制御手段として機能する。
【００２５】
高圧の燃料を筒内に噴射する筒内噴射式エンジン１１の燃料噴射弁２１は、図５に示すように、噴射パルス幅に対する実噴射量の変化特性のリニアリティ（直線性）がパーシャルリフト領域（噴射パルス幅が短くてニードル弁３３のリフト量がフルリフト位置に到達しないパーシャルリフト状態となる領域）で悪化する傾向がある。このパーシャルリフト領域では、ニードル弁３３のリフト量のばらつきが大きくなって噴射量ばらつきが大きくなる傾向があり、噴射量ばらつきが大きくなると、排気エミッションやドライバビリティが悪化する可能性がある。
【００２６】
ところで、燃料噴射弁２１は、噴射パルスのオフ後に誘導起電力によってマイナス端子電圧が変化する（図１６参照）。その際、燃料噴射弁２１が閉弁するときに、ニードル弁３３の変化速度（プランジャ３２の変化速度）が比較的大きく変化して、マイナス端子電圧の変化特性が変化するため、閉弁タイミング付近でマイナス端子電圧の変化特性が変化する電圧変曲点となる。
【００２７】
このような特性に着目して、本実施例１では、ＥＣＵ３０（例えばインジェクタ駆動用ＩＣ３６）により後述する図１２の電圧変曲点時間算出ルーチンを実行することで、閉弁タイミングに関連する情報として電圧変曲点時間を次のようにして算出する。
【００２８】
ＥＣＵ３０は、インジェクタ駆動用ＩＣ３６の演算部３７（図２参照）で、パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、燃料噴射弁２１のマイナス端子電圧Ｖm をノイズ成分の周波数よりも低い第１の周波数ｆ1 をカットオフ周波数とする第１のローパスフィルタでフィルタ処理（なまし処理）した第１のフィルタ電圧Ｖsm1 を算出すると共に、燃料噴射弁２１のマイナス端子電圧Ｖm を第１の周波数ｆ1 よりも低い第２の周波数ｆ2 をカットオフ周波数とする第２のローパスフィルタでフィルタ処理（なまし処理）した第２のフィルタ電圧Ｖsm2 を算出する処理をエンジン１１の各気筒毎に行う。これにより、マイナス端子電圧Ｖm からノイズ成分を除去した第１のフィルタ電圧Ｖsm1 と電圧変曲点検出用の第２のフィルタ電圧Ｖsm2 を算出することができる。
【００２９】
更に、インジェクタ駆動用ＩＣ３６の演算部３７で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiff（＝Ｖsm1 −Ｖsm2 ）を算出し、所定の基準タイミングから差分Ｖdiffが変曲点となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する処理をエンジン１１の各気筒毎に行う。この際、本実施例１では、差分Ｖdiffが所定の閾値Ｖt を越えるタイミングを、差分Ｖdiffが変曲点となるタイミングとして電圧変曲点時間Ｔdiffを算出する。つまり、所定の基準タイミングから差分Ｖdiffが所定の閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。これにより、燃料噴射弁２１の閉弁タイミングに応じて変化する電圧変曲点時間Ｔdiffを精度良く算出することができる。本実施例１では、パーシャルリフト噴射の噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出する。尚、閾値Ｖt は、エンジン制御用マイコン３５の閾値算出部３８（図２参照）で燃圧や燃温等に応じて算出される。或は、閾値Ｖt を予め設定した固定値としても良い。
【００３０】
また、燃料噴射弁２１のパーシャルリフト領域では、図６に示すように、燃料噴射弁２１のリフト量のばらつきによって噴射量が変動すると共に閉弁タイミングが変動するため、燃料噴射弁２１の噴射量と閉弁タイミングとの間には相関関係がある。更に、燃料噴射弁２１の閉弁タイミングに応じて電圧変曲点時間Ｔdiffが変化するため、図７に示すように、電圧変曲点時間Ｔdiffと噴射量との間には相関関係がある。
【００３１】
このような関係に着目して、本実施例１では、ＥＣＵ３０（例えばエンジン制御用マイコン３５）により後述する図１３及び図１４の噴射パルス補正ルーチンを実行することで、電圧変曲点時間Ｔdiffに基づいてパーシャルリフト噴射の噴射パルスを次のようにして補正する。
【００３２】
ＥＣＵ３０は、エンジン制御用マイコン３５のＲＯＭ４２（記憶手段）に、パーシャルリフト噴射となる複数の噴射パルス幅Ｔi 毎に電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を予め記憶しておく。本実施例１では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式Ｑ＝ａ×Ｔdiff＋ｂを用いる。この場合、図８に示すように、予め試験データ等に基づいて、複数（例えばｍ個）の噴射パルス幅Ｔi[1]〜Ｔi[m]について、それぞれ電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式Ｑ＝ａ×Ｔdiff＋ｂを作成しておき、噴射パルス幅Ｔi 毎に一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａと切片ｂをＲＯＭ４２に記憶しておく。
【００３３】
そして、ＥＣＵ３０は、エンジン制御用マイコン３５の噴射パルス補正演算部３９で、まず、ＲＯＭ４２に予め記憶された噴射パルス幅Ｔi 毎の電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式Ｑ＝ａ×Ｔdiff＋ｂ）を用いて、インジェクタ駆動用ＩＣ３６（演算部３７）で算出した電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を噴射パルス幅Ｔi 毎に推定する処理をエンジン１１の各気筒毎に行う。具体的には、図９に示すように、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ噴射パルス幅Ｔi[1]〜Ｔi[m]毎に記憶された一次式Ｑ＝ａ×Ｔdiff＋ｂを用いて、該当する気筒の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を噴射パルス幅Ｔi 毎に推定（算出）する。これにより、現在の電圧変曲点時間Ｔdiff（つまり燃料噴射弁２１の現在の噴射特性を反映した電圧変曲点時間Ｔdiff）に対応する噴射量Ｑest を噴射パルス幅Ｔi 毎に推定することができる。
【００３４】
更に、その推定結果（噴射パルス幅Ｔi 毎に電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を推定した結果）に基づいて、噴射パルス幅Ｔi と噴射量Ｑest との関係を設定する処理をエンジン１１の各気筒毎に行う。具体的には、図１０に示すように、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを作成する。これにより、燃料噴射弁２１の現在の噴射特性に対応した噴射パルス幅Ｔi と噴射量Ｑest との関係を設定することができ、噴射パルス幅Ｔi と噴射量Ｑest との関係を修正することができる。
【００３５】
この後、噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する処理をエンジン１１の各気筒毎に行う。具体的には、図１１に示すように、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ該当する気筒のマップ（噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ）を用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する。これにより、燃料噴射弁２１の現在の噴射特性において要求噴射量Ｑreq を実現するのに必要な要求噴射パルス幅Ｔireqを精度良く設定することができる。
【００３６】
本実施例１では、インジェクタ駆動用ＩＣ３６（演算部３７）が特許請求の範囲でいうフィルタ電圧取得手段と差分算出手段と時間算出手段として機能し、エンジン制御用マイコン３５（噴射パルス補正演算部３９）が特許請求の範囲でいう噴射パルス補正手段として機能する。
【００３７】
以下、本実施例１でＥＣＵ３０（エンジン制御用マイコン３５及び／又はインジェクタ駆動用ＩＣ３６）が実行する図１２の電圧変曲点時間算出ルーチンと図１３及び図１４の噴射パルス補正ルーチンの処理内容を説明する。
【００３８】
［電圧変曲点時間算出ルーチン］
図１２に示す電圧変曲点時間算出ルーチンは、ＥＣＵ３０の電源オン期間中（例えばイグニッションスイッチのオン期間中）に所定の演算周期Ｔs で繰り返し実行される。本ルーチンが起動されると、まず、ステップ１０１で、パーシャルリフト噴射の実行中であるか否かを判定する。このステップ１０１で、パーシャルリフト噴射の実行中ではないと判定された場合には、ステップ１０２以降の処理を実行することなく、本ルーチンを終了する。
【００３９】
一方、上記ステップ１０１で、パーシャルリフト噴射の実行中であると判定された場合には、ステップ１０２に進み、燃料噴射弁２１のマイナス端子電圧Ｖm を取得する。この場合、本ルーチンの演算周期Ｔs がマイナス端子電圧Ｖm のサンプリング周期Ｔs となる。
【００４０】
この後、ステップ１０３に進み、燃料噴射弁２１のマイナス端子電圧Ｖm をノイズ成分の周波数よりも低い第１の周波数ｆ1 をカットオフ周波数とする第１のローパスフィルタ（つまりカットオフ周波数ｆ1 よりも低い周波数帯域を通過域とするローパスフィルタ）でフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出する。
【００４１】
第１のローパスフィルタは、第１のフィルタ電圧の前回値Ｖsm1(k-1)とマイナス端子電圧の今回値Ｖm(k)とを用いて第１のフィルタ電圧の今回値Ｖsm1(k)を求める下記（１）式で実装されるデジタルフィルタである。
Ｖsm1(k)＝｛（ｎ1 −１）／ｎ1 ｝×Ｖsm1(k-1)＋（１／ｎ1 ）×Ｖm(k)…（１）
【００４２】
この第１のローパスフィルタの時定数ｎ1 は、マイナス端子電圧Ｖm のサンプリング周波数ｆs （＝１／Ｔs ）と第１のローパスフィルタのカットオフ周波数ｆ1 とを用いた下記（２）式の関係を満たすように設定されている。
１／ｆs ：１／ｆ1 ＝１：（ｎ1 −１）…（２）
【００４３】
これにより、ノイズ成分の周波数よりも低い第１の周波数ｆ1 をカットオフ周波数とする第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を容易に算出することができる。
【００４４】
この後、ステップ１０４に進み、燃料噴射弁２１のマイナス端子電圧Ｖm を第１の周波数ｆ1 よりも低い第２の周波数ｆ2 をカットオフ周波数とする第２のローパスフィルタ（つまりカットオフ周波数ｆ2 よりも低い周波数帯域を通過域とするローパスフィルタ）でフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出する。
【００４５】
第２のローパスフィルタは、第２のフィルタ電圧の前回値Ｖsm2(k-1)とマイナス端子電圧の今回値Ｖm(k)とを用いて第２のフィルタ電圧の今回値Ｖsm2(k)を求める下記（３）式で実装されるデジタルフィルタである。
Ｖsm2(k)＝｛（ｎ2 −１）／ｎ2 ｝×Ｖsm2(k-1)＋（１／ｎ2 ）×Ｖm(k)…（３）
【００４６】
この第２のローパスフィルタの時定数ｎ2 は、マイナス端子電圧Ｖm のサンプリング周波数ｆs （＝１／Ｔs ）と第２のローパスフィルタのカットオフ周波数ｆ2 とを用いた下記（４）式の関係を満たすように設定されている。
１／ｆs ：１／ｆ2 ＝１：（ｎ2 −１）…（４）
【００４７】
これにより、第１の周波数ｆ1 よりも低い第２の周波数ｆ2 をカットオフ周波数とする第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を容易に算出することができる。
【００４８】
この後、ステップ１０５に進み、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiff（＝Ｖsm1 −Ｖsm2 ）を算出する。尚、この差分Ｖdiffが０以上にならないようにガード処理して、マイナス成分だけを抽出するようにしても良い。
この後、ステップ１０６に進み、閾値Ｖt を取得すると共に、電圧変曲点時間の前回値Ｔdiff(k-1) を取得する。
【００４９】
この後、ステップ１０７に進み、噴射パルスがオフからオンに切り換わるタイミングであるか否かを判定する。このステップ１０７で、噴射パルスがオフからオンに切り換わるタイミングであると判定された場合には、ステップ１１０に進み、電圧変曲点時間の今回値Ｔdiff(k) を「０」にリセットする。
Ｔdiff(k) ＝０
【００５０】
一方、上記ステップ１０７で、噴射パルスがオフからオンに切り換わるタイミングではないと判定された場合には、ステップ１０８に進み、噴射パルスがオンであるか否かを判定する。このステップ１０８で、噴射パルスがオンであると判定された場合には、ステップ１１１に進み、電圧変曲点時間の前回値Ｔdiff(k-1) に所定値Ｔs （本ルーチンの演算周期）を加算して電圧変曲点時間の今回値Ｔdiff(k) を求めることで、電圧変曲点時間Ｔdiffをカウントアップする。
Ｔdiff(k) ＝Ｔdiff(k-1) ＋Ｔs
【００５１】
その後、上記ステップ１０８で、噴射パルスがオンではない（つまり噴射パルスがオフである）と判定された場合には、ステップ１０９に進み、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたか否か（閾値Ｖt よりも小から大になったか否か）を判定する。
【００５２】
このステップ１０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffがまだ閾値Ｖt を越えていないと判定された場合には、ステップ１１１に進み、電圧変曲点時間Ｔdiffをカウントアップする処理を継続する。
【００５３】
その後、上記ステップ１０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたと判定された場合には、電圧変曲点時間Ｔdiffの算出が完了したと判断して、ステップ１１２に進み、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持する。
Ｔdiff(k) ＝Ｔdiff(k-1)
【００５４】
これにより、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）から差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出し、この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングまで保持する。このようにして電圧変曲点時間Ｔdiffを算出する処理をエンジン１１の各気筒毎に行う。
【００５５】
［噴射パルス補正ルーチン］
図１３及び図１４に示す噴射パルス補正ルーチンは、ＥＣＵ３０の電源オン期間中（例えばイグニッションスイッチのオン期間中）に所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ２０１で、パーシャルリフト噴射の実行中であるか否かを判定する。このステップ２０１で、パーシャルリフト噴射の実行中ではないと判定された場合には、ステップ２０２以降の処理を実行することなく、本ルーチンを終了する。
【００５６】
一方、上記ステップ２０１で、パーシャルリフト噴射の実行中であると判定された場合には、ステップ２０２に進み、所定の実行条件が成立しているか否かを、例えば、噴射パルス幅Ｔi を後述する代表噴射パルス幅Ｔi(x)に設定しても良い運転状態であるか否か等によって判定する。
【００５７】
このステップ２０２で、実行条件が成立していると判定された場合には、ステップ２０３に進み、噴射パルス幅Ｔi をパーシャルリフト噴射となる噴射パルス幅のうちの一つの代表噴射パルス幅Ｔi(x)に設定する。
【００５８】
図１５に示すように、燃料噴射弁２１は、パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の略１／２の噴射量となる噴射パルス幅付近（図１５に点線で示す領域内の噴射パルス幅）で噴射量ばらつき幅が最も大きくなる傾向がある。このような特性を考慮に入れて、代表噴射パルス幅Ｔi(x)は、パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の１／２の噴射量となる噴射パルス幅に設定されている。
【００５９】
この後、ステップ２０４に進み、図１２のルーチンで算出した各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）の電圧変曲点時間Ｔdiffを取得する。つまり、代表噴射パルス幅Ｔi(x)でパーシャルリフト噴射を実行した場合にインジェクタ駆動用ＩＣ３６（演算部３７）で算出した各気筒の電圧変曲点時間Ｔdiffを取得する。
【００６０】
この後、図１４のステップ２０５に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ噴射パルス幅Ｔi[1]〜Ｔi[m]毎に記憶された一次式Ｑ＝ａ×Ｔdiff＋ｂを用いて、該当する気筒の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を噴射パルス幅Ｔi 毎に推定（算出）する（図９参照）。
【００６１】
この後、ステップ２０６に進み、上記ステップ２０５の推定結果に基づいて、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）毎に噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ（図１０参照）を作成して、噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを修正（更新）する。
【００６２】
この後、ステップ２０７に進み、要求噴射量Ｑreq を取得した後、ステップ２０８に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ該当する気筒のマップ（噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ）を用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する（図１１参照）。
【００６３】
その後、上記ステップ２０２で、実行条件が不成立であると判定された場合には、ステップ２０３〜２０６の処理を飛ばして、ステップ２０７に進み、修正後（更新後）のマップを用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する（ステップ２０７，２０８）。
【００６４】
次に、図１６のタイムチャートを用いて本実施例１の電圧変曲点時間算出の実行例を説明する。
パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、燃料噴射弁２１のマイナス端子電圧Ｖm を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出すると共に、燃料噴射弁２１のマイナス端子電圧Ｖm を第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出する。更に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiff（＝Ｖsm1 −Ｖsm2 ）を算出する。
【００６５】
そして、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）ｔ1 で、電圧変曲点時間Ｔdiffを「０」にリセットした後、電圧変曲点時間Ｔdiffの算出を開始して、所定の演算周期Ｔs で電圧変曲点時間Ｔdiffをカウントアップする処理を繰り返す。
【００６６】
その後、噴射パルスのオフ後に第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えるタイミングｔ2 で、電圧変曲点時間Ｔdiffの算出を完了する。これにより、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）ｔ1 から差分Ｖdiffが閾値Ｖt を越えるタイミングｔ2 までの時間を電圧変曲点時間Ｔdiffとして算出する。
【００６７】
この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングｔ3 まで保持し、この間（電圧変曲点時間Ｔdiffの算出完了タイミングｔ2 から次の基準タイミングｔ3 までの期間）に、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffをインジェクタ駆動用ＩＣ３６から取得する。
【００６８】
以上説明した本実施例１では、パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、燃料噴射弁２１のマイナス端子電圧Ｖm を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出することで、ノイズ成分を除去した第１のフィルタ電圧Ｖsm1 を算出することができる。また、燃料噴射弁２１のマイナス端子電圧Ｖm を第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出することで、電圧変曲点検出用の第２のフィルタ電圧Ｖsm2 を算出することができる。
【００６９】
更に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出し、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）から差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出することで、燃料噴射弁２１の閉弁タイミングに応じて変化する電圧変曲点時間Ｔdiffを精度良く算出することができる。
そして、この電圧変曲点時間Ｔdiffに基づいてパーシャルリフト噴射の噴射パルスを補正することで、パーシャルリフト噴射の噴射パルスを精度良く補正することができる。
【００７０】
その際、本実施例１では、まず、ＲＯＭ４２に予め記憶された噴射パルス幅Ｔi 毎の電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式Ｑ＝ａ×Ｔdiff＋ｂ）を用いて、現在の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を噴射パルス幅Ｔi 毎に推定し、その推定結果に基づいて、噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを作成する。このマップを用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出することで、燃料噴射弁２１の現在の噴射特性において要求噴射量Ｑreq を実現するのに必要な要求噴射パルス幅Ｔireqを精度良く設定することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができ、パーシャルリフト領域での噴射量制御精度を向上させることができる。
【００７１】
また、本実施例１では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式Ｑ＝ａ×Ｔdiff＋ｂを用いるようにしたので、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を比較的簡単な数式で表すことができ、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式）を用いて、現在の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を推定（演算）する際のエンジン制御用マイコン３５の演算負荷を低減することができる。
【００７２】
更に、本実施例１では、噴射パルス幅Ｔi 毎に一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａと切片ｂをＲＯＭ４２に記憶しておくようにしたので、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式）を記憶しておくのに必要な記憶データ量（メモリ使用量）を低減することができる。
【００７３】
また、本実施例１では、各気筒毎に噴射パルスを補正するようにしたので、各気筒の燃料噴射弁２１のパーシャルリフト領域での噴射量ばらつき幅が異なっていても、各気筒毎（各気筒の燃料噴射弁２１毎）にそれぞれ噴射パルスを補正して、各気筒毎にパーシャルリフト領域での噴射量制御精度を向上させることができる。
【００７４】
また、本実施例１では、噴射パルスを補正する際に、パーシャルリフト噴射となる噴射パルス幅のうちの一つの代表噴射パルス幅Ｔi(x)でパーシャルリフト噴射を実行した場合に算出した電圧変曲点時間Ｔdiffを用いるようにしたので、噴射パルスを補正する際に、一つの代表噴射パルス幅Ｔi(x)でパーシャルリフト噴射を実行した場合の電圧変曲点時間Ｔdiffを用いるだけで良く、エンジン制御用マイコン３５の演算負荷を低減することができる。
【００７５】
しかも、本実施例１では、パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の略１／２の噴射量となる噴射パルス幅付近で噴射量ばらつき幅が最も大きくなる傾向があることを考慮に入れて、代表噴射パルス幅Ｔi(x)を、パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の１／２の噴射量となる噴射パルス幅に設定するようにしたので、噴射量ばらつき幅が最も大きくなる噴射パルス幅でパーシャルリフト噴射を実行した場合の電圧変曲点時間Ｔdiff（つまり噴射量ばらつきの影響を精度良く反映した電圧変曲点時間Ｔdiff）を用いて噴射パルスを補正することができ、噴射量ばらつきの補正精度を向上させることができる。
【００７６】
また、本実施例１では、第１のローパスフィルタと第２のローパスフィルタとして、それぞれデジタルフィルタを用いるようにしたので、第１のローパスフィルタと第２のローパスフィルタを容易に実装することができる。
【００７７】
更に、本実施例１では、インジェクタ駆動用ＩＣ３６（演算部３７）がフィルタ電圧取得手段と差分算出手段と時間算出手段として機能するようにしたので、ＥＣＵ３０のうちのインジェクタ駆動用ＩＣ３６の仕様を変更するだけでフィルタ電圧取得手段と差分算出手段と時間算出手段としての機能を実現することができると共に、エンジン制御用マイコン３５の演算負荷を軽減することができる。
【００７８】
また、本実施例１では、パーシャルリフト噴射の噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしたので、噴射パルスがオフからオンに切り換わるタイミングを基準にして電圧変曲点時間Ｔdiffを精度良く算出することができる。
【００７９】
また、本実施例１では、基準タイミングで電圧変曲点時間Ｔdiffをリセットした後に電圧変曲点時間Ｔdiffの算出を開始し、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えるタイミングで電圧変曲点時間Ｔdiffの算出を完了し、この電圧変曲点時間の算出値を次の基準タイミングまで保持するようにしたので、電圧変曲点時間Ｔdiffの算出完了から次の基準タイミングまで電圧変曲点時間Ｔdiffの算出値を保持することができ、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffを取得可能な期間を長くすることができる。
【実施例２】
【００８０】
次に、図１７及び図１８を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【００８１】
前記実施例１では、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが所定の閾値Ｖt を越えるタイミングを、差分Ｖdiffが変曲点となるタイミングとして電圧変曲点時間Ｔdiffを算出するようにしたが、本実施例２では、ＥＣＵ３０により後述する図１７の電圧変曲点時間算出ルーチンを実行することで、電圧変曲点時間Ｔdiffを次のようにして算出する。
【００８２】
ＥＣＵ３０は、インジェクタ駆動用ＩＣ３６の演算部３７で、差分Ｖdiffをノイズ成分の周波数よりも低い第３の周波数ｆ3 をカットオフ周波数とする第３のローパスフィルタでフィルタ処理（なまし処理）した第３のフィルタ電圧Ｖdiff.sm3を算出すると共に、差分Ｖdiffを第３の周波数ｆ3 よりも低い第４の周波数ｆ4 をカットオフ周波数とする第４のローパスフィルタでフィルタ処理（なまし処理）した第４のフィルタ電圧Ｖdiff.sm4を算出する。更に、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 （＝Ｖdiff.sm3−Ｖdiff.sm4）として算出し、この２階差分Ｖdiff2 が極値となるタイミング（例えば２階差分Ｖdiff2 が増加しなくなったタイミング）を、差分Ｖdiffが変曲点となるタイミングとして電圧変曲点時間Ｔdiffを算出する。つまり、所定の基準タイミングから２階差分Ｖdiff2 が極値となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。これにより、燃料噴射弁２１の閉弁タイミングに応じて変化する電圧変曲点時間Ｔdiffを精度良く且つ早いタイミングで算出することができる。本実施例２では、パーシャルリフト噴射の噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出する。
【００８３】
本実施例２で実行する図１７のルーチンのステップ３０１〜３０５の処理は、前記実施例１で説明した図１２のルーチンのステップ１０１〜１０５の処理と同じである。
図１７の電圧変曲点時間算出ルーチンでは、パーシャルリフト噴射の実行中であると判定された場合には、燃料噴射弁２１のマイナス端子電圧Ｖm を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出すると共に、燃料噴射弁２１のマイナス端子電圧Ｖm を第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出する（ステップ３０１〜３０４）。この後、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiff（＝Ｖsm1 −Ｖsm2 ）を算出する（ステップ３０５）。
【００８４】
この後、ステップ３０６に進み、差分Ｖdiffをノイズ成分の周波数よりも低い第３の周波数ｆ3 をカットオフ周波数とする第３のローパスフィルタ（つまりカットオフ周波数ｆ3 よりも低い周波数帯域を通過域とするローパスフィルタ）でフィルタ処理した第３のフィルタ電圧Ｖdiff.sm3を算出する。
【００８５】
第３のローパスフィルタは、第３のフィルタ電圧の前回値Ｖdiff.sm3(k-1) と差分の今回値Ｖdiff(k) とを用いて第３のフィルタ電圧の今回値Ｖdiff.sm3(k) を求める下記（５）式で実装されるデジタルフィルタである。
Ｖdiff.sm3(k) ＝｛（ｎ3 −１）／ｎ3 ｝×Ｖdiff.sm3(k-1)
＋（１／ｎ3 ）×Ｖdiff(k) …（５）
【００８６】
この第３のローパスフィルタの時定数ｎ3 は、マイナス端子電圧Ｖm のサンプリング周波数ｆs （＝１／Ｔs ）と第３のローパスフィルタのカットオフ周波数ｆ3 とを用いた下記（６）式の関係を満たすように設定されている。
１／ｆs ：１／ｆ3 ＝１：（ｎ3 −１）…（６）
【００８７】
これにより、ノイズ成分の周波数よりも低い第３の周波数ｆ3 をカットオフ周波数とする第３のローパスフィルタでフィルタ処理した第３のフィルタ電圧Ｖdiff.sm3を容易に算出することができる。
【００８８】
この後、ステップ３０７に進み、差分Ｖdiffを第３の周波数ｆ3 よりも低い第４の周波数ｆ4 をカットオフ周波数とする第４のローパスフィルタ（つまりカットオフ周波数ｆ4 よりも低い周波数帯域を通過域とするローパスフィルタ）でフィルタ処理した第４のフィルタ電圧Ｖdiff.sm4を算出する。
【００８９】
第４のローパスフィルタは、第４のフィルタ電圧の前回値Ｖdiff.sm4(k-1) と差分の今回値Ｖdiff(k) とを用いて第４のフィルタ電圧の今回値Ｖdiff.sm4(k) を求める下記（７）式で実装されるデジタルフィルタである。
Ｖdiff.sm4(k) ＝｛（ｎ4 −１）／ｎ4 ｝×Ｖdiff.sm4(k-1)
＋（１／ｎ4 ）×Ｖdiff(k) …（７）
【００９０】
この第４のローパスフィルタの時定数ｎ4 は、マイナス端子電圧Ｖm のサンプリング周波数ｆs （＝１／Ｔs ）と第４のローパスフィルタのカットオフ周波数ｆ4 とを用いた下記（８）式の関係を満たすように設定されている。
１／ｆs ：１／ｆ4 ＝１：（ｎ4 −１）…（８）
【００９１】
これにより、第３の周波数ｆ3 よりも低い第４の周波数ｆ4 をカットオフ周波数とする第４のローパスフィルタでフィルタ処理した第４のフィルタ電圧Ｖdiff.sm4を容易に算出することができる。
【００９２】
尚、第３のローパスフィルタのカットオフ周波数ｆ3 は、第１のローパスフィルタのカットオフ周波数ｆ1 よりも高い周波数に設定され、第４のローパスフィルタのカットオフ周波数ｆ4 は、第２のローパスフィルタのカットオフ周波数ｆ2 よりも低い周波数に設定されている（つまりｆ3 ＞ｆ1 ＞ｆ2 ＞ｆ4 の関係を満たしている）。
【００９３】
この後、ステップ３０８に進み、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 （＝Ｖdiff.sm3−Ｖdiff.sm4）として算出した後、ステップ３０９に進み、電圧変曲点時間の前回値Ｔdiff(k-1) を取得する。
【００９４】
この後、ステップ３１０に進み、噴射パルスがオフからオンに切り換わるタイミングであるか否かを判定する。このステップ３１０で、噴射パルスがオフからオンに切り換わるタイミングであると判定された場合には、ステップ３１４に進み、電圧変曲点時間の今回値Ｔdiff(k) を「０」にリセットすると共に、完了フラグＤetect を「０」にリセットする。
Ｔdiff(k) ＝０
Ｄetect ＝０
【００９５】
一方、上記ステップ３１０で、噴射パルスがオフからオンに切り換わるタイミングではないと判定された場合には、ステップ３１１に進み、完了フラグＤetect が「０」であるか否かを判定し、完了フラグＤetect が「０」であると判定されれば、ステップ３１２に進み、噴射パルスがオンであるか否かを判定する。
【００９６】
このステップ３１２で、噴射パルスがオンであると判定された場合には、ステップ３１５に進み、電圧変曲点時間の前回値Ｔdiff(k-1) に所定値Ｔs （本ルーチンの演算周期）を加算して電圧変曲点時間の今回値Ｔdiff(k) を求めることで、電圧変曲点時間Ｔdiffをカウントアップする。
Ｔdiff(k) ＝Ｔdiff(k-1) ＋Ｔs
【００９７】
その後、上記ステップ３１２で、噴射パルスがオンではない（つまり噴射パルスがオフである）と判定された場合には、ステップ３１３に進み、２階差分の今回値Ｖdiff2(k)が前回値Ｖdiff2(k-1)よりも大きいか否かによって、２階差分Ｖdiff2 が増加しているか否かを判定する。この２階差分Ｖdiff2 が増加しなくなったときに２階差分Ｖdiff2 が極値であると判定する。
【００９８】
このステップ３１３で、２階差分の今回値Ｖdiff2(k)が前回値Ｖdiff2(k-1)よりも大きい（２階差分Ｖdiff2 が増加している）と判定された場合には、ステップ３１５に進み、電圧変曲点時間Ｔdiffをカウントアップする処理を継続する。
【００９９】
その後、上記ステップ３１３で、２階差分の今回値Ｖdiff2(k)が前回値Ｖdiff2(k-1)以下である（２階差分Ｖdiff2 が増加していない）と判定された場合には、電圧変曲点時間Ｔdiffの算出が完了したと判断して、ステップ３１６に進み、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持すると共に、完了フラグＤetect を「１」にセットする。
Ｔdiff(k) ＝Ｔdiff(k-1)
Ｄetect ＝１
【０１００】
その後、上記ステップ３１１で、完了フラグＤetect が１であると判定された場合には、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持したまま、本ルーチンを終了する。
【０１０１】
これにより、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）から２階差分Ｖdiff2 が極値となるタイミング（２階差分Ｖdiff2 が増加しなくなったタイミング）までの時間を電圧変曲点時間Ｔdiffとして算出し、この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングまで保持する。
【０１０２】
次に、図１８のタイムチャートを用いて本実施例２の電圧変曲点時間算出の実行例を説明する。
パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 を算出し、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出する。
【０１０３】
更に、差分Ｖdiffを第３のローパスフィルタでフィルタ処理した第３のフィルタ電圧Ｖdiff.sm3を算出すると共に、差分Ｖdiffを第４のローパスフィルタでフィルタ処理した第４のフィルタ電圧Ｖdiff.sm4を算出し、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 （＝Ｖdiff.sm3−Ｖdiff.sm4）として算出する。
【０１０４】
そして、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）ｔ1 で、電圧変曲点時間Ｔdiffを「０」にリセットした後、電圧変曲点時間Ｔdiffの算出を開始して、所定の演算周期Ｔs で電圧変曲点時間Ｔdiffをカウントアップする処理を繰り返す。
【０１０５】
その後、噴射パルスのオフ後に２階差分Ｖdiff2 が極値となるタイミング（２階差分Ｖdiff2 が増加しなくなったタイミング）ｔ2'で、電圧変曲点時間Ｔdiffの算出を完了する。これにより、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）ｔ1 から２階差分Ｖdiff2 が極値となるタイミングｔ2'までの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１０６】
この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングｔ3 まで保持し、この間（電圧変曲点時間Ｔdiffの算出完了タイミングｔ2'から次の基準タイミングｔ3 までの期間）に、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffをインジェクタ駆動用ＩＣ３６から取得する。
【０１０７】
以上説明した本実施例２では、差分Ｖdiffを第３のローパスフィルタでフィルタ処理した第３のフィルタ電圧Ｖdiff.sm3を算出すると共に、差分Ｖdiffを第４のローパスフィルタでフィルタ処理した第４のフィルタ電圧Ｖdiff.sm4を算出し、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 として算出する。この２階差分Ｖdiff2 が極値となるタイミング（２階差分Ｖdiff2 が増加しなくなったタイミング）を、差分Ｖdiffが変曲点となるタイミングとして電圧変曲点時間Ｔdiffを算出するようにしている。これにより、燃料噴射弁２１の閉弁タイミングに応じて変化する電圧変曲点時間Ｔdiffを精度良く算出することができると共に電圧変曲点時間Ｔdiffが回路ばらつき等に起因する端子電圧波形のオフセットずれの影響を避けることができる。
【実施例３】
【０１０８】
次に、図１９及び図２０を用いて本発明の実施例３を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１０９】
前記実施例１では、パーシャルリフト噴射の噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしたが、本実施例３では、ＥＣＵ３０により後述する図１９の電圧変曲点時間算出ルーチンを実行することで、パーシャルリフト噴射の噴射パルスがオンからオフに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしている。
【０１１０】
本実施例３で実行する図１９のルーチンのステップ４０１〜４０６の処理は、前記実施例１で説明した図１２のルーチンのステップ１０１〜１０６の処理と同じである。
図１９の電圧変曲点時間算出ルーチンでは、パーシャルリフト噴射の実行中であると判定された場合には、燃料噴射弁２１のマイナス端子電圧Ｖm を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出すると共に、燃料噴射弁２１のマイナス端子電圧Ｖm を第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出する（ステップ４０１〜４０４）。
【０１１１】
この後、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出した後、閾値Ｖt を取得すると共に、電圧変曲点時間の前回値Ｔdiff(k-1) を取得する（ステップ４０５，４０６）。
【０１１２】
この後、ステップ４０７に進み、噴射パルスがオンからオフに切り換わるタイミングであるか否かを判定する。このステップ４０７で、噴射パルスがオンからオフに切り換わるタイミングであると判定された場合には、ステップ４１０に進み、電圧変曲点時間の今回値Ｔdiff(k) を「０」にリセットする。
Ｔdiff(k) ＝０
【０１１３】
一方、上記ステップ４０７で、噴射パルスがオンからオフに切り換わるタイミングではないと判定された場合には、ステップ４０８に進み、噴射パルスがオフであるか否かを判定する。このステップ４０８で、噴射パルスがオフであると判定された場合には、ステップ４０９に進み、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたか否か（閾値Ｖt よりも小から大になったか否か）を判定する。
【０１１４】
このステップ４０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffがまだ閾値Ｖt を越えていないと判定された場合には、ステップ４１１に進み、電圧変曲点時間の前回値Ｔdiff(k-1) に所定値Ｔs （本ルーチンの演算周期）を加算して電圧変曲点時間の今回値Ｔdiff(k) を求めることで、電圧変曲点時間Ｔdiffをカウントアップする。
Ｔdiff(k) ＝Ｔdiff(k-1) ＋Ｔs
【０１１５】
その後、上記ステップ４０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたと判定された場合には、電圧変曲点時間Ｔdiffの算出が完了したと判断して、ステップ４１２に進み、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持する。
Ｔdiff(k) ＝Ｔdiff(k-1)
【０１１６】
これにより、噴射パルスがオンからオフに切り換わるタイミング（基準タイミング）から差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１１７】
その後、上記ステップ４０８で、噴射パルスがオフではない（つまり噴射パルスがオンである）と判定された場合にも、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持する処理を継続して、電圧変曲点時間Ｔdiffの算出値を次の基準タイミングまで保持する。
【０１１８】
次に、図２０のタイムチャートを用いて本実施例３の電圧変曲点時間算出の実行例を説明する。
パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 を算出し、更に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出する。
【０１１９】
そして、噴射パルスがオンからオフに切り換わるタイミング（基準タイミング）ｔ4 で、電圧変曲点時間Ｔdiffを「０」にリセットした後、電圧変曲点時間Ｔdiffの算出を開始して、所定の演算周期Ｔs で電圧変曲点時間Ｔdiffをカウントアップする処理を繰り返す。
【０１２０】
その後、噴射パルスのオフ後に第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えるタイミングｔ5 で、電圧変曲点時間Ｔdiffの算出を完了する。これにより、噴射パルスがオンからオフに切り換わるタイミング（基準タイミング）ｔ4 から差分Ｖdiffが閾値Ｖt を越えるタイミングｔ5 までの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１２１】
この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングｔ6 まで保持し、この間（電圧変曲点時間Ｔdiffの算出完了タイミングｔ5 から次の基準タイミングｔ6 までの期間）に、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffをインジェクタ駆動用ＩＣ３６から取得する。
【０１２２】
以上説明した本実施例３では、パーシャルリフト噴射の噴射パルスがオンからオフに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしたので、噴射パルスがオンからオフに切り換わるタイミングを基準にして電圧変曲点時間Ｔdiffを精度良く算出することができる。また、噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとする場合（実施例１）に比べて、電圧変曲点時間Ｔdiffの算出値を保持する期間を長くすることができ、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffを取得可能な期間を更に長くすることができる。
【０１２３】
尚、上記実施例３では、噴射パルスがオフからオンに切り換わるタイミングから差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしたが、噴射パルスがオフからオンに切り換わるタイミングから２階差分Ｖdiff2 が極値となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしても良い。
【実施例４】
【０１２４】
次に、図２１及び図２２を用いて本発明の実施例４を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１２５】
前記実施例１では、パーシャルリフト噴射の噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしたが、本実施例４では、ＥＣＵ３０により後述する図２１の電圧変曲点時間算出ルーチンを実行することで、パーシャルリフト噴射の噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしている。
【０１２６】
本実施例４で実行する図２１のルーチンのステップ５０１〜５０６の処理は、前記実施例１で説明した図１２のルーチンのステップ１０１〜１０６の処理と同じである。
図２１の電圧変曲点時間算出ルーチンでは、パーシャルリフト噴射の実行中であると判定された場合には、燃料噴射弁２１のマイナス端子電圧Ｖm を第１のローパスフィルタでフィルタ処理した第１のフィルタ電圧Ｖsm1 を算出すると共に、燃料噴射弁２１のマイナス端子電圧Ｖm を第２のローパスフィルタでフィルタ処理した第２のフィルタ電圧Ｖsm2 を算出する（ステップ５０１〜５０４）。
【０１２７】
この後、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出した後、閾値Ｖt を取得すると共に、電圧変曲点時間の前回値Ｔdiff(k-1) を取得する（ステップ５０５，５０６）。
【０１２８】
この後、ステップ５０７に進み、噴射パルスがオフであるか否かを判定する。このステップ５０７で、噴射パルスがオフであると判定された場合には、ステップ５０８に進み、燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミング（所定値Ｖoff よりも大から小になるタイミング）であるか否かを判定する。
【０１２９】
このステップ５０８で、燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングであると判定された場合には、ステップ５１０に進み、電圧変曲点時間の今回値Ｔdiff(k) を「０」にリセットする。
Ｔdiff(k) ＝０
【０１３０】
一方、上記ステップ５０８で、燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングではないと判定された場合には、ステップ５０９に進み、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたか否か（閾値Ｖt よりも小から大になったか否か）を判定する。
【０１３１】
このステップ５０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffがまだ閾値Ｖt を越えていないと判定された場合には、ステップ５１１に進み、電圧変曲点時間の前回値Ｔdiff(k-1) に所定値Ｔs （本ルーチンの演算周期）を加算して電圧変曲点時間の今回値Ｔdiff(k) を求めることで、電圧変曲点時間Ｔdiffをカウントアップする。
Ｔdiff(k) ＝Ｔdiff(k-1) ＋Ｔs
【０１３２】
その後、上記ステップ５０９で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えたと判定された場合には、電圧変曲点時間Ｔdiffの算出が完了したと判断して、ステップ５１２に進み、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持する。
Ｔdiff(k) ＝Ｔdiff(k-1)
【０１３３】
これにより、噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミング（基準タイミング）から差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１３４】
その後、上記ステップ５０７で、噴射パルスがオフではない（つまり噴射パルスがオンである）と判定された場合にも、電圧変曲点時間の今回値Ｔdiff(k) を前回値Ｔdiff(k-1) に保持する処理を継続して、電圧変曲点時間Ｔdiffの算出値を次の基準タイミングまで保持する。
【０１３５】
次に、図２２のタイムチャートを用いて本実施例４の電圧変曲点時間算出の実行例を説明する。
パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 を算出し、更に、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出する。
【０１３６】
そして、噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミング（基準タイミング）ｔ7 で、電圧変曲点時間Ｔdiffを「０」にリセットした後、電圧変曲点時間Ｔdiffの算出を開始して、所定の演算周期Ｔs で電圧変曲点時間Ｔdiffをカウントアップする処理を繰り返す。
【０１３７】
その後、噴射パルスのオフ後に第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffが閾値Ｖt を越えるタイミングｔ8 で、電圧変曲点時間Ｔdiffの算出を完了する。これにより、噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミング（基準タイミング）ｔ7 から差分Ｖdiffが閾値Ｖt を越えるタイミングｔ8 までの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１３８】
この電圧変曲点時間Ｔdiffの算出値を次の基準タイミングｔ9 まで保持し、この間（電圧変曲点時間Ｔdiffの算出完了タイミングｔ8 から次の基準タイミングｔ9 までの期間）に、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffをインジェクタ駆動用ＩＣ３６から取得する。
【０１３９】
以上説明した本実施例４では、パーシャルリフト噴射の噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングを基準タイミングとして電圧変曲点時間Ｔdiffを算出するようにしたので、噴射パルスのオフ後に燃料噴射弁２１のマイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングを基準にして電圧変曲点時間Ｔdiffを精度良く算出することができる。また、噴射パルスがオフからオンに切り換わるタイミングを基準タイミングとする場合（実施例１）に比べて、電圧変曲点時間Ｔdiffの算出値を保持する期間を長くすることができ、エンジン制御用マイコン３５が電圧変曲点時間Ｔdiffを取得可能な期間を更に長くすることができる。
【０１４０】
尚、上記実施例４では、マイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングから差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしたが、マイナス端子電圧Ｖm が所定値Ｖoff を下回るタイミングから２階差分Ｖdiff2 が極値となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしても良い。
【実施例５】
【０１４１】
次に、図２３を用いて本発明の実施例５を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１４２】
本実施例５では、ＥＣＵ３０により電圧変曲点時間Ｔdiffに基づいてパーシャルリフト噴射の噴射パルスを補正する際に、燃料噴射弁２１に供給される燃料の圧力（以下「燃圧」という）も考慮するようにしている。
【０１４３】
本実施例５では、ＥＣＵ３０は、エンジン制御用マイコン３５のＲＯＭ４２に、複数の燃圧ＰＦについて、それぞれ複数の噴射パルス幅Ｔi 毎に電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式Ｑ＝ａ×Ｔdiff＋ｂ）を予め記憶しておく。この場合、図２３に示すように、予め試験データ等に基づいて、複数（例えばｍ種類）の噴射パルス幅Ｔi[1]〜Ｔi[m]についてそれぞれ電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式Ｑ＝ａ×Ｔdiff＋ｂを作成する処理を、複数（例えばｐ種類）の燃圧ＰＦ[1] 〜ＰＦ[p] についてそれぞれ実施しておき、燃圧ＰＦ及び噴射パルス幅Ｔi 毎に一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａと切片ｂをＲＯＭ４２に記憶しておく。つまり、各燃圧ＰＦ[pi]（[pi]は[1] 〜[p] ）について、それぞれ噴射パルス幅Ｔi[mi] （[mi]は[1] 〜[m] ）毎に一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａと切片ｂをＲＯＭ４２に記憶しておく。
【０１４４】
そして、ＥＣＵ３０は、エンジン制御用マイコン３５の噴射パルス補正演算部３９で、まず、ＲＯＭ４２に予め記憶された燃圧ＰＦ及び噴射パルス幅Ｔi 毎の電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（一次式Ｑ＝ａ×Ｔdiff＋ｂ）を用いて、インジェクタ駆動用ＩＣ３６（演算部３７）で算出した電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を燃圧ＰＦ及び噴射パルス幅Ｔi 毎に推定する処理をエンジン１１の各気筒毎に行う。具体的には、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ燃圧ＰＦ及び噴射パルス幅Ｔi 毎に記憶された一次式Ｑ＝ａ×Ｔdiff＋ｂを用いて、該当する気筒の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を燃圧ＰＦ及び噴射パルス幅Ｔi 毎に推定（算出）する。これにより、現在の電圧変曲点時間Ｔdiff（つまり燃料噴射弁２１の現在の噴射特性を反映した電圧変曲点時間Ｔdiff）に対応する噴射量Ｑest を燃圧ＰＦ及び噴射パルス幅Ｔi 毎に推定することができる。
【０１４５】
更に、その推定結果（燃圧ＰＦ及び噴射パルス幅Ｔi 毎に電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を推定した結果）に基づいて、各燃圧ＰＦ毎に噴射パルス幅Ｔi と噴射量Ｑest との関係を設定する処理をエンジン１１の各気筒毎に行う。具体的には、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ各燃圧ＰＦ毎に噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを作成する。これにより、各燃圧ＰＦ毎に燃料噴射弁２１の現在の噴射特性に対応した噴射パルス幅Ｔi と噴射量Ｑest との関係を設定することができ、噴射パルス幅Ｔi と噴射量Ｑest との関係を修正することができる。
【０１４６】
この後、各燃圧ＰＦ毎に設定された噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップの中から、現在の燃圧ＰＦにおける噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップを選択し、このマップを用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する処理をエンジン１１の各気筒毎に行う。具体的には、ｎ気筒のエンジン１１の場合には、第１気筒＃１〜第ｎ気筒＃ｎについて、それぞれ該当する気筒のマップ（現在の燃圧ＰＦにおける噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ）を用いて、要求噴射量Ｑreq に応じた要求噴射パルス幅Ｔireqを算出する。これにより、現在の燃圧ＰＦ及び燃料噴射弁２１の現在の噴射特性において要求噴射量Ｑreq を実現するのに必要な要求噴射パルス幅Ｔireqを精度良く設定することができる。
【実施例６】
【０１４７】
次に、図２４乃至図２６を用いて本発明の実施例６を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１４８】
本実施例６では、ＥＣＵ３０は、前記実施例１で説明した図１３及び図１４の噴射パルス補正ルーチンのうち図１４の処理を図２４の処理に置き換えたルーチンを実行することで、電圧変曲点時間Ｔdiffに基づいてパーシャルリフト噴射の噴射パルスを次のようにして補正する。
【０１４９】
ＥＣＵ３０は、エンジン制御用マイコン３５の噴射パルス補正演算部３９で、図２５に示すように、全気筒の電圧変曲点時間Ｔdiffの平均値Ｔdiff.aveを算出して、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）の電圧変曲点時間Ｔdiff[#i]（[#i]は[#1]〜[#n]）と平均値Ｔdiff.aveとの偏差ΔＴdiff[#i]を気筒毎に算出する。この偏差ΔＴdiff[#i]と、ＲＯＭ４２に予め記憶された電圧変曲点時間Ｔdiffと噴射量Ｑest との関係（例えば一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａ）とに基づいて噴射補正量ΔＱ[#i]を気筒毎に算出する。
ΔＱ[#i]＝ΔＴdiff[#i]×ａ
【０１５０】
この後、図２６に示すように、噴射補正量ΔＱ[#i]を用いて要求噴射量Ｑreq を補正して、補正要求噴射量Ｑreq[#i] ＝Ｑreq −ΔＱ[#i]を気筒毎に求め、この補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireqを気筒毎に算出する。
【０１５１】
以下、本実施例６でＥＣＵ３０が実行する図２４のルーチンの処理内容を説明する。
図１３のステップ２０４で、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）の電圧変曲点時間Ｔdiff[#1]〜Ｔdiff[#n]を取得した後、図２４のステップ６０１に進み、全気筒の電圧変曲点時間Ｔdiff[#1]〜Ｔdiff[#n]の平均値Ｔdiff.aveを算出する。
Ｔdiff.ave＝（Ｔdiff[#1]＋Ｔdiff[#2]＋・・・・・＋Ｔdiff[#n]）／ｎ
【０１５２】
この後、ステップ６０２に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ電圧変曲点時間Ｔdiff[#i]と平均値Ｔdiff.aveとの偏差ΔＴdiff[#i]を算出する。
ΔＴdiff[#i]＝Ｔdiff[#i]−Ｔdiff.ave
【０１５３】
この後、ステップ６０３に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ偏差ΔＴdiff[#i]と、ＲＯＭ４２に予め記憶された燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎の一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａ[mi][pi]とに基づいて、燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎に噴射補正量ΔＱ[#i][mi][pi]を算出する。
ΔＱ[#i][mi][pi]＝ΔＴdiff[#i]×ａ[mi][pi]
【０１５４】
この後、ステップ６０４に進み、上記ステップ６０３の算出結果（燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎の噴射補正量ΔＱ[#i][mi][pi]）を用いて、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ燃圧ＰＦと噴射パルス幅Ｔi と噴射補正量ΔＱとの関係を規定する噴射補正量マップを作成する。
【０１５５】
この後、ステップ６０５に進み、要求噴射量Ｑreq を取得した後、ステップ６０６に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ該当する気筒の噴射補正量マップ（燃圧ＰＦと噴射パルス幅Ｔi と噴射補正量ΔＱとの関係を規定するマップ）を用いて、現在の燃圧ＰＦと噴射パルス幅Ｔi とに応じた今回の噴射補正量ΔＱ[#i]を算出する。
【０１５６】
この後、ステップ６０７に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ噴射補正量ΔＱ[#i]を用いて要求噴射量Ｑreq を補正して、補正要求噴射量Ｑreq[#i] を求める。
Ｑreq[#i] ＝Ｑreq −ΔＱ[#i]
【０１５７】
この後、ステップ６０８に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ標準噴射特性マップ（標準的な燃料噴射弁２１の噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ）を用いて、補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireq[#i]を算出する。
【０１５８】
以上説明した本実施例６では、各気筒の電圧変曲点時間Ｔdiffの平均値Ｔdiff.aveに対する偏差ΔＴdiffと、ＲＯＭ４２に予め記憶された一次式Ｑ＝ａ×Ｔdiff＋ｂの傾きａとに基づいて噴射補正量ΔＱを気筒毎に算出する。そして、この噴射補正量ΔＱを用いて要求噴射量Ｑreq を補正して補正要求噴射量Ｑreq[#i] を気筒毎に求め、この補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireqを気筒毎に算出するようにしている。このようにしても、燃料噴射弁２１の現在の噴射特性において要求噴射量Ｑreq を実現するのに必要な要求噴射パルス幅Ｔireqを精度良く設定することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができると共に、気筒間の噴射量ばらつきも小さくすることができる。
【実施例７】
【０１５９】
次に、図２７乃至図２９を用いて本発明の実施例７を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１６０】
本実施例７では、ＥＣＵ３０は、前記実施例１で説明した図１３及び図１４の噴射パルス補正ルーチンのうち図１４の処理を図２７の処理に置き換えたルーチンを実行することで、電圧変曲点時間Ｔdiffに基づいてパーシャルリフト噴射の噴射パルスを次のようにして補正する。
【０１６１】
ＥＣＵ３０は、エンジン制御用マイコン３５のＲＯＭ４２に、複数の燃圧ＰＦについて、それぞれ複数の噴射パルス幅Ｔi 毎に電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を予め記憶しておく。本実施例７では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃを用いる。この場合、図２８に示すように、予め試験データ等に基づいて、複数（例えばｍ種類）の噴射パルス幅Ｔi[1]〜Ｔi[m]についてそれぞれ電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似したに二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃを作成する処理を、複数（例えばｐ種類）の燃圧ＰＦ[1] 〜ＰＦ[p] についてそれぞれ実施しておき、燃圧ＰＦ及び噴射パルス幅Ｔi 毎に二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃの各項の定数ａ〜ｃをＲＯＭ４２に記憶しておく。つまり、各燃圧ＰＦ[pi]について、それぞれ噴射パルス幅Ｔi[mi] 毎に二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃの各項の定数ａ〜ｃをＲＯＭ４２に記憶しておく。
【０１６２】
そして、ＥＣＵ３０は、エンジン制御用マイコン３５の噴射パルス補正演算部３９で、ＲＯＭ４２に予め記憶された燃圧ＰＦ及び噴射パルス幅Ｔi 毎の電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃ）を用いて、インジェクタ駆動用ＩＣ３６（演算部３７）で算出した電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を燃圧ＰＦ及び噴射パルス幅Ｔi 毎に推定する処理をエンジン１１の各気筒毎に行う。
【０１６３】
この後、要求噴射量Ｑreq に対する各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）の噴射量Ｑest[#i] の変化割合Ｑgain[#i]を気筒毎に算出する。
Ｑgain[#i]＝Ｑest[#i] ／Ｑreq
【０１６４】
この後、図２９に示すように、この変化割合Ｑgainを用いて要求噴射量Ｑreq を補正して、補正要求噴射量Ｑreq[#i] ＝Ｑreq ×Ｑgainを気筒毎に求め、この補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireqを気筒毎に算出する。
【０１６５】
以下、本実施例７でＥＣＵ３０が実行する図２７のルーチンの処理内容を説明する。
図１３のステップ２０４で、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）の電圧変曲点時間Ｔdiff[#1]〜Ｔdiff[#n]を取得した後、図２７のステップ７０１に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎に記憶された二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃを用いて、該当する気筒の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest[#i][mi][pi] を燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎に推定（算出）する。
【０１６６】
Ｑest[#i][mi][pi] ＝ａ[mi][pi]×（Ｔdiff）2 ＋ｂ[mi][pi]×Ｔdiff＋ｃ[mi][pi]
この後、ステップ７０２に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ要求噴射量Ｑreq に対する噴射量Ｑest[#i][mi][pi] の変化割合Ｑgain[#i][mi][pi]を燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎に算出する。
Ｑgain[#i][mi][pi]＝Ｑest[#i][mi][pi] ／Ｑreq
【０１６７】
この後、ステップ７０３に進み、上記ステップ７０２の算出結果（燃圧ＰＦ[pi]及び噴射パルス幅Ｔi[mi] 毎の変化割合Ｑgain[#i][mi][pi]）を用いて、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ燃圧ＰＦと噴射パルス幅Ｔi と変化割合Ｑgainとの関係を規定する変化割合マップを作成する。
【０１６８】
この後、ステップ７０４に進み、要求噴射量Ｑreq を取得した後、ステップ７０５に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ該当する気筒の変化割合マップ（燃圧ＰＦと噴射パルス幅Ｔi と変化割合Ｑgainとの関係を規定するマップ）を用いて、現在の燃圧ＰＦと噴射パルス幅Ｔi とに応じた今回の変化割合Ｑgain[#i]を算出する。
【０１６９】
この後、ステップ７０６に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ変化割合Ｑgain[#i]を用いて要求噴射量Ｑreq を補正して、補正要求噴射量Ｑreq[#i] を求める。
Ｑreq[#i] ＝Ｑreq ×Ｑgain[#i]
【０１７０】
この後、ステップ７０７に進み、各気筒（第１気筒＃１〜第ｎ気筒＃ｎ）について、それぞれ標準噴射特性マップ（標準的な燃料噴射弁２１の噴射パルス幅Ｔi と噴射量Ｑest との関係を規定するマップ）を用いて、補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireq[#i]を算出する。
【０１７１】
以上説明した本実施例７では、ＲＯＭ４２に予め記憶された電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃ）を用いて、現在の電圧変曲点時間Ｔdiffに対応する噴射量Ｑest を推定し、要求噴射量Ｑreq に対する噴射量Ｑest の変化割合Ｑgainを気筒毎に算出する。そして、この変化割合Ｑgainを用いて要求噴射量Ｑreq を補正して補正要求噴射量Ｑreq[#i] を気筒毎に求め、この補正要求噴射量Ｑreq[#i] に応じた要求噴射パルス幅Ｔireqを気筒毎に算出するようにしている。このようにしても、燃料噴射弁２１の現在の噴射特性において要求噴射量Ｑreq を実現するのに必要な要求噴射パルス幅Ｔireqを精度良く設定することができる。これにより、パーシャルリフト領域でのリフト量ばらつきに起因する噴射量ばらつきを精度良く補正することができる。
【０１７２】
また、本実施例７では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃを用いるようにしたので、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を比較的簡単な数式で表しながら、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を精度良く近似することができる。
【０１７３】
更に、本実施例７では、燃圧ＰＦ及び噴射パルス幅Ｔi 毎に二次式Ｑ＝ａ×（Ｔdiff）2 ＋ｂ×Ｔdiff＋ｃの各項の定数ａ〜ｃをＲＯＭ４２に記憶しておくようにしたので、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係（二次式）を記憶しておくのに必要な記憶データ量（メモリ使用量）を低減することができる。
【０１７４】
尚、上記実施例７では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した二次式を用いるようにしたが、これに限定されず、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式又は三次以上の多項式を用いるようにしても良い。
【０１７５】
また、上記各実施例１〜６では、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係として、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した一次式を用いるようにしたが、これに限定されず、電圧変曲点時間Ｔdiffと噴射量Ｑとの関係を近似した二次以上の多項式を用いるようにしても良い。
【０１７６】
また、上記各実施例１〜７では、噴射パルスを補正する際に、パーシャルリフト噴射となる噴射パルス幅のうちの一つの代表噴射パルス幅Ｔi(x)でパーシャルリフト噴射を実行した場合に算出した電圧変曲点時間Ｔdiffを用いるようにしたが、これに限定されず、そのときの運転状態に応じた噴射パルス幅でパーシャルリフト噴射を実行した場合に算出した電圧変曲点時間Ｔdiffを用いるようにしても良い。
【実施例８】
【０１７７】
次に、図３０及び図３１を用いて本発明の実施例８を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１７８】
図３０に示すように、燃料噴射弁２１のパーシャルリフト領域では、燃料性状（例えば燃料の粘性）によって燃料噴射弁２１の噴射特性（噴射パルス幅と噴射量との関係）が変化する傾向がある。このため、燃料タンクにそれまでと異なる種類の燃料が給油されて、燃料噴射弁２１に供給される燃料の燃料性状が変化した場合に、それまでと同じ噴射特性マップ（噴射パルス幅と噴射量との関係を規定するマップ）を用いて、要求噴射量に応じた要求噴射パルス幅を算出すると、噴射量の制御精度が低下する可能性がある。
【０１７９】
この対策として、本実施例８では、ＥＣＵ３０（例えばエンジン制御用マイコン３５）により後述する図３１の噴射特性マップ変更ルーチンを実行することで、パーシャルリフト噴射の実行中に、インジェクタ駆動用ＩＣ３６で算出した電圧変曲点時間Ｔdiffに基づいて燃料性状を判定して、噴射パルスの算出に用いる燃料噴射弁２１の噴射特性（例えば噴射特性マップ）を燃料性状に応じて変更する。
【０１８０】
燃料性状によって電圧変曲点時間Ｔdiffが変化するため、電圧変曲点時間Ｔdiffを監視すれば、燃料性状を精度良く判定することができる。従って、電圧変曲点時間Ｔdiffに基づいて燃料性状を判定し、その燃料性状に応じて噴射特性マップ（噴射パルスの算出に用いる燃料噴射弁２１の噴射特性）を変更すれば、燃料性状の変化によって燃料噴射弁２１の噴射特性が変化しても、それに対応して噴射特性マップを変更することができる。
【０１８１】
本実施例８では、エンジン制御用マイコン３５が特許請求の範囲でいう変更手段として機能する。
以下、本実施例８でＥＣＵ３０が実行する図３１の噴射特性マップ変更ルーチンの処理内容を説明する。
【０１８２】
図３１に示す噴射特性マップ変更ルーチンは、ＥＣＵ３０の電源オン期間中に所定周期で繰り返し実行される。本ルーチンが起動されると、まず、ステップ８０１で、パーシャルリフト噴射の実行中であるか否かを判定する。このステップ８０１で、パーシャルリフト噴射の実行中ではないと判定された場合には、ステップ８０２以降の処理を実行することなく、本ルーチンを終了する。
【０１８３】
一方、上記ステップ８０１で、パーシャルリフト噴射の実行中であると判定された場合には、ステップ８０２に進み、インジェクタ駆動用ＩＣ３６で算出した電圧変曲点時間Ｔdiffの燃料給油前後における変化量の絶対値が所定値以上であるか否かを判定する。
【０１８４】
この場合、電圧変曲点時間Ｔdiffの燃料給油前後における変化量として、例えば、今回の燃料給油直前（例えば今回の燃料給油前のエンジン運転停止直前）の電圧変曲点時間Ｔdiffと、今回の燃料給油から所定期間経過後の電圧変曲点時間Ｔdiffとの差を求める。ここで、所定期間は、燃料タンク内の燃料が燃料噴射弁２１に到達するのに必要な期間よりも長い期間であり、例えば、燃料噴射量積算値、燃料噴射回数、エンジン運転時間等で設定される。
【０１８５】
或は、電圧変曲点時間Ｔdiffの燃料給油前後における変化量として、今回の燃料給油直後（例えば今回の燃料給油後のエンジン運転開始直後）の電圧変曲点時間Ｔdiffと、今回の燃料給油から所定期間経過後の電圧変曲点時間Ｔdiffとの差を求めるようにしても良い。
【０１８６】
また、電圧変曲点時間Ｔdiffの燃料給油前後における変化量として、前回の燃料給油から所定期間経過後の電圧変曲点時間Ｔdiffと、今回の燃料給油から所定期間経過後の電圧変曲点時間Ｔdiffとの差を求めるようにしても良い。
【０１８７】
このステップ８０２で、電圧変曲点時間Ｔdiffの燃料給油前後における変化量の絶対値が所定値以上であると判定された場合には、燃料性状が変化したと判断して、ステップ８０３に進み、電圧変曲点時間Ｔdiffの燃料給油前後における変化量に基づいて燃料性状を判定し、その燃料性状に応じて噴射特性マップを変更する。
【０１８８】
例えば、エンジン制御用マイコン３５のＲＯＭ４２に、複数の燃料性状について、それぞれ対応する噴射特性マップ（噴射パルス幅と噴射量との関係を規定するマップ）を予め記憶しておく。そして、電圧変曲点時間Ｔdiffの燃料給油前後における変化量に応じて燃料性状判定値を変化させる（変化量に応じた補正量で前回の燃料性状判定値を補正して今回の燃料性状判定値を求める）。この後、複数の噴射特性マップの中から今回の燃料性状判定値に対応した噴射特性マップを選択する。
ＥＣＵ３０のエンジン制御用マイコン３５は、この噴射特性マップを用いて、要求噴射量に応じた要求噴射パルス幅を算出する。
【０１８９】
以上説明した本実施例８では、燃料性状によって電圧変曲点時間Ｔdiffが変化することに着目して、パーシャルリフト噴射の実行中に、電圧変曲点時間Ｔdiffに基づいて燃料性状を判定し、その燃料性状に応じて噴射特性マップを変更するようにしている。これにより、燃料性状の変化によって燃料噴射弁２１の噴射特性が変化しても、それに対応して噴射特性マップを変更することができ、パーシャルリフト領域での燃料性状の変化による噴射量の制御精度の低下を防止又は抑制することができる。
【０１９０】
また、本実施例８では、電圧変曲点時間Ｔdiffの燃料給油前後における変化量が所定値以上になったときに、噴射特性マップを変更するようにしている。これにより、燃料給油による燃料性状の変化以外の要因で電圧変曲点時間Ｔdiffが変動したときに、誤って噴射特性マップを変更してしまうことを回避することができる。
【実施例９】
【０１９１】
次に、図３２を用いて本発明の実施例９を説明する。但し、前記実施例１と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１９２】
本実施例９では、図３２に示すように、ＥＣＵ３０には、インジェクタ駆動用ＩＣ３６とは別に演算用ＩＣ４０が設けられている。ＥＣＵ３０は、この演算用ＩＣ４０で、パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、第１のフィルタ電圧Ｖsm1 を算出すると共に、第２のフィルタ電圧Ｖsm2 を算出する。更に、演算用ＩＣ４０で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出し、所定の基準タイミングから差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１９３】
或は、演算用ＩＣ４０で、第３のフィルタ電圧Ｖdiff.sm3を算出すると共に、第４のフィルタ電圧Ｖdiff.sm4を算出する。更に、演算用ＩＣ４０で、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 として算出し、所定の基準タイミングから２階差分Ｖdiff2 が極値となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしても良い。
この場合、演算用ＩＣ４０が特許請求の範囲でいうフィルタ電圧取得手段と差分算出手段と時間算出手段として機能する。
【０１９４】
以上説明した本実施例９では、インジェクタ駆動用ＩＣ３６とは別に設けられた演算用ＩＣ４０がフィルタ電圧取得手段と差分算出手段と時間算出手段として機能するようにしたので、インジェクタ駆動用ＩＣ３６やエンジン制御用マイコン３５の仕様を変更することなく、演算用ＩＣ４０を追加するだけでフィルタ電圧取得手段と差分算出手段と時間算出手段としての機能を実現することができると共に、エンジン制御用マイコン３５の演算負荷を軽減することができる。
【実施例１０】
【０１９５】
次に、図３３を用いて本発明の実施例１０を説明する。但し、前記実施例１と実質的に同一部分には同一符号を付して説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１９６】
本実施例１０では、図３３に示すように、ＥＣＵ３０は、エンジン制御用マイコン３５の演算部４１で、パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に、第１のフィルタ電圧Ｖsm1 を算出すると共に、第２のフィルタ電圧Ｖsm2 を算出する。更に、演算部４１で、第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出し、所定の基準タイミングから差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出する。
【０１９７】
或は、演算部４１で、第３のフィルタ電圧Ｖdiff.sm3を算出すると共に、第４のフィルタ電圧Ｖdiff.sm4を算出する。更に、演算部４１で、第３のフィルタ電圧Ｖdiff.sm3と第４のフィルタ電圧Ｖdiff.sm4との差分を２階差分Ｖdiff2 として算出し、所定の基準タイミングから２階差分Ｖdiff2 が極値となるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出するようにしても良い。
この場合、エンジン制御用マイコン３５（演算部４１）が特許請求の範囲でいうフィルタ電圧取得手段と差分算出手段と時間算出手段として機能する。
【０１９８】
以上説明した本実施例１０では、エンジン制御用マイコン３５（演算部４１）がフィルタ電圧取得手段と差分算出手段と時間算出手段として機能するようにしたので、ＥＣＵ３０のうちのエンジン制御用マイコン３５の仕様を変更するだけでフィルタ電圧取得手段と差分算出手段と時間算出手段としての機能を実現することができる。
【０１９９】
尚、上記各実施例では、パーシャルリフト噴射の実行中（少なくともパーシャルリフト噴射の噴射パルスのオフ後）に常に電圧変曲点時間Ｔdiffを算出するようにしたが、これに限定されず、例えば、パーシャルリフト噴射の実行中に所定の実行条件（図１３のステップ２０２参照）が成立したときに電圧変曲点時間Ｔdiffを算出するようにしても良い。
【０２００】
また、上記各実施例では、第１〜第４のローパスフィルタとしてデジタルフィルタを用いるようにしたが、これに限定されず、第１〜第４のローパスフィルタとしてアナログフィルタを用いるようにしても良い。
【０２０１】
また、上記各実施例では、燃料噴射弁２１のマイナス端子電圧を用いて電圧変曲点時間を算出するようにしたが、これに限定されず、燃料噴射弁２１のプラス端子電圧を用いて電圧変曲点時間を算出するようにしても良い。
【０２０２】
その他、本発明は、筒内噴射用の燃料噴射弁を備えたシステムに限定されず、吸気ポート噴射用の燃料噴射弁を備えたシステムにも適用して実施できる。
【符号の説明】
【０２０３】
１１…エンジン（内燃機関）、２１…燃料噴射弁、３０…ＥＣＵ（噴射制御手段）、３３…ニードル弁（弁体）、３５…エンジン制御用マイコン（噴射パルス補正手段，フィルタ電圧取得手段，差分算出手段，時間算出手段，変更手段）、３６…インジェクタ駆動用ＩＣ（フィルタ電圧取得手段，差分算出手段，時間算出手段）、４０…演算用ＩＣ（フィルタ電圧取得手段，差分算出手段，時間算出手段）、４２…ＲＯＭ（記憶手段）
【図１】
2015096722.tif 000003
【図２】
2015096722.tif 000004
【図３】
2015096722.tif 000005
【図４】
2015096722.tif 000006
【図５】
2015096722.tif 000007
【図６】
2015096722.tif 000008
【図７】
2015096722.tif 000009
【図８】
2015096722.tif 000010
【図９】
2015096722.tif 000011
【図１０】
2015096722.tif 000012
【図１１】
2015096722.tif 000013
【図１２】
2015096722.tif 000014
【図１３】
2015096722.tif 000015
【図１４】
2015096722.tif 000016
【図１５】
2015096722.tif 000017
【図１６】
2015096722.tif 000018
【図１７】
2015096722.tif 000019
【図１８】
2015096722.tif 000020
【図１９】
2015096722.tif 000021
【図２０】
2015096722.tif 000022
【図２１】
2015096722.tif 000023
【図２２】
2015096722.tif 000024
【図２３】
2015096722.tif 000025
【図２４】
2015096722.tif 000026
【図２５】
2015096722.tif 000027
【図２６】
2015096722.tif 000028
【図２７】
2015096722.tif 000029
【図２８】
2015096722.tif 000030
【図２９】
2015096722.tif 000031
【図３０】
2015096722.tif 000032
【図３１】
2015096722.tif 000033
【図３２】
2015096722.tif 000034
【図３３】
2015096722.tif 000035