(57)【特許請求の範囲】
【請求項１】
ソレノイドに流れる電流の電流値を取得するタイミングを規定する時間を計時する電流取得用タイマと、
前記電流取得用タイマの計数結果に基づいて、前記ソレノイドの通電を制御するスイッチング素子を駆動するＰＷＭ信号の１周期内において前記ＰＷＭ信号とは同期することなく予め設定された回数だけ前記電流値を取得する電流値取得部と、
前記ＰＷＭ信号を出力するタイミングを規定する時間を計時するＰＷＭ制御用タイマと、
前記１周期内に取得された電流値に基づき、次の１周期に前記ソレノイドに通電する電流値を演算すると共に、当該演算された電流値に基づき前記次の１周期に前記スイッチング素子に通電する通電時間を設定し、前記ＰＷＭ制御用タイマの計時結果に基づいて前記設定した通電時間に応じたＰＷＭ信号を出力するＰＷＭ制御部と、
前記ＰＷＭ制御用タイマの計時結果に基づき、前記電流取得用タイマの計時値を更新する計時値更新部と、
を備えるソレノイドの通電制御装置。
【請求項２】
前記計時値更新部は、前記ＰＷＭ制御用タイマの計時結果が前記ＰＷＭ信号を出力するタイミングを規定する値になった場合に、前記電流取得用タイマの計時値を予め設定された値に更新する請求項１に記載のソレノイドの通電制御装置。
【請求項３】
前記ＰＷＭ制御用タイマは、前記ＰＷＭ信号の１周期を規定する時間も計時し、
前記計時値更新部は、前記ＰＷＭ制御用タイマの計時結果が前記ＰＷＭ信号の１周期を前記電流値が取得される回数で等分した値になった毎に、前記電流取得用タイマの計時値を予め設定された値を用いて演算した値に更新する請求項１に記載のソレノイドの通電制御装置。
【請求項４】
前記スイッチング素子の通電時間を設定する電流制御期間が、前記計時値更新部により短縮されないように構成されてある請求項１から３のいずれか一項に記載のソレノイドの通電制御装置。
【請求項５】
前記ＰＷＭ信号の１周期内における最終の電流値が取得されてから、前記ＰＷＭ信号の次の１周期内における最初の電流値が取得されるまでに、前記ＰＷＭ信号の次の１周期に前記ソレノイドに通電する電流値が演算されると共に、前記ＰＷＭ信号の次の１周期に前記スイッチング素子に通電する通電時間が設定され、前記ＰＷＭ信号の次の１周期が開始される請求項１から４のいずれか一項に記載のソレノイドの通電制御装置。
【請求項６】
前記ＰＷＭ信号の１周期内において前記電流値取得部が前記電流値を取得する回数をカウントする回数カウント部が備えられ、
前記ＰＷＭ制御部は、前記ＰＷＭ信号の１周期内に前記電流値の取得回数が予め設定された回数に満たない場合、前記ＰＷＭ信号の次の１周期に前記スイッチング素子に通電する通電時間を、今回と同じ通電時間に設定する請求項１から５のいずれか一項に記載のソレノイドの通電制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソレノイドの電流を制御する通電制御装置に関する。
【背景技術】
【０００２】
従来、電磁弁の開閉制御やアクチュエータの駆動にソレノイドが利用されている。このようなソレノイドの通電制御はＰＷＭ制御により行われる。このような技術として下記に出典を示す特許文献１に記載のものがある。
【０００３】
特許文献１に記載の電流制御装置は、検出手段と、Ａ／Ｄ変換手段と、制御手段と、平均電流演算手段とを備えて構成される。検出手段は一定周期で生成されたＰＷＭ信号にて通電制御されるソレノイドに実際に流れた電流を検出する。Ａ／Ｄ変換手段は予め設定されたＡ／Ｄ変換周期毎に、検出手段により検出結果をデジタル値に変換する。制御手段はＡ／Ｄ変換手段によりデジタル値に変換された検出電流値が目標電流値となるようにＰＷＭ信号のデューティ比を制御する。平均電流演算手段は検出電流値をＰＷＭ信号の所定周期分だけ取り込み、当該取り込んだ検出電流値を算術平均することにより、所定周期内の平均電流値を算出する。電流制御装置は算出された平均電流値と目標電流値とに基づきＰＷＭ信号のデューティ比を制御する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−３０８１０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、平均電流演算手段は専用の発振子にて生成されたクロック信号に基づき動作する。また、Ａ／Ｄ変換手段及び制御手段は、このクロック信号とは異なる別の発振子にて生成されたクロック信号に基づき動作する。すなわち、Ａ／Ｄ変換手段及び制御手段は同一の発振子からのクロック信号により同期して動作し、平均電流演算手段はＡ／Ｄ変換手段及び制御手段とは異なる発振子からのクロック信号により、Ａ／Ｄ変換手段及び制御手段とは非同期に動作する。このため、Ａ／Ｄ変換手段及び制御手段のクロック信号が、平均電流演算手段のクロック信号の整数倍にならない場合には、ソレノイドに流れた電流を検出するタイミングや当該検出された電流に係る電流値をＡ／Ｄ変換をするタイミングと、ＰＷＭ信号を出力するタイミングとがずれる可能性がある。したがって、適切にソレノイドの通電を行うことができなくなる。
【０００６】
本発明の目的は、上記問題に鑑み、ソレノイドに流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制し、適切にソレノイドの通電を行うことが可能なソレノイドの通電制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するための本発明に係るソレノイドの通電制御装置の特徴構成は、
ソレノイドに流れる電流の電流値を取得するタイミングを規定する時間を計時する電流取得用タイマと、
前記電流取得用タイマの計数結果に基づいて、前記ソレノイドの通電を制御するスイッチング素子を駆動するＰＷＭ信号の１周期内において前記ＰＷＭ信号とは同期することなく予め設定された回数だけ前記電流値を取得する電流値取得部と、
前記ＰＷＭ信号を出力するタイミングを規定する時間を計時するＰＷＭ制御用タイマと、
前記１周期内に取得された電流値に基づき、次の１周期に前記ソレノイドに通電する電流値を演算すると共に、当該演算された電流値に基づき前記次の１周期に前記スイッチング素子に通電する通電時間を設定し、前記ＰＷＭ制御用タイマの計時結果に基づいて前記設定した通電時間に応じたＰＷＭ信号を出力するＰＷＭ制御部と、
前記ＰＷＭ制御用タイマの計時結果に基づき、前記電流取得用タイマの計時値を更新する計時値更新部と、
を備えている点にある。
【０００８】
このような特徴構成とすれば、ＰＷＭ制御用タイマを基準に電流取得用タイマを調整することができる。したがって、ソレノイドに流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制することができるので、適切にソレノイドの通電を行うことが可能となる。
【０００９】
また、前記計時値更新部は、前記ＰＷＭ制御用タイマの計時結果が前記ＰＷＭ信号を出力するタイミングを規定する値になった場合に、前記電流取得用タイマの計時値を予め設定された値に更新すると好適である。
【００１０】
このような構成とすれば、ＰＷＭ信号の周期毎に、当該ＰＷＭ制御用タイマに同期して電流用取得タイマの計時値を調整することができる。したがって、ソレノイドに流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制することができる。
【００１１】
或いは、前記ＰＷＭ制御用タイマは、前記ＰＷＭ信号の１周期を規定する時間も計時し、前記計時値更新部は、前記ＰＷＭ制御用タイマの計時結果が前記ＰＷＭ信号の１周期を前記電流値が取得される回数で等分した値になった毎に、前記電流取得用タイマの計時値を予め設定された値を用いて演算した値に更新する構成としても良い。
【００１２】
このような構成とすれば、ソレノイド電流の検出を行う毎に、当該ＰＷＭ制御用タイマに同期して電流用取得タイマの計時値を調整することができる。したがって、ソレノイドに流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制することができる。
【００１３】
また、前記スイッチング素子の通電時間を設定する電流制御期間が、前記計時値更新部により短縮されないように構成されてあると好適である。
【００１４】
このような構成とすれば、確実に電流制御期間を設けることができるので、ソレノイドの通電制御を適切に行うことが可能となる。
【００１５】
また、前記ＰＷＭ信号の１周期内における最終の電流値が取得されてから、前記ＰＷＭ信号の次の１周期内における最初の電流値が取得されるまでに、前記ＰＷＭ信号の次の１周期に前記ソレノイドに通電する電流値が演算されると共に、前記ＰＷＭ信号の次の１周期に前記スイッチング素子に通電する通電時間が設定され、前記ＰＷＭ信号の次の１周期が開始される構成とすると好適である。
【００１６】
このような構成とすれば、ソレノイドに流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制しつつ、スイッチング素子に通電する通電時間を設定することが可能となる。したがって、ソレノイドの通電制御を適切に行うことができる。
【００１７】
また、前記ＰＷＭ信号の１周期内において前記電流値取得部が前記電流値を取得する回数をカウントする回数カウント部が備えられ、前記ＰＷＭ制御部は、前記ＰＷＭ信号の１周期内に前記電流値の取得回数が予め設定された回数に満たない場合、前記ＰＷＭ信号の次の１周期に前記スイッチング素子に通電する通電時間を、今回と同じ通電時間に設定すると好適である。
【００１８】
このような構成とすれば、予め設定された回数だけ電流値が取得できず、次のＰＷＭ信号の周期でソレノイドに通電する電流が演算できない場合であっても、次の１周期に暫定的にスイッチング素子に通電することができる。
【図面の簡単な説明】
【００１９】
【図１】ソレノイドの通電制御装置の概略構成を模式的に示した図である。
【図２】ソレノイドの通電制御に係るタイムチャートである。
【図３】第１の実施形態に係る計時値の補正について模式的に示した図である。
【図４】第１の実施形態に係る計時値の補正について模式的に示した図である。
【図５】第１の実施形態に係る計時値の補正について模式的に示した図である。
【図６】第１の実施形態に係る計時値の補正に関するフローチャートである。
【図７】第２の実施形態に係る計時値の補正について模式的に示した図である。
【図８】第２の実施形態に係る計時値の補正に関するフローチャートである。
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態について、詳細に説明する。本発明に係るソレノイドの通電制御装置（以下「通電制御装置」とする）１００は、ソレノイドに流れる電流の電流値を取得するタイミングと、ソレノイドの通電を制御するＰＷＭ信号を出力するタイミングとを同期させる機能を備えている。このようなソレノイドは、例えば電磁弁の開閉制御やアクチュエータの駆動に利用される。本通電制御装置１００は、このようなソレノイドを制御対象とする。
【００２１】
〔第１の実施形態〕
本通電制御装置１００の第１の実施形態について説明する。図１にはソレノイド５０の通電を制御する通電制御装置１００の構成が模式的に示される。図２には通電制御装置１００による処理のタイムチャートの一例が示される。図１に示されるように、通電制御装置１００は、電流取得用タイマ１０、電流値取得部１１、ＰＷＭ制御用タイマ２０、ＰＷＭ制御部２１、回数カウント部３１、計時値更新部４１の各機能部を備えて構成される。各機能部はＣＰＵを中核部材としてソレノイド５０に通電する種々の処理を行うための上述の機能部がハードウェア又はソフトウェア或いはその両方で構築されている。
【００２２】
電流取得用タイマ１０は、ソレノイド５０に流れる電流の電流値を取得するタイミングを規定する時間を計時する。詳細は後述するが、後述する電流値取得部１１は、図２（ｃ）に示されるように、所定の周期ＴＩ毎にソレノイド５０に流れる電流を検出する。電流取得用タイマ１０は、この所定の周期ＴＩに対応する周波数で時間を計時するタイマに相当する。本実施形態では、電流取得用タイマ１０は、図２（ｂ）に示されるように、所定の周期ＴＩで、計時値を所定の値（例えば「ＸＩ」）から０まで減じながら計時する。計時値が０になると、リセットされ、改めて前記所定の値から０まで減じながら計時する。電流取得用タイマ１０は、このような計時を繰り返し行う。
【００２３】
電流値取得部１１は、電流取得用タイマ１０の計数結果に基づいて、ソレノイド５０の通電を制御するスイッチング素子５１を駆動するＰＷＭ信号の１周期内において予め設定された回数だけ電流値を取得する。ソレノイド５０は、一端にスイッチング素子５１が接続され、他端は電源Ｖに接続される。スイッチング素子５１は、例えばＦＥＴを用いて構成することが可能である。この場合、ソース端子は接地され、ドレーン端子にソレノイド５０が接続される。ゲート端子には、後述するＰＷＭ制御部２１から所定の周波数からなるＰＷＭ信号が伝達される。これにより、スイッチング素子５１が駆動される。
【００２４】
電流値取得部１１に接続された電流検出部１１Ａは、ソース端子とアースとの間に設けられる。これにより、スイッチング素子５１がオン状態となった際にソレノイド５０に流れる電流を検出することが可能となる。このようなソレノイド５０に流れる電流が図２（ａ）に示される。
【００２５】
電流検出部１１Ａは、ＰＷＭ信号の１周期（図２（ｇ）の「ＴＰ」）内において、予め設定された回数だけ電流値を検出する。このような電流値の検出の周期が、上述の電流取得用タイマ１０の周期ＴＩに相当する。本実施形態ではＰＷＭの１周期内において電流値を検出する回数は４回とする。このように検出された４回分の電流値は、検出の都度、電流値取得部１１に伝達される。電流値取得部１１では検出された電流値をＡ／Ｄ変換し、デジタル変換された電流値を取得する。
【００２６】
なお、ＰＷＭ信号の１周期内において電流値取得部１１が電流値を取得する回数は、回数カウント部３１によりカウントされる。このような取得回数は、図２（ｄ）に示される。回数カウント部３１により４回までカウントされると、カウント値はリセットされ、改めて１回からカウントする。
【００２７】
ＰＷＭ制御用タイマ２０は、ＰＷＭ信号を出力するタイミングを規定する時間を計時する。上述のようにＰＷＭ信号は所定の周波数を有する。本実施形態では、詳細は後述するがＰＷＭ制御部２１は、図２（ｇ）に示されるように、所定の周期ＴＰに対応する周波数からなるＰＷＭ信号を出力する。ＰＷＭ制御用タイマ２０は、ＰＷＭ信号のオンデューティからオフデューティに切り替えるまでの時間、及びオフデューティからオンデューティに切り替えるまでの時間を計時するタイマに相当する。本実施形態では、電流取得用タイマ１０は、図２（ｅ）に示されるように、ＰＷＭ信号のオンデューティからオフデューティに切り替えるまでの時間を所定の値（例えば「ＸＰ１」）から０まで減じながら計時した後、オフデューティからオンデューティに切り替えるまでの時間を所定の値（例えば「ＸＰ２」）から０まで減じながら計時する。ＰＷＭ制御用タイマ２０は、このような計時を繰り返し行う。
【００２８】
ＰＷＭ制御部２１は、ＰＷＭ信号の１周期内に取得された電流値に基づき、ＰＷＭ信号の次の１周期にソレノイド５０に通電する電流値を演算すると共に、当該演算された電流値に基づき次の１周期にスイッチング素子５１に通電する通電時間を設定し、ＰＷＭ制御用タイマ２０の計時結果に基づいて設定した通電時間に応じたＰＷＭ信号を出力する。上述のように、電流値取得部１１は、ＰＷＭ信号の１周期内において４回、デジタル変換された電流値を取得する。ＰＷＭ制御部２１は、この４回分の電流値を使ってＰＷＭ信号の次の１周期においてソレノイド５０に通電する電流値を演算する。この演算は、ソレノイド５０により開弁される電磁弁の開度や、アクチュエータの駆動指令値に基づき行われる。このような演算は、公知であるので説明は省略する。
【００２９】
ＰＷＭ制御部２１は、このように演算して求めた電流値により通電時間を設定する。この通電時間は、ＰＷＭ信号のオンデューティに相当する。ＰＷＭ制御部２１は、ＰＷＭ制御用タイマ２０の計時結果（オフデューティからオンデューティに切り替えるまでの時間の計時値）が０になった時点がＰＷＭ信号の出力タイミングに相当し（図２（ｆ）参照）、ＰＷＭ信号をローレベルからハイレベルに切り替える（図２（ｇ）参照）。
【００３０】
ここで、図２に示されるように、ＰＷＭ信号の周期（周期ＴＰ）と、ソレノイド電流を取得する周期（周期ＴＩ）とは異なり、位相もずれている。このような位相のずれは、ソレノイド５０の仕様上、ゼロにすることはできない。しかしながら、位相のずれはソレノイド５０に通電するにあたり、大きくなりすぎても小さくなりすぎても支障がでる場合がある。このため、本通電制御装置１００の計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果に基づき、電流取得用タイマ１０の計時値を更新する。
【００３１】
本実施形態では、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号を出力するタイミングを規定する値になった場合に、電流取得用タイマ１０の計時値を予め設定された値に更新する。ここで、上述のようにＰＷＭ制御用タイマ２０が計時する周期（周期ＴＰ）と、電流取得用タイマ１０が計時する周期（周期ＴＩ）とは、位相のずれがあり、このずれは予め設定されている。本実施形態ではこのような予め設定された位相のずれをＣ０とする。ＰＷＭ信号を出力するタイミングを規定する値になった場合とは、本実施形態では、オフデューティからオンデューティに切り替えるまでの時間の計時値がゼロになった時点である。よって、ＰＷＭ制御部２１は、ＰＷＭ制御用タイマ２０の計時結果において、オフデューティからオンデューティに切り替えるまでの時間の計時値がゼロになった時にＰＷＭ信号を切り替える。したがって、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がゼロになった場合に、電流取得用タイマ１０の計時値をＣ０に更新する。
【００３２】
電流取得用タイマ１０の更新について、具体的に図３を用いて説明する。図３は図２のｔ９の近傍におけるＰＷＭ制御用タイマ２０の計時値（図３（ａ）参照）と、電流取得用タイマ１０の計時値（図３（ｂ）参照）とを示したものである。ここで、本例ではｔ９における電流取得用タイマ１０の計時値がＣ１であるとする。ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになると（＃０１）、計時値更新部４１は電流取得用タイマ１０の計時値を予め設定されてある位相のずれをＣ０に更新する（＃０２）。電流取得用タイマ１０は、その後、更新されたＣ０からゼロまで計時する。これにより、電流取得用タイマ１０の計時値を、ＰＷＭ制御用タイマ２０の計時値に対して調節することができるので、予め設定されてある位相のずれを維持することが可能となる。
【００３３】
また、例えば、図４のように、ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになった時の電流取得用タイマ１０の計時値がＣ０よりも小さい場合であっても、ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになった時に（＃０１）、計時値更新部４１が電流取得用タイマ１０の計時値を予め設定されてある位相のずれをＣ０に更新する（＃０２）。これにより、電流取得用タイマ１０が、更新されたＣ０からゼロまで計時するので、予め設定されてある位相のずれを維持することができる。
【００３４】
このように、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになった時の電流取得用タイマ１０の計時値が予め設定されたる位相のずれＣ０と比較することなく更新するので、処理負荷も軽減できる。
【００３５】
なお、図５のように、ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになった時の電流取得用タイマ１０の計時値Ｃ１が、たまたまＣ０であった場合でも、ＰＷＭ制御用タイマ２０の計時値（ａ）がゼロになった時に（＃０１）、計時値更新部４１が電流取得用タイマ１０の計時値を予め設定されてある位相のずれをＣ０に更新する（＃０２）構成とすることも可能である。係る場合、位相のずれがＣ０であるか否かを判定する必要がないので、処理負荷を軽減できる。
【００３６】
ここで、図２に戻り、ＰＷＭ制御部２１がＰＷＭ信号の次の１周期の電流値を制御するように、スイッチング素子５１の通電時間を設定する電流制御期間Ｉ０が設けられている。この電流制御期間Ｉ０は、ソレノイド５０の通電を適切に行うために必要であるので、計時値更新部４１により短縮されないように構成されている。したがって、計時値更新部４１により電流取得用タイマ１０の計時値が更新され、元の値から小さくしても、少なくとも電流制御期間Ｉ０を確保することが可能となる。
【００３７】
ここで、電流取得用タイマ１０の計時値によっては、ＰＷＭ信号の１周期内において電流値取得部１１が電流値を取得する回数が予め設定された回数に満たない場合がある。係る場合には、ＰＷＭ制御部２１は、次の１周期にソレノイド５０に通電する電流の電流値を演算することができないので、ＰＷＭ信号の次の１周期にスイッチング素子５１に通電する通電時間を、今回と同じ通電時間に設定する。これにより、次の１周期もとりあえずはソレノイド５０に通電することが可能となる。よって、弁が閉じられたままとなったり、アクチュエータが駆動しないといった問題がなくなる。
【００３８】
また、本実施形態では、ＰＷＭ信号の１周期内における最終の電流値が取得されてから、ＰＷＭ信号の次の１周期内における最初の電流値が取得されるまでに、ＰＷＭ信号の次の１周期にソレノイド５０に通電する電流値が演算されると共に、ＰＷＭ信号の次の１周期にスイッチング素子５１に通電する通電時間が設定され、ＰＷＭ信号の次の１周期が開始される。すなわち、図２に示されるようにＰＷＭ信号の１周期内における最終の電流値が取得されるｔ６と、ＰＷＭ信号の次の１周期内における最初の電流値が取得されるｔ１０との間に、次の周期に通電する電流値が演算される電流制御期間Ｉ０（ｔ７からｔ８までの間）が設けられると共に、スイッチング素子５１に通電する通電時間が設定され、ＰＷＭ制御部２１により通電が開始される（ｔ９）。
【００３９】
次に、本通電制御装置１００による処理を図６のフローチャートを用いて説明する。まず、ＰＷＭ制御部２１からＰＷＭ信号が出力される（ステップ＃０１）。この出力は、例えば上位システムからの通電開始命令に基づき行われる。このＰＷＭ信号の出力に合わせて、ＰＷＭ制御用タイマ２０が計時を開始する（ステップ＃０２）。
【００４０】
電流検出部１１Ａは、ＰＷＭ制御部２１によるＰＷＭ信号の出力後、所定時間が経過するソレノイド５０に流れる電流を検出し、電流値取得部１１が検出された電流値に基づきデジタル変換された電流値を取得する（ステップ＃０３）。回数カウント部３１は、電流値取得部１１による電流値の取得回数ｎを１に設定する（ステップ＃０４）。電流取得用タイマ１０は、計時を開始する（ステップ＃０５）。
【００４１】
この時、ＰＷＭ制御用タイマ２０の計時値がゼロであれば（ステップ＃０６：Ｎｏ）、ＰＷＭ制御部２１は次のＰＷＭ信号の周期においてソレノイド５０に通電する電流値を、今回の周期においてソレノイド５０に通電した電流値に設定する（ステップ＃０７）。その後、ステップ＃０１から処理を継続する。
【００４２】
ステップ＃０６において、ＰＷＭ制御用タイマ２０の計時値がゼロでなく（ステップ＃０６：Ｙｅｓ）、電流取得用タイマ１０の計時値がゼロになっていなければ（ステップ＃０８：Ｎｏ）、処理が保留される。一方、電流取得用タイマ１０の計時値がゼロになっていれば（ステップ＃０８：Ｙｅｓ）、電流値取得部１１により電流値が取得される（ステップ＃０９）。これにより、回数カウント部３１は、電流値取得部１１による電流値の取得回数ｎに１を加える（ステップ＃１０）。
【００４３】
回数カウント部３１によりカウントされる電流値取得部１１による電流値の取得回数ｎが４でなければ（ステップ＃１１：Ｎｏ）、電流取得用タイマ１０の計時値をリセットする（ステップ＃１２）。一方、回数カウント部３１によりカウントされる電流値取得部１１による電流値の取得回数ｎが４であれば（ステップ＃１１：Ｙｅｓ）、電流取得用タイマ１０の計時値をリセットし、計時を開始する（ステップ＃１２）。そして、回数カウント部３１は、電流値の取得回数ｎを１に設定する（ステップ＃１３）。
【００４４】
これまでの処理により、ＰＷＭ信号の１周期において４回分の電流値が取得できたので、ＰＷＭ制御部２１は次の１周期においてソレノイド５０に通電する電流値を演算し（ステップ＃１４）、スイッチング素子５１に通電する通電時間を設定する（ステップ＃１５）。
【００４５】
この状態において、ＰＷＭ制御用タイマ２０の計時値がゼロになれば（ステップ＃１６：Ｙｅｓ）、ＰＷＭ制御部２１はＰＷＭ信号を出力する（ステップ＃１７）。これにより、ＰＷＭ制御用タイマ２０の計時値がリセットされる（ステップ＃１８）。その後、ＰＷＭ制御用タイマ２０が計時を開始する（ステップ＃１９）。
【００４６】
計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時値がゼロになった際の電流取得用タイマ１０の計時値を予め設定された値ｔ０に設定する（ステップ＃２０）。その後、ステップ＃０６から処理が継続される。
【００４７】
ステップ＃１６において、ＰＷＭ制御用タイマ２０の計時値がゼロでなく（ステップ＃１６：Ｎｏ）、電流取得用タイマ１０の計時値もゼロでなければ（ステップ＃２１：Ｎｏ）、処理が保留される。一方、電流取得用タイマ１０の計時値もゼロであれば（ステップ＃２１：Ｙｅｓ）、ステップ＃２０から処理が継続される。
【００４８】
このように本通電制御装置１００は、ＰＷＭ制御用タイマ２０を基準に電流取得用タイマ１０を調整することができる。したがって、ソレノイド５０に流れる電流を検出するタイミングと、ＰＷＭ信号を出力するタイミングとのずれを抑制することができるので、適切にソレノイド５０の通電を行うことが可能となる。
【００４９】
〔第２の実施形態〕
次に、本発明に係る通電制御装置１００の第２の実施形態について説明する。上記第１の実施形態では、計時値更新部４１が、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号を出力するタイミングを規定する値になった場合に、電流取得用タイマ１０の計時値を予め設定された値に更新するとして説明した。本実施形態に係る通電制御装置１００は、電流取得用タイマ１０の計時値を更新するタイミングが上記第１の実施形態と異なる。通電制御装置１００の構成は、上記第１の実施形態において示した図１に示した構成と同様であるので説明は省略し、以下では、差異を中心に説明する。
【００５０】
本実施形態に係る計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号の１周期を電流値が取得される回数で等分した値になった毎に、更新する。ＰＷＭ制御用タイマ２０は、上述のようにＰＷＭ信号を出力するタイミングを規定する時間を計時する。また、本実施形態では、ＰＷＭ制御用タイマ２０は、ＰＷＭ信号の１周期を規定する時間も計時する。ＰＷＭ信号の１周期をＴＰとし、その１周期の中で電流値取得部１１によりソレノイド５０の電流値が取得される回数を４回とすると、本実施形態に係る計時値更新部４１はＰＷＭ制御用タイマ２０の計時値がＴＰ／４×ｎ倍（ただし、ｎ＝１，２，３，４）になる毎に電流取得用タイマ１０の計時値を更新する。したがって、本実施形態ではＰＷＭ信号の１周期において、電流取得用タイマ１０の計時値が４回更新されることになる。なお、ＰＷＭ信号の１周期は予め設定されているので、容易に演算して求めることができる。
【００５１】
また、計時値更新部４１は、電流取得用タイマ１０の計時値を予め設定された値を用いて演算した値に更新する。本実施形態に係る電流取得用タイマ１０の更新について、図７を用いて説明する。図７の最上段には、１周期（周期ＴＰ）分のＰＷＭ信号が示される。通電制御装置１００は、ｔ１でソレノイド５０の通電制御を開始したとする。
【００５２】
この場合、電流取得用タイマ１０は、ＰＷＭ信号の周期ＴＰの１／４に対応する値（例えば「Ｘ１」とする）からゼロまで減じながら計時する。ｔ１から周期ＴＰの１／４が経過しｔ２１に達すると、計時値更新部４１はｔ２１の時点において、電流取得用タイマ１０が次の期間に計時する値（「Ｘ２」とする）を演算する。このＸ２は以下の（１）式で求められる。
【００５３】
【数１】
0005765572.tif 000002
ただし、Ｃ１はｔ２１の時点での電流取得用タイマ１０の計時値であり、Ｃ０は予め設定されている位相のずれである。また、ｋは予め設定されたゲインである。例えば１未満の値にすると、電流取得用タイマ１０の誤差をいち早く収束することが可能となる。
【００５４】
計時値更新部４１は、このようにｔ２１において、電流取得用タイマ１０が次の期間に計時する値を演算する。そして、ｔ３における電流取得用タイマ１０の計時値を当該演算して求めたＸ２に更新する。その後、電流取得用タイマ１０は、予め設定された値（Ｃ０及びｋ）を用いて演算した値（Ｘ２）からゼロまで減じながら計時する。ｔ２２になると、計時値更新部４１は、更に次の期間に電流取得用タイマ１０が計時する値（「Ｘ３」とする）を演算する。このＸ３は以下の（２）式で求められる。
【００５５】
【数２】
0005765572.tif 000003
ただし、Ｃ２はｔ２２の時点での電流取得用タイマ１０の計時値である。Ｃ０及びｋについては、上述の（１）式と同様の値が用いられる。
【００５６】
以下、同様に、ｔ６において計時する値（「Ｘ４」とする）、更には、ＰＷＭ信号の次の周期におけるｔ１０において計時する値（「Ｘ５」とする）を、以下に示される式を用いて演算する。
【数３】
0005765572.tif 000004
【数４】
0005765572.tif 000005
【００５７】
このように、本実施形態に係る計時値更新部４１は順次、次の期間において電流取得用タイマ１０が計時する値を演算する。これにより、ＰＷＭ制御用タイマ２０を基準にして、電流取得用タイマ１０の誤差を相対的に小さくすることが可能となる。したがって、ＰＷＭ制御と電流値の取得とを同期することが可能となる。
【００５８】
次に、本実施形態に係る本通電制御装置１００による処理を図８のフローチャートを用いて説明する。まず、ＰＷＭ制御部２１からＰＷＭ信号が出力される（ステップ＃０１）。この出力は、例えば上位システムからの通電開始命令に基づき行われる。このＰＷＭ信号の出力に合わせて、ＰＷＭ制御用タイマ２０が計時を開始する（ステップ＃０２）。
【００５９】
電流検出部１１Ａは、ＰＷＭ制御部２１によるＰＷＭ信号の出力後、所定時間が経過するソレノイド５０に流れる電流を検出し、電流値取得部１１が検出された電流値に基づきデジタル変換された電流値を取得する（ステップ＃０３）。回数カウント部３１は、電流値取得部１１による電流値の取得回数ｎを１に設定する（ステップ＃０４）。電流取得用タイマ１０は、計時を開始する（ステップ＃０５）。
【００６０】
この時、ＰＷＭ制御用タイマ２０の計時値がＰＷＭ信号の周期のｎ／４倍であれば（ステップ＃０６：Ｙｅｓ）、計時値更新部４１はその時点の電流取得用タイマ１０の計時値を用いて次の期間に電流取得用タイマ１０が計時する値を演算する（ステップ＃０７）。
一方、ステップ＃０６において、ＰＷＭ制御用タイマ２０の計時値がＰＷＭ信号の周期のｎ／４倍に達していなければ（ステップ＃０６：Ｎｏ）、処理が保留される。
【００６１】
そして、電流取得用タイマ１０の計時値がゼロになっていれば（ステップ＃０８：Ｙｅｓ）、電流値取得部１１により電流値が取得される（ステップ＃０９）。これにより、回数カウント部３１は、電流値取得部１１による電流値の取得回数ｎに１を加える（ステップ＃１０）。
【００６２】
計時値更新部４１により、電流取得用タイマ１０の計時値が上述により演算された値に更新される（ステップ＃１１）。この時、電流値取得部１１がスイッチング素子５１の通電時間を設定する電流制御期間は短縮されないようにする。回数カウント部３１によりカウントされる電流値取得部１１による電流値の取得回数ｎが４でなければ（ステップ＃１２：Ｎｏ）、ステップ＃０５から処理が継続される。一方、回数カウント部３１によりカウントされる電流値取得部１１による電流値の取得回数ｎが４であれば（ステップ＃１２：Ｙｅｓ）、電流取得用タイマ１０の計時値をリセットし、計時を開始する（ステップ＃１３）。そして、回数カウント部３１は、電流値の取得回数ｎを１に設定する（ステップ＃１４）。
【００６３】
これまでの処理により、ＰＷＭ信号の１周期において４回分の電流値が取得できたので、ＰＷＭ制御部２１は次の１周期においてソレノイド５０に通電する電流値を演算し（ステップ＃１５）、スイッチング素子５１に通電する通電時間を設定する（ステップ＃１６）。
【００６４】
この状態において、ＰＷＭ制御用タイマ２０の計時値がゼロになれば（ステップ＃１７：Ｙｅｓ）、ＰＷＭ制御部２１はＰＷＭ信号を出力する（ステップ＃１８）。これにより、ＰＷＭ制御用タイマ２０の計時値がリセットされる（ステップ＃１９）。その後、ＰＷＭ制御用タイマ２０が計時を開始し（ステップ＃２０）、ステップ＃０６から処理が継続される。
【００６５】
ステップ＃１７において、ＰＷＭ制御用タイマ２０の計時値がゼロでなく（ステップ＃１７：Ｎｏ）、電流取得用タイマ１０の計時値もゼロでなければ（ステップ＃２１：Ｎｏ）、処理が保留される。一方、電流取得用タイマ１０の計時値もゼロであれば（ステップ＃２１：Ｙｅｓ）、ステップ＃０３から処理が継続される。
【００６６】
このようにして通電制御装置１００は、スイッチング素子５１のＰＷＭ制御とソレノイド５０に通電される電流値の取得とを同期させることができるので、ソレノイド５０の通電を適切に行うことが可能となる。
【００６７】
〔その他の実施形態〕
上記第１の実施形態では、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号を出力するタイミングを規定する値になった場合に、電流取得用タイマ１０の計時値を予め設定された値に更新し、上記第２の実施形態では計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号の１周期を電流値が取得される回数で等分した値になった毎に、電流取得用タイマ１０の計時値を予め設定された値を用いて演算した値に更新するとして説明した。しかしながら、本発明の適用範囲はこれに限定されるものではない。例えば、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号の１周期を電流値が取得される回数で等分した値になった毎に、電流取得用タイマ１０の計時値を予め設定された値に更新する構成とすることも可能である。また、計時値更新部４１は、ＰＷＭ制御用タイマ２０の計時結果がＰＷＭ信号を出力するタイミングを規定する値になった場合に、電流取得用タイマ１０の計時値を予め設定された値を用いて演算した値に更新する構成とすることも当然に可能である。
【００６８】
上記実施形態では、スイッチング素子５１の通電時間を設定する電流制御期間が、計時値更新部４１により短縮されないように構成されてあるとして説明した。しかしながら、本発明の適用範囲はこれに限定されるものではない。計時値更新部４１が、電流制御期間を短縮するように構成することも当然に可能である。
【００６９】
上記実施形態では、ＰＷＭ制御部２１は、ＰＷＭ信号の１周期内に電流値の取得回数が予め設定された回数に満たない場合、ＰＷＭ信号の次の１周期にスイッチング素子５１に通電する通電時間を、今回と同じ通電時間に設定するとして説明した。しかしながら、本発明の適用範囲はこれに限定されるものではない。ＰＷＭ制御部２１は、ＰＷＭ信号の１周期内に電流値の取得回数が予め設定された回数に満たない場合、予め設定された通電時間に設定することも可能である。
【００７０】
本発明は、ソレノイドの電流を制御する通電制御装置に用いることが可能である。
【符号の説明】
【００７１】
１０：電流取得用タイマ
１１：電流値取得部
２０：ＰＷＭ制御用タイマ
２１：ＰＷＭ制御部
３１：回数カウント部
４１：計時値更新部
５０：ソレノイド
５１：スイッチング素子
１００：通電制御装置（ソレノイドの通電制御装置）
【図１】
0005765572.tif 000006
【図２】
0005765572.tif 000007
【図３】
0005765572.tif 000008
【図４】
0005765572.tif 000009
【図５】
0005765572.tif 000010
【図６】
0005765572.tif 000011
【図７】
0005765572.tif 000012
【図８】
0005765572.tif 000013