XL320
주의 : 올로 감속, 서보 모터와 사이즈및 구동 전압이 다릅니다.
주요 사양
항목 | 내용 |
---|---|
무게 | 16.7 [g] |
크기 | 24 x 36 x 27 [mm] |
최소 제어각 | 0.29 [°] |
모터 | Cored |
기어비 | 238 : 1 |
스톨 토크 | 0.39 [Nm] @ 7.4 [V], 1.1 [A] |
무부하 속도 | 114 [rev/min] @ 7.4 [V], 0.18 [A] |
동작 모드 | 관절 모드 (0 ~ 300 [°]) 바퀴 모드 (무한 회전) |
동작 온도 | -5 ~ +70 [°C] |
사용 전압 | 6 ~ 8.4 [V] (권장 전압 : 7.4 [V]) |
제어 명령 | Digital Packet |
프로토콜 타입 | Half Duplex Asynchronous Serial Communication (8bit, 1stop, No Parity) |
통신 연결 | TTL Level Multidrop Bus (Daisy Chain Type Connector) |
ID | 253 ID (0 ~ 252) |
통신 속도 | 7,343 [bps] ~ 1 [Mbps] |
안전 장치 | 클러치 |
피드백 | Position, Temperature, Load, Input Voltage 등 |
재질 | Engineering Plastic |
주의: 스톨 토크는 순간적으로 낼 수 있는 최대 정지 토크를 의미합니다. 실제 구동을 위해 로봇을 설계하신다면 스톨 토크의 1/5 이하의 로드가 걸리도록 설계하셔야 안정적인 움직임이 가능합니다.
위험
(심각한 상해 또는 사망에 이르게 할 수 있습니다.)
- 제품 주위에 가연성 물질, 계면 화성제, 음료수, 물을 분사하거나 흡입시키지 마세요.
- 작동 중인 제품에 손, 발과 같은 신체 또는 신체의 일부를 넣지 마세요.
- 제품에서 이상한 냄새가 나거나, 연기가 발생하면 전원 연결을 즉시 끊어주세요.
- 아이들이 제품으로 장난치지 않도록 하세요.
- 전원의 극성을 반드시 확인 후 배선하세요.
경고
(상해나 제품 손상의 원인이 됩니다.)
- 제품의 사용 환경을 준수하세요. (온도 : -5 ~ +70 [°C])
- 작동 중인 제품 내부로 칼날, 압정, 불씨 등을 흡입시키지 마세요.
주의
(상해나 제품 손상의 원인이 됩니다.)
- 제품을 사용자 임의로 분해 또는 개조하지 마세요.
- 제품에 강한 충격을 가하거나 떨어드리지 마세요.
컨트롤 테이블
Control Table은 장치 내부에 존재하는 값으로서 장치의 현재 상태와 구동에 관한 Data로 구성되어 있습니다.
사용자는 Instruction Packet을 통해 Control Table의 특정 Data를 읽어서(READ Instruction) 장치의 상태를 파악할 수 있고, Data를 변경함으로써(WRITE Instruction) 장치를 제어할 수 있습니다.
컨트롤 테이블, 데이터, 주소
Control Table은 장치의 상태와 제어를 위한 다수의 Data 필드로 구성된 집합체입니다.
사용자는 READ Instruction Packet을 통해 Control Table의 특정 Data를 읽어서 장치의 상태를 파악할 수 있습니다.
또한 WRITE Instruction Packet을 통해 Control Table의 특정 Data를 변경함으로써 장치를 제어할 수 있습니다.
Address는 Instruction Packet으로 Control Table의 특정 Data를 접근할 때 사용하는 고유값입니다.
장치의 Data를 읽거나 쓰기 위해서는 Instruction Packet에 해당 Data의 Address를 지정해 주어야 합니다.
Packet에 대한 자세한 내용은 Protocol 2.0을 참고해주세요.
참고 : 음수의 표현 방법은 2의 보수(Two’s complement) 규칙을 따릅니다. 2의 보수에 대한 자세한 설명은 위키피디아의 Two’s complement를 참고하세요.
영역 (EEPROM, RAM)
Control Table은 2가지 영역으로 구분됩니다. RAM Area에 위치한 Data는 전원이 인가될 때마다 다시 초기값으로 설정됩니다(Volatile).
반면 EEPROM Area에 위치한 Data는 값을 변경하면 전원이 꺼져도 그 값이 보존됩니다(Non-Volatile).
EEPROM Area에 위치한 모든 Data는 Torque Enable(24)의 값이 ‘0’일 때만 변경할 수 있습니다.
크기
Data의 Size는 용도에 따라 1 ~ 2 byte로 정해져 있습니다. Instruction Packet을 통해 Data를 변경할 때는 해당 Data의 Size를 확인하시기 바랍니다.
2 byte 이상의 연속된 데이터는 Little Endian 규칙에 의해 기록됩니다.
접근권한
Control Table의 Data는 2가지 접근 속성을 갖습니다. ‘RW’는 읽기와 쓰기 접근이 모두 가능합니다. 반면 ‘R’은 읽기 전용(Read Only) 속성을 갖습니다.
읽기 전용 속성의 Data는 WRITE Instruction으로 값이 변경되지 않습니다.
읽기 전용 속성(‘R’)은 주로 측정 또는 모니터링 용도로 사용되고, 읽기 쓰기 속성(‘RW’)은 장치의 제어 용도로 사용됩니다.
초기값
장치에 전원이 인가될 때, Control Table의 각 Data는 초기값으로 설정됩니다.
매뉴얼에 표기된 EEPROM 영역의 Default Value는 제품의 초기 설정값(공장 출하 설정값)입니다.
사용자가 변경한 경우, 초기값은 사용자가 변경한 값으로 적용됩니다.
RAM 영역의 Default Value 값은 전원이 인가되었을 때 설정되는 값입니다.
EEPROM 영역
주소 | 크기(Byte) | 명칭 | 의미 | 접근 | 기본값 | Min | Max |
---|---|---|---|---|---|---|---|
0 | 2 | Model Number | 모델 번호 | R | 350 | - | - |
2 | 1 | Firmware Version | 펌웨어 버전 정보 | R | - | - | - |
3 | 1 | ID | 통신 ID | RW | 1 | 0 | 252 |
4 | 1 | Baud Rate | 통신 속도 | RW | 3 | 0 | 3 |
5 | 1 | Return Delay Time | 응답 지연 시간 | RW | 250 | 0 | 254 |
6 | 2 | CW Angle Limit | 시계 방향 한계 각도 값 | RW | 0 | 0 | 1023 |
8 | 2 | CCW Angle Limit | 반시계 방향 한계 각도 값 | RW | 1023 | 0 | 1023 |
11 | 1 | Control Mode | 제어 모드 | RW | 2 | 1 | 2 |
12 | 1 | Temperature Limit | 내부 한계 온도 | RW | 65 | 0 | 150 |
13 | 1 | Min Voltage Limit | 최저 한계 전압 | RW | 60 | 50 | 250 |
14 | 1 | Max Voltage Limit | 최고 한계 전압 | RW | 90 | 50 | 250 |
15 | 2 | Max Torque | 토크 한계 값 | RW | 1023 | 0 | 1023 |
17 | 1 | Status Return Level | 응답 레벨 | RW | 2 | 0 | 2 |
18 | 1 | Shutdown | 알람용 셧 다운(Shut down) 기능 | RW | 3 | 0 | 7 |
RAM 영역
주소 | 크기(Byte) | 명칭 | 의미 | 접근 | 기본값 | Min | Max |
---|---|---|---|---|---|---|---|
24 | 1 | Torque Enable | 토크 켜기 | RW | 0 | 0 | 1 |
25 | 1 | LED | LED 값 | RW | 0 | 0 | 7 |
27 | 1 | D Gain | Derivative Gain | RW | 0 | 0 | 254 |
28 | 1 | I Gain | Integral Gain | RW | 0 | 0 | 254 |
29 | 1 | P Gain | Proportional Gain | RW | 32 | 0 | 254 |
30 | 2 | Goal Position | 목표 위치 값 | RW | - | 0 | 1023 |
32 | 2 | Moving Speed | 목표 속도 값 | RW | - | 0 | 2047 |
35 | 2 | Torque Limit | 목표 토크 값 | RW | - | 0 | 1023 |
37 | 2 | Present Position | 현재 위치 값 | R | - | - | - |
39 | 2 | Present Speed | 현재 속도 값 | R | - | - | - |
41 | 2 | Present Load | 현재 하중 값 | R | - | - | - |
45 | 1 | Present Voltage | 현재 전압 | R | - | - | - |
46 | 1 | Present Temperature | 현재 온도 | R | - | - | - |
47 | 1 | Registered | Instruction의 등록 여부 | R | 0 | - | - |
49 | 1 | Moving | 움직임 유무 | R | 0 | - | - |
50 | 1 | Hardware Error Stat | 하드웨어 에러 상태 | R | 0 | - | - |
51 | 2 | Punch | Punch 값 | RW | 32 | 0 | 1023 |
컨트롤 테이블 설명
Model Number (0)
장치의 모델 번호입니다.
Firmware Version (2)
장치의 펌웨어 버전입니다.
ID (3)
Instruction Packet으로 장치를 식별하기 위한 고유 번호입니다.
0~253 (0xFD) 까지 사용 가능하며, 254(0xFE)는 브로드캐스트(Broadcast) ID로 특수하게 사용됩니다.
브로드캐스트 ID(254, 0xFE)로 Instruction Packet을 전송하면 모든 장치에 명령을 내릴 수 있습니다.
참고 : 연결된 장치의 ID가 중복되지 않도록 주의해야 합니다. 또한 ID(7)는 EEPROM 영역에 존재하기 때문에 Torque Enable(64) 의 값이 ’0’ 일 때만 변경할 수 있습니다.
Baud Rate (4)
제어기와 통신하기 위한 통신 속도 입니다.
값 | Baud Rate |
---|---|
0 | 9,600 [bps] |
1 | 57,600 [bps] |
2 | 115,200 [bps] |
3 | 1 [Mbps] |
주의:UART는 Baudrate오차가 3 [%] 이내이면 통신에 지장이 없습니다.
Return Delay Time (5)
제어기로부터 Instruction Packet을 받은 후, Status Packet을 반환하기까지 걸리는 시간입니다.
0 ~ 254 (0xFE) 까지 사용 가능하며 단위는 2 [μsec] 입니다.
예를 들어, 값이 10일 경우 20 [μsec] 만큼 시간이 지난 후에 Status Packet을 응답합니다.
단위 | 범위 | 상세설명 |
---|---|---|
2 [μsec] | 0 ~ 254 | 기본값: ‘250’(500 [μsec]), 최대 508 [μsec] |
CW/CCW Angle Limit(6, 8)
동작이 허용되는 각도를 설정할 수 있습니다. 값의 범위와 단위는 Goal Position(Address 30, 31)과 같습니다.
- CW Angle Limit: Goal Position(Address 30, 31)의 최소 값
- CCW Angle Limit: Goal Position(Address 30, 31)의 최대 값
Control Mode(11)
값 | 동작 방식 |
---|---|
1 | 바퀴 모드 |
2 | 관절 모드 |
바퀴 모드는 모터가 무한 회전을 하여 바퀴형 구동 로봇에 쓸 수 있습니다. 관절 모드는 특정 각도로 제어가 가능하여 다관절 로봇에 쓸 수 있습니다.
Temperature Limit(12)
동작 온도의 상한 값입니다.
단위 | 범위 |
---|---|
약 1 [°C] | 0 ~ 100 |
주의 : 온도 상한선을 초기값보다 높게 설정하지 마십시오. 온도 알람셧다운 발생시 20분이상 휴식하여 장치의 온도를 충분히 낮춘후 사용해 주세요. 온도가 높은상태에서 사용시 제품이 손상될 수 있습니다.
Min/Max Voltage Limit(13, 14)
전압 동작 범위의 상한과 하한 값입니다. 상한과 하한 각각 50 ~ 160(0x32 ~ 0xFA)까지 사용 가능하며, 단위는 0.1 [V]입니다. 예를 들어, 값이 80이면 8 [V]입니다. 현재 전압 값이 이 범위를 벗어날 경우 Status Packet 중 ERROR의 Voltage Range Error Bit(Bit0)가 ‘1’로 설정되어 반환되고, Alram LED/Shutdown의 플래그(flag)중 입력 전압 에러(Input Voltage Error)가 설정되어 있다면 기능이 발휘됩니다.
Max Torque(15)
모터의 최대 출력 제한 값입니다.
0 ~ 1,023 (0x3FF) 까지 사용 가능하며, 단위는 약 0.1 [%]입니다.
예를 들어, 값이 512이면 약 50 [%]이고 최대 출력 대비 50 [%]만 사용하겠다는 의미입니다.
전원이 켜지면 Torque Limit(Address 34, 35)는 이 값을 초기 값으로 사용합니다.
Status Return Level(17)
Status Packet의 반환 방식을 결정합니다.
값 | 응답하는 명령 | 상세설명 |
---|---|---|
0 | PING Instruction | 모든 명령에 대해 반환하지 않음 |
1 | PING Instruction READ Instruction |
READ 명령에 대해서만 반환함 |
2 | All Instructions | 모든 명령에 대해서 반환함 |
참고 : Instruction packet 의 ID가 Broadcast ID 인 경우는 이 값에 상관 없이 Status Packet이 반환되지 않습니다. 더 자세한 설명은 Protocol 1.0 와 Protocol 2.0의 Status Packet
항목을 참조하심시오.
Shutdown(18)
장치는 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 설정할 수 있는 위험 상황은 아래 표와 같습니다.
Bit | 명칭 | 내 용 |
---|---|---|
Bit 3~7 | - | - |
Bit 2 | ERROR_INPUT_VOLTAGE | 인가된 전압이 설정된 동작 전압 범위를 벗어났을 경우 |
Bit 1 | ERROR_OVER_HEATING | 내부 온도가 설정된 동작 온도 범위를 벗어난 경우 |
Bit 0 | ERROR_OVERLOAD | 모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우 |
각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다. 즉, 0x05 (2 진수: 00000101)로 설정되었을 경우 Input Voltage Error와 Overheating Error가 발생하는 것을 모두 감지할 수 있습니다. 위험 상황이 발생하면 LED를 깜박이고, Torque Limit의 값을 0 으로 만들어서 모터 출력이 0%가 되도록 합니다.
Torque Enable(24)
값 | 상세 설명 |
---|---|
0 | Torque OFF(Free-run) 상태로 변경합니다 |
1 | Torque ON 상태로 변경하고 EEPROM 영역의 모든 데이터는 잠김상태로 변경됩니다 |
LED(25)
XL-320의 LED는 아래의 표와 같이 동작합니다.
활성화된 비트 | 10진수 값 | 출력 색상 |
---|---|---|
없음 | 0 | 꺼짐 |
0 | 1 | 빨강 |
1 | 2 | 초록 |
2 | 4 | 파랑 |
0 + 1 | 3 | 노랑 |
1 + 2 | 6 | 청록 |
0 + 2 | 5 | 보라 |
0 + 1 + 2 | 7 | 하양 |
참고 : 장치의 상태(조건)에 따른 LED의 동작입니다.
상태 | LED 동작 |
---|---|
부팅 | 1회 적색 점멸 |
초기화 | 4회 적색 점멸 |
알람 | 적색 점멸 |
부트 모드 | 적색 점등 |
PID Gains(27, 28, 29)
MX 시리즈는 대표적 제어기법인 PID Controller를 이용합니다.
P Gain
은 Propotional Gain값 입니다.I Gain
은 Integral Gain값 입니다.D Gain
은, Derivative Gain값 입니다. 값의 범위는 0 ~ 254 입니다.
K<sub>p</sub>
= P Gain / 8K<sub>i</sub>
= I Gain * 1,000 / 2,048K<sub>d</sub>
= D Gain * 4 / 1,000
The relationship between Compliance Slop and PID
Slope | P Gain |
---|---|
8 | 128 |
16 | 64 |
32 | 32 |
64 | 16 |
128 | 8 |
The less the P gain, The larger the back lash, and the weaker the amount of output near goal position.
At some extent, it is like a combined concept of margine and slope.
It does not exactly match the previous concept of compliance. So it is obvious if you see the difference in terms of motion.
Explanation for PID required.
For the brief explanation about general PID, please refer to the website(link) below.
http://en.wikipedia.org/wiki/PID_controller
FYI, PID control theory is not only limited to the control of motor(actuator) but is a generic theory that can be applied to all kinds of control.
Goal Position(30)
이동 시키고자 하는 곳의 위치 값입니다. 0 ~ 1,023 (0x3FF)까지 사용 가능하며 단위는 0.29 [°] 입니다.
CW/CCW Angle Limit의 벗어난 값을 사용하게 되면 Status Packet 중 ERROR의 Angle Limit Error Bit(Bit1)가 ‘1’로 설정되어 반환되고, Alarm LED/Shutdown의 플래그(flag)중 Angle Limit Error가 설정되어 있다면 기능이 발휘됩니다.
위 그림은 다이나믹셀을 정면에서 보았을 때의 그림입니다.
참고 : 바퀴 모드로 설정되어 있는 경우 이 값은 사용되지 않습니다.
Moving Speed(32)
이동하는 속도를 나타내며 이 값의 범위와 단위는 동작 모드에 따라 다릅니다.
-
관절 모드 Goal Position으로 이동하는 속도입니다. 0 ~ 1023 (0x3FF) 까지 사용되며, 단위는 약 0.111 [rev/min]입니다. 0 으로 설정하면 속도 제어를 하지 않고 모터의 최대 속도를 사용한다는 의미입니다. 1023의 경우 약 114 [rev/min]이 됩니다. 예를 들어, 300으로 설정된 경우 약 33.3 [rev/min]입니다.
-
바퀴 모드 목표 방향으로 이동하는 속도입니다. 0 ~ 2047 ( 0x7FF) 까지 사용되며, 단위는 약 0.1 [%]입니다. 0 ~ 1023 범위의 값을 사용하면 CCW 방향으로 회전하며 0으로 설정하면 정지합니다. 1024 ~ 2047 범위의 값을 사용하면 CW 방향으로 회전하며 1024으로 설정하면 정지합니다. 즉, 10번째 bit가 방향을 제어하는 direction bit가 됩니다. 바퀴 모드는 속도 제어를 하지 않고 출력 제어만 가능합니다. 예를 들어, 512로 설정된 경우 최대 출력 대비 약 50 [%]로 제어한다는 의미입니다.
주의: 해당 모델의 최대 속도를 확인하시기 바랍니다. 최대 속도 이상을 설정해도 모터는 그 이상의 속도를 낼 수 없습니다.
Torque Limit(35)
모터의 최대 출력 제한 값입니다.
0 ~ 1,023 (0x3FF)까지 사용 가능하며, 단위는 약 0.1 [%]입니다.
예를 들어, 값이 512이면 약 50 [%]이고 최대 출력 대비 50 [%]만 사용하겠다는 의미입니다.
전원이 켜지면 Max Torque(Address 14, 15)의 값을 초기 값으로 사용합니다.
참고 : Alarm Shutdown의 기능이 발휘되면 이 값이 0이 되어 모터의 힘이 없어지게 됩니다. Alarm Shutdown조건이 해제되고 이 값을 0이 아닌 값으로 바꾸면 다시 모터의 출력이 발휘되어 사용할 수 있습니다.
Present Position(37)
장치의 현재 위치 값입니다. 값의 범위는 0 ~ 1,023(0x3FF)이며 단위는 0.29 [°] 입니다.
위 그림은 해당 모델의 전면이 기준입니다.
주의 : 바퀴 모드로 설정되어 있는 경우 이 값을 회전량 또는 움직인 거리를 측정하는 용도로 사용할 수 없습니다.
주의 : 바퀴 모드로 설정되어 있는 경우 이 값을 회전량 또는 움직인 거리를 측정하는 용도로 사용할 수 없습니다.
Present Speed(39)
현재 이동하는 속도입니다. 이 값은 0 ~ 2047 (0x7FF) 까지 사용됩니다. 0 ~ 1023 범위의 값이면 CCW 방향으로 회전한다는 의미입니다. 1024 ~ 2047 범위의 값이면 CW 방향으로 회전한다는 의미입니다. 즉, 10번째 bit가 방향을 제어하는 direction bit가 되며 0과 1024는 같습니다. 이 값의 단위는 동작 모드에 따라 다릅니다.
- 관절 모드 단위는 약 0.111 [rev/min]입니다. 예를 들어, 300으로 설정된 경우 CCW방향 약 33.3 [rev/min]으로 이동 중이라는 의미입니다.
- 바퀴 모드 단위는 약 0.1 [%]입니다. 예를 들어, 512로 설정된 경우 CCW 방향 최대 출력 대비 약 50 [%]로 제어 중이라는 의미입니다.
Present Load(41)
현재 적용되는 하중을 의미합니다.
이 값의 범위는 0 ~ 2,047이며, 단위는 약 0.1 [%]입니다.
0 ~ 1,023 범위의 값은 CCW 방향으로 하중이 작용한다는 의미입니다.
1,024 ~ 2,047 범위의 값은 CW 방향으로 하중이 작용한다는 의미입니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 되며, 1,024는 0과 같습니다.
예를 들어, 값이 512이면 CCW 방향으로 최대 출력 대비 약 50 [%]로 하중이 감지된다는 의미입니다.
Bit | 15 ~ 11 | 10 | 9 ~ 0 |
---|---|---|---|
값 | 0 | 하중 방향 | 데이터 (하중 비율) |
참고 : CCW 하중 : 하중 방향 비트(Bit 10) = 0, CW 하중 : 하중 방향 비트(Bit 10) = 1
참고 : 현재하중은 토크센서 등을 이용하여 측정된 값이 아니라 내부 출력 값을 기반으로 유추된 값 입니다. 따라서 무게나 토크를 측정하는 용도로는 부정확 할 수 있습니다. 해당 관절에 가해지는 힘의 방향과 크기를 예측하는 용도로 사용하시기를 권장합니다.
Present Voltage(45)
현재 공급되고 있는 전압입니다. 이 값의 단위는 0.1 [V]입니다. 예를 들어, 값이 100이면 10 [V]입니다.
Present Temperature(46)
내부의 온도이며 이 값의 단위는 섭씨 온도입니다.
예를 들어, 값이 85이면 현재 내부 온도는 85 [°C] 입니다.
Registered Instruction(47)
Value | Description |
---|---|
0 | REG_WRITE로 전달된 명령이 없습니다. |
1 | REG_WRITE로 전달된 명령이 있습니다. |
참고 : ACTION 명령을 수행하면 이 값이 ‘0’으로 바뀝니다.
Moving(49)
값 | 설명 |
---|---|
0 | Goal position 명령 수행을 완료했습니다. |
1 | Goal position 명령을 수행중입니다. |
Hardware Error Status(50)
Shutdown 발생시 하드웨어 에러 상태를 나타냅니다.
Punch(51)
구동시에 모터에 공급되는 최소 전류량 입니다. 초기값은 0x00이며 최고 0x3FF까지 설정할 수 있습니다.
참고자료
커넥터 정보
항목 | TTL |
---|---|
핀 번 | 1 GND2 VDD3 DATA |
다이어그램 | ![]() |
하우징 | ![]() MOLEX 51065-0300 |
PCB 헤더 | ![]() MOLEX 53253-0370 |
Crimp 터미널 | MOLEX 50212-8000 |
Wire Gauge | 24 AWG |
주의: 커넥터 제조사의 PIN 순서와 상이할 수 있으니 반드시 PIN 순서를 확인하시기 바랍니다.
통신 회로
다이나믹셀을 제어하기 위해서는 제어기의 UART 신호를 Half duplex type으로 변환시켜 주어야 합니다. 다음은 그 권장 회로도입니다.
TTL 통신
주의: 커넥터 제조사의 PIN 순서와 상이할 수 있으니 반드시 PIN 순서를 확인하시기 바랍니다.
도면
다운로드
XL-320.pdf다운로드
XL-320.dwg다운로드
XL-320.stp다운로드
XL-320.iges
더 많은 2D/3D 도면자료와 각종 소프트웨어 등 유용한 자료는 로보티즈 다운로드 센터에서 제공됩니다.