[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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

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

Info

Publication number
KR20210099512A
KR20210099512A KR1020210005014A KR20210005014A KR20210099512A KR 20210099512 A KR20210099512 A KR 20210099512A KR 1020210005014 A KR1020210005014 A KR 1020210005014A KR 20210005014 A KR20210005014 A KR 20210005014A KR 20210099512 A KR20210099512 A KR 20210099512A
Authority
KR
South Korea
Prior art keywords
motor
control
value
driving
control method
Prior art date
Application number
KR1020210005014A
Other languages
Korean (ko)
Other versions
KR102515961B1 (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 KR20210099512A publication Critical patent/KR20210099512A/en
Application granted granted Critical
Publication of KR102515961B1 publication Critical patent/KR102515961B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • 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
    • H02P5/46Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors for speed regulation of two or more dynamo-electric motors in relation to one another
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • 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/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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
    • H02P29/028Detecting a fault condition, e.g. short circuit, locked rotor, open circuit or loss of load the motor continuing operation despite the fault condition, e.g. eliminating, compensating for or remedying the fault

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Control Of Electric Motors In General (AREA)
  • Control Of Ac Motors In General (AREA)
  • Manipulator (AREA)

Abstract

When an abnormality occurs during position detection, the occurrence of an improper operation of an arm can be avoided due to an emergency stop of a motor (22). The present invention includes: a step (selectors (25, 32, 34) selecting 0) of driving a motor (22) through detection position feedback control, based on a position command value, and a position detection value transmitted from an encoder (30) mounted on the motor (22); a step (an encoder communication abnormality determination part (38)) of detecting whether the position detection value is abnormal; a step (a current detection part (31)) of detecting a current flowing the motor (22) being driven; and a step of switching a control mode of the motor (22) to sensor-less vector control (the selectors (25, 32, 34) selecting 1) for driving the motor (22) based on a result of estimating a rotation position of the motor (22) based on a three-phase current detection value, from the detection position feedback control, when an abnormality of the position detection value is detected.

Description

모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇{MOTOR CONTROL METHOD, MOTOR DRIVE 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, a control method of an industrial robot, and an industrial robot.

종래, 회전 위치 명령 신호와, 모터에 탑재된 회전 위치 검출기로부터 발신되는 회전 위치 신호에 기초하여, 모터를 피드백 제어에 의해 구동하는 스텝과, 회전 위치 신호의 이상의 유무를 검출하는 스텝을 구비하는 모터 제어 방법이 알려져 있다.Conventionally, a motor comprising a step of driving the motor by feedback control based on a rotational position command signal and a rotational position signal transmitted from a rotational position detector mounted on the motor, and a step of detecting the presence or absence of an abnormality in the rotational position signal. Control methods are known.

예를 들어, 특허문헌 1에 기재된 모터 제어 방법에서는, 다음과 같이 하여 모터를 구동한다. 즉, 모터에 탑재된 회전 위치 검출기로서의 인코더로부터 출력되는 검출 위치 정보(회전 위치 신호)와, 컨트롤러로부터 출력되는 명령 위치 정보(회전 위치 명령 신호)에 기초하는 피드백 제어에 의해 모터를 구동한다. 모터의 구동 중에는, 명령 위치 정보(회전 위치 명령 신호)와 검출 위치 정보(회전 위치 신호)의 차에 대하여 소정값 이상인지 여부를 판정하고, 소정값 이상인 경우에는, 인코더의 이상을 검출한 것으로 하고, 구동용 전원을 차단하여 모터를 비상 정지시킨다. 특허문헌 1에 의하면, 이러한 모터 제어 방법에 의하면, 인코더의 이상이 발생한 경우에 모터를 비상 정지하여, 모터를 구동원으로 하는 로봇의 동작을 정지할 수 있게 된다.For example, in the motor control method described in patent document 1, a motor is driven as follows. That is, the motor is driven by feedback control based on the detection position information (rotational position signal) output from the encoder as a rotational position detector mounted on the motor, and the command position information (rotational position command signal) output from the controller. While the motor is being driven, it is determined whether the difference between the command position information (rotation position command signal) and the detected position information (rotation position signal) is equal to or greater than a predetermined value, and when it is equal to or greater than a predetermined value, it is assumed that an abnormality of the encoder has been detected. , Turn off the driving power to emergency stop the motor. According to patent document 1, according to such a motor control method, when an abnormality of an encoder occurs, a motor is emergency-stopped, and it becomes possible to stop the operation|movement of the robot which uses the motor as a drive source.

WO2018-079075호 공보Publication WO2018-079075

그러나, 특허문헌 1에 기재된 모터 제어 방법에서는, 인코더의 고장이나 통신선의 단선 등에 의해 검출 위치 정보에 이상이 발생한 때에 모터를 비상 정지시키면, 모터를 구동원으로 하는 로봇에 부적절한 동작을 시켜 버릴 우려가 있다. 구체적으로는, 암 전체를 제1 모터의 구동에 의해 연직 방향을 축으로 하여 회전시키면서, 암의 팔꿈치를 제2 모터의 구동에 의해 굽힘 신장으로써, 암의 손끝을 소정의 궤도를 따르게 하여 이동시키는 로봇이 알려져 있다. 이러한 구성의 로봇에 있어서, 예를 들어 제2 모터의 회전 위치를 검출하는 인코더로부터 출력되는 회전 위치 정보(회전 위치 신호)에 이상이 발생한 것에 기초하여 제1 모터 및 제2 모터의 구동을 비상 정지시킨 것으로 한다. 그러면, 암의 손끝을, 소정의 궤도로부터 벗어난 위치로 이동시켜 주변의 기기나 구조물에 부딪쳐 버릴 우려가 있다. 암의 손끝이 소정의 궤도로부터 벗어난 위치로 이동해 버리는 것은, 이어서 설명하는 이유에 의한다. 즉, 제1 모터와 제2 모터가 서로 다른 구동량으로 회전함으로써, 암의 손끝이 소정의 궤도를 따라 이동하는 경우에, 2개의 모터가 동시에 정지하면, 구동량의 균형이 깨져 암의 손끝이 소정의 궤도로부터 벗어나 버리는 것이다.However, in the motor control method described in Patent Document 1, if the motor is emergency stopped when an abnormality occurs in the detection position information due to a failure of an encoder or disconnection of a communication line, etc. . Specifically, while the entire arm is rotated in the vertical direction by the driving of the first motor, the elbow of the arm is bent and extended by the driving of the second motor to move the fingertips of the arm along a predetermined trajectory. Robots are known. In the robot having such a configuration, for example, based on abnormal occurrence of rotational position information (rotational position signal) output from an encoder that detects the rotational position of the second motor, the driving of the first motor and the second motor is emergency stopped. make it done Then, the fingertip of the arm is moved to a position deviated from the predetermined trajectory, and there is a fear that the arm may collide with nearby devices or structures. The reason that the fingertip of the arm moves to a position deviating from the predetermined trajectory is for the following reasons. That is, when the first motor and the second motor rotate with different driving amounts and the fingertip of the arm moves along a predetermined trajectory, if the two motors stop at the same time, the balance of the driving amount is broken and the fingertip of the arm moves along a predetermined trajectory. It deviates from a certain trajectory.

본 발명은, 이상의 배경을 감안하여 이루어진 것이고, 그 목적으로 하는 점은, 다음과 같은 모터 제어 방법, 모터 구동 장치, 산업용 로봇의 제어 방법 및 산업용 로봇을 제공하는 것이다. 즉, 회전 위치 신호의 이상 발생 시에 모터를 비상 정지시키는 것에 의한 피조작체(예를 들어, 산업용 로봇의 암)의 부적절한 동작의 발생을 회피할 수 있는 모터 제어 방법 등이다.The present invention has been made in view of the above background, and an object thereof is to provide the following motor control method, a motor driving device, a control method for an industrial robot, and an industrial robot. That is, a motor control method capable of avoiding occurrence of inappropriate operation of an object to be operated (eg, an arm of an industrial robot) by emergency stop of the motor when abnormality of the rotational position signal occurs.

본원의 제1 발명은, 회전 위치 명령 신호와, 모터에 탑재된 회전 위치 검출기로부터 발신되는 회전 위치 신호에 기초하여, 상기 모터를 피드백 제어에 의해 구동하는 스텝과, 상기 회전 위치 신호의 이상의 유무를 검출하는 스텝을 구비하는 모터 제어 방법에 있어서, 구동 중의 상기 모터에 흐르는 전류를 검출하는 스텝과, 상기 회전 위치 신호의 이상이 검출된 경우에, 상기 모터의 제어 방식을, 상기 회전 위치 신호에 기초하는 피드백 제어로부터, 상기 전류의 검출 결과에 기초하여 상기 모터의 회전 위치를 추정한 결과에 기초하여 상기 모터를 구동하는 센서리스 벡터 제어로 전환하는 스텝을 구비하는 것을 특징으로 하는 것이다.The first invention of the present application includes a step of driving the motor by feedback control based on a rotational position command signal and a rotational position signal transmitted from a rotational position detector mounted on the motor, and whether or not the rotational position signal is abnormal. A motor control method comprising a step of detecting, the step of detecting a current flowing through the motor during driving; and a step of switching from the feedback control to the sensorless vector control for driving the motor based on a result of estimating the rotational position of the motor based on the detection result of the current.

본원의 제2 발명은, 모터의 구동을 제어하는 모터 구동 장치이며, 제1 발명의 모터 제어 방법에 의해 상기 모터의 구동을 제어하는 것을 특징으로 하는 것이다.A second invention of the present application is a motor drive device for controlling the drive of a motor, and is characterized in that the drive of the motor is controlled by the motor control method of the first invention.

본원의 제3 발명은, 복수의 모터의 구동을 개별로 제어하여 산업용 로봇의 암의 위치를 변화시키는 산업용 로봇의 제어 방법이며, 복수의 모터에 있어서의 각각의 구동을, 제1 발명의 모터 제어 방법에 의해 제어하는 것을 특징으로 하는 것이다.A third invention of the present application is a control method of an industrial robot that changes the position of an arm of the industrial robot by individually controlling the driving of a plurality of motors, wherein each drive of the plurality of motors is controlled by the motor control of the first invention It is characterized in that it is controlled by a method.

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

이들 발명에 의하면, 회전 위치 신호의 이상 발생 시에 모터를 비상 정지시키는 것에 의한 피조작체의 부적절한 동작의 발생을 회피할 수 있다는 우수한 효과를 발휘한다.According to these inventions, the excellent effect of being able to avoid generation|occurrence|production of the inappropriate operation|movement of the to-be-operated object by emergency stop of a motor at the time of abnormal occurrence of a rotation position signal is exhibited.

도 1은 실시 형태에 관한 산업용 로봇을 도시하는 사시도이다.
도 2는 동 산업용 로봇을 도시하는 평면도이다.
도 3은 동 산업용 로봇에 탑재된 모터 구동 장치의 제어 구성을, 모터 등과 함께 도시하는 블록선도이다.
도 4는 동 모터 구동 장치의 제어 모드 선택부에 의해 실행되는 모드값 선택 처리의 처리 플로를 도시하는 흐름도이다.
도 5는 동 모터 구동 장치의 오픈 루프 제어 전기각 생성부의 제어 구성을 도시하는 블록선도이다.
BRIEF DESCRIPTION OF THE DRAWINGS It is a perspective view which shows the industrial robot which concerns on embodiment.
Fig. 2 is a plan view showing the industrial robot.
3 is a block diagram showing a control configuration of a motor driving device mounted on the industrial robot, together with a motor and the like.
Fig. 4 is a flowchart showing a processing flow of a mode value selection process executed by a control mode selection unit of the motor driving apparatus.
Fig. 5 is a block diagram showing a control configuration of an open-loop control electric angle generating unit of the motor driving apparatus.

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

먼저, 실시 형태에 관한 산업용 로봇의 기본적인 구성에 대하여 설명한다. 도 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 the arm 2, the mount 3, and the raising/lowering part 4. The lifting unit 4 is held by the mount 3 and is raised and lowered in the vertical direction (in the direction of the arrow in FIG. 1 ) by driving a lifting motor (not shown). The arm 2 is provided with the arm part 2A on which the glass substrate is mounted, the forearm part 2B, and the upper arm part 2C, and is hold|maintained by the raising/lowering part 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 elevating portion 4 in the upper arm portion 2C, can be rotated in the horizontal direction by driving the first motor 22A. Specifically, when the rotational driving force of the first motor 22A is transmitted to the shoulder joint 2D through the first belt 2E, the shoulder joint 2D rotates in the horizontal direction. In addition, the elbow joint 2F, which is a connection portion between the upper arm portion 2C and the forearm portion 2B, can be rotated in the horizontal direction by driving the second motor 22B. Specifically, the rotational driving force of the second motor 22B is transmitted to the elbow joint 2F through the second belt 2G, whereby the elbow joint 2F rotates in the horizontal direction. In addition, the wrist joint, which is a connection portion between the forearm 2B and the hand 2A, can rotate in the horizontal direction by receiving the driving force of the second motor 22B through the belt.

산업용 로봇(1)에 있어서, 수부(2A)를 도 2의 일점쇄선으로 나타나는 궤도를 따라 화살표 방향으로 똑바로 이동시키기 위해서는, 견관절(2D)와 팔꿈치 관절(2F)의 각도를 1대 2의 비율로 하여 양 관절을 회전시킬 필요가 있다. 그것을 위해서는, 제1 모터(22A)와 제2 모터(22B)를 서로 다른 구동량으로 구동할 필요가 있다. 제1 모터(22A), 제2 모터(22B)의 각각의 회전 위치를 제어하지 않고 양 모터를 정지시킨 경우, 양 모터의 구동량의 밸런스를 무너뜨려 수부(2A)를 일점쇄선으로 나타나는 궤도로부터 벗어난 위치에서 정지시켜 버린다. 그러면, 수부(2A)가 주위의 구조물이나 장치에 부딪쳐 버릴 우려가 있다.In the industrial robot 1, in order to move the hand part 2A straight in the direction of the arrow along the trajectory indicated by the dashed-dotted line in FIG. 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 rotation positions of the first motor 22A and the second motor 22B, the balance of the driving amounts of both motors is disturbed, and the hand unit 2A is separated from the trajectory indicated by the dashed-dotted line. stop at an out-of-place position. Then, there exists a possibility that 2 A of receiving parts may collide with the surrounding structure and apparatus.

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

도 3은, 실시 형태에 관한 산업용 로봇(1)에 탑재된 모터 구동 장치(20)의 제어 구성을, 모터(32) 등과 함께 도시하는 블록선도이다. 또한, 산업용 로봇(1)은, 도 3에 도시되는 모터 구동 장치(20)로서, 암(2)의 견관절(2D)을 회동시키기 위한 모터 구동 장치(20), 암(2)의 팔꿈치 관절(2F) 및 손목 관절을 회동시키기 위한 모터 구동 장치(20) 및 승강부(4)를 승강시키기 위한 모터 구동 장치(20)의 3개를 구비한다.3 is a block diagram showing a control configuration of a motor drive device 20 mounted on the industrial robot 1 according to the embodiment together with a motor 32 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 , and an elbow joint of the arm 2 ( 2F) and a motor drive device 20 for rotating the wrist joint and three motor drive devices 20 for lifting and lowering the lifting unit 4 are provided.

3개의 모터 구동 장치(20)의 각각은, 모터(22)의 구동의 제어 방식으로서, 검출 위치 피드백 제어, 센서리스 벡터 제어 및 오픈 루프 제어의 3개를 전환하여 실행할 수 있다.Each of the three motor drive devices 20 can switch and execute three of the detection position feedback control, the sensorless vector control, and the open loop control as a control method for driving the motor 22 .

산업용 로봇(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 driving devices 20 . The host controller 100 transmits a position command value (position command signal) to each of the three motor drive devices 20 based on the control program stored in the storage medium. Each of the three motor drive devices 20 executes control to rotate the rotor of the motor 22 to a 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 above-described control program.

3개의 모터 구동 장치(20)의 구성은 서로 마찬가지이다. 따라서, 이하, 3개의 모터 구동 장치(20) 중, 1개만에 대하여, 구성을 상세하게 설명한다.The configuration of the three motor driving devices 20 is the same as each other. Accordingly, the configuration of only one of the three motor drive devices 20 will be described in detail below.

모터 구동 장치(20)는, 제어 모드 선택부(21), 위치 속도 제어부(23), 벡터 제어 DQ축 전류 명령 생성부(24), 제1 셀렉터(25), 전류 제어부(26), DQ 역변환부(27), PWM 제어부(28) 및 인버터(29)를 구비한다. 모터 구동 장치(20)에 의해 구동되는 모터(22)는, 상술한 제1 모터(22A), 제2 모터(22B), 또는 제3 모터이다. 모터 구동 장치(20)는, 전류 검출부(31), 제2 셀렉터(32), 벡터 제어 전기각 생성부(33), 제3 셀렉터(34), 위치 추정부(35) 및 오픈 루프 제어 전기각 생성부(36)를 구비한다. 또한, 모터 구동 장치(20)는, 오픈 루프 제어 DQ축 전류 명령 생성부(37), 인코더 통신 이상 판정부(38) 및 DQ 변환부(39)를 구비한다. 모터 유닛은, 모터(22) 및 로터리 인코더(30)를 구비한다.The motor drive device 20 includes a control mode selection unit 21 , a position speed control unit 23 , a vector control DQ axis current command generation unit 24 , a first selector 25 , a current control unit 26 , and a DQ inverse transformation A unit 27 , a PWM control unit 28 , and an inverter 29 are provided. The motor 22 driven by the motor drive device 20 is the first motor 22A, the second motor 22B, or the third motor described above. The motor drive device 20 includes a current detection unit 31 , a second selector 32 , a vector control electric angle generating unit 33 , a third selector 34 , a position estimation unit 35 , and an open loop control electric angle. A generator (36) is provided. Further, the motor drive device 20 includes an open loop control DQ axis current command generation unit 37 , an encoder communication abnormality determination unit 38 , and a DQ conversion unit 39 . The motor unit includes a motor 22 and a rotary encoder 30 .

상위 컨트롤러(100)로부터 출력되는 위치 명령값은, 모터 구동 장치(20)의 위치 속도 제어부(23) 및 오픈 루프 제어 전기각 생성부(36)에 입력된다.The position command value output from the upper controller 100 is input to the position speed control unit 23 and the open loop control electric angle generation unit 36 of the motor driving device 20 .

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

또한, 이하, 모터(22)의 로터의 회전을, 모터(22)의 회전이라고 표현하는 경우가 있다.Hereinafter, 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, sends an abnormality occurrence signal to the control mode selection unit 21 and the upper controller ( 100) is sent. As an example of a method for detecting an abnormality in the position detection value by the encoder communication abnormality determination unit 38, when the amount of time change in the position detection value exceeds a predetermined threshold (or is greater than or equal to the threshold), a method of detecting abnormality can be heard However, it is not limited to this method. Moreover, you may employ|adopt the method of detecting the abnormality of the rotary encoder 30 as abnormality of a position detection value as a method of detecting the abnormality of a position detection value.

제어 모드 선택부(21)는, 로터리 인코더(30)로부터 보내져 오는 위치 검출값의 단위 시간당에 있어서의 변화량에 기초하여 모터(22)의 각속도를 산출하고, 산출 결과와, 위치 검출값의 이상의 유무에 기초하여 제어 모드값을 선택하여 출력한다.The control mode selection unit 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 the presence or absence of abnormality in the position detection value Based on , the control mode value is selected and output.

도 4는, 제어 모드 선택부(21)에 의해 실행되는 모드값 선택 처리의 처리 플로를 도시하는 흐름도이다. 모드값 선택 처리에서는, 먼저, 인코더 통신 이상 판정부(38)로부터 필요에 따라 발신되는 이상 발생 신호에 대하여, 수신했는지 여부가 판정된다(S(스텝) 1). 그리고, 이상 발생 신호가 수신되지 않는 경우에는(S1에서 N), 제어 모드값으로서 「0」이 선택되고 제어 모드 선택부(21)로부터 출력된다(S2). 그 후, 처리 플로가 S1로 복귀된다.4 is a flowchart showing a processing flow of a mode value selection process executed by the control mode selection unit 21 . In the mode value selection process, first, it is determined whether or not an abnormality occurrence signal transmitted as needed from the encoder communication abnormality determination 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 output from the control mode selection unit 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 abnormality occurrence signal is received (S1 to Y), it is then determined whether or not the angular velocity of the motor 22 is equal to or greater than a predetermined value (or exceeds a predetermined value) (S3). Then, when the angular velocity is equal to or greater than a predetermined value (Y in S3), "1" is selected as the control mode value and output from the control mode selection unit 21 (S4). On the other hand, if it is not equal to or greater than the predetermined value (or does not exceed the predetermined value) (N in S3), "2" is selected as the control mode value and output from the control mode selection unit 21 .

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

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

상위 컨트롤러(100)는, 모터 구동 장치(20)로부터 이상 발생 신호가 보내져 오면, 3개의 모터 구동 장치(20)로 송신하는 위치 명령값을, 암(2)을 소정의 궤도 상에서 이동시키면서 암(2) 및 모터(22)를 감속 정지시키는 패턴으로 변화시킨다. 이로써, 암(2)은, 소정의 궤도 상에서 정지한다.When an abnormality occurrence signal is sent from the motor drive device 20, the host controller 100 transmits the position command values transmitted to the three motor drive devices 20 to the arm (2) while moving the arm 2 on a predetermined trajectory. 2) and the motor 22 are changed to a pattern for decelerating and stopping. Thereby, the arm 2 stops on a predetermined|prescribed 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번 입력 단자에 입력되는 신호를 출력한다.In Fig. 3, the control mode values output from the control mode selection unit 21 are the first selector 25, the second selector 32, and the third selector 34 (hereinafter these are collectively referred to as three selectors). (also called 25, 32, 34)). Each of the three selectors 25 , 32 , and 34 has an input terminal 0, input terminal 1 and input 2, and outputs an output based on the control mode value sent from the control mode selection unit 21 . switch the signal. Specifically, each of the three selectors 25, 32, and 34 outputs a signal input to the 0 input terminal when the control mode value is “0”, and outputs the signal input to the 0 input terminal when the control mode value is “1”. Outputs a signal input to , and in the case of “2”, outputs a signal input to the second input terminal.

이러한 구성의 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 of this configuration. That is, when abnormality in the position detection value does not occur (control mode value = 0), the detection position feedback that rotates the motor 22 from the position indicated by the position detection value to the position indicated by the position command value. A signal for executing control is output. In addition, when an abnormality in the 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 motor is controlled by sensorless vector control to be described later. A signal for driving (22) is output. Further, when an abnormality in the 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 controlled by open-loop control to be described later. A signal for driving is output.

상술한 3개의 제어 방식 중, 먼저, 검출 위치 피드백 제어에 대하여 설명한다.Among the three control methods described above, first, the 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 unit 23 and the vector control electric angle generation unit 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 sends it to the vector control DQ axis current command generation unit 24 . print out Further, the vector-controlled electric angle generating unit 33 generates an electric angle based on the position feedback value. This electric angle is input to the DQ conversion unit 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 is configured to generate a D-axis current and a Q-axis current required to generate a torque equal to the input torque value in the motor 22, the D-axis current command value and the Q-axis A current command value (hereinafter these are also referred to as DQ axis current command values) is generated. The D-axis current is a component parallel to the magnetic flux of the permanent magnet among the 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 input terminal 0 and the input terminal 1 of the first selector 25 . The DQ axis generated by the vector control DQ axis current command generation unit 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 control unit 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 electric angle sent from the third selector 34 to generate a current control unit ( 26) is printed. In addition, at the time of sensorless vector control which will be described later, the DQ conversion unit 39 sets the DQ axis based on the electric angle transmitted from the third selector 34 and the three-phase current detection value transmitted from the current detection unit 31 . Generates a current feedback value.

전류 제어부(26)는, 제1 셀렉터(25)로부터 보내져 오는 DQ축 전류 명령값과, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, DQ축 전압 명령값을 생성하여 DQ 역변환부(27)에 출력한다.The current controller 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 converter 39 to generate a DQ 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 electric 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 transform unit 27 is input to the PWM control unit 28 . The PWM control unit 28 is a PWM signal for outputting the U-phase voltage, V-phase voltage, and W-phase voltage represented by the U-phase voltage command value, V-phase voltage command value, and W-phase voltage command value from the inverter 29 . A U-phase gate signal, a V-phase gate signal, and a W-phase gate signal are output. 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 a U-phase current, a V-phase current, and a W-phase current (hereinafter, also referred to as three-phase current) flowing from the inverter 29 to the motor 22 , and outputs the detection result to the U-phase current. It outputs as a detection value, a V-phase current detection value, and a W-phase current detection value (hereinafter also referred to as a three-phase current detection value). In addition, instead of detecting the current values of the three phases, only the current values of two phases among the three phases may be detected, and the current values of the remaining one phase may be calculated based on the detection results of the current values of the two phases.

로터리 인코더(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 position detection value and the angular speed 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) In this case, 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 converter 39 generates and outputs a DQ-axis current feedback value based on the three-phase current detection value and the electric angle sent from the third selector 34 . The output DQ-axis current feedback value is input to the current control unit 26 and the position estimation unit 35 .

전류 제어부(26)는, 제1 셀렉터(25)로부터 보내져 오는 DQ축 전류 명령값과, DQ 변환부로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, DQ축 전압 명령값을 생성하여 출력한다. 위치 추정부(35)는, 전류 제어부(26)로부터 보내져 오는 DQ축 전압 명령값과, DQ 변환부(39)로부터 보내져 오는 DQ축 전류 피드백값에 기초하여, 모터(22)의 회전 위치를 추정한다.The current control unit 26 generates and outputs a DQ-axis voltage command value based on the DQ-axis current command value sent from the first selector 25 and the DQ-axis current feedback value sent from the DQ converter. 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 electric angle estimation value based on the DQ-axis current feedback value sent from the DQ converter 39 and the DQ-axis voltage command value sent from the current control part 26 . . Then, the position estimation unit 35 outputs the estimated position value to the first input terminal of the second selector 32, and further outputs the electric angle estimated value to the first input terminal of the third selector.

위치 추정부(35)로부터 출력되는 위치 추정값은, 제2 셀렉터(32)를 통해, 위치 피드백값으로서 위치 속도 제어부(23)에 입력된다. 위치 속도 제어부(23)는, 위치 피드백값으로서 위치 추정값을 사용하는 점 외에는 검출 위치 피드백 제어와 마찬가지로 하여 토크 명령값을 출력한다. 이 토크 명령값에 기초하는 U상 게이트 신호, V상 게이트 신호, W상 게이트 신호로서 인버터(29)에 입력될 때까지의 처리는, 검출 위치 피드백 제어와 마찬가지이다. 즉, 센서리스 벡터 제어에서는, 위치 검출값 대신에, 모터(22) 내에서 발생하는 유기 전압에 기초하는 위치 추정값을 위치 피드백값으로서 위치 속도 제어부(23)에 피드백하는 점 외에는, 검출 위치 피드백 제어와 동일한 처리가 행해진다.The position estimation value output from the position estimation unit 35 is input to the position velocity control unit 23 as a position feedback value via the second selector 32 . The position/speed control unit 23 outputs a torque command value in the same manner as the detection position feedback control except that the position estimation value is used as the position feedback value. The processing until 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, a position estimation value based on an induced voltage generated in the motor 22 is fed back to the position speed control unit 23 as a position feedback value instead of the position detection value, except for the detection position feedback control. The same processing as

또한, 모터 구동 장치(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 speed 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 according to a command from the host controller 100 is exemplified. In order to maintain the trajectory of the arm 2 with high precision, it is desirable to reduce not only the motor drive device 20 in which the position detection value abnormality occurred, but also the control loop gain of the position and speed control of the other motor drive devices 20 . . According to the command of the host controller 100 , it is possible to appropriately lower the control loop gain of the position speed control in all the motor driving devices 20 .

모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인을 저하시키는 다른 일례로서, 위치 검출값의 이상을 일으킨 모터 구동 장치(20)의 처리에 의해, 그 모터 구동 장치(20)의 위치 속도 제어의 제어 루프 게인만 저하시키는 방법을 들 수 있다. 이 방법의 처리의 일례로서는, P-PI 제어에 의해 위치와 속도를 제어하는 구성에 있어서, 속도 루프 게인, 위치 루프 게인 및 속도 루프 적분 게인의 각각을 저하시키는 방법을 들 수 있다. 또한, 다른 일례로서, 예를 들어 일본 특허 공개 제2002-229604호 공보에 기재한 바와 같은 RPP 제어에 의해 위치와 속도를 제어하는 구성에 있어서, ω2 게인, ω1 게인, ωq 게인을 저하시키는 방법을 들 수 있다. 또한, 또 다른 일례로서, RPP 제어에 의해 위치와 속도를 제어하는 구성에 있어서, 이너셔 노미널 설정값을 저하시키는 방법을 들 수 있다. 이너셔 노미널 설정값을 저하시킴으로써, ω2 게인, ω1 게인을 근사적으로 저하시키는 것이 가능하다. 이 방법에 의하면, 제어 루프 게인을 저하시키기 위한 전용 프로그램을 구축하지 않고, 제어 루프 게인을 적절하게 저하시킬 수 있다.As another example of lowering the control loop gain of the position and speed control of the motor driving device 20 , the position and speed control of the motor driving device 20 is performed by the processing of the motor driving device 20 causing an abnormality in the position detection value. A method of lowering only the control loop gain of As an example of the processing of this method, in the configuration for controlling the position and the velocity by P-PI control, a method of lowering each of the velocity loop gain, the position loop gain, and the velocity loop integral gain is exemplified. Further, as another example, for example, in Japanese in the structure for controlling the position and speed by the RPP control as described in the publication No. 2002-229604 [Patent Publication, gain ω 2, ω 1 gain, lowering the gain ω q ways to do it can be found. Further, as another example, in a configuration in which the position and speed are controlled by RPP control, a method of lowering the inertia-nominal set value is exemplified. By lowering the inertia nominal setting value, it is possible to approximately lower 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, the open loop control will be described. When the open loop control is executed, that is, when there is an abnormality in the position detection value and the angular speed of the motor 22 is less than a predetermined value (or less than a predetermined value) (control mode value = 2), the motor (22) is driven. That is, the open-loop control electric angle generating unit 36 is a rotational position at which the magnetic pole of the motor 22 is drawn based on the position command value sent from the host controller 100 (hereinafter referred to as a forced synchronous position command value). is calculated and output to the open loop control DQ axis current command generation unit 37 . Further, the electric angle is calculated based on the position command value and output to the third selector 34 .

도 5는, 오픈 루프 제어 전기각 생성부(36)의 회로 구성을 도시하는 블록선도이다. 오픈 루프 제어 전기각 생성부(36)는, 제어기(36a)와, 기계계의 모델(36b)과, 전기각 산출부(36c)를 구비한다. 제어기(36a)는, 도 3의 위치 속도 제어부(23)와 동일한 구성의 위치 속도 제어부를 구비하고, 상위 컨트롤러(100)로부터 보내져 오는 위치 명령값에 기초하여 토크 명령값을 생성하여 출력한다.5 is a block diagram showing the circuit configuration of the open-loop control electric angle generator 36 . The open-loop control electric angle generating unit 36 includes a controller 36a, a mechanical model 36b, and an electric angle calculating unit 36c. The controller 36a includes a position and speed control unit having the same configuration as that of the position and speed control unit 23 in FIG. 3 , and generates and outputs a torque command value based on the position command value sent from the host controller 100 .

기계계의 모델(36b)은, 모터의 모델과, 모터에 대한 부하의 모델을 구비한다. 또한, 도 5에서는 편의상, 도시가 생략되어 있지만, 기계계의 모델(36b)은, 인버터의 모델과, 로터리 인코더의 모델과, 전류 검출부의 모델을 구비한다. 이들 모델은, 실제의 산업용 로봇(1)을 사용한 실험에 기초하여 구축된 모델이고, 토크 명령값이 변화 전의 값으로부터 변화 후의 값으로 변화된 경우에, 모터(22)의 회전 위치가 어떻게 변화되는지를 시뮬레이션하는 알고리즘을 구비한다. 기계계의 모델(36b)은, 제어기(36a)로부터 보내져 오는 토크 명령값을 알고리즘에 대입함으로써, 모터(22)의 회전 위치를 위치 시뮬레이션값으로서 생성하여 출력한다. 출력된 위치 시뮬레이션값은, 제어기(36a)에 입력된다. 또한, 위치 시뮬레이션값은, 도 3의 오픈 루프 제어 DQ축 전류 명령 생성부(37)에 강제 동기 위치 명령값으로서 입력된다. 또한, 위치 시뮬레이션값은, 전기각 산출부(36c)에 입력된다. 전기각 산출부(36c)는, 위치 시뮬레이션값에 기초하여 전기각 추정값을 산출하고, 산출 결과를, 도 3의 제3 셀렉터(4)를 통해 DQ 변환부(39) 및 DQ 역변환부(27)에 출력한다.The machine system model 36b includes a motor model and a load model for the motor. In addition, although illustration is abbreviate|omitted in FIG. 5 for convenience, the model 36b of a mechanical system is equipped with the model of an inverter, the model of a rotary encoder, and the model of a current detection part. These models are models built on the basis of an experiment using an actual industrial robot 1, and how the rotational position of the motor 22 changes when the torque command value is changed from the value before the change to the value after the change. A simulation algorithm is provided. The machine system model 36b generates and outputs the rotational position of the motor 22 as a position simulation value by substituting the torque command value sent from the controller 36a into the algorithm. The output position simulation value is input to the controller 36a. In addition, the position simulation value is input to the open loop control DQ axis current command generation unit 37 of FIG. 3 as a forced synchronous position command value. In addition, the position simulation value is input to the electric angle calculating part 36c. The electric angle calculation unit 36c calculates an electric angle estimate value based on the position simulation value, and outputs the calculation result to the DQ transform unit 39 and the inverse DQ transform unit 27 through the third selector 4 of FIG. 3 . output to

<구성 1><Configuration 1>

(1) 이상의 구성의 산업용 로봇(1)에 사용되는 모터 제어 방법의 구성 1은, 위치 명령값(회전 위치 명령 신호)과, 모터(22)에 탑재된 로터리 인코더(30)(회전 위치 검출기)로부터 발신되는 위치 검출값(회전 위치 신호)에 기초하여, 모터(22)를 검출 위치 피드백 제어에 의해 구동하는 스텝을 구비한다. 이 스텝은, 위치 속도 제어부(23), 벡터 제어 DQ축 전류 명령 생성부(24), 벡터 제어 전기각 생성(33), DQ 변환부(39), 전류 제어부(26), DQ 역변환부(27), PWM 제어부(28), 인버터(29) 및 로터리 인코더(30) 등에 의한 처리에 의해 실현된다. 또한, 구성 1은, 회전 위치 신호의 이상의 유무를 검출하는 스텝(인코더 통신 이상 판정부(38))과, 구동 중인 모터(22)에 흐르는 3상 전류를 검출하는 스텝(전류 검출부(31))을 구비한다. 또한, 구성 1은, 위치 검출값의 이상이 검출된 경우에, 모터(22)의 제어 방식을, 검출 위치 피드백 제어로부터, 3상 전류 검출값에 기초하여 모터(22)의 회전 위치를 추정한 결과에 기초하여 모터(22)를 구동하는 센서리스 벡터 제어로 전환하는 스텝(도 4의 S3에서 Y→S4)을 구비한다.(1) Configuration 1 of the motor control method used in the industrial robot 1 having the above configuration is a position command value (rotational position command signal) and a rotary encoder 30 (rotational position detector) mounted on the motor 22 . and a step of driving the motor 22 by detection position feedback control based on the position detection value (rotation position signal) transmitted from the . In this step, the position speed control unit 23, the vector control DQ axis current command generation unit 24, the vector control electric angle generation unit 33, the DQ conversion unit 39, the current control unit 26, and the DQ inverse transformation unit 27 are performed. ), PWM control unit 28, inverter 29, rotary encoder 30, and the like are realized by processing. In addition, in the configuration 1, a step of detecting the presence or absence of an abnormality in the rotation position signal (encoder communication abnormality determination unit 38) and a step of detecting a three-phase current flowing through the motor 22 being driven (current detection unit 31) to provide In addition, in configuration 1, when an abnormality in the position detection value is detected, the control method of the motor 22 is obtained by estimating the rotational position of the motor 22 based on the three-phase current detection value from the detection position feedback control. A step of switching to sensorless vector control for driving the motor 22 based on the result (Y→S4 in S3 in FIG. 4) is provided.

<구성 1의 작용 효과><Operation and Effects of Configuration 1>

구성 1에 있어서는, 위치 검출값에 이상이 발생한 경우에, 센서리스 벡터 제어에 의해, 모터(22)에 흐르는 3상 전류 검출값에 기초하여 모터(22)의 회전 위치를 추정하고, 추정 결과(위치 추정값)에 기초하여 모터(22)의 회전 동작을 적절하게 제어한다. 이때, 상위 컨트롤러(100)로부터, 산업용 로봇(1)의 암(2)을 적절한 궤도를 따라 감속 정지시키는 신호 패턴으로 보내져 오는 위치 명령값(회전 위치 명령 신호)에 따라 모터(22)를 감속시킨다. 이로써, 위치 검출값의 이상 발생 시에 모터(22)를 비상 정지시키는 것에 의한 암(2)의 부적절한 동작의 발생을 회피할 수 있다. 따라서, 구성 1에 의하면, 암(2)을 산업용 로봇(1)의 주변의 기기나 구조물에 충돌시키지 않고, 목표의 궤도를 따라 이동시키면서 감속, 정지시킬 수 있다.In configuration 1, when an abnormality occurs in the position detection value, the rotational position of the motor 22 is estimated based on the three-phase current detection value flowing through the motor 22 by sensorless vector control, and the estimation result ( The rotational operation of the motor 22 is appropriately controlled based on the position estimation value). At this time, the motor 22 is decelerated according to the position command value (rotational position command signal) sent from the host controller 100 as a signal pattern to decelerate and stop the arm 2 of the industrial robot 1 along an appropriate trajectory. . Thereby, generation|occurrence|production of the improper operation|movement of the arm 2 by making the motor 22 emergency stop at the time of abnormal occurrence of a position detection value can be avoided. Therefore, according to the configuration 1, the arm 2 can be decelerated and stopped while moving along the target trajectory without colliding with the equipment or structures in the vicinity of the industrial robot 1 .

<구성 2><Configuration 2>

구성 2는, 위치 명령값과, 모터(22)에 탑재된 로터리 인코더(30)로부터 발신되는 위치 검출값에 기초하여, 모터(22)를 검출 위치 피드백 제어에 의해 구동하는 스텝을 구비한다. 또한, 구성 2는, 위치 검출값의 이상의 유무를 검출하는 스텝과, 위치 검출값의 이상이 검출된 경우에, 모터(22)의 제어 방식을, 검출 위치 피드백 제어로부터, 전류 인입법에 의한 오픈 루프 제어로 전환하는 스텝(도 4의 S3에서 N→S5)을 구비한다.Configuration 2 includes a step of driving the motor 22 by detection position feedback control based on the position command value and the position detection value transmitted from the rotary encoder 30 mounted on the motor 22 . In addition, in the configuration 2, the step of detecting the presence or absence of an abnormality in the position detection value and, when an abnormality in the position detection value is detected, the control method of the motor 22 is opened by the current drawing method from the detection position feedback control. A step of switching to loop control (N→S5 in S3 in FIG. 4) is provided.

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

구성 2에 있어서는, 위치 검출값에 이상이 발생한 경우에, 전류 인입법에 의한 오픈 루프 제어에 의해 모터(22)의 회전 동작을 적절하게 제어한다. 이때, 상위 컨트롤러(100)로부터, 암(2)을 적절한 궤도를 따라 감속 정지시키는 신호 패턴으로 보내져 오는 위치 명령값에 따라 모터(22)를 감속 정지시킨다. 이로써, 위치 검출값의 이상 발생 시에 모터(22)를 비상 정지시키는 것에 의한 암(2)의 부적절한 동작의 발생을 회피할 수 있다. 따라서, 구성 2에 의하면, 암(2)을 산업용 로봇(1)의 주변의 기기나 구조물에 충돌시키지 않고, 목표의 궤도를 따라 이동시키면서 감속, 정지시킬 수 있다.In the configuration 2, when an abnormality occurs in the position detection value, the rotational operation of the motor 22 is appropriately controlled by the open loop control by the current drawing method. At this time, the motor 22 is decelerated and stopped according to the position command value sent from the host controller 100 as a signal pattern for decelerating and stopping the arm 2 along an appropriate trajectory. Thereby, generation|occurrence|production of the improper operation|movement of the arm 2 by making the motor 22 emergency stop at the time of abnormal occurrence of a position detection value can be avoided. Therefore, according to the configuration 2, the arm 2 can be decelerated and stopped while moving along the target trajectory without colliding with the equipment or structures in the vicinity of the industrial robot 1 .

또한, 위치 검출값의 이상 발생 시에 있어서, 암(2)(피조작체)의 동작을 정지시키기 위해 상위 컨트롤러(100)로부터 보내져 오는 위치 명령값의 변화 패턴은, 모터(22)의 구동을 단순하게 감속 정지시키는 패턴에 한정되지 않는다. 암(2)의 구조에 따라서는, 모터(22)를 감속 정지시킨 직후에, 모터(22)를 역회전시켜 역방향의 가속과 감속을 차례로 행함으로써, 암(2)을 적절한 궤도를 따라 정지시키는 것이 가능한 경우도 있을 수 있다.In addition, when an abnormality in the position detection value occurs, the change pattern of the position command value sent from the host controller 100 to stop the operation of the arm 2 (the object to be operated) causes the motor 22 to be driven. It is not limited to the pattern of simply decelerating and stopping. Depending on the structure of the arm 2, immediately after decelerating and stopping the motor 22, the motor 22 is rotated in reverse to perform reverse acceleration and deceleration in sequence, thereby stopping the arm 2 along an appropriate trajectory. There may be cases where it is possible.

<구성 3><Configuration 3>

구성 3은, 구성 1에 더하여, 다음의 구성 요소를 구비한다. 즉, 위치 검출값의 이상이 검출된 경우에, 소정의 고속 각속도 영역(소정값 이상)에서는, 센서리스 벡터 제어에 의해 모터(22)를 구동한다(도 4의 S3에서 Y→S4). 또한, 고속 각속도 영역보다도 낮은 저속 각속도 영역(소정값 미만)에서는, 전류 인입법에 의한 오픈 루프 제어에 의해 모터를 구동한다(도 4의 S3에서 N→S5).Configuration 3 includes the following components in addition to configuration 1. That is, when an abnormality in the position detection value is detected, the motor 22 is driven by sensorless vector control in a predetermined high-speed angular velocity region (a predetermined value or more) (Y→S4 in S3 in FIG. 4 ). In addition, in the low-speed angular-velocity region (less than a predetermined value) lower than the high-speed angular velocity region, the motor is driven by open-loop control by the current drawing method (N→S5 in S3 in Fig. 4).

<구성 3의 작용 효과><Operation and Effect of Configuration 3>

구성 3에 있어서, 모터(22)가 비교적 높은 속도로 회전하고 있을 때에는, 센서리스 벡터 제어에 의해, 모터(22) 내에서 양호하게 발생하는 유기 전압을 추정하고, 추정된 유기 전압으로부터 모터(22)의 회전 위치를 추정하고, 추정 결과에 기초하여 모터(22)를 구동한다. 이로써, 모터(22)의 회전 동작을 적절하게 제어한다. 센서리스 벡터 제어에 의해, 모터(22) 내에서 충분한 유기 전압을 발생시키지 않게 될 정도까지 모터(22)의 각속도를 저하시키면, 모터(22)의 구동 제어를, 센서리스 벡터 제어로부터 오픈 루프 제어로 전환하고, 전류 인입법에 의해 모터(22)의 회전 동작을 적절하게 제어한다. 이들 제어에 의해, 모터(22)가 비교적 높은 속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에, 센서리스 벡터 제어와 오픈 루프 제어를 차례로 실시하고, 모터(22)의 회전 동작을 적절하게 제어하면서 모터(22)를 서서히 감속하여 정지시킬 수 있다.In the configuration 3, when the motor 22 is rotating at a relatively high speed, the induced voltage satisfactorily generated in the motor 22 is estimated by sensorless vector control, and the motor 22 is based on the estimated induced voltage. ) and drives the motor 22 based on the estimation result. Thereby, the rotational operation of the motor 22 is appropriately controlled. When the angular speed of the motor 22 is lowered to such an extent that a sufficient induced voltage is not generated within the motor 22 by the sensorless vector control, the drive control of the motor 22 is changed from the sensorless vector control to the open loop control. , and the rotational operation of the motor 22 is appropriately controlled by the current drawing method. With these controls, when an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively high speed, the sensorless vector control and the open loop control are sequentially performed, and the rotation operation of the motor 22 is appropriately determined. It is possible to stop the motor 22 by gradually decelerating while controlling it.

또한, 모터(22)가 비교적 낮은 속도로 회전하고 있을 때에 위치 검출값에 이상이 발생한 경우에는, 센서리스 벡터 제어는 실행되지 않고, 오픈 루프 제어만에 의해 모터(22)가 감속 정지된다.In addition, when an abnormality occurs in the position detection value while the motor 22 is rotating at a relatively low speed, the sensorless vector control is not executed, and the motor 22 is decelerated and stopped only by the open loop control.

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

<구성 4><Configuration 4>

구성 4는, 구성 1 또는 3에 추가하여, 센서리스 벡터 제어에서는, 검출 위치 피드백 제어에 비해, 위치 속도 제어의 제어 루프 게인을 저하시키는 구성을 구비한다.In addition to the structure 1 or 3, the structure 4 is provided with the structure which reduces the control loop gain of position speed control compared with detection position feedback control in sensorless vector control.

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

구성 4에 의하면, 이어서 설명하는 이유에 의해, 센서리스 벡터 제어에 의해 모터를 구동할 때의 모터(22)의 진동을 억제할 수 있다. 즉, 검출 위치 피드백 제어에 있어서의 위치 속도 제어 루프는, 위치 명령값과 위치 검출값에 기초하는 토크 명령값(토크 명령 신호)이 위치 속도 제어부(23)로부터 출력되고 나서, 토크 명령값에 응답한 모터(22)의 위치 검출값이 위치 속도 제어부(23)로 전해질 때까지의 루프이다. 또한, 센서리스 벡터 제어에 있어서의 위치 속도 제어 루프는, 위치 명령값과 위치 검출값에 기초하는 토크 명령값이 위치 속도 제어부(23)로부터 출력되고 나서, 토크 명령값에 응답한 모터(22)의 위치 추정값의 신호가 위치 속도 제어부(23)로 전해질 때까지의 루프이다. 센서리스 벡터 제어에 있어서, 회전 위치의 추정의 정밀도가 양호하지 않은 경우에는, 위치 속도 제어 루프의 주파수 응답 특성이, 검출 위치 피드백 제어의 위치 속도 제어 루프의 주파수 응답 특성과는 다른 것에 기인하여 모터(22)의 진동이 발생해 버린다. 구성 4에서는, 센서리스 벡터 제어에 있어서 위치 속도 제어 루프의 개방 루프 게인을 검출 위치 피드백 제어에 비해 낮춤으로써, 위치 속도 제어 루프의 주파수 응답 특성이 다른 것에 의한 모터(22)의 진동을 억제할 수 있다.According to the configuration 4, the vibration of the motor 22 at the time of driving the motor by the sensorless vector control can be suppressed for the reason described below. That is, the position speed control loop in the detected position feedback control responds to the torque command value after the position command value and the torque command value (torque command signal) based on the position detection value are output from the position speed control unit 23 . It is a loop until the position detection value of one motor 22 is transmitted to the position speed control unit 23 . Further, in the position speed control loop in the sensorless vector control, the position command value and the torque command value based on the position detection value are output from the position speed control unit 23, and then the motor 22 in response to the torque command value. It is a loop until the signal of the position estimate value of is transmitted to the position velocity control unit 23 . In the sensorless vector control, when the accuracy of the estimation of the rotational position is not good, the frequency response characteristic of the position speed control loop is different from the frequency response characteristic of the position speed control loop of the detection position feedback control. The vibration of (22) will occur. In configuration 4, in the sensorless vector control, by lowering the open loop gain of the position speed control loop compared to the detection position feedback control, vibration of the motor 22 due to different frequency response characteristics of the position speed control loop can be suppressed. there is.

<구성 5><Configuration 5>

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

<구성 5의 작용 효과><Operation and Effects of Configuration 5>

구성 5에 의하면, 구성 1 내지 4의 어느 모터 제어 방법에 의해 모터(22)의 회전을 정지시킴으로써, 모터(22)를 비상 정지시키는 것에 의한 암의 부적절한 동작의 발생을 회피할 수 있다. 따라서, 암(2)을 산업용 로봇(1)의 주변의 기기나 구조물에 충돌시키지 않고, 목표의 궤도를 따라 이동시키면서 감속, 정지시킬 수 있다.According to the configuration 5, by stopping the rotation of the motor 22 by any of the motor control methods of the configurations 1 to 4, it is possible to avoid the occurrence of an improper operation of the arm due to the emergency stop of the motor 22 . Accordingly, it is possible to decelerate and stop the arm 2 while moving along the target trajectory without colliding with devices or structures in the vicinity of the industrial robot 1 .

<구성 6><Configuration 6>

구성 6은, 복수의 모터(22)의 구동을 개별로 제어하여 산업용 로봇(1)의 암(2)의 위치를 변화시키는 산업용 로봇(1)의 제어 방법이며, 복수의 모터(22)에 있어서의 각각의 구동을, 구성 1 내지 4의 어느 모터 제어 방법에 의해 제어하는 것이다.Configuration 6 is a control method of the industrial robot 1 for changing the position of the arm 2 of the industrial robot 1 by individually controlling the driving of the plurality of motors 22 , in the plurality of motors 22 Each drive of is controlled by any motor control method of Configurations 1 to 4.

<구성 7><Configuration 7>

구성 7은, 복수의 모터(22)의 구동을 개별로 제어하여 암(2)의 위치를 변화시키는 산업용 로봇(1)이며, 복수의 모터(22)에 있어서의 각각의 구동을, 구성 5의 모터 구동 장치(20)에 의해 제어하는 것이다.Configuration 7 is the industrial robot 1 for changing the position of the arm 2 by individually controlling the driving of the plurality of motors 22 , and the respective driving of the plurality of motors 22 is performed according to the configuration 5 It is controlled by the motor drive device 20 .

<구성 6, 7의 작용 효과><Operation effect of components 6 and 7>

구성 6, 7에 있어서는, 암(2)의 구동원으로 되는 복수의 모터(22) 중, 위치 검출값의 이상이 발생한 모터(22)의 회전 동작을 센서리스 벡터 제어 또는 오픈 루프 제어에 의해 적절하게 제어하면서, 다른 모터(22)의 회전 동작을 검출 위치 피드백 제어에 의해 적절하게 제어하여, 모든 모터(22)의 회전을 적절하게 정지시킨다. 이러한 구성에 의하면, 복수의 모터(22) 중 적어도 어느 하나의 모터(22)에 있어서 위치 검출값의 이상이 발생한 때에, 모든 모터(22)를 비상 정지시키는 것에 의한 암(2)의 부적절한 동작의 발생을 회피할 수 있다. 따라서, 암(2)을 산업용 로봇(1)의 주변의 기기나 구조물에 충돌시키지 않고, 목표의 궤도를 따라 이동시키면서 감속, 정지시킬 수 있다.In the configurations 6 and 7, the rotational operation of the motor 22 in which the position detection value is abnormal among the plurality of motors 22 serving as the drive source of the arm 2 is appropriately controlled by sensorless vector control or open loop control. While controlling, the rotational operation of the other motors 22 is appropriately controlled by the detection position feedback control to appropriately stop the rotation of all the motors 22 . According to this configuration, when an abnormality in the position detection value occurs in at least one of the plurality of motors 22 , the inappropriate operation of the arm 2 by emergency stop of all the motors 22 is prevented. occurrence can be avoided. Accordingly, it is possible to decelerate and stop the arm 2 while moving along the target trajectory without colliding with devices or structures in the vicinity of the industrial robot 1 .

이상, 본 발명의 바람직한 실시 형태에 대하여 설명했지만, 본 발명은, 실시 형태에 한정되지 않고, 그 요지의 범위 내에서 다양한 변형 및 변경이 가능하다. 실시 형태는, 발명의 범위 및 요지에 포함되는 동시에, 특허 청구범위에 기재된 발명과 그 균등의 범위에 포함된다.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 range of the summary. Embodiment is included in the scope and summary of the invention, and is included in the scope of the invention described in the claims and equivalents thereof.

1: 산업용 로봇
2: 암
20: 모터 구동 장치
21: 제어 모드 선택부
22: 모터
23: 위치 속도 제어부
24: 벡터 제어 DQ축 전류 명령 생성부
25: 제1 셀렉터
26: 전류 제어부
27: DQ 역변환부
28; PWM 제어부
29: 인버터
30: 로터리 인코더(회전 위치 검출기)
31: 전류 검출부
32: 제2 셀렉터
33: 벡터 제어 전기각 생성부
34: 제3 셀렉터
35: 위치 추정부
36: 오픈 루프 제어 전기각 생성부
37: 오픈 루프 제어 DQ축 전류 명령 생성부
38: 인코더 통신 이상 판정부
39: DQ 변환부
100: 상위 컨트롤러
1: Industrial Robot
2: Cancer
20: motor drive unit
21: control mode selection unit
22: motor
23: position speed control
24: Vector control DQ axis current command generation unit
25: first selector
26: current control unit
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: location estimation unit
36: open loop control electric angle generator
37: open loop control DQ axis current command generation unit
38: encoder communication abnormality determination unit
39: DQ conversion unit
100: upper controller

Claims (8)

회전 위치 명령 신호와, 모터에 탑재된 회전 위치 검출기로부터 발신되는 회전 위치 신호에 기초하여, 상기 모터를 피드백 제어에 의해 구동하는 스텝과, 상기 회전 위치 신호의 이상의 유무를 검출하는 스텝을 구비하는 모터 제어 방법에 있어서,
구동 중의 상기 모터에 흐르는 전류를 검출하는 스텝과,
상기 회전 위치 신호의 이상이 검출된 경우에, 상기 모터의 제어 방식을, 상기 회전 위치 신호에 기초하는 피드백 제어로부터, 상기 전류의 검출 결과에 기초하여 상기 모터의 회전 위치를 추정한 결과에 기초하여 상기 모터를 구동하는 센서리스 벡터 제어로 전환하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.
A motor comprising: a step of driving the motor by feedback control based on a rotational position command signal and a rotational position signal transmitted from a rotational position detector mounted on the motor; and a step of detecting the presence or absence of an abnormality in the rotational position signal. In the control method,
detecting a current flowing through the motor during driving;
When the abnormality of the rotation position signal is detected, the control method of the motor is based on a result of estimating the rotation position of the motor based on the detection result of the current from feedback control based on the rotation position signal and switching to sensorless vector control for driving the motor.
회전 위치 명령 신호와, 모터에 탑재된 회전 위치 검출기로부터 발신되는 회전 위치 신호에 기초하여, 상기 모터를 피드백 제어에 의해 구동하는 스텝과, 상기 회전 위치 신호의 이상의 유무를 검출하는 스텝을 구비하는 모터 제어 방법에 있어서,
상기 회전 위치 신호의 이상이 검출된 경우에, 상기 모터의 제어 방식을, 상기 회전 위치 신호에 기초하는 피드백 제어로부터, 전류 인입법에 의한 오픈 루프 제어로 전환하는 스텝을 구비하는 것을 특징으로 하는 모터 제어 방법.
A motor comprising: a step of driving the motor by feedback control based on a rotational position command signal and a rotational position signal transmitted from a rotational position detector mounted on the motor; and a step of detecting the presence or absence of an abnormality in the rotational position signal. In the control method,
and a step of switching the control method of the motor from feedback control based on the rotation position signal to open-loop control by a current drawing method when abnormality of the rotational position signal is detected. control method.
제1항에 있어서, 상기 회전 위치 신호의 이상이 검출된 경우에, 소정의 고속 각속도 영역에서는, 상기 센서리스 벡터 제어에 의해 상기 모터를 구동하는 한편, 상기 고속 각속도 영역보다도 낮은 저속 각속도 영역에서는, 전류 인입법에 의한 오픈 루프 제어에 의해 상기 모터를 구동하는 것을 특징으로 하는 모터 제어 방법.The method according to claim 1, wherein when abnormality of the rotation position signal is detected, the motor is driven by the sensorless vector control in a predetermined high-speed angular velocity region, while in a low-speed angular velocity region lower than the high-speed angular velocity region, A motor control method, characterized in that the motor is driven by an open-loop control using a current drawing method. 제1항에 있어서, 센서리스 벡터 제어에서는, 상기 회전 위치 신호에 기초하는 피드백 제어에 비해, 위치 속도 제어의 제어 루프 게인을 저하시키는 것을 특징으로 하는 모터 제어 방법.The motor control method according to claim 1, wherein in the sensorless vector control, the control loop gain of the position speed control is lowered as compared to the feedback control based on the rotation position signal. 제3항에 있어서, 센서리스 벡터 제어에서는, 상기 회전 위치 신호에 기초하는 피드백 제어에 비해, 위치 속도 제어의 제어 루프 게인을 저하시키는 것을 특징으로 하는 모터 제어 방법.4. The motor control method according to claim 3, wherein in the sensorless vector control, the control loop gain of the position speed control is lowered as compared with the feedback control based on the rotation position signal. 모터의 구동을 제어하는 모터 구동 장치이며,
제1항 내지 제5항 중 어느 한 항에 기재된 모터 제어 방법에 의해 상기 모터의 구동을 제어하는 것을 특징으로 하는 모터 구동 장치.
It is a motor driving device that controls the driving of the motor,
A motor driving apparatus characterized by controlling the driving of the motor by the motor control method according to any one of claims 1 to 5.
복수의 모터의 구동을 개별로 제어하여 산업용 로봇의 암의 위치를 변화시키는 산업용 로봇의 제어 방법이며,
복수의 모터에 있어서의 각각의 구동을, 제1항 내지 제5항 중 어느 한 항에 기재된 모터 제어 방법에 의해 제어하는 것을 특징으로 하는 산업용 로봇의 제어 방법.
It is a control method of an industrial robot that changes the position of the arm of the industrial robot by individually controlling the driving of a plurality of motors,
The control method of the industrial robot characterized by controlling each drive in the some motor by the motor control method in any one of Claims 1-5.
복수의 모터의 구동을 개별로 제어하여 암의 위치를 변화시키는 산업용 로봇이며,
복수의 모터에 있어서의 각각의 구동을, 제6항에 기재된 모터 구동 장치에 의해 제어하는 것을 특징으로 하는 산업용 로봇.
It is an industrial robot that changes the position of the arm by individually controlling the driving of multiple motors.
An industrial robot characterized in that each drive of a plurality of motors is controlled by the motor drive device according to claim 6 .
KR1020210005014A 2020-02-04 2021-01-14 Motor control method, motor drive device, industrial robot control method, and industrial robot KR102515961B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2020-017114 2020-02-04
JP2020017114A JP2021125942A (en) 2020-02-04 2020-02-04 Motor control method, motor driving device, industrial robot control method, and industrial robot

Publications (2)

Publication Number Publication Date
KR20210099512A true KR20210099512A (en) 2021-08-12
KR102515961B1 KR102515961B1 (en) 2023-03-31

Family

ID=77084496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210005014A KR102515961B1 (en) 2020-02-04 2021-01-14 Motor control method, motor drive device, industrial robot control method, and industrial robot

Country Status (3)

Country Link
JP (1) JP2021125942A (en)
KR (1) KR102515961B1 (en)
CN (1) CN113224980B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003189674A (en) * 2001-12-12 2003-07-04 Hitachi Ltd Sensorless motor drive control system
JP2010082309A (en) * 2008-10-01 2010-04-15 Terumo Corp Manipulator for medical use
JP2011067017A (en) * 2009-09-17 2011-03-31 Denso Wave Inc Robot controller and control method
WO2018079075A1 (en) 2016-10-24 2018-05-03 パナソニックIpマネジメント株式会社 Method and device for detecting abnormality of encoder, and robot control system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0828989B2 (en) * 1985-03-22 1996-03-21 株式会社日立製作所 Electric motor controller
JP2514669B2 (en) * 1987-10-14 1996-07-10 ファナック株式会社 Servo motor control method
JPH0888990A (en) * 1994-09-14 1996-04-02 Nec Corp Position controller for motor
JPH10277887A (en) * 1997-03-31 1998-10-20 Fanuc Ltd Motor controlling method applicable at failure in position sensor
JP4784025B2 (en) * 2001-09-19 2011-09-28 パナソニック株式会社 Positioning control method and positioning control device
US7312595B2 (en) * 2002-07-09 2007-12-25 Denso Corporation Motor control apparatus
JP5203585B2 (en) * 2006-08-21 2013-06-05 三菱電機株式会社 Drive control apparatus and control method thereof
JP2010041868A (en) * 2008-08-07 2010-02-18 Honda Motor Co Ltd Rotor rotation monitor for synchronous motor, and control system
JP2011024295A (en) * 2009-07-14 2011-02-03 Yaskawa Electric Corp Motor controller and method of stopping motor at current abnormality detection
JP2018007533A (en) * 2016-07-08 2018-01-11 株式会社リコー Motor control device, motor drive device, motor drive system, image formation device, and transport device
JP6984300B2 (en) * 2017-10-13 2021-12-17 株式会社デンソー Three-phase inverter device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003189674A (en) * 2001-12-12 2003-07-04 Hitachi Ltd Sensorless motor drive control system
JP2010082309A (en) * 2008-10-01 2010-04-15 Terumo Corp Manipulator for medical use
JP2011067017A (en) * 2009-09-17 2011-03-31 Denso Wave Inc Robot controller and control method
WO2018079075A1 (en) 2016-10-24 2018-05-03 パナソニックIpマネジメント株式会社 Method and device for detecting abnormality of encoder, and robot control system

Also Published As

Publication number Publication date
JP2021125942A (en) 2021-08-30
KR102515961B1 (en) 2023-03-31
CN113224980B (en) 2024-09-17
CN113224980A (en) 2021-08-06

Similar Documents

Publication Publication Date Title
JP2011147287A (en) Estimation device of magnetic pole position of motor
JP2009232498A (en) Motor control device
EP2238679B1 (en) Motor, apparatus for controlling motor, and method for starting motor
TWI429186B (en) Control device and method for servo motors
JP5332904B2 (en) AC motor sensorless control device
US9742330B2 (en) Motor control method and apparatus
CN103918173A (en) Control system for synchronous motor
JP5908205B2 (en) Rotation sensorless control device
KR102515961B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
JP7082369B2 (en) Motor drive
JP2006158046A (en) Sensorless control method and apparatus of ac electric motor
KR102567832B1 (en) Motor control method, motor drive device, industrial robot control method, and industrial robot
KR102567726B1 (en) Motor control method, motor driving device, industrial robot control method, and industrial robot
JP6265043B2 (en) Sensorless drive device for synchronous motor
JP4777051B2 (en) AC motor control device
WO2022168340A1 (en) Motor control device
JP5479094B2 (en) Synchronous motor control method and control apparatus
JP7585837B2 (en) Motor Control Device
JP2019187178A (en) Motor control device
JP7585845B2 (en) Motor Control Device
WO2022172472A1 (en) Motor control device
TWI501538B (en) Controller for ac rotating machine
JP7501190B2 (en) Magnetic pole position estimation device and control device for AC synchronous motor
WO2022172473A1 (en) Motor control device
JP2024158455A (en) MOTOR CONTROL DEVICE AND MOTOR CONTROL METHOD

Legal Events

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