(57)【要約】【課題】制御部の処理負荷を少なくし、高速回転を得ることができるモータ駆動装置、その駆動方法およびそのコンピュータプログラムを提供する。【解決手段】多相のステッピングモータ２の各相をそれぞれ励磁する励磁信号によりマイクロステップ駆動するモータ駆動装置１において、該ステッピングモータ２の回転軸に接続したタコジェネレータ３により回転速度を計測し、その回転速度に基づいて電流値算出部８で電流値を変化させ、その回転速度から算出した振動数が許容範囲を超えたとき分割数算出部９で分割数を変化させ、その電流値および分割数にしたがって該励磁信号を生成し該ステッピングモータ２に印加する波形生成部１０を備えたことを特徴とする。【選択図】        図１
2006180590.tif 000002
【特許請求の範囲】
【請求項１】
多相のステッピングモータの各相をそれぞれ励磁する励磁信号によりマイクロステップ駆動するモータ駆動装置において、
該ステッピングモータの回転軸に接続した回転速度計測手段により回転速度を計測し、その回転速度から算出した振動数が許容範囲を超えたとき分割数算出部で分割数を変化させ、その分割数にしたがって該励磁信号を生成し該ステッピングモータに印加する波形生成部を備えたことを特徴とするモータ駆動装置。
【請求項２】
請求項１のモータ駆動装置において、
前記回転速度計測手段により計測した回転速度に基づいて電流値算出部で電流値を変化させ、その電流値および前記分割数にしたがって該励磁信号を生成し該ステッピングモータに印加する波形生成部を備えたことを特徴とするモータ駆動装置。
【請求項３】
請求項１または請求項２のモータ駆動装置において、
前記波形生成部が、Ｄ／Ａ変換部、位相制御部および分割数制御部であることを特徴とするモータ駆動装置。
【請求項４】
請求項１、請求項２または請求項３のモータ駆動装置において、
前記分割数を、前記振動数が許容範囲の上限である許容範囲の上限値より大きいときは増加させることを特徴とするモータ駆動装置。
【請求項５】
請求項１、請求項２、請求項３または請求項４のモータ駆動装置において、
前記分割数を、前記振動数が許容範囲の下限値のときは減少させ、フルステップ駆動に切り換えることを特徴とするモータ駆動装置。
【請求項６】
多相のステッピングモータの各相をそれぞれ励磁する励磁信号によりマイクロステップ駆動するモータ駆動方法において、
該ステッピングモータの回転軸に接続した回転速度計測手段により回転速度を計測するステップと、その回転速度から算出した振動数が許容範囲を超えたとき分割数算出部で分割数を変化させるステップと、その分割数にしたがって該励磁信号を生成し該ステッピングモータに印加するステップとを有することを特徴とするモータ駆動方法。
【請求項７】
請求項６のモータ駆動方法において、
前記回転速度を計測するステップで計測した回転速度に基づいて電流値算出部で電流値を変化させるステップと、その電流値および前記分割数にしたがって該励磁信号を生成し該ステッピングモータに印加するステップとを有することを特徴とするモータ駆動方法。
【請求項８】
請求項６または請求項７のモータ駆動方法において、
前記分割数を変化させるステップは、前記振動数が許容範囲の上限である許容範囲の上限値より大きいときに分割数を増加させることを特徴とするモータ駆動方法。
【請求項９】
請求項６、請求項７または請求項８のモータ駆動方法において、
前記分割数を変化させるステップは、前記振動数が許容範囲の下限値のときに分割数を減少させ、フルステップ駆動とすることを特徴とするモータ駆動方法。
【請求項１０】
多相のステッピングモータの各相をそれぞれ励磁する励磁信号によりマイクロステップ駆動するモータ駆動のコンピュータプログラムにおいて、
該ステッピングモータの回転軸に接続した回転速度計測手段により回転速度を計測するステップと、その回転速度から算出した振動数が許容範囲を超えたとき分割数算出部で分割数を変化させるステップと、その分割数にしたがって該励磁信号を生成し該ステッピングモータに印加するステップとを有することを特徴とするコンピュータプログラム。
【請求項１１】
請求項１０のコンピュータプログラムにおいて、
前記回転速度を計測するステップで計測した回転速度に基づいて電流値算出部で電流値を変化させるステップと、その電流値および前記分割数にしたがって該励磁信号を生成し該ステッピングモータに印加するステップとを有することを特徴とするコンピュータプログラム。
【請求項１２】
請求項１０または請求項１１のコンピュータプログラムにおいて、
前記分割数を変化させるステップは、前記振動数が許容範囲の上限である許容範囲の上限値より大きいときに分割数を増加させることを特徴とするコンピュータプログラム。
【請求項１３】
請求項１０、請求項１１または請求項１２のコンピュータプログラムにおいて、
前記分割数を変化させるステップは、前記振動数が許容範囲の下限値のときに分割数を減少させ、フルステップ駆動とすることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置およびその駆動方法に関し、特に、ステッピングモータをマイクロステップ駆動およびフルステップ駆動するモータ駆動装置、その駆動方法およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
従来のステッピングモータ駆動装置は、ステッピングモータの各巻線に流す電流をＯＮ−ＯＦＦさせることにより回転させる２相ステッピングモータや３相ステッピングモータ等があるが、そのモータの振動や共振をより低減させることを可能にする５相ステッピングモータ等が存在する。
また、従来のステッピングモータ駆動方法では、ステッピングモータの各巻線に流す電流を電流設定データにより正弦波状、余弦波状にそれぞれ変化させることによりモータの振動や共振を低減させるマイクロステップ駆動方法が一般に知られている。
【０００３】
さらに、このマイクロステップ駆動方法において、ステッピングモータの低速回転では振動が少なく、かつ、より細かな制御ができる分解能の高い電流設定データを使用し、高速回転では、分解能の低い電流設定データを選択する方法が提案されている（例えば、特許文献１参照）。
【特許文献１】特公平０８−８７９６号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来の技術においては、マイクロステップ駆動方法を採用し高速回転では分解能の低い電流設定データを選択する場合であっても、ステッピングモータの回転が高速域になるほど制御周期が短くなるためＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）やＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御部への負担が大きくなり、一定回転以上の高速回転を得ることができないという問題がある。
【０００５】
本発明は、このような問題を解決することを課題とする。
【課題を解決するための手段】
【０００６】
そのため、本発明は、多相のステッピングモータの各相をそれぞれ励磁する励磁信号によりマイクロステップ駆動するモータ駆動装置において、該ステッピングモータの回転軸に接続した回転速度計測手段により回転速度を計測し、その回転速度から算出した振動数が許容範囲を超えたとき分割数算出部で分割数を変化させ、その分割数にしたがって該励磁信号を生成し該ステッピングモータに印加する波形生成部を備えたことを特徴とする。
【０００７】
また、前記回転速度計測手段により計測した回転速度に基づいて電流値算出部で電流値を変化させ、その電流値および前記分割数にしたがって該励磁信号を生成し該ステッピングモータに印加する波形生成部を備えたことを特徴とする。
【発明の効果】
【０００８】
このようにした本発明は、ステッピングモータの振動数が小さいときは分割数を少なくし、振動数がさらに小さいときはフルステップ駆動とすることにより制御部の処理負荷を低減させることができるという効果が得られ、さらに、制御部の処理負荷を低減させることができるためステッピングモータをより高速回転させることができるという効果が得られる。
【０００９】
また、ステッピングモータの振動数が大きいときは分割数を大きくすることにより電流値を正弦波または余弦波に近い形にした励磁信号でステッピングモータを励磁することにより振動数を少なくすることができるという効果が得られる。
さらに、ステッピングモータの回転速度に応じた最適な第１の励磁信号の電流値および第２の励磁信号の電流値でステッピングモータ２を励磁することにより消費電力を少なくすることができるという効果が得られる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照して本発明によるモータ駆動装置およびその駆動方法の実施例を説明する。
【実施例】
【００１１】
図１は第１の実施例を示すモータ駆動装置のブロック図、図２は第１の実施例を示す波形生成部のブロック図、図３は第１の実施例を示すフローチャート、図４は第１の実施例を示す制御テーブルの説明図である。
図１において、１はモータ駆動装置であり、ステッピングモータの各相を励磁する各励磁信号の大きさを制御して回転駆動させるものである。
【００１２】
２はステッピングモータであり、ステータコイルにパルス状の励磁信号を与えることにより所定の方向に所定の回転角を回転するモータである。
３はタコジェネレータであり、ステッピングモータ２の回転軸に接続して回転速度を測定する回転速度計測手段である。なお、本実施例ではタコジェネレータを使用して説明するがこれに限るものでなく、レゾルバやエンコーダ等であってもよい。
【００１３】
４は制御部であり、ＤＳＰやＣＰＵ等のマイクロコンピュータで構成され、モータ駆動装置１全体を制御するものである。この制御部４は後述する記憶部、カウンタ、振動数測定部、電流値算出部、分割数算出部等の機能単位で構成されている。また、制御部４はタコジェネレータ３からの入力信号によりステッピングモータ２の回転速度を知ることができる。なお、制御部４は後述する記憶部に格納されたソフトウェアにより制御されるものである。
【００１４】
５は記憶部であり、メモリ等の記憶素子で構成されソフトウェアや各種情報等を記憶し、また、記憶したものを読み出すことができるものである。本実施例では、記憶部５にステッピングモータ２を制御するために回転速度に対応する電流値係数等の制御テーブルも記憶する。
６はカウンタであり、図示しないクロック信号発生器から一定周期で発生するクロック信号を入力し、そのクロック信号に同期して計数動作を行なうものである。このカウンタ６は入力されたクロック信号に同期して計数したクロック数と予め制御部４により設定したカウント値が一致したとき制御部４に一致したことを知らせる。したがって、制御部４により設定するカウント値を変えることにより所望の時間が経過したことを制御部４は知ることができる。
【００１５】
７は振動数測定部であり、タコジェネレータ３で計測したステッピングモータ２の単位時間あたりの回転速度の変動を測定するものである。この振動数測定部７はタコジェネレータ３で計測したステッピングモータ２の単位時間あたりの回転速度の分散値を求めそれを振動数とする。振動数測定部７は求めた振動数を記憶部５に記憶する。
８は電流値算出部であり、ステッピングモータ２に印加する最適な電流値をステッピングモータ２の回転速度および電気角等から算出するものである。
【００１６】
９は分割数算出部であり、ステッピングモータ２の回転速度および振動数測定部７で算出した振動数等に基づいて最適なマイクロステップ駆動の分割数を算出するものである。
１０は波形生成部であり、Ｄ／Ａ（Ｄｉｇｉｔａｌ／Ａｎａｌｏｇｕｅ）変換部、位相制御部および分割数制御部で構成され、ステッピングモータ２の各相を励磁する各励磁信号を制御するものである。この波形生成部１０は制御部４から入力された設定データにしたがったステッピングモータ２へ印加する電流波形を生成する。
【００１７】
この波形生成部１０を図２の第１の実施例を示す波形生成部のブロック図で詳細に説明する。
図２において、２１はＤ／Ａ変換部であり、入力されたデジタルである電流設定データをアナログの電流信号に変換して出力するものである。このＤ／Ａ変換部２１は制御部４の電流値算出部８で算出して設定された電流設定データを電流信号に変換してステッピングモータ２へ電流を印加し各相を励磁する。
【００１８】
また、このＤ／Ａ変換部２１はコンパレータが備えられ所定量を超える電流をステッピングモータ２へ流さないように制御される。
２２は位相制御部であり、図示しないトランジスタ等からなるスイッチング素子等で構成されるものである。この位相制御部２２は制御部４により設定された励磁パターンデータによりこれらのスイッチング素子のオンオフを切り換えてステッピングモータ２へ出力する電流波形の位相を制御する。例えば、２相のステッピングモータを起動するときは正弦波状の第１の励磁信号と余弦波状の第２の励磁信号の位相を所定量ずらしてステッピングモータ２へ出力する。
【００１９】
２３は分割数制御部であり、制御部４により設定された分割数設定値にしたがって各相の励磁信号の電気角９０度を分割するものである。例えば、２相のステッピングモータの場合、第１の励磁信号および第２の励磁信号が設定された分割数設定値にしたがって分割される。なお、この分割数制御部２３は分割された電気角毎に制御部４へ割り込み信号を出力する。
【００２０】
ここで、マイクロステップ駆動について説明する。
マイクロステップ駆動はステッピングモータ２の巻線に印加する電流を変化させることにより回転させることをいい、例えば、２相のステッピングモータの場合は第１の励磁信号を正弦波として第２の励磁信号を余弦波として波形生成部１０からステッピングモータ２へ出力して回転させるモータ回転駆動である。
【００２１】
この第１の励磁信号と第２の励磁信号の位相は電気角で９０度ずれたものである。また、この第１の励磁信号および第２の励磁信号は分割数制御部２３により電気角９０度を所定数に分割され（以下、「分割数」という。）、その分割された電気角毎に位相制御部２２に設定された励磁パターンデータおよびＤ／Ａ変換部２１に設定された電流設定データにしたがって生成される。
【００２２】
上述した構成の作用について図３の第１の実施例を示すフローチャートのＳで示すステップにしたがって説明する。なお、本実施例は、２相のステッピングモータ２を制御する場合を説明する。
まず、制御部４は記憶部５に記憶した制御テーブルにしたがってステッピングモータ２の制御を開始して回転駆動する。ここで、制御テーブルを図４の第１の実施例を示す制御テーブルの説明図にしたがって説明する。ＳＰは回転速度であり、タコジェネレータ３により測定することができる。Ｘは電流値係数であり、回転速度ＳＰおよびステッピングモータ２の特性や装置に組み込んだときの負荷等により決定されるトルクに対応して最適な電流値を決定するための係数である。
【００２３】
この制御テーブルはステッピングモータ２の回転速度ＳＰ０に対応する電流値係数はＸ０が対応し、また、回転速度ＳＰｎに対応する電流値係数はＸｎが対応する。なお、このＳＰ０、Ｘ０は初期値であり回転速度が０の場合の値である。また、Ｘ０≧Ｘｎ≧Ｘｍの関係があり、電流値係数Ｘは０以上であって１以下の数値である。
制御部４の電流値算出部８はＤ／Ａ変換部２１に初期値として設定する第１の励磁信号の電流値であるＩＡおよび第２の励磁信号の電流値であるＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ０゜｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ０゜｜で計算される。ここで、Ｄはステッピングモータ２に印加する最大電流値である。電流値ＩＡおよびＩＢを算出すると、制御部４は算出した電流値ＩＡおよびＩＢをＤ／Ａ変換部２１に設定する。
【００２４】
また、制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。さらに、制御部４は分割数Ｂを分割数制御部２３に設定する。ここで、分割数Ｂはマイクロステップ駆動でステッピングモータ２を駆動する場合に予め決定された最適の値である。通常は、ステッピングモータ２の回転速度および特性や装置に組み込んだときの負荷等により決定されるトルクを考慮して実験等を行い決定されるものである。
【００２５】
なお、このとき第１回目のパルス割り込みが発生したときに設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを予め算出し記憶部５に記憶しておく。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ（９０゜÷Ｂ）｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ（９０゜÷Ｂ）｜で計算される。
制御部４は第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢをＤ／Ａ変換部２１に、励磁パターンデータを位相制御部２２に、分割数Ｂを分割数制御部２３に設定した後、波形生成部１０へ出力される図示しないモータ駆動信号をオンすることによりステッピングモータ２へ第１の励磁信号および第２の励磁信号が印加されステッピングモータ２が回転を開始する。
【００２６】
Ｓ３０１：分割数制御部２３は設定された分割数Ｂに相当する電気角が経過すると制御部４へ割り込み信号を出力する。その割り込み信号を受け付けた制御部４はパルス割り込みを発生させる。
Ｓ３０２：制御部４にパルス割り込みが発生すると、制御部４は記憶部５に記憶した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを波形生成部１０のＤ／Ａ変換部２１に設定する。また、制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。
【００２７】
Ｓ３０３：第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを設定すると制御部４はタコジェネレータ３の出力から現在の回転速度ＳＰｎを検出する。回転速度を検出した制御部４は電流値算出部８で次回設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘｎ×ｓｉｎ（パルス割り込み回数×９０゜÷Ｂ）｜、ＩＢ＝｜Ｄ×Ｘｎ×ｃｏｓ（パルス割り込み回数×９０゜÷Ｂ）｜で計算される。
【００２８】
Ｓ３０４：制御部４は算出した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを記憶部５に記憶する。記憶部５に記憶した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢは次回のパルス割り込みが発生したときに制御部４は波形生成部１０のＤ／Ａ変換部２１に設定する。
Ｓ３０５：制御部４はモータを停止させるまで上記Ｓ３０１からＳ３０４を継続する。
【００２９】
以上説明したように、第１の実施例では、図５（ａ）に示す低速回転での電流値のグラフおよび図５（ｂ）に示す高速回転での電流値のグラフのようにステッピングモータ２が低速回転のときはより大きな電流値で励磁し、高速回転のときは小さな電流値で励磁する。つまり、ステッピングモータ２の回転速度に応じた最適な第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢでステッピングモータ２を励磁することにより消費電力を少なくすることができるという効果が得られる。
【００３０】
本発明の第２の実施例の構成は第１の実施例と同様であるので同一の符号を付してその説明を省略する。
上述した構成の作用について図６の第２の実施例を示すフローチャートのＳで示すステップにしたがって説明する。なお、本実施例は、２相のステッピングモータ２を制御する場合を説明する。
【００３１】
まず、制御部４は記憶部５に記憶した制御テーブルにしたがってステッピングモータ２の制御を開始して回転駆動する。ここで、制御テーブルを図７の第２の実施例を示す制御テーブルの説明図にしたがって説明する。なお、ＳＰは回転速度、Ｘは電流値係数であり第１の実施例と同様なのでその説明を省略する。
Ｂは電気角９０度を分割する分割数であり、回転速度ＳＰに対応して予め決定されている標準の値である。
【００３２】
この制御テーブルはステッピングモータ２の回転速度ＳＰ０に対応する分割数はＢ０、電流値係数はＸ０が対応し、また、回転速度ＳＰｎに対応する分割数はＢｎ、電流値係数はＸｎが対応する。なお、このＳＰ０、Ｂ０、Ｘ０は初期値であり回転速度が０の場合の値である。また、Ｘ０≧Ｘｎ≧Ｘｍの関係があり、電流値係数Ｘは０以上であって１以下の数値である。さらに、Ｂ０≧Ｂｎ≧Ｂｍの関係があり、分割数Ｂは１以上の整数値である。
【００３３】
制御部４の電流値算出部８はＤ／Ａ変換部２１に初期値として設定する第１の励磁信号の電流値であるＩＡおよび第２の励磁信号の電流値であるＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ０゜｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ０゜｜で計算される。ここで、Ｄはステッピングモータ２に印加する最大電流値である。電流値ＩＡおよびＩＢを算出すると、制御部４は算出した電流値ＩＡおよびＩＢをＤ／Ａ変換部２１に設定する。
【００３４】
また、制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。さらに、制御部４は分割数の初期値であるＢ０を分割数制御部２３に設定する。
なお、このとき第１回目のパルス割り込みが発生したときに設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを予め算出し記憶部５に記憶しておく。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ（９０゜÷Ｂ０）｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ（９０゜÷Ｂ０）｜で計算される。
【００３５】
制御部４は第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢをＤ／Ａ変換部２１に、励磁パターンデータを位相制御部２２に、分割数Ｂ０を分割数制御部２３に設定した後、波形生成部１０へ入力される図示しないモータ駆動信号をオンすることによりステッピングモータ２へ第１の励磁信号および第２の励磁信号が印加されステッピングモータ２が回転を開始する。
【００３６】
ステッピングモータ２が回転すると制御部４はカウンタ６により所定の時間経過した毎にタコジェネレータ３から入力した信号によりステッピングモータ２の回転速度を取得し、その回転速度を記憶部５に記憶する。記憶部５に記憶する回転速度は所定数記憶しておくものとする。
Ｓ６０１：ステッピングモータ２が回転を開始すると分割数制御部２３は設定された分割数に相当する電気角が経過、つまり、所定の電気角が経過すると制御部４へ割り込み信号を出力する。その割り込み信号を受け付けた制御部４はパルス割り込みを発生させる。なお、このパルス割り込みが発生する間隔は分割数制御部２３に設定された分割数により決定される。
【００３７】
Ｓ６０２：制御部４の振動数測定部７は記憶部５に記憶した所定数の回転速度からその分散値を算出し、その分散値を振動数とする。
Ｓ６０３：制御部４はタコジェネレータ３の出力から現在の回転速度ＳＰｎを検出し、その回転速度ＳＰｎに対応する分割数Ｂｎを制御テーブルから得る。算出した振動数が許容範囲の上限値αより大きい場合、分割数Ｂｎに係数γを乗算して得た分割数を波形生成部１０の分割数制御部２３に設定する。算出した振動数が許容範囲の上限値α以下の場合は分割数Ｂｎを分割数制御部２３に設定する。
【００３８】
ここで、許容範囲とは算出した振動数が小さく制御テーブルから得た分割数Ｂｎをさらに増加させる必要ない振動数の範囲をいう。αはその許容範囲の上限値である。したがって、算出した振動数が許容範囲の上限値αより大きい場合は分割数Ｂｎに係数γを乗算して分割数を増加させる。
なお、許容範囲の上限値αおよび係数γはステッピングモータ２の特性や回転軸の負荷等により予め算出されるものである。また、γは１より大きな数値となるものである。
【００３９】
このように、ステッピングモータ２の振動数が大きい場合はマイクロステップ駆動の分割数を増加して制御する。
Ｓ６０４：制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。
Ｓ６０５：制御部４にパルス割り込みが発生すると、制御部４は記憶部５に記憶した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを波形生成部１０のＤ／Ａ変換部２１に設定する。
【００４０】
Ｓ６０６：第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを設定すると制御部４はタコジェネレータ３の出力から現在の回転速度ＳＰｎを検出する。回転速度を検出した制御部４は電流値算出部８で次回設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘｎ×ｓｉｎ（現在までの電気角の総和）｜、ＩＢ＝｜Ｄ×Ｘｎ×ｃｏｓ（現在までの電気角の総和）｜で計算される。
【００４１】
なお、電気角の総和は制御部４が分割数算出部９に分割数を設定する毎に電気角を累計して記憶部５に記憶しておく。
Ｓ６０７：制御部４は算出した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを記憶部５に記憶する。
Ｓ６０８：制御部４はモータを停止させるまで上記Ｓ３０１からＳ３０４を継続する。
【００４２】
以上説明したように、第２の実施例では、図８（ａ）に示す低振動での電流値のグラフおよび図８（ｂ）に示す高振動での電流値のグラフのようにステッピングモータ２が高振動のときはより大きな分割数で制御する。つまり、ステッピングモータ２の振動数が大きいときは分割数を大きくすることにより電流値を正弦波または余弦波に近い形にした励磁信号でステッピングモータ２を励磁することにより振動数を少なくすることができるという効果が得られる。
【００４３】
また、ステッピングモータ２の振動数が小さいときは分割数を小さくすることにより制御部の処理負荷を低減させることができるという効果が得られる。
さらに、制御部の処理負荷を低減させることができるためステッピングモータ２をより高速回転させることができるという効果が得られる。
また、ステッピングモータ２の回転速度に応じた最適な第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢでステッピングモータ２を励磁することにより消費電力を少なくすることができるという効果が得られる。
【００４４】
本発明の第３の実施例の構成は第１の実施例と同様であるので同一の符号を付してその説明を省略する。
上述した構成の作用について図９の第３の実施例を示すフローチャートのＳで示すステップにしたがって説明する。なお、本実施例は、２相のステッピングモータ２を制御する場合を説明する。
【００４５】
まず、制御部４は記憶部５に記憶した制御テーブルにしたがってステッピングモータ２の制御を開始して回転駆動する。ここで、制御テーブルは第２の実施例と同様であるためその説明を省略する。
制御部４の電流値算出部８はＤ／Ａ変換部２１に初期値として設定する第１の励磁信号の電流値であるＩＡおよび第２の励磁信号の電流値であるＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ０゜｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ０゜｜で計算される。ここで、Ｄはステッピングモータ２に印加する最大電流値である。電流値ＩＡおよびＩＢを算出すると、制御部４は算出した電流値ＩＡおよびＩＢをＤ／Ａ変換部２１に設定する。
【００４６】
また、制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。さらに、制御部４は分割数の初期値であるＢ０を分割数制御部２３に設定する。
なお、このとき第１回目のパルス割り込みが発生したときに設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを予め算出し記憶部５に記憶しておく。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘ０×ｓｉｎ（９０゜÷Ｂ）｜、ＩＢ＝｜Ｄ×Ｘ０×ｃｏｓ（９０゜÷Ｂ）｜で計算される。
【００４７】
制御部４は第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢをＤ／Ａ変換部２１に、励磁パターンデータを位相制御部２２に、分割数Ｂ０を分割数制御部２３に設定した後、波形生成部１０へ入力される図示しないモータ駆動信号をオンすることによりステッピングモータ２へ第１の励磁信号および第２の励磁信号が印加されステッピングモータ２が回転を開始する。
【００４８】
ステッピングモータ２が回転すると制御部４はカウンタ６により所定の時間経過した毎にタコジェネレータ３から入力した信号によりステッピングモータ２の回転速度を取得し、その回転速度を記憶部５に記憶する。記憶部５に記憶する回転速度は所定数記憶しておくものとする。
Ｓ８０１：ステッピングモータ２が回転を開始すると分割数制御部２３は設定された分割数に相当する電気角が経過、つまり、所定の電気角が経過すると制御部４へ割り込み信号を出力する。その割り込み信号を受け付けた制御部４はパルス割り込みを発生させる。なお、このパルス割り込みが発生する間隔は分割数制御部２３に設定された分割数により決定される。
【００４９】
Ｓ８０２：制御部４の振動数測定部７は記憶部５に記憶した所定数の回転速度からその分散値を算出し、その分散値を振動数とする。
Ｓ８０３：制御部４はタコジェネレータ３の出力から現在の回転速度ＳＰｎを検出し、その回転速度ＳＰｎに対応する分割数Ｂｎを制御テーブルから得る。
次に、算出した振動数が許容範囲の下限値βより大きいか否かを調べる。
【００５０】
Ｓ８０４：算出した振動数が許容範囲の下限値βより大きく、かつ、許容範囲の上限値αより大きい場合は許容範囲を超えたとして、分割数Ｂｎに係数γを乗算して得た分割数を波形生成部１０の分割数制御部２３に設定する。算出した振動数が許容範囲の上限値α以下であって許容範囲の下限値βより大きい場合は分割数Ｂｎを分割数制御部２３に設定する。
【００５１】
ここで、許容範囲は算出した振動数が小さく制御テーブルから得た分割数Ｂｎをさらに増加させる必要ない振動数の範囲をいうことは第２の実施例と同様である。また、αはその許容範囲の上限値であることも第２の実施例と同様である。
βは許容範囲の下限値であり、マイクロステップ制御を必要とする下限値を意味するものである。したがって、振動数がこの許容範囲の下限値βに到達するとマイクロステップ制御を不要とする。
【００５２】
Ｓ８０５：算出した振動数が許容範囲の下限値β以下の場合は分割数を１にして分割数制御部２３に設定する。
なお、許容範囲の上限値α、許容範囲の下限値βおよび係数γはステッピングモータ２の特性や回転軸の負荷等により予め決定されている値である。また、許容範囲の上限値αと許容範囲の下限値βはα≧βの関係があり、係数γは１より大きな数値となるものである。
【００５３】
このように、ステッピングモータ２の振動数が許容範囲の下限値β以下である場合はマイクロステップ駆動の分割数を１として、つまり、マイクロステップ駆動からフルステップ駆動に切り換えて制御する。
Ｓ８０６：制御部４は第１の励磁信号が正弦波、第２の励磁信号が余弦波となる励磁パターンデータを位相制御部２２に設定する。
【００５４】
Ｓ８０７：振動数が許容範囲の下限値β以下の場合は、制御部４は第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢをステッピングモータ２に印加できる最大の電流値として波形生成部１０のＤ／Ａ変換部２１に設定する。
振動数が許容範囲の下限値βより大きい場合は、制御部４は記憶部５に記憶した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを波形生成部１０のＤ／Ａ変換部２１に設定する。
【００５５】
Ｓ８０８：振動数が許容範囲の下限値βより大きい場合は、第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを設定すると制御部４はタコジェネレータ３の出力から現在の回転速度ＳＰｎを検出する。回転速度を検出した制御部４は電流値算出部８で次回設定する第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを算出する。この電流値ＩＡおよびＩＢは、ＩＡ＝｜Ｄ×Ｘｎ×ｓｉｎ（現在までの電気角の総和）｜、ＩＢ＝｜Ｄ×Ｘｎ×ｃｏｓ（現在までの電気角の総和）｜で計算される。
【００５６】
なお、電気角の総和は制御部４が分割数算出部９に分割数を設定する毎に電気角を累計して記憶部５に記憶しておく。
振動数が許容範囲の下限値β以下の場合は、上記計算によらず第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢをステッピングモータ２に印加できる最大の電流値とする。
【００５７】
Ｓ８０９：制御部４は算出した第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢを記憶部５に記憶する。
Ｓ８１０：制御部４はモータを停止させるまで上記Ｓ３０１からＳ３０４を継続する。
なお、図１０（ａ）は従来のマイクロステップ駆動での振動数のグラフであり、図１０（ｂ）は本実施例での振動数のグラフである。この実験結果であるふたつのグラフを比較すると、本実施例では、低回転速度および中回転速度において振動数を低下させることができることがわかる。
【００５８】
以上説明したように、第３の実施例では、ステッピングモータ２の振動数が大きいときは分割数を大きくすることにより電流値を正弦波または余弦波に近い形にした励磁信号でステッピングモータ２を励磁することにより振動数を少なくすることができるという効果が得られる。
また、ステッピングモータ２の振動数が小さいときは分割数を少なくし、振動数がさらに小さいときはフルステップ駆動とすることにより制御部の処理負荷を低減させることができるという効果が得られる。
【００５９】
さらに、制御部の処理負荷を低減させることができるためステッピングモータ２をより高速回転させることができるという効果が得られる。
また、ステッピングモータ２の回転速度に応じた最適な第１の励磁信号の電流値ＩＡおよび第２の励磁信号の電流値ＩＢでステッピングモータ２を励磁することにより消費電力を少なくすることができるという効果が得られる。
【図面の簡単な説明】
【００６０】
【図１】第１の実施例を示すモータ駆動装置のブロック図
【図２】第１の実施例を示す波形生成部のブロック図
【図３】第１の実施例を示すフローチャート
【図４】第１の実施例を示す制御テーブルの説明図
【図５】第１の実施例を示す電流値のグラフ
【図６】第２の実施例を示すフローチャート
【図７】第２の実施例を示す制御テーブルの説明図
【図８】第２の実施例を示す電流値のグラフ
【図９】第３の実施例を示すフローチャート
【図１０】第３の実施例を示す振動数のグラフ
【符号の説明】
【００６１】
１    モータ駆動装置
２    ステッピングモータ
３    タコジェネレータ
４    制御部
５    記憶部
６    カウンタ
７    振動数測定部
８    電流値算出部
９    分割数算出部
１０  波形生成部
２１  Ｄ／Ａ変換部
２２  位相制御部
２３  分割数制御部
【図１】
2006180590.tif 000003
【図２】
2006180590.tif 000004
【図３】
2006180590.tif 000005
【図４】
2006180590.tif 000006
【図５】
2006180590.tif 000007
【図６】
2006180590.tif 000008
【図７】
2006180590.tif 000009
【図８】
2006180590.tif 000010
【図９】
2006180590.tif 000011
【図１０】
2006180590.tif 000012