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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/05—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation specially adapted for damping motor oscillations, e.g. for reducing hunting
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
- B25J9/126—Rotary actuators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/14—Estimation or adaptation of machine parameters, e.g. flux, current or voltage
- H02P21/18—Estimation of position or speed
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P21/00—Arrangements or methods for the control of electric machines by vector control, e.g. by control of field orientation
- H02P21/22—Current control, e.g. using a current control loop
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P29/00—Arrangements for regulating or controlling electric motors, appropriate for both AC and DC motors
- H02P29/02—Providing protection against overload without automatic interruption of supply
- H02P29/024—Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P5/00—Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/14—Electronic commutators
- H02P6/16—Circuit arrangements for detecting position
- H02P6/18—Circuit arrangements for detecting position without separate position detecting elements
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02P—CONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
- H02P6/00—Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
- H02P6/20—Arrangements for starting
- H02P6/21—Open loop start
Abstract
토크 부족에 의한 모터의 탈조나 진동을 발생시키지 않고, 모터의 회전을 오픈 루프 제어에 의해 정지시킨다.
오픈 루프 제어에 있어서, 상위 컨트롤러로부터 보내져 오는 위치 명령값에 기초하여 모터에 필요한 토크를 구하는 스텝과, 토크에 따른 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.
Description
본 발명은, 모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇에 관한 것이다.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
특허문헌 1에는, 모터의 회전을 정지시킬 때에, 구체적으로 어떻게 하는지에 대한 기재가 없다. 특허문헌 1에 기재된 모터 제어 방법에서는, 모터의 통상 구동 중에, 센서리스 벡터 제어에 의해 모터의 회전 위치를 제어하고 있는 점에서, 모터의 정지 시에는, 모터의 회전 위치를 제어하면서 회전을 감속시켜 정지시킨다고 생각된다. 구체적으로는, 모터 내에서 충분한 유기 전압이 얻어지지 않게 될 때까지 센서리스 벡터 제어에 의해 모터의 회전을 감속시키고, 그 후, 제어 방식을 오픈 루프 제어로 전환하여, 회전을 정지시키는 것이다.
그런데, 본 발명자의 실험에 의하면, 특허문헌 1에 기재된 오픈 루프 제어를 사용하면, 토크의 과부족에 의해 모터의 탈조나 진동을 야기해 버리는 것이 판명되었다.By the way, according to the experiment of the present inventor, it has been found that using the open loop control described in
또한, 모터의 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환할 때에 발생하는 과제에 대하여 설명했지만, 다음과 같은 구성에 있어서도, 동일한 과제가 발생할 수 있다. 즉, 제어 방식을, 인코더 등에 의한 모터의 회전 위치의 검출값을 피드백하는 피드백 제어로부터, 오픈 루프 제어로 전환하는 구성이다.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
상완부(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
이어서, 실시 형태에 관한 모터 제어 방법을 사용하는 모터 구동 장치에 대하여 설명한다.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
3개의 모터 구동 장치(20)의 각각은, 모터(22)의 구동의 제어 방식으로서, 검출 위치 피드백 제어, 센서리스 벡터 제어 및 오픈 루프 제어의 3개를 전환하여 실행할 수 있다. 검출 위치 피드백 제어는, 모터의 회전 위치를 검출한 결과를, 회전 위치의 명령 생성에 피드백하는 제어이다.Each of the three
산업용 로봇(1)은, 3개의 모터 구동 장치(20)로 명령을 보내는 상위 컨트롤러(100)를 구비한다. 상위 컨트롤러(100)는, 기억 매체에 기억시키고 있는 제어 프로그램에 기초하여, 3개의 모터 구동 장치(20)의 각각에 대하여 위치 명령값(회전 위치 명령 신호)을 송신한다. 3개의 모터 구동 장치(20)의 각각은, 상위 컨트롤러(100)로부터 보내져 오는 위치 명령값에 대응하는 회전 위치까지 모터(22)의 로터를 회전시키는 제어를 실행한다. 이 제어에 의해, 산업용 로봇(1)의 암(2)이 전술한 제어 프로그램에 기초한 동작을 행한다.The
3개의 모터 구동 장치(20)의 구성은 서로 마찬가지이다. 따라서, 이하, 3개의 모터 구동 장치(20) 중, 1개만에 대하여, 구성을 상세하게 설명한다.The configurations of the three
모터 구동 장치(20)는, 제어 모드 선택부(21), 위치 속도 제어부(23), 벡터 제어 DQ축 전류 명령 생성부(24), 제1 셀렉터(25), 전류 제어부(26), DQ 역변환부(27), PWM 제어부(28) 및 인버터(29)를 구비한다. 모터 구동 장치(20)에 의해 구동되는 모터(22)는, 상술한 제1 모터(22A), 제2 모터(22B), 또는 제3 모터이다. 모터 구동 장치(20)는, 전류 검출부(31), 제2 셀렉터(32), 벡터 제어 전기각 생성부(33), 제3 셀렉터(34), 위치 추정부(35) 및 오픈 루프 제어 전기각 생성부(36)를 구비한다. 또한, 모터 구동 장치(20)는, 오픈 루프 제어 DQ축 전류 명령 생성부(37), 인코더 통신 이상 판정부(38) 및 DQ 변환부(39)를 구비한다. 모터 유닛은, 모터(22) 및 로터리 인코더(30)를 구비한다.The
상위 컨트롤러(100)로부터 출력되는 위치 명령값은, 모터 구동 장치(20)의 위치 속도 제어부(23) 및 오픈 루프 제어 전기각 생성부(36)에 입력된다.The position command value output from the
산업용 로봇(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
또한, 이하, 모터(22)의 로터의 회전을, 모터(22)의 회전이라고 표현하는 경우가 있다.Hereinafter, rotation of the rotor of the
인코더 통신 이상 판정부(38)는, 로터리 인코더(30)로부터 보내져 오는 위치 검출값에 대하여 이상의 유무를 검출하고, 이상을 검출한 경우에는 이상 발생 신호를 제어 모드 선택부(21) 및 상위 컨트롤러(100)로 송신한다. 인코더 통신 이상 판정부(38)에 의해 위치 검출값의 이상을 검출하는 방법의 일례로서, 위치 검출값의 시간 변화량이 소정의 역치를 초과한 경우(혹은 역치 이상인 경우)에, 이상으로서 검출하는 방법을 들 수 있다. 단, 이 방법에 한정되는 것은 아니다. 위치 검출값의 이상을 검출하는 방법으로서, 로터리 인코더(30)의 이상을 위치 검출값의 이상으로서 검출하는 방법을 채용해도 된다.The encoder communication
제어 모드 선택부(21)는, 로터리 인코더(30)로부터 보내져 오는 위치 검출값의 단위 시간당에 있어서의 변화량에 기초하여 모터(22)의 각속도를 산출하고, 산출 결과와, 위치 검출값의 이상의 유무에 기초하여 제어 모드값을 선택하여 출력한다.The
도 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
한편, 이상 발생 신호가 수신된 경우에는(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
이상과 같이 하여, 제어 모드값 선택 처리에서는, 위치 검출값의 이상이 발생하고 있지 않은 경우에는 제어 모드값으로서 「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
상위 컨트롤러(100)는, 모터 구동 장치(20)로부터 이상 발생 신호가 보내져 오면, 3개의 모터 구동 장치(20)로 송신하는 위치 명령값을, 암(2)을 소정의 궤도 상에서 이동시키면서 암(2) 및 모터(22)를 감속 정지시키는 패턴으로 변화시킨다. 이로써, 암(2)은, 소정의 궤도 상에서 감속하면서 정지한다.When an abnormal occurrence signal is sent from the
도 3에 있어서, 제어 모드 선택부(21)로부터 출력되는 제어 모드값은, 제1 셀렉터(25), 제2 셀렉터(32) 및 제3 셀렉터(34)(이하, 이것들을 통합하여 3개의 셀렉터(25, 32, 34)라고도 한다)의 각각에 입력된다. 3개의 셀렉터(25, 32, 34)의 각각은, 0번 입력 단자, 1번 입력 단자 및 2번 입력 단자를 구비하고, 제어 모드 선택부(21)로부터 보내져 오는 제어 모드값에 기초하여, 출력 신호를 전환한다. 구체적으로는, 3개의 셀렉터(25, 32, 34)의 각각은, 제어 모드값이 「0」인 경우에는 0번 입력 단자에 입력되는 신호를 출력하고, 「1」인 경우에는 1번 입력 단자에 입력되는 신호를 출력하고, 「2」인 경우에는 2번 입력 단자에 입력되는 신호를 출력한다.3, the control mode value output from the
이러한 구성의 3개의 셀렉터(25, 32, 34)의 각각으로부터는, 다음과 같은 신호가 출력된다. 즉, 위치 검출값의 이상이 발생하고 있지 않은 경우(제어 모드값=0)에는, 모터(22)를, 위치 검출값에 의해 나타나는 위치로부터, 위치 명령값에 의해 나타나는 위치까지 회전시키는 검출 위치 피드백 제어를 실행하기 위한 신호가 출력된다. 또한, 위치 검출값의 이상이 발생하고, 또한 모터(22)의 각속도가 소정값 이상(혹은 소정값을 초과한다)인 경우(제어 모드값=1)에는, 후술하는 센서리스 벡터 제어에 의해 모터(22)를 구동하기 위한 신호가 출력된다. 또한, 위치 검출값의 이상이 발생하고, 또한 모터(22)의 각속도가 소정값 미만(혹은 소정값 이하)인 경우(제어 모드값=2)에는, 후술하는 오픈 루프 제어에 의해 모터(22)를 구동하기 위한 신호가 출력된다.The following signals are output from each of the three
상술한 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
벡터 제어 DQ축 전류 명령 생성부(24)는, 입력된 토크값과 동일한 토크를 발생시키는 데 필요한 D축 전류 및 Q축 전류를 모터(22) 내에서 발생시키기 위한 D축 전류 명령값 및 Q축 전류 명령값(이하, 이것들을 DQ축 전류 명령값이라고도 한다)을 생성한다. D축 전류는, 모터(22)에 흐르는 전류 중 영구 자석의 자속에 평행한 성분이다. 또한, Q축 전류는, 모터(22)에 흐르는 전류 중 영구 자석의 자속에 직교하는 성분이다.The vector control DQ-axis current
벡터 제어 DQ축 전류 명령 생성부(24)로부터 출력되는 DQ축 전류 명령값은, 제1 셀렉터(25)의 0번 입력 단자 및 1번 입력 단자에 입력된다. 검출 위치 피드백 제어가 실행되는 경우(제어 모드값=0) 및 센서리스 벡터 제어가 실행되는 경우(제어 모드값=1)에는, 벡터 제어 DQ축 전류 명령 생성부(24)에 의해 생성된 DQ축 전류 명령값이 제1 셀렉터(25)로부터 출력된다. 이 DQ축 전류 명령값은, 전류 제어부(26)에 입력된다.The DQ-axis current command value output from the vector control DQ-axis current
DQ 변환부(39)는, 제3 셀렉터(34)로부터 보내져 오는 전기각에 기초하여 D축 전류 피드백값 및 Q축 전류 피드백값(이하, DQ축 전류 피드백값이라고도 한다)을 생성하여 전류 제어부(26)에 출력한다. 또한, 후술하는 센서리스 벡터 제어 시에 있어서는, DQ 변환부(39)가, 제3 셀렉터(34)로부터 보내져 오는 전기각과, 전류 검출부(31)로부터 보내져 오는 3상 전류 검출값에 기초하여 DQ축 전류 피드백값을 생성한다.The
전류 제어부(26)는, 제1 셀렉터(25)로부터 보내져 오는 DQ축 전류 명령값과, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, DQ축 전압 명령값을 생성하여 DQ 역변환부(27)에 출력한다.The
DQ 역변환부(27)는, 제3 셀렉터(34)로부터 보내져 오는 전기각과, 전류 제어부(26)로부터 보내져 오는 DQ축 전압 명령값에 기초하여, 요구되는 D축 전류 및 Q축 전류를 모터(22) 내에 발생시키기 위한 U상 전압 명령값, V상 전압 명령값 및 W상 전압 명령값(이하, 삼상 전압 명령값이라고도 한다)을 생성하여 출력한다. DQ 역변환부(27)로부터 출력되는 삼상 전압 명령값은, PWM 제어부(28)에 입력된다. PWM 제어부(28)는, U상 전압 명령값, V상 전압 명령값, W상 전압 명령값에 의해 나타나는 U상 전압, V상 전압, W상 전압을 인버터(29)로부터 출력시키기 위한 PWM 신호로 이루어지는 U상 게이트 신호, V상 게이트 신호, W상 게이트 신호를 생성한다. 인버터(29)는, U상 게이트 신호, V상 게이트 신호, W상 게이트 신호에 기초하는 U상 전압, V상 전압, W상 전압을 모터(22)에 공급하여, 모터(22)를 회전시킨다.The DQ
전류 검출부(31)는, 인버터(29)로부터 모터(22)로 흐르는 U상 전류, V상 전류 및 W상 전류(이하, 이것들을 3상 전류라고도 한다)를 검출하고, 검출 결과를 U상 전류 검출값, V상 전류 검출값, W상 전류 검출값(이하, 3상 전류 검출값이라고도 한다)으로서 출력한다. 또한, 삼상의 전류값을 검출하는 것 대신에, 삼상 중, 2상의 전류값만을 검출하고, 나머지 1상의 전류값에 대해서는, 2상의 전류값 검출 결과에 기초하여 산출해도 된다.The
로터리 인코더(30)로부터 출력되는 위치 검출값의 이상이 없는 경우에는, 이상과 같은 검출 위치 피드백 제어에 의해 모터(22)가 구동된다.When there is no abnormality in the position detection value output from the
이어서, 센서리스 벡터 제어에 대하여 설명한다. 센서리스 벡터 제어가 실행되는 경우, 즉, 위치 검출값의 이상이 있고, 또한 이상 발생 직전의 모터(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
전류 제어부(26)는, 제1 셀렉터(25)로부터 보내져 오는 DQ축 전류 명령값과, DQ 변환부로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, DQ축 전압 명령값을 생성하여 출력한다. 위치 추정부(35)는, 전류 제어부(26)로부터 보내져 오는 DQ축 전압 명령값과, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, 모터(22)의 회전 위치를 추정한다.The
위치 추정부(35)는, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값과, 전류 제어부(26)로부터 보내져 오는 DQ축 전압 명령값에 기초하여, 위치 추정값과, 전기각 추정값을 구한다. 그리고, 위치 추정부(35)는, 위치 추정값을 제2 셀렉터(32)의 1번 입력 단자에 출력하고, 또한 전기각 추정값을 제3 셀렉터의 1번 입력 단자에 출력한다.The
위치 추정부(35)로부터 출력되는 위치 추정값은, 제2 셀렉터(32)를 통해, 위치 피드백값으로서 위치 속도 제어부(23)에 입력된다. 위치 속도 제어부(23)는, 위치 피드백값으로서 위치 추정값을 사용하는 점 외에는 검출 위치 피드백 제어와 마찬가지로 하여 토크 명령값을 출력한다. 이 토크 명령값에 기초하는 U상 게이트 신호, V상 게이트 신호, W상 게이트 신호로서 인버터(29)에 입력될 때까지의 처리는, 검출 위치 피드백 제어와 마찬가지이다. 즉, 센서리스 벡터 제어에서는, 위치 검출값 대신에, 모터(22) 내에서 발생하는 유기 전압에 기초하는 위치 추정값을 위치 피드백값으로서 위치 속도 제어부(23)에 피드백하는 점 외에는, 검출 위치 피드백 제어와 동일한 처리가 행해진다.The position estimation value output from the
또한, 모터 구동 장치(20)는, 센서리스 벡터 제어에 있어서, 검출 위치 피드백 제어에 비해 위치 속도 제어의 제어 루프 게인을 저하시킨다. 제어 루프 게인을 저하시키는 방법의 일례로서, 상위 컨트롤러(100)의 명령에 의해 제어 루프 게인을 저하시키는 방법을 들 수 있다. 암(2)의 궤도를 고정밀도로 유지하기 위해서는, 위치 검출값의 이상이 발생한 모터 구동 장치(20)뿐만 아니라, 다른 모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인도 저하시키는 것이 바람직하다. 상위 컨트롤러(100)의 명령에 의하면, 모든 모터 구동 장치(20)에 있어서의 위치 속도 제어의 제어 루프 게인을 적절하게 저하시키는 것이 가능하다.Further, in the sensorless vector control, the
모터 구동 장치(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
이어서, 오픈 루프 제어에 대하여 설명한다. 오픈 루프 제어가 실행되는 경우, 즉, 위치 검출값의 이상이 있고, 또한 모터(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
제어 방식을, 검출 위치 피드백 제어나 센서리스 벡터 제어로 전환할 때에, 모터(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
그래서, 도 3에 도시되는 오픈 루프 제어 전기각 생성부(38)는, 모터(22)의 회전 위치를, 검출 위치 피드백 제어의 실행 시와 마찬가지로 시간 변화시키도록 전기각을 생성한다.Therefore, the open-loop control electrical
도 5는, 오픈 루프 제어 전기각 생성부(36)를 도시하는 블록선도이다. 이 오픈 루프 제어 전기각 생성부(36)는, 제어기(36a)와, 전기계·기계계의 모델(36b)과, 전기각 산출부(36c)를 구비한다.Fig. 5 is a block diagram showing the open-loop controlled
제어기(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-
전기계·기계계의 모델(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
도 5에 있어서의 전기각 산출부(36c)는, 위치 시뮬레이션값에 기초하여 모터(22)의 전기각을 산출하고, 결과를 도 3에 있어서의 DQ 역변환부(27) 및 DQ 변환부(39)에 출력한다.The electrical angle calculation unit 36c in FIG. 5 calculates the electrical angle of the
위치 검출값의 이상 발생 시에 있어서, 제어 방식을 검출 위치 피드백 제어, 혹은 센서리스 벡터 제어로부터, 오픈 루프 제어로 전환한 후에는, 위치 검출값을 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하다. 따라서, 실시 형태에 관한 모터 제어 방법에 의하면, 제어 방식을 오픈 루프 제어로 전환 후의 전기각의 급격한 변화에 의한 모터의 탈조나 진동의 발생을 억제할 수 있다.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
또한, 모터의 회전 위치를 시뮬레이션하는 것 대신에, 위치 명령값을 위치 제어 응답 전달 함수 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
위치 제어 응답 전달 함수 G(s)의 기본식은, 다음 식으로 나타난다.The basic expression of the position control response transfer function G(s) is represented by the following expression.
이 기본식을 사용하여 위치 변환값을 얻는 것이 바람직하지만, 기본식의 우변을 개변한 다음 식에 의해 위치 명령값을 위치 변환값으로 변환해도 된다.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.
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
전술한 양태라면, 모터(22)의 제어 방식을, 검출 위치 피드백 제어, 혹은 센서리스 벡터 제어로부터, 오픈 루프 제어로 전환한 후에 있어서, 위치 피드백 제어를 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하다. 이 때문에, 제어 방식을 오픈 루프 제어로 전환한 후의 모터(22)의 탈조나 진동의 발생을 억제하고, 또한 위치 변환값을 저렴한 연산 장치에 의해 적절하게 구할 수 있다.In the above aspect, after switching the control method of the
또한, 모터(22)의 전기각을 위치 명령값에 가깝게 하는 방법으로서, 오픈 루프 제어로 전환되기 직전의 위치 편차를 초기값으로 하고, 위치 편차를 서서히 제로에 수렴시키는 1차 지연 필터를 사용하는 방법도 생각할 수 있다. 그러나, 이 방법에서는, 위치 명령값과는 무관하게 위치 편차를 감소시키는 점에서, 수부(2A)를 원하는 궤도를 따라 이동시킬 수 없다.In addition, as a method of bringing the electrical angle of the
도 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
도 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
그런데, 전술한 바와 같은 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
그래서, 실시 형태에 관한 모터 구동 장치(20)에서는, 위치 명령값에 기초하여 모터(22)에 필요한 토크를 구한 후, 토크에 따른 Q축 전류 명령값을 구하고, Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급한다. 이러한 구성에 의하면, 모터(22)에 필요한 토크에 따른 값의 Q축 전류를 모터에 공급함으로써, 토크의 과부족에 기인하는 모터(22)의 탈조나 진동을 일으키는 일 없이, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.Therefore, in the
모터(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
또한, 필요한 토크를 구하는 다른 방법으로서, 위치 명령값에 기초하여 필요한 각속도 및 각가속도를 추정하고, 얻어진 각속도 추정값 및 각가속도 추정값에 기초하여 필요한 토크를 구하는 방법을 들 수 있다. 더 상세하게는, 각가속도 추정값에 기초하여 가속 또는 감속에 필요한 토크를 구하고, 또한 각속도 추정값에 기초하여 필요한 점성 저항 및 쿨롬 마찰 중 적어도 한쪽을 보상하기 위한 토크를 구하는 것이다.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
도 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
이상의 발생에 기초하여 제어 방향이 검출 위치 피드백 제어로부터 센서리스 벡터 제어로 전환되면, 도시한 바와 같이, 전환 직후에는, 전류 검출에 의한 회전 위치 추정의 과도 현상에 의해 모터(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
또한, 검출 위치 피드백 제어에 있어서 모터(22)가 충분한 각속도로 회전하고 있을 때에 위치 검출값의 이상이 발생한 경우에는, 센서리스 벡터 제어가 충분한 시간 실행되어 각속도 추정값이 안정화되고 나서 제어 방식이 오픈 루프 제어로 전환된다. 그러면, 오픈 루프 제어로, 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후의 토크 명령값을 적절한 값으로 구하는 것이 가능하므로, 모터(22)를 크게 진동시키는 일은 없다.Further, in the detection position feedback control, when an abnormality in the position detection value occurs while the
실시 형태에 관한 모터 구동 장치(20)에서는, 위치 명령값에 응답한 후의 모터(22)의 회전 위치 추정값을 구하고, 얻어진 회전 위치 추정값에 기초하여 각가속도 추정값을 구한다. 회전 위치 추정값은, 오픈 루프 제어 DQ축 전기각 생성부(36)에 의해 강제 동기 위치 명령값으로서 구해진다.In the
도 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
Q축 전류 명령 생성부(37A)는, 복수의 지연 소자, 제1 수치 미분부(37A1), 제1 로 패스 필터(37A9), 제2 수치 미분부(37A2), 제2 로 패스 필터(37A4), 관성 모멘트의 노미널값(이하, 관성 게인라고 한다)(37A5) 등을 구비한다. 또한, Q축 전류 명령 생성부(37A)는, 토크 상수 제산부(37A8), 부호 함수부(37A3), 점성 계수의 노미널값(이하, 점성 게인라고 한다)(37A6), 쿨롬 마찰력의 노미널값(이하, 쿨롬 마찰 게인라고 한다)(37A7) 등을 구비한다.The Q-axis
Q축 전류 명령 생성부(37A)에서 실행되는 처리에 대하여 설명한다.The processing executed by the Q-axis
오픈 루프 제어 전기각 생성부(도 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.
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.
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.
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 (
개시 직후의 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
구체적으로는, 도 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
도 5에 도시된 바와 같이, 오픈 루프 제어 전기각 생성부(36)는, 위치 명령값에 기초하여 위치 시뮬레이션값을 생성하고, 이것을 강제 동기 위치 명령값으로서 DQ축 전류 명령 생성부(37)에 출력한다. 또한, 도 9에 도시된 바와 같이, 오픈 루프 제어 DQ축 전류 명령 생성부(37)는, 강제 동기 위치 명령값에 기초하여 각속도 추정값을 구하고, 얻어진 각속도 추정값에 기초하여 각가속도 추정값을 구한다. 따라서, 모터 구동 장치(20)는, 센서리스 벡터 제어의 실행 중에, 위치 명령값에 기초하여 가속도 추정값을 구하고 있다.As shown in FIG. 5 , the open-loop controlled electrical
이러한 구성에서는, 제어 방식을 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후에, 직전에 구해 둔 각가속도 추정값을 사용하여 필요한 토크를 구하는 것이 가능해진다. 따라서, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환한 직후부터, 필요한 토크에 따른 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
실시 형태에 관한 모터 구동 장치(20)에서는, Q축 전류값(Q축 전류 명령값)에 따라 D축 전류값(D축 전류 명령값)을 변화시킨다.In the
도 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
이하, 전류값 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
저토크 영역에서, 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
중토크 영역에서, 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
도 9에 도시되는 D축 전류 명령 생성부(37B)에서 실행되는 처리에 대하여 설명한다.The processing executed in the D-axis
D축 전류 명령 생성부(37B)는, Q축-놈 전류 변화율 게인(37B1), 절댓값 연산부(37B2), 포화부(37B3), 제1의 2승 연산부(37B4), 제2의 2승 연산(37B5) 및 평방근 연산부(37B6)를 구비한다.The D-axis current
Q축 전류 명령 생성부(37A)에서 생성된 Q축 전류 명령값은, 제2의 2승 연산부(37B5)에 의해 2승의 값으로 변환된 후, 가산기에 마이너스의 값으로서 입력된다. 또한, Q축 전류 명령값은, Q축-놈 전류 변화율 게인(37B1)에 의해 게인이 걸린 후, 절댓값 연산부(37B)에 의해 절댓값으로 변환되어, 포화부(37B3)에 입력된다. 포화부(37B3)에 있어서, 입력값이 DQ축 놈 전류 하한값을 하회하는 경우에는 DQ축 놈 전류 하한값으로 변환되고, 입력값이 DQ축 놈 전류 상한값을 상회하는 경우에는 DQ축 놈 전류 상한값으로 변환된다.The Q-axis current command value generated by the Q-axis current
포화부(37B3)로부터의 출력은, 제1의 2승 연산부(37B4)에 의해 2승의 값으로 변환된 후, 가산기에 플러스의 값으로서 입력된다. 평방근 연산부(37B6)는, 가산기로부터의 출력값을 평방근의 값으로 변환하고, 그 값을 D축 전류 명령값으로서 출력한다. 이상과 같은 처리에 의해, D축 전류 명령값은, 도 10의 그래프에 도시되는 특성으로 변화된다.The output from the 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
<구성 1><
구성 1은, 모터(22)를 전류 인입법에 의한 오픈 루프 제어에 의해 구동하는 모터 제어 방법이다. 구성 1은, 상위 컨트롤러(100)(신호 발신 수단)로부터 보내져 오는 위치 명령값(회전 위치 명령 신호)에 기초하여 모터(22)에 필요한 토크(예를 들어, 도 9에 있어서의 토크 명령값)를 구하는 스텝을 구비한다. 또한, 구성 1은, 필용의 토크에 따른 Q축 전류 명령값을 구하는 스텝(예를 들어, 도 9에 있어서의 토크 상수 제산부(37A8))과, Q축 전류 명령값에 따른 Q축 전류 및 로터의 자석의 자극을 인입하기 위한 D축 전류를 모터에 공급하는 스텝(예를 들어, 도 9의 D축 전류 명령 생성부(37B))을 구비한다.
<구성 1의 작용 효과><Operation effect of
구성 1에 의하면, 모터(22)에 필요한 토크에 따른 값의 Q축 전류를 모터(22)에 공급함으로써, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.According to
<구성 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
<구성 2의 작용 효과><Operation effect of composition 2>
구성 2에 의하면, 모터(22)를 회전시키는 데 필요한 토크에 따른 Q축 전류를 모터(22)에 공급함으로써, 모터(22)에 불필요한 Q축 전류를 공급하는 것을 억제할 수 있다.According to configuration 2, supply of unnecessary Q-axis current to the
<구성 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
<구성 4의 작용 효과><Operation effect of configuration 4>
구성 4에 의하면, 위치 시뮬레이션값에 기초하여 모터(22)의 각가속도 추정값을 구함으로써, 센서리스 벡터 제어의 실행 시간 부족에 의한 오픈 루프 제어 전환 시의 모터(22)의 진동의 발생을 회피할 수 있다.According to Configuration 4, by obtaining an estimated value of the angular acceleration of the
<구성 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
<구성 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
<구성 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
<구성 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
<구성 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
<구성 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
<구성 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
또한, 구성 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
<구성 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
<구성 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
또한, 구성 13에 있어서, 모터(22)가 비교적 낮은 각속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에는, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킨다.Further, in configuration 13, when an abnormality occurs in the position detection value while the
이러한 구성 13에 의하면, 위치 검출값의 이상 발생 시에 모터(22)를 즉시 강제 정지시키는 것에 의한 수부(2A)(피조작체)의 부적절한 동작의 발생을 회피할 수 있다. 또한, 제어 방식을 오픈 루프 제어로 전환한 후에 있어서, 검출 위치 피드백 제어를 행하는 경우와 동일한 거동으로 모터를 동작시키는 것이 가능하므로, 전환 후의 모터의 탈조나 진동의 발생을 억제할 수 있다.According to this configuration 13, occurrence of inappropriate operation of the hand part 2A (operated object) by forcibly stopping the
또한, 위치 검출값의 이상 발생 시에 있어서, 수부(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
<구성 14><Configuration 14>
구성 14는, 구성의 센서리스 벡터 제어의 실행 중에, 위치 명령값(회전 위치 명령값)에 기초하여 모터(22)의 각가속도 추정값을 구하는 스텝을 실행한다.Configuration 14 executes a step of obtaining an estimated angular acceleration value of the
<구성 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
<구성 15><Configuration 15>
구성 15는, 모터(22)의 구동을 제어하는 모터 구동 장치(20)이며, 구성 1 내지 14의 어느 모터 제어 방법에 의해 모터(22)의 구동을 제어한다.Configuration 15 is the
<구성 15의 작용 효과><Operation effect of composition 15>
구성 15에 의하면, 구성 1 내지 15의 어느 모터 제어 방법을 사용함으로써, 모터(22)를 탈조나 진동시키지 않고, 오픈 루프 제어에 의해 모터(22)의 구동을 정지시킬 수 있다.According to configuration 15, by using any of the motor control methods of
<구성 16><Configuration 16>
구성 16은, 복수의 모터(22)의 구동을 개별로 제어하여 산업용 로봇(1)의 암(2)의 위치를 변화시키는 산업용 로봇(1)의 제어 방법이다. 또한, 구성 16은 복수의 모터(22)에 있어서의 각각의 구동을, 구성 1 내지 14의 어느 모터 제어 방법에 의해 제어한다.Configuration 16 is a control method of the
<구성 17><Configuration 17>
구성 17은, 복수의 모터(22)의 구동을 개별로 제어하여 암(2)의 위치를 변화시키는 산업용 로봇(1)이며, 복수의 모터(22)에 있어서의 각각의 구동을, 구성 15의 모터 구동 장치(20)에 의해 제어한다.Configuration 17 is an
<구성 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
이상, 본 발명의 바람직한 실시 형태에 대하여 설명했지만, 본 발명은, 실시 형태에 한정되지 않고, 그 요지의 범위 내에서 다양한 변형 및 변경이 가능하다. 실시 형태는, 발명의 범위 및 요지에 포함되는 동시에, 특허 청구범위에 기재된 발명과 그 균등의 범위에 포함된다.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.
상기 이상이 검출되지 않는 경우에는, 상기 회전 위치 신호에 기초하는 피드백 제어에 의해 상기 모터를 구동하고,
상기 이상이 검출되고, 또한 검출 시의 모터의 각속도가 소정의 역치 이하 또는 역치 미만이 아닌 경우에는, 모터에 흐르는 전류에 기초하여 추정되는 회전 위치 추정값을 피드백하는 센서리스 벡터 제어에 의해 상기 모터를 구동하고,
상기 이상이 검출되고, 또한 검출 시의 모터의 각속도가 상기 역치 이하 또는 역치 미만인 경우에는, 오픈 루프 제어에 의해 모터의 구동을 정지시키는 것을 특징으로 하는 모터 제어 방법.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.
제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.
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)
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)
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 |
-
2020
- 2020-02-04 JP JP2020017206A patent/JP7428527B2/en active Active
-
2021
- 2021-01-25 KR KR1020210009943A patent/KR102567726B1/en active IP Right Grant
- 2021-01-26 CN CN202110101850.0A patent/CN113285644B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |