JP2018092357A - サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム - Google Patents

サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム Download PDF

Info

Publication number
JP2018092357A
JP2018092357A JP2016235018A JP2016235018A JP2018092357A JP 2018092357 A JP2018092357 A JP 2018092357A JP 2016235018 A JP2016235018 A JP 2016235018A JP 2016235018 A JP2016235018 A JP 2016235018A JP 2018092357 A JP2018092357 A JP 2018092357A
Authority
JP
Japan
Prior art keywords
servo motor
correction amount
acceleration
stop
speed
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.)
Pending
Application number
JP2016235018A
Other languages
English (en)
Inventor
聡史 猪飼
Satoshi Igai
聡史 猪飼
裕樹 熊本
Yuki Kumamoto
裕樹 熊本
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 JP2016235018A priority Critical patent/JP2018092357A/ja
Priority to CN201711237586.3A priority patent/CN108153236A/zh
Priority to DE102017221562.3A priority patent/DE102017221562A1/de
Priority to US15/829,035 priority patent/US20180157237A1/en
Publication of JP2018092357A publication Critical patent/JP2018092357A/ja
Pending legal-status Critical Current

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
    • 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
    • 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
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/20Controlling the acceleration or deceleration
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/06Arrangements for speed regulation of a single motor wherein the motor speed is measured and compared with a given physical value so as to adjust the motor speed
    • 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
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/30Arrangements for controlling the direction of rotation
    • 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/416Numerical 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 of velocity, acceleration or deceleration
    • 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/41001Servo problems
    • 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/41084Compensation speed axis with changing, reversing direction, quadrant circle
    • 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/41155During reversing, inversing rotation, movement
    • 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/41157Compensation as function of speed and acceleration
    • 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/45Nc applications
    • G05B2219/45136Turning, lathe

Landscapes

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

Abstract

【課題】サーボモータが反転等する場合でも、サーボモータに対して適正な補正量を算出することができ、より精密な加工が可能なサーボモータの制御装置を提供すること。【解決手段】サーボモータの位置又は速度の指令を作成する指令作成部と、サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定部と、サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定した場合、その判定結果に基づき、サーボモータの加速度を求める加速度計算部と、サーボモータの遅れを補正するための補正量を計算する補正量計算部と、を備えるサーボモータ制御装置であり、加速度計算部は、サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、補正量計算部は、サーボモータが「反転」、又は「停止からの移動」をした後も、加速度計算部が求めた加速度に応じて、前記補正量を計算する。【選択図】図1

Description

本発明は、工作機械の軸を駆動するサーボモータの制御装置に関する。特に、サーボモータの動作の指令からの遅れを補償するための補正量を、より適正に求めることができるサーボモータ制御装置及びサーボモータ制御方法並びにコンピュータプログラムに関する。
サーボモータで軸を動かす工作機械において、軸の移動方向の反転、すなわち、その軸を駆動しているサーボモータの回転方向の反転時には、摩擦の大きさが変化する。つまり、「動摩擦→静摩擦(動摩擦より大きい)→動摩擦」と、摩擦の大きさが順次変化していくため、サーボモータ(及びその制御装置)が常に同じ応答性であれば摩擦の大きい静摩擦領域で遅れが生じるという問題がある。
同様に軸が停止してから、その停止状態から再び移動させるときも「静摩擦(動摩擦より大きい)→動摩擦」と、摩擦の大きさが変化するため、サーボモータ等が常に同様の応答性であれば、摩擦の大きい静摩擦領域で遅れが生じるという問題がある。
このような遅れを補償するために、反転時、又は、静止状態からの移動開始時に所定の補正量を計算し、サーボモータの速度指令、又は、速度制御ループの積分器へ加算するような補正を行う技術が知られている。
ここで、その補正量としては、所定のパラメータで設定された固定値や、固定値に反転時の加速度又は移動直後の加速度等が補正量として利用されている。又は、それらの加速度の平方根の値に応じたオーバライド値をその補正量に乗算した値等が利用されている。
この補正量の好ましい値は、例えば円弧波形によって決めることができる。円弧波形の例を図3及び図4に示す。円弧波形は、被加工物を円弧状の軌跡に沿って切削加工する場合の制御加工誤差を示す図である。すなわち、円弧波形は、被加工物側又は切削工具側を、2個の軸を用いて円環状に移動させることによって被加工物に円弧状の切削加工を行った場合の加工誤差を示している。ここでは、被加工物が固定され、切削工具が円弧状に移動するものとして説明をする。
図3及び図4においては、例えば切削工具は、X軸を駆動する第1のサーボモータ及びY軸を駆動する第2のサーボモータにより図示の回転方向に回転する。図3及び図4における実線は、被加工物の加工プログラムに応じて定まる切削工具に対する位置、すなわち位置指令であり、破線は切削工具の実際の位置を示す。
例えば、図3の第III象限においては、切削工具が−(マイナス)X軸方向及び+(プラス)Y軸方向に移動するように第1のサーボモータ及び第2のサーボモータがそれぞれ回転し、軸を移動させる。そして、切削工具が第III象限から第II象限に移行するときには、第2のサーボモータは同様に駆動されつつ、第1のサーボモータは、切削工具が+(プラス)X軸方向に移動するように反転される。
このとき、第1のサーボモータは回転方向が反転するので、その途中で瞬間的に回転が停止することになる。したがって、第1のサーボモータの出力軸は、動摩擦状態から静止摩擦状態を経て再び動摩擦状態に移行する。このように第1のサーボモータの回転が反転する際には、摩擦係数の大きい静止摩擦状態を経ると共に第1のサーボモータの伝達系におけるバックラッシの影響を受けるので、第1のサーボモータの動作に応答遅れが生じることになる。従って、そのような反転時の応答遅れが図3に示されるように象限突起Pとして実測値に出現する。それゆえ、被加工物を円弧に沿って切削加工する場合には、象限突起Pに対応する切削箇所において、被加工物上に(象限突起Pに対応する)突起が残る等の問題が発生する。
このように、円弧波形では、象限の切り替わる4箇所でいずれかのサーボモータが反転するので、半径方向の誤差が大きくなる傾向にある。拡大してみた場合、この誤差は半径方向の突起として観測できるので、これを象限突起Pと呼ぶ。
したがって、円弧波形を用いる場合は、この象限突起Pが小さくなるように補正量を決めることができる。このようにして、好ましい補正量を算出することができる。円弧波形は加速度が常に一定であるため、この好ましい補正量は、一定の加速度で反転するような動作を実行する場合に適した補正量と言える。このように調整を行って求めた補正量を適用すれば、図4に示すように象限突起をほぼなくすこともできる。
例えば、特許文献1においては、被加工物を円弧に沿って切削加工する場合に、モータの反転時には、速度制御部を構成する積分要素を所定の関数に基づいて反転させ、その出力値を電流指令値に加える等の補正処理が行われている。あるいは、加工ツール等の加速度が一定である場合には、加速度に応じたオーバライドを所定値に乗算した値又は所定値自体をサーボモータの速度指令に加算して、速度指令を補正することも行われている。このような補正を行うことにより、反転時におけるバックラッシ等の影響を少なくできるので、象限突起Pに対応する箇所における加工不良を少なくすることができるとされている。
また、例えば、特許文献2においては、サーボモータの反転前後の加速度が変化する場合に、反転前か反転後のいずれか一方の加速度のみを用いて補正量を算出する技術が開示されている。
国際公開第WO90/12448号公報 特許第4620148号公報
被加工物を円弧の軌跡で加工を行う加工プログラムの場合は、上記で説明した方法で調整された補正量で加工を行うことが好ましく、突起をなくすこともできる。ところが、通常の加工処理においては、形状の指令が各軸の指令に分配された後に、動作の実行に際して、軸毎に所定の時定数がかかる。そのため、加工の軌跡が直線から円弧に変化していく場合や、加工の軌跡が円弧から直線に変化していく場合に、サーボモータの回転が反転した後の加速度が一定ではない場合がある。また、同様に、加工の軌跡が直線から円弧に変化していく場合や、逆に円弧から直線に変化していく場合に、各軸の移動動作が開始してからのその加速度が一定ではない場合もある。
また、加工の軌跡が微小線分の集合で作成された加工プログラムでは、サーボモータの回転が反転した後の加速度が一定ではない場合が多い。また、同様に、加工の軌跡が微小線分の集合で作成された加工プログラムでは、各軸の動作が停止状態から移動動作を開始した後の加速度が一定ではない場合が多く存在する。このような場合には、従来は、反転前後、又は、移動開始後の加速度、が一定であることを前提として調整された補正量をそのまま適用している。つまり、反転の際に加速度は変化するが、反転後は加速度は一定である、又は、反転する前までの加速度も一定であるという前提のもと、いずれか一方の加速度のみを用いて補正量を算出している。このような手法を採用する場合は、次のような問題が生じる。
すなわち、加速度が大きく変化するような状況下では、その反転した後でも加速度は変化しうるし、また、反転に至る途中でも加速度は変化する可能性がある。そのため、その各時点において本来必要な(本来適正な)補正量も(反転の時だけでなく)時々刻々と変化してしまうので、あるときは補正量が過剰になって加工面に不要な傷を付けたり、またあるときは補正量が不足してしまい被加工物の表面に加工不足で隆起した部分が残ってしまうという問題がある。
本発明は、かかる課題に鑑みなされたものであり、サーボモータが反転等する場合であって、反転した後に加速度が変化する場合であっても、サーボモータに対して適正な補正量を算出することができ、以て、より精密な加工をすることが可能なサーボモータの制御装置を提供することを目的とする。
上記目的を達成するため本発明は、サーボモータの回転が反転した後、又は、停止からの移動の後も、加速度を監視し、その加速度に対応して補正量を変更するサーボモータ制御装置を提供する。より具体的には、以下の通りである。
(1)本発明に係るサーボモータ制御装置(例えば、後述するサーボモータ制御装置100)は、サーボモータ(例えば、後述するサーボモータ200)を制御するサーボモータ制御装置であって、所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成部(例えば、後述する速度指令作成部102、位置指令作成部102b)と、所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定部(例えば、後述する反転検出部104)と、前記判定部が、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算部(例えば、後述する加速度計算部106)と、前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算部(例えば、後述する反転補正量計算部108)と、を具備し、前記加速度計算部は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、前記補正量計算部は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、所定時間ごとに、前記加速度計算部が求めた加速度に応じて、前記補正量を計算する。
(2)前記補正量計算部は、前記補正量にオーバライドをかけ、オーバライドされた補正量を計算してよい。
(3)前記判定部が、前記サーボモータが「停止からの移動」をしていると判定した場合、前記補正量計算部は、前記補正量に1未満の係数を乗算することによって、オーバライドされた前記補正量を計算してよい。
(4)本発明に係るサーボモータ制御方法は、サーボモータを制御する制御方法であって、所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成工程と、所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定工程と、前記判定工程において、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算工程と、前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算工程と、を含み、前記加速度計算工程は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、前記補正量計算工程は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、所定時間ごとに、前記加速度計算工程で求めた加速度に応じて、前記補正量を計算する。
(5)本発明に係るコンピュータプログラムは、コンピュータを、(1)記載のサーボモータ制御装置として動作させるコンピュータプログラムであって、前記コンピュータに、所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成手順と、所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定手順と、前記判定工程において、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算手順と、前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算手順と、を実行させ、前記加速度計算手順は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、前記補正量計算手順は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、所定時間ごとに、前記加速度計算部が求めた加速度に応じて、前記補正量を計算する。
本発明によれば、サーボモータが反転等する場合でもより適正な補正量を計算し、サーボモータに対する指令に加えたので、サーボモータをより精密に制御することができる。
本発明の実施形態に係るサーボモータ制御装置の構成ブロック図である。 本発明の実施形態に係るサーボモータ制御装置の動作を表すグラフである。 円弧波形の説明図である。 円弧波形の説明図である。
以下、本発明の実施形態の一例について説明する。
本実施形態においては、工作機械のサーボモータ制御装置100を説明する。このサーボモータ制御装置100の構成ブロック図が図1に示されている。サーボモータ制御装置100は、従来の工作機械のサーボモータ制御装置と同様に、サーボモータ200への速度指令Cvを作成し、その速度指令Cvに基づいてサーボモータ200を駆動するサーボモータ制御装置100である。
したがって、従来の工作機械において用いられるサーボモータ制御装置を、本実施形態のサーボモータ制御装置100に容易に置き換えることができる。言い換えれば、本実施形態において特徴的な構成は、サーボモータ制御装置100であり、それ以外の構成は従来の工作機械の構成と同様である。
図1に示すように、サーボモータ制御装置100は、速度指令作成部102と、反転検出部104と、加速度計算部106と、反転補正量計算部108と、第1の加算器110と、第2の加算器112と、速度制御ループ116と、を備えている。速度制御ループ116が出力する電流指令Iはサーボモータ200に供給され、サーボモータを駆動制御する。サーボモータ200には、その回転速度を検出する速度検出部114が備えられており、速度検出部114は、検出した検出速度Dvをサーボモータ制御装置100に供給する。
なお、図1においては、本実施形態において特徴的な構成と、制御対象であるサーボモータ200とその関連装置のみを示しており、他の一般的な構成や従来からある構成は省略して示していない。またそれらの一般的な構成等の動作等は、従来から知られているので説明を省略する。
また、サーボモータ制御装置100は、コンピュータを含む各種電子回路で構成することが好ましい。サーボモータ制御装置100を構成する各部も、それら各部の機能を実現するハードウェアで構成することもできるし、また、各部の機能を実現するプログラムと、そのプログラムを実行するCPUとから構成することもできる。また、ハードウェアとそれらを制御するプログラムとから構成することもできる。
速度指令作成部102は、サーボモータ200に対する速度指令Cvを作成する。この速度指令Cvは、いわゆる加工プログラムに基づいて作成され、所定の周期毎に速度指令Cvを作成してもよい。
例えば、速度指令作成部102は、加工プログラムに基づき、被加工物に対する切削工具を駆動するサーボモータ200に対する速度指令Cvを周期的に作成することができる。このような処理を実現するためには、加工プログラムを読み取り、周期的にそのプログラムに沿った速度指令Cvを求めるプログラムと、そのプログラムを実行するCPUとから、速度指令作成部102を構成することが好適である。
なお、本実施形態では、指令として速度指令を説明するが、他の指令であってもよい。例えば、位置指令でもよい。
反転検出部104は、速度指令作成部21によって作成された速度指令Cvの符号の変化に基づいてサーボモータ200の回転の反転を検出する。なお、反転検出部104は、サーボモータ200に設けられている速度検出部114が得た実際のサーボモータ200の検出速度Dvに基づいて反転を検出してもよい。
この反転検出部104は、その動作を記述するプログラムと、そのプログラムを実行するCPUとから構成してもよい。
加速度計算部106は、速度指令作成部102が作成した速度指令Cvに基づいてサーボモータ200の加速度Caを計算する。この計算は、速度指令作成部102と同様に周期的に計算してもよい。この加速度計算部106が計算した加速度Caは、反転補正量計算部108に供給される。
本実施形態において特徴的なことは、サーボモータが反転した後もサーボモータ200の加速度を監視し、加速度に基づいて補正量を求めることである。これによって、より精密なサーボモータ200の制御を行うことができる。
なお、本実施形態では、加速度計算部106は、速度指令作成部102が作成した速度指令Cvに基づいて加速度Caを計算しているが、実際に検出された検出速度Dvから加速度を計算してもよい。検出速度Dvは、後述するように、速度検出部114によって検出される。
加速度計算部106は、例えば、速度を微分して加速度を計算する動作を記述したプログラムと、そのプログラムを実行するCPUとから構成してもよい。
反転補正量計算部108は、サーボモータ200が反転した場合の反転補正量A0を計算する。この反転補正量A0は、サーボモータ200に対する指令(例えば速度指令Cv)に加える補正量であり、サーボモータ200の遅れを補正する補正量である。
サーボモータ200が反転したときは、バックラッシュの影響によってサーボモータ200の回転に遅れが生じる。そのような遅れを補正するために、反転補正量計算部108は、サーボモータ200に対して反転補正量A0を計算する。この反転補正量A0は、例えば各種パラメータから得られる固定値、又は、その固定値にサーボモータ200の加速度によるオーバライドを乗算した値を用いてもよい。さらに、反転補正量計算部108は、加速度計算部106が計算する加速度に基づき反転補正量A0を計算している。
本実施形態において特徴的なことは、反転補正量計算部108が、サーボモータ200が反転後も加速度を監視している(求めている)ことである。そして、この監視し続けている(求めて続けている)加速度に基づいて反転補正量A0を計算していることが、本実施形態において特に特徴的な事項である。
これによって、反転した後で加速度が変化した場合であっても、その変化後の加速度に基づいてより適切な反転補正量A0を計算することができる。
その結果、反転の前後で加速度が一定であることを前提として補正量を算出する従来の手法に比べて、より精密に反転補正量A0を計算することができ、以て、より精密なサーボモータの制御を行うことができる。
反転補正量計算部108は、例えば、その計算動作を記述するプログラムと、そのプログラムを実行するCPUとから構成してよい。
第1の加算器110は、反転補正量計算部108が計算した反転補正量A0を速度指令Cvに加算し、補正された速度指令ACvを算出する。これによって、サーボモータ200が反転した際の応答遅れを補正することができる。
速度検出部114は、サーボモータ200に備えられており、サーボモータ200の回転速度を検出する装置である。例えば、サーボモータ200の回転軸に取り付けられているエンコーダ等で構成することが好適である。速度検出部114は、サーボモータ200の回転速度を検出し、検出速度Dvをサーボモータ制御装置100に供給する。
エンコーダで速度検出部114を構成する場合は、当該エンコーダが出力する信号を例えばディジタル信号に変換するコンバータを備えさせることが好適であるが、エンコーダ自体が回転速度を表すディジタル信号を出力させてもよい。
第2の加算器112は、第1の加算器110において得られた補正後の速度指令ACvから、検出速度Dvを減算し、最終的な速度偏差dVを求める。求めた速度偏差dVは、速度制御ループ116に供給される。第2の加算器112は、サーボモータ200に対して速度のフィードバック制御を行うための加算器であり、より正確な速度でサーボモータ200を回転させる。
第1の加算器110や、第2の加算器112は、例えば、ディジタル信号を加算するディジタル加算器(ハードウェア)で構成してもよいし、加算処理を実行するプログラムと、このプログラムを実行するCPUとから構成してもよい。
速度制御ループ116は、速度偏差dVに基づき、電流指令Iを作成する。そして、速度制御ループ116は、電流指令Iに基づいてサーボモータ200を駆動制御する。
具体的には、速度制御ループ116は、速度偏差dVに速度制御ループ比例ゲインを乗算し、速度制御ループ比例項を算出する。さらに、速度制御ループ116は、速度偏差dVの積分値に速度制御ループ積分ゲインを乗算することによって速度制御ループ積分項を算出する。そして、これら速度制御ループ比例項と速度制御ループ積分項との和に基づき、サーボモータ200に対する電流指令Iが作成される。
速度制御ループ116は、電流指令Iに基づく電流をサーボモータ200に供給し、サーボモータ200を速度指令Cvに従った回転速度で駆動する。すなわち、速度制御ループ116は、典型的には、速度偏差dVに基づき、電流指令Iを計算するプログラムと、そのプログラムを実行するCPUと、から構成される。さらに、速度制御ループ116は、電流指令Iに基づく電流をサーボモータ200に供給する電力制御素子を備えた電力回路(アンプ回路、ドライバー回路等と呼ばれる)を備えている。
サーボモータ200は、工作機械に従来から用いられているサーボモータである。このサーボモータ200には、速度検出部114が備えられており、サーボモータ200の速度を検出することができる。
速度検出部114は、サーボモータ200の回転速度を検出できればどのような部材で構成してもよいが、例えば回転エンコーダを用いてよい。速度検出部114が検出した回転速度は、検出速度Dvと呼ばれ、サーボモータ制御装置100に供給され、フィードバック制御に利用される。具体的に言えば、図1に示すように、第2の加算器112において、補正された速度指令ACvから検出速度Dvが減算されることによって、速度偏差dVを求めている。そして、この速度偏差dVを小さくするように速度制御ループがフィードバック制御することによって、サーボモータ200をより精密な速度で回転駆動することができる。
このような構成によって、サーボモータ200が反転した後、その加速度が変化する場合でもその加速度に応じた反転補正量A0を計算することができる。したがって、サーボモータ200をより精密に制御駆動することができる。
以下、本実施形態に係るサーボモータ制御装置100の動作を説明する。下記の説明においては、特に、サーボモータ200に対して速度制御を行う場合の動作の説明を行う。
速度制御においては、図1の構成に示すように、速度指令値Cvと検出速度Dvとの差である速度偏差dVが速度制御ループ116へ入力される。速度制御ループ116は、速度偏差dVに基づき電流指令Iが作成され、この電流指令Iに基づきサーボモータ200が駆動される。
速度制御ループ116は、例えば上述したように、速度偏差dVに速度制御ループ比例ゲインを乗ずることによって速度制御ループ比例項を求め、速度偏差dVの積分に速度制御ループ積分ゲインを乗ずることによって速度制御ループ積分項を求める。そして両者の和に基づき電流指令Iが作成される。
ここで、本実施形態においては、反転検出部104が、サーボモータ200の「反転」又は「停止からの移動」を判定する。反転検出部104が、サーボモータ200がこの「反転」又は「停止からの移動」をしていると判定したとき、反転補正量計算部108は、その反転補正量A0を計算し、速度指令Cvに係る反転補正量A0を加算することによって、サーボモータ200の応答遅れを補正することができる。
なお、本実施形態では、反転補正量A0を、速度指令Cvに加算しているが、速度制御ループ116において求めている速度偏差dVの積分値に加算することも好適であり、同様の作用効果を奏する。例えば、速度制御ループ116が速度偏差dVの積分値を求める積分回路を備えている場合は、その積分回路の出力信号に反転補正量A0を加算する加算器を挿入することも好適である。
サーボモータ制御装置100は、例えばコンピュータを含む電子回路で構成することが好適である。以下、フローチャートに基づき、コンピュータを含む電子回路で構成した場合のサーボモータ制御装置100の具体的な動作について説明する。
図2には、サーボモータ制御装置100の動作を表すフローチャートが示されている。
工程S2−1においては、速度指令作成部102が、サーボモータ200に対する速度指令Cvを、所定の周期毎に作成する。この工程S2−1は、請求の範囲の指令作成工程の好適な一例に相当する。
工程S2−2においては、反転検出部104が、速度指令作成部102によって作成された速度指令Cvの符号の変化に基づいてサーボモータ200の回転の反転を検出し、サーボモータ200が反転してからの時間が所定時間以内であれば、工程S2−3に移行する。サーボモータ200が反転してからの時間が所定時間を超えていれば、工程S2−4bに移行する。ここで、所定時間とは、予めパラメータ等で設定された時間である。なお、サーボモータ200に設けられている速度検出部114(エンコーダ)から得られた実際のサーボモータ200の検出速度Dvに基づいて反転を検出してもよい。この工程S2−2は、請求の範囲の判定工程の好適な一例に相当する。
工程S2−3においては、加速度計算部106が、速度指令作成部102が作成した速度指令Cvに基づいてサーボモータの加速度Caを、所定の周期毎に計算する。なお、実際に検出された速度Dvから加速度を計算してもよい。
本実施形態において特徴的なことは、本工程S2−3における加速度の計算が、反転した後も引き続き、続行されていることである。これによって、反転後に、加速度が変化するような加工処理が行われる場合であっても、その時の加速度に応じた補正量を計算することができる。
なお、工程S2−3における加速度の計算は、反転が検出されてから実行するように構成してもよい。また、工程S2−3における加速度の計算は、反転が検出される前から(反転前から)実行し続けているように構成してもよい。本文では、図2のフローチャートに示すように、反転が検出されてから実行する場合の動作を中心に説明する。
工程S2−3は、請求の範囲の加速度計算工程の好適な一例に相当する。
工程S2−4においては、反転補正量計算部108が、サーボモータ200が反転した場合の反転補正量A0を計算する。この反転補正量A0の計算は、上述した反転補正量計算部108の動作説明と同様である。
本実施形態において特徴的なことは、加速度計算部106が、サーボモータ200の反転後に加速度を求め続けていることに基づき、反転補正量計算部108が求めている加速度に基づいて反転補正量A0を引き続き計算し続けていることである。
これによって、反転した後で加速度が変化した場合であっても、その変化後の加速度に基づいてより適切な反転補正量A0を計算することができる。
なお、工程S2−4は、請求の範囲の補正量計算工程の好適な一例に相当する。
一方、工程S2−4bでは、反転補正量計算部108は、反転補正量A0として0を出力する。これは、サーボモータ200が反転していないので、反転に基づく補正を行わないためである。
工程S2−5においては、第1の加算器110が、速度指令Cvに補正量A0を加算し、補正された速度指令AC0を得る。したがって、サーボモータ200が反転している場合は、その補正がなされる。一方、サーボモータ200が反転していない場合は補正量として0が加算されるので、実質的に補正はなされない。
工程S2−6においては、第2の加算器112が、補正された速度指令ACvから速度検出部114が検出したサーボモータ200の実際の速度である検出速度Dvを減算し、いわゆる速度偏差dVを求める。
工程S2−7においては、速度制御ループ116によって、上記速度偏差dVに基づきサーボモータ200に対する電流指令Iが求められる。また、速度制御ループ116は、この電流指令Iに基づき、サーボモータ200に所定の電流が供給され、サーボモータを制御駆動する。
以上述べたように、本実施形態によれば、サーボモータ200が反転した場合に、その加速度を求め、求めた加速度に基づき、速度指令Cvに対する補正量を算出している。したがって、サーボモータ200が反転した後で加速度が変化した場合でもサーボモータ200をより精密に制御することができる。
なお、本実施形態で説明している種々のプログラムは、請求の範囲のコンピュータプログラムの好適な一例に相当する。
以上、本発明の実施形態について詳細に説明したが、前述した実施形態は、本発明を実施するにあたっての具体例を示したに過ぎない。本発明の技術的範囲は、前記実施形態に限定されるものではない。本発明は、その趣旨を逸脱しない範囲において種々の変更が可能であり、それらも本発明の技術的範囲に含まれる。
上述した例では、主としてサーボモータ200が「反転」した場合を例として説明したが、サーボモータ200が停止状態から移動を開始した場合(これを「停止からの移動」と呼ぶ)も、反転の場合と同様の処理を行ってよい。これまで述べた「反転」を、「停止からの移動」と読み替えることができ、この「停止からの移動」の場合も上述した説明と同様に、より精密なサーボモータ200の制御を行うことが可能である。
すなわち、反転検出部104は、サーボモータ200の「反転」、又は「停止からの移動」のいずれかを検出してよい。いずれか一方のみを検出してもよいし、両方を検出するように構成してもよい。
そして、反転検出部104が「反転」又は「停止からの移動」を検出した場合は、反転補正量計算部108は、上述した処理と同様の処理で反転補正量A0を計算してよい。
ただし、反転補正量計算部108は、「停止からの移動」の場合は、サーボモータ200の加速度に1未満のオーバライドを乗算することが好ましい。
反転検出部104が「停止からの移動」を検出した場合でも、加速度計算部106、第1の加算器110、第2の加算器112、速度検出部114、速度制御ループ116は、上で説明した「反転」の場合と同様の動作を実行する。
また、上述した例では、主として速度制御を例としてサーボモータ制御装置100を説明したが、他の制御方法を利用してもよい。例えば位置制御や加速度制御等を行う場合も、同様の手法で補正量を計算し、サーボモータの位置等の制御を行うことが可能である。
例えば、位置制御の場合は、速度指令作成部102に代えて、位置指令作成部102bを用いればよい。位置指令作成部102bは、速度指令作成部102と同様に、加工プログラムに基づいて、サーボモータ200に対する位置指令を作成する。位置指令作成部102bも、速度指令作成部102と同様に、その動作を実現するプログラムと、そのプログラムを実行するCPUと、から構成することができる。
100 サーボモータ制御装置
102 速度指令作成部
104 反転検出部
106 加速度計算部
108 反転補正量計算部
110 第1の加算器
112 第2の加算器
114 速度検出部
116 速度制御ループ
A0 反転補正量
ACv 補正後の速度指令
Ca 加速度
Cv 速度指令
Dv 検出速度
dV 速度偏差
I 電流指令
P 象限突起

Claims (5)

  1. サーボモータを制御するサーボモータ制御装置であって、
    所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成部と、
    所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定部と、
    前記判定部が、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算部と、
    前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算部と、を備え、
    前記加速度計算部は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、
    前記補正量計算部は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、所定時間ごとに、前記加速度計算部が求めた加速度に応じて、前記補正量を計算するサーボモータ制御装置。
  2. 前記補正量計算部は、前記補正量にオーバライドをかけ、オーバライドされた補正量を計算する請求項1に記載のサーボモータ制御装置。
  3. 前記判定部が、前記サーボモータが「停止からの移動」をしていると判定した場合、前記補正量計算部は、前記補正量に1未満の係数を乗算することによって、オーバライドされた前記補正量を計算する請求項2に記載のサーボモータ制御装置。
  4. サーボモータを制御する制御方法であって、
    所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成工程と、
    所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定工程と、
    前記判定工程において、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算工程と、
    前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算工程と、を含み、
    前記加速度計算工程は、前記サーボモータが「反転」、又は「停止からの移動」をした後も引き続き、加速度を求め、
    前記補正量計算工程は、前記サーボモータが「反転」、又は「停止からの移動」をした後も引き続き、所定時間ごとに、前記加速度計算工程で求めた加速度に応じて、前記補正量を計算するサーボモータ制御方法。
  5. コンピュータを、請求項1記載のサーボモータ制御装置として動作させるコンピュータプログラムであって、前記コンピュータに、
    所定周期毎に、前記サーボモータの位置又は速度の指令を作成する指令作成手順と、
    所定周期毎に、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているかを判定する判定手順と、
    前記判定手順において、前記サーボモータが「反転」しているか、又は「停止からの移動」をしているか、のいずれかを判定した場合、前記判定の結果に基づき、前記サーボモータの加速度を求める加速度計算手順と、
    前記サーボモータが「反転」しているか、又は「停止からの移動」をしている場合、前記サーボモータの遅れを補正するための補正量を計算する補正量計算手順と、を実行させ、
    前記加速度計算手順は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、加速度を求め、
    前記補正量計算手順は、前記サーボモータが「反転」、又は「停止からの移動」をした後も、所定時間ごとに、前記加速度計算部が求めた加速度に応じて、前記補正量を計算するコンピュータプログラム。
JP2016235018A 2016-12-02 2016-12-02 サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム Pending JP2018092357A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016235018A JP2018092357A (ja) 2016-12-02 2016-12-02 サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム
CN201711237586.3A CN108153236A (zh) 2016-12-02 2017-11-30 伺服电动机控制装置、控制方法以及计算机可读介质
DE102017221562.3A DE102017221562A1 (de) 2016-12-02 2017-11-30 Steuereinrichtung für einen Servomotor, Verfahren zum Steuern eines Servomotors und Computerprogramm
US15/829,035 US20180157237A1 (en) 2016-12-02 2017-12-01 Servo motor controller, servo motor control method, and non-transitory computer-readable medium storing computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016235018A JP2018092357A (ja) 2016-12-02 2016-12-02 サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2018092357A true JP2018092357A (ja) 2018-06-14

Family

ID=62164333

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016235018A Pending JP2018092357A (ja) 2016-12-02 2016-12-02 サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US20180157237A1 (ja)
JP (1) JP2018092357A (ja)
CN (1) CN108153236A (ja)
DE (1) DE102017221562A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020008751A1 (ja) * 2018-07-02 2020-01-09 パナソニックIpマネジメント株式会社 ロボット制御方法及びロボット制御装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990012448A1 (en) * 1989-04-10 1990-10-18 Kabushiki Kaisha Yaskawa Denki Seisakusho Device for controlling servo motor
JPH0580824A (ja) * 1991-09-24 1993-04-02 Mitsubishi Electric Corp サーボモータの制御装置
JP2007058278A (ja) * 2005-08-22 2007-03-08 Okuma Corp ロストモーション補正機能を有する位置制御装置
JP2010098822A (ja) * 2008-10-15 2010-04-30 Fanuc Ltd サーボモータ制御装置
WO2014141515A1 (ja) * 2013-03-14 2014-09-18 三菱電機株式会社 サーボ制御装置
JP2014191520A (ja) * 2013-03-27 2014-10-06 Brother Ind Ltd 数値制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1990012448A1 (en) * 1989-04-10 1990-10-18 Kabushiki Kaisha Yaskawa Denki Seisakusho Device for controlling servo motor
JPH0580824A (ja) * 1991-09-24 1993-04-02 Mitsubishi Electric Corp サーボモータの制御装置
JP2007058278A (ja) * 2005-08-22 2007-03-08 Okuma Corp ロストモーション補正機能を有する位置制御装置
JP2010098822A (ja) * 2008-10-15 2010-04-30 Fanuc Ltd サーボモータ制御装置
WO2014141515A1 (ja) * 2013-03-14 2014-09-18 三菱電機株式会社 サーボ制御装置
JP2014191520A (ja) * 2013-03-27 2014-10-06 Brother Ind Ltd 数値制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020008751A1 (ja) * 2018-07-02 2020-01-09 パナソニックIpマネジメント株式会社 ロボット制御方法及びロボット制御装置
JPWO2020008751A1 (ja) * 2018-07-02 2021-07-08 パナソニックIpマネジメント株式会社 ロボット制御方法及びロボット制御装置

Also Published As

Publication number Publication date
CN108153236A (zh) 2018-06-12
US20180157237A1 (en) 2018-06-07
DE102017221562A1 (de) 2018-06-07

Similar Documents

Publication Publication Date Title
JP5885883B2 (ja) サーボ制御装置
JP4581096B2 (ja) 摩擦補償方法、摩擦補償器及びモータ制御装置
US6859007B2 (en) Servo motor drive control device
JP5875714B2 (ja) サーボ制御装置およびサーボ制御方法
JP2006158026A (ja) 制御装置
JP3169838B2 (ja) サーボモータの制御方法
JP2011123616A (ja) 高速揺動動作を高精度化するサーボ制御システム
JP2007257515A (ja) サーボモータの制御方法
US9459598B2 (en) Motor control device
JPH0569275A (ja) 数値制御装置
WO2012057231A1 (ja) 送り軸反転時の補正方法
JP4620148B2 (ja) サーボモータ制御装置
JP2015018496A (ja) 摩擦補償装置及び摩擦補償方法並びにサーボ制御装置
US20130106336A1 (en) Motor control apparatus equipped with dead-zone processing unit
JP2011176907A (ja) モータの制御方法及び装置
JP6321605B2 (ja) 曲率と曲率変化量による速度制御を行う数値制御装置
JP2018092319A (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
JP5832382B2 (ja) 数値制御装置
JP2018092357A (ja) サーボモータ制御装置、サーボモータ制御方法及びコンピュータプログラム
JP4506178B2 (ja) 歯車同期加工装置及びその制御方法
JP6043191B2 (ja) モータ速度制御装置
JP2005096061A5 (ja)
JP6316905B1 (ja) サーボモータ制御装置
JP2000267712A (ja) 移動体の移動方向反転検出方法および該方法を用いたサーボ制御方法ならびにサーボ制御装置
JP2007299122A (ja) サーボ制御装置とその調整方法

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180424

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180621

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180904