(57)【要約】【課題】制御装置及び回転量検出器の演算精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法の提供。【解決手段】制御装置が、回転量検出器が検出したモータの回転量と、外部から指示された指示回転量との差（Ｓ１２）に基づき、制御周期毎にモータの回転量を指示回転量にすべく駆動制御する（Ｓ１５）モータの制御方法。制御装置の演算精度及び回転量検出器の検出精度に起因するモータの回転量と指示回転量との制御周期毎の誤差を算出しておき、外部から設定され記憶しているＫ回（Ｋは自然数）の制御周期毎（Ｓ１３）に、制御周期毎の誤差のＫ回分に基づき、回転量検出器が検出したモータの回転量の補正を実行する（Ｓ２０）。【選択図】　　　　図４
2004015848.tif 000002
【特許請求の範囲】
【請求項１】
制御装置が、回転量検出器が検出したモータの回転量と、外部から指示された指示回転量との差に基づき、制御周期毎に前記モータの回転量を前記指示回転量にすべく駆動制御するモータの制御方法において、
前記制御装置の演算精度及び回転量検出器の検出精度に起因する前記モータの回転量と前記指示回転量との前記制御周期毎の誤差を算出しておき、外部から設定され記憶しているＫ回（Ｋは自然数）の前記制御周期毎に、前記誤差のＫ回分に基づき、前記回転量検出器が検出したモータの回転量の補正を実行することを特徴とするモータの制御方法。
【請求項２】
Ｋ回毎の前記補正の、外部から設定され記憶しているＬ回（Ｌは自然数）毎に、前記モータの回転量の補正を更に実行し、該補正は、Ｋ回毎の補正により補正されない誤差のＬ回分を算出しておき、算出しておいたＬ回分の誤差に基づき実行する請求項１記載のモータの制御方法。
【請求項３】
前記制御周期の、外部から設定され記憶しているＭ回（Ｍ＞Ｋ、Ｍは自然数）毎に、前記モータの回転量の補正を更に実行し、該補正は、Ｋ回毎の補正により補正されない前記制御周期毎の誤差のＭ回分を算出しておき、算出しておいたＭ回分の誤差に基づき実行する請求項１記載のモータの制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御装置が、回転量検出器が検出したモータの回転量と、外部から指示された指示回転量との差に基づき、制御周期毎にモータの回転量を指示回転量にすべく駆動制御するモータの制御方法の改良に関するものである。
【０００２】
【従来の技術】
モータの制御方法では、制御周期毎に、１制御周期間の「モータ軸理想回転量（指示回転量）（フィードバックパルス数換算）」に基づき、指示電圧値が算出され、モータに印加する。
一般的には、前制御周期の「モータ軸理想回転量」と実際の回転量との差を、今制御周期の指示電圧値に反映させる方法（例えば、ＰＩＤ制御）が用いられる。
【０００３】
上述した「１制御周期間のモータ軸理想回転量」は、計算コストの点から、整数型変数として管理することが望ましい。実数型の計算は、大きな処理時間を要することから、演算能力が低い安価なプロセッサでは、制御周期を長くする必要があり、制御性能の劣化を招く。
また、回転開始から終了迄の回転量（時間）が小さいものに限定される場合には、「１制御周期間のモータ軸理想回転量」を「回転開始からのモータ軸総回転量」に置き換えることが可能であるが、回転量（時間）が大きくなる場合は、パルスカウンタのオーバフローを考慮しなければならず、計算処理コストに伴う処理時間の増大、及び処理プログラムの複雑化等の面から好ましくない。
【０００４】
【発明が解決しようとする課題】
例えば、図１０に示すように、２台以上のモータについて、終端軸の回転速度と位置とを同時に制御する場合、軸間で減速比及びドラム径等が異なる場合には、制御周期毎の「モータ軸理想回転量」に含まれる整数丸め誤差が異なる為、長時間運転すると、軸間の位置偏差が累積する。この位置偏差は、制御目標自体のズレであり、コントローラは認識出来ない為、修復不可能な偏差となる。
【０００５】
その結果、偏差が大きくなると、図１０（ａ）に示すように、各モータ１によりそれぞれ駆動する２台の並置されたベルトコンベヤの各周面に、等間隔に複数のアタッチメント１１を設け、両ベルトコンベヤの各１個のアタッチメント１１間に、ワーク１２（製品）を渡して搬送するような場合には、ワーク１２が傾き、破損する虞がある。
また、偏差が大きくなると、図１０（ｂ）に示すように、３台のモータ１，２，３により１台のベルトコンベヤを駆動し、ワーク１３を搬送するような場合には、ベルトコンベヤの張力が過大になったり、弛みが生じたりして、ワーク１３に無用な振動及び衝撃を与えることになる。
【０００６】
例えば、モータ軸１回転当たり１００パルスのパルスエンコーダを使用し、制御周期１０ｍｓ、第１軸の１制御周期当たりのモータ軸理想回転量が１００００．３３パルス（整数丸め誤差０．３３パルス）、第２軸が１５０００．０パルス（整数丸め誤差０パルス）で、低速回転制御を行うと、理想的な制御が行われたとしても、３秒（３００制御周期）後には、第１軸がモータ軸１回転分遅れることになる。
【０００７】
本発明は、上述したような事情に鑑みてなされたものであり、制御装置の演算精度及び回転量検出器の検出精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
第１発明では、制御周期の回数をカウントし、そのカウント値が「丸め誤差補正周期数」に達する度に、その周期数に見合うだけの回転補正量（回転開始前に算出）を、その時点の制御偏差の形で加算することにより、補正を行う。これにより、図９（ａ）に示すように、理想回転量の整数丸め誤差に起因する累積誤差は、大幅に低減される。
尚、「丸め誤差補正周期数」は、システム変数として設定可能であり、電源オフ時も保持される。
第２，３発明では、図９（ｂ）に示すように、図９（ａ）に示す整数丸め誤差の補正を２重のループで実行することにより、更に補正精度を高める。
【０００９】
第１発明に係るモータの制御方法は、制御装置が、回転量検出器が検出したモータの回転量と、外部から指示された指示回転量との差に基づき、制御周期毎に前記モータの回転量を前記指示回転量にすべく駆動制御するモータの制御方法において、前記制御装置の演算精度及び回転量検出器の検出精度に起因する前記モータの回転量と前記指示回転量との前記制御周期毎の誤差を算出しておき、外部から設定され記憶しているＫ回（Ｋは自然数）の前記制御周期毎に、前記誤差のＫ回分に基づき、前記回転量検出器が検出したモータの回転量の補正を実行することを特徴とする。
【００１０】
このモータの制御方法では、制御装置が、回転量検出器が検出したモータの回転量と、外部から指示された指示回転量との差に基づき、制御周期毎にモータの回転量を指示回転量にするように駆動制御する。制御装置の演算精度及び回転量検出器の検出精度に起因するモータの回転量と指示回転量との制御周期毎の誤差を算出しておく。外部から設定され記憶しているＫ回の制御周期毎に、モータの回転量と指示回転量との制御周期毎の誤差のＫ回分に基づき、回転量検出器が検出したモータの回転量の補正を実行する。
これにより、制御装置の演算精度及び回転量検出器の検出精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法を実現することが出来る。
【００１１】
第２発明に係るモータの制御方法は、Ｋ回毎の前記補正の、外部から設定され記憶しているＬ回（Ｌは自然数）毎に、前記モータの回転量の補正を更に実行し、該補正は、Ｋ回毎の補正により補正されない誤差のＬ回分を算出しておき、算出しておいたＬ回分の誤差に基づき実行することを特徴とする。
【００１２】
このモータの制御方法では、Ｋ回毎のモータの回転量の補正の、外部から設定され記憶しているＬ回毎に、モータの回転量の補正を更に実行し、この補正は、Ｋ回毎の補正により補正されない誤差のＬ回分を算出しておき、算出しておいたＬ回分の誤差に基づき実行する。
これにより、制御装置及び回転量検出器の演算精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法を実現することが出来る。
【００１３】
第３発明に係るモータの制御方法は、前記制御周期の、外部から設定され記憶しているＭ回（Ｍ＞Ｋ、Ｍは自然数）毎に、前記モータの回転量の補正を更に実行し、該補正は、Ｋ回毎の補正により補正されない前記制御周期毎の誤差のＭ回分を算出しておき、算出しておいたＭ回分の誤差に基づき実行することを特徴とする。
【００１４】
このモータの制御方法では、制御周期の、外部から設定され記憶しているＭ回毎に、モータの回転量の補正を更に実行し、この補正は、Ｋ回毎の補正により補正されない制御周期毎の誤差のＭ回分を算出しておき、算出しておいたＭ回分の誤差に基づき実行する。
これにより、制御装置及び回転量検出器の演算精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法を実現することが出来る。
【００１５】
【発明の実施の形態】
以下に、本発明をその実施の形態を示す図面に基づいて説明する。
実施の形態１．
図１は、本発明に係るモータの制御方法の実施の形態１を適用するモータ制御システムの要部構成を示すブロック図である。このモータ制御システムは、図１０（ａ）に示すように、２台のモータ１ａ，１ｂについて、終端軸の回転速度と位置とを同時に制御しており、コントローラ５（制御装置）のＤ／Ａ（ディジタル／アナログ）コンバータ６から、２台のモータ１ａ，１ｂそれぞれへの指示電圧がそれぞれのドライバ８，９に与えられる。ドライバ８，９は、サーボアンプ及びインバータからなり、与えられた指示電圧に応じた周波数の電圧を、それぞれのモータ１ａ，１ｂに印加する。
【００１６】
ロータリエンコーダ４ａ，４ｂ（回転量検出器）が、モータ１ａ，１ｂのそれぞれの軸回転量を検出し、それぞれの検出信号はパルス列となって、コントローラ５のパルスカウンタ７に与えられる。
コントローラ５は、パルスカウンタ７にそれぞれ与えられ計数された検出信号と、外部から指示されたモータ１ａ，１ｂそれぞれの理想回転量（指示回転量）との差に基づき、モータ１ａ，１ｂそれぞれへの指示電圧を演算し、Ｄ／Ａコンバータ６を通じて出力する。
【００１７】
図２は、モータ１ａ及びロータリエンコーダ４ａの構成例を示す模式図である。モータ１ａはドライバ８から与えられた電圧により回転し、その回転は、減速機１６により減速されて、出力軸１５に伝達される。一方、モータ１ａの回転量は、直接、ロータリエンコーダ４ａに検出され、検出信号は、パルス列としてパルスカウンタ７に与えられる。
【００１８】
以下に、このような構成のモータ制御システムのモータ１ａの制御方法を、それを示す図３，４のフローチャートを参照しながら説明する。
コントローラ５は、先ず、初期化処理を行い、パラメータ類をリセットする（Ｓ１）。次いで、内蔵メモリからモータ１ａの丸め誤差補正周期Ｔ［周期］（Ｋ回）を読み込み（Ｓ２）、モータ１ａの回転指令を受け付ける迄待機する（Ｓ３）。
【００１９】
コントローラ５は、モータ１ａの回転指令を受け付けたとき（Ｓ３）、モータ１ａの終端軸の指令回転速度Ω［ｒ／ｓ］（理想回転量（指示回転量）；モータ軸の指令回転量であっても良い）を読み込み（Ｓ４）、モータ１ａのモータ軸理想回転量Ｒ０［パルス］（実数型）を次式で算出する（Ｓ５）。
Ｒ０＝Ω／ｋ×Ｐ×τ
但し、ｋ；減速比（終端軸回転量／モータ軸回転量）等、Ｐ；モータ軸１回転当たりのパルス数、τ；制御周期［ｓ］である。
【００２０】
次に、コントローラ５は、モータ１ａの理想回転量Ｒ１［パルス］（整数型）と、その整数丸め誤差ｅ（実数型）とを次式で算出する（Ｓ６）。
Ｒ１＝ｉｎｔ（Ｒ０）
ｅ＝Ｒ１−Ｒ０
但し、ｉｎｔ（ｘ）は、実数ｘの０に近い側の整数丸め値を示す。
【００２１】
次に、コントローラ５は、モータ１ａの丸め補正の為の回転補正量Ｃ［パルス］（整数型）を次式で算出する（Ｓ７）。
Ｃ＝ｉｎｔ（ｅ×Ｔ）
次に、コントローラ５は、モータ１ａの回転開始処理を行い（Ｓ８）、次いで、モータ１ａの加速処理に入り（Ｓ９）、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達する迄（Ｓ１０）、加速処理を行う（Ｓ９）。
【００２２】
コントローラ５は、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達すると（Ｓ１０）、補正周期カウンタのカウント値ｎを０とし（図４Ｓ１１）、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出する（Ｓ１２）。
コントローラ５は、次に、補正周期カウンタのカウント値ｎが丸め誤差補正周期Ｔに達しているか否かを判定し（Ｓ１３）、達していなければ、補正周期カウンタのカウント値ｎに１を加算し（Ｓ１４）、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ１２）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ１５）。
【００２３】
コントローラ５は、次に、外部からのモータ１ａの停止指令を受け付けたか否かを判定し（Ｓ１６）、受け付けていなければ、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出し（Ｓ１２）、次の制御周期を実行する。
コントローラ５は、補正周期カウンタのカウント値ｎが丸め誤差補正周期Ｔに達していれば（Ｓ１３）、算出した丸め補正の為の回転補正量Ｃ（Ｓ７）を、算出した偏差Ｄ（Ｓ１２）に足し込み（Ｓ２０）、補正周期カウンタのカウント値ｎを０とする（Ｓ２１）。次いで、理想回転量Ｒ１と回転補正量Ｃを足し込んだ偏差Ｄ（Ｓ２０）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ１５）。
【００２４】
コントローラ５は、外部からのモータ１ａの停止指令を受け付けていれば（Ｓ１６）、モータ１ａの減速処理を行い（Ｓ１７）、モータ１ａの停止処理を行い（Ｓ１８）、運転終了であるか否かを判定し（Ｓ１９）、運転終了でなければ、モータ１ａの回転指令を受け付ける迄待機する（Ｓ３）。運転終了であれば（Ｓ１９）終了する。
【００２５】
実施の形態２．
図５，６は、本発明に係るモータの制御方法の実施の形態２を示すフローチャートである。このモータの制御方法を適用するモータ制御システムの構成は、実施の形態１で説明したモータ制御システム（図１，２）と同様であるので、同一箇所には同一符号を使用して、説明を省略する。
【００２６】
以下に、このような構成のモータ制御システムのモータ１ａの制御方法を、図５，６のフローチャートを参照しながら説明する。
コントローラ５は、先ず、初期化処理を行い、パラメータ類をリセットする（Ｓ２５）。次いで、内蔵メモリからモータ１ａの、制御周期Ｋ回毎の第１補正の為の丸め誤差補正周期Ｔ１［周期］と、第１補正のＬ回毎の第２補正の為の丸め誤差補正周期Ｔ２［周期］とを読み込み（Ｓ２６）、モータ１ａの回転指令を受け付ける迄待機する（Ｓ２７）。
【００２７】
コントローラ５は、モータ１ａの回転指令を受け付けたとき（Ｓ２７）、モータ１ａの終端軸の指令回転速度Ω［ｒ／ｓ］（理想回転量（指示回転量）；モータ軸の指令回転量であっても良い）を読み込み（Ｓ２８）、モータ１ａのモータ軸理想回転量Ｒ０［パルス］（実数型）を次式で算出する（Ｓ２９）。
Ｒ０＝Ω／ｋ×Ｐ×τ
但し、ｋ；減速比（終端軸回転量／モータ軸回転量）等、Ｐ；モータ軸１回転当たりのパルス数、τ；制御周期［ｓ］である。
【００２８】
次に、コントローラ５は、モータ１ａの理想回転量Ｒ１［パルス］（整数型）と、その丸め補正（第１補正）の為の整数丸め誤差ｅ１（実数型）とを次式で算出する（Ｓ３０）。
Ｒ１＝ｉｎｔ（Ｒ０）
ｅ１＝Ｒ１−Ｒ０
但し、ｉｎｔ（ｘ）は、実数ｘの０に近い側の整数丸め値を示す。
【００２９】
次に、コントローラ５は、モータ１ａの丸め補正（第１補正）の為の回転補正量Ｃ１［パルス］（整数型）を次式で算出する（Ｓ３１）。
Ｃ１＝ｉｎｔ（ｅ１×Ｔ１）
【００３０】
次に、コントローラ５は、回転補正量Ｃ１の整数丸め誤差ｅ２を次式で算出する（Ｓ３２）。
ｅ２＝Ｃ１−（ｅ１×Ｔ１）
次に、コントローラ５は、モータ１ａの丸め補正（第２補正）の為の回転補正量Ｃ２［パルス］（整数型）を次式で算出する（Ｓ３３）。
Ｃ２＝ｉｎｔ（ｅ２×Ｔ２）
【００３１】
次に、コントローラ５は、モータ１ａの回転開始処理を行い（Ｓ３４）、次いで、モータ１ａの加速処理に入り（Ｓ３５）、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達する迄（Ｓ３６）、加速処理を行う（Ｓ３５）。
【００３２】
コントローラ５は、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達すると（Ｓ３６）、補正周期カウンタのカウント値ｎ１（第１補正），ｎ２（第２補正）をそれぞれ０とし（図６Ｓ３７）、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出する（Ｓ３８）。
コントローラ５は、次に、補正周期カウンタのカウント値ｎ１が丸め誤差補正周期Ｔ１に達しているか否かを判定し（Ｓ３９）、達していなければ、補正周期カウンタのカウント値ｎ１に１を加算し（Ｓ４０）、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ３８）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ４１）。
【００３３】
コントローラ５は、次に、外部からのモータ１ａの停止指令を受け付けたか否かを判定し（Ｓ４２）、受け付けていなければ、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出し（Ｓ３８）、次の制御周期を実行する。
コントローラ５は、補正周期カウンタのカウント値ｎ１が丸め誤差補正周期Ｔ１に達していれば（Ｓ３９）、算出した丸め補正の為の回転補正量Ｃ１（Ｓ３１）を、算出した偏差Ｄ（Ｓ３８）に足し込み（Ｓ４６）（第１補正）、補正周期カウンタのカウント値ｎ１を０とする（Ｓ４７）。
【００３４】
コントローラ５は、次に、補正周期カウンタのカウント値ｎ２が丸め誤差補正周期Ｔ２に達しているか否かを判定し（Ｓ４８）、達していなければ、補正周期カウンタのカウント値ｎ２に１を加算する（Ｓ４９）。次いで、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ３８）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ４１）。
【００３５】
コントローラ５は、補正周期カウンタのカウント値ｎ２が丸め誤差補正周期Ｔ２に達していれば（Ｓ４８）、算出した丸め補正の為の回転補正量Ｃ２（Ｓ３３）を、算出した偏差Ｄ（Ｓ３８）に足し込み（Ｓ５０）（第２補正）、補正周期カウンタのカウント値ｎ２を０とする（Ｓ５１）。
コントローラ５は、次に、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ３８）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ４１）。
【００３６】
コントローラ５は、外部からのモータ１ａの停止指令を受け付けていれば（Ｓ４２）、モータ１ａの減速処理を行い（Ｓ４３）、モータ１ａの停止処理を行い（Ｓ４４）、運転終了であるか否かを判定し（Ｓ４５）、運転終了でなければ、モータ１ａの回転指令を受け付ける迄待機する（Ｓ２７）。運転終了であれば（Ｓ４５）終了する。
【００３７】
実施の形態３．
図７，８は、本発明に係るモータの制御方法の実施の形態３を示すフローチャートである。このモータの制御方法を適用するモータ制御システムの構成は、実施の形態１で説明したモータ制御システム（図１，２）と同様であるので、同一箇所には同一符号を使用して、説明を省略する。
【００３８】
以下に、このような構成のモータ制御システムのモータ１ａの制御方法を、図７，８のフローチャートを参照しながら説明する。
コントローラ５は、先ず、初期化処理を行い、パラメータ類をリセットする（Ｓ５５）。次いで、内蔵メモリからモータ１ａの、制御周期Ｋ回毎の第１補正の為の丸め誤差補正周期Ｔ１［周期］と、制御周期Ｍ回（Ｍ＞Ｋ）毎の第２補正の為の丸め誤差補正周期Ｔ３［周期］とを読み込み（Ｓ５６）、モータ１ａの回転指令を受け付ける迄待機する（Ｓ５７）。
【００３９】
コントローラ５は、モータ１ａの回転指令を受け付けたとき（Ｓ５７）、モータ１ａの終端軸の指令回転速度Ω［ｒ／ｓ］（理想回転量（指示回転量）；モータ軸の指令回転量であっても良い）を読み込み（Ｓ５８）、モータ１ａのモータ軸理想回転量Ｒ０［パルス］（実数型）を次式で算出する（Ｓ５９）。
Ｒ０＝Ω／ｋ×Ｐ×τ
但し、ｋ；減速比（終端軸回転量／モータ軸回転量）等、Ｐ；モータ軸１回転当たりのパルス数、τ；制御周期［ｓ］である。
【００４０】
次に、コントローラ５は、モータ１ａの理想回転量Ｒ１［パルス］（整数型）と、その丸め補正（第１補正）の為の整数丸め誤差ｅ１（実数型）とを次式で算出する（Ｓ６０）。
Ｒ１＝ｉｎｔ（Ｒ０）
ｅ１＝Ｒ１−Ｒ０
但し、ｉｎｔ（ｘ）は、実数ｘの０に近い側の整数丸め値を示す。
【００４１】
次に、コントローラ５は、モータ１ａの丸め補正（第１補正）の為の回転補正量Ｃ１［パルス］（整数型）を次式で算出する（Ｓ６１）。
Ｃ１＝ｉｎｔ（ｅ１×Ｔ１）
次に、コントローラ５は、丸め補正（第２補正）の為の回転補正量Ｃ３［パルス］（整数型）を次式で算出する（Ｓ６２）。
Ｃ３＝ｉｎｔ（ｅ１×Ｔ３）−ｉｎｔ（Ｔ３／Ｔ１）×Ｃ１
【００４２】
次に、コントローラ５は、モータ１ａの回転開始処理を行い（Ｓ６３）、次いで、モータ１ａの加速処理に入り（Ｓ６４）、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達する迄（Ｓ６５）、加速処理を行う（Ｓ６４）。
【００４３】
コントローラ５は、ロータリエンコーダ４ａが検出した回転量が指令速度（理想回転量Ｒ１）に到達すると（Ｓ６５）、補正周期カウンタのカウント値ｎ１（第１補正），ｎ３（第２補正）をそれぞれ０とし（図８Ｓ６６）、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出する（Ｓ６７）。
コントローラ５は、次に、補正周期カウンタのカウント値ｎ１が丸め誤差補正周期Ｔ１に達しているか否かを判定し（Ｓ６８）、達していなければ、補正周期カウンタのカウント値ｎ１に１を加算する（Ｓ６９）。
【００４４】
コントローラ５は、次に、補正周期カウンタのカウント値ｎ３が丸め誤差補正周期Ｔ３に達しているか否かを判定し（Ｓ７０）、達していなければ、補正周期カウンタのカウント値ｎ３に１を加算する（Ｓ７１）。
コントローラ５は、次に、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ６７）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ７２）。
【００４５】
コントローラ５は、次に、外部からのモータ１ａの停止指令を受け付けたか否かを判定し（Ｓ７３）、受け付けていなければ、理想回転量Ｒ１とロータリエンコーダ４ａが検出した回転量との偏差Ｄ［パルス］（整数型）を算出し（Ｓ６７）、次の制御周期を実行する。
コントローラ５は、補正周期カウンタのカウント値ｎ１が丸め誤差補正周期Ｔ１に達していれば（Ｓ６８）、算出した丸め補正の為の回転補正量Ｃ１（Ｓ６１）を、算出した偏差Ｄ（Ｓ６７）に足し込み（Ｓ７７）（第１補正）、補正周期カウンタのカウント値ｎ１を０とする（Ｓ７８）。次いで、補正周期カウンタのカウント値ｎ３が丸め誤差補正周期Ｔ３に達しているか否かを判定する（Ｓ７０）。
【００４６】
コントローラ５は、補正周期カウンタのカウント値ｎ３が丸め誤差補正周期Ｔ３に達していれば（Ｓ７０）、算出した丸め補正の為の回転補正量Ｃ３（Ｓ６２）を、算出した偏差Ｄ（Ｓ６７）に足し込み（Ｓ７９）（第２補正）、補正周期カウンタのカウント値ｎ３を０とする（Ｓ８０）。次いで、理想回転量Ｒ１と算出した偏差Ｄ（Ｓ７９）とに応じた指示電圧Ｖを算出し、Ｄ／Ａコンバータ６を通じて出力する（Ｓ７２）。
【００４７】
コントローラ５は、外部からのモータ１ａの停止指令を受け付けていれば（Ｓ７３）、モータ１ａの減速処理を行い（Ｓ７４）、モータ１ａの停止処理を行い（Ｓ７５）、運転終了であるか否かを判定し（Ｓ７６）、運転終了でなければ、モータ１ａの回転指令を受け付ける迄待機する（Ｓ５７）。運転終了であれば（Ｓ７６）終了する。
【００４８】
尚、上述した各実施の形態において、丸め誤差補正周期に関しては、その値をシステム変数として、回転停止中に随時変更可能とすることにより、用途に応じた補正性能の最適化を図ることが出来る。
すなわち、丸め誤差補正周期を短くした場合、短期的な累積誤差の変動（図９における鋸歯形状）は小さくなる反面、回転補正量自体が持つ整数丸め誤差の度合いが大きくなる為、平均的な累積誤差の増加速度は大きくなる。逆に、丸め誤差補正周期を長くした場合、累積誤差の変動は大きくなるが、長期的な累積誤差は小さくなる。１回の回転量及び許容精度等を考慮して最適値とすることが出来る。
【００４９】
【発明の効果】
本発明に係るモータの制御方法によれば、制御装置及び回転量検出器の演算精度に起因するモータの回転量と理想回転量との誤差を補正することが出来るモータの制御方法を実現することが出来る。
また、回転制御中に実行すべき演算量が少ないので、安価で低性能のプロセッサで実現することが出来る。
また、短期的な誤差変動抑制と長期的な精度維持のバランスを調整することが出来、モータの用途別の誤差補正性能の最適化が可能である。
【図面の簡単な説明】
【図１】本発明に係るモータの制御方法の実施の形態を適用するモータ制御システムの要部構成を示すブロック図である。
【図２】モータ及びロータリエンコーダの構成例を示す模式図である。
【図３】本発明に係るモータの制御方法を示すフローチャートである。
【図４】本発明に係るモータの制御方法を示すフローチャートである。
【図５】本発明に係るモータの制御方法を示すフローチャートである。
【図６】本発明に係るモータの制御方法を示すフローチャートである。
【図７】本発明に係るモータの制御方法を示すフローチャートである。
【図８】本発明に係るモータの制御方法を示すフローチャートである。
【図９】本発明に係るモータの制御方法を示す説明図である。
【図１０】２台以上のモータについて、終端軸の回転速度と位置とを同時に制御する場合の例を示す説明図である。
【符号の説明】
１ａ，１ｂ　モータ
４ａ，４ｂ　ロータリエンコーダ（回転量検出器）
５　コントローラ（制御装置）
６　Ｄ／Ａコンバータ
７　パルスカウンタ
８，９　ドライバ
１５　出力軸
１６　減速機
【図１】
2004015848.tif 000003
【図２】
2004015848.tif 000004
【図３】
2004015848.tif 000005
【図４】
2004015848.tif 000006
【図５】
2004015848.tif 000007
【図６】
2004015848.tif 000008
【図７】
2004015848.tif 000009
【図８】
2004015848.tif 000010
【図９】
2004015848.tif 000011
【図１０】
2004015848.tif 000012