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

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

Info

Publication number
JP6396360B2
JP6396360B2 JP2016080416A JP2016080416A JP6396360B2 JP 6396360 B2 JP6396360 B2 JP 6396360B2 JP 2016080416 A JP2016080416 A JP 2016080416A JP 2016080416 A JP2016080416 A JP 2016080416A JP 6396360 B2 JP6396360 B2 JP 6396360B2
Authority
JP
Japan
Prior art keywords
driven
movable part
value
motor
position error
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.)
Active
Application number
JP2016080416A
Other languages
English (en)
Other versions
JP2017191448A (ja
Inventor
章太郎 橋本
章太郎 橋本
肇 置田
肇 置田
有紀 森田
有紀 森田
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.)
FANUC Corp
Original Assignee
FANUC Corp
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 FANUC Corp filed Critical FANUC Corp
Priority to JP2016080416A priority Critical patent/JP6396360B2/ja
Priority to DE102017206085.9A priority patent/DE102017206085B4/de
Priority to US15/483,258 priority patent/US9958857B2/en
Priority to CN201710233536.1A priority patent/CN107302334B/zh
Publication of JP2017191448A publication Critical patent/JP2017191448A/ja
Application granted granted Critical
Publication of JP6396360B2 publication Critical patent/JP6396360B2/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
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/404Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/31Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for continuous-path control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4062Monitoring servoloop, e.g. overload of servomotor, loss of feedback or reference
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41059Play in gear, screw backlash, lost motion
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50297Compensation of positioning error due to a-axis, b-axis tool rotation

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Control Of Position Or Direction (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)
  • Control Of Electric Motors In General (AREA)

Description

本発明は、バックラッシを補正する手段を有するモータ制御装置、モータ制御方法及びモータ制御プログラムに関する。
従来より、物体の位置、方位、姿勢などを制御量とする制御系、例えば工作機械や産業機械の制御系において、サーボモータが用いられている。サーボモータのモータ軸の回転を他の主軸に伝えるために用いられる機械要素であって互いに係合する機械要素においては、当該機械要素間の抵触面に意図的に隙間が設けられている。この隙間が存在することにより、例えばねじやギア等の機械要素は、ある程度の範囲で自由に回転することができる。この隙間を「バックラッシ」(又は「バックラッシュ」)と呼ぶ。
例えば、モータと主軸等の被駆動軸がギアで結合されている場合、ギアのバックラッシが存在することにより、モータの反転時には、被駆動軸の反転がモータの反転に対して遅れてしまうこととなる。この被駆動軸の反転遅れを補正するために、モータへの位置指令にバックラッシ補正量を加算する方法が、従来より存在する。
例えば特許文献1は、モータと該モータによって駆動される被駆動軸との間に何らかの減速機構を持つ構成において、モータの反転時における被駆動軸の反転挙動を改善する手法として、モータが反転する瞬間に、減速機構が持つ機械的バックラッシ分を早く移動させるための位置の補正を与える手法を開示している。
特開2014−54001号公報
しかしながら、特許文献1で開示される方法は、あくまで、位置指令又はモータの反転時に減速機構が持つバックラッシによる被駆動部の反転遅れが、即座に発生することを前提にしたバックラッシ補正方法である。
一方で、モータと被駆動軸との間の結合にギアとベルトとが同時に使用されている場合には、ベルトの弾性の影響により、モータの反転から遅れてギアのバックラッシによる被駆動軸の反転遅れが発生することがある。このような場合においては、モータの反転直後にバックラッシ補正量を加算すると、補正の効果が無いか、又は後述のように、補正が被駆動軸の反転動作に悪影響を与えることがあった。
本発明は、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算するモータ制御装置、モータ制御方法及びモータ制御プログラムを提供することを目的とする。
本発明に係る第1のモータ制御装置(例えば、後述のモータ制御装置10)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部(例えば、後述の位置指令作成部105)と、前記位置指令の反転を検出する反転検出部(例えば、後述の反転検出部106)と、反転が検出されてからの前記位置誤差の変化量の絶対値を計算する位置誤差変化量計算部(例えば、後述の位置誤差変化量計算部107)と、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定する判定部(例えば、後述の判定部108)と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部109)と、を備え、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
本発明に係る第2のモータ制御装置(例えば、後述のモータ制御装置20)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算する位置誤差変化率計算部(例えば、後述の位置誤差変化率計算部207)と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部(例えば、後述の判定部108)と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部109)と、を備え、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
本発明に係る第3のモータ制御装置(例えば、後述のモータ制御装置20)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部(例えば、後述の位置誤差変化率計算部207)と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部(例えば、後述の判定部108)と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部109)と、を備え、前記位置誤差の変化率が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
本発明に係る第4のモータ制御装置(例えば、後述のモータ制御装置20)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部と、前記位置指令の反転を検出する反転検出部と、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部(例えば、後述の位置誤差変化率計算部207)と、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部(例えば、後述の判定部108)と、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部109)と、を備え、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算する。
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアとベルトとの組み合わせによって機械的に結合されてもよい。
本発明に係る第1のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
本発明に係る第2のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
本発明に係る第3のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
本発明に係る第4のモータ制御方法は、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行する。
本発明に係る第1のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
本発明に係る第2のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
本発明に係る第3のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
本発明に係る第4のモータ制御プログラムは、モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させる。
本発明によれば、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算することができる。
モータの反転時の各軸の挙動についての説明図である。 本発明の第1実施形態に係るモータ制御装置の構成を示す図である。 本発明の第1実施形態に係るモータ制御装置における処理を示すフローチャートである。 本発明の第1実施形態に係るモータ制御装置における補正のタイミングを示す図である。 補正をしない場合とした場合のモータ位置及び主軸位置の経時的変化と円弧補間運動をさせた際の象限突起を示す図である。 本発明の第2〜第4実施形態に係るモータ制御装置の構成を示す図である。 本発明の第2〜第4実施形態に係るモータ制御装置における処理を示すフローチャートである。 本発明の第2実施形態に係るモータ制御装置における補正のタイミングを示す図である。 本発明の第3実施形態に係るモータ制御装置における補正のタイミングを示す図である。 本発明の第4実施形態に係るモータ制御装置における補正のタイミングを示す図である。 図5における円弧測定時の偏心円弧プログラム(円弧条件)を示す図である。
以下、本発明の実施形態について、図1〜図10を用いて説明する。
[発明の概要]
図1は本発明の概要についての説明図であり、具体的には、モータと被駆動軸(主軸)との間の減速機構がギア及びベルトから構成されているときの、モータの反転時の各軸の挙動について図示したものである。
図1に示すように、可動部としてのモータ軸30には、モータ軸ギア35が固定されている。モータ軸30とは別に設けられる中間軸40には、中間軸ギア45が固定されている。また、モータ軸ギア35の歯351と中間軸ギア45の歯451とが噛み合うことにより、モータ軸30が時計回り方向に回転する場合には、中間軸40は反時計回り方向に回転し、一方、モータ軸30が反時計回り方向に回転する場合には、中間軸40は時計回り方向に回転する。更に、中間軸40における中間軸ギア45が設けられていない部分と、被駆動部としての主軸50との間には、弾性を有する無端状のベルト60が架け渡されている。
これにより、中間軸40が時計回り方向に回転する場合には、それに伴って、主軸50は時計回り方向に回転し、一方、中間軸40が反時計回り方向に回転する場合には、それに伴って、主軸50は反時計回り方向に回転する。これにより、モータ軸30、中間軸40、及び主軸50の回転は連動する。具体的には、モータ軸30が時計回り方向に回転する場合には、主軸50は反時計回り方向に回転し、一方、モータ軸30が反時計回り方向に回転する場合には、主軸50は時計回り方向に回転する。つまり、モータ20により駆動されるモータ軸30と、モータ軸30により駆動される主軸50とは、ギア35,45とベルト60との組み合わせによって機械的に結合される。
図1(A)は、モータ20の反転前のモータ軸ギア35及び中間軸ギア45の位置、及びベルト60に掛かる張力の様子を示す。ここでは仮に、モータ軸30が時計回りの方向に回転している場合を想定する。なお、本発明の実施形態はこれには限定されない。
上記のように、モータ軸ギア35と中間軸ギア45とは噛み合っており、図1に示すモータ軸ギア35の歯351と、中間軸ギア45の歯451とは接触している。モータ軸30は時計回り方向に回転しているので、歯351は歯451を下方に押す状態となっている。それに伴って、中間軸ギア45、ひいては中間軸40は反時計回り方向に回転する。なお、モータ軸ギア35の複数の歯351に共通する説明をする際には、代表して「歯351」と表現することにする。
中間軸40と主軸50との間には、無端状のベルト60が架け渡されているため、中間軸40の反時計回り方向の回転に伴って、主軸50も同様に、反時計回り方向に回転する。中間軸40と主軸50との間には、両軸の外周から延びる2本の外接線に沿うように、ベルト60は、2つの非巻き付け部分を有する。図1において上側の非巻き付け部分が主軸50を反時計回り方向に引っ張ることにより、主軸50は反時計回りに回転する。すなわち、上側の非巻き付け部分が「張り側」となっており、下側の非巻き付け部分が「緩み側」となっている。ここで、上側の非巻き付け部分の張力をF1、下側の非巻き付け部分の張力をF2とした場合、F1>F2となる。
次に、図1(B)は、モータ20が反時計回り方向に反転し始めた直後の、モータ軸ギア35及び中間軸ギア45の位置、及びベルト60に掛かる張力の様子を示す。
モータ軸30の反時計回り方向への反転に伴って、モータ軸ギア35も反時計回り方向に回転するため、モータ軸ギア35の歯351は、中間軸ギア45の歯451を下方に押さなくなり、上方への移動を開始する。一方、中間軸40に掛け渡されるベルト60において、上記のように、図1において上側の非巻き付け部分の張力F1が下側の非巻き付け部分の張力F2よりも大きくなっていることに起因して、中間軸40は時計回り方向に回転し始める。これに伴って、主軸50も時計回り方向への回転を開始する。この際、中間軸ギア45の歯451は、モータ軸ギア35の歯351には押されない。また、中間軸ギア45の時計回り方向への回転に伴って、中間軸ギア45の歯451は、図1において上方に移動するため、モータ軸ギア35の歯351との接触を継続する。すなわち、この段階ではまだ、モータ軸ギア35の歯351と中間軸ギア45の歯451との間に隙間、すなわちバックラッシ(「バックラッシュ」とも呼ばれる)は発生していない。
上記のように、ベルト60において上側の非巻き付け部分の張力F1が下側の非巻き付け部分の張力F2よりも大きいことに起因して、中間軸40及び主軸50は時計回り方向に回転する。そして、時計回り方向への回転を継続するに従って、2つの張力F1とF2との間の差は小さくなっていく。
やがて、図1(C)に示すように、張力F1と張力F2とがほぼ等しくなった段階で、中間軸40、ひいては主軸50の回転は停止する。一方で、モータ軸30は、反時計回り方向への反転を継続するので、モータ軸ギア35の歯351と、中間軸ギア45の歯451との間に隙間、すなわちバックラッシが発生する。
その後、図1(D)に示すように、モータ軸ギア35の歯のうち、上記の歯351の下側にある歯352は、上記のバックラッシ分を移動した後、中間軸の歯451に下側から接触する。これにより、中間軸40、ひいては主軸50は、再び時計回り方向への回転を始める。なお、図1(D)においては、図1(A)とは各軸の回転方向が反対となっている。
具体的には、中間軸40と主軸50との間に存在するベルト60の2つの非巻き付け部分のうち、図1において下側の非巻き付け部分が主軸50を時計回り方向に引っ張ることにより、主軸50は時計回りに回転する。すなわち、ベルト60の下側の非巻き付け部分が「張り側」となっており、上側の非巻き付け部分が「緩み側」となっている。ここで、ベルト60の上側の非巻き付け部分の張力をF1、ベルト60の下側の非巻き付け部分の張力をF2とした場合、F1<F2となっている。
以上のことから、モータ20と主軸50との間の減速機構がギア35,45及びベルト60から構成されている場合には、言い換えると、モータ20により駆動されるモータ軸30と、モータ軸30により駆動される主軸50とが、ギア35,45とベルト60との組み合わせによって機械的に結合されている場合には、モータ20の反転直後には、すぐに主軸50が反転を開始するものの、しばらくすると一旦主軸50の回転が止まり、その後再び主軸50の反転動作が開始されるという動きになる。
ここで、仮に、モータ20の反転直後に、モータ軸ギア35の歯351が上記のバックラッシ分を速く移動できるようにバックラッシ補正を行うと、ベルト60の張り側の張力に加えて、バックラッシ補正の力が加わり、中間軸40は急に反転してしまう。これに伴って、主軸50も急に反転してしまうため、主軸50の位置が位置指令によって指令された位置よりも先に進んでしまうこととなる。
これを防ぐため、反転直後に補正を行うのではなく、一旦は中間軸ギア45に自発的に反転を行わせ、ベルト60の張り側の張力が緩んだところで、バックラッシ補正を行うのが本発明の基礎となる概念である。
[第1実施形態]
図2は、第1実施形態に係るモータ制御装置10の構成を示す図である。
モータ制御装置10は、主として、モータ20により駆動される可動部としてのモータ軸30の位置(「第1位置」又は「モータ位置」ともいう)を検出する、エンコーダ等の第1位置検出部101と、上記の可動部(モータ軸30)により駆動される被駆動部である主軸50の位置(「第2位置」又は「主軸位置」ともいう)を検出する第2位置検出部103と、上記の第1位置と第2位置との偏差(「位置誤差」ともいう)を計算する位置誤差計算部104と、を備える。なお、例えば、上記の「第1位置」又は「モータ位置」はセミクローズドループを用いて取得された位置であり、「第2位置」又は「主軸位置」はフルクローズドループを用いて取得された位置である。
更に、モータ制御装置10は、位置指令作成部105と、反転検出部106と、位置誤差変化量計算部107と、判定部108と、バックラッシ補正部109と加算器110とを備える。位置指令作成部105は、上記のモータ20への位置指令を作成する。反転検出部106は、上記の位置指令の反転を検出する。位置誤差変化量計算部107は、反転が検出されてからの上記の位置誤差の変化量を計算する。判定部108は、上記の位置誤差の変化量が所定の基準値を超えたかどうかを判定する。バックラッシ補正部109は、上記の位置誤差の変化量が所定の基準値を超えた場合には、バックラッシ補正量を算出し、加算器110を用いて、当該バックラッシ補正量を上記の位置指令に加算する。
上記のバックラッシ補正量が加算された位置指令は、制御部111によりモータ20に送信される。
なお、上記の位置誤差計算部104は、上記の第1位置と第2位置の偏差を位置誤差として計算する。具体的には、上記の第1位置検出値に、変換係数102を乗算することにより、被駆動部の位置(主軸位置)の値に換算した換算後第1位置検出値を算出し、当該換算後第1位置検出値と、第2位置検出値との間の偏差を位置誤差として計算する。この変換係数102としては、例えば、可動部(モータ軸30)と被駆動部(主軸50)の間との回転比を用いることが可能である。
また、上記のバックラッシ補正量は、上記の第1位置及び第2位置のいずれか又は双方、例えば、第1位置及び第2位置の相対的な位置関係や上記の位置誤差を用いて、周知の方法により算出することが可能である。一例として、特許文献1に記載の方法を用いて算出してもよい。
次に、図3を用いて、一部繰り返しとなるが、上記のモータ制御装置10の動作フローについて説明する。
まず、反転検出部106は、位置指令作成部105によって作成された位置指令の反転を監視する(S101)。反転が検出された場合(S101:YES)は、位置誤差変化量計算部107は、位置誤差の変化量を0に初期化する(S102)。そして、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する(S103)。一方、位置指令の反転が検出されない場合(S101:NO)には、改めてS102の初期化のステップを経ることなく、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する。
次に、判定部108は、上記の位置誤差の変化量の絶対値を所定の基準値と比較する(S104)。当該絶対値が基準値を超えた場合(S104:YES)には、バックラッシ補正部109はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をONとする(S105)。上記の絶対値が基準値を超えていない場合(S104:NO)には、バックラッシ補正部109はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をOFFとする(S106)。
図4は、判定部108が、位置誤差の変化量の絶対値を所定の基準値と比較する際の、位置誤差の変化量の絶対値の継時的な変化と、補正のタイミングとを示す図である。S101において反転を検出した場合、上記のように位置誤差の絶対値は0に初期化されるので、図4に示されるように、位置誤差の絶対値のグラフは時間軸に対して垂直下方の軌跡を描き、点Aに至る。その後、位置誤差の絶対値は増加していくが、基準値を超えた段階、すなわち図4の点Bに対応するS105において、位置指令にバックラッシ補正量を加算する。なお、図4のグラフにおいて、位置誤差の絶対値は、点A以前の段階において一定値を保っており、点Bを経由してからしばらくすると、再び同一の一定値を保つ。これは、モータ軸ギアの歯と中間軸ギアの歯とが噛み合っていることによるものである。
図5は、バックラッシ補正をしない場合、モータの反転直後にバックラッシ補正をした場合、及び、本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化と、当該モータを用いて円弧補間運動をさせた際の象限突起を示す図である。
(A)が補正をしない場合の図、(B)がモータの反転直後にバックラッシ補正をした場合の図、(C)が本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の図である。
また、(A)、(B)及び(C)それぞれの左側の図が、モータ位置及び主軸位置の継時的変化を示す図であり、破線が主軸位置を表し、1点鎖線がモータ位置を表す。また、(A)、(B)及び(C)それぞれの右側の図が、ギアとベルトを使った減速機構を有する本制御軸を回転軸に使用し、それとは別の直線軸との補間により、図11に示す偏心円弧補間運動をさせた際の象限突起を示す図である。
図11は、図5における円弧測定時の偏心円弧プログラム(円弧条件)を示す図である。座標の中心は主軸のテーブルの中心に対応する。テーブルの中心から340mm離れた点を中心に半径50mmの円を描くように切削する。主軸(C軸)の回転により、切削点は仮想C軸方向に動く。サーボ軸などの送り軸(X軸)により、切削点はX軸方向に動く。主軸及び送り軸を偏心円弧プログラムによって動かすことで、切削点を上記のような円弧形状に動かすことが可能となる。
(A)の左側の図は、バックラッシ補正をしない場合の、モータ位置及び主軸位置の継時的変化を示す図である。点線の円内に示されるように、反転後暫くしてからモータ位置に比べて主軸の位置が遅れている。また、これに対応して、(A)の右側の図でも、点線の円内に示されるように、主軸の反転遅れによる象限突起が描かれている。
(B)の左側の図は、モータの反転直後にバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化を示す図である。モータ軸ギアの歯がバックラッシ内を移動し始める前に補正を行ったことにより、点線の円内に示されるように、反転時に大きな食い込みが生じている。これは、補正による反転方向への力に加え、張り側のベルトによる反転方向への張力が加わるため、反転方向へ大きく動いてしまうためである。また、これに対応して、(B)の右側の図でも点線の楕円内に示されるように、円弧の食い込みが発生している。更に、主軸の反転遅れによる象限突起も残っている。
(C)の左側の図は、本実施形態に係るモータ制御装置を用いて適切なタイミングでバックラッシ補正をした場合の、モータ位置及び主軸位置の継時的変化を示す図である。(A)の左側の図と比較すると分かるように、主軸位置がモータ位置に遅れ始めてから、双方の角速度が同様な値となるまでの時間(双方のグラフの傾きが同様となるまでの時間)は、(C)の方が(A)よりも短くなっている(d1>d2)。更に、中段の左図に見られるような食い込みも発生していない。また、これに対応して、(C)の右側の図に示されるように、円弧への食い込みも発生していないと共に、点線の円内に示されるように、象限突起は抑制されている。
これらの図を比較すると分かるように、第1実施形態に係るモータ制御装置により、モータへの位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
[第2実施形態]
図6は、第2実施形態に係るモータ制御装置10Aの構成を示す図である。なお、第1実施形態に係るモータ制御装置10と同一の構成要素については、同一の符号を用い、その具体的な説明は省略する。
第2実施形態に係るモータ制御装置10Aは、第1実施形態に係るモータ制御装置10における位置誤差変化量計算部107の代わりに、位置誤差変化率計算部207を備える点で異なる。第1実施形態に係るモータ制御装置10は、位置誤差の変化量が所定の基準値を超えた場合に、バックラッシ補正をONとしていたが、第2実施形態に係るモータ制御装置10Aは、位置誤差の変化率が所定の基準値を超えた場合に、バックラッシ補正をONとする。
次に、図7を用いて、一部繰り返しとなるが、上記のモータ制御装置10Aの動作フローについて説明する。
まず、反転検出部106は、位置指令作成部105によって作成された位置指令の反転を監視する(S201)。反転が検出された場合(S201:YES)には、位置誤差変化率計算部207は、位置誤差の単位時間当たりの変化率の監視を開始する(S202)。そして、位置誤差変化率計算部207は、位置誤差の単位時間当たりの変化率の絶対値を計算する(S203)。一方、位置指令の反転が検出されない場合(S201:NO)には、改めてS202の監視開始のステップを経ることなく、位置誤差変化率計算部207は、位置誤差の単位時間当たり変化率の絶対値を計算する。
次に、判定部108は、上記の位置誤差の単位時間当たりの変化率の絶対値を所定の基準値と比較する(S204)。当該絶対値が基準値を超えた場合(S204:YES)には、バックラッシ補正部109はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をONとする(S205)。上記の絶対値が基準値を超えていない場合(S204:NO)には、バックラッシ補正部109はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をOFFとする(S206)。
図8は、判定部108が、位置誤差の単位時間当たりの変化率の絶対値を所定の基準値と比較する際の、位置誤差の単位時間当たりの変化率の絶対値の継時的な変化と、補正のタイミングを示す図である。S201に対応する点Cにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図8の点Dに対応するS205において、バックラッシ補正部109は位置指令にバックラッシ補正量を加算する。
第2実施形態に係るモータ制御装置においても、第1実施形態に係るモータ制御装置と同様に、モータ20への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
[第3実施形態]
図9は、第3実施形態に係るモータ制御装置が、位置誤差の変化率の絶対値を基準値と比較する際の、当該位置誤差の変化率の絶対値の変化と、補正のタイミングを示す図である。なお、第3実施形態に係るモータ制御装置は、第2実施形態に係るモータ制御装置10Aと同一の構成であるため、その説明を省略する。また、第3実施形態に係るモータ制御装置の動作フローも、基本的には第2実施形態に係るモータ制御装置10Aと同一であるため、説明を省略する。
第2実施形態においては、単位時間当たりの位置誤差の変化率の絶対値を所定の基準値と比較していたが、第3実施形態においては、モータの回転角の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較する。
図9においても図8と同様に、S201に対応する点Eにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図9の点Fに対応するS205において、バックラッシ補正部109は位置指令にバックラッシ補正量を加算する。
第3実施形態に係るモータ制御装置においても、第1及び第2実施形態に係るモータ制御装置と同様に、モータ20への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
[第4実施形態]
図10は、第4実施形態に係るモータ制御装置が、位置誤差の変化率の絶対値を基準値と比較する際の、当該位置誤差の変化率の絶対値の変化と、補正のタイミングを示す図である。なお、第4実施形態に係るモータ制御装置は、第2実施形態に係るモータ制御装置10A及び第3実施形態に係るモータ制御装置と同一の構成であるため、その説明を省略する。また、第4実施形態に係るモータ制御装置の動作フローも、基本的には第2実施形態に係るモータ制御装置10A及び第3実施形態に係るモータ制御装置と同一であるため、説明を省略する。
第2実施形態においては、単位時間当たりの位置誤差の変化率の絶対値を所定の基準値と比較していた。また、第3実施形態においては、モータの回転角の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較していた。一方で、第4実施形態においては、位置指令の積算値の単位変化量当たりの位置誤差の変化率の絶対値を、所定の基準値と比較する。
図10においても図8及び図9と同様に、S201に対応する点Gにおいて反転を検出した後、変化率の絶対値は増加していくが、基準値を超えた段階、すなわち図10の点Hに対応するS205において、バックラッシ補正部109は位置指令にバックラッシ補正量を加算する。
第4実施形態に係るモータ制御装置においても、第1〜第3実施形態に係るモータ制御装置10、10Aと同様に、モータ20への位置指令に対してバックラッシ補正量を適切なタイミングで加算することが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
モータ制御装置10、10Aによる制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、コンピュータ(モータ制御装置10、10A)にインストールされる。また、これらのプログラムは、リムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータ(モータ制御装置10、10A)に提供されてもよい。
10、10A モータ制御装置
20 モータ
30 モータ軸(可動部)
35 モータ軸ギア
40 中間軸
45 中間軸ギア
50 主軸(被駆動部)
60 ベルト
101 第1位置検出部
102 変換係数
103 第2位置検出部
104 位置誤差計算部
105 位置指令作成部
106 反転検出部
107 位置誤差変化量計算部
108 判定部
109 バックラッシ補正部
110 加算器
111 制御部
207 位置誤差変化率計算部
351 歯
352 歯
451 歯

Claims (12)

  1. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからの前記位置誤差の変化量の絶対値を計算する位置誤差変化量計算部と、
    前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
    前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
    前記バックラッシ補正部は、前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
  2. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算する位置誤差変化率計算部と、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
    前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
    前記バックラッシ補正部は、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
  3. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部と、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
    前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
    前記バックラッシ補正部は、前記位置誤差の変化率が前記所定の基準値を超えたとき、
    前記バックラッシ補正量を加算するモータ制御装置。
  4. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算する位置誤差変化率計算部と、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定する判定部と、
    前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するバックラッシ補正部と、を備え、
    前記バックラッシ補正部は、前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記バックラッシ補正量を加算するモータ制御装置。
  5. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、
    前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
  6. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
  7. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
  8. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータが実行するモータ制御方法。
  9. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量の絶対値を計算するステップと、
    前記位置誤差の変化量の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化量の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
  10. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の単位時間当たりの変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
  11. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからのモータの回転角の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
  12. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアと弾性を有するベルトとの組み合わせによって機械的に結合されており、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    第1位置検出値を前記可動部と前記被駆動部の間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、第2位置検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置指令の積算値の単位変化量当たりの前記位置誤差の変化率の絶対値を計算するステップと、
    前記位置誤差の変化率の絶対値が所定の基準値を超えたかどうかを判定するステップと、
    前記位置誤差の変化率の絶対値が前記所定の基準値を超えたとき、前記位置指令に前記位置誤差に基づくバックラッシ補正量を加算するステップと、をコンピュータに実行させるためのモータ制御プログラム。
JP2016080416A 2016-04-13 2016-04-13 モータ制御装置、モータ制御方法及びモータ制御プログラム Active JP6396360B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016080416A JP6396360B2 (ja) 2016-04-13 2016-04-13 モータ制御装置、モータ制御方法及びモータ制御プログラム
DE102017206085.9A DE102017206085B4 (de) 2016-04-13 2017-04-10 Motorsteuervorrichtung, motorsteuerverfahren und motorsteuerprogramm
US15/483,258 US9958857B2 (en) 2016-04-13 2017-04-10 Motor control device, motor control method, and non-transitory computer readable medium recording motor control program
CN201710233536.1A CN107302334B (zh) 2016-04-13 2017-04-11 电动机控制装置以及电动机控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016080416A JP6396360B2 (ja) 2016-04-13 2016-04-13 モータ制御装置、モータ制御方法及びモータ制御プログラム

Publications (2)

Publication Number Publication Date
JP2017191448A JP2017191448A (ja) 2017-10-19
JP6396360B2 true JP6396360B2 (ja) 2018-09-26

Family

ID=59980926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016080416A Active JP6396360B2 (ja) 2016-04-13 2016-04-13 モータ制御装置、モータ制御方法及びモータ制御プログラム

Country Status (4)

Country Link
US (1) US9958857B2 (ja)
JP (1) JP6396360B2 (ja)
CN (1) CN107302334B (ja)
DE (1) DE102017206085B4 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6396364B2 (ja) 2016-05-25 2018-09-26 ファナック株式会社 モータ制御装置、モータ制御方法及びモータ制御プログラム
US11385139B2 (en) 2018-11-21 2022-07-12 Martin E. Best Active backlash detection methods and systems
EP4091244A4 (en) * 2020-01-17 2023-07-05 Siemens Healthcare Diagnostics Inc. BACKPLAY COMPENSATION IN MOTION CONTROL SYSTEMS

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5574389A (en) * 1978-11-27 1980-06-04 Fanuc Ltd Drive circuit for permanent magnet type dc motor
JPH048451A (ja) * 1990-04-27 1992-01-13 Fanuc Ltd サーボモータの制御方式
DE69828009T2 (de) * 1997-09-23 2005-11-03 Agfa-Gevaert Antriebssystem
JP4825600B2 (ja) * 2006-06-28 2011-11-30 株式会社東芝 モータ制御装置
JP5596093B2 (ja) * 2012-09-05 2014-09-24 ファナック株式会社 バックラッシを補正するモータ制御装置
JP5657633B2 (ja) * 2012-12-14 2015-01-21 ファナック株式会社 移動体が反転するときの位置誤差を補正するサーボ制御装置
JP2014235587A (ja) * 2013-06-03 2014-12-15 東芝機械株式会社 工作機械およびその制御方法

Also Published As

Publication number Publication date
JP2017191448A (ja) 2017-10-19
US9958857B2 (en) 2018-05-01
CN107302334A (zh) 2017-10-27
DE102017206085A1 (de) 2017-10-19
CN107302334B (zh) 2019-10-18
DE102017206085B4 (de) 2021-03-04
US20170300033A1 (en) 2017-10-19

Similar Documents

Publication Publication Date Title
US10423170B2 (en) Motor control device, motor control method, and non-transitory computer readable medium recording a motor control program
JP6396360B2 (ja) モータ制御装置、モータ制御方法及びモータ制御プログラム
US8058827B2 (en) Motor control apparatus having a function to calculate amount of cogging torque compensation
US11148282B2 (en) Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device
JP5411978B2 (ja) ボールネジの伸縮量を補正する機能を備えたサーボ制御装置
JP4335123B2 (ja) 制御装置
JP2011115878A (ja) 動力装置の制御装置
JP5788560B1 (ja) 回転方向反転時に補正処理を行うモータ制御装置
US10919150B2 (en) Motor control system, control method for motor control system, and robot system
JP2008039737A (ja) 多回転量算出方法、バッテリーレス多回転式絶対値エンコーダ装置およびこれを用いた減速機付アクチュエータ
JP4620148B2 (ja) サーボモータ制御装置
JP6506232B2 (ja) モータ制御装置、モータ制御方法、及びモータ制御プログラム
US9605750B2 (en) Power transmission device
US20060055359A1 (en) Reverse rotation preventing electronic cam curve generating method based on electronic cam type rotary cutter control and control device therefor
JP2008090692A (ja) アクチュエータの位置変動抑制方法
JP4838817B2 (ja) ロストモーション解消制御装置
JP6578061B2 (ja) モーター制御装置及び方法
JP5017648B2 (ja) アクチュエータ制御装置およびアクチュエータ制御方法
JP2004362204A (ja) 工作機械における摩擦力測定方法及び同方法により得られた測定値を用いる数値制御装置
JP2011170609A (ja) 数値制御装置
JP7381270B2 (ja) サーボモータの制御装置
JP2013110874A (ja) 回転駆動装置及びロボット装置
JP2023048255A (ja) モータ制御装置、モータ制御方法、モータ制御システム、補正情報生成装置及び補正情報生成方法
JP2004234592A (ja) サーボ制御システム
JP2011063907A (ja) 通紙制御装置及びシリンダドライヤロールの運転方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180427

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: 20180807

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180829

R150 Certificate of patent or registration of utility model

Ref document number: 6396360

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150