(57)【要約】【課題】電磁弁制御装置の部品点数を削減する。【解決手段】燃料噴射制御装置１では、インジェクタである電磁弁３のコイル５にコンデンサ１９から放電させるための放電スイッチ２１と、バッテリ電圧ＶＢからコイル５に一定の電流を流すための定電流スイッチ１１とのオン／オフを、マイコン２５が制御する。そして、マイコン２５は、コンデンサ１９の充電電圧ＶＣを検出し、コンデンサ１９からコイル５への放電電流の最大値を目標最大値にするために、放電スイッチ２１をオンさせる時間である目標放電時間を、その充電電圧ＶＣの検出値に基づいて算出する。またマイコン２５は、バッテリ電圧ＶＢを検出し、前記一定の電流を目標電流にするための、定電流スイッチ１１のスイッチング周期あたりのオン時間である目標オン時間を、そのバッテリ電圧ＶＢの検出値に基づいて算出する。【選択図】図１
2014211698.tif 000002
【特許請求の範囲】
【請求項１】
コンデンサ（１９）の充電電圧がバッテリ電圧よりも高い所定電圧となるように、前記コンデンサを充電する充電手段（１７）と、
電磁弁（３）のコイル（５）への通電期間の開始時から所定の放電時間だけオンされることで、前記コイルの上流側に前記コンデンサを接続させて、前記コンデンサから前記コイルに放電させる放電スイッチ（２１）と、
前記バッテリ電圧が供給される電源ライン（Ｌｐ）と前記コイルの上流側との間に、直列に設けられ、前記通電期間のうち、前記放電スイッチがオフされた後の期間において、前記コイルに一定の電流を流すために所定のスイッチング周期でオン／オフされる定電流スイッチ（１１）と、
マイコン（２５）と、を備え、
前記マイコンは、
前記コンデンサの充電電圧を検出すると共に、前記コンデンサから前記コイルへの放電電流の最大値を目標最大値にするための、前記放電時間である目標放電時間を、前記充電電圧の検出値に基づいて算出する放電時間算出手段（Ｓ１１０〜Ｓ１３０）と、
前記通電期間の開始時から、前記放電時間算出手段により算出された前記目標放電時間だけ、前記放電スイッチをオンさせることにより、前記コンデンサから前記コイルに、最大値が前記目標最大値となる放電電流を流す放電制御手段（Ｓ２０〜Ｓ４０）と、
前記バッテリ電圧を検出すると共に、前記一定の電流を目標電流にするための、前記定電流スイッチの前記スイッチング周期あたりのオン時間である目標オン時間を、前記バッテリ電圧の検出値に基づいて算出するオン時間算出手段（Ｓ３１０，Ｓ３２０）と、
前記通電期間のうち、前記放電スイッチがオフされた後の期間において、前記定電流スイッチを、「前記オン時間算出手段により算出された前記目標オン時間／前記スイッチング周期」のデューティ比でオン／オフさせることにより、前記コイルに前記目標電流を流す定電流制御手段（Ｓ５０）との、各々として機能すること、
を特徴とする電磁弁制御装置。
【請求項２】
請求項１に記載の電磁弁制御装置において、
前記放電時間算出手段は、
前記放電電流の増加傾きの逆数である係数と前記充電電圧との関係を表す係数算出式に、前記充電電圧の検出値を代入することで、前記係数を算出し、その算出した係数に前記目標最大値を乗ずることで、前記目標放電時間を算出すること、
を特徴とする電磁弁制御装置。
【請求項３】
請求項１又は請求項２に記載の電磁弁制御装置において、
前記係数算出式は、下記の式Ａであり、
前記マイコンは、
前記電磁弁を駆動する前の前記充電電圧の検出値と、前記電磁弁を駆動した際における前記放電電流の増加傾きの検出値とから、下記の式Ａにおける「ｃ」と「ｄ」を算出して更新する第１学習手段（Ｓ２２０，Ｓ２４０）としても機能すること、
を特徴とする電磁弁制御装置。
係数＝１／（ｃ×充電電圧＋ｄ）…式Ａ
【請求項４】
請求項２又は請求項３に記載の電磁弁制御装置において、
前記放電時間算出手段は、
前記係数に前記目標最大値を乗じた値に対して、更にオフセット値を加算することで、前記目標放電時間を算出すること、
を特徴とする電磁弁制御装置。
【請求項５】
請求項４に記載の電磁弁制御装置において、
前記マイコンは、
前記電磁弁を駆動するために前記放電スイッチをオンしてから所定時間が経過したときの前記放電電流の検出値と、前記所定時間と、既に算出している前記係数とから、前記オフセット値を算出して更新する第２学習手段（Ｓ２６０，Ｓ２８０）としても機能すること、
を特徴とする電磁弁制御装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の電磁弁制御装置において、
前記オン時間算出手段は、
前記目標オン時間と前記バッテリ電圧との関係を表すオン時間算出式に、前記バッテリ電圧の検出値を代入することで、前記目標オン時間を算出すること、
を特徴とする電磁弁制御装置。
【請求項７】
請求項６に記載の電磁弁制御装置において、
前記オン時間算出式は、下記の式Ｂであること、
を特徴とする電磁弁制御装置。
目標オン時間＝（Ｉｇ×Ｒ×Ｔ＋Ｖｆ×Ｔ）／ＶＢ…式Ｂ
但し、Ｉｇは、前記目標電流であり、Ｒは、前記コイルに電流を流す電流回路の抵抗値であり、Ｖｆは、前記電流回路上に設けられているダイオードの順方向電圧であり、Ｔは、前記スイッチング周期であり、ＶＢは、前記バッテリ電圧である。
【請求項８】
請求項７に記載の電磁弁制御装置において、
前記マイコンは、
前記定電流制御手段が前記定電流スイッチをオン／オフさせたことによって前記コイルに流れた電流の平均値である平均電流の検出値と、前記バッテリ電圧の検出値と、前記定電流制御手段が前記定電流スイッチの制御に用いた前記目標オン時間とを、下記の式Ｃに代入することにより、前記式ＢにおけるＲを算出して更新する第３学習手段（Ｓ４２０，Ｓ４４０）としても機能すること、
を特徴とする電磁弁制御装置。
Ｒ＝（ＶＢ×ｔｇ−Ｖｆ×Ｔ）／（Ｔ×Ｉａｖｅ）…式Ｃ
但し、ｔｇは、前記目標オン時間であり、Ｉａｖｅは、前記平均電流である。
【請求項９】
請求項８に記載の電磁弁制御装置において、
前記コイルに流れる電流に応じた電圧の電流検出信号を出力する電流検出手段（９）と、
前記電流検出信号を入力信号とする積分回路（３３）とを備え、
前記マイコンは、前記積分回路の出力信号から前記平均電流を検出すること、
を特徴とする電磁弁制御装置。
【請求項１０】
請求項１ないし請求項９の何れか１項に記載の電磁弁制御装置において、
前記オン時間算出手段は、
前記バッテリ電圧から前記コイルに電流を流す電流経路のカットオフ周波数をｆｃとすると、該ｆｃをｎ倍（ｎは１以上の数）した周波数の逆数の時間毎に動作して、前記バッテリ電圧を検出すると共に前記目標オン時間を更新すること、
を特徴とする電磁弁制御装置。
【請求項１１】
請求項１０に記載の電磁弁制御装置において、前記ｎは４であること、
を特徴とする電磁弁制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電磁弁制御装置に関する。
【背景技術】
【０００２】
例えば車両の内燃機関の気筒に燃料を噴射供給する燃料噴射弁（インジェクタ）としては、コイルへの通電により開弁する電磁弁が使用される。そして、このような燃料噴射弁を駆動して燃料噴射を制御する燃料噴射制御装置は、コイルへの通電（通電開始タイミング及び通電時間）を制御することにより、燃料噴射時期及び燃料噴射量を制御している。
【０００３】
また、燃料噴射制御装置では、バッテリ電圧を昇圧してコンデンサを充電すると共に、コイルへの通電期間の開始時には、コンデンサからコイルに放電させるための放電用トランジスタをオンさせる。そして、コイルに流れる電流（以下、コイル電流ともいう）が放電電流の目標最大値に達したことを検知すると、放電用トランジスタをオフし、その後、通電期間が終了するまでは、コイルの上流側とバッテリ電圧との間に設けられた定電流用トランジスタをオン／オフさせることにより、コイルに一定の電流を流す。その定電流用トランジスタのオン／オフ制御では、コイル電流が下側閾値以下になったことを検知すると定電流用トランジスタをオフからオンに切り換え、コイル電流が上側閾値（＞下側閾値）以上になったことを検知すると定電流用トランジスタをオンからオフに切り換える。このため、コイル電流は、上側閾値と下側閾値との間の平均電流に制御される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２２１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の燃料噴射制御装置では、コイル電流が制御目標の値になったことを検知したタイミングで、放電用トランジスタ及び定電流用トランジスタのオン／オフ状態を切り換えるようになっている。このため、放電用トランジスタ及び定電流用トランジスタを制御するためには、高速の応答動作が必要となる。よって、コイルへの通電期間を決定する処理等を行うマイコンとは別に、放電用トランジスタと定電流用トランジスタを制御するための専用回路を設ける必要があり、部品点数の増加（延いては装置の大型化）を招く要因となっていた。
【０００６】
そこで、本発明は、電磁弁制御装置の部品点数削減を目的としている。
【課題を解決するための手段】
【０００７】
第１発明の電磁弁制御装置は、コンデンサの充電電圧がバッテリ電圧よりも高い所定電圧となるように、前記コンデンサを充電する充電手段と、電磁弁のコイルへの通電期間の開始時から所定の放電時間だけオンされることで、前記コイルの上流側に前記コンデンサを接続させて、前記コンデンサから前記コイルに放電させる放電スイッチと、前記バッテリ電圧が供給される電源ラインと前記コイルの上流側との間に、直列に設けられ、前記通電期間のうち、前記放電スイッチがオフされた後の期間において、前記コイルに一定の電流を流すために所定のスイッチング周期でオン／オフされる定電流スイッチと、マイコンと、を備える。
【０００８】
そして、マイコンは、放電時間算出手段と、放電制御手段と、オン時間算出手段と、定電流制御手段との、各々として機能する。
放電時間算出手段は、前記コンデンサの充電電圧を検出すると共に、前記コンデンサから前記コイルへの放電電流の最大値を目標最大値にするための、前記放電時間である目標放電時間を、前記充電電圧の検出値に基づいて算出する手段である。
【０００９】
そして、放電制御手段は、前記通電期間の開始時から、前記放電時間算出手段により算出された前記目標放電時間だけ、前記放電スイッチをオンさせることにより、前記コンデンサから前記コイルに、最大値が前記目標最大値となる放電電流を流す手段である。
【００１０】
また、オン時間算出手段は、前記バッテリ電圧を検出すると共に、前記一定の電流を目標電流にするための、前記定電流スイッチの前記スイッチング周期あたりのオン時間である目標オン時間を、前記バッテリ電圧の検出値に基づいて算出する手段である。
【００１１】
そして、定電流制御手段は、前記通電期間のうち、前記放電スイッチがオフされた後の期間において、前記定電流スイッチを、「前記オン時間算出手段により算出された前記目標オン時間／前記スイッチング周期」のデューティ比でオン／オフさせることにより、前記コイルに前記目標電流を流す手段である。尚、定電流スイッチを、「目標オン時間／スイッチング周期」のデューティ比でオン／オフさせるということは、スイッチング周期あたりに目標オン時間だけオンさせるということである。
【００１２】
このような電磁弁制御装置によれば、マイコンとは別に、放電スイッチ及び定電流スイッチのオン／オフを制御するための専用回路を設ける必要がないため、部品点数を削減することができ、延いては装置の小形化を実現することができる。
【００１３】
そして、マイコンは、充電電圧の検出値に基づいて、コイルへの放電電流の最大値を目標最大値にするための、放電スイッチのオン時間である目標放電時間を決定する。更に、マイコンは、バッテリ電圧の検出値に基づいて、コイルに一定の目標電流を流すための、定電流スイッチのスイッチング周期あたりのオン時間である目標オン時間を決定している。このため、充電電圧とバッテリ電圧が変化したとしても、目標最大値となる放電電流をコイルに流すことができ、その後は、コイルに目標電流を流すことができる。よって、コイルに流す電流の制御精度も確保することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の燃料噴射制御装置を示す構成図である。
【図２】マイコンの動作概要を説明する説明図である。
【図３】駆動制御処理を表すフローチャートである。
【図４】放電時間算出処理を表すフローチャートである。
【図５】第１学習処理を表すフローチャートである。
【図６】定数ｃ，ｄ算出用情報のうち、放電電流の増加傾きを検出する手順を説明する説明図である。
【図７】第２学習処理を表すフローチャートである。
【図８】オフセット値ｂ算出用情報を検出する手順を説明する説明図である。
【図９】オン時間算出処理を表すフローチャートである。
【図１０】コイル電流の波形を表す図である。
【図１１】目標オン時間を算出する式の導出を説明するための説明図である。
【図１２】第３学習処理を表すフローチャートである。
【図１３】平均電流の検出手法を説明するための説明図である。
【発明を実施するための形態】
【００１５】
以下に、本発明の電磁弁制御装置が適用された実施形態の燃料噴射制御装置について、図面を用い説明する。尚、本実施形態の燃料噴射制御装置は、車両に搭載された多気筒（この例では４気筒）エンジンの各気筒＃１〜＃４に燃料を噴射供給する４個の電磁ソレノイド式インジェクタ（以下、電磁弁という）を駆動するものであり、その各電磁弁のコイルへの通電開始タイミング及び通電時間を制御することにより、各気筒＃１〜＃４への燃料噴射タイミング及び燃料噴射量を制御する。また、エンジンは、ガソリンエンジン、ディーゼルエンジンの何れでもよい。また、本実施形態において、スイッチとして使用しているスイッチング素子は、例えばＭＯＳＦＥＴであるが、バイポーラトランジスタやＩＧＢＴ（絶縁ゲートバイポーラトランジスタ）等の他種類のスイッチング素子でも良い。
【００１６】
図１に示すように、燃料噴射制御装置１は、電磁弁３のコイル５の一端（上流側）が接続される端子ＣＭと、コイル５の他端（下流側）が接続される端子ＩＮＪと、端子ＩＮＪに一方の出力端子が接続されたスイッチング素子である気筒選択スイッチ７と、気筒選択スイッチ７の他方の出力端子とグランドラインとの間に接続された電流検出用の抵抗９と、を備える。
【００１７】
電磁弁３は、常閉式の電磁弁である。電磁弁３では、コイル５に通電されると、図示しない弁体（いわゆるノズルニードル）が開弁位置に移動し（換言すれば、リフトし）、燃料噴射が行われる。また、コイル５の通電が遮断されると、弁体が元の閉弁位置に戻り、燃料噴射が停止される。
【００１８】
尚、図１では、４個の電磁弁３のうち、第Ｎ気筒＃Ｎ（Ｎは１〜４の何れか）に対応する１つの電磁弁３だけを示しており、以下では、その１つの電磁弁３の駆動及びその１つの電磁弁３による燃料噴射に関して説明する。実際には、端子ＣＭは、各気筒の電磁弁３について共通の端子となっており、その端子ＣＭに、各電磁弁３のコイル５がそれぞれ接続されている。また、端子ＩＮＪ及び気筒選択スイッチ７は、各電磁弁３について（換言すれば、各気筒について）それぞれ備えられている。気筒選択スイッチ７は、駆動対象の電磁弁３（換言すれば、噴射対象の気筒）を選択するためのスイッチング素子である。
【００１９】
更に、燃料噴射制御装置１は、電源電圧としての車載バッテリの電圧（バッテリ電圧）ＶＢが供給される電源ラインＬｐに一方の出力端子が接続されたスイッチング素子である定電流スイッチ１１と、定電流スイッチ１１の他方の出力端子にアノードが接続され、カソードが上記端子ＣＭに接続された逆流防止用のダイオード１３と、アノードがグランドラインに接続され、カソードが端子ＣＭに接続された電流還流用のダイオード１５と、昇圧回路１７とを備える。
【００２０】
ダイオード１５は、気筒選択スイッチ７がオンされている状態で定電流スイッチ１１がオンからオフされた時に、コイル５に電流を還流させる。
昇圧回路１７は、コンデンサ１９を備えた周知のＤＣ／ＤＣコンバータである。コンデンサ１９には、電磁弁３の弁体を開弁方向へ速やかに動かすため（即ち、電磁弁３の開弁を速めるため）の電気エネルギが蓄積される。そして、昇圧回路１７は、バッテリ電圧ＶＢを昇圧し、その昇圧した電圧でコンデンサ１９を充電することにより、コンデンサ１９の充電電圧ＶＣがバッテリ電圧ＶＢよりも高い所定の目標電圧となるようにする。
【００２１】
また、燃料噴射制御装置１は、コンデンサ１９の正極側を端子ＣＭに接続させてコンデンサ１９からコイル５に放電させるスイッチング素子である放電スイッチ２１と、アノードが端子ＩＮＪに接続され、カソードがコンデンサ１９の正極側に接続されたエネルギ回収用のダイオード２３と、気筒選択スイッチ７、定電流スイッチ１１及び放電スイッチ２１を制御することで、コイル５に流す電流を制御するマイコン（マイクロコンピュータ）２５と、を備える。
【００２２】
更に、燃料噴射制御装置１は、マイコン２５からの駆動信号に応じて気筒選択スイッチ７をオン／オフさせる駆動回路２７と、マイコン２５からの駆動信号に応じて定電流スイッチ１１をオン／オフさせる駆動回路２９と、マイコン２５からの駆動信号に応じて放電スイッチ２１をオン／オフさせる駆動回路３１と、抵抗９の上流側に生じる電圧であって、コイル電流（コイル５に流れる電流）に応じた電圧の電流検出信号を、入力信号とするローパスフィルタとしての積分回路３３と、コンデンサ１９の充電電圧ＶＣをマイコン２５が入力可能な範囲（本実施形態では例えば０〜５Ｖの範囲）の電圧に分圧し、その分圧電圧（分圧後の電圧）をマイコン２５に入力させる分圧回路３５と、バッテリ電圧ＶＢをマイコン２５が入力可能な範囲の電圧に分圧し、その分圧電圧をマイコン２５に入力させる分圧回路３７と、を備えている。積分回路３３は、例えば抵抗４９とコンデンサ５０からなり、その積分回路３３の出力信号はマイコン２５に入力される。
【００２３】
マイコン２５は、プログラムを実行するＣＰＵ４１、プログラムや固定のデータ等が記憶されたＲＯＭ４３、ＣＰＵ４１による演算結果等が記憶されるＲＡＭ４５、Ａ／Ｄ変換器（ＡＤＣ）４７等を備えている。マイコン２５において、積分回路３３から入力される電圧検出信号や、分圧回路３５，３７から入力される分圧電圧は、Ａ／Ｄ変換器４７によりＡ／Ｄ変換される。
【００２４】
次に、マイコン２５の動作概要について、図２を用い説明する。尚、マイコン２５の動作は、ＣＰＵ４１がＲＯＭ４３内のプログラムを実行することで実現される。
マイコン２５は、エンジン回転数Ｎｅ、アクセル開度ＡＣＣ、エンジン水温ＴＨＷなど、各種センサにて検出されるエンジンの運転情報に基づいて、気筒毎に、電磁弁３のコイル５への通電期間を決定する。具体的には、通電開始タイミングと通電時間を決定する。通電開始タイミングは、燃料噴射の開始タイミングから決定され、通電時間は、燃料噴射量から決定される。
【００２５】
そして、図２に示すように、マイコン２５は、決定した通電期間の間、気筒選択スイッチ７をオンさせる。更に、マイコン２５は、通電期間の開始時から目標放電時間ｔｐだけ放電スイッチ２１オンさせる。
【００２６】
そして、放電スイッチ２１がオンすると、コンデンサ１９からコイル５に放電される。つまり、「コンデンサ１９→放電スイッチ２１→コイル５→気筒選択スイッチ７→抵抗９→グランドライン」の経路で電流が流れる。このようなコンデンサ１９の放電に際し、高電位となる端子ＣＭ側から電源ラインＬｐ側への回り込みは、ダイオード１３によって防止される。尚、以下の説明において、放電電流とは、コンデンサ１９からコイル５に放電される電流であり、コンデンサ１９からコイル５への放電によるコイル電流でもある。
【００２７】
また、目標放電時間ｔｐは、通電期間の開始時（換言すれば、コイル５への通電開始時）から、その目標放電時間ｔｐが経過したときに、コイル電流が放電電流の目標最大値Ｉｐとなるように、マイコン２５により設定されている。目標放電時間ｔｐの設定ついては、後で説明する。
【００２８】
マイコン２５は、通電期間の開始時から目標放電時間ｔｐが経過すると、放電スイッチ２１をオフさせる。
そして、マイコン２５は、通電期間のうち、放電スイッチ２１をオフさせた後の残りの期間においては、定電流スイッチ１１を所定のスイッチング周期Ｔでオン／オフさせるスイッチング制御を行うことにより、コイル５に、上記目標最大値Ｉｐよりも小さい一定の電流を流す。
【００２９】
定電流スイッチ１１のオン時には、バッテリ電圧ＶＢ（電源ラインＬｐ）からコイル５に電流が流れる。つまり、「電源ラインＬｐ→定電流スイッチ１１→ダイオード１３→コイル５→気筒選択スイッチ７→抵抗９→グランドライン」の経路で電流が流れる。また、定電流スイッチ１１のオフ時には、コイル５に、グランドライン側からダイオード１５を介して電流が流れる（還流する）。このため、コイル電流は、定電流スイッチ１１のオン時において徐々に増加し、定電流スイッチ１１のオフ時において徐々に減少する（図１０も参照）。
【００３０】
また、定電流スイッチ１１は、マイコン２５により、スイッチング周期Ｔあたりに所定の目標オン時間ｔｇだけオンされる。つまり、定電流スイッチ１１は、スイッチング周期Ｔを１周期とし、「ｔｇ／Ｔ」のデューティ比でオン／オフされる。そして、その目標オン時間ｔｇは、定電流スイッチ１１のオン／オフによるコイル電流が目標電流（詳しくは、目標の平均電流）となるように、マイコン２５により設定されている。目標オン時間ｔｇの設定についても、後で説明する。
【００３１】
その後、マイコン２５は、通電期間が終了すると、定電流スイッチ１１をオフのままにすると共に、気筒選択スイッチ７もオフさせる。すると、コイル５への通電が停止して電磁弁３が閉弁し、その電磁弁３による燃料噴射が終了される。また、気筒選択スイッチ７及び定電流スイッチ１１がオフされると、コイル５にフライバックエネルギが発生するが、そのフライバックエネルギは、エネルギ回収経路をなすダイオード２３を通じて、コンデンサ１９へ電流の形で回収される。
【００３２】
尚、定電流スイッチ１１のオン／オフによってコイル５に流す一定の電流としては、図２に示すように、ピックアップ電流とホールド電流とがある。ピックアップ電流は、コンデンサ１９からコイル５への放電電流によってリフトした電磁弁３の弁体を、開弁位置へと確実に移動させるため（即ち、確実な開弁を実現するため）の電流である。また、ホールド電流は、ピックアップ電流よりも小さい電流であり、電磁弁３の開弁保持に最低限必要な電磁力を発生させるための電流である。つまり、コイル５に流す一定の電流を、大小２種類の値に切り換えるようになっている。但し、以下では、説明を簡略化するため、コイル５に流す一定の電流が、１種類であって、例えばピックアップ電流であるとして説明するが、ホールド電流の方についても、ピックアップ電流について述べる制御手法と同様の制御手法が適用される。
【００３３】
ここで、マイコン２５が気筒選択スイッチ７、定電流スイッチ１１及び放電スイッチ２１を制御するために行う駆動制御処理の内容をまとめると、図３のようになる。
マイコン２５は、通電期間の開始タイミングが到来すると、図３の駆動制御処理を開始し、Ｓ１０にて、気筒選択スイッチ７をオンさせ、次のＳ２０にて、放電スイッチ２１もオンさせる。
【００３４】
そして、マイコン２５は、次のＳ３０にて、既に設定している目標放電時間ｔｐが経過するまで待ち、目標放電時間ｔｐが経過したと判定すると、Ｓ４０に進んで、放電スイッチ２１をオフさせる。
【００３５】
その後、マイコン２５は、Ｓ５０にて、定電流スイッチ１１をオン／オフさせるスイッチング制御を行う。そのスイッチング制御では、定電流スイッチ１１をスイッチング周期Ｔあたりに目標オン時間ｔｇだけオンさせる。そして、マイコン２５は、次のＳ６０にて、通電期間が終了したか否かを判定し、通電期間が終了していなければ、Ｓ５０に戻って、引き続き定電流スイッチ１１のスイッチング制御を行う。
【００３６】
また、マイコン２５は、Ｓ６０にて、通電期間が終了したと判定すると、Ｓ７０に進み、定電流スイッチ１１をオフさせたままにすると共に、気筒選択スイッチ７をオフさせ、その後、当該駆動制御処理を終了する。
【００３７】
次に、上記駆動制御処理で用いる目標放電時間ｔｐと目標オン時間ｔｇとの、マイコン２５による設定手法について説明する。
〔目標放電時間ｔｐの設定について〕
マイコン２５は、目標放電時間ｔｐを算出するための処理として、図４の放電時間算出処理を行う。尚、放電時間算出処理は、例えば、電磁弁３を駆動する前（換言すれば、燃料噴射を実施する前であり、コイル５への通電を開始する前）毎に実行される。
【００３８】
図４に示すように、マイコン２５は、放電時間算出処理では、まずＳ１１０にて、コンデンサ１９の充電電圧ＶＣを検出する。尚、マイコン２５は、分圧回路３５から入力される分圧電圧をＡ／Ｄ変換することにより、充電電圧ＶＣを検出する。
【００３９】
そして、マイコン２５は、次のＳ１２０にて、充電電圧ＶＣの検出値を、下記の式１に代入することで、係数ａを算出する。
ａ＝１／（ｃ×ＶＣ＋ｄ）…式１
係数ａは、放電電流の増加傾きの逆数である。つまり、式１は、放電電流の増加傾きの逆数である係数ａと充電電圧ＶＣとの関係を表す係数算出式であり、式Ａと同じ内容の式である。また、式１におけるｃとｄとの各々は、既に学習して算出している定数であり、後述する図５の第１学習処理によって更新される。
【００４０】
そして、マイコン２５は、次のＳ１３０にて、Ｓ１２０で算出した係数ａを、下記の式２に代入することにより、目標放電時間ｔｐを算出し、その後、当該放電時間算出処理を終了する。このＳ１３０で算出した目標放電時間ｔｐが駆動制御処理で用いられる。
【００４１】
ｔｐ＝ａ×Ｉｐ＋ｂ…式２
尚、式２におけるＩｐは、放電電流の目標最大値である。また、式２におけるｂは、既に学習して算出しているオフセット値であり、後述する図７の第２学習処理によって更新される。
【００４２】
つまり、マイコン２５は、放電電流と放電スイッチ２１のオン時間とが一次関数の関係にあると仮定した式２により、放電電流の最大値を目標最大値Ｉｐにすることのできる目標放電時間ｔｐを算出するが、その式２における係数ａを、充電電圧ＶＣの検出値を用いて式１から算出している。
【００４３】
〈式１における定数ｃ，ｄの算出について〉
マイコン２５は、電磁弁３を駆動する前の充電電圧ＶＣの検出値と、電磁弁３を駆動した際における放電電流の増加傾きの検出値とから、式１における定数ｃ，ｄを算出して更新する。
【００４４】
具体的には、マイコン２５は、定数ｃ，ｄを算出するための処理として、図５の第１学習処理を行う。この第１学習処理は、例えば一定時間毎に実行される。
図５に示すように、マイコン２５は、第１学習処理を開始すると、まずＳ２１０にて、定数ｃ，ｄを算出するための情報（以下、定数ｃ，ｄ算出用情報という）を収集すべき情報収集タイミングが到来したか否かを判定する。
【００４５】
例えば、前回の情報収集タイミングから所定のインターバル時間が経過していれば、情報収集タイミングが到来したと判定する。また例えば、前回の情報収集タイミングから所定回数だけ電磁弁３を駆動したなら（つまり電磁弁３による燃料噴射を実施したなら）、情報収集タイミングが到来したと判定するようになっていても良い。また例えば、電磁弁３による燃料噴射を実施する前毎に、情報収集タイミングが到来したと判定するようになっていても良い。情報収集タイミングは任意に設定することができる。
【００４６】
そして、マイコン２５は、Ｓ２１０にて情報収集タイミングが到来していないと判定した場合には、そのまま当該第１学習処理を終了するが、情報収集タイミングが到来したと判定した場合には、Ｓ２２０に進む。
【００４７】
マイコン２５は、Ｓ２２０では、今から最初に実施する燃料噴射（以下、今回噴射という）のための電磁弁３の駆動開始タイミングよりも微小な所定時間だけ前の電圧検出タイミングまで待ち、その電圧検出タイミングにて、充電電圧ＶＣを検出する。
【００４８】
更に、Ｓ２２０では、今回噴射のために電磁弁３を駆動した際の放電電流の増加傾きを検出する。具体的には、図６に示すように、マイコン２５は、放電スイッチ２１をオンさせている期間中の既知の２つの時点ｔａ，ｔｂにて、コイル電流（この場合は放電電流）を検出する。そして、２つの時点ｔａ，ｔｂでのコイル電流の差ΔＩを、２つの時点ｔａ，ｔｂの時間差Δｔで割った値を、放電電流の増加傾きｋとして算出する。
【００４９】
そして、Ｓ２２０では、検出した充電電圧ＶＣと増加傾きｋとを、定数ｃ，ｄ算出用情報としてＲＡＭ４５等のメモリに記憶する。
尚、マイコン２５は、積分回路３３から入力される電圧検出信号をＡ／Ｄ変換することにより、コイル電流を検出する。また、マイコン２５は、積分回路３３を介さずに入力される電圧検出信号をＡ／Ｄ変換することにより、コイル電流を検出しても良い。
【００５０】
次にマイコン２５は、Ｓ２３０にて、定数ｃ，ｄの算出タイミングであるか否かを判定する。例えば、Ｓ２２０の処理が１回以上の所定回数だけ行われる毎に、定数ｃ，ｄの算出タイミングであると判定する。定数ｃ，ｄの算出タイミングも任意に設定することができる。
【００５１】
そして、マイコン２５は、Ｓ２３０にて定数ｃ，ｄの算出タイミングであると判定しなければ、そのまま当該第１学習処理を終了するが、定数ｃ，ｄの算出タイミングであると判定した場合には、Ｓ２４０に進む。
【００５２】
マイコン２５は、Ｓ２４０では、例えば今回のＳ２２０と前回のＳ２２０とで検出されてＲＡＭ４５等のメモリに記憶された２組の充電電圧ＶＣ及び増加傾きｋを用いて、定数ｃ，ｄを算出する。具体的には、２組の充電電圧ＶＣ及び増加傾きｋのうち、一方の組をＶＣ１，ｋ１とし、他方の組をＶＣ２，ｋ２とすると、マイコン２５は、式１を変形した下記の式３，４の連立方程式から、定数ｃと定数ｄを算出する。
【００５３】
ｋ１＝ｃ×ＶＣ１＋ｄ…式３
ｋ２＝ｃ×ＶＣ２＋ｄ…式４
そして、マイコン２５は、算出した定数ｃと定数ｄを、図４のＳ１２０で係数ａを算出するのに用いる定数ｃ，ｄ（即ち、式１におけるｃ，ｄ）として設定し直し、その後、当該第１学習処理を終了する。
【００５４】
尚、Ｓ２２０とＳ２４０の処理を各燃料噴射について行えば、定数ｃ，ｄを最大の頻度で更新することとなる。
〈式２におけるオフセット値ｂの算出について〉
マイコン２５は、電磁弁３を駆動するために放電スイッチ２１をオンしてから所定時間が経過したときの放電電流の検出値と、その所定時間と、既に算出している係数ａとから、オフセット値ｂを算出して更新する。
【００５５】
具体的には、マイコン２５は、オフセット値ｂを算出するための処理として、図７の第２学習処理を行う。この第２学習処理は、例えば一定時間毎に実行される。
図７に示すように、マイコン２５は、第２学習処理を開始すると、まずＳ２５０にて、オフセット値ｂを算出するための情報（以下、オフセット値ｂ算出用情報という）を収集すべき情報収集タイミングが到来したか否かを判定する。
【００５６】
例えば、図５のＳ２１０と同様に、前回の情報収集タイミングから所定のインターバル時間が経過していれば、情報収集タイミングが到来したと判定する。また例えば、前回の情報収集タイミングから所定回数だけ電磁弁３を駆動したなら、情報収集タイミングが到来したと判定するようになっていても良い。また例えば、電磁弁３による燃料噴射を実施する前毎に、情報収集タイミングが到来したと判定するようになっていても良い。このＳ２５０で判定する情報収集タイミングも任意に設定することができる。
【００５７】
そして、マイコン２５は、Ｓ２５０にて情報収集タイミングが到来していないと判定した場合には、そのまま当該第２学習処理を終了するが、情報収集タイミングが到来したと判定した場合には、Ｓ２６０に進む。
【００５８】
マイコン２５は、Ｓ２６０では、例えば、今から最初に実施する燃料噴射である今回噴射について、図８に示すように、放電スイッチ２１をオンしてから既知の所定時間ｔｎ（＜ｔｐ）が経過したときの放電電流Ｉｎを検出し、その検出した放電電流Ｉｎを、オフセット値ｂ算出用情報としてＲＡＭ４５等のメモリに記憶する。
【００５９】
次にマイコン２５は、Ｓ２７０にて、オフセット値ｂの算出タイミングであるか否かを判定する。例えば、Ｓ２６０の処理が１回以上の所定回数だけ行われる毎に、オフセット値ｂの算出タイミングであると判定する。オフセット値ｂの算出タイミングも任意に設定することができる。
【００６０】
そして、マイコン２５は、Ｓ２７０にてオフセット値ｂの算出タイミングであると判定しなければ、そのまま当該第２学習処理を終了するが、オフセット値ｂの算出タイミングであると判定した場合には、Ｓ２８０に進む。
【００６１】
マイコン２５は、Ｓ２８０では、例えば今回のＳ２６０で検出した放電電流Ｉｎと、上記所定時間ｔｎと、既に算出している現在の係数ａとを、式２を変形した下記の式５に代入して、オフセット値ｂを算出する。
【００６２】
ｂ＝ｔｎ−ａ×Ｉｎ…式５
そして、マイコン２５は、算出したオフセット値ｂを、図４のＳ１３０で目標放電時間ｔｐを算出するのに用いるオフセット値ｂ（即ち、式２におけるｂ）として設定し直し、その後、当該第２学習処理を終了する。
【００６３】
他の例として、Ｓ２８０では、複数回の当該Ｓ２８０で算出したオフセット値ｂの平均値を、式２で用いるオフセット値ｂとして算出しても良い。
また他の例として、Ｓ２６０では、放電スイッチ２１をオンしてから複数通り（この例では２通りとする）の既知の時間ｔ１，ｔ２がそれぞれ経過したときの各放電電流Ｉ１，Ｉ２を検出する。そして、Ｓ２８０では、式５に時間ｔ１と放電電流Ｉ１を代入して算出したオフセット値ｂ１と、式５に時間ｔ２と放電電流Ｉ２を代入して算出したオフセット値ｂ２との、例えば平均値を、式２で用いるオフセット値ｂとして算出しても良い。
【００６４】
尚、Ｓ２６０とＳ２８０の処理を各燃料噴射について行えば、オフセット値ｂを最大の頻度で更新することとなる。
〔目標オン時間ｔｇの設定について〕
マイコン２５は、定電流スイッチ１１のスイッチング制御における目標オン時間ｔｇを算出するための処理として、図９のオン時間算出処理を行う。尚、オン時間算出処理は、例えば、一定時間毎に実行されるが、各燃料噴射の前毎に実行しても良い。
【００６５】
図９に示すように、マイコン２５は、オン時間算出処理では、まずＳ３１０にて、バッテリ電圧ＶＢを検出する。尚、マイコン２５は、分圧回路３７から入力される分圧電圧をＡ／Ｄ変換することにより、バッテリ電圧ＶＢを検出する。
【００６６】
そして、マイコン２５は、次のＳ３２０にて、バッテリ電圧ＶＢの検出値を、下記の式６に代入することで、目標オン時間ｔｇを算出し、その後、当該オン時間算出処理を終了する。このＳ３２０で算出した目標オン時間ｔｇが駆動制御処理で用いられる。
【００６７】
ｔｇ＝（Ｉｇ×Ｒ×Ｔ＋Ｖｆ×Ｔ）／ＶＢ…式６
式６は、目標オン時間ｔｇとバッテリ電圧ＶＢとの関係を表すオン時間算出式であり、式Ｂと同じ内容の式である。そして、式６において、Ｉｇは、定電流スイッチ１１のオン／オフによってコイル５に流す目標電流（目標の平均電流）であり、Ｔは、定電流スイッチ１１のスイッチング周期である（図２，図１０参照）。また、式６において、Ｒは、コイル５に電流を流す電流回路の抵抗値（以下、回路抵抗値という）であり、Ｖｆは、その電流回路上に設けられているダイオード（具体的には、ダイオード１３又はダイオード１５）の順方向電圧である。また、式６における回路抵抗値Ｒは、既に学習して算出している値であり、後述する図１２の第３学習処理によって更新される。
【００６８】
次に、式６の導出について説明する。
まず、定電流スイッチ１１のオン／オフによってコイル５に一定の電流を流すための回路は、図１１の上側に示す定電流回路５１となる。尚、図１１において、符号「５３」が付されたものは、バッテリであり、符号「５ｒ」が付されたものは、コイル５の抵抗である。また、その定電流回路５１において、一点鎖線の矢印は、定電流スイッチ１１のオン時におけるコイル電流の経路であり、二点鎖線の矢印は、定電流スイッチ１１のオフ時におけるコイル電流の経路である。
【００６９】
そして、定電流回路５１は、図１１の下側に示すモデル回路５２に置き換えることができる。そのモデル回路５２において、符号「５４」が付されたものは、ダイオード１３又はダイオード１５であり、符号「５５」が付されたものは、コイル５のインダクタンスであり、符号「５６」が付されたものは、コイル５に電流を流す電流回路の抵抗（以下、回路抵抗という）である。回路抵抗５６には、コイル５の抵抗５ｒと、気筒選択スイッチ７のオン抵抗と、抵抗９と、電流回路を形成する配線の抵抗とが含まれる。その回路抵抗５６の値（抵抗値）が、式６における回路抵抗値Ｒである。また、ダイオード５４の順方向電圧が、式６におけるＶｆである。
【００７０】
そして、モデル回路５２を数式化すると、下記の式７〜式９となる。
【００７１】
【数１】
2014211698.tif 000003
【００７２】
尚、式７〜式９における各英字の意味は、下記の通りである。
ｉｏｎ（ｔ）：定電流スイッチ１１のオン時のコイル電流（図１０参照）。
ｉｏｆｆ（ｔ）：定電流スイッチ１１のオフ時のコイル電流（図１０参照）。
【００７３】
Ｉｍａｘ：コイル電流の極大値（図１０参照）。
Ｉｍｉｎ：コイル電流の極小値（図１０参照）。
Ｉａｖｅ：コイル電流の平均値である平均電流（図１０参照）。
【００７４】
Ｖｆ：ダイオード５４の順方向電圧。
Ｌ：インダクタンス５５の値（コイル５のインダクタンス値）。
Ｒ：回路抵抗５６の値（回路抵抗値）。
【００７５】
ＶＢ：バッテリ電圧。
Ｔ：定電流スイッチ１１のスイッチング周期。
ｔｏｎ：定電流スイッチ１１のスイッチング周期Ｔあたりのオン時間。
【００７６】
そして、式８，式９の各々を式７に代入すると、下記の式１０が得られる。
【００７７】
【数２】
2014211698.tif 000004
【００７８】
そして、式１０における「Ｉａｖｅ」を目標電流Ｉｇに置き換えると共に、式１０における「ｔｏｎ」を目標オン時間ｔｇに置き換えて、その式１０を変形すると、式６になる。
【００７９】
〈式６における回路抵抗値Ｒの算出について〉
マイコン２５は、回路抵抗値Ｒを算出するための処理として、図１２の第３学習処理を行う。この第３学習処理は、例えば一定時間毎に実行される。
【００８０】
図１２に示すように、マイコン２５は、第３学習処理を開始すると、まずＳ４１０にて、回路抵抗値Ｒを算出するための情報（以下、回路抵抗値Ｒ算出用情報という）を収集すべき情報収集タイミングが到来したか否かを判定する。このＳ４１０で判定する情報収集タイミングも、図５，図７のＳ２１０，Ｓ２５０で判定する情報収集タイミングと同様である。
【００８１】
そして、マイコン２５は、Ｓ４１０にて情報収集タイミングが到来していないと判定した場合には、そのまま当該第３学習処理を終了するが、情報収集タイミングが到来したと判定した場合には、Ｓ４２０に進む。
【００８２】
マイコン２５は、Ｓ４２０では、例えば、今から最初に実施する燃料噴射である今回噴射について、定電流スイッチ１１をオン／オフさせたことによりコイル５に流れた電流の平均値である平均電流Ｉａｖｅを検出する。更に、今回噴射を実施した際のバッテリ電圧ＶＢも検出する。そして、検出した平均電流Ｉａｖｅとバッテリ電圧ＶＢとを、回路抵抗値Ｒ算出用情報としてＲＡＭ４５等のメモリに記憶する。
【００８３】
次にマイコン２５は、Ｓ４３０にて、回路抵抗値Ｒの算出タイミングであるか否かを判定する。例えば、Ｓ４２０の処理が１回以上の所定回数だけ行われる毎に、回路抵抗値Ｒの算出タイミングであると判定する。回路抵抗値Ｒの算出タイミングも任意に設定することができる。
【００８４】
そして、マイコン２５は、Ｓ４３０にて回路抵抗値Ｒの算出タイミングであると判定しなければ、そのまま当該第３学習処理を終了するが、回路抵抗値Ｒの算出タイミングであると判定した場合には、Ｓ４４０に進む。
【００８５】
マイコン２５は、Ｓ４４０では、例えば今回のＳ４２０で検出した平均電流Ｉａｖｅ及びバッテリ電圧ＶＢと、定電流スイッチ１１のスイッチング制御に用いた目標オン時間ｔｇとを、下記の式１１に代入することにより、回路抵抗値Ｒを算出する。
【００８６】
Ｒ＝（ＶＢ×ｔｇ−Ｖｆ×Ｔ）／（Ｔ×Ｉａｖｅ）…式１１
この式１１は、式１０における「ｔｏｎ」を、定電流スイッチ１１のスイッチング制御に用いた目標オン時間ｔｇに置き換えて、その式１０を変形した式である。そして、式１１は、式Ｃと同じ内容の式である。
【００８７】
そして、マイコン２５は、算出した回路抵抗値Ｒを、図９のＳ３２０で目標オン時間ｔｇを算出するのに用いる回路抵抗値Ｒ（即ち、式６におけるＲ）として設定し直し、その後、当該第３学習処理を終了する。
【００８８】
尚、Ｓ４２０とＳ４４０の処理を各燃料噴射について行えば、回路抵抗値Ｒを最大の頻度で更新することとなる。
また、積分回路３３の時定数をある程度大きく設定しておけば、マイコン２５は、Ｓ４２０では、定電流スイッチ１１のスイッチング制御中に、積分回路３３から入力される電圧検出信号を１回Ａ／Ｄ変換することで、実際の平均電流Ｉａｖｅを検出することができる。積分回路３３からマイコン２５に入力される電圧検出信号が平均電流Ｉａｖｅを表す電圧になるからである。尚、Ａ／Ｄ変換の実施回数は複数回でも良く、その場合は、各Ａ／Ｄ変換値の平均値を、平均電流Ｉａｖｅの検出値として算出すれば良い。
【００８９】
また、積分回路３３の時定数を小さく設定した場合、あるいは、電流検出信号をマイコン２５へ積分回路３３を介さずに入力する構成を採った場合、マイコン２５は、Ｓ４２０では、電流検出信号を複数回Ａ／Ｄ変換し、その各Ａ／Ｄ変換値の平均値を、平均電流Ｉａｖｅの検出値として算出すれば良い。そして、その場合、マイコン２５は、例えば、図１３における黒丸印（●）で示すように、電流検出信号を一定時間毎にＡ／Ｄ変換したり、図１３における白丸印（○）で示すように、コイル電流が極大値と極小値との各々になるタイミング（具体的には、定電流スイッチ１１のオン／オフを切り換えるタイミング）で、電流検出信号をＡ／Ｄ変換したりすれば良い。
【００９０】
ところで、定電流スイッチ１１のスイッチング周期Ｔあたりのオン時間ｔｏｎが同じであっても、バッテリ電圧ＶＢが変動すれば、コイル５に流れる平均電流Ｉａｖｅは変わる。このため、図９のオン時間算出処理で目標オン時間ｔｇを算出するのに用いる式６では、バッテリ電圧ＶＢを変数としている。そして、図９のオン時間算出処理の実行周期を短くするほど、目標オン時間ｔｇを設定するのに用いたバッテリ電圧ＶＢと、燃料噴射を実施するとき（電磁弁３を駆動するとき）のバッテリ電圧ＶＢとの差が小さくなるため、燃料噴射精度（電磁弁３の制御精度）を向上させることができる。
【００９１】
但し、コイル５の電気特性は主にインダクタンス成分であるため、バッテリ電圧ＶＢの変動周期が短くなるにつれて、バッテリ電圧ＶＢの変動がコイル電流に影響しなくなる。よって、バッテリ電圧ＶＢを検出して目標オン時間ｔｇを更新する周期（即ち、図９のオン時間算出処理を実行する周期）としては、必要十分な値が存在する。
【００９２】
具体的には、バッテリ電圧ＶＢからコイル５に電流を流す電流経路のカットオフ周波数を「ｆｃ」とすると、オン時間算出処理の実行周期は、ｆｃをｎ倍（ｎは１以上の数）した周波数の逆数（＝１／（ｎ×ｆｃ））に設定すれば良い。尚、バッテリ電圧ＶＢからコイル５に電流を流す電流経路は、具体的には、図１１において「バッテリ５３→定電流スイッチ１１→ダイオード１３→コイル５→気筒選択スイッチ７→抵抗９→バッテリ５３」の電流経路であり、ＬＲ直列回路と見なすことができる。
【００９３】
そして、上記ｎ倍のｎを４にすれば更に好ましい。例えば、バッテリ電圧ＶＢがｆｃで変動した場合、目標オン時間ｔｇを設定するのに用いたバッテリ電圧ＶＢと、燃料噴射を実施するときのバッテリ電圧ＶＢとの差が、最大でも９０度位相分の差に抑えられるからである。
【００９４】
以上のような燃料噴射制御装置１によれば、マイコン２５とは別に、放電スイッチ２１及び定電流スイッチ１１や気筒選択スイッチ７のオン／オフを制御するための専用回路を設ける必要がないため、部品点数を削減することができ、延いては小形化を実現することができる。
【００９５】
そして、マイコン２５は、充電電圧ＶＣの検出値に基づいて、コイル５への放電電流の最大値を目標最大値Ｉｐにするための、放電スイッチ２１のオン時間である目標放電時間ｔｐを決定する。更に、マイコン２５は、バッテリ電圧ＶＢの検出値に基づいて、コイル５に目標電流Ｉｇを流すための、定電流スイッチ１１のスイッチング周期Ｔあたりのオン時間である目標オン時間ｔｇを決定している。
【００９６】
このため、充電電圧ＶＣとバッテリ電圧ＶＢが変化したとしても、目標最大値Ｉｐとなる放電電流をコイル５に流すことができ、その後は、コイル５に目標電流Ｉｇを流すことができる。よって、コイル５に流す電流の制御精度を確保することができ、延いては、燃料噴射精度を確保することができる。
【００９７】
また、マイコン２５は、係数算出式としての式１に充電電圧ＶＣの検出値を代入することで、放電電流の増加傾きの逆数である係数ａを算出し、その算出した係数ａに目標最大値Ｉｐを乗ずることで、目標放電時間ｔｐを算出する（式２）。このため、目標放電時間ｔｐを、データマップなどを用いることなく簡単に求めることができ、必要なメモリ容量を抑えることができる。
【００９８】
また、式１における定数ｃ，ｄは、予め定めた値のままでも良いが、上記実施形態において、マイコン２５は、第１学習処理により、電磁弁３の実際の駆動時における充電電圧ＶＣと放電電流の増加傾きｋとから、定数ｃ，ｄを算出して更新する。このため、例えばコイル５を含む電流経路の電気的特性に経時変化が生じたとしても、放電電流の制御精度（放電電流の最大値を目標最大値Ｉｐにする精度）を維持することができる。
【００９９】
また、目標放電時間ｔｐを算出する式２には、係数ａに目標最大値Ｉｐを乗じた値に対して、オフセット値ｂを加算する項もあるため、より正しい目標放電時間ｔｐを算出することができる。
【０１００】
また、式２におけるオフセット値ｂは、予め定めた値のままでも良いが、上記実施形態において、マイコン２５は、第２学習処理により、電磁弁３の実際の駆動時における放電電流の傾きを表す情報（所定時間ｔｎでの放電電流Ｉｎ）と、既に算出している係数ａとから、オフセット値ｂを算出して更新する。このため、例えばコイル５を含む電流経路の電気的特性に経時変化が生じたとしても、放電電流の制御精度を維持することができる。
【０１０１】
また、マイコン２５は、オン時間算出式としての式６にバッテリ電圧ＶＢの検出値を代入することで、目標オン時間ｔｇを算出する。このため、目標オン時間ｔｇを、データマップなどを用いることなく簡単に求めることができ、必要なメモリ容量を抑えることができる。
【０１０２】
また、式６における回路抵抗値Ｒは、予め定めた値のままでも良いが、上記実施形態において、マイコン２５は、第３学習処理により、電磁弁３の実際の駆動時における平均電流Ｉａｖｅ及びバッテリ電圧ＶＢと、定電流スイッチ１１の制御に用いた目標オン時間ｔｇとから、回路抵抗値Ｒを算出して更新する。このため、例えばコイル５を含む電流経路の電気的特性に経時変化が生じたとしても、コンデンサ１９からコイル５への放電後におけるコイル電流を目標電流Ｉｇにする制御精度を、維持することができる。
【０１０３】
また、燃料噴射制御装置１には積分回路３３が備えられているため、前述したように、マイコン２５は、実際の平均電流Ｉａｖｅを検出するための電流検出信号のＡ／Ｄ変換回数を、例えば１回にすることができる。
【０１０４】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されず、特許請求の範囲に記載された本発明の要旨の範囲において、種々の態様で実施することができ、前述した実施形態の構成や処理のうちの、何れかの組み合わせを変える変形や、一部を削除する変形等を行うことも可能である。また、前述した数値も一例である。
【０１０５】
例えば、マイコン２５は、目標放電時間ｔｐを、式２からオフセット値ｂの加算項を削除した式（ｔｐ＝ａ×Ｉｐ）によって算出しても良い。
また、制御対象の電磁弁は、インジェクタ以外の電磁弁であっても良い。
【符号の説明】
【０１０６】
３…電磁弁、５…コイル、１１…定電流スイッチ、１７…昇圧回路、１９…コンデンサ、２１…放電スイッチ、２５…マイコン、Ｌｐ…電源ライン
【図１】
2014211698.tif 000005
【図２】
2014211698.tif 000006
【図３】
2014211698.tif 000007
【図４】
2014211698.tif 000008
【図５】
2014211698.tif 000009
【図６】
2014211698.tif 000010
【図７】
2014211698.tif 000011
【図８】
2014211698.tif 000012
【図９】
2014211698.tif 000013
【図１０】
2014211698.tif 000014
【図１１】
2014211698.tif 000015
【図１２】
2014211698.tif 000016
【図１３】
2014211698.tif 000017