(57)【特許請求の範囲】
【請求項１】
所定の関数で表わされる駆動パルスに応じて、ステッピングモータを該ステッピングモータの固有ステップ角を分割数Ｎ（Ｎ＞０）で分割した微小ステップ角ずつ回転駆動する、ステッピングモータの速度制御方法において、
制御目標速度が高速になるにつれて分割数Ｎを減少させるとともに、前記分割数Ｎが所定の調整基準値未満になった場合に前記駆動パルスの周波数を増加させ、制御目標速度が低速になるにつれて分割数Ｎを増加させることを特徴とするステッピングモータの速度制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステッピングモータを低振動かつ高精度で駆動するのに最適な、ステッピングモータの速度制御方法に関するものである。従って、本発明は、低振動かつ高精度で動作すべき任意の製品（例えば、分注用シリンジ、プリンタヘッド、読取り用スキャナ、マイクロマニュピレータ、光ピックアップ、光学的照準機構等の各種微小駆動機構）に適用できる。
【０００２】
【従来の技術】
ステッピングモータは回転速度が高速になるにつれてトルクが低下する特性を有しているため、ステッピングモータを自起動領域以上の高速領域で回転駆動するためには、加減速制御を含む速度制御を行う必要がある。このような速度制御を行う従来のステッピングモータの速度制御装置は、例えば図８に示すように構成されている。
【０００３】
図８に示すパルス発生回路１０１は、周波数Ｆ（ｔ）が時系列的に変化する駆動パルスを発生する。この駆動パルスは、図９に例示するように、ステッピングモータの速度Ｓの加速制御区間、定速制御区間および減速制御区間に対応する波形から成る。このパルス発生回路１０１により発生される駆動パルスはカウンタ１０２に出力され、カウンタ１０２は上記駆動パルスをカウントしてカウント値をデコーダ１０３に出力する。デコーダ１０３は上記カウント値を励磁電流パターンに変換してドライブ回路１０４に出力し、ドライブ回路１０４は上記励磁電流パターンに基づいてステッピングモータ１０５を回転駆動する。
【０００４】
このような従来のステッピングモータの速度制御装置では、加減速制御における加減速度を等加速度としているため、加減速制御の開始部分および終了部分で急激な速度変化が生じる。この急激な速度変化は振動の発生原因となるので、滑らかな加減速を実現するために、種々の提案がなされている。
【０００５】
例えば、特開平８−２６３１２９号公報に記載されているモータの加減速制御方式では、上述した加減速制御の開始部分および終了部分における急激な速度変化を緩和することにより振動を抑制しながら高速回転を実現するため、上記公報の図１に示すような、周波数が三角関数特性で時系列的に変化するパルスを発生するパルス発生回路を用いて、目標とする回転速度まで滑らかに加減速を行うことを意図している。このモータの加減速制御方式では、駆動パルスの周波数を変化させるだけでステッピングモータの回転速度を制御しようとしている。
【０００６】
しかし、上記パルス発生回路が発生するパルスは周波数が連続的に変化するものとはならず、実際には図９の加速制御区間に破線で併記したように、１パルス毎に周波数が階段状に上昇して離散的に変化するものとなる。その上、この制御方式では、ステッピングモータのステップ角を上記パルスと１対１で対応させる通常のステップ駆動を行っているため、ステッピングモータが一般にパルス入力に対しステップ応答することを考慮すると、この制御方式では振動を抑制することにも所望の制御精度を得ることにも限界がある。特に、ステップモータの低速回転領域（加速制御の開始部分および減速制御の終了部分）では、パルスの周波数の離散的な変化が一層顕著になるので、この制御方式では、振動を抑制するのは困難である。
【０００７】
そこで、例えばステッピングモータの励磁相に流れる電流の大きさを正弦波状に変化させることにより、ステッピングモータを該ステップモータの固有ステップ角（当該ステッピングモータの励磁コイル構成により決定される１パルス当たりの回転角である）を分割数Ｎ（例えば整数）で分割した微小ステップ角ずつ回転駆動する、いわゆるマイクロステップ駆動を行うことにより、ステップモータの低速回転領域における振動を抑制することが考えられる。
【０００８】
【発明が解決しようとする課題】
ステッピングモータの回転速度を低下させずにマイクロステップ駆動を行うためには、固有ステップ角の分割数に応じて駆動周波数を高める必要があり、例えば１固有ステップ角を３２分割した場合には、駆動周波数を３２倍に高める必要がある。この場合、制御系を高速化する必要があるため、制御系、特に高周波回路の複雑化とこれに伴う大型化ならびにコストアップを招いてしまう。さらに、マイクロコンピュータ等を用いて制御系を構成する場合には、処理速度に上限があるため、制御可能な回転速度の上限の低下が避けられない。そのため、分割数を増加させる場合の最大分割数が制限されてしまう。
【０００９】
本発明は、制御系の複雑化やコストアップを招くことなく、低振動かつ高精度でステッピングモータの速度制御を行うことができる、ステッピングモータの速度制御方法を提供することを目的とする。
【００１０】
【課題を解決するための手段】
上記第１の目的のため、請求項１に記載の第１発明は、所定の関数で表わされる駆動パルスに応じて、ステッピングモータを該ステッピングモータの固有ステップ角を分割数Ｎ（Ｎ＞０）で分割した微小ステップ角ずつ回転駆動する、ステッピングモータの速度制御方法において、制御目標速度が高速になるにつれて分割数Ｎを減少させるとともに、前記分割数Ｎが所定の調整基準値未満になった場合に前記駆動パルスの周波数を増加させ、制御目標速度が低速になるにつれて分割数Ｎを増加させることを特徴とする。
【００１１】
本発明では、ステッピングモータの制御目標速度である回転速度に応じて固有ステップ角の分割数を変化させる、いわゆるマイクロステップ駆動を行うことにより、ステッピングモータの速度制御を行う。その際、制御目標速度が高速になるにつれて分割数Ｎを減少させるとともに、前記分割数Ｎが所定の調整基準値未満になった場合に前記駆動パルスの周波数を増加させ、制御目標速度が低速になるにつれて分割数Ｎを増加させる制御を行う。なお、上記分割数Ｎを増加または減少させる制御はそれぞれ、当該速度制御における加速制御区間または減速制御区間において実施されることになる。
【００１２】
マイクロステップ駆動時には、ステッピングモータの回転速度Ｓは、駆動パルスの周波数Ｆと、固有ステップ角αと、その分割数Ｎとによって決定され、次式で表わされる。
Ｓ＝（α／Ｎ／３６０）×Ｆ×６０ ＝（α／Ｎ）×Ｆ／６ （ｒｐｍ） …（１）
【００１３】
この（１）式においては、周波数Ｆが定数である場合には速度Ｓは分割数Ｎに反比例して変化するので、起動時（加速開始時）や停止時（減速終了時）等のステップモータの低速回転領域では、分割数Ｎが大きくなって１パルス当たりのステップ角であるα／Ｎが小さくなる。そのため、本発明では、ステップモータがステップ応答することに変わりはないが、ステップ角が小さくなるのでオーバシュート、アンダーシュートが少なくなり、滑らかに回転することになるので、振動を低減するとともに「分割数Ｎを一定にして周波数Ｆを変化させることにより速度制御を行う」場合に比べて制御精度を向上させる効果が得られる。
【００１４】
一方、加速終了から減速開始までのステップモータの高速回転領域では、分割数Ｎが小さくなると同時に駆動パルスの周波数が大きくなるようにしているので、分割数Ｎの減少に伴う駆動パルスの離散化傾向が周波数の増加によって補正されることになり、高速回転領域での振動特性および制御精度が向上する。
【００１５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づき詳細に説明する。
図１は本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第１参考例の構成を示す図である。
【００１６】
図１に示す基準パルス発生回路１０は、図示しない上位の制御回路から制御開始信号が入力されると、ステッピングモータの回転速度制御に用いる基準パルスを発生して、この基準パルスをカウンタ１１および後述する逓倍回路１６に出力する。ここで、上記基準パルスは、例えばステッピングモータの最高回転速度に対応する周波数を有するものとする。なお、上記制御開始信号の入力時には、当該速度制御に必要な加減速パターン等に関する信号も上位の制御回路から同時に入力されるものとする。この基準パルス発生回路１０は、周波数が時系列的に変化する駆動パルスを発生する代わりに駆動パルス発生のための周波数一定の基準パルスを発生できればよいので、図８のパルス発生回路１０１に比べて回路が簡略化され、低コストで構成することができる。
【００１７】
カウンタ１１は、基準パルス発生回路１０からの基準パルスをカウントすることにより制御開始時からの経過時間を表わす時刻データＴｉを発生して、その時刻データＴｉを演算回路１２および逓倍回路１６に出力する。
【００１８】
ここで、基準パルスの周波数をＦ0 とし、時刻Ｔｉにおける回転速度をＳ（Ｔｉ）とし、分割数をＮ（Ｔｉ）とし、１パルス当たりの回転角（ステップ角）を△βとすると、Ｎ（Ｔｉ）および△βは、上記（１）式（ただし、Ｆ＝Ｆ0 とする）より以下の（２）、（３）式で表わされる。
Ｎ（Ｔｉ）＝（αＦ0 ／６）／Ｓ（Ｔｉ） …（２）
△β ＝α／Ｎ（Ｔｉ）
＝（６／Ｆ0 ）Ｓ（Ｔｉ） …（３）
上記（２）式では、周波数Ｆ0 および固有ステップ角αが定数であるので、速度Ｓ（Ｔｉ）は分割数Ｎ（Ｔｉ）に反比例して変化することになる。なお、分割数Ｎ（Ｔｉ）は、正の値を取り得るので、正の整数（デジタル値）とするものとするが、小数点部分を含む正の値（アナログ値）としてもよい。
【００１９】
したがって、時刻Ｔｉにおける回転角をβ（Ｔｉ）とし、時刻Ｔｉにおける励磁相電流値をIa（Ｔｉ）およびIb（Ｔｉ）とし、制御開始時におけるステッピングモータの回転角をβ0 とすると、β（Ｔｉ）、Ia（Ｔｉ）およびIb（Ｔｉ）はそれぞれ、以下の（４）〜（６）式で表わされる。
β（Ｔｉ）＝β0 ＋Σ△β ＝β0 ＋（６／Ｆ0 ）×ΣＳ（Ｔｉ） …（４）
Ia（Ｔｉ）＝ＳＩＮ｛（９０／α）×β（Ｔｉ）｝ …（５）
Ib（Ｔｉ）＝ＣＯＳ｛（９０／α）×β（Ｔｉ）｝ …（６）
【００２０】
演算回路１２は、上記（２）式により分割数Ｎ（Ｔｉ）を演算するとともに、上記（４）〜（６）式に基づいて時刻データＴｉから回転角β（Ｔｉ）、励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）を演算して、励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）をＤ／Ａコンバータ１３に出力するとともに、回転角β（Ｔｉ）を逓倍回路１６に出力する。Ｄ／Ａコンバータ１３は、ディジタル信号である励磁相電流Ia（Ｔｉ）およびIb（Ｔｉ）をアナログ電圧に変換して、ドライブ回路１４に出力する。ドライブ回路１４は、上記アナログ電圧に比例した励磁電流を発生してその電流をステッピングモータ１５に供給して、目標回転角度になるようにステッピングモータ１５の回転制御を行う。
【００２１】
逓信回路１６は、基準パルス発生回路１０からの基準パルスおよび演算回路１２からの回転角β（Ｔｉ）に基づき、１パルス当たりの回転角Δβに比例した周波数を有するパルスを出力する。したがってこのパルスをカウントすることによりステッピングモータ１５の実際の回転角を容易に確認することができる。なお、この逓信回路１６は、ステッピングモータ動作状態確認等に使用される。
【００２２】
以上の一連の制御を基準パルス毎に繰り返すことにより、時刻Ｔｉにおける回転速度を表わす関数Ｓ（Ｔｉ）に基づく、ステッピングモータのマイクロステップ駆動による加減速制御を含む速度制御を行うことができる。
【００２３】
本参考例のステッピングモータの速度制御によれば、起動時（加速開始時）や停止時（減速終了時）等のステップモータの低速回転領域では、分割数Ｎが大きくなって１パルス当たりのステップ角であるα／Ｎが小さくなるので、滑らかに回転することになり、振動を低減するとともに「分割数Ｎを一定にして周波数Ｆを変化させることにより速度制御を行う」場合に比べて制御精度を向上させる効果が得られる。
【００２４】
一方、加速終了時、減速開始時等のステップモータの高速回転領域では、分割数Ｎが小さくなるので、所望の高速回転を実現する際に駆動パルスの周波数を回転速度Ｓに応じて高める必要はなく、駆動周波数の上昇に起因する制御系の複雑化やコストアップを招くことはない。ちなみに、ステップモータの励磁相数を増やすことで同種の作用を得ようとする方法も考えられるが、この方法だとステップモータおよびドライブ回路のコストアップにより、価格を高額化すると考えられる。なお、高速回転時には、分割数Ｎを小さくして１パルス当たりのステップ角を大きくしても安定して回転するため、振動が増加することはない。
【００２５】
図２は本発明の速度制御方法を実施するステッピングモータの速度制御装置の構成を示す図である。本実施形態の速度制御装置は、基準パルス発生回路１０および演算回路１２の間に周波数調整回路１７を追加したものであり、それ以外の部分は上記第１参考例の速度制御装置と同様に構成する。
【００２６】
上記周波数調整回路１７は、演算回路１２から入力される分割数Ｎ（Ｔｉ）を絶えず監視しており、分割数Ｎ（Ｔｉ）が所定の調整基準値未満になった場合には、基準パルス発生回路１０が発生する基準パルスの周波数をＦ0 から（Ｆ0 ＋ΔＦ）に高める周波数調整を行う。
【００２７】
本実施形態は、高速回転領域の特性を上記第１参考例よりも向上させることを目的としている。すなわち、上記第１参考例は、高速回転領域における分割数Ｎ（Ｔｉ）を小さくすることにより制御系の処理速度を相対的に低速化し、それによりコストダウンを図るものであるが、最高回転速度に到達する図９の速度制御パターンの定速制御区間における分割数Ｎ（Ｔｉ）を１とした場合、加減速領域での分割数Ｎが２から１、１から２へ変化することになる。すなわち速度Ｓが２倍又は１／２へ急激な変化をする。このように高速回転領域での分割数Ｎを急変させると速度Ｓの変化が急激になり、振動が発生するおそれがある。
【００２８】
これに対し、本実施形態では、分割数が小さく速度変化が過大になる場合に限り、基準パルス発生回路１０が発生する基準パルスの周波数を高めて速度制御を行うから、分割数の減少に伴う駆動パルスの離散化傾向が基準パルスの周波数の増加によって補正されることになる。したがって、高速回転領域で駆動周波数を上げることなく第１参考例におけるよりも振動が少ないステッピングモータの速度制御が可能となる。
【００２９】
図３は本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第２参考例の構成を示す図である。本参考例の速度制御装置は、第１参考例における演算回路１２をマイクロコンピュータ１８およびデュアルポートＲＡＭ１９に置き換えたものであり、それ以外の部分は上記第１参考例と同様に構成する。なお、図中、逓倍回路１６の記入を省略している。
【００３０】
上記マイクロコンピュータ１８は、ステッピングモータの制御開始に先立ち、図示しない上位の制御システムから速度制御のための加減速パラメータとして速度Ｓの時系列的変化を表わす関数Ｓ（ｔ）のデータを読み込んでいるものとする。この関数Ｓ（ｔ）のデータに基づき、マイクロコンピュータ１８は、上記（４）〜（６）式から基準パルス毎の励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）を演算してそれら励磁相電流値をデュアルポートＲＡＭ１９に記憶するとともに、制御開始時には基準パルス発生回路１０の最適な発振周波数Ｆ0を設定する。この場合、（４）〜（６）式における時刻Ｔｉは一定の時間間隔で変化するので、簡単な演算で上記励磁相電流値を求めることができる。
【００３１】
上記カウンタ１１は、基準パルス発生回路１０からの基準パルスに基づき時刻データＴｉを発生し、この時刻データＴｉがデュアルポートＲＡＭ１９のアドレス端子Ａに入力されると、当該アドレスに記憶された、関数Ｓ（ｔ）に対応する励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）が読み出され、デュアルポートＲＡＭ１９のデータ端子Ｄを経てＤ／Ａコンバータ13に出力される。そして、基準パルスが入力される度にカウンタ１１で時刻Ｔｉが１ずつインクリメントされ、この時刻Ｔｉにより励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）が呼び出されるので、関数Ｓ（Ｔｉ）に基づくステッピングモータの速度制御を行うことができる。
【００３２】
なお、上記（４）式には制御開始時の回転角β0 が含まれているので、一般的にはステップモータが回転する毎にリアルタイムで励磁相電流値を算出する必要があり、時刻Ｔｉにおける回転角β（Ｔｉ）を演算する演算回路を固定データを記憶したＲＯＭ等で構成することはできない。そのため、本参考例では、第１参考例における演算回路１２に相当する部分をデュアルポートＲＡＭおよびマイクロコンピュータによって構成している。
【００３３】
本参考例によれば、上記第１参考例と同様の作用効果が得られる。その上、時刻Ｔｉにおける励磁相電流値を第１参考例のようにリアルタイムで演算する代わりに、予め制御開始指令時に一括生成した励磁相電流値Ia（Ｔｉ）およびIb（Ｔｉ）を時刻Ｔｉに同期してデュアルポートＲＡＭ１９から読み出すだけでよいから、制御系を簡略化することができる。
【００３４】
なお、本参考例では、高速回転に対応し得るように励磁相電流値を予め演算してデュアルポートＲＡＭ１９に記憶するようにしたが、最大回転速度を若干低下させても構わない場合には、マイクロコンピュータ１８で基準パルス毎に励磁相電流値を算出して、その励磁相電流値を直接的にＤ／Ａコンバータ１３に出力するように構成してもよい。その場合、デュアルポートＲＡＭ１９を省略できるので、さらに低コストになる。
【００３５】
図４は本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第３参考例の構成を示す図である。本参考例の速度制御装置は、第１参考例の基準パルス発生回路１０、カウンタ１１、演算回路１２、Ｄ／Ａコンバータ１３および逓倍回路１６を、ステッピングモータの速度制御用の１つの集積回路（例えばマイクロコンピュータやＡＳＩＣ）２０として構成することにより制御系を簡略化したものである。なお、上述したようにステップモータの高速回転領域で分割数Ｎを小さくして高速回転時の駆動周波数の上昇に起因する制御系の高速化を回避したことは、本参考例における制御系の１チップ化に寄与しており、例えば駆動制御回路を従来の１０分の１以下の面積にすることが可能となる。
【００３６】
本参考例によれば、上記制御系の１チップ化により、低振動かつ高精度でステッピングモータを速度制御するステッピングモータの速度制御装置を低コストで構成することができ、例えば駆動制御回路を従来の１０分の１以下のコストに低減することができる。
【００３７】
図５は本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第４参考例の構成を示す図である。本参考例の速度制御装置２１は、該速度制御装置２１とそれによりマイクロステップ駆動制御されるステッピングモータ１５とを含むシステム全体を制御するシステム制御部２２に、システムバス２３を介して接続されている。なお、図５にはシステム制御部２２に１台の速度制御装置２１を接続する例を示したが、システム制御部２２に２台以上の速度制御装置２１を接続する使用形態とすることも可能である。
【００３８】
本参考例の速度制御装置２１は、ワンチップマイコン２４とドライブ回路２５とから成り、ドライブ回路２５はパルス幅変調（ＰＷＭ）電流制御ドライバ集積回路により構成されている。ワンチップマイコン２４は、ＣＰＵ２６と、プログラムおよびデータを記憶するＲＯＭ２７と、データを一時記憶するためのＲＡＭ２８と、第１タイマ２９−１と、第２タイマ２９−２と、相信号を出力する出力ポート３０と、励磁電流値指示電圧信号を出力するＤ／Ａ変換器３１と、励磁電流値指示電圧信号の電圧値を監視するためのＡ／Ｄ変換器３２と、システム制御部２２に接続するためのバスインタフェース３３と、複数のステッピングモータを設置した場合に各ステッピングモータの回転開始タイミングの同期を取るための同期信号３４をシステム制御部２２から入力される入力ポート３５とを具備して成り、上記各構成要素間は内部バス３６により接続されている。
【００３９】
上記ＲＯＭ２７は、ＣＰＵ２６が実行する速度制御の制御プログラムを記憶するとともに、出力ポート３０から出力される４ビットの相信号に対応するデータおよびＤ／Ａ変換器３１から出力される励磁電流値指示電圧信号に対応するデータを記憶するものである。なお、上記相信号に対応するデータは図６（ａ）に示すような相信号0 〜相信号255 から成る相信号パターンテーブルとして記憶しておき、上記励磁電流値指示電圧信号に対応するデータは図６（ｂ）に示すような電流値パターンテーブルとして記憶しておくものとする。ここで、本参考例のマイクロステップ駆動における分割数の最大値を６４とすると、Ｄ／Ａ変換器３１のビット数は８ビットで十分であるので、ステッピングモータの位置制御のためのデータ量は相信号と合わせて１位置当たり２バイトとなり、電気角１転分の全データ量は２×６４×４＝５１２バイトとなる。このデータ量は、一般的なワンチップマイコンに内蔵されるＲＯＭ内に記憶可能なデータ量である。
【００４０】
次に、本参考例におけるマイクロステップ駆動制御を詳細に説明する。ステッピングモータを回転速度Ｓn 、分割数Ｎn でマイクロステップ駆動制御するためには、次式により決定される時間間隔１／Ｆnで次の位置へ回転させる処理を行えばよい。
１／Ｆn ＝１／（３６０×Ｓn ×Ｎn ÷θ） …（７）
ただし、θをフルステップ角とすると、一般的な２相ステッピングモータではθ＝１．８°なので、（７）式は次式となる。
１／Ｆn ＝１／（２００×Ｓn ×Ｎn ） …（８）
【００４１】
本参考例においては、上記（８）式により決定されるタイマ割り込み時間間隔１／Ｆn が実際のタイマ割り込み処理時間より短くならないように分割数Ｎnを自動的に変更することにより、加減速制御の全ての速度においてワンチップマイコンで処理可能な時間間隔でタイマ割り込みを発生させ、該タイマ割り込み処理により出力ポート３０に相信号を出力するとともにＤ／Ａ変換器３１に励磁電流値指示電圧信号を出力する制御を、上記構成のワンチップマイコン２４で行うようにしている。
【００４２】
すなわち、ステッピングモータの低速回転時には分割数が大きくなって高精度および低振動が達成され、大きい分割数を必要としない高速回転時にはパルス周波数がワンチップマイコンの処理速度を超える不具合が生じないように、（８）式により算出されるパルス周波数Ｆn が所定値（例えば一般的なワンチップマイコンで処理可能な１０ＫＨｚ）を超える場合には該所定値未満になるように分割数Ｎを自動的に減少方向に変更する。
【００４３】
例えば、６４分割で６．４ＫＨｚのパルス周波数でステッピングモータを起動して加速すると、毎秒０．７８回転まで加速したときパルス周波数が１０ＫＨｚに達するので３２分割に変更し、毎秒１．５６回転まで加速したとき１６分割に変更する。その後、８分割で８ＫＨｚのパルス周波数に変更し、この８分割で８ＫＨｚのパルス周波数によって最高回転速度に達するようにする（減速時には加速時とは逆方向の制御を行う）。このようにして分割数を２n で変更すると、分割数を変更する際の処理が簡略化されて処理時間が短縮されるので、処理可能なパルス周波数がより高くなる利点があるが、代わりに、６４分割、６３分割、６２分割、・・というように分割数を１つずつ減少させる等の異なる変化のさせ方としてもよい。
【００４４】
上記（８）式により算出されたパルス周波数Ｆn の周期１／Ｆn で第２タイマ２９−２の割り込みを発生させるために第２タイマ２９−２に設定する分周値Ｒnは、第２タイマ２９−２のタイマクロック周波数およびパルス周波数Ｆn から次式に従って算出することができる。
Ｒn ＝（タイマクロック周波数）÷Ｆn …（９）
【００４５】
以上のような手順に従って、ＣＰＵ２６は、システムバス２３、バスインタフェース３３および内部バス３６を介してシステム制御部２２から受信した、起動回転速度、最高回転速度、加速度パルス数等のパラメータに基づいて、図７（ａ）、（ｂ）に示すような時刻ｔ0 、ｔ1 、・・、ｔn 、・・における分周値Ｒnおよび分割値Ｎnを算出し、これら分周値Ｒn および分割値Ｎn をＲＡＭ２８に一時記憶させる。ＣＰＵ２６は、回転命令を受信すると、時刻ｔnにおけるパルス周期毎に第２タイマ２９−２の割り込みが発生するように、第２タイマ２９−２にＲＡＭ２８から読み取った分周値Ｒn を設定して起動する。
【００４６】
第２タイマ２９−２による割り込み処理では、図６（ａ）、（ｂ）に示す相信号パターンテーブルおよび電流値データテーブルの現在位置データを示すテーブルポインタに回転方向に従って時刻ｔn における分割値Ｎn に対応した数値を加算または減算し、テーブルポインタが新たに示す相信号データを出力ポート３０へ出力するとともに、励磁電流値指示電圧データをＤ／Ａ変換器３１へ出力する。なお、上記に代えて、励磁電流値指示電圧データとシステム制御部２２から入力された設定値との積をＤ／Ａ変換器３１へ出力するようにすると、ステッピングモータ１５の励磁電流値を装置外部のシステム制御部２２から設定することができる。
【００４７】
上述したように時刻ｔn におけるパルス周期毎に処理される割り込み処理を実行することにより、ステッピングモータ１５は分割値n に対応したステップ角分回転するので、所望の回転速度Ｓnで回転させることができる。なお、上記時刻ｔn は、単位時間Δｔ毎に第１タイマ２９−１の割り込みが発生するように第１タイマ２９−１に分周値を設定して起動することにより測定するものとする。
【００４８】
次に、本参考例の作用および効果を従来技術と比較しながら説明する。図１０（ａ）に示すように励磁電流Ｉａ，Ｉｂを正弦波状に制御するマイクロステップ駆動を行う場合、パルス発生器からのパルスをカウンタでカウントし、そのカウント値をアドレス変換回路でアドレスに変換し、そのアドレスを正弦波状に変化する励磁電流値データを記憶させたＲＯＭのアドレス入力端に供給するようにした駆動回路（特開平１−１３９０００号公報を参照のこと）を使用したり、あるいは、上記カウント値に加えてステップ角を選択する信号をＲＯＭのアドレス入力端に供給するようにした駆動回路（特開平２−４６１９６号公報を参照のこと）を使用すると、ステップ角が選択可能となるため、高速回転時にはステップ角を大きくすることによりパルス周波数を高くすることなく高速回転が可能となる。
【００４９】
しかし、パルス周波数が時系列的に変化する駆動パルスを発生するパルス発生回路を用いて加減速制御を行うため、低速域から高速域まで回転速度を変化させて制御する必要があるので、上記２種類の駆動回路を用いてもパルス周波数が高くなる問題を解決することができない。また、図１０（ｂ）に示すように、低速回転時には４分割で０→１→２→３→４・・・ と駆動し、高速回転時には２分割で０→２→４・・・ と駆動するようにＲＯＭへのアドレス信号を切り換える場合、カウンタ値が１のとき４分割では１の位置となるが２分割では２の位置となるため、基準となる位置以外で分割数を切り換える際にアドレス信号が変化してしまい、意図しない回転が発生してしまう。
【００５０】
また、上記ステッピングモータの速度制御装置は、パルス発生回路からのパルスを駆動回路に入力するように構成されているため、パルス信号処理分だけ速度制御装置が複雑化してしまい、コストダウンおよび小型化が困難になる。さらに、マイクロステップ駆動により低振動かつ高停止位置精度の制御を実現するために分割数を大きくすると、より高い周波数のパルス処理が必要になる。具体的には、図１１に示すように、分割数Ｎn を６４とし、回転速度ＳをＦL ／Ｎn＝毎秒０．５回転からＦH ／Ｎn ＝５回転まで直線状に変化させて加減速制御を行うと、最短割り込み時間間隔は１５．６μｓｅｃ（１／６４Ｋ）になるため、一般的なワンチップマイコンの処理能力を遙かに超えてしまうため、速度制御装置にワンチップマイコンが利用できなくなり、高価な高周波回路を使用せざるを得ず、このことも速度制御装置のコストダウンおよび小型化を困難にする要因となる。
【００５１】
一方、本参考例においては、ステッピングモータの回転速度に応じて当該マイクロステップ駆動における分割数を可変制御する制御回路を、ＣＰＵ２６、ＲＯＭ２７、ＲＡＭ２８，タイマ２９−１、タイマ２９−２、出力ポート３０およびＤ／Ａ変換器３１を含むワンチップマイコン２４により構成して速度制御装置２１のドライブ回路２５以外の部分をワンチップマイコン化するとともに、パルス周波数がワンチップマイコンの処理速度の上限値（例えば１０ＫＨｚ）を超えそうになったとき分割数Ｎを自動的に減少させるようにしたから、低振動かつ高精度でステッピングモータの速度制御を行うことができる、ステッピングモータの速度制御装置のコストダウンおよび小型化が可能になる。
【００５２】
また、本参考例においては、加減速途中に分割数を切り換えた場合であっても現在位置を示すテーブルポインタを分割値Ｎn に対応した値だけ正確に移動させることが可能であるので、分割数の切り換えによる回転速度の乱れや位置のずれが発生することはなく、任意の位置での分割数の変更が可能である。また、本参考例においては、速度制御装置２１において自動的に最適な分割数が決定されるので、装置外部のシステム制御部２２によって分割数を選択する必要がなく、制御が簡略化されることになる。
【００５３】
なお、本参考例の速度制御装置２１は、システム制御部２２からの回転命令を受け取ると直ちに回転制御を開始するモードの他に、回転の準備まで行った後入力ポート３５に入力される同期信号３４がＯＮになるまで回転開始を待つモードを有している。このモードを利用する際には、複数の速度制御装置２１に回転命令を送出した後にトリガ信号としての同期信号３４をＯＮさせるタイミングを調整して同期信号３４がＯＮになると同時に回転制御を開始するようにすると、複数のステッピングモータの回転制御が同時に開始されるので、複数のステッピングモータの動作開始タイミングを一致させることが可能になる。この場合、Ａ／Ｄ変換器３２によりＤ／Ａ変換器３１の出力電圧を監視して、設定した電圧と異なった電圧値が入力された場合には警報をシステム制御部２２へ返送するように構成して、異常動作を防止するものとする。
【００５４】
また、図５に示す速度制御装置２１においては、Ｄ／Ａ変換器３１をドライブ回路２５に直接接続しているが、両者の間に電圧値レベル変換回路やアンプを挿入することも可能である。その場合、ドライブ回路２５側における電圧が設定値になるようにＤ／Ａ変換器３１の出力を自動補正することができる。
【００５５】
また、本参考例の速度制御装置２１においては、システム制御部２２のシステムバ２３にバスインタフェース３３を介して接続する例を示したが、シリアル通信チャンネル等の他の通信手段を用いることも可能である。また、本参考例の速度制御装置２１においては、割り込み処理時間を短縮するため、タイマ２９−２に設定する分割値Ｎn および分周値Ｒn を予め算出する例を示したが、その都度算出するようにすることも可能である。
【００５６】
なお、本発明は上述したものに限定されるものではなく、種々の変形または変更を加えることができ、例えば以下の付記項のように構成してもよい。制御開始信号に対応して所定周波数の基準パルスを発生する基準パルス発生回路と、該基準パルスをカウントするカウンタと、該カウンタのカウント値に基づき分割数Ｎおよび前記ステッピングモータの励磁相電流値を演算する演算回路と、該励磁相電流値をアナログ電圧に変換して出力するＤ／Ａ変換回路とを、ステッピングモータの速度制御用の１つの集積回路として構成したステッピングモータの速度制御装置（付記項１）において、前記基準パルスが入力される毎にステッピングモータの回転角に比例するパルスを出力する回路を設けたことを特徴とするステッピングモータの速度制御回路（付記項２）。この付記項２においては、ステッピングモータの実際の回転角を容易に確認することができる。
【００５７】
ステッピングモータをマイクロステップ駆動することにより速度制御を行うようにした、ステッピングモータの速度制御装置において、ステッピングモータの回転速度に応じて当該マイクロステップ駆動における分割数を可変制御する制御回路を、ＣＰＵ、ＲＯＭ、ＲＡＭ、タイマ、出力ポートおよびＤ／Ａ変換器を含むワンチップマイコンにより構成したステッピングモータの速度制御装置（付記項３）。付記項３において、同期信号がＯＮしたときにステッピングモータの回転を開始するために前記同期信号の信号入力端子を設けたことを特徴とするステッピングモータの速度制御装置（付記項４）。付記項３において、Ｄ／Ａ変換器の出力を監視するＡ／Ｄ変換器を設けたことを特徴とするステッピングモータの速度制御装置（付記項５）。
【００５８】
【発明の効果】
以上説明したように、本発明方法によれば、コストアップを招く制御系の高速化を行うことなく、振動を低減するとともに制御精度を向上させることが可能になる。
【図面の簡単な説明】
【図１】 本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第１参考例の構成を示す図である。
【図２】 本発明の速度制御方法を実施するステッピングモータの速度制御装置の構成を示す図である。
【図３】 本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第２参考例の構成を示す図である。
【図４】 本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第３参考例の構成を示す図である。
【図５】 本発明とともに開発した速度制御方法を実施するステッピングモータの速度制御装置の第４参考例の構成を示す図である。
【図６】 （ａ）、（ｂ）はそれぞれ、第４参考例における相信号に対応する相信号データから成る相信号パターンテーブルおよび励磁電流値指示電圧信号に対応する電流値パターンテーブルを例示する図である。
【図７】 （ａ）、（ｂ）はそれぞれ、第４参考例における分周値および分割値を例示する図である。
【図８】 従来のステッピングモータの速度制御装置の構成を示す図である。
【図９】 従来のステッピングモータの速度制御装置の速度特性および駆動パルスの周波数特性を例示する図である。
【図１０】 （ａ）、（ｂ）はそれぞれ、従来のステッピングモータのマイクロステップ駆動制御を説明するための図である。
【図１１】 従来のステッピングモータのマイクロステップ駆動制御を説明するための図である。
【符号の説明】
１０ 基準パルス発生回路
１１ カウンタ
１２ 演算回路
１３ Ｄ／Ａコンバータ
１４ ドライブ回路
１５ ステッピングモータ
１６ 逓倍回路
１７ 周波数調整回路
２１ 速度制御装置
２２ システム制御部
２３ システムバス
２４ ワンチップマイコン
２５ ドライブ回路
２６ ＣＰＵ
２７ ＲＯＭ
２８ ＲＡＭ
２９−１ 第１タイマ
２９−２ 第２タイマ
３０ 出力ポート
３１ Ｄ／Ａ変換器
３２ Ａ／Ｄ変換器
３３ バスインタフェース
３４ 同期信号
３５ 入力ポート
【図１】
0004435909.tif 000002
【図２】
0004435909.tif 000003
【図３】
0004435909.tif 000004
【図４】
0004435909.tif 000005
【図５】
0004435909.tif 000006
【図６】
0004435909.tif 000007
【図７】
0004435909.tif 000008
【図８】
0004435909.tif 000009
【図９】
0004435909.tif 000010
【図１０】
0004435909.tif 000011
【図１１】
0004435909.tif 000012