[go: up one dir, main page]

JP2018182895A - モータ制御装置、方法及びプログラム - Google Patents

モータ制御装置、方法及びプログラム Download PDF

Info

Publication number
JP2018182895A
JP2018182895A JP2017079028A JP2017079028A JP2018182895A JP 2018182895 A JP2018182895 A JP 2018182895A JP 2017079028 A JP2017079028 A JP 2017079028A JP 2017079028 A JP2017079028 A JP 2017079028A JP 2018182895 A JP2018182895 A JP 2018182895A
Authority
JP
Japan
Prior art keywords
time
distance
stepping motor
acceleration
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017079028A
Other languages
English (en)
Other versions
JP6887857B2 (ja
Inventor
真彦 溝口
Masahiko Mizoguchi
真彦 溝口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2017079028A priority Critical patent/JP6887857B2/ja
Priority to US15/948,411 priority patent/US10601351B2/en
Publication of JP2018182895A publication Critical patent/JP2018182895A/ja
Application granted granted Critical
Publication of JP6887857B2 publication Critical patent/JP6887857B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P8/00Arrangements for controlling dynamo-electric motors rotating step by step
    • H02P8/22Control of step size; Intermediate stepping, e.g. microstepping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/19Drive system for arm
    • Y10S901/23Electric motor
    • Y10S901/24Stepper motor

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Stepping Motors (AREA)

Abstract

【課題】物理理論に基づいた演算によりステッピングモータの速度制御を実行するとともに、回路規模及び処理時間を抑えられるようにする。
【解決手段】ステップ時間演算部202は、ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求める。ステップ時間演算部202は、物理理論式に含まれる時間の関数である距離x=fx(t)に対してニュートン法を適用することにより、導関数f'x(t)の逆数を用いて表わされる、nステップ目の距離に対する時間を求める。その際に、導関数f'x(t)の逆数に対してニュートン法を適用することにより、導関数の逆数を求める。
【選択図】図2

Description

本発明は、ステッピングモータ(パルスモータ)を制御するモータ制御装置、方法及びプログラムに関する。
ステッピングモータは、パルス信号により駆動され、パルス信号の周波数に応じた回転速度で、パルス信号のパルス数に応じた角度だけ回転する。したがって、ステッピングモータの速度制御を行うためには、パルス信号の周波数及びパルス数を制御する必要があり、指令速度に基づいて、パルス信号の印加時間を算出する必要がある。
例えば特許文献1には、パルスモータの加速時又は減速時にマイクロステップ駆動におけるマイクロステップ間隔をパルスモータの駆動電流の1/4周期毎に変化させることが開示されている。これにより、移動物体の加速時又は減速時の速度分解能が細かくなり、移動物体の加減速をなめらかに行うことができる。
ステッピングモータにおいては、図8(a)に示すように、時間に対する速度を台形状に制御する台形制御が行われる。台形制御では、ステッピングモータの加減速時に、加速度を一定とし、回転速度を徐々に上昇又は低下させる。台形制御に関して、例えば特許文献2には、パルス列の発生タイミングを漸化式で計算する構成が開示されている。
また、台形制御における加速度変化を抑える方式として、図8(b)に示すように、S字制御が知られている。S字制御では、ステッピングモータの加減速時に、加速度を台形状に変化させる。
また、パルス信号を様々な加減速パターンに変化させるために、各種の速度曲線の加減速パターンデータを記憶するパターンメモリを用いた加減速パルス発生装置が提案されている。この加減速パルス発生装置は、パターンメモリに記憶された加減速パターンデータを順次読み出し、並直列変換回路により直列データに変換してパルス信号として出力するものである。
また、特許文献3には、簡単な漸化式を用いて、複数の直線からなる速度パターンを演算し、加速度変化点においては、漸化式に代入する加速度を次の直線の加速度又は前の直線の加速度とすることにより、加速度の変化を抑制する手法が提案されている。
特開2001−119997号公報 特開平7−163195号公報 特開2000−139099号公報
ステッピングモータの速度制御を行う場合に、ステッピングモータの挙動を表現する物理理論に基づいた演算によるのが理想的であるが、物理理論式によっては平方根や立方根等の演算が必要となり、それを解くためには回路規模及び処理時間が増大する。
一方、ステッピングモータの速度制御を近似計算で行う場合、回路規模及び処理時間の点ではメリットとなるが、近似計算の精度によっては、理論通りの速度パターンが得られず、また、様々な速度パターンに対応できないことがある。そのため、例えば加速度の急激な変化を最適に抑制することができず、振動が発生してしまう、或いは振動を抑制するための加速時間や減速時間が長くせざるをえないといった問題がある。また、加減速パターンデータ等をメモリに記憶させる場合、加減速期間が長くなる場合、さらには加減速パターンの増加やマイクロステップ駆動の精度増大に従って、必要なメモリの容量が増大するという問題がある。これでは、例えばダイナミックに位置や速度をジョイスティックで制御するようなロボットハンド(例えば医療用ロボット・ダヴィンチ)には対応困難である。
本発明的は上記のような点に鑑みてなされたものであり、物理理論に基づいた演算によりステッピングモータの速度制御を実行するとともに、回路規模及び処理時間を抑えられるようにすることを目的とする。
本発明のモータ制御装置は、ステッピングモータを制御するモータ制御装置であって、前記ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、前記ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求めるステップ時間演算手段を備え、前記ステップ時間演算手段は、前記物理理論式に含まれる時間の関数である距離に対してニュートン法を適用することにより、前記関数の導関数の逆数を用いて表わされる、前記nステップ目の距離に対する時間を求める第一の演算手段と、前記第一の演算手段で前記nステップ目の距離に対する時間を求める際に、前記導関数の逆数に対してニュートン法を適用することにより、前記導関数の逆数を求める第二の演算手段とを備えることを特徴とする。
本発明によれば、物理理論に基づいた演算によりステッピングモータの速度制御を実行するとともに、回路規模及び処理時間を抑えることができる。
第1の実施形態に係るモータ制御装置の構成を示す図である。 第1の実施形態における駆動制御部の詳細な構成を示す図である。 第1の実施形態における駆動制御部のステップ時間演算部の詳細な構成を示す図である。 第1の実施形態においてニュートン法を二段階に適用して到達時間及び導関数の逆数を求める処理を示すフローチャートである。 S字制御における加速制御のパラメータを示す図である。 1−2相励磁駆動の駆動波形パターン例を示す図である。 第2の実施形態における駆動制御部のステップ時間演算部の詳細な構成を示す図である。 ステッピングモータの速度制御の例を説明するための図である。
以下、添付図面を参照して、本発明の好適な実施形態について説明する。
[第1の実施形態]
第1の実施形態に係るモータ制御装置及びモータ制御方法について説明する。
(モータ制御装置の構成)
図1は、第1の実施形態に係るモータ制御装置の構成を示す図である。
駆動指令部101は、例えば上位の制御手段から与えられる駆動条件に基づいて、加速形状情報である加速形状パラメータ1を算出して、駆動制御部102に出力する。
本実施形態では、図8(b)で説明したS字制御における加速制御を説明する。図5に、S字制御における加速制御の駆動条件となるパラメータ、及び加速形状パラメータ1の関係を示す。駆動条件となるパラメータは、初速度(v0)、到達速度(vmax)、到達距離(xmax)、到達時間(tmax)、最大加速度(a=amax)である。また、S字制御における加速制御を実施する加速期間では、加速度が増加する増加速領域(領域1)、加速度が一定となる定加速領域(領域2)、加速度が低下する減加速領域(領域3)が設定され、加速形状パラメータ1は、各領域1〜3における加速度傾きk1〜k3、加速度a1〜a3、速度v1〜v3、距離(ステップ位置)x1〜x3、到達時間t1〜t3である。駆動条件の中に加速形状パラメータそのものが含まれていてもよいが、駆動条件は、少なくとも加速形状パラメータを算出するのに必要十分な情報があればよい。なお、S字制御における減速制御及びそれを実施する減速期間は、駆動条件や加速形状パラメータが異なるだけで、加速制御及び加速期間と同様であり、その説明は省略する。
駆動制御部102は、駆動指令部101から出力される加速形状パラメータ1に基づいて、ステッピングモータ104を駆動するためのパルス信号の印加時間(本願では「ステップ時間」とも呼ぶ)を算出して、それに応じて駆動波形信号2を駆動部103に出力する。
駆動部103は、駆動制御部102から出力される駆動波形信号2に基づいて、実際にステッピングモータ104を駆動するのに必要な電圧及び電流を駆動信号3としてステッピングモータ104に供給するアナログ回路である。
ステッピングモータ104は、駆動部103から出力される駆動信号3のパルス数に基づいて、モータ構造から決定されるステップ角単位で回転する。ステッピングモータ104の回転速度は、駆動信号3の周波数に対応する。ステッピングモータの構造やマイクロステップ駆動を含めた駆動方式の詳細は割愛するが、一例として図6に1−2相励磁駆動の駆動波形パターン例を示す。
(S字制御における加速制御)
以下では、駆動制御部102の構成、及び駆動制御部102において加速形状パラメータ1に基づいてステップ時間を算出する処理の詳細を説明する。
図2に、駆動制御部102の詳細な構成を示す。図2に示すように、駆動制御部102は、駆動波形生成部201と、ステップ時間演算部202とを備える。
駆動波形生成部201は、例えば上位の制御手段から駆動開始指令が入ると、演算指令4をステップ時間演算部202に出力する。ステップ時間演算部202は、駆動波形生成部201から受け取った演算指令4をトリガとして、後述するアルゴリズムでステップ時間5を算出し、ステップ時間5を駆動波形生成部201に出力する。駆動波形生成部201は、ステップ時間演算部202から受け取ったステップ時間5に基づいて駆動波形を生成し、駆動波形信号2を出力する。
具体的には、駆動波形生成部201は、ステップ時間5の時間、所定のパターンの駆動波形(例えば図6に記載のA,B,NA,NB)を保持する。また、次回のパターンは、ステップ時間5が経過したときに切り替える必要があるため、駆動波形生成部201は、現在の駆動波形信号2を出力すると同時に、次回のステップ時間5を演算するための演算指令4をステップ時間演算部202に出力する。この動作を到達速度(vmax)や到達距離(xmax)に到達するまで、或いは到達時間(tmax)経過するまで繰り返して、ステッピングモータ104を加速させる。ステッピングモータ104の加速が終了した後は、速度を維持するために一定のステップ時間で駆動波形信号2を生成し続ける。このステップ時間は、概ね加速が終了した最終ステップ時間を用いる。その後、上位の制御手段から減速指令又は再加速指令があった場合、上述した駆動開始からの加速制御と同様の減速制御又は加速制御を行う。
(ステップ時間の算出)
次に、ステップ時間演算部202によるステップ時間の算出処理の詳細を説明する。ステップ時間演算部202では、ステップ時間を算出するために、ニュートン法による収束演算を利用しており、そのアルゴリズムの詳細を説明する。
まず、図5で説明した加速度a1〜a3、速度v1〜v3、距離x1〜x3を表現する物理理論式を(式1)に示す。
Figure 2018182895
図5で説明したように、加速期間では、増加速領域(領域1)、定加速領域(領域2)、減加速領域(領域3)が設定され、添え字1〜3は領域を表わすが、以下の説明ではこの添え字を省略する。
ステッピングモータ104の速度制御に必要なステップ時間5は、(式1)において、nステップ目(step_n)の距離x(step_n)に対する到達時間t(step_n)と、前回のステップ((n−1)ステップ目)の距離x(step_n-1)に対する到達時間t(step_n-1)との差分t(step_n)−t(step_n-1)となる(nは正整数である)。ここで、x(step_n)やx(step_n-1)は、モータ構造に起因する特定のステップ角度に相当する。また、x(step_n)−x(step_n-1)は、1ステップ角度と同じ、或いは規格化、例えばpps(pulse per sec)の単位系で考える場合は、1パルスとなる。ただし、マイクロステップ駆動の場合は、分解能が向上しさらに小さな値となるが、概ね2のべき乗で割った値で使用される。
上述の通りステップ時間5を算出するには、(式1)の物理理論式に基づいてnステップ目の距離x(step_n)に対する到達時間t(step_n)を求める必要がある。
この場合に、(式1)の物理理論式を到達時間tについて解こうとすると、距離xを表わす3次関数を解く必要があるため、立方根や平方根等の演算が必要となり、回路規模及び処理時間が増大する。
本実施形態では、以下に述べるように、収束演算アルゴリズムであるニュートン法を二段階に適用することによって到達時間t(step_n)を求める。これにより、式(1)の物理理論式に基づいた演算によりステッピングモータ104の速度制御を実行するとともに、平方根や立方根等の演算が不要になり、回路規模及び処理時間の大幅な削減を図ることができる。
ニュートン法を二段階に適用することによって到達時間t(step_n)を求める解法を説明する。
(式1)の距離xを表わす関数を一般化すると、(式2)のように書き直すことができる。添え字step_nは、nステップ目(step_n)における距離や到達時間であることを表わし、x(step_n)やt(step_n)と同じものを意味する。
Figure 2018182895
(式2)を満たす到達時間t(step_n)を求めるためにニュートン法(「第一のニュートン法」とも呼ぶ)を適用すると、(式3)のようになる。
Figure 2018182895
添え字のloop_mは、到達時間t(step_n)を求めるためのループ演算の回数mを表わし、t(loop_m)と同じものを意味する。図4(a)に、第一のニュートン法により到達時間t(step_n)を求める処理例を示す。ステップS401で、ループ演算の初回で用いる初期値を設定する。ステップS402、S403で、ループ演算の初回は初期値を使用し、それ以降は前回のループ演算で求めたt(loop_m)を使用して、t(loop_m)を計算、更新することを繰り返すことによって、t(loop_m)が求めるべき到達時間t(step_n)に収束する。
ここで、(式3)において、f'x(t(loop_m))はfx(t(loop_m))の導関数であるが、これは距離xを微分したものであるので、速度vと同じである。
(式3)に現れる導関数f'x(t(loop_m))の逆数、すなわち速度vの逆数に対してニュートン法(「第二のニュートン法」とも呼ぶ)を適用する。導関数f'x(t(loop_m))の逆数だけに着目した式を(式4)に示す。
Figure 2018182895
添え字のloop_lは、導関数f'x(t(loop_m))の逆数s(loop_m)を求めるためのループ演算の回数lを表わし、s(loop_l)と同じものを意味する。図4(b)に、導関数f'x(t(loop_m))の逆数s(loop_m)を求める処理例を示す。この処理は、図4(a)の処理においてt(loop_m)を計算するときに実行される。ステップS411でループ演算の初回で用いる初期値を設定する。ステップS412、S413で、ループ演算の初回は初期値を使用し、それ以降は前回のループ演算で求めたs(loop_l)を使用して、s(loop_l)を計算、更新することを繰り返すことによって、s(loop_l)が求めるべきs(loop_m)に収束する。
この場合に、第二のニュートン法のループ演算の回数lを、第一のニュートン法のループ演算の回数mよりも少なくする。第二のニュートン法のループ演算の回数lを制限し、その分、第一のニュートン法のループ演算の回数mを増やすことにより、演算速度と演算精度を向上させることができる。
到達時間t(step_n)を求めるための二段階のニュートン法を表現すると、(式3)及び(式4)より、(式5)のようになる。
Figure 2018182895
以上のようにすることで、到達時間t(step_n)を、複雑な関数fx(t)を解くことなく、また逆数演算も省略して求めることが可能となる。
既述したように、ステッピングモータ104の速度制御では、パルス信号の印加時間であるステップ時間を設定する必要があり、ステップ時間は到達時間の差分t(step_n)−t(step_n-1)となる。ステッピングモータのステップ駆動とともに、到達時間の算出とステップ時間の更新を逐次行っていき、所望の加減速制御を実現することができる。
次に、駆動制御部102のステップ時間演算部202において、上述したニュートン法を二段階に適用することによって到達時間t(step_n)を求める解法を実現するための構成例を説明する。
図3に、駆動制御部102のステップ時間演算部202の詳細な構成を示す。ステップ時間演算部202の各部は、例えばCPUがハードディスク等に格納されているプログラムを読み出し、このプログラムを実行することにより実現可能である。
演算制御部301は、駆動波形生成部201から受け取った演算指令4をトリガとして、到達時間t(step_n)を求める第一のニュートン法のループ演算を実行する。
演算制御部301は、速度・距離演算部302に形状データ6及び時間データ7を出力し、到達時間演算部304に時間データ7及びステップ位置8を出力する。そして、演算制御部301は、最終的な演算結果となるステップ時間5を駆動波形生成部201に出力する。
形状データ6は、(式1)の速度v及び距離xを求めるのに必要な各係数パラメータである。
時間データ7は、第一のニュートン法のループ演算中のt(loop_m)である。t(loop_m)について、演算開始時(ループ演算の初回)には、演算制御部301が時間データ7の初期値を設定する(図4(a)のステップS401)。初期値は、予め設定された固定値でもよいし、前回のステップ((n−1)ステップ目)で求められた到達時間t(step_n-1)でもよい。ステッピングモータ104の加減速制御時は、ステップが線形に増加するため、後者の方が求めるべき解に近い値になり、収束速度が速くなる。また、ループ演算の初回よりも以降は、演算制御部301は、到達時間演算部304から出力される到達時間演算値12が用いられる。
ステップ位置8は、現在のステップを表わす情報であり、step_nと同じ情報である。ステップ位置8は、加速形状パラメータ1の中に含まれてもよいし、ステッピングモータ104におけるステップ位置8は演算指令4の発行回数に比例するので、演算制御部301にカウンタを設けて、内部で生成してもよい。
演算制御部301は、m回のループ演算終了後に、ステップ時間5を出力する。演算制御部301は、少なくとも前回のステップ((n−1)ステップ目)で求められた到達時間t(step_n-1)を保持しており、ステップ時間5はt(step_n)−t(step_n-1)として算出される。
速度・距離演算部302は、形状データ6及び時間データ7に基づいて、速度演算値9及び距離演算値10を出力する。各演算は、(式1)の速度vや距離xを求める式に則り実行される。また、領域1〜3によって参照する式が異なってくるが、この領域判定は時間データ7を参照して行われる。例えば時間データ7≦t1のときは領域1、t1<時間データ7≦t2のときは領域2、それ以外のときは領域3となる。
速度逆数演算部303は、導関数f'x(t(loop_m))の逆数(速度の逆数)に対して第二のニュートン法を適用し、(式4)の演算を実行して、速度逆数演算値11を求めて、到達時間演算部304に出力する。
第二のニュートン法のループ演算中のs(loop_l)について、演算開始時(ループ演算の初回)には、速度逆数演算部303が初期値を設定する(図4(b)のステップS411)。初期値は、予め設定された固定値でもよいし、前回の上位ループmでの速度逆数演算結果s(loop_m-1)でもよい。ステッピングモータ104の加減速制御時は、t(loop_m)が単調増加であり、後者の方が求めるべき解に近い値になり、収束速度が速くなる。また、ループ演算の初回よりも以降は、式(4)通り、ループ演算中の前回の結果s(loop_l-1)を使用する。
到達時間演算部304は、時間データ7及びステップ位置8、並びにこれまで求めた距離演算値10及び速度逆数演算値11に基づいて、(式5)に則り、到達時間演算値12を出力する。
なお、図3の構成例においては、演算制御部301、速度・距離演算部302及び到達時間演算部304が本発明でいう第一の演算手段として機能し、速度逆数演算部303が本発明でいう第二の演算手段として機能する。
以上のように第一のニュートン法のループ演算及び第二のニュートン法のループ演算を実行することで、到達時間t(step_n)を理論解に収束させる。演算精度は、式(1)の物理理論式、及びループ回数や初期値に依存する。この場合に、ステッピングモータ104の加減速中のステップ位置や経過時間が連続であるため、前回演算結果を初期値とすることで、ループ演算回数を大幅に減らすことが可能であり、高速処理が可能である。また、(式1)に示すような物理理論式をそのまま実装して解を求めることが可能であり、解の近似式を用いなくてもよく、本質的に演算精度が向上するとともに、解を参照するメモリ等も不要となる。
これにより、物理理論式で表わされる理想的な速度制御を実現するパルス信号の印加時間を、高精度、高速、小演算負荷で算出することが可能となり、物理理論に基づくステッピングモータの速度制御において高応答性を実現することができる。
[第2の実施形態]
第2の実施形態では、速度vの逆数の求め方を変更した形態を説明する。以下では、第1の実施形態と異なる点を中心に説明し、第1の実施形態と同様の構成要素には同一の符号を付し、その説明を省略する。
図7に、駆動制御部102のステップ時間演算部202の構成を示す。第1の実施形態の図3と異なるのは、速度逆数演算部303に替えてステップ時間使用速度逆数演算部701を備え、また、ステップ時間出力処理部702を備えた点である。
ステッピングモータの駆動制御に用いられるステップ時間は、一定のステップ角だけ回転するのに要する時間情報であり、これは速度の逆数値と同等の情報である。そこで、速度の逆数に、演算制御部301での第一のニュートン法のループ演算中で得られる時間と(n−1)ステップ目の距離に対する時間との差分を与える。すなわち、到達時間t(step_n)を求める第一のニュートン法のループ演算中に、演算制御部301からt(loop_m)−t(step_n-1)を中間ステップ時間13として出力し、この値を最新の速度逆数値としてステップ時間使用速度逆数演算部701で使用する。
ステップ時間使用速度逆数演算部701では、中間ステップ時間13を速度の逆数として使用することで、収束速度を大幅に向上させることが可能となる。これにより、第1の実施形態のように複数回のループ演算が必要となる第二のニュートン法を省略することが可能となる。
中間ステップ時間13は、最終的には求めたいステップ時間となる。この最終的な値のみを出力するために、ステップ時間出力処理部702では、第一のニュートン法による収束演算終了時にだけ、中間ステップ時間13をステップ時間5として出力する。
以上のようにして、第一のニュートン法のループ演算だけの実行によって(厳密には第二のニュートン法の演算ループは1)、到達時間t(step_n)を理論解に収束させることができ、第1の実施形態よりもさらに高速処理可能となる。
本発明は、例えばネットワークカメラや製造装置、ロボットハンドの可動部に使用されるステッピングモータに適用可能であり、可動部の速度制御性能を向上させることができる。例えばネットワークカメラは、CPU、ROM、RAM、撮像部、可動部(雲台)、ネットワークインターフェースを備えて構成される。
以上、本発明を実施形態と共に説明したが、上記実施形態は本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
上記実施形態では、(式1)で示す物理理論式を具体例として説明したが、本発明はこの物理理論式に限定されるものではなく、(式1)が修正された場合でも適用可能である。換言すれば、(式1)が修正された場合でも、速度・距離演算部302に実装される演算式を修正するだけで、容易に対応できることも本発明の特徴である。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
101:駆動指令部
102:駆動制御部
103:駆動部
104:ステッピングモータ
201:駆動波形生成部
202:ステップ時間演算部
301:演算制御部
302:速度・距離演算部
303:速度逆数演算部
304:到達時間演算部
701:ステップ時間使用速度逆数演算部
702:ステップ時間出力処理部

Claims (9)

  1. ステッピングモータを制御するモータ制御装置であって、
    前記ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、前記ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求めるステップ時間演算手段を備え、
    前記ステップ時間演算手段は、
    前記物理理論式に含まれる時間の関数である距離に対してニュートン法を適用することにより、前記関数の導関数の逆数を用いて表わされる、前記nステップ目の距離に対する時間を求める第一の演算手段と、
    前記第一の演算手段で前記nステップ目の距離に対する時間を求める際に、前記導関数の逆数に対してニュートン法を適用することにより、前記導関数の逆数を求める第二の演算手段とを備えることを特徴とするモータ制御装置。
  2. 前記ステップ時間演算手段は、前記ステップ時間を、前記nステップ目の距離に対する時間と、(n−1)ステップ目の距離に対する時間との差分として算出することを特徴とする請求項1に記載のモータ制御装置。
  3. 前記第一の演算手段は、ニュートン法を適用する際に、(n−1)ステップ目の距離に対する時間を初期値として設定することを特徴とする請求項1又は2に記載のモータ制御装置。
  4. 前記第二の演算手段は、ニュートン法を適用する際に、前記第一の演算手段によるニュートン法の前回のループ演算で得られた速度の逆数を初期値として設定することを特徴とする請求項1乃至3のいずれか1項に記載のモータ制御装置。
  5. 前記加速期間又は前記減速期間は、加速度が増加する増加速領域、加速度が一定となる定加速領域、加速度が低下する減加速領域を有することを特徴とする請求項1乃至4のいずれか1項に記載のモータ制御装置。
  6. ステッピングモータを制御するモータ制御装置であって、
    前記ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、前記ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求めるステップ時間演算手段を備え、
    前記ステップ時間演算手段は、
    前記物理理論式に含まれる時間の関数である距離に対してニュートン法を適用することにより、前記関数の導関数の逆数を用いて表わされる、前記nステップ目の距離に対する時間を求める演算手段を備え、
    前記演算手段で前記nステップ目の距離に対する時間を求める際に、前記導関数の逆数に、前記演算手段によるニュートン法のループ演算中に得られる時間と(n−1)ステップ目の距離に対する時間との差分を与えることを特徴とするモータ制御装置。
  7. ステッピングモータを制御するモータ制御方法であって、
    前記ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、前記ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求めるステップ時間演算手順を有し、
    前記ステップ時間演算手順は、
    前記物理理論式に含まれる時間の関数である距離に対してニュートン法を適用することにより、前記関数の導関数の逆数を用いて表わされる、前記nステップ目の距離に対する時間を求める第一の演算手順と、
    前記第一の演算手順で前記nステップ目の距離に対する時間を求める際に、前記導関数の逆数に対してニュートン法を適用することにより、前記導関数の逆数を求める第二の演算手順とを有することを特徴とするモータ制御方法。
  8. ステッピングモータを制御するモータ制御方法であって、
    前記ステッピングモータの加速期間又は減速期間でのパラメータを表現する物理理論式に基づいて、前記ステッピングモータに対するパルス信号の印加時間であるステップ時間を算出するために、nステップ(nは正整数)目の距離に対する時間を求めるステップ時間演算手順を有し、
    前記ステップ時間演算手順は、
    前記物理理論式に含まれる時間の関数である距離に対してニュートン法を適用することにより、前記関数の導関数の逆数を用いて表わされる、前記nステップ目の距離に対する時間を求める演算手順を有し、
    前記演算手順で前記nステップ目の距離に対する時間を求める際に、前記導関数の逆数に、前記演算手順によるニュートン法のループ演算中に得られる時間と(n−1)ステップ目の距離に対する時間との差分を与えることを特徴とするモータ制御方法。
  9. 請求項1乃至6のいずれか1項に記載のモータ制御装置の各手段としてコンピュータを機能させるためのプログラム。
JP2017079028A 2017-04-12 2017-04-12 モータ制御装置、方法及びプログラム Active JP6887857B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017079028A JP6887857B2 (ja) 2017-04-12 2017-04-12 モータ制御装置、方法及びプログラム
US15/948,411 US10601351B2 (en) 2017-04-12 2018-04-09 Motor control apparatus, motor control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017079028A JP6887857B2 (ja) 2017-04-12 2017-04-12 モータ制御装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2018182895A true JP2018182895A (ja) 2018-11-15
JP6887857B2 JP6887857B2 (ja) 2021-06-16

Family

ID=63790312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017079028A Active JP6887857B2 (ja) 2017-04-12 2017-04-12 モータ制御装置、方法及びプログラム

Country Status (2)

Country Link
US (1) US10601351B2 (ja)
JP (1) JP6887857B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014163A (zh) * 2021-04-02 2021-06-22 浙江清华柔性电子技术研究院 步进电机的控制方法、装置及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110022460A (zh) * 2019-01-07 2019-07-16 深圳市道通智能航空技术有限公司 一种飞行器的拍摄方法、飞行器、终端设备及飞行系统
CN114884408B (zh) * 2022-05-20 2024-04-09 深圳数联天下智能科技有限公司 步进电机运转的控制方法、装置、设备和介质
CN119382561B (zh) * 2024-09-20 2025-12-05 长城信息股份有限公司 一种基于步数预测的步进电机加减速曲线参数表生成方法及多电机运动控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01129434A (ja) * 1987-11-16 1989-05-22 Fujitsu Ltd デバイスシミュレータ
JPH0345197A (ja) * 1989-07-12 1991-02-26 Canon Inc パルスモータ駆動装置
JP2001268150A (ja) * 2000-03-21 2001-09-28 Hitachi Kokusai Electric Inc リニアライザ
JP2002197133A (ja) * 2000-10-17 2002-07-12 Hitachi Ltd 半導体集積回路の設計方法、データ処理システム、データ処理方法、及びアナログ・ディジタル混載集積回路の設計方法
JP2006293622A (ja) * 2005-04-08 2006-10-26 Mitsubishi Electric Corp 指令生成装置
JP2008160997A (ja) * 2006-12-25 2008-07-10 Denso Corp モータの制御方法およびその装置
JP2013247776A (ja) * 2012-05-25 2013-12-09 Hitachi High-Technologies Corp パルスモータ制御装置およびパルス信号生成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07163195A (ja) 1993-12-02 1995-06-23 Hitachi Ltd ステッピングモータコントローラ
JP3734968B2 (ja) 1998-11-02 2006-01-11 株式会社日立製作所 モータ制御装置
JP2001119997A (ja) 1999-10-20 2001-04-27 Canon Inc 物体移動装置
JP3900789B2 (ja) * 2000-04-14 2007-04-04 セイコーエプソン株式会社 モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
JP6488603B2 (ja) * 2014-09-17 2019-03-27 株式会社リコー モータ駆動制御装置、モータ駆動制御方法、およびプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01129434A (ja) * 1987-11-16 1989-05-22 Fujitsu Ltd デバイスシミュレータ
JPH0345197A (ja) * 1989-07-12 1991-02-26 Canon Inc パルスモータ駆動装置
JP2001268150A (ja) * 2000-03-21 2001-09-28 Hitachi Kokusai Electric Inc リニアライザ
JP2002197133A (ja) * 2000-10-17 2002-07-12 Hitachi Ltd 半導体集積回路の設計方法、データ処理システム、データ処理方法、及びアナログ・ディジタル混載集積回路の設計方法
JP2006293622A (ja) * 2005-04-08 2006-10-26 Mitsubishi Electric Corp 指令生成装置
JP2008160997A (ja) * 2006-12-25 2008-07-10 Denso Corp モータの制御方法およびその装置
JP2013247776A (ja) * 2012-05-25 2013-12-09 Hitachi High-Technologies Corp パルスモータ制御装置およびパルス信号生成方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113014163A (zh) * 2021-04-02 2021-06-22 浙江清华柔性电子技术研究院 步进电机的控制方法、装置及存储介质
CN113014163B (zh) * 2021-04-02 2022-07-29 浙江清华柔性电子技术研究院 步进电机的控制方法、装置及存储介质

Also Published As

Publication number Publication date
US20180302009A1 (en) 2018-10-18
JP6887857B2 (ja) 2021-06-16
US10601351B2 (en) 2020-03-24

Similar Documents

Publication Publication Date Title
CN101241352B (zh) 用于比例积分微分控制的设备和方法
JP2018182895A (ja) モータ制御装置、方法及びプログラム
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
JP2019530031A (ja) 反復運動制御の方法
JP5231935B2 (ja) ロボット制御装置
JP5269158B2 (ja) 制御方法及び制御装置
JPWO2006011519A1 (ja) サーボ制御装置
JP5345248B2 (ja) モータドライバ制御装置
JP2006215807A (ja) ロボット制御装置および制御方法
CN113081666B (zh) 康复机器人的虚拟限位的方法、装置和康复机器人
JP2017102693A (ja) 制御装置および制御方法、制御装置を用いたコンピュータプログラム
JPH05189051A (ja) 駆動制御方法
JP4601659B2 (ja) 指令生成装置及び指令生成方法
JP3805476B2 (ja) モータ制御装置
CN113852321B (zh) 指令生成装置、指令生成方法
CN115609343B (zh) 一种运动倍率调节方法、装置、计算机设备和存储介质
JP5493941B2 (ja) 位置指令生成器
JP4210921B2 (ja) サーボ制御装置の指令作成方法および装置
WO2023013168A1 (ja) 制御装置、制御方法およびプログラム
US20060077588A1 (en) Generalized sinusoidal trajectory for seek servomechanism of hard drives
JP4762219B2 (ja) メカニカルシステムの制御装置
JP2004171268A (ja) 数値制御装置の指令作成装置
US20250033202A1 (en) Control system, control method, and non-transitory storage medium
JP2014217141A (ja) 振動型駆動装置の速度制御機構及び速度制御方法
KR20240105737A (ko) 반진동 제어를 위한 모션 프로파일 생성 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210420

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210519

R151 Written notification of patent or utility model registration

Ref document number: 6887857

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151