KR102567726B1 - Motor control method, motor driving device, industrial robot control method, and industrial robot - Google Patents

Motor control method, motor driving device, industrial robot control method, and industrial robot Download PDF

Info

Publication number
KR102567726B1
KR102567726B1 KR1020210009943A KR20210009943A KR102567726B1 KR 102567726 B1 KR102567726 B1 KR 102567726B1 KR 1020210009943 A KR1020210009943 A KR 1020210009943A KR 20210009943 A KR20210009943 A KR 20210009943A KR 102567726 B1 KR102567726 B1 KR 102567726B1
Authority
KR
South Korea
Prior art keywords
motor
value
axis current
torque
command value
Prior art date
Application number
KR1020210009943A
Other languages
Korean (ko)
Other versions
KR20210099518A (en
Inventor
마사시 하나오카
Original Assignee
니덱 인스트루먼츠 가부시키가이샤
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 니덱 인스트루먼츠 가부시키가이샤 filed Critical 니덱 인스트루먼츠 가부시키가이샤
Publication of KR20210099518A publication Critical patent/KR20210099518A/en
Application granted granted Critical
Publication of KR102567726B1 publication Critical patent/KR102567726B1/en

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/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
    • 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
    • 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

토크 부족에 의한 모터의 탈조나 진동을 발생시키지 않고, 모터의 회전을 오픈 루프 제어에 의해 정지시킨다.
오픈 루프 제어에 있어서, 상위 컨트롤러로부터 보내져 오는 위치 명령값에 기초하여 모터에 필요한 토크를 구하는 스텝과, 토크에 따른 Q축 전류 명령값을 구하는 스텝과, Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝을 구비한다.
The rotation of the motor is stopped by open-loop control without generating motor out-of-phase or vibration due to lack of torque.
In open-loop control, a step for obtaining a torque required for a motor based on a position command value sent from a host controller, a step for obtaining a command value for Q-axis current according to the torque, a step for obtaining a command value for Q-axis current according to the Q-axis current command value, and and a step for supplying a D-axis current to the motor for drawing magnetic poles of the magnets of the rotor.

Figure R1020210009943
Figure R1020210009943

Description

모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇{MOTOR CONTROL METHOD, MOTOR DRIVING DEVICE, INDUSTRIAL ROBOT CONTROL METHOD, AND INDUSTRIAL ROBOT}Motor control method, motor drive device, industrial robot control method and industrial robot

본 발명은, 모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇에 관한 것이다.The present invention relates to a motor control method, a motor driving device, an industrial robot control method, 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 Literature 1, the motor is started by open-loop control by forced current (current drawing method). At this time, while supplying a constant D-axis current to the motor, the Q-axis current is maintained at zero. Then, when the angular velocity of the motor is raised until a sufficient induced voltage is obtained in the motor, the control method is switched from open-loop control to sensorless vector control in which the rotational position of the motor is estimated based on the current detection value. do.

일본 특허 공개 제2008-11628호 공보Japanese Unexamined Patent Publication No. 2008-11628

특허문헌 1에는, 모터의 회전을 정지시킬 때에, 구체적으로 어떻게 하는지에 대한 기재가 없다. 특허문헌 1에 기재된 모터 제어 방법에서는, 모터의 통상 구동 중에, 센서리스 벡터 제어에 의해 모터의 회전 위치를 제어하고 있는 점에서, 모터의 정지 시에는, 모터의 회전 위치를 제어하면서 회전을 감속시켜 정지시킨다고 생각된다. 구체적으로는, 모터 내에서 충분한 유기 전압이 얻어지지 않게 될 때까지 센서리스 벡터 제어에 의해 모터의 회전을 감속시키고, 그 후, 제어 방식을 오픈 루프 제어로 전환하여, 회전을 정지시키는 것이다.Patent Literature 1 does not specifically describe how to stop the rotation of the motor. In the motor control method described in Patent Literature 1, since the rotational position of the motor is controlled by sensorless vector control during normal driving of the motor, the rotation is decelerated while controlling the rotational position of the motor when the motor is stopped. It is thought to stop Specifically, the rotation of the motor is decelerated by sensorless vector control until a sufficient induced voltage is not obtained in the motor, and then the control method is switched to open-loop control to stop the rotation.

그런데, 본 발명자의 실험에 의하면, 특허문헌 1에 기재된 오픈 루프 제어를 사용하면, 토크의 과부족에 의해 모터의 탈조나 진동을 야기해 버리는 것이 판명되었다.By the way, according to the experiment of the present inventor, it has been found that using the open loop control described in Patent Document 1 causes motor out-of-regulation and vibration due to excessive or insufficient torque.

또한, 모터의 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환할 때에 발생하는 과제에 대하여 설명했지만, 다음과 같은 구성에 있어서도, 동일한 과제가 발생할 수 있다. 즉, 제어 방식을, 인코더 등에 의한 모터의 회전 위치의 검출값을 피드백하는 피드백 제어로부터, 오픈 루프 제어로 전환하는 구성이다.In addition, the problems that occur when switching the control method of the motor from sensorless vector control to open-loop control have been described, but the same problems may also occur in the following configuration. That is, it is a configuration in which the control method is switched from feedback control in which the detection value of the rotational position of the motor by an encoder or the like is fed back to open-loop control.

본 발명은, 이상의 배경을 감안하여 이루어진 것이고, 그 목적으로 하는 점은, 다음과 같은 모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇을 제공하는 것이다. 즉, 토크의 과부족에 의한 모터의 탈조나 진동을 발생시키지 않고, 모터의 회전을 오픈 루프 제어에 의해 정지시킬 수 있는 모터 제어 방법 등이다.The present invention has been made in view of the above background, and its object is to provide the following motor control method, motor drive device, industrial robot control method, and industrial robot. That is, a motor control method capable of stopping rotation of a motor by open-loop control without generating motor out-of-control or vibration due to excessive or insufficient torque.

본원의 제1 발명은, 모터를 전류 인입법에 의한 오픈 루프 제어에 의해 구동하는 모터 제어 방법에 있어서, 신호 발신 수단으로부터 보내져 오는 회전 위치 명령 신호에 기초하여 모터에 필요한 토크를 구하는 스텝과, 상기 토크에 따른 Q축 전류 명령값을 구하는 스텝과, 상기 Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법이다.The first invention of the present application is a motor control method for driving a motor by open-loop control using a current drawing method, comprising the steps of obtaining a torque required for a motor based on a rotational position command signal sent from a signal transmission means; A step of obtaining a Q-axis current command value according to the torque, and a step of supplying the Q-axis current according to the Q-axis current command value and the D-axis current for drawing in the magnetic pole of the magnet of the rotor to the motor motor control method.

본원의 제2 발명은, 모터의 구동을 제어하는 모터 구동 장치이며, 제1 발명의 모터 제어 방법에 의해 상기 모터의 구동을 제어하는 것을 특징으로 하는 모터 구동 장치이다.A second invention of the present application is a motor driving device for controlling driving of a motor, and 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 발명의 모터 제어 방법에 의해 제어하는 것을 특징으로 하는 산업용 로봇의 제어 방법이다.The third invention of the present application is an industrial robot control method for individually controlling the driving of a plurality of motors to change the position of an arm of the industrial robot, wherein each driving of the plurality of motors is controlled by the motor of the first invention. It is a control method of an industrial robot characterized in that it is controlled by the method.

본원의 제4 발명은, 복수의 모터의 구동을 개별로 제어하여 암의 위치를 변화시키는 산업용 로봇이며, 복수의 모터에 있어서의 각각의 구동을, 제2 발명의 모터 구동 장치에 의해 제어하는 것을 특징으로 하는 산업용 로봇이다.The fourth invention of the present application is an industrial robot that individually controls driving of a plurality of motors to change the position of an arm, and controls each driving of the plurality of motors by the motor driving device of the second invention. It is an industrial robot characterized by

이들 발명에 의하면, 토크의 과부족에 의한 모터의 탈조나 진동을 발생시키지 않고, 모터의 회전을 오픈 루프 제어에 의해 정지시킬 수 있다는 우수한 효과가 있다.According to these inventions, there is an excellent effect that the rotation of the motor can be stopped by open-loop control without causing the motor to run out or vibrate due to excessive or insufficient torque.

도 1은 실시 형태에 관한 산업용 로봇을 도시하는 사시도.
도 2는 동 산업용 로봇을 도시하는 평면도.
도 3은 동 산업용 로봇에 탑재된 모터 구동 장치의 제어 구성을, 모터 등과 함께 도시하는 블록선도이다.
도 4는 동 모터 구동 장치의 제어 모드 선택부에 의해 실행되는 모드값 선택 처리의 처리 플로를 도시하는 흐름도이다.
도 5는 동 모터 구동 장치의 오픈 루프 제어 전기각 생성부를 도시하는 블록선도이다.
도 6은 위치 명령값과, 위치 명령값에 응답한 제어에 의한 수부의 실제의 회전 위치의 관계를 도시하는 그래프이다.
도 7은 종래의 오픈 루프 제어에 있어서의 각종 상태의 시간 변화를 도시하는 그래프이다.
도 8은 오픈 루프 제어 개시 직전의 토크 명령값에 기초하여 오픈 루프 제어 개시 직후의 Q축 전류 명령값을 결정하는 방법에 있어서의 각종 상태의 시간 변화를 도시하는 그래프이다.
도 9는 동 모터 구동 장치의 오픈 루프 제어 DQ축 전류 명령 생성부의 제어 구성을 도시하는 블록선도이다.
도 10은 동 모터 구동 장치에 있어서의 Q축 전류 명령값과 D축 전류 명령값의 관계를 도시하는 그래프이다.
1 is a perspective view showing an industrial robot according to an embodiment.
Fig. 2 is a plan view showing the industrial robot;
Fig. 3 is a block diagram showing the control configuration of the motor driving device mounted on the industrial robot together with a motor and the like.
Fig. 4 is a flowchart showing the processing flow of the mode value selection process executed by the control mode selection section of the same motor drive device.
Fig. 5 is a block diagram showing an open-loop controlled electrical angle generation unit of the motor drive device.
6 is a graph showing a relationship between a position command value and an actual rotational position of a hand part by control in response to the position command value.
7 is a graph showing time changes of various states in the conventional open loop control.
8 is a graph showing time changes of various states in a method for determining a Q-axis current command value immediately after open-loop control starts based on a torque command value immediately before open-loop control starts.
Fig. 9 is a block diagram showing the control configuration of the open-loop controlled DQ-axis current command generation unit of the same motor drive device.
10 is a graph showing the relationship between the Q-axis current command value and the D-axis current command value in the same motor drive device.

이하, 도면을 참조하면서, 본 발명의 실시 형태에 관한 모터 제어 방법을 사용하는 모터 구동 장치 및 산업용 로봇의 실시 형태에 대하여 설명한다. 또한, 이하의 도면에 있어서는, 각 구성을 알기 쉽게 하기 위해, 실제의 구조, 그리고 각 구조에 있어서의 축척 및 수 등을 상이하게 하는 경우가 있다.EMBODIMENT OF THE INVENTION Hereinafter, embodiment of the motor drive apparatus and industrial robot using the motor control method concerning embodiment of this invention is described, referring drawings. In the following drawings, in order to make each configuration easy to understand, the actual structure and the scale and number of each structure may be different in some cases.

먼저, 실시 형태에 관한 산업용 로봇의 기본적인 구성에 대하여 설명한다. 도 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. 1 is a perspective view showing an industrial robot 1 according to an embodiment. 2 is a plan view showing the industrial robot 1 . The industrial robot 1 is a robot for conveying a glass substrate, and is provided with an arm 2, a mount 3, and an elevation part 4. The elevation part 4 is held by the mount 3 and moves up and down in the up-and-down direction (in the direction of the arrow in FIG. 1) by driving an elevation 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 a lifting 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 a connecting portion with the elevation part 4 in the upper arm part 2C, can rotate along the horizontal direction by driving the 1st motor 22A. Specifically, when the rotational driving force of the first motor 22A is transmitted to the shoulder joint 2D via the first belt 2E, the shoulder joint 2D rotates in the horizontal direction. Further, the elbow joint 2F, which is a connecting portion between the upper arm 2C and the forearm 2B, can rotate along the horizontal direction by driving the second motor 22B. Specifically, the elbow joint 2F rotates in the horizontal direction when the rotation driving force of the second motor 22B is transmitted to the elbow joint 2F via the second belt 2G. Further, the wrist joint, which is a connecting portion between the forearm 2B and the arm 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 arm 2A straight in the direction of the arrow along the trajectory indicated by the dashed-dotted line in FIG. Therefore, 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 respective rotational positions of the first motor 22 and the second motor 22B, the balance of the drive amounts of both motors is disrupted and the hand portion 2A is moved from the trajectory indicated by the chain dotted line. Stop at the wrong position and throw it away. Then, there is a possibility that the receiving portion 2A may collide with a surrounding structure or device.

이어서, 실시 형태에 관한 모터 제어 방법을 사용하는 모터 구동 장치에 대하여 설명한다.Next, a motor drive device using the motor control method according to the embodiment will be described.

도 3은, 실시 형태에 관한 산업용 로봇(1)에 탑재된 모터 구동 장치(20)의 제어 구성을, 모터(22) 등과 함께 도시하는 블록선도이다. 또한, 산업용 로봇(1)은, 도 3에 도시되는 모터 구동 장치(20)로서, 암(2)의 견관절(2D)을 회동시키기 위한 모터 구동 장치(20), 암(2)의 팔꿈치 관절(2F) 및 손목 관절을 회동시키기 위한 모터 구동 장치(20) 및 승강부(4)를 승강시키기 위한 모터 구동 장치(20)의 3개를 구비한다.3 is a block diagram showing the 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. In addition, the industrial robot 1 is a motor drive device 20 shown in FIG. 3, a motor drive device 20 for rotating the shoulder joint 2D of the arm 2, an elbow joint of the arm 2 ( 2F) and a motor driving device 20 for rotating the wrist joint and a motor driving device 20 for moving the elevation unit 4 up and down.

3개의 모터 구동 장치(20)의 각각은, 모터(22)의 구동의 제어 방식으로서, 검출 위치 피드백 제어, 센서리스 벡터 제어 및 오픈 루프 제어의 3개를 전환하여 실행할 수 있다. 검출 위치 피드백 제어는, 모터의 회전 위치를 검출한 결과를, 회전 위치의 명령 생성에 피드백하는 제어이다.Each of the three motor drive devices 20 can switch and execute three of detection position feedback control, sensorless vector control, and open loop control as a control method for driving the motor 22 . The detection position feedback control is control that feeds back the result of detecting the rotational position of the motor to command generation of the rotational 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 upper controller 100 transmits a position command value (rotational position command signal) to each of the three motor drive devices 20 based on a control program stored in a storage medium. Each of the three motor drive devices 20 executes control to rotate the rotor of the motor 22 to a rotational 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 control program described above.

3개의 모터 구동 장치(20)의 구성은 서로 마찬가지이다. 따라서, 이하, 3개의 모터 구동 장치(20) 중, 1개만에 대하여, 구성을 상세하게 설명한다.The configurations of the three motor driving devices 20 are the same as 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 driving 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, and a DQ inverse conversion. section 27, a PWM controller 28 and an inverter 29. The motor 22 driven by the motor drive device 20 is the above-described 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 generator 33, a third selector 34, a position estimation unit 35, and an open loop control electric angle. A generator 36 is provided. In addition, 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 upper controller 100 is input to the position speed controller 23 and the open-loop control electrical angle generator 36 of the motor drive device 20 .

산업용 로봇(1)의 암(2)에 있어서의 선회 동작(견관절(2D)의 회동), 관절 굽힘 신장 동작(견관절(2D), 팔꿈치 관절(2F) 및 손목 관절의 회동), 또는 승강 동작의 구동원인 모터(22)는, 삼상(U상, V상, W상) 교류의 PM(Permanent Magnet) 모터로 이루어진다. 모터(22)에 탑재된 회전 위치 검출기로서의 로터리 인코더(30)는, 주지의 기술에 의해 모터(22)의 로터의 회전 위치를 검출한다. 그리고, 로터리 인코더(30)는, 회전 위치의 검출 결과의 정보를 위치 검출값(회전 위치 신호)으로서 출력한다. 출력된 위치 검출값은, 인코더 통신 이상 판정부(38) 및 제어 모드 선택부(21)에 입력된다. 또한, 위치 검출값은, 제2 셀렉터(32)를 통해 위치 속도 제어부(23)에도 입력된다.of the arm 2 of the industrial robot 1 (rotation of the shoulder joint 2D), joint bending and extension operation (rotation of the shoulder joint 2D, elbow joint 2F, and wrist joint), or lifting operation The motor 22 as a driving source is composed of a PM (Permanent Magnet) motor of three-phase (U-phase, V-phase, W-phase) alternating current. The rotary encoder 30 as a rotational position detector mounted on the motor 22 detects the rotational 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 rotational position as a position detection value (rotational position signal). The outputted position detection value is input to the encoder communication failure determination unit 38 and the control mode selection unit 21. In addition, the position detection value is also input to the position speed controller 23 through the second selector 32 .

또한, 이하, 모터(22)의 로터의 회전을, 모터(22)의 회전이라고 표현하는 경우가 있다.Hereinafter, rotation of the rotor of the motor 22 may be expressed as rotation of the motor 22 .

인코더 통신 이상 판정부(38)는, 로터리 인코더(30)로부터 보내져 오는 위치 검출값에 대하여 이상의 유무를 검출하고, 이상을 검출한 경우에는 이상 발생 신호를 제어 모드 선택부(21) 및 상위 컨트롤러(100)로 송신한다. 인코더 통신 이상 판정부(38)에 의해 위치 검출값의 이상을 검출하는 방법의 일례로서, 위치 검출값의 시간 변화량이 소정의 역치를 초과한 경우(혹은 역치 이상인 경우)에, 이상으로서 검출하는 방법을 들 수 있다. 단, 이 방법에 한정되는 것은 아니다. 위치 검출값의 이상을 검출하는 방법으로서, 로터리 인코더(30)의 이상을 위치 검출값의 이상으로서 검출하는 방법을 채용해도 된다.The encoder communication abnormality determination unit 38 detects the presence or absence of an abnormality with respect to the position detection value sent from the rotary encoder 30, and when an abnormality is detected, an abnormality occurrence signal is sent to the control mode selection unit 21 and the upper controller ( 100). As an example of a method for detecting an abnormality in the positional detection value by the encoder communication abnormality determination unit 38, a method of detecting as anomaly when the amount of time change in the positional detection value exceeds a predetermined threshold value (or is greater than or equal to the threshold value) can be heard However, it is not limited to this method. As a method of detecting an abnormality in the position detection value, a method of detecting an abnormality in the rotary encoder 30 as an abnormality in the position detection value may be employed.

제어 모드 선택부(21)는, 로터리 인코더(30)로부터 보내져 오는 위치 검출값의 단위 시간당에 있어서의 변화량에 기초하여 모터(22)의 각속도를 산출하고, 산출 결과와, 위치 검출값의 이상의 유무에 기초하여 제어 모드값을 선택하여 출력한다.The control mode selector 21 calculates the angular velocity of the motor 22 based on the amount of change per unit time of the position detection value sent from the rotary encoder 30, and the calculation result and whether or not the position detection value is abnormal Based on this, the control mode value is selected and output.

도 4는, 제어 모드 선택부(21)에 의해 실행되는 모드값 선택 처리의 처리 플로를 도시하는 흐름도이다. 모드값 선택 처리에서는, 먼저, 인코더 통신 이상 판정부(38)로부터 필요에 따라 발신되는 이상 발생 신호에 대하여, 수신했는지 여부가 판정된다(S(스텝) 1). 그리고, 이상 발생 신호가 수신되지 않는 경우에는(S1에서 N), 제어 모드값으로서 「0」이 선택되고 제어 모드 선택부(21)로부터 출력된다(S2). 그 후, 처리 플로가 S1로 복귀된다.FIG. 4 is a flowchart showing the processing flow of the mode value selection process executed by the control mode selection unit 21. As shown in FIG. In the mode value selection process, first, it is determined whether or not an abnormality generation signal transmitted as necessary from the encoder communication abnormality determining unit 38 has been received (S (step) 1). Then, when the abnormal occurrence signal is not received (N in S1), "0" is selected as the control mode value and outputted from the control mode selector 21 (S2). After that, the processing flow returns to S1.

한편, 이상 발생 신호가 수신된 경우에는(S1에서 Y), 이어서, 모터(22)의 각속도에 대하여, 소정값 이상인지 여부(혹은 소정값을 초과하는지 여부)가 판정된다(S3). 그리고, 각속도가 소정값 이상인 경우에는(S3에서 Y), 제어 모드값으로서 「1」이 선택되고 제어 모드 선택부(21)로부터 출력된다(S4). 한편, 소정값 이상이 아닌 경우(혹은 소정값을 초과하지 않는 경우)에는(S3에서 N), 제어 모드값으로서 「2」가 선택되고 제어 모드 선택부(21)로부터 출력된다. 이하, 전술한 소정값을, 하한값이라고 표현하는 경우가 있다.On the other hand, when an abnormal 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 greater than a predetermined value (or whether it exceeds a predetermined value) (S3). Then, when the angular velocity is equal to or greater than the predetermined value (Y in S3), "1" is selected as the control mode value and outputted from the control mode selector 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 outputted from the control mode selector 21. Hereinafter, the above predetermined value may be expressed as a lower limit value.

이상과 같이 하여, 제어 모드값 선택 처리에서는, 위치 검출값의 이상이 발생하고 있지 않은 경우에는 제어 모드값으로서 「0」이 선택된다. 또한, 위치 검출값의 이상이 발생하고 또한 각속도가 소정값 이상인 경우에는 제어 모드값으로서 「1」이 선택되고, 위치 검출값의 이상이 발생하고 또한 각속도가 소정값 이상이 아닌 경우에는 제어 모드값으로서 「2」가 선택된다.As described above, in the control mode value selection process, when no abnormality has occurred in the position detection value, "0" is selected as the control mode value. In addition, when an abnormal position detection value occurs and the angular velocity exceeds the predetermined value, "1" is selected as the control mode value, and when an abnormal position detection value occurs and the angular velocity does not exceed the predetermined value, the control mode value As "2" is selected.

또한, 전술한 소정값은, 예를 들어 모터(22)의 정격 각속도의 10〔%〕이다.In addition, the above predetermined value is 10 [%] of the rated angular velocity of the motor 22, for example.

상위 컨트롤러(100)는, 모터 구동 장치(20)로부터 이상 발생 신호가 보내져 오면, 3개의 모터 구동 장치(20)로 송신하는 위치 명령값을, 암(2)을 소정의 궤도 상에서 이동시키면서 암(2) 및 모터(22)를 감속 정지시키는 패턴으로 변화시킨다. 이로써, 암(2)은, 소정의 궤도 상에서 감속하면서 정지한다.When an abnormal occurrence signal is sent from the motor drive device 20, the host controller 100 transmits a position command value to the three motor drive devices 20 while moving the arm 2 on a predetermined trajectory. 2) and the motor 22 are changed to a decelerating and stopping pattern. As a result, the arm 2 stops while decelerating on a predetermined trajectory.

도 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번 입력 단자에 입력되는 신호를 출력한다.3, the control mode value output from the control mode selector 21 is a first selector 25, a second selector 32, and a third selector 34 (hereafter, these are collectively referred to as three selectors). Also referred to as (25, 32, 34)). Each of the three selectors 25, 32, 34 has an input terminal No. 0, an input terminal No. 1, and an input terminal No. 2, and based on the control mode value sent from the control mode selector 21, outputs switch the signal Specifically, each of the three selectors 25, 32, 34 outputs a signal input to input terminal 0 when the control mode value is "0", and outputs a signal input to input terminal 1 when it is "1". In the case of "2", the signal input to the second input terminal is output.

이러한 구성의 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 and 34 having this structure. That is, detection position feedback for rotating the motor 22 from the position indicated by the position detection value to the position indicated by the position command value when no abnormality has occurred in the position detection value (control mode value = 0). A signal for executing the control is output. Further, when an abnormal position detection value occurs and the angular velocity of the motor 22 is equal to or greater than a predetermined value (or exceeds a predetermined value) (control mode value = 1), the sensorless vector control described later causes the motor to A signal for driving (22) is output. Further, when an abnormal position detection value occurs and the angular velocity of the motor 22 is less than a predetermined value (or less than or equal to a predetermined value) (control mode value = 2), the motor 22 is operated by the open-loop control described later. A signal for driving is output.

상술한 3개의 제어 방식 중, 먼저, 검출 위치 피드백 제어에 대하여 설명한다.Among the three control methods described above, first, detection position feedback control will be described.

로터리 인코더(30)로부터 출력되는 위치 검출값의 이상이 없는 경우에는, 모터 구동 장치(20)가 검출 위치 피드백 제어에 의해 모터(22)를 구동한다. 구체적으로는, 위치 검출값의 이상이 없는 경우에는, 제2 셀렉터(32)로부터 위치 검출값이 출력되고, 위치 피드백값으로서 위치 속도 제어부(23) 및 벡터 제어 전기각 생성부(33)에 입력된다. 위치 속도 제어부(23)는, 모터(22)를 위치 피드백값에 의해 나타나는 위치로부터 위치 명령값에 의해 나타나는 위치까지 회전시키는 데 필요한 토크값을 산출하고, 결과를 토크 명령값으로서 벡터 제어 DQ축 전류 명령 생성부(24)에 출력한다. 또한, 벡터 제어 전기각 생성부(33)는, 위치 피드백값에 기초하여 전기각을 생성한다. 이 전기각은, 제3 셀렉터(34)를 통해 DQ 변환부(39)에 입력된다.When 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 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 is input to the position speed control section 23 and the vector control electric angle generation section 33 as a position feedback value. do. The position speed control unit 23 calculates a 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 a torque command value for vector control DQ axis current. output to the command generator 24. Also, the vector control electrical angle generator 33 generates an electrical angle based on the position feedback value. This electrical angle is input to the DQ conversion section 39 through the third selector 34.

벡터 제어 DQ축 전류 명령 생성부(24)는, 입력된 토크값과 동일한 토크를 발생시키는 데 필요한 D축 전류 및 Q축 전류를 모터(22) 내에서 발생시키기 위한 D축 전류 명령값 및 Q축 전류 명령값(이하, 이것들을 DQ축 전류 명령값이라고도 한다)을 생성한다. D축 전류는, 모터(22)에 흐르는 전류 중 영구 자석의 자속에 평행한 성분이다. 또한, Q축 전류는, 모터(22)에 흐르는 전류 중 영구 자석의 자속에 직교하는 성분이다.The vector control DQ-axis current command generation unit 24 includes a D-axis current command value and a Q-axis current command value for generating D-axis current and Q-axis current required to generate the same torque as the input torque value in the motor 22 Generates current command values (hereinafter, these are also referred to as DQ-axis current command values). The D-axis current is a component parallel to the magnetic flux of the permanent magnet among currents flowing through the motor 22 . In addition, the Q-axis current is a component orthogonal to the magnetic flux of the permanent magnet among the currents flowing through the motor 22 .

벡터 제어 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 . The DQ axis generated by the vector control DQ axis current command generation section 24 when detection position feedback control is executed (control mode value = 0) and when sensorless vector control is executed (control mode value = 1). A current command value is output from the first selector 25 . This DQ-axis current command value is input to the current controller 26.

DQ 변환부(39)는, 제3 셀렉터(34)로부터 보내져 오는 전기각에 기초하여 D축 전류 피드백값 및 Q축 전류 피드백값(이하, DQ축 전류 피드백값이라고도 한다)을 생성하여 전류 제어부(26)에 출력한다. 또한, 후술하는 센서리스 벡터 제어 시에 있어서는, DQ 변환부(39)가, 제3 셀렉터(34)로부터 보내져 오는 전기각과, 전류 검출부(31)로부터 보내져 오는 3상 전류 검출값에 기초하여 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 electrical angle sent from the third selector 34, and the current controller ( 26) is output. In the case of sensorless vector control described later, the DQ conversion unit 39 uses the electrical angle sent from the third selector 34 and the three-phase current detection value sent from the current detection unit 31 to determine the DQ axis. Generates 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, and generates a DQ-axis voltage command value. It is output to the inverse transform 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 converts the required D-axis current and Q-axis current to the motor 22 based on the electrical angle sent from the third selector 34 and the DQ-axis voltage command value sent from the current control unit 26. ), 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) are generated and output. The three-phase voltage command value output from the DQ inverse conversion unit 27 is input to the PWM control unit 28. The PWM controller 28 converts the U-phase voltage, V-phase voltage, and W-phase voltage indicated by the U-phase voltage command value, V-phase voltage command value, and W-phase voltage command value into PWM signals for outputting from the inverter 29 A U-phase gate signal, a V-phase gate signal, and a W-phase gate signal are generated. The inverter 29 supplies the U-phase voltage, V-phase voltage, and W-phase voltage based on the U-phase gate signal, V-phase gate signal, and W-phase gate signal to the motor 22 to rotate the motor 22. .

전류 검출부(31)는, 인버터(29)로부터 모터(22)로 흐르는 U상 전류, V상 전류 및 W상 전류(이하, 이것들을 3상 전류라고도 한다)를 검출하고, 검출 결과를 U상 전류 검출값, V상 전류 검출값, W상 전류 검출값(이하, 3상 전류 검출값이라고도 한다)으로서 출력한다. 또한, 삼상의 전류값을 검출하는 것 대신에, 삼상 중, 2상의 전류값만을 검출하고, 나머지 1상의 전류값에 대해서는, 2상의 전류값 검출 결과에 기초하여 산출해도 된다.The current detection unit 31 detects the U-phase current, the V-phase current, and the W-phase current flowing from the inverter 29 to the motor 22 (hereinafter, these are also referred to as three-phase currents), and outputs the detection result as the U-phase current. It is output as a detected value, a V-phase current detected value, and a W-phase current detected value (hereinafter also referred to as a three-phase current detected value). In addition, instead of detecting the three-phase current values, only the two-phase current values may be detected, and the remaining one-phase current values may be calculated based on the two-phase current value detection results.

로터리 인코더(30)로부터 출력되는 위치 검출값의 이상이 없는 경우에는, 이상과 같은 검출 위치 피드백 제어에 의해 모터(22)가 구동된다.When 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)로부터 출력되는 3상 전류 검출값은, DQ 변환부(39)에 입력된다. DQ 변환부(39)는, 3상 전류 검출값과, 제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 detected position value and the angular velocity of the motor 22 immediately before the occurrence of the abnormality is equal to or greater than a predetermined value (or exceeds a predetermined value) (control mode value = 1) Then, the motor 22 is driven 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 electrical 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. 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. do.

위치 추정부(35)는, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값과, 전류 제어부(26)로부터 보내져 오는 DQ축 전압 명령값에 기초하여, 위치 추정값과, 전기각 추정값을 구한다. 그리고, 위치 추정부(35)는, 위치 추정값을 제2 셀렉터(32)의 1번 입력 단자에 출력하고, 또한 전기각 추정값을 제3 셀렉터의 1번 입력 단자에 출력한다.The position estimation unit 35 obtains a position estimation value and an electrical 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. . Then, the position estimation unit 35 outputs the position estimation value to the first input terminal of the second selector 32 and also outputs the electrical angle estimation value to the first input terminal of the third selector 32 .

위치 추정부(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 through the second selector 32 . The position speed controller 23 outputs a torque command value in the same manner as the detection position feedback control except for using the estimated position value as the position feedback value. Processing up to input to the inverter 29 as a U-phase gate signal, a V-phase gate signal, and a W-phase gate signal based on this torque command value is the same as the detection position feedback control. That is, in the sensorless vector control, instead of the position detection value, the position estimation value based on the induced voltage generated in the motor 22 is fed back to the position speed controller 23 as a position feedback value, and the detected position feedback control The same processing as is performed.

또한, 모터 구동 장치(20)는, 센서리스 벡터 제어에 있어서, 검출 위치 피드백 제어에 비해 위치 속도 제어의 제어 루프 게인을 저하시킨다. 제어 루프 게인을 저하시키는 방법의 일례로서, 상위 컨트롤러(100)의 명령에 의해 제어 루프 게인을 저하시키는 방법을 들 수 있다. 암(2)의 궤도를 고정밀도로 유지하기 위해서는, 위치 검출값의 이상이 발생한 모터 구동 장치(20)뿐만 아니라, 다른 모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인도 저하시키는 것이 바람직하다. 상위 컨트롤러(100)의 명령에 의하면, 모든 모터 구동 장치(20)에 있어서의 위치 속도 제어의 제어 루프 게인을 적절하게 저하시키는 것이 가능하다.Further, in the sensorless vector control, the motor drive device 20 lowers the control loop gain of the position velocity control compared to the detection position feedback control. As an example of a method of lowering the control loop gain, a method of lowering the control loop gain by a command from the upper controller 100 may be mentioned. In order to maintain the trajectory of the arm 2 with high precision, it is desirable to reduce the control loop gain of not only the motor drive device 20 where the abnormality in the position detection value occurred, but also the position and speed control of the other motor drive devices 20. . According to the command of the upper controller 100, it is possible to appropriately lower the control loop gain of the position velocity control in all the motor drive devices 20.

모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인을 저하시키는 다른 일례로서, 위치 검출값의 이상을 일으킨 모터 구동 장치(20)의 처리에 의해, 그 모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인만 저하시키는 방법을 들 수 있다. 이 방법의 처리의 일례로서는, P-PI 제어에 의해 회전 위치와 각속도를 제어하는 구성에 있어서, 속도 루프 게인, 위치 루프 게인 및 속도 루프 적분 게인의 각각을 저하시키는 방법을 들 수 있다. 또한, 다른 일례로서, 예를 들어 일본 특허 공개 제2002-229604호 공보에 기재한 바와 같은 RPP 제어에 의해 회전 위치와 각속도를 제어하는 구성에 있어서, ω2 게인, ω1 게인, ωq 게인을 저하시키는 방법을 들 수 있다. 또한, 또 다른 예로서, RPP 제어에 의해 회전 위치와 각속도를 제어하는 구성에 있어서, 이너셔 노미널 설정값을 저하시키는 방법을 들 수 있다. 이너셔 노미널 설정값을 저하시킴으로써, ω2 게인, ω1 게인을 근사적으로 저하시키는 것이 가능하다. 이 방법에 의하면, 제어 루프 게인을 저하시키기 위한 전용 프로그램을 구축하지 않고, 제어 루프 게인을 적절하게 저하시킬 수 있다.As another example of reducing the control loop gain of the position and speed control of the motor drive device 20, the position and speed control of the motor drive device 20 is performed by processing the motor drive device 20 that causes an abnormal position detection value. A method of lowering only the control loop gain of . An example of the processing of this method is a method of lowering each of the velocity loop gain, the position loop gain, and the velocity loop integral gain in a configuration in which the rotational position and angular velocity are controlled by P-PI control. In addition, as another example, in the configuration in which the rotational position and angular velocity are controlled by RPP control as described, for example, in Japanese Unexamined Patent Publication No. 2002-229604, ω 2 gain, ω 1 gain, and ω q gain There are ways to lower it. Further, as another example, in a configuration in which the rotational position and angular velocity are controlled by RPP control, a method of lowering the inertia nominal set value may be mentioned. By lowering the set value of the inertia nominal, it is possible to approximately reduce the ω 2 gain and the ω 1 gain. According to this method, the control loop gain can be appropriately lowered without constructing a dedicated program for lowering 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 error in the detected position value and the angular velocity of the motor 22 is less than (or less than or equal to) a predetermined value (control mode value = 2), the motor (22) is driven. That is, the open-loop controlled electrical angle generating unit 36 has a rotational position at which the magnetic poles of the motor 22 are pulled based on the position command value sent from the upper controller 100 (hereinafter, referred to as a forced synchronous position command value). Calculate and output to the open loop control DQ axis current command generation unit 37. In addition, an estimated electrical angle 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 the control method is switched to detection position feedback control or sensorless vector control, the electrical angle of the motor 22 is changed from an angle indicated by a position detection value or a position estimation value to an initial angle for performing open loop control. make it converted At this time, if the direction of the DQ-axis current vector to flow through the motor 22 is instantly switched from the Q-axis direction to the positive D-axis direction, the following problem will arise. That is, torque for moving the machine to be driven (the entire arm 2, the arm 2A, the forearm 2B, or the upper arm 2C) using the motor 22 as a driving source is not obtained, and the motor 22 ) and causes large vibrations.

그래서, 도 3에 도시되는 오픈 루프 제어 전기각 생성부(38)는, 모터(22)의 회전 위치를, 검출 위치 피드백 제어의 실행 시와 마찬가지로 시간 변화시키도록 전기각을 생성한다.Therefore, the open-loop control electrical angle generation unit 38 shown in FIG. 3 generates an electrical angle so that the rotational position of the motor 22 is time-varying similarly to the time of execution of the detection position feedback control.

도 5는, 오픈 루프 제어 전기각 생성부(36)를 도시하는 블록선도이다. 이 오픈 루프 제어 전기각 생성부(36)는, 제어기(36a)와, 전기계·기계계의 모델(36b)과, 전기각 산출부(36c)를 구비한다.Fig. 5 is a block diagram showing the open-loop controlled electric angle generator 36. This open-loop controlled electrical angle generation unit 36 includes a controller 36a, an electrical/mechanical system model 36b, and an electrical 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. to provide 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 generator 36a2 shown in FIG. 5 executes the same processing as the vector control DQ-axis current command generator 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. 3 . The DQ inverse transform unit 36a4 shown in FIG. 5 executes the same processing as the DQ inverse transform 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 section 36a6 shown in FIG. 5 executes the same processing as the DQ conversion section 39 shown in FIG.

전기계·기계계의 모델(36b)은, 인버터(36b1)의 모델, 모터(36b2)의 모델 및 모터에 대한 부하 기계(36b5)의 모델을 구비한다. 이들 모델은, U상, V상, W상의 각각에 대하여 게이트 신호가 변화 전의 값으로부터 변화 후의 값으로 변화된 경우에, 모터(22)의 회전 위치와, 모터(22)에 흐르는 전류값에 대하여 어떻게 변화되는지를 시뮬레이션하는 알고리즘을 구비한다. 시뮬레이션에 의해 얻어진 위치 시뮬레이션값은, 로터리 인코더(36b4)의 모델로부터 출력되고, 제어기(36a)의 위치 속도 제어부(36a1)와, 전기각 산출부(36c)와, 도 3에 있어서의 오픈 루프 제어 DQ축 전류 명령 생성부(37)에 입력된다.The electric/mechanical model 36b includes a model of the inverter 36b1, a model of the motor 36b2, and a model of the load machine 36b5 relative to the motor. These models show how the rotational position of the motor 22 and the current value flowing through the motor 22 are affected when the gate signal changes from the value before the change to the value after the change for each of the U phase, V phase, and W phase. It has an algorithm that simulates whether it changes. 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 and the electrical angle calculation unit 36c and the open-loop control in FIG. It is input to the DQ axis current command generation unit 37.

도 5에 있어서의 전기각 산출부(36c)는, 위치 시뮬레이션값에 기초하여 모터(22)의 전기각을 산출하고, 결과를 도 3에 있어서의 DQ 역변환부(27) 및 DQ 변환부(39)에 출력한다.The electrical angle calculation unit 36c in FIG. 5 calculates the electrical angle of the motor 22 based on the position simulation value, and the DQ inverse conversion unit 27 and the DQ conversion unit 39 in FIG. 3 calculate the result. ) is output to

위치 검출값의 이상 발생 시에 있어서, 제어 방식을 검출 위치 피드백 제어, 혹은 센서리스 벡터 제어로부터, 오픈 루프 제어로 전환한 후에는, 위치 검출값을 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하다. 따라서, 실시 형태에 관한 모터 제어 방법에 의하면, 제어 방식을 오픈 루프 제어로 전환 후의 전기각의 급격한 변화에 의한 모터의 탈조나 진동의 발생을 억제할 수 있다.When an abnormal position detection value occurs, after switching the control method from detection position feedback control or sensorless vector control to open loop control, it is possible to operate the motor with the same behavior as in the case of performing position detection values. do. Therefore, according to the motor control method according to the embodiment, it is possible to suppress out-of-phase or vibration of the motor due to a sudden change in the electrical angle after the control method is switched to the open-loop control.

또한, 모터(22)의 회전 위치와, 모터(22)에 공급되는 전류값을 시뮬레이션하는 것 대신에, 모터(22)의 회전 위치만을 시뮬레이션해도 된다. 이 경우, 위치 명령값과 위치 시뮬레이션값에 기초하여 필요한 토크 명령값을 구하는 처리를 위치 속도 제어부(36a1)에 의해 실행하고, 얻어진 토크 명령값을 기계계의 모델(36b)에 입력하여 위치 시뮬레이션값을 얻으면 된다.Further, 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, a process of obtaining a required torque command value based on the position command value and the position simulation value is executed by the position speed controller 36a1, and the obtained torque command value is input to the mechanical system model 36b to obtain the position simulation value. should get

또한, 모터의 회전 위치를 시뮬레이션하는 것 대신에, 위치 명령값을 위치 제어 응답 전달 함수 G(s)에 의해, 가상적으로 검출 위치 피드백 제어를 실행한 경우에 있어서의 위치 검출값에 응답한 후의 모터(22)의 회전 위치로 변환해도 된다. 위치 제어 응답 전달 함수 G(s)를 사용하여 위치 변환값을 얻는 방법에서는, 위치 명령값에 대하여, 실제의 제어에 있어서 어떤 지연으로 어떤 회전 위치에 반영되는지를 위치 제어 응답 전달 함수 G(s)에 의해 위치 변환값으로서 구한다. 얻어진 위치 변환값을, 도 3에 도시되는 DQ 역변환부(27) 및 DQ 변환부(39)에 출력하고, 또한 강제 동기 위치 명령값으로서 오픈 루프 제어 DQ축 전류 명령 생성부(37)에 출력하면 된다. 또한, 위치 변환값에 기초하여 전기각을 산출하면 된다.Further, instead of simulating the rotational position of the motor, the motor after responding to the position detection value in the case where the position command value is virtually executed by the position control response transfer function G(s) and the detection position feedback control is executed. You may convert it to the rotational 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 G(s) determines which rotational position is reflected at what delay in actual control with respect to the position command value. It is obtained as a position conversion value by If the obtained position conversion value is output to the DQ inverse conversion unit 27 and the DQ conversion unit 39 shown in FIG. 3, and also outputted as a forced synchronous position command value to the open-loop control DQ axis current command generation unit 37, do. Further, the electrical angle may be calculated based on the position conversion value.

위치 제어 응답 전달 함수 G(s)의 기본식은, 다음 식으로 나타난다.The basic expression of the position control response transfer function G(s) is represented by the following expression.

Figure 112021009290265-pat00001
Figure 112021009290265-pat00001

이 기본식을 사용하여 위치 변환값을 얻는 것이 바람직하지만, 기본식의 우변을 개변한 다음 식에 의해 위치 명령값을 위치 변환값으로 변환해도 된다.Although it is preferable to obtain a position conversion value using this basic expression, the right side of the basic expression may be modified and then the position command value may be converted into a position conversion value by the following expression.

Figure 112021009290265-pat00002
Figure 112021009290265-pat00002

ff1, ff2, ω1 및 ω2 중, ω2만을 포함하는 단순한 위치 제어 응답 전달 함수 G(s)를 사용함으로써, 고속이고 고가인 연산 장치(예를 들어, CPU)를 사용하지 않고, 모터(22)의 위치 변환값을 고속으로 구하는 것이 가능하다. 단순한 위치 제어 응답 전달 함수 G(s)라도, 다음과 같은 양태에 있어서의 모터 제어라면, 모터(22)의 위치 변환값을 적절한 값으로 구하는 것이 가능하다. 즉, ff1이 1에 가까운 값을 취하고, 또한 ff2가 0에 가까운 값을 취하는 양태이다.Among ff 1 , ff 2 , ω 1 and ω 2 , by using a simple position control response transfer function G(s) including only ω 2 , a high-speed and expensive computing device (eg, 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), it is possible to obtain an appropriate value for the position conversion value of the motor 22 if the motor control is in the following aspect. That is, ff 1 takes a value close to 1, and ff 2 takes a value close to 0.

전술한 양태라면, 모터(22)의 제어 방식을, 검출 위치 피드백 제어, 혹은 센서리스 벡터 제어로부터, 오픈 루프 제어로 전환한 후에 있어서, 위치 피드백 제어를 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하다. 이 때문에, 제어 방식을 오픈 루프 제어로 전환한 후의 모터(22)의 탈조나 진동의 발생을 억제하고, 또한 위치 변환값을 저렴한 연산 장치에 의해 적절하게 구할 수 있다.In the above aspect, after switching the control method of the motor 22 from detection position feedback control or sensorless vector control to open loop control, operating the motor in the same behavior as in the case of performing position feedback control possible. For this reason, it is possible to suppress out-of-regulation and occurrence of vibration of the motor 22 after the control system is switched to open-loop control, and the position conversion value can be appropriately obtained with an inexpensive arithmetic unit.

또한, 모터(22)의 전기각을 위치 명령값에 가깝게 하는 방법으로서, 오픈 루프 제어로 전환되기 직전의 위치 편차를 초기값으로 하고, 위치 편차를 서서히 제로에 수렴시키는 1차 지연 필터를 사용하는 방법도 생각할 수 있다. 그러나, 이 방법에서는, 위치 명령값과는 무관하게 위치 편차를 감소시키는 점에서, 수부(2A)를 원하는 궤도를 따라 이동시킬 수 없다.In addition, as a method of bringing the electrical angle of the motor 22 closer to the position command value, a first-order delay filter is used that sets the position deviation immediately before switching to open-loop control as an initial value and gradually converges the position deviation to zero. You can think of ways. However, in this method, the hand portion 2A cannot be moved along a desired trajectory in that the position deviation is reduced regardless of the position command value.

도 6은, 위치 명령값과, 위치 명령값에 응답한 제어에 의한 수부(2A)의 실제의 회전 위치의 관계를 도시하는 그래프이다. 회전 위치와 시간의 관계를 도시하는 그래프에 착안하면, 위치 명령값의 변화에 대하여 실제의 위치의 변화가 지연되어 있다. 이것은, 명령에 응답하는 실제의 위치의 변화에 시간을 필요로 하기 때문이다. 검출 위치 피드백 제어나 센서리스 벡터 제어에서는, 산업용 로봇(1)의 각 관절의 모터의 위치 명령값에 대하여 실제의 회전 위치를 균일하게 지연되도록 위치 제어 게인을 설정함으로써, 수부(2A)의 궤도 정밀도를 확보한다. 한편, 오픈 루프 제어에 있어서, 상술한 1차 지연 필터에 의해 특정한 축만 위치 편차를 제로에 수렴시키는 방법을 사용하면, 도시한 바와 같이, 실제의 회전 위치의 변화가, 검출 위치 피드백 제어 시와는 다르다. 이로써, 각 축의 위치의 위치 명령값에 대한 지연의 쪽에 차가 발생하여, 수부(2A)의 위치가 목표의 궤도로부터 빗나가 버린다. 이에 비해, 실시 형태에 관한 오픈 루프 제어와 같이 시뮬레이션값을 사용하는 방법에서는, 도시한 바와 같이, 위치 명령값의 변화에 대하여 실제의 회전 위치를, 검출 위치 피드백 제어를 실행했을 때와 동일하도록 변화시킬 수 있다(수부(2A)를 목표의 궤도를 따라 이동시킬 수 있다).Fig. 6 is a graph showing the relationship between the position command value and the actual rotational position of the hand part 2A by control in response to the position command value. If we pay attention to the graph showing the relationship between the rotational 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 a command. In the detection position feedback control and sensorless vector control, the position control gain is set so that the actual rotational position is uniformly delayed with respect to the position command value of the motor of each joint of the industrial robot 1, so that the trajectory accuracy of the hand part 2A is achieved. to secure On the other hand, in the open-loop control, if the method of converging the position deviation of only a specific axis to zero by the above-described first-order delay filter is used, as shown in the figure, the change in the actual rotation position is different from the detection position feedback control. different. As a result, a difference occurs in the delay of the position command value of the position of each axis, and the position of the receiving part 2A deviates from the target trajectory. In contrast, in the method using simulated values, such as the open loop control according to the embodiment, as shown in the figure, the actual rotational position is changed in response to a change in the position command value to be the same as when the detection position feedback control is executed. (The receiver 2A can be moved along the trajectory of the target).

도 7은, 종래의 오픈 루프 제어에 있어서의 각종 상태의 시간 변화를 도시하는 그래프이다. 도 7에서는, 모터(22)를 검출 위치 피드백 제어로 기동한 후, 모터(22)의 회전의 각속도를 센서리스 벡터 제어의 하한값에 도달시키기 전에, 위치 검출값의 이상 발생에 기인하여 종래의 오픈 루프 제어로 모터(22)를 정지시킨 예를 도시하고 있다. 이 예에서는, 모터(22)의 기동 후에, 검출 위치 피드백 제어에 의해 Q축 전류 명령값을 증가시켜 모터(22)의 각속도를 상승시켜 간다. 그 후, 위치 검출값의 이상 발생에 기인하여 모터(22)를 정지시키기 위해, 제어 방식을 오픈 루프 제어로 전환하면, 필터 처리에 의해 Q축 전류 명령값을 제로까지 감소시킨 후, 모터(22)의 회전을 정지시킬 때까지, Q축 전류 명령값을 제로로 유지한다.Fig. 7 is a graph showing time changes of various states in conventional open loop control. In Fig. 7, after the motor 22 is started by the detection position feedback control, and before the angular velocity of rotation of the motor 22 reaches the lower limit value of the sensorless vector control, due to the occurrence of an abnormality in the position detection value, the conventional open An example in which the motor 22 is stopped by loop control is shown. In this example, after starting the motor 22, the angular velocity of the motor 22 is increased by increasing the Q-axis current command value by the detection position feedback control. Then, when the control method is switched to open-loop control in order to stop the motor 22 due to the occurrence of an abnormal position detection value, after reducing the Q-axis current command value to zero by filtering, the motor 22 ), maintain the Q-axis current command value at zero.

그런데, 전술한 바와 같은 Q축 전류 명령값의 변화에서는, 토크의 과부족에 의해 모터(22)의 탈조나 진동을 발생시켜 버리는 것이 판명되었다. 필요한 토크를 발생시키기 위해서는, 모터(22)에 대한 Q축 전류의 공급이 필요하기 때문이다. 구체적으로는, 도 7에 도시된 바와 같이, 정상 시의 검출 위치 피드백 제어로 모터(22)를 정지시킨다고 가정한 경우, Q축 전류 명령값은, 먼저, 사인 커브상으로 제로까지 감소한 후, 다시 마이너스 방향으로 증가하고, 마이너스측에서 사인 커브상의 변동을 거쳐서 제로로 복귀된다. 필요한 토크를 얻으면서 모터(22)를 정지시키기 위해서는, 전술한 바와 같이 Q축 전류 명령값을 변화시킬 필요가 있다.However, it has been found that, in the change of the Q-axis current command value as described above, excessive or insufficient torque causes out-of-regulation or vibration of the motor 22 . This is because supply of the Q-axis current to the motor 22 is required to generate the required torque. Specifically, as shown in FIG. 7 , assuming that the motor 22 is stopped by normal detection position feedback control, the Q-axis current command value first decreases to zero in a sine curve shape, and then returns again. It increases in the minus direction and returns to zero through fluctuations on the sine curve 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 driving device 20 according to the embodiment, after obtaining the torque required for the motor 22 based on the position command value, obtaining the Q-axis current command value according to the torque, and obtaining the Q-axis current command value according to the Q-axis current command value. The D-axis current for drawing in the axis current and the magnetic pole of the rotor magnet is supplied to the motor. According to this configuration, by supplying the Q-axis current of a value corresponding to the torque required for the motor 22 to the motor, the motor 22 does not run out of phase or vibrate due to excessive or insufficient torque, and the motor is controlled by open-loop control. (22) can be stopped.

모터(22)를 위치 명령값에 의해 명령된 위치까지 회전시키는 데 필요한 토크를 구하는 방법으로서, 위치 명령값에 기초하여 가상적으로 검출 위치 피드백 제어를 실행한 경우의 각가속도를 추정하고, 얻어진 각가속도 추정값에 기초하여 필요한 토크를 구하는 방법을 들 수 있다. 이로써, 모터(22)를 원하는 각속도로 회전시키는 데 필요한 토크를 구할 수 있다.As a method of obtaining torque required to rotate a motor (22) to a position commanded by a position command value, angular acceleration when virtually detected position feedback control is executed based on the position command value is estimated, and the obtained angular acceleration estimate value Based on this, the required torque can be obtained. Thus, it is possible to obtain torque required to rotate the motor 22 at a desired angular velocity.

또한, 필요한 토크를 구하는 다른 방법으로서, 위치 명령값에 기초하여 필요한 각속도 및 각가속도를 추정하고, 얻어진 각속도 추정값 및 각가속도 추정값에 기초하여 필요한 토크를 구하는 방법을 들 수 있다. 더 상세하게는, 각가속도 추정값에 기초하여 가속 또는 감속에 필요한 토크를 구하고, 또한 각속도 추정값에 기초하여 필요한 점성 저항 및 쿨롬 마찰 중 적어도 한쪽을 보상하기 위한 토크를 구하는 것이다.In addition, as another method of 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 estimated angular velocity and estimated angular acceleration values may be mentioned. More specifically, torque necessary for acceleration or deceleration is obtained based on the estimated angular acceleration value, and torque for compensating for at least one of viscous resistance and Coulomb friction necessary is obtained based on the estimated angular velocity value.

또한, 오픈 루프 제어에 있어서, 위치 명령값과, 직전의 토크 명령값에 기초하여 필요한 토크를 추정하는 방법에서는, 다음과 같은 문제를 발생시켜 버리는 것이 본 발명자에 의한 실험으로 판명되었다. 즉, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환된 경우에, 위치 검출값의 이상의 발생 타이밍에 따라서는, 모터(22)를 크게 진동시켜 버린다는 불량이다.Further, 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 through experiments by the present inventors to cause the following problems. That is, when switching from sensorless vector control to open-loop control, it is a defect that the motor 22 vibrates greatly depending on the timing of occurrence of an abnormal position detection value.

도 8은, 오픈 루프 제어 개시 직전의 토크 명령값에 기초하여 오픈 루프 제어 개시 직후의 Q축 전류 명령값을 결정하는 방법에 있어서의 각종 상태의 시간 변화를 도시하는 그래프이다. 도 8에서는, 위치 검출값의 이상이 발생한 후의 시간대에도, 검출 위치 피드백 제어에 의한 각종 상태의 계열이 기재되어 있지만, 동 계열은, 이상이 발생하지 않았다고 가정한 경우에 어떻게 상태가 변화되는지를 나타내고 있다.8 is a graph showing time changes of various states in a method for determining a Q-axis current command value immediately after the start of open-loop control based on a command value of torque immediately before the start of open-loop control. In FIG. 8, a sequence of various states by detection position feedback control is described even in the time zone after the occurrence of an abnormality in the position detection value, but the sequence shows how the state changes when it is assumed that the abnormality does not occur. there is.

도 8에 도시되는 예에서는, 모터(22)가 검출 위치 피드백 제어에 의해 기동된 후, 모터(22)의 회전의 각속도가 센서리스 벡터 제어의 하한값(역치)보다도 약간만 높은 값까지 상승했을 때에, 위치 검출값의 이상이 발생하고 있다.In the example shown in FIG. 8 , after the motor 22 is started by the detection position feedback control, when the angular velocity of rotation of the motor 22 rises to a value only slightly higher than the lower limit (threshold) of the sensorless vector control, An error in the position detection 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 the above, as shown in the figure, the rotation of the motor 22 is unstable due to the transient phenomenon of rotational position estimation by current detection immediately after the change as shown in the figure. It is determined, and the angular velocity estimation value based on the current detection value fluctuates greatly. Since the angular velocity of the motor 22 was only slightly higher than the lower limit of the sensorless vector control at the time of occurrence of an abnormal position detection value, the sensorless vector control is executed only for a short time. For this reason, before the oscillation of the position estimation value based on the current detection value converges and the angular velocity estimation value is stabilized, the control system shifts to open-loop control. Since the Q-axis current value is calculated by multiplying the estimated angular velocity value by a constant, the torque command value immediately before the control method is switched from the sensorless vector control to the open-loop control depends on the torque required to execute the open-loop control. It is possible that it is far from the value. If such a torque command value is used, there is a risk of vibrating the motor 22 greatly. Hereinafter, the phenomenon in which the motor 22 vibrates greatly as described above is referred to as vibration of the motor 22 when switching to open-loop control due to lack of position estimation responsiveness of sensorless vector control.

또한, 검출 위치 피드백 제어에 있어서 모터(22)가 충분한 각속도로 회전하고 있을 때에 위치 검출값의 이상이 발생한 경우에는, 센서리스 벡터 제어가 충분한 시간 실행되어 각속도 추정값이 안정화되고 나서 제어 방식이 오픈 루프 제어로 전환된다. 그러면, 오픈 루프 제어로, 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후의 토크 명령값을 적절한 값으로 구하는 것이 가능하므로, 모터(22)를 크게 진동시키는 일은 없다.Further, in the detection position feedback control, when an abnormality in the position detection value occurs while the motor 22 is rotating at a sufficient angular velocity, the sensorless vector control is executed for a sufficient time to stabilize the angular velocity estimation value, and then the control method is open loop. switch to control Then, in the open loop control, since it is possible to obtain an appropriate value for the torque command value immediately after switching the control method from the sensorless vector control to the open loop control, the motor 22 does not vibrate greatly.

실시 형태에 관한 모터 구동 장치(20)에서는, 위치 명령값에 응답한 후의 모터(22)의 회전 위치 추정값을 구하고, 얻어진 회전 위치 추정값에 기초하여 각가속도 추정값을 구한다. 회전 위치 추정값은, 오픈 루프 제어 DQ축 전기각 생성부(36)에 의해 강제 동기 위치 명령값으로서 구해진다.In the motor drive device 20 according to the embodiment, an estimated value of the rotational position of the motor 22 after responding to the position command value is obtained, and an estimated value of angular acceleration is obtained based on the obtained estimated value of the rotational position. The rotational position estimation value is obtained as a forced synchronous position command value by the open-loop control DQ-axis electrical angle generator 36.

도 9는, 오픈 루프 제어 DQ축 전류 명령 생성부(37)의 제어 구성을 도시하는 블록선도이다. 오픈 루프 제어 DQ축 전류 명령 생성부(37)는, Q축 전류 명령 생성부(37A)와, D축 전류 명령 생성부(37B)를 구비한다.Fig. 9 is a block diagram showing the control configuration of the open-loop control DQ-axis current command generating section 37. The open-loop control DQ-axis current command generator 37 includes a Q-axis current command generator 37A and a D-axis current command generator 37B.

Q축 전류 명령 생성부(37A)는, 복수의 지연 소자, 제1 수치 미분부(37A1), 제1 로 패스 필터(37A9), 제2 수치 미분부(37A2), 제2 로 패스 필터(37A4), 관성 모멘트의 노미널값(이하, 관성 게인라고 한다)(37A5) 등을 구비한다. 또한, Q축 전류 명령 생성부(37A)는, 토크 상수 제산부(37A8), 부호 함수부(37A3), 점성 계수의 노미널값(이하, 점성 게인라고 한다)(37A6), 쿨롬 마찰력의 노미널값(이하, 쿨롬 마찰 게인라고 한다)(37A7) 등을 구비한다.The Q-axis current command generator 37A includes a plurality of delay elements, a first numerical differentiator 37A1, a first low-pass filter 37A9, a second numerical differentiator 37A2, and a second low-pass filter 37A4. ), a nominal value of the moment of inertia (hereinafter referred to as an inertia gain) 37A5, and the like. In addition, the Q-axis current command generation unit 37A includes a torque constant division unit 37A8, a sign function unit 37A3, a nominal value of the viscous coefficient (hereinafter referred to as a viscous gain) 37A6, and a nominal value of the Coulomb friction force. (hereinafter referred to as a Coulomb friction gain) 37A7 and the like.

Q축 전류 명령 생성부(37A)에서 실행되는 처리에 대하여 설명한다.The processing executed by the Q-axis current command generator 37A will be described.

오픈 루프 제어 전기각 생성부(도 3의 부호 36)로부터 보내져 오는 강제 동기 위치 명령값은, 제1 수치 미분부(37A1)와 제1 로 패스 필터(37A9)에 차례로 입력되어 각속도 추정값으로 된다. 이 각속도 추정값은, 제2 수치 미분부(37A2)와 제2 로 패스 필터(37A4)에 차례로 입력되어 각가속도 추정값으로 된 후, 관성 게인(37A5)에 입력된다. 관성 게인(37A5)은, 관성 토크 보상값(관성력)을 출력한다. 이것은, 다음 식에 기초하여 관성 가속에 필요한 토크를 산출하는 것과 등가이다.The forced synchronous position command value sent from the open-loop controlled electrical angle generating unit (36 in FIG. 3) is sequentially input to the first numerical differentiation unit 37A1 and the first low-pass filter 37A9, and becomes an angular velocity estimation value. This angular velocity estimated value is sequentially input to the second numerical derivative unit 37A2 and the second low-pass filter 37A4 to become an angular acceleration estimated value, and then input to the inertia gain 37A5. The inertia 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 112021009290265-pat00003
Figure 112021009290265-pat00003

J: 관성 모멘트 J: moment of inertia

θ: 모터 각도 θ: motor angle

상술한 각속도 추정값은, 점성 게인(37A6)에도 입력된다. 점성 게인(37A6)은, 점성 토크 보상값(점성 저항력)을 출력한다. 이것은, 다음 식에 기초하여 점성 저항력을 보상하기 위한 토크를 산출하는 것과 등가이다.The angular velocity estimation value described above is also input to the viscous gain 37A6. The viscous gain 37A6 outputs a viscous torque compensation value (viscous resistance force). This is equivalent to calculating the torque for compensating the viscous resistive force based on the following equation.

Figure 112021009290265-pat00004
Figure 112021009290265-pat00004

D: 점도 계수 D: viscosity coefficient

상술한 각속도 추정값은, 부호 함수부(37A3)에도 입력된다. 부호 함수부(37A3)로부터는, 각속도 추정값과는 역의 부호의 값이 출력되고, 쿨롬 마찰 게인(37A7)에 입력된다. 쿨롬 마찰 게인(37A17)은, 쿨롬 마찰 토크 보상값(쿨롬 마찰력)을 출력한다. 이것은, 다음 식에 기초하여 쿨롬 마찰력을 보상하기 위한 토크를 산출하는 것과 등가이다.The angular velocity estimation value described above is also input to the code function unit 37A3. The sign function section 37A3 outputs a value with the opposite sign of the angular velocity estimation value, and is input to the Coulomb friction gain 37A7. The Coulomb friction gain 37A17 outputs a Coulomb friction torque compensation value (Coulomb friction force). This is equivalent to calculating the torque for compensating the Coulomb frictional force based on the following equation.

Figure 112021009290265-pat00005
Figure 112021009290265-pat00005

C: 쿨롬 마찰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 together to form a torque command value, which is input to the torque constant divider 37A8. The torque constant divider 37A8 outputs the result of dividing the torque command value by the torque constant Kt (the result of multiplying by the reciprocal of the torque constant) as the Q-axis current command value. This Q-axis current command value is input to the current controller (reference numeral 26 in Fig. 3) and the D-axis current command generator 37B. Further, the torque constant divider 37A8 may be omitted by including the torque constant of the motor 22 in each of the inertia gain, the viscous gain, the Coulomb friction compensation value, and the gravity compensation value.

개시 직후의 Q축 전류 명령값을 결정하는 도 8에 도시된 바와 같이, As shown in FIG. 8 for determining the Q-axis current command value immediately after starting,

제어 방식이 센서리스 벡터 제어로부터 오픈 루프 제어로 전환된 후, 각가속도 추정값이 구해질 때까지는, 수십〔μ초〕 정도의 시간을 필요로 한다. 그 사이, 각가속도 추정값을 구할 수 없으면, 적절한 Q축 전류를 모터에 공급할 수 없게 된다.After the control method is switched from the sensorless vector control to the open loop control, it takes about several tens [μs] of time until an angular acceleration estimation value is obtained. In the meantime, if the estimated value of angular acceleration 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, an estimated acceleration value is obtained based on the position command value during 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 upper controller 100 is input to the open-loop control electric angle generator 36 without passing through a separator. In addition, the forced synchronous 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 passing through a separator. Therefore, until the position command value becomes the DQ-axis current command value through the open-loop control electrical angle generator 36 and the open-loop control DQ-axis current command generator 37 and is input to the first selector 25 A flow is executed regardless of the control method. That is, the above flow is executed even during execution of sensorless vector control.

도 5에 도시된 바와 같이, 오픈 루프 제어 전기각 생성부(36)는, 위치 명령값에 기초하여 위치 시뮬레이션값을 생성하고, 이것을 강제 동기 위치 명령값으로서 DQ축 전류 명령 생성부(37)에 출력한다. 또한, 도 9에 도시된 바와 같이, 오픈 루프 제어 DQ축 전류 명령 생성부(37)는, 강제 동기 위치 명령값에 기초하여 각속도 추정값을 구하고, 얻어진 각속도 추정값에 기초하여 각가속도 추정값을 구한다. 따라서, 모터 구동 장치(20)는, 센서리스 벡터 제어의 실행 중에, 위치 명령값에 기초하여 가속도 추정값을 구하고 있다.As shown in FIG. 5 , the open-loop controlled electrical angle generation unit 36 generates a position simulation value based on the position command value, and sends this to the DQ-axis current command generation unit 37 as a forced synchronous position command value. print out In addition, as shown in FIG. 9, the open-loop control DQ-axis current command generation unit 37 obtains an angular velocity estimation value based on the forced synchronous position command value, and obtains an angular acceleration estimation value based on the obtained angular velocity estimation value. Therefore, the motor drive device 20 obtains an estimated acceleration value based on the position command value during execution of the sensorless vector control.

이러한 구성에서는, 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후에, 직전에 구해 둔 각가속도 추정값을 사용하여 필요한 토크를 구하는 것이 가능해진다. 따라서, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후부터, 필요한 토크에 따른 Q축 전류 명령값을 구하고, 전환 시에 부적절한 Q축 전류를 공급하는 것에 의한 모터(22)의 진동 발생을 억제할 수 있다.In this configuration, immediately after switching the control method from sensorless vector control to open-loop control, it becomes possible to obtain the required torque using the angular acceleration estimation value obtained immediately before. Therefore, immediately after switching from sensorless vector control to open-loop control, it is possible to suppress vibration of the motor 22 by obtaining a Q-axis current command value according to the required torque and supplying an inappropriate Q-axis current at the time of switching. can

실시 형태에 관한 모터 구동 장치(20)에서는, Q축 전류값(Q축 전류 명령값)에 따라 D축 전류값(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).

도 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축 전류값의 교점과, 원점을 연결하는 선분의 길이에 상당하는 전류값이다.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. In addition, the current value b is the DQ-axis norm current lower limit value, but in the example of FIG. 10 , this value is used as the rated current value of the motor 22 . However, it may not be a rated current value. The current value a is a value obtained by dividing the DQ-axis norm current lower limit by the Q-axis norm change rate gain. In addition, the current value d is the DQ-axis norm current upper limit value, but in the example shown in FIG. 10 , this value is used as the instantaneous maximum current specification value of the motor 22 . However, it may not be the instantaneous maximum current specification value. Further, 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 a line segment connecting the origin and 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.

이하, 전류값 a 미만의 Q축 전류값에서 얻어지는 토크 영역을 저토크 영역이라고 한다. 또한, 전류값 a 이상, 또한 전류값 c 미만의 Q축 전류값으로 얻어지는 토크 영역을 중토크 영역이라고 한다. 또한, 전류값 c 이상의 Q축 전류값으로 얻어지는 토크 영역을 고토크 영역이라고 한다.Hereinafter, a torque region obtained at a 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 equal to or greater than the current value a and less than the current value c is referred to as a medium torque region. Further, a torque region obtained with a Q-axis current value equal to or greater than the current value c 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 manner in which the norm of the DQ-axis current vector is constant in the low torque region. For this calculation, as an algorithm for obtaining the D-axis current command value, an algorithm that sets the D-axis current command value to a value lower than the Q-axis current command value and lowers the value as the Q-axis current command value increases is used. . In this 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)의 구동을 정지시킬 수 있다.In the low torque region, as the D-axis current command value decreases, it immediately 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), and the torque region moves to the mid-torque region. becomes The open-loop control DQ-axis current command generation unit 37 obtains the D-axis current command value using an algorithm that increases the D-axis current command value according to the increase of the Q-axis current command value 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 can be obtained by making the D-axis current value higher than the D-axis current value in the low torque region. In addition, by increasing the D-axis current command value in accordance with the increase in torque, a necessary torque calculation error or restoring force against disturbance is obtained, and the motor 22 is operated by open-loop control without out-of-phase or vibration of the motor 22. drive can be stopped.

중토크 영역에서, D축 전류 명령값이 증가해 가면, 드디어 DQ축 놈 전류값이 DQ축 놈 전류 상한값에 도달하여, 토크 영역이 고토크 영역으로 된다. 오픈 루프 제어 DQ축 전류 명령 생성부(37)는, 고토크 영역에 있어서, Q축 전류 명령값의 증가에 따라 D축 전류 명령값을 저하시키는 알고리즘으로, D축 전류 명령값을 구한다. 중토크 영역보다도 더 높은 토크가 필요해지는 고토크 영역에서는, 토크의 증가에 따라 Q축 전류값을 저하시킴으로써, 로터의 자석의 자극을 끌어당기는 힘을 약화시켜, 전류가 허용 최댓값을 초과하는 것을 억제할 수 있다.In the medium torque region, as the D-axis current command value increases, the DQ-axis norm current value finally reaches the upper limit of the DQ-axis norm current, 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 using an algorithm that lowers the D-axis current command value according to the increase in the Q-axis current command value in the high torque region. In the high torque region where a higher torque is required than in the medium torque region, by reducing the Q-axis current value in accordance with the increase in torque, the force that attracts the magnetic poles of the magnets of the rotor is weakened to suppress the current from exceeding the maximum allowable value. can do.

도 9에 도시되는 D축 전류 명령 생성부(37B)에서 실행되는 처리에 대하여 설명한다.The processing executed in the D-axis current command generator 37B shown in Fig. 9 will be described.

D축 전류 명령 생성부(37B)는, Q축-놈 전류 변화율 게인(37B1), 절댓값 연산부(37B2), 포화부(37B3), 제1의 2승 연산부(37B4), 제2의 2승 연산(37B5) 및 평방근 연산부(37B6)를 구비한다.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 saturating unit 37B3, a first square calculation unit 37B4, and a second square calculation. 37B5 and a square root calculation unit 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 squared value by the second square operation unit 37B5 and then input as a negative value to the adder. In addition, the Q-axis current command value is gained by the Q-axis-norm current change rate gain 37B1, converted into an absolute value by the absolute value calculation unit 37B, and input to the saturation unit 37B3. In the saturating section 37B3, when the input value is less than the lower limit of the DQ-axis norm current, it is converted into the lower limit of the DQ-axis norm current, and when the input value exceeds the upper limit of the DQ-axis norm current, it is converted into the upper limit of the DQ-axis norm current. do.

포화부(37B3)로부터의 출력은, 제1의 2승 연산부(37B4)에 의해 2승의 값으로 변환된 후, 가산기에 플러스의 값으로서 입력된다. 평방근 연산부(37B6)는, 가산기로부터의 출력값을 평방근의 값으로 변환하고, 그 값을 D축 전류 명령값으로서 출력한다. 이상과 같은 처리에 의해, D축 전류 명령값은, 도 10의 그래프에 도시되는 특성으로 변화된다.The output from the saturating section 37B3 is converted into a squared value by the first square calculation section 37B4, and then inputted as a positive value to the adder. 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. Through the above processing, the D-axis current command value changes to the characteristic shown in the graph of FIG. 10 .

<산업용 로봇(1)의 작용 효과><Operation effect of industrial robot 1>

<구성 1><Configuration 1>

구성 1은, 모터(22)를 전류 인입법에 의한 오픈 루프 제어에 의해 구동하는 모터 제어 방법이다. 구성 1은, 상위 컨트롤러(100)(신호 발신 수단)로부터 보내져 오는 위치 명령값(회전 위치 명령 신호)에 기초하여 모터(22)에 필요한 토크(예를 들어, 도 9에 있어서의 토크 명령값)를 구하는 스텝을 구비한다. 또한, 구성 1은, 필용의 토크에 따른 Q축 전류 명령값을 구하는 스텝(예를 들어, 도 9에 있어서의 토크 상수 제산부(37A8))과, Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝(예를 들어, 도 9의 D축 전류 명령 생성부(37B))을 구비한다.Configuration 1 is a motor control method in which the motor 22 is driven by open-loop control by the current drawing method. Configuration 1 is the torque required for the motor 22 based on the position command value (rotational position command signal) sent from the host controller 100 (signal transmission means) (for example, the torque command value in FIG. 9) It is provided with a step for obtaining Configuration 1 includes a step for obtaining a Q-axis current command value according to the required torque (for example, the torque constant divider 37A8 in FIG. 9 ), a Q-axis current according to the Q-axis current command value, and A step (for example, the D-axis current command generator 37B in FIG. 9 ) for supplying the D-axis current to the motor for drawing in the magnetic poles of the magnets of the rotor is provided.

<구성 1의 작용 효과><Operation effect of configuration 1>

구성 1에 의하면, 모터(22)에 필요한 토크에 따른 값의 Q축 전류를 모터(22)에 공급함으로써, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.According to configuration 1, by supplying the Q-axis current of a value corresponding to the torque required for the motor 22 to the motor 22, the motor 22 is driven by open-loop control without out-of-phase or vibration of the motor 22. can stop

<구성 2><Configuration 2>

구성 2는, 구성 1에 있어서의 토크를 구하는 스텝이, 위치 명령값에 응답한 후의 모터(22)의 각가속도 추정값(예를 들어, 도 9의 각속도 추정값)을 구하는 스텝과, 각가속도 추정값에 기초하여 토크(예를 들어, 도 9의 토크 명령값)를 구하는 스텝을 구비한다.Configuration 2 is based on the step of obtaining an angular acceleration value (for example, the estimated angular velocity value in FIG. 9) of the motor 22 after the step of obtaining torque in configuration 1 responds to the position command value, and the estimated angular acceleration value. A step for obtaining torque (for example, the torque command value in FIG. 9 ) is provided.

<구성 2의 작용 효과><Operation effect of composition 2>

구성 2에 의하면, 모터(22)를 회전시키는 데 필요한 토크에 따른 Q축 전류를 모터(22)에 공급함으로써, 모터(22)에 불필요한 Q축 전류를 공급하는 것을 억제할 수 있다.According to configuration 2, supply of unnecessary Q-axis current to the motor 22 can be suppressed by supplying the Q-axis current corresponding to the torque required to rotate the motor 22 to the motor 22 .

<구성 3><Configuration 3>

구성 3은, 구성 2에 있어서의 토크를 구하는 스텝이, 위치 명령값에 응답한 후의 모터(22)의 각속도 추정값(예를 들어, 도 9의 각속도 추정값)을 구하는 스텝과, 각속도 추정값 및 각가속도 추정값에 기초하여 토크를 구하는 스텝을 구비한다.In configuration 3, the step for obtaining torque in configuration 2 includes a step for obtaining an estimated angular velocity of the motor 22 (for example, an estimated angular velocity value in FIG. 9) after responding to a position command value, an estimated angular velocity value, and an estimated angular acceleration value. A step for obtaining a torque based on is provided.

<구성 3의 작용 효과><Operation effect of composition 3>

구성 3에 의하면, 각가속도 추정값에 더하여, 각속도 추정값에도 기초하여 토크를 구함으로써, 필요한 토크를 더 정확하게 구할 수 있다.According to Configuration 3, the required torque can be more accurately obtained by obtaining the torque based on the estimated angular velocity value as well as the estimated value of the angular acceleration.

<구성 4><Configuration 4>

구성 4는, 구성 2 또는 3에 있어서의 토크를 구하는 스텝이, 위치 명령값에 응답한 후의 모터(22)의 위치 시뮬레이션값(회전 위치 추정값)을 구하는 스텝(예를 들어, 도 5에 있어서의 전기계·기계계의 모델)과, 위치 시뮬레이션값에 기초하여 각가속도 추정값(예를 들어, 도 9의 토크 명령값)을 구하는 스텝을 구비한다.In configuration 4, the torque calculation step in configuration 2 or 3 is a step for obtaining a simulated position value (rotational position estimation value) of the motor 22 after responding to the position command value (for example, in FIG. 5 ). and a step of obtaining an angular acceleration estimation value (for example, a torque command value in FIG. 9 ) based on the electric system/mechanical system model) and the position simulation value.

<구성 4의 작용 효과><Operation effect of configuration 4>

구성 4에 의하면, 위치 시뮬레이션값에 기초하여 모터(22)의 각가속도 추정값을 구함으로써, 센서리스 벡터 제어의 실행 시간 부족에 의한 오픈 루프 제어 전환 시의 모터(22)의 진동의 발생을 회피할 수 있다.According to Configuration 4, by obtaining an estimated value of the angular acceleration of the motor 22 based on the position simulation value, generation of vibration of the motor 22 at the time of switching the open-loop control due to insufficient execution time of the sensorless vector control can be avoided. there is.

<구성 5> <Configuration 5>

구성 5는, 구성 2 내지 4의 어느 토크를 구하는 스텝에서는, 각가속도 추정값에 관성 모멘트에 상당하는 계수(예를 들어, 도 9의 관성 게인(37A5))를 곱하여 구해지는 구동 기계계의 가속 및 감속에 필요한 힘의 모멘트를, 토크, 또는 토크의 일부로서 구한다.In configuration 5, in the step of obtaining any of the torques of configurations 2 to 4, the acceleration and deceleration of the driving mechanical system obtained by multiplying the estimated value of angular acceleration by a coefficient corresponding to the moment of inertia (for example, the inertia gain 37A5 in FIG. 9) The moment of the force required for this is obtained as a torque or a part of the torque.

<구성 5의 작용 효과><Operation effect of composition 5>

구성 5에 의하면, 구동 기계계의 관성력에 따른 Q축 전류를 모터(22)에 공급 할 수 있다.According to Configuration 5, the Q-axis current according to the inertial force of the driving mechanical system can be supplied to the motor 22.

<구성 6><Configuration 6>

구성 6은, 구성 5에 있어서의 토크를 구하는 스텝에서는, 위치 명령값에 응답한 후의 모터(22)의 각속도 추정값을 구하고, 각속도 추정값에 기초하여 구동 기계계의 점성 저항력을 보상하기 위한 힘의 모멘트를 토크의 일부로서 구한다.In configuration 6, in the step of obtaining torque in configuration 5, an estimated angular velocity value of the motor 22 after responding to the position command value is obtained, and based on the estimated angular velocity value, a moment of force for compensating for the viscous resisting force of the driving mechanical system. as part of the torque.

<구성 6의 작용 효과> <Operation effect of configuration 6>

구성 6에 의하면, 구동 기계계의 가속 및 감속에 필요한 힘의 모멘트에 더하여, 구동 기계계의 점성 저항도 필요한 토크로서 구한다. 이로써, 가속 및 감속에 필요한 힘의 모멘트만을 필요한 토크로서 구하는 경우에 비해, 모터(22)의 토크의 과부족의 발생을 억제할 수 있다.According to configuration 6, in addition to the moment of force required for acceleration and deceleration of the driving mechanical system, the viscous resistance of the driving mechanical system is also obtained as the necessary torque. This makes it possible to suppress the occurrence of excessive or insufficient torque of the motor 22 compared to the case where only the moment of force necessary for acceleration and deceleration is obtained as the necessary torque.

<구성 7> <Configuration 7>

구성 7은, 구성 5 또는 6에 있어서의 토크를 구하는 스텝에서는, 중력을 보상하기 위한 힘의 모멘트를 토크의 일부로서 구한다.In configuration 7, in the step of obtaining torque in configuration 5 or 6, a moment of force for compensating for gravity is obtained as a part of the torque.

<구성 7의 작용 효과><Operation effect of configuration 7>

구성 7에 의하면, 구동 기계계의 가속 및 감속에 필요한 힘의 모멘트에 더하여, 중력도 필요한 토크로서 구함으로써, 가속 및 감속에 필요한 힘의 모멘트만을 필요한 토크로서 구하는 경우에 비해, 모터(22)의 토크의 과부족의 발생을 억제할 수 있다.According to configuration 7, in addition to the moment of force required for acceleration and deceleration of the driving mechanical system, gravity is also obtained as a required torque, compared to the case where only the moment of force required for acceleration and deceleration is obtained as the required torque. The occurrence of excessive or insufficient torque can be suppressed.

<구성 8> <Configuration 8>

구성 8은, 구성 5 내지 7의 어느 것에 있어서의 토크를 구하는 스텝에서는, 위치 명령값에 응답한 후의 모터(22)의 각속도 추정값을 구하고, 각속도 추정값에 기초하여 쿨롬 마찰력을 보상하기 위한 힘의 모멘트를 토크의 일부로서 구한다.In configuration 8, in the step of obtaining torque in any of configurations 5 to 7, an estimated value of the angular velocity of the motor 22 after responding to the position command value is obtained, and a moment of force for compensating the Coulomb frictional force based on the estimated angular velocity value as part of the torque.

<구성 8의 작용 효과><Operation effect of configuration 8>

구성 8에 의하면, 구동 기계계의 가속 및 감속에 필요한 힘의 모멘트에 더하여, 쿨롬 마찰력도 필요한 토크로서 구한다. 이로써, 가속 및 감속에 필요한 힘의 모멘트만을 필요한 토크로서 구하는 경우에 비해, 모터(22)의 토크의 과부족의 발생을 억제할 수 있다.According to configuration 8, in addition to the moment of force required for acceleration and deceleration of the driving mechanical system, the Coulomb friction force is also obtained as the required torque. This makes it possible to suppress the occurrence of excessive or insufficient torque of the motor 22 compared to the case where only the moment of force necessary for acceleration and deceleration is obtained as the necessary torque.

<구성 9><Configuration 9>

구성 9는, 구성 5 내지 8의 어느 것에 있어서, 상기 Q축 전류 명령값에 따른 D축 전류 명령값을 구하는 스텝을 구비한다. 또한, 구성 9는, Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝에 있어서, 상기 D축 전류 명령값에 따른 D축 전류를 모터에 공급한다.Configuration 9 includes a step of obtaining a D-axis current command value according to the Q-axis current command value in any one of configurations 5 to 8. In addition, configuration 9, in the step of supplying the Q-axis current according to the Q-axis current command value and the D-axis current for drawing in the magnetic pole of the magnet of the rotor to the motor, the D-axis current according to the D-axis current command value supply to the motor.

<구성 9의 작용 효과><Operation effect of composition 9>

구성 9에 의하면, 모터의 소손을 방지하고, 종래 구성과 같이 일정한 값의 D축 전류를 흐르게 하는 구성에 비해, 모터의 발열을 억제하고, 또한 필요한 토크의 산출 오차나 외란에 대한 복원력을 얻을 수 있다.According to configuration 9, burnout of the motor is prevented, and compared to a configuration in which a constant value of D-axis current flows as in the conventional configuration, heat generation of the motor can be suppressed, and restoring force against a required torque calculation error or disturbance can be obtained. there is.

<구성 10><Configuration 10>

구성 10은, 구성 9에 있어서의 상기 D축 전류 명령값을 구하는 스텝에서는, Q축 전류 명령값의 증가에 따라 상기 D축 전류 명령값을 증가시키는 알고리즘으로, D축 전류 명령값을 구한다.In configuration 10, in the step of obtaining the D-axis current command value in 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의 작용 효과><Operation effect of configuration 10>

구성 10에 의하면, Q축 전류 명령값의 증가에 따라 D축 전류 명령값을 증가시킴으로써, 필요한 토크의 산출 오차나 외란에 대한 복원력을 얻고, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.According to configuration 10, by increasing the D-axis current command value in accordance with the increase in the Q-axis current command value, the necessary torque calculation error or restoring force against disturbance is obtained, and open-loop control is performed without out-of-phase or vibration of the motor 22. By this, the driving of the motor 22 can be stopped.

<구성 11> <Configuration 11>

구성 11은, 구성 10에 있어서의 상기 D축 전류 명령값을 구하는 스텝에서는, 다음과 같은 알고리즘으로 D축 전류 명령값을 구한다. 즉, 소정의 저토크 영역에서, 전 DQ축 전류 벡터의 놈을 일정하게 하는 양태로 D축 전류 명령값을 구한다. 또한, 저토크 영역보다도 높은 중토크 영역에서, Q축 전류 명령값의 증가에 따라 D축 전류 명령값을 증가시킨다.In configuration 11, in the step of obtaining the D-axis current command value in configuration 10, the D-axis current command value is obtained by the following algorithm. That is, in a predetermined low torque region, the D-axis current command value is obtained in such a way that the norm of all DQ-axis current vectors is constant. Further, in the medium torque region higher than the low torque region, the D-axis current command value is increased according to the increase in the Q-axis current command value.

<구성 11의 작용 효과> <Operation effect of configuration 11>

구성 11에 의하면, 로터의 자석의 자극을 강력하게 인입할 필요가 없는 저토크 영역에서는, DQ축 전류 벡터의 놈을 일정하게 하는 양태로 D축 전류값을 구함으로써, 전류의 크기를 정격 전류값 또는 그 이하로 억제하여 모터(22)의 발열을 억제할 수 있다.According to configuration 11, in the low torque region where it is not necessary to strongly draw in the magnetic poles of the magnets of the rotor, the value of the D-axis current is obtained in such a way that the norm of the DQ-axis current vector is constant, so that the magnitude of the current is the rated current value It is possible to suppress the heat generation of the motor 22 by suppressing it to or less than that.

또한, 구성 11에 의하면, Q축 전류값이 정격 전류값을 초과하는 것이 일반적인 중토크 영역에서는, D축 전류값을 저토크 영역에 있어서의 D축 전류값보다도 높게 함으로써, 필요한 토크의 산출 오차나 외란에 대한 복원력을 얻고, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.Further, according to configuration 11, in the medium torque region where the Q-axis current value generally exceeds the rated current value, the D-axis current value is set higher than the D-axis current value in the low torque region, thereby reducing the calculation error of required torque. The driving of the motor 22 can be stopped by the open loop control without obtaining a restoring force against external disturbance and without causing the motor 22 to go out of tune or vibrate.

<구성 12> <Configuration 12>

구성 12는, 구성 11에 있어서의 상기 D축 전류 명령값을 구하는 스텝에서는, 중토크 영역보다도 높은 고토크 영역에서, Q축 전류 명령값의 증가에 따라 D축 전류 명령값을 저하시키는 알고리즘으로, D축 전류 명령값을 구한다.Configuration 12 is an algorithm that, in the step of obtaining the D-axis current command value in Configuration 11, decreases the D-axis current command value as the Q-axis current command value increases in the high torque region higher than the medium torque region, Get the D-axis current command value.

<구성 12의 작용 효과><Operation effect of configuration 12>

구성 12에 의하면, 중토크 영역보다도 더 높은 토크가 필요해지는 고토크 영역에서는, 토크의 증가에 따라 D축 전류값을 저하시킴으로써, 로터의 자석의 자극을 끌어당기는 힘을 약화시켜, 전류가 허용 최댓값을 초과하는 것을 억제할 수 있다.According to configuration 12, in the high torque region where a higher torque is required than in the medium torque region, the D-axis current value is lowered as the torque increases, thereby weakening the force that attracts the magnetic poles of the magnets of the rotor, so that the current reaches the maximum allowable value. can be prevented from exceeding

<구성 13><Configuration 13>

구성 13은, 구성 5 내지 12의 어느 것에 있어서, 모터(22)의 회전 위치를 검출하는 로터리 인코더(30)(회전 위치 검출기)로부터 발신되는 위치 검출값(회전 위치 신호)의 이상을 검출하는 스텝을 구비한다. 또한, 구성 13은, 이상이 검출되지 않는 경우에는, 위치 검출값에 기초하는 검출 위치 피드백 제어에 의해 모터(22)를 구동한다. 또한, 구성 13은, 이상이 검출되고, 또한 검출 시의 모터(22)의 각속도가 소정의 하한값 미만(역치 이하 또는 역치 미만)이 아닌 경우에는, 센서리스 벡터 제어에 의해 모터(22)를 구동한다. 센서리스 벡터 제어에서는, 모터(22)에 흐르는 전류에 기초하여 추정되는 위치 추정값(회전 위치 추정값)을 피드백한다. 또한, 구성 13은, 이상이 검출되고, 또한 검출 시의 모터의 각속도가 하한값 미만인 경우에는, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킨다.Configuration 13 is a step for detecting an abnormality in the position detection value (rotational position signal) transmitted from the rotary encoder 30 (rotational position detector) that detects the rotational position of the motor 22 in any one of configurations 5 to 12. to provide Further, configuration 13 drives the motor 22 by detection position feedback control based on the position detection value, when abnormality is not detected. Configuration 13 also 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 (below or below the threshold value). do. In sensorless vector control, an estimated position value (estimated rotational position value) based on the current flowing through the motor 22 is fed back. Configuration 13 stops driving of the motor 22 by open-loop control when an abnormality is detected and the angular velocity of the motor at the time of detection is less than the lower limit value.

<구성 13의 작용 효과><Operation effect of composition 13>

구성 13에 있어서, 모터(22)가 비교적 높은 속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에는, 센서리스 벡터 제어에 의해, 모터(22) 내에서 양호하게 발생하는 유기 전압을 추정한다. 그리고, 추정된 유기 전압으로부터 모터(22)의 회전 위치를 추정하고, 추정 결과에 기초하여 모터(22)를 구동하고, 모터(22)의 회전 동작을 적절하게 제어한다. 그 후, 센서리스 벡터 제어에 의해, 모터(22) 내에서 충분한 유기 전압을 발생시키지 않게 될 정도까지 모터(22)의 각속도를 저하시키면, 모터(22)의 구동 제어를, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한다. 오픈 루프 제어에서는, 전류 인입법에 의해 모터(22)의 회전 동작을 적절하게 제어한다. 이러한 구성에서는, 모터(22)가 비교적 높은 각속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에, 센서리스 벡터 제어와 오픈 루프 제어를 실시하고, 모터(22)의 회전 동작을 적절하게 제어하면서 모터(22)를 서서히 감속하여 정지시킨다.In configuration 13, when an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively high speed, an induced voltage that is generated satisfactorily in the motor 22 is estimated by sensorless vector control. . Then, the rotational position of the motor 22 is estimated from the estimated induced voltage, the motor 22 is driven based on the estimation result, and the rotational operation of the motor 22 is appropriately controlled. Thereafter, when the angular velocity of the motor 22 is lowered by the sensorless vector control to such an extent that a sufficient induced voltage is not generated in the motor 22, the drive control of the motor 22 is changed from the sensorless vector control. Switch to open loop control. In the open-loop control, the rotational operation of the motor 22 is appropriately controlled by the current drawing method. In this configuration, when an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively high angular velocity, sensorless vector control and open-loop control are performed to appropriately control the rotational operation of the motor 22. While doing so, the motor 22 is gradually decelerated and stopped.

또한, 구성 13에 있어서, 모터(22)가 비교적 낮은 각속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에는, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킨다.Further, in configuration 13, when 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.

이러한 구성 13에 의하면, 위치 검출값의 이상 발생 시에 모터(22)를 즉시 강제 정지시키는 것에 의한 수부(2A)(피조작체)의 부적절한 동작의 발생을 회피할 수 있다. 또한, 제어 방식을 오픈 루프 제어로 전환한 후에 있어서, 검출 위치 피드백 제어를 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하므로, 전환 후의 모터의 탈조나 진동의 발생을 억제할 수 있다.According to this configuration 13, occurrence of inappropriate operation of the hand part 2A (operated object) by forcibly stopping the motor 22 immediately when an abnormality in the position detection value occurs can be avoided. In addition, after switching the control method to open loop control, it is possible to operate the motor in the same behavior as in the case of performing the detection position feedback control, so that the occurrence of out-of-phase or vibration of the motor after switching can be suppressed.

또한, 위치 검출값의 이상 발생 시에 있어서, 수부(2A)의 동작을 정지시키기 위해 상위 컨트롤러(100)(상위 장치)로부터 보내져 오는 위치 명령값의 변화 패턴은, 모터(22)의 구동을 단순하게 감속 정지시키는 패턴에 한정되지 않는다. 암(2)의 구조에 따라서는, 다음과 같은 패턴에 의해, 수부(2A)를 적절한 궤도를 따라 정지시키는 것이 가능한 경우도 있을 수 있다. 즉, 먼저, 센서리스 벡터 제어와 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킨다. 그 직후에, 오픈 루프 제어에 의해 모터(22)를 역회전시킨 후, 센서리스 벡터 제어에 의해 역방향으로의 가속과 감속을 행하고 나서, 오픈 루프 제어에 의해 모터(22)를 감속 정지시킨다는 패턴이다.In addition, when an abnormal position detection value occurs, the change pattern of the position command value sent from the host controller 100 (host device) to stop the operation of the receiving unit 2A makes driving the motor 22 simple. It is not limited to the pattern of slowing down and stopping. Depending on the structure of the arm 2, there may be cases where the arm 2A can be stopped along an appropriate trajectory by the following pattern. That is, first, the driving of the motor 22 is stopped by sensorless vector control and open loop control. Immediately after that, the motor 22 is rotated in reverse by open-loop control, then acceleration and deceleration are performed in the reverse direction by sensorless vector control, and then the motor 22 is decelerated and stopped by open-loop control. .

<구성 14><Configuration 14>

구성 14는, 구성의 센서리스 벡터 제어의 실행 중에, 위치 명령값(회전 위치 명령값)에 기초하여 모터(22)의 각가속도 추정값을 구하는 스텝을 실행한다.Configuration 14 executes a step of obtaining an estimated angular acceleration value of the motor 22 based on a position command value (rotational position command value) during execution of the sensorless vector control of the configuration.

<구성 14의 작용 효과><Operation effect of composition 14>

구성 14에 있어서는, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후부터, 전환 직전에 구해 둔 각가속도 추정값에 기초하여, 필요한 토크에 따른 Q축 전류 명령값을 구한다. 이로써, 구성 14에 의하면, 전환 시에 부적절한 Q축 전류를 공급하는 것에 의한 모터(22)의 진동 발생을 억제할 수 있다.In Configuration 14, the Q-axis current command value corresponding to the required torque is obtained based on the estimated angular acceleration value obtained immediately after switching from sensorless vector control to open-loop control and immediately before switching. Thus, according to configuration 14, generation of vibration of the motor 22 caused by supplying inappropriate Q-axis current at the time of switching can be suppressed.

<구성 15><Configuration 15>

구성 15는, 모터(22)의 구동을 제어하는 모터 구동 장치(20)이며, 구성 1 내지 14의 어느 모터 제어 방법에 의해 모터(22)의 구동을 제어한다.Configuration 15 is the motor drive device 20 that controls the drive of the motor 22, and the drive of the motor 22 is controlled by any of the motor control methods of the configurations 1 to 14.

<구성 15의 작용 효과><Operation effect of composition 15>

구성 15에 의하면, 구성 1 내지 15의 어느 모터 제어 방법을 사용함으로써, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.According to configuration 15, by using any of the motor control methods of configurations 1 to 15, the drive of the motor 22 can be stopped by open-loop control without causing the motor 22 to go out of tune or vibrate.

<구성 16><Configuration 16>

구성 16은, 복수의 모터(22)의 구동을 개별로 제어하여 산업용 로봇(1)의 암(2)의 위치를 변화시키는 산업용 로봇(1)의 제어 방법이다. 또한, 구성 16은 복수의 모터(22)에 있어서의 각각의 구동을, 구성 1 내지 14의 어느 모터 제어 방법에 의해 제어한다.Configuration 16 is a control method of the industrial robot 1 in which the position of the arm 2 of the industrial robot 1 is changed by individually controlling driving of the plurality of motors 22 . Further, configuration 16 controls each drive of the plurality of motors 22 by any one of the motor control methods of configurations 1 to 14.

<구성 17><Configuration 17>

구성 17은, 복수의 모터(22)의 구동을 개별로 제어하여 암(2)의 위치를 변화시키는 산업용 로봇(1)이며, 복수의 모터(22)에 있어서의 각각의 구동을, 구성 15의 모터 구동 장치(20)에 의해 제어한다.Configuration 17 is an industrial robot 1 that changes the position of the arm 2 by individually controlling the drive of a plurality of motors 22, and each drive of the plurality of motors 22 is configured as of Configuration 15. It is controlled by the motor drive device 20.

<구성 16, 17의 작용 효과><Operation and effect of components 16 and 17>

구성 16, 17에 있어서는, 적어도 어느 하나의 모터(22)에 있어서 위치 검출값의 이상이 발생한 때에, 그 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 그 모터(22)의 구동을 정지시킬 수 있다.In the configurations 16 and 17, when an abnormal position detection value occurs in at least one of the motors 22, the motor 22 is driven by open-loop control without causing the motor 22 to step out or vibrate. can stop

이상, 본 발명의 바람직한 실시 형태에 대하여 설명했지만, 본 발명은, 실시 형태에 한정되지 않고, 그 요지의 범위 내에서 다양한 변형 및 변경이 가능하다. 실시 형태는, 발명의 범위 및 요지에 포함되는 동시에, 특허 청구범위에 기재된 발명과 그 균등의 범위에 포함된다.As mentioned above, although preferred embodiment of this invention was described, this invention is not limited to embodiment, Various deformation|transformation and change are possible within the scope of the summary. Embodiment is included in the range of the invention described in the claim, and its equality while being included in the scope and summary of an invention.

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 robots
2: Cancer
20: motor drive unit
21: control mode selection unit
22: motor
23: position speed controller
24: vector control DQ axis current command generation unit
25: first selector
26: current controller
27: DQ inverse transform unit
28; PWM control
29: Inverter
30: rotary encoder (rotational position detector)
31: current detection unit
32: second selector
33: vector control electric angle generator
34: third selector
35: position estimation unit
36: open loop control electrical angle generator
37: open loop control DQ axis current command generation unit
38: encoder communication abnormal determination unit
39: DQ conversion unit
100: upper controller

Claims (17)

모터를 전류 인입법에 의한 오픈 루프 제어에 의해 구동하는 모터 제어 방법에 있어서,
신호 발신 수단으로부터 보내져 오는 회전 위치 명령 신호에 기초하여 모터에 필요한 토크를 구하는 스텝과,
상기 토크에 따른 Q축 전류 명령값을 구하는 스텝과,
상기 Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하여 모터의 구동을 정지시키는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.
A motor control method for driving a motor by open-loop control by a current drawing method,
a step of obtaining a torque required for the motor based on a rotational position command signal transmitted from the signal transmission means;
A step of obtaining a Q-axis current command value according to the torque;
and supplying a Q-axis current according to the Q-axis current command value and a D-axis current for drawing in magnetic poles of a magnet of a rotor to the motor to stop driving the motor.
제1항에 있어서, 상기 토크를 구하는 스텝은, 상기 회전 위치 명령 신호에 응답한 후의 모터의 각가속도 추정값을 구하는 스텝과, 상기 각가속도 추정값에 기초하여 상기 토크를 구하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.The motor according to claim 1, wherein the step of obtaining the torque includes a step of obtaining an estimated value of angular acceleration of the motor after responding to the rotational position command signal, and a step of obtaining the torque based on the estimated value of the angular acceleration. control method. 제2항에 있어서, 상기 토크를 구하는 스텝은, 상기 회전 위치 명령 신호에 응답한 후의 모터의 각속도 추정값을 구하는 스텝과, 상기 각속도 추정값 및 상기 각가속도 추정값에 기초하여 상기 토크를 구하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.The method of claim 2 , wherein the step of obtaining the torque includes a step of obtaining an estimated angular velocity of the motor after responding to the rotational position command signal, and a step of obtaining the torque based on the estimated angular velocity and the estimated angular acceleration. Characterized motor control method. 제2항에 있어서, 상기 토크를 구하는 스텝은, 상기 회전 위치 명령 신호에 응답한 후의 모터의 회전 위치 추정값을 구하는 스텝과, 상기 회전 위치 추정값에 기초하여 상기 각가속도 추정값을 구하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.3. The method of claim 2 , wherein the step of obtaining the torque includes a step of obtaining an estimated value of the rotational position of the motor after responding to the rotational position command signal, and a step of obtaining an estimated value of the angular acceleration based on the estimated value of the rotational position. motor control method. 제2항에 있어서, 상기 토크를 구하는 스텝에서는, 상기 각가속도 추정값에 관성 모멘트에 상당하는 계수를 곱하여 구해지는 구동 기계계의 가속 및 감속에 필요한 힘의 모멘트를, 상기 토크, 또는 상기 토크의 일부로서 구하는 것을 특징으로 하는 모터 제어 방법.The method according to claim 2, wherein in the step of obtaining the torque, a moment of force required for acceleration and deceleration of the driving mechanical system, which is obtained by multiplying the estimated angular acceleration value by a coefficient corresponding to the moment of inertia, is regarded as the torque or a part of the torque. A motor control method characterized in that obtaining. 제5항에 있어서, 상기 토크를 구하는 스텝에서는, 상기 회전 위치 명령 신호에 응답한 후의 모터의 각속도 추정값을 구하고, 상기 각속도 추정값에 기초하여 구동 기계계의 점성 저항력을 보상하기 위한 힘의 모멘트를 상기 토크의 일부로서 구하는 것을 특징으로 하는 모터 제어 방법.The method according to claim 5, wherein in the step of obtaining the torque, an estimated angular velocity value of the motor after responding to the rotational position command signal is obtained, and a moment of force for compensating the viscous resistance of the driving mechanical system is determined based on the estimated angular velocity value. A method of controlling a motor characterized in that it is obtained as a part of torque. 제5항에 있어서, 상기 토크를 구하는 스텝에서는, 중력을 보상하기 위한 힘의 모멘트를 상기 토크의 일부로서 구하는 것을 특징으로 하는 모터 제어 방법.The motor control method according to claim 5, 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항에 있어서, 상기 토크를 구하는 스텝에서는, 상기 회전 위치 명령 신호에 응답한 후의 모터의 각속도 추정값을 구하고, 상기 각속도 추정값에 기초하여 쿨롬 마찰력을 보상하기 위한 힘의 모멘트를 상기 토크의 일부로서 구하는 것을 특징으로 하는 모터 제어 방법.The method of claim 5 , wherein in the step of obtaining the torque, an estimated angular velocity value of the motor after responding to the rotational position command signal is obtained, and a moment of force for compensating for a Coulomb frictional force based on the estimated angular velocity value is regarded as a part of the torque. A motor control method characterized in that obtaining. 제5항에 있어서, 상기 Q축 전류 명령값에 따른 D축 전류 명령값을 구하는 스텝을 구비하고, 상기 Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝에 있어서, 상기 D축 전류 명령값에 따른 D축 전류를 모터에 공급하는 것을 특징으로 하는 모터 제어 방법.The method of claim 5, further comprising a step of obtaining a D-axis current command value according to the Q-axis current command value, wherein the Q-axis current according to the Q-axis current command value and the D-axis current for drawing in the magnetic pole of the rotor magnet In the step of supplying to the motor, the motor control method characterized in that for supplying the D-axis current according to the D-axis current command value to the motor. 제9항에 있어서, 상기 D축 전류 명령값을 구하는 스텝에서는, 상기 Q축 전류 명령값의 증가에 따라 상기 D축 전류 명령값을 증가시키는 알고리즘으로, 상기 D축 전류 명령값을 구하는 것을 특징으로 하는 모터 제어 방법.10. The method of claim 9 , wherein in the step of obtaining the D-axis current command value, the D-axis current command value is obtained using an algorithm that increases the D-axis current command value according to an increase in the Q-axis current command value. motor control method. 제10항에 있어서, 상기 D축 전류 명령값을 구하는 스텝에서는, 소정의 저토크 영역에서, 상기 D축 전류 명령값을 상기 Q축 전류 명령값보다도 낮은 값으로 하고, 또한 상기 Q축 전류 명령값의 증가에 따라 값을 저하시키고, 상기 저토크 영역보다도 높은 중토크 영역에서, 상기 Q축 전류 명령값의 증가에 따라 D축 전류 명령값을 증가시키는 알고리즘으로, 상기 D축 전류 명령값을 구하는 것을 특징으로 하는 모터 제어 방법.11. The method of claim 10, wherein 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 Q-axis current command value Calculating the D-axis current command value with an algorithm that decreases the value according to an increase in , and increases the D-axis current command value according to an increase in the Q-axis current command value in the mid-torque region higher than the low-torque region. Characterized motor control method. 제11항에 있어서, 상기 D축 전류 명령값을 구하는 스텝에서는, 상기 중토크 영역보다도 높은 고토크 영역에서, 상기 Q축 전류 명령값의 증가에 따라 상기 D축 전류 명령값을 저하시키는 알고리즘으로, 상기 D축 전류 명령값을 구하는 것을 특징으로 하는 모터 제어 방법.12. The method of claim 11, wherein the step of obtaining the D-axis current command value is an algorithm that lowers the D-axis current command value according to an increase in the Q-axis current command value in a high torque region higher than the medium torque region, Motor control method characterized in that for obtaining the D-axis current command value. 제5항에 있어서, 모터의 회전 위치를 검출하는 회전 위치 검출기로부터 발신되는 회전 위치 신호의 이상을 검출하는 스텝을 구비하고,
상기 이상이 검출되지 않는 경우에는, 상기 회전 위치 신호에 기초하는 피드백 제어에 의해 상기 모터를 구동하고,
상기 이상이 검출되고, 또한 검출 시의 모터의 각속도가 소정의 역치 이하 또는 역치 미만이 아닌 경우에는, 모터에 흐르는 전류에 기초하여 추정되는 회전 위치 추정값을 피드백하는 센서리스 벡터 제어에 의해 상기 모터를 구동하고,
상기 이상이 검출되고, 또한 검출 시의 모터의 각속도가 상기 역치 이하 또는 역치 미만인 경우에는, 오픈 루프 제어에 의해 모터의 구동을 정지시키는 것을 특징으로 하는 모터 제어 방법.
The method according to claim 5, comprising a step of detecting an abnormality in a rotational position signal transmitted from a rotational position detector that detects the rotational position of the motor,
When the abnormality is not detected, the motor is driven by feedback control based on the rotational position signal;
When the abnormality is detected and the angular velocity of the motor at the time of detection is equal to or less than a predetermined threshold value, the motor is operated by sensorless vector control that feeds back an estimated rotational position value estimated based on a current flowing through the motor. driving,
A motor control method characterized in that, 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, driving of the motor is stopped by open-loop control.
제13항에 있어서, 상기 센서리스 벡터 제어의 실행 중에, 상기 회전 위치 명령 신호에 기초하여 모터의 각가속도 추정값을 구하는 스텝을 실행하는 것을 특징으로 하는 모터 제어 방법.14. The motor control method according to claim 13, wherein a step of obtaining an estimated angular acceleration value of the motor based on the rotational position command signal is performed during execution of the sensorless vector control. 모터의 구동을 제어하는 모터 구동 장치이며,
제1항 내지 제14항 중 어느 한 항에 기재된 모터 제어 방법에 의해 상기 모터의 구동을 제어하는 것을 특징으로 하는 모터 구동 장치.
A motor driving device that controls the driving of a motor,
A motor driving device characterized in that driving of the motor is controlled by the motor control method according to any one of claims 1 to 14.
복수의 모터의 구동을 개별로 제어하여 산업용 로봇의 암의 위치를 변화시키는 산업용 로봇의 제어 방법이며,
복수의 모터에 있어서의 각각의 구동을, 제1항 내지 제14항 중 어느 한 항에 기재된 모터 제어 방법에 의해 제어하는 것을 특징으로 하는 산업용 로봇의 제어 방법.
A control method of an industrial robot that individually controls driving of a plurality of motors to change the position of an arm of the industrial robot,
An industrial robot control method characterized in that each drive of a plurality of motors is controlled by the motor control method according to any one of claims 1 to 14.
복수의 모터의 구동을 개별로 제어하여 암의 위치를 변화시키는 산업용 로봇이며,
복수의 모터에 있어서의 각각의 구동을, 제15항에 기재된 모터 구동 장치에 의해 제어하는 것을 특징으로 하는 산업용 로봇.
It is an industrial robot that changes the position of an arm by individually controlling the driving of a plurality of motors.
An industrial robot characterized in that each drive of a plurality of motors is controlled by the motor drive device according to claim 15.
KR1020210009943A 2020-02-04 2021-01-25 Motor control method, motor driving device, industrial robot control method, and industrial robot KR102567726B1 (en)

Applications Claiming Priority (2)

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
JPJP-P-2020-017206 2020-02-04

Publications (2)

Publication Number Publication Date
KR20210099518A KR20210099518A (en) 2021-08-12
KR102567726B1 true KR102567726B1 (en) 2023-08-18

Family

ID=77275470

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210009943A KR102567726B1 (en) 2020-02-04 2021-01-25 Motor control method, motor driving 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
JP2005110343A (en) * 2003-09-29 2005-04-21 Daikin Ind Ltd Method and device for controlling motor
JP2007244053A (en) * 2006-03-07 2007-09-20 Hitachi Industrial Equipment Systems Co Ltd Motor control device and motor control method
JP2008246106A (en) * 2007-03-30 2008-10-16 Sharp Corp Washing machine
JP2010142020A (en) * 2008-12-11 2010-06-24 Yaskawa Electric Corp Servo control device and method
JP2017060397A (en) * 2015-09-17 2017-03-23 エルエス産電株式会社Lsis Co., Ltd. Method for estimating parameter of induction machines

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
JP4867105B2 (en) 2001-08-22 2012-02-01 三菱電機株式会社 Numerical controller
JP3849930B2 (en) 2002-07-16 2006-11-22 株式会社デンソー Motor control device
JP4928850B2 (en) 2006-06-28 2012-05-09 株式会社東芝 Rotating machine control device
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
JP5645423B2 (en) * 2010-02-23 2014-12-24 キヤノン株式会社 Rotation drive device and robot arm
JP5626592B2 (en) * 2011-08-08 2014-11-19 アイシン・エィ・ダブリュ株式会社 Control device
WO2013108356A1 (en) * 2012-01-16 2013-07-25 三菱電機株式会社 Motor controller
JP6726390B2 (en) * 2016-07-06 2020-07-22 富士電機株式会社 Controller for permanent magnet type synchronous motor
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005110343A (en) * 2003-09-29 2005-04-21 Daikin Ind Ltd Method and device for controlling motor
JP2007244053A (en) * 2006-03-07 2007-09-20 Hitachi Industrial Equipment Systems Co Ltd Motor control device and motor control method
JP2008246106A (en) * 2007-03-30 2008-10-16 Sharp Corp Washing machine
JP2010142020A (en) * 2008-12-11 2010-06-24 Yaskawa Electric Corp Servo control device and method
JP2017060397A (en) * 2015-09-17 2017-03-23 エルエス産電株式会社Lsis Co., Ltd. Method for estimating parameter of induction machines

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2009232498A (en) Motor control device
JP6776066B2 (en) Inverter controller and motor drive system
JP4979646B2 (en) Stepping motor drive control device
JP2011176906A (en) Method and unit for controlling motor
JP5332904B2 (en) AC motor sensorless control device
JP2018007473A (en) Control device for permanent magnet type synchronous motor
JPH0993999A (en) Current control method for servomotor
KR102567726B1 (en) Motor control method, motor driving device, industrial robot control method, and industrial robot
JP2012120320A (en) Rotational sensorless control device
KR102567832B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
Betin et al. Position control of an induction machine using variable structure control
KR102515961B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
KR102384856B1 (en) System for estimating parameters of mechanical system
Devanshu et al. DSP based feedback linearization control of vector controlled induction motor drive
WO2022172472A1 (en) Motor control device
WO2022168340A1 (en) Motor control device
JPH1118498A (en) Controller for servo motor
JP2019187178A (en) Motor control device
WO2022172473A1 (en) Motor control device
JP2015180114A (en) Abnormality determining method for industrial machine
JP5264544B2 (en) Control device for permanent magnet motor
JP2022101781A (en) Control device, motor system, and identification method
JP2022101784A (en) Control device, motor system, and identification method
JP2021180569A (en) Motor control device, motor system, and motor control method
JP2012050249A (en) Motor driving device

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right