(57)【要約】【課題】電磁弁のコイルに流すコイル電流の制御精度を向上させる。【解決手段】電磁弁２３を駆動する装置２１において、電磁弁２３のコイル２５に開弁用のピーク電流を流すための放電制御回路５１は、トランジスタＴ１２をオンさせた後、コイル電流が目標最大値に相当する閾値ＩｔｈＰにまで増加したことを検知すると、トランジスタＴ１２をオフさせる。また、コイル２５に一定の電流を流すための定電流制御回路５３は、コイル電流が上側閾値ＩｔｈＨにまで増加したことを検知すると、トランジスタＴ１１をオンからオフに切り換え、コイル電流が下側閾値ＩｔｈＬにまで減少したことを検知すると、トランジスタＴ１１をオフからオンに切り換える。この装置２１では、マイコン３５が、コイル２５の電流経路の電気的特性を計測し、その計測結果に対して最適な閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを、閾値マップ８５〜８７から算出して回路５１，５３に設定する。【選択図】図１
2014169652.tif 000002
【特許請求の範囲】
【請求項１】
電磁弁（２３）のコイル（２５）に電流を流す電流経路における前記コイルよりも上流側（ＣＭ）と、前記コイルに電流を流すための駆動用電圧（ＶＣ，ＶＢ）との間に、直列に設けられ、前記コイルに流れる電流であるコイル電流を制御するためにオン／オフされる電流制御用スイッチング素子（Ｔ１２，Ｔ１１）と、
前記電流制御用スイッチング素子を制御する制御手段（４９，５１，５３）と、を備え、
前記制御手段は、前記電流制御用スイッチング素子を、オンとオフとの一方である第１状態から、オンとオフとの他方である第２状態へと切り換えるための閾値が設定され、前記電流制御用スイッチング素子を前記第１状態にしているときに、前記コイル電流が前記閾値に到達したことを検知すると、前記電流制御用スイッチング素子を前記第１状態から前記第２状態へと切り換えることにより、前記コイル電流の極値を目標の値に制御するようになっている、電磁弁駆動装置において、
前記電流経路における前記コイルよりも上流側に、前記電流経路の電気的特性を計測するための計測用電圧（ＶＢ，ＶＭ）を供給する電圧供給手段（６９，９０）と、
前記電圧供給手段を動作させて前記コイルに電流を流すと共に、その電流を観測することにより、前記コイルを含む前記電流経路の電気的特性を計測する計測手段（３５，Ｓ１１０〜Ｓ１９０）と、
前記計測手段により計測される前記電気的特性をパラメータとして、前記制御手段に設定すべき前記閾値が記録された閾値設定用情報（８５，８６，８７，１０７，１０８，１０９）を記憶する記憶手段（３７）と、
前記閾値設定用情報から、前記計測手段により計測された前記電気的特性に対応する前記閾値を算出し、その算出した閾値を前記制御手段に設定する閾値設定手段（３５，Ｓ２００，Ｓ２１０，Ｓ３３０，Ｓ３４０）と、
を備えることを特徴とする電磁弁駆動装置。
【請求項２】
請求項１に記載の電磁弁駆動装置において、
前記電気的特性とは別の物理量であって、前記コイル電流が前記閾値に達してもなお同じ方向に変化して該閾値を超える量に相関がある物理量を検出する検出手段（３５，Ｓ１９５，Ｓ３１０）を備え、
前記閾値設定用情報（１０７，１０８，１０９）は、前記検出手段により検出される前記物理量もパラメータとして、前記制御手段に設定すべき前記閾値が記録されたものであり、
前記閾値設定手段は、前記閾値設定用情報から、前記計測手段により計測された前記電気的特性と前記検出手段により検出された前記物理量とに対応する前記閾値を算出し、その算出した閾値を前記制御手段に設定すること、
を特徴とする電磁弁駆動装置。
【請求項３】
請求項２に記載の電磁弁駆動装置において、
前記物理量は、前記駆動用電圧であること、
を特徴とする電磁弁駆動装置。
【請求項４】
請求項２又は請求項３に記載の電磁弁駆動装置において、
前記物理量は、当該電磁弁駆動装置の内部温度であること、
を特徴とする電磁弁駆動装置。
【請求項５】
請求項２ないし請求項４の何れか１項に記載の電磁弁駆動装置において、
前記電磁弁は、内燃機関に燃料を噴射する燃料噴射弁であり、
前記物理量は、前記電磁弁に供給される前記燃料の温度であること、
を特徴とする電磁弁駆動装置。
【請求項６】
請求項１ないし請求項５の何れか１項に記載の電磁弁駆動装置において、
前記電流経路における前記コイルよりも上流側と第１の駆動用電圧（ＶＣ）との間に直列に設けられ、前記コイルへの通電開始時にオンされることで、前記コイルに前記電磁弁の弁体を動かすためのピーク電流を流す第１スイッチング素子（Ｔ１２）と、
前記電流経路における前記コイルよりも上流側と前記第１の駆動用電圧よりも低い第２の駆動用電圧（ＶＢ）との間に直列に設けられ、前記コイルに前記ピーク電流を流すことが終了してから前記コイルに前記ピーク電流よりも小さい一定の電流を流すためにオン／オフされる第２スイッチング素子（Ｔ１１）と、を備え、
前記電流制御用スイッチング素子は、前記第１スイッチング素子と前記第２スイッチング素子との一方又は両方であり、
前記電圧供給手段（６９）は、前記第２スイッチング素子をオンさせることにより、前記第２の駆動用電圧を前記計測用電圧として前記上流側に供給すること、
を特徴とする電磁弁駆動装置。
【請求項７】
請求項１ないし請求項５の何れか１項に記載の電磁弁駆動装置において、
前記計測用電圧は一定の電圧（ＶＭ）であり、
前記電圧供給手段（９０）は、前記電流経路における前記コイルよりも上流側と前記計測用電圧との間に直列に設けられた計測用スイッチング素子（９１）を備え、該計測用スイッチング素子をオンさせることにより、前記上流側に前記計測用電圧を供給すること、
を特徴とする電磁弁駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電磁弁駆動装置に関する。
【背景技術】
【０００２】
例えば車両に搭載された内燃機関の気筒に燃料を噴射供給する燃料噴射弁（インジェクタ）としては、コイルへの通電により開弁する電磁弁が使用される。そして、このような燃料噴射弁を駆動して燃料噴射を制御する燃料噴射制御装置は、コイルへの通電（通電開始タイミング及び通電時間）を制御することにより、燃料噴射時期及び燃料噴射量を制御している。
【０００３】
また、この種の燃料噴射制御装置は、燃料噴射弁のコイルに電流を流す電流経路におけるコイルよりも上流側と、コイルに電流を流すための駆動用電圧との間に、コイルに流れる電流（以下、コイル電流ともいう）を制御するための電流制御用トランジスタを備えている。尚、電流制御用トランジスタとしては、車両のバッテリ電圧よりも高い所定電圧に充電されたコンデンサの電圧を駆動用電圧として、コイルに、燃料噴射弁の弁体を速やかに動かすためのピーク電流を流すためのトランジスタがある。また、電流制御用トランジスタとしては、バッテリ電圧を駆動用電圧として、コイルに、上記ピーク電流よりも小さい一定の電流を流すためのトランジスタもある。
【０００４】
そして、この種の燃料噴射制御装置において、電流制御用トランジスタを制御する制御回路は、実際のコイル電流を検出し、そのコイル電流が目標の電流となるように、電流制御用トランジスタのオン／オフを制御する。
【０００５】
具体的に説明すると、コイル電流の極大値を目標値にするのであれば、制御回路は、電流制御用トランジスタをオンさせているときに、コイル電流が目標値に相当する閾値にまで増加したことを検知すると、電流制御用トランジスタをオンからオフへと切り換える。また、コイル電流の極小値を目標値にするのであれば、制御回路は、電流制御用トランジスタをオフさせているときに、コイル電流が目標値に相当する閾値にまで減少したことを検知すると、電流制御用トランジスタをオフからオンへと切り換える（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２２１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
燃料噴射制御装置において、上記制御回路を構成する電子部品及び電流制御用トランジスタには動作遅れがあるため、コイル電流が閾値に到達してから電流制御用トランジスタのオン／オフ状態が切り換わるまでには、遅れ時間（以下、回路遅れ時間という）が生じる。
【０００８】
このため、コイル電流が閾値に達してもなお同じ方向に変化して閾値を超える量（以下、閾値超過量という）が生じる。その閾値超過量は、コイル電流の実際の極値と閾値との誤差であると言える。そして、その閾値超過量には、ばらつきが生じる。
【０００９】
例えば、上記電子部品及び電流制御用トランジスタの特性ばらつき（製造ばらつきや周囲温度によるばらつき）によって、回路遅れ時間がばらつき、回路遅れ時間がばらつけば、閾値超過量もばらつくこととなる。また、仮に回路遅れ時間が一定であるとしても、コイルを含む電流経路の電気的特性や駆動用電圧がばらつけば、コイル電流の変化速度がばらつき、コイル電流の変化速度がばらつけば、閾値超過量もばらつくこととなる。
【００１０】
このため、燃料噴射制御装置において、コイル電流の制御に用いる閾値は、閾値超過量の様々な要因によるばらつきを考慮して、コイル電流の閾値到達後の極値が、製品仕様上の規格範囲内に収まるように設定されることとなる。
【００１１】
ここで、燃料噴射弁の制御において、例えば、コイルに流すピーク電流の極値（極大値でありコイル電流の最大値でもある）の制御精度が向上すれば、開弁タイミングの制御精度が向上し、延いては、噴射開始タイミングの制御精度が向上する。また例えば、コイルに流す一定電流の極大値と極小値との制御精度が向上すれば、燃料噴射弁の開弁状態を、より少ない電気エネルギで維持することができる。また例えば、コイルに流す一定電流の極大値と極小値との制御精度が向上すれば、通電期間の終了時におけるコイル電流のばらつき（脈動幅）が小さくなり、通電期間が終了してから燃料噴射弁が閉弁するまでの閉弁遅れ時間のばらつきが小さくなるため、噴射終了タイミングの制御精度が向上する。
【００１２】
このため、燃料噴射弁のコイル電流に関して、従来よりも高い制御精度が要求されつつあり、その結果、コイル電流の極値に対して要求される規格範囲は、狭く設定される傾向にある。
【００１３】
しかし、コイル電流の極値に対して要求される規格範囲が狭くなると、特に、コイルを含む電流経路の電気的特性のばらつき（製造ばらつき及び経時変化によるばらつき）に対して、その規格範囲の条件を満たすことができなくなる。
【００１４】
このため、電流経路の電気的特性がばらついても、コイル電流の制御精度を良好にすることが必要である。
そこで、本発明は、電磁弁駆動装置において、電磁弁のコイルに流すコイル電流の制御精度を向上させ、延いては、電磁弁の制御精度を向上させることを目的としている。
【課題を解決するための手段】
【００１５】
本発明の電磁弁駆動装置は、電磁弁のコイルに電流を流す電流経路における前記コイルよりも上流側と、前記コイルに電流を流すための駆動用電圧との間に、直列に設けられ、前記コイルに流れる電流であるコイル電流を制御するためにオン／オフされる電流制御用スイッチング素子と、電流制御用スイッチング素子を制御する制御手段と、を備える。
【００１６】
制御手段は、電流制御用スイッチング素子を、オンとオフとの一方である第１状態から、オンとオフとの他方である第２状態へと切り換えるための閾値が設定される。そして、制御手段は、電流制御用スイッチング素子を前記第１状態にしているときに、コイル電流が前記閾値に到達したことを検知すると、電流制御用スイッチング素子を前記第１状態から前記第２状態へと切り換えることにより、コイル電流の極値を目標の値に制御するようになっている。
【００１７】
更に、この電磁弁駆動装置は、前記電流経路における前記コイルよりも上流側に、前記電流経路の電気的特性を計測するための計測用電圧を供給する電圧供給手段と、その電圧供給手段を動作させて前記コイルに電流を流すと共に、その電流を観測することにより、前記コイルを含む前記電流経路の電気的特性を計測する計測手段と、計測手段により計測される前記電気的特性をパラメータとして、前記制御手段に設定すべき前記閾値が記録された閾値設定用情報を記憶する記憶手段と、を備える。
【００１８】
そして、この電磁弁駆動装置では、閾値設定手段が、前記閾値設定用情報から、前記計測手段により計測された前記電気的特性に対応する前記閾値を算出し、その算出した閾値を前記制御手段に設定する。
【００１９】
このような電磁弁駆動装置において、制御手段が電流制御用スイッチング素子を制御するのに用いる閾値（換言すれば、コイル電流の制御に用いる閾値）は、コイルを含む電流経路の実際の電気的特性に応じて変更されることとなる。
【００２０】
このため、電流経路の電気的特性が、製造上あるいは経時変化によってばらついても、コイル電流の極値を目標の値にすることができる閾値を、可変で自動的に設定することができる。つまり、閾値を電流経路の実際の電気的特性に応じて自律補正することができる。よって、コイル電流の制御精度を向上させることができ、延いては、電磁弁の制御精度を向上させることができる。
【図面の簡単な説明】
【００２１】
【図１】第１実施形態の電子制御装置を示す構成図である。
【図２】駆動用ＩＣの動作を説明する説明図である。
【図３】閾値を変更する理由を説明する説明図である。
【図４】第１実施形態の閾値マップを説明する説明図である。
【図５】第１実施形態の閾値設定処理を表すフローチャートである。
【図６】閾値設定処理の作用を説明する説明図である。
【図７】第２実施形態の電子制御装置を示す構成図である。
【図８】第３実施形態の電子制御装置を示す構成図である。
【図９】第３実施形態の閾値マップを説明する説明図である。
【図１０】第３実施形態の閾値設定処理を表すフローチャートである。
【図１１】第３実施形態の第２設定処理を表すフローチャートである。
【発明を実施するための形態】
【００２２】
実施形態の電磁弁駆動装置としての電子制御装置（以下、ＥＣＵという）について、図面を用い説明する。
尚、本実施形態のＥＣＵは、車両に搭載された多気筒（この例では４気筒）のガソリンエンジン又はディーゼルエンジンの各気筒＃１〜＃４に燃料を噴射する４個の電磁ソレノイド式インジェクタ（以下、電磁弁という）を駆動するものであり、その各電磁弁のコイルへの通電開始タイミング及び通電時間を制御することにより、各気筒＃１〜＃４への燃料噴射タイミング及び燃料噴射量を制御する。つまり、本実施形態のＥＣＵは、電磁弁駆動装置であると共に燃料噴射制御装置でもある。
【００２３】
［第１実施形態］
図１に示すように、第１実施形態のＥＣＵ２１は、駆動対象である電磁弁２３のコイル２５の一端（上流側）が接続される端子ＣＭと、コイル２５の他端（下流側）が接続される端子ＩＮＪと、端子ＩＮＪに一方の出力端子が接続されたトランジスタＴ１０と、トランジスタＴ１０の他方の出力端子とグランドラインとの間に接続された電流検出用の抵抗Ｒ１０と、を備える。
【００２４】
電磁弁２３は、常閉式の電磁弁である。電磁弁２３では、コイル２５に通電されると、図示しない弁体（いわゆるノズルニードル）が開弁位置に移動し（換言すれば、リフトし）、燃料噴射が行われる。また、コイル２５の通電が遮断されると、弁体が元の閉弁位置に戻り、燃料噴射が停止される。
【００２５】
尚、図１では、４個の電磁弁２３のうち、第ｎ気筒＃ｎ（ｎは１〜４の何れか）に対応する１つの電磁弁２３だけを示しており、以下では、その第ｎ気筒＃ｎの電磁弁２３の駆動に関して説明する。実際には、端子ＣＭは、各気筒の電磁弁２３について共通の端子となっており、その端子ＣＭに、各電磁弁２３のコイル２５がそれぞれ接続されている。また、端子ＩＮＪ及びトランジスタＴ１０は、各電磁弁２３について（換言すれば、各気筒について）それぞれ備えられている。トランジスタＴ１０は、駆動対象の電磁弁２３（換言すれば、噴射対象の気筒）を選択するためのスイッチング素子であり、気筒選択スイッチと呼ばれる。また、トランジスタＴ１０は、本実施形態では、Ｎチャネル型のＦＥＴ（電界効果トランジスタ）である。
【００２６】
更に、ＥＣＵ２１は、バッテリ電圧（車載バッテリの電圧）ＶＢが供給される電源ラインＬｐに一方の出力端子が接続されたトランジスタＴ１１と、トランジスタＴ１１の他方の出力端子にアノードが接続され、カソードが上記端子ＣＭに接続された逆流防止用のダイオードＤ１１と、アノードがグランドラインに接続され、カソードが端子ＣＭに接続された電流還流用のダイオードＤ１２と、昇圧電圧源２７とを備える。
【００２７】
ダイオードＤ１２は、トランジスタＴ１０がオンしている状態でトランジスタＴ１１がオンからオフした時に、コイル２５に電流を還流させる。
昇圧電圧源２７は、コンデンサ２９と、バッテリ電圧ＶＢを昇圧してコンデンサ２９を充電する昇圧回路３１とを備える。コンデンサ２９は、電磁弁２３の弁体を開弁方向へ速やかに動かす（リフトさせる）ためのピーク電流を、コイル２５に流すための電気エネルギを蓄積する。昇圧回路３１は、コンデンサ２９の正極側の電圧（以下、コンデンサ電圧という）ＶＣが予め設定された目標電圧（＞ＶＢ）となるように、コンデンサ２９を充電する。
【００２８】
また更に、ＥＣＵ２１は、コンデンサ２９の正極側と端子ＣＭとの間に直列に設けられ、オンすることでコンデンサ電圧ＶＣを端子ＣＭに印加するトランジスタＴ１２と、トランジスタＴ１０，Ｔ１１，Ｔ１２を制御することで、電磁弁２３のコイル電流（コイル２５に流れる電流であり、電磁弁２３の駆動電流）を制御する駆動用ＩＣ３３と、マイコン（マイクロコンピュータ）３５と、データの書き換えが可能な不揮発性メモリ（例えば、ＥＥＰＲＯＭやフラッシュメモリ等）３７とを備えている。
【００２９】
マイコン３５は、プログラムを実行するＣＰＵ４１、プログラムや固定のデータ等が記憶されたＲＯＭ４２、ＣＰＵ４１による演算結果等が記憶されるＲＡＭ４３、Ａ／Ｄ変換器（ＡＤＣ）４４等を備えている。
【００３０】
そして、マイコン３５は、エンジン回転数、アクセル開度、エンジン水温など、各種センサ（図示省略）にて検出されるエンジンの運転情報に基づいて、気筒毎に噴射指令信号を生成して駆動用ＩＣ３３に出力する。
【００３１】
噴射指令信号は、その信号のレベルがアクティブレベル（本実施形態では例えばハイ）の間だけ電磁弁２３のコイル２５に通電する（換言すれば、電磁弁２３を開弁させる）、という意味を持っている。このため、マイコン３５は、エンジンの運転情報に基づいて、気筒毎に、電磁弁２３のコイル２５への通電期間（電磁弁２３の駆動期間でもある）を設定し、その通電期間だけ、該当する気筒の噴射指令信号をハイにしていると言える。
【００３２】
駆動用ＩＣ３３は、トランジスタＴ１０を制御する気筒選択制御回路４７と、抵抗Ｒ１０の両端の電位差に比例した電圧を出力する増幅回路４９と、トランジスタＴ１２を制御する放電制御回路５１と、トランジスタＴ１１を制御する定電流制御回路５３と、マイコン３５からシリアル通信線５５を介して送られてくる閾値のデータを、放電制御回路５１と定電流制御回路５３とに振り分けて与える通信回路５７と、を備える。
【００３３】
気筒選択制御回路４７は、図２における３段目及び４段目に示すように、マイコン３５から出力される第ｎ気筒＃ｎの噴射指令信号Ｓ＃ｎがハイになると、その噴射指令信号Ｓ＃ｎがハイになっている間、第ｎ気筒＃ｎの電磁弁２３に対応するトランジスタＴ１０をオンさせる。
【００３４】
そして、トランジスタＴ１０がオンすると、トランジスタＴ１０に接続されているコイル２５の下流側が抵抗Ｒ１０を介してグランドラインに接続され、その結果、コイル２５の下流側の電流経路が形成される。抵抗Ｒ１０には、コイル２５に流れるのと同じコイル電流が流れるため、増幅回路４９の出力電圧Ｖｉは、コイル電流に比例した電圧となる。
【００３５】
放電制御回路５１は、図２における１段目、３段目及び５段目に示すように、噴射指令信号Ｓ＃ｎがハイになると、トランジスタＴ１２をオンさせることにより、コンデンサ２９から第ｎ気筒＃ｎの電磁弁２３のコイル２５に放電させる。この場合、「コンデンサ２９→トランジスタＴ１２→コイル２５→トランジスタＴ１０→抵抗Ｒ１０→グランドライン」の経路で電流が流れる。このように、コイル２５への通電開始時にトランジスタＴ１２がオンされ、そのトランジスタＴ１２を介してコンデンサ２９からコイル２５に流れる電流が、前述のピーク電流である。
【００３６】
また、放電制御回路５１は、増幅回路４９の出力電圧Ｖｉに基づいて、コイル電流を検出する。そして、放電制御回路５１は、図２における１段目及び５段目に示すように、コイル電流がピーク電流の目標最大値に相当する閾値ＩｔｈＰにまで到達したことを検知すると、トランジスタＴ１２をオフさせて、コンデンサ２９からコイル２５への放電を終了する。また、本実施形態において、閾値ＩｔｈＰは可変になっている。
【００３７】
このため、放電制御回路５１は、図１に示すように、Ｄ／Ａ変換器（ＤＡＣ）６１と、比較器６３と、駆動回路６５とを備えている。
Ｄ／Ａ変換器６１には、マイコン３５からシリアル通信線５５を介して駆動用ＩＣ３３に送られてくるデータのうち、閾値ＩｔｈＰに相当する閾値電圧ＶｔｈＰを表すピーク電流閾値データが、通信回路５７を介して入力される。尚、増幅回路４９の出力電圧Ｖｉが、コイル電流の値をＧ倍（Ｇは正の数）した電圧であるとすると、閾値ＩｔｈＰと閾値電圧ＶｔｈＰとの関係は「ＶｔｈＰ＝ＩｔｈＰ×Ｇ」である。
【００３８】
そして、Ｄ／Ａ変換器６１は、マイコン３５からの最新のピーク電流閾値データを記憶し、そのピーク電流閾値データが表す閾値電圧ＶｔｈＰを、比較器６３に出力する。
比較器６３は、Ｄ／Ａ変換器６１の出力電圧Ｖｏ１（＝ＶｔｈＰ）と、増幅回路４９の出力電圧Ｖｉとを比較する。そして、比較器６３の出力信号は、「Ｖｏ１＞Ｖｉ」ならばハイになり、「Ｖｏ１＜Ｖｉ」ならばローになる。また、比較器６３の出力信号は、「Ｖｏ１＝Ｖｉ」の場合には、例えば、「Ｖｏ１＝Ｖｉ」になる前のレベルとは反対のレベルになるが、「Ｖｏ１＝Ｖｉ」になる前のレベルを維持しても良い。
【００３９】
駆動回路６５は、マイコン３５からの噴射指令信号Ｓ＃ｎと、比較器６３の出力信号との、論理積をとり、その論理積がハイの場合に、トランジスタＴ１２のゲートに供給する駆動信号Ｓａをアクティブレベルにして、トランジスタＴ１２をオンさせる。尚、本実施形態では、トランジスタＴ１２がＰチャネル型のＦＥＴであることから、駆動信号Ｓａのアクティブレベルは例えば０Ｖであり、駆動信号Ｓａの非アクティブレベルは例えばコンデンサ電圧ＶＣである。
【００４０】
このような放電制御回路５１では、噴射指令信号Ｓ＃ｎがハイになると、最初は、コイル電流が閾値ＩｔｈＰよりも小さいため、比較器６３の出力信号がハイになり、駆動回路６５からトランジスタＴ１２への駆動信号Ｓａがアクティブレベルになる。すると、トランジスタＴ１２がオンして、コンデンサ２９からコイル２５へ放電される。そして、その後、コイル電流が閾値ＩｔｈＰまで増加すると、そのことが比較器６３により検知されて、比較器６３の出力信号がハイからローになり、駆動信号Ｓａが非アクティブレベルになって、トランジスタＴ１２がオフすることとなる。
【００４１】
定電流制御回路５３は、図２における１段目〜３段目に示すように、噴射指令信号Ｓ＃ｎがハイになっている間、バッテリ電圧ＶＢを電源として電磁弁２３のコイル２５に一定の電流を流すための定電流制御を行う。その定電流制御は、トランジスタＴ１１のオン／オフを繰り返すスイッチング制御を行うことにより、コイル２５に一定の電流が流れるようにする制御である。そして、本実施形態では、「コイル電流が上側閾値ＩｔｈＨまで増加したことを検知するとトランジスタＴ１１をオンからオフさせ、コイル電流が下側閾値ＩｔｈＬまで低下したことを検知するとトランジスタＴ１１をオフからオンさせる」という制御である。
【００４２】
その定電流制御において、トランジスタＴ１１のオン時には、バッテリ電圧ＶＢ（電源ラインＬｐ）からコイル２５に電流が流れる。また、トランジスタＴ１１のオフ時には、コイル２５に、グランドライン側からダイオードＤ１２を介して電流が流れる（還流する）。
【００４３】
尚、上側閾値（以下単に、閾値ともいう）ＩｔｈＨは、閾値ＩｔｈＰよりも小さく、下側閾値（以下単に、閾値ともいう）ＩｔｈＬよりは大きい。そして、本実施形態においては、定電流制御用の閾値ＩｔｈＨ，ＩｔｈＬも、可変になっている。
【００４４】
このため、定電流制御回路５３は、図１に示すように、Ｄ／Ａ変換器（ＤＡＣ）６２と、比較器６４と、駆動回路６６とを備えている。
Ｄ／Ａ変換器６２には、マイコン３５からシリアル通信線５５を介して駆動用ＩＣ３３に送られてくるデータのうち、上側閾値ＩｔｈＨに相当する閾値電圧ＶｔｈＨを表す上側閾値データと、下側閾値ＩｔｈＬに相当する閾値電圧ＶｔｈＬを表す下側閾値データとが、通信回路５７を介して入力される。尚、増幅回路４９の出力電圧Ｖｉが、コイル電流の値をＧ倍した電圧であるとすると、上側閾値ＩｔｈＨと閾値電圧ＶｔｈＨとの関係は「ＶｔｈＨ＝ＩｔｈＨ×Ｇ」であり、下側閾値ＩｔｈＬと閾値電圧ＶｔｈＬとの関係も「ＶｔｈＬ＝ＩｔｈＬ×Ｇ」である。
【００４５】
Ｄ／Ａ変換器６２は、マイコン３５からの最新の上側閾値データ及び下側閾値データを記憶する。そして、Ｄ／Ａ変換器６２は、比較器６４の出力信号がハイの場合には、上側閾値データが表す閾値電圧ＶｔｈＨを比較器６４に出力し、比較器６４の出力信号がローの場合には、下側閾値データが表す閾値電圧ＶｔｈＬを比較器６４に出力する。尚、マイコン３５からＤ／Ａ変換器６２に一方の閾値データだけを与えると共に、比較器６４にヒステリシスを持たせることで、結果的に他方の閾値データが設定されるように構成してもよい。このように構成すれば、記憶すべき閾値データの量が少なくなり、後述する閾値マップの総データ量を減らすことができる。
【００４６】
比較器６４は、Ｄ／Ａ変換器６２の出力電圧Ｖｏ２と、増幅回路４９の出力電圧Ｖｉとを比較する。そして、比較器６４の出力信号は、「Ｖｏ２＞Ｖｉ」ならばハイになり、「Ｖｏ２＜Ｖｉ」ならばローになる。また、比較器６４の出力信号は、「Ｖｏ２＝Ｖｉ」の場合には、例えば、「Ｖｏ２＝Ｖｉ」になる前のレベルとは反対のレベルになるが、「Ｖｏ２＝Ｖｉ」になる前のレベルを維持しても良い。
【００４７】
駆動回路６６は、マイコン３５からの噴射指令信号Ｓ＃ｎと、比較器６４の出力信号との、論理積をとり、その論理積がハイの場合に、トランジスタＴ１１のゲートに供給する駆動信号Ｓｂをアクティブレベルにして、トランジスタＴ１１をオンさせる。尚、本実施形態では、トランジスタＴ１１がＰチャネル型のＦＥＴであることから、駆動信号Ｓｂのアクティブレベルは例えば０Ｖであり、駆動信号Ｓｂの非アクティブレベルは例えばバッテリ電圧ＶＢである。
【００４８】
このような定電流制御回路５３では、噴射指令信号Ｓ＃ｎがハイになると、最初は、コイル電流が上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとの両方よりも小さいため、比較器６４の出力信号がハイになる。すると、駆動回路６６からトランジスタＴ１１への駆動信号Ｓｂがアクティブレベルになって、トランジスタＴ１１をオンさせることとなり、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏ２は、上側閾値ＩｔｈＨに相当する閾値電圧ＶｔｈＨになる。
【００４９】
そして、その後、コイル電流が上側閾値ＩｔｈＨまで増加したなら、比較器６４の出力信号がハイからローになる。すると、駆動信号Ｓｂが非アクティブレベルになって、トランジスタＴ１１がオフし、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏは、下側閾値ＩｔｈＬに相当する閾値電圧ＶｔｈＬになる。
【００５０】
その後、コイル電流が下側閾値ＩｔｈＬまで減少したなら、比較器６４の出力信号がローからハイになる。すると、駆動信号Ｓｂがアクティブレベルになって、トランジスタＴ１１がオンし、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏは、上側閾値ＩｔｈＨに相当する閾値電圧ＶｔｈＨになる。
【００５１】
よって、定電流制御回路５３は、トランジスタＴ１１をオンさせているときに、コイル電流が増加して上側閾値ＩｔｈＨに到達したことを比較器６４によって検知すると、トランジスタＴ１１をオフへと切り換え、また、トランジスタＴ１１をオフさせているときに、コイル電流が減少して下側閾値ＩｔｈＬに到達したことを比較器６４によって検知すると、トランジスタＴ１１をオンへと切り換えることとなる。定電流制御回路５３は、このような動作を繰り返すことにより、定電流制御を実施する。
【００５２】
そして、噴射指令信号Ｓ＃ｎがローになると、定電流制御回路５３では、駆動回路６６からの駆動信号Ｓｂが非アクティブレベルのままになる。よって、トランジスタＴ１１はオフしたままになる（図２参照）。
【００５３】
一方更に、図１に示すように、ＥＣＵ２１には、マイコン３５からの駆動信号Ｓｃに応じてトランジスタＴ１１をオンさせることにより、コイル２５への電流経路における該コイル２５よりも上流側である端子ＣＭに、バッテリ電圧ＶＢを供給する電圧供給用回路６９が備えられている。
【００５４】
その電圧供給用回路６９は一例として、電源ラインＬｐ（バッテリ電圧ＶＢ）に一端が接続された抵抗７１と、抵抗７１の他端にコレクタが接続され、エミッタがグランドラインに接続されたＮＰＮトランジスタ（以下単に、トランジスタという）７３と、トランジスタ７３のコレクタとトランジスタＴ１１のゲートとの間に接続された抵抗７５と、トランジスタ７３のベースに一端が接続され、他端にマイコン３５からの駆動信号Ｓｃが供給される抵抗７７とを備える。
【００５５】
このような電圧供給用回路６９では、マイコン３５からの駆動信号Ｓｃがアクティブレベルとしてのハイになると、トランジスタ７３がオンして、トランジスタＴ１１のゲートを、抵抗７５を介して接地することにより、トランジスタＴ１１をオンさせる。
【００５６】
また、ＥＣＵ２１には、バッテリ電圧ＶＢを、マイコン３５が入力可能な電圧に分圧する２つの抵抗８１，８２が備えられている。そして、抵抗８１，８２同士の接続点に生じる電圧であって、バッテリ電圧ＶＢを分圧した電圧は、マイコン３５に入力される。マイコン３５は、抵抗８１，８２同士の接続点の電圧をＡ／Ｄ変換器４４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値からバッテリ電圧ＶＢを検出する。
【００５７】
更に、マイコン３５には、増幅回路４９の出力電圧Ｖｉが、駆動用ＩＣ３３から入力されるようになっている。そして、マイコン３５は、その出力電圧ＶｉをＡ／Ｄ変換器４４でＡ／Ｄ変換することにより、コイル電流を観測する。また、トランジスタＴ１０は、駆動用ＩＣ３３とは別に、マイコン３５からの駆動信号Ｓｄによって駆動できるようになっている。
【００５８】
このようなＥＣＵ２１では、図２に示すように、マイコン３５からの噴射指令信号Ｓ＃ｎがローからハイになると、トランジスタＴ１０がオンし、それと同時にトランジスタＴ１２がオンする。
【００５９】
すると、コンデンサ２９からコイル２５に放電されて、コイル２５への通電が開始される。また、コンデンサ２９からコイル２５への放電電流であるピーク電流により、電磁弁２３の開弁応答が早まる。尚、コンデンサ２９の放電に際し、高電位となる端子ＣＭ側から電源ラインＬｐ側への回り込みは、ダイオードＤ１１によって防止される。
【００６０】
そして、コイル電流が増加して閾値ＩｔｈＰに到達すると、トランジスタＴ１２がオフして、コイル電流が低下していく。コイル電流が下側閾値ＩｔｈＬにまで減少すると、以後は、定電流制御回路５３の定電流制御により、コイル電流の平均値が上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとの間の一定電流となるように、トランジスタＴ１１がオン／オフされる。
【００６１】
尚、図２に示すように、噴射指令信号Ｓ＃ｎがハイになってからコイル電流が上側閾値ＩｔｈＨに到達するまでの間、トランジスタＴ１１がオンしているのは、定電流制御回路５３の定電流制御によるものである。但し、バッテリ電圧ＶＢよりもコンデンサ電圧ＶＣの方が高いため、トランジスタＴ１２がオンしている期間は、トランジスタＴ１１がオンしても、コイル２５へはコンデンサ２９から電流が流れる。このため、定電流制御は、実質的には、トランジスタＴ１２がオフされてから開始されていることとなる。よって、例えば、定電流制御回路５３は、噴射指令信号Ｓ＃ｎがハイになってから、トランジスタＴ１２がオフされたときに、定電流制御のための動作を開始するようになっていても良い。
【００６２】
その後、噴射指令信号Ｓ＃ｎがハイからローになると、トランジスタＴ１０とトランジスタＴ１１がオフされて、コイル２５への通電が停止する。すると、電磁弁２３が閉弁し、その電磁弁２３による燃料噴射が終了する。
【００６３】
尚、コンデンサ２９からコイル２５にピーク電流を流すことで、電磁弁２３を確実に開弁させることができるのであれば、定電流制御でコイル２５に流す一定電流は、電磁弁２３の開弁保持に最低限必要な電磁力を発生させる電流（以下、ホールド電流という）であれば良い。
【００６４】
また、定電流制御回路５３は、定電流制御でコイル２５に流す一定電流を、大小の２段階に切り換えるようになっていても良い。具体的には、例えば、噴射指令信号Ｓ＃ｎがハイになってから一定時間が経過するまでの期間を、電磁弁２３を確実に開弁させるためのリフト期間とする。そして、定電流制御回路５３は、トランジスタＴ１２のオフ時からリフト期間が終了するまでの間の定電流制御では、コイル２５にホールド電流より大きいピックアップ電流が流れるようにする。そのピックアップ電流は、電磁弁２３の開弁を確実にするための電流である。また、定電流制御回路５３は、リフト期間の終了時から噴射指令信号Ｓ＃ｎがローになるまでの間の定電流制御では、コイル２５にホールド電流が流れるようにする。本実施形態では、説明を簡略化するため、定電流制御による一定電流がホールド電流だけであるものとして説明するが、上記のように、一定電流をピックアップ電流とホールド電流とに切り換える構成であっても良い。
【００６５】
ここで、本実施形態のＥＣＵ２１において、マイコン３５は、駆動用ＩＣ３３へ送信するピーク電流閾値データを変更することにより、放電制御回路５１に対して指令する閾値ＩｔｈＰを変更する。同様に、マイコン３５は、駆動用ＩＣ３３へ送信する上側閾値データと下側閾値データを変更することにより、定電流制御回路５３に対して指令する上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを変更する。そして、このような閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬの変更は、コイル電流を変えるための変更ではなく、むしろ、コイル電流が変わらないようにするための変更である。
【００６６】
そこで次に、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを変更する理由について説明する。尚、以下では、ピーク電流閾値データ、上側閾値データ及び下側閾値データを区別しない場合には、それらを総称して、閾値データという。また、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを区別しない場合には、符号を省略して、単に、閾値ともいう。
【００６７】
ＥＣＵ２１において、放電制御回路５１を構成する電子部品及びトランジスタＴ１２には動作遅れがあるため、コイル電流が閾値ＩｔｈＰに到達してからトランジスタＴ１２のオン／オフ状態が切り換わるまでには、遅れ時間が生じる。同様に、定電流制御回路５３を構成する電子部品及びトランジスタＴ１１にも動作遅れがあるため、コイル電流が上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとの各々に到達してからトランジスタＴ１１のオン／オフ状態が切り換わるまでにも、遅れ時間が生じる。以下、こうした切り換わりの遅れ時間を、回路遅れ時間という。
【００６８】
このため、コイル電流が閾値に達してもなお同じ方向に変化し続けて閾値を超える量（以下、閾値超過量という）が生じる。例えば、図３に例示するように、トランジスタＴ１２がオンしてコイル電流が閾値ＩｔｈＰに到達しても、そのことが検知されてトランジスタＴ１２がオフするまでには遅れがあり、その遅れ時間の間、コイル電流は増加し続けて閾値ＩｔｈＰを超えることとなる。図３の例では、ＩｏｖＰが閾値超過量であり、コイル電流の実際の最大値は、閾値ＩｔｈＰよりも、そのＩｏｖＰだけ大きい値となる。
【００６９】
そして、閾値超過量には、ばらつきが生じる。例えば、上記電子部品及びトランジスタＴ１１，Ｔ１２の、動作特性の製造ばらつきや周囲温度によるばらつきによって、回路遅れ時間がばらつき、回路遅れ時間がばらつけば、閾値超過量もばらつくこととなる。また、仮に回路遅れ時間が一定であるとしても、コイル２５を含む電流経路（具体的には、例えば端子ＣＭと端子ＩＮＪとの間の電流経路であり、以下、コイル電流経路ともいう）の電気的特性や、コイル２５の上流側に供給する駆動用電圧がばらつけば、コイル電流の変化速度がばらつき、閾値超過量もばらつくこととなる。
【００７０】
このため、ＥＣＵ２１において、コイル電流の制御に用いる閾値は、様々な要因による閾値超過量のばらつきを考慮して、コイル電流の閾値到達後の極値が、製品仕様上の規格範囲（以下、仕様規格範囲という）に収まるように設定されるべきである。
【００７１】
ここで、比較例として、例えば、ＥＣＵ２１の生産工程において、ＥＣＵ２１毎に、下記〈１〉〜〈３〉の手法により、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを設定することが考えられる。
【００７２】
〈１〉マイコン３５の動作モードをテストモードにして、ＥＣＵ２１を所定の標準条件下で動作させると共に、実際のコイル電流を計測機器により計測する。
標準条件は、例えば、「周囲温度＝２５℃」、「バッテリ電圧ＶＢ＝１４Ｖ」、「コイル電流経路の電気的特性＝標準値」、といった条件である。
【００７３】
また、マイコン３５は、テストモードでは、ＥＣＵ２１外部の情報処理装置から与えられる指令に従って、駆動用ＩＣ３３に送信する閾値データを変えたり、駆動用ＩＣ３３に噴射指令信号Ｓ＃ｎを出力したりする。
【００７４】
〈２〉情報処理装置からマイコン３５への指令により、マイコン３５が駆動用ＩＣ３３に送信する閾値データ（即ち、駆動用ＩＣ３３に対して指令する閾値）を調整することにより、目標のコイル電流波形が得られる閾値を探し出す。
【００７５】
具体的には、閾値ＩｔｈＰであれば、実際のコイル電流の最大値（コンデンサ２９の放電による最大値）を計測対象とし、その計測対象の値が、それの調整規格範囲内となる閾値ＩｔｈＰを探す。同様に、閾値ＩｔｈＨ，ＩｔｈＬであれば、実際のコイル電流の定電流制御における極大値と極小値とを計測対象とし、その各計測対象の値が、それらの調整規格範囲内となる閾値ＩｔｈＨ，ＩｔｈＬを探す。
【００７６】
そして、この比較例において、計測対象の調整規格範囲は、例えばＥＣＵ２１の周囲温度やバッテリ電圧ＶＢやコイル電流経路の電気的特性が、ＥＣＵ２１の実際の使用条件下で想定される範囲（以下、実使用想定範囲という）で変化しても、計測対象の値が仕様規格範囲に入るように、その仕様規格範囲より狭い範囲に設定される。尚、ＥＣＵ２１の周囲温度は、ＥＣＵ２１を構成する部品の周囲温度（即ち、ＥＣＵ２１の内部温度）と同等であると考えることができる。
【００７７】
〈３〉上記〈２〉の手順で探し出した閾値を不揮発性メモリ３７に記憶する。そして、マイコン３５は、通常モードにおいては、その不揮発性メモリ３７内の閾値に該当する閾値データを、駆動用ＩＣ３３に送信する。
【００７８】
つまり、〈１〉〜〈３〉の手法では、標準条件下の生産工程において、ＥＣＵ２１毎に、コイル電流における目的の値が、ＥＣＵ２１の実際の使用条件下で仕様規格範囲に入ると予想される閾値を探し出し、その探し出した閾値を、コイル電流の制御に使用される閾値として、不揮発性メモリ３７に記憶するようにしている。
【００７９】
しかし、コイル電流に関して、より高い制御精度が要求されつつあり、電流値に関する仕様規格範囲は狭く設定される傾向にある。そして、コイル電流の閾値超過量は、コイル電流経路の電気的特性に応じて変わりやすい。このため、上記〈１〉〜〈３〉の手法では、仕様規格範囲が狭くなると、コイル電流経路の電気的特性のばらつき（製造ばらつきや経時変化によるばらつき）により、仕様規格範囲の条件を満たすことができなくなる。
【００８０】
このため、本実施形態のＥＣＵ２１では、コイル電流経路の実際の電気的特性を計測し、その計測結果に応じて閾値を変更するように構成している。
そこで以下では、閾値の変更手法について説明する。尚、以下では、分かりやすくするために、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬのうち、閾値ＩｔｈＰの変更を例に挙げて説明するが、閾値ＩｔｈＨ，ＩｔｈＬの各々についても同様である。
【００８１】
まず、ＥＣＵ２１の開発段階において、下記《１》の手順を行う。
《１》ＥＣＵ２１の代表品（以下、マスタＥＣＵという）を用いて、図４の左側に例示するマスタ閾値マップ８３を作成する。
【００８２】
マスタ閾値マップ８３は、コイル電流経路の電気的特性（本実施形態では、抵抗値であるＲと、インダクタンス値であるＬ）をパラメータとして、放電制御回路５１に設定すべき閾値ＩｔｈＰが、ピーク電流閾値データのかたちで記録されたデータマップである。また、放電制御回路５１に設定すべき閾値ＩｔｈＰとは、実際のコイル電流の最大値を、それの調整規格範囲内とすることができる閾値ＩｔｈＰである。
【００８３】
この《１》では、マスタＥＣＵを所定の周囲温度及びバッテリ電圧ＶＢの条件下で動作させる。そして、コイル電流経路の複数通りの各電気的特性値（本実施形態では、複数通りの抵抗値及びインダクタンス値の各組み合わせ）について、コンデンサ２９の放電による実際のコイル電流の最大値を計測機器により計測すると共に、駆動用ＩＣ３３に指令する閾値ＩｔｈＰを調整する。そして更に、コイル電流の最大値が調整規格範囲内となる閾値ＩｔｈＰを探し、その探し出した閾値ＩｔｈＰと、それに対応する電気的特性値とを、図４の左側に例示するように対応付けて記録することにより、マスタ閾値マップ８３を作成する。
【００８４】
尚、マスタ閾値マップ８３に記録される閾値ＩｔｈＰの実際の情報形態は、閾値ＩｔｈＰに該当するピーク電流閾値データであるが、分かりやすくするために、記録されるのが閾値ＩｔｈＰである、と表現している。そして、このことは、後述する生産品別の閾値マップ８５〜８７及び他の実施形態の閾値マップ１０７〜１０９についても同様である。
【００８５】
また、この《１》での調整規格範囲は、前述した比較例とは異なり、コイル電流経路の電気的特性以外の変化要素（例えばＥＣＵ２１の周囲温度とバッテリ電圧ＶＢ）がＥＣＵ２１の実使用想定範囲で変化しても、計測対象の値（この例では、コイル電流の最大値）が仕様規格範囲に入るように設定される。一方、図４において、Ｅで始まる２文字は、８ビットの閾値データをヘキサ表示したものである。
【００８６】
そして、ＥＣＵ２１の生産工程においては、生産されるＥＣＵ２１毎に、下記《２》，《３》の手順により、図４の右側に例示する生産品別の閾値マップ８５を作成して、その閾値マップ８５をＥＣＵ２１の不揮発性メモリ３７に書き込む。生産品別の閾値マップ８５は、マスタ閾値マップ８３と同様のデータマップであるが、生産されるＥＣＵ２１の個々に特化したものである。
【００８７】
《２》ＥＣＵ２１の端子ＣＭ，ＩＮＪ間に、コイル電流経路の電気的特性が所定の代表値となる電磁弁２３あるいは疑似負荷を接続する。代表値は、本実施形態では、図４の右側において、「（工場）」と記載している欄の値であり、例えば「Ｒ＝０．８Ω、Ｌ＝４０ｍＨ」である。
【００８８】
そして、マイコン３５の動作モードを前述のテストモードにし、マスタ閾値マップ８３を作成するためにマスタＥＣＵを動作させた周囲温度及びバッテリ電圧ＶＢの条件と同じ条件で、ＥＣＵ２１を動作させると共に、実際のコイル電流を計測機器により計測する。
【００８９】
そして更に、ＥＣＵ２１外部の情報処理装置からマイコン３５への指令により、マイコン３５が駆動用ＩＣ３３に送信するピーク電流閾値データ（即ち、駆動用ＩＣ３３に対して指令する閾値ＩｔｈＰ）を調整して、コイル電流の最大値が上記《１》で述べた調整規格範囲内となる閾値ＩｔｈＰを探し出す。
【００９０】
《３》マスタ閾値マップ８３において上記代表値の電気的特性に対応する閾値ＩｔｈＰ（以下、ＩｔｈＰｍと記載する）と、上記《２》で探し出した閾値ＩｔｈＰ（以下、ＩｔｈＰｓと記載する）との差分Δ（＝ＩｔｈＰｍ−ＩｔｈＰｓ）を算出する。そして、マスタ閾値マップ８３における各閾値ＩｔｈＰを、差分Δによって補正したマップを、生産品であるＥＣＵ２１に特化した閾値マップ８５とし、その閾値マップ８５をＥＣＵ２１の不揮発性メモリ３７に書き込む。
【００９１】
差分Δによる補正の具体的な手法としては、本実施形態では、例えばマスタ閾値マップ８３における電気的特性値毎の各閾値ＩｔｈＰから補正値としての差分Δを一律に引く、という補正（以下、一律補正という）である。図４の例では、マスタ閾値マップ８３において星印を付した「Ｅ４」がＩｔｈＰｍであり、ＩｔｈＰｓが「Ｅ２」であったとすると、差分Δは、ヘキサ表示で「０２」となる。このため、図４の右側に示すように、生産品別の閾値マップ８５は、図４の左側のマスタ閾値マップ８３における各閾値ＩｔｈＰから「０２」を引いたマップとなる。また一律補正では精度にばらつきがあることが開発段階でわかっている場合には、例えば、電気的特性値毎の補正値Δr,lを算出するための計算式Ｆ(Δ,r,l)を、適合にて準備しておき、その計算式Ｆ(Δ,r,l)を用いてより適切な補正値Δr,lを求めてもよい。尚、補正値Δr,lとは、マスタ閾値マップ８３における各閾値ＩｔｈＰのうち、「抵抗値Ｒ＝rでインダクタンス値Ｌ＝l」という電気的特性値に対応する閾値ＩｔｈＰを補正するための補正値である。また、計算式Ｆ(Δ,r,l)における「Δ」と「r」と「l」との各々には、上記の差分Δと抵抗値Ｒとインダクタンス値Ｌとが、それぞれ代入されることなる。一方、一律補正の場合の式は、Δ＝Ｆ(Δ,r,l)となる。
【００９２】
本実施形態では、このようにして、ＥＣＵ２１毎に、コイル電流経路の電気的特性値に対する最適な閾値ＩｔｈＰを記録した閾値マップ８５が、不揮発性メモリ３７に記憶される。
【００９３】
次に、マイコン３５が閾値を変更するために行う処理について説明する。
車両に搭載された状態のＥＣＵ２１において、マイコン３５は、所定の実行タイミングが到来すると、図５の閾値設定処理を行う。尚、マイコン３５が行う処理は、ＣＰＵ４１がＲＯＭ４２内のプログラムを実行することで実現される。また、ＥＣＵ２１が搭載される車両では、車両の使用者が車両をイグニッションオン状態にする操作を行うと、ＥＣＵ２１に動作用電圧としてのバッテリ電圧ＶＢを供給するための給電用リレー（いわゆるメインリレー）がオンして、ＥＣＵ２１が動作を開始する。そして、車両の使用者が車両をイグニッションオフ状態にする操作を行ってから、ＥＣＵ２１のマイコン３５が上記給電用リレーのオフを許可するまでは、上記給電用リレーがオンし続けるようになっている。また、車両をイグニッションオン状態にする操作は、例えば、イグニッションスイッチをオンする操作であり、車両をイグニッションオフ状態にする操作は、例えば、イグニッションスイッチをオフする操作である。
【００９４】
図５に示すように、マイコン３５は、閾値設定処理では、まずＳ１１０にて、駆動信号Ｓｄをアクティブレベル（本実施形態ではハイ）にして、トランジスタＴ１０をオンさせる。次にＳ１１５にて、電圧供給用回路６９を動作させる。つまり、図６の（１）に示すように、駆動信号Ｓｃをハイにする。すると、トランジスタ７３がオンして、トランジスタＴ１１がオンし、端子ＣＭに、コイル電流経路の電気的特性を計測するための計測用電圧として、バッテリ電圧ＶＢが供給される。このため、コイル２５に電流が流れ始める。
【００９５】
次にＳ１２０にて、コイル電流の飽和値である飽和電流Ｉｓａｔを計測する。
具体的には、図６における（２）の部分に示すように、駆動用ＩＣ３３から入力される増幅回路４９の出力電圧Ｖｉを一定時間毎にサンプリングし、その出力電圧Ｖｉが増加変化しなくなった時点での該出力電圧Ｖｉの値を、飽和電圧ＶＩｓａｔとして記憶する。そして、その飽和電圧ＶＩｓａｔを前述のＧで割ることにより、飽和電流Ｉｓａｔ（＝ＶＩｓａｔ／Ｇ）を算出する。
【００９６】
次にＳ１３０にて、抵抗８１，８２同士の接続点の電圧からバッテリ電圧ＶＢを検出し、その検出したバッテリ電圧ＶＢと、上記Ｓ１２０で計測した飽和電流Ｉｓａｔとを用いて、下記の式１により、コイル電流経路の抵抗値Ｒを算出する。
【００９７】
Ｒ＝ＶＢ／Ｉｓａｔ  …式１
尚、式１におけるＶＢとしては、バッテリ電圧ＶＢの検出値をそのまま用いても良いが、例えば、バッテリ電圧ＶＢの検出値から、トランジスタＴ１１とダイオードＤ１１とトランジスタＴ１０とによる電圧降下分を引いた値を用いるとなお良い。また抵抗値Ｒの算出精度を更に上げる手法として、Ｓ１２０にて電流計測と合わせてバッテリ電圧ＶＢを計測しておくのでもよい。このようにすれば、Ｓ１２０での電流計測時においてバッテリ電圧ＶＢの変化（例えば落ち込み）が大きくなっても、抵抗値Ｒを精度良く算出することができる。一方、バッテリ電圧ＶＢの検出値に代えて、バッテリ電圧ＶＢの標準値（例えば１４Ｖ）を用いることもでき、その場合にはバッテリ電圧ＶＢの検出が不要となる。
【００９８】
次にＳ１４０にて、下記の式２により、時定数電流Ｉｌｒを算出する。
Ｉｌｒ＝（１−１／ｅ）×Ｉｓａｔ  …式２
尚、式２におけるｅは、自然対数の底である。そして、時定数電流Ｉｌｒは、コイル２５への通電開始から、コイル電流経路と等価と見なしたＬＲ回路の時定数τ（＝Ｌ／Ｒ）が経過した時の、コイル電流である。
【００９９】
次にＳ１５０にて、電圧供給用回路６９の動作を停止させる。つまり、図６の（３）に示すように、駆動信号Ｓｃをローにする。すると、トランジスタ７３がオフして、トランジスタＴ１１もオフし、端子ＣＭへのバッテリ電圧ＶＢの供給が停止する。
【０１００】
次にＳ１６０にて、コイル電流が０になるまで待つ。具体的には、図６における（４）の部分に示すように、増幅回路４９の出力電圧Ｖｉを一定時間毎にサンプリングし、その出力電圧Ｖｉが０Ｖになるまで待つ。
【０１０１】
次にＳ１７０にて、再び電圧供給用回路６９を動作させる。つまり、図６の（５）に示すように、駆動信号Ｓｃをハイにして、コイル２５に電流を流し始める。
次にＳ１８０にて、コイル電流が０から時定数電流Ｉｌｒになるまでの時間ｔｌｒを計測する。具体的には、図６における（６）の部分に示すように、増幅回路４９の出力電圧Ｖｉを一定時間毎にサンプリングし、その出力電圧Ｖｉが０Ｖから時定数電流Ｉｌｒに相当する電圧ＶＩｌｒ（＝Ｉｌｒ×Ｇ）になるまでの時間を計測する。
【０１０２】
次にＳ１８５にて、トランジスタＴ１０をオフさせると共に、電圧供給用回路６９の動作を停止させる。
次にＳ１９０にて、Ｓ１３０で算出した抵抗値Ｒと、Ｓ１８０で計測した時間ｔｌｒとを用いて、下記の式３により、コイル電流経路のインダクタンス値Ｌを算出する。
【０１０３】
Ｌ＝ｔｌｒ×Ｒ  …式３
次にＳ２００にて、不揮発性メモリ３７に記憶されている前述の閾値マップ８５から、Ｓ１３０，Ｓ１９０で算出したコイル電流経路の電気的特性値（Ｒ，Ｌ）に対応する閾値ＩｔｈＰを、補間演算等によって算出する。尚、算出した電気的特性値そのものが閾値マップ８５に記録されていた場合には、算出した電気的特性値に対応する閾値ＩｔｈＰを閾値マップ８５から読み出すだけで良い。また式３に関してはＬＲ回路の時定数（ｔｌｒ）からＬを算出しているが、Ｓ１８０で計測する時間（ターゲット時間）を「ｔｌｒ」→「a×ｔｌｒ」とすれば（尚、aは任意の定数）、Ｓ１４０で用いる式２は下記の式２'となり、Ｓ１８０では、コイル電流が０から式２'で求めたＩaｌｒになるまでの時間を「a×ｔｌｒ」として計測することとなる。そして、Ｓ１９０で用いる式３は下記の式３'となる。
【０１０４】
Ｉaｌｒ＝（１−ｅｘｐ（−a））×Ｉｓａｔ  …式２’
Ｌ＝a×ｔｌｒ×Ｒ  …式３’
インダクタンス値Ｌの算出精度が高くなるターゲット時間が開発段階で適合されていれば、上記式２’，式３’を採用してもよい。
【０１０５】
次にＳ２１０にて、Ｓ２００で算出した閾値ＩｔｈＰ（実際には、閾値ＩｔｈＰに該当するピーク電流閾値データ）を、シリアル通信線５５を介して、駆動用ＩＣ３３に送信する。そして、その後、当該閾値設定処理を終了する。
【０１０６】
また、マイコン３５が図５の閾値設定処理を行うタイミング（閾値設定処理の実行タイミング）は、燃料噴射の実施期間（電磁弁２３の駆動期間）以外で、且つ、燃料噴射のための電磁弁２３の駆動開始時までに図５の処理を完了することが可能なタイミングであれば良い。このため、閾値設定処理の実行タイミングとしては、例えば、ＥＣＵ２１の車両組付け後の検査工程における所定のタイミング（例えば最終段階のタイミング）であったり、車両がイグニッションオフ状態になってからマイコン３５が給電用リレーのオフを許可するまでの期間であったり、燃料噴射間隔が所定値以上となるエンジン低回転状態の場合における燃料噴射の非実施期間中が考えられる。ただし電気的特性計測時に電磁弁が開弁する場合は、問題のない閾値設定処理の実行タイミングを開発段階で検討の上、設定する必要がある。
【０１０７】
尚、ＥＣＵ２１の生産工程においては、定電流制御用の閾値ＩｔｈＨ，ＩｔｈＬについても、閾値ＩｔｈＰに関する閾値マップ８５と同様の閾値マップ８６，８７が作成されて、ＥＣＵ２１の不揮発性メモリ３７に記憶される（図１，図４参照）。そして、マイコン３５は、図５のＳ２００では、閾値ＩｔｈＨに関する閾値マップ８６から、Ｓ１３０，Ｓ１９０で算出した電気的特性値に対応する閾値ＩｔｈＨを算出し、閾値ＩｔｈＬに関する閾値マップ８７から、Ｓ１３０，Ｓ１９０で算出した電気的特性値に対応する閾値ＩｔｈＬを算出する。そして更に、マイコン３５は、図５のＳ２１０では、Ｓ２００で算出した閾値ＩｔｈＨ、ＩｔｈＬ（実際には、閾値ＩｔｈＨに該当する上側閾値データと、閾値ＩｔｈＬに該当する下側閾値データ）も、シリアル通信線５５を介して駆動用ＩＣ３３に送信する。
【０１０８】
以上のようなＥＣＵ２１では、図５のＳ１１０〜Ｓ１９０の処理により、コイル電流経路の電気的特性を計測している。そして、コイル電流の制御に用いる閾値（具体的には、放電制御回路５１がトランジスタＴ１２を制御するのに用いる閾値ＩｔｈＰと、定電流制御回路５３がトランジスタＴ１１を制御するのに用いる閾値ＩｔｈＨ，ＩｔｈＬ）を、コイル電流経路の電気的特性の計測結果に応じて変更する。
【０１０９】
このため、コイル電流経路の電気的特性が製造上あるいは経時変化によってばらついても、コイル電流の極値（本実施形態では、コンデンサ２９からコイル２５への放電による最大値と、定電流制御による極大値及び極小値）を目標の値（具体的には、仕様規格範囲内の値）にすることができる閾値を、可変で自動的に設定することができる。尚、コイル電流経路の電気的特性のばらつきとしては、例えば、コイル２５のインダクタンス及び抵抗のばらつきが主であるが、端子ＣＭ，ＩＮＪに接続されるワイヤハーネスの抵抗のばらつきや、端子ＣＭ，ＩＮＪでの接触抵抗のばらつき等も含まれる。
【０１１０】
つまり、本実施形態のＥＣＵ２１によれば、コイル電流制御用の閾値をコイル電流経路の実際の電気的特性に応じて自律補正することができる。よって、コイル電流の制御精度を向上させることができ、延いては、電磁弁２３の制御精度を向上させることができる。よって、燃料噴射の制御精度を向上させることができる。
【０１１１】
具体的には、コイル２５に流すピーク電流の最大値の制御精度が向上することから、電磁弁２３の開弁タイミングの制御精度が向上し、その結果、燃料噴射開始タイミングの制御精度が向上する。また、コイル２５に流す一定電流の極大値と極小値との制御精度が向上することから、通電期間の終了時におけるコイル電流のばらつきが小さくなる。よって、通電期間の終了時から電磁弁２３が閉弁するまでの遅れ時間のばらつきが小さくなり、燃料噴射終了タイミングの制御精度が向上する。
【０１１２】
また、前述した比較例の手法では、仕様規格範囲が狭く設定されると、ＥＣＵ２１を構成する部品として、特性ばらつきの小さい高価な部品を採用しなければならなかったり、上記〈１〉，〈２〉の工程において、計測精度の高い計測機器を使用しなければならなかったりする。更に、生産されるＥＣＵ２１のうち、仕様規格範囲の条件を満たすことができる良品の割合（即ち、歩留まり）が低下してしまう。これに対して、本実施形態のＥＣＵ２１によれば、そのような不具合を回避することができる。
【０１１３】
また、本実施形態では、コイル２５に一定の電流を流すためのトランジスタＴ１１をオンさせることで、端子ＣＭに、コイル電流経路の電気的特性を計測するための計測用電圧として、バッテリ電圧ＶＢを供給している。このため、コイル電流経路の電気的特性を計測するために追加する部品数を、少なくすることができる。
【０１１４】
尚、本実施形態では、コンデンサ電圧ＶＣとバッテリ電圧ＶＢとの各々が、駆動用電圧に相当し、トランジスタＴ１２とトランジスタＴ１１との各々が、電流制御用スイッチング素子に相当している。そして、トランジスタＴ１２については、増幅回路４９と放電制御回路５１が制御手段に相当し、トランジスタＴ１１については、増幅回路４９と定電流制御回路５３が制御手段に相当している。
【０１１５】
［第２実施形態］
次に、第２実施形態のＥＣＵについて説明する。尚、第１実施形態と同様の構成要素や処理等については、第１実施形態と同じ符号を用いるため、説明を省略する。そして、このことは、後述する他の実施形態についても同様である。
【０１１６】
図２に示すように、第２実施形態のＥＣＵ８９は、第１実施形態のＥＣＵ２１と比較すると、電圧供給用回路６９に代えて、電圧供給用回路９０を備えている点が異なる。
電圧供給用回路９０は、一方の出力端子が一定の電圧ＶＭ（例えば５Ｖ）に接続されたトランジスタ（この例ではＰチャネル型のＦＥＴ）９１と、トランジスタＴ１１の他方の出力端子にアノードが接続され、カソードが端子ＣＭに接続された逆流防止用のダイオード９２と、一端が電圧ＶＭに接続された抵抗９３と、抵抗９３の他端にコレクタが接続され、エミッタがグランドラインに接続されたＮＰＮトランジスタ（以下単に、トランジスタという）９４と、トランジスタ９４のコレクタとトランジスタ９１のゲートとの間に接続された抵抗９５と、トランジスタ９４のベースに一端が接続され、他端にマイコン３５からの駆動信号Ｓｃが供給される抵抗９６とを備える。
【０１１７】
このような電圧供給用回路９０では、マイコン３５からの駆動信号Ｓｃがアクティブレベルとしてのハイになると、トランジスタ９４がオンして、トランジスタ９１のゲートを、抵抗９５を介して接地することにより、トランジスタ９１をオンさせる。そして、トランジスタ９１がオンすることで、端子ＣＭに、コイル電流経路の電気的特性を計測するための計測用電圧として、電圧ＶＭが供給される。
【０１１８】
つまり、本第２実施形態では、計測用電圧として一定の電圧ＶＭを使用している。そして、トランジスタＴ１１とは別の、計測用スイッチング素子としてのトランジスタ９１をオンさせることにより、端子ＣＭに電圧ＶＭを供給するようになっている。
【０１１９】
このため、ＥＣＵ８９において、マイコン３５は、図５のＳ１３０では、バッテリ電圧ＶＢを検出せず、式１に代えて、下記の式４により、コイル電流経路の抵抗値Ｒを算出する。
【０１２０】
Ｒ＝ＶＭ／Ｉｓａｔ  …式４
尚、式４におけるＶＭとしては、電圧ＶＭの値（既知の値であり、この例では５Ｖ）をそのまま用いても良いが、例えば、電圧ＶＭの値から、トランジスタ９１とダイオード９２とトランジスタＴ１０とによる電圧降下分を引いた値を用いるとなお良い。
【０１２１】
以上のような第２実施形態のＥＣＵ８９によれば、第１実施形態と比較すると、マイコン３５は、バッテリ電圧ＶＢを検出しなくても、コイル電流経路の電気的特性（抵抗値Ｒ及びインダクタンス値Ｌ）を精度良く計測することができる。また、第１実施形態において、マイコン３５が図５のＳ１３０で抵抗値Ｒを算出するのにバッテリ電圧ＶＢの標準値を用いるのであれば、その構成よりも精度良くコイル電流経路の電気的特性を計測することができる。そして、電気的特性の計測精度が上がれば、コイル電流の制御精度も向上することとなる。
【０１２２】
［第３実施形態］
図８に示すように、第３実施形態のＥＣＵ９９は、第１実施形態のＥＣＵ２１と比較すると、下記〔１〕〜〔６〕の点が異なっている。
【０１２３】
〔１〕ＥＣＵ９９には、コンデンサ電圧ＶＣを、マイコン３５が入力可能な電圧に分圧する２つの抵抗１０１，１０２が備えられている。そして、抵抗１０１，１０２同士の接続点に生じる電圧であって、コンデンサ電圧ＶＣを分圧した電圧は、マイコン３５に入力される。マイコン３５は、抵抗１０１，１０２同士の接続点の電圧をＡ／Ｄ変換器４４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値からコンデンサ電圧ＶＣを検出する。
【０１２４】
〔２〕ＥＣＵ９９には、一端がグランドラインに接続されたサーミスタ１０３と、サーミスタ１０３の他端に一端が接続され、他端に一定の電圧Ｖｃｃ（例えば５Ｖ）が印加されたプルアップ用の抵抗１０４とが備えられている。
【０１２５】
サーミスタ１０３は、温度に応じて抵抗値が変化する抵抗体である。このため、サーミスタ１０３の抵抗値は、ＥＣＵ９９の内部温度（以下、ＥＣＵ内部温度という）に応じて変化する。そして、サーミスタ１０３と抵抗１０４との接続点に生じる電圧（以下、内部温度モニタ電圧という）は、ＥＣＵ内部温度に応じて変化することとなり、その内部温度モニタ電圧は、マイコン３５に入力される。マイコン３５は、内部温度モニタ電圧をＡ／Ｄ変換器４４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値からＥＣＵ内部温度を検出する。尚、サーミスタ１０３は、ＥＣＵ９９の内部において、温度をより正確に検出したい対象物の近くに実装すれば良い。
【０１２６】
〔３〕ＥＣＵ９９の外部において、例えば、電磁弁２３に燃料を供給する燃料通路または燃料貯留室には、温度センサとしてのサーミスタ１０５が設けられている。このため、サーミスタ１０５の抵抗値は、電磁弁２３に供給される燃料の温度（以下、燃料温度という）に応じて変化する。
【０１２７】
サーミスタ１０５の一端は、ＥＣＵ９９の外部において、グランドラインに接続されている。また、サーミスタ１０５の他端は、ＥＣＵ９９の内部において、プルアップ用の抵抗１０６を介して一定の電圧Ｖｃｃに接続されている。そして、サーミスタ１０５と抵抗１０６との接続点に生じる電圧（以下、燃料温度モニタ電圧という）は、燃料温度に応じて変化することとなり、その燃料温度モニタ電圧は、マイコン３５に入力される。マイコン３５は、燃料温度モニタ電圧をＡ／Ｄ変換器４４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値から燃料温度を検出する。
【０１２８】
〔４〕不揮発性メモリ３７には、閾値マップ８５〜８７の各々に代えて、図９のような閾値マップ１０７〜１０９が記憶される。尚、図９においては、閾値マップ１０７〜１０９に記録された閾値を、「＊」で示している。
【０１２９】
図９に示すように、閾値マップ１０７は、コイル電流経路の電気的特性（Ｒ，Ｌ）と、駆動用電圧と、ＥＣＵ内部温度と、燃料温度とをパラメータとして、放電制御回路５１に設定すべき閾値ＩｔｈＰ（実際には、閾値ＩｔｈＰに該当するピーク電流閾値データ）が記録されたデータマップである。同様に、閾値マップ１０８は、コイル電流経路の電気的特性（Ｒ，Ｌ）と、駆動用電圧と、ＥＣＵ内部温度と、燃料温度とをパラメータとして、定電流制御回路５３に設定すべき閾値ＩｔｈＨ（実際には、閾値ＩｔｈＨに該当する上側閾値データ）が記録されたデータマップである。そして、閾値マップ１０９も、コイル電流経路の電気的特性（Ｒ，Ｌ）と、駆動用電圧と、ＥＣＵ内部温度と、燃料温度とをパラメータとして、定電流制御回路５３に設定すべき閾値ＩｔｈＬ（実際には、閾値ＩｔｈＬに該当する下側閾値データ）が記録されたデータマップである。
【０１３０】
また、閾値ＩｔｈＰは、トランジスタＴ１２を制御するための閾値であり、トランジスタＴ１２を介してコイル２５に供給する駆動用電圧は、コンデンサ電圧ＶＣであるため、閾値マップ１０７におけるパラメータとしての駆動用電圧は、コンデンサ電圧ＶＣである。一方、閾値ＩｔｈＨ，ＩｔｈＬは、トランジスタＴ１１を制御するための閾値であり、トランジスタＴ１１を介してコイル２５に供給する駆動用電圧は、バッテリ電圧ＶＢであるため、閾値マップ１０８，１０９におけるパラメータとしての駆動用電圧は、バッテリ電圧ＶＢである。
【０１３１】
閾値マップ１０７〜１０９の各々は、例えば、前述した閾値マップ８５〜８７の作成手法と同様の手法で作成しても良いし、また、一部又は全部を理論計算によって作成しても良い。
【０１３２】
また、閾値マップ１０７〜１０９において閾値を特定するためのパラメータのうち、コイル電流経路の電気的特性以外のパラメータである駆動用電圧とＥＣＵ内部温度と燃料温度との各々も、前述の閾値超過量に相関がある物理量である。駆動用電圧が変われば、コイル電流の変化速度が変わるため、前述の回路遅れ時間が一定であるとしても、閾値超過量が変わる。ＥＣＵ内部温度が変われば、トランジスタＴ１１，Ｔ１２を含む電子部品の温度特性により回路遅れ時間が変わるため、閾値超過量が変わる。燃料温度が変われば、電磁弁２３のコイル２５の温度が変わるため、コイル２５の電気的特性が変わり、閾値超過量も変わる。
【０１３３】
尚、図９は、閾値マップ１０７〜１０９の構成として、駆動用電圧の複数の値（ｘ１，ｘ２，…）と、ＥＣＵ内部温度の複数の値（ｙ１，ｙ２，…）と、燃料温度の複数の値（ｚ１，ｚ２，…）との、各組み合わせに対して、第１実施形態の閾値マップ８５〜８７と同様のマップが記録された構成を表している。しかし、閾値マップ１０７〜１０９の構成は、各パラメータと閾値との対応関係が特定可能であれば、どのような構成でも良い。
【０１３４】
〔５〕マイコン３５は、図５の閾値設定処理に代えて、図１０の閾値設定処理を行う。
図１０の閾値設定処理は、図５の閾値設定処理と比較すると、Ｓ１９５が追加されている点が異なる。そして、マイコン３５は、そのＳ１９５では、駆動用電圧としてのコンデンサ電圧ＶＣ及びバッテリ電圧ＶＢと、ＥＣＵ内部温度と、燃料温度とを検出する。尚、コンデンサ電圧ＶＣは、抵抗１０１，１０２同士の接続点の電圧から検出され、バッテリ電圧ＶＢは、抵抗８１，８２同士の接続点の電圧から検出される。そして、ＥＣＵ内部温度は、前述の内部温度モニタ電圧から検出され、燃料温度は、前述の燃料温度モニタ電圧から検出される。また、バッテリ電圧ＶＢについては、このＳ１９５にて、改めて検出せずに、Ｓ１３０で検出した値をＲＡＭ４３等から読み出しても良い。
【０１３５】
そして、マイコン３５は、Ｓ１９５の次のＳ２００では、不揮発性メモリ３７に記憶されている閾値マップ１０７〜１０９から、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを算出する。具体的には、閾値マップ１０７から、Ｓ１３０，Ｓ１９０で算出したコイル電流経路の電気的特性値（Ｒ，Ｌ）と、Ｓ１９５で検出した駆動用電圧としてのコンデンサ電圧ＶＣ，ＥＣＵ内部温度及び燃料温度の各々とに対応する閾値ＩｔｈＰを、補間演算等によって算出する。また、閾値マップ１０８から、Ｓ１３０，Ｓ１９０で算出したコイル電流経路の電気的特性値（Ｒ，Ｌ）と、Ｓ１９５で検出した駆動用電圧としてのバッテリ電圧ＶＢ，ＥＣＵ内部温度及び燃料温度の各々とに対応する閾値ＩｔｈＨを、補間演算等によって算出する。同様に、閾値マップ１０９から、Ｓ１３０，Ｓ１９０で算出したコイル電流経路の電気的特性値（Ｒ，Ｌ）と、Ｓ１９５で検出した駆動用電圧としてのバッテリ電圧ＶＢ，ＥＣＵ内部温度及び燃料温度の各々とに対応する閾値ＩｔｈＬを、補間演算等によって算出する。
【０１３６】
そして、マイコン３５は、次のＳ２１０にて、Ｓ２００で算出した閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを、シリアル通信線５５を介して駆動用ＩＣ３３に送信する。
〔６〕マイコン３５は、図１０の閾値設定処理とは別に、図１１の第２設定処理も行う。第２設定処理は、例えば、車両がイグニッションオン状態である場合において、第ｎ気筒＃ｎの燃料噴射非実施期間（即ち、噴射指令信号Ｓ＃ｎをローにしてから次にハイにするまでの期間）毎に実行される。
【０１３７】
図１１に示すように、マイコン３５は、第２設定処理では、まずＳ３１０にて、図１０のＳ１９５と同じ処理を行う。つまり、駆動用電圧としてのコンデンサ電圧ＶＣ及びバッテリ電圧ＶＢと、ＥＣＵ内部温度と、燃料温度とを検出する。次にＳ３２０にて、閾値設定処理（図１０）で算出済みの最新の電気的特性値（Ｒ，Ｌ）をＲＡＭ４３等から読み込む。
【０１３８】
そして、次のＳ３３０にて、Ｓ３１０とＳ３２０の処理結果を用いて、閾値マップ１０７〜１０９から、図１０のＳ２００と同様に、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを算出する。具体的には、閾値マップ１０７から、Ｓ３２０で読み込んだ電気的特性値（Ｒ，Ｌ）と、Ｓ３１０で検出したコンデンサ電圧ＶＣ，ＥＣＵ内部温度及び燃料温度の各々とに対応する閾値ＩｔｈＰを、補間演算等によって算出する。また、閾値マップ１０８，１０９の各々から、Ｓ３２０で読み込んだ電気的特性値（Ｒ，Ｌ）と、Ｓ３１０で検出したバッテリ電圧ＶＢ，ＥＣＵ内部温度及び燃料温度の各々とに対応する閾値ＩｔｈＨ，ＩｔｈＰを、補間演算等によって算出する。
【０１３９】
そして、マイコン３５は、次のＳ３４０にて、図１０のＳ２１０と同様に、Ｓ３３０で算出した閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬを、シリアル通信線５５を介して駆動用ＩＣ３３に送信し、その後、当該第２設定処理を終了する。
【０１４０】
尚、第２設定処理のうち、例えば、Ｓ３１０〜Ｓ３３０の処理を一定時間毎に実行し、Ｓ３４０の処理を、噴射指令信号Ｓ＃ｎをローからハイにする前に実行しても良い。
以上のような第３実施形態のＥＣＵ９９によれば、コイル電流経路の電気的特性に加えて、駆動用電圧（ＶＣ又はＶＢ）とＥＣＵ内部温度と燃料温度との各々に応じても、閾値を最適値に変更することができる。
【０１４１】
このため、コイル電流の制御精度を一層向上させることができる。よって、電磁弁２３の制御精度を更に向上させて、燃料噴射の制御精度を一層向上させることができる。
また、閾値を決定するためのパラメータとして用いている物理量のうち、コイル電流経路の電気的特性以外の物理量（駆動用電圧、ＥＣＵ内部温度、燃料温度）は、コイル電流経路の電気的特性と比較すると、検出するのに要する時間が短くて済むし、燃料噴射の実施期間中でも検出することができる。よって、コイル電流経路の電気的特性を計測する頻度よりも、電気的特性以外の物理量を検出してその検出結果に応じて閾値を更新する頻度を、高くすることができる。このため、本第３実施形態では、マイコン３５が、図１０の閾値設定処理とは別に、図１１の第２設定処理を行うようにしている。
【０１４２】
また特に、コイル電流経路の電気的特性を計測してからの経過時間が長くなって、燃料温度の変化により、コイル電流経路の電気的特性が既に計測した値から変わったとしても、燃料温度に応じて閾値が更新されるため、コイル電流の高い制御精度を維持することができる。
【０１４３】
一方、閾値超過量のばらつきをもたらす回路遅れ時間のばらつきの要因は、主にトランジスタＴ１１，Ｔ１２の動作応答遅れの温度特性であるため、ＥＣＵ内部温度を検出するためのサーミスタ１０３は、トランジスタＴ１１，Ｔ１２の近く（例えば、トランジスタＴ１１，１２と隣り合う位置）に配置するのが好ましい。
【０１４４】
尚、本第３実施形態の構成は、第２実施形態のＥＣＵ８９に対しても同様に適用することができる。つまり、図８のＥＣＵ９９において、電圧供給用回路６９の代わりに、図７の電圧供給用回路９０を設けても良い。
【０１４５】
また、閾値を決定するためのパラメータとして用いる物理量のうち、コイル電流経路の電気的特性以外の物理量としては、駆動用電圧、ＥＣＵ内部温度及び燃料温度のうちの１つ又は２つであっても良いし、他の物理量であっても良い。
【０１４６】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１４７】
例えば、トランジスタＴ１０〜Ｔ１２，９１は、ＦＥＴに限らず、バイポーラトランジスタやＩＧＢＴ（絶縁ゲートバイポーラトランジスタ）等の他種類のトランジスタでも良い。また、トランジスタ７３，９４も、バイポーラトランジスタに限らず、例えば、ＦＥＴやＩＧＢＴ等の他種類のトランジスタでも良い。
【０１４８】
また、駆動対象の電磁弁２３は、インジェクタに限らず、例えば燃料を圧送する燃料ポンプの電磁弁等でも良い。
また、特許請求の範囲に記載された内容の範囲において、前述した実施形態の構成や処理のうちの、何れかの組み合わせを変える変形や、一部を削除する変形等を行うことも勿論可能である。
【０１４９】
例えば、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬの全てを可変にするのではなく、それらのうちの１つ又は２つを可変にする構成でも良い。尚、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬのうち、閾値ＩｔｈＰだけを可変にするのであれば、トランジスタＴ１１，Ｔ１２のうち、トランジスタＴ１２だけが電流制御用スイッチング素子に相当することとなる。また、閾値ＩｔｈＰ，ＩｔｈＨ，ＩｔｈＬのうち、閾値ＩｔｈＨ、ＩｔｈＬの両方又は一方だけを可変にするのであれば、トランジスタＴ１１，Ｔ１２のうち、トランジスタＴ１１だけが電流制御用スイッチング素子に相当することとなる。
【符号の説明】
【０１５０】
２３…電磁弁、２５…コイル、ＣＭ…端子、ＶＣ…コンデンサ電圧、ＶＢ…バッテリ電圧、ＶＭ…一定の電圧、Ｔ１１，Ｔ１２…トランジスタ、３５…マイコン、３７…不揮発性メモリ、４９…増幅回路、５１…放電制御回路、５３…定電流制御回路、６９，９０…電圧供給用回路、８５，８６，８７，１０７，１０８，１０９…閾値マップ
【図１】
2014169652.tif 000003
【図２】
2014169652.tif 000004
【図３】
2014169652.tif 000005
【図４】
2014169652.tif 000006
【図５】
2014169652.tif 000007
【図６】
2014169652.tif 000008
【図７】
2014169652.tif 000009
【図８】
2014169652.tif 000010
【図９】
2014169652.tif 000011
【図１０】
2014169652.tif 000012
【図１１】
2014169652.tif 000013