(57)【要約】【課題】  高分解能化及び低コスト化の双方を図るようにする。【解決手段】  回転角検出装置Ａについては、ステッピングモータＢの回転角（最小ステップ角：ｎ）をロータリーエンコーダＣ（角度分解能：ｍ）に比べて高精度で検出する装置であり、ロータリーエンコーダＣのエンコーダ信号ａをカウントするエンコーダカウンタ１０と、ステッピングモータＢを動作させるための入力パルス信号ｂをカウントするとともにエンコーダ信号ａが示すタイミングでリセットする入力パルスカウンタ２０と、エンコーダカウンタ１０のカウント値ｐ及び入力パルスカウンタ２０のカウント値ｑに基づいてステッピングモータＢの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して位置情報信号ｆとして出力する構成となっている。【選択図】図１
2011027628.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータの回転角（最小ステップ角：ｎ）を同モータに連結されたロータリーエンコーダ（角度分解能：ｍ）に比べて高精度で検出する装置であって、前記ロータリーエンコーダのエンコーダ信号をカウントするエンコーダカウンタと、前記ステッピングモータを動作させるための入力パルス信号をカウントするとともに前記エンコーダ信号が示すタイミングでリセットする入力パルスカウンタと、前記エンコーダカウンタのカウント値ｐ及び前記入力パルスカウンタのカウント値ｑに基づいて前記ステッピングモータの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して出力する角度演算出力部とを備したことを特徴とするステッピングモータの回転角検出装置。
【請求項２】
ステッピングモータの回転角（最小ステップ角：ｎ）を同モータに連結されたロータリーエンコーダ（角度分解能：ｍ）に比べて高精度で検出する装置であって、前記ロータリーエンコーダのエンコーダ信号を回転方向信号が示す方向にカウントするエンコーダカウンタと、前記ステッピングモータを動作させるための入力パルス信号を前記回転方向信号が示す方向にカウントするとともに前記エンコーダ信号が示すタイミングでリセットする入力パルスカウンタと、前記エンコーダカウンタのカウント値ｐ及び前記入力パルスカウンタのカウント値ｑに基づいて前記ステッピングモータの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して出力する角度演算出力部とを備したことを特徴とするステッピングモータの回転角検出装置。
【請求項３】
請求項１又は２記載のステッピングモータの回転角検出装置において、前記入力パルスカウンタは、前記ステッピングモータの回転の異常又は同モータの緊急停止指令を示すエラー信号がアクティブになったタイミングで前記入力パルス信号のカウントを停止し、当該カウント値を当該エラー信号が非アクティブに戻るまで保持し、その後、当該カウント値からカウントを再開する機能を有したことを特徴とするステッピングモータの回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータの回転角をロータリーエンコーダによりも高精度で検出することが可能なステッピングモータの回転角検出装置に関する。
【背景技術】
【０００２】
例えば、ステッピングモータを用いたサーボドライブにおいては、同モータの回転角を高精度で検出するステッピングモータの回転角検出装置が備えられている。従来は光学式のロータリーエンコーダが一般的に使用されている。ロータリーエンコーダは、複数のスリットが周方向に等間隔で形成されたディスクと、ディスクの回転に伴ってスリットを通過／遮蔽される光を検知してパルス列として出力する光学センサとを有し、ステッピングモータのシャフトに連結した状態で同モータの回転変位量を電気信号のパルス列に変換するようになっている（例えば、特許文献１等がある）。
【０００３】
【特許文献１】特開２００３−２８４３９１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ステッピングモータの高分解能駆動に伴って高分解能型のロータリエンコーダを用いた場合、スリット間隔が小さいことから、スリットの検知ミスや検知信号の遅延が生じ、これに伴って高度なエンコード処理が必要となり、全体として大幅なコスト高を招来するという問題が指摘されている。
【０００５】
本発明は上記した背景の下で創作されたものであって、その主たる目的とするところは、高分解能化及び低コスト化の双方を図ることが可能なステッピングモータの回転角検出装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のステッピングモータの回転角検出装置は、ステッピングモータの回転角（最小ステップ角：ｎ）を同モータに連結されたロータリーエンコーダ（角度分解能：ｍ）に比べて高精度で検出する装置であって、ロータリーエンコーダのエンコーダ信号をカウントするエンコーダカウンタと、ステッピングモータを動作させるための入力パルス信号をカウントするとともにエンコーダ信号が示すタイミングでリセットする入力パルスカウンタと、エンコーダカウンタのカウント値ｐ及び入力パルスカウンタのカウント値ｑに基づいてステッピングモータの回転角Ａ（Ａ＝ｐ・ｍ＋ｑ・ｎ）を演算して出力する角度演算出力部とを備えている。
【０００７】
この発明によると、エンコーダ信号がエンコーダカウンタにてカウントされる一方、入力パルス信号が入力パルスカウンタにてカウントされ、入力パルスカウンタがエンコーダ信号によりリセットされる。エンコーダカウンタと入力パルスカウンタとの両カウント値が角度演算部にて換算して加算され、その結果、ステッピングモータの回転角が求められる。
【０００８】
このように同装置については、ロータリーエンコーダを用いたステッピングモータの回転角の計測値をステッピングモータの入力パルス信号のカウント値により補間する構成となっているので、ステッピングモータの回転角を同モータに連結されたエンコーダに比べて高精度で検出することが可能になる。そのため、低分解能型のロータリーエンコーダを使用することができ、従来とは異なり高度なエンコード処理が不要になることから、高分解能化及び低コスト化の双方を図ることが可能になる。特に、ステッピングモータを高分解能駆動するに当たり、その角度分割の均等性を保つようにすると、上記効果を一層大きくすることが可能になる。
【０００９】
ステッピングモータを双方向に回転させる場合の同装置については、ロータリーエンコーダのエンコーダ信号を回転方向信号が示す方向にカウントするエンコーダカウンタと、ステッピングモータを動作させるための入力パルス信号を回転方向信号が示す方向にカウントするとともに前記エンコーダ信号が示すタイミングでリセットする入力パルスカウンタと、エンコーダカウンタのカウント値ｐ及び前記入力パルスカウンタのカウント値ｑに基づいてステッピングモータの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して出力する角度演算出力部とを備えた構成にすると良い。
【００１０】
この発明によると、エンコーダカウンタ及び入力パルスカウンタにおいて、ステッピングモータの回転方向に応じた正負方向にカウントされる点のみが上記装置と異なるだけで、上記装置と全く同様の作用効果を有する。
【００１１】
ステッピングモータの回転の異常又は同モータの緊急停止指令を示すエラー信号を利用する場合の同装置については、次のような入力パルスカウンタを用いると良い。即ち、入力パルス信号を上記の通りにカウントすることに加えて、エラー信号がアクティブになったタイミングで入力パルス信号のカウントを停止し、カウント値をエラー信号が非アクティブに戻るまで保持し、その後、カウント値からカウントを再開する機能を有した構成にする。
【００１２】
この下位概念の発明によると、エラー信号がアクティブになると、入力パルスカウンタのカウントが停止することから、ステッピングモータの回転が停止している状態で入力パルス信号が入力されても、そのカウント値が変化せず保持される。その後、エラー信号が非アクティブになると、保持されたカウント値からカウントが再開される。
【００１３】
よって、ステッピングモータの脱調やオーバヒート等により又は機械駆動系の緊急停止等により、同モータがモータ制御とは無関係に停止した場合でもっても、同モータの回転角の検出に誤差が生じることがなく、この点で高性能化を図ることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態に係るステッピングモータの回転角検出装置のブロック図である。
【図２】同装置の通常時の動作を説明するための主要信号のタイミングチャートである。
【図３】同装置の異常発生時の動作を説明するための主要信号のタイミングチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施の形態に係るステッピングモータの回転角検出装置（以後、単に回転角検出装置と称する。）を図１乃至図３を参照して説明する。
【００１６】
ここに例として挙げる回転角検出装置Ａは、図１に示すようにステッピングモータＢを用いたサーボモータの構成部品として使用されており、ステッピングモータＢの回転角（基本ステップ角：ｎ）を検出し、この検出結果をフィードバック値としてホストＥに出力するようになっている。
【００１７】
まず、回転角検出装置Ａの構成を詳しく説明する前に、ホストＥ、ドライバＤ、ステッピングモータＢ及びロータリーエンコーダＣについて簡単に説明する。
【００１８】
ホストＥについては、ステッピングモータＢの駆動を負帰還制御する等の機能を有したサーボ制御装置であり、ステッピングモータＢを制御するために入力パルス信号ｂ及び回転方向信号ｃを生成するとともに、ステッピングモータＢの回転の異常を示すエラー信号ｄ１を生成している。なお、ホストＥにはサーボモータの駆動系に設けられた異常検出用の各種センサや異常報知用のスイッチ等に生成されたステッピングモータＢの緊急停止指令であるエラー信号ｄ２が入力されている。
【００１９】
入力パルス信号ｂはステッピングモータＢの回転駆動に関する指令パルス信号であり、本実施形態では、ステッピングモータＢに固有の基本ステップ角ＮをＭ分割した微小角度（基本ステップ角：ｎ＝Ｎ／Ｍ）単位でステッピングモータＢを高分解駆動させるための１／Ｍ分割の高分解能パルスとなっている。即ち、ホストＥはステッピングモータＢの角度分割の均等性が保たれるようにステッピングモータＢを高分解能駆動させている。例えば、ステッピングモータＢが２相ステッピングモータである場合、基本ステップ角Ｎがフルステップで１．８°となる。そして分割数Ｍを１０００とすると、ステッピングモータＢを高分解能駆動させる際の基本ステップ角ｎは０．００１８°となる。
【００２０】
回転方向信号ｃはステッピングモータＢの回転方向に関する指令デジタル信号である。エラー信号ｄ１はホストＥがステッピングモータＢ等の脱調、脱調兆候又はオーバヒート等の異常を検出した場合にその検出結果を回転角検出装置Ａに知らせる信号である。
【００２１】
ドライバＤについては、入力パルス信号ｂ及び回転方向信号ｃを入力としてステッピングモータＢを回転させるためのモータドライブ励磁信号ｇを生成する周知のステッピングモータ駆動装置であり、入力パルス信号ｂを分周する分周器４０と、分周された信号を回転方向信号ｃが示す相回転方向に相分配する相分配回路５０と、相分配された信号を各々電流増幅してモータドライブ励磁信号ｇを生成するモータドライブ回路６０とを有している。
【００２２】
ステッピングモータＢについては、本実施形態では２相ステッピングモータを用いており、同モータのシャフトの片側にロータリーエンコーダＣが連結されている。
【００２３】
ロータリーエンコーダＣについては、ステッピングモータＢの回転の機械的変位量を電気信号に変換する回転角センサであり、ステッピングモータＢに連結されたディスクｃ１と、ディスクｃ１の面上に等間隔に周方向に沿って形成されたスリットｃ２と、ディスクｃ１に対向配置された発光素子ｃ３と、発光素子ｃ３から出力された光をスリットｃ２を介して受光してエンコーダ信号ａを生成する受光素子ｃ４とを有している。
【００２４】
本実施形態ではスリットｃ２の数をステッピングモータＢの相数の整数倍の値としている。ホストＥにおける制御上のモータ角度変位の処理を専ら容易にするためである。例えば、スリットｃ２の数を２００とすると、ステッピングモータＢが１回転したとき２００個のパルス列がエンコーダ信号ａとして出力されることから、ロータリーエンコーダＣの角度分解能ｍは３６０°／２００＝１．８°となる。
【００２５】
次に回転角検出装置Ａの構成を説明する。回転角検出装置Ａについては、ステッピングモータＢの回転角をロータリーエンコーダＣに比べて高精度で検出する装置であって、ロータリーエンコーダＣのエンコーダ信号ａを回転方向信号ｃが示す方向にカウントするエンコーダカウンタ１０と、ステッピングモータＢを動作させるための入力パルス信号ｂを回転方向信号ｃが示す方向にカウントするとともにエンコーダ信号ａが示すタイミングでリセットする入力パルスカウンタ２０と、エンコーダカウンタ１０のカウント値ｐ及び入力パルスカウンタ２０のカウント値ｑに基づいてステッピングモータＢの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して位置情報信号ｆとして出力する角度演算出力部３０とを備えている。
【００２６】
エンコーダカウンタ１０については、エンコーダ信号ａ及び回転方向信号ｃを入力とした正負カウンタであり、そのカウンタ値ｐを角度演算出力部３０に出力するとともに、エンコーダ信号ａに関連してクリア信号ｅを生成して入力パルスカウンタ２０に出力している。
【００２７】
本実施形態では、回転方向信号ｃがＨレベルを示すときは（ステッピングモータＢの正転指令を意味する）、エンコーダ信号ａのパルスが入力される度にカウントアップする一方、回転方向信号ｃがＬレベルを示すときは（ステッピングモータＢの逆転指令を意味する）、エンコーダ信号ａのパルスが入力される度にカウントダウンする。また、クリア信号ｅについては、エンコーダ信号ａの立ち上がったことを示す信号となっている。
【００２８】
入力パルスカウンタ２０については、入力パルス信号ｂ、回転方向信号ｃ及びクリア信号ｅを入力としたＭ進の正負カウンタであり、そのカウンタ値ｑを角度演算出力部３０に出力するとともに、クリア信号ａがアクティブになったタイミングでリセットするようになっている。また、入力パルス信号ｂ、回転方向信号ｃ及びクリア信号ｅに加えて、エラー信号ｄ１及びエラー信号ｄ２が入力されており、同信号に従ってカウンタ値ｑが保持されるようになっている。
【００２９】
本実施形態では、エラー信号ｄ１、エラー信号ｄ２が何れもＬレベル（異常なしを示している）である状態では、回転方向信号ｃがＨレベルを示すときは入力パルス信号ｂのパルスが入力される度にカウントアップする一方、回転方向信号ｃがＬレベルを示すときは入力パルス信号ｂのパルスが入力される度にカウントダウンするようになっている。また、エラー信号ｄ１、エラー信号ｄ２の少なくとも一方がＨレベル（異常ありを示している）である状態では、同信号が立ち上がったタイミングでカウント値ｑを保持し、たとえ入力パルス信号ｂのパルスが入力されてもカウント値ｑが変化しないようになっている。
【００３０】
なお、エンコーダカウンタ１０のカウント値ｐと入力パルスカウンタ２０のカウント値ｑとの相関を合わせるために、ステッピングモータＢの回転角度が基準位置に一致した状態でエンコーダカウンタ１０及びクロックカウンタ２０を０クリアしている。
【００３１】
角度演算出力部３０については、エンコーダカウンタ１０のカウント値ｐ及び入力パルスカウンタ２０のカウント値ｑを入力としてステッピングモータＢの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算する乗算加算器であり、その演算結果を位置情報信号ｆとしてホストＥに常時出力するようになっている。例えば、上記例のとおりに基本ステップ角ｎが０．００１８°、角度分解能ｍが１．８°であるとし、エンコーダカウンタ１０のカウント値ｐが１０、入力パルスカウンタ２０のカウント値ｑが１００００であるとすると、ステッピングモータＢの回転角αは１０×１．８＋１００００×０．００１８＝３２．００００°となる。
【００３２】
上記のように構成された回転角検出装置Ａの動作について図２及び図３を参照して説明する。但し、図２及び図３は、説明の都合上、スリット間パルス数MC（MC＝ｒｐ／ｓｌ, ｒｐ:ステッピングモータＭの１回転に要する入力パルス信号bのパルス数, ｓｌ: ロータリーエンコーダＣに形成されたスリットｃ２の数）が１０として描かれている。
【００３３】
まず、ホストＥから出力された入力パルス信号ｂ及び回転方向信号ｃに従ってステッピングモータＢが駆動して正転すると、図２に示すようにエンコーダカウンタ１０及び入力パルスカウンタ２０がカウントアップする。例えば、時間ｔ１では、エンコーダカウンタ１０のカウント値ｐが（ｒ）、入力パルスカウンタ２０のカウント値ｑが５であることから、ステッピングモータＢの回転角αが（ｒ）・ｍ＋５・ｎの演算値となり、この演算値が位置情報信号ｆとしてホストＥに転送される。
【００３４】
その後、入力パルス信号ｂのパルス入力が中止されると、ステッピングモータＢが停止する。これに伴って、エンコーダカウンタ１０及び入力パルスカウンタ２０のカウントアップが停止して、各カウント値が保持される。例えば、時間ｔ２ではエンコーダカウンタ１０のカウント値ｐが（ｒ＋１）、入力パルスカウンタ２０のカウント値ｑが７であることから、ステッピングモータＢの回転角αは（ｒ＋１）・ｍ＋７・ｎの演算値となる。
【００３５】
時間ｔ３にて、ホストＥから出力された入力パルス信号ｂ及び回転方向信号ｃに従ってステッピングモータＢが駆動して逆転すると、エンコーダカウンタ１０及び入力パルスカウンタ２０がカウントダウンする。例えば、時間ｔ４では、エンコーダカウンタ１０のカウント値ｐが（ｒ）、入力パルスカウンタ２０のカウント値ｑが８（入力パルスカウンタ２０のリセット時に回転方向信号ｃが逆転を示しているので、カウンタ値ｑが負となり、図中２の補数で表示していることから−２に等しい）であることから、ステッピングモータＢの回転角αは（ｒ）・ｍ−２・ｎの演算値となる。
【００３６】
また、ステッピングモータＢが正転している状態で、図３に示すように時間ｔ５にてエラー信号ｄ１又はｄ２がアクティブ（Ｈレベル）になると、入力パルスカウンタ２０のカウントアップが入力パルス信号ｂに関係なく停止し、そのカウント値ｑが保持される。エラー信号ｄ１又はｄ２がアクティブになった時点でホストＥによりステッピングモータＢが停止されることから、エンコーダカウンタ１０のカウント値ｐが依然として保持される。例えば、時間ｔ６では、エンコーダカウンタ１０のカウント値ｐが（ｒ）、入力パルスカウンタ２０のカウント値ｑが６であることから、ステッピングモータＢの回転角αは（ｒ）・ｍ＋６・ｎの演算値となる。
【００３７】
時間ｔ７にてエラー信号ｄ１又はｄ２が非アクティブ（Ｌレベル）になると、エンコーダカウンタ１０及び入力パルスカウンタ２０のカウントアップが再開され、その後は上記と全く同様の動作となる。
【００３８】
このように回転角検出装置Ａによると、ステッピングモータＢの回転角αをロータリーエンコーダＣに比べて高精度で検出することができることから、ロータリーエンコーダＣとして低分解能型のものを使用することができる。同装置の構成が非常にシンプルであるだけでなく、従来とは異なりホストＥにおいて高度なエンコード処理が不要であることから、高分解能化及び低コスト化の双方を図ることが可能になる。特に、ステッピングモータＢを高分解能駆動するに当たりその角度分割の均等性を保つようにされているので、ステッピングモータＢの回転角αの検出精度が非常に高いというメリットがある。しかもステッピングモータＡの脱調等の異常に伴ってステッピングモータＢが停止し、その後に同モータの駆動を正常に復帰させる際、特別な設定を行うことなく、ステッピングモータＢの回転角αの検出を引き続き再開できることからこの面でも高性能化を図ることが可能である。
【００３９】
なお、本発明に係るステッピングモータの回転角検出装置については、サーボモータだけの適用に止まらず、ステッピングモータの回転角を検出することが必要とされる装置等にも同様に適用可能である。ステッピングモータやロータリーエンコーダの種類等が上記実施形態に限定されることがないのは当然であり、同装置をロータリーエンコーダ、ホスト又はドライバと別体にするのではなく、その構成部の全部又はその一部をロータリーエンコーダ、ホスト又はドライバ等に組み込んで利用する形態であっても良い。また、ステッピングモータの回転が一方向である形態であっても回転方向信号を使用しないだけで上記と全く同様に同モータの回転角を検出可能である。
【００４０】
エンコーダカウンタについては、ロータリーエンコーダのエンコーダ信号をカウントしてステッピングモータの回転角を低精度で検出することが可能である限り、その構成が問われない。ロータリーエンコーダが多相出力型であれば、位相の異なるエンコーダ信号での位相差を検出して回転方向信号を作成してこれを利用しても良い。
【００４１】
入力パルスカウンタについては、ステッピングモータを動作させるための入力パルス信号をカウントするとともにエンコーダ信号が示すタイミングでリセットする機能を有する限り、その構成が問われない。
【００４２】
角度演算出力部については、エンコーダカウンタのカウント値ｐ及び入力パルスカウンタのカウント値ｑに基づいてステッピングモータの回転角α（α＝ｐ・ｍ＋ｑ・ｎ）を演算して出力する機能を有する限り、その構成が問われない。
【符号の説明】
【００４３】
Ａ  回転角検出装置
１０  エンコーダカウンタ
２０  入力パルスカウンタ
３０  角度演算出力部
Ｂ  ステッピングモータ
Ｃ  ロータリーエンコーダ
Ｄ  ドライバ
Ｅ  ホスト
【図１】
2011027628.tif 000003
【図２】
2011027628.tif 000004
【図３】
2011027628.tif 000005