JP2021125950A - Motor control method, motor drive device, control method of industrial robot, and industrial robot - Google Patents

Motor control method, motor drive device, control method of industrial robot, and industrial robot Download PDF

Info

Publication number
JP2021125950A
JP2021125950A JP2020017206A JP2020017206A JP2021125950A JP 2021125950 A JP2021125950 A JP 2021125950A JP 2020017206 A JP2020017206 A JP 2020017206A JP 2020017206 A JP2020017206 A JP 2020017206A JP 2021125950 A JP2021125950 A JP 2021125950A
Authority
JP
Japan
Prior art keywords
motor
value
axis current
torque
command value
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
JP2020017206A
Other languages
Japanese (ja)
Other versions
JP7428527B2 (en
Inventor
正志 花岡
Masashi Hanaoka
正志 花岡
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.)
Nidec Sankyo Corp
Original Assignee
Nidec Sankyo 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 Nidec Sankyo Corp filed Critical Nidec Sankyo Corp
Priority to JP2020017206A priority Critical patent/JP7428527B2/en
Priority to KR1020210009943A priority patent/KR102567726B1/en
Priority to CN202110101850.0A priority patent/CN113285644B/en
Publication of JP2021125950A publication Critical patent/JP2021125950A/en
Application granted granted Critical
Publication of JP7428527B2 publication Critical patent/JP7428527B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/14Estimation or adaptation of machine parameters, e.g. flux, current or voltage
    • 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/05Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation specially adapted for damping motor oscillations, e.g. for reducing hunting
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • B25J9/12Programme-controlled manipulators characterised by positioning means for manipulator elements electric
    • B25J9/126Rotary actuators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/14Estimation or adaptation of machine parameters, e.g. flux, current or voltage
    • H02P21/18Estimation of position or 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
    • H02P21/00Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
    • H02P21/22Current control, e.g. using a current control loop
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P29/00Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
    • H02P29/02Providing protection against overload without automatic interruption of supply
    • H02P29/024Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
    • 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
    • H02P5/00Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
    • 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/14Electronic commutators
    • H02P6/16Circuit arrangements for detecting position
    • H02P6/18Circuit arrangements for detecting position without separate position detecting elements
    • 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/20Arrangements for starting
    • H02P6/21Open loop start

Abstract

To stop motor rotation by open-loop control without causing motor stalling or vibration due to insufficient torque.SOLUTION: In the open-loop control, the method includes the steps of obtaining the torque required for a motor based on a position command value sent from a higher-level controller, obtaining a Q-axis current command value in accordance with the torque, and supplying the motor with a Q-axis current according to the Q-axis current command value and a D-axis current to draw in magnetic poles of a rotor magnet.SELECTED DRAWING: Figure 9

Description

本発明は、モータ制御方法、モータ駆動装置、産業用ロボットの制御方法、及び産業用ロボットに関する。 The present invention relates to a motor control method, a motor drive device, a control method for an industrial robot, and an industrial robot.

従来、モータをオープンループ制御によって駆動するモータ制御方法が知られている。 Conventionally, a motor control method for driving a motor by open loop control is known.

例えば、特許文献1に記載のモータ制御方法では、モータを強制転流(電流引込法)によるオープンループ制御で起動する。このとき、モータに対して一定のD軸電流を供給しつつ、Q軸電流をゼロに維持する。その後、モータ内で十分な誘起電圧が得られるようになるまでモータの角速度を上昇させると、制御方式を、オープンループ制御から、モータの回転位置を電流検出値に基づいて推定するセンサレスベクトル制御に切り換える。 For example, in the motor control method described in Patent Document 1, the motor is started by open loop control by forced commutation (current drawing method). At this time, the Q-axis current is maintained at zero while supplying a constant D-axis current to the motor. After that, when the angular velocity of the motor is increased until a sufficient induced voltage is obtained in the motor, the control method is changed from open loop control to sensorless vector control that estimates the rotation position of the motor based on the current detection value. Switch.

特開2008−11628号公報Japanese Unexamined Patent Publication No. 2008-11628

特許文献1には、モータの回転を停止させるときに、具体的にどのようにするのかについての記載がない。特許文献1に記載のモータ制御方法では、モータの通常駆動中に、センサレスベクトル制御によってモータの回転位置を制御していることから、モータの停止時には、モータの回転位置を制御しながら回転を減速させて停止させると考えられる。具体的には、モータ内で十分な誘起電圧が得られなくなるまでセンサレスベクトル制御によってモータの回転を減速させ、その後、制御方式をオープンループ制御に切り換えて、回転を停止させるのである。 Patent Document 1 does not describe how to specifically stop the rotation of the motor. In the motor control method described in Patent Document 1, since the rotation position of the motor is controlled by sensorless vector control during the normal drive of the motor, when the motor is stopped, the rotation is decelerated while controlling the rotation position of the motor. It is thought that it will be stopped. Specifically, the rotation of the motor is decelerated by sensorless vector control until a sufficient induced voltage cannot be obtained in the motor, and then the control method is switched to open loop control to stop the rotation.

ところが、本発明者の実験によれば、特許文献1に記載のオープンループ制御を用いると、トルクの過不足によってモータの脱調や振動を引き起こしてしまうことが判明した。 However, according to the experiment of the present inventor, it has been found that when the open loop control described in Patent Document 1 is used, the excess or deficiency of torque causes step-out or vibration of the motor.

なお、モータの制御方式をセンサレスベクトル制御からオープンループ制御に切り換えるときに発生する課題について説明したが、次のような構成においても、同様の課題が生じ得る。即ち、制御方式を、エンコーダ等によるモータの回転位置の検出値をフィードバックするフィードバック制御から、オープンループ制御に切り換える構成である。 Although the problems that occur when the motor control method is switched from the sensorless vector control to the open loop control have been described, the same problems may occur in the following configurations. That is, the control method is switched from feedback control that feeds back the detected value of the rotation position of the motor by an encoder or the like to open loop control.

本発明は、以上の背景に鑑みてなされたものであり、その目的とするところは、次のようなモータ制御方法、モータ駆動装置、産業用ロボットの制御方法、及び産業用ロボットを提供することである。即ち、トルクの過不足によるモータの脱調や振動を発生させることなく、モータの回転をオープンループ制御によって停止させることができるモータ制御方法等である。 The present invention has been made in view of the above background, and an object of the present invention is to provide the following motor control method, motor drive device, control method for industrial robot, and industrial robot. Is. That is, it is a motor control method that can stop the rotation of the motor by open loop control without causing step-out or vibration of the motor due to excess or deficiency of torque.

本願の第1発明は、モータを電流引込法によるオープンループ制御によって駆動するモータ制御方法において、信号発信手段から送られてくる回転位置指令信号に基づいてモータに必要なトルクを求めるステップと、前記トルクに応じたQ軸電流指令値を求めるステップと、前記Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給するステップとを具備することを特徴とするモータ制御方法である。 The first invention of the present application is a step of obtaining a torque required for a motor based on a rotation position command signal sent from a signal transmitting means in a motor control method for driving a motor by open loop control by a current drawing method, and the above-mentioned step. It includes a step of obtaining a Q-axis current command value corresponding to the torque, a step of supplying a Q-axis current corresponding to the Q-axis current command value, and a step of supplying a D-axis current for drawing the magnetic pole of the rotor magnet to the motor. This is a motor control method characterized by the above.

本願の第2発明は、モータの駆動を制御するモータ駆動装置であって、第1発明のモータ制御方法によって前記モータの駆動を制御することを特徴とするモータ駆動装置である。 The second invention of the present invention is a motor driving device that controls the driving of a motor, and is a motor driving device characterized in that the driving of the motor is controlled by the motor control method of the first invention.

本願の第3発明は、複数のモータの駆動を個別に制御して産業用ロボットのアームの位置を変化させる産業用ロボットの制御方法であって、複数のモータにおけるそれぞれの駆動を、第1発明のモータ制御方法によって制御することを特徴とする産業用ロボットの制御方法である。 A third invention of the present application is a method for controlling an industrial robot in which the drive of a plurality of motors is individually controlled to change the position of an arm of the industrial robot, and the drive of each of the plurality of motors is controlled by the first invention. It is a control method of an industrial robot characterized by being controlled by the motor control method of the above.

本願の第4発明は、複数のモータの駆動を個別に制御してアームの位置を変化させる産業用ロボットであって、複数のモータにおけるそれぞれの駆動を、第2発明のモータ駆動装置によって制御することを特徴とする産業用ロボットである。 The fourth invention of the present application is an industrial robot that individually controls the drive of a plurality of motors to change the position of an arm, and the drive of each of the plurality of motors is controlled by the motor drive device of the second invention. It is an industrial robot characterized by this.

これらの発明によれば、トルクの過不足によるモータの脱調や振動を発生させることなく、モータの回転をオープンループ制御によって停止させることができるという優れた効果がある。 According to these inventions, there is an excellent effect that the rotation of the motor can be stopped by open loop control without causing step-out or vibration of the motor due to excess or deficiency of torque.

実施形態に係る産業用ロボットを示す斜視図。The perspective view which shows the industrial robot which concerns on embodiment. 同産業用ロボットを示す平面図。Top view showing the industrial robot. 同産業用ロボットに搭載されたモータ駆動装置の制御構成を、モータ等とともに示すブロック線図である。It is a block diagram which shows the control composition of the motor drive device mounted on the industrial robot together with a motor and the like. 同モータ駆動装置の制御モード選択部によって実行されるモード値選択処理の処理フローを示すフローチャートである。It is a flowchart which shows the process flow of the mode value selection process executed by the control mode selection part of the motor drive apparatus. 同モータ駆動装置のオープンループ制御電気角生成部を示すブロック線図である。It is a block diagram which shows the open loop control electric angle generation part of the motor drive device. 位置指令値と、位置指令値に応答した制御による手部の実際の回転位置との関係を示すグラフである。It is a graph which shows the relationship between the position command value and the actual rotation position of the hand part by the control corresponding to the position command value. 従来のオープンループ制御における各種状態の時間変化を示すグラフである。It is a graph which shows the time change of various states in the conventional open loop control. オープンループ制御開始直前のトルク指令値に基づいてオープンループ制御開始直後のQ軸電流指令値を決定する方法における各種状態の時間変化を示すグラフである。It is a graph which shows the time change of various states in the method of determining the Q-axis current command value immediately after the start of open loop control based on the torque command value immediately before the start of open loop control. 同モータ駆動装置のオープンループ制御DQ軸電流指令生成部の制御構成を示すブロック線図である。It is a block diagram which shows the control structure of the open loop control DQ axis current command generation part of the motor drive device. 同モータ駆動装置におけるQ軸電流指令値値とD軸電流指令値値との関係を示すグラフである。It is a graph which shows the relationship between the Q-axis current command value value and the D-axis current command value value in the motor drive device.

以下、図面を参照しながら、本発明の実施形態に係るモータ制御方法を用いるモータ駆動装置及び産業用ロボットの実施形態について説明する。なお、以下の図面においては、各構成をわかり易くするために、実際の構造、並びに、各構造における縮尺及び数、などを異ならせる場合がある。 Hereinafter, embodiments of a motor drive device and an industrial robot using the motor control method according to the embodiment of the present invention will be described with reference to the drawings. In the drawings below, the actual structure and the scale and number of each structure may be different in order to make each configuration easy to understand.

まず、実施形態に係る産業用ロボットの基本的な構成について説明する。図1は、実施形態に係る産業用ロボット1を示す斜視図である。図2は、産業用ロボット1を示す平面図である。産業用ロボット1は、ガラス基板を搬送するためのロボットであり、アーム2、架台3、及び昇降部4を備える。昇降部4は、架台3に保持され、不図示の昇降モータの駆動によって上下方向(図1の矢印方向)に昇降する。アーム2は、ガラス基板を載せる手部2A、前腕部2B、及び上腕部2Cを備え、昇降部4によって保持される。 First, the basic configuration of the industrial robot according to the embodiment will be described. FIG. 1 is a perspective view showing an industrial robot 1 according to an embodiment. FIG. 2 is a plan view showing the industrial robot 1. The industrial robot 1 is a robot for transporting a glass substrate, and includes an arm 2, a gantry 3, and an elevating part 4. The elevating part 4 is held by the gantry 3 and elevates and elevates in the vertical direction (in the direction of the arrow in FIG. 1) by driving an elevating motor (not shown). The arm 2 includes a hand portion 2A on which a glass substrate is placed, a forearm portion 2B, and an upper arm portion 2C, and is held by the elevating portion 4.

上腕部2Cにおける昇降部4との接続部である肩関節2Dは、第1モータ22Aの駆動によって水平方向に沿って回動することが可能である。具体的には、第1モータ22Aの回転駆動力が第1ベルト2Eを介して肩関節2Dに伝達されることで、肩関節2Dが水平方向に回動する。また、上腕部2Cと前腕部2Bとの接続部である肘関節2Fは、第2モータ22Bの駆動によって水平方向に沿って回動することが可能である。具体的には、第2モータ22Bの回転駆動力が第2ベルト2Gを介して肘関節2Fに伝達されることで、肘関節2F水平方向に回動する。また、前腕部2Bと手部2Aとの接続部である手首関節は、第2モータ22Bの駆動力をベルトを介して受けることで、水平方向に沿って回動することが可能である。 The shoulder joint 2D, which is the connection portion of the upper arm portion 2C with the elevating portion 4, can be rotated along the horizontal direction by the drive of the first motor 22A. Specifically, the rotational driving force of the first motor 22A is transmitted to the shoulder joint 2D via the first belt 2E, so that the shoulder joint 2D rotates in the horizontal direction. Further, the elbow joint 2F, which is a connecting portion between the upper arm portion 2C and the forearm portion 2B, can be rotated along the horizontal direction by the drive of the second motor 22B. Specifically, the rotational driving force of the second motor 22B is transmitted to the elbow joint 2F via the second belt 2G, so that the elbow joint 2F rotates in the horizontal direction. Further, the wrist joint, which is the connecting portion between the forearm portion 2B and the hand portion 2A, can rotate along the horizontal direction by receiving the driving force of the second motor 22B via the belt.

産業用ロボット1において、手部2Aを図2の一点鎖線で示される軌道に沿って矢印方向に真っ直ぐに移動させるためには、肩関節2Dと肘関節2Fとの角度を1対2の割合にして両関節を回転させる必要がある。そのためには、第1モータ22Aと第2モータ22Bとを互いに異なる駆動量で駆動する必要がある。第1モータ22と第2モータ22Bのそれぞれの回転位置を制御せずに両モータを停止させた場合、両モータの駆動量のバランスを崩して手部2Aを一点鎖線で示される軌道から逸れた位置で停止させてしまう。すると、周囲の構造物や装置などに、手部2Aをぶつけてしまうおそれがある。 In the industrial robot 1, in order to move the hand portion 2A straight in the direction of the arrow along the trajectory shown by the alternate long and short dash line in FIG. 2, the angle between the shoulder joint 2D and the elbow joint 2F is set to a ratio of 1: 2. It is necessary to rotate both joints. For that purpose, it is necessary to drive the first motor 22A and the second motor 22B with different driving amounts. When both motors are stopped without controlling the rotation positions of the first motor 22 and the second motor 22B, the balance of the driving amounts of both motors is lost and the hand portion 2A deviates from the trajectory indicated by the alternate long and short dash line. It will stop at the position. Then, there is a possibility that the hand portion 2A may hit the surrounding structure or device.

次に、実施形態に係るモータ制御方法を用いるモータ駆動装置について説明する。
図3は、実施形態に係る産業用ロボット1に搭載されたモータ駆動装置20の制御構成を、モータ22等とともに示すブロック線図である。なお、産業用ロボット1は、図3に示されるモータ駆動装置20として、アーム2の肩関節2Dを回動させるためのモータ駆動装置20、アーム2の肘関節2F、及び手首関節を回動させるためのモータ駆動装置20、及び昇降部4を昇降させるためのモータ駆動装置20の3つを備える。
Next, a motor drive device using the motor control method according to the embodiment will be described.
FIG. 3 is a block diagram showing a control configuration of the motor drive device 20 mounted on the industrial robot 1 according to the embodiment together with the motor 22 and the like. The industrial robot 1 rotates the motor drive device 20 for rotating the shoulder joint 2D of the arm 2, the elbow joint 2F of the arm 2, and the wrist joint as the motor drive device 20 shown in FIG. The motor drive device 20 for raising and lowering the elevating unit 4 and the motor drive device 20 for raising and lowering the elevating unit 4 are provided.

3つのモータ駆動装置20のそれぞれは、モータ22の駆動の制御方式として、検出位置フィードバック制御、センサレスベクトル制御、及びオープンループ制御の3つを切り換えて実行することができる。検出位置フィードバック制御は、モータの回転位置を検出した結果を、回転位置の指令生成にフィードバックする制御である。 Each of the three motor drive devices 20 can switch and execute the detection position feedback control, the sensorless vector control, and the open loop control as the control method for driving the motor 22. The detection position feedback control is a control that feeds back the result of detecting the rotation position of the motor to the command generation of the rotation position.

産業用ロボット1は、3つのモータ駆動装置20に指令を送る上位コントローラ100を備える。上位コントローラ100は、記憶媒体に記憶している制御プログラムに基づいて、3つのモータ駆動装置20のそれぞれに対して位置指令値(回転位置指令信号)を送信する。3つのモータ駆動装置20のそれぞれは、上位コントローラ100から送られてくる位置指令値に対応する回転位置までモータ22のロータを回転させる制御を実行する。この制御により、産業用ロボット1のアーム2が前述の制御プログラムに基づいた動作を行う。 The industrial robot 1 includes a host controller 100 that sends commands to three motor drive devices 20. The host controller 100 transmits a position command value (rotation position command signal) to each of the three motor drive devices 20 based on the control program stored in the storage medium. Each of the three motor drive devices 20 executes control to rotate the rotor of the motor 22 to a rotation position corresponding to the position command value sent from the host controller 100. By this control, the arm 2 of the industrial robot 1 performs an operation based on the above-mentioned control program.

3つのモータ駆動装置20の構成は互いに同様である。よって、以下、3つのモータ駆動装置20のうち、1つだけについて、構成を詳細に説明する。 The configurations of the three motor drive devices 20 are similar to each other. Therefore, the configuration of only one of the three motor drive devices 20 will be described in detail below.

モータ駆動装置20は、制御モード選択部21、位置速度制御部23、ベクトル制御DQ軸電流指令生成部24、第1セレクター25、電流制御部26、DQ逆変換部27、PWM制御部28、及びインバータ29を備える。モータ駆動装置20によって駆動されるモータ22は、上述の第1モータ22A、第2モータ22B、又は第3モータである。モータ駆動装置20は、電流検出部31、第2セレクター32、ベクトル制御電気角生成部33、第3セレクター34、位置推定部35、及びオープンループ制御電気角生成部36を備える。また、モータ駆動装置20は、オープンループ制御DQ軸電流指令生成部37、エンコーダ通信異常判定部38、及びDQ変換部39を備える。モータユニットは、モータ22及びロータリーエンコーダ30を備える。 The motor drive device 20 includes a control mode selection unit 21, a position / speed control unit 23, a vector control DQ axis current command generation unit 24, a first selector 25, a current control unit 26, a DQ inverse conversion unit 27, a PWM control unit 28, and The inverter 29 is provided. The motor 22 driven by the motor driving device 20 is the above-mentioned first motor 22A, second motor 22B, or third motor. The motor drive device 20 includes a current detection unit 31, a second selector 32, a vector control electric angle generation unit 33, a third selector 34, a position estimation unit 35, and an open loop control electric angle generation unit 36. Further, the motor drive device 20 includes an open loop control DQ axis current command generation unit 37, an encoder communication abnormality determination unit 38, and a DQ conversion unit 39. The motor unit includes a motor 22 and a rotary encoder 30.

上位コントローラ100から出力される位置指令値は、モータ駆動装置20の位置速度制御部23、及びオープンループ制御電気角生成部36に入力される。 The position command value output from the host controller 100 is input to the position speed control unit 23 of the motor drive device 20 and the open loop control electric angle generation unit 36.

産業用ロボット1のアーム2における旋回動作(肩関節2Dの回動)、関節曲げ伸ばし動作(肩関節2D、肘関節2F、及び手首関節の回動)、又は昇降動作の駆動源であるモータ22は、三相(U相、V相、W相)交流のPM(Permanent Magnet)モータからなる。モータ22に搭載された回転位置検出器としてのロータリーエンコーダ30は、周知の技術によってモータ22のロータの回転位置を検出する。そして、ロータリーエンコーダ30は、回転位置の検出結果の情報を位置検出値(回転位置信号)として出力する。出力された位置検出値は、エンコーダ通信異常判定部38、及び制御モード選択部21に入力される。また、位置検出値は、第2セレクター32を介して位置速度制御部23にも入力される。 The motor 22 that is the driving source for the turning motion (rotation of the shoulder joint 2D), the joint bending / stretching motion (rotation of the shoulder joint 2D, the elbow joint 2F, and the wrist joint), or the lifting motion of the arm 2 of the industrial robot 1. Consists of a three-phase (U-phase, V-phase, W-phase) AC PM (Permanent Joint) motor. The rotary encoder 30 as a rotation position detector mounted on the motor 22 detects the rotation position of the rotor of the motor 22 by a well-known technique. Then, the rotary encoder 30 outputs the information of the detection result of the rotation position as a position detection value (rotation position signal). The output position detection value is input to the encoder communication abnormality determination unit 38 and the control mode selection unit 21. The position detection value is also input to the position / speed control unit 23 via the second selector 32.

なお、以下、モータ22のロータの回転を、モータ22の回転と表現する場合がある。 Hereinafter, the rotation of the rotor of the motor 22 may be expressed as the rotation of the motor 22.

エンコーダ通信異常判定部38は、ロータリーエンコーダ30から送られてくる位置検出値について異常の有無を検出し、異常を検出した場合には異常発生信号を制御モード選択部21、及び上位コントローラ100に送信する。エンコーダ通信異常判定部38によって位置検出値の異常を検出する方法の1例として、位置検出値の時間変化量が所定の閾値を超えた場合(あるいは閾値以上である場合)に、異常として検出する方法が挙げられる。但し、この方法に限られるものではない。位置検出値の異常を検出する方法として、ロータリーエンコーダ30の異常を位置検出値の異常として検出する方法を採用してもよい。 The encoder communication abnormality determination unit 38 detects the presence or absence of an abnormality in the position detection value sent from the rotary encoder 30, and if an abnormality is detected, transmits an abnormality occurrence signal to the control mode selection unit 21 and the host controller 100. do. As an example of the method of detecting the abnormality of the position detection value by the encoder communication abnormality determination unit 38, when the time change amount of the position detection value exceeds a predetermined threshold value (or is equal to or more than the threshold value), it is detected as an abnormality. The method can be mentioned. However, the method is not limited to this method. As a method of detecting the abnormality of the position detection value, a method of detecting the abnormality of the rotary encoder 30 as the abnormality of the position detection value may be adopted.

制御モード選択部21は、ロータリーエンコーダ30から送られてくる位置検出値の単位時間あたりにおける変化量に基づいてモータ22の角速度を算出し、算出結果と、位置検出値の異常の有無とに基づいて制御モード値を選択して出力する。 The control mode selection unit 21 calculates the angular velocity of the motor 22 based on the amount of change in the position detection value sent from the rotary encoder 30 per unit time, and is based on the calculation result and the presence or absence of an abnormality in the position detection value. Select the control mode value and output it.

図4は、制御モード選択部21によって実行されるモード値選択処理の処理フローを示すフローチャートである。モード値選択処理では、まず、エンコーダ通信異常判定部38から必要に応じて発信される異常発生信号について、受信したか否かが判定される(S(ステップ)1)。そして、異常発生信号が受信されない場合には(S1にてN)、制御モード値として「0」が選択されて制御モード選択部21から出力される(S2)。その後、処理フローがS1に戻される。 FIG. 4 is a flowchart showing a processing flow of the mode value selection process executed by the control mode selection unit 21. In the mode value selection process, first, it is determined whether or not the abnormality occurrence signal transmitted from the encoder communication abnormality determination unit 38 as needed has been received (S (step) 1). Then, when the abnormality occurrence signal is not received (N in S1), "0" is selected as the control mode value and output from the control mode selection unit 21 (S2). After that, the processing flow is returned to S1.

一方、異常発生信号が受信された場合には(S1にてY)、次に、モータ22の角速度について、所定値以上であるか否か(あるいは所定値を超えるか否か)が判定される(S3)。そして、角速度が所定値以上である場合には(S3にてY)、制御モード値として「1」が選択されて制御モード選択部21から出力される(S4)。一方、所定値以上でない場合(あるいは所定値を超えない場合)には(S3にてN)、制御モード値として「2」が選択されて制御モード選択部21から出力される。以下、前述の所定値を、下限値と表現する場合がある。 On the other hand, when the abnormality occurrence signal is received (Y in S1), it is then determined whether or not the angular velocity of the motor 22 is equal to or higher than a predetermined value (or whether or not it exceeds a predetermined value). (S3). When the angular velocity is equal to or higher than a predetermined value (Y in S3), "1" is selected as the control mode value and output from the control mode selection unit 21 (S4). On the other hand, if it is not equal to or greater than the predetermined value (or does not exceed the predetermined value) (N in S3), "2" is selected as the control mode value and output from the control mode selection unit 21. Hereinafter, the above-mentioned predetermined value may be expressed as a lower limit value.

以上のようにして、制御モード値選択処理では、位置検出値の異常が発生していない場合には制御モード値として「0」が選択される。また、位置検出値の異常が発生し且つ角速度が所定値以上である場合には制御モード値として「1」が選択され、位置検出値の異常が発生し且つ角速度が所定値以上でない場合には制御モード値として「2」が選択される。 As described above, in the control mode value selection process, "0" is selected as the control mode value when no abnormality has occurred in the position detection value. If an abnormality in the position detection value occurs and the angular velocity is equal to or higher than the predetermined value, "1" is selected as the control mode value, and if an abnormality occurs in the position detection value and the angular velocity is not equal to or higher than the predetermined value. "2" is selected as the control mode value.

なお、前述の所定値は、例えばモータ22の定格角速度の10〔%〕である。 The above-mentioned predetermined value is, for example, 10% of the rated angular velocity of the motor 22.

上位コントローラ100は、モータ駆動装置20から異常発生信号が送られてくると、3つのモータ駆動装置20に送信する位置指令値を、アーム2を所定の軌道上で移動させながらアーム2及びモータ22を減速停止させるパターンで変化させる。これにより、アーム2は、所定の軌道上で減速しながら停止する。 When an abnormality occurrence signal is sent from the motor drive device 20, the host controller 100 transfers the position command values to be transmitted to the three motor drive devices 20 while moving the arm 2 on a predetermined orbit, and the arm 2 and the motor 22. Is changed in a pattern that decelerates and stops. As a result, the arm 2 stops while decelerating on a predetermined orbit.

図3において、制御モード選択部21から出力される制御モード値は、第1セレクター25、第2セレクター32、及び第3セレクター34(以下、これらをまとめて3つのセレクター(25、32、34)とも言う)のそれぞれに入力される。3つのセレクター(25、32、34)のそれぞれは、0番入力端子、1番入力端子、及び2番入力端子を備え、制御モード選択部21から送られてくる制御モード値に基づいて、出力信号を切り換える。具体的には、3つのセレクター(25、32、34)のそれぞれは、制御モード値が「0」である場合には0番入力端子に入力される信号を出力し、「1」である場合には1番入力端子に入力される信号を出力し、「2」である場合には2番入力端子に入力される信号を出力する。 In FIG. 3, the control mode values output from the control mode selection unit 21 are the first selector 25, the second selector 32, and the third selector 34 (hereinafter, these are collectively three selectors (25, 32, 34)). It is also entered in each of). Each of the three selectors (25, 32, 34) has a 0th input terminal, a 1st input terminal, and a 2nd input terminal, and outputs based on the control mode value sent from the control mode selection unit 21. Switch signals. Specifically, each of the three selectors (25, 32, 34) outputs a signal input to the 0th input terminal when the control mode value is "0", and when it is "1". Outputs the signal input to the 1st input terminal, and outputs the signal input to the 2nd input terminal when it is "2".

かかる構成の3つのセレクター(25、32、34)のそれぞれからは、次のような信号が出力される。即ち、位置検出値の異常が発生していない場合(制御モード値=0)には、モータ22を、位置検出値によって示される位置から、位置指令値によって示される位置まで回転させる検出位置フィードバック制御を実行するための信号が出力される。また、位置検出値の異常が発生し、且つモータ22の角速度が所定値以上(あるいは所定値を超える)である場合(制御モード値=1)には、後述のセンサレスベクトル制御によってモータ22を駆動するための信号が出力される。また、位置検出値の異常が発生し、且つモータ22の角速度が所定値未満(あるいは所定値以下)である場合(制御モード値=2)には、後述のオープンループ制御によってモータ22を駆動するための信号が出力される。 The following signals are output from each of the three selectors (25, 32, 34) having such a configuration. That is, when no abnormality in the position detection value has occurred (control mode value = 0), the detection position feedback control for rotating the motor 22 from the position indicated by the position detection value to the position indicated by the position command value. The signal to execute is output. Further, when an abnormality of the position detection value occurs and the angular velocity of the motor 22 is equal to or higher than a predetermined value (or exceeds a predetermined value) (control mode value = 1), the motor 22 is driven by the sensorless vector control described later. A signal is output. Further, when an abnormality of the position detection value occurs and the angular velocity of the motor 22 is less than a predetermined value (or a predetermined value or less) (control mode value = 2), the motor 22 is driven by the open loop control described later. Signal is output.

上述の3つの制御方式のうち、まず、検出位置フィードバック制御について説明する。
ロータリーエンコーダ30から出力される位置検出値の異常がない場合には、モータ駆動装置20が検出位置フィードバック制御によってモータ22を駆動する。具体的には、位置検出値の異常がない場合には、第2セレクター32から位置検出値が出力され、位置フィードバック値として位置速度制御部23、及びベクトル制御電気角生成部33に入力される。位置速度制御部23は、モータ22を位置フィードバック値によって示される位置から位置指令値によって示される位置まで回転させるのに必要なトルク値を算出し、結果をトルク指令値としてベクトル制御DQ軸電流指令生成部24に出力する。また、ベクトル制御電気角生成部33は、位置フィードバック値に基づいて電気角を生成する。この電気角は、第3セレクター34を介してDQ変換部39に入力される。
Of the above three control methods, first, the detection position feedback control will be described.
If there is no abnormality in the position detection value output from the rotary encoder 30, the motor drive device 20 drives the motor 22 by the detection position feedback control. Specifically, when there is no abnormality in the position detection value, the position detection value is output from the second selector 32 and input to the position speed control unit 23 and the vector control electric angle generation unit 33 as the position feedback value. .. The position / speed control unit 23 calculates the torque value required to rotate the motor 22 from the position indicated by the position feedback value to the position indicated by the position command value, and uses the result as the torque command value for vector control DQ axis current command. Output to the generation unit 24. Further, the vector control electric angle generation unit 33 generates an electric angle based on the position feedback value. This electric angle is input to the DQ conversion unit 39 via the third selector 34.

ベクトル制御DQ軸電流指令生成部24は、入力されたトルク値と同じトルクを発生させるのに必要なD軸電流、及びQ軸電流をモータ22内で発生させるためのD軸電流指令値、及びQ軸電流指令値(以下、これらをDQ軸電流指令値とも言う)を生成する。D軸電流は、モータ22に流れる電流のうちの永久磁石の磁束に平行な成分である。また、Q軸電流は、モータ22に流れる電流のうちの永久磁石の磁束に直交する成分である。 The vector-controlled DQ-axis current command generator 24 has a D-axis current required to generate the same torque as the input torque value, a D-axis current command value for generating the Q-axis current in the motor 22, and a D-axis current command value. A Q-axis current command value (hereinafter, these are also referred to as a DQ-axis current command value) is generated. The D-axis current is a component of the current flowing through the motor 22 that is parallel to the magnetic flux of the permanent magnet. The Q-axis current is a component of the current flowing through the motor 22 that is orthogonal to the magnetic flux of the permanent magnet.

ベクトル制御DQ軸電流指令生成部24から出力されるDQ軸電流指令値は、第1セレクター25の0番入力端子、及び1番入力端子に入力される。検出位置フィードバック制御が実行される場合(制御モード値=0)、及びセンサレスベクトル制御が実行される場合(制御モード値=1)には、ベクトル制御DQ軸電流指令生成部24によって生成されたDQ軸電流指令値が第1セレクター25から出力される。このDQ軸電流指令値は、電流制御部26に入力される。 The DQ axis current command value output from the vector control DQ axis current command generation unit 24 is input to the 0th input terminal and the 1st input terminal of the first selector 25. When the detection position feedback control is executed (control mode value = 0) and when the sensorless vector control is executed (control mode value = 1), the DQ generated by the vector control DQ axis current command generation unit 24 The shaft current command value is output from the first selector 25. This DQ axis current command value is input to the current control unit 26.

DQ変換部39は、第3セレクター34から送られてくる電気角に基づいてD軸電流フィードバック値、及びQ軸電流フィードバック値(以下、DQ軸電流フィードバック値とも言う)を生成して電流制御部26に出力する。なお、後述のセンサレスベクトル制御時においては、DQ変換部39が、第3セレクター34から送られてくる電気角と、電流検出部31から送られてくる三相電流検出値とに基づいてDQ軸電流フィードバック値を生成する。 The DQ conversion unit 39 generates a D-axis current feedback value and a Q-axis current feedback value (hereinafter, also referred to as a DQ-axis current feedback value) based on the electric angle sent from the third selector 34, and is a current control unit. Output to 26. At the time of sensorless vector control, which will be described later, the DQ conversion unit 39 has a DQ axis based on the electric angle sent from the third selector 34 and the three-phase current detection value sent from the current detection unit 31. Generate a current feedback value.

電流制御部26は、第1セレクター25から送られてくるDQ軸電流指令値と、DQ変換部39から送られてくるDQ軸電流フィードバック値とに基づいて、DQ軸電圧指令値を生成してDQ逆変換部27に出力する。 The current control unit 26 generates a DQ axis voltage command value based on the DQ axis current command value sent from the first selector 25 and the DQ axis current feedback value sent from the DQ conversion unit 39. Output to the DQ inverse conversion unit 27.

DQ逆変換部27は、第3セレクター34から送られてくる電気角と、電流制御部26から送られてくるDQ軸電圧指令値とに基づいて、要求されるD軸電流、及びQ軸電流をモータ22内に発生させるためのU相電圧指令値、V相電圧指令値、及びW相電圧指令値(以下、三相電圧指令値とも言う)を生成して出力する。DQ逆変換部27から出力される三相電圧指令値は、PWM制御部28に入力される。PWM制御部28は、U相電圧指令値、V相電圧指令値、W相電圧指令値によって示されるU相電圧、V相電圧、W相電圧をインバータ29から出力させるためのPWM信号からなるU相ゲート信号、V相ゲート信号、W相ゲート信号を生成する。インバータ29は、U相ゲート信号、V相ゲート信号、W相ゲート信号に基づくU相電圧、V相電圧、W相電圧をモータ22に供給して、モータ22を回転させる。 The DQ inverse conversion unit 27 receives the required D-axis current and Q-axis current based on the electric angle sent from the third selector 34 and the DQ-axis voltage command value sent from the current control unit 26. Is generated and output as a U-phase voltage command value, a V-phase voltage command value, and a W-phase voltage command value (hereinafter, also referred to as a three-phase voltage command value) for generating the current in the motor 22. The three-phase voltage command value output from the DQ inverse conversion unit 27 is input to the PWM control unit 28. The PWM control unit 28 is a U composed of a PWM signal for outputting the U-phase voltage, the V-phase voltage, and the W-phase voltage indicated by the U-phase voltage command value, the V-phase voltage command value, and the W-phase voltage command value from the inverter 29. A phase gate signal, a V phase gate signal, and a W phase gate signal are generated. The inverter 29 supplies the U-phase gate signal, the V-phase gate signal, the U-phase voltage based on the W-phase gate signal, the V-phase voltage, and the W-phase voltage to the motor 22 to rotate the motor 22.

電流検出部31は、インバータ29からモータ22に流れるU相電流、V相電流、及びW相電流(以下、これらを三相電流とも言う)を検出し、検出結果をU相電流検出値、V相電流検出値、W相電流検出値(以下、三相電流検出値とも言う)として出力する。なお、三相の電流値を検出することに代えて、三相のうち、二相の電流値だけを検出し、残りの一相の電流値については、二相の電流値の検出結果に基づいて算出してもよい。 The current detection unit 31 detects the U-phase current, the V-phase current, and the W-phase current (hereinafter, these are also referred to as three-phase currents) flowing from the inverter 29 to the motor 22, and the detection results are the U-phase current detection value and V. It is output as a phase current detection value and a W phase current detection value (hereinafter, also referred to as a three-phase current detection value). Instead of detecting the current value of the three phases, only the current value of the two phases is detected among the three phases, and the current value of the remaining one phase is based on the detection result of the current value of the two phases. May be calculated.

ロータリーエンコーダ30から出力される位置検出値の異常がない場合には、以上のような検出位置フィードバック制御によってモータ22が駆動される。 If there is no abnormality in the position detection value output from the rotary encoder 30, the motor 22 is driven by the detection position feedback control as described above.

次に、センサレスベクトル制御について説明する。センサレスベクトル制御が実行される場合、即ち、位置検出値の異常があり、且つ異常発生直前のモータ22の角速度が所定値以上である(あるいは所定値を超える)場合(制御モード値=1)には、以下のようにしてモータ22が駆動される。即ち、電流検出部31から出力される三相電流検出値は、DQ変換部39に入力される。DQ変換部39は、三相電流検出値と、第3セレクター34から送られてくる電気角とに基づいて、DQ軸電流フィードバック値を生成して出力する。出力されたDQ軸電流フィードバック値は、電流制御部26、及び位置推定部35に入力される。 Next, sensorless vector control will be described. When sensorless vector control is executed, that is, when there is an abnormality in the position detection value and the angular velocity of the motor 22 immediately before the abnormality occurs is equal to or greater than a predetermined value (or exceeds a predetermined value) (control mode value = 1). Drives the motor 22 as follows. That is, the three-phase current detection value output from the current detection unit 31 is input to the DQ conversion unit 39. The DQ conversion unit 39 generates and outputs a DQ axis current feedback value based on the three-phase current detection value and the electric angle sent from the third selector 34. The output DQ axis current feedback value is input to the current control unit 26 and the position estimation unit 35.

電流制御部26は、第1セレクター25から送られてくるDQ軸電流指令値と、DQ変換部から送られてくるDQ軸電流フィードバック値とに基づいて、DQ軸電圧指令値を生成して出力する。位置推定部35は、電流制御部26から送られてくるDQ軸電圧指令値と、DQ変換部39から送られてくるDQ軸電流フィードバック値とに基づいて、モータ22の回転位置を推定する。 The current control unit 26 generates and outputs a DQ axis voltage command value based on the DQ axis current command value sent from the first selector 25 and the DQ axis current feedback value sent from the DQ conversion unit. do. The position estimation unit 35 estimates the rotational position of the motor 22 based on the DQ axis voltage command value sent from the current control unit 26 and the DQ axis current feedback value sent from the DQ conversion unit 39.

位置推定部35は、DQ変換部39から送られてくるDQ軸電流フィードバック値と、電流制御部26から送られてくるDQ軸電圧指令値とに基づいて、位置推定値と、電気角推定値とを求める。そして、位置推定部35は、位置推定値を第2セレクター32の1番入力端子に出力し、且つ電気角推定値を第3セレクターの1番入力端子に出力する。 The position estimation unit 35 has a position estimation value and an electric angle estimation value based on the DQ axis current feedback value sent from the DQ conversion unit 39 and the DQ axis voltage command value sent from the current control unit 26. And ask. Then, the position estimation unit 35 outputs the position estimation value to the first input terminal of the second selector 32, and outputs the electric angle estimation value to the first input terminal of the third selector.

位置推定部35から出力される位置推定値は、第2セレクター32を介して、位置フィードバック値として位置速度制御部23に入力される。位置速度制御部23は、位置フィードバック値として位置推定値を用いる点の他は検出位置フィードバック制御と同様にしてトルク指令値を出力する。このトルク指令値に基づくU相ゲート信号、V相ゲート信号、W相ゲート信号としてインバータ―29に入力されるまでの処理は、検出位置フィードバック制御と同様である。つまり、センサレスベクトル制御では、位置検出値の代わりに、モータ22内で発生する誘起電圧に基づく位置推定値を位置フィードバック値として位置速度制御部23にフィードバックする点の他は、検出位置フィードバック制御と同様の処理が行われる。 The position estimation value output from the position estimation unit 35 is input to the position speed control unit 23 as a position feedback value via the second selector 32. The position / speed control unit 23 outputs a torque command value in the same manner as the detected position feedback control except that the position estimated value is used as the position feedback value. The processing until the U-phase gate signal, the V-phase gate signal, and the W-phase gate signal are input to the inverter 29 based on the torque command value is the same as the detection position feedback control. That is, in the sensorless vector control, the detected position feedback control is performed except that the position estimated value based on the induced voltage generated in the motor 22 is fed back to the position speed control unit 23 as the position feedback value instead of the position detected value. The same process is performed.

なお、モータ駆動装置20は、センサレスベクトル制御において、検出位置フィードバック制御に比べて位置速度制御の制御ループゲインを低下させる。制御ループゲインを低下させる方法の1例として、上位コントローラ100の指令によって制御ループゲインを低下させる方法が挙げられる。アーム2の軌道を精度良く維持するためには、位置検出値の異常が発生したモータ駆動装置20だけでなく、他のモータ駆動装置20の位置速度制御の制御ループゲインも低下させることが望ましい。上位コントローラ100の指令によれば、全てのモータ駆動装置20における位置速度制御の制御ループゲインを適切に低下させることが可能である。 In the sensorless vector control, the motor drive device 20 lowers the control loop gain of the position speed control as compared with the detection position feedback control. As an example of the method of lowering the control loop gain, there is a method of lowering the control loop gain by a command of the host controller 100. In order to maintain the trajectory of the arm 2 with high accuracy, it is desirable to reduce not only the motor drive device 20 in which the abnormality of the position detection value has occurred but also the control loop gain of the position speed control of the other motor drive device 20. According to the command of the host controller 100, it is possible to appropriately reduce the control loop gain of the position speed control in all the motor drive devices 20.

モータ駆動装置20の位置速度制御の制御ループゲインを低下させる他の1例として、位置検出値の異常を引き起こしたモータ駆動装置20の処理によって、そのモータ駆動装置20の位置速度制御の制御ループゲインだけ低下させる方法が挙げられる。この方法の処理の1例としては、P−PI制御によって回転位置と角速度とを制御する構成において、速度ループゲイン、位置ループゲイン、及び速度ループ積分ゲインのそれぞれを低下させる方法が挙げられる。また、他の1例として、例えば特開2002−229604号公報に記載のようなRPP制御によって回転位置と角速度とを制御する構成において、ωゲイン、ωゲイン、ωゲインを低下させる方法が挙げられる。また、更なる他の例として、RPP制御によって回転位置と角速度とを制御する構成において、イナーシャノミナル設定値を低下させる方法が挙げられる。イナーシャノミナル設定値を低下させることで、ω2ゲイン、ωゲインを近似的に低下させることが可能である。この方法によれば、制御ループゲインを低下させるための専用のプログラムを構築することなく、制御ループゲインを適切に低下させることができる。 As another example of reducing the control loop gain of the position / speed control of the motor drive device 20, the control loop gain of the position / speed control of the motor drive device 20 by the processing of the motor drive device 20 that caused the abnormality of the position detection value. There is a way to reduce only. As an example of the processing of this method, there is a method of reducing each of the speed loop gain, the position loop gain, and the speed loop integrated gain in the configuration in which the rotation position and the angular velocity are controlled by P-PI control. Further, as another example, in a configuration in which the rotation position and the angular velocity are controlled by RPP control as described in JP-A-2002-229604, for example, a method of reducing ω 2 gain, ω 1 gain, and ω q gain. Can be mentioned. Further, as another example, there is a method of lowering the inertial nominal set value in a configuration in which the rotation position and the angular velocity are controlled by RPP control. By reducing the inertia nominal setpoint, it is possible to reduce omega 2 gain, the omega 1 gain approximately. According to this method, the control loop gain can be appropriately reduced without constructing a dedicated program for reducing the control loop gain.

次に、オープンループ制御について説明する。オープンループ制御が実行される場合、即ち、位置検出値の異常があり、且つモータ22の角速度が所定値未満である(あるいは所定値以下である)場合(制御モード値=2)には、以下のようにしてモータ22が駆動される。即ち、オープンループ制御電気角生成部36は、上位コントローラ100から送られてくる位置指令値に基づいてモータ22の磁極を引き付ける回転位置(以下、強制同期位置指令値と言う)を算出してオープンループ制御DQ軸電流指令生成部37に出力する。また、位置指令値に基づいて電気角推定値を算出して第3セレクター34に出力する。 Next, open loop control will be described. When open loop control is executed, that is, when there is an abnormality in the position detection value and the angular velocity of the motor 22 is less than (or less than or equal to) the predetermined value (control mode value = 2), the following The motor 22 is driven in this way. That is, the open loop control electric angle generator 36 calculates and opens the rotation position (hereinafter referred to as the forced synchronization position command value) that attracts the magnetic poles of the motor 22 based on the position command value sent from the host controller 100. Output to the loop control DQ axis current command generation unit 37. Further, the estimated electric angle value is calculated based on the position command value and output to the third selector 34.

制御方式を、検出位置フィードバック制御やセンサレスベクトル制御に切り換えるときに、モータ22の電気角を、位置検出値、又は位置推定値によって示される角度から、オープンループ制御を実施するための初期角に切り換えたとする。このとき、モータ22に流すDQ軸電流ベクトルの向きを、Q軸方向からD軸方向の正の向きへ瞬時に切り換えると、次のような不具合を発生させてしまう。即ち、モータ22を駆動源とする駆動対象機械(アーム2全体、手部2A、前腕部2B、又は上腕部2C)を運動させるためのトルクが得られなくなり、モータ22の脱調や大きな振動を発生させてしまう。 When switching the control method to detection position feedback control or sensorless vector control, the electric angle of the motor 22 is switched from the angle indicated by the position detection value or the position estimation value to the initial angle for performing open loop control. Suppose. At this time, if the direction of the DQ-axis current vector flowing through the motor 22 is instantaneously switched from the Q-axis direction to the positive direction in the D-axis direction, the following problems will occur. That is, the torque for moving the drive target machine (the entire arm 2, the hand 2A, the forearm 2B, or the upper arm 2C) using the motor 22 as the drive source cannot be obtained, causing the motor 22 to step out or vibrate greatly. It will occur.

そこで、図3に示されるオープンループ制御電気角生成部38は、モータ22の回転位置を、検出位置フィードバック制御の実行時と同様に時間変化させるように電気角を生成する。 Therefore, the open-loop control electric angle generation unit 38 shown in FIG. 3 generates an electric angle so that the rotation position of the motor 22 changes with time in the same manner as when the detection position feedback control is executed.

図5は、オープンループ制御電気角生成部36を示すブロック線図である。このオープンループ制御電気角生成部36は、制御器36aと、電気系・機械系のモデル36bと、電気角算出部36cとを備える。 FIG. 5 is a block diagram showing an open loop control electric angle generation unit 36. The open-loop control electric angle generation unit 36 includes a controller 36a, an electric / mechanical model 36b, and an electric angle calculation unit 36c.

制御器36aは、位置速度制御部36a1、ベクトル制御DQ軸電流指令生成部36a2、電流制御部36a3、DQ逆変換部36a4、PWM制御部36a5、及びDQ変換部36a6を備える。図5に示される位置速度制御部36a1は、図3に示される位置速度制御部23と同様の処理を実行する。図5に示されるベクトル制御DQ軸電流指令生成部36a2は、図3に示されるベクトル制御DQ軸電流指令生成部24と同様の処理を実行する。図5に示される電流制御部36a3は、図3に示される電流制御部26と同様の処理を実行する。図5に示されるDQ逆変換部36a4は、図3に示されるDQ逆変換部27と同様の処理を実行する。図5に示されるPWM制御部36a5は、図3に示されるPWM制御部28と同様の処理を実行する。図5に示されるDQ変換部36a6は、図3に示されるDQ変換部39と同様の処理を実行する。 The controller 36a includes a position / speed control unit 36a1, a vector control DQ axis current command generation unit 36a2, a current control unit 36a3, a DQ inverse conversion unit 36a4, a PWM control unit 36a5, and a DQ conversion unit 36a6. The position / speed control unit 36a1 shown in FIG. 5 executes the same processing as the position / speed control unit 23 shown in FIG. The vector control DQ axis current command generation unit 36a2 shown in FIG. 5 executes the same processing as the vector control DQ axis current command generation unit 24 shown in FIG. The current control unit 36a3 shown in FIG. 5 executes the same processing as the current control unit 26 shown in FIG. The DQ inverse conversion unit 36a4 shown in FIG. 5 executes the same processing as the DQ inverse conversion unit 27 shown in FIG. The PWM control unit 36a5 shown in FIG. 5 executes the same processing as the PWM control unit 28 shown in FIG. The DQ conversion unit 36a6 shown in FIG. 5 executes the same processing as the DQ conversion unit 39 shown in FIG.

電気系・機械系のモデル36bは、インバータ36b1のモデル、モータ36b2のモデル、及びモータに対する負荷機械36b5のモデルを備える。これらモデルは、U相、V相、W相のそれぞれについてゲート信号が変化前の値から変化後の値に変化した場合に、モータ22の回転位置と、モータ22に流れる電流値とについてどのように変化するのかをシミュレーションするアルゴリズムを備える。シミュレーションによって得られた位置シミュレーション値は、ロータリーエンコーダ36b4のモデルから出力され、制御器36aの位置速度制御部36a1と、電気角算出部36cと、図3におけるオープンループ制御DQ軸電流指令生成部37とに入力される。 The electrical / mechanical model 36b includes a model of the inverter 36b1, a model of the motor 36b2, and a model of the load machine 36b5 for the motor. These models show how the rotation position of the motor 22 and the current value flowing through the motor 22 when the gate signal changes from the value before the change to the value after the change for each of the U phase, the V phase, and the W phase. It is equipped with an algorithm that simulates whether it changes to. The position simulation value obtained by the simulation is output from the model of the rotary encoder 36b4, and the position speed control unit 36a1 of the controller 36a, the electric angle calculation unit 36c, and the open loop control DQ axis current command generation unit 37 in FIG. Is entered in.

図5における電気角算出部36cは、位置シミュレーション値に基づいてモータ22の電気角を算出し、結果を図3におけるDQ逆変換部27、及びDQ変換部39に出力する。 The electric angle calculation unit 36c in FIG. 5 calculates the electric angle of the motor 22 based on the position simulation value, and outputs the result to the DQ inverse conversion unit 27 and the DQ conversion unit 39 in FIG.

位置検出値の異常発生時において、制御方式を。検出位置フィードバック制御、あるいはセンサレスベクトル制御から、オープンループ制御に切り換えた後には、位置検出値を行う場合と同様の挙動でモータを動作させることが可能である。よって、実施形態に係るモータ制御方法によれば、制御方式をオープンループ制御に切り換え後の電気角の急激な変化によるモータの脱調や振動の発生を抑えることができる。 Control method when an abnormality occurs in the position detection value. After switching from the detection position feedback control or the sensorless vector control to the open loop control, it is possible to operate the motor in the same behavior as when the position detection value is performed. Therefore, according to the motor control method according to the embodiment, it is possible to suppress the occurrence of step-out and vibration of the motor due to a sudden change in the electric angle after the control method is switched to the open loop control.

なお、モータ22の回転位置と、モータ22に供給される電流値とをシミュレーションすることに代えて、モータ22の回転位置だけをシミュレーションしてもよい。この場合、位置指令値と位置シミュレーション値とに基づいて必要なトルク指令値を求める処理を位置速度制御部36a1によって実行し、得られたトルク指令値を機械系のモデル36bに入力して位置シミュレーション値を得ればよい。 Instead of simulating the rotational position of the motor 22 and the current value supplied to the motor 22, only the rotational position of the motor 22 may be simulated. In this case, the position / speed control unit 36a1 executes a process of obtaining the required torque command value based on the position command value and the position simulation value, and inputs the obtained torque command value to the mechanical model 36b for position simulation. Just get the value.

また、モータの回転位置をシミュレーションすることに代えて、位置指令値を位置制御応答伝達関数G(s)により、仮想的に検出位置フィードバック制御を実行した場合における位置検出値に応答した後のモータ22の回転位置に変換してもよい。位置制御応答伝達関数G(s)を用いて位置変換値を得る方法では、位置指令値について、実際の制御においてどのような遅れでどのような回転位置に反映されるのかを位置制御応答伝達関数G(s)によって位置変換値として求める。得られた位置変換値を、図3に示されるDQ逆変換部27、及びDQ変換部39に出力し、且つ強制同期位置指令値としてオープンループ制御DQ軸電流指令生成部37に出力すればよい。また、位置変換値に基づいて電気角を算出すればよい。 Further, instead of simulating the rotation position of the motor, the motor after responding to the position detection value when the position command value is virtually detected and the position feedback control is executed by the position control response transfer function G (s). It may be converted to the rotation position of 22. In the method of obtaining the position conversion value using the position control response transfer function G (s), the position control response transfer function determines what kind of delay and what kind of rotation position the position command value is reflected in the actual control. Obtained as a position conversion value by G (s). The obtained position conversion value may be output to the DQ inverse conversion unit 27 and the DQ conversion unit 39 shown in FIG. 3 and output to the open loop control DQ axis current command generation unit 37 as the forced synchronization position command value. .. Further, the electric angle may be calculated based on the position conversion value.

位置制御応答伝達関数G(s)の基本式は、次式で表される。

Figure 2021125950
The basic equation of the position control response transfer function G (s) is expressed by the following equation.
Figure 2021125950

この基本式を用いて位置変換値を得ることが望ましいが、基本式の右辺を改変した次式によって位置指令値を位置変換値に変換してもよい。

Figure 2021125950
It is desirable to obtain the position conversion value using this basic formula, but the position command value may be converted into the position conversion value by the following formula obtained by modifying the right side of the basic formula.
Figure 2021125950

ff、ff、ω、及びωのうち、ωだけを含む単純な位置制御応答伝達関数G(s)を用いることで、高速で高価な演算装置(例えばCPU)を用いることなく、モータ22の位置変換値を高速で求めることが可能である。単純な位置制御応答伝達関数G(s)であっても、次のような態様におけるモータ制御であれば、モータ22の位置変換値を適切な値で求めることが可能である。即ち、ffが1に近い値をとり、且つffが0に近い値をとる態様である。 By using a simple position control response transfer function G (s) containing only ω 2 among ff 1 , ff 2 , ω 1 , and ω 2 , a high-speed and expensive arithmetic unit (for example, a CPU) is not used. , It is possible to obtain the position conversion value of the motor 22 at high speed. Even with a simple position control response transfer function G (s), the position conversion value of the motor 22 can be obtained with an appropriate value if the motor is controlled in the following aspects. That is, ff 1 takes a value close to 1, and ff 2 takes a value close to 0.

前述の態様であれば、モータ22の制御方式を、検出位置フィードバック制御、あるいは、センサレスベクトル制御から、オープンループ制御に切り換えた後において、位置フィードバック制御を行う場合と同様の挙動でモータを動作させることが可能である。このため、制御方式をオープンループ制御に切り換えた後のモータ22の脱調や振動の発生を抑え、且つ位置変換値を安価な演算装置によって適切に求めることができる。 In the above-described embodiment, after the control method of the motor 22 is switched from the detection position feedback control or the sensorless vector control to the open loop control, the motor is operated in the same manner as in the case of performing the position feedback control. It is possible. Therefore, it is possible to suppress the occurrence of step-out and vibration of the motor 22 after switching the control method to open-loop control, and to appropriately obtain the position conversion value by an inexpensive arithmetic unit.

なお、モータ22の電気角を位置指令値に近づける方法として、オープンループ制御に切り換わる直前の位置偏差を初期値として、位置偏差を徐々にゼロに収束させる一次遅れフィルターを用いる方法も考えられる。しかしながら、この方法では、位置指令値とは無関係に位置偏差を減少させることから、手部2Aを所望の軌道に沿って移動させることができない。 As a method of bringing the electric angle of the motor 22 closer to the position command value, a method of using a first-order lag filter that gradually converges the position deviation to zero with the position deviation immediately before switching to the open loop control as the initial value is also conceivable. However, in this method, since the position deviation is reduced regardless of the position command value, the hand portion 2A cannot be moved along the desired trajectory.

図6は、位置指令値と、位置指令値に応答した制御による手部2Aの実際の回転位置との関係を示すグラフである。回転位置と時間との関係を示すグラフに着目すると、位置指令値の変化に対して実際の位置の変化が遅れている。これは、指令に応答する実際の位置の変化に時間を要するからである。検出位置フィードバック制御やセンサレスベクトル制御では、産業用ロボット1の各関節のモータの位置指令値に対して実際の回転位置を均一に遅らせるように位置制御ゲインを設定することで、手部2Aの軌道精度を確保する。一方、オープンループ制御において、上述の一次遅れフィルタによって特定の軸だけ位置偏差をゼロに収束させる方法を用いると、図示のように、実際の回転位置の変化が、検出位置フィードバック制御の時とは異なる。これにより、各軸の位置の位置指令値に対する遅れ方に差が生じ、手部2Aの位置が目標の軌道から逸れてしまう。これに対し、実施形態に係るオープンループ制御のようにシミュレーション値を用いる方法では、図示のように、位置指令値の変化に対して実際の回転位置を、検出位置フィードバック制御を実行したときと同じように変化させることができる(手部2Aを目標の軌道に沿って移動させることができる)。 FIG. 6 is a graph showing the relationship between the position command value and the actual rotation position of the hand portion 2A by the control in response to the position command value. Focusing on the graph showing the relationship between the rotation position and time, the change in the actual position is delayed with respect to the change in the position command value. This is because it takes time to change the actual position in response to the command. In the detection position feedback control and the sensorless vector control, the trajectory of the hand 2A is set by setting the position control gain so as to uniformly delay the actual rotation position with respect to the position command value of the motor of each joint of the industrial robot 1. Ensure accuracy. On the other hand, in open-loop control, when the method of converging the position deviation to zero only on a specific axis by the above-mentioned first-order lag filter is used, as shown in the figure, the change in the actual rotation position is different from that in the detection position feedback control. different. As a result, there is a difference in the delay of the position of each axis with respect to the position command value, and the position of the hand portion 2A deviates from the target trajectory. On the other hand, in the method using the simulation value as in the open loop control according to the embodiment, as shown in the figure, the actual rotation position is the same as when the detection position feedback control is executed with respect to the change in the position command value. (The hand 2A can be moved along the target trajectory).

図7は、従来のオープンループ制御における各種状態の時間変化を示すグラフである。図7では、モータ22を検出位置フィードバック制御で起動した後、モータ22の回転の角速度をセンサレスベクトル制御の下限値に到達させる前に、位置検出値の異常発生に起因して従来のオープンループ制御でモータ22を停止させた例を示している。この例では、モータ22の起動後に、検出位置フィードバック制御によってQ軸電流指令値を増加させてモータ22の角速度を上昇させていく。その後、位置検出値の異常発生に起因してモータ22を停止させるべく、制御方式をオープンループ制御に切り換えると、フィルタ処理によってQ軸電流指令値をゼロまで減少させた後、モータ22の回転を停止させるまで、Q軸電流指令値をゼロに維持する。 FIG. 7 is a graph showing time changes of various states in the conventional open loop control. In FIG. 7, after the motor 22 is started by the detection position feedback control, before the angular velocity of the rotation of the motor 22 reaches the lower limit value of the sensorless vector control, the conventional open-loop control is performed due to the occurrence of an abnormality in the position detection value. Shows an example in which the motor 22 is stopped. In this example, after the motor 22 is started, the Q-axis current command value is increased by the detection position feedback control to increase the angular velocity of the motor 22. After that, when the control method is switched to open loop control in order to stop the motor 22 due to the occurrence of an abnormality in the position detection value, the Q-axis current command value is reduced to zero by filter processing, and then the rotation of the motor 22 is started. The Q-axis current command value is maintained at zero until it is stopped.

ところが、前述のようなQ軸電流指令値の変化では、トルクの過不足によってモータ22の脱調や振動を発生させてしまうことが判明した。必要なトルクを発生させるためには、モータ22に対するQ軸電流の供給が必要だからである。具体的には、図7に示されるように、正常時の検出位置フィードバック制御でモータ22を停止させると仮定した場合、Q軸電流指令値は、まず、サインカーブ状にゼロまで減少した後、再びマイナス方向に増加し、マイナス側でサインカーブ状の変動を経てゼロに戻る。必要なトルクを得ながらモータ22を停止させるためには、前述のようにQ軸電流指令値を変化させる必要がある。 However, it has been found that the change in the Q-axis current command value as described above causes step-out or vibration of the motor 22 due to excess or deficiency of torque. This is because it is necessary to supply the Q-axis current to the motor 22 in order to generate the required torque. Specifically, as shown in FIG. 7, assuming that the motor 22 is stopped by the detection position feedback control in the normal state, the Q-axis current command value first decreases to zero in a sine curve shape, and then It increases in the minus direction again, and returns to zero through a sine curve-like fluctuation on the minus side. In order to stop the motor 22 while obtaining the required torque, it is necessary to change the Q-axis current command value as described above.

そこで、実施形態に係るモータ駆動装置20では、位置指令値に基づいてモータ22に必要なトルクを求めた後、トルクに応じたQ軸電流指令値を求め、Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給する。かかる構成によれば、モータ22に必要なトルクに応じた値のQ軸電流をモータに供給することで、トルクの過不足に起因するモータ22の脱調や振動を引き起こすことなく、オープンループ制御によってモータ22の駆動を停止させることができる。 Therefore, in the motor drive device 20 according to the embodiment, after obtaining the torque required for the motor 22 based on the position command value, the Q-axis current command value corresponding to the torque is obtained, and the Q corresponding to the Q-axis current command value is obtained. A shaft current and a D-axis current for drawing in the magnetic poles of the rotor magnet are supplied to the motor. According to this configuration, by supplying a Q-axis current of a value corresponding to the torque required for the motor 22 to the motor, open loop control is performed without causing step-out or vibration of the motor 22 due to excess or deficiency of torque. The drive of the motor 22 can be stopped.

モータ22を位置指令値によって指令された位置まで回転させるのに必要なトルクを求める方法として、位置指令値に基づいて仮想的に検出位置フィードバック制御を実行した場合の角加速度を推定し、得られた角加速度推定値に基づいて必要なトルクを求める方法が挙げられる。これにより、モータ22を所望の角速度で回転させるのに必要なトルクを求めることができる。 As a method of obtaining the torque required to rotate the motor 22 to the position commanded by the position command value, the angular acceleration when the detection position feedback control is virtually executed based on the position command value is estimated and obtained. A method of obtaining the required torque based on the estimated angular acceleration value can be mentioned. This makes it possible to obtain the torque required to rotate the motor 22 at a desired angular velocity.

また、必要なトルクを求める別の方法として、位置指令値に基づいて必要な角速度、及び角加速度を推定し、得られた角速度推定値、及び角加速度推定値に基づいて必要なトルクを求める方法が挙げられる。より詳しくは、角加速度推定値に基づいて加速又は減速に必要なトルクを求め、且つ角速度推定値に基づいて必要な粘性抵抗、及びクーロン摩擦のうちの少なくとも一方を補償するためのトルク求めるのである。 Further, as another method for obtaining the required torque, a method of estimating the required angular velocity and angular acceleration based on the position command value and obtaining the required torque based on the obtained angular velocity estimated value and the angular acceleration estimated value. Can be mentioned. More specifically, the torque required for acceleration or deceleration is obtained based on the estimated angular acceleration value, and the required viscous resistance and the torque for compensating at least one of the Coulomb frictions are obtained based on the estimated angular velocity speed. ..

なお、オープンループ制御において、位置指令値と、直前のトルク指令値とに基づいて必要なトルクを推定する方法では、次のような不具合を発生させてしまうことが本発明者による実験で判明した。即ち、センサレスベクトル制御からオープンループ制御に切り換わった場合に、位置検出値の異常の発生タイミングによっては、モータ22を大きく振動させてしまうという不具合である。 In the open loop control, the method of estimating the required torque based on the position command value and the immediately preceding torque command value has been found to cause the following problems in the experiment by the present inventor. .. That is, when the sensorless vector control is switched to the open loop control, the motor 22 vibrates greatly depending on the timing of occurrence of the abnormality of the position detection value.

図8は、オープンループ制御開始直前のトルク指令値に基づいてオープンループ制御開始直後のQ軸電流指令値を決定する方法における各種状態の時間変化を示すグラフである。図8では、位置検出値の異常が発生した後の時間帯にも、検出位置フィードバック制御による各種状態の系列が記されているが、同系列は、異常が発生しなかったと仮定した場合にどのように状態が変化するのかを示している。 FIG. 8 is a graph showing time changes of various states in the method of determining the Q-axis current command value immediately after the start of open loop control based on the torque command value immediately before the start of open loop control. In FIG. 8, a series of various states by the detection position feedback control is also shown in the time zone after the abnormality of the position detection value occurs. It shows how the state changes.

図8に示される例では、モータ22が検出位置フィードバック制御によって起動された後、モータ22の回転の角速度がセンサレスベクトル制御の下限値(閾値)よりも少しだけ高い値まで上昇したときに、位置検出値の異常が発生している。 In the example shown in FIG. 8, after the motor 22 is activated by the detection position feedback control, the position when the angular velocity of rotation of the motor 22 rises to a value slightly higher than the lower limit value (threshold value) of the sensorless vector control. An error in the detected value has occurred.

異常の発生に基づいて制御方向が検出位置フィードバック制御からセンサレスベクトル制御に切り換わると、図示のように、切り換え直後には、電流検出による回転位置推定の過渡現象によってモータ22の回転が不安定になって、電流検出値による角速度推定値が大きく変動する。位置検出値の異常発生時にモータ22の角速度がセンサレスベクトル制御の下限値よりも少しだけ高いであったため、センサレスベクトル制御が短時間しか実行されない。このため、電流検出値に基づく位置推定値の振動が収束して角速度推定値が安定化する前に制御方式がオープンループ制御に移行する。Q軸電流値は角速度推定値に対する定数の乗算によって算出されることから、制御方式がセンサレスベクトル制御からオープンループ制御に切り換わる直前のトルク指令値は、オープンループ制御の実行に必要なトルクに応じた値からかけ離れている可能性がある。このような値のトルク指令値を用いると、モータ22を大きく振動させてしまうおそれがある。以下、前述のようにしてモータ22が大きく振動してしまう現象を、センサレスベクトル制御の位置推定応答性不足によるオープンループ制御切り換わり時のモータ22の振動という。 When the control direction is switched from the detection position feedback control to the sensorless vector control based on the occurrence of an abnormality, as shown in the figure, the rotation of the motor 22 becomes unstable due to the transient phenomenon of the rotation position estimation by the current detection immediately after the switching. Therefore, the angular velocity estimated value based on the current detection value fluctuates greatly. Since the angular velocity of the motor 22 was slightly higher than the lower limit of the sensorless vector control when the position detection value was abnormal, the sensorless vector control was executed only for a short time. Therefore, the control method shifts to open-loop control before the vibration of the position estimated value based on the current detected value converges and the angular velocity estimated value stabilizes. Since the Q-axis current value is calculated by multiplying the estimated angular velocity by a constant, the torque command value immediately before the control method switches from sensorless vector control to open loop control depends on the torque required to execute open loop control. It may be far from the value. If a torque command value of such a value is used, the motor 22 may vibrate significantly. Hereinafter, the phenomenon in which the motor 22 vibrates significantly as described above is referred to as vibration of the motor 22 when the open loop control is switched due to insufficient position estimation response of the sensorless vector control.

なお、検出位置フィードバック制御においてモータ22が十分な角速度で回転しているときに位置検出値の異常が発生した場合には、センサレスベクトル制御が十分な時間実行されて角速度推定値が安定化してから制御方式がオープンループ制御に切り換わる。すると、オープンループ制御にて、制御方式をセンサレスベクトル制御からオープンループ制御に切り換えた直後のトルク指令値適切な値で求めることが可能なので、モータ22を大きく振動させることはない。 If an abnormality occurs in the position detection value while the motor 22 is rotating at a sufficient angular velocity in the detection position feedback control, the sensorless vector control is executed for a sufficient time after the estimated angular velocity value is stabilized. The control method switches to open loop control. Then, in the open loop control, the torque command value immediately after the control method is switched from the sensorless vector control to the open loop control can be obtained with an appropriate value, so that the motor 22 is not vibrated significantly.

実施形態に係るモータ駆動装置20では、位置指令値に応答した後のモータ22の回転位置推定値を求め、得られた回転位置推定値に基づいて角加速度推定値を求める。回転位置推定値は、オープンループ制御DQ軸電気角生成部36によって強制同期位置指令値として求められる。 In the motor drive device 20 according to the embodiment, the rotational position estimated value of the motor 22 after responding to the position command value is obtained, and the angular acceleration estimated value is obtained based on the obtained rotational position estimated value. The rotation position estimated value is obtained as a forced synchronization position command value by the open loop control DQ axis electric angle generation unit 36.

図9は、オープンループ制御DQ軸電流指令生成部37の制御構成を示すブロック線図である。オープンループ制御DQ軸電流指令生成部37は、Q軸電流指令生成部37Aと、D軸電流指令生成部37Bとを備える。 FIG. 9 is a block diagram showing a control configuration of the open loop control DQ axis current command generation unit 37. The open-loop control DQ-axis current command generation unit 37 includes a Q-axis current command generation unit 37A and a D-axis current command generation unit 37B.

Q軸電流指令生成部37Aは、複数の遅延素子、第1数値微分部37A1、第1ローパスフィルター37A9、第2数値微分部37A2、第2ローパスフィルター37A4、慣性モーメントのノミナル値(以下、慣性ゲインと言う)37A5等を備える。また、Q軸電流指令生成部37Aは、トルク定数除算部37A8、符号関数部37A3、粘性係数のノミナル値(以下、粘性ゲインと言う)37A6、クーロン摩擦力のノミナル値(以下、クーロン摩擦ゲインと言う)37A7等を備える。 The Q-axis current command generation unit 37A includes a plurality of delay elements, a first numerical differentiation unit 37A1, a first low-pass filter 37A9, a second numerical differentiation unit 37A2, a second low-pass filter 37A4, and a nominal value of the moment of inertia (hereinafter, inertial gain). It is equipped with 37A5 and the like. Further, the Q-axis current command generation unit 37A includes a torque constant dividing unit 37A8, a sign function unit 37A3, a viscosity coefficient nominal value (hereinafter referred to as viscosity gain) 37A6, and a Coulomb friction force nominal value (hereinafter referred to as Coulomb friction gain). It is equipped with 37A7 and the like.

Q軸電流指令生成部37Aで実行される処理について説明する。
オープンループ制御電気角生成部(図3の36)から送られてくる強制同期位置指令値は、第1数値微分部37A1と第1ローパスフィルター37A9とに順に入力されて角速度推定値となる。この角速度推定値は、第2数値微分部37A2と第2ローパスフィルター37A4とに順に入力されて角加速度推定値となった後、慣性ゲイン37A5に入力される。慣性ゲイン37A5は、慣性トルク補償値(慣性力)を出力する。これは、次式に基づいて慣性加速に必要なトルクを算出することと等価である。

Figure 2021125950
J:慣性モーメント
θ:モータ角度 The process executed by the Q-axis current command generation unit 37A will be described.
The forced synchronization position command value sent from the open-loop control electric angle generation unit (36 in FIG. 3) is sequentially input to the first numerical differentiation unit 37A1 and the first low-pass filter 37A9 to obtain an angular velocity estimation value. This angular velocity estimated value is input to the second numerical differentiation unit 37A2 and the second low-pass filter 37A4 in order to obtain the angular acceleration estimated value, and then is input to the inertial gain 37A5. The inertial gain 37A5 outputs an inertial torque compensation value (inertial force). This is equivalent to calculating the torque required for inertial acceleration based on the following equation.
Figure 2021125950
J: Moment of inertia θ: Motor angle

上述の角速度推定値は、粘性ゲイン37A6にも入力される。粘性ゲイン37A6は、粘性トルク補償値(粘性抵抗力)を出力する。これは、次式に基づいて粘性抵抗力を補償するためのトルクを算出することと等価である。

Figure 2021125950
D:粘度係数 The above-mentioned angular velocity estimate is also input to the viscosity gain 37A6. The viscous gain 37A6 outputs a viscous torque compensation value (viscosity resistance). This is equivalent to calculating the torque for compensating the viscous resistance based on the following equation.
Figure 2021125950
D: Viscosity coefficient

上述の角速度推定値は、符号関数部37A3にも入力される。符号関数部37A3からは、角速度推定値とは逆の符号の値が出力され、クーロン摩擦ゲイン37A7に入力される。クーロン摩擦ゲイン37A17は、クーロン摩擦トルク補償値(クーロン摩擦力)を出力する。これは、次式に基づいてクーロン摩擦力を補償するためのトルクを算出することと等価である。

Figure 2021125950
C:クーロン摩擦 The above-mentioned angular velocity estimated value is also input to the sign function unit 37A3. A value having a sign opposite to the estimated angular velocity value is output from the sign function unit 37A3 and input to the Coulomb friction gain 37A7. The Coulomb friction gain 37A17 outputs the Coulomb friction torque compensation value (Coulomb friction force). This is equivalent to calculating the torque for compensating for the Coulomb frictional force based on the following equation.
Figure 2021125950
C: Coulomb friction

図9に示される重力補償値は、定数である。慣性トルク補償値、粘性トルク補償値、クーロン摩擦補償値、及び重力補償値は、合算されてトルク指令値となってトルク定数除算部37A8に入力される。トルク定数除算部37A8は、トルク指令値をトルク定数Ktで除算した結果(トルク定数の逆数を乗算した結果)をQ軸電流指令値として出力する。このQ軸電流指令値は、電流制御部(図3の26)と、D軸電流指令生成部37Bとに入力される。なお、モータ22のトルク定数を、慣性ゲイン、粘性ゲイン、クーロン摩擦補償値、重力補償値のそれぞれに含めることで、トルク定数除算部37A8を省略してもよい。 The gravity compensation value shown in FIG. 9 is a constant. The inertial torque compensation value, the viscous torque compensation value, the Coulomb friction compensation value, and the gravity compensation value are added up to form a torque command value and input to the torque constant division unit 37A8. The torque constant division unit 37A8 outputs the result of dividing the torque command value by the torque constant Kt (the result of multiplying the reciprocal of the torque constant) as the Q-axis current command value. The Q-axis current command value is input to the current control unit (26 in FIG. 3) and the D-axis current command generation unit 37B. By including the torque constant of the motor 22 in each of the inertial gain, the viscosity gain, the Coulomb friction compensation value, and the gravity compensation value, the torque constant division unit 37A8 may be omitted.

開始直後のQ軸電流指令値を決定する図8に示されるように、 As shown in FIG. 8, which determines the Q-axis current command value immediately after the start,

制御方式がセンサレスベクトル制御からオープンループ制御に切り換わった後、角加速度推定値が求められるまでには、十数〔μ秒〕程度の時間を要する。その間、角加速度推定値を求めることができないと、適切なQ軸電流をモータに供給することができなくなる。 After the control method is switched from sensorless vector control to open loop control, it takes about ten and several [μsec] until the estimated angular acceleration value is obtained. During that time, if the estimated angular acceleration value cannot be obtained, an appropriate Q-axis current cannot be supplied to the motor.

そこで、実施形態に係るモータ駆動装置20では、図3、及び図5、及び図9に示されるように、センサレスベクトル制御の実行中に、位置指令値に基づいて加速度推定値を求める。 Therefore, in the motor drive device 20 according to the embodiment, as shown in FIGS. 3, 5, and 9, the acceleration estimated value is obtained based on the position command value during the execution of the sensorless vector control.

具体的には、図3に示されるように、上位コントローラ100から発信される位置指令値は、セパレータを介することなくオープンループ制御電気角生成部36に入力される。また、オープンループ制御電気角生成部36から出力される強制同期位置指令値は、セパレータを介することなくオープンループ制御DQ軸電流指令生成部37に入力される。よって、位置指令値がオープンループ制御電気角生成部36とオープンループ制御DQ軸電流指令生成部37とを介してDQ軸電流指令値となって第1セレクター25に入力されるまでの流れは、制御方式にかかわらず、実行される。即ち、センサレスベクトル制御の実行中においても、前述の流れが実行される。 Specifically, as shown in FIG. 3, the position command value transmitted from the host controller 100 is input to the open loop control electric angle generation unit 36 without going through the separator. Further, the forced synchronization position command value output from the open loop control electric angle generation unit 36 is input to the open loop control DQ axis current command generation unit 37 without going through the separator. Therefore, the flow until the position command value becomes the DQ axis current command value via the open loop control electric angle generation unit 36 and the open loop control DQ axis current command generation unit 37 and is input to the first selector 25 is It is executed regardless of the control method. That is, the above-mentioned flow is executed even during the execution of the sensorless vector control.

図5に示されるように、オープンループ制御電気角生成部36は、位置指令値に基づいて位置シミュレーション値を生成し、これを強制同期位置指令値としてDQ軸電流指令生成部37に出力する。また、図9に示されるように、オープンループ制御DQ軸電流指令生成部37は、強制同期位置指令値に基づいて角速度推定値を求め、得られた角速度推定値に基づいて角加速度推定値を求める。よって、モータ駆動装置20は、センサレスベクトル制御の実行中に、位置指令値に基づいて加速度推定値を求めている。 As shown in FIG. 5, the open-loop control electric angle generation unit 36 generates a position simulation value based on the position command value, and outputs this to the DQ axis current command generation unit 37 as a forced synchronization position command value. Further, as shown in FIG. 9, the open loop control DQ axis current command generation unit 37 obtains an angular velocity estimated value based on the forced synchronization position command value, and obtains an angular acceleration estimated value based on the obtained angular velocity estimated value. Ask. Therefore, the motor drive device 20 obtains an acceleration estimated value based on the position command value during execution of the sensorless vector control.

かかる構成では、制御方式をセンサレスベクトル制御からオープンループ制御に切り換えた直後に、直前に求めておいた角加速度推定値を用いて必要なトルクを求めることが可能になる。よって、センサレスベクトル制御からオープンループ制御に切り換えた直後から、必要なトルクに応じたQ軸電流指令値を求めて、切り換え時に不適切なQ軸電流を供給することによるモータ22の振動の発生を抑えることができる。 In such a configuration, immediately after switching the control method from sensorless vector control to open loop control, it is possible to obtain the required torque using the angular acceleration estimated value obtained immediately before. Therefore, immediately after switching from the sensorless vector control to the open loop control, the Q-axis current command value corresponding to the required torque is obtained, and the vibration of the motor 22 is generated by supplying an inappropriate Q-axis current at the time of switching. It can be suppressed.

実施形態に係るモータ駆動装置20では、Q軸電流値(Q軸電流指令値)に応じてD軸電流値(D軸電流指令値)を変化させる。
図10は、実施形態に係るモータ駆動装置20におけるQ軸電流指令値とD軸電流指令値値との関係を示すグラフである。図10におい、Q軸ノルム変化率ゲインは√2であるが、この値は一例である。また、電流値bは、DQ軸ノルム電流下限値であるが、図10の例では、この値をモータ22の定格電流値としている。但し、定格電流値でなくてもよい。電流値aは、DQ軸ノルム電流下限値をQ軸ノルム変化率ゲインで除算した値である。また、電流値dは、DQ軸ノルム電流上限値であるが、図10に示される例ではこの値を、モータ22の瞬時最大電流仕様値としている。但し、瞬時最大電流仕様値でなくてもよい。また、電流値cは、DQ軸ノルム電流上限値をQ軸ノルム変化率ゲインで除算した値である。DQ軸ノルム電流値は、Q軸電流値とD軸電流値との2次元座標におけるQ軸電流値とD軸電流値との交点と、原点とを結ぶ線分の長さに相当する電流値である。
In the motor drive device 20 according to the embodiment, the D-axis current value (D-axis current command value) is changed according to the Q-axis current value (Q-axis current command value).
FIG. 10 is a graph showing the relationship between the Q-axis current command value and the D-axis current command value in the motor drive device 20 according to the embodiment. In FIG. 10, the Q-axis norm change rate gain is √2, but this value is an example. Further, the current value b is the lower limit value of the DQ axis norm current, but in the example of FIG. 10, this value is used as the rated current value of the motor 22. However, it does not have to be the rated current value. The current value a is a value obtained by dividing the lower limit of the DQ-axis norm current by the Q-axis norm change rate gain. Further, the current value d is the upper limit value of the DQ axis norm current, and in the example shown in FIG. 10, this value is used as the instantaneous maximum current specification value of the motor 22. However, it does not have to be the instantaneous maximum current specification value. The current value c is a value obtained by dividing the upper limit of the DQ-axis norm current by the Q-axis norm change rate gain. The DQ-axis norm current value is a current value corresponding to the length of the line segment connecting the intersection of the Q-axis current value and the D-axis current value in the two-dimensional coordinates of the Q-axis current value and the D-axis current value and the origin. Is.

以下、電流値a未満のQ軸電流値で得られるトルク領域を低トルク領域という。また、電流値a以上、且つ電流値c未満のQ軸電流値で得られるトルク領域を中トルク領域という。また、電流値c以上のQ軸電流値で得られるトルク領域を高トルク領域という。 Hereinafter, the torque region obtained by the Q-axis current value less than the current value a is referred to as a low torque region. Further, a torque region obtained by a Q-axis current value having a current value a or more and a current value less than c is referred to as a medium torque region. Further, the torque region obtained by the Q-axis current value of the current value c or more is referred to as a high torque region.

オープンループ制御DQ軸電流指令生成部37は、低トルク領域にて、DQ軸電流ベクトルのノルムを一定にする態様でD軸電流指令値を算出する。この算出のために、D軸電流指令値を求めるアルゴリズムとして、D軸電流指令値をQ軸電流指令値よりも低い値とし、且つQ軸電流指令値の増加につれて値を低下させるアルゴリズムを用いる。かかる構成では、電流の大きさを定格電流値又はそれ以下に抑えることで、モータ22の発熱を抑えることができる。 The open-loop control DQ-axis current command generation unit 37 calculates the D-axis current command value in a mode in which the norm of the DQ-axis current vector is made constant in the low torque region. For this calculation, as an algorithm for obtaining the D-axis current command value, an algorithm is used in which the D-axis current command value is set to a value lower than the Q-axis current command value and the value is decreased as the Q-axis current command value increases. In such a configuration, heat generation of the motor 22 can be suppressed by suppressing the magnitude of the current to the rated current value or less.

低トルク領域にて、D軸電流指令値が低下していくと、やがてQ軸電流値と同じ値になって(DQ軸ノルム電流値がDQ軸ノルム電流下限値と同じ値になって)、トルク領域が中トルク領域となる。オープンループ制御DQ軸電流指令生成部37は、中トルク領域にて、Q軸電流指令値の増加につれてD軸電流指令値を増加させるアルゴリズムで、前記D軸電流指令値を求める。図示の例では、Q軸電流指令値とD軸電流指令値とを比例の関係にしている。Q軸電流指令値が定格電流値(b)を超えることが一般的な中トルク領域では、D軸電流値を低トルク領域におけるD軸電流値よりも高くすることで、必要なトルクを得ることができる。加えて、トルクの増加につれてD軸電流指令値を増加させることで、必要なトルクの算出誤差や外乱に対する復元力を得て、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。 When the D-axis current command value decreases in the low torque region, it eventually becomes the same value as the Q-axis current value (the DQ-axis norm current value becomes the same value as the DQ-axis norm current lower limit value). The torque region is the medium torque region. The open-loop control DQ-axis current command generation unit 37 obtains the D-axis current command value by an algorithm that increases the D-axis current command value as the Q-axis current command value increases in the medium torque region. In the illustrated example, the Q-axis current command value and the D-axis current command value are in a proportional relationship. In the medium torque region where the Q-axis current command value generally exceeds the rated current value (b), the required torque is obtained by making the D-axis current value higher than the D-axis current value in the low torque region. Can be done. In addition, by increasing the D-axis current command value as the torque increases, the required torque calculation error and restoring force against disturbance are obtained, and the motor 22 is controlled by open loop without stepping out or vibrating. The drive of the can be stopped.

中トルク領域にて、D軸電流指令値が増加していくと、やがてDQ軸ノルム電流値がDQ軸ノルム電流上限値に達して、トルク領域が高トルク領域となる。オープンループ制御DQ軸電流指令生成部37は、高トルク領域において、Q軸電流指令値の増加につれてD軸電流指令値を低下させるアルゴリズムで、D軸電流指令値を求める。中トルク領域よりも更に高いトルクが必要になる高トルク領域では、トルクの増加につれてQ軸電流値を低下させることで、ロータの磁石の磁極を引き付ける力を弱めて、電流が許容最大値を超えることを抑えることができる。 As the D-axis current command value increases in the medium torque region, the DQ-axis norm current value eventually reaches the DQ-axis norm current upper limit value, and the torque region becomes the high torque region. The open-loop control DQ-axis current command generation unit 37 obtains the D-axis current command value by an algorithm that lowers the D-axis current command value as the Q-axis current command value increases in a high torque region. In the high torque region, where higher torque is required than in the medium torque region, the Q-axis current value decreases as the torque increases, weakening the force that attracts the magnetic poles of the rotor magnet, and the current exceeds the maximum allowable value. It can be suppressed.

図9に示されるD軸電流指令生成部37Bで実行される処理について説明する。
D軸電流指令生成部37Bは、Q軸-ノルム電流変化率ゲイン37B1、絶対値演算部37B2、飽和部37B3、第1の2乗演算部37B4、第2の2乗演算37B5、及び平方根演算部37B6を備える。
The process executed by the D-axis current command generation unit 37B shown in FIG. 9 will be described.
The D-axis current command generation unit 37B includes a Q-axis-norm current change rate gain 37B1, an absolute value calculation unit 37B2, a saturation unit 37B3, a first square calculation unit 37B4, a second square calculation 37B5, and a square root calculation unit. It is equipped with 37B6.

Q軸電流指令生成部37Aで生成されたQ軸電流指令値は、第2の2乗演算部37B5によって2乗の値に変換された後、加算器にマイナスの値として入力される。また、Q軸電流指令値は、Q軸-ノルム電流変化率ゲイン37B1によってゲインをかけられた後、絶対値演算部37Bによって絶対値に変換され、飽和部37B3に入力される。飽和部37B3において、入力値がDQ軸ノルム電流下限値を下回る場合にはDQ軸ノルム電流下限値に変換され、入力値がDQ軸ノルム電流上限値を上回る場合にはDQ軸ノルム電流上限値に変換される。 The Q-axis current command value generated by the Q-axis current command generation unit 37A is converted into a square value by the second square calculation unit 37B5, and then input to the adder as a negative value. Further, the Q-axis current command value is gained by the Q-axis-norm current change rate gain 37B1, then converted into an absolute value by the absolute value calculation unit 37B, and input to the saturation unit 37B3. In the saturation section 37B3, when the input value is less than the DQ axis norm current lower limit value, it is converted to the DQ axis norm current lower limit value, and when the input value exceeds the DQ axis norm current upper limit value, it is converted to the DQ axis norm current upper limit value. Will be converted.

飽和部37B3からの出力は、第1の2乗演算部37B4によって2乗の値に変換された後、加算器にプラスの値として入力される。平方根演算部37B6は、加算器からの出力値を平方根の値に変換し、その値をD軸電流指令値として出力する。以上のような処理により、D軸電流指令値は、図10のグラフに示される特性で変化する。 The output from the saturation unit 37B3 is converted into a square value by the first square calculation unit 37B4, and then input to the adder as a positive value. The square root calculation unit 37B6 converts the output value from the adder into a square root value, and outputs the value as a D-axis current command value. By the above processing, the D-axis current command value changes according to the characteristics shown in the graph of FIG.

<産業用ロボット1の作用効果>
<構成1>
構成1は、モータ22を電流引込法によるオープンループ制御によって駆動するモータ制御方法である。構成1は、上位コントローラ100(信号発信手段)から送られてくる位置指令値(回転位置指令信号)に基づいてモータ22に必要なトルク(例えば、図9におけるトルク指令値)を求めるステップを具備する。また、構成1は、必用なトルクに応じたQ軸電流指令値を求めるステップ(例えば、図9におけるトルク定数除算部37A8)と、Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給するステップ(例えば図9のD軸電流指令生成部37B)とを具備する。
<Action and effect of industrial robot 1>
<Structure 1>
Configuration 1 is a motor control method in which the motor 22 is driven by open-loop control by a current drawing method. Configuration 1 includes a step of obtaining the torque (for example, the torque command value in FIG. 9) required for the motor 22 based on the position command value (rotation position command signal) sent from the host controller 100 (signal transmitting means). do. Further, in the configuration 1, the step of obtaining the Q-axis current command value corresponding to the required torque (for example, the torque constant dividing unit 37A8 in FIG. 9), the Q-axis current corresponding to the Q-axis current command value, and the magnet of the rotor It is provided with a step (for example, the D-axis current command generation unit 37B in FIG. 9) for supplying the D-axis current for drawing the magnetic poles of the above to the motor.

<構成1の作用効果>
構成1によれば、モータ22に必要なトルクに応じた値のQ軸電流をモータ22に供給することで、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。
<Action and effect of configuration 1>
According to the configuration 1, by supplying a Q-axis current having a value corresponding to the torque required for the motor 22 to the motor 22, the drive of the motor 22 is stopped by open loop control without causing the motor 22 to step out or vibrate. Can be made to.

<構成2>
構成2は、構成1におけるトルクを求めるステップが、位置指令値に応答した後のモータ22の角加速度推定値(例えば、図9の角速度推定値)を求めるステップと、角加速度推定値に基づいてトルク(例えば、図9のトルク指令値)を求めるステップとを具備する。
<Structure 2>
In the configuration 2, the step of obtaining the torque in the configuration 1 is based on the step of obtaining the estimated angular acceleration value of the motor 22 (for example, the estimated angular velocity in FIG. 9) after responding to the position command value and the estimated angular acceleration value. It includes a step of obtaining a torque (for example, a torque command value in FIG. 9).

<構成2の作用効果>
構成2によれば、モータ22を回転させるのに必要なトルクに応じたQ軸電流をモータ22に供給することで、モータ22に不要なQ軸電流を供給することを抑えることができる。
<Action and effect of configuration 2>
According to the configuration 2, by supplying the Q-axis current corresponding to the torque required to rotate the motor 22 to the motor 22, it is possible to suppress the supply of an unnecessary Q-axis current to the motor 22.

<構成3>
構成3は、構成2におけるトルクを求めるステップが、位置指令値に応答した後のモータ22の角速度推定値(例えば、図9の角速度推定値)を求めるステップと、角速度推定値、及び角加速度推定値に基づいてトルクを求めるステップとを具備する。
<Structure 3>
In the configuration 3, the steps for obtaining the torque in the configuration 2 are the step for obtaining the angular velocity estimated value (for example, the angular velocity estimated value in FIG. 9) of the motor 22 after responding to the position command value, the angular velocity estimated value, and the angular acceleration estimation. It includes a step of obtaining torque based on a value.

<構成3の作用効果>
構成3によれば、角加速度推定値に加えて、角速度推定値にも基づいてトルクを求めることで、必要なトルクをより正確に求めることができる。
<Action and effect of configuration 3>
According to the configuration 3, the required torque can be obtained more accurately by obtaining the torque based on the estimated value of the angular velocity in addition to the estimated value of the angular acceleration.

<構成4>
構成4は、構成2又は3におけるトルクを求めるステップが、位置指令値に応答した後のモータ22の位置シミュレーション値(回転位置推定値)を求めるステップ(例えば図5、における電気系・機械系のモデル)と、位置シミュレーション値に基づいて角加速度推定値(例えば、図9のトルク指令値)を求めるステップとを具備する。
<Structure 4>
In the configuration 4, the step of obtaining the torque in the configuration 2 or 3 is the step of obtaining the position simulation value (rotational position estimated value) of the motor 22 after responding to the position command value (for example, in the electrical system / mechanical system in FIG. 5). A model) and a step of obtaining an estimated angular acceleration value (for example, the torque command value in FIG. 9) based on the position simulation value.

<構成4の作用効果>
構成4によれば、位置シミュレーション値に基づいてモータ22の角加速度推定値を求めることで、センサレスベクトル制御の実行時間不足によるオープンループ制御切り換わり時のモータ22の振動の発生を回避することができる。
<Action and effect of configuration 4>
According to the configuration 4, by obtaining the estimated angular acceleration value of the motor 22 based on the position simulation value, it is possible to avoid the occurrence of vibration of the motor 22 when the open loop control is switched due to the insufficient execution time of the sensorless vector control. can.

<構成5>
構成5は、構成2乃至4の何れかのトルクを求めるステップでは、角加速度推定値に慣性モーメントに相当する係数(例えば、図9の慣性ゲイン37A5)を乗じて求められる駆動機械系の加速及び減速に必要な力のモーメントを、トルク、又はトルクの一部として求める。
<Structure 5>
In configuration 5, in the step of obtaining the torque of any of configurations 2 to 4, the acceleration of the drive mechanical system obtained by multiplying the estimated angular acceleration value by a coefficient corresponding to the moment of inertia (for example, the inertial gain 37A5 in FIG. 9) and The moment of force required for deceleration is calculated as torque or a part of torque.

<構成5の作用効果>
構成5によれば、駆動機械系の慣性力に応じたQ軸電流をモータ22に供給することができる。
<Action and effect of configuration 5>
According to the configuration 5, the Q-axis current corresponding to the inertial force of the drive mechanical system can be supplied to the motor 22.

<構成6>
構成6は、構成5におけるトルクを求めるステップでは、位置指令値に応答した後のモータ22の角速度推定値を求め、角速度推定値に基づいて駆動機械系の粘性抵抗力を補償するための力のモーメントをトルクの一部として求める。
<Structure 6>
In the configuration 6, in the step of obtaining the torque in the configuration 5, the estimated angular velocity of the motor 22 after responding to the position command value is obtained, and the force for compensating the viscous resistance of the drive mechanical system based on the estimated angular velocity is obtained. Find the moment as part of the torque.

<構成6の作用効果>
構成6によれば、駆動機械系の加速及び減速に必要な力のモーメントに加えて、駆動機械系の粘性抵抗も必要なトルクとして求める。これにより、加速及び減速に必要な力のモーメントだけを必要なトルクとして求める場合に比べて、モータ22のトルクの過不足の発生を抑えることができる。
<Action and effect of configuration 6>
According to the configuration 6, in addition to the moment of the force required for accelerating and decelerating the drive mechanical system, the viscous resistance of the drive mechanical system is also obtained as the required torque. As a result, it is possible to suppress the occurrence of excess or deficiency of the torque of the motor 22 as compared with the case where only the moment of the force required for acceleration and deceleration is obtained as the required torque.

<構成7>
構成7は、構成5又は6におけるトルクを求めるステップでは、重力を補償するための力のモーメントをトルクの一部として求める。
<Structure 7>
In the configuration 7, in the step of obtaining the torque in the configuration 5 or 6, the moment of the force for compensating the gravity is obtained as a part of the torque.

<構成7の作用効果>
構成7によれば、駆動機械系の加速及び減速に必要な力のモーメントに加えて、重力も必要なトルクとして求めることで、加速及び減速に必要な力のモーメントだけを必要なトルクとして求める場合に比べて、モータ22のトルクの過不足の発生を抑えることができる。
<Action and effect of configuration 7>
According to the configuration 7, in addition to the moment of the force required for acceleration and deceleration of the drive mechanical system, gravity is also obtained as the required torque, so that only the moment of the force required for acceleration and deceleration is obtained as the required torque. Compared with the above, it is possible to suppress the occurrence of excess or deficiency of the torque of the motor 22.

<構成8>
構成8は、構成5乃至7の何れかにおけるトルクを求めるステップでは、位置指令値に応答した後のモータ22の角速度推定値を求め、角速度推定値に基づいてクーロン摩擦力を補償するための力のモーメントをトルクの一部として求める。
<Structure 8>
In the configuration 8, in the step of obtaining the torque in any of the configurations 5 to 7, the angular velocity estimated value of the motor 22 after responding to the position command value is obtained, and the force for compensating the Coulomb friction force based on the angular velocity estimated value. The moment of is calculated as a part of the torque.

<構成8の作用効果>
構成8によれば、駆動機械系の加速及び減速に必要な力のモーメントに加えて、クーロン摩擦力も必要なトルクとして求める。これにより、加速及び減速に必要な力のモーメントだけを必要なトルクとして求める場合に比べて、モータ22のトルクの過不足の発生を抑えることができる。
<Action and effect of configuration 8>
According to the configuration 8, in addition to the moment of the force required for accelerating and decelerating the drive mechanical system, the Coulomb friction force is also obtained as the required torque. As a result, it is possible to suppress the occurrence of excess or deficiency of the torque of the motor 22 as compared with the case where only the moment of the force required for acceleration and deceleration is obtained as the required torque.

<構成9>
構成9は、構成5乃至8の何れかにおいて、前記Q軸電流指令値に応じたD軸電流指令値を求めるステップを具備する。また、構成9は、Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給するステップにおいて、前記D軸電流指令値に応じたD軸電流をモータに供給する。
<Structure 9>
The configuration 9 includes, in any of the configurations 5 to 8, a step of obtaining a D-axis current command value corresponding to the Q-axis current command value. Further, in the configuration 9, in the step of supplying the Q-axis current corresponding to the Q-axis current command value and the D-axis current for drawing the magnetic pole of the rotor magnet to the motor, the D-axis corresponding to the D-axis current command value is provided. Supply current to the motor.

<構成9の作用効果>
構成9によれば、モータの焼損を防止し、従来構成のように一定の値のD軸電流を流す構成に比べて、モータの発熱を抑え、且つ、必要なトルクの算出誤差や外乱に対する復元力を得ることができる。
<Action and effect of configuration 9>
According to the configuration 9, the motor is prevented from burning, and the heat generation of the motor is suppressed as compared with the configuration in which a constant value of the D-axis current is passed as in the conventional configuration, and the required torque calculation error and restoration against disturbance are suppressed. You can gain power.

<構成10>
構成10は、構成9における前記D軸電流指令値を求めるステップでは、Q軸電流指令値の増加につれて前記D軸電流指令値を増加させるアルゴリズムで、D軸電流指令値を求める。
<Structure 10>
In the configuration 10, in the step of obtaining the D-axis current command value in the configuration 9, the D-axis current command value is obtained by an algorithm that increases the D-axis current command value as the Q-axis current command value increases.

<構成10の作用効果>
構成10によれば、Q軸電流指令値の増加につれてD軸電流指令値を増加させることで、必要なトルクの算出誤差や外乱に対する復元力得て、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。
<Action and effect of configuration 10>
According to the configuration 10, by increasing the D-axis current command value as the Q-axis current command value increases, a required torque calculation error and a restoring force against disturbance can be obtained without causing the motor 22 to step out or vibrate. The drive of the motor 22 can be stopped by the open loop control.

<構成11>
構成11は、構成10における前記D軸電流指令値を求めるステップでは、次のようなアルゴリズムでD軸電流指令値を求める。即ち、所定の低トルク領域にて、前DQ軸電流ベクトルのノルムを一定にする態様でD軸電流指令値を求める。また、低トルク領域よりも高い中トルク領域にて、Q軸電流指令値の増加につれてD軸電流指令値を増加させる。
<Structure 11>
In the configuration 11, in the step of obtaining the D-axis current command value in the configuration 10, the D-axis current command value is obtained by the following algorithm. That is, the D-axis current command value is obtained in a manner that makes the norm of the front DQ-axis current vector constant in a predetermined low torque region. Further, in the medium torque region higher than the low torque region, the D-axis current command value is increased as the Q-axis current command value increases.

<構成11の作用効果>
構成11によれば、ロータの磁石の磁極を強力に引き込む必要のない低トルク領域では、DQ軸電流ベクトルのノルムを一定にする態様でD軸電流値を求めることで、電流の大きさを定格電流値又はそれ以下に抑えてモータ22の発熱を抑えることができる。
また、構成11によれば、Q軸電流値が定格電流値を超えることが一般的な中トルク領域では、D軸電流値を低トルク領域におけるD軸電流値よりも高くすることで、必要なトルクの算出誤差や外乱に対する復元力を得て、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。
<Action and effect of configuration 11>
According to the configuration 11, in the low torque region where it is not necessary to strongly draw the magnetic pole of the rotor magnet, the magnitude of the current is rated by obtaining the D-axis current value in a manner of keeping the norm of the DQ-axis current vector constant. The heat generation of the motor 22 can be suppressed by suppressing the current value to or less than that.
Further, according to the configuration 11, in the medium torque region where the Q-axis current value generally exceeds the rated current value, it is necessary to make the D-axis current value higher than the D-axis current value in the low torque region. The drive of the motor 22 can be stopped by the open loop control without stepping out or vibrating the motor 22 by obtaining the torque calculation error and the restoring force against the disturbance.

<構成12>
構成12は、構成11における前記D軸電流指令値を求めるステップでは、中トルク領域よりも高い高トルク領域にて、Q軸電流指令値の増加につれてD軸電流指令値を低下させるアルゴリズムで、D軸電流指令値を求める。
<Structure 12>
Configuration 12 is an algorithm that reduces the D-axis current command value as the Q-axis current command value increases in a high torque region higher than the medium torque region in the step of obtaining the D-axis current command value in configuration 11. Obtain the shaft current command value.

<構成12の作用効果>
構成12によれば、中トルク領域よりも更に高いトルクが必要になる高トルク領域では、トルクの増加につれてD軸電流値を低下させることで、ロータの磁石の磁極を引き付ける力を弱めて、電流が許容最大値を超えることを抑えることができる。
<Action and effect of configuration 12>
According to the configuration 12, in the high torque region where a higher torque than the medium torque region is required, the force for attracting the magnetic poles of the rotor magnet is weakened by lowering the D-axis current value as the torque increases, and the current is generated. Can be prevented from exceeding the maximum allowable value.

<構成13>
構成13は、構成5乃至12の何れかにおいて、モータ22の回転位置を検出するロータリーエンコーダ30(回転位置検出器)から発信される位置検出値(回転位置信号)の異常を検出するステップを具備する。また、構成13は、異常が検出されない場合には、位置検出値に基づく検出位置フィードバック制御によってモータ22を駆動する。また、構成13は、異常が検出され、且つ検出時のモータ22の角速度が所定の下限値未満(閾値以下又は閾値未満)でない場合には、センサレスベクトル制御によってモータ22を駆動する。センサレスベクトル制御では、モータ22に流れる電流に基づいて推定される位置推定値(回転位置推定値)をフィードバックする。また、構成13は、異常が検出され、且つ検出時のモータの角速度が下限値未満である場合には、オープンループ制御によってモータ22の駆動を停止させる。
<Structure 13>
Configuration 13 includes, in any of configurations 5 to 12, a step of detecting an abnormality in a position detection value (rotational position signal) transmitted from a rotary encoder 30 (rotational position detector) that detects the rotational position of the motor 22. do. Further, when the abnormality is not detected, the configuration 13 drives the motor 22 by the detection position feedback control based on the position detection value. Further, the configuration 13 drives the motor 22 by sensorless vector control when an abnormality is detected and the angular velocity of the motor 22 at the time of detection is not less than a predetermined lower limit value (less than or equal to a threshold value or less than a threshold value). In the sensorless vector control, the position estimated value (rotational position estimated value) estimated based on the current flowing through the motor 22 is fed back. Further, in the configuration 13, when an abnormality is detected and the angular velocity of the motor at the time of detection is less than the lower limit value, the drive of the motor 22 is stopped by open loop control.

<構成13の作用効果>
構成13において、モータ22が比較的高い速度で回転しているときに位置検出値に異常が発生した場合には、センサレスベクトル制御により、モータ22内で良好に発生する誘起電圧を推定する。そして、推定された誘起電圧からモータ22の回転位置を推定し、推定結果に基づいてモータ22を駆動して、モータ22の回転動作を適切に制御する。その後、センサレスベクトル制御により、モータ22内で十分な誘起電圧を発生させなくなる程度までモータ22の角速度を低下させると、モータ22の駆動制御を、センサレスベクトル制御からオープンループ制御に切り替える。オープンループ制御では、電流引込法によってモータ22の回転動作を適切に制御する。かかる構成では、モータ22が比較的高い角速度で回転しているときに位置検出値に異常が発生した場合に、センサレスベクトル制御とオープンループ制御とを実施して、モータ22の回転動作を適切に制御しながらモータ22を徐々に減速して停止させる。
また、構成13において、モータ22が比較的低い角速度で回転しているときに位置検出値に異常が発生した場合には、オープンループ制御によってモータ22の駆動を停止させる。
かかる構成13によれば、位置検出値の異常発生時にモータ22を直ちに強制停止させることによる手部2A(被操作体)の不適切な動作の発生を回避することができる。加えて、制御方式をオープンループ制御に切り換えた後において、検出位置フィードバック制御を行う場合と同様の挙動でモータを動作させることが可能なので、切り換え後のモータの脱調や振動の発生を抑えることができる。
<Action and effect of configuration 13>
In configuration 13, if an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively high speed, the induced voltage that is satisfactorily generated in the motor 22 is estimated by sensorless vector control. Then, the rotation position of the motor 22 is estimated from the estimated induced voltage, and the motor 22 is driven based on the estimation result to appropriately control the rotation operation of the motor 22. After that, when the angular velocity of the motor 22 is reduced to the extent that a sufficient induced voltage is not generated in the motor 22 by the sensorless vector control, the drive control of the motor 22 is switched from the sensorless vector control to the open loop control. In open loop control, the rotational operation of the motor 22 is appropriately controlled by the current drawing method. In such a configuration, when an abnormality occurs in the position detection value when the motor 22 is rotating at a relatively high angular velocity, sensorless vector control and open loop control are performed to appropriately rotate the motor 22. While controlling, the motor 22 is gradually decelerated and stopped.
Further, in the configuration 13, if an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively low angular velocity, the drive of the motor 22 is stopped by open loop control.
According to such a configuration 13, it is possible to avoid the occurrence of improper operation of the hand portion 2A (operated body) by immediately forcibly stopping the motor 22 when an abnormality occurs in the position detection value. In addition, after switching the control method to open loop control, it is possible to operate the motor in the same manner as when performing detection position feedback control, so it is possible to suppress the occurrence of step-out and vibration of the motor after switching. Can be done.

なお、位置検出値の異常発生時において、手部2Aの動作を停止させるために上位コントローラ100(上位装置)から送られてくる位置指令値のパターンは、モータ22の駆動を単純に減速停止させるパターンに限られない。アーム2の構造によっては、次のようなパターンにより、手部2Aを適切な軌道に沿って停止させることが可能な場合もあり得る。即ち、まず、センサレスベクトル制御とオープンループ制御とによってモータ22の駆動を停止させる。その直後に、オープンループ制御によってモータ22を逆回転させた後、センサレスベクトル制御によって逆方向への加速と減速とを行ってから、オープンループ制御によってモータ22を減速停止させる、というパターンである。 When an abnormality occurs in the position detection value, the pattern of the position command value sent from the upper controller 100 (upper device) to stop the operation of the hand 2A simply decelerates and stops the drive of the motor 22. Not limited to patterns. Depending on the structure of the arm 2, it may be possible to stop the hand portion 2A along an appropriate trajectory by the following pattern. That is, first, the drive of the motor 22 is stopped by the sensorless vector control and the open loop control. Immediately after that, the motor 22 is rotated in the reverse direction by the open loop control, then accelerated and decelerated in the opposite direction by the sensorless vector control, and then the motor 22 is decelerated and stopped by the open loop control.

<構成14>
構成14は、構成のセンサレスベクトル制御の実行中に、位置指令値(回転位置指令値)に基づいてモータ22の角加速度推定値を求めるステップを実行する。
<Structure 14>
The configuration 14 executes a step of obtaining an estimated angular acceleration value of the motor 22 based on the position command value (rotational position command value) during the execution of the sensorless vector control of the configuration.

<構成14の作用効果>
構成14においては、センサレスベクトル制御からオープンループ制御に切り換えた直後から、切り換え直前に求めておいた角加速度推定値に基づいて、必要なトルクに応じたQ軸電流指令値を求める。これにより、構成14によれば、切り換え時に不適切なQ軸電流を供給することによるモータ22の振動の発生を抑えることができる。
<Action and effect of configuration 14>
In the configuration 14, immediately after switching from the sensorless vector control to the open loop control, the Q-axis current command value corresponding to the required torque is obtained based on the angular acceleration estimated value obtained immediately before the switching. As a result, according to the configuration 14, it is possible to suppress the occurrence of vibration of the motor 22 due to the supply of an inappropriate Q-axis current at the time of switching.

<構成15>
構成15は、モータ22の駆動を制御するモータ駆動装置20であって、構成1乃至14の何れかのモータ制御方法によってモータ22の駆動を制御する。
<Structure 15>
Configuration 15 is a motor driving device 20 that controls the driving of the motor 22, and controls the driving of the motor 22 by the motor control method according to any one of configurations 1 to 14.

<構成15の作用効果>
構成15によれば、構成1乃至15の何れかのモータ制御方法を用いることで、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。
<Action and effect of configuration 15>
According to the configuration 15, by using the motor control method according to any one of the configurations 1 to 15, the drive of the motor 22 can be stopped by open loop control without causing the motor 22 to step out or vibrate.

<構成16>
構成16は、複数のモータ22の駆動を個別に制御して産業用ロボット1のアーム2の位置を変化させる産業用ロボット1の制御方法である。また、構成16は、複数のモータ22におけるそれぞれの駆動を、構成1乃至14の何れかのモータ制御方法によって制御する。
<Structure 16>
Configuration 16 is a control method for an industrial robot 1 that individually controls the drive of a plurality of motors 22 to change the position of the arm 2 of the industrial robot 1. Further, the configuration 16 controls each drive of the plurality of motors 22 by the motor control method according to any one of the configurations 1 to 14.

<構成17>
構成17は、複数のモータ22の駆動を個別に制御してアーム2の位置を変化させる産業用ロボット1であって、複数のモータ22におけるそれぞれの駆動を、構成15のモータ駆動装置20によって制御する。
<Structure 17>
Configuration 17 is an industrial robot 1 that individually controls the drive of a plurality of motors 22 to change the position of the arm 2, and controls each drive of the plurality of motors 22 by the motor drive device 20 of the configuration 15. do.

<構成16、17の作用効果>
構成16、17においては、少なくとも何れか1つのモータ22において位置検出値の異常が発生したときに、そのモータ22を脱調や振動させることなく、オープンループ制御によってそのモータ22の駆動を停止させることができる。
<Actions and effects of configurations 16 and 17>
In configurations 16 and 17, when an abnormality in the position detection value occurs in at least one of the motors 22, the driving of the motor 22 is stopped by open loop control without stepping out or vibrating the motor 22. be able to.

以上、本発明の好ましい実施形態について説明したが、本発明は、実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。実施形態は、発明の範囲及び要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although the preferred embodiment of the present invention has been described above, the present invention is not limited to the embodiment, and various modifications and modifications can be made within the scope of the gist thereof. The embodiments are included in the scope and gist of the invention, and at the same time, are included in the invention described in the claims and the equivalent scope thereof.

1:産業用ロボット、 2:アーム、 20:モータ駆動装置、 21:制御モード選択部、 22:モータ、 23:位置速度制御部、 24:ベクトル制御DQ軸電流指令生成部、 25:第1セレクター、 26:電流制御部、 27:DQ逆変換部、 28;PWM制御部、 29:インバータ、 30:ロータリーエンコーダ(回転位置検出器)、 31:電流検出部、 32:第2セレクター、 33:ベクトル制御電気角生成部、 34:第3セレクター、 35:位置推定部、 36:オープンループ制御電気角生成部、 37:オープンループ制御DQ軸電流指令生成部、 38エンコーダ通信異常判定部、 39:DQ変換部、 100:上位コントローラ

1: Industrial robot, 2: Arm, 20: Motor drive, 21: Control mode selection unit, 22: Motor, 23: Position speed control unit, 24: Vector control DQ axis current command generation unit, 25: First selector , 26: Current control unit, 27: DQ reverse conversion unit, 28; PWM control unit, 29: Inverter, 30: Rotary encoder (rotation position detector), 31: Current detector, 32: Second selector, 33: Vector Control electric angle generation unit, 34: 3rd selector, 35: position estimation unit, 36: open loop control electric angle generation unit, 37: open loop control DQ axis current command generation unit, 38 encoder communication abnormality determination unit, 39: DQ Conversion unit, 100: Upper controller

Claims (17)

モータを電流引込法によるオープンループ制御によって駆動するモータ制御方法において、
信号発信手段から送られてくる回転位置指令信号に基づいてモータに必要なトルクを求めるステップと、前記トルクに応じたQ軸電流指令値を求めるステップと、前記Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給するステップとを具備する
ことを特徴とするモータ制御方法。
In the motor control method in which the motor is driven by open loop control by the current drawing method,
A step of obtaining the torque required for the motor based on the rotation position command signal sent from the signal transmitting means, a step of obtaining the Q-axis current command value corresponding to the torque, and a Q corresponding to the Q-axis current command value. A motor control method comprising a step of supplying an axial current and a D-axis current for drawing in a magnetic pole of a rotor magnet to a motor.
前記トルクを求めるステップは、前記回転位置指令信号に応答した後のモータの角加速度推定値を求めるステップと、前記角加速度推定値に基づいて前記トルクを求めるステップとを具備する
ことを特徴とする請求項1に記載のモータ制御方法。
The step for obtaining the torque includes a step for obtaining an estimated angular acceleration value of the motor after responding to the rotation position command signal, and a step for obtaining the torque based on the estimated angular acceleration value. The motor control method according to claim 1.
前記トルクを求めるステップは、前記回転位置指令信号に応答した後のモータの角速度推定値を求めるステップと、前記角速度推定値、及び前記角加速度推定値に基づいて前記トルクを求めるステップとを具備する
ことを特徴とする請求項2に記載のモータ制御方法。
The step of obtaining the torque includes a step of obtaining an estimated angular velocity of the motor after responding to the rotation position command signal, and a step of obtaining the torque based on the estimated angular velocity and the estimated angular acceleration. The motor control method according to claim 2, wherein the motor control method is characterized.
前記トルクを求めるステップは、前記回転位置指令信号に応答した後のモータの回転位置推定値を求めるステップと、前記回転位置推定値に基づいて前記角加速度推定値を求めるステップとを具備する
ことを特徴とする請求項2又は3に記載のモータ制御方法。
The step of obtaining the torque includes a step of obtaining an estimated value of the rotation position of the motor after responding to the said rotation position command signal and a step of obtaining the estimated value of the angular acceleration based on the estimated value of the rotation position. The motor control method according to claim 2 or 3, wherein the motor control method is characterized.
前記トルクを求めるステップでは、前記角加速度推定値に慣性モーメントに相当する係数を乗じて求められる駆動機械系の加速及び減速に必要な力のモーメントを、前記トルク、又は前記トルクの一部として求める
ことを特徴とする請求項2乃至4の何れか1項に記載のモータ制御方法。
In the step of obtaining the torque, the moment of the force required for acceleration and deceleration of the drive mechanical system obtained by multiplying the estimated angular acceleration value by a coefficient corresponding to the moment of inertia is obtained as the torque or a part of the torque. The motor control method according to any one of claims 2 to 4, wherein the motor control method is characterized.
前記トルクを求めるステップでは、前記回転位置指令信号に応答した後のモータの角速度推定値を求め、前記角速度推定値に基づいて駆動機械系の粘性抵抗力を補償するための力のモーメントを前記トルクの一部として求める
ことを特徴とする請求項5に記載のモータ制御方法。
In the step of obtaining the torque, the angular velocity estimated value of the motor after responding to the rotation position command signal is obtained, and the moment of the force for compensating the viscous resistance force of the drive mechanical system is calculated based on the angular velocity estimated value. The motor control method according to claim 5, wherein the motor control method is obtained as a part of the above.
前記トルクを求めるステップでは、重力を補償するための力のモーメントを前記トルクの一部として求める
ことを特徴とする請求項5又は6に記載のモータ制御方法。
The motor control method according to claim 5 or 6, wherein in the step of obtaining the torque, a moment of force for compensating for gravity is obtained as a part of the torque.
前記トルクを求めるステップでは、前記回転位置指令信号に応答した後のモータの角速度推定値を求め、前記角速度推定値に基づいてクーロン摩擦力を補償するための力のモーメントを前記トルクの一部として求める
ことを特徴とする請求項5乃至7の何れか1項に記載のモータ制御方法。
In the step of obtaining the torque, the angular velocity estimated value of the motor after responding to the rotation position command signal is obtained, and the moment of the force for compensating the Coulomb friction force based on the angular velocity estimated value is used as a part of the torque. The motor control method according to any one of claims 5 to 7, wherein the motor control method is obtained.
前記Q軸電流指令値に応じたD軸電流指令値を求めるステップを具備し、前記Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給するステップにおいて、前記D軸電流指令値に応じたD軸電流をモータに供給する
ことを特徴とする請求項5乃至8の何れか1項に記載のモータ制御方法。
A step of obtaining a D-axis current command value corresponding to the Q-axis current command value is provided, and the Q-axis current corresponding to the Q-axis current command value and the D-axis current for drawing the magnetic pole of the rotor magnet are applied to the motor. The motor control method according to any one of claims 5 to 8, wherein a D-axis current corresponding to the D-axis current command value is supplied to the motor in the supply step.
前記D軸電流指令値を求めるステップでは、前記Q軸電流指令値の増加につれて前記D軸電流指令値を増加させるアルゴリズムで、前記D軸電流指令値を求める
ことを特徴とする請求項9に記載のモータ制御方法。
The ninth aspect of the present invention, wherein in the step of obtaining the D-axis current command value, the D-axis current command value is obtained by an algorithm that increases the D-axis current command value as the Q-axis current command value increases. Motor control method.
前記D軸電流指令値を求めるステップでは、所定の低トルク領域にて、前記D軸電流指令値を前記Q軸電流指令値よりも低い値とし、且つ前記Q軸電流指令値の増加につれて値を低下させ、前記低トルク領域よりも高い中トルク領域にて、前記Q軸電流指令値の増加につれてD軸電流指令値を増加させるアルゴリズムで、前記D軸電流指令値を求める
ことを特徴とする請求項10に記載のモータ制御方法。
In the step of obtaining the D-axis current command value, the D-axis current command value is set to a value lower than the Q-axis current command value in a predetermined low torque region, and the value is set as the Q-axis current command value increases. A claim characterized in that the D-axis current command value is obtained by an algorithm that lowers the current and increases the D-axis current command value as the Q-axis current command value increases in a medium torque region higher than the low torque region. Item 10. The motor control method according to Item 10.
前記D軸電流指令値を求めるステップでは、前記中トルク領域よりも高い高トルク領域にて、前記Q軸電流指令値の増加につれて前記D軸電流指令値を低下させるアルゴリズムで、前記D軸電流指令値を求める
ことを特徴とする請求項11に記載のモータ制御方法。
In the step of obtaining the D-axis current command value, the D-axis current command is an algorithm that lowers the D-axis current command value as the Q-axis current command value increases in a high torque region higher than the medium torque region. The motor control method according to claim 11, wherein a value is obtained.
モータの回転位置を検出する回転位置検出器から発信される回転位置信号の異常を検出するステップを具備し、
前記異常が検出されない場合には、前記回転位置信号に基づくフィードバック制御によって前記モータを駆動し、
前記異常が検出され、且つ検出時のモータの角速度が所定の閾値以下又は閾値未満でない場合には、モータに流れる電流に基づいて推定される回転位置推定値をフィードバックするセンサレスベクトル制御によって前記モータを駆動し、
前記異常が検出され、且つ検出時のモータの角速度が前記閾値以下又は閾値未満である場合には、オープンループ制御によってモータの駆動を停止させる
ことを特徴とする請求項5乃至12の何れか1項に記載のモータ駆動方法。
A step of detecting an abnormality in a rotation position signal transmitted from a rotation position detector for detecting the rotation position of a motor is provided.
When the abnormality is not detected, the motor is driven by feedback control based on the rotation position signal.
When the abnormality is detected and the angular velocity of the motor at the time of detection is not less than or less than a predetermined threshold value, the motor is operated by sensorless vector control that feeds back an estimated rotation position based on the current flowing through the motor. Drive and
Any one of claims 5 to 12, wherein when the abnormality is detected and the angular velocity of the motor at the time of detection is equal to or less than the threshold value or less than the threshold value, the driving of the motor is stopped by open loop control. The motor driving method described in the section.
前記センサレスベクトル制御の実行中に、前記回転位置指令値に基づいてモータの角加速度推定値を求めるステップを実行する
ことを特徴とする請求項13に記載のモータ制御方法。
The motor control method according to claim 13, wherein during the execution of the sensorless vector control, a step of obtaining an estimated angular acceleration value of the motor based on the rotation position command value is executed.
モータの駆動を制御するモータ駆動装置であって、
請求項1乃至14の何れか1項に記載のモータ制御方法によって前記モータの駆動を制御する
ことを特徴とするモータ駆動装置。
A motor drive device that controls the drive of a motor.
A motor driving device, characterized in that the driving of the motor is controlled by the motor control method according to any one of claims 1 to 14.
複数のモータの駆動を個別に制御して産業用ロボットのアームの位置を変化させる産業用ロボットの制御方法であって、
複数のモータにおけるそれぞれの駆動を、請求項1乃至14の何れか1項に記載のモータ制御方法によって制御する
ことを特徴とする産業用ロボットの制御方法。
It is a control method for an industrial robot that changes the position of the arm of the industrial robot by individually controlling the drive of multiple motors.
A control method for an industrial robot, wherein each drive of a plurality of motors is controlled by the motor control method according to any one of claims 1 to 14.
複数のモータの駆動を個別に制御してアームの位置を変化させる産業用ロボットであって、
複数のモータにおけるそれぞれの駆動を、請求項15に記載のモータ駆動装置によって制御する
ことを特徴とする産業用ロボット。


An industrial robot that individually controls the drive of multiple motors to change the position of the arm.
An industrial robot characterized in that the drive of each of a plurality of motors is controlled by the motor drive device according to claim 15.


JP2020017206A 2020-02-04 2020-02-04 Motor control method, motor drive device, industrial robot control method, and industrial robot Active JP7428527B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020017206A JP7428527B2 (en) 2020-02-04 2020-02-04 Motor control method, motor drive device, industrial robot control method, and industrial robot
KR1020210009943A KR102567726B1 (en) 2020-02-04 2021-01-25 Motor control method, motor driving device, industrial robot control method, and industrial robot
CN202110101850.0A CN113285644B (en) 2020-02-04 2021-01-26 Motor control method, motor drive device, control method for industrial robot, and industrial robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020017206A JP7428527B2 (en) 2020-02-04 2020-02-04 Motor control method, motor drive device, industrial robot control method, and industrial robot

Publications (2)

Publication Number Publication Date
JP2021125950A true JP2021125950A (en) 2021-08-30
JP7428527B2 JP7428527B2 (en) 2024-02-06

Family

ID=77275470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020017206A Active JP7428527B2 (en) 2020-02-04 2020-02-04 Motor control method, motor drive device, industrial robot control method, and industrial robot

Country Status (3)

Country Link
JP (1) JP7428527B2 (en)
KR (1) KR102567726B1 (en)
CN (1) CN113285644B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058213A (en) * 2001-08-22 2003-02-28 Mitsubishi Electric Corp Numerical controller
JP2004056855A (en) * 2002-07-16 2004-02-19 Denso Corp Motor controller
JP2011176913A (en) * 2010-02-23 2011-09-08 Canon Inc Rotary drive device of robot arm
JP2018007533A (en) * 2016-07-08 2018-01-11 株式会社リコー Motor control device, motor drive device, motor drive system, image formation device, and transport device
JP2018038176A (en) * 2016-08-31 2018-03-08 株式会社ジェイテクト Motor control device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3652202B2 (en) * 2000-02-10 2005-05-25 多摩川精機株式会社 Position control method and position control apparatus
JP4539065B2 (en) * 2003-09-29 2010-09-08 ダイキン工業株式会社 Motor control method and motor control apparatus
JP4602921B2 (en) * 2006-03-07 2010-12-22 株式会社日立産機システム Motor control device and motor control method
JP4928850B2 (en) 2006-06-28 2012-05-09 株式会社東芝 Rotating machine control device
JP2008246106A (en) * 2007-03-30 2008-10-16 Sharp Corp Washing machine
JP2009095084A (en) * 2007-10-04 2009-04-30 Yaskawa Electric Corp Motor controller and method for correcting induced voltage constant
JP2009189146A (en) * 2008-02-06 2009-08-20 Calsonic Kansei Corp Control unit for electric motor
JP2010142020A (en) * 2008-12-11 2010-06-24 Yaskawa Electric Corp Servo control device and method
JP5626592B2 (en) * 2011-08-08 2014-11-19 アイシン・エィ・ダブリュ株式会社 Control device
US9323254B2 (en) * 2012-01-16 2016-04-26 Mitsubishi Electric Corporation Motor control apparatus
KR102039325B1 (en) * 2015-09-17 2019-11-01 엘에스산전 주식회사 Method for estimating parameter of induction machines
JP6726390B2 (en) * 2016-07-06 2020-07-22 富士電機株式会社 Controller for permanent magnet type synchronous motor

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058213A (en) * 2001-08-22 2003-02-28 Mitsubishi Electric Corp Numerical controller
JP2004056855A (en) * 2002-07-16 2004-02-19 Denso Corp Motor controller
JP2011176913A (en) * 2010-02-23 2011-09-08 Canon Inc Rotary drive device of robot arm
JP2018007533A (en) * 2016-07-08 2018-01-11 株式会社リコー Motor control device, motor drive device, motor drive system, image formation device, and transport device
JP2018038176A (en) * 2016-08-31 2018-03-08 株式会社ジェイテクト Motor control device

Also Published As

Publication number Publication date
CN113285644B (en) 2024-05-07
KR102567726B1 (en) 2023-08-18
JP7428527B2 (en) 2024-02-06
KR20210099518A (en) 2021-08-12
CN113285644A (en) 2021-08-20

Similar Documents

Publication Publication Date Title
US9136789B2 (en) Synchronous motor control apparatus
EP1562283A1 (en) Servomotor control device for robot and robot having the device
JP2011176906A (en) Method and unit for controlling motor
JP4008724B2 (en) Motor control device
JP5332904B2 (en) AC motor sensorless control device
JPH0993999A (en) Current control method for servomotor
JP2013187931A (en) Motor control device
JP2007336687A (en) Motor controller
JP5920067B2 (en) Motor control device
JP7428527B2 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
JP2012120320A (en) Rotational sensorless control device
El Kharki et al. Real time implementation of backstepping control for high performances induction motor drive
CN113285645B (en) Motor control method, motor drive device, control method for industrial robot, and industrial robot
Betin et al. Position control of an induction machine using variable structure control
Przeniosło et al. Development of microprocessor, time optimized stepper motor driving algorithm
JP6265043B2 (en) Sensorless drive device for synchronous motor
KR102515961B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
Schoonhoven et al. Wide speed range operation of PMSM drives using nonlinear flux control techniques
JP2003284399A (en) Controller for synchronous motor
EP2571157B1 (en) Method and device for controlling power to an electric machine
WO2022172472A1 (en) Motor control device
JPH1118498A (en) Controller for servo motor
WO2022172473A1 (en) Motor control device
WO2022168340A1 (en) Motor control device
JPH01138991A (en) Motor controlling system

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20221012

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20221021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240125

R150 Certificate of patent or registration of utility model

Ref document number: 7428527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150