(57)【要約】【課題】ステッピングモータの制御において目標回転角度と目標回転時間をパラメータとし、自動的にパルス数を算出することで、ホストの負荷を減らすこと。また、高速時パルスレートの値によらず、常に精密な自動制御を可能にすることを目的とする。【解決手段】ステッピングモータとこれを駆動するパルス列を発生するステッピングモータコントローラとこのパルス列によりステッピングモータをドライブする回路と、目標回転角度と目標回転時間を入力するためのキーボードと、入力されたパラメータからパルス数を算出するための演算部を備えたホストコンピューターから構成されるステッピングモータ制御装置。【選択図】　　　　図１
2004015896.tif 000002
【特許請求の範囲】
【請求項１】
ステッピングモータとこれを駆動するパルス数を発生するステッピングモータコントローラと、このパルス数によりステッピングモータをドライブする回路と、パルス数の発生タイミングと、パルス数の算出を行うコンピュータからなるステッピングモータコントロール制御装置において、ステッピングモータの目標回転角度と目標回転時間を、パラメータとし、自動的にパルス数を算出することを特徴とするステッピングモータ制御装置。
【請求項２】
請求項１において、ステッピングモータの目標回転角度と、目標回転時問より、高速時パルスレートを算出し、該高速時パルスレートが、正確な稼動を、おこなうための、下限値以下である場合、または、上限値以上である場合には、あらかじめ実測してもとめた目標回転時間と実回転時間の偏差値にもとずき、パルス数を算出することを特徴とするステッピングモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステッピングモータの駆動パルスレートの計算法に関わるもので、コンピュータ上で、ホストが、任意のパラメータを入力することにより、駆動パルスを計算し、任意の時間で、任意の角度だけ回転させることを可能にしたステッピングモータ制御装置に関する。
【０００２】
【従来の技術】
ステッピングモータは、パルス信号が入力される毎にモータの巻線に流す電流を切り換えることで一定角度ずつ回転するモータで、位置制御・速度制御に適したモータである。また、ステッピングモータコントローラＬＳＩを採用し、コマンドと、データの入出力を、おこなうためのレジスタを供えているので、ホストから、定速駆動や台形駆動などの制御を容易におこなうことができるようになっている。しかし、元来、位置決め機能を、重視して、設計されたものであるから、ふつうの、モーターのように、容易に高速運転を行うことはできない。メカニズムと電流の変化の相互関係で、トルクが、大幅に変動したり、共振を、おこして、脱調したりする場合がある。一般的には、これらの現象を防止するために、図３に示すような加減速制御（台形駆動）が必要となる。従来の技術では、これらの加減速制御を、ホストから与える簡単なパラメータによって、デジタル的に、処理しようとしている。すなわち、起動時パルスレート、高速時パルスレート、加減速パルス数、動作パルス数などのデータを、コマンドとともに、書き込むことで、加減速制御をおこなっていた。
【０００３】
【発明が解決しようとする課題】
ステッピングモータを、ホストが制御する場合、パルス数を、パラメータとするのは、実際の動きとの関係が不明瞭で分かりにくいとゆう問題があった。
【０００４】
また、ステッピングモータに与える高速パルスレートの値が、ある一定のしきい値をこえると、パルス間隔の乱れによって変調をきたし、一般的計算式で得られる回転速度と、実際の回転速度の間に、ずれが、生じてくるという問題があった。
【０００５】
また、汎用ライブラリを、利用する方法もあるが、これらのライブラリでは、脱調やトラブルをおそれ、大幅にパルスレートに制限を設けているため、細かい動き（制御）を、実現することが不可能であった。
【０００６】
【課題を解決するため為の手段】
本発明は上述の課題を解決するため、第１に、ホスト側からは、ステッピングモータの目標回転角度と目標回転時間（動き始めてから、停止するまでの時間）をパラメータとして入力するだけで、コンピュータ上で自動的にパルス数を算出し、ステッピングモータのレジスタに書き込む手段を設けた。第２に、ステッピングモータの回転速度のずれを補正する手段を設けることで、より精密なステッピングモータの自動制御を可能にしたものである。
【０００７】
【発明の実施の形態】
以下、図面に基づいて本発明によるステッピングモータ制御装置の実施例を詳細こ説明する。第図１は本発明によるステッピングモータ制御装置の一実施例の要部ブロック図で、ステッピングモータ３を駆動するドライバ回路２と電源４，ステッピングモータ３の駆動パルス列を作るステッピングモータコントローラ１とホストコンピュータ５のＣＰＵ６とメモリ７と、キーボード８から構成されている。ステッピングモータコントローラ１には、タイマ９、カウンタ１０、マイクロプロセッサ１１が、あり、これらによって、モータコントロール信号を、出力している。コマンド、および、パラメータが、あたえられると、それに従って内部で制御データを作成し、この制御データを用いて高速のパルス列を出力するようになっている。また、ドライバ回路とのインターフェイス用のＩ／Ｏポート１２がある。
【０００８】
つぎに、図２のフロー図にもとずいて詳しく説明する。
【０００９】
まず、Ｓ１で、本発明のシステムを起動させ、ホストコンピュータ５のプログラムを起動する。Ｓ２では、ステッピングモータの初期設定をおこなう。初期設定では、Ｉ／０ポート１２の、アドレス設定と、基準クロックの設定を行う。次に、Ｓ３ではデータファイルの読み込みをおこなう。データファイルとは、ホストが、あらかじめ、キーボード８から実行時間（相対的）、目標回転角度と、回転方向、目標回転時間を、パラメータとして書き込んで作成したものである。本プログラム起動時に、このデータファイルを一気に読み込み、メモリ７に、記録しておく。つぎに、このデータを、ＣＰＵ６で、時間ごとにひとつひとつ実行していく手法をとることにより、ホストが思い描いたとうりに、ステッピングモータが自動的にうごくように処理している。
【００１０】
Ｓ４では、Ｎ番目のデータ（初期値１）を、総データ数（Ｎｍａｘ）だけ順次に実行していく。Ｎが、Ｎｍａｘをこえたら、Ｓ５においてプログラムを終了する。Ｎ≦Ｎｍａｘの場合は、Ｓ６で、プログラム内部の相対的な時間Ｔｒ（ホストコンピュータ５の内部クロックをつかって、プログラム起動時に、Ｔｒ＝０にし、その後は、Ｔｒ＝プログラムの実行時間になる）と、データの実行開始指定時間Ｔｎとを比較し、Ｔｎ≧Ｔｒの場合はＳ７の処理をおこなう。Ｓ７では、ステッピングモータを、実行時間（相対的）、目標回転角度と、回転方向、目標回転時間の４つのパラメータにもとずいて稼動する。一般的に、ステッピングモータのスピードを決定するためのにパルスレートという数字をつかっている。パルスレートは、モータを１ステップ動かすために要する基本クロックの数で、パルスレートとモータの速度との関係は以下の式であらわされる。
【００１１】
Ｓｐｅｅｄ＝１００００００／（（Ｒａｔｅ＋１）＊Ｔｃｌｏｃｋ＋７．５）（ＰＰＳ）　…（数１）
Ｓｐｅｅｄ：モータ速度（パルス／秒）
Ｔｃｌｏｃｋ：基本クロック周期（μｓｅｃ）
Ｒａｔｅ：パルスレート
ステッピングモータを動かすためには、まず、初期値の設定をおこない、次に、この値にもとずいて、加減速動作をおこなうための、命令を発する必要がある。初期値の設定では、ステッピングモータコントローラ１に、初期設定コマンドと初期値データを書き込む処理をおこなっている。初期値データは、モータの加減速動作の条件を決めるためのもので、起動時パルスレートＲＬ、高速時パルスレートＲＨ、加減速パルス数の３個である。起動時パルスレート及び高速時パルスレートは、それぞれ１バイトの値で与え、このとき、対応する起動時および高速時速度（ＰＰＳ）は、以下の式から、求められる。
ＳＬ＝１００００００／（（ＲＬ＋１）×Ｔｃｌｏｃｋ＋７．５）
ＳＨ＝１００００００／（ＲＨ＋１×Ｔｃｌｏｃｋ＋７．５）　…（数２）
Ｔｃｌｏｃｋ：基本クロック周期（μｓｅｃ）、（コントローラの内部クロックは２５ｋＨｚ）
パルスレートには、制限があり、以下の条件を満足しない場合は、ステッピングモータコントローラ１よりエラーが返される。
２５５≧ＲＬ≧ＲＨ＞０　…（数３）
本発明のシステムにおいては、データファイルのなかの、目標回転角鹿ｄｅｇｒｅｅ（°）と、目標回転時間ｍｔｉｍｅ（ｍｓｅｃから上記の起動時パルスレートＲＬ、高速時パルスレートＲＨ、加減速パルス数を算出することを特徴とする。以下にこの過程を、いくつかの式をもちいながら説明する。
【００１２】
まず、ステッピングモータには、モータの種類ごとに、固有の基本ステップ角がきめられている。基本ステップ角ＤＰＰは、１ステップで、移動できる角度（°）である。
【００１３】
よって、目標回転角度ｄｅｇｒｅｅから、動かしたいステップ数ｍｏｖｓｔｅｐは以下の式から算出する。
ｍｏｖｓｔｅｐ＝ｄｅｇｒｅｅ／ＤＰＰ　…（数４）
また、起動時パルスレートＲＬを、最低速度の２５５に設定すると、
ＲＬ＝２５５
高速時パルスレートＲＨは、数１から
ＲＨ＝（１００００００／ＳＨ−７．５）／ｃｌｏｃｋ−１　…（数５）
となる。
【００１４】
ここで、加速および減速に要する時間をｋｔｉｍｅ（ｍｓｅｃ）とすると、高速時速度ＳＨは以下の式で求められる。
ＳＨ＝（（ｍｏｖｓｔｅｐ×１０００−ＲＬ×ｋｔｉｍｅ／（ｍｔｉｍｅ−ｋｔｉｍｅ）　…（数６）
よって、数５と、数６から、ＲＨが、算出される。
【００１５】
また、加減速パルス数ｍｏｖｒａｔｅは、数６と以下の式から算出する。
ＳＬ＝（１０００００）／（（２５５＋１）×Ｔｃｌｏｃｋ＋７．５）　…（数７）
ｍｏｖｒａｔｅ＝ＳＬ＋（ＳＨ＋ＳＬ）／２　…（数８）
つぎに、加減速動作をおこなうための、コマンドと、動かす回転方向、動作パルス数を、設定する。回転方向は、時計回り（＋）と、反時計回り（−）を設定する。動作パルス数ｐｕｌｓは、３バイトで設定し、動かしたいステップ数−１の数字をあたえる。
ｐｕｌｓ＝ｍｏｖｓｔｅｐ−１　…（数９）
モーターが止まると、次の位置まで、移動させるために、ｓ８で、Ｎを、インクリメントして、ｓ４にもどる。このように、データファイルの、実行時間（相対的）、目標回転角度と、回転方向、目標回転時間にしたがって、次々に、ステッピングモータを、うごかすのだが、実際には、ステッピングモータコントローラ１の能力に限界があるため、ＲＨとＳＨの関係は、図４に示すように、ＲＨがしきい値Ｒｍｉｎより小さい場合（ＲＨ＜Ｒｍｉｎ）やＲＨがしきい値Ｒｍａｘより大きい場合（ＲＨ＞Ｒｍａｘ）には、数２の式に当てはまらず、目標高速時速度と、実高速時速度の間に、偏差が生じる。また、この、偏差の大きさは、モーターの機種や、外部条件などによって、多少異なるため、正確な補正のための数式をもとめることが困難である。そこで、本発明では、１≦ＲＨ＜Ｒｍｉｎの範囲内で、実回転時間を測定する実験をおこなった。図５は実験結果を示したもので、目標回転時間がＴのとき、ＲＨ＝Ｒｍｉｎになる回転角度Ｄｍｉｎをもとめる。Ｄｍｉｎは以下の式からもとめられる。
Ｒｍｉｎ＝（１００００００／ＳＨ−７．５）／Ｔｃｌｏｃｋ−１
ＳＨ＝（（Ｄｍｉｎ／ＤＰＰ×１０００−２５５×ｋｔｉｍｅ）／（Ｔ−ｋｔｉｍｅ）　…（数１０）
次に、ＲＨ＝１、２、３、…Ｒｍｉｎ−２Ｒｍｉｎ−１のときの、回転角度を、同様にもとめ、この値をＤ１、Ｄ２、Ｄ３、…Ｄｍｉｎ−２，Ｄｍｉｎ−１とし、これらの角度を目標回転時間Ｔで動かした時の、実回転時間ＴＲ１、ＴＲ２…ＴＲｍｉｎ−２ＴＲｍｉｎ−１を測定したものである。
【００１６】
この測定結果にもとずき、目標回転角度Ｄ１を、目標回転時間Ｔで、動かすためには、あらかじめ、Ｔ−ＴＲ１の偏差をＴに付加した回転時間ＴＴ１で稼動させる。
ＴＴ１＝Ｔ＋（Ｔ−ＴＲ１）　…（数１１）
同様に、ＲＨがＲｍａｘ＜ＲＨ≦２５５の範囲においても実測をおこなう。その結果を、図６にしめす。図６は、目標回転時間がＴのとき、ＲＨ＝Ｒｍａｘになる回転角度Ｄｍａｘを、数１０式から求め、次に、ＲＨ＝Ｒｍａｘ，Ｒｍａｘ＋１…．２５５のときの、回転角度を、同様にもとめ、この値をＤｍａｘ，Ｄｍａｘ＋１、…Ｄ２５５とし、これらの角度を目標回転時間Ｔで動かした時の、実回転時間ＴＲｍａｘ、ＴＲｍａｘ＋１…ＴＲ２５５を測定したものである。この測定結果にもとずき、目標回転角度Ｄ２５５を、目標回転時間Ｔで、動かすためには、あらかじめＴＲ５−Ｔの偏差をＴから差し引いた回転時間ＴＴ２５５で稼動させる。
ＴＴ２５５＝Ｔ−（ＴＲ２５５−Ｔ）　…（数１２）
さらに、目標回転時間を、小さい値から、大きい値に、適当な間隔でふやしていき、
Ｔｎ，Ｔｎ＋ｍ，Ｔｎ＋２ｍ，…
これらの目標回転時間に対する、ＲＨ＝１、２、３、…Ｒｍｉｎ−２Ｒｍｉｎ−１とＲＨ＝Ｒｍａｘ，Ｒｍａｘ＋１…．２５５のときの、実回転速度も、同様に算出することにより、図４における、偏差値全体を明確にしていく。
【００１７】
数１１と、数１２を、まとめ、ＲＨ＝ｉとすると、
１≦ＲＨ＜Ｒｍｉｎの場合は、
ＴＴｉ＝Ｔ＋（Ｔ−ＴＲｉ）
Ｒｍａｘ＜ＲＨ≦２５５の場合は、
ＴＴｉ＝Ｔ−（ＴＲｉ−Ｔ）
なので、
ＴＴｉ＝Ｔ＋Ｔ−ＴＲｉ　…（数１３）
となり、同一の式となる。
【００１８】
【発明の効果】
以上に説明したように、本発明によるステッピングモータ制御装置によれば、ホストが、ステッピングモータを動かす場合、いちいち、パルス数を算出するための、難しい計算を行う必要がなく、データファイルにパルス数よりも、直感的な情報である目標回転時間と目標回転角度を、あらかじめ、実行する相対的時間とともに、書き込んでおくだけで、コンピューターから、自動的にステッピングモータを稼動することが可能になった。
【００１９】
また、高速時パルスレートが、小さい場合や、大きい場合でも、みかけ上（ソフトウエア処理により）、性能をアップさせることで、これまでは実現できなかった、より精密なステッピングモータの自動制御を行うことが可能になった。
【図面の簡単な説明】
【図１】本発明装置の構成を示すブロック図。
【図２】本発明の実施例の処理手順を示すフローチャート。
【図３】ステッピングモータの台形駆動の概念図。
【図４】ＲＨと高速時速度の関係を表した図。
【図５】１≦ＲＨ＜Ｒｍｍｉｎの時の目標回転時間と実回転時間の関係を表した図。
【図６】Ｒｍａｘ＜ＲＨ≦２５５の時の目標回転時間と実回転時間の関係を表した図。
【図１】
2004015896.tif 000003
【図２】
2004015896.tif 000004
【図３】
2004015896.tif 000005
【図４】
2004015896.tif 000006
【図５】
2004015896.tif 000007
【図６】
2004015896.tif 000008