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

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

Info

Publication number
JP2018060328A
JP2018060328A JP2016196662A JP2016196662A JP2018060328A JP 2018060328 A JP2018060328 A JP 2018060328A JP 2016196662 A JP2016196662 A JP 2016196662A JP 2016196662 A JP2016196662 A JP 2016196662A JP 2018060328 A JP2018060328 A JP 2018060328A
Authority
JP
Japan
Prior art keywords
reference value
amount
deviation
backlash
driven
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
JP2016196662A
Other languages
English (en)
Other versions
JP6506232B2 (ja
Inventor
章太郎 橋本
Shotaro Hashimoto
章太郎 橋本
肇 置田
Hajime Okita
肇 置田
有紀 森田
Yuki Morita
有紀 森田
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 JP2016196662A priority Critical patent/JP6506232B2/ja
Priority to CN201710897751.1A priority patent/CN107894787B/zh
Priority to DE102017217278.9A priority patent/DE102017217278A1/de
Priority to US15/719,732 priority patent/US10048672B2/en
Publication of JP2018060328A publication Critical patent/JP2018060328A/ja
Application granted granted Critical
Publication of JP6506232B2 publication Critical patent/JP6506232B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D13/00Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover
    • G05D13/62Control of linear speed; Control of angular speed; Control of acceleration or deceleration, e.g. of a prime mover characterised by the use of electric means, e.g. use of a tachometric dynamo, use of a transducer converting an electric value into a displacement
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • 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/41032Backlash

Landscapes

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

Abstract

【課題】モータへの位置指令に対してバックラッシ補正量を加算する際に、過補正となることを防止するモータ制御装置を提供する。【解決手段】可動部30の位置である第1位置の検出値を、可動部30と被駆動部50との間の回転比によって換算した換算後第1位置検出値と、被駆動部50の位置である第2位置の検出値との間の偏差である位置誤差を計算する位置誤差計算部104と、位置指令と第2位置の検出値との差である位置偏差を計算する位置偏差計算部109とを備え、位置誤差の変化量が第1の基準値を超えたとき、バックラッシ補正部111がバックラッシ補正量の加算を開始し、位置誤差の変化量が第2の基準値を超えたとき、バックラッシ補正量の加算を終了し、補正中に位置偏差が第3の基準値以下になったとき、バックラッシ補正量の加算を中断する。【選択図】図1

Description

本発明は、バックラッシを補正する手段を有するモータ制御装置、モータ制御方法及びモータ制御プログラムに関する。
従来より、物体の位置、方位、姿勢などを制御量とする制御系、例えば工作機械や産業機械の制御系において、サーボモータが用いられている。サーボモータのモータ軸の回転を他の主軸に伝えるために用いられる機械要素であって互いに係合する機械要素においては、当該機械要素間の抵触面に意図的に隙間が設けられている。この隙間が存在することにより、例えばねじやギア等の機械要素は、ある程度の範囲で自由に回転することができる。この隙間を「バックラッシ」(又は「バックラッシュ」)と呼ぶ。
例えば、モータと主軸等の被駆動軸がギアで結合されている場合、ギアのバックラッシが存在することにより、モータの反転時には、被駆動軸の反転がモータの反転に対して遅れてしまうこととなる。この被駆動軸の反転遅れを補正するために、モータへの位置指令にバックラッシ補正量を加算する方法が、従来より知られている。
モータと主軸等の被駆動軸の結合に、ギアだけではなくベルトも同時に使用されている場合、ベルトの弾性の影響により、モータの反転から遅れてギアのバックラッシによる被駆動軸反転遅れが発生することがある。この場合、モータの反転直後に、モータへの位置指令にバックラッシ補正量を加算すると、補正の効果が無いか、又は補正が被駆動軸の反転動作に悪影響を与える場合がある。
本発明の出願人は、この問題を解決するため、ギアがバックラッシ内を移動するタイミングを、モータの位置と被駆動軸の位置との差である位置誤差を監視することで判定し、適切なタイミングで、モータへの位置指令に対するバックラッシ補正量の加算を開始する特許を既に出願している(特願2016−080416号)。
上記の特許では、バックラッシ補正の開始の判定を、位置誤差の変化量、又は変化率を監視することで行っている。一方、バックラッシ補正の終了のタイミングについては、特に記載されていないが、基本的には、ギアがバックラッシ内の移動を終えるまでは、モータへの位置指令にバックラッシ補正量が加算され続けることを想定している。例えば、特許文献1では、位置誤差に基づいて測定したバックラッシ長を、モータ端が移動し終わるまで、バックラッシ補正量が加算され続ける。
特許第5596093号公報
しかし、モータ軸と被駆動軸との間を結合するベルトの特性や動作条件によっては、バックラッシ補正をしている途中で、モータ軸の位置に対する被駆動軸の位置の遅れが解消され、被駆動軸の位置が位置指令を追い越してしまう場合がある。被駆動軸の位置が位置指令に係る位置を追い越しても、モータへの位置指令にバックラッシ補正量が加算され続けると、補正により被駆動軸が反転方向に動きすぎてしまい、被駆動軸位置が位置指令を追い越し、過補正となってしまう場合があった。
本発明は、モータへの位置指令に対してバックラッシ補正量を加算する際に、過補正となることを防止するモータ制御装置、モータ制御方法及びモータ制御プログラムを提供することを目的とする。
本発明に係る第1のモータ制御装置(例えば、後述のモータ制御装置10)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部(例えば、後述の位置指令作成部105)と、前記位置指令の反転を検出する反転検出部(例えば、後述の反転検出部106)と、反転が検出されてからの前記位置誤差の変化量を計算する位置誤差変化量計算部(例えば、後述の位置誤差変化量計算部107)と、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定する第1判定部(例えば、後述の第1判定部108)と、前記位置指令と前記第2位置検出値との差である位置偏差を計算する位置偏差計算部(例えば、後述の位置偏差計算部109)と、前記位置偏差が所定の第3の基準値以下になったか否かを判定する第2判定部(例えば、後述の第2判定部110)と、前記位置指令にバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部111)とを備え、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を中断する。
前記第3の基準値が、補正開始時の位置偏差であってもよい。
本発明に係る第2のモータ制御装置(例えば、後述のモータ制御装置10A)は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御装置であって、前記可動部の位置である第1位置を検出する第1位置検出部(例えば、後述の第1位置検出部101)と、前記被駆動部の位置である第2位置を検出する第2位置検出部(例えば、後述の第2位置検出部103)と、前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部(例えば、後述の位置誤差計算部104)と、位置指令を作成する位置指令作成部(例えば、後述の位置指令作成部105)と、前記位置指令の反転を検出する反転検出部(例えば、後述の反転検出部106)と、反転が検出されてからの前記位置誤差の変化量を計算する位置誤差変化量計算部(例えば、後述の位置誤差変化量計算部107)と、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定する第1判定部(例えば、後述の第1判定部108)と、前記位置指令と前記第2位置検出値との差である位置偏差を計算する位置偏差計算部(例えば、後述の位置偏差計算部109)と、前記位置偏差が所定の第3の基準値以下になったか否かを判定する第2判定部(例えば、後述の第2判定部110)と、前記位置指令にバックラッシ補正量を加算するバックラッシ補正部(例えば、後述のバックラッシ補正部211)とを備え、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正部が、加算する補正量を漸次小さくする。
前記バックラッシ補正部(例えば、後述のバックラッシ補正部311)が、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算する基準位置誤差計算部(例えば、後述の基準位置誤差計算部320)と、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とする乗算器(例えば、後述の補正ゲイン乗算器322)とを備え、前記位置偏差が前記第3の基準値以下になったら、前記バックラッシ補正部が、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記バックラッシ補正部が、前記補正ゲインをゼロとしてもよい。
前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアとベルトの組み合わせによって機械的に結合されていてもよい。
本発明に係る第1のモータ制御方法は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量を計算するステップと、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータが実行し、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正量の加算を中断する。
前記第3の基準値が、補正開始時の位置偏差であってもよい。
本発明に係る第2のモータ制御方法は、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するモータ制御方法であって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量を計算するステップと、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータが実行し、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、加算する補正量を漸次小さくする。
前記位置指令にバックラッシ補正量を加算するステップは、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算するサブステップと、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とするサブステップとを有し、前記位置偏差が前記第3の基準値以下になったら、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記補正ゲインをゼロとしてもよい。
本発明に係る第1のモータ制御プログラムは、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量を計算するステップと、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータに実行させ、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正量の加算を中断するためのものである。
前記第3の基準値が、補正開始時の位置偏差であってもよい。
本発明に係る第2のモータ制御プログラムは、モータにより駆動される可動部(例えば、後述のモータ軸30)と、該可動部により駆動される被駆動部(例えば、後述の主軸50)との間のバックラッシを補正するためのモータ制御プログラムであって、前記可動部の位置である第1位置を検出するステップと、前記被駆動部の位置である第2位置を検出するステップと、前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、位置指令を作成するステップと、前記位置指令の反転を検出するステップと、反転が検出されてからの前記位置誤差の変化量を計算するステップと、前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータに実行させ、前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、加算する補正量を漸次小さくするためのものである。
前記位置指令にバックラッシ補正量を加算するステップは、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算するサブステップと、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とするサブステップとを有し、前記位置偏差が前記第3の基準値以下になったら、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記補正ゲインをゼロとしてもよい。
本発明によれば、モータへの位置指令に対してバックラッシ補正量を加算する際に、過補正となることを防止することができる。
本発明の第1実施形態に係るモータ制御装置の構成を示す図である。 本発明の第1実施形態に係るモータ制御装置における処理を示すフローチャートである。 本発明の第2実施形態に係るモータ制御装置の構成を示す図である。 本発明の第2実施形態に係るモータ制御装置における処理を示すフローチャートである。 本発明の変形例に係るモータ制御装置に備わるバックラッシ補正部の構成を示す図である。 モータの反転時の各軸の挙動についての説明図である。 モータの反転時の各軸の挙動についての説明図である。 バックラッシ補正をしなかった場合の位置誤差の変化量と被駆動軸の位置偏差の経時変化を示す図である。 バックラッシ補正をしなかった場合の位置誤差の変化量と被駆動軸の位置偏差の経時変化を示す図である。 バックラッシ補正をしなかった場合の、モータの反転時の各軸の挙動についての説明図である。 バックラッシ補正をしなかった場合の、モータの反転時の各軸の挙動についての説明図である。 バックラッシ補正をした場合の位置誤差の変化量、被駆動軸の位置偏差、及びバックラッシ補正量の経時変化を示す図である。 バックラッシ補正中に補正を中断した場合の位置誤差の変化量、被駆動軸の位置偏差、及びバックラッシ補正量の経時変化を示す図である。
以下、本発明の実施形態について、図1〜図9を用いて説明する。
図6A及び図6Bは、従来のバックラッシ補正方法を用いた場合の、モータの反転時の各軸の挙動について示した図である。具体的には、モータと被駆動軸(主軸)との間の減速機構がギア及びベルトから構成されているときの、モータの反転時の各軸の挙動について図示したものである。
図6Aに示すように、可動部としてのモータ軸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との組み合わせによって機械的に結合される。
図6A(a)は、モータ20の反転前のモータ軸ギア35及び中間軸ギア45の位置、及びベルト60に掛かる張力の様子を示す。ここでは仮に、モータ軸30が時計回りの方向に回転している場合を想定する。なお、本発明の実施形態はこれには限定されない。
上記のように、モータ軸ギア35と中間軸ギア45とは噛み合っており、図6A(a)に示すモータ軸ギア35の歯351と、中間軸ギア45の歯451とは接触している。モータ軸30は時計回り方向に回転しているので、歯351は歯451を下方に押す状態となっている。それに伴って、中間軸ギア45、ひいては中間軸40は反時計回り方向に回転する。なお、モータ軸ギア35の複数の歯351に共通する説明をする際には、代表して「歯351」と表現することにする。
中間軸40と主軸50との間には、無端状のベルト60が架け渡されているため、中間軸40の反時計回り方向の回転に伴って、主軸50も同様に、反時計回り方向に回転する。中間軸40と主軸50との間には、両軸の外周から延びる2本の外接線に沿うように、ベルト60は、2つの非巻き付け部分を有する。図6A(a)において上側の非巻き付け部分が主軸50を反時計回り方向に引っ張ることにより、主軸50は反時計回りに回転する。すなわち、上側の非巻き付け部分が「張り側」となっており、下側の非巻き付け部分が「緩み側」となっている。ここで、上側の非巻き付け部分の張力をF1、下側の非巻き付け部分の張力をF2とした場合、F1>F2となる。
次に、図6A(b)は、モータ20が反時計回り方向に反転し始めた直後の、モータ軸ギア35及び中間軸ギア45の位置、及びベルト60に掛かる張力の様子を示す。
モータ軸30の反時計回り方向への反転に伴って、モータ軸ギア35も反時計回り方向に回転するため、モータ軸ギア35の歯351は、中間軸ギア45の歯451を下方に押さなくなり、上方への移動を開始する。一方、中間軸40に掛け渡されるベルト60において、上記のように、図6A(a)において上側の非巻き付け部分の張力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との間の差は小さくなっていく。すなわち、ベルト60の張り側張力が緩んでいき、中間軸40が反転する力が弱まっていく。モータ軸30への速度指令が、中間軸40の反転速度を超えたところで、図6A(c)に示すように、モータ軸ギア35の歯351が、中間軸ギア45の歯451と歯452との間のバックラッシ内を移動し始める。このタイミングで、モータ軸30への位置指令にバックラッシ補正量を加算する。被駆動軸である主軸50は、ベルト60の張力と慣性力により回転を続けるが、この回転量が大きいと、モータ20への位置指令に対する、被駆動軸である主軸50の位置の遅れは、比較的小さくなる。更に、モータ軸30の動きに被駆動軸である主軸50の動きがついていく度合いが高いため、モータ軸ギア35の歯351が、バックラッシ内を移動しているにも関わらず、モータ軸30の位置と被駆動軸である主軸50の位置との間の差分である位置誤差の変化量は、さほど大きくならない。
やがて、図6B(d)に示すように、モータ軸ギア35の歯351が、バックラッシ内の移動を終え、中間軸ギア45の歯452と接触する。上記のように、歯351がバックラッシ内を移動する間の、被駆動軸である主軸50の回転量が大きいと、位置誤差の変化量が、バックラッシ補正の終了条件となる値に達していないため、モータ20への位置指令にバックラッシ補正量が加算され続けてしまう。しかし、既にモータ軸ギア35の歯351は、中間軸ギア45の歯452に接触していると共に、位置指令と被駆動軸である主軸50の位置との間の偏差である被駆動軸の位置偏差も小さくなっているため、引き続きバックラッシ補正量が加算されると、主軸50の位置が位置指令を通り越してしまい、過補正となってしまう。
また、モータ軸ギア35の歯351が、中間軸ギア45の歯452と接触した直後は、図6B(d)に示すように、ベルト60の2つの非巻き付け部分の内、上側の非巻き付け部分が「張り側」となっており、下側の非巻き付け部分が「緩み側」となっている。すなわち、上側の非巻き付け部分の張力をF1、下側の非巻き付け部分の張力をF2とした場合、F1>F2となっている。この上側の非巻き付け部分の張力F1が、下側の非巻き付け部分の張力F2よりも大きいことにより、ベルト60は弾性変形すると共に、被駆動軸である主軸50は中間軸40の回転についていかなくなる。これにより、歯351と歯452との接触後、被駆動軸である主軸50の位置は、モータ軸30の位置に比べて遅れ始める。
やがて、下側の非巻き付け部分の張力F2が、上側の非巻き付け部分の張力F1に比較して十分大きくなった段階で、被駆動軸である主軸50の位置が、モータ軸30の位置に対して遅れることのない状態で、主軸50は回転を始める。
図7A及び図7Bは、バックラッシ補正をしなかった場合の、モータ軸30の位置と主軸50の位置との偏差である位置誤差の変化量と、モータ20への位置指令と主軸50の位置との間の偏差である被駆動軸の位置偏差の経時変化を示すグラフである。また、図8A及び図8Bは、バックラッシ補正をしなかった場合の、モータの反転時の各軸の挙動を示す図である。図8Aの(c)に示す各軸の挙動は、図7Aにおける時刻(c)の領域における挙動であり、図8Aの(d)に示す各軸の挙動は、図7Aにおける時刻(d)の時点における挙動である。同様に、図8Bの(c)に示す各軸の挙動は、図7Bにおける時刻(c)の領域における挙動であり、図8Bの(d)に示す各軸の挙動は、図7Bにおける時刻(d)の時点における挙動である。
また、図9は、バックラッシ補正が過補正となった場合の、位置誤差の変化量と被駆動軸の位置偏差の経時変化を示すグラフである。なお、位置誤差の変化量を実線で、被駆動軸の位置偏差を一点鎖線で、バックラッシ補正量を二点鎖線で示す。
まず、図7A及び図8Aを用いて、バックラッシ補正をしなかった場合の、位置誤差の変化量と被駆動軸の位置偏差の経時変化について説明する。なお、以下の説明中では、適宜、図6A及び図6B内に示される各構成要素、およびその符号を流用する。
グラフ中、時刻が(a)の領域にある間は、モータ軸30は、反転する前の段階にある。この領域においては、図6A(a)と同様に、モータ20により駆動されるモータ軸30と、モータ軸30により駆動される主軸50とは、ギア35、45とベルト60との組み合わせによって機械的に結合されているため、モータ軸30の回転と、主軸50の回転とは、ほぼ連動する。従って、位置誤差も被駆動軸の位置偏差も、特に大きく変化しない。
やがて、時刻が(b)の領域に入ると同時に、モータ軸30は反転するが、モータ軸30が反時計回り方向に反転するとした場合、中間軸40に掛け渡されるベルト60において、上側の非巻き付け部分の張力が下側の非巻き付け部分の張力よりも大きくなっていることに起因して、中間軸40は時計回り方向に回転し始める。これに伴って、主軸50も時計回り方向への回転を開始する。このため、モータ軸ギア35の歯351と、中間軸ギア45の歯451とは接触を継続し、バックラッシは発生しない。
その後、時刻が(c)の領域に入ると、ベルト60の張り側張力が緩んでいき、中間軸40が反転する力が弱まっていく。モータ軸30への速度指令が、中間軸40の反転速度を超えることにより、モータ軸ギア35の歯351と、中間軸ギア45の歯451との間に隙間が発生し、モータ軸ギア35の歯351はバックラッシ内を移動する。また、上記のように、モータ軸30の回転速度は、中間軸40、ひいては主軸50の回転速度よりも速いため、位置誤差は増加する。同様に、モータ20への位置指令に比較した主軸50の位置の遅れも増加するため、被駆動軸の位置偏差も増加する。
モータ軸ギア35の歯351がバックラッシ内を移動しているとき、図8A(c)に示すように、中間軸40と主軸50は停止せずに、ベルト張力または慣性力によりある程度回転し続ける。動作条件によっては主軸50の回転量が大きくなる場合があり、主軸50がある程度位置指令に追従する場合がある。このとき、位置誤差の変化量は小さくなると共に、位置偏差の増加量も比較的小さくなる。さらに中間軸40の回転に伴って主軸50も回転するため、反転前のベルトの張り側張力も解消されない。すなわち、ベルト弾性変形の余地が大きく残ることになる。このような場合、時刻が(d)の時点において、図8A(d)に示すように、モータ軸ギア35の歯351がバックラッシ端部である中間軸ギア45の歯452に到達した後は、ベルト弾性変形による主軸50の回転遅れにより位置誤差が増加していく。
一方、他の動作条件における、位置誤差の変化量と被駆動軸の位置偏差の経時変化を図7Bに、モータ反転時の各軸の挙動を図8Bに示す。他の動作条件においては、図8B(c)に示すように、モータ軸ギア35の歯351がバックラッシ内を移動しているときの主軸50がほぼ停止する場合がある。このとき、図7Bにおいて、時刻が(c)の領域にある間のグラフに示されるように、バックラッシ内の移動に加えて、ベルト60が弾性変形する。これにより、バックラッシ内移動中の位置誤差の変化量は大きくなる。また、位置指令に対する主軸の遅れも大きくなり、位置偏差の増加量が比較的大きくなる。更に、中間軸40が回転するのに対し、主軸50は停止しているので、反転前のベルトの張り側張力は解消される。このような場合は、図7Bの時刻が(d)の時点において、図8B(d)に示すように、モータ軸ギア35がバックラッシ端部である中間軸ギア45の歯452に到達後、ベルト弾性変形による主軸50の回転遅れは小さくなる。
図7Aに戻ると、時刻が(d)の時点において、モータ軸ギア35の歯351がバックラッシの端部である、中間軸ギア45の歯451の隣りの歯452に接すると、被駆動軸の位置偏差は減少していき、当初の被駆動軸の位置偏差と、ほぼ同じ値となる。
時刻が(e)の領域に入ると、当初は、ベルト60が弾性変形すると共に、主軸50の回転速度が遅くなるのに従い、再び被駆動軸の位置偏差は増加する。その後、ベルト60の弾性変形が解消され、モータ20への位置指令に対する主軸50の位置の遅れが減少するのに伴い、被駆動軸の位置偏差は再度減少する。
図9は、バックラッシ補正が過補正となった場合の、位置誤差の変化量、被駆動軸の位置偏差、及びバックラッシ補正量の経時変化を示すグラフである。
時刻が(a)及び(b)の領域にある間の、位置誤差の変化量と被駆動軸の位置偏差の経時変化は、図7A及び図7Bに示すグラフと基本的に同一である。やがて、時刻が(c)の領域に入り、バックラッシが発生すると共に、バックラッシ補正を開始する。バックラッシ補正をしている分、図7A及び図7Bのグラフに比較すると、被駆動軸の位置偏差のグラフの傾きは緩やかとなっている。
時刻(d)において、モータ軸ギア35の歯351がバックラッシの端部である、中間軸ギア45の歯452に接した時点において、バックラッシが消失すると共に、被駆動軸の位置偏差は最大となる。その後、時刻が(e)の領域に入り、被駆動軸の位置偏差がゼロとなっても、バックラッシ補正は継続されるため、主軸50の位置が位置指令を通り越してしまう。すなわち、被駆動軸の位置偏差の正負が逆転し、過補正となってしまう。
その後、図6Bを参照して説明したように、ベルト60が弾性変形することにより、主軸50が中間軸40の回転についていかなくなり、主軸50の位置は、モータ軸30の位置に比べて遅れ始める。ひいては、主軸50の位置は、モータ20に対する位置指令よりも遅れることにより、被駆動軸の位置偏差は再び増加する。やがて、主軸50は、モータ20への位置指令に対して遅れることのない回転を始め、被駆動軸の位置偏差は再び減少する。
そこで、上記のような過補正を防止するため、バックラッシ補正中は被駆動軸位置を監視しておき、被駆動軸の位置偏差が基準値よりも小さくなったら補正を中断するか、又は補正を弱め、被駆動軸の位置偏差が基準値を再び超えたら、補正を再開するのが、本発明の基礎となる概念である。
[第1実施形態]
図1は、第1実施形態に係るモータ制御装置10の構成を示す図である。
モータ制御装置10は、主として、モータ20により駆動される可動部としてのモータ軸30の位置(「第1位置」又は「モータ位置」ともいう)を検出する、エンコーダ等の第1位置検出部101と、上記の可動部(モータ軸30)により駆動される被駆動部である主軸50の位置(「第2位置」又は「主軸位置」ともいう)を検出する第2位置検出部103と、上記の第1位置と第2位置との偏差である「位置誤差」を計算する位置誤差計算部104と、を備える。なお、例えば、上記の「第1位置」又は「モータ位置」はセミクローズドループを用いて取得された位置であり、「第2位置」又は「主軸位置」はフルクローズドループを用いて取得された位置である。
更に、モータ制御装置10は、位置指令作成部105と、反転検出部106と、位置誤差変化量計算部107と、第1判定部108と、位置偏差計算部109と、第2判定部110と、バックラッシ補正部111と、加算器112とを備える。位置指令作成部105は、上記のモータ20への位置指令を作成する。反転検出部106は、上記の位置指令の反転を検出する。位置誤差変化量計算部107は、反転が検出されてからの上記の位置誤差の変化量を計算する。第1判定部108は、上記の位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたかどうかを判定する。位置偏差計算部109は、位置指令と第2位置検出値との間の偏差である位置偏差を計算する。第2判定部110は、位置偏差が所定の第3の基準値以下になったか否かを判定する。バックラッシ補正部111は、上記の位置誤差の変化量が第1の基準値を超え、第2の基準値以下の場合には、バックラッシ補正量を算出し、加算器112を用いて、当該バックラッシ補正量を上記の位置指令に加算する。また、バックラッシ補正部111は、上記の位置誤差の変化量が第2の基準値を超えた場合には、バックラッシ補正量の上記の位置指令への加算を終了する。更に、バックラッシ補正部111は、補正中に上記の位置偏差が第3の基準値以下になった場合には、バックラッシ補正量の上記の位置指令への加算を中断する。
上記のバックラッシ補正量が加算された位置指令は、制御部113によりモータ20に送信される。
なお、上記の位置誤差計算部104は、上記の第1位置と第2位置の偏差を位置誤差として計算する。具体的には、上記の第1位置検出値に、変換係数102を乗算することにより、被駆動部の位置(主軸位置)の値に換算した換算後第1位置検出値を算出し、当該換算後第1位置検出値と、第2位置検出値との間の偏差を位置誤差として計算する。この変換係数102としては、例えば、可動部(モータ軸30)と被駆動部(主軸50)の間との回転比を用いることが可能である。
また、上記のバックラッシ補正量は、上記の第1位置及び第2位置のいずれか又は双方、例えば、第1位置及び第2位置の相対的な位置関係や上記の位置誤差を用いて、周知の方法により算出することが可能である。
次に、図2を用いて、一部繰り返しとなるが、上記のモータ制御装置10の動作フローについて説明する。
まず、反転検出部106は、位置指令作成部105によって作成された位置指令の反転を監視する(S11)。反転が検出された場合(S11:YES)は、位置誤差変化量計算部107は、位置誤差の変化量を0に初期化する(S12)。そして、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する(S13)。一方、位置指令の反転が検出されない場合(S11:NO)には、改めてS12の初期化のステップを経ることなく、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する。
次に、第1判定部108は、上記の位置誤差の変化量の絶対値を所定の第1の基準値及び所定の第2の基準値と比較する(S14)。当該絶対値が、第1の基準値を超え、第2の基準値以下の場合(S14:YES)には、バックラッシ補正部111はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をONとする(S15)。上記の絶対値が第1の基準値以下の場合、及び第2の基準値を超えている場合(S14:NO)には、バックラッシ補正部111はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をOFFとする(S16)。
次に、第2判定部110は、上記の位置偏差を所定の第3の基準値と比較する(S17)。当該位置偏差が、第3の基準値以下である場合(S17:YES)には、バックラッシ補正部111はバックラッシ補正量の位置指令への加算を中断する(S18)。当該位置偏差が、第3の基準値を超えている場合(S17:NO)は、バックラッシ補正量の加算の中断は実施しない。
図10は、第1実施形態に係るモータ制御装置10を用いてバックラッシ補正を制御した場合の、位置誤差の変化量、被駆動軸の位置偏差、及びバックラッシ補正量の時変化を示す図である。なお、位置誤差の変化量を実線で、被駆動軸の位置偏差を一点鎖線で、バックラッシ補正量を二点鎖線で示す。
時刻が(a)及び(b)の領域にいる間の位置誤差の変化量と被駆動軸の位置偏差の径時変化は、図7A、図7B、及び図9のグラフと基本的に同一である。やがて、時刻が(c)の領域に入り、バックラッシが発生すると共に、バックラッシ補正を開始する。
時刻(d)において、モータ軸ギアの歯がバックラッシ端部に到達し、被駆動軸の位置偏差が最大となる。その後、被駆動軸の位置偏差は減少に転じるが、時刻(e)において、第2判定部110は、被駆動軸の位置偏差が、基準値3以下となったと判定する。すなわち、被駆動軸である主軸50の位置と、モータ20への位置指令に係る位置とが、基準値3以下の距離となったと判定する。これに基づき、第2判定部110は、バックラッシ補正部111に対し、バックラッシ補正の中断を指示する。これに伴い、バックラッシ補正量はゼロとなる。
バックラッシ補正の中断に伴い、被駆動軸の位置偏差の量は再び上昇する。やがて、時刻(f)において、被駆動軸の位置偏差が基準値3を超える。これに基づき、第2判定部110は、バックラッシ補正部111に対し、バックラッシ補正の再開を指示する。
上記の第1実施形態に係るモータ制御装置10により、被駆動軸の位置偏差の正負が逆転することがなくなり、バックラッシ補正が過補正となることを防止することが可能となる。
更に、図7A及び図7Bを参照して述べたように、同じ機械であっても動作条件によって位置誤差の変化量に対するバックラッシ到達タイミングが異なる場合がある。このような場合でも、バックラッシ補正量は反転から位置誤差が変化しきった所(例えば、図9の補正終了時点)まで加算され続ける。動作条件が変わった際に、バックラッシ補正量加算中に何らかの原因でモータ軸ギアがバックラッシ端に到達してしまう状況が起こったとしても、本実施形態の機能により補正を中断させることで、適切に反転補正を行うことが可能となる。
[第2実施形態]
図3は、第2実施形態に係るモータ制御装置10Aの構成を示す図である。なお、第1実施形態に係るモータ制御装置10と同一の構成要素については、同一の符号を用い、その具体的な説明は省略する。
第2実施形態におけるモータ制御装置10Aは、第1実施形態に係るモータ制御装置10におけるバックラッシ補正部111の代わりに、バックラッシ補正部211を備える。バックラッシ補正部211は、位置偏差計算部109から被駆動部の位置偏差を受信し、この位置偏差と第2判定部110からの指示に基づき、バックラッシ補正中にバックラッシ補正量を減少させる。
次に、図4を用いて、一部繰り返しとなるが、上記のモータ制御装置10Aの動作フローについて説明する。
まず、反転検出部106は、位置指令作成部105によって作成された位置指令の反転を監視する(S21)。反転が検出された場合(S21:YES)は、位置誤差変化量計算部107は、位置誤差の変化量を0に初期化する(S22)。そして、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する(S23)。一方、位置指令の反転が検出されない場合(S21:NO)には、改めてS22の初期化のステップを経ることなく、位置誤差変化量計算部107は、位置誤差の変化量の絶対値を計算する。
次に、第1判定部108は、上記の位置誤差の変化量の絶対値を所定の第1の基準値及び所定の第2の基準値と比較する(S24)。当該絶対値が、第1の基準値を超え、第2の基準値以下の場合(S24:YES)には、バックラッシ補正部211はバックラッシ補正量を位置指令に加算する。すなわち、バックラッシ補正をONとする(S25)。上記の絶対値が第1の基準値以下の場合、及び第2の基準値を超えている場合(S24:NO)には、バックラッシ補正部211はバックラッシ補正量を位置指令に加算しない。すなわち、バックラッシ補正をOFFとする(S26)。
次に、第2判定部110は、上記の位置偏差を所定の第3の基準値と比較する(S27)。上記の位置偏差が、第3の基準値以下である場合(S27:YES)には、バックラッシ補正部211は位置指令に加算するバックラッシ補正量を漸次減少させる(S28)。上記の位置偏差が、第3の基準値を超えている場合(S27:NO)は、バックラッシ補正量の減少は実施しない。
上記の第2実施形態に係るモータ制御装置10Aにより、第1実施形態に係るモータ制御装置10と同様に、被駆動軸の位置偏差の正負が逆転することがなくなり、バックラッシ補正が過補正となることを防止することが可能となる。また、動作条件が変わった際に、バックラッシ補正量加算中に何らかの原因でモータ軸ギアがバックラッシ端に到達してしまう状況が起こったとしても、本実施形態の機能により補正量を減少させることで、適切に反転補正を行うことが可能となる。
[変形例]
上記の第2実施形態に係るモータ制御装置10Aは、バックラッシ補正部211の代わりに、図5に示すバックラッシ補正部311を備えてもよい。図5に示すバックラッシ補正部は、基準位置誤差計算部320と、偏差算出器321と、補正ゲイン乗算器322とを備える。基準位置誤差計算部320は、モータ20の反転後に位置誤差が到達するべき目標値である基準位置誤差を計算する。偏差算出器321は、この基準位置誤差と、位置誤差計算部104から第2判定部110を経由して受信する、実際の位置誤差との間の偏差を算出する。補正ゲイン乗算器322は、この偏差に、予め設定される補正ゲインを乗算することにより、バックラッシ補正量を算出する。それと共に、補正ゲイン乗算器322は、第2判定部110から、被駆動軸の位置偏差が第3の基準値以下となったか否かの判定結果を受信し、位置偏差が第3の基準値以下となっている場合には、補正ゲインを時間経過に従って単調減少させる。更に、位置偏差が補正開始時の位置偏差に到達したら、補正ゲイン乗算器322は、補正ゲインをゼロとする。
この変形例においても、上記の第2実施形態に係るモータ制御装置10Aと同様に、被駆動軸の位置偏差が負の値を取ることがなくなり、バックラッシ補正が過補正となることを防止することが可能となる。また、動作条件が変わった際に、バックラッシ補正量加算中に何らかの原因でモータ軸ギアがバックラッシ端に到達してしまう状況が起こったとしても、本実施形態の機能により補正を中断させることで、適切に反転補正を行うことが可能となる。
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
モータ制御装置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 第1判定部
109 位置偏差計算部
110 第2判定部
111 211 311 バックラッシ補正部
112 加算器
113 制御部
320 基準位置誤差計算部
321 偏差算出器
322 補正ゲイン乗算器
351 352 451 452 歯

Claims (13)

  1. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからの前記位置誤差の変化量を計算する位置誤差変化量計算部と、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定する第1判定部と、
    前記位置指令と前記第2位置検出値との差である位置偏差を計算する位置偏差計算部と、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定する第2判定部と、
    前記位置指令にバックラッシ補正量を加算するバックラッシ補正部とを備え、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を中断するモータ制御装置。
  2. 前記第3の基準値が、補正開始時の位置偏差である、請求項1に記載のモータ制御装置。
  3. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御装置であって、
    前記可動部の位置である第1位置を検出する第1位置検出部と、
    前記被駆動部の位置である第2位置を検出する第2位置検出部と、
    前記第1位置検出部が検出した第1位置検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置検出部が検出した第2位置検出値との間の偏差である位置誤差を計算する位置誤差計算部と、
    位置指令を作成する位置指令作成部と、
    前記位置指令の反転を検出する反転検出部と、
    反転が検出されてからの前記位置誤差の変化量を計算する位置誤差変化量計算部と、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定する第1判定部と、
    前記位置指令と前記第2位置検出値との差である位置偏差を計算する位置偏差計算部と、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定する第2判定部と、
    前記位置指令にバックラッシ補正量を加算するバックラッシ補正部とを備え、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正部が前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正部が、加算する補正量を漸次小さくするモータ制御装置。
  4. 前記バックラッシ補正部が、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算する基準位置誤差計算部と、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とする乗算器とを備え、
    前記位置偏差が前記第3の基準値以下になったら、前記バックラッシ補正部が、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記バックラッシ補正部が、前記補正ゲインをゼロとする、請求項3に記載のモータ制御装置。
  5. 前記モータにより駆動される前記可動部と、該可動部により駆動される前記被駆動部とは、ギアとベルトの組み合わせによって機械的に結合されている請求項1〜4のいずれか1項に記載のモータ制御装置。
  6. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量を計算するステップと、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、
    前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、
    前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータが実行し、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正量の加算を中断するモータ制御方法。
  7. 前記第3の基準値が、補正開始時の位置偏差である、請求項6に記載のモータ制御方法。
  8. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するモータ制御方法であって、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量を計算するステップと、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、
    前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、
    前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータが実行し、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、加算する補正量を漸次小さくするモータ制御方法。
  9. 前記位置指令にバックラッシ補正量を加算するステップは、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算するサブステップと、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とするサブステップとを有し、
    前記位置偏差が前記第3の基準値以下になったら、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記補正ゲインをゼロとする、請求項8に記載のモータ制御方法。
  10. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量を計算するステップと、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、
    前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、
    前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータに実行させ、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、前記バックラッシ補正量の加算を中断するためのモータ制御プログラム。
  11. 前記第3の基準値が、補正開始時の位置偏差である、請求項10に記載のモータ制御プログラム。
  12. モータにより駆動される可動部と、該可動部により駆動される被駆動部との間のバックラッシを補正するためのモータ制御プログラムであって、
    前記可動部の位置である第1位置を検出するステップと、
    前記被駆動部の位置である第2位置を検出するステップと、
    前記第1位置の検出値を前記可動部と前記被駆動部との間の回転比によって被駆動部の位置の値に換算した換算後第1位置検出値と、前記第2位置の検出値との間の偏差である位置誤差を計算するステップと、
    位置指令を作成するステップと、
    前記位置指令の反転を検出するステップと、
    反転が検出されてからの前記位置誤差の変化量を計算するステップと、
    前記位置誤差の変化量が所定の第1の基準値、又は所定の第2の基準値を超えたか否かを判定するステップと、
    前記位置指令と前記第2位置の検出値との差である位置偏差を計算するステップと、
    前記位置偏差が所定の第3の基準値以下になったか否かを判定するステップと、
    前記位置指令にバックラッシ補正量を加算するステップと、をコンピュータに実行させ、
    前記位置誤差の変化量が前記第1の基準値を超えたとき、前記バックラッシ補正量の加算を開始し、前記位置誤差の変化量が前記第2の基準値を超えたとき、前記バックラッシ補正量の加算を終了し、補正中に前記位置偏差が前記第3の基準値以下になったとき、加算する補正量を漸次小さくするためのモータ制御プログラム。
  13. 前記位置指令にバックラッシ補正量を加算するステップは、反転後に前記位置誤差が到達するべき目標値である基準位置誤差を計算するサブステップと、前記基準位置誤差と前記位置誤差との偏差に、予め設定される補正ゲインを乗算したものを前記バックラッシ補正量とするサブステップとを有し、
    前記位置偏差が前記第3の基準値以下になったら、前記補正ゲインを時間経過に伴って単調に減少させていき、前記位置偏差が補正開始時の位置偏差に到達したら、前記補正ゲインをゼロとするための、請求項12に記載のモータ制御プログラム。
JP2016196662A 2016-10-04 2016-10-04 モータ制御装置、モータ制御方法、及びモータ制御プログラム Active JP6506232B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016196662A JP6506232B2 (ja) 2016-10-04 2016-10-04 モータ制御装置、モータ制御方法、及びモータ制御プログラム
CN201710897751.1A CN107894787B (zh) 2016-10-04 2017-09-28 电动机控制装置、电动机控制方法以及计算机可读介质
DE102017217278.9A DE102017217278A1 (de) 2016-10-04 2017-09-28 Motorsteuerungs-vorrichtung, motorsteuerungs-verfahren und motorsteuerungs-programm
US15/719,732 US10048672B2 (en) 2016-10-04 2017-09-29 Motor control device, motor control method, and non-transitory computer readable medium recording motor control program

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2018060328A true JP2018060328A (ja) 2018-04-12
JP6506232B2 JP6506232B2 (ja) 2019-04-24

Family

ID=61623774

Family Applications (1)

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

Country Status (4)

Country Link
US (1) US10048672B2 (ja)
JP (1) JP6506232B2 (ja)
CN (1) CN107894787B (ja)
DE (1) DE102017217278A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083248A (ja) * 2020-11-24 2022-06-03 株式会社ミツバ モータ制御装置及びモータ制御方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109476024B (zh) * 2016-09-27 2021-09-28 松下知识产权经营株式会社 机器人的控制方法以及焊接方法
CN111367235B (zh) * 2018-12-26 2023-09-26 株式会社日研工作所 数控工具机的诊断保养系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03197071A (ja) * 1989-12-26 1991-08-28 Canon Inc 記録装置
JPH05282019A (ja) * 1992-03-31 1993-10-29 Makino Milling Mach Co Ltd サーボシステムにおける加速制御方法及び装置
US5767645A (en) * 1995-07-13 1998-06-16 Lg Industrial Systems Co., Ltd. Backlash correction apparatus and method of numerical controller
JPH10254548A (ja) * 1997-03-11 1998-09-25 Okuma Mach Works Ltd 位置制御システム
JP5596093B2 (ja) * 2012-09-05 2014-09-24 ファナック株式会社 バックラッシを補正するモータ制御装置
JP2014235587A (ja) * 2013-06-03 2014-12-15 東芝機械株式会社 工作機械およびその制御方法
JP2015211498A (ja) * 2014-04-24 2015-11-24 ファナック株式会社 回転方向反転時に補正処理を行うモータ制御装置
JP2016004316A (ja) * 2014-06-13 2016-01-12 ファナック株式会社 モータを制御するモータ制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6031473B2 (ja) 1979-01-11 1985-07-22 天野製薬株式会社 微生物によるポリアミンオキシダ−ゼ類の製造法
JPH0371206A (ja) * 1989-08-10 1991-03-27 Mitsubishi Electric Corp Nc工作機械の機械誤差補正装置
JPH03166604A (ja) * 1989-11-27 1991-07-18 Fanuc Ltd 機械位置変動の位置補正方式
JP2866556B2 (ja) * 1993-09-02 1999-03-08 三菱電機株式会社 工作機械の制御装置および制御方法
JP2003048136A (ja) * 2001-08-09 2003-02-18 Mori Seiki Co Ltd 送り装置の制御方法及び制御装置
EP2394799B1 (en) * 2009-02-03 2016-08-31 Olympus Corporation Manipulator
CN102906995B (zh) * 2010-05-26 2016-03-30 三菱电机株式会社 电动机控制装置
JP5628940B2 (ja) * 2013-01-11 2014-11-19 ファナック株式会社 バックラッシを補正するモータ制御装置
JP5905556B1 (ja) * 2014-10-07 2016-04-20 ファナック株式会社 モータの反転遅れを補正するモータ制御装置
JP2016080416A (ja) 2014-10-13 2016-05-16 日本精工株式会社 エコー検出位置表示ユニット

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03197071A (ja) * 1989-12-26 1991-08-28 Canon Inc 記録装置
JPH05282019A (ja) * 1992-03-31 1993-10-29 Makino Milling Mach Co Ltd サーボシステムにおける加速制御方法及び装置
US5767645A (en) * 1995-07-13 1998-06-16 Lg Industrial Systems Co., Ltd. Backlash correction apparatus and method of numerical controller
JPH10254548A (ja) * 1997-03-11 1998-09-25 Okuma Mach Works Ltd 位置制御システム
JP5596093B2 (ja) * 2012-09-05 2014-09-24 ファナック株式会社 バックラッシを補正するモータ制御装置
JP2014235587A (ja) * 2013-06-03 2014-12-15 東芝機械株式会社 工作機械およびその制御方法
JP2015211498A (ja) * 2014-04-24 2015-11-24 ファナック株式会社 回転方向反転時に補正処理を行うモータ制御装置
JP2016004316A (ja) * 2014-06-13 2016-01-12 ファナック株式会社 モータを制御するモータ制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022083248A (ja) * 2020-11-24 2022-06-03 株式会社ミツバ モータ制御装置及びモータ制御方法
JP7462538B2 (ja) 2020-11-24 2024-04-05 株式会社ミツバ モータ制御装置及びモータ制御方法

Also Published As

Publication number Publication date
US20180095446A1 (en) 2018-04-05
DE102017217278A1 (de) 2018-04-05
CN107894787B (zh) 2020-04-14
JP6506232B2 (ja) 2019-04-24
US10048672B2 (en) 2018-08-14
CN107894787A (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
JP6396364B2 (ja) モータ制御装置、モータ制御方法及びモータ制御プログラム
JP6396360B2 (ja) モータ制御装置、モータ制御方法及びモータ制御プログラム
JP5689704B2 (ja) モータ制御装置およびモータ制御方法
JP2018060328A (ja) モータ制御装置、モータ制御方法、及びモータ制御プログラム
TWI430062B (zh) 馬達控制裝置
JP3687958B2 (ja) 位置制御装置および位置制御方法
JP6125046B2 (ja) ロール間搬送制御装置
WO2011145476A1 (ja) モータ制御装置
JP5788560B1 (ja) 回転方向反転時に補正処理を行うモータ制御装置
US7477033B2 (en) Rotation drive system having a speed reduction device with elastic bodies
JP5385013B2 (ja) テンション装置
JP2008090692A (ja) アクチュエータの位置変動抑制方法
JP4838817B2 (ja) ロストモーション解消制御装置
JP2011186668A (ja) 制御方法及び制御装置
JP7532207B2 (ja) モータ制御装置及びモータの制御方法
JP3226413B2 (ja) 数値制御装置
JP4409115B2 (ja) 位置制御装置および位置制御方法
JP6992443B2 (ja) 駆動装置、制御方法およびプログラム
US20180157237A1 (en) Servo motor controller, servo motor control method, and non-transitory computer-readable medium storing computer program
JP7381270B2 (ja) サーボモータの制御装置
JP7528860B2 (ja) キー摩耗検出装置
JP5223470B2 (ja) 電動機の制御装置
JP2007171512A (ja) 画像形成装置に用いられる駆動装置
JP2004027476A (ja) 経糸準備機械の張力付与方法およびその装置
JP5057025B2 (ja) ステッピングモータ制御装置およびステッピングモータ制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190328

R150 Certificate of patent or registration of utility model

Ref document number: 6506232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150