KR100698503B1 - A motor-controlling device using a microprocessor and a method therefor - Google Patents

A motor-controlling device using a microprocessor and a method therefor Download PDF

Info

Publication number
KR100698503B1
KR100698503B1 KR1020050005769A KR20050005769A KR100698503B1 KR 100698503 B1 KR100698503 B1 KR 100698503B1 KR 1020050005769 A KR1020050005769 A KR 1020050005769A KR 20050005769 A KR20050005769 A KR 20050005769A KR 100698503 B1 KR100698503 B1 KR 100698503B1
Authority
KR
South Korea
Prior art keywords
control
motor
unit
pulse
microprocessor
Prior art date
Application number
KR1020050005769A
Other languages
Korean (ko)
Other versions
KR20060085269A (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 주식회사 여의시스템
Priority to KR1020050005769A priority Critical patent/KR100698503B1/en
Publication of KR20060085269A publication Critical patent/KR20060085269A/en
Application granted granted Critical
Publication of KR100698503B1 publication Critical patent/KR100698503B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • B65F1/16Lids or covers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • B65F1/16Lids or covers
    • B65F1/1607Lids or covers with filling openings
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • B65F1/16Lids or covers
    • B65F1/1615Lids or covers with means for locking, fastening or permanently closing thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D2251/00Details relating to container closures
    • B65D2251/0003Two or more closures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D47/00Closures with filling and discharging, or with discharging, devices
    • B65D47/04Closures with discharging devices other than pumps
    • B65D47/06Closures with discharging devices other than pumps with pouring spouts or tubes; with discharge nozzles or passages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65DCONTAINERS FOR STORAGE OR TRANSPORT OF ARTICLES OR MATERIALS, e.g. BAGS, BARRELS, BOTTLES, BOXES, CANS, CARTONS, CRATES, DRUMS, JARS, TANKS, HOPPERS, FORWARDING CONTAINERS; ACCESSORIES, CLOSURES, OR FITTINGS THEREFOR; PACKAGING ELEMENTS; PACKAGES
    • B65D51/00Closures not otherwise provided for
    • B65D51/18Arrangements of closures with protective outer cap-like covers or of two or more co-operating closures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • B65F2001/1653Constructional features of lids or covers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F1/00Refuse receptacles; Accessories therefor
    • B65F1/14Other constructional features; Accessories
    • B65F2001/1653Constructional features of lids or covers
    • B65F2001/1676Constructional features of lids or covers relating to means for sealing the lid or cover, e.g. against escaping odors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F2210/00Equipment of refuse receptacles
    • B65F2210/148Locking means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65FGATHERING OR REMOVAL OF DOMESTIC OR LIKE REFUSE
    • B65F2210/00Equipment of refuse receptacles
    • B65F2210/167Sealing means

Abstract

가. 청구범위에 기재된 발명이 속하는 기술분야.end. The technical field to which the invention described in the claims belongs.

본 발명은 컴퓨터의 내부 슬롯에 삽입되어 펄스를 출력하여 모터를 제어하며 제어에 필요한 각종 입력신호에 의해서 위치를 제어하는데 사용되는 서보 및 스테핑용 모터구동제어장치에 관한 것으로, 보다 상세하게는 모터의 정역회전, 가감속 및 등속 등의 속도를 최고 6메가 헤르쯔까지 제어할 수 있으며 원/원호/사선/헬리컬 등의 다축동기 보간 기능과 다음 운영모드에서 수행될 명령어들을 미리 여러 개 적재 기능이 탑재되고, 가감속 속도제어, 위치제어 및 다축보간 제어에 대해 통합적인 알고리즘을 구현하여 사용자가 컴퓨터를 이용하여 편리하고 간결하게 모터 제어를 구현할 수 있도록 한 마이크로프로세서를 이용한 모터구동제어장치 및 그 방법에 관한 것이다.The present invention relates to a servo drive and stepping motor drive control device which is inserted into an internal slot of a computer to output a pulse to control a motor and used to control a position by various input signals required for control. It can control the speed of forward / backward, acceleration / deceleration, and constant speed up to 6Mhz, and it is equipped with multi-axis synchronous interpolation function such as circle / circle / diagonal line / helical and several loading functions to be executed in the next operation mode. Of motor drive control device and method using a microprocessor that can implement a convenient and concise motor control by using a computer by implementing an integrated algorithm for control, acceleration / deceleration speed control, position control and multi-axis interpolation control. will be.

나. 발명이 해결하려는 기술적 과제.I. The technical problem to be solved by the invention.

종래의 방식 중에 마이크로프로세서만을 이용한 방식에서는 제어할 축수의 증가에 따른 마이크로프로세서 퍼포먼스의 증대요구, 내부 알고리즘의 복잡화, 펌웨어의 에러발생소지 등의 문제점을 안고 있으며, 특히 고객의 요구사항에 따른 기능변경, 수정, 추가 등이 어렵다는 문제점이 있으며, 또한 종래의 방식 중에 하드웨어 로직만으로 구성된 방식에서는 부품수의 증가, 배선의 복잡도 증가, 단가 상승, 개발기간 단축의 어려움, 기능 변경시 전체 시스템보드를 새로 설계 및 제작해야 하는 문제점이 있다.In the conventional method using only the microprocessor, there is a problem of increasing the microprocessor performance according to the increase of the number of axes to be controlled, the complexity of the internal algorithm, the occurrence of error in the firmware, and especially the function change according to the customer's requirements. It is difficult to modify, add, etc. Also, in the conventional method, which consists only of hardware logic, the number of parts is increased, the complexity of wiring is increased, the unit cost is increased, the difficulty of shortening the development period, and the whole system board is newly designed when the function is changed And there is a problem to be produced.

다. 발명의 해결방법의 요지.All. Summary of the Solution of the Invention.

본 발명은 상기 문제점을 해결하기 위해 안출한 것으로, 본 발명의 목적은 마이크로프로세서를 이용하여 속도패턴, 가감속패턴, 일시정지패턴 등을 실행하기 위한 인수 및 지령을 구해내는 부분과 인수값을 이용하여 지시한 동작을 수행하는 부분으로 역할을 분리, 구현함으로써 고객의 요구사항에 따른 내부 펌웨어의 기능변경 및 업그레이드, 추가, 수정이 용이하고 하드웨어 구성의 간단화 및 원가절감, 개발기간 단축을 실현할 수 있도록 한 모터구동제어장치 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to use a part and an argument value for obtaining arguments and instructions for executing speed patterns, acceleration / deceleration patterns, pause patterns, etc. using a microprocessor. By separating and implementing roles into parts that perform the indicated operation, it is easy to change, upgrade, add, and modify internal firmware according to customer requirements, and to simplify hardware configuration, reduce cost, and shorten development period. The present invention provides a motor drive control device and a control method thereof.

라. 발명의 중요한 용도la. Important uses of the invention

산업용 서보 및 스테핑 모터 제어.Industrial servo and stepping motor control.

Description

마이크로프로세서를 이용한 모터구동제어장치 및 그 방법{A motor-controlling device using a microprocessor and a method therefor}A motor-controlling device using a microprocessor and a method therefor}

도 1은 본 발명에 따른 모터구동제어장치의 개략적인 시스템 구성을 나타낸 구성도.1 is a configuration diagram showing a schematic system configuration of a motor drive control apparatus according to the present invention.

도 2는 본 발명에 따른 모션 콘트롤러의 제어를 통한 모터제어의 흐름을 나타낸 순서도.Figure 2 is a flow chart showing the flow of motor control through the control of the motion controller according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

5 : 어드레스 버퍼 6 : 콘트롤 버퍼5: address buffer 6: control buffer

7 : 데이터 버퍼 8 : 인터럽트 콘트롤부7: Data buffer 8: Interrupt control unit

9 : 가감속제어부 10 : 가감속지령부9: acceleration / deceleration control unit 10: acceleration / deceleration command unit

11 : 속도제어부 12 : 속도지령부11: speed control unit 12: speed command unit

13 : 위치제어부 14 : 위치지령부13: position control unit 14: position command unit

15 : 표시처리부 16 : 기능처리부15: display processing unit 16: function processing unit

17 : 메모리부 18 : 보호기능 검출 및 처리부17: memory unit 18: protection function detection and processing unit

20 : 펄스폭변조발생부 21 : 펄스구동부20: pulse width modulation generator 21: pulse driver

22 : 하드웨어제어부 23 : 위치카운터부22: hardware control unit 23: position counter unit

24 : 엔코더처리부 25 : 입출력제어부24: encoder processing unit 25: input and output control unit

28 : 펄스모터드라이버 30 : 모터28: pulse motor driver 30: motor

100 : 인터페이스부 200 : 마이크로프로세서부100: interface unit 200: microprocessor unit

300 : 하드웨어로직부300: hardware logic part

본 발명은 컴퓨터의 내부 슬롯에 삽입되어 펄스를 출력하여 모터를 제어하며 제어에 필요한 각종 입력신호에 의해서 위치를 제어하는데 사용되는 서보 및 스테핑용 모터구동제어장치에 관한 것으로, 보다 상세하게는 모터의 정역회전, 가감속 및 등속 등의 속도를 최고 6메가 헤르쯔까지 제어할 수 있으며 원/원호/사선/헬리컬 등의 다축동기 보간 기능과 다음 운영모드에서 수행될 명령어들을 미리 여러 개 적재 기능이 탑재되고, 가감속 속도제어, 위치제어 및 다축보간 제어에 대해 통합적인 알고리즘을 구현하여 사용자가 컴퓨터를 이용하여 편리하고 간결하게 모터 제어를 구현할 수 있도록 한 마이크로프로세서를 이용한 모터구동제어장치 및 그 방법에 관한 것이다.The present invention relates to a servo drive and stepping motor drive control device which is inserted into an internal slot of a computer to output a pulse to control a motor and used to control a position by various input signals required for control. It can control the speed of forward / backward, acceleration / deceleration, and constant speed up to 6Mhz, and it is equipped with multi-axis synchronous interpolation function such as circle / circle / diagonal line / helical and several loading functions to be executed in the next operation mode. Of motor drive control device and method using a microprocessor that can implement a convenient and concise motor control by using a computer by implementing an integrated algorithm for control, acceleration / deceleration speed control, position control and multi-axis interpolation control. will be.

종래에 자동화 설비, 권선장비, 반도체 제조장비, 물류이송장비, 섬유장비, 포장장비 등의 산업용 장비에 사용되는 서보 및 스테핑용 모터를 제어하는 방식으로서 크게 두 가지로 구분하면, 마이크로프로세서만을 이용하여 마이크로프로세서가 속도패턴, 가감속패턴, 일시정지패턴 등 제어에 필요한 모든 수행일체를 담당하여 모터를 제어하는 방식과, 마이크로프로세서를 활용하지 않고 하드웨어 로직만으 로 회로를 구성하여 모터를 제어하는 방식이 사용되어 왔다.Conventionally, it is a method of controlling servo and stepping motors used in industrial equipment such as automation equipment, winding equipment, semiconductor manufacturing equipment, logistics transfer equipment, textile equipment, packaging equipment, etc. The microprocessor controls the motor by taking charge of all the performances necessary for control such as speed pattern, acceleration / deceleration pattern, and pause pattern, and the method of controlling the motor by configuring a circuit using only hardware logic without using the microprocessor. This has been used.

그러나, 상기 종래의 방식 중에 마이크로프로세서만을 이용한 방식에서는 제어할 축수의 증가에 따른 마이크로프로세서 퍼포먼스의 증대요구, 내부 알고리즘의 복잡화, 펌웨어의 에러발생소지 등의 문제점을 안고 있으며, 특히 고객의 요구사항에 따른 기능변경, 수정, 추가 등이 어렵다는 문제점이 있다.However, in the conventional method using only a microprocessor, there is a problem such as an increase in the number of axes to be controlled, an increase in microprocessor performance, an internal algorithm complexity, and a firmware error. There is a problem that it is difficult to change, modify, add, etc. accordingly.

즉, 마이크로프로세서만을 이용한 방식에 있어서 정해진 규격사양에 준하는 기능구현이 완료된 펌웨어는 기능변경시 전체적인 틀을 고려한 상태에서 수정을 해야하기 때문에 고객의 요구사항을 충족시키기에는 유연성이 떨어지게 되는 것이다.In other words, in the method using only a microprocessor, firmware that has completed the function implementation conforming to the specified specification specification has to be modified in consideration of the overall framework when changing the function.

한편, 상기 종래의 방식 중에 하드웨어 로직만으로 구성된 방식에서는 부품수의 증가, 배선의 복잡도 증가, 단가 상승, 개발기간 단축의 어려움, 기능 변경시 전체 시스템보드를 새로 설계 및 제작해야 하는 문제점이 있다. On the other hand, in the conventional method consisting of only the hardware logic, there is a problem that the design of the whole system board newly designed and manufactured when the number of parts, the complexity of wiring, the increase in unit cost, the difficulty of shortening the development period, the function change.

본 발명은 상기 문제점을 해결하기 위해 안출한 것으로, 본 발명의 목적은 마이크로프로세서를 이용하여 속도패턴, 가감속패턴, 일시정지패턴 등을 실행하기 위한 인수 및 지령을 구해내는 부분과 인수값을 이용하여 지시한 동작을 수행하는 부분으로 역할을 분리, 구현함으로써 고객의 요구사항에 따른 내부 펌웨어의 기능변경 및 업그레이드, 추가, 수정이 용이하고 하드웨어 구성의 간단화 및 원가절감, 개발기간 단축을 실현할 수 있도록 한 모터구동제어장치 및 그 제어방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to use a part and an argument value for obtaining arguments and instructions for executing speed patterns, acceleration / deceleration patterns, pause patterns, etc. using a microprocessor. By separating and implementing roles into parts that perform the indicated operation, it is easy to change, upgrade, add, and modify internal firmware according to customer requirements, and to simplify hardware configuration, reduce cost, and shorten development period. The present invention provides a motor drive control device and a control method thereof.

이하에서는 첨부 도면을 참조하여 본 발명의 가장 바람직한 일 실시 예를 상세히 설명하기로 한다. 우선, 각 도면을 설명함에 있어, 동일한 구성요소들에 한해서는 비록 다른 도면상에 도시되더라도 가능한 한 동일한 참조부호를 갖는다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. First, in describing each of the drawings, only the same components have the same reference numerals as much as possible even if shown on different drawings.

도 1은 본 발명에 따른 모터구동제어장치의 개략적인 시스템 구성을 나타낸 구성도이다. 1 is a configuration diagram showing a schematic system configuration of a motor drive control apparatus according to the present invention.

그 구성과 동작을 살펴보면, 우선 컴퓨터제어부는 사용자의 제어 프로그램을 실행하는 부분으로써 모터제어에 필요한 명령을 본 발명에 따른 모터구동제어장치로 전달하는 기능을 담당하고 있다.Looking at the configuration and operation, first, the computer control unit is responsible for transmitting a command required for motor control to the motor drive control apparatus according to the present invention as part of executing the user's control program.

즉, 사용자는 직선운동, 사선운동, 원운동, 헬리컬 기능 등의 동작을 정하고 각 운동에 따른 목적지거리, 최고 속도와 가감속 기울기 등의 명령인자를 구성하여 어드레스버스(1), 데이터버스(3), 버스제어신호(2)를 이용하여 모터구동제어장치로 명령을 전달하는 것이다.That is, the user decides operations such as linear motion, diagonal motion, circular motion, and helical function, and configures command parameters such as destination distance, maximum speed and acceleration / deceleration slope according to each motion, and configures the address bus (1) and data bus (3). ), The command is transmitted to the motor drive control device using the bus control signal (2).

이 때, 사용자는 명령을 전달한 이후 모터구동제어장치에서 실행하고 있는 동작의 상황을 모니터링 및 판단하여 즉각적인 조치를 취할 수 있어야 하며, 동작 중의 경보발생 상황의 인지는 마이크로프로세서부(200) 내의 기능처리부(16)가 하드웨어로직부(300) 내의 입출력제어부(25)를 주기적으로 읽어들여 현재 상태를 즉각적으로 반영하게 된다.At this time, the user should be able to take immediate action by monitoring and determining the status of the operation being executed in the motor drive control apparatus after transmitting the command, and the recognition of the alarm occurrence status during the operation may be performed by the function processor in the microprocessor unit 200. 16 periodically reads the input / output control unit 25 in the hardware logic unit 300 to immediately reflect the current state.

사용자는 동작 중에 경보상황 및 응급상황 발생 시 동작중지 또는 재설정 등의 조치를 취하기 위해서는 마이크로프로세서부(200) 내의 기능처리부(16)에서 현재 진행중인 상태들을 읽어들여 판단 후 그에 상응하는 결정 및 명령을 내릴 수가 있다.In order to take action such as stopping or resetting in case of alarm or emergency during operation, the user reads the current statuses in the processing unit 16 in the microprocessor unit 200 and determines and makes a corresponding decision and command. There is a number.

이와 같이 본 발명에 따른 모터구동제어장치는 크게 컴퓨터제어부로부터 모터(30)를 제어하기 위한 각종 데이터 신호를 입력받고, 모터의 제어상태를 다시 컴퓨터제어부로 전달하는 기능을 가진 인터페이스부(100)와, 마이크로프로세서를 이용하여 모터의 속도패턴, 가감속패턴, 일시정지패턴 등을 실행하기 위한 인수 및 지령을 구해내는 마이크로프로세서부(200)와, 상기 마이크로프로세서부(200)로부터 구해진 인수 및 지령에 따라 동작을 수행하는 하드웨어로직부(300)로 구성되는데, 우선 인터페이스부(100)의 상세한 구성 및 동작을 살펴보면 다음과 같다.As described above, the motor drive control apparatus according to the present invention includes an interface unit 100 having a function of receiving various data signals for controlling the motor 30 from the computer control unit and transferring the control state of the motor back to the computer control unit. The microprocessor unit 200 obtains arguments and instructions for executing the speed pattern, acceleration / deceleration pattern, and pause pattern of the motor using the microprocessor, and the arguments and instructions obtained from the microprocessor unit 200. The hardware logic unit 300 performs an operation according to the above. First, the detailed configuration and operation of the interface unit 100 will be described.

어드레스 버퍼(5)는 컴퓨터로부터 어드레스를 입력받는 것으로, 모터구동제어장치에 할당된 각각의 레지스터들을 읽고 쓰게 하기 위한 번지를 지정하기 위한 용도로 사용된다.The address buffer 5 receives an address from a computer and is used to designate a address for reading and writing each register allocated to the motor drive control apparatus.

콘트롤 버퍼(6)는 컴퓨터에서 지정한 어드레스버스 및 데이터버스를 제어하기 위한 용도로 사용되며, 데이터 버퍼(7)는 컴퓨터로부터 입력받은 모터 제어용 데이터를 일시적으로 저장하기 위한 용도로 사용되고, 인터럽트콘트롤부(8)는 마이크로프로세서부(200)에서 처리된 결과에 따른 상황을 컴퓨터 측으로 알려주기 위한 용도로 사용된다.The control buffer 6 is used for controlling the address bus and data bus designated by the computer, and the data buffer 7 is used for temporarily storing the motor control data received from the computer, and the interrupt control unit ( 8) is used for informing the computer of the situation according to the result processed by the microprocessor unit 200.

다음으로, 상기 마이크로프로세서부(200)의 상세한 구성 및 동작을 살펴보면, 가감속제어부(9)는 컴퓨터에서 입력된 가감속 데이터를 기준으로 가속속도와 감속속도를 제어하는 부분으로서, 모터(30)를 구동시킬 때 시작부분에서 저속으로 시작하여 최고속도까지 서서히 증가시키는 역할을 함으로써 모터 및 구동축에 무리 가 가지 않도록 조절하며 목적지까지 다다를 시에 완만하게 속도를 저하시키도록 조절하게 된다.Next, the detailed configuration and operation of the microprocessor unit 200 will be described. The acceleration / deceleration control unit 9 controls the acceleration speed and the deceleration speed based on the acceleration / deceleration data input from the computer, and the motor 30 When driving the engine, it starts at a low speed at the beginning and gradually increases to the maximum speed so that the motor and the drive shaft are controlled so as not to overdo it.

상기 가감속제어부(9)에서 구하여진 가감속 데이터는 다시 가감속지령부(10)로 전달되어지는데, 가감속지령부(10)는 상기 데이터를 전달받는 즉시 내부버스를 이용하여 하드웨어제어부(22)로 명령을 전달하는 역할을 하게 된다.The acceleration / deceleration data obtained by the acceleration / deceleration control unit 9 is transmitted to the acceleration / deceleration command unit 10 again. The acceleration / deceleration command unit 10 immediately receives the data to the hardware control unit 22 by using an internal bus. It is responsible for delivering commands.

속도제어부(11)는 컴퓨터로부터 수신한 최고속도 데이터를 기준으로 모터가 등속구간에서 최고속도를 유지할 수 있도록 제어하는 부분으로서, 상기 가감속제어부(9)에서 시작된 가감속 기울기 속도로 모터가 구동되기 시작하여 등속구간에서 최고 속도로 움질일 수 있도록 속도 데이터를 속도지령부(12)로 전달하게 되며, 상기 속도지령부(12)는 속도 데이터를 하드웨어로직부(300) 내의 하드웨어제어부(22)로 전달하는 기능을 담당한다.The speed controller 11 is a part for controlling the motor to maintain the maximum speed in the constant speed section based on the maximum speed data received from the computer, and the motor is driven at the acceleration / deceleration gradient speed started by the acceleration / deceleration control unit 9. The speed data is transmitted to the speed command unit 12 so as to move at the highest speed in the constant speed section. The speed command unit 12 transmits the speed data to the hardware control unit 22 in the hardware logic unit 300. In charge of delivering

위치제어부(13)는 모터(30)가 움직이는 목적지까지의 거리를 제어하는 부분으로서, 정해진 속도로 모터(30)가 움직일 때 현재까지 이동된 거리와 앞으로 움직여야할 거리를 계산하여 위치지령부(14)로 위치 데이터를 전달하게 되며, 상기 위치지령부(14)는 위치데이터를 하드웨어로직부(300) 내의 하드웨어제어부(22)로 전달하게 된다.The position control unit 13 is a part for controlling the distance to the destination where the motor 30 moves. When the motor 30 moves at a predetermined speed, the position control unit 13 calculates the distance moved up to now and the distance to be moved forward. The position command unit 14 transmits the position data to the hardware control unit 22 in the hardware logic unit 300.

기능처리부(16)는 마이크로프로세서 부분에서 처리된 데이터들, 즉 속도데이터, 가감속 데이터, 위치 데이터 등을 자체 레지스터에 보관하게 되며 현재 모터(30)의 상태 및 결과를 저장하고 있는 곳이다.The function processor 16 stores the data processed in the microprocessor, that is, the speed data, the acceleration / deceleration data, the position data, and the like in its own register, and is currently storing the state and the result of the motor 30.

표시처리부(15)는 기능처리부(16)에 보관되어 있는 데이터들을 별도의 통신 포트로 출력시키는 부분으로서, 본 발명에 따른 모터구동제어장치 자체의 프로그램 오류 또는 모터(30)의 동작상황을 모니터를 통해 실시간으로 출력시킴으로써 외부에서 동작상태의 감시 및 모니터링을 가능하게 하는 것이다.The display processing unit 15 outputs data stored in the function processing unit 16 to a separate communication port. The display processing unit 15 monitors a program error of the motor drive control apparatus itself or an operation state of the motor 30 according to the present invention. Through real-time output through it, it is possible to monitor and monitor the operation status from the outside.

메모리부(17)는 롬 및 램으로 이루어져 모터구동제어장치의 동작 수행에 관한 로직 및 시퀀스를 프로그램화하여 저장하는 장소이다.The memory unit 17 includes a ROM and a RAM to program and store logic and a sequence related to performing an operation of the motor drive control apparatus.

보호기능 검출 및 처리부(18)는 외부 센서 또는 외부 스위치, 릴레이 등을 연결하는 회로부분으로서 외부에서 유입되는 노이즈 및 써지 등을 방지하는 기능을 담담하게 된다.The protection function detection and processing unit 18 is a circuit part for connecting an external sensor or an external switch, a relay, etc., and has a function of preventing noise and surge from flowing from the outside.

다음 모터구동제어장치의 하드웨어로직부(300)의 구성 및 기능을 살펴보면 다음과 같다.Looking at the configuration and function of the hardware logic unit 300 of the motor drive control device as follows.

펄스폭변조발생부(20)는 모터(30)를 구동시키는 펄스를 발생시키는 부분으로써 하드웨어제어부(22)로부터 속도 명령을 받아 실행하는 부분이다.The pulse width modulation generator 20 is a part that generates a pulse for driving the motor 30 and receives and executes a speed command from the hardware controller 22.

펄수구동부는 상기 펄스폭변조발생부(20)로부터 전달된 펄스를 서보드라이브가 인식할 수 있는 전압증폭 및 드라이브타입 형태로 바꾸어 전달하는 기능을 담당한다.The pulse driving unit is responsible for converting the pulse transmitted from the pulse width modulation generator 20 into a voltage amplification and a drive type that the servo drive can recognize.

하드웨어제어부(22)는 마이크로프로세서부(200)로부터 속도 지령, 위치 지령, 가감속 지령을 내부버스를 통하여 넘겨받아 펄스폭변조발생부(20)를 구동시키는 역할을 담당한다.The hardware controller 22 receives the speed command, the position command, and the acceleration / deceleration command from the microprocessor unit 200 through the internal bus, and serves to drive the pulse width modulation generator 20.

위치카운터부(23)는 마이크로프로세서부(200)로부터 목적지까지의 이동거리 데이터, 즉 위치지령 데이터를 넘겨받아 저장하며 하드웨어제어부(22)로 위치 데이 터를 넘겨주는 기능을 담당한다.The position counter unit 23 receives and stores the moving distance data, that is, the position command data, from the microprocessor unit 200 to the destination, and functions to transfer the position data to the hardware control unit 22.

엔코더처리부(24)는 펄스모터드라이버(28)로부터 출력되는 엔코더펄스를 입력받아 입력된 개수를 카운트하는 기능을 가지며 내부버스(27)를 이용하여 기능처리부(16)로 카운터 값이 전달된다.The encoder processing unit 24 receives the encoder pulses output from the pulse motor driver 28 and has a function of counting the input number, and the counter value is transferred to the function processing unit 16 using the internal bus 27.

입출력제어부(25)는 외부로부터 입력되는 디지털입력신호와 외부장비를 제어하기 위한 디지털출력신호의 기능을 담당하는 것으로, 외부의 스위치 입력신호를 받아서 모터정지를 실행하게 할 수 있으며 모터의 동작완료 후 외부의 부저나 경광등을 켤 수 있도록 하는 것이다.The input / output control unit 25 functions as a digital input signal input from the outside and a digital output signal for controlling external equipment. The input / output control unit 25 receives the external switch input signal and executes the motor stop. It is possible to turn on the external buzzer or warning light.

한편 펄스모터드라이버(28)는 모터구동제어장치로부터 출력되는 펄스신호를 입력받아 모터(30)를 움직이게 하는 구동장치로서, 펄스구동신호선을 통해 상기 펄스구동부(21)로부터 나오는 전압을 입력받아 작동하게 되며, 엔코더입력신호선을 통해 다시 모터구동제어장치의 엔코더처리부(24)로 엔코더펄스를 출력하게 된다.On the other hand, the pulse motor driver 28 is a driving device that receives the pulse signal output from the motor drive control device to move the motor 30, and receives the voltage from the pulse driver 21 through the pulse drive signal line to operate. Then, the encoder pulse is outputted to the encoder processing unit 24 of the motor drive control device again through the encoder input signal line.

또한, 상기 펄스모터드라이버(28)는 출력단인 펄스모터드라이버(28)신호선을 통해 기구물을 움직일 수 있도록 동력을 제공하는 장치인 모터에 구동신호를 내보내는 것이다.In addition, the pulse motor driver 28 is to send a drive signal to a motor that is a device that provides power to move the device through the signal line pulse motor driver 28 output terminal.

상기와 같이 구성된 본 발명에 따른 모터구동제어장치의 동작 실행과정은 크게 모터구동제어장치로 명령을 전달하는 첫 번째 단계, 모터구동제어장치가 명령을 실행하는 두 번째 단계, 모터구동제어장치가 펄스를 출력하는 세 번째 단계로 나누어 설명하면 다음과 같다.The operation execution process of the motor drive control apparatus according to the present invention configured as described above is largely the first step of transmitting a command to the motor drive control device, the second step of the motor drive control device executing the command, the motor drive control device pulses The third step of outputting is explained as follows.

우선, 첫 번째 모터구동제어장치로 명령을 전달하는 단계를 살펴보면, 도 1 에 도시된 바와 같이 컴퓨터는 명령을 모터구동제어장치로 전달하기 위하여 컴퓨터의 어드레스 버스, 버스제어 신호, 데이터버스를 이용하여 모터구동제어장치의 하드웨어로직부(300)로 명령을 전달한다.First, referring to the step of transmitting a command to the first motor drive control device, as shown in FIG. 1, the computer uses the address bus, the bus control signal, and the data bus of the computer to transfer the command to the motor drive control device. The command is transmitted to the hardware logic unit 300 of the motor drive control apparatus.

컴퓨터가 모터구동장치로 명령을 전달하기 위한 준비 단계로써 동작형태 명령, 즉 직진운동인지 또는 보간운동인지 여부와 직진/보간 운동에 따른 축선택을 결정해야 하며 뒤이은 인자로써 최종 도달거리와 모터의 움직이는 최고속도, 가감속 비율을 결정하여 모터구동제어장치로 실행명령 데이터를 전달하게 된다.As a preparatory step for the computer to transmit the command to the motor-drive mechanism, it is necessary to determine the motion type command, ie whether it is a straight or interpolated motion and the axis selection according to the straight / interpolated motion. The maximum speed and acceleration / deceleration rate of movement are determined and the execution command data is transmitted to the motor drive controller.

상기 실행명령 데이터는 어드레스 디코딩 방식을 이용하여 어드레스버퍼, 콘트롤버퍼, 데이터버퍼를 거쳐 하드웨어로직부(300) 내의 하드웨어 제어부로 명령어가 적재되게 된다.The execution command data is loaded into the hardware control unit in the hardware logic unit 300 via an address buffer, a control buffer, and a data buffer using an address decoding method.

특히, 상기 하드웨어제어부(22)는 하드웨어로직부(300)의 핵심적인 부분으로써 종래 모터구동제어장치와 달리 컴퓨터에서 실행시킨 명령어들은 모터구동제어장치가 동작 수행 중에도 새로운 명령을 받아들여 계속적으로 누적을 시킬 수 있도록 함으로써 명령과 명령 사이의 실행시간을 단축시킬 수 있도록 한 것이다.In particular, the hardware control unit 22 is an essential part of the hardware logic unit 300, unlike the conventional motor drive control device, the commands executed in the computer continuously accumulate by accepting a new command while the motor drive control device performs an operation. This allows you to shorten the execution time between commands.

즉, 종래의 모터구동제어장치는 1개의 명령이 끝난 후에 새로운 명령을 수행할 수 있는 구조를 가지고 있었기 때문에 명령과 명령 사이의 지연시간이 발생하여 연속적인 동작구현이 불가능하였던 것으로, 예를 들어 본딩용 액체를 이용하여 기구를 접합시키는 공정에 사용되는 경우 선을 따라 하나의 방향으로 그은 후(접합시킨 후) 90도 방향으로 연이어서 그을 때 연이어서 긋는 동작부분에서 불량이 발생하게 되는데, 이는 90도의 새로운 방향으로 긋는 명령이 두 번째 새로운 명령이기 때문에 명령을 받아들이는 지연시간, 해독하여 실행하는 지연시간으로 인하여 액체가 고여서 부풀어지는 문제를 야기시키기 때문에 제품에 불량을 초래하게 된다.That is, the conventional motor drive control device has a structure that can execute a new command after the end of one command, the delay time between the command and the command was not possible to implement a continuous operation, for example, bonding When used in the process of joining instruments using a solvent liquid, draws in one direction along a line (after joining), and then continues in a 90-degree direction. Since the command to draw in the new direction of the drawing is the second new command, the delay time for accepting the command and the delay time for decrypting and executing causes the liquid to swell and swell, resulting in a defect in the product.

이러한 문제점을 해결하기 위해 본 발명에 따른 모터구동제어장치에서는 명령과 명령 사이의 지연시간을 없애기 위해 한번에 최대 8개까지의 명령을 미리 탑재시켜 한번의 시작지시로 인해 8개의 명령이 순서대로 실행되도록 구성됨으로써 최종동작 실행시간이 연속적으로 이루어져 최종제품 생산단계에서 생산성이 향상되는 결과를 얻을 수 있는 것이다. In order to solve this problem, in the motor drive control apparatus according to the present invention, in order to eliminate the delay time between the command and the command, up to eight commands are mounted in advance so that eight commands can be executed in sequence due to one start instruction. As a result, the execution time of the final operation is continuously performed, and thus the productivity is improved in the final product production step.

상기와 같은 특징은 단순동작 기능에서도 큰 효과를 볼 수 있게 하는데, 예를 들어 원을 1회전 그리는 명령만 100회 동작 수행을 해야만 한다고 가정하며 종래의 모터구동제어장치들은 1회 그리고 난 후 지연시간이 생기기 때문에 100회를 최종 완료 후 지연시간 합계만큼의 제품생산 시간이 길어지게 되지만, 본 발명에 따른 모터구동제어장치는 지연시간을 없앰으로써 최종단계에서는 생산시간이 빨라짐으로 인한 생산성이 종래에 비해 수 배에서 수십 배 빨라지는 효과를 얻을 수 있게 된다.The above characteristics make it possible to see a great effect even in the simple motion function. For example, it is assumed that only a command for drawing a circle once should be performed 100 times. Conventional motor drive control devices have a delay time once and then. Because of this, the product production time is increased as much as the total delay time after the final completion 100 times, but the motor drive control apparatus according to the present invention eliminates the delay time, the productivity due to faster production time in the final stage compared to the conventional You can get several times to ten times faster.

한편, 명령이 실행되는 과정의 상태들은 컴퓨터의 화면상에 출력되고, 응급상황 발생 시 제어를 할 수 있어야 하는데, 이는 하드웨어로직부(300) 내의 위치카운터부(23)와 엔코더처리부(24), 입출력제어부(25), 하드웨어 제어부의 레지스터들을 수시로 읽어들여서 처리가 가능토록 하는 것이다. On the other hand, the status of the process of executing the command is output on the screen of the computer, should be able to control when an emergency occurs, which is the position counter 23 and the encoder processing unit 24, the hardware logic unit 300, The I / O control unit 25 and the registers of the hardware control unit are read from time to time to enable processing.

이 때 컴퓨터는 어드레스 버스(1), 버스제어 신호(2), 데이터 버스(3)를 통해 각각의 레지스터들을 읽을 수 있으며, 각 상태를 확인하여 그에 따른 조치를 취 할 수 있게 된다.At this time, the computer can read the respective registers through the address bus 1, the bus control signal 2, and the data bus 3, and check the status and take action accordingly.

이와 같이 하드웨어로직부(300)는 명령을 적재시키고 펄스를 출력시키며 피드백제어를 구현할 수 있는 엔코더 기능만을 구현하여 종래의 복합적으로 구현된 기능을 축소 및 간략화 한 것이 특징이다.As such, the hardware logic unit 300 may reduce and simplify a conventionally implemented function by implementing only an encoder function capable of loading a command, outputting a pulse, and implementing feedback control.

다음으로, 두 번째 모터구동제어장치가 명령을 실행하는 단계를 살펴보면, 첫 번째 단계에서 하드웨어로직부(300) 내의 하드웨어제어부(22)에 실행될 명령어가 적재가 된 이후부터는 마이크로프로세서부(200)에서 명령을 처리하게 된다.Next, referring to the step of executing the command by the second motor drive control device, after the instruction to be loaded in the hardware control unit 22 in the hardware logic unit 300 is loaded in the first step in the microprocessor unit 200 Will process the command.

명령을 실행하기 위해서는 마이크로프로세서부(200)가 누적된 명령을 읽어들여서 해독하는 과정을 거쳐야만 하는데, 마이크로프로세서부(200)는 도 1에 도시된 바와 같이 하드웨어로직부(300)와 연결된 내부버스를 이용하여 하드웨어제어부(22)의 명령의 읽어들여오고, 명령을 가지고 온 후 명령의 문법이 올바른지를 검사한 다음 명령의 인자를 구분해낸다.In order to execute the instructions, the microprocessor unit 200 must go through a process of reading and decoding accumulated instructions. The microprocessor unit 200 uses an internal bus connected to the hardware logic unit 300 as shown in FIG. 1. After reading the command of the hardware control unit 22 using the command, the command checks whether the syntax of the command is correct, and then classifies the command argument.

상기 명령의 인자는 즉 직진운동인지 보간운동인지 여부와 직진/보간 운동에 따른 축을 결정하고 최종 도달거리와 모터(30)의 움직이는 최고속도, 가감속 비율을 인식하게 된다.Factors of the command, that is, whether the linear motion or interpolation motion and the axis according to the straight / interpolation motion is determined and the final reach, the maximum speed of the motor 30, the acceleration and deceleration rate is recognized.

이와 같이 명령인자 인식 과정이 완료되면 마이크로프로세서부(200)는 내부에 각 역할에 할당된 변수 레지스터에 명령인자 데이터들을 기억시키게 되는데, 이 때 각 역할 변수들은 속도제어부(11)의 속도지령 레지스터에 속도 데이터를 기억시키고, 위치제어부(13)의 위치지령 레지스터에 목적도달거리 펄스수를 기억시키며, 가감속제어부(9)의 가감속지령 레지스터에 가감속 비율 데이터를 기억시킨다.When the command argument recognition process is completed as described above, the microprocessor unit 200 stores the command argument data in the variable register assigned to each role therein. In this case, each role variable is stored in the speed command register of the speed controller 11. The speed data is stored, the target arrival distance pulse number is stored in the position command register of the position control unit 13, and the acceleration / deceleration ratio data is stored in the acceleration / deceleration command register of the acceleration / deceleration control unit 9.

실행 명령인자들이 각 레지스터로 기억이 완료된 이후 하드웨어제어부(22)의 펄스출력 시작 데이터를 검사하여, 펄스출력 시작 데이터에 시작신호가 나타내어져 있으면 하드웨어로직부(300) 내의 펄스폭변조발생부(20)로 상기 각 레지스터의 데이터를 내부버스(19)를 이용하여 전달하며, 펄스를 발생하도록 지시를 내리는 명령도 함께 전달하여 펄스 출력이 이루어지도록 한다.The execution command factors check the pulse output start data of the hardware control unit 22 after the memory is completed in each register. If the start signal is indicated in the pulse output start data, the pulse width modulation generator 20 in the hardware logic unit 300 is executed. The data of each register is transferred by using the internal bus 19, and a command for instructing to generate a pulse is also transferred to the pulse output.

이 때부터 펄스구동부(21)에 의하여 펄스가 발생되어 펄스모터드라이버(28)로 전달되면서 모터(30)가 구동하게 되는 것이다.From this time, the pulse is generated by the pulse driving unit 21 and transferred to the pulse motor driver 28, thereby driving the motor 30.

마이크로프로세서부(200)는 명령을 해독하여 하드웨어로직부(300)로 펄스를 출력시킬 수 있는 데이터를 넘겨준 이후 하드웨어로직부(300)의 정상동작 실행 여부와 다음 명령이 누적되어 있는지의 여부를 계속적으로 확인하게 되는데, 이 때의 확인 결과는 표시처리부(15) 및 기능처리부(16)로 전달되어 결과 및 상태를 확인 가능하게 한다.The microprocessor unit 200 decodes a command and hands over data capable of outputting a pulse to the hardware logic unit 300, and then determines whether the hardware logic unit 300 executes normal operation and whether the next instruction is accumulated. It is confirmed continuously, the result of the check at this time is transmitted to the display processing unit 15 and the function processing unit 16 to confirm the results and status.

이 때 정상동작이 이루어지지 않은 경우에는 다음 명령이 존재하는 경우라도 명령 전달을 대기하며 현재 상태가 마무리된 후 실행이 재개된다.At this time, if the normal operation is not performed, even if the next command exists, execution of the command is waited and execution resumes after the current state is completed.

이와 같이 마이크로프로세서부(200)는 종래 장치와 달리 펄스출력부를 포함하지 않고 명령전달 및 상태확인 기능만을 담당함으로써 퍼포먼스 향상 및 다목적 기능구현에 적합하도록 하였으며 동작기능의 수정, 추가, 삭제가 용이하도록 구성된 것이다.As described above, the microprocessor unit 200 does not include the pulse output unit, unlike the conventional apparatus, and is only suitable for performance improvement and multi-purpose function implementation by in charge of command transfer and status check functions, and is configured to easily modify, add, and delete operation functions. will be.

다음으로, 세 번째 모터구동제어장치가 펄스를 출력하는 단계를 살펴보면, 모터(30)를 움직이게 하는 최종 역할은 하드웨어제어부(22)의 펄스폭변조발생부(20)에서 이루어지는 것으로, 상기 펄스폭변조발생부(20)에서는 마이크로프로세서부(200)에서 실행하라는 명령이 내려지면 최종목적지까지 주어진 가감속 비율 및 주어진 속도패턴대로 펄스를 발생하여 펄스구동부(21)로 넘겨주게 되고, 이에 따라 상기 펄스구동부(21)에서는 펄스를 펄스모터드라이버(28)로 전달하여 모터가 움직이게 되는 것이다.Next, referring to the step of outputting the pulse by the third motor drive control device, the final role of moving the motor 30 is performed in the pulse width modulation generator 20 of the hardware controller 22, the pulse width modulation The generator 20 generates a pulse according to a given acceleration / deceleration ratio and a given speed pattern to the final destination when the instruction to be executed in the microprocessor unit 200 passes the pulse driver 21 to the pulse driver 21. At 21, the pulse is transferred to the pulse motor driver 28 to move the motor.

이 때, 펄스구동부(21)에서 펄스를 출력하는 동안 엔코더처리부(24)에서는 모터 또는 펄스모터드라이버(28)로부터 나오는 펄스를 입력받아서 자체카운터를 가감시키는 역할을 계속적으로 하게 되며, 상기 엔코더 카운터를 컴퓨터가 읽어서 출력된 펄스 수와 일치하였는지의 여부를 계속적으로 감시할 수 있게 된다.At this time, while the pulse driver 21 outputs the pulse, the encoder processing unit 24 receives a pulse from the motor or the pulse motor driver 28 to continuously increase and decrease the counter. It is possible to continuously monitor whether the computer matches the number of pulses read and output.

최종목적지까지 모터(30)가 움직이면 펄스폭변조발생부(20)는 더 이상 펄스를 발생하지 않게 되며, 하드웨어제어부(22)는 펄스 출력을 완료하였다는 자체의 상태레지스터를 변화시키고, 이에 따라 컴퓨터는 상태레지스터의 변화를 보고 다음 명령 지시를 내릴지 여부를 판단한 후 다음 동작을 수행하게 되는 것이다. When the motor 30 moves to the final destination, the pulse width modulation generator 20 no longer generates a pulse, and the hardware controller 22 changes its state register indicating that the pulse output has been completed. Determining whether to issue the next command command by changing the state register, the next operation is performed.

도 2는 본 발명에 따른 모션 콘트롤러의 제어를 통한 모터제어의 흐름을 나타낸 순서도로서, 상기 도 2를 참조하여 본 발명의 상세한 동작을 설명하면 다음과 같다.2 is a flow chart illustrating a flow of motor control through the control of a motion controller according to the present invention. Referring to FIG. 2, the detailed operation of the present invention will be described.

우선, 컴퓨터 내부의 슬롯에 본 발명에 따른 모터구동제어장치를 장착한 후 컴퓨터 전원을 인가하여 부팅이 완료되면 제어프로그램을 실행시키게 되며, 이 때 컴퓨터에서는 모터구동제어장치의 각종 상태값을 읽어들여 모니터 화면에 표시하게 된다.(S201)First, the motor drive control apparatus according to the present invention is mounted in a slot inside the computer and the computer is supplied with power to execute the control program when booting is completed. At this time, the computer reads various state values of the motor drive control apparatus. Displayed on the monitor screen (S201).

다음으로, 컴퓨터에서는 모터제어를 실행시키기 위한 사용자의 키보드 입력여부를 판단하여(S202), 판단 결과 키보드 입력이 있으면 실행동작에 따른 제어명령을 구성하게 되고(S203), 만약 키보드 입력이 없으면 다시 상기 단계(S201)로 돌아가 대기하게 된다.Next, the computer determines whether the user's keyboard input for executing the motor control (S202), and if there is a keyboard input to determine the control command according to the execution operation (S203), if there is no keyboard input again the above The process returns to step S201 to wait.

상기 단계(S203) 이후 실행동작에 따른 제어명령이 제어레지스터에 입력되며(S204), 실행명령 이전에 모터구동제어장치의 펄스출력 준비가 되었는지의 여부를 판단하여(S205) 펄스출력 준비가 정상적으로 완료되었으면 펄스출력 실행명령을 모터구동제어장치로 전달하게 되고, 이 때부터 모터구동제어장치는 모터를 제어하기 위한 펄스신호를 출력하기 시작한다.(S206)After the step S203, the control command according to the execution operation is input to the control register (S204), and it is determined whether the pulse output preparation of the motor drive control device is ready before the execution command (S205) and the pulse output preparation is normally completed. If so, the pulse output execution command is transmitted to the motor drive control device, from which the motor drive control device starts to output a pulse signal for controlling the motor (S206).

만약 상기 단계(S206)에서 펄스출력 준비가 정상적으로 완료되지 않은 상태이면 종료하게 된다.If the pulse output preparation is not normally completed in step S206, the process is terminated.

상기 단계(S206) 이후에는 모터구동제어장치에서 출력하고 있는 펄스 개수 및 상태값이 화면에 표시되며(S207), 실행동작 중에 펄스중지신호가 입력되었는지의 여부를 판단하여(S208) 판단 결과 펄스중지신호가 입력되었으면 모터구동제어장치에서는 펄스발생을 중지시키게 되고(S210), 이 후 화면에 펄스출력이 비정상적으로 종료되었을 때의 결과를 표시한 후(S211) 종료하게 된다.After the step (S206), the number of pulses and the state value output from the motor drive control device are displayed on the screen (S207), and it is determined whether or not the pulse stop signal is input during the execution operation (S208). When the signal is input, the motor drive control device stops the pulse generation (S210), after which the result when the pulse output is abnormally terminated on the screen (S211) is terminated.

만약 상기 단계(S208)에서 판단 결과 펄스중지신호가 입력되지 않은 상태이면 다시 목적지까지의 펄스 개수와 현재까지 출력된 펄스 개수가 일치하는지의 여부를 판단하게 되는데(S209), 만약 현재까지 출력된 펄스 개수가 목적지까지의 펄스 개수와 일치하면 도착지점에 다다른 상태로써 펄스출력이 완료되는 것이며, 이 후 화면에 결과를 표시하는 단계(S211)로 진행되어 펄스출력이 정상적으로 종료되었을 때의 결과를 표시한 후 종료하게 된다.If the pulse stop signal is not input as a result of the determination in step S208, it is determined whether the number of pulses to the destination and the number of pulses output up to the present match again (S209). If the number coincides with the number of pulses to the destination, the pulse output is completed by reaching the destination point. After that, the result is displayed on the screen (S211) to display the result when the pulse output is normally completed. And then exit.

한편, 상기 단계(S209)에서 판단 결과 현재까지 출력된 펄스 개수가 목적지까지의 펄스 개수와 일치하지 않으면 도착지점에 아직 미 도착한 상태이므로 다시 상기 단계(S207)로 되돌아가서 계속 진행하게 되는 것이다. On the other hand, if the number of pulses output so far does not coincide with the number of pulses to the destination as a result of the determination in step S209, the process returns to the step S207 again because it has not yet arrived at the arrival point.

상술한 바와 같이 본 발명에 따르면 마이크로프로세서를 이용한 방식과 하드웨어로직을 이용한 방식의 장점만을 조합하여 새롭게 구성된 것으로, 속도패턴, 가감속패턴, 일시정지패턴 등을 실행키 위한 인수 및 지령을 구해내는 부분과 인수값을 이용하여 지시한 동작을 수행하는 부분으로 역할을 분리, 구현함으로써 고객의 요구사항에 따른 내부 펌웨어의 기능변경 및 업그레이드, 추가, 수정이 용이하고 하드웨어 구성의 간단화 및 원가절감, 개발기간 단축 등의 효과를 얻을 수 있다.As described above, according to the present invention, a combination of only the advantages of the method using the microprocessor and the method using the hardware logic is newly constructed, and a part for obtaining the arguments and instructions for executing the speed pattern, the acceleration / deceleration pattern, the pause pattern, and the like. By dividing and implementing roles into parts that perform the indicated action by using and argument values, it is easy to change, upgrade, add, and modify internal firmware according to customer's requirements, simplify hardware configuration, reduce cost, and develop The effect of shortening the period can be obtained.

또한, 원/원호/사선/헬리컬 등의 다축동기 보간기능과 다음 운영모드에서 수행될 명령어를 미리 여러 개 적재시킬 수 있는 멀티명령 적재기능을 탑재하여 사용자의 기능성 및 편리성을 극대화할 수 있는 효과를 얻을 수 있다.In addition, multi-axis synchronous interpolation functions such as circle, arc, diagonal line, and helical, and multi-command loading function that can load several commands to be executed in the next operation mode in advance, maximize the user's functionality and convenience. Can be obtained.

Claims (10)

컴퓨터의 내부 슬롯에 삽입되어 펄스를 출력하여 모터를 제어하며 제어에 필요한 각종 입력신호에 의해서 위치를 제어하는데 사용되는 서보 및 스테핑용 모터구동제어장치에 있어서,In the servo drive and stepping motor drive control device which is inserted into the internal slot of the computer to output a pulse to control the motor and to control the position by various input signals required for the control, 컴퓨터로부터 모터(30)를 제어하기 위한 각종 데이터 신호를 입력받고, 모터(30)의 제어상태를 다시 컴퓨터로 전달하는 기능을 가진 인터페이스부(100)와,An interface unit 100 having a function of receiving various data signals for controlling the motor 30 from a computer and transferring the control state of the motor 30 back to the computer, 마이크로프로세서를 이용하여 모터(30)의 속도패턴, 가감속패턴, 일시정지패턴 등을 실행하기 위한 인수 및 지령을 구해내는 마이크로프로세서부(200)와,  A microprocessor unit 200 for obtaining arguments and instructions for executing the speed pattern, the acceleration / deceleration pattern, the pause pattern, etc. of the motor 30 using the microprocessor; 상기 마이크로프로세서부(200)로부터 구해진 인수 및 지령에 따라 동작을 수행하는 하드웨어 로직부(300)를 포함하여 구성되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치.Motor drive control device using a microprocessor, characterized in that it comprises a hardware logic unit for performing an operation in accordance with the arguments and instructions obtained from the microprocessor unit (200). 제 1항에 있어서, The method of claim 1, 상기 인터페이스부(100)는, The interface unit 100, 컴퓨터로부터 어드레스를 입력받아 모터구동제어장치에 할당된 각각의 레지스터들을 읽고 쓰게 하기 위한 번지를 지정하기 위한 어드레스 버퍼(5)와,An address buffer 5 for designating a address for receiving an address from a computer and reading and writing each register allocated to the motor drive control device; 컴퓨터에서 지정한 어드레스버스 및 데이터버스를 제어하기 위한 콘트롤 버퍼(6)와,A control buffer 6 for controlling the address bus and data bus designated by the computer, 컴퓨터로부터 입력받은 모터 제어용 데이터를 일시적으로 저장하기 위한 데 이터 버퍼(7)와, A data buffer 7 for temporarily storing motor control data received from a computer, 마이크로프로세서부(200)에서 처리된 결과에 따른 상황을 컴퓨터 측으로 알려주기 위한 인터럽트콘트롤부(8)를 포함하여 구성되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치.Motor control device using a microprocessor, characterized in that it comprises an interrupt control unit (8) for informing the computer of the situation according to the result processed in the microprocessor unit (200). 제 1항에 있어서, The method of claim 1, 상기 마이크로프로세서부(200)는,The microprocessor unit 200, 컴퓨터에서 입력된 가감속 데이터를 기준으로 가속속도와 감속속도를 제어하는 가감속제어부(9)와,Acceleration and deceleration control unit 9 for controlling the acceleration and deceleration speed based on the acceleration and deceleration data input from the computer, 상기 가감속제어부(9)로부터 가감속 데이터를 전달받는 즉시 내부버스를 이용하여 하드웨어제어부(22)로 명령을 전달하는 가감속지령부(10)와, Acceleration and deceleration command unit 10 for transmitting a command to the hardware control unit 22 using the internal bus immediately after receiving the acceleration and deceleration data from the acceleration and deceleration control unit 9, 컴퓨터로부터 수신한 최고속도 데이터를 기준으로 모터(30)가 등속구간에서 최고속도를 유지할 수 있도록 제어하는 속도제어부(11)와,A speed controller 11 for controlling the motor 30 to maintain the maximum speed in the constant velocity section based on the maximum speed data received from the computer, 상기 속도제어부(11)로부터 전달받은 속도 데이터를 하드웨어로직부(300) 내의 하드웨어제어부(22)로 전달하는 속도지령부(12)와,A speed command unit 12 for transmitting the speed data received from the speed controller 11 to the hardware controller 22 in the hardware logic unit 300; 모터(30)가 움직이는 목적지까지의 거리를 제어하는 위치제어부(13)와,Position control unit 13 for controlling the distance to the destination to move the motor 30, 상기 위치제어부(13)로부터 전달받은 위치 데이터를 하드웨어로직부(300) 내의 하드웨어제어부(22)로 전달하는 위치지령부(14)와,A position command unit 14 for transmitting the position data received from the position control unit 13 to the hardware control unit 22 in the hardware logic unit 300; 마이크로프로세서부(200)에서 처리된 속도데이터, 가감속 데이터, 위치 데이터를 자체 레지스터에 보관하며 현재 모터의 상태 및 결과를 저장하는 기능처리부 (16)와,A function processor 16 for storing the speed data, the acceleration / deceleration data, and the position data processed by the microprocessor unit 200 in its own register and storing the current motor status and results; 기능처리부(16)에 보관되어 있는 데이터들을 별도의 통신포트로 출력시키는 표시처리부(15)와,A display processor 15 for outputting data stored in the function processor 16 to a separate communication port; 롬 및 램으로 이루어져 모터구동제어장치의 동작 수행에 관한 로직 및 시퀀스를 프로그램화하여 저장하는 메모리부(17)와,A memory unit 17 comprising a ROM and a RAM to program and store logic and a sequence related to the operation of the motor drive control apparatus; 외부 센서 및 외부 스위치, 릴레이를 연결하는 회로부분으로서 외부에서 유입되는 노이즈 및 써지를 방지하는 보호기능 검출 및 처리부(18)를 포함하여 구성되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치.An external sensor, an external switch, and a circuit portion for connecting a relay, the motor drive control apparatus using a microprocessor, characterized in that it comprises a protection function detection and processing unit (18) to prevent noise and surge flowing from the outside. 제 1항에 있어서, The method of claim 1, 상기 하드웨어로직부(300)는,The hardware logic unit 300, 마이크로프로세서부(200)로부터 속도 지령, 위치 지령, 가감속 지령을 내부버스를 통하여 넘겨받아 펄스폭변조발생부(20)를 구동시키는 하드웨어제어부(22)와,A hardware control unit 22 which receives the speed command, the position command, and the acceleration / deceleration command from the microprocessor unit 200 through the internal bus to drive the pulse width modulation generator 20; 상기 하드웨어제어부(22)로부터 속도 명령을 받아 모터(30)를 구동시키는 펄스를 발생시키는 펄스폭변조발생부(20)와,A pulse width modulation generator 20 for generating a pulse for driving the motor 30 by receiving a speed command from the hardware controller 22; 상기 펄스폭변조발생부(20)로부터 전달된 펄스를 서보드라이브가 인식할 수 있는 전압증폭 및 드라이브타입 형태로 바꾸어 전달하는 펄스구동부(21)와,A pulse driver 21 for converting the pulse transmitted from the pulse width modulation generator 20 into a voltage amplification and a drive type recognizable by the servo drive, and transmitting the pulse driver 21; 마이크로프로세서부(200)로부터 목적지까지의 이동거리 데이터, 즉 위치지령 데이터를 넘겨받아 저장하며 상기 하드웨어제어부(22)로 위치지령 데이터를 넘겨주는 위치카운터부(23)와,A position counter unit 23 which receives and stores the movement distance data from the microprocessor unit 200 to the destination, that is, the position command data, and passes the position command data to the hardware control unit 22; 펄스모터드라이버(28)로부터 출력되는 엔코더펄스를 입력받아 입력된 개수를 카운트하는 기능을 가지며 내부버스(27)를 이용하여 기능처리부(16)로 카운터 값을 전달하는 엔코더처리부(24)와,An encoder processing unit 24 having a function of receiving encoder pulses output from the pulse motor driver 28 and counting the number of inputs, and transferring a counter value to the function processing unit 16 by using an internal bus 27; 외부로부터 입력되는 디지털입력신호와 외부장비를 제어하기 위한 디지털출력신호의 기능을 담당하는 입출력제어부(25)를 포함하여 구성되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치.Motor drive control device using a microprocessor, characterized in that it comprises a digital input signal input from the outside and the input and output control unit 25 for the function of the digital output signal for controlling external equipment. 제 1항 내지 제 4항의 어느 한 항에 있어서, The method according to any one of claims 1 to 4, 상기 하드웨어제어부(22)는 컴퓨터에서 실행시킨 명령어에 따라 모터제어 동작 수행 중에도 새로운 명령을 받아들여 계속적으로 누적을 시킬 수 있도록 구성되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치.The hardware control unit 22 is a motor drive control device using a microprocessor, characterized in that configured to continuously accumulate by accepting a new command even during the motor control operation according to the command executed in the computer. 컴퓨터의 내부 슬롯에 삽입되어 펄스를 출력하여 모터를 제어하며 제어에 필요한 각종 입력신호에 의해서 위치를 제어하는데 사용되는 서보 및 스테핑용 모터구동제어장치의 제어 방법에 있어서,In the control method of the servo and stepping motor drive control device which is inserted into the internal slot of the computer to output a pulse to control the motor and to control the position by various input signals required for the control, 컴퓨터 내부의 슬롯에 본 발명에 따른 모터구동제어장치를 장착한 후 컴퓨터 전원을 인가하여 부팅이 완료되면 제어프로그램을 실행시키게 되며, 이 때 컴퓨터에서는 모터구동제어장치의 각종 상태값을 읽어들여 모니터 화면에 표시하는 제 1단계와,After the motor drive control device according to the present invention is mounted in a slot inside the computer, the computer power is applied and the control program is executed when the booting is completed. The first step shown in 컴퓨터에서 모터제어를 실행시키기 위한 사용자의 키보드 입력여부를 판단하는 제 2단계와,A second step of determining whether a user inputs a keyboard to execute motor control in a computer; 상기 제 2단계의 판단 결과, 사용자의 키보드 입력이 있으면 실행동작에 따른 제어명령을 구성하는 제 3단계와,A third step of constructing a control command according to an execution operation when there is a keyboard input of the user as a result of the determination of the second step; 실행동작에 따른 제어명령이 제어레지스터에 입력되는 제 4단계와,A fourth step of inputting a control command according to the execution operation to the control register; 실행명령 이전에 모터구동제어장치의 펄스출력 준비가 되었는지의 여부를 판단하는 제 5단계와,A fifth step of determining whether the motor drive control device is ready for pulse output before the execution command; 상기 제 5단계의 판단 결과, 펄스출력 준비가 정상적으로 완료되었으면 펄스출력 실행명령을 모터구동제어장치로 전달하게 되고, 이 때부터 모터구동제어장치는 모터를 제어하기 위한 펄스신호를 출력하기 시작하는 제 6단계와,As a result of the determination in the fifth step, if the pulse output preparation is normally completed, the pulse output execution command is transmitted to the motor drive control device, from which the motor drive control device starts outputting a pulse signal for controlling the motor. Step 6, 모터구동제어장치에서 출력하고 있는 펄스 개수 및 상태값이 화면에 표시되는 제 7단계와,The seventh step of displaying the number of pulses and the state value output from the motor drive control device on the screen; 모터 제어 실행동작 중에 펄스중지신호가 입력되었는지의 여부를 판단하는 제 8단계와,An eighth step of judging whether or not a pulse stop signal is input during the motor control execution operation; 상기 제 8단계의 판단 결과, 펄스중지신호가 입력되지 않은 상태이면 다시 목적지까지의 펄스 개수와 현재까지 출력된 펄스 개수가 일치하는지의 여부를 판단하는 제 9단계와,A ninth step of determining whether the number of pulses to the destination is equal to the number of pulses output so far if the pulse stop signal is not input as a result of the determination in the eighth step; 상기 제 9단계의 판단 결과, 현재까지 출력된 펄스 개수가 목적지까지의 펄스 개수와 일치하면 도착지점에 다다른 상태로써 펄스출력이 완료되는 것으로 컴퓨터 화면에 펄스출력이 정상적으로 종료되었을 때의 결과를 표시하는 제 10단계를 포함하는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치의 제어 방법.As a result of the determination in the ninth step, if the number of pulses output so far matches the number of pulses to the destination, the pulse output is completed when the pulse output is completed by reaching the destination point. A control method of a motor drive control apparatus using a microprocessor, characterized in that it comprises a tenth step. 제 6항에 있어서,The method of claim 6, 상기 제 2단계의 판단 결과, 사용자의 키보드 입력이 없으면 다시 상기 제 1단계로 돌아가 사용자의 키보드 입력이 있을 때까지 대기하는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치의 제어 방법.As a result of the determination of the second step, if there is no keyboard input of the user, the method returns to the first step and waits until there is a keyboard input of the user. 제 6항에 있어서,The method of claim 6, 상기 제 5단계의 판단 결과, 펄스출력 준비가 정상적으로 완료되지 않았으면 바로 종료되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치의 제어 방법.As a result of the determination of the fifth step, if the pulse output preparation is not completed normally, the control method of the motor drive control apparatus using a microprocessor. 제 6항에 있어서,The method of claim 6, 상기 제 8단계의 판단 결과, 펄스중지신호가 입력된 상태이면 모터구동제어장치에서는 펄스발생을 중지시키게 되고, 이 후 상기 제 10단계에서 화면에 펄스출력이 비정상적으로 종료되었을 때의 결과를 표시한 후 종료하게 되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치의 제어 방법.As a result of the determination in the eighth step, if the pulse stop signal is input, the motor drive control device stops generating the pulse. After that, in the tenth step, the result when the pulse output is abnormally terminated is displayed. The control method of the motor drive control device using a microprocessor, characterized in that the termination after. 제 6항에 있어서,The method of claim 6, 상기 제 9단계의 판단 결과, 현재까지 출력된 펄스 개수가 목적지까지의 펄스 개수와 일치하지 않으면 목적지에 미도착한 상태로써 다시 상기 제 7단계로 되돌아가서 계속 진행하게 되는 것을 특징으로 하는 마이크로프로세서를 이용한 모터구동제어장치의 제어 방법.As a result of the determination of the ninth step, if the number of pulses output so far does not match the number of pulses to the destination, the process returns to the seventh step and returns to the seventh step as it has not arrived at the destination. Control method of motor drive control device.
KR1020050005769A 2005-01-21 2005-01-21 A motor-controlling device using a microprocessor and a method therefor KR100698503B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050005769A KR100698503B1 (en) 2005-01-21 2005-01-21 A motor-controlling device using a microprocessor and a method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050005769A KR100698503B1 (en) 2005-01-21 2005-01-21 A motor-controlling device using a microprocessor and a method therefor

Publications (2)

Publication Number Publication Date
KR20060085269A KR20060085269A (en) 2006-07-26
KR100698503B1 true KR100698503B1 (en) 2007-03-21

Family

ID=37175012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050005769A KR100698503B1 (en) 2005-01-21 2005-01-21 A motor-controlling device using a microprocessor and a method therefor

Country Status (1)

Country Link
KR (1) KR100698503B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101012015B1 (en) * 2008-02-22 2011-01-31 김종백 Device for control of dispersion electric elements
KR100850032B1 (en) * 2008-02-28 2008-08-04 주식회사 다스텍 Apparatus and method for protecting motor from impact
KR101646210B1 (en) 2014-09-23 2016-08-05 국민대학교산학협력단 Motor control system for considering functional safety

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62210515A (en) 1986-03-12 1987-09-16 Hitachi Ltd Digital servo system controller
JPH0370487A (en) * 1989-08-04 1991-03-26 Toyota Motor Corp Servo motor drive monitor
JP2000046967A (en) 1988-06-17 2000-02-18 Seiko Epson Corp Analog electronic clock

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62210515A (en) 1986-03-12 1987-09-16 Hitachi Ltd Digital servo system controller
JP2000046967A (en) 1988-06-17 2000-02-18 Seiko Epson Corp Analog electronic clock
JPH0370487A (en) * 1989-08-04 1991-03-26 Toyota Motor Corp Servo motor drive monitor

Also Published As

Publication number Publication date
KR20060085269A (en) 2006-07-26

Similar Documents

Publication Publication Date Title
US4528632A (en) Industrial articulated robot linear interpolation control device
KR100698503B1 (en) A motor-controlling device using a microprocessor and a method therefor
JP4044105B2 (en) Numerical control device having function of switching operation means for each system
WO2018061254A1 (en) Actuator system and abnormality detection device
JPH1169886A (en) Drive control integrated circuit for stepping motor and stepping motor with drive control integrated circuit
US9880525B2 (en) Positioning apparatus and PLC system using same
CN111813132B (en) Positioning control method and device, programmable logic controller and readable storage medium
US10527676B2 (en) Abnormality diagnosing device and abnormality diagnosing method
JP2002341943A (en) Method for inputting positional data of servo motor into motion controller and device for carrying out the same method
KR20120027934A (en) Robot system with robot controller combined with teach pedant
JP4142589B2 (en) Modular functional blocks for field-oriented control systems
CN112737436B (en) Stepping motor pulse output control method based on DMA
KR100761689B1 (en) Torque limited motor controll methode &amp; motor controller
JP2006178832A (en) Motor driving pulse output ic, and electronic cam control system
JP3486456B2 (en) Remote control method, local controller and remote control device for injection molding machine
WO2019011051A1 (en) Control system and method for debugging switch, and devices
JP2014187791A (en) Motor control device, motor control method, and game machine
US6130515A (en) Positioning control unit
JP7230511B2 (en) SOFTWARE EXECUTION LOAD FACTOR MEASUREMENT IN CONTROLLER
CN115001325B (en) Timed interrupt control method and multi-step motor synchronous control system and method
US10802458B2 (en) System for building an industrial control program from device type classes having device specific instructions
JP2000029545A (en) Direct-current voltage power pack
KR101270338B1 (en) Inverter with controller
WO2023066974A1 (en) Motor control method and apparatus
JP2002171781A (en) Control method for motor, repeat operational processor used for the method, and the motor

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: 20121224

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150305

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170307

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee