(57)【要約】【課題】ＣＰＵに対する負荷を軽減する。【解決手段】制御開始信号を受信した加速制御開始部１１が角度アドレスレジスタ１２から開始角度アドレスを出力させ、デューティ演算部１９が、角度アドレスと角度アドレスに対応するデューティとをあらかじめ格納するデューティ記憶部１８から、ポインタレジスタ１６から取り込んだ角度アドレスに対応するデューティを選択してパルス発生部２２，２３に出力し、パルス発生部２２，２３がデューティに対応するパルス信号をステッピングモータに出力し、角度アドレス演算部１５がポインタレジスタ１６から取り込み、入力された角度量を加算した角度アドレスでポインタレジスタ１６を更新し、回転検知部１７がポインタレジスタ１６から取り込んだ角度アドレスと終了角度の角度アドレスとからステッピングモータが１回転したことを検知して、加速定数演算部１４がその検知結果から増加または減少させた角度量を出力する。【選択図】図１
2008092652.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータを駆動するステッピングモータ制御装置において、
前記ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、
制御開始信号を受信して、前記角度アドレスレジスタから前記開始角度アドレスを出力させる加速制御開始部と、
前記開始角度アドレスを保持するポインタレジスタと、
前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、
前記デューティ記憶部から、前記ポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力するデューティ演算部と、
入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力するパルス発生部と、
前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部と、
前記ポインタレジスタから取り込んだ前記開始角度アドレスと終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部と、
前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する加速定数演算部と、
を有することを特徴とするステッピングモータ制御装置。
【請求項２】
前記加速制御開始部が、前記ステッピングモータの回転が停止すると、制御終了の信号を出力することを特徴とする請求項１記載のステッピングモータ制御装置。
【請求項３】
前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする請求項１又は２記載のステッピングモータ制御装置。
【請求項４】
前記検知結果により、トリガを発生して、前記トリガを出力するカウントトリガ生成部をさらに有し、前記加速定数演算部は入力した前記トリガによって、前記角度量を増加または減少させることを特徴とする請求項１乃至３のいずれか一項に記載のステッピングモータ制御装置。
【請求項５】
ステッピングモータを駆動するステッピングモータ制御方法において、
加速制御開始部が、制御開始信号を受信して、前記ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタから前記開始角度アドレスを出力させる工程と、
デューティ演算部が、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部から、前記開始角度アドレスを保持するポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力する工程と、
パルス発生部が、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力する工程と、
角度アドレス演算部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する工程と、
回転検知部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスと終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する工程と、
加速定数演算部が、前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する工程と、
を有することを特徴とするステッピングモータ制御方法。
【請求項６】
前記加速制御開始部が、前記ステッピングモータの回転が停止すると、制御終了の信号を出力することを特徴とする請求項５記載のステッピングモータ制御方法。
【請求項７】
前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする請求項５又は６記載のステッピングモータ制御方法。
【請求項８】
前記検知結果により、トリガを発生して、前記トリガを出力するカウントトリガ生成部をさらに有し、前記加速定数演算部は入力した前記トリガによって、前記角度量を増加または減少させることを特徴とする請求項５乃至７のいずれか一項に記載のステッピングモータ制御方法。
【請求項９】
制御開始信号を出力するＣＰＵと、
ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、前記制御開始信号を受信して、前記角度アドレスレジスタから前記開始角度アドレスを出力させる加速制御開始部と、前記開始角度アドレスを保持するポインタレジスタと、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、前記デューティ記憶部から、前記ポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力するデューティ演算部と、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力するパルス発生部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスと前記終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部と、入力した前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する加速定数演算部と、を有するステッピングモータ制御装置と、
前記ステッピングモータ制御装置から出力された前記パルス信号を入力して、駆動するステッピングモータと、
を有することを特徴とするステッピングモータ制御システム。
【請求項１０】
前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする請求項９記載のステッピングモータ制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はステッピングモータ制御装置、ステッピングモータ制御方法およびステッピングモータ制御システムに関し、特に、外部信号を受信して駆動するステッピングモータ制御装置、ステッピングモータ制御方法およびステッピングモータ制御システムに関する。
【背景技術】
【０００２】
ステッピングモータは、高精度の回転制御を実現することができるために、例えば、レーザプリンタやデジタル複写機、または、産業用ロボットなどの高精度の回転制御が求められる機器に幅広く用いられている。
【０００３】
以下に、一般的なステッピングモータの駆動原理の概要について、図を参照して説明する。
図４〜図６は、ステッピングモータの駆動原理の模式図である。
【０００４】
ステッピングモータ１００は、図４〜図６に示すように、中心のロータ１０１にＮ極およびＳ極のロータ磁極が交互に設置されている。そして、ロータ１０１の四方を取り囲むように、励磁コイル（励磁コイルＢ相１０２、励磁コイルＡ相１０３、励磁コイルＢ’相１０４、励磁コイルＡ’相１０５）が設置されている。なお、励磁コイルの磁極を、電圧もしくは電流などによって、自由に変化することができる。
【０００５】
図４では、励磁コイルの磁極をそれぞれ、励磁コイルＡ相１０３をＳ極、励磁コイルＡ’相１０５をＮ極、励磁コイルＢ相１０２および励磁コイルＢ’相１０４は磁極が発生しないよう（無磁極）に変化させた場合を例に挙げて示している。そして、この時、ロータ１０１のＮ極が励磁コイルＡ相１０３のＳ極に、ロータ１０１のＳ極が励磁コイルＡ’相１０５のＮ極に引かれている。
【０００６】
続いて、図５では、励磁コイルの磁極をそれぞれ、励磁コイルＡ相１０３および励磁コイルＡ’相１０５は無磁極、励磁コイルＢ相１０２をＳ極、励磁コイルＢ’相１０４をＮ極に変化させて、ロータを右に３０度回転させた場合を示しており、図６では、励磁コイルの磁極をそれぞれ、励磁コイルＡ相１０３をＮ極、励磁コイルＡ’相１０５をＳ極、励磁コイルＢ相１０２および励磁コイルＢ’相１０４を無磁極に連続的に変化させて、ロータ１０１を更に右に３０度回転させた場合を示している。
【０００７】
図４〜図６に示すように、各励磁コイルの磁極を連続して変化させることによって、ロータ１０１に設置されたロータ磁極が励磁コイルに引き付けられることによって、ロータ１０１が回転する。以上のような原理によってステッピングモータ１００が回転する。
【０００８】
このようなステッピングモータを駆動させるための外部信号の発信機として、例えばＣＰＵ（Central Processing Unit）が利用されている。すなわち、ＣＰＵを用いて、ステッピングモータの回転速度および回転角度を決定するパルス信号を発生させて、発生したパルス信号によりステッピングモータの励磁コイルの励磁パターンが制御されて、ステッピングモータを駆動させることができる。なお、ステッピングモータの回転速度および回転角度は与えられるパルス信号の周波数およびパルス数によって自由に制御することができる。
【０００９】
このようなステッピングモータ制御装置に配置されたステッピングモータでは、ＣＰＵによって、デューティなどが制御され、励磁コイルの磁極変化を段階的に行うことが可能である。ＣＰＵを用いることによって、コイルの励磁変化を数ステップから数十ステップに自由に分割することができ、ロータの滑らかで高精度な回転を実現することができる。
【００１０】
以上のように、ステッピングモータを制御するためにＣＰＵによる制御信号を利用して、回転速度および回転角度の回転制御が行われてきた。しかし、近年では、複数のステッピングモータが様々な機器に用いられるとともに、機器の高性能化が進むにつれて、回転制御の高性能化を必要とする機器が多くなってきた。このため、ステッピングモータ制御装置へ制御信号を送信するＣＰＵの負荷率が高まったため、ステッピングモータ制御装置専用のＣＰＵを備えるステッピングモータ制御回路も数多く利用されている（例えば、特許文献１参照。）。
【特許文献１】特開平７−３２２６９６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、ＣＰＵによってモータ駆動の制御を行うステッピングモータ制御装置、ステッピングモータ制御方法およびステッピングモータ制御システムには、以下のような問題点があった。
【００１２】
ＣＰＵを利用したステッピングモータ制御装置において、ステッピングモータのロータを、例えば、１回転させる場合について考える。励磁コイルの制御数は、“ロータ磁極数”×“ステップ数”によって表すことができる。これに具体的な数値として、“ロータ磁極数”を“６”、“ステップ数”を“１６”さらに減速させたい場合“減速比”が“１／２４”であるとすると、“６”×“１６”×“２４”＝“２３０４”回のステッピングモータ制御装置への制御数の設定が必要となる。さらに、この制御数に加えて、ロータの回転起動時の加速制御、停止時の減速制御も必要である。このように、ステッピングモータ制御装置にかかるＣＰＵの処理は膨大なものであり、ＣＰＵに対する負荷が大きいという問題があった。
【００１３】
また、特許文献１においても、励磁コイルの励磁パターンとパルス周期は１回の命令に対して１データの転送が行われているために、依然としてＣＰＵに対する負荷が大きいという問題点があった。
【００１４】
本発明はこのような点に鑑みてなされたものであり、ＣＰＵに対する負荷を軽減することができるステッピングモータ制御装置、ステッピングモータ制御方法およびステッピングモータ制御システムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明では上記課題を解決するために、図１に示すように、ステッピングモータを駆動するステッピングモータ制御装置１０において、ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタ１２と、制御開始信号を受信して、角度アドレスレジスタ１２から開始角度アドレスを出力させる加速制御開始部１１と、開始角度アドレスを保持するポインタレジスタ１６と、開始角度アドレスと開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部１８と、デューティ記憶部１８から、ポインタレジスタ１６から取り込んだ開始角度アドレスに対応するデューティを選択し、選択したデューティを出力するデューティ演算部１９と、入力したデューティに対応するパルス信号をステッピングモータに出力するパルス発生部２２，２３と、ポインタレジスタ１６から取り込んだ開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部１５と、ポインタレジスタ１６から取り込んだ開始角度アドレスと終了角度の角度アドレスとからステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部１７と、検知結果により、角度量を増加または減少させて、増加または減少した角度量を出力する加速定数演算部１４と、を有することを特徴とするステッピングモータ制御装置１０が提供される。
【００１６】
このような構成によれば、角度アドレスレジスタが開始角度アドレスをあらかじめ格納し、加速制御開始部が制御開始信号を受信して、角度アドレスレジスタから開始角度アドレスをポインタレジスタに出力させ、ポインタレジスタが角度アドレスを保持し、デューティ記憶部が開始角度アドレスと開始角度アドレスに対応するデューティとをあらかじめ格納し、デューティ演算部がデューティ記憶部から、ポインタレジスタから取り込んだ開始角度アドレスに対応するデューティを選択し、選択したデューティを出力し、パルス発生部がデューティに対応するパルス信号をステッピングモータに出力する。角度アドレス演算部がポインタレジスタから取り込んだ開始角度アドレスに、入力された角度量を加算して、角度量を加算した角度アドレスをポインタレジスタに出力し、回転検知部がポインタレジスタから取り込んだ開始角度アドレスと終了角度の角度アドレスとからステッピングモータが１回転したことを検知して、検知結果を出力し、加速定数演算部が入力された検知結果により、角度量を増加または減少させて、増加または減少した角度量を出力する。
【００１７】
また、本発明では上記課題を解決するために、ステッピングモータを駆動するステッピングモータ制御方法において、加速制御開始部が、制御開始信号を受信して、前記ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタから前記開始角度アドレスを出力させる工程と、デューティ演算部が、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部から、前記開始角度アドレスを保持するポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力する工程と、パルス発生部が、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力する工程と、角度アドレス演算部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する工程と、回転検知部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスと終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する工程と、加速定数演算部が、前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する工程と、を有することを特徴とするステッピングモータ制御方法が提供される。
【００１８】
このような方法によれば、加速制御開始部によって、制御開始信号を受信して、ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタから開始角度アドレスが出力され、デューティ演算部によって、開始角度アドレスと開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部から、開始角度アドレスを保持するポインタレジスタから取り込んだ開始角度アドレスに対応するデューティが選択され、選択されたデューティが出力され、パルス発生部によって、入力されたデューティに対応するパルス信号がステッピングモータに出力され、角度アドレス演算部によって、ポインタレジスタから取り込んだ開始角度アドレスに、入力された角度量を加算して、角度量が加算された角度アドレスが出力され、回転検知部によって、ポインタレジスタから取り込んだ開始角度アドレスと終了角度の角度アドレスとからステッピングモータが１回転したことを検知し、検知結果が出力され、加速定数演算部によって、入力された検知結果により、角度量を増加または減少させて、増加または減少した角度量が出力される。
【００１９】
また、本発明では上記課題を解決するために、制御開始信号を出力するＣＰＵと、ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、前記制御開始信号を受信して、前記角度アドレスレジスタから前記開始角度アドレスを出力させる加速制御開始部と、前記開始角度アドレスを保持するポインタレジスタと、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、前記デューティ記憶部から、前記ポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力するデューティ演算部と、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力するパルス発生部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスと前記終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部と、入力した前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する加速定数演算部と、を有するステッピングモータ制御装置と、前記ステッピングモータ制御装置から出力された前記パルス信号を入力して、駆動するステッピングモータと、を有することを特徴とするステッピングモータ制御システムが提供される。
【００２０】
このようなシステムによれば、ＣＰＵが制御開始信号を出力し、ステッピングモータ制御装置が、ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、制御開始信号を受信して、角度アドレスレジスタからポインタレジスタに開始角度アドレスを出力させる加速制御開始部と、開始角度アドレスを保持するポインタレジスタと、開始角度アドレスと開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、デューティ記憶部から、ポインタレジスタから取り込んだ開始角度アドレスに対応するデューティを選択し、選択したデューティを出力するデューティ演算部と、入力したデューティに対応するパルス信号をステッピングモータに出力するパルス発生部と、ポインタレジスタから取り込んだ開始角度アドレスに、入力された角度量を加算して、角度量が加算された角度アドレスを出力する角度アドレス演算部と、ポインタレジスタから取り込んだ開始角度アドレスと終了角度の角度アドレスとからステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部と、入力された検知結果により、角度量を増加または減少させて、増加または減少した角度量を出力する加速定数演算部と、を有し、ステッピングモータ制御装置がパルス信号を入力して、ステッピングモータを駆動する。
【発明の効果】
【００２１】
本発明では、角度アドレスレジスタが保持するステッピングモータの開始角度アドレスを、ポインタレジスタが取り込み、開始角度アドレスを保持し、角度アドレス演算部が、ポインタレジスタから取り込んだ開始角度アドレスに角度量を加算して、加算した角度アドレスを出力し、ポインタレジスタを更新し、回転検知部が、ポインタレジスタから取り込んだ開始角度アドレスとステッピングモータの終了角度の角度アドレスとからステッピングモータの１回転を検知し、検知結果を出力し、加速定数演算部が、検知結果により、角度量を増加または減少させて、増加または減少した角度量を角度アドレス演算部に出力し、デューティ記憶部が、開始角度アドレスと開始角度アドレスに対応するデューティとをあらかじめ格納し、デューティ演算部が、デューティ記憶部から、ポインタレジスタから取り込んだ角度アドレスに対応するデューティを選択し、パルス発生部が、デューティに対応するパルス信号をステッピングモータに出力するようにした。これにより、ＣＰＵへの負担が軽減され、ステッピングモータに対して、滑らかに加速、減速の制御を行うことができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
上記にて説明したように、ステッピングモータの駆動にＣＰＵによる信号を利用した制御装置を、図２を例に挙げて説明する。
【００２３】
図２は、外部信号を受信して駆動するステッピングモータ制御装置の構成の例を示すブロック図である。
ステッピングモータ制御装置２００は、デューティ設定レジスタ２１０，２２０、ＰＷＭ（Pulse Width Modulation）１パルス発生部２３０およびＰＷＭ２パルス発生部２４０によって構成されている。そして、このステッピングモータ制御装置２００に対して、図４〜図６に示したような四方を励磁コイルＡ相１０３、励磁コイルＡ’相１０５、励磁コイルＢ相１０２および励磁コイルＢ’相１０４によって囲まれたロータ１０１からなるステッピングモータ１００が接続されており、ＣＰＵからの信号によってステッピングモータ１００が駆動される。すなわち、ＣＰＵにおいて、ステッピングモータ１００を回転させるための励磁パターンに応じたデューティが演算される。そして、ＣＰＵが、演算したデューティをデューティ設定レジスタ２１０，２２０に書き込む。そして、デューティ設定レジスタ２１０，２２０に書き込まれたデューティをＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０が取り込む。ＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０からデューティに対応するパルス信号を、ドライブ回路（不図示。）などを介して接続されている励磁コイルＡ相１０３および励磁コイルＡ’相１０５ならびに励磁コイルＢ相１０２および励磁コイルＢ’相１０４に出力することによって、ステッピングモータ１００を駆動させることができる。このようなステッピングモータ制御装置２００では、ＣＰＵの処理によって、ステッピングモータ１００の加速、減速の制御を自由に行うことができる。
【００２４】
次に、このステッピングモータ制御装置２００において、ＣＰＵが行う処理について以下に説明する。
図３は、外部信号を受信して駆動するステッピングモータ制御装置のＣＰＵが行う処理を示すフローチャート図である。上記では、ＣＰＵの処理によって得られたデューティをデューティ設定レジスタ２１０，２２０に書き込み、そして、ＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０によってパルス信号を出力することについて説明した。ここでは、ＣＰＵによって、デューティをデューティ設定レジスタ２１０，２２０に書き込む処理と、その後のステッピングモータ１００が駆動するまでの処理について図３のフローチャート図を用いて説明する。
【００２５】
［ステップＳ１１］ＣＰＵが、ステッピングモータ１００の回転開始角度に対応する開始角度アドレスおよび回転終了角度に対応する終了角度アドレスを設定する。
［ステップＳ１２］ＣＰＵが、設定した開始角度アドレスに対応するデューティを演算する。そして、演算して得られたデューティを、デューティ設定レジスタ２１０，２２０に書き込む。
【００２６】
［ステップＳ１３］ＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０が、デューティ設定レジスタ２１０，２２０からデューティを取り込む。
［ステップＳ１４］ＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０は、取り込んだデューティに対応するパルス信号をステッピングモータ１００に出力する。
【００２７】
［ステップＳ１５］ステッピングモータ１００は、入力されたパルス信号に応じて、制御される。
［ステップＳ１６］ＣＰＵは、入力したパルス信号によって制御されたステッピングモータ１００が停止するか否か、を判断する。ステッピングモータ１００が停止する場合は、ステッピングモータ１００の制御の処理が終了する。停止せずに、駆動する場合は、ステップＳ１７に進められる。
【００２８】
［ステップＳ１７］ＣＰＵは、開始角度に対して、角度量αを加算し、角度Ａを生成する。
［ステップＳ１８］ＣＰＵは、角度Ａと、ＣＰＵにより設定された終了角度とを比較する。角度Ａが終了角度よりも小さい場合にのみ、ステップＳ２０に進められる。それ以外の場合は、ステップＳ１９へ進められる。
【００２９】
［ステップＳ１９］ＣＰＵは、角度Ａをクリアする。
［ステップＳ２０］ＣＰＵは、角度Ａが終了角度以下のとき、角度Ａを出力する。
［ステップＳ２１］ＣＰＵは、ステッピングモータ１００を加速するか否かを判断する。ステッピングモータ１００を加速させる場合は、ステップＳ２２へ進められ、加速させない場合は、ステップＳ２３へ進められる。
【００３０】
［ステップＳ２２］ＣＰＵは、ステッピングモータ１００を加速させる場合には、ステップＳ１７の一定の角度量αを増加させる。そして、ステップＳ１１へ戻る。
［ステップＳ２３］ＣＰＵは、ステッピングモータ１００を減速するか否かを判断する。ステッピングモータ１００を減速させる場合は、ステップＳ２４へ進められ、減速させない場合は、ステップＳ１１へ戻る。
【００３１】
［ステップＳ２４］ＣＰＵは、ステッピングモータ１００を減速させる場合には、ステップＳ１７の角度量αを減少させる。そして、ステップＳ１１へ戻る。
このようにして、ＣＰＵ、デューティ設定レジスタ２１０，２２０、ＰＷＭ１パルス発生部２３０およびＰＷＭ２パルス発生部２４０は、ステッピングモータ１００を制御することができる。そして、処理のほとんどが主にＣＰＵによって行われることがわかる。
【００３２】
このようなステッピングモータ制御装置に対する本発明について、図１を用いて以下に説明する。
図１は、本発明による外部信号を受信して駆動するステッピングモータ制御装置の構成の例を示すブロック図である。
【００３３】
図１では、複数のユニットをハード的に設置し、図２において主にＣＰＵが行っていた処理を、それらのユニットが行うようにした。なお、開始角度、終了角度の角度アドレスおよび開始角度から終了角度までの間の各回転角度の角度アドレスに対応したデューティについては、あらかじめＣＰＵによって、開始角度および終了角度の角度アドレスが設定され、開始角度から終了角度までの間の各回転角度の角度アドレスおよびその角度アドレスに対応したデューティが算出されてデューティ記憶部１８に格納されるようにしている。
【００３４】
このような図１について、以下に説明する。ちなみに、図１では、ステッピングモータ、ドライブ回路およびＣＰＵの記載を省略している。このステッピングモータ制御装置１０を、実際に制御装置として利用する場合には、ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３にドライブ回路などを介してステッピングモータを構成する励磁コイルを接続して、ＣＰＵからの信号を受信することによって利用することができる。
【００３５】
ステッピングモータ制御装置１０は、デューティ設定レジスタ２０，２１、ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３に加えて、加速制御開始部１１、角度アドレスレジスタ１２、カウントトリガ生成部１３、加速定数演算部１４、角度アドレス演算部１５、ポインタレジスタ１６、回転検知部１７、デューティ記憶部１８およびデューティ演算部１９によって構成されている。このようなステッピングモータ制御装置１０にステッピングモータを接続して、ステッピングモータ制御装置１０がＣＰＵから制御開始信号を受信することによって、ステッピングモータを駆動することができる。なお、既に説明したように、ＣＰＵによって、あらかじめ、ステッピングモータの開始角度および終了角度の角度アドレスが設定されるとともに、開始角度から終了角度の間の回転角度の各角度アドレスに対応したデューティが演算されて、デューティ記憶部１８に格納されるものとする。
【００３６】
以下に、ステッピングモータ制御装置１０を構成する各ユニットの概要について説明する。
加速制御開始部１１は、ＣＰＵから制御開始信号を受信し、後に説明する角度アドレスレジスタ１２から、あらかじめ格納されている開始角度の角度アドレスをポインタレジスタ１６に出力させる。また、ステッピングモータの回転が停止したら、ＣＰＵに制御終了の信号を送信する。
【００３７】
角度アドレスレジスタ１２は、ＣＰＵによって設定された開始角度の角度アドレスを保持する。
カウントトリガ生成部１３は、後に説明する回転検知部１７の検知結果の信号を受け、トリガを発生し、加速定数演算部１４に出力する。
【００３８】
加速定数演算部１４は、カウントトリガ生成部１３から入力されたトリガによって、ステッピングモータの回転角度に加算する角度量を増加または減少させる。増加または減少された角度量を角度アドレス演算部１５に出力する。なお、この角度量を増加または減少させることによって、ステッピングモータの回転速度が加速もしくは減速することになる。また、ステッピングモータの回転角度を初期化する。
【００３９】
角度アドレス演算部１５は、後に説明するポインタレジスタ１６から取り込んだ角度アドレスに、加速定数演算部１４から入力された角度量を加算する。加算した角度アドレスを、ポインタレジスタ１６に出力する。
【００４０】
ポインタレジスタ１６は、角度アドレスレジスタ１２から取り込んだ角度アドレス、および、角度アドレス演算部１５から入力した角度アドレスを保持する。
回転検知部１７は、ポインタレジスタ１６から取り込んだ角度アドレスと終了角度アドレスとからステッピングモータが１回転したことを検知する。そして、検知結果をカウントトリガ生成部１３に出力する。
【００４１】
デューティ記憶部１８に、ＣＰＵによって、ステッピングモータの各回転角度の角度アドレスとその角度アドレスに対応したデューティとが格納される。
デューティ演算部１９は、ポインタレジスタ１６から取り込んだ角度アドレスに対応するデューティを、デューティ記憶部１８から抽出する。抽出したデューティをデューティ設定レジスタ２０，２１に書き込む。
【００４２】
デューティ設定レジスタ２０，２１は、デューティを保持する。
ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３は、デューティ設定レジスタ２０、２１からデューティを取り込み、取り込んだデューティに対応するパルス信号を接続されたステッピングモータに出力する。
【００４３】
このようなユニットから構成されるステッピングモータ制御装置１０の処理について、以下に説明する。
まず、ＣＰＵによって、あらかじめ、開始角度Ａおよび終了角度Ｚの角度アドレスが角度アドレスレジスタに格納されるとともに、ステッピングモータの回転角度の角度アドレスと、それに対応するデューティとがデューティ記憶部１８に格納される。
【００４４】
次に、ＣＰＵが、加速制御開始部１１に制御開始の信号を出力することにより、ステッピングモータの制御が開始される。
なお、ＣＰＵがステッピングモータ制御装置１０に介在する工程はここまでであり、以下の工程は設置された各ユニットによって行われる。
【００４５】
角度アドレスレジスタ１２は、制御開始信号を受信した加速制御開始部１１によって、格納している開始角度Ａの角度アドレスをポインタレジスタ１６に出力する。
次に、ポインタレジスタ１６は、角度アドレスレジスタの開始角度Ａの角度アドレスを保持する。
【００４６】
デューティ演算部１９は、ポインタレジスタ１６から開始角度Ａの角度アドレスを取り込み、デューティ記憶部１８から開始角度Ａの角度アドレスに対応したデューティを抽出する。抽出した開始角度Ａの角度アドレスに対応するデューティをデューティ設定レジスタ２０，２１に書き込む。
【００４７】
ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３が、デューティ設定レジスタ２０，２１からデューティを取り込む。
ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３は、取り込んだデューティに対応する周波数のパルス信号を発生して、発生したパルス信号をドライブ回路（不図示。）を介して、ステッピングモータに出力して、ステッピングモータが開始角度Ａだけ回転する。
【００４８】
一方、角度アドレス演算部１５は、ポインタレジスタ１６から取り込んだ開始角度Ａの角度アドレスに、加速定数演算部１４から入力された角度量αを加算して、加算された新たな角度Ｂ（＝Ａ＋α）の角度アドレスをポインタレジスタ１６に書き込む。
【００４９】
次に、再び、デューティ演算部１９は、ポインタレジスタ１６から角度Ｂの角度アドレスを取り込み、デューティ記憶部１８から角度Ｂの角度アドレスに対応したデューティを抽出する。抽出した角度Ｂのアドレスに対応するデューティをデューティ設定レジスタ２０，２１に書き込む。
【００５０】
ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３が、デューティ設定レジスタ２０，２１からデューティを取り込む。
ＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３は、取り込んだデューティに対応する周波数のパルス信号を発生して、パルス信号をステッピングモータに出力することによって、ステッピングモータの回転角度は開始角度Ａから角度Ｂに変化する。
【００５１】
このようにして、角度アドレス演算部１５は、ポインタレジスタ１６から角度アドレスを取り込むと、取り込んだ角度アドレスごとに角度量αを加算していき、ステッピングモータの回転角度が角度量αずつ増加して、結果的にステッピングモータが回転する。
【００５２】
また、一方、回転検知部１７は、ポインタレジスタ１６から角度アドレスを取り込み、取り込んだ角度（開始角度Ａも含む。）と終了角度Ｚとからステッピングモータが１回転したかどうかを判断する。既に説明したように、角度アドレス演算部１５が、ポインタレジスタ１６に書き込む角度は角度量αずつ増加していく。例えば、角度アドレス演算部１５が、ポインタレジスタ１６にＮ回目の角度アドレス、すなわち、角度Ａ＋Ｎαを書き込んだ場合、回転検知部１７が角度Ａ＋Ｎαを取り込み、角度Ａ＋Ｎαと終了角度Ｚとが比較されて、一致する場合に、ステッピングモータが１回転したと判断する。回転検知部１７は、ステッピングモータが１回転したことを判断すると、その検知結果を信号としてカウントトリガ生成部１３に出力する。
【００５３】
カウントトリガ生成部１３は、検知結果を受信して、トリガ信号を発生して、加速定数演算部１４にトリガ信号を出力する。
加速定数演算部１４は、入力されたトリガ信号に応じて角度量αを増加または減少させる。ステッピングモータの回転速度を加速させる場合、入力されたトリガ信号に応じて、例えば、角度量αに角度量２αを加えて、角度量３αを角度アドレス演算部１５に出力する。なお、角度アドレス演算部１５がポインタレジスタ１６に角度Ａ＋Ｎαを書き込むと、角度アドレス演算部１５において、角度が初期化される。そして、角度アドレス演算部１５が、ポインタレジスタ１６に開始角度Ａを書き込む。再び、ポインタレジスタ１６に開始角度Ａが書き込まれると、角度アドレス演算部１５において、開始角度Ａに角度量３αが加算されて、角度Ａ＋３αをポインタレジスタ１６に書き込む。このようにして、開始角度Ａに角度量３αずつが加算されていくことになる。一方、ステッピングモータの回転速度を減速させる場合は、加速定数演算部１４にて、角度量αを減少させる。
【００５４】
このようにして制御された回転角度に対応するデューティがデューティ設定レジスタ２０，２１に書き込まれる。そしてＰＷＭ１パルス発生部２２およびＰＷＭ２パルス発生部２３は、デューティを取り込んで、取り込んだデューティに応じたパルス信号をステッピングモータに出力することによって、ステッピングモータを駆動させることができる。
【００５５】
そして、最終的に、ステッピングモータを減速させて、停止すると、ステッピングモータの回転が停止する。なお、この時、加速制御開始部１１によって制御終了の信号がＣＰＵに出力される。
【００５６】
以上のように、これまでＣＰＵが主に行っていた処理を、各ユニットが行うことによって、ＣＰＵへの負担が軽減して、従来通りステッピングモータに対して、滑らかに加速、減速の制御を行うことができる。
【００５７】
なお、ここでは、開始角度、終了角度、および回転角度の角度アドレスに対応するデューティをＣＰＵによって設定し、角度アドレスレジスタ１２やデューティ記憶部１８に格納するようにした。
【００５８】
（付記１）  ステッピングモータを駆動するステッピングモータ制御装置において、
前記ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、
制御開始信号を受信して、前記角度アドレスレジスタから前記開始角度アドレスを出力させる加速制御開始部と、
前記開始角度アドレスを保持するポインタレジスタと、
前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、
前記デューティ記憶部から、前記ポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力するデューティ演算部と、
入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力するパルス発生部と、
前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部と、
前記ポインタレジスタから取り込んだ前記開始角度アドレスと終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する回転検知部と、
前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する加速定数演算部と、
を有することを特徴とするステッピングモータ制御装置。
【００５９】
（付記２）  前記加速制御開始部が、前記ステッピングモータの回転が停止すると、制御終了の信号を出力することを特徴とする付記１記載のステッピングモータ制御装置。
（付記３）  前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする付記１又は２記載のステッピングモータ制御装置。
【００６０】
（付記４）  前記検知結果により、トリガを発生して、前記トリガを出力するカウントトリガ生成部をさらに有し、前記加速定数演算部は入力した前記トリガによって、前記角度量を増加または減少させることを特徴とする付記１乃至３のいずれか一項に記載のステッピングモータ制御装置。
【００６１】
（付記５）  ステッピングモータを駆動するステッピングモータ制御方法において、
加速制御開始部が、制御開始信号を受信して、前記ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタから前記開始角度アドレスを出力させる工程と、
デューティ演算部が、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部から、前記開始角度アドレスを保持するポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力する工程と、
パルス発生部が、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力する工程と、
角度アドレス演算部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する工程と、
回転検知部が、前記ポインタレジスタから取り込んだ前記開始角度アドレスと終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、検知結果を出力する工程と、
加速定数演算部が、前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する工程と、
を有することを特徴とするステッピングモータ制御方法。
【００６２】
（付記６）  前記加速制御開始部が、前記ステッピングモータの回転が停止すると、制御終了の信号を出力することを特徴とする付記５記載のステッピングモータ制御方法。
（付記７）  前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする付記５又は６記載のステッピングモータ制御方法。
【００６３】
（付記８）  前記検知結果により、トリガを発生して、前記トリガを出力するカウントトリガ生成部をさらに有し、前記加速定数演算部は入力した前記トリガによって、前記角度量を増加または減少させることを特徴とする付記５乃至７のいずれか一項に記載のステッピングモータ制御方法。
【００６４】
（付記９）  制御開始信号を出力するＣＰＵと、
ステッピングモータの回転角度を段階的に設定する角度アドレスの開始角度アドレスがあらかじめ格納された角度アドレスレジスタと、前記制御開始信号を受信して、前記角度アドレスレジスタから前記開始角度アドレスを出力させる加速制御開始部と、前記開始角度アドレスを保持するポインタレジスタと、前記開始角度アドレスと前記開始角度アドレスに対応するデューティとがあらかじめ格納されたデューティ記憶部と、前記デューティ記憶部から、前記ポインタレジスタから取り込んだ前記開始角度アドレスに対応する前記デューティを選択し、選択した前記デューティを出力するデューティ演算部と、入力した前記デューティに対応するパルス信号を前記ステッピングモータに出力するパルス発生部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスに、入力した角度量を加算した角度アドレスを出力する角度アドレス演算部と、前記ポインタレジスタから取り込んだ前記開始角度アドレスと前記終了角度の前記角度アドレスとから前記ステッピングモータが１回転したことを検知し、前記検知結果を出力する回転検知部と、入力した前記検知結果により、前記角度量を増加または減少させて、増加または減少した前記角度量を出力する加速定数演算部と、を有するステッピングモータ制御装置と、
前記パルス信号を入力して、前記ステッピングモータを駆動させるステッピングモータと、
を有することを特徴とするステッピングモータ制御システム。
【００６５】
（付記１０）  前記加速制御開始部が、前記ステッピングモータの回転が停止すると、制御終了の信号を出力することを特徴とする付記９記載のステッピングモータ制御システム。
【００６６】
（付記１１）  前記デューティ記憶部は、前記開始角度および前記終了角度により算出された前記回転角度と前記回転角度に対応した前記デューティとを格納することを特徴とする付記９記載のステッピングモータ制御システム。
【００６７】
（付記１２）  入力した前記検知結果により、トリガを発生して、前記トリガを出力するカウントトリガ生成部をさらに有し、前記加速定数演算部は入力した前記トリガによって、前記角度量を増加または減少させることを特徴とする付記９記載のステッピングモータ制御システム。
【図面の簡単な説明】
【００６８】
【図１】本発明による外部信号を受信して駆動するステッピングモータ制御装置の構成の例を示すブロック図である。
【図２】外部信号を受信して駆動するステッピングモータ制御装置の構成の例を示すブロック図である。
【図３】外部信号を受信して駆動するステッピングモータ制御装置のＣＰＵが行う処理を示すフローチャート図である。
【図４】ステッピングモータの駆動原理の模式図（その１）である。
【図５】ステッピングモータの駆動原理の模式図（その２）である。
【図６】ステッピングモータの駆動原理の模式図（その３）である。
【符号の説明】
【００６９】
１０  ステッピングモータ制御装置
１１  加速制御開始部
１２  角度アドレスレジスタ
１３  カウントトリガ生成部
１４  加速定数演算部
１５  角度アドレス演算部
１６  ポインタレジスタ
１７  回転検知部
１８  デューティ記憶部
１９  デューティ演算部
２０，２１  デューティ設定レジスタ
２２  ＰＷＭ１パルス発生部
２３  ＰＷＭ２パルス発生部
【図１】
2008092652.tif 000003
【図２】
2008092652.tif 000004
【図３】
2008092652.tif 000005
【図４】
2008092652.tif 000006
【図５】
2008092652.tif 000007
【図６】
2008092652.tif 000008