(57)【要約】【課題】ステッピングモータを制御するための構成を用いて、ＤＣモータを制御する。【解決手段】ステッピングモータのステートを決定するステートマシン３と、ステートマシン３によって決定されたステートになるように、ステッピングモータのステータへ励磁電流を供給するための駆動回路５とを用いて、ＤＣモータ７をコントロールするためのＤＣモータコントローラ１は、ＤＣモータ７が、駆動回路５のＡ相またはＢ相のいずれか一方に接続されていて、当該接続されている相に流れる電流によって回転するようになっているときに、ＤＣモータ７へ供給する電流の方向を切り換えるために、ステートマシン３に対してステート切り換えトリガを出力するトリガ出力部１１と、駆動回路５が出力する電流の最大値を指定するための最大電流値Vrefを出力するVref出力部１３と、を備える。【選択図】図１
2007244033.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータのステートを決定するステートマシンと、前記ステートマシンによって決定されたステートになるように、前記ステッピングモータのステータへ励磁電流を供給するための駆動回路とを用いて、ＤＣモータをコントロールするためのＤＣモータコントローラであって、
前記ＤＣモータが、前記駆動回路のＡ相またはＢ相のいずれか一方に接続されていて、当該接続されている相に流れる電流によって回転するようになっているときに、
前記ＤＣモータへ供給する電流の方向を切り換えるために、前記ステートマシンに対してステート切り換えトリガを出力するトリガ出力手段と、
前記駆動回路が出力する電流の最大値を指定するための最大電流値を、前記ステートマシンに対して出力する電流値指定手段と、を備えるＤＣモータコントローラ。
【請求項２】
経過時間とそれに伴って変化する電流値及び電流方向とを記憶した記憶部をさらに備え、
前記トリガ出力手段は、前記記憶部を参照し、電流方向を切り換えるタイミングにおいて、所定のステート切り換えトリガを出力し、
前記電流値指定手段は、前記記憶部を参照し、前記最大電流値を出力することを特徴とする請求項１記載のＤＣモータコントローラ。
【請求項３】
前記ステートマシンは、２Ｗ２相モードに設定されていて、
前記トリガ出力手段は、所定の初期ステートに設定するための初期化トリガと、前記初期ステートから順方向へ１／４回転させる順方向ステート回転トリガ、及び前記初期ステートから逆方向へ１／４回転させる逆方向ステート回転トリガの、少なくともいずれか一方とを出力することにより、前記ＤＣモータに流れる電流の方向を決定することを特徴とする請求項１記載のＤＣモータコントローラ。
【請求項４】
前記ステートマシンは、２Ｗ２相モードに設定されていて、
前記トリガ出力手段は、所定の初期ステートに設定するための初期化トリガと、前記初期ステートから順方向へ１／４回転させる順方向ステート回転トリガと、前記初期ステートから逆方向へ１／４回転させる逆方向ステート回転トリガとを出力可能であって、さらに、
前記ＤＣモータに対して第１の方向へ電流を流す場合には、前記初期化トリガを出力した後前記順方向ステート回転トリガを出力し、前記ＤＣモータに対して第１の方向と逆の第２の方向へ電流を流す場合には、前記初期化トリガを出力した後前記逆方向ステート回転トリガを出力することを特徴とする請求項１記載のＤＣモータコントローラ。
【請求項５】
ステッピングモータのステートを決定するステートマシンと、前記ステートマシンによって決定されたステートになるように、前記ステッピングモータのステータへ励磁電流を供給するための駆動回路とを用いて、ＤＣモータをコントロールする方法であって、
前記ＤＣモータが、前記駆動回路のＡ相またはＢ相のいずれか一方に接続されていて、当該接続されている相に流れる電流によって回転するようになっているときに、
前記ＤＣモータへ供給する電流の方向を切り換えるために、前記ステートマシンに対してステート切り換えトリガを出力するステップと、
前記駆動回路が出力する電流の最大値を指定するための最大電流値を、前記ステートマシンに対して出力するステップと、を行う方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータを制御するための構成を用いて、ＤＣモータを制御するための技術に関する。
【背景技術】
【０００２】
ステッピングモータを制御するために、ステッピングモータのステートを決定するステートマシンと、ステートマシンの指示に基づいて、ステータに励磁電流を送りステートマシンが決定したステートを実現する駆動回路とがある（例えば特許文献１）。
【０００３】
これらは、ステッピングモータを制御するために設計されたものであり、通常、ステッピングモータを制御するために用いられる。
【特許文献１】特開２０００−２７２１９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述のステッピングモータ制御のための構成を用いて、ＤＣモータの制御を行いたいときもある。例えば、当初ステッピングモータを用いることを予定していたためステートマシン等を搭載したが、その後、ＤＣモータを利用することに設計変更になったようなときには、ハードウェア部分の変更を極力行わないで対応できれば便利である。
【０００５】
そこで、本発明の目的は、ステッピングモータを制御するための構成を用いて、ＤＣモータを制御することである。
【課題を解決するための手段】
【０００６】
本発明の一実施態様に従うＤＣモータコントローラは、ステッピングモータのステートを決定するステートマシンと、前記ステートマシンによって決定されたステートになるように、前記ステッピングモータのステータへ励磁電流を供給するための駆動回路とを用いて、ＤＣモータをコントロールする。そして、前記ＤＣモータが、前記駆動回路のＡ相またはＢ相のいずれか一方に接続されていて、当該接続されている相に流れる電流によって回転するようになっているときに、前記ＤＣモータへ供給する電流の方向を切り換えるために、前記ステートマシンに対してステート切り換えトリガを出力するトリガ出力手段と、前記駆動回路が出力する励磁電流の最大値を指定するための最大電流値を、前記ステートマシンに対して出力する電流値指定手段と、を備える。
【０００７】
これにより、ステッピングモータ制御用のステートマシンなどを用いてＤＣモータを制御することができる。
【０００８】
好適な実施形態では、経過時間とそれに伴って変化する電流値及び電流方向とを記憶した記憶部をさらに備える。そして、前記トリガ出力手段は、前記記憶部を参照し、電流方向を切り換えるタイミングにおいて、所定のステート切り換えトリガを出力し、前記電流値指定手段は、前記記憶部を参照し、前記最大電流値を出力するようにしてもよい。
【０００９】
これにより、ＤＣモータ制御のタイムスケジュールを記憶部に予め保持しておくことにより、様々なパターンの制御を行うことができる。
【００１０】
好適な実施形態では、前記ステートマシンは、２Ｗ２相モードに設定されていて、前記トリガ出力手段は、所定の初期ステートに設定するための初期化トリガと、前記初期ステートから順方向へ１／４回転させる順方向ステート回転トリガ、及び前記初期ステートから逆方向へ１／４回転させる逆方向ステート回転トリガの、少なくともいずれか一方とを出力することにより、前記ＤＣモータに流れる電流の方向を決定するようにしてもよい。
【００１１】
好適な実施形態では、前記ステートマシンは、２Ｗ２相モードに設定されていて、前記トリガ出力手段は、所定の初期ステートに設定するための初期化トリガと、前記初期ステートから順方向へ１／４回転させる順方向ステート回転トリガと、前記初期ステートから逆方向へ１／４回転させる逆方向ステート回転トリガとを出力可能であって、さらに、前記ＤＣモータに対して第１の方向へ電流を流す場合には、前記初期化トリガを出力した後前記順方向ステート回転トリガを出力し、前記ＤＣモータに対して第１の方向と逆の第２の方向へ電流を流す場合には、前記初期化トリガを出力した後前記逆方向ステート回転トリガを出力するようにしてもよい。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態に係るＤＣモータの制御システムについて、図面を参照して説明する。
【００１３】
図１は、本実施形態に係るＤＣモータの制御システムの全体構成を示す図である。
【００１４】
本システムは、同図に示すように、ステッピングモータのステート（相状態）を決定するステートマシン３と、ステートマシン３の指示に従って電流を供給する駆動回路５と、駆動回路５に接続されたＤＣモータ７と、ステートマシン３を制御するＤＣモータコントローラ１と、ＤＣモータ７へ供給する電流の向き及び電流値の時間変化を記憶したタイムテーブル２とを備える。
【００１５】
駆動回路５は、本来、ステッピングモータのステータを励磁するための電流を供給するものである。駆動回路５はＡ相及びＢ相を備え、それぞれにステートマシン３から指示された電流値で、指示された向きの電流を流すように動作する。ここで、Ａ相及びＢ相のそれぞれに供給する電流値及び電流方向は、ステッピングモータがステートマシン３によって決定されたステートになるように決定される。本実施形態では、Ａ相またはＢ相のいずれか一方にＤＣモータ７が接続されている。そして、ＤＣモータ７は、駆動回路５から供給される電流によって駆動される。
【００１６】
ステートマシン３は、ＤＣモータコントローラ１からの指示に従って、ステッピングモータのステートを決定する機能を有する。そして、ステッピングモータのロータ位置が決定されたステートになるように、Ａ相及びＢ相の励磁電流を決定し、駆動回路５へ通知する。本実施形態では、このような機能を有するステートマシン３を用いてＤＣモータ７を制御するために、ＤＣモータコントローラ１が後述するような機能を備える。
【００１７】
ＤＣモータコントローラ（以下、単にコントローラという）１は、例えばプロセッサ及びメモリを備えたコンピュータシステムにより構成され、以下に説明するコントローラ１の構成要素または機能は、例えば、コンピュータプログラムを実行することにより実現される。
【００１８】
コントローラ１は、ステッピングモータのステートを変更するためのトリガを出力するトリガ出力部１１と、駆動回路５から供給される最大電流値Vrefを指定するVref出力部１３とを備える。そして、トリガ出力部１１が出力するトリガ及びVref出力部１３が出力するVrefをステートマシン３に対して出力する。
【００１９】
図２は、Ａ相及びＢ相に流れる電流とステッピングモータのステートとの関係を模式的に示すステッパーブリッジである。
【００２０】
同図では、Ａ相及びＢ相を流れる電流をベクトル表示し、この合成ベクトルの向きでステートを決定している。つまり、同図では、Ａ相及びＢ相を流れる電流値及び電流方向を調整することにより得られる４つのステート（０，１６，３２，４８）が示してある。以下の説明では、ステートマシン３がこの４つのステートのみを採り得る２Ｗ２相モードに設定されている場合を例に説明する。
【００２１】
また、同図において図示するように、Ａ相及びＢ相に流れる電流の方向の一方向をＣＷ、他方向をＣＣＷと呼ぶ。
【００２２】
例えば、ステート０は、Ａ相及びＢ相ともにＣＷ方向に、同一電流値の電流が流れた状態である。同様に、ステート１６は、Ａ相にＣＣＷ、Ｂ相にＣＷ方向に同一電流値の電流が流れた状態であり、ステート３２は、Ａ相及びＢ相のいずれにもＣＣＷ方向に同一電流値の電流が流れた状態であり、ステート４８は、Ａ相にＣＷ、Ｂ相にＣＣＷ方向に同一電流値の電流が流れた状態である。
【００２３】
ここで、同図に示すように、Ａ相にＤＣモータ７が接続されていて、Ｂ相には何も接続されていない。従って、Ａ相だけ閉回路（Ａ相回路）１００が構成され、Ａ相にのみ電流が流れるようになっている。この結果、例えば、ステートマシン３がコントローラ１から「ステート０」という指示を受け、ステートマシン３が「ステート０」になるようにＡ相及びＢ相の電流値及び方向を決定した場合でも、現実にはＢ相には電流が流れない。
【００２４】
コントローラ１のVref出力部１３は、Ａ相回路１００に流す電流値を指定するための電流値Vrefを出力する。ステートマシン３は、負荷電流クリッピングポイントと呼ばれる、ハード的な最大電流を規定するアナログポートでこれを受信する。
【００２５】
図３は、Vref値をVREFA→VREFB→VREFCと変化させたときの駆動回路５から出力される電流値変化を示す。ステートマシン３は、指定されたVref値になるように、内部チョッピングと呼ばれる電流制限動作を発生させて、電流量を制御する。
【００２６】
これにより、コントローラ１のVref出力部１３が出力するVref値により、Ａ相回路１００に流れる電流値を定めることができる。
【００２７】
なお、ステートマシン３は、Vref値として正の値のみ受け付けることができる。従って、コントローラ１は、Vref値のみで電流の方向を指定することができず、以下に説明するトリガにより電流方向を指定する。
【００２８】
コントローラ１のトリガ出力部１１は、ステートマシン３に対して、ステートを変更するためのトリガを出力する。トリガ出力部１１が出力するトリガは、例えば、ステートを初期状態にするステート初期化トリガ（以下、初期化トリガという）と、ステートを順方向へ回転させる順方向ステート回転トリガ（以下、順方向トリガという）と、ステートを逆方向へ回転させる逆方向ステート回転トリガ（以下、逆方向トリガという）とがある。
【００２９】
ここで、初期状態は、例えばステート０である。また、順方向とはステートを０→１６→３２→４８→０・・・と回転させる向きであり、逆方向とはこれと逆の０→４８→３２→１６→０・・・と回転させる向きである。
【００３０】
図４は、トリガ、ステート変化及びＡ相に流れる電流変化の様子を示す。
【００３１】
まず、ステートマシン３がコントローラ１から初期化トリガの入力を受け付けると、ステートマシン３は、そのときにどのようなステートであるかにかかわらず、初期状態である「ステート０」とする。
【００３２】
「ステート０」の場合、Ａ相には、ＣＷ方向に電流が流れるようになっている。そのときの電流値は、Vref出力部１３から出力されるVref値によって定まる。
【００３３】
「ステート０」の初期状態で、ステートマシン３がコントローラ１から順方向トリガの入力を一つ受け付けると、ステートマシン３は、順方向に１単位だけステートを回転させる。ここでは、２Ｗ２相モードであるから、１単位だけステートを回転させるということは、すなわち、１／４回転させて、「ステート１６」にすることを意味する。
【００３４】
「ステート１６」の場合、Ａ相には、ＣＣＷ方向に電流が流れるようになっている。そのときの電流値は、Vref出力部１３から出力されるVref値によって定まる。
【００３５】
また、「ステート０」の初期状態で、ステートマシン３がコントローラ１から逆方向トリガの入力を一つ受け付けると、ステートマシン３は、逆方向に１単位だけステートを回転させる。ここでは、順方向の場合と同様に、２Ｗ２相モードであるから、逆方向へ１単位だけステートを回転させるということは、すなわち、―１／４回転させて、「ステート４８」にすることを意味する。
【００３６】
「ステート４８」の場合、Ａ相には、ＣＷ方向に電流が流れるようになっている。そのときの電流値は、Vref出力部１３から出力されるVref値によって定まる。
【００３７】
上述のように、コントローラ１のトリガ出力部１１が出力する初期化トリガ、順方向トリガ、及び逆方向トリガを組み合わせることにより、Ａ相に流れる電流方向を定めることができる。
【００３８】
図５は、タイムテーブル２の一例である。
【００３９】
タイムテーブル２には、同図に示すように、Vref値と、そのVref値の継続時間とが格納されている。ここで、Vref値は、ＣＷ方向に電流を流す場合をプラス、ＣＣＷ方向に電流を流す場合をマイナスで表している。ＥＯＴは、タイムテーブル２の最後を示すターミネータである。
【００４０】
次に、上記のような構成を備えたＤＣモータの制御システムが行うＤＣモータ７の制御の一例について説明する。
【００４１】
図６は、コントローラ１が行う処理を示したフローチャートである。
【００４２】
ここで、ｔはタイマカウンタ（初期値０）、ｉはタイムテーブル２の項目を指すカウンタ（初期値０）である。本実施形態では、１ｍｓ周期でタイマー割込を発生させ、割込が発生する度に、図６の処理が実行されるようになっている。
【００４３】
まず、割込が発生すると、コントローラ１はｔ＝０であるか否かを判定する（Ｓ１１）。
【００４４】
ｔ＝０の場合（Ｓ１１：Ｙｅｓ）、ｉに１を加える（Ｓ１２）。そして、タイムテーブル２のｉ番目の項目のVref値及び時間を読み出して、それぞれ、Vref及びｔにセットする（Ｓ１３）。
【００４５】
ここで、ｔにセットされた値がＥＯＴであれば（Ｓ１４：Ｙｅｓ）、タイムテーブル２をすべて読み込んだということなので、割込を禁止して処理を終了する（Ｓ２０）。
【００４６】
一方、ｔがＥＯＴでないときは（Ｓ１４：Ｎｏ）、Vrefを参照して、電流の流れる方向が切り替わったか否かを判定する（S１５）。この場合、ステップＳ１３でVrefを読み込む前と後で符号が切り替わったか否かにより、電流の向きが切り替わったが否かを判定する。
【００４７】
電流方向が切り替わり（Ｓ１５：Ｙｅｓ）、かつ、Vrefが正数であれば（Ｓ１６：正数）、Ａ相回路１００に流れる電流をＣＣＷからＣＷ方向へ切り換える必要があるので、トリガ出力部１１が初期化トリガを出力した後、逆方向トリガを出力して電流方向を切り換える（Ｓ１７）。
【００４８】
また、電流方向が切り替わり（Ｓ１５：Ｙｅｓ）、かつ、Vrefが負数であれば（Ｓ１６：負数）、Ａ相回路１００に流れる電流をＣＷからＣＣＷ方向へ切り換える必要があるので、トリガ出力部１１が初期化トリガを出力した後、順方向トリガを出力して電流方向を切り換える（Ｓ１８）。
【００４９】
一方、電流方向が切り替わっていないときは（Ｓ１５：Ｎｏ）、及びVrefが０であるときは（Ｓ１６：０）、ステップＳ１９へスキップする。
【００５０】
そして、Vref出力部１３がVrefの絶対値を出力して、Ａ相回路１００に流れる電流値を変更する（Ｓ１９）。
【００５１】
ステップＳ１１において、ｔ＝０でない場合は（Ｓ１１：Ｎｏ）、電流を変更するタイミングではないので、ｔから１を引いて処理を終了する（Ｓ２１）。
【００５２】
なお、ステップＳ１７で、電流方向をＣＷ方向へ切り換えるために、初期化トリガを出力した後、逆方向トリガを出力しているが、逆方向トリガ省略可能である。なぜならば、初期化トリガにより「ステート０」になると、Ａ相回路１００には、ＣＷ方向に電流が流れるからである。
【００５３】
ステップＳ１７で初期化トリガを出力した後に、逆方向トリガを出力しているのは、「初期化トリガ＋別のトリガ」という形に、ステップＳ１８と処理パターンを共通化するためである。
【００５４】
図７は、このタイムテーブル２に従って動作したときのＡ相回路１００に流れる電流の時間変化曲線である。
【００５５】
コントローラ１は、図５に示すタイムテーブル２を参照しながら図６に示すフローチャートに従った処理を実行すると、Ａ相回路１００に図７に示すような電流が流れて、ＤＣモータ７の回転を制御する。以下、図５，図７を参照しながら説明する。
【００５６】
（１）まず、起動時（Ｔ＝０）に、コントローラ１がタイムテーブル２の項目１に従って、ＣＷ方向へ電流を流すために初期化トリガ及び逆方向トリガを出力するとともに、Vref値（１５ｍA）を出力する。このようにすると、図７に示すように、Ａ相回路１００に電流が流れ始める。
【００５７】
（２）Ｔ＝Ｔ１（６５ｍｓ）になると、コントローラ１は、タイムテーブル２の項目２に従った処理を行う。つまり、電流はＣＷ方向のまま変化がないので、いずれのトリガも出力せず、Vref値を３０ｍAに変更する。
【００５８】
（３）Ｔ＝Ｔ２（１４５ｍｓ）になると、コントローラ１は、タイムテーブル２の項目３に従った処理を行う。この場合も、電流はＣＷ方向のまま変化がないので、いずれのトリガも出力せず、Vref値を１２ｍAに変更する。
【００５９】
（４）Ｔ＝Ｔ３（１９５ｍｓ）になると、コントローラ１は、タイムテーブル２の項目４に従った処理を行う。ここでは、Vrefの符号がマイナスに変化しているので、コントローラ１は電流をＣＣＷ方向へ流すようにするため、初期化トリガ及び順方向トリガを出力して電流の向きを切り換える。さらに、これとともに、コントローラ１はVref値として５ｍＡを出力する。つまり、Ｔ３〜Ｔ４の間は、ＤＣモータを停止させるためのブレーキに相当する。
【００６０】
（５）Ｔ＝Ｔ４（２１５ｍｓ）になると、コントローラ１は、タイムテーブル２の項目５に従った処理を行う。このとき、電流値は０であるから、コントローラ１はトリガを出力せず、Vref値として０ｍＡを出力する。このときは、ＤＣモータ７の回転を停止させた状態での安定待ちである。
【００６１】
（６）Ｔ＝Ｔ５（２２０ｍｓ）になると、割込が禁止されて、コントローラ１の処理が終了する。
【００６２】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の一実施形態に係るＤＣモータの制御システムの全体構成を示す。
【図２】ステッパーブリッジを示す。
【図３】駆動回路５から出力される電流値変化の一例を示す。
【図４】トリガ、ステート変化及びＡ相に流れる電流変化の様子を示す。
【図５】タイムテーブル２の一例を示す。
【図６】コントローラ１が行う処理を示したフローチャートである。
【図７】Ａ相回路１００に流れる電流の時間変化曲線である。
【符号の説明】
【００６４】
１…ＤＣモータコントローラ、２…タイムテーブル、３…ステートマシン、５…駆動回路、７…ＤＣモータ、１１…トリガ出力部、１３…Vref出力部、１００…Ａ相回路。
【図１】
2007244033.tif 000003
【図２】
2007244033.tif 000004
【図３】
2007244033.tif 000005
【図４】
2007244033.tif 000006
【図５】
2007244033.tif 000007
【図６】
2007244033.tif 000008
【図７】
2007244033.tif 000009