JP2024001791A - Motor controller and motor control method - Google Patents
Motor controller and motor control method Download PDFInfo
- Publication number
- JP2024001791A JP2024001791A JP2022100676A JP2022100676A JP2024001791A JP 2024001791 A JP2024001791 A JP 2024001791A JP 2022100676 A JP2022100676 A JP 2022100676A JP 2022100676 A JP2022100676 A JP 2022100676A JP 2024001791 A JP2024001791 A JP 2024001791A
- Authority
- JP
- Japan
- Prior art keywords
- command value
- axis current
- axis
- value
- motor
- 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
Links
- 238000000034 method Methods 0.000 title claims description 20
- 230000008929 regeneration Effects 0.000 claims abstract description 110
- 238000011069 regeneration method Methods 0.000 claims abstract description 110
- 230000001133 acceleration Effects 0.000 claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 230000001172 regenerating effect Effects 0.000 claims abstract description 26
- 230000000670 limiting effect Effects 0.000 abstract description 6
- 238000003466 welding Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 14
- 230000003313 weakening effect Effects 0.000 description 13
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 10
- 101100438241 Arabidopsis thaliana CAM5 gene Proteins 0.000 description 9
- 238000004804 winding Methods 0.000 description 8
- 230000010354 integration Effects 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 210000000707 wrist Anatomy 0.000 description 5
- 239000003990 capacitor Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 230000020169 heat generation Effects 0.000 description 2
- 229920006395 saturated elastomer Polymers 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Control Of Ac Motors In General (AREA)
Abstract
Description
本開示は、電流ベクトル制御を用いるモータ制御装置およびモータ制御方法に関する。 The present disclosure relates to a motor control device and a motor control method using current vector control.
特許文献1は、q軸電流指令値およびd軸電流指令値に基づいてモータに印加する電圧の電圧指令値を演算する電圧指令値演算部と、電圧指令値に基づいてモータに駆動電力を出力する駆動回路と、弱め界磁制御により電圧指令値を駆動回路に印加可能な最大電圧以下に制限するd軸電流指令値を演算するd軸電流指令値演算部と、d軸電流指令値演算部が演算したd軸電流指令値を制限するd軸電流指令値制限部と、d軸電流指令値制限部によるd軸電流指令値の制限により電圧指令値が最大電圧を超えないようにq軸電流指令値を制限するq軸電流指令値制限部と、を備える、モータ制御装置を開示している。
特許文献2は、同期モータを流れる電流をdq軸変換した値に基づいて同期モータに流すべき電流を決定して同期モータを制御する同期モータの制御方法を開示している。この制御方法は、同期モータの端子間電圧が予め定められる最大許容電圧に達するまでは同期モータの出力トルクを示すトルク指令値に応じて、同期モータのq軸電流を示すq軸電流指令値を決定し、同期モータのd軸電流を示すd軸電流指令値をゼロとする。また、この制御方法は、同期モータの端子間電圧が予め定められる最大許容電圧に達した場合にはトルク指令値に応じてq軸電流値を決定するとともに、同期モータの回転速度とトルク指令値とに基づいてd軸電流指令値を決定する。
本開示は、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法を提供することを目的とする。 An object of the present disclosure is to provide a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors.
本開示は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算する各軸電流演算部と、前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部と、前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力する駆動回路と、前記速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部と、前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部と、前記力行状態における前記d軸電流指令値の電流制限値である第1電流制限値と、前記回生状態における前記d軸電流指令値の電流制限値である第2電流制限値と、を記憶する電流制限値記憶部と、前記力行状態において前記第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記第2電流制限値以下となる前記d軸電流指令値を出力するd軸電流指令値制限部と、を備え、前記回生判定部は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて、前記力行状態または前記回生状態のいずれかを判定する、モータ制御装置を提供する。 The present disclosure provides an axis current calculation unit that calculates a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside; a voltage command value calculation unit that calculates a plurality of voltage command values, which are voltage values to be applied to each of the plurality of motors, based on the voltage command values; a drive circuit that outputs the respective outputs, an acceleration command value calculation section that calculates an acceleration command value based on the speed command value, and a power running state or a regeneration state based on the speed command value and the acceleration command value. a regeneration determination unit that makes a determination; a first current limit value that is a current limit value of the d-axis current command value in the power running state; and a second current limit value that is a current limit value of the d-axis current command value in the regeneration state. a current limit value storage unit that stores a current limit value, and outputs the d-axis current command value that is equal to or less than the first current limit value in the power running state, and the current command value that is equal to or less than the second current limit value in the regenerative state; a d-axis current command value limiting section that outputs a d-axis current command value, and the regeneration determining section determines whether the motor is in the power running state or the regeneration state based on the state of the motor with the highest load among the plurality of motors. Provided is a motor control device that determines either of the following.
また、本開示は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算するステップと、前記速度指令値に基づいて、加速度指令値を演算するステップと、前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、前記力行状態において前記d軸電流指令値の電流制限値である第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記d軸電流指令値の電流制限値である第2電流制限値以下となる前記d軸電流指令値を出力するステップと、前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有し、前記力行状態または前記回生状態のいずれかの判定は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて実行される、モータ制御方法を提供する。 The present disclosure also includes a step of calculating a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside, and a step of calculating an acceleration command value based on the speed command value. , determining either a power running state or a regeneration state based on the speed command value and the acceleration command value, and a first current limit value that is a current limit value of the d-axis current command value or less in the power running state. outputting the d-axis current command value that is equal to or less than a second current limit value that is a current limit value of the d-axis current command value in the regenerative state; a step of calculating a plurality of voltage command values, which are voltage values to be applied to each of the plurality of motors, based on the axis current command value and the d-axis current command value; outputting a plurality of driving powers to each of the motors, and the determination of either the power running state or the regeneration state is performed based on the state of the motor with the highest load among the plurality of motors. A motor control method is provided.
本開示によれば、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現できる。 According to the present disclosure, in a robot equipped with a plurality of motors, high-speed, high-load operation of each motor can be efficiently realized.
(本開示に至る経緯)
一般に、永久磁石同期方式の電動機(モータ)に流す電流を制御する方法として、モータの電流をトルクに寄与するq軸電流とこのq軸に直交するd軸の成分(d軸電流)とに分離して制御するベクトル制御が用いられる。ベクトル制御を行うベクトル制御部は、外部からの指令を受けて、モータに電力を供給するモータ駆動部への指令電圧を計算する。このようなベクトル制御において、外部からの指令の値が大きくなった場合等、この指令電圧がモータ駆動部の供給可能電圧を上回る現象がある。この現象を電圧飽和という。電圧飽和は、モータの回転速度が大きいほど生じやすい。これは、モータ回転中に生じる誘起電圧が回転速度に比例して上昇し、この上昇を供給電圧で補うためにモータの端子間電圧も同様に上昇するためである。また、負荷が大きい場合あるいは電源電圧が低い場合も、供給電圧の余裕が小さくなるため、電圧飽和が生じやすくなる。
(Circumstances leading to this disclosure)
Generally, as a method of controlling the current flowing in a permanent magnet synchronous motor, the motor current is separated into a q-axis current that contributes to torque and a d-axis component (d-axis current) that is perpendicular to the q-axis. Vector control is used. A vector control unit that performs vector control receives an external command and calculates a command voltage to a motor drive unit that supplies electric power to the motor. In such vector control, there is a phenomenon in which the command voltage exceeds the voltage that can be supplied by the motor drive unit, such as when the value of an external command becomes large. This phenomenon is called voltage saturation. Voltage saturation occurs more easily as the rotational speed of the motor increases. This is because the induced voltage generated during motor rotation increases in proportion to the rotation speed, and in order to compensate for this increase with the supply voltage, the voltage between the terminals of the motor also increases. Furthermore, when the load is large or the power supply voltage is low, the supply voltage margin becomes small, making voltage saturation more likely to occur.
電圧飽和状態になると、力行動作時はq軸電流を増やせなくなり、トルクが低下したり電流制御器の積分項が飽和(ワインドアップ)したりして静特性あるいは動特性が劣化する。また、回生動作時には、力行動作時に比べてモータの負荷が軽くなるため、より少ない電流で駆動することが可能である。回生動作時では電源電圧側にエネルギーが逆流することにより電源回路に搭載されている電解コンデンサの電圧値が通常時に比べて高くなる。電解コンデンサの電圧値は予め定められている許容値を超えてしまうと壊れるため、回生動作時には、電解コンデンサに蓄積された電力の放電あるいはそのエネルギーを別の用途に活用(例えば他の回路部品への電力供給、抵抗での熱消費)することにより、電解コンデンサ(言い換えると、電源回路)の破壊を防ぐようにしている。このため、電圧飽和を抑制する手段として、負のd軸電流を流すことによって永久磁石による磁束を減磁し、誘起電圧の増加を抑制する弱め界磁制御が用いられる。 When the voltage is saturated, the q-axis current cannot be increased during powering operation, the torque decreases, the integral term of the current controller becomes saturated (windup), and the static or dynamic characteristics deteriorate. Furthermore, during regenerative operation, the load on the motor is lighter than during power operation, so it is possible to drive with less current. During regenerative operation, energy flows backward to the power supply voltage side, so that the voltage value of the electrolytic capacitor installed in the power supply circuit becomes higher than in normal times. If the voltage value of an electrolytic capacitor exceeds a predetermined tolerance, it will break, so during regenerative operation, the power stored in the electrolytic capacitor can be discharged or the energy can be used for other purposes (for example, to other circuit components). power supply and heat dissipation in the resistor) to prevent damage to the electrolytic capacitor (in other words, the power supply circuit). Therefore, as a means for suppressing voltage saturation, field weakening control is used to demagnetize the magnetic flux caused by the permanent magnet by flowing a negative d-axis current to suppress an increase in the induced voltage.
特許文献1では、弱め界磁制御によりモータに印加する電圧の電圧指令値を駆動回路に印加可能な最大電圧以下に制限するためのd軸電流指令値の制限によりq軸電流指令値も制限する構成となっている。このため、モータを高速、高負荷に動作させることの実現が困難となるという課題があった。
また、特許文献2では、同期モータの端子間電圧が最大許容電圧に達してモータの回転速度が規定回転速度を超える速度指令値が与えられた場合には、回転速度とトルク指令値とに基づいて、同期モータに流すd軸電流のd軸電流指令値が決定される。このため、同期モータの端子間電圧が最大許容電圧に達するまでの加速中ではd軸電流指令値をゼロとすることで、誘起電圧の増加に拘わらず所望の出力トルクが得られる。しかしながら、加速終了から一定速での動作そして減速期間では、d軸電流指令値がトルク指令値に比例するように演算されるため、d軸電流を流すことによる補償量が低下してしまい、モータを高速、高負荷に動作させることの実現が困難となるという課題があった。
Further, in
そこで、以下の実施の形態では、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法の例を説明する。 Therefore, in the following embodiments, an example of a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors will be described.
以下、適宜図面を参照しながら、本開示に係るモータ制御装置およびモータ制御方法を具体的に開示した実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments specifically disclosing a motor control device and a motor control method according to the present disclosure will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of well-known matters or redundant explanations of substantially the same configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter recited in the claims.
まず、図1を参照して、本実施の形態に係る溶接ロボットシステム1000の構成例について説明する。図1は、本実施の形態に係る溶接ロボットシステム1000のシステム構成例を示す概略図である。図1に示すように、溶接ロボットシステム1000は、マニピュレータMC1と、ロボット制御装置100と、を含む。
First, with reference to FIG. 1, a configuration example of a
図1において、XYZ軸は図1に図示した軸とする。より具体的には、マニピュレータMC1が載置される床面(水平面)と平行に直交する2軸(つまりX軸およびY軸)を定義し、XY平面に垂直な方向(例えばマニピュレータMC1の高さ方向)にZ軸を定義する。マニピュレータMC1の断面が矩形状となる基台部110の長手方向にX軸を定義し、X軸およびZ軸の両方に垂直な方向にY軸を定義する。
In FIG. 1, the XYZ axes are the axes illustrated in FIG. More specifically, two axes (i.e., Define the Z-axis in the direction). The X-axis is defined in the longitudinal direction of the
マニピュレータMC1は、ロボット制御装置100との間でデータあるいは信号の送受信が可能に接続されている。本実施の形態において、マニピュレータMC1は、その一例として、6軸多関節を有するアーク溶接ロボットである。なお、マニピュレータMC1が行う溶接はアーク溶接に限らなくてもよい。マニピュレータMC1は、基台部110と、ベース部120と、第1アーム130と、第2アーム140と、リスト150と、トーチブラケット160と、これらの構成部品のそれぞれの位置および角度を制御する6つのモータMT1(図2参照)と、溶接トーチTCH1と、を少なくとも備える。
The manipulator MC1 is connected to the
基台部110は、床面に固定される。ベース部120は、鉛直方向(Z軸)に延びる旋回軸J1の周りを旋回可能に基台部110に取り付けられている。第1アーム130は、旋回軸J1と直交する略水平方向に延びる旋回軸J2の周りを揺動可能にベース部120に固設される。第2アーム140は、旋回軸J2と平行な方向に延びる旋回軸J3の周りを揺動可能に第1アーム130に固設されている。リスト150は、第2アーム140の長手方向と平行な方向に延びる旋回軸J4の周りを旋回可能に第2アーム140に取り付けられる。トーチブラケット160は、旋回軸J4と直交する方向に延びる旋回軸J5の周りを旋回可能に、かつ旋回軸J5と直交する方向に延びる旋回軸J6の周りを旋回可能にリスト150に固設されている。また、トーチブラケット160の遠位端には溶接トーチTCH1が設けられ、溶接ワイヤ(図示略)が溶接トーチTCH1に挿通され、溶接トーチTCH1の先端部から送給される。ロボット制御装置100は、溶接ワイヤ(図示略)を保持する溶接トーチTCH1を溶接開始位置(始点)に配置し、溶接トーチTCH1から延びる溶接ワイヤ(図示略)を任意の軌跡(溶接線)に沿って移動させるように、基台部110用のモータMT1、ベース部120用のモータMT1、第1アーム130用のモータMT1、第2アーム140用のモータMT1、リスト150用のモータMT1、トーチブラケット160用のモータMT1を制御する。
The
ロボット制御装置100は、マニピュレータMC1との間でデータあるいは信号の送受信が可能に接続されている。ロボット制御装置100は、ティーチペンダント(図示略)により入力された各種の情報に基づいて生成されたマニピュレータMC1の溶接用教示プログラムに従って、溶接中にマニピュレータMC1の駆動を制御する。なお、マニピュレータMC1の溶接用教示プログラムは、溶接トーチTCH1を用いて溶接される各溶接区間に関する情報(例えば、溶接区間の開始点、終了点等)、溶接を実行するための各種動作(例えば、空走、アプローチ、リトラクト、回避等)を実行するための溶接トーチTCH1の位置、距離、角度(姿勢)、動作速度等の情報、溶接条件等の情報等を含んで生成される。
The
また、モータ制御装置の一例としてのロボット制御装置100は、マニピュレータMC1に搭載されている複数のモータMT1(図2参照)の駆動を制御するための動作を実行する。ここで、複数のモータMT1は、基台部110用のモータMT1、ベース部120用のモータMT1、第1アーム130用のモータMT1、第2アーム140用のモータMT1、リスト150用のモータMT1、トーチブラケット160用のモータMT1である。本実施の形態では、ロボット制御装置100は、モータMT1の回転制御を行うために、モータMT1の回転子が保持する永久磁石の磁極位置方向に対応するd軸と、このd軸に直交するq軸とからなるdq軸座標系に基づく電流ベクトル制御を利用する。より具体的には、まず、d軸においては、入力をd軸電流値としてd軸電圧指令を生成するような電流ベクトル制御に基づく電流制御としている。一方、q軸においては、入力を回転速度としてq軸電圧指令を生成するような速度制御に基づく電圧制御としたことを特徴としている。
Furthermore, the
以下、図2以降の図面を参照して、電流ベクトル制御を利用するロボット制御装置100の詳細な構成について説明する。
The detailed configuration of the
次に、図2を参照して、ロボット制御装置100の内部構成について説明する。図2は、1つのモータMT1に対応するロボット制御装置100の1軸分構成例を示すブロック図である。つまり図2では、マニピュレータMC1に搭載されている6つのモータMT1のそれぞれを制御するための1軸分(つまり1つのモータMT1)に対応するロボット制御装置100-1の構成のみを図示している。従って、ロボット制御装置100は、図1に示す6つのモータMT1のそれぞれを制御する場合、図2に示すロボット制御装置100-1の構成を6つ備える。
Next, with reference to FIG. 2, the internal configuration of the
ロボット制御装置100-1は、PWM(Pulse Width Modulation)インバータ回路10と、電流検出部DT1,DT2と、電流ベクトル制御部20と、制御部30と、回転速度算出部40と、を少なくとも含む。ロボット制御装置100-1は、モータMT1を外部からの速度指令および速度FB(Feedback)に従って駆動するため、モータMT1の電流に関して、ロータ磁束方向であるd軸成分とこのd軸に直交するq軸のq軸成分とに分離して制御するベクトル制御を使用する。なお、モータMT1とモータMT1が有するエンコーダEN1とは、ロボット制御装置100-1に含まれない。
The robot control device 100-1 includes at least a PWM (Pulse Width Modulation)
モータMT1は、例えば永久磁石型同期モータ(PMSM:Permanent Magnet Synchronous Motor)等のブラシレスモータであり、シャフトを中心とした回転可能であって永久磁石(図示略)を保持した回転子(ロータ)と、3相分の巻線をステータコアに巻回した3相のコイルを含む固定子(ステータ)とを有する。回転子が固定子に対向するように回転自在に配置されている。モータMT1では、U相、V相、W相のそれぞれの巻線(コイル)にロボット制御装置100-1から互いに120度位相が異なる交流電力が印加されることで、モータMT1の回転子がシャフトを中心に回転動作する。図2では、U相、V相、W相とする3相の交流電力でモータMT1が駆動される構成例を挙げている。 The motor MT1 is, for example, a brushless motor such as a permanent magnet synchronous motor (PMSM), and includes a rotor that can rotate around a shaft and holds a permanent magnet (not shown). , and a stator (stator) including a three-phase coil in which three-phase windings are wound around a stator core. A rotor is rotatably arranged to face the stator. In the motor MT1, alternating current power having phases different by 120 degrees from each other is applied from the robot control device 100-1 to the windings (coils) of the U-phase, V-phase, and W-phase, so that the rotor of the motor MT1 rotates around the shaft. It rotates around the center. FIG. 2 shows a configuration example in which the motor MT1 is driven by three-phase alternating current power including U-phase, V-phase, and W-phase.
エンコーダEN1は、モータMT1に取り付けられている。エンコーダEN1は、モータMT1の回転子(図示略)の回転位置に応じた信号を電流ベクトル制御部20に出力する。このように、エンコーダEN1は、モータMT1の回転子の回転位置を電気角として検出する。なお、回転子の回転位置または回転速度を推定によって検出できる場合には、エンコーダEN1の構成は省略してもよい。また、エンコーダEN1の代わりに、モータMT1の回転位置を検出可能なホール素子が回転子の近辺に配置されても構わない。この場合、ホール素子により検出された位置情報を示す信号がフィードバック信号として制御部30および電流ベクトル制御部20のそれぞれに入力される。
Encoder EN1 is attached to motor MT1. Encoder EN1 outputs a signal corresponding to the rotational position of a rotor (not shown) of motor MT1 to current
PWMインバータ回路10は、電流ベクトル制御部20からのモータMT1のU相、V相、W相に与える3相電圧指令であるPWM指令に従って、電源電圧Vdcからの直流電圧をモータMT1の各相(U相、V相、W相)に実際に印加する交流電圧に変換するための電力変換の処理を行う。PWMインバータ回路10の構成例については、図3を参照して後述する。
The
電流検出部DT1は、モータMT1のU相の巻線に流れる相電流iu(電機子電流)を検出し、検出した相電流iuの電流値をU相電流FB(Feedback)として電流ベクトル制御部20に入力する。 The current detection unit DT1 detects the phase current i u (armature current) flowing in the U-phase winding of the motor MT1, and performs current vector control using the current value of the detected phase current i u as the U-phase current FB (Feedback). 20.
電流検出部DT2は、モータMT1のV相の巻線に流れる相電流iv(電機子電流)を検出し、検出した相電流ivの電流値をV相電流FB(Feedback)として電流ベクトル制御部20に入力する。 The current detection unit DT2 detects the phase current i v (armature current) flowing in the V-phase winding of the motor MT1, and performs current vector control using the current value of the detected phase current i v as the V-phase current FB (Feedback). 20.
電流ベクトル制御部20は、モータMT1の界磁方向であるd軸とこのd軸に直交する方向であるq軸とのそれぞれへの電圧指令(後述するq軸電圧指令vq
*、d軸電圧指令vd
*)を、モータMT1のU相、V相、W相に与える3相電圧指令(PWM指令)に変換する2相-3相変換の処理を行う。また、電流ベクトル制御部20は、制御部30からのd軸電流指令id
*の値とd軸電流値との誤差がゼロになるようにd軸電圧指令vd
*を生成し、同様に、制御部30からのq軸電流指令iq
*の値とq軸電流値との誤差がゼロになるようにq軸電圧指令vq
*を生成する。さらに、電流ベクトル制御部20は、電流検出部DT1により検出されたU相の実際の電流値と電流検出部DT2により検出されたV相の実際の電流値とエンコーダEN1により検出された電気角(言い換えると、回転子の回転位置)とに基づいてd軸電流値、q軸電流値を演算する処理を行う。電流ベクトル制御部20の構成例については、図4を参照して後述する。
The current
制御部30は、少なくとも外部からの速度指令および回転速度算出部40からの速度FB(Feedback)に基づいて、q軸電流指令iq
*およびd軸電流指令id
*を生成する。特に、制御部30は、d軸電流指令id
*について、外部からの速度指令および回転速度算出部40からの速度FBとモータMT1の状態(例えば力行状態または回生状態のいずれか)とに基づいて、d軸電流指令id
*を生成する。詳細は後述するが、モータMT1の状態は、6軸多関節を有するアーク溶接ロボットであるマニピュレータMC1の各軸に対応するモータMT1の状態に基づいて判定される。制御部30の構成例については、図5を参照して後述する。
The
回転速度算出部40は、エンコーダEN1により検出された電気角(言い換えると、回転子の回転位置)の単位時間当たりの変化量からモータMT1の回転子の回転速度を算出し、速度FB(Feedback)として制御部30に出力する。
The rotational
次に、図3を参照して、PWMインバータ回路10の内部構成について説明する。図3は、PWMインバータ回路10の詳細な構成例を示すブロック図である。PWMインバータ回路10は、6つのスイッチング素子111,121,131,141,151,161を含む。
Next, with reference to FIG. 3, the internal configuration of the
スイッチング素子111には還流ダイオード112が並列に設けられ、スイッチング素子121には還流ダイオード122が並列に設けられ、スイッチング素子131には還流ダイオード132が並列に設けられ、スイッチング素子141には還流ダイオード142が並列に設けられ、スイッチング素子151には還流ダイオード152が並列に設けられ、スイッチング素子161には還流ダイオード162が並列に設けられている。スイッチング素子111~161のそれぞれは、例えばIGBT(Insulated Gate Bipolar Transistor)であるが、IGBTに限定されなくてよい。PWMインバータ回路10では、スイッチング素子111のエミッタとスイッチング素子141のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばU相)の巻線に接続され、スイッチング素子121のエミッタとスイッチング素子151のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばV相)の巻線に接続され、スイッチング素子131のエミッタとスイッチング素子161のコレクタとの相互接続点がモータMT1の3相のうちいずれか(例えばW相)の巻線に接続されている。
A
PWMインバータ回路10は、電源正極側のスイッチング素子と電源負極側のスイッチング素子とをペアにしてU相、V相、W相の3相に備え、U相、V相、W相のそれぞれの交流電圧を出力するスイッチング回路である。PWMインバータ回路10は、スイッチング素子111~161のそれぞれのゲートに電流ベクトル制御部20からの駆動信号(つまりPWM指令)を入力してスイッチング素子111~161のそれぞれを順序よくオンオフすることにより、印加されている直流電源(電源電圧Vdc)を3相の交流電圧(U相出力、V相出力、W相出力)に変換してモータMT1のトルクおよび回転速度を制御する。例えばU相出力から電流検出部DT1により検出された電流(U相電流FB)は、電流ベクトル制御部20に入力(フィードバック)され、同様に、V相出力から電流検出部DT2により検出された電流(V相電流FB)は、電流ベクトル制御部20に入力(フィードバック)される。
The
次に、図4を参照して、電流ベクトル制御部20の内部構成について説明する。図4は、電流ベクトル制御部20の詳細な構成例を示すブロック図である。電流ベクトル制御部20は、d-q変換部21と、q軸電流制御部22と、d軸電流制御部23と、逆d-q変換部24と、を少なくとも含む。
Next, the internal configuration of the current
d-q変換部21は、電流検出部DT1,DT2により検出された各相電流iu、iv(U相電流FB、V相電流FB)と、エンコーダEN1により検出された回転子(図示略)の電気角とから、d軸およびq軸の検出電流であるd軸電流idおよびq軸電流iqを算出する。q軸電流iqは、q軸電流FBとしてq軸電流制御部22に入力される。d軸電流idは、d軸電流FBとしてd軸電流制御部23に入力される。
The
q軸電流制御部22は、制御部30からのq軸電流の目標値であるq軸電流指令iq
*の値とd-q変換部21からのq軸電流iqとの差分である誤差がゼロとなるようにq軸電圧指令vq
*を生成する。例えば、q軸電流制御部22は、q軸電流指令iq
*の値とq軸電流iqの値との差分に対して比例積分処理を行い、その比例積分の結果をq軸電圧指令vq
*とする。
The q-axis
d軸電流制御部23は、制御部30からのd軸電流の目標値であるd軸電流指令id
*の値とd-q変換部21からのd軸電流idとの差分である誤差がゼロとなるようにd軸電圧指令vd
*を生成する。例えば、d軸電流制御部23は、d軸電流指令id
*の値とd軸電流idの値との差分に対して比例積分処理を行い、その比例積分の結果をd軸電圧指令vd
*とする。
The d-axis
逆d-q変換部24は、q軸電流制御部22からのq軸電圧指令vq
*とd軸電流制御部23からのd軸電圧指令vd
*と、エンコーダEN1により検出された回転子(図示略)の電気角とから、モータMT1の各相に与える駆動電圧に対応するPWM指令である電圧指令vu
*、vv
*、vw
*を算出し、PWMインバータ回路10に出力する。
The inverse
次に、図5を参照して、1軸分の制御部30の内部構成について説明する。図5は、1軸分の制御部30の詳細な構成例を示すブロック図である。制御部30は、PI(Proportional Integral)制御部31と、q軸電流指令リミッタ32と、加速度指令算出部33と、回生判定部34と、全軸回生判定部35と、弱め界磁制御部36と、d軸電流指令リミッタ37と、を含む。
Next, with reference to FIG. 5, the internal configuration of the
PI制御部31は、外部からのモータMT1の速度指令の値と回転速度算出部40により算出されたモータMT1の回転子の回転速度のフィードバック値との差分(偏差)に基づいてPI制御を実行する。例えば、PI制御部31は、PI制御として、比例項として差分を定数倍した項と、積分項として差分を積分した値を定数倍した値との加算演算を行う。PI制御部31は、このPI制御を行うことにより、q軸電流指令iq
*を生成してq軸電流指令リミッタ32に出力する。
The
q軸電流指令リミッタ32は、モータMT1の回転速度限界値に対応する既定のq軸電流限界値を保持している。q軸電流指令リミッタ32は、PI制御部31により生成されたq軸電流指令iq
*の値がこのq軸電流限界値を超えると判定した場合には、q軸電流指令iq
*の値をq軸電流限界値とするq軸電流指令iq
*を生成して電流ベクトル制御部20に出力する。このq軸電流指令iq
*は、電流ベクトル制御部20のq軸電流制御部22に入力される。
The q-axis
加速度指令算出部33は、外部からのモータMT1の速度指令の値に時間微分の処理を施すことにより加速度指令を算出して回生判定部34に出力する。なお、時間微分の処理において高周波成分の量子化誤差等の影響によるノイズ成分を抑圧するために、加速度指令算出部33はその抑圧用のフィルタFL1を備えてもよい。
The acceleration
回生判定部34は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とに基づいてモータMT1の状態を判定し、その判定結果を回生情報として自軸用の制御部30の全軸回生判定部35ならびに1つ以上の他軸用の制御部30の全軸回生判定部35にも出力する。モータMT1の状態判定に関して、具体的には、回生判定部34は、一定期間分(図7参照)の加速度指令と速度指令との符号が同一であると判定した場合には、モータMT1は力行状態であると判定する。一方、回生判定部34は、一定期間分(図7参照)の加速度指令と速度指令との符号が異なると判定した場合には、モータMT1は回生状態であると判定する。一定期間分(図7参照)の加速度指令と速度指令との符号については、図7を参照して後述する。
The
全軸回生判定部35は、自軸用の制御部30の回生判定部34からの回生情報と1つ以上の他軸用の回生判定部34からの回生情報とを用いて、複数のモータMT1の中で最も負荷が高いモータMT1の状態に基づいて、マニピュレータMC1全体において回生状態であるか力行状態であるかを判定する。例えばマニピュレータMC1が図1に示す6軸多関節型のロボットである場合、全軸回生判定部35は、合計6軸分(つまり6つ)の回生判定部34からの回生情報を取得しており、軸ごとの回生情報に所定の重み付けを施し、その重み付け後の回生情報(回生判定値)が所定の閾値より大きい場合にマニピュレータMC1全体において回生状態であると判定する。全軸回生判定部35は、判定結果に対応する信号を生成してd軸電流指令リミッタ37に出力する。
The all-axis
ここで、回生判定値と重み付けについて簡単に説明する。 Here, the regeneration determination value and weighting will be briefly explained.
1つの軸に対応する回生判定部34からの回生情報は1あるいは0となる。例えば回生情報が1であれば回生状態であることを示し、回生情報が0であれば力行状態であることを示す。全軸回生判定部35は、回生判定値を次の(式1)に従って算出する。各軸目の重み付け係数は、例えばマニピュレータMC1の構造に照らしてその大小が予め決定されている。例えば図1に示すマニピュレータMC1の場合、2軸目>3軸目>1軸目>4軸目>5軸目>6軸目のように負荷がかかるため、(2軸目の重み付け係数)>(3軸目の重み付け係数)>(1軸目の重み付け係数)>(4軸目の重み付け係数)>(5軸目の重み付け係数)>(6軸目の重み付け係数)となる。重み付け係数は、モータの負荷が最も高いモータに対応する重み付け係数が最も大きな値となり、モータの負荷が最も低いモータに対応する重み付け係数が最も小さい値となる。
The regeneration information from the
回生判定値=(1軸目の重み付け係数)×(1軸目の回生情報)
+(2軸目の重み付け係数)×(2軸目の回生情報)
+(3軸目の重み付け係数)×(3軸目の回生情報)
+(4軸目の重み付け係数)×(4軸目の回生情報)
+(5軸目の重み付け係数)×(5軸目の回生情報)
+(6軸目の重み付け係数)×(6軸目の回生情報)・・・(式1)
Regeneration judgment value = (1st axis weighting coefficient) x (1st axis regeneration information)
+ (2nd axis weighting coefficient) × (2nd axis regeneration information)
+ (3rd axis weighting coefficient) × (3rd axis regeneration information)
+ (4th axis weighting coefficient) × (4th axis regeneration information)
+ (5th axis weighting coefficient) × (5th axis regeneration information)
+ (6th axis weighting coefficient) × (6th axis regeneration information) (Formula 1)
全軸回生判定部35は、上述した(式1)により得た回生判定値が所定の閾値より大きいと判定した場合に、マニピュレータMC1全体において回生状態であると判定する。一方、全軸回生判定部35は、上述した算出式により得た回生判定値が所定の閾値以下であると判定した場合に、マニピュレータMC1全体において力行状態であると判定する。
The all-axis
弱め界磁制御部36は、回転速度算出部40により算出されたモータMT1の回転子の回転速度のフィードバック値と弱め界磁制御部36が予め保持している所定値との差分(偏差)に基づいてPI制御を実行する。例えば、弱め界磁制御部36は、PI制御として、比例項として差分を定数倍した項と、積分項として差分を積分した値を定数倍した値との加算演算を行う。弱め界磁制御部36は、このPI制御を行うことにより、d軸電流指令id
*を生成してd軸電流指令リミッタ37に出力する。
The field
d軸電流指令リミッタ37は、電流制限値記憶部M1を保持する。電流制限値記憶部M1は、回生時d軸電流リミット371と力行時d軸電流リミット372とを保持する記憶素子(例えばROM(Read Only Memory)等のメモリ)である。d軸電流指令リミッタ37は、全軸回生判定部35からの信号に基づいて、マニピュレータMX1全体の状態(つまり回生状態または力行状態)に対応するd軸電流リミットを選択する。d軸電流指令リミッタ37は、全軸回生判定部35からの信号に基づいて選択した回生時d軸電流リミット371あるいは力行時d軸電流リミット372と、弱め界磁制御部36からのd軸電流指令id
*とを比較する。d軸電流指令リミッタ37は、弱め界磁制御部36からのd軸電流指令id
*が回生時d軸電流リミット371あるいは力行時d軸電流リミット372を超えると判定した場合に、d軸電流指令id
*を回生時d軸電流リミット371あるいは力行時d軸電流リミット372に制限したd軸電流指令id
*を生成して電流ベクトル制御部20に出力する。このd軸電流指令id
*は、電流ベクトル制御部20のd軸電流制御部23に入力される。
The d-axis
次に、図6および図7を参照して、モータMT1の状態(つまり、力行状態または回生状態)の時間変化について説明する。図6は、力行状態および回生状態におけるモータ速度の時間変化の概略を示す図である。図7は、速度指令および加速度指令の時間変化の一例を示す図である。図6の上段のグラフにおいて、横軸は時間を示し、縦軸はモータ速度(つまり、モータMT1の回転速度)を示す。 Next, with reference to FIGS. 6 and 7, changes over time in the state of motor MT1 (that is, power running state or regenerative state) will be described. FIG. 6 is a diagram schematically showing changes in motor speed over time in a power running state and a regenerative state. FIG. 7 is a diagram illustrating an example of changes over time in speed commands and acceleration commands. In the upper graph of FIG. 6, the horizontal axis indicates time, and the vertical axis indicates motor speed (that is, rotational speed of motor MT1).
図6に示すように、モータMT1の回転速度が時間とともに増加(上昇)する間、PWMインバータ回路10は、電源電圧Vdcを使用し、この電源電圧Vdcに基づいてU相、V相、W相の各交流電圧をモータMT1に供給(印加)するので、電圧が減ることになる。従って、モータMT1の回転速度が時間とともに増加(上昇)する間、モータMT1の状態は力行状態となる。
As shown in FIG. 6, while the rotational speed of the motor MT1 increases (rises) over time, the
一方、モータMT1の回転速度が時間とともに減少(下降)する間、モータMT1のU相、V相、W相のそれぞれからPWMインバータ回路10を介して直流に変換された電圧が電源電圧Vdc側に戻されるため、電圧が増えることになる。従って、モータMT1の回転速度が時間とともに減少(下降)する間、モータMT1の状態は回生状態となる。
On the other hand, while the rotational speed of the motor MT1 decreases (falls) over time, the voltages converted to direct current from each of the U-phase, V-phase, and W-phase of the motor MT1 via the
図7の横軸は時間を示し、縦軸の一方(紙面左側)は外部からの速度指令の値を示し、縦軸の他方(紙面右側)は加速度指令算出部33により算出された加速度指令の値を示す。図7に示すように、期間PR1における速度指令の特性Y1と加速度指令の特性Y2とは一定時間以上その符号が異なっている。例えば期間PR1では、加速度指令はマイナスの定常値でほぼ安定して推移しているが、速度指令は時間ごとにプラス方向の値からゼロとなるように減少するように推移している。
The horizontal axis in FIG. 7 shows time, one of the vertical axes (on the left side of the paper) shows the value of the speed command from the outside, and the other vertical axis (on the right side of the paper) shows the value of the acceleration command calculated by the acceleration
同様に、期間PR2における速度指令の特性Y1と加速度指令の特性Y2とも一定時間以上その符号が異なっている。例えば期間PR2では、加速度指令はプラスの定常値でほぼ安定して推移しているが、速度指令は時間ごとにマイナス方向の値からゼロとなるように減少するように推移している。 Similarly, the characteristic Y1 of the speed command and the characteristic Y2 of the acceleration command in the period PR2 have different signs for a certain period of time or more. For example, in period PR2, the acceleration command is almost stable at a positive steady value, but the speed command is decreasing from a negative value to zero over time.
このように、回生判定部34は、速度指令の特性Y1と加速度指令の特性Y2とにおいて一定時間以上符号が異なる期間が存在すると判定した場合には、その期間は回生状態であると判定する。つまり、図7の例では、回生判定部34は、期間PR1,PR2のそれぞれにおいて、モータMT1の状態は回生状態であると判定する。
In this way, when the
次に、図8を参照して、本実施の形態に係るロボット制御装置100のd軸電流指令値の電流制限値の決定手順について説明する。図8は、本実施の形態に係るロボット制御装置のd軸電流指令値の電流制限値を決定する動作手順を示すフローチャートである。ここでいうd軸電流指令値の電流制限値とは、回生時d軸電流リミット371、力行時d軸電流リミット372である。図8に示すフローチャートは、例えば6軸多関節型のロボットの各軸に対応して設けられる6つの制御部30のそれぞれによって実行される。
Next, with reference to FIG. 8, a procedure for determining the current limit value of the d-axis current command value of the
図8において、1軸目の制御部30は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とを一定期間分取得し、その一定期間分のそれぞれの符号を判定する(ステップSt11)。1軸目の制御部30は、ステップSt11において加速度指令と速度指令とがその一定期間において同符号であると判定した場合(ステップSt11、同符号)、1軸目のモータMT1の状態は力行状態である旨の情報(つまり、回生情報=0)を生成する(ステップSt21)。一方、1軸目の制御部30は、ステップSt11において加速度指令と速度指令とがその一定期間において異符号であると判定した場合(ステップSt11、異符号)、1軸目のモータMT1の状態は回生状態である旨の情報(つまり、回生情報=1)を生成する(ステップSt31)。さらに、1軸目の制御部30は、1軸目に対応する予め定められた重み付け係数α1を選択する(ステップSt41)。
In FIG. 8, the first
同様にして、6軸目の制御部30は、加速度指令算出部33からの加速度指令と外部からのモータMT1の速度指令とを一定期間分取得し、その一定期間分のそれぞれの符号を判定する(ステップSt16)。1軸目の制御部30は、ステップSt16において加速度指令と速度指令とがその一定期間において同符号であると判定した場合(ステップSt16、同符号)、6軸目のモータMT1の状態は力行状態である旨の情報(つまり、回生情報=0)を生成する(ステップSt26)。一方、6軸目の制御部30は、ステップSt16において加速度指令と速度指令とがその一定期間において異符号であると判定した場合(ステップSt16、異符号)、6軸目のモータMT1の状態は回生状態である旨の情報(つまり、回生情報=1)を生成する(ステップSt36)。さらに、6軸目の制御部30は、6軸目に対応する予め定められた重み付け係数α6を選択する(ステップSt46)。
Similarly, the sixth
ステップSt5以降の処理は、1軸目から6軸目のそれぞれの制御部30において並行して実行される。ここでは説明の都合上、1軸目の制御部30が行うことを例示して説明するが、2軸目から6軸目の制御部30のそれぞれも同様にステップSt5以降の処理を実行する。
The processes after step St5 are executed in parallel in each of the
1軸目の制御部30は、自軸の制御部30がステップSt41で選択した重み付け係数α1および回生情報と、他軸(つまり、2軸目から6軸目まで)のそれぞれの制御部30が選択した重み付け係数および回生情報とを取得する。1軸目の制御部30は、自軸の制御部30がステップSt41で選択した重み付け係数α1および回生情報の積算結果と、他軸(つまり、2軸目から6軸目まで)のそれぞれの制御部30が選択した重み付け係数および回生情報の積算結果とを加算することにより回生判定値を算出する(ステップSt5、(式1)参照)。
The
1軸目の制御部30は、ステップSt5で算出した回生判定値が所定の閾値より大きいと判定した場合に(ステップSt6、閾値より大)、マニピュレータMC1全体において回生状態であると判定する。この場合、1軸目の制御部30は、回生時d軸電流リミット371を選択する(ステップSt7)。1軸目の制御部30は、回生時d軸電流リミット371と弱め界磁制御部36からのd軸電流指令id
*との比較結果に応じたd軸電流指令id
*を生成して電流ベクトル制御部20に出力する。
When the first-
一方、1軸目の制御部30は、ステップSt5で算出した回生判定値が所定の閾値以下であると判定した場合に(ステップSt6、閾値以下)、マニピュレータMC1全体において力行状態であると判定する。この場合、1軸目の制御部30は、力行時d軸電流リミット372を選択する(ステップSt8)。1軸目の制御部30は、力行時d軸電流リミット372と弱め界磁制御部36からのd軸電流指令id
*との比較結果に応じたd軸電流指令id
*を生成して電流ベクトル制御部20に出力する。
On the other hand, when the first-
以上により、本実施の形態に係るロボット制御装置100は、外部から通知されるモータMT1の速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算する各軸電流演算部(例えば制御部30)と、q軸電流指令値およびd軸電流指令値に基づいて、複数のモータMT1にそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部(例えばq軸電流制御部22、d軸電流制御部23)と、複数の電圧指令値に基づいて、複数のモータに複数の駆動電力をそれぞれ出力する駆動回路(例えばPWMインバータ回路10)と、速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部(例えば加速度指令算出部33)と、速度指令値および速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部34と、力行状態におけるd軸電流指令値の電流制限値である第1電流制限値(例えば力行時d軸電流リミット372)と、回生状態におけるd軸電流指令値の電流制限値である第2電流制限値(例えば回生時d軸電流リミット371)と、を記憶する電流制限値記憶部M1と、力行状態において第1電流制限値以下となるd軸電流指令値を出力し、回生状態において第2電流制限値以下となるd軸電流指令値を出力するd軸電流指令値制限部(例えばd軸電流指令リミッタ37)と、を備える。回生判定部(例えば全軸回生判定部35)は、複数のモータのうち最も負荷が高いモータの状態に基づいて、力行状態または回生状態のいずれかを判定する。
As described above, the
また、本実施の形態に係るロボット制御装置100によるモータ制御方法は、外部から通知される速度指令値に基づいてq軸電流指令値およびd軸電流指令値を演算するステップと、速度指令値に基づいて、加速度指令値を演算するステップと、速度指令値および加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、力行状態においてd軸電流指令値の電流制限値である第1電流制限値(例えば力行時d軸電流リミット372)以下となるd軸電流指令値を出力し、回生状態においてd軸電流指令値の電流制限値である第2電流制限値(例えば回生時d軸電流リミット371)以下となるd軸電流指令値を出力するステップと、q軸電流指令値およびd軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、複数の電圧指令値に基づいて、複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有する。力行状態または回生状態のいずれかの判定は、複数のモータMT1のうち最も負荷が高いモータの状態に基づいて実行される。
Further, the motor control method by the
モータMT1を高速かつ高負荷(言い換えると、高トルク)で動作させるためには、高速動作時のモータMT1に発生する誘起電圧成分の影響を低減させる必要がある。そのために、従来技術ではd軸電流(言い換えると、無効電流)を流すことでモータ駆動成分であるq軸電流の成分を確保することで実現している。しかしながら、d軸電流が大きくなると、モータMT1に流れる電流が多くなり、その結果モータMT1自身が発熱してしまう。また、モータMT1等のサーボモータはエンコーダEN1を搭載しているためにモータ発熱の影響を受けるため、なるべく発熱を抑えることが望ましい。以上のことからd軸電流分をうまく確保しながらも、モータMT1の発熱を抑えることが求められる。 In order to operate the motor MT1 at high speed and high load (in other words, high torque), it is necessary to reduce the influence of the induced voltage component generated in the motor MT1 during high-speed operation. To achieve this, in the prior art, a d-axis current (in other words, a reactive current) is passed to ensure a q-axis current component, which is a motor drive component. However, when the d-axis current increases, the current flowing through the motor MT1 increases, and as a result, the motor MT1 itself generates heat. Further, since the servo motor such as the motor MT1 is equipped with the encoder EN1 and is affected by the heat generated by the motor, it is desirable to suppress the heat generated as much as possible. From the above, it is required to suppress the heat generation of the motor MT1 while properly securing the d-axis current.
高速かつ高負荷(言い換えると、高トルク)でd軸電流を多く流さないといけない場面は、力行状態(つまり、モータMT1の回転方向と電流方向とが同じ)の場合であり、回生状態(つまり、モータMT1の回転方向と電流方向とが異なる)ではd軸電流をそこまで流す必要なく動作が可能である。ところが、マニピュレータMC1のような複数の軸(例えば6軸)で動作する場合には、各軸毎にモータMT1にかかる負荷の大きさが異なるので必要となるd軸電流成分も異なってくる。 Scenes where a large amount of d-axis current must flow at high speed and high load (in other words, high torque) are in the power running state (in other words, the direction of rotation of motor MT1 and the current direction are the same), and in the regenerative state (in other words, , the rotational direction of the motor MT1 is different from the current direction), the operation is possible without the need to flow the d-axis current to that extent. However, when the manipulator MC1 operates with a plurality of axes (for example, six axes), the magnitude of the load applied to the motor MT1 differs for each axis, so the required d-axis current component also differs.
そこで、本実施の形態によれば、ロボット制御装置100は、複数のモータMT1の中で最も負荷が高い軸に対応するモータMT1の状態が力行状態か回生状態かを判定することにより、マニピュレータMC1として回生状態とみなす場合にはd軸電流指令値を制限することによりモータMT1の発熱を低減させる。これにより、ロボット制御装置100は、マニピュレータMC1のように複数のモータMT1を搭載するロボットにおいて、力行状態と回生状態との状態に応じてd軸電流指令値の電流制限値を選択でき、いずれの状態においても各モータの高速高負荷な動作を効率的に実現することができる。
Therefore, according to the present embodiment, the
また、回生判定部(例えば全軸回生判定部35)は、複数のモータMT1のそれぞれに対応する複数の回生判定値に基づいて、力行状態または回生状態のいずれかを判定する。これにより、ロボット制御装置100は、1つの軸に対応するモータMT1だけでなくマニピュレータMC1が搭載する複数のモータMT1のそれぞれに対応して算出される回生判定値を用いることにより、力行状態または回生状態を的確に判定できる。
Further, the regeneration determination section (for example, the all-axis regeneration determination section 35) determines either the power running state or the regeneration state based on a plurality of regeneration determination values corresponding to each of the plurality of motors MT1. As a result, the
また、回生判定部(例えば全軸回生判定部35)は、複数の回生判定値のそれぞれについて重み付けを行い、重み付けした複数の回生判定値に基づいて、力行状態または回生状態のいずれかを判定する。これにより、ロボット制御装置100は、マニピュレータMC1が搭載する複数のモータMT1のそれぞれの中で負荷が高いモータ、負荷が低いモータ等のようにモータMTの負荷の影響を考慮して適切に重み付けを施して負荷が最も高いモータの状態に合わせるようにマニピュレータMC1全体としての力行状態または回生状態を高精度に判定できる。
Further, the regeneration determination unit (for example, the all-axis regeneration determination unit 35) weights each of the plurality of regeneration determination values, and determines either the power running state or the regeneration state based on the weighted plurality of regeneration determination values. . As a result, the
以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。 Although various embodiments have been described above with reference to the drawings, it goes without saying that the present disclosure is not limited to such examples. It is clear that those skilled in the art can come up with various changes, modifications, substitutions, additions, deletions, and equivalents within the scope of the claims, and It is understood that it naturally falls within the technical scope of the present disclosure. Further, each of the constituent elements in the various embodiments described above may be arbitrarily combined without departing from the spirit of the invention.
本開示は、複数のモータを搭載するロボットにおいて各モータの高速高負荷な動作を効率的に実現するモータ制御装置およびモータ制御方法として有用である。 The present disclosure is useful as a motor control device and a motor control method that efficiently realize high-speed, high-load operation of each motor in a robot equipped with a plurality of motors.
10 PWMインバータ回路
20 電流ベクトル制御部
21 d-q変換部
22 q軸電流制御部
23 d軸電流制御部
24 逆d-q変換部
30 制御部
31 PI制御部
32 q軸電流指令リミッタ
33 加速度指令算出部
34 回生判定部
35 全軸回生判定部
36 弱め界磁制御部
37 d軸電流指令リミッタ
40 回転速度算出部
100 ロボット制御装置
371 回生時d軸電流リミット
372 力行時d軸電流リミット
1000 溶接ロボットシステム
DT1、DT2 電流検出部
EN1 エンコーダ
M1 電流制限値記憶部
MC1 マニピュレータ
MT1 モータ
10
Claims (4)
前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算する電圧指令値演算部と、
前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力する駆動回路と、
前記速度指令値に基づいて、加速度指令値を演算する加速度指令値演算部と、
前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定する回生判定部と、
前記力行状態における前記d軸電流指令値の電流制限値である第1電流制限値と、前記回生状態における前記d軸電流指令値の電流制限値である第2電流制限値と、を記憶する電流制限値記憶部と、
前記力行状態において前記第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記第2電流制限値以下となる前記d軸電流指令値を出力するd軸電流指令値制限部と、を備え、
前記回生判定部は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて、前記力行状態または前記回生状態のいずれかを判定する、
モータ制御装置。 each axis current calculation unit that calculates a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside;
a voltage command value calculation unit that calculates a plurality of voltage command values, which are values of voltages to be respectively applied to the plurality of motors, based on the q-axis current command value and the d-axis current command value;
a drive circuit that outputs a plurality of drive powers to the plurality of motors based on the plurality of voltage command values;
an acceleration command value calculation unit that calculates an acceleration command value based on the speed command value;
a regeneration determination unit that determines either a power running state or a regeneration state based on the speed command value and the acceleration command value;
A current that stores a first current limit value that is a current limit value of the d-axis current command value in the power running state, and a second current limit value that is a current limit value of the d-axis current command value in the regeneration state. a limit value storage section;
a d-axis current command value that outputs the d-axis current command value that is less than or equal to the first current limit value in the power running state, and outputs the d-axis current command value that is less than or equal to the second current limit value in the regenerative state; a restriction part;
The regeneration determination unit determines either the power running state or the regeneration state based on the state of the motor with the highest load among the plurality of motors.
Motor control device.
請求項1に記載のモータ制御装置。 The regeneration determination unit determines either the power running state or the regeneration state based on a plurality of regeneration determination values corresponding to each of the plurality of motors.
The motor control device according to claim 1.
請求項2に記載のモータ制御装置。 The regeneration determination unit weights each of the plurality of regeneration determination values, and determines either the power running state or the regeneration state based on the weighted plurality of regeneration determination values.
The motor control device according to claim 2.
前記速度指令値に基づいて、加速度指令値を演算するステップと、
前記速度指令値および前記加速度指令値に基づいて、力行状態または回生状態のいずれかを判定するステップと、
前記力行状態において前記d軸電流指令値の電流制限値である第1電流制限値以下となる前記d軸電流指令値を出力し、前記回生状態において前記d軸電流指令値の電流制限値である第2電流制限値以下となる前記d軸電流指令値を出力するステップと、
前記q軸電流指令値および前記d軸電流指令値に基づいて、複数のモータにそれぞれ印加する電圧の値である複数の電圧指令値を演算するステップと、
前記複数の電圧指令値に基づいて、前記複数のモータに複数の駆動電力をそれぞれ出力するステップと、を有し、
前記力行状態または前記回生状態のいずれかの判定は、前記複数のモータのうち最も負荷が高いモータの状態に基づいて実行される、
モータ制御方法。 calculating a q-axis current command value and a d-axis current command value based on a speed command value notified from the outside;
calculating an acceleration command value based on the speed command value;
determining either a power running state or a regeneration state based on the speed command value and the acceleration command value;
Outputting the d-axis current command value that is less than or equal to a first current limit value that is a current limit value of the d-axis current command value in the power running state, and outputting the d-axis current command value that is a current limit value of the d-axis current command value in the regeneration state. outputting the d-axis current command value that is equal to or less than a second current limit value;
calculating a plurality of voltage command values, which are voltage values to be applied to the plurality of motors, based on the q-axis current command value and the d-axis current command value;
outputting a plurality of driving powers to the plurality of motors based on the plurality of voltage command values, respectively;
The determination of either the power running state or the regeneration state is performed based on the state of the motor with the highest load among the plurality of motors.
Motor control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022100676A JP2024001791A (en) | 2022-06-22 | 2022-06-22 | Motor controller and motor control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022100676A JP2024001791A (en) | 2022-06-22 | 2022-06-22 | Motor controller and motor control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024001791A true JP2024001791A (en) | 2024-01-10 |
Family
ID=89455186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022100676A Pending JP2024001791A (en) | 2022-06-22 | 2022-06-22 | Motor controller and motor control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024001791A (en) |
-
2022
- 2022-06-22 JP JP2022100676A patent/JP2024001791A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5382069B2 (en) | Inverter device and electric motor drive system | |
JP5957704B2 (en) | Electric motor control device | |
Stojan et al. | Novel field-weakening control scheme for permanent-magnet synchronous machines based on voltage angle control | |
JP4007345B2 (en) | Electric drive control device, electric drive control method, and program | |
JP4715576B2 (en) | Electric drive control device and electric drive control method | |
JP5549751B1 (en) | Inverter device, control method for inverter device, and motor drive system | |
JP2007089248A (en) | Driver of electric motor | |
JP4462207B2 (en) | Electric drive control device and electric drive control method | |
JP2007259551A (en) | Controller of motor | |
JP2006014539A (en) | Motor drive controller, control method and program | |
JP6046446B2 (en) | Vector control device, motor control device using the same, and air conditioner | |
JP2009017706A (en) | Motor controller and motor control method | |
JP2010200430A (en) | Drive controller for motors | |
JP2010268579A (en) | Permanent magnet synchronous electric motor system and magnetic field control method therefor | |
JP4522273B2 (en) | Motor control device and motor drive system having the same | |
JP6998717B2 (en) | Variable magnetic force motor control method and control device | |
JP2007274843A (en) | Unit and method for electromotive drive control | |
JP2010239790A (en) | Rotary electric machine controller | |
JP2006304462A (en) | Motor drive system and control method for permanent magnet motor | |
JPH08275599A (en) | Control method for permanent magnet synchronous motor | |
JP5212594B2 (en) | Control device for permanent magnet type synchronous motor | |
JP2007135345A (en) | Magnet motor controller | |
JP5908205B2 (en) | Rotation sensorless control device | |
JP2015165757A (en) | Inverter controller and control method | |
JP2009225500A (en) | Motor driving unit and its control method |