(57)【要約】【課題】従来技術では，モータの振動を小さくするためにマイクロステップ分解能を高くするという手段が取られるため，パルス列指令の周波数が高くなるという問題があった。本発明はマイクロステップ分解能が低くてもモータの振動を少なく駆動することを目的とする。【解決手段】外部から印加するパルス列指令のステップ数を計数するカウンタと，カウンタの計数値を保持するラッチ回路と，ラッチ回路のラッチ信号及び基準クロック信号を発生する基準信号発生部と，パルス列指令の発生からラッチ信号発生までの時間間隔を基準クロック信号で計測する計数回路タイマと，パルス列指令のパルス間隔を基準クロック信号で計測する計数回路とを具備し，計数回路で計測した指令パルス間隔情報とパルス列指令の発生からラッチ信号発生までの時間間隔を計測する計数回路で計測した時間差情報とを用いて位置指令を補正し，マイクロステップ駆動を行う。【選択図】        図１
2006340434.tif 000002
【特許請求の範囲】
【請求項１】
外部から印加されるパルス列指令に従い正弦波状階段電流を通電するステッピングモータの駆動装置において，前記パルス列指令のステップ数を計数し位置指令に変換するカウンタと，前記カウンタの計数値を保持するラッチ回路と，前記ラッチ回路のラッチ信号及び基準クロック信号を発生する基準信号発生部と，パルス列指令の発生からラッチ信号発生までの時間間隔を前記基準クロック信号で計測する計数回路と，パルス列指令のパルス間隔を前記基準クロック信号で計測する計数回路とを具備し，前記パルス列指令のステップ数と，パルス列指令のパルス間隔を計測する計数回路で計測した指令パルス間隔情報と，パルス列指令の発生からラッチ信号発生までの時間間隔を計測する計数回路で計測した時間差情報とを用いて位置指令の補正値を算出してステッピングモータ駆動時に前記パルス列指令のステップ数に補正値を加算し，ステッピングモータ停止時に前記パルス列指令のパルス間隔を前記基準クロック信号で計測する前記計数回路のオーバーフロー情報から前記位置指令の補正値を零として前記パルス列指令のステップ数に加算してマイクロステップ駆動することを特徴とするステッピングモータの制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，パルス列の位置指令によって位置決め制御を行うステッピングモータの制御装置，特にステッピングモータのマイクロステップ制御装置に関する。
【背景技術】
【０００２】
【特許文献１】特開平６−３４３２９４号公報  従来，ステッピングモータの駆動装置としては，特開平６−３４３２９４号公報に記載されたものがある。図５に従来のステッピングモータ駆動装置の構成を示す。
【０００３】
図５において，５９はステッピングモータ，５１は外部から印加されるパルス列指令を回転方向信号Ｕ／Ｄに応じて外部から印加されるパルス列指令Ｐ＊をアップ又はダウンカウントするアップダウンカウンタ，５２ａ，５２ｂはアップダウンカウンタ２の計数値に応じた励磁信号のデータを記憶したＲＯＭ，５３ａ，５３ｂはＲＯＭのデータを電圧信号に変換するＤ／Ａコンバータ，５４ａ，５４ｂはＤ／Ａコンバータの電圧を増幅しステッピングモータを駆動する駆動アンプである。
【０００４】
上記の構成において，アップダウンカウンタの計数値をＲＯＭ５２ａ，５２ｂのアドレスと，前記アドレス値で検索したＲＯＭ５２ａ，５２ｂのデータを電圧に変換しステッピングモータに印加する。ここでＲＯＭ５２ａ，５２ｂのデータを疑似正弦波にし，疑似正弦波一周期の分割数を多くすることによりステッピングモータを滑らかに回転させることができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら，上記従来の構成では，ステッピングモータを滑らかに回転させるためには，ＲＯＭの疑似正弦波一周期の分割数で駆動する必要があり，上位コントローラの位置情報も疑似正弦波一周期の分割数（位置移動量／指令１パルス）に合わせる必要がある。このため，ステッピングモータを高速に駆動したい場合には，上位コントローラから出力するパルス列指令の周波数を高くする必要があり，これに応じて周波数の高いパルス列指令を出力できる高価な上位コントローラを使用しなくてはいけないという課題があった。また，周波数の低いパルス列指令でステッピングモータを高速に駆動したい場合には，疑似正弦波一周期の分割数を少なくする方法が取られるため，低速時にステッピングモータを滑らかに回転させることができなくなり，振動が発生するという課題もあった。
【０００６】
本発明は，上記従来の課題を解決するものであり，マイコン等を外部から印加されるパルス列指令とは非同期であるところの一定サンプリング周期で精度の高いマイクロステップ用のデータを生成し，滑らかな回転をするステッピングモータの制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明は，外部から印加されるパルス列指令に従い正弦波状階段電流を通電するステッピングモータの駆動装置において，前記パルス列指令のステップ数を計数し位置指令に変換するカウンタと，前記カウンタの計数値を保持するラッチ回路と，前記ラッチ回路のラッチ信号及び基準クロック信号を発生する基準信号発生部と，パルス列指令の発生からラッチ信号発生までの時間間隔を前記基準クロック信号で計測する計数回路と，パルス列指令のパルス間隔を前記基準クロック信号で計測する計数回路とを具備し，前記パルス列指令のステップ数と，パルス列指令のパルス間隔を計測する計数回路で計測した指令パルス間隔情報と，パルス列指令の発生からラッチ信号発生までの時間間隔を計測する計数回路で計測した時間差情報とを用いて位置指令の補正値を算出してステッピングモータ駆動時に前記パルス列指令のステップ数に補正値を加算し，ステッピングモータ停止時に前記パルス列指令のパルス間隔を前記基準クロック信号で計測する前記計数回路のオーバーフロー情報から前記位置指令の補正値を零として前記パルス列指令のステップ数に加算してマイクロステップ駆動を行うものである。
【０００８】
これにより，ステッピングモータは，マイクロステップ分解能を低く（粗く）した位置指令で駆動した場合においても低速度領域を滑らかに回転させ，振動を低減することができる。
【０００９】
図４はパルス列指令と位置指令の関係を示す説明図である。（ア）はパルス列指令Ｐ＊（ｍ−１）が印加されたとき位置指令としてθ＊（ｍ−１）の意味を持つことを示している。（ア’）はパルス列指令Ｐ＊（ｍ）が印加されたとき位置指令としてθ＊（ｍ）の意味を持つことを示している。（ア’’）はパルス列指令Ｐ＊（ｍ＋１）が印加されたとき位置指令としてθ＊（ｍ＋１）の意味を持つことを示している。従来のステッピングモータ駆動装置は前記パルス列指令の１パルスあたりのステップ角をθｄとする階段状の軌跡を持つ位置指令に従ってモータが動作するめ，振動的となる。また，（ア）に対して（イ）は位置指令をサンプリングパルスｔ（ｎ）でサンプリングした場合であり，同じく（ア’）に対して（イ’）は位置指令をサンプリングパルスｔ（ｎ＋６）でサンプリングした場合であり，同じく（ア’’）に対して（イ’’）は位置指令をサンプリングパルスｔ（ｎ＋１３）でサンプリングした場合をそれぞれ示しており，（ア）に対してＴ２（ｎ），（ア’）に対してＴ２（ｎ）’，（ア’’）に対してＴ２（ｎ）’’だけそれぞれ時間がずれている。ステッピングモータは平均回転数ω＝θｄ／Ｔ１（ｎ）で回転している場合，ｔ（ｎ）時点では位置指令はθ（ｎ）ではなく更にΔθ（ｎ）だけ進んだ位置であると考えられるから，（ウ）の位置が望ましい。つまり，パルス列指令Ｐ（ｎ）で与えられる位置指令θ（ｎ）をサンプリングパルスｔ（ｎ）でサンプリングしたときにΔθ（ｎ）の誤差が生じる。このサンプリング誤差はパルス列指令とサンプリングパルスが非同期であるからサンプリング毎に変化して指令に振動成分が発生してしまうという問題もある。
【００１０】
そこでパルス列指令Ｐ＊（ｍ−１）とＰ＊（ｍ）間を，例えば数１で推定し，位置指令を本来の位置指令に対して数２で補正する。
ただし，Δθ（ｎ）は位置指令の補正値，Ｔ１（ｎ）はパルス列指令の間隔を示す計数値，Ｔ２（ｎ）はパルス列指令の発生からラッチ信号発生までの時間間隔を示す計数値，θｄは外部から印加されるパルス列指令の１パルスあたりのステップ角，θ＊（ｎ）はパルス列指令を計数し位置指令に換算した値，θｃ（ｎ）は補正後の位置指令である。
【数１】
2006340434.tif 000003
【数２】
2006340434.tif 000004
なお，例えばパルス列指令θ＊（ｍ）が入力される前にサンプリングパルスｔ（ｎ＋１）〜ｔ（ｎ＋５）が発生した場合には，数１におけるＴ２（ｎ）に対してＴ２（ｎ＋１）〜Ｔ２（ｎ＋５）を用いて，図４の（ウ’）で示す状態に補正するようにする。また，ステッピングモータ停止時には，補正値を零としてパルス列指令の１パルスあたりのステップ角θｄの倍数の位置に停止するようにする。
【発明の効果】
【００１１】
本発明の制御装置は，ステッピングモータの低速度駆動時にパルス列指令の１パルスあたりのステップ角の間をサンプリング周期で分割して補正し，振動のない滑らかな回転が得られる。また，位置指令のサンプリング誤差も小さくできるから，広い回転範囲にわたりパルス列指令の揺らぎを抑え安定したサンプリング処理を実現できる。従って，マイコン等の処理速度を高速化せずステッピングモータを滑らかに回転させることができる。
【発明を実施するための最良の形態】
【００１２】
本発明を実施するための最良の形態は，パルス列の位置指令によって位置決め制御を行うステッピングモータの制御装置，特にステッピングモータのマイクロステップ制御に関する装置である。
【実施例１】
【００１３】
図１は，本発明の実施例であって，１０ａは方向指令入力端子，１０ｂはパルス列指令入力端子，２０ａ，２０ｂは第１相及び第２相の電流指令入力端子，１はパルス列指令から位置指令に変換するカウンタ部，２は位置指令補正器，５は加算器，６は乗算器，３は電流指令発生器，４は電流制御器，７はインバータ，８ａ，８ｂは第１相及び第２相の電流検出器，９はステッピングモータである。
図５に示す従来技術によるステッピングモータ制御装置に対して位置指令補正器が追加されている。
図１の動作を概説する。外部から位置指令が回転方向とパルス列の形で１０ａ，１０ｂに印加され，パルス列はカウンタ部１で位置指令θ＊に変換される。端子１０ｃは，マイクロステップの分割数を決定する信号の入力端子であり，１パルスあたりの回転量に比例するステップ角θｄが設定される。位置指令補正部２は方向指令入力Ｕ／Ｄ，パルス列指令Ｐ＊を入力として補正量Δθを出力する。補正位置指令θ＊＊は位置指令θ＊と補正量Δθを加算器５によって加算した値θｃに，１パルスあたりの回転量に比例するステップ角θｄを乗算器６によって乗算してマイクロステップの分割数に対応した値としている。補正位置指令θ＊＊の生成法の具体例については詳細を後述する。電流指令発生部３は，端子２０ａ及び２０ｂに設定される電流振幅指令Ｉαｐ＊及びＩβｐ＊と，補正位置指令θ＊＊を入力として電流指令ｉα＊及びｉβ＊を出力する。
電流制御器４，インバータ７，電流検出器８ａ及び８ｂで電流制御部を構成し，ステッピングモータ９の通電電流ｉαｆ及びｉβｆを前記電流指令ｉα＊及びｉβ＊に一致するようにモータ印加電圧が制御され，マイクロステップ駆動を実現している。
【００１４】
図２はカウンタ部１と位置指令補正部２の詳細説明図である。
カウンタ部１はアップダウンカウンタ１１とラッチ回路１２で構成され，パルス列指令をアップダウンカウンタ１１で計数し，基準信号発生部２５で発生するラッチ信号（サンプリング信号に同期した信号）Ｔｓによってラッチ回路１２で一定周期毎に２進数値である位置指令θ＊に変換される。
位置指令補正部２は，タイミングパルス発生部２１，カウンタ２２，ラッチ回路２４ａ，ラッチ回路２４ｂ，基準信号発生部２５，除算器２６，及び符号切替え部２８で構成される。
位置指令補正部２の動作を図３と対比させながら説明する。基準信号発生部２５は，タイミングパルス発生部２１の制御信号として基準クロック信号ＣＫｓとラッチ信号Ｔｓを発生し，タイミングパルス発生部２１は，内部制御タイミング信号ｐｔ１，ｐｔ２及びｐｔ３を生成する。
ｐｔ１は，パルス列指令Ｐ＊をＣＫｓでサンプリングした信号であり，ｐｔ２はＣＫｓの１パルス分だけ時間的に遅れた信号である。また，ｐｔ３はＴｓの立ち下がりエッジで“Ｈ”となり，ＣＫｓの立ち上がりで“Ｌ”に戻る信号である。パルス列指令Ｐ＊が入力された直後にｐｔ２立ち上がりエッジでカウンタ２２がクリアされ，以降次のｐｔ２が発生するまでの期間をＣＫｓで計数する。カウンタ２２がクリアされる直前のｐｔ１の立ち上がりエッジのタイミングでカウンタ２２の値をラッチ回路２４ａで保持する。よって，ラッチ回路２４ａの出力Ｔ１はＰ＊の時間間隔に相当する値を保持していることになる。
【００１５】
また，ラッチ回路２４ｂはｐｔ３の立ち上がりエッジのタイミングでカウンタ２２の値を保持する。ｐｔ３の立ち上がりエッジはＴｓの立ち上がりエッジにほぼ一致しており，ラッチ回路２４ｂの出力Ｔ２はＰ＊が入力されてからＴｓが発生するまでの時間に相当する値を保持していることになる。
除算器２６でラッチ回路２４ｂの出力Ｔ２をラッチ回路２４ａの出力Ｔ１で除算し，符号切替え部２８によって除算器２６の出力を回転方向に対応した符号付情報に変換することで補正量Δθを得る。また，パルス列指令Ｐ＊が入力されないモータ停止状態においては，カウンタ２２がオーバーフローとなり，オーバーフロー信号ＯＶＦｓを出力して除算器２６をクリアする。なお，数１におけるθｄはパルス列指令１パルスあたりのステップ角であるからラッチ回路１２の最小変化量に相当する。よって，ラッチ回路１２の出力θ＊と加算する際の数１におけるθｄは１となるから，符号切替え部２８の出力は数１の演算を実行した結果に相当する。
ラッチ回路１２の出力である位置指令θ＊と，符号切替え部２８の出力である補正量Δθを加算器２３で加算した値は，数２の演算結果であるθｃに相当し，Δθはθ＊の最小桁の更に下位桁で，θｃはθ＊の下位ビットを直線的に補間し拡張した値となっている。
【００１６】
乗算器６は，加算器５の出力をθｄ倍し，マイクロステップの分割数に対応した補正後の位置指令θ＊＊に変換するために設けている。つまり，乗算器６の出力は電流指令発生部３の入力であり，正弦波状電流指令の振幅データを検索するアドレス情報として用いられるから，例えば，θｄ＝１とθｄ＝２では，後者は１パルスあたりのアドレスの変化が２倍になるから前者に対して２倍のステップ角で回転するようになる。
なお，図１及び図２には明記していないが，基準信号発生部２５のラッチ信号Ｔｓは基準クロック信号ＣＫｓを分周したものであり，マイコン等のモータ制御周期と同期させることで，サンプリング処理に伴う振動成分を低減したモータ制御装置を構成することができる。
【産業上の利用可能性】
【００１７】
本発明は位置制御を目的としたステッピングモータの制御装置のほか，パルス列を指令とするステッピングモータの速度制御装置，パルス列を指令とするＡＣサーボモータの位置制御装置，速度制御装置にも使用可能である。
また，パルス列指令の形態は方向信号とパルス列で与えられる場合を例に示しているが，方向別パルス列指令や２相矩形波パルス列指令など，別の指令形態にも適用可能である。
また，本発明はマイコン等を用いて制御を行うモータ制御装置を対象としているが，外部から非同期に入力される信号に対してサンプリング処理を行う制御装置全般に適用可能である。
また，本発明はサンプリング処理を行う制御装置ではマイコン等を搭載してソフトウエア処理を行うことが多いが，ソフトウエアハードウエア処理装置だけに限らず，ハードウエア構成の装置にも適用可能である。
【図面の簡単な説明】
【００１８】
【図１】実施例を示した説明図である。
【図２】実施例の詳細説明図である。
【図３】実施例の詳細説明図の動作タイミング説明図である。
【図４】本発明の原理説明図である。
【図５】従来のステッピングモータ駆動回路の説明図である。
【符号の説明】
【００１９】
１        カウンタ部
２        位置指令補正部
３        電流指令発生部
４        電流制御器
５        加算器
６        乗算器
７        インバータ
８ａ，８ｂ            第１相及び第２相の電流検出器
９        ステッピングモータ
１０ａ    方向指令入力端子
１０ｂ    パルス列指令入力端子
１１      アップダウンカウンタ
２０ａ，２０ｂ      第１相及び第２相の電流指令入力端子
２１ａ，２１ｂ，２１ｃ    フリップフロップ（タイミングパルス発生用）
２２      カウンタ
２４ａ，２４ｂ      ラッチ回路
２５      基準信号発生部
２６      除算器
２８      符号切替え部
５１      アップダウンカウンタ
５２ａ，５２ｂ      ＲＯＭ
５３ａ，５３ｂ      Ｄ／Ａコンバータ
５４ａ，５４ｂ      駆動アンプ
５９      ステッピングモータ
【図１】
2006340434.tif 000005
【図２】
2006340434.tif 000006
【図３】
2006340434.tif 000007
【図４】
2006340434.tif 000008
【図５】
2006340434.tif 000009