(57)【特許請求の範囲】
【請求項１】
電磁駆動式の燃料噴射弁（２１）を備えた内燃機関（１１）の燃料噴射制御装置であって、
前記内燃機関の排気通路（２３）には、排気を浄化する触媒（２５）が設けられており、
前記燃料噴射弁の端子に電力を供給して開弁駆動する駆動部（３６）と、
前記開弁駆動により前記燃料噴射弁に流れる駆動電流を検出する電流検出部（６１）と、
前記端子の電圧である端子電圧を検出する電圧検出部（６２）と、
前記電流検出部により検出される前記駆動電流の実値を目標値に合わすべく、前記駆動部による電力供給量を補正する補正部（３５）と、
前記補正部によって前記駆動部による電力供給量が補正された状態で、前記電圧検出部により検出される前記端子電圧に基づいて前記燃料噴射弁の閉弁タイミングを検出する閉弁検出部（３５，３６）と、
前記内燃機関に供給される空気と燃料との比である空燃比を目標空燃比に制御する空燃比制御部（３０）と、
を備え、
前記触媒の暖機中において、前記内燃機関の１燃焼サイクル内で前記燃料噴射弁により前段噴射と後段噴射とを実行させ、前記後段噴射を前記燃料噴射弁の弁体がフルリフト位置に到達しないパーシャルリフト状態での噴射であるパーシャルリフト噴射として前記内燃機関の圧縮工程において実行させ、前記パーシャルリフト噴射において前記閉弁タイミングを検出し、
前記補正部は、前記閉弁検出部により検出された前記閉弁タイミング、及び要求噴射量に基づいて、前記駆動部による電力供給量を補正することで前記後段噴射での噴射量を補正し、
前記空燃比制御部は、前記補正部により前記後段噴射での噴射量が補正された状態で、前記前段噴射での噴射量を補正することにより前記空燃比を前記目標空燃比に制御することを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
前記補正部は、前記電流検出部により検出される前記駆動電流のピーク値の実値を目標値に合わすべく、前記駆動部による電力供給量を補正する請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項３】
前記補正部は、前記電流検出部により検出される前記駆動電流がピーク値に達するまでの前記駆動電流の積算値の実値を目標値に合わすべく、前記駆動部による電力供給量を補正する請求項１に記載の内燃機関の燃料噴射制御装置。
【請求項４】
前記閉弁検出部により検出された前記閉弁タイミング及び要求噴射量に基づいて、前記駆動部により供給させる前記電力を算出する算出部（３０）を備える請求項１〜３のいずれか１項に記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射を制御する制御装置に関する。
【背景技術】
【０００２】
従来、電磁駆動式の燃料噴射弁のソレノイドに流れる電流の変化に基づいて、燃料噴射弁の開弁を検出するものがある（特許文献１参照）。特許文献１に記載のものでは、燃料噴射弁の全開位置でアーマチャが機械的なストッパに衝突する際のソレノイド電流の変化から、開弁を検出している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ９４／１３９９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載のものでは、アーマチャが機械的なストッパに衝突しなければ、燃料噴射弁の開弁を検出することができない。このため、特許文献１に記載のものは、燃料噴射弁の弁体がフルリフト位置に到達しないパーシャルリフト状態での噴射（以下、「パーシャルリフト噴射」という）において、開弁を検出することができず、ひいては開弁動作を補正することができない。
【０００５】
本発明は、こうした実情に鑑みてなされたものであり、その主たる目的は、パーシャルリフト噴射にも適用可能であり、燃料噴射弁の開弁動作の補正及び正確な閉弁タイミングの検出を行うことのできる内燃機関の燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段、及びその作用効果について記載する。
【０００７】
本発明は、電磁駆動式の燃料噴射弁を備えた内燃機関の燃料噴射制御装置であって、前記燃料噴射弁の端子に電力を供給して開弁駆動する駆動部と、前記開弁駆動により前記燃料噴射弁に流れる駆動電流を検出する電流検出部と、前記端子の電圧である端子電圧を検出する電圧検出部と、前記電流検出部により検出される前記駆動電流の実値を目標値に合わすべく、前記駆動部による電力供給を補正する補正部と、前記補正部によって前記駆動部による電力供給が補正された状態で、前記電圧検出部により検出される前記端子電圧に基づいて前記燃料噴射弁の閉弁タイミングを検出する閉弁検出部と、を備えることを特徴とする。
【０００８】
上記構成によれば、燃料噴射弁の端子に駆動部により電力が供給され、燃料噴射弁が開弁駆動される。そして、電流検出部によって、開弁駆動により燃料噴射弁に流れる駆動電流が検出される。電圧検出部によって、燃料噴射弁の端子の電圧である端子電圧が検出される。
【０００９】
ここで、補正部によって、電流検出部により検出される駆動電流の実値（実際値）を目標値に合わすべく、駆動部による電力供給が補正される。このため、電流検出部による駆動電流の検出値が実値とずれていたり、燃料噴射弁の駆動電流の流れやすさが変化したりしても、駆動電流の実値を目標値に近付けることができる。したがって、燃料噴射弁の開弁動作のばらつきを抑制することができる。さらに、駆動電流の実値を目標値に合わすべく駆動部による電力供給が補正されるため、燃料噴射弁を全開位置まで駆動する必要がなく、パーシャルリフト噴射にも適用することができる。
【００１０】
そして、閉弁検出部は、補正部によって駆動部による電力供給が補正された状態で、電圧検出部により検出される端子電圧に基づいて燃料噴射弁の閉弁タイミングを検出する。このため、燃料噴射弁の開弁動作のばらつきを抑制した状態で閉弁タイミングを検出することができ、閉弁タイミングを正確に検出することができる。なお、燃料噴射弁の閉弁タイミングは、燃料噴射弁への電力供給停止後に発生する誘導起電力の変化特性が、閉弁タイミングで変化することに基づいて検出することができる。
【図面の簡単な説明】
【００１１】
【図１】エンジン制御システムの概略構成を示す図。
【図２】燃料噴射制御装置の構成を示すブロック図。
【図３】燃料噴射弁のフルリフト状態を示す図。
【図４】燃料噴射弁のパーシャルリフト状態を示す図。
【図５】燃料噴射弁の噴射パルス幅と実噴射量との関係を示す図。
【図６】燃料噴射弁の噴射パルス幅と実噴射量と暖機状態との関係を示す図。
【図７】燃料噴射弁の噴射パルス幅と実噴射量と駆動電流のピーク値との関係を示す図。
【図８】燃料噴射弁の駆動動作を示すタイムチャート。
【図９】ピーク電流補正処理の手順を示すフローチャート。
【図１０】実電流の流れやすさ指標と基準値との関係を示す図。
【図１１】ピーク電流補正の態様を示すタイムチャート。
【図１２】ピーク電流補正の他の態様を示すタイムチャート。
【図１３】プレチャージ補正処理の手順を示すフローチャート。
【図１４】プレチャージ補正の態様を示すタイムチャート。
【図１５】燃料噴射弁の噴射量と閉弁タイミング等の関係を示す図。
【図１６】燃料噴射弁の電圧変曲点時間と噴射量との関係を示す図。
【図１７】電圧変曲点時間と噴射量との関係を近似した一次式を示す図。
【図１８】電圧変曲点時間に対応する噴射量を推定する処理を示す図。
【図１９】噴射パルス幅と噴射量との関係を規定するマップの一例を示す図。
【図２０】要求噴射量に応じた要求噴射パルス幅を算出する処理を示す図。
【図２１】電圧変曲点時間算出処理の手順を示すフローチャート。
【図２２】噴射パルス補正処理の手順を示すフローチャート（その１）。
【図２３】噴射パルス補正処理の手順を示すフローチャート（その２）。
【図２４】代表噴射パルス幅を示す図。
【図２５】電圧変曲点時間算出の態様を示すタイムチャート。
【図２６】閉弁タイミング検出に基づくパルス補正の態様を示すタイムチャート。
【図２７】空燃比Ｆ／Ｂ補正の態様を示すタイムチャート。
【発明を実施するための形態】
【００１２】
以下、一実施形態について図面を参照して説明する。本実施形態は、車両用のガソリンエンジンを制御する制御システムとして具体化している。
【００１３】
まず、図１に基づいてエンジン制御システムの概略構成を説明する。
【００１４】
筒内噴射式の多気筒内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１５】
スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が接続され、エンジン１１の各気筒には、それぞれ筒内に燃料を直接噴射する電磁駆動式の燃料噴射弁２１が取り付けられている。エンジン１１のシリンダヘッドには、気筒毎に点火プラグ２２が取り付けられ、各気筒の点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００１６】
エンジン１１の排気管２３（排気通路に相当）には、排出ガスに基づいて混合気の空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００１７】
エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキングを検出するノックセンサ２７が取り付けられている。クランク軸２８の外周側には、クランク軸２８が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２９が取り付けられ、このクランク角センサ２９のクランク角信号に基づいてクランク角やエンジン回転速度が検出される。
【００１８】
これら各種センサの出力は、ＥＣＵ３０に入力される。ＥＣＵ３０は、マイクロコンピュータを主体として構成された電子制御ユニットであり、各種センサの検出信号を用いて内燃機関の各種制御を実施する。ＥＣＵ３０は、エンジン運転状態に応じた燃料噴射量を算出して、燃料噴射弁２１の燃料噴射を制御するとともに、点火プラグ２２の点火時期を制御する。
【００１９】
図２に示すように、ＥＣＵ３０には、エンジン制御用マイコン３５（エンジン１１の制御用のマイクロコンピュータ）やインジェクタ駆動用ＩＣ３６（燃料噴射弁２１の駆動用ＩＣ）等が設けられている。駆動用ＩＣ３６（駆動部に相当）は、燃料噴射弁２１の端子Ｐ１，Ｐ２を介して燃料噴射弁２１の駆動コイルに低電圧Ｖ１と高電圧Ｖ２とを印加する（すなわち電力供給する）。
【００２０】
ＥＣＵ３０は、エンジン制御用マイコン３５で、エンジン運転状態（例えばエンジン回転速度やエンジン負荷等）に応じて要求噴射量を算出して、この要求噴射量に応じて要求噴射パルス幅Ｔi （噴射時間）を算出し、インジェクタ駆動用ＩＣ３６で、要求噴射量に応じた要求噴射パルス幅Ｔ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を算出する処理をエンジン１１の各気筒毎に行う。差分Ｖdiffが閾値Ｖt を越えるタイミングが、燃料噴射弁２１の閉弁タイミングに相当する。
［噴射パルス補正ルーチン］
図２２及び図２３に示す噴射パルス補正ルーチンは、ＥＣＵ３０（算出部に相当）の電源オン期間中（例えばイグニッションスイッチのオン期間中）に所定周期で繰り返し実行される。本ルーチンが起動されると、まず、Ｓ２０１で、パーシャルリフト噴射の実行中であるか否かを判定する。このＳ２０１で、パーシャルリフト噴射の実行中ではないと判定された場合には、Ｓ２０２以降の処理を実行することなく、本ルーチンを終了する。
【００９０】
一方、上記Ｓ２０１で、パーシャルリフト噴射の実行中であると判定された場合には、Ｓ２０２に進み、所定の実行条件が成立しているか否かを、例えば、噴射パルス幅Ｔ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をインジェクタ駆動用ＩＣ３６から取得する。
【０１０３】
そして、検出された差分Ｖdiffが閾値Ｖt を越えるタイミングｔ2（すなわち閉弁タイミング）及び要求噴射量Ｑreqに基づいて、要求噴射パルス幅Ｔireq（すなわち駆動用ＩＣ３６により供給させる電力）を算出する。その結果、図２６に示すように、学習用パルスが破線から実線に補正される。
【０１０４】
また、本実施形態では、ＥＣＵ３０は、空燃比を目標空燃比（例えばストイキ）に制御する空燃比Ｆ／Ｂ制御を実行している。この際、図２７に示すように、後段のパーシャルリフト噴射のパルス幅は図２６で学習したパルス幅とし、前段のフルリフト噴射のパルス幅を破線から実線に補正する。これにより、空燃比を目標空燃比に制御することができる。
【０１０５】
以上詳述した本実施形態は、以下の利点を有する。
【０１０６】
・電流センサ６１による検出電流に誤差が含まれる場合には、燃料噴射弁２１への高電圧の印加時において燃料噴射弁２１の実電流にピーク点のずれが生じる。この場合、燃料噴射弁２１に対する投入エネルギのずれが生じることから、開弁応答特性（開弁速度）が変化し、燃料噴射量の過不足が生じることが懸念される。この点、燃料噴射弁２１に高電圧を印加した状態で、検出電流について電流変化の傾きを算出し、その電流変化の傾きに基づいて、実電流のピーク点のずれを是正するための補正処理を実施する構成とした。これにより、検出電流の誤差が生じている場合にも燃料噴射弁２１に対する投入エネルギのずれを抑制でき、ひいては燃料噴射制御の精度を高めることができる。特に、微小噴射量になると、実電流のピークずれの影響が大きくなるが、上記構成によれば、微小噴射量のばらつき軽減の効果が期待できる。
【０１０７】
・複数点の電流値（Ｉｐ，Ｉｈ）を定めておき、それら各電流値に到達する時間情報（Ｔｐ，Ｔｈ）を用いて電流傾きＳＬを算出する構成とした。この場合、タイマ等の簡易な構成を用いて電流傾きＳＬを容易に算出できる。また、ピーク電流到達時間の基準値Ｔｐ＿ｔｙｐを定めておくことで、時間誤差ΔＴｐの算出、及びそれを用いたピーク電流補正値Ｋｐｅの算出を簡易に実施できる。
【０１０８】
・燃料噴射弁２１においては、コイル温度や印加電圧の値等に応じて実電流の変化の傾き（流れやすさ）に影響が及ぶ。この点を考慮し、ピーク電流到達時間の基準値Ｔｐ＿ｔｙｐを可変に設定する構成とした。これにより、ピーク電流到達時間の誤差ΔＴｐを正しく算出でき、ひいてはピーク電流補正の精度を高めることができる。
【０１０９】
・第１のフィルタ電圧Ｖsm1 と第２のフィルタ電圧Ｖsm2 との差分Ｖdiffを算出し、噴射パルスがオフからオンに切り換わるタイミング（基準タイミング）から差分Ｖdiffが閾値Ｖt を越えるタイミングまでの時間を電圧変曲点時間Ｔdiffとして算出することで、燃料噴射弁２１の閉弁タイミングに応じて変化する電圧変曲点時間Ｔdiffを精度良く算出することができる。すなわち、燃料噴射弁２１の閉弁タイミングを、燃料噴射弁２１への電力供給停止後に発生する誘導起電力の変化特性が、閉弁タイミングで変化することに基づいて検出することができる。
【０１１０】
・パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の略１／２の噴射量となる噴射パルス幅付近で噴射量ばらつき幅が最も大きくなる傾向があることを考慮に入れて、代表噴射パルス幅Ｔi(x)を、パーシャルリフト噴射とフルリフト噴射との境界に相当する噴射量Ｑa の１／２の噴射量となる噴射パルス幅に設定するようにしたので、噴射量ばらつき幅が最も大きくなる噴射パルス幅でパーシャルリフト噴射を実行した場合の電圧変曲点時間Ｔ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を精度良く且つ早いタイミングで算出することができる。
【０１２１】
・第１〜第４のローパスフィルタとしてデジタルフィルタを用いるようにしたが、これに限定されず、第１〜第４のローパスフィルタとしてアナログフィルタを用いるようにしても良い。
【０１２２】
・燃料噴射弁２１のマイナス端子電圧を用いて電圧変曲点時間を算出するようにしたが、これに限定されず、燃料噴射弁２１のプラス端子電圧を用いて電圧変曲点時間を算出するようにしてもよい。
【０１２３】
・燃料噴射弁２１の駆動電流がピーク値に達するまでの駆動電流の積算値を制御することによっても、燃料噴射弁２１の開弁動作を精度よく制御することができる。そこで、マイコン３５は、電流センサ６１により検出される駆動電流がピーク値に達するまでの駆動電流の積算値の実値を目標値に合わすべく、駆動用ＩＣ３６による電力供給を補正してもよい。こうした構成によれば、燃料噴射弁２１の開弁動作のばらつきをより抑制した状態で閉弁タイミングを検出することができ、閉弁タイミングをより正確に検出することができる。
【０１２４】
・一般に、フルリフト噴射は、パーシャルリフト噴射よりも実行される機会が多い。そこで、マイコン３５は、フルリフト噴射において、電流センサ６１により検出される駆動電流の実値を目標値に合わすべく、駆動用ＩＣ３６による電力供給を補正してもよい。こうした構成によれば、駆動用ＩＣ３６による電力供給を補正する機会を多く確保することができる。そして、フルリフト噴射において駆動用ＩＣ３６による電力供給を補正した上で、パーシャルリフト噴射の実行時に開弁タイミングを検出することができる。
【符号の説明】
【０１２５】
１１…エンジン、２１…燃料噴射弁、３０…ＥＣＵ、３５…マイコン、３６…駆動用ＩＣ、６１…電流センサ、６２…電圧センサ、Ｐ１…端子、Ｐ２…端子。
【図１】
0006477321.tif 000002
【図２】
0006477321.tif 000003
【図３】
0006477321.tif 000004
【図４】
0006477321.tif 000005
【図５】
0006477321.tif 000006
【図６】
0006477321.tif 000007
【図７】
0006477321.tif 000008
【図８】
0006477321.tif 000009
【図９】
0006477321.tif 000010
【図１０】
0006477321.tif 000011
【図１１】
0006477321.tif 000012
【図１２】
0006477321.tif 000013
【図１３】
0006477321.tif 000014
【図１４】
0006477321.tif 000015
【図１５】
0006477321.tif 000016
【図１６】
0006477321.tif 000017
【図１７】
0006477321.tif 000018
【図１８】
0006477321.tif 000019
【図１９】
0006477321.tif 000020
【図２０】
0006477321.tif 000021
【図２１】
0006477321.tif 000022
【図２２】
0006477321.tif 000023
【図２３】
0006477321.tif 000024
【図２４】
0006477321.tif 000025
【図２５】
0006477321.tif 000026
【図２６】
0006477321.tif 000027
【図２７】
0006477321.tif 000028