KR100734345B1 - Control system for motor - Google Patents

Control system for motor Download PDF

Info

Publication number
KR100734345B1
KR100734345B1 KR1020060025298A KR20060025298A KR100734345B1 KR 100734345 B1 KR100734345 B1 KR 100734345B1 KR 1020060025298 A KR1020060025298 A KR 1020060025298A KR 20060025298 A KR20060025298 A KR 20060025298A KR 100734345 B1 KR100734345 B1 KR 100734345B1
Authority
KR
South Korea
Prior art keywords
motor
data
motor control
control
motors
Prior art date
Application number
KR1020060025298A
Other languages
Korean (ko)
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 문용선
Priority to KR1020060025298A priority Critical patent/KR100734345B1/en
Application granted granted Critical
Publication of KR100734345B1 publication Critical patent/KR100734345B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P5/00Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
    • H02P5/74Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors controlling two or more ac dynamo-electric motors
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P27/00Arrangements or methods for the control of AC motors characterised by the kind of supply voltage
    • H02P27/04Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage
    • H02P27/06Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters
    • H02P27/08Arrangements or methods for the control of AC motors characterised by the kind of supply voltage using variable-frequency supply voltage, e.g. inverter or converter supply voltage using dc to ac converters or inverters with pulse width modulation
    • 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
    • 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/032Preventing damage to the motor, e.g. setting individual current limits for different drive conditions
    • 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/60Controlling or determining the temperature of the motor or of the drive
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Control Of Multiple Motors (AREA)

Abstract

A motor control system is provided to simplify a driver of a motor of a lower level by mounting a motor controller having software to controls a plurality of motors on a main processor. A motor control system includes motor drivers(10), and a main processor(100). The motor drivers(10) are installed on motors to drive at least one motor. The main processor(100) includes a motor controller(102), and a communication interface(106). The motor controller(102) generates motor control data which controls the motors. The communication interface(106) transmits the motor control data to the motor drivers(10) through a communication network. The communication interface(106) receives feedback data received from the motor drivers(10) through the communication network, and provides the received feedback data to the motor controller(102).

Description

모터 제어 시스템{Control system for motor}Motor control system {Control system for motor}

도 1은 일반적인 AC 모터 제어시스템을 설명하기 위한 회로블록도이다.1 is a circuit block diagram for explaining a general AC motor control system.

도 2는 종래의 복수의 모터를 제어하는 모터 제어 시스템의 블록도이다.2 is a block diagram of a motor control system for controlling a plurality of conventional motors.

도 3은 또 다른 종래의 복수의 모터를 제어하는 모터 제어 시스템의 블록도이다.3 is a block diagram of another conventional motor control system for controlling a plurality of motors.

도 4는 본 발명의 일실시예의 전체적인 구성을 나타내는 블록도이다.4 is a block diagram showing the overall configuration of an embodiment of the present invention.

도 5는 도 4의 모터 제어의 상세도이다.5 is a detailed view of the motor control of FIG. 4.

도 6은 본 발명의 일실시예에의 모터 드라이브의 구성을 나타내는 블록도이다.6 is a block diagram showing a configuration of a motor drive according to an embodiment of the present invention.

도 7은 본 발명의 일실시예의 모터 제어 동작을 설명하는 다이어그램이다.7 is a diagram illustrating a motor control operation of an embodiment of the present invention.

도 8은 본 발명의 일실시예의 모터 드라이버의 동작을 설명하는 다이어그램이다.8 is a diagram for explaining the operation of the motor driver of one embodiment of the present invention.

본 발명은 모터를 제어하는 모터 제어 시스템에 관한 것으로, 더욱 상세하게는 소프트웨어로 구성된 모터 제어기를 구비한 메인 프로세서와 모터에 구비되는 드라이버 간에 데이터 송수신에 의하여 모터들이 제어되는 모터 제어시스템에 관한 것이다.The present invention relates to a motor control system for controlling a motor. More particularly, the present invention relates to a motor control system in which motors are controlled by data transmission and reception between a main processor having a motor controller configured with software and a driver included in the motor.

하나의 모터를 제어하기 위해서는 개별적인 모터 제어기가 설치된다.In order to control one motor, an individual motor controller is installed.

도 1은 일반적인 AC 모터 제어시스템을 설명하기 위한 회로블록도이다.1 is a circuit block diagram for explaining a general AC motor control system.

콘버터(1)는 입력되는 교류전원을 직류전원으로 변화하여 모터 제어 모듈(4)에 의하여 스위칭 소자들이 제어되어 소정의 교류전원으로 변환하는 PWM 인버터(3)에 의하여 구동된다. 콘버터(1)와 인버터(3) 사이에는 인버터(3)의 스위칭 소자를 보호하기 위한 스너버 회로(2)가 설치되어 있고, 인버터(3)와 모터(5) 사이에는 각상의 전류를 감지하는 전류감지부가 설치되어 있어 감지된 전류를 모터 제어 모듈(4)에 피드백(feedback) 시키고, 모터(5)에는 엔코더(6)가 설치되어 있어 모터(5)의 회전자의 위치 및 속도를 모터 제어 모듈(4)에 피드백 시킨다.The converter 1 is driven by a PWM inverter 3 which converts the input AC power into a DC power so that the switching elements are controlled by the motor control module 4 and converted into a predetermined AC power. A snubber circuit 2 is provided between the converter 1 and the inverter 3 to protect the switching element of the inverter 3, and detects the current of each phase between the inverter 3 and the motor 5. A current sensing unit is provided to feed back the sensed current to the motor control module 4, and an encoder 6 is installed in the motor 5 to control the position and speed of the rotor of the motor 5. Feedback to module (4).

모터 제어 모듈(4)은 피드백 되는 전류, 속도, 위치를 기초로 위치 제어기(Position Controller), 속도 제어기(Velocity Controller), 전류 제어기(Current Controller)에 의하여 생성된 신호에 의하여 PWM 제어기에서 PWM 제어신호가 생성되고, PWM 제어신호는 인버터(3)의 스위칭 소자의 게이트에 공급됨으로써 제어가 이루어진다.The motor control module 4 is a PWM control signal in the PWM controller by signals generated by the position controller, the velocity controller, and the current controller based on the feedback current, speed, and position. Is generated, and the PWM control signal is supplied to the gate of the switching element of the inverter 3 to control it.

이러한 구성에서 모터 제어 모듈(4)은 통상적으로 마이콤으로 이루어지고 있다.In this configuration, the motor control module 4 is usually made of a microcomputer.

도 2는 종래의 복수의 모터를 제어하는 모터 제어 시스템의 블록도이다.2 is a block diagram of a motor control system for controlling a plurality of conventional motors.

복수의 모터(1), (2)…(n)를 제어하기 위해서는 상위 레벨에 메인 프로세서 (MP1)와 메인 프로세서(MP1) 내부에 모터 컨트롤러(MC1)가 있고 컨트롤러(MC1)과 하위 레벨에 모터(1), (2)…(n)를 구동시키는 콘버터와 인버터가 내장되는 각각의 모터 드라이버(1'), (2')…(n')는 통신에 의하여 연결되도록 하고 있다. A plurality of motors (1), (2). In order to control (n), there is a motor controller MC1 inside the main processor MP1 and the main processor MP1 at the upper level, and the motors 1, 2 ... motor drivers 1 ', 2', ... that have a converter for driving (n) and an inverter. (n ') is intended to be connected by communication.

모터 컨트롤러((MC1)와 모터 드라이버(1'), (2), …(n') 간의 통신은 직접적인 1:1 통신 방식이나 1:n의 다중점 통신 방식을 사용했는데, 이와 같은 방법은 사용하는 모터의 수가 많으면 많을수록 모터 컨트롤러와 모터 드라이버 사이를 연결하는 배선이 현저하게 늘어나는 문제와 더불어 메인프로세서에서 직접 모터를 제어하기 때문에 이에 대한 과부하문제도 발생하게 되었다.The communication between the motor controller (MC1) and the motor driver (1 '), (2), ... (n') used a direct 1: 1 communication method or a 1: n multi-point communication method. As the number of motors increases, the wiring between the motor controller and the motor driver increases significantly, and the overload problem occurs because the motor is directly controlled by the main processor.

도 3은 또 다른 종래의 복수의 모터를 제어하는 모터 제어 시스템의 블록도이다.3 is a block diagram of another conventional motor control system for controlling a plurality of motors.

도 3에 도시된 시스템은 도 2의 시스템의 문제점들을 보완하는 시스템으로, 복수의 모터(1), (2)…(n)에는 각각의 모터 드라이버(1'), (2), …(n')와 모터 컨트롤러(MC1'), (MC2')…(MCn')가 장착되어 있으며, 모터 컨트롤러는 메인 프로세서(MP)와 네트워크 통신방식을 사용한다. The system shown in FIG. 3 is a system that complements the problems of the system of FIG. 2, and includes a plurality of motors (1), (2). (n) includes the respective motor drivers 1 ', (2),... (n '), motor controllers MC1', (MC2 ')... (MCn ') is installed and the motor controller uses the main processor (MP) and network communication method.

사용하는 통신 방식은 Master/Slave구조와 같은 통신을 하는데, 상위 레벨의 메인 프로세서(MP)를 마스터로 하위레벨의 디바이스를 슬레이브로 정의하고 마스터와 슬레이브간의 통신은 다음 그림과 같이 2개의 통신 연결선을 이용하여 통신한다. 하나의 마스터에 여러 개의 슬레이브는 단지 2개선을 이용한 통신연결을 통해 원활한 통신이 가능하기 때문에 기존의 모터제어 시 문제였던 배선 수를 줄이게 된다.The communication method used is the same as the Master / Slave structure.The upper level main processor (MP) is used as the master, and the lower level device is defined as the slave, and the communication between the master and the slave uses two communication connection lines as shown in the following figure. Communicate using Since multiple slaves in one master can communicate smoothly using only two wires, the number of wires that have been a problem in conventional motor control is reduced.

또한 상위 메인 프로세서(MP)는 직접적으로 모터를 제어하지 않고 모터 제어 데이터를 전송하기위한 통신 인터페이스만을 하기 때문에 시스템의 상위 어플리케이션 제어에 집중할 수가 있다는 장점이 있다.In addition, since the upper main processor MP does not control the motor directly, only the communication interface for transmitting the motor control data has an advantage of focusing on the upper application control of the system.

그러나, 이러한 모터 제어시스템에는 다수의 고기능의 마이컴으로 이루어진 모터 컨트롤러(MC1), (MC2), …, (MCn)가 개별 모터들에 각각 장착되어야 하기 때문에 시스템 구축비용이 많이 들어가게 되고, 모터 제어시스템을 하나의 모듈로 구현하고자 할 때 모터 컨트롤의 자체 사이즈가 크기 때문에 모듈화 구현의 어려움이 있다.However, such a motor control system includes motor controllers MC1, MC2,... Since the system (MCn) must be mounted on each of the individual motors, the system construction cost is high, and when the motor control system is implemented as a module, the motor control has a large size, which makes it difficult to implement the module.

또한, 각각의 제어기가 개별적으로 동작되기 때문에 각각의 모터를 동기화시키는 데에 문제가 있었다.In addition, there was a problem in synchronizing each motor because each controller is operated individually.

또한, 이러한 시스템에서 모터수가 확장되거나 모터의 제어가 변환되어 시스템을 변경하여야 하는 경우, 시스템이 하드웨어적으로 구현되어 있어 변경이 곤란한 문제점이 있었다.In addition, in such a system, when the number of motors is expanded or the control of the motor is changed to change the system, the system is implemented in hardware, which makes it difficult to change the system.

또한, 모터 컨트롤러가 마이컴에 의하여 이루어지기 때문에 기본적인 PID 제어에서부터 고기능의 모터 제어, 예를 들어 퍼지 PID 제어, 선형 PID 제어, 퍼지-뉴로를 이용한 제어, 유전 알고리즘을 이용한 제어, 예측 모터 제어 등을 수행하기가 어렵다.In addition, since the motor controller is made by the microcomputer, it performs basic PID control to high-performance motor control such as fuzzy PID control, linear PID control, fuzzy-neuro control, genetic algorithm control, predictive motor control, and the like. Difficult to do

본 발명은 이러한 문제점들을 해결하기 위한 것으로, 본 발명의 목적은 메인 프로세서에 복수의 모터를 제어하는 소프트웨어로 구성된 모터 제어기를 구비하고, 모터 제어기와 각각의 제어대상의 모터들에 고속 통신망에 의하여 데이터를 송수신하도록 함으로써 시스템 구성이 저렴하고, 확장 및 변경이 용이한 모터 제어 시스템을 제공하기 위한 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve these problems, and an object of the present invention is to include a motor controller composed of software for controlling a plurality of motors in a main processor, and to the motor controller and each of the motors to be controlled by a high speed communication network. It is to provide a motor control system inexpensive, easy to expand and change the system configuration by transmitting and receiving.

또한, 본 발명의 다른 목적은 복수의 모터를 제어함에 있어서 고기능의 모터제어가 이루어지도록 하는 모터 제어 시스템을 제공하기 위한 것이다. In addition, another object of the present invention is to provide a motor control system for high-performance motor control in controlling a plurality of motors.

상기 목적들에 따르는 본 발명은 적어도 하나 이상의 모터들을 제어하는 모터 제어 시스템에 있어서: 상기 적어도 하나 이상의 모터들을 구동시키기 위해서 상기 모터들에 각각 설치되는 모터 드라이버들; 상기 모터들을 제어하는 모터 제어 데이터를 생성하는 모터 제어기와, 상기 모터 제어 데이터를 통신망을 통하여 상기 모터 드라이버들에 전송하고, 상기 모터 드라이버들로부터 수신되는 피드백 데이터를 상기 통신망을 통하여 수신하여 상기 모터 제어기로 공급하는 통신인터페이스를 구비하는 메인 프로세스를 포함하는 것을 특징으로 한다.According to the above objects, there is provided a motor control system for controlling at least one or more motors, the motor control system comprising: motor drivers respectively installed on the motors to drive the at least one motors; A motor controller for generating motor control data for controlling the motors; and transmitting the motor control data to the motor drivers through a communication network, and receiving feedback data received from the motor drivers through the communication network. It characterized in that it comprises a main process having a communication interface for supplying to.

또한, 본 발명에서 상기 모터 제어기는 모터의 제어데이터를 생성하는 모터 제어 객체와 각 모터의 스케쥴을 관리하는 스케쥴러 객체를 포함하는 것이 바람직하다.In the present invention, the motor controller preferably includes a motor control object for generating control data of the motor and a scheduler object for managing the schedule of each motor.

또한, 본 발명에서 상기 모터와 상기 모터 드라이버에서 검출한 각종 센서 신호 데이터를 상기 메인 프로세서로 전송하여 모터 제어시스템의 진단(Diagnostic), 안전(Safety), 예지(Prognostic) 기능을 포함하는 것이 바람직하다. In the present invention, it is preferable to include the diagnostic, safety, and prognostic functions of the motor control system by transmitting various sensor signal data detected by the motor and the motor driver to the main processor. .

또한, 본 발명에서 상기 메인 프로세스는 동기화에 필요한 시간을 제어하는 타이머, 모터 구동시의 에러와 동기화 에러가 발생했을 때 이를 담당하는 익셉션 핸들러 객체, 상기 모터간의 동기화를 위한 싱크 매니져 객체를 더 포함하는 것이 바람직하다.In addition, the main process in the present invention further includes a timer for controlling the time required for synchronization, an exception handler object that is responsible for when errors and synchronization errors occur when the motor drive, synchronization manager object for synchronization between the motors; It is preferable.

또한, 본 발명에서 상기 모터 드라이버는 상기 모터 제어기와 데이터를 송수신하기 위한 통신 모듈과 상기 통신 모듈로부터 수신되는 데이터에 의하여 상기 모터를 구동시키고, 상기 모터의 동작에 의하여 피드백 신호를 생성하는 모터 드라이버 모듈을 포함하는 것이 바람직하다.In addition, in the present invention, the motor driver is a communication module for transmitting and receiving data with the motor controller and the motor driver module for driving the motor by the data received from the communication module, and generates a feedback signal by the operation of the motor It is preferable to include.

또한, 본 발명에서 상기 통신 모듈은 상기 메인 프로세서와의 통신에서 사용하는 물리 계층(Physical Layer)과 데이터 링크 계층(Data Link Layer) 및 어플리케이션 계층(Application Layer Interface)을 포함하며, 상기 어플리케이션 계층은 상기 메인 프로세서의 모터 제어 데이터를 상기 모터 드라이버 모듈에 전송하고, 상기 피드백 데이터를 수신하며, 상기 메인 프로세서에 전송하여 모터의 위치, 속도, 토크를 제어 뿐 만 아니라 진단, 예지, 안전기능을 할 수 있게 하는 것이 바람직하다.In addition, in the present invention, the communication module includes a physical layer, a data link layer, and an application layer interface used in communication with the main processor. The motor control data of the main processor is transmitted to the motor driver module, the feedback data is received, and the main processor is not only used to control the position, speed, and torque of the motor, but also to perform diagnosis, prediction, and safety functions. It is desirable to.

또한, 상기 모터 드라이버 모듈은 교류전압을 직류 전압으로 변환하는 콘버터와, 입력되는 상기 모터 제어 데이터에 의하여 PWM(Pulse width Modulation) 신호를 생성하는 모터 드라이브 프로세스와, 상기 모터 드라이브 프로세서에 의하여 스위칭 소자를 사용하여 교류전압을 생성하는 PWM 인버터와, 상기 모터의 엔코더 값을 계수하는 엔코더 펄스 카운터(Encoding Pulse Counter)와, 상기 모터에 인가되는 전압으로부터 전류 값을 측정하는 전류센서를 포함하고, 상기 엔코더 펄스 카운터와 상기 전류센서로부터 생성된 데이터를 상기 피드백 데이터로 상기 통신모듈에 전송하는 것이 바람직하다.The motor driver module may include a converter for converting an AC voltage into a DC voltage, a motor drive process for generating a pulse width modulation (PWM) signal based on the input motor control data, and a switching device by the motor drive processor. A PWM inverter for generating an alternating current voltage, an encoder pulse counter for counting an encoder value of the motor, a current sensor for measuring a current value from a voltage applied to the motor, and the encoder pulse. Preferably, the data generated from the counter and the current sensor is transmitted to the communication module as the feedback data.

이하, 첨부된 도면에 따라서 본 발명의 일실시예를 상세히 설명하기로 한다.Hereinafter, an embodiment of the present invention according to the accompanying drawings will be described in detail.

도 4는 본 발명의 일실시예의 전체적인 구성을 나타내는 블록도이고, 도 5는 도 4의 모터 제어의 상세도이다.4 is a block diagram showing the overall configuration of an embodiment of the present invention, Figure 5 is a detailed view of the motor control of FIG.

도 4의 실시 예는 모터(1), (2), …,(n)에는 모터를 구동시키는 모터 드라이버(10), (20)…(n0)가 설치되고, 메인 프로세서에는 소프트웨어로 구성된 모터 제어기(100)가 설치되어 모터들을 제어하는 제어 데이터를 생성하며, 모터 드라이버와 고속 통신망으로 연결되어 데이터를 송수신 한다. 이때, 모터 제어기(100)는 종래 기술인 도 3에 도시된 하위 레벨의 모터 컨트롤러의 기능을 소프트웨어로 구성하였기 때문에 모터 쪽의 하위레벨의 크기를 줄일 수 있으며, 모터 드라이버에서 과전류, 과전압, 온도, 기계적 오차 등을 검출하여 통신모듈을 통하여 전송 받음으로써 모터 시스템의 진단, 예지, 안전기능을 할 수 있다.4 shows the motors 1, 2,... (n) includes motor drivers 10, 20 for driving the motor. (n0) is installed, and a motor controller 100 composed of software is installed in the main processor to generate control data for controlling the motors, and are connected to a motor driver and a high speed communication network to transmit and receive data. At this time, the motor controller 100 can reduce the size of the lower level of the motor side by configuring the function of the motor controller of the lower level shown in Figure 3 of the prior art in the software, overcurrent, overvoltage, temperature, mechanical By detecting errors and receiving them through the communication module, it is possible to perform the diagnosis, foresight and safety functions of the motor system.

모터 제어기(100)의 전체적인 구조는 도 5에 도시되며, 하위 레벨의 모터 드라이버(10), (20), …, (n0)와 연결되어 모터를 제어하는 중추적인 역할을 한다.The overall structure of the motor controller 100 is shown in Fig. 5, and the motor drivers 10, 20,... It is connected to (n0) and plays a pivotal role in controlling the motor.

모터 제어기(100)는 응용 프로그램인 애플리케이션 프로세스(Application Process:101)와, 연결된 각 모듈들을 제어하며, 입력된 모터 제어명령과 모터 드라 이버들로부터 피드백 된 데이터에 의하여 모터 제어 데이터를 생성하며, 여러 개의 모터를 제어할 경우 각 모터의 스케줄 관리를 담당하는 모터 컨트롤러(102)와, 모터 제어기(102)와 연결되어 모터들의 동기화에 필요한 시간을 제어하는 타이머(103), 모터 구동시의 에러와 동기화 에러가 발생했을 때 이를 담당하는 익셉션 핸들러(exception handler:104), 모터간의 동기화를 위한 싱크 매니져(sync manager:105), 하위 레벨의 모터 드라이버(10), (20), …, (n0)와의 통신을 담당하는 통신 인터페이스(communication interface: 106)로 이루어진다.The motor controller 100 controls an application process (Application Process) 101, which is an application program, and respective modules connected thereto, and generates motor control data based on input motor control commands and data fed back from the motor drivers. In the case of controlling two motors, a motor controller 102 in charge of schedule management of each motor, a timer 103 connected to the motor controller 102 to control the time required for synchronizing the motors, and errors and synchronization when the motor is driven. An exception handler 104 that handles errors when they occur, a sync manager 105 for synchronizing between motors, low-level motor drivers 10, 20,... and a communication interface 106 for communicating with (n0).

애플리케이션 프로세스(101)의 프로그램에서 모터를 제어할 필요가 있을 경우 모터제어기(102)에 제어를 넘기고 다른 프로그램 테스크(Task)를 수행을 한다. When it is necessary to control the motor in the program of the application process 101, control is transferred to the motor controller 102 and another program task is performed.

이때, 모터 제어기(100)는 컴퓨터에서 운용되는 프로그램이기 때문에 마이컴에서 원활하게 동작되지 못하는 선형 PID제어, 퍼지-뉴로를 이용한 모터 제어, 유전 알고리즘을 이용한 모터 제어, 예측 제어, 최적화 제어의 고급 제어기능이 구현될 수 있다.At this time, since the motor controller 100 is a program operated by a computer, a linear PID control, a motor control using a fuzzy-neuron, a motor control using a genetic algorithm, a predictive control, and an advanced control function that cannot operate smoothly in a microcomputer This can be implemented.

도 6은 본 발명의 일실시예에의 모터 드라이브의 구성을 나타내는 블록도이다.6 is a block diagram showing a configuration of a motor drive according to an embodiment of the present invention.

하위레벨로서 모터(1), (2), …,(n)에 각각 설치된 모터 드라이버(10), (20)…(n0)는 각각 통신모듈(Communication Interface Module: 200)과, 모터 드라이버 모듈(Motor driver Module: 300)로 구성된다.Motor 1, 2,.. motor drivers 10, 20 installed at (n), respectively. Each n0 includes a communication interface module 200 and a motor driver module 300.

통신모듈(200)은 메인 프로세서(100)와의 통신에서 사용하는 물리층(Physical Layer:201)과 데이터 링크층(Data Linj Layer:202) 및 어플리케이션층 (Application Layer Interface:203)으로 구성되며, 어플리케이션층(203)의 경우 모터 모터 제어기(100)의 모터 제어 데이터를 모터 드라이버 모듈(300)에 전송하고, 피드백 데이터를 수신하는 인터페이스 역할을 한다.The communication module 200 includes a physical layer 201, a data link layer 202, and an application layer interface 203 used in communication with the main processor 100. In the case of 203, the motor control data of the motor motor controller 100 is transmitted to the motor driver module 300 and serves as an interface for receiving feedback data.

커뮤니케이션 모듈(200)은 모터 제어기(100)와의 통신으로 모터 제어 데이터를 수신하여 모터를 구동하고 모터의 전류값, 엔코더 값을 메인 프로세서(100)에 전송하여 모터의 위치, 속도, 토크제어를 할 수 있도록 해준다. The communication module 200 receives the motor control data in communication with the motor controller 100 to drive the motor and transmits the motor current value and the encoder value to the main processor 100 to control the position, speed, and torque of the motor. To help.

모터 드라이버 모듈(300)은 교류전압을 직류 전압으로 변환하는 콘버터(302), 입력되는 제어데이터에 의하여 PWM 신호를 생성하는 모터 드라이브 프로세스(301)와, 모터 드라이브 프로세서(301)에 의하여 스위칭 소자를 사용하여 교류전압을 생성하는 PWM 인버터(304), 스위칭 소자의 온/오프가 고속으로 될 경우에 정격전압 이상의 전압이나 역기전력에 의해 회로의 소자가 파괴되는 것을 방지하는 스너버 회로(Snubber circuit:303), 모터의 엔코더 값을 계수하는 엔코더 펄스 카운터(Encoding Pulse Counter: 305)와 모터에 인가되는 전압으로부터 전류 값을 측정하는 전류센서(306)로 이루어진다.The motor driver module 300 includes a converter 302 for converting an AC voltage into a DC voltage, a motor drive process 301 for generating a PWM signal based on input control data, and a switching device by the motor drive processor 301. PWM inverter 304 for generating an AC voltage using a snubber circuit that prevents an element of a circuit from being destroyed by a voltage above the rated voltage or counter electromotive force when the switching element is turned on / off at a high speed. ), An encoder pulse counter (305) for counting the encoder value of the motor and a current sensor 306 for measuring the current value from the voltage applied to the motor.

이하, 본 발명의 동작과정을 도 7에 도시된 일실시예의 동작 다이어그램을 통하여 설명하기로 한다.Hereinafter, an operation process of the present invention will be described with an operation diagram of the embodiment shown in FIG.

모터 제어기(100)의 모터 제어 서비스를 수행하는 객체는 어플리케이션 프로그램, 스케쥴러, 싱크 매니져, 모터 제어 , 커뮤니케이션 인터페이스, 익셉션 핸드러이다. 이중에 모터 제어기(102)는 복수 모터들의 스케줄을 관리하는 스케줄러 객체와 모터의 위치, 속도, 토크제어를 수행하는 모터 제어 객체를 구비한다.Objects that perform the motor control service of the motor controller 100 are an application program, a scheduler, a sink manager, a motor control, a communication interface, and an exception hander. Among them, the motor controller 102 includes a scheduler object that manages a schedule of a plurality of motors and a motor control object that performs position, speed, and torque control of the motor.

모터 제어 객체의 실행은 어플리케이션 프로세스(101)의 프로그램 수행에 포함된 시작 이벤트의하여 시작된다. 어플리케이션 프로세스(101)는 모터의 제어를 모터 제어 객체에 전담시키고, 자신은 다른 처리를 한다. 만일 모터 제어 객체는 모터 제어가 종료되면 어플리케이션 프로그램에 모터제어 종료 이벤트를 생성하여 이에 대한 처리를 하게한다.Execution of the motor control object is started by the start event included in the program execution of the application process 101. The application process 101 delegates the control of the motor to the motor control object, and does its own processing. If the motor control object is terminated, the motor control object generates a motor control end event in the application program and processes the same.

에러 및 예외와 부가경로 등을 제외한 기본 모터 제어 흐름을 살펴보면, 스케쥴러 객체에서 모터제어순서를 설정하고 실행리스트를 작성하고 리스트의 순서대로 모터 제어 객체에서 제어 프로세스를 실행하도록 한다. 제어 프로세스를 실행하면 프로그램 된 알고리즘에 따라서 모터의 위치, 속도, 토크 값을 설정하고 이 설정된 데이터 값을 커뮤니케이션 인터페이스 객체에서 하위 레벨의 모터 드라이버와의 통신을 위해 모터 제어 프레임을 생성하고 이 프레임을 전송한다. 모터 드라이버에 데이터가 정상적으로 전송되었는지 확인하고 프레임 전송이 완료된다면 모터 드라이버에서 전송한 드라이버 피드백 데이터프레임을 수신할 때 까지 기다린다. Looking at the basic motor control flow excluding errors, exceptions, and additional paths, we set the motor control sequence in the scheduler object, create a run list, and execute the control process on the motor control object in the order of the list. When the control process is executed, it sets the position, speed and torque values of the motor according to the programmed algorithm and generates the motor control frame and transmits this set data value for communication with the lower level motor driver in the communication interface object. do. Check if the data is transmitted to the motor driver normally. If the frame transmission is completed, wait until the driver feedback data frame transmitted from the motor driver is received.

드라이버 피드백 데이터 프레임을 수신하게 되면 피드백 데이터를 추출하고 우선 제어 프로세스에서 설정한 토크 값과 실제의 토크 값을 비교하여 토크제어를 하고 토크제어가 완료되면 속도제어, 속도제어가 완료되면 위치제어를 하게 된다. 위치 제어까지 완료가 되면 하나의 제어 프로세스 실행이 끝나게 되는데 이때 스립(Sleep)상태의 다른 제어프로세서를 깨우고 자신은 프로세서 종료상태 여부를 확인하고 종료상태이면 프로세서를 삭제하고 스케쥴러 객체의 프로세스 리스트 목록에 서 삭제한다. 종료 상태가 아니라면 슬립 상태로 전환된다.When the driver feedback data frame is received, the feedback data is extracted and the torque control is compared by comparing the torque value set in the control process with the actual torque value, and the speed control is completed when the torque control is completed, and the position control is performed when the speed control is completed. do. When the position control is completed, the execution of one control process is finished. At this time, the other control processor in the sleep state is awakened, and it checks whether the processor is in the end state, deletes the processor if it is in the end state, and removes the processor from the process list of the scheduler object. Delete it. If not, it goes to sleep.

모터 제어기의 모든 실행이 완료가 되면 스케줄러 객체의 제어 프로세스 리스트 목록이 비어있을 것이고, 이때 어플리케이션 프로그램에 모터제어가 완료되었음을 알린다.When all execution of the motor controller is completed, the list of the control process list of the scheduler object will be empty, and the application program will be notified that the motor control is completed.

도 7에서 에러 및 예외상황은 스케쥴러 객체의 새로운 제어 프로세스 추가, 싱크 매니저 객체의 동기화 에러, 모터 제어 객체에서의 위치, 속도, 토크 제어시의 에러, 모터 드라이버에서 수신된 모터와 모터 드라이버 에러가 있는데, 이때의 에러 및 예외는 엑셉션 핸들러 객체를 이용하여 각각의 상황에 맞게 처리한다.Errors and exceptions in FIG. 7 include a new control process of the scheduler object, a synchronization error of the sink manager object, a position in the motor control object, an error in the speed and torque control, and a motor and motor driver error received from the motor driver. In this case, errors and exceptions are handled for each situation using the exception handler object.

도 8은 모터 드라이버의 동작을 설명하는 다이어그램이다.8 is a diagram for explaining the operation of the motor driver.

커뮤니케이션 모듈(200)의 물리층에서 제어 프레임을 수신하게 되면서 모터 구동이 시작된다. 데이터 링크층은 수신 받은 제어 프레임에서 데이터를 추출하고 어플리케이션층 인터페이스에서 추출한 데이터를 모터 드라이버 모듈(300)에 전송한다. 모터 드라이버 모듈(300)의 모터 드라이버 프로세스는 제어 데이터에 맞는 3상 PWM 신호를 생성하고 이 3상 PWM신호에 맞게 인버터에서 모터의 직류전압을 교류전압으로 전환하게 모터에 인가한다.The motor drive starts as the control frame is received at the physical layer of the communication module 200. The data link layer extracts data from the received control frame and transmits the data extracted from the application layer interface to the motor driver module 300. The motor driver process of the motor driver module 300 generates a three-phase PWM signal according to the control data and applies the motor to the inverter to convert the DC voltage of the motor into an AC voltage in accordance with the three-phase PWM signal.

모터에 부착된 전류 센서와 엔코더에서 전류값과 엔코딩 펄스 값을 감지하여 커뮤니케이션 모듈(200)의 어플리케이션 인터페이스로 전송하고 이 센서 데이터(전류와 엔코딩 펄스값)를 메인 프로세서에 전송할 수 있는 데이터 프레임을 다시 데이터 링크층에서 생성한다. 이 센서 데이터 프레임은 물리층을 통해서 메인 프로세서로 전송되어 모터 제어기(100)의 모터 제어기 객체에서 위치, 속도, 토크제어를 할 수 있게 한다.Current sensors and encoders attached to the motor detect current values and encoding pulse values and transmit them to the application interface of the communication module 200, and retransmit the data frame to transmit these sensor data (current and encoding pulse values) to the main processor. Created at the data link layer. This sensor data frame is transmitted to the main processor through the physical layer to enable position, speed, and torque control in the motor controller object of the motor controller 100.

상기의 목적과 구성을 갖는 본 발명에 따르면, 메인 프로세스에 복수의 모터를 제어할 수 있는 소프트웨어로 구성된 모터 제어기를 탑재함으로써 하위레벨의 모터의 드라이버를 단순화시킬 수 있다. 따라서 개별적으로 모터에 각각 설치되는 제어기의 값이 저렴하게 되므로 전체 시스템의 제조원가가 저렴하게 된다.According to the present invention having the above objects and configurations, it is possible to simplify the driver of the lower level motor by mounting a motor controller composed of software capable of controlling a plurality of motors in the main process. Therefore, the value of the controller that is individually installed in the motor is inexpensive, so the manufacturing cost of the entire system is inexpensive.

또한, 모터들을 제어하는 제어 기능이 메인 프로세스에 탑재되기 때문에 모터들의 제어기능의 확장 및 변경이 용이하다.In addition, since the control function for controlling the motors is mounted in the main process, it is easy to expand and change the control function of the motors.

또한, 모터를 제어하는데 있어서 발생하는 에러 및 예외상황을 메인 프로세서의 진단 및 안전기능을 통해 모터나 모터 드라이버의 고장을 미리 방지할 수 있다.In addition, errors and exceptions that occur in controlling the motor can be prevented in advance by the diagnosis and safety functions of the main processor.

또한, 모터들을 제어하는 기능이 메인 프로세서의 모터 제어기의 객체들로 구성되기 때문에 퍼지 PID 제어, 선형 PID 제어, 퍼지-뉴로를 이용한 제어, 유전 알고리즘을 이용한 제어, 예측 모터 제어등과 같은 고기능의 제어를 수행할 수 있다.In addition, since the functions for controlling the motors are composed of the objects of the motor controller of the main processor, high-performance control such as fuzzy PID control, linear PID control, fuzzy-neuro control, genetic algorithm control, predictive motor control, etc. Can be performed.

Claims (7)

적어도 하나 이상의 모터들을 제어하는 모터 제어 시스템에 있어서:In a motor control system for controlling at least one or more motors: 상기 적어도 하나 이상의 모터들을 구동시키기 위해서 상기 모터들에 각각 설치되는 모터 드라이버들;Motor drivers respectively installed on the motors to drive the at least one motor; 상기 모터들을 제어하는 모터 제어 데이터를 생성하는 모터 제어기와, 상기 모터 제어 데이터를 통신망을 통하여 상기 모터 드라이버들에 전송하고, 상기 모터 드라이버들로부터 수신되는 피드백 데이터를 상기 통신망을 통하여 수신하여 상기 모터 제어기로 공급하는 통신인터페이스를 구비하는 메인 프로세스를 포함하는 것을 특징으로 하는 모터 제어 시스템.A motor controller for generating motor control data for controlling the motors; and transmitting the motor control data to the motor drivers through a communication network, and receiving feedback data received from the motor drivers through the communication network. A motor control system comprising a main process having a communication interface for supplying to the system. 제 1 항에 있어서, 상기 모터 제어기는 모터의 제어데이터를 생성하는 모터 제어 객체와 각 모터의 스케쥴을 관리하는 스케쥴러 객체를 포함하는 것을 특징으로 하는 모터 제어 시스템.2. The motor control system of claim 1, wherein the motor controller includes a motor control object for generating control data of the motor and a scheduler object for managing a schedule of each motor. 제 2 항에 있어서, 상기 메인 프로세스는 동기화에 필요한 시간을 제어하는 타이머, 모터 구동시의 에러와 동기화 에러가 발생했을 때 이를 담당하는 익셉션 핸들러 객체, 상기 모터간의 동기화를 위한 싱크 매니져 객체를 더 포함하는 것을 특징으로 하는 모터 제어 시스템.The method of claim 2, wherein the main process further comprises a timer for controlling the time required for synchronization, an exception handler object that is in charge of an error when a motor driving error occurs and a synchronization manager object for synchronization between the motors. Motor control system, characterized in that. 제 1 항에 있어서, 상기 모터 드라이버는 상기 메인 프로세스와 데이터를 송수신하기 위한 통신 모듈과 상기 통신 모듈로부터 수신되는 데이터에 의하여 상기 모터를 구동시키고, 상기 모터의 동작에 의하여 피드백 신호를 생성하는 모터 드라이버 모듈을 포함하는 것을 특징으로 하는 모터 제어 시스템.The motor driver of claim 1, wherein the motor driver drives the motor based on a communication module for transmitting and receiving data with the main process and data received from the communication module, and generates a feedback signal by operation of the motor. A motor control system comprising a module. 제 4 항에 있어서, 상기 통신 모듈은 상기 메인 프로세서와의 통신에서 사용하는 물리 계층(Physical Layer)과 데이터 링크 계층(Data Link Layer) 및 어플리케이션 계층(Application Layer Interface)을 포함하며, 상기 어플리케이션 계층은 상기 메인 프로세서의 모터 제어 데이터를 상기 모터 드라이버 모듈에 전송하고, 상기 피드백 데이터를 수신하며, The communication module of claim 4, wherein the communication module includes a physical layer, a data link layer, and an application layer interface used in communication with the main processor. Transmit motor control data of the main processor to the motor driver module, receive the feedback data, 상기 모터 드라이버 모듈은 교류전압을 직류 전압으로 변환하는 콘버터와, 입력되는 상기 모터 제어 데이터에 의하여 PWM(Pulse width Modulation) 신호를 생성하는 모터 드라이브 프로세스와, 상기 모터 드라이브 프로세서에 의하여 스위칭 소자를 사용하여 교류전압을 생성하는 PWM 인버터를 포함하는 것을 특징으로 하는 모터 제어 시스템.The motor driver module includes a converter for converting an AC voltage into a DC voltage, a motor drive process for generating a pulse width modulation (PWM) signal based on the input motor control data, and a switching element by the motor drive processor. A motor control system comprising a PWM inverter for generating an AC voltage. 제 5 항에 있어서, 상기 모터 드라이버 모듈은 상기 모터의 엔코더 값을 카운팅하는 엔코더 펄스 카운터(Encoding Pulse Counter)와, 상기 모터에 인가되는 전압으로부터 전류 값을 측정하는 전류센서를 포함하고, 상기 엔코더 펄스 카운터와 상기 전류센서로부터 생성된 데이터를 상기 피드백 데이터로 상기 통신 전송하 는 것을 특징으로 하는 모터 제어 시스템. The encoder of claim 5, wherein the motor driver module includes an encoder pulse counter for counting an encoder value of the motor, and a current sensor for measuring a current value from a voltage applied to the motor. And communicating the data generated from the counter and the current sensor as the feedback data. 제 6항에 있어서 상기 메인 프로세서에는 모터 드라이버에서 과전류, 과전압, 온도, 기계적 오차 등을 검출하여 통신모듈을 통하여 전송 받음으로써 모터 시스템의 진단, 예지, 안전기능을 할 수 있는 것을 특징으로 하는 모터제어 시스템7. The motor control of claim 6, wherein the main processor detects an overcurrent, an overvoltage, a temperature, a mechanical error, and the like, and transmits the same through a communication module to perform diagnosis, prediction, and safety functions of the motor system. system
KR1020060025298A 2006-03-20 2006-03-20 Control system for motor KR100734345B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060025298A KR100734345B1 (en) 2006-03-20 2006-03-20 Control system for motor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060025298A KR100734345B1 (en) 2006-03-20 2006-03-20 Control system for motor

Publications (1)

Publication Number Publication Date
KR100734345B1 true KR100734345B1 (en) 2007-07-03

Family

ID=38502890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060025298A KR100734345B1 (en) 2006-03-20 2006-03-20 Control system for motor

Country Status (1)

Country Link
KR (1) KR100734345B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061930B1 (en) * 2008-12-18 2011-09-02 한국생산기술연구원 Multiple motor control system and method
CN109302103A (en) * 2018-11-29 2019-02-01 上海福赛特控制技术有限公司 A kind of motor driven remotely separated and electric machine control system
KR20210087348A (en) * 2020-01-02 2021-07-12 세메스 주식회사 Driving apparatus of semiconductor manufacturing equipment and driving method of semiconductor manufacturing equipment

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215108A (en) * 1990-12-13 1992-08-05 Yaskawa Electric Corp Control method for multi axis servo system
KR20010011272A (en) * 1999-07-27 2001-02-15 윤종용 Object-oriented robot programming system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04215108A (en) * 1990-12-13 1992-08-05 Yaskawa Electric Corp Control method for multi axis servo system
KR20010011272A (en) * 1999-07-27 2001-02-15 윤종용 Object-oriented robot programming system and method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101061930B1 (en) * 2008-12-18 2011-09-02 한국생산기술연구원 Multiple motor control system and method
CN109302103A (en) * 2018-11-29 2019-02-01 上海福赛特控制技术有限公司 A kind of motor driven remotely separated and electric machine control system
KR20210087348A (en) * 2020-01-02 2021-07-12 세메스 주식회사 Driving apparatus of semiconductor manufacturing equipment and driving method of semiconductor manufacturing equipment
KR102594072B1 (en) * 2020-01-02 2023-10-24 세메스 주식회사 Driving apparatus of semiconductor manufacturing equipment and driving method of semiconductor manufacturing equipment

Similar Documents

Publication Publication Date Title
CN102208888B (en) Motor driving system, motor controller, and safety function expander
EP2367278B1 (en) Electric power converter
EP3203627B1 (en) Power conversion device, power conversion method, and power conversion system
EP1321838B1 (en) Motor controlling serial communication device
EP1588924B1 (en) Vehicle controller
EP3388906B1 (en) Motor control system, motor controller, and method for setting safety function
CN107493041B (en) Multi-path motor control system and control method and self-service financial equipment
EP2677657B1 (en) Alternating-current rotating machine control device
EP2341609B1 (en) Motor control device
JP2002345252A (en) Method and apparatus for operating a plurality of power converters
US9563180B2 (en) Configuration-enabled motor drive safety
JP7225689B2 (en) motor controller
CN103765760A (en) Integrated servo system, motor system, and motor control method
KR100734345B1 (en) Control system for motor
EP3594769A1 (en) Control device and control method
JP2019161759A (en) Motor drive system
US11548132B2 (en) Power tool
KR101061930B1 (en) Multiple motor control system and method
US9912262B2 (en) Positioning arrangement for moving an object that is to be positioned
JP7449950B2 (en) Power conversion device and predictive diagnosis method used therefor
CN101217444B (en) Network control method based on CAN bus
CN109768738B (en) Motor control device, control system, and motor control method
JP2007300694A (en) Inverter device
KR101291660B1 (en) Distributed control system and reconfiguration method for the same
JP6201457B2 (en) Drive equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130424

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140513

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150717

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee