KR200284495Y1 - Driving Module of Servo-Motor for Robot - Google Patents

Driving Module of Servo-Motor for Robot Download PDF

Info

Publication number
KR200284495Y1
KR200284495Y1 KR2020020014350U KR20020014350U KR200284495Y1 KR 200284495 Y1 KR200284495 Y1 KR 200284495Y1 KR 2020020014350 U KR2020020014350 U KR 2020020014350U KR 20020014350 U KR20020014350 U KR 20020014350U KR 200284495 Y1 KR200284495 Y1 KR 200284495Y1
Authority
KR
South Korea
Prior art keywords
servo motor
servomotor
signal
microcontroller
module
Prior art date
Application number
KR2020020014350U
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 KR2020020014350U priority Critical patent/KR200284495Y1/en
Application granted granted Critical
Publication of KR200284495Y1 publication Critical patent/KR200284495Y1/en

Links

Landscapes

  • Control Of Electric Motors In General (AREA)
  • Manipulator (AREA)

Abstract

본 고안은 로봇용 서보모터 구동모듈에 관한 것으로서, 본 고안에 따른 서보모터 구동모듈은, 메인제어모듈의 제어명령 신호를 송수신하고 피드백되는 위치신호를 출력하기 위한 시리얼 통신포트와, 상기 시리얼 통신포트와 연동하여 상기 제어명령 신호에 따라 서보모터를 제어하기 위한 마이크로컨트롤러와, 상기 마이크로컨트롤러의 제어신호에 따라 서보모터의 회전방향 및 속도를 제어하기 위한 H-브릿지(H-Bridge) 회로부 및 상기 서보모터로부터 피드백되는 위치신호를 검출하여 상기 마이크로컨트롤러에 전달하는 위치검출부를 포함하며, 상기 마이크로컨트롤러는 상기 제어명령 신호에 따라 내장된 독립적인 제어 알고리즘을 통해 상기 서보모터의 위치 및 속도를 제어할 수 있는 것을 특징으로 한다.The present invention relates to a servo motor driving module for a robot, and the servo motor driving module according to the present invention includes a serial communication port for transmitting and receiving a control command signal of a main control module and outputting a feedback position signal, and the serial communication port. And a microcontroller for controlling the servomotor according to the control command signal, an H-bridge circuit part for controlling the rotation direction and speed of the servomotor according to the control signal of the microcontroller, and the servo. A position detector detects a position signal fed back from a motor and transmits the position signal to the microcontroller. The microcontroller may control the position and speed of the servomotor through an independent control algorithm built in accordance with the control command signal. It is characterized by being.

따라서, 상기 메인 제어모듈에 구비되는 하나의 시리얼 포트로 다수개의 서보모터를 제어할 수 있고 양방향 시리얼 통신을 통해 서보모터의 현재 위치를 피드백하여 상기 메인 제어모듈로 전달할 수 있는 효과가 있다.Therefore, it is possible to control a plurality of servo motors with one serial port provided in the main control module and to feed back the current position of the servo motor to the main control module through bidirectional serial communication.

Description

로봇용 서보모터 구동모듈{Driving Module of Servo-Motor for Robot}Servo motor drive module for robots {Driving Module of Servo-Motor for Robot}

본 고안은 로봇용 서보모터 구동모듈에 관한 것으로서, 특히 PC 등 메인 제어모듈의 제어신호에 따른 시리얼(Serial) 통신을 통해 다수개의 서보모터의 속도 및 위치를 제어하기 위한 로봇용 서보모터 구동모듈에 관한 것이다.The present invention relates to a servo motor drive module for a robot, and more particularly, to a servo motor drive module for controlling the speed and position of a plurality of servo motors through serial communication according to a control signal of a main control module such as a PC. It is about.

일반적으로, 로봇(Robot)은 구동방식에 따라 캠 등에 의해 동작되는 기계식, 에어와 에어실린더가 사용하는 공기식, 유압과 유압실린더를 이용한 유압식, 그리고 3상교류 유도전동기나 서보모터 등의 전동기를 사용한 전기식 등으로 분류할 수 있으며, 일반적으로 작업동작을 수행하기 위해 하나 이상의 팔 또는 다리를 구비하고 있다.In general, a robot is a mechanical type operated by a cam or the like according to a driving method, a pneumatic type used by air or an air cylinder, a hydraulic type using a hydraulic or hydraulic cylinder, and a motor such as a three-phase AC induction motor or a servo motor. It can be classified into used electric and the like, and generally has one or more arms or legs for performing a work operation.

통상, 전기식 로봇에서 로봇의 팔 또는 다리 등을 구동하기 위해 사용되는 서보모터는 로봇제어기에 의해 구동제어 되는데, 상기 로봇제어기는 주제어부와 서보모터 드라이버(Servo-motor Driver)로 구성된다. 이때, 주제어부는 유저인터페이스(User Interface)를 담당하는 부분으로, 사용자가 프로그램 편집기를 이용하여 작성한 기계어를 전송받아 해석하여 제어신호를 생성하고, 상기 제어신호를 서보모터 드라이버에 전달하는 역할을 한다. 상기 주제어부로부터 전달된 제어신호에 따라 서보모터 드라이버는 로봇의 팔 또는 다리의 관절 등에 설치되어 있는 서보모터를 구동제어하고, 동시에 서보모터의 상태를 검사하여 이상 검출시 오동작신호를 발생시켜이를 외부에 알리게 된다.In general, a servomotor used to drive an arm or a leg of a robot in an electric robot is controlled by a robot controller. The robot controller includes a main controller and a servomotor driver. At this time, the main control unit is a part in charge of the user interface (User Interface), the user receives the machine language written using a program editor to interpret and generate a control signal, and serves to deliver the control signal to the servomotor driver. According to the control signal transmitted from the main controller, the servo motor driver controls the servo motor installed in the joint of the arm or leg of the robot, and simultaneously checks the state of the servo motor to generate a malfunction signal when an abnormality is detected. You will be informed.

그러나, 종래의 상기 서보모터는 PWM(Pulse-Width Modulation: 펄스폭 변조, 이하 "PWM"이라 함) 신호를 통해 제어되기 때문에, 로봇의 관절용 등으로 다수개의 서보모터를 사용하여 제어하기 위해서는 상기 주제어부의 포트(Port)가 서보모터의 개수만큼 필요하게 되어 PWM 신호를 생성하는데 많은 제약을 받게 되고 이에 따라 제어알고리즘도 복잡해지는 문제점이 있었다.However, since the conventional servomotor is controlled through a pulse-width modulation (PWM) signal, a plurality of servomotors may be used to control the robot joints. Since the number of ports of the main controller is required as many as the number of servo motors, there are many limitations in generating a PWM signal, and accordingly, the control algorithm is complicated.

상기한 문제를 해결하기 위한 본 고안의 목적은, PC 등과 같은 메인 제어모듈의 제어명령 신호를 시리얼 통신포트를 통해 송수신하고 내장되는 독립적인 제어 알고리즘을 통해 서보모터의 속도 및 위치를 제어함으로써 상기 메인 제어모듈에 구비되는 하나의 시리얼 포트로 다수개의 서보모터를 구동할 수 있게 하기 위한 로봇용 서보모터 구동모듈을 제공하는데 있다.An object of the present invention for solving the above problems, by transmitting and receiving a control command signal of the main control module, such as a PC through the serial communication port and by controlling the speed and position of the servo motor through a built-in independent control algorithm It is to provide a servo motor drive module for a robot for driving a plurality of servo motors to one serial port provided in the control module.

또한, 본 고안의 다른 목적은, 상기 메인 제어모듈과의 양방향 시리얼 통신을 통해 서보모터의 현재 위치를 피드백하여 상기 메인 제어모듈로 전달할 수 있게 하기 위한 로봇용 서보모터 구동모듈을 제공하는데 있다.In addition, another object of the present invention is to provide a servo motor driving module for a robot to be able to feed back the current position of the servo motor to the main control module through bidirectional serial communication with the main control module.

도 1은 본 고안에 따른 로봇용 서보모터 구동모듈 및 제어방법을 개략적으로 설명하기 위한 구성도이다.1 is a configuration diagram schematically illustrating a servo motor driving module and a control method for a robot according to the present invention.

도 2는 본 고안에 따른 로봇용 서보모터 구동모듈의 일 실시예를 나타내는 블록도이다.2 is a block diagram showing an embodiment of a servo motor drive module for a robot according to the present invention.

도 3은 본 고안에 따른 로봇용 서보모터 구동모듈의 일 실시예를 나타내는 회로도이다.3 is a circuit diagram showing an embodiment of a servomotor drive module for a robot according to the present invention.

도 4a는 본 고안에 따른 로봇용 서보모터 제어방법의 일 실시예를 나타내는 흐름도이다.4A is a flowchart illustrating an embodiment of a method for controlling a servo motor for a robot according to the present invention.

도 4b는 본 고안에 따른 로봇용 서보모터 제어방법의 일 실시예를 나타내는 흐름도이다.Figure 4b is a flow chart showing an embodiment of a servo motor control method for a robot according to the present invention.

도 5는 본 고안에 따른 도 4의 시리얼 제어명령 수신 알고리즘의 일 실시예를 나타내는 흐름도이다.5 is a flowchart illustrating an embodiment of the serial control command receiving algorithm of FIG. 4 according to the present invention.

※도면의 주요부분에 대한 부호의 설명※ Explanation of symbols for main parts of drawing

1: 메인 제어모듈 10: 서보모터 구동모듈1: Main control module 10: Servo motor drive module

13: 시리얼 통신포트 14: 마이크로컨트롤러13: Serial communication port 14: Microcontroller

15: H-브릿지 회로부 16: 서보모터15: H-bridge circuit section 16: servomotor

17: 위치검출부 18: 보조 전원부17: position detector 18: auxiliary power supply

상기 목적을 달성하기 위한 본 고안에 따른 로봇용 서보모터 구동모듈은, 메인제어모듈의 제어명령 신호를 송수신하고 피드백(feed-back)되는 위치신호를 출력하기 위한 시리얼 통신포트와, 상기 시리얼 통신포트와 연동하여 상기 제어명령 신호에 따라 서보모터를 제어하기 위한 마이크로컨트롤러와, 상기 마이크로컨트롤러의 제어신호에 따라 서보모터의 회전방향 및 속도를 제어하기 위한 H-브릿지(H-Bridge) 회로부 및 상기 서보모터로부터 피드백되는 위치신호를 검출하여 상기 마이크로컨트롤러에 전달하는 위치검출부를 포함하며, 상기 마이크로컨트롤러는 상기 제어명령 신호에 따라 내장된 독립적인 제어알고리즘을 통해 상기 서보모터의 위치 및 속도를 제어할 수 있는 것이 바람직하다.The robot servo motor driving module according to the present invention for achieving the above object, a serial communication port for transmitting and receiving a control command signal of the main control module and outputting a feedback signal (feed-back), and the serial communication port And a microcontroller for controlling the servomotor according to the control command signal, an H-bridge circuit part for controlling the rotation direction and speed of the servomotor according to the control signal of the microcontroller, and the servo. A position detector detects a position signal fed back from a motor and transmits the position signal to the microcontroller. The microcontroller may control the position and speed of the servomotor through an independent control algorithm built in accordance with the control command signal. It is desirable to have.

상기 시리얼 통신포트는 송신부, 수신부, 전원부로 구성되며, 다수개의 다른 상기 서보모터 구동모듈과 연동되어 양방향 통신이 가능한 것이 바람직하다.The serial communication port is composed of a transmitter, a receiver, and a power supply unit, and it is preferable that two-way communication is possible by interworking with a plurality of other servo motor driving modules.

상기 메인제어모듈은 PC를 포함하는 CPU가 구비된 제어모듈이며, 상기 메인제어모듈의 하나의 시리얼 포트를 통해 다수개의 상기 서보모터 구동모듈이 연동되어 상기 서보모터의 위치 및 속도가 제어될 수 있는 것이 바람직하다.The main control module is a control module including a CPU including a PC, and a plurality of the servo motor driving modules are interlocked through one serial port of the main control module to control the position and speed of the servo motor. It is preferable.

또한, 상기 목적을 달성하기 위한 본 고안에 따른 로봇용 서보모터 제어방법은, 서보모터 구동모듈의 시리얼 통신포트를 통해 메인제어모듈의 시리얼 제어명령 신호를 수신하는 단계, 상기 서보모터 구동모듈의 마이크로컨트롤러와 연동되는 위치검출부를 통해 서보모터의 현재위치를 검출하는 단계, 상기 시리얼 제어명령 신호에 의해 전달된 상기 서보모터의 목표위치를 이용해 위치오차를 계산하는 단계 및 상기 계산된 위치오차에 따라 PWM 펄스폭을 결정하고 속도를 설정하여 상기 마이크로컨트롤러와 연동되는 H-브릿지회로부를 통해 상기 서보모터로 PWM 신호를 출력하는 단계를 포함하여 이루어진다.In addition, the robot servo motor control method according to the present invention for achieving the above object, receiving a serial control command signal of the main control module through the serial communication port of the servo motor drive module, the micro of the servo motor drive module Detecting a current position of the servomotor through a position detection unit linked with a controller, calculating a position error using a target position of the servomotor transmitted by the serial control command signal, and PWM according to the calculated position error Determining a pulse width, setting a speed, and outputting a PWM signal to the servomotor through an H-bridge circuit unit interworking with the microcontroller.

상기 서보모터 구동모듈은 상기 서보모터 고유의 ID값을 설정하고 있는 것이 바람직하다.Preferably, the servomotor drive module sets an ID value unique to the servomotor.

상기 시리얼 통신포트를 통해 송수신되는 데이터는, 바이트 넘버, 상기 서보모터의 ID값, 상기 서보모터의 위치 및 속도 데이터를 포함하는 것이 바람직하다.The data transmitted / received through the serial communication port preferably includes a byte number, an ID value of the servomotor, a position and a speed data of the servomotor.

이하에서 본 고안에 따른 로봇용 서보모터 구동모듈의 일 실시예를 첨부한 도면을 참조로 상세히 설명한다.Hereinafter, with reference to the accompanying drawings an embodiment of the servo motor drive module for a robot according to the present invention will be described in detail.

도 1은 본 고안에 따른 로봇용 서보모터 구동모듈의 일 실시예를 개략적으로 설명하기 위한 구성도이다. 즉, 도면에서 나타낸 바와 같이, 본 고안에 따른 로봇용 서보모터 구동모듈(10)은 사용자 PC 등의 메인제어모듈(1)로부터 제어명령 신호를 입력받아 단방향 시리얼 통신(IN/OUT)을 통해 다른 다수개의 서보모터 구동모듈로 전송하거나, 서보모터 구동모듈(10)과 연동되는 서보모터(16)로부터 피드백되는 위치신호를 양방향 시리얼 통신을 통해 상기 메인제어모듈(1)로 출력할 수 있다.1 is a configuration diagram for schematically illustrating an embodiment of a servo motor driving module for a robot according to the present invention. That is, as shown in the figure, the robot servo motor drive module 10 according to the present invention receives a control command signal from the main control module 1, such as a user PC through another one-way serial communication (IN / OUT) A plurality of servo motor driving modules may be transmitted, or position signals fed back from the servo motor 16 interlocked with the servo motor driving module 10 may be output to the main control module 1 through bidirectional serial communication.

본 고안에 따른 서보모터 구동모듈(10)은 한 개의 시리얼 통신포트로 최대 8개의 다른 서보모터 구동모듈을 연결하여 상기 메인제어모듈(1)의 제어명령 신호를 전달할 수 있다.The servo motor driving module 10 according to the present invention may transmit a control command signal of the main control module 1 by connecting up to eight other servo motor driving modules to one serial communication port.

도 2 및 도 3은 본 고안에 따른 로봇용 서보모터 구동모듈을 나타내는 블록도 및 회로도이다.2 and 3 is a block diagram and a circuit diagram showing a servo motor drive module for a robot according to the present invention.

즉, 도면에서 나타낸 것처럼, 본 고안에 따른 로봇용 서보모터 구동모듈은, 메인제어모듈의 제어명령 신호를 송수신하고 피드백되는 위치신호를 출력하기 위한 시리얼 통신포트(13)와, 시리얼 통신포트(13)와 연동하여 상기 제어명령 신호에 따라 서보모터(16)를 제어하기 위한 마이크로컨트롤러(14)와, 마이크로컨트롤러(14)의 제어신호에 따라 서보모터(16)의 회전방향 및 속도를 제어하기 위한 H-브릿지 회로부(15) 및 상기 서보모터(16)로부터 피드백되는 위치신호를 검출하여 마이크로컨트롤러(14)에 전달하는 위치검출부(17)를 포함하여 이루어진다.That is, as shown in the drawings, the servomotor drive module for a robot according to the present invention includes a serial communication port 13 and a serial communication port 13 for transmitting and receiving a control command signal of the main control module and outputting a feedback position signal. Microcontroller 14 for controlling the servo motor 16 according to the control command signal in conjunction with the control command signal, and for controlling the rotation direction and speed of the servomotor 16 according to the control signal of the microcontroller 14. And a position detector 17 which detects a position signal fed back from the H-bridge circuit unit 15 and the servomotor 16 and transmits the position signal to the microcontroller 14.

상기 시리얼 통신포트(13)는 데이지 체인(Daisy Chain) 직렬 연결방식이 가능하며, 메인제어모듈로부터 직접 혹은 다른 서보모터 구동모듈로부터 상기 제어명령 신호를 수신하고 또 다른 서보모터 구동모듈로 송신하거나 피드백되는 서보모터(16)의 위치신호를 상기 메인제어모듈로 출력하기 위한 시리얼 송수신포트(P1, P3)가 일체인 한 개의 시리얼 통신포트(13)로 이루어진다. 상기 시리얼 통신포트(13)는 각각 신호단자(RXD, TXD), 전원단자 및 접지(GND)로 이루어져 있고, 상기 신호단자(RXD, TXD)를 통해 송수신되는 데이터는 바이트 넘버, 한 개의 선에 연결된 서보모터를 구별하기 위해 각 서보모터가 갖는 서보모터(16)의 고유 ID값, 서보모터(16)의 위치 및 속도 데이터를 포함하고 있다.The serial communication port 13 has a daisy chain serial connection method, and receives the control command signal directly from the main control module or from another servo motor driving module and transmits or feeds back to another servo motor driving module. It consists of one serial communication port 13 in which the serial transmission and reception ports (P1, P3) for outputting the position signal of the servo motor 16 to the main control module. The serial communication port 13 is composed of signal terminals (RXD, TXD), power terminals and ground (GND), respectively, and the data transmitted and received through the signal terminals (RXD, TXD) is connected to a byte number, one line In order to distinguish a servomotor, the unique ID value of the servomotor 16 which each servomotor has, the position and speed data of the servomotor 16 are included.

상기 마이크로컨트롤러(14)는 8비트 CMOS 컨트롤러로서, 타임 인터럽트 요청을 위한 다수개의 타이머(Timer), 8비트 A/D(Analog-to-Digital) 컨버터, 본 고안에 따른 독립적인 제어알고리즘이 내장되는 내부ROM을 포함한다. 또한, 상기 마이크로컨트롤러(14)는 딥 스위치(DIP SW, S1)와 연동하여 서보모터(16) 고유의 ID값을 설정하여 저장할 수 있다.The microcontroller 14 is an 8-bit CMOS controller, which includes a plurality of timers for time interrupt requests, an 8-bit analog-to-digital converter, and an independent control algorithm according to the present invention. It contains an internal ROM. In addition, the microcontroller 14 may set and store an ID value unique to the servomotor 16 in conjunction with the dip switches DIP SW and S1.

또한, 상기 마이크로컨트롤러(14)는 메인제어모듈로부터 수신되는 상기 제어명령 신호에 따라 상기 서보모터(16)로 위치 및 속도 값을 출력한다.In addition, the microcontroller 14 outputs the position and speed values to the servomotor 16 according to the control command signal received from the main control module.

상기 H-브릿지 회로부(15)는 마이크로컨트롤러(14)의 제어신호에 따라 서로 병렬 연결된 PNP 트랜지스터(Q2, Q3), NPN 트랜지스터(Q4, Q5) 및 다이오드(D2, D3, D5,D6))를 통해 상기 서보모터(16)의 회전방향 및 속도를 제어한다. 또한, 상기 위치검출부(17)는 상기 서보모터(16)로부터 피드백되는 위치신호를 검출하여 상기 마이크로컨트롤러(14)로 전달하게 된다. 상기 서보모터(16)는 서보모터 구동모듈(10)의 출력포트(P4)와 연동되며 감속기를 통해 출력 축과 회전각도 센서에 연결되어 있다.The H-bridge circuit unit 15 connects PNP transistors Q2 and Q3, NPN transistors Q4 and Q5 and diodes D2, D3, D5, and D6 connected in parallel to each other according to a control signal of the microcontroller 14). By controlling the rotation direction and speed of the servomotor 16. In addition, the position detector 17 detects a position signal fed back from the servo motor 16 and transmits the position signal to the microcontroller 14. The servo motor 16 is interlocked with the output port P4 of the servo motor driving module 10 and is connected to the output shaft and the rotation angle sensor through a reducer.

본 고안에 따른 로봇용 서보모터 구동모듈(10)은, 기본적으로 메인제어모듈(1)의 전원을 사용하지만, 서보모터 구동모듈(10)의 개수가 일정 이상이 되면 내부의 보조 전원부(18)를 통해 전원을 공급할 수도 있다.The robot servomotor driving module 10 according to the present invention basically uses the power supply of the main control module 1, but when the number of the servomotor driving module 10 becomes more than a predetermined level, the internal auxiliary power supply 18 Power can also be supplied via.

이하에서는 본 고안에 따른 로봇용 서보모터 구동모듈을 이용한 서보모터 제어방법을 첨부한 도면을 참조로 상세히 설명한다.Hereinafter, a servo motor control method using a servo motor drive module for a robot according to the present invention will be described in detail with reference to the accompanying drawings.

도 4a 및 도 4b는 본 고안에 따른 로봇용 서보모터 구동모듈을 이용한 서보모터 제어방법의 일 실시예를 나타내는 흐름도이다. 즉, 도면에서 나타낸 것처럼, 시리얼 신호가 입력되면, 프로그램에서는 인터럽트 서비스 루틴이 실행되어 제어명령을 수신한다(S100). 이 때, 상기 시리얼 신호는 서보모터(16)의 목표위치값을 포함한다. 상기 마이크로컨트롤러(14)와 연동되는 위치검출부(17)를 통해 서보모터(16)의 현재위치를 타임 인터럽트를 통하여 일정시간 간격으로 검출하여(S101), 상기 시리얼 신호에 의해 전달된 목표위치를 이용해 위치오차를 계산한다(S102). 상기 계산된 위치오차에 의해 PWM의 펄스폭을 결정하고(S103), 속도를 설정하여(S104) 상기 마이크로컨트롤러(14)와 연동되는 H-브릿지 회로부(15)를 통해 상기 서보모터(16)로 PWM 신호를 출력하게 된다(S105). 상기 마이크로컨트롤러(14)는 자신의서보모터(16)에 대한 고유의 ID값을 기설정하고 있는 것이 바람직하다.4A and 4B are flowcharts illustrating an embodiment of a servo motor control method using a servo motor drive module for a robot according to the present invention. That is, as shown in the figure, when a serial signal is input, the program executes an interrupt service routine to receive a control command (S100). At this time, the serial signal includes a target position value of the servomotor 16. The current position of the servomotor 16 is detected at a predetermined time interval through the time interruption through the position detector 17 interlocked with the microcontroller 14 (S101), using the target position transmitted by the serial signal. The position error is calculated (S102). The pulse width of the PWM is determined based on the calculated position error (S103), and the speed is set (S104) to the servomotor 16 through the H-bridge circuit unit 15 interlocked with the microcontroller 14. The PWM signal is output (S105). It is preferable that the microcontroller 14 presets a unique ID value for the servo motor 16 of the microcontroller 14.

본 고안에 따른 로봇용 서보모터 구동모듈(10)의 시리얼 통신포트(13) 신호단자(RXD, TXD)를 통해 송수신되는 데이터는 바이트 넘버, 서보모터(16)의 ID값, 서보모터(16)의 위치 및 속도 데이터를 포함하며, 1개의 시작 비트(Start Bit), 8개 데이터 비트(Data Bit), 1개의 종료 비트(Stop Bit)로 구성되는 10비트를 하나의 바이트로 하며 총 2개의 바이트(바이트0, 바이트1)로 나누어 PC 등에서 범용 프로그래밍이 가능하도록 되어 있다.Data transmitted and received through the serial communication port 13 signal terminals (RXD, TXD) of the robot servo motor drive module 10 according to the present invention is a byte number, the ID value of the servo motor 16, the servo motor 16 It contains position and velocity data of 10 bytes, which consists of 1 Start Bit, 8 Data Bits, and 1 Stop Bit. By dividing into (byte 0, byte 1), general-purpose programming is possible with a PC or the like.

다음의 표 1은 송수신되는 데이터의 구성을 나타낸다.Table 1 below shows the configuration of data to be transmitted and received.

표 1에서 바이트의 순서확인은 바이트 수신후, 바이트 넘버를 검사하여 바이트 넘버=0이면 0번 바이트(바이트0), 바이트 넘버=1이면 1번 바이트(바이트1)로 판별한다. 즉, 데이터 비트를 확장하여 1개의 바이트로 전송하지 않고 상기와 같이 두 개의 바이트(바이트0, 바이트1)로 나누는 것은 PC에서 같이 범용 프로그래밍을 이용하여 구동할 수 있도록 하기 위함이다. 상기 표 1의 시리얼 제어명령 데이터는 바이트0, 바이트1의 순서로 전송되며, 상기 첫 번째 시리얼 제어명령 데이터(바이트0 및 바이트1)가 수신된 후 메인제어모듈(1)에서 정의된 제어명령 대기시간만큼 경과된 다음, 두 번째 시리얼 제어명령 데이터(바이트0, 바이트1)가 수신되는 순서로반복된다.In Table 1, byte order checking is determined by receiving byte and checking byte number to determine byte 0 (byte 0) if byte number = 0, and byte 1 (byte 1) if byte number = 1. In other words, dividing the data bit into two bytes (bytes 0 and byte 1) as described above, instead of extending the data bits into one byte, is intended to be driven by general-purpose programming as in a PC. The serial control command data of Table 1 is transmitted in the order of byte 0, byte 1, and the control command wait defined by the main control module 1 after the first serial control command data (byte 0 and byte 1) is received. After the elapse of time, the second serial control command data (bytes 0 and byte 1) is repeated in the order in which they are received.

도 5는 표 1과 같이 구성되는 상기 시리얼 제어명령 신호를 수신하는 알고리즘을 보다 상세하게 나타내는 흐름도이다. 즉, 도면에서 나타낸 바와 같이, 우선 마이크로컨트롤러(14)는 타이머 인터럽트(RB0/INT)를 통해 일정 시간마다 시리얼 통신포트(13)를 검사하고(S201), "L" 신호가 검출되는지 확인한다(S202). 만약, "L"신호가 검출되면(엑티브 로우, 비트0), 이것을 시작비트로 인식하고 시작비트 처리 루틴으로 가서 시작비트인지 확인한 후(S203), 시리얼 통신포트(13)의 플래그에서 비트넘버와 비트 지연시간을 카운트한다(S204). 상기 비트 넘버는 시작비트를 제외하고 수신되는 비트수를 의미하며, 상기 비트 지연시간은 각각의 수신 비트 간격을 유지하기 위한 지연시간으로 상기 타이머 인터럽트 시간의 정수배로 설정된다. 참고적으로, 본 고안에서 상기 타이머 인터럽트 간격은 104㎲이고, 통신속도는 4800bps로서 상기 비트 지연시간은 208㎲이다.5 is a flowchart illustrating in more detail an algorithm for receiving the serial control command signal configured as shown in Table 1. FIG. That is, as shown in the figure, the microcontroller 14 first checks the serial communication port 13 at regular intervals through the timer interrupt RB0 / INT (S201), and checks whether the "L" signal is detected ( S202). If the "L" signal is detected (active low, bit 0), it is recognized as a start bit and the start bit processing routine is checked to see if it is a start bit (S203). Then, the bit number and bit in the flag of the serial communication port 13 are detected. The delay time is counted (S204). The bit number means the number of bits received except the start bit, and the bit delay time is a delay time for maintaining each receiving bit interval and is set as an integer multiple of the timer interrupt time. For reference, in the present invention, the timer interrupt interval is 104ms, the communication speed is 4800bps and the bit delay time is 208ms.

만약, "L"신호가 검출되지 않으면(엑티브 하이, 비트1) 비트 지연시간을 카운트하고(S205) 비트 지연시간이 0인지 확인하여(S206), 비트 지연시간이 0이면 비트 지연시간 및 비트 넘버를 카운트한다(S207). 즉, 송신측의 시작비트 검출시점으로부터 (비트 지연시간 + α지연시간) 후 비트0을 검출하고, 그 다음 비트 지연시간이 경과한 후, 각각 비트1 내지 비트7을 수신하게 된다(여기서 α는, 0< α<비트지연시간*1/4).If the "L" signal is not detected (active high, bit 1), the bit delay time is counted (S205), and if the bit delay time is 0 (S206), if the bit delay time is 0, the bit delay time and bit number Is counted (S207). That is, bit 0 is detected after (bit delay time + α delay time) from the start bit detection time on the transmitting side, and after the next bit delay time has elapsed, bits 1 to 7 are respectively received (where α is , 0 <α <bit delay time * 1/4).

그리고, 상기와 같이 카운트된 비트 넘버가 0인지를 확인하고(S208), 비트 넘버가 0이 아니라면 수신된 데이터 비트를 리드하고(S209) 할당된 변수(시리얼 버퍼)에저장한다(S210). 상기와 같이 시작비트 검출 시점으로부터 데이터를 수신하게 되면 0번 바이트(바이트0)와 1번 바이트(바이트1) 사이에 시간 지연이 발생하더라도 올바른 데이터를 수신할 수 있다.As described above, it is checked whether the counted bit number is 0 (S208). If the bit number is not 0, the received data bit is read (S209) and stored in an allocated variable (serial buffer) (S210). When data is received from the start bit detection time as described above, even if a time delay occurs between byte 0 (byte 0) and byte 1 (byte 1), the correct data can be received.

만약, 상기 비트 넘버가 0이면, 상기 시리얼 통신포트(13)의 플래그에서 비트를 클리어하고(S211), 시리얼 명령수신 종료루틴으로 간다. 상기 시리얼 명령수신 종료루틴에서는 바이트 넘버 비트가 0(바이트0)인지 확인하여(S212) 비트0이면, 바이트0 저장루틴에서 할당된 변수의 비트7이 0인지 확인하고(S213) 바이트 넘버 비트를 1로 설정한 다음(S214), 상기 수신된 바이트0을 할당된 변수(임시 시리얼 버퍼)에 임시 저장한다(S215). 만약, 상기 바이트 넘버 비트가 0이 아니라면(바이트1), 할당된 변수의 비트7이 1인지 확인하고(S216) 수신된 바이트1을 할당된 변수(임시 시리얼 버퍼)에 임시 저장하고 상기 바이트 넘버 비트를 클리어 시킨다(S217).If the bit number is 0, the bit is cleared in the flag of the serial communication port 13 (S211), and the serial command reception end routine is reached. In the serial command reception end routine, if the byte number bit is 0 (byte 0) (S212) and bit 0, if bit 7 of the variable allocated in the byte 0 storage routine is 0 (S213), the byte number bit is 1 After setting to (S214), the received byte 0 is temporarily stored in an allocated variable (temporary serial buffer) (S215). If the byte number bit is not 0 (byte 1), check whether bit 7 of the allocated variable is 1 (S216), and temporarily store the received byte 1 in the allocated variable (temporary serial buffer) and the byte number bit. Clear (S217).

상기와 같이 2개의 바이트(바이트0, 바이트1)를 모두 수신한 후에는, 수신요구가 없는 제어명령 대기시간을 이용하여 ID 검사루틴을 실행한다. 즉, 0번 바이트(바이트0)의 ID 비트가 기설정된 자신의 서보모터 ID와 같은지 확인하고(S218), 자신의 ID와 동일하면 상기 할당된 변수(임시 시리얼 버퍼)의 제어명령(속도 및 위치값)을 명령실행 변수에 복사하고(S219) 같지 않으면 무시한다. 1번 바이트(바이트1)는 상기 표1에서 나타낸 것처럼 ID 비트를 포함하고 있지 않지만, 항상 0번 바이트(바이트0)와 같이 한 쌍으로 0번 바이트, 1번 바이트의 순서로 수신된다.After the two bytes (byte 0, byte 1) are received as described above, the ID check routine is executed using the control instruction waiting time without receiving a request. That is, the controller checks whether the ID bit of byte 0 (byte 0) is the same as its own preset servomotor ID (S218). Value) to the command execution variable (S219) and ignores it if not equal. Byte 1 (Byte 1) does not contain an ID bit as shown in Table 1 above, but is always received in the order of Byte 0 and Byte 1 in a pair as Byte 0 (Byte 0).

전술한 바와 같이 본 고안에 따른 로봇용 서보모터 구동모듈 및 제어방법의 구체예에 의하면, 사용자 PC와 같은 메인 제어모듈의 제어명령 신호를 시리얼 통신포트를 통해 수신하여 다른 서보모터 구동모듈로 송신하고 상기 제어명령 신호에 따른 독립적인 제어 알고리즘를 통해 서보모터의 속도 및 위치를 제어함으로써, 메인 제어모듈에 탑재된 하나의 시리얼 포트로 다수개의 서보모터를 제어할 수 있다.As described above, according to a specific example of the robot servomotor driving module and control method according to the present invention, the control command signal of the main control module such as the user PC is received through the serial communication port and transmitted to another servomotor driving module. By controlling the speed and position of the servomotor through an independent control algorithm according to the control command signal, a plurality of servomotors can be controlled by one serial port mounted in the main control module.

또한, 상기 시리얼 통신포트를 통해 상기 메인 제어모듈과 양방향 통신이 가능하므로 서보모터의 현재 위치를 피드백하여 상기 메인 제어모듈로 전달할 수도 있다.In addition, since the two-way communication with the main control module through the serial communication port is possible to feed back the current position of the servo motor to the main control module.

이상에서 살펴본 바와 같이 본 고안에 따른 로봇용 서보모터 구동모듈에 의하면, PC 등과 같은 메인 제어모듈의 제어명령 신호를 시리얼 통신포트를 통해 송수신하고 내장되는 독립적인 제어 알고리즘을 통해 서보모터의 위치 및 속도를 제어함으로써 상기 메인 제어모듈에 구비되는 하나의 시리얼 포트로 다수개의 서보모터를 구동할 수 있는 효과가 있다.As described above, according to the robot servomotor driving module according to the present invention, the control command signal of the main control module, such as a PC, is transmitted and received through the serial communication port, and the position and speed of the servomotor are provided through a built-in independent control algorithm. By controlling the effect of driving a plurality of servo motors to one serial port provided in the main control module.

또한, 상기 메인 제어모듈과의 양방향 시리얼 통신을 통해 서보모터의 현재 위치를 피드백하여 상기 메인 제어모듈로 전달할 수 있는 효과가 있다.In addition, it is possible to feed back the current position of the servomotor to the main control module through bidirectional serial communication with the main control module.

이상에서 본 고안은 기재된 구체예에 대해서만 상세히 설명하였지만 본 고안의 기술사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 실용신안등록청구범위에 속함은 당연한 것이다.Although the present invention has been described in detail only with respect to the embodiments described, it will be apparent to those skilled in the art that various modifications and changes are possible within the technical spirit of the present invention, and such modifications and modifications belong to the appended utility model claims. will be.

Claims (5)

메인제어모듈의 제어명령 신호를 송수신하고 피드백되는 위치신호를 출력하기 위한 시리얼 통신포트와;A serial communication port for transmitting and receiving a control command signal of the main control module and outputting a feedback position signal; 상기 시리얼 통신포트와 연동하여 상기 제어명령 신호에 따라 서보모터를 제어하기 위한 마이크로컨트롤러;A microcontroller for controlling the servo motor according to the control command signal in association with the serial communication port; 상기 마이크로컨트롤러의 제어신호에 따라 서보모터의 회전방향 및 속도를 제어하기 위한 H-브릿지 회로부; 및An H-bridge circuit unit for controlling the rotational direction and speed of the servomotor according to the control signal of the microcontroller; And 상기 서보모터로부터 피드백되는 위치신호를 검출하여 상기 마이크로컨트롤러에 전달하는 위치검출부;A position detector detecting a position signal fed back from the servo motor and transferring the position signal to the microcontroller; 를 포함하며, 상기 마이크로컨트롤러는 상기 제어명령 신호에 따라 내장된 독립적인 제어알고리즘을 통해 상기 서보모터의 위치 및 속도를 제어할 수 있는 것을 특징으로 하는 로봇용 서보모터 구동모듈.The microcontroller includes a servo motor driving module for controlling the position and speed of the servomotor through a built-in independent control algorithm according to the control command signal. 제 1 항에 있어서,The method of claim 1, 상기 시리얼 통신포트는 송신부, 수신부, 전원부로 구성되며, 다수개의 다른 상기 서보모터 구동모듈과 연동되어 양방향 통신이 가능한 것을 특징으로 하는 상기 로봇용 서보모터 구동모듈.The serial communication port is composed of a transmitter, a receiver, a power supply unit, the servo motor drive module for the robot, characterized in that bi-directional communication in conjunction with a plurality of other servo motor drive module. 제 1 항에 있어서,The method of claim 1, 상기 메인제어모듈은 PC를 포함하는 CPU가 구비된 제어모듈이며, 상기 메인제어모듈의 하나의 시리얼 포트를 통해 다수개의 상기 서보모터 구동모듈이 연동되어 상기 서보모터의 위치 및 속도가 제어될 수 있는 것을 특징으로 하는 상기 로봇용 서보모터 구동모듈.The main control module is a control module including a CPU including a PC, and a plurality of the servo motor driving modules are interlocked through one serial port of the main control module to control the position and speed of the servo motor. The servomotor drive module for the robot, characterized in that. 제 1 항에 있어서,The method of claim 1, 상기 서보모터구동모듈은 상기 서보모터 고유의 ID값을 설정하고 있는 것을 특징으로 하는 상기 로봇용 서보모터 구동모듈.The servo motor drive module is a servo motor drive module for the robot, characterized in that for setting the unique ID value of the servo motor. 제 1 항에 있어서,The method of claim 1, 상기 시리얼 통신포트를 통해 송수신되는 데이터는 바이트 넘버, 상기 서보모터의 ID값, 상기 서보모터의 위치 및 속도 데이터를 포함하는 것을 특징으로 하는 상기 로봇용 서보모터 구동모듈.The data transmitted / received through the serial communication port includes a byte number, an ID value of the servo motor, a position and a speed data of the servo motor.
KR2020020014350U 2002-05-10 2002-05-10 Driving Module of Servo-Motor for Robot KR200284495Y1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR2020020014350U KR200284495Y1 (en) 2002-05-10 2002-05-10 Driving Module of Servo-Motor for Robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR2020020014350U KR200284495Y1 (en) 2002-05-10 2002-05-10 Driving Module of Servo-Motor for Robot

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020020025748A Division KR20030087810A (en) 2002-05-10 2002-05-10 Driving Module and Controlling Method of Servo-Motor for Robot

Publications (1)

Publication Number Publication Date
KR200284495Y1 true KR200284495Y1 (en) 2002-08-03

Family

ID=73122820

Family Applications (1)

Application Number Title Priority Date Filing Date
KR2020020014350U KR200284495Y1 (en) 2002-05-10 2002-05-10 Driving Module of Servo-Motor for Robot

Country Status (1)

Country Link
KR (1) KR200284495Y1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100792876B1 (en) 2002-12-21 2008-01-08 파워-원 인코포레이티드 Method and system for controlling and monitoring an array of point-of-load regulators
KR100796074B1 (en) * 2002-11-13 2008-01-21 파워-원 인코포레이티드 System and method for communicating with a voltage regulator
US7646382B2 (en) 2004-07-16 2010-01-12 Power-One, Inc. Digital power manager for controlling and monitoring an array of point-of-load regulators
US7673157B2 (en) 2002-12-21 2010-03-02 Power-One, Inc. Method and system for controlling a mixed array of point-of-load regulators through a bus translator
US7743266B2 (en) 2002-12-21 2010-06-22 Power-One, Inc. Method and system for optimizing filter compensation coefficients for a digital power control system
US7882372B2 (en) 2002-12-21 2011-02-01 Power-One, Inc. Method and system for controlling and monitoring an array of point-of-load regulators
US8086874B2 (en) 2002-12-21 2011-12-27 Power-One, Inc. Method and system for controlling an array of point-of-load regulators and auxiliary devices

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100796074B1 (en) * 2002-11-13 2008-01-21 파워-원 인코포레이티드 System and method for communicating with a voltage regulator
KR100792876B1 (en) 2002-12-21 2008-01-08 파워-원 인코포레이티드 Method and system for controlling and monitoring an array of point-of-load regulators
US7673157B2 (en) 2002-12-21 2010-03-02 Power-One, Inc. Method and system for controlling a mixed array of point-of-load regulators through a bus translator
US7743266B2 (en) 2002-12-21 2010-06-22 Power-One, Inc. Method and system for optimizing filter compensation coefficients for a digital power control system
US7882372B2 (en) 2002-12-21 2011-02-01 Power-One, Inc. Method and system for controlling and monitoring an array of point-of-load regulators
US8086874B2 (en) 2002-12-21 2011-12-27 Power-One, Inc. Method and system for controlling an array of point-of-load regulators and auxiliary devices
US7646382B2 (en) 2004-07-16 2010-01-12 Power-One, Inc. Digital power manager for controlling and monitoring an array of point-of-load regulators

Similar Documents

Publication Publication Date Title
US6188190B1 (en) Multi-axis motor controller
US8339091B2 (en) Communication apparatus for robots
WO2020051977A1 (en) Motion control system
KR200284495Y1 (en) Driving Module of Servo-Motor for Robot
CN104391477A (en) Drive-control integrated networked intelligent controller
WO2019024570A1 (en) Digital servo and control method thereof
CN105215988A (en) A kind of mechanical arm driver module, robot configuration drive and control system
US20150323909A1 (en) Servo motor drive
JP3626152B2 (en) Motor drive control device
US20020091469A1 (en) Flexible and compact motor control module based on the can communication network
CN208196846U (en) A kind of extended pattern number steering engine
CN209497405U (en) A kind of AGV servo motor driving control system
EP0965417A2 (en) Robot controlling system
KR20030087810A (en) Driving Module and Controlling Method of Servo-Motor for Robot
JP4683325B2 (en) Multi-axis motor control system
DE602004003129D1 (en) MULTIPLE ROBOT WITH A CONTROL SYSTEM
KR100786636B1 (en) Bldc motor control device with can communication interface
US5621292A (en) Servo amplifier and servo system which reduce cable interface
JP2004225672A (en) Operation controlling device of rotary machine
JP3645668B2 (en) Motor control device
CN205097191U (en) Arm drive module , robot configuration drive and control system
KR101379430B1 (en) Robot actuator module having an independent function
CN211250041U (en) Special servo driver for cooperative robot
JPH10275006A (en) Industrial robot
WO2007107277A1 (en) Manipulator, for example an industrial robot, and drive device for a manipulator

Legal Events

Date Code Title Description
U107 Dual application of utility model
REGI Registration of establishment
T201 Request for technology evaluation of utility model
T701 Written decision to grant on technology evaluation
G701 Publication of correction
LAPS Lapse due to unpaid annual fee