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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 110
- 238000001514 detection method Methods 0.000 claims description 90
- 230000005856 abnormality Effects 0.000 claims description 54
- 230000001133 acceleration Effects 0.000 claims description 36
- 230000008859 change Effects 0.000 claims description 24
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 230000005484 gravity Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 description 35
- 230000000694 effects Effects 0.000 description 18
- 230000009471 action Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 17
- 238000012545 processing Methods 0.000 description 13
- 238000004088 simulation Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 230000007812 deficiency Effects 0.000 description 8
- 230000003028 elevating effect Effects 0.000 description 7
- 210000000323 shoulder joint Anatomy 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 210000002310 elbow joint Anatomy 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 5
- 230000004069 differentiation Effects 0.000 description 4
- 210000000245 forearm Anatomy 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 3
- 210000003857 wrist joint Anatomy 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 230000004907 flux Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/05—Arrangements 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
- B25J9/126—Rotary actuators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
- H02P21/18—Estimation of position or speed
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/22—Current control, e.g. using a current control loop
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P29/00—Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
- H02P29/02—Providing protection against overload without automatic interruption of supply
- H02P29/024—Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
- H02P6/18—Circuit arrangements for detecting position without separate position detecting elements
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/20—Arrangements for starting
- H02P6/21—Open loop start
Abstract
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
特許文献1には、モータの回転を停止させるときに、具体的にどのようにするのかについての記載がない。特許文献1に記載のモータ制御方法では、モータの通常駆動中に、センサレスベクトル制御によってモータの回転位置を制御していることから、モータの停止時には、モータの回転位置を制御しながら回転を減速させて停止させると考えられる。具体的には、モータ内で十分な誘起電圧が得られなくなるまでセンサレスベクトル制御によってモータの回転を減速させ、その後、制御方式をオープンループ制御に切り換えて、回転を停止させるのである。
ところが、本発明者の実験によれば、特許文献1に記載のオープンループ制御を用いると、トルクの過不足によってモータの脱調や振動を引き起こしてしまうことが判明した。
However, according to the experiment of the present inventor, it has been found that when the open loop control described in
なお、モータの制御方式をセンサレスベクトル制御からオープンループ制御に切り換えるときに発生する課題について説明したが、次のような構成においても、同様の課題が生じ得る。即ち、制御方式を、エンコーダ等によるモータの回転位置の検出値をフィードバックするフィードバック制御から、オープンループ制御に切り換える構成である。 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.
以下、図面を参照しながら、本発明の実施形態に係るモータ制御方法を用いるモータ駆動装置及び産業用ロボットの実施形態について説明する。なお、以下の図面においては、各構成をわかり易くするために、実際の構造、並びに、各構造における縮尺及び数、などを異ならせる場合がある。 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
上腕部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
産業用ロボット1において、手部2Aを図2の一点鎖線で示される軌道に沿って矢印方向に真っ直ぐに移動させるためには、肩関節2Dと肘関節2Fとの角度を1対2の割合にして両関節を回転させる必要がある。そのためには、第1モータ22Aと第2モータ22Bとを互いに異なる駆動量で駆動する必要がある。第1モータ22と第2モータ22Bのそれぞれの回転位置を制御せずに両モータを停止させた場合、両モータの駆動量のバランスを崩して手部2Aを一点鎖線で示される軌道から逸れた位置で停止させてしまう。すると、周囲の構造物や装置などに、手部2Aをぶつけてしまうおそれがある。
In the
次に、実施形態に係るモータ制御方法を用いるモータ駆動装置について説明する。
図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
3つのモータ駆動装置20のそれぞれは、モータ22の駆動の制御方式として、検出位置フィードバック制御、センサレスベクトル制御、及びオープンループ制御の3つを切り換えて実行することができる。検出位置フィードバック制御は、モータの回転位置を検出した結果を、回転位置の指令生成にフィードバックする制御である。
Each of the three
産業用ロボット1は、3つのモータ駆動装置20に指令を送る上位コントローラ100を備える。上位コントローラ100は、記憶媒体に記憶している制御プログラムに基づいて、3つのモータ駆動装置20のそれぞれに対して位置指令値(回転位置指令信号)を送信する。3つのモータ駆動装置20のそれぞれは、上位コントローラ100から送られてくる位置指令値に対応する回転位置までモータ22のロータを回転させる制御を実行する。この制御により、産業用ロボット1のアーム2が前述の制御プログラムに基づいた動作を行う。
The
3つのモータ駆動装置20の構成は互いに同様である。よって、以下、3つのモータ駆動装置20のうち、1つだけについて、構成を詳細に説明する。
The configurations of the three
モータ駆動装置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
上位コントローラ100から出力される位置指令値は、モータ駆動装置20の位置速度制御部23、及びオープンループ制御電気角生成部36に入力される。
The position command value output from the host controller 100 is input to the position
産業用ロボット1のアーム2における旋回動作(肩関節2Dの回動)、関節曲げ伸ばし動作(肩関節2D、肘関節2F、及び手首関節の回動)、又は昇降動作の駆動源であるモータ22は、三相(U相、V相、W相)交流のPM(Permanent Magnet)モータからなる。モータ22に搭載された回転位置検出器としてのロータリーエンコーダ30は、周知の技術によってモータ22のロータの回転位置を検出する。そして、ロータリーエンコーダ30は、回転位置の検出結果の情報を位置検出値(回転位置信号)として出力する。出力された位置検出値は、エンコーダ通信異常判定部38、及び制御モード選択部21に入力される。また、位置検出値は、第2セレクター32を介して位置速度制御部23にも入力される。
The
なお、以下、モータ22のロータの回転を、モータ22の回転と表現する場合がある。
Hereinafter, the rotation of the rotor of the
エンコーダ通信異常判定部38は、ロータリーエンコーダ30から送られてくる位置検出値について異常の有無を検出し、異常を検出した場合には異常発生信号を制御モード選択部21、及び上位コントローラ100に送信する。エンコーダ通信異常判定部38によって位置検出値の異常を検出する方法の1例として、位置検出値の時間変化量が所定の閾値を超えた場合(あるいは閾値以上である場合)に、異常として検出する方法が挙げられる。但し、この方法に限られるものではない。位置検出値の異常を検出する方法として、ロータリーエンコーダ30の異常を位置検出値の異常として検出する方法を採用してもよい。
The encoder communication
制御モード選択部21は、ロータリーエンコーダ30から送られてくる位置検出値の単位時間あたりにおける変化量に基づいてモータ22の角速度を算出し、算出結果と、位置検出値の異常の有無とに基づいて制御モード値を選択して出力する。
The control
図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
一方、異常発生信号が受信された場合には(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
以上のようにして、制御モード値選択処理では、位置検出値の異常が発生していない場合には制御モード値として「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
上位コントローラ100は、モータ駆動装置20から異常発生信号が送られてくると、3つのモータ駆動装置20に送信する位置指令値を、アーム2を所定の軌道上で移動させながらアーム2及びモータ22を減速停止させるパターンで変化させる。これにより、アーム2は、所定の軌道上で減速しながら停止する。
When an abnormality occurrence signal is sent from the
図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
かかる構成の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
上述の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
ベクトル制御DQ軸電流指令生成部24は、入力されたトルク値と同じトルクを発生させるのに必要なD軸電流、及びQ軸電流をモータ22内で発生させるためのD軸電流指令値、及びQ軸電流指令値(以下、これらをDQ軸電流指令値とも言う)を生成する。D軸電流は、モータ22に流れる電流のうちの永久磁石の磁束に平行な成分である。また、Q軸電流は、モータ22に流れる電流のうちの永久磁石の磁束に直交する成分である。
The vector-controlled DQ-axis
ベクトル制御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
DQ変換部39は、第3セレクター34から送られてくる電気角に基づいてD軸電流フィードバック値、及びQ軸電流フィードバック値(以下、DQ軸電流フィードバック値とも言う)を生成して電流制御部26に出力する。なお、後述のセンサレスベクトル制御時においては、DQ変換部39が、第3セレクター34から送られてくる電気角と、電流検出部31から送られてくる三相電流検出値とに基づいてDQ軸電流フィードバック値を生成する。
The
電流制御部26は、第1セレクター25から送られてくるDQ軸電流指令値と、DQ変換部39から送られてくるDQ軸電流フィードバック値とに基づいて、DQ軸電圧指令値を生成してDQ逆変換部27に出力する。
The
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
電流検出部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
ロータリーエンコーダ30から出力される位置検出値の異常がない場合には、以上のような検出位置フィードバック制御によってモータ22が駆動される。
If there is no abnormality in the position detection value output from the
次に、センサレスベクトル制御について説明する。センサレスベクトル制御が実行される場合、即ち、位置検出値の異常があり、且つ異常発生直前のモータ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
電流制御部26は、第1セレクター25から送られてくるDQ軸電流指令値と、DQ変換部から送られてくるDQ軸電流フィードバック値とに基づいて、DQ軸電圧指令値を生成して出力する。位置推定部35は、電流制御部26から送られてくるDQ軸電圧指令値と、DQ変換部39から送られてくるDQ軸電流フィードバック値とに基づいて、モータ22の回転位置を推定する。
The
位置推定部35は、DQ変換部39から送られてくるDQ軸電流フィードバック値と、電流制御部26から送られてくるDQ軸電圧指令値とに基づいて、位置推定値と、電気角推定値とを求める。そして、位置推定部35は、位置推定値を第2セレクター32の1番入力端子に出力し、且つ電気角推定値を第3セレクターの1番入力端子に出力する。
The
位置推定部35から出力される位置推定値は、第2セレクター32を介して、位置フィードバック値として位置速度制御部23に入力される。位置速度制御部23は、位置フィードバック値として位置推定値を用いる点の他は検出位置フィードバック制御と同様にしてトルク指令値を出力する。このトルク指令値に基づくU相ゲート信号、V相ゲート信号、W相ゲート信号としてインバータ―29に入力されるまでの処理は、検出位置フィードバック制御と同様である。つまり、センサレスベクトル制御では、位置検出値の代わりに、モータ22内で発生する誘起電圧に基づく位置推定値を位置フィードバック値として位置速度制御部23にフィードバックする点の他は、検出位置フィードバック制御と同様の処理が行われる。
The position estimation value output from the
なお、モータ駆動装置20は、センサレスベクトル制御において、検出位置フィードバック制御に比べて位置速度制御の制御ループゲインを低下させる。制御ループゲインを低下させる方法の1例として、上位コントローラ100の指令によって制御ループゲインを低下させる方法が挙げられる。アーム2の軌道を精度良く維持するためには、位置検出値の異常が発生したモータ駆動装置20だけでなく、他のモータ駆動装置20の位置速度制御の制御ループゲインも低下させることが望ましい。上位コントローラ100の指令によれば、全てのモータ駆動装置20における位置速度制御の制御ループゲインを適切に低下させることが可能である。
In the sensorless vector control, the
モータ駆動装置20の位置速度制御の制御ループゲインを低下させる他の1例として、位置検出値の異常を引き起こしたモータ駆動装置20の処理によって、そのモータ駆動装置20の位置速度制御の制御ループゲインだけ低下させる方法が挙げられる。この方法の処理の1例としては、P−PI制御によって回転位置と角速度とを制御する構成において、速度ループゲイン、位置ループゲイン、及び速度ループ積分ゲインのそれぞれを低下させる方法が挙げられる。また、他の1例として、例えば特開2002−229604号公報に記載のようなRPP制御によって回転位置と角速度とを制御する構成において、ω2ゲイン、ω1ゲイン、ωqゲインを低下させる方法が挙げられる。また、更なる他の例として、RPP制御によって回転位置と角速度とを制御する構成において、イナーシャノミナル設定値を低下させる方法が挙げられる。イナーシャノミナル設定値を低下させることで、ω2ゲイン、ω1ゲインを近似的に低下させることが可能である。この方法によれば、制御ループゲインを低下させるための専用のプログラムを構築することなく、制御ループゲインを適切に低下させることができる。
As another example of reducing the control loop gain of the position / speed control of the
次に、オープンループ制御について説明する。オープンループ制御が実行される場合、即ち、位置検出値の異常があり、且つモータ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
制御方式を、検出位置フィードバック制御やセンサレスベクトル制御に切り換えるときに、モータ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
そこで、図3に示されるオープンループ制御電気角生成部38は、モータ22の回転位置を、検出位置フィードバック制御の実行時と同様に時間変化させるように電気角を生成する。
Therefore, the open-loop control electric
図5は、オープンループ制御電気角生成部36を示すブロック線図である。このオープンループ制御電気角生成部36は、制御器36aと、電気系・機械系のモデル36bと、電気角算出部36cとを備える。
FIG. 5 is a block diagram showing an open loop control electric
制御器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
電気系・機械系のモデル36bは、インバータ36b1のモデル、モータ36b2のモデル、及びモータに対する負荷機械36b5のモデルを備える。これらモデルは、U相、V相、W相のそれぞれについてゲート信号が変化前の値から変化後の値に変化した場合に、モータ22の回転位置と、モータ22に流れる電流値とについてどのように変化するのかをシミュレーションするアルゴリズムを備える。シミュレーションによって得られた位置シミュレーション値は、ロータリーエンコーダ36b4のモデルから出力され、制御器36aの位置速度制御部36a1と、電気角算出部36cと、図3におけるオープンループ制御DQ軸電流指令生成部37とに入力される。
The electrical /
図5における電気角算出部36cは、位置シミュレーション値に基づいてモータ22の電気角を算出し、結果を図3におけるDQ逆変換部27、及びDQ変換部39に出力する。
The electric
位置検出値の異常発生時において、制御方式を。検出位置フィードバック制御、あるいはセンサレスベクトル制御から、オープンループ制御に切り換えた後には、位置検出値を行う場合と同様の挙動でモータを動作させることが可能である。よって、実施形態に係るモータ制御方法によれば、制御方式をオープンループ制御に切り換え後の電気角の急激な変化によるモータの脱調や振動の発生を抑えることができる。 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
また、モータの回転位置をシミュレーションすることに代えて、位置指令値を位置制御応答伝達関数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
位置制御応答伝達関数G(s)の基本式は、次式で表される。
この基本式を用いて位置変換値を得ることが望ましいが、基本式の右辺を改変した次式によって位置指令値を位置変換値に変換してもよい。
ff1、ff2、ω1、及びω2のうち、ω2だけを含む単純な位置制御応答伝達関数G(s)を用いることで、高速で高価な演算装置(例えばCPU)を用いることなく、モータ22の位置変換値を高速で求めることが可能である。単純な位置制御応答伝達関数G(s)であっても、次のような態様におけるモータ制御であれば、モータ22の位置変換値を適切な値で求めることが可能である。即ち、ff1が1に近い値をとり、且つff2が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
前述の態様であれば、モータ22の制御方式を、検出位置フィードバック制御、あるいは、センサレスベクトル制御から、オープンループ制御に切り換えた後において、位置フィードバック制御を行う場合と同様の挙動でモータを動作させることが可能である。このため、制御方式をオープンループ制御に切り換えた後のモータ22の脱調や振動の発生を抑え、且つ位置変換値を安価な演算装置によって適切に求めることができる。
In the above-described embodiment, after the control method of the
なお、モータ22の電気角を位置指令値に近づける方法として、オープンループ制御に切り換わる直前の位置偏差を初期値として、位置偏差を徐々にゼロに収束させる一次遅れフィルターを用いる方法も考えられる。しかしながら、この方法では、位置指令値とは無関係に位置偏差を減少させることから、手部2Aを所望の軌道に沿って移動させることができない。
As a method of bringing the electric angle of the
図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
図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
ところが、前述のような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
そこで、実施形態に係るモータ駆動装置20では、位置指令値に基づいてモータ22に必要なトルクを求めた後、トルクに応じたQ軸電流指令値を求め、Q軸電流指令値に応じたQ軸電流、及びロータの磁石の磁極を引き込むためのD軸電流をモータに供給する。かかる構成によれば、モータ22に必要なトルクに応じた値のQ軸電流をモータに供給することで、トルクの過不足に起因するモータ22の脱調や振動を引き起こすことなく、オープンループ制御によってモータ22の駆動を停止させることができる。
Therefore, in the
モータ22を位置指令値によって指令された位置まで回転させるのに必要なトルクを求める方法として、位置指令値に基づいて仮想的に検出位置フィードバック制御を実行した場合の角加速度を推定し、得られた角加速度推定値に基づいて必要なトルクを求める方法が挙げられる。これにより、モータ22を所望の角速度で回転させるのに必要なトルクを求めることができる。
As a method of obtaining the torque required to rotate the
また、必要なトルクを求める別の方法として、位置指令値に基づいて必要な角速度、及び角加速度を推定し、得られた角速度推定値、及び角加速度推定値に基づいて必要なトルクを求める方法が挙げられる。より詳しくは、角加速度推定値に基づいて加速又は減速に必要なトルクを求め、且つ角速度推定値に基づいて必要な粘性抵抗、及びクーロン摩擦のうちの少なくとも一方を補償するためのトルク求めるのである。 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
図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
異常の発生に基づいて制御方向が検出位置フィードバック制御からセンサレスベクトル制御に切り換わると、図示のように、切り換え直後には、電流検出による回転位置推定の過渡現象によってモータ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
なお、検出位置フィードバック制御においてモータ22が十分な角速度で回転しているときに位置検出値の異常が発生した場合には、センサレスベクトル制御が十分な時間実行されて角速度推定値が安定化してから制御方式がオープンループ制御に切り換わる。すると、オープンループ制御にて、制御方式をセンサレスベクトル制御からオープンループ制御に切り換えた直後のトルク指令値適切な値で求めることが可能なので、モータ22を大きく振動させることはない。
If an abnormality occurs in the position detection value while the
実施形態に係るモータ駆動装置20では、位置指令値に応答した後のモータ22の回転位置推定値を求め、得られた回転位置推定値に基づいて角加速度推定値を求める。回転位置推定値は、オープンループ制御DQ軸電気角生成部36によって強制同期位置指令値として求められる。
In the
図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
Q軸電流指令生成部37Aは、複数の遅延素子、第1数値微分部37A1、第1ローパスフィルター37A9、第2数値微分部37A2、第2ローパスフィルター37A4、慣性モーメントのノミナル値(以下、慣性ゲインと言う)37A5等を備える。また、Q軸電流指令生成部37Aは、トルク定数除算部37A8、符号関数部37A3、粘性係数のノミナル値(以下、粘性ゲインと言う)37A6、クーロン摩擦力のノミナル値(以下、クーロン摩擦ゲインと言う)37A7等を備える。
The Q-axis current
Q軸電流指令生成部37Aで実行される処理について説明する。
オープンループ制御電気角生成部(図3の36)から送られてくる強制同期位置指令値は、第1数値微分部37A1と第1ローパスフィルター37A9とに順に入力されて角速度推定値となる。この角速度推定値は、第2数値微分部37A2と第2ローパスフィルター37A4とに順に入力されて角加速度推定値となった後、慣性ゲイン37A5に入力される。慣性ゲイン37A5は、慣性トルク補償値(慣性力)を出力する。これは、次式に基づいて慣性加速に必要なトルクを算出することと等価である。
θ:モータ角度
The process executed by the Q-axis current
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.
上述の角速度推定値は、粘性ゲイン37A6にも入力される。粘性ゲイン37A6は、粘性トルク補償値(粘性抵抗力)を出力する。これは、次式に基づいて粘性抵抗力を補償するためのトルクを算出することと等価である。
上述の角速度推定値は、符号関数部37A3にも入力される。符号関数部37A3からは、角速度推定値とは逆の符号の値が出力され、クーロン摩擦ゲイン37A7に入力される。クーロン摩擦ゲイン37A17は、クーロン摩擦トルク補償値(クーロン摩擦力)を出力する。これは、次式に基づいてクーロン摩擦力を補償するためのトルクを算出することと等価である。
図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
開始直後の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
具体的には、図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
図5に示されるように、オープンループ制御電気角生成部36は、位置指令値に基づいて位置シミュレーション値を生成し、これを強制同期位置指令値としてDQ軸電流指令生成部37に出力する。また、図9に示されるように、オープンループ制御DQ軸電流指令生成部37は、強制同期位置指令値に基づいて角速度推定値を求め、得られた角速度推定値に基づいて角加速度推定値を求める。よって、モータ駆動装置20は、センサレスベクトル制御の実行中に、位置指令値に基づいて加速度推定値を求めている。
As shown in FIG. 5, the open-loop control electric
かかる構成では、制御方式をセンサレスベクトル制御からオープンループ制御に切り換えた直後に、直前に求めておいた角加速度推定値を用いて必要なトルクを求めることが可能になる。よって、センサレスベクトル制御からオープンループ制御に切り換えた直後から、必要なトルクに応じた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
実施形態に係るモータ駆動装置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
FIG. 10 is a graph showing the relationship between the Q-axis current command value and the D-axis current command value in the
以下、電流値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
低トルク領域にて、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
中トルク領域にて、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
図9に示されるD軸電流指令生成部37Bで実行される処理について説明する。
D軸電流指令生成部37Bは、Q軸-ノルム電流変化率ゲイン37B1、絶対値演算部37B2、飽和部37B3、第1の2乗演算部37B4、第2の2乗演算37B5、及び平方根演算部37B6を備える。
The process executed by the D-axis current
The D-axis current
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
飽和部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
<
<構成1の作用効果>
構成1によれば、モータ22に必要なトルクに応じた値のQ軸電流をモータ22に供給することで、モータ22を脱調や振動させることなく、オープンループ制御によってモータ22の駆動を停止させることができる。
<Action and effect of
According to the
<構成2>
構成2は、構成1におけるトルクを求めるステップが、位置指令値に応答した後のモータ22の角加速度推定値(例えば、図9の角速度推定値)を求めるステップと、角加速度推定値に基づいてトルク(例えば、図9のトルク指令値)を求めるステップとを具備する。
<
In the
<構成2の作用効果>
構成2によれば、モータ22を回転させるのに必要なトルクに応じたQ軸電流をモータ22に供給することで、モータ22に不要なQ軸電流を供給することを抑えることができる。
<Action and effect of
According to the
<構成3>
構成3は、構成2におけるトルクを求めるステップが、位置指令値に応答した後のモータ22の角速度推定値(例えば、図9の角速度推定値)を求めるステップと、角速度推定値、及び角加速度推定値に基づいてトルクを求めるステップとを具備する。
<Structure 3>
In the configuration 3, the steps for obtaining the torque in the
<構成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のトルク指令値)を求めるステップとを具備する。
<
In the
<構成4の作用効果>
構成4によれば、位置シミュレーション値に基づいてモータ22の角加速度推定値を求めることで、センサレスベクトル制御の実行時間不足によるオープンループ制御切り換わり時のモータ22の振動の発生を回避することができる。
<Action and effect of
According to the
<構成5>
構成5は、構成2乃至4の何れかのトルクを求めるステップでは、角加速度推定値に慣性モーメントに相当する係数(例えば、図9の慣性ゲイン37A5)を乗じて求められる駆動機械系の加速及び減速に必要な力のモーメントを、トルク、又はトルクの一部として求める。
<Structure 5>
In configuration 5, in the step of obtaining the torque of any of
<構成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
<構成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
<構成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
<構成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
<構成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
<構成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
<構成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
<構成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
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
<構成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
<構成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
Further, in the configuration 13, if an abnormality occurs in the position detection value while the
According to such a configuration 13, it is possible to avoid the occurrence of improper operation of the
なお、位置検出値の異常発生時において、手部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
<構成14>
構成14は、構成のセンサレスベクトル制御の実行中に、位置指令値(回転位置指令値)に基づいてモータ22の角加速度推定値を求めるステップを実行する。
<Structure 14>
The configuration 14 executes a step of obtaining an estimated angular acceleration value of the
<構成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
<構成15>
構成15は、モータ22の駆動を制御するモータ駆動装置20であって、構成1乃至14の何れかのモータ制御方法によってモータ22の駆動を制御する。
<Structure 15>
Configuration 15 is a
<構成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
<構成16>
構成16は、複数のモータ22の駆動を個別に制御して産業用ロボット1のアーム2の位置を変化させる産業用ロボット1の制御方法である。また、構成16は、複数のモータ22におけるそれぞれの駆動を、構成1乃至14の何れかのモータ制御方法によって制御する。
<Structure 16>
Configuration 16 is a control method for an
<構成17>
構成17は、複数のモータ22の駆動を個別に制御してアーム2の位置を変化させる産業用ロボット1であって、複数のモータ22におけるそれぞれの駆動を、構成15のモータ駆動装置20によって制御する。
<Structure 17>
Configuration 17 is an
<構成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
以上、本発明の好ましい実施形態について説明したが、本発明は、実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。実施形態は、発明の範囲及び要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
ことを特徴とする請求項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.
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)
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)
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 |
-
2020
- 2020-02-04 JP JP2020017206A patent/JP7428527B2/en active Active
-
2021
- 2021-01-25 KR KR1020210009943A patent/KR102567726B1/en active IP Right Grant
- 2021-01-26 CN CN202110101850.0A patent/CN113285644B/en active Active
Patent Citations (5)
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 |