(57)【要約】【課題】電磁弁駆動装置において電磁弁の制御精度を向上させる。【解決手段】電磁弁４１を駆動する装置３１は、電磁弁４１のコイル４１ａの上流側と、バッテリ電圧ＶＢが供給される電源ラインＬｐとの間に、直列に設けられたトランジスタＴ１１と、コイル４１ａへの通電期間を設定するマイコン３９と、設定された通電期間においてコイル４１ａに一定の電流が流れるようにトランジスタＴ１１をオン／オフさせる定電流制御回路５７とを備える。定電流制御回路５７は、コイル電流が上側閾値ＩｔｈＨまで増加したことを検知するとトランジスタＴ１１をオンからオフさせ、コイル電流が下側閾値ＩｔｈＬまで低下したことを検知するとトランジスタＴ１１をオフからオンさせる。そして、マイコン３９は、バッテリ電圧ＶＢと装置３１の内部温度（Ｔ１１の周囲温度）を検出し、その検出結果に応じて、定電流制御回路５７が用いる上記閾値ＩｔｈＨ，ＩｔｈＬを変更する。【選択図】図１
2014152656.tif 000002
【特許請求の範囲】
【請求項１】
電磁弁（４１）のコイル（４１ａ）に電流を流すための通電経路における前記コイルよりも上流側（ＣＭ）と、電源電圧が供給される電源ライン（Ｌｐ）との間に、直列に設けられ、前記コイルに一定の電流を流すためにオン／オフされる定電流用スイッチング素子（Ｔ１１）と、
前記コイルへの通電期間を設定する通電期間設定手段（３９）と、
前記通電期間において、前記定電流用スイッチング素子のオン／オフを繰り返すスイッチング制御を行うことにより、前記コイルに一定の電流が流れるようにする定電流制御手段（５７）と、
を備えた電磁弁駆動装置（３１）において、
前記定電流制御手段は、前記定電流用スイッチング素子を、オンとオフとの一方である第１状態から、オンとオフとの他方である第２状態へと切り換えるための閾値が与えられ、前記スイッチング制御の実施中において、前記定電流用スイッチング素子を前記第１状態にしているときに、前記コイルに流れる電流が前記閾値に到達したことを検知すると、前記定電流用スイッチング素子を前記第１状態から前記第２状態へと切り換えるようになっており、
当該電磁弁駆動装置は、
前記コイルに流れる電流が前記閾値に達してもなお同じ方向に変化して該閾値を超える量である閾値超過量に相関がある物理量を検出し、該物理量に応じて前記閾値を変更する閾値変更手段（３９，Ｓ１１０〜Ｓ１３０）を備えること、
を特徴とする電磁弁駆動装置。
【請求項２】
請求項１に記載の電磁弁駆動装置において、
前記第１状態はオンであると共に、前記第２状態はオフであり、
前記閾値は、前記定電流用スイッチング素子をオンからオフに切り換えるためのオフ切換用閾値であり、
前記定電流制御手段は、前記定電流用スイッチング素子を、オフからオンへと切り換えるための閾値として、前記オフ切換用閾値よりも小さいオン切換用閾値も与えられ、前記スイッチング制御の実施中において、前記定電流用スイッチング素子をオフさせているときに、前記コイルに流れる電流が前記オン切換用閾値に到達したことを検知すると、前記定電流用スイッチング素子をオフからオンへと切り換えるようになっており、
前記閾値変更手段は、前記物理量に応じて、前記オン切換用閾値も変更すること、
を特徴とする電磁弁駆動装置。
【請求項３】
請求項２に記載の電磁弁駆動装置において、
前記物理量は、前記電源電圧と、前記定電流用スイッチング素子の周囲温度との、一方又は両方であること、
を特徴とする電磁弁駆動装置。
【請求項４】
請求項３に記載の電磁弁駆動装置において、
前記閾値変更手段は、前記オフ切換用閾値と前記オン切換用閾値との各々を、前記物理量が第１の値である場合よりも、前記物理量が前記第１の値より大きい第２の値である場合の方が、小さくなるように変更すること、
を特徴とする電磁弁駆動装置。
【請求項５】
請求項４に記載の電磁弁駆動装置において、
前記閾値変更手段は、前記オフ切換用閾値と前記オン切換用閾値との差も、前記物理量が前記第１の値である場合よりも、前記物理量が前記第２の値である場合の方が、小さくなるようにすること、
を特徴とする電磁弁駆動装置。
【請求項６】
請求項３ないし請求項５の何れか１項に記載の電磁弁駆動装置において、
前記物理量は、少なくとも前記定電流用スイッチング素子の周囲温度であり、
前記閾値変更手段は、当該電磁弁駆動装置の内部温度を、前記周囲温度として検出すること、
を特徴とする電磁弁駆動装置。
【請求項７】
請求項６に記載の電磁弁駆動装置において、
当該電磁弁駆動装置は、自動車において該自動車のエンジンが収納されるエンジンルームに設けられ、
前記閾値変更手段は、前記エンジンルームの温度を、当該電磁弁駆動装置の内部温度として検出すること、
を特徴とする電磁弁駆動装置。
【請求項８】
請求項７に記載の電磁弁駆動装置において、
前記閾値変更手段は、特定の物であって、それの温度が前記エンジンルームの温度と相関がある物の温度を、前記エンジンルームの温度として検出すること、
を特徴とする電磁弁駆動装置。
【請求項９】
請求項８に記載の電磁弁駆動装置において、
前記物は、前記エンジンに供給される燃料と、前記エンジンのエンジンオイルと、前記エンジンの冷却水との、少なくとも１つであること、
を特徴とする電磁弁駆動装置。
【請求項１０】
請求項１に記載の電磁弁駆動装置において、
前記物理量は、前記電源電圧と、前記定電流用スイッチング素子の周囲温度との、一方又は両方であること、
を特徴とする電磁弁駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電磁弁駆動装置に関する。
【背景技術】
【０００２】
例えば車両に搭載された内燃機関の気筒に燃料を噴射供給する燃料噴射弁（インジェクタ）としては、コイルへの通電により開弁する電磁弁が使用される。そして、このような燃料噴射弁を駆動して燃料噴射を制御する燃料噴射制御装置は、コイルへの通電（通電開始タイミング及び通電時間）を制御することにより、燃料噴射時期及び燃料噴射量を制御している。
【０００３】
また、燃料噴射制御装置では、電源電圧を昇圧してコンデンサを充電すると共に、コイルへの通電期間（燃料噴射弁を開弁させる駆動期間でもある）の開始時には、そのコンデンサからコイルに放電させることにより、燃料噴射弁の弁体を速やかに動かす（リフトさせる）ためのピーク電流をコイルに流す。そして、コンデンサからコイルへの放電が終了してから通電期間が終了するまでは、コイルの上流側と電源電圧との間に設けられたトランジスタをオン／オフさせるスイッチング制御を行うことにより、電源電圧からコイルに一定の電流を流す。そのスイッチング制御では、例えば、コイルに流れる電流（以下、コイル電流ともいう）を検出し、コイル電流が下側閾値以下になったことを検知するとトランジスタをオフからオンに切り換え、コイル電流が上側閾値（＞下側閾値）以上になったことを検知するとトランジスタをオンからオフに切り換える。このため、コイル電流の平均値が、上側閾値と下側閾値との間の電流に制御される（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２２１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記の燃料噴射制御装置においては、上記スイッチング制御を行う制御回路が、コイル電流の上側閾値への到達を検知して、トランジスタへの駆動信号をオン側のアクティブレベルからオフ側の非アクティブレベルに切り換えても、トランジスタが実際にオフするまで、コイル電流は増加し続ける。同様に、上記制御回路が、コイル電流の下側閾値への到達を検知して、トランジスタへの駆動信号を非アクティブレベルからアクティブレベルに切り換えても、トランジスタが実際にオンするまで、コイル電流は減少し続ける。
【０００６】
このため、コイルに一定の電流を流す際には、コイル電流が上側閾値に達してもなお同じ方向（増加方向）に変化して該上側閾値を超える量（以下、上側閾値超過量という）が生じる。同様に、コイル電流が下側閾値に達してもなお同じ方向（減少方向）に変化して該下側閾値を超える量（以下、下側閾値超過量という）も生じる。
【０００７】
そして、上側閾値超過量と下側閾値超過量とには、ばらつきが生じる。
例えば、トランジスタのターンオフ時間（オン状態からオフ状態に移行するのに要する時間）と、ターンオン時間（オフ状態からオン状態に移行するのに要する時間）には、正の温度特性がある。このため、トランジスタの周囲温度が高い場合ほど、トランジスタのターンオフ時間とターンオン時間が長くなって、上側閾値超過量と下側閾値超過量とが大きくなる。
【０００８】
また例えば、上側閾値超過量と下側閾値超過量は、電源電圧によっても変わる。なぜなら、トランジスタのターンオフ時間が一定であるとしても、電源電圧が高くなると、トランジスタのオン期間におけるコイル電流の増加速度が大きくなるため、上側閾値超過量は大きくなる。また、トランジスタのターンオン時間が一定であるとしても、電源電圧が高くなると、脈動するコイル電流の極大値が大きくなるため、トランジスタのオフ期間におけるコイル電流の減少速度が大きくなり、下側閾値超過量も大きくなる。
【０００９】
ここで、上側閾値超過量と下側閾値超過量との少なくとも一方にばらつきが生じると、コイル電流の脈動幅（極大値と極小値との差）がばらつくこととなる。
そして、コイル電流の脈動幅がばらつくと、通電期間の終了時におけるコイル電流がばらつくこととなる。
【００１０】
更に、通電期間の終了時におけるコイル電流がばらつくと、通電期間が終了してから燃料噴射弁が閉弁するまでの閉弁遅れ時間（弁体が閉弁位置に戻るまでの遅れ時間）がばらつくこととなり、燃料噴射弁の制御精度が低下することとなる。なお、駆動対象の電磁弁が燃料噴射弁であれば、具体的な不具合としては、燃料噴射量のばらつきを招くこととなる。
【００１１】
そこで、本発明は、電磁弁駆動装置において、電磁弁の制御精度を向上させることを目的としている。
【課題を解決するための手段】
【００１２】
本発明の電磁弁駆動装置は、電磁弁のコイルに電流を流すための通電経路における前記コイルよりも上流側と、電源電圧が供給される電源ラインとの間に、直列に設けられ、前記コイルに一定の電流を流すためにオン／オフされる定電流用スイッチング素子と、前記コイルへの通電期間を設定する通電期間設定手段と、前記通電期間において、前記定電流用スイッチング素子のオン／オフを繰り返すスイッチング制御を行うことにより、前記コイルに一定の電流が流れるようにする定電流制御手段と、閾値変更手段とを備える。
【００１３】
定電流制御手段は、定電流用スイッチング素子を、オンとオフとの一方である第１状態から、オンとオフとの他方である第２状態へと、切り換えるための閾値が与えられる。そして、定電流制御手段は、前記スイッチング制御の実施中において、定電流用スイッチング素子を第１状態にしているときに、前記コイルに流れる電流が前記閾値に到達したことを検知すると、定電流用スイッチング素子を第１状態から第２状態へと切り換えるようになっている。
【００１４】
また、閾値変更手段は、前記コイルに流れる電流が前記閾値に達してもなお同じ方向に変化して該閾値を超える量である閾値超過量に相関がある物理量を検出し、該物理量に応じて前記閾値を変更する。
【００１５】
この電磁弁駆動装置によれば、定電流用スイッチング素子を第１状態にした場合のコイル電流の変化方向を、第１変化方向とすると、コイル電流の第１変化方向の極値が、前記物理量の変化によって所望の値を超えてしまうことを防止することができる。
【００１６】
このことから、前記物理量の変化によって、コイル電流の脈動幅が所望の規格値より大きくなってしまうことを防止することができ、延いては、通電期間の終了時におけるコイル電流のばらつきが所望の規格値より大きくなってしまうことを防止することができる。このため、通電期間の終了時から電磁弁が閉弁するまでの閉弁遅れ時間のばらつきを抑制することができる。よって、電磁弁の制御精度が向上する。
【００１７】
尚、例えば、第１状態がオンで、第２状態がオフであれば、前記閾値は、定電流用スイッチング素子をオンからオフに切り換えるためのオフ切換用閾値である。そして、この場合には、下記の如く構成すれば更に良い。
【００１８】
即ち、定電流制御手段は、定電流用スイッチング素子を、オフからオンへと切り換えるための閾値として、前記オフ切換用閾値よりも小さいオン切換用閾値も与えられ、スイッチング制御の実施中において、定電流用スイッチング素子をオフさせているときに、コイル電流が前記オン切換用閾値に到達したことを検知すると、定電流用スイッチング素子をオフからオンへと切り換える。そして、閾値変更手段は、前記物理量に応じて、オン切換用閾値も変更する。
【００１９】
この構成によれば、前記物理量の変化によって、コイル電流の脈動幅が所望の規格値より大きくなってしまうことと、コイル電流の平均値が所望の規格範囲から外れてしまうこととを、防止し易い。コイル電流の増加方向と減少方向との両方の極値（つまり、極大値と極小値との両方）を、前記物理量が変化しても、所望の値に制御することができるからである。
【図面の簡単な説明】
【００２０】
【図１】実施形態の燃料噴射制御装置を示す構成図である。
【図２】駆動用ＩＣの動作を説明する説明図である。
【図３】上側閾値及び下側閾値を変更する理由を説明する第１の図である。
【図４】上側閾値及び下側閾値を変更する理由を説明する第２の図である。
【図５】閾値設定処理を表すフローチャートである。
【図６】バッテリ電圧ＶＢと上側閾値ＩｔｈＨ及び下側閾値ＩｔｈＬとの関係を説明する説明図である。
【図７】ＥＣＵ内部温度と上側閾値ＩｔｈＨ及び下側閾値ＩｔｈＬとの関係を説明する説明図である。
【発明を実施するための形態】
【００２１】
実施形態の電磁弁駆動装置としての燃料噴射制御装置について、図面を用い説明する。
尚、本実施形態の燃料噴射制御装置は、自動車に搭載された多気筒（この例では４気筒）ガソリンエンジンの各気筒＃１〜＃４に燃料を噴射供給する４個の電磁ソレノイド式インジェクタ（以下、電磁弁という）を駆動するものであり、その各電磁弁のコイルへの通電開始タイミング及び通電時間を制御することにより、各気筒＃１〜＃４への燃料噴射タイミング及び燃料噴射量を制御する。また、本実施形態において、スイッチング素子としてのトランジスタは、例えばＭＯＳＦＥＴであるが、バイポーラトランジスタやＩＧＢＴ（絶縁ゲートバイポーラトランジスタ）等の他種類のトランジスタでも良い。
【００２２】
図１に示すように、燃料噴射制御装置である電子制御装置（以下、ＥＣＵという）３１は、駆動対象である電磁弁４１のコイル４１ａの一端（上流側）が接続される端子ＣＭと、コイル４１ａの他端（下流側）が接続される端子ＩＮＪと、端子ＩＮＪに一方の出力端子が接続されたトランジスタＴ１０と、トランジスタＴ１０の他方の出力端子とグランドラインとの間に接続された電流検出用の抵抗Ｒ１０と、を備える。
【００２３】
電磁弁４１は、常閉式の電磁弁である。電磁弁４１では、コイル４１ａに通電されると、図示しない弁体（いわゆるノズルニードル）が開弁位置に移動し（換言すれば、リフトし）、燃料噴射が行われる。また、コイル４１ａの通電が遮断されると、弁体が元の閉弁位置に戻り、燃料噴射が停止される。
【００２４】
尚、図１では、４個の電磁弁４１のうち、第ｎ気筒＃ｎ（ｎは１〜４の何れか）に対応する１つの電磁弁４１だけを示しており、以下では、その１つの電磁弁４１の駆動に関して説明する。実際には、端子ＣＭは、各気筒の電磁弁４１について共通の端子となっており、その端子ＣＭに、各電磁弁４１のコイル４１ａがそれぞれ接続されている。また、端子ＩＮＪ及びトランジスタＴ１０は、各電磁弁４１について（換言すれば、各気筒について）それぞれ備えられている。トランジスタＴ１０は、駆動対象の電磁弁４１（換言すれば、噴射対象の気筒）を選択するためのスイッチング素子であり、気筒選択スイッチと呼ばれる。
【００２５】
更に、ＥＣＵ３１は、電源電圧としてのバッテリ電圧（車載バッテリの電圧）ＶＢが供給される電源ラインＬｐに一方の出力端子が接続された定電流用スイッチング素子としてのトランジスタＴ１１と、トランジスタＴ１１の他方の出力端子にアノードが接続され、カソードが上記端子ＣＭに接続された逆流防止用のダイオードＤ１１と、アノードがグランドラインに接続され、カソードが端子ＣＭに接続された電流還流用のダイオードＤ１２と、昇圧回路３３とを備える。
【００２６】
ダイオードＤ１２は、トランジスタＴ１０がオンされている状態でトランジスタＴ１１がオンからオフされた時に、コイル４１ａに電流を還流させる。
昇圧回路３３は、昇圧型ＤＣ／ＤＣコンバータであり、コンデンサＣ０と、インダクタＬ０と、昇圧用のトランジスタＴ０と、逆流防止用のダイオードＤ０と、電流検出用の抵抗Ｒ０と、トランジスタＴ０を駆動する充電制御回路３５とを備える。
【００２７】
コンデンサＣ０は、電磁弁４１の弁体を開弁方向へ速やかに動かす（リフトさせる）ためのピーク電流を、コイル４１ａに流すための電気エネルギを蓄積する。インダクタＬ０は、それの一端が電源ラインＬｐに接続され、他端がトランジスタＴ０の一方の出力端子に接続されている。抵抗Ｒ０は、トランジスタＴ０の他方の出力端子とグランドラインとの間に接続されている。インダクタＬ０とトランジスタＴ０との接続点に、ダイオードＤ０を介してコンデンサＣ０の一端（正極側）が接続され、コンデンサＣ０の他端（負極側）は、トランジスタＴ０と抵抗Ｒ０との接続点に接続されている。
【００２８】
昇圧回路３３においては、トランジスタＴ０がオン／オフされると、インダクタＬ０とトランジスタＴ０との接続点に、バッテリ電圧ＶＢよりも高いフライバック電圧（逆起電圧）が発生し、そのフライバック電圧によりダイオードＤ０を通じてコンデンサＣ０が充電される。このため、コンデンサＣ０はバッテリ電圧ＶＢよりも高い電圧で充電される。
【００２９】
そして、充電制御回路３５は、当該回路３５に与えられる充電許可信号がアクティブレベル（本実施形態では例えばハイ）の場合に動作して、コンデンサＣ０の正極側の電圧（以下、コンデンサ電圧という）ＶＣが予め設定された目標電圧（＞ＶＢ）となるように、トランジスタＴ０をオン／オフさせる。
【００３０】
充電制御回路３５は、コンデンサ電圧ＶＣをモニタすると共に、コンデンサＣ０の充電電流を抵抗Ｒ０に生じる電圧によりモニタして、コンデンサＣ０が効率の良い周期で充電されるようにトランジスタＴ０をオン／オフさせる。そして、充電制御回路３５は、コンデンサ電圧ＶＣが目標電圧になると、トランジスタＴ０をオフのままにして、コンデンサＣ０の充電を止める。このため、コンデンサＣ０は、それの充電電圧であるコンデンサ電圧ＶＣが目標電圧となるように充電される。
【００３１】
また更に、ＥＣＵ３１は、コンデンサＣ０の正極側を端子ＣＭに接続させる放電用スイッチング素子としてのトランジスタＴ１２と、アノードが端子ＩＮＪに接続され、カソードがコンデンサＣ０の正極側に接続されたエネルギ回収用のダイオードＤ１３と、トランジスタＴ１０，Ｔ１１，Ｔ１２を制御することで、コイル４１ａに流す電流を制御する駆動用ＩＣ３７と、マイコン（マイクロコンピュータ）３９とを備えている。
【００３２】
マイコン３９は、プログラムを実行するＣＰＵ５１、プログラムや固定のデータ等が記憶されたＲＯＭ５２、ＣＰＵ５１による演算結果等が記憶されるＲＡＭ５３、Ａ／Ｄ変換器（ＡＤＣ）５４等を備えている。
【００３３】
そして、マイコン３９は、エンジン回転数、アクセル開度、エンジン水温など、各種センサ（図示省略）にて検出されるエンジンの運転情報に基づいて、気筒毎に噴射指令信号を生成して駆動用ＩＣ３７に出力する。
【００３４】
噴射指令信号は、その信号のレベルがアクティブレベル（本実施形態では例えばハイ）の間だけ電磁弁４１のコイル４１ａに通電する（換言すれば、電磁弁４１を開弁させる）、という意味を持っている。このため、マイコン３９は、エンジンの運転情報に基づいて、気筒毎に、電磁弁４１のコイル４１ａへの通電期間を設定し、その通電期間だけ、該当する気筒の噴射指令信号をハイにしていると言える。
【００３５】
駆動用ＩＣ３７は、トランジスタＴ１０を制御する気筒選択制御回路５５と、トランジスタＴ１２を制御する放電制御回路５６と、トランジスタＴ１１を制御する定電流制御回路５７と、マイコン３９からシリアル通信線５８を介して送られてくる閾値のデータを、パラレルデータに変換して定電流制御回路５７に与えるシリアル／パラレル変換器５９と、を備える。
【００３６】
気筒選択制御回路５５は、マイコン３９から出力される第ｎ気筒＃ｎの噴射指令信号Ｓ＃ｎがハイになると、その噴射指令信号Ｓ＃ｎがハイになっている間、第ｎ気筒＃ｎの電磁弁４１に対応するトランジスタＴ１０をオンさせる。
【００３７】
放電制御回路５６は、噴射指令信号Ｓ＃ｎがハイになると、トランジスタＴ１２を、例えば一定時間ｔｐだけオンさせることにより、コンデンサＣ０から第ｎ気筒＃ｎの電磁弁４１のコイル４１ａに放電させる。この場合、「コンデンサＣ０→トランジスタＴ１２→コイル４１ａ→トランジスタＴ１０→抵抗Ｒ１０→グランドライン」の経路で電流が流れる。このようにコンデンサＣ０からコイル４１ａに流れる電流が、前述のピーク電流である。
【００３８】
尚、他の例として、放電制御回路５６は、抵抗Ｒ１０に生じる電圧からコイル電流（コイル４１ａに流れる電流）を検出し、トランジスタＴ１２を、噴射指令信号Ｓ＃ｎがハイになってからコイル電流がピーク電流の目標最大値になるまでの間、オンするようになっていても良い。
【００３９】
定電流制御回路５７は、噴射指令信号Ｓ＃ｎがハイになっている間、バッテリ電圧ＶＢを電源として電磁弁４１のコイル４１ａに一定の電流を流すための定電流制御を行う。
その定電流制御は、トランジスタＴ１１のオン／オフを繰り返すスイッチング制御を行うことにより、コイル４１ａに一定の電流が流れるようにする制御である。そして、本実施形態では、「コイル電流が上側閾値ＩｔｈＨまで増加したことを検知するとトランジスタＴ１１をオンからオフさせ、コイル電流が下側閾値ＩｔｈＬまで低下したことを検知するとトランジスタＴ１１をオフからオンさせる」という制御である。
【００４０】
その定電流制御において、トランジスタＴ１１のオン時には、バッテリ電圧ＶＢ（電源ラインＬｐ）からコイル４１ａに電流が流れる。また、トランジスタＴ１１のオフ時には、コイル４１ａに、グランドライン側からダイオードＤ１２を介して電流が流れる（還流する）。
【００４１】
上側閾値（以下単に、閾値ともいう）ＩｔｈＨは、下側閾値（以下単に、閾値ともいう）ＩｔｈＬよりも大きい。そして、上側閾値ＩｔｈＨは、トランジスタＴ１１をオンからオフに切り換えるためのオフ切換用閾値であり、下側閾値ＩｔｈＬは、トランジスタＴ１１をオフからオンに切り換えるためのオン切換用閾値である。また、本実施形態において、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬは、可変になっている。
【００４２】
このため、定電流制御回路５７は、増幅回路６１と、Ｄ／Ａ変換器（ＤＡＣ）６２と、比較器６３と、論理積回路６４と、駆動回路６５とを備えている。
増幅回路６１は、抵抗Ｒ１０の両端の電位差に比例した電圧を出力する。このため、増幅回路６１からは、コイル電流に比例した電圧が出力される。
【００４３】
比較器６３は、増幅回路６１の出力電圧ＶｉとＤ／Ａ変換器６２の出力電圧Ｖｏとを比較する。そして、比較器６３の出力信号は、「Ｖｏ＞Ｖｉ」ならばハイになり、「Ｖｏ＜Ｖｉ」ならばローになる。また、比較器６３の出力信号は、「Ｖｏ＝Ｖｉ」の場合には、例えば、「Ｖｏ＝Ｖｉ」になる前のレベルとは反対のレベルになるが、「Ｖｏ＝Ｖｉ」になる前のレベルを維持しても良い。
【００４４】
論理積回路６４は、マイコン３９からの噴射指令信号Ｓ＃ｎと、比較器６３の出力信号との、論理積信号を出力する。
駆動回路６５は、論理積回路６４の出力信号Ｓａｎがハイの場合に、トランジスタＴ１１のゲートに供給する駆動信号Ｓｄをアクティブレベルにして、トランジスタＴ１１をオンさせ、論理積回路６４の出力信号Ｓａｎがローの場合には、駆動信号Ｓｄを非アクティブレベルにして、トランジスタＴ１１をオフさせる。尚、本実施形態では、トランジスタＴ１１がＰチャネル型のＭＯＳＦＥＴであることから、駆動信号Ｓｄのアクティブレベルは例えば０Ｖであり、駆動信号Ｓｄの非アクティブレベルは例えばバッテリ電圧ＶＢである。
【００４５】
Ｄ／Ａ変換器６２には、マイコン３９からシリアル通信線５８を介して駆動用ＩＣ３７に送られてくる閾値のデータが、シリアル／パラレル変換器５９を介して入力される。
そして、閾値のデータとしては、コイル電流の上側閾値ＩｔｈＨに相当する上側閾値電圧ＶｔｈＨを表す上側閾値データと、コイル電流の下側閾値ＩｔｈＬに相当する下側閾値電圧ＶｔｈＬを表す下側閾値データとがある。
【００４６】
また、増幅回路６１の出力電圧Ｖｉが、コイル電流の値をＧ倍（Ｇは正の数）した電圧であるとすると、上側閾値ＩｔｈＨと上側閾値電圧ＶｔｈＨとの関係は「ＶｔｈＨ＝ＩｔｈＨ×Ｇ」であり、下側閾値ＩｔｈＬと下側閾値電圧ＶｔｈＬとの関係も「ＶｔｈＬ＝ＩｔｈＬ×Ｇ」である。
【００４７】
Ｄ／Ａ変換器６２は、マイコン３９からの最新の上側閾値データ及び下側閾値データを記憶する。そして、Ｄ／Ａ変換器６２は、論理積回路６４の出力信号Ｓａｎがハイの場合には、上側閾値データが表す上側閾値電圧ＶｔｈＨを比較器６３に出力し、論理積回路６４の出力信号Ｓａｎがローの場合には、下側閾値データが表す下側閾値電圧ＶｔｈＬを比較器６３に出力する。
【００４８】
このような定電流制御回路５７では、噴射指令信号Ｓ＃ｎがハイになると、最初は、コイル電流が上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとの両方よりも小さいため、比較器６３の出力信号がハイになり、論理積回路６４の出力信号Ｓａｎもハイになる。すると、駆動回路６５からトランジスタＴ１１への駆動信号Ｓｄがアクティブレベルになって、該トランジスタＴ１１をオンさせることとなり、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏは、上側閾値電圧ＶｔｈＨになる。
【００４９】
そして、その後、コイル電流が上側閾値ＩｔｈＨまで増加したなら、比較器６３の出力信号がハイからローになり、論理積回路６４の出力信号Ｓａｎもローになる。すると、駆動信号Ｓｄが非アクティブレベルになって、トランジスタＴ１１をオフさせることとなり、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏは、下側閾値電圧ＶｔｈＬになる。
【００５０】
その後、コイル電流が下側閾値ＩｔｈＬまで減少したなら、比較器６３の出力信号がローからハイになり、論理積回路６４の出力信号Ｓａｎもハイになる。すると、駆動信号Ｓｄがアクティブレベルになって、トランジスタＴ１１をオンさせることとなり、また、Ｄ／Ａ変換器６２の出力電圧Ｖｏは、上側閾値電圧ＶｔｈＨになる。
【００５１】
よって、定電流制御回路５７は、トランジスタＴ１１をオンさせているときに、コイル電流が増加して上側閾値ＩｔｈＨに到達したことを比較器６３によって検知すると、トランジスタＴ１１をオフへと切り換え、また、トランジスタＴ１１をオフさせているときに、コイル電流が減少して下側閾値ＩｔｈＬに到達したことを比較器６３によって検知すると、トランジスタＴ１１をオンへと切り換えることとなる。定電流制御回路５７は、このような動作を繰り返すことにより、定電流制御を実施する。また、マイコン３９から駆動用ＩＣ３７へ送信される上側閾値データと下側閾値データは、定電流制御回路５７に対して上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを指示するデータに該当する。
【００５２】
そして、噴射指令信号Ｓ＃ｎがローになると、定電流制御回路５７では、論理積回路６４の出力信号Ｓａｎがローになって、駆動信号Ｓｄが非アクティブレベルになる。よって、トランジスタＴ１１はオフしたままになる。
【００５３】
一方、駆動用ＩＣ３７は、例えば、マイコン３９からの気筒毎の噴射指令信号が全てローである場合（即ち、燃料噴射を実施していない場合）に、充電制御回路３５への充電許可信号をハイにして、コンデンサ電圧ＶＣが目標電圧となるようにする。
【００５４】
また、ＥＣＵ３１は、バッテリ電圧ＶＢを、マイコン３９が入力可能な電圧に分圧する２つの抵抗７１，７２を備えている。そして、抵抗７１，７２同士の接続点に生じる電圧であって、バッテリ電圧ＶＢを分圧した電圧（以下、分圧電圧という）は、マイコン３９に入力される。マイコン３９は、抵抗７１，７２による分圧電圧をＡ／Ｄ変換器５４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値からバッテリ電圧ＶＢを検出する。
【００５５】
また更に、ＥＣＵ３１は、一端がグランドラインに接続されたサーミスタ７３と、サーミスタ７３の他端に一端が接続され、他端に一定の電源電圧（例えば５Ｖ）が印加されたプルアップ用の抵抗７４とを備えている。
【００５６】
サーミスタ７３は、温度に応じて抵抗値が変化する抵抗体であり、ＥＣＵ３１の内部において、トランジスタＴ１１の近く（例えばトランジスタＴ１１と隣り合う位置）に実装されている。このため、サーミスタ７３の抵抗値は、トランジスタＴ１１の周囲温度に相当するＥＣＵ３１の内部温度（以下、ＥＣＵ内部温度ともいう）に応じて変化する。
【００５７】
そして、サーミスタ７３と抵抗７４との接続点に生じる電圧（以下、温度モニタ電圧という）は、ＥＣＵ内部温度に応じて変化することとなり、その温度モニタ電圧は、マイコン３９に入力される。マイコン３９は、温度モニタ電圧をＡ／Ｄ変換器５４によりＡ／Ｄ変換し、そのＡ／Ｄ変換値からＥＣＵ内部温度を検出する。例えば、マイコン３９は、温度モニタ電圧のＡ／Ｄ変換値を、ＲＯＭ５２内に予め用意されたデータマップや計算式を用いて、ＥＣＵ内部温度に変換する。
【００５８】
次に、ＥＣＵ３１の作用を、図２のタイムチャートを用いて説明する。
図２に示すように、マイコン３９からの噴射指令信号Ｓ＃ｎがローからハイになると、駆動用ＩＣ３７では、気筒選択制御回路５５がトランジスタＴ１０をオンし、それと同時に、放電制御回路５６がトランジスタＴ１２をオンする。
【００５９】
すると、コンデンサＣ０からコイル４１ａに放電され、この放電により、コイル４１ａへの通電が開始される。また、コンデンサＣ０からコイル４１ａへの放電電流であるピーク電流により、電磁弁４１の開弁応答が早まる。尚、コンデンサＣ０の放電に際し、高電位となる端子ＣＭ側から電源ラインＬｐ側への回り込みは、ダイオードＤ１１によって防止される。
【００６０】
そして、噴射指令信号Ｓ＃ｎがハイになってから一定時間ｔｐが経過すると、放電制御回路５６がトランジスタＴ１２をオフさせる。尚、前述したように、コイル電流がピーク電流の目標最大値になるとトランジスタＴ１２をオフさせる、という制御でも良い。
【００６１】
トランジスタＴ１２がオフすると、コイル電流が低下していく。そして、コイル電流が下側閾値ＩｔｈＬにまで減少すると、以後は、前述した定電流制御回路５７の定電流制御により、コイル電流の平均値が上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとの間の一定電流となるように、トランジスタＴ１１がオン／オフされる。この定電流制御でコイル４１ａに流す目標の一定電流は、ピーク電流の最大値よりも小さい。
【００６２】
尚、図２に示すように、噴射指令信号Ｓ＃ｎがハイになってからコイル電流が上側閾値ＩｔｈＨに到達するまでの間、トランジスタＴ１１がオンされているのは、定電流制御回路５７の定電流制御によるものである。但し、バッテリ電圧ＶＢよりもコンデンサ電圧ＶＣの方が高いため、トランジスタＴ１２がオンしている期間は、トランジスタＴ１１がオンしても、コイル４１ａへはコンデンサＣ０から電流が流れる。このため、定電流制御は、実質的には、トランジスタＴ１２がオフされてから開始されていることとなる。よって、例えば、定電流制御回路５７は、噴射指令信号Ｓ＃ｎがハイになってから、トランジスタＴ１２がオフされたときに、定電流制御のための動作を開始するようになっていても良い。
【００６３】
その後、噴射指令信号Ｓ＃ｎがハイからローになると、気筒選択制御回路５５がトランジスタＴ１０をオフさせ、定電流制御回路５７も定電流制御を止めてトランジスタＴ１１をオフさせる。すると、コイル４１ａへの通電が停止して電磁弁４１が閉弁し、その電磁弁４１による燃料噴射が終了する。
【００６４】
また、噴射指令信号Ｓ＃ｎがローになって、トランジスタＴ１０及びトランジスタＴ１１がオフされると、コイル４１ａにフライバックエネルギが発生するが、そのフライバックエネルギは、ダイオードＤ１３を通じてコンデンサＣ０へ電流の形で回収される。
【００６５】
尚、コンデンサＣ０からコイル４１ａにピーク電流を流すことで、電磁弁４１を確実に開弁させることができるのであれば、定電流制御でコイル４１ａに流す目標の一定電流は、電磁弁４１の開弁保持に最低限必要な電磁力を発生させる電流であるホールド電流であれば良い。
【００６６】
また、定電流制御回路５７は、定電流制御でコイル４１ａに流す目標の一定電流を、大小の２段階に切り換えるようになっていても良い。具体的には、例えば、噴射指令信号Ｓ＃ｎがハイになってから一定時間が経過するまでの期間を、電磁弁４１を確実に開弁させるためのリフト期間とする。そして、定電流制御回路５７は、トランジスタＴ１２のオフ時からリフト期間が終了するまでの間の定電流制御では、コイル４１ａにホールド電流より大きいピックアップ電流が流れるようにする。そのピックアップ電流は、電磁弁４１の開弁を確実にするための電流である。また、定電流制御回路５７は、リフト期間の終了時から噴射指令信号Ｓ＃ｎがローになるまでの間の定電流制御では、コイル４１ａにホールド電流が流れるようにする。
【００６７】
本実施形態では、説明を簡略化するため、定電流制御による一定電流がホールド電流だけであるものとして説明するが、上記のように、一定電流をピックアップ電流とホールド電流とに切り換える構成であっても良い。
【００６８】
ここで、本実施形態において、マイコン３９は、例えば図２に示すように、噴射指令信号Ｓ＃ｎをハイにする前に、駆動用ＩＣ３７へ、シリアル通信線５８を介したシリアル通信により、前述の上側閾値データ及び下側閾値データを送信する。
【００６９】
そして、マイコン３９は、バッテリ電圧ＶＢとＥＣＵ内部温度とを検出し、それらの検出結果に応じて、駆動用ＩＣ３７へ送信する上側閾値データと下側閾値データを変更することにより、定電流制御回路５７に対して指令する上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを変更する。
【００７０】
尚、図２において、左半分の例では、マイコン３９から定電流制御回路５７に指令された上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとが、それぞれ「ＩＨ１」と「ＩＬ１」であり、右半分の例では、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬとが、それぞれ「ＩＨ２」と「ＩＬ２」である。
【００７１】
また、図２における左半分と右半分とでは、バッテリ電圧ＶＢ及びＥＣＵ内部温度が同じで、且つ、トランジスタＴ１１の駆動信号Ｓｄに対する応答遅れが０であると仮定して、コイル電流を例示している。このため、図２における左半分と右半分とでは、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬが変更されることで、コイル４１ａに流れる一定電流(詳しくは、コイル電流の平均値）が変わっているように図示されている。
【００７２】
一方、本実施形態における上側閾値ＩｔｈＨ及び下側閾値ＩｔｈＬの変更（即ち、バッテリ電圧ＶＢとＥＣＵ内部温度とに応じた上側閾値ＩｔｈＨ及び下側閾値ＩｔｈＬの変更）は、コイル４１ａに流す一定電流を変えるための変更ではなく、コイル電流が変わらないようにするための変更である。
【００７３】
そこで次に、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを変更する理由について、図３及び図４を用い説明する。
図３に示すように、トランジスタＴ１１には、駆動信号Ｓｄがアクティブレベルから非アクティブレベルに変化してからオフするまでのターンオフ時間Ｔｏｆｆと、駆動信号Ｓｄが非アクティブレベルからアクティブレベルに変化してからオンするまでのターンオン時間Ｔｏｎがある。
【００７４】
このため、定電流制御回路５７が、コイル電流の上側閾値ＩｔｈＨへの到達を検知して、駆動信号Ｓｄをアクティブレベルから非アクティブレベルに切り換えても、トランジスタＴ１１がオフするまで、コイル電流は増加し続ける。同様に、定電流制御回路５７が、コイル電流の下側閾値ＩｔｈＬへの到達を検知して、駆動信号Ｓｄを非アクティブレベルからアクティブレベルに切り換えても、トランジスタＴ１１がオンするまで、コイル電流は減少し続ける。
【００７５】
よって、定電流制御によりコイル４１ａに一定の電流を流す際には、コイル電流が上側閾値ＩｔｈＨに達してもなお同じ増加方向に変化して上側閾値ＩｔｈＨを超える量（以下、上側閾値超過量という）ＩｏｖＨが生じる。同様に、コイル電流が下側閾値ＩｔｈＬに達してもなお同じ減少方向に変化して下側閾値ＩｔｈＬを超える量（以下、下側閾値超過量という）ＩｏｖＬも生じる。
【００７６】
そして、トランジスタＴ１１のターンオフ時間Ｔｏｆｆと、ターンオン時間Ｔｏｎには、正の温度特性がある。このため、トランジスタＴ１１の周囲温度が高い場合ほど、ターンオフ時間Ｔｏｆｆとターンオン時間Ｔｏｎが長くなって、上側閾値超過量ＩｏｖＨと下側閾値超過量ＩｏｖＬとが大きくなる。
【００７７】
また、仮にターンオフ時間Ｔｏｆｆが一定であるとしても、バッテリ電圧ＶＢが高くなると、トランジスタＴ１１のオン期間におけるコイル電流の増加速度が大きくなるため、上側閾値超過量ＩｏｖＨは大きくなる。そして、仮にターンオン時間Ｔｏｎが一定であるとしても、バッテリ電圧ＶＢが高くなると、脈動するコイル電流の極大値が大きくなるため、トランジスタＴ１１のオフ期間におけるコイル電流の減少速度が大きくなり、下側閾値超過量ＩｏｖＬも大きくなる。
【００７８】
このように、上側閾値超過量ＩｏｖＨと下側閾値超過量ＩｏｖＬは、バッテリ電圧ＶＢによっても変わる。
ここで、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬが固定されていて、上側閾値超過量ＩｏｖＨと下側閾値超過量ＩｏｖＬとの少なくとも一方にばらつきが生じると、コイル電流の脈動幅（極大値と極小値との差）がばらつくこととなる。そして、コイル電流の脈動幅がばらつくと、図４に示すように、通電期間の終了時（即ち、噴射指令信号Ｓ＃ｎがハイからローになった時）におけるコイル電流が、Ｉ１、Ｉ２、Ｉ３といった具合にばらつくこととなる。
【００７９】
そして、通電期間の終了時におけるコイル電流がばらつくと、通電期間の終了時から電磁弁４１が閉弁するまでの閉弁遅れ時間がばらつくこととなり、電磁弁４１の制御精度が低下することとなる。具体的な不具合としては、燃料噴射量のばらつきを招く。
【００８０】
例えば、バッテリ電圧ＶＢが１４Ｖで、トランジスタＴ１１の周囲温度（以下単に、周囲温度ともいう）が２５℃である状態が、標準状態であるとする。また、バッテリ電圧ＶＢと周囲温度とが標準状態よりも高い場合を、第１状態とし、逆に、バッテリ電圧ＶＢと周囲温度とが標準状態よりも低い場合を、第２状態とする。そして、標準状態でのコイル電流が、図４における実線のようになり、第１状態でのコイル電流が、図４における一点鎖線のようになり、第２状態でのコイル電流が、図４における点線のようになったとする。更に、図４に示すように、標準状態と、第１状態と、第２状態との、各々において、コイル電流が極大値になったタイミングで駆動信号Ｓ＃ｎがハイからローになったとする。
【００８１】
この図４の例では、通電期間の終了時におけるコイル電流が、第１状態では、標準状態でのＩ２よりも大きいＩ３となり、第２状態では、Ｉ２よりも小さいＩ１となる。このため、第１状態では、標準状態よりも電磁弁４１の閉弁タイミングが遅れ、第２状態では、標準状態よりも電磁弁４１の閉弁タイミングが早まることとなる。
【００８２】
尚、図４において、定電流制御により脈動するコイル電流の極小値は、便宜上、標準状態と第１状態と第２状態とで、同じとなるように図示しているが、実際の極小値は、「第２状態での値＞標準状態での値＞第１状態での値」となる。
【００８３】
そこで、本実施形態のＥＣＵ３１では、マイコン３９が、図５の閾値設定処理を、例えば一定時間毎に行うことにより、トランジスタＴ１１の周囲温度に相当するＥＣＵ内部温度と、バッテリ電圧ＶＢとに応じて、定電流制御で用いる上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを変更するようになっている。
【００８４】
図５に示すように、マイコン３９は、閾値設定処理を開始すると、まずＳ１１０にて、抵抗７１，７２による分圧電圧からバッテリ電圧ＶＢを検出し、次のＳ１２０にて、サーミスタ７３による温度モニタ電圧からＥＣＵ内部温度を検出する。
【００８５】
そして、マイコン３９は、次のＳ１３０にて、検出したバッテリ電圧ＶＢとＥＣＵ内部温度とに応じて、定電流制御回路５７に指令する上側閾値ＩｔｈＨと下側閾値ＩｔｈＬを決定する。
【００８６】
具体的について説明すると、まず、例えばＲＯＭ５２には、バッテリ電圧ＶＢとＥＣＵ内部温度と上側閾値ＩｔｈＨ及び下側閾値ＩｔｈＬとの関係を表す、閾値設定用マップが記憶されている。
【００８７】
閾値設定用マップは、バッテリ電圧ＶＢと閾値ＩｔｈＨ，ＩｔｈＬとの関係については、例えば図６に示すように、バッテリ電圧ＶＢが高い（大きい）ほど、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬが小さくなり、且つ、両閾値ＩｔｈＨ，ＩｔｈＬの差（ＩｔｈＨ−ＩｔｈＬ）も小さくなる、という関係に設定されている。また、閾値設定用マップは、ＥＣＵ内部温度と閾値ＩｔｈＨ，ＩｔｈＬとの関係についても、例えば図７に示すように、ＥＣＵ内部温度が高い（大きい）ほど、上側閾値ＩｔｈＨと下側閾値ＩｔｈＬが小さくなり、且つ、両閾値ＩｔｈＨ，ＩｔｈＬの差も小さくなる、という関係に設定されている。
【００８８】
マイコン３９は、Ｓ１３０では、上記閾値設定用マップから、Ｓ１１０，Ｓ１２０で検出したバッテリ電圧ＶＢとＥＣＵ内部温度とに対応する閾値ＩｔｈＨ，ＩｔｈＬを算出し、その算出した、閾値ＩｔｈＨ，ＩｔｈＬを、定電流制御回路５７に指令する閾値ＩｔｈＨ，ＩｔｈＬとして決定する。そして、その後、当該閾値設定処理を終了する。
【００８９】
尚、マイコン３９は、Ｓ１３０で決定した上側閾値ＩｔｈＨに相当する上側閾値電圧ＶｔｈＨを表す上側閾値データと、Ｓ１３０で決定した下側閾値ＩｔｈＬに相当する下側閾値電圧ＶｔｈＬを表す下側閾値データとを、駆動用ＩＣ３７に送信する。また、本実施形態では、閾値ＩｔｈＨ，ＩｔｈＬを図６，図７のように変更することで、脈動するコイル電流の極大値と極小値との各々が、バッテリ電圧ＶＢ及びトランジスタＴ１１の周囲温度に拘わらず、一定となるようにしている。
【００９０】
また、Ｓ１３０の他の例として、マイコン３９は、例えば、上側閾値ＩｔｈＨの標準値ＩｔｈＨｓと、下側閾値ＩｔｈＬの標準値ＩｔｈＬｓとの各々に、バッテリ電圧ＶＢに応じた補正係数と、ＥＣＵ内部温度に応じた補正係数とを乗ずることにより、定電流制御回路５７に指令する閾値ＩｔｈＨ，ＩｔｈＬを算出しても良い。
【００９１】
その場合、バッテリ電圧ＶＢに応じた補正係数のうち、標準値ＩｔｈＨｓに乗ずる方の補正係数ＫｖＨを決めるためのマップは、例えば図６における一点鎖線のように設定すれば良く、標準値ＩｔｈＬｓに乗ずる方の補正係数ＫｖＬを決めるためのマップは、例えば図６における二点鎖線のように設定すれば良い。同様に、ＥＣＵ内部温度に応じた補正係数のうち、標準値ＩｔｈＨｓに乗ずる方の補正係数ＫｔＨを決めるためのマップは、例えば図７における一点鎖線のように設定すれば良く、標準値ＩｔｈＬｓに乗ずる方の補正係数ＫｔＬを決めるためのマップは、例えば図７における二点鎖線のように設定すれば良い。また、この例において、例えば、前述した標準状態での閾値ＩｔｈＨ，ＩｔｈＬを、標準値ＩｔｈＨｓ，ＩｔｈＬｓとするならば、上記補正係数ＫｖＨ，ＫｖＬ，ＫｔＨ，ＫｔＬを決めるための各マップは、標準状態において、補正係数ＫｖＨ，ＫｖＬ，ＫｔＨ，ＫｔＬの各々が「１」となるように設定すれば良い。
【００９２】
一方、第ｎ気筒＃ｎ以外の電磁弁４１についても、上述したのと同様の構成及び処理によって駆動される。
以上のように、ＥＣＵ３１では、上側閾値超過量ＩｏｖＨ及び下側閾値超過量ＩｏｖＬに相関がある物理量（上記例では、バッテリ電圧ＶＢとＥＣＵ内部温度）に応じて、定電流制御で用いる閾値ＩｔｈＨ，ＩｔｈＬを変更している。
【００９３】
このため、定電流制御において、脈動するコイル電流の極大値と極小値とが、上記物理量の変化によって所望の値を超えてしまうことを防止することができる。このことから、上記物理量の変化によって、コイル電流の脈動幅が所望の規格値より大きくなってしまうことを防止することができ、延いては、通電期間の終了時におけるコイル電流のばらつきが所望の規格値より大きくなってしまうことを防止することができる。よって、通電期間の終了時から電磁弁４１が閉弁するまでの閉弁遅れ時間のばらつきを抑制することができ、電磁弁４１の制御精度、延いては、燃料噴射の制御精度が向上する。
【００９４】
また、上記物理量に応じて、閾値ＩｔｈＨ，ＩｔｈＬのうちの一方を変更する構成でも良いが、閾値ＩｔｈＨ，ＩｔｈＬの両方を変更する方が、コイル電流の脈動幅が所望の規格値より大きくなってしまうことと、コイル電流の平均値が所望の規格範囲から外れてしまうこととの、両方を防止し易い。コイル電流の極大値と極小値との両方を所望の値に制御することができるからである。
【００９５】
また、上側閾値超過量ＩｏｖＨと下側閾値超過量ＩｏｖＬとでは、上側閾値超過量ＩｏｖＨの方が上記物理量に応じて変化し易いため、閾値ＩｔｈＨ，ＩｔｈＬのうちの一方だけを上記物理量に応じて可変にするのであれば、上側閾値ＩｔｈＨの方を可変にするのが好ましい。
【００９６】
閾値ＩｔｈＨ，ＩｔｈＬのうち、上側閾値ＩｔｈＨだけを可変にする場合でも、上側閾値ＩｔｈＨは、図６，図７に示したような変化特性で変更すれば良い。そのようにすれば、コイル電流の極大値を一定にすることができる。また、バッテリ電圧ＶＢやトランジスタＴ１１の周囲温度が高くなるにつれてコイル電流の極大値が大きくなっていくことを防止できるため、コイル電流の平均値が所望の上限値よりも大きくなってしまうことを防止することができる。
【００９７】
一方、閾値ＩｔｈＨ，ＩｔｈＬのうち、下側閾値ＩｔｈＬだけを可変にしても良い。その場合、下側閾値ＩｔｈＬは、例えば、図６，図７に示した変化特性とは逆に、バッテリ電圧ＶＢが高いほど、またＥＣＵ内部温度が高いほど、大きくなるように設定すれば良い。そのようにすれば、コイル電流の極小値を一定にすることができる。前述したように、バッテリ電圧ＶＢが高いほど、またＥＣＵ内部温度が高いほど、下側閾値超過量ＩｏｖＬ（即ち、コイル電流の極小値が下側閾値ＩｔｈＬを下回る量）が大きくなるからである。
【００９８】
尚、閾値ＩｔｈＨ，ＩｔｈＬの両方を可変にする場合には、「ＩｔｈＨ＞ＩｔｈＬ」という前提があるため、図６，図７に示したように、下側閾値ＩｔｈＬも、バッテリ電圧ＶＢ及びＥＣＵ内部温度に対して、上側閾値ＩｔｈＨと同じ減少傾向で変化させている。但し、下側閾値ＩｔｈＬの減少傾きは、上側閾値ＩｔｈＨの減少傾きよりも緩くなるようにして、コイル電流の極小値が小さくなり過ぎることを防止している。つまり、バッテリ電圧ＶＢ及びＥＣＵ内部温度が高くなるほど、両閾値ＩｔｈＨ、ＩｔｈＬが小さくなると共に、両閾値ＩｔｈＨ，ＩｔｈＬの差も小さくなるようにすることで、コイル電流の脈動幅が規格値より大きくなってしまうことと、コイル電流の平均値が規格範囲外になってしまうこととを、防止することができる。
【００９９】
［変形例１］
上記実施形態では、閾値ＩｔｈＨ，ＩｔｈＬを、図６，図７の如く、上記物理量に応じてリニアに変化させている。
【０１００】
このため、物理量としてバッテリ電圧ＶＢの方を例に挙げるならば、閾値ＩｔｈＨ，ＩｔｈＬの各々と、両閾値ＩｔｈＨ、ＩｔｈＬの差は、バッテリ電圧ＶＢが第１の値（例えば１４Ｖ）である場合よりも、バッテリ電圧ＶＢが第１の値より高い第２の値（例えば３２Ｖ）である場合の方が、小さくなる。
【０１０１】
このことを実現する手法としては、例えば、下記＜１＞，＜２＞の手法も考えられる。
＜１＞バッテリ電圧ＶＢが第１の値と第２の値との間の特定値よりも低い領域では、閾値ＩｔｈＨ，ＩｔｈＬの各々を一定とし、バッテリ電圧ＶＢが上記特定値以上である領域では、閾値ＩｔｈＨ，ＩｔｈＬの各々と、両閾値ＩｔｈＨ、ＩｔｈＬの差を、図６の如くバッテリ電圧ＶＢが高くなるにつれて小さくする。
【０１０２】
＜２＞閾値ＩｔｈＨ，ＩｔｈＬの各々と、両閾値ＩｔｈＨ、ＩｔｈＬの差を、バッテリ電圧ＶＢが上記特定値よりも低い領域と、バッテリ電圧ＶＢが上記特定値以上である領域とで、異なる値に切り換える。つまり、二段階に切り換える。
【０１０３】
尚、上記＜１＞，＜２＞の手法は、ＥＣＵ内部温度についても同様である。
［変形例２］
定電流制御回路５７が行う定電流制御において、トランジスタＴ１１のオン／オフを切り換える条件のうち、例えば、トランジスタＴ１１をオフからオンへと切り換える条件は、トランジスタＴ１１をオフさせてから所定時間が経過したという条件であっても良い。その場合、下側閾値ＩｔｈＬは無く、上側閾値ＩｔｈＨを可変にすることとなる。逆に、トランジスタＴ１１をオンからオフへと切り換える条件は、トランジスタＴ１１をオンさせてから所定時間が経過したという条件であっても良い。その場合、上側閾値ＩｔｈＨは無く、下側閾値ＩｔｈＬを可変にすることとなる。
【０１０４】
［変形例３］
閾値ＩｔｈＨ，ＩｔｈＬを変更するパラメータとしての物理量は、バッテリ電圧ＶＢとトランジスタＴ１１の周囲温度（ＥＣＵ内部温度）との、何れか一方でも良いし、また、それら以外でも良い。
【０１０５】
［変形例４］
自動車において、該自動車のエンジンが収納されるエンジンルーム７５（図１参照）に、ＥＣＵ３１が設けられる場合には、マイコン３９は、エンジンルーム７５の温度を、ＥＣＵ内部温度として（延いては、トランジスタＴ１１の周囲温度として）検出しても良い。エンジンルーム７５の温度とＥＣＵ内部温度とには、相関があるからである。
【０１０６】
例えば、エンジンルーム７５の温度を検出する温度センサがあれば、マイコン３９は、その温度センサの出力から、エンジンルーム７５の温度を検出することができる。
また、マイコン３９は、特定の物であって、それの温度がエンジンルーム７５の温度と相関がある物の温度を、エンジンルーム７５の温度として（延いては、トランジスタＴ１１の周囲温度として）検出しても良い。
【０１０７】
その特定の物としては、例えば、エンジンに供給される燃料や、エンジンのエンジンオイルや、エンジンの冷却水などが考えられる。それらの温度は、自動車において、通常、センサ７６，７７，７８（図１参照）により他の目的で検出されるようになっているため、そのセンサ７６〜７８からの信号をマイコン３９に入力させることで、別途センサを追加することなく検出することができる。
【０１０８】
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
【０１０９】
例えば、駆動用ＩＣ３７が行うことの一部又は全部を、マイコン３９が行うようになっていても良い。駆動対象の電磁弁４１が設けられるエンジンは、ディーゼルエンジンでも良い。駆動対象の電磁弁４１は、インジェクタ（燃料噴射弁）に限らず、例えば、燃料ポンプの電磁弁であっても良い。
【０１１０】
また、特許請求の範囲に記載された内容の範囲において、前述した実施形態及び変形例の構成や処理のうちの、何れかの組み合わせを変える変形や、一部を削除する変形等を行うことも勿論可能である。例えば、コンデンサＣ０からコイル４１ａへの放電を実施しない構成でも良い。
【符号の説明】
【０１１１】
３１…ＥＣＵ、３９…マイコン、４１…電磁弁、４１ａ…コイル、ＣＭ…端子、Ｌｐ…電源ライン、Ｔ１１…トランジスタ、５７…定電流制御回路
【図１】
2014152656.tif 000003
【図２】
2014152656.tif 000004
【図３】
2014152656.tif 000005
【図４】
2014152656.tif 000006
【図５】
2014152656.tif 000007
【図６】
2014152656.tif 000008
【図７】
2014152656.tif 000009