XL330-M077-T

사양
| 항목 | 사양 |
|---|---|
| MCU | ARM CORTEX-M0+ (64 [MHz], 32Bit) |
| 위치 센서 | Contactless absolute encoder (12Bit, 360 [°]) Maker : ams(www.ams.com), Part No : AS5601 |
| 모터 | Cored |
| 통신 속도 | 9,600 [bps] ~ 4 [Mbps] |
| 제어 알고리즘 | PID control |
| 해상도 | 4096 [pulse/rev] |
| 동작 모드 | Current Control Mode Velocity Control Mode Position Control Mode (0 ~ 360 [°]) Extended Position Control Mode (Multi-turn) Current-based Position Control Mode PWM Control Mode (Voltage Control Mode) |
| 무게 | 18 [g] |
| 크기 (W x H x D) | 20.0 x 34.0 x 26.0 [mm] |
| 감속비 | 77.5 : 1 |
| Stall Torque | 0.180 [N.m] (at 3.7 [V], 1.11 [A], 0.162 [Nm/A]) 0.215 [N.m] (at 5.0 [V], 1.47 [A], 0.146 [Nm/A]) 0.228 [N.m] (at 6.0 [V], 1.74 [A], 0.131 [Nm/A]) |
| 무부하 속도 | 278 [rev/min] (at 3.7 [V]) 383 [rev/min] (at 5.0 [V]) 456 [rev/min] (at 6.0 [V]) |
| 동작 온도 | -5 ~ +70 [°C] |
| 입력 전압 | 3.7 ~ 6.0 [V] (권장 : 5.0 [V]) |
| 명령 신호 | Digital Packet |
| 물리적 연결 | TTL Multidrop Bus (3.3V Logic, 5V Compatible) TTL Half Duplex Asynchronous Serial Communication (8bit, 1stop, No Parity) |
| ID | 253 ID (0 ~ 252) |
| 피드백 | Position, Velocity, Current, Realtime tick, Trajectory, Temperature, Input Voltage, etc |
| 케이스 재질 | Engineering Plastic |
| 기어 재질 | Engineering Plastic |
| 대기 전류 | 17 [mA] |
같은 폼팩터를 찾고 있나요?

XC Series
| 모델 | Stall Torque | 무부하 속도 |
|---|---|---|
| XC330-T288 | 0.76 [N.m] (at 9.0 [V], 0.61 [A]) 0.92 [N.m] (at 11.1 [V], 0.80 [A]) 1.00 [N.m] (at 12.0 [V], 0.88 [A]) | 52 [rev/min] (at 9.0 [V]) 65 [rev/min] (at 11.1 [V]) 71 [rev/min] (at 12.0 [V]) |
| XC330-T181 | 0.65 [N.m] (at 9.0 [V], 0.61 [A]) 0.76 [N.m] (at 11.1 [V], 0.80 [A]) 0.80 [N.m] (at 12.0 [V], 0.88 [A]) | 83 [rev/min] (at 9.0 [V]) 104 [rev/min] (at 11.1 [V]) 113 [rev/min] (at 12.0 [V]) |
| XC330-M288 | 0.69 [N.m] (at 3.7 [V], 1.34 [A]) 0.93 [N.m] (at 5.0 [V], 1.80 [A]) 1.10 [N.m] (at 6.0 [V], 2.15 [A]) | 59 [rev/min] (at 3.7 [V]) 81 [rev/min] (at 5.0 [V]) 97 [rev/min] (at 6.0 [V]) |
| XC330-M181 | 0.52 [N.m] (at 3.7 [V], 1.34 [A]) 0.60 [N.m] (at 5.0 [V], 1.80 [A]) 0.66 [N.m] (at 6.0 [V], 2.15 [A]) | 95 [rev/min] (at 3.7 [V]) 129 [rev/min] (at 5.0 [V]) 155 [rev/min] (at 6.0 [V]) |
XL Series
| 모델 | Stall Torque | 무부하 속도 |
|---|---|---|
| XL330-M288 | 0.42 [N.m] (at 3.7 [V], 1.11 [A]) 0.52 [N.m] (at 5.0 [V], 1.47 [A]) 0.60 [N.m] (at 6.0 [V], 1.74 [A]) | 76 [rev/min] (at 3.7 [V]) 103 [rev/min] (at 5.0 [V]) 123 [rev/min] (at 6.0 [V]) |
| XL330-M077 | 0.180 [N.m] (at 3.7 [V], 1.11 [A]) 0.215 [N.m] (at 5.0 [V], 1.47 [A]) 0.228 [N.m] (at 6.0 [V], 1.74 [A]) | 278 [rev/min] (at 3.7 [V]) 383 [rev/min] (at 5.0 [V]) 456 [rev/min] (at 6.0 [V]) |
위험 (이 경고를 무시하면 심각한 상해 또는 사망에 이를 수 있습니다)
- 제품 주위에 물, 가연성 물질/화기 또는 용제가 포함된 물건을 두지 마세요.
- 작동 중인 제품 가까이에 손가락, 팔, 발가락 등 신체 일부를 가까이 대지 마세요.
- 제품에서 이상한 냄새, 소음 또는 연기가 발생하면 즉시 작동을 중지하고 전원을 차단하세요.
- 제품은 어린이의 손이 닿지 않는 곳에 보관하세요.
- 배선이나 케이블을 설치하거나 전원을 공급하기 전에 입력 극성을 확인하세요.
주의 (이 경고를 무시하면 가벼운 상해 또는 제품 손상이 발생할 수 있습니다)
- 입력 전압, 전류, 동작 온도 등 제품의 공식 동작 환경 사양을 항상 준수하세요.
- 제품 작동 중 칼날이나 기타 날카로운 물체를 넣지 마세요.
알림 (이 주의를 무시하면 경미한 상해 또는 제품 손상이 발생할 수 있습니다)
- 제품을 분해하거나 개조하지 마세요.
- 제품을 떨어뜨리거나 강한 충격을 가하지 마세요.
- 전원이 공급되는 동안 DYNAMIXEL 케이블을 연결하거나 분리하지 마세요.
컨트롤 테이블
컨트롤 테이블은 다이나믹셀 액추에이터가 장치 상태를 관리하기 위해 사용하는 데이터 구조입니다. 사용자는 Read Instruction Packet으로 데이터 레지스터를 읽어 장치 상태 정보를 확인하고, Write Instruction Packet으로 데이터 레지스터를 변경해 장치를 제어할 수 있습니다.
주의 DYNAMIXEL-X 시리즈는 모델 및 펌웨어에 따라 컨트롤 테이블 구성이 다를 수 있습니다. 제어 프로그램에서 사용하는 Address와 지원 기능을 해당 모델의 컨트롤 테이블에서 확인하세요.
컨트롤 테이블, Data, Address
컨트롤 테이블은 장치 상태를 저장하거나 장치를 제어하기 위한 여러 Data 필드로 구성됩니다. 사용자는 Read Instruction Packet으로 컨트롤 테이블의 특정 Data를 읽어 현재 상태를 확인할 수 있습니다. WRITE Instruction Packet은 컨트롤 테이블의 특정 Data를 변경해 장치를 제어할 때 사용합니다. Address는 Instruction Packet으로 컨트롤 테이블의 특정 Data에 접근할 때 사용하는 고유 값입니다. 데이터를 읽거나 쓰려면 Instruction Packet에 특정 Address를 지정해야 합니다. Instruction Packet에 대한 자세한 내용은 DYNAMIXEL Protocol 2.0을 참고하세요.
참고 : 음수 값에는 2의 보수가 적용됩니다. 자세한 내용은 Wikipedia의 Two's complement를 참고하세요.
Area (EEPROM, RAM)
컨트롤 테이블은 두 영역으로 나뉩니다. RAM 영역의 Data는 전원이 재인가되면 초기값으로 재설정됩니다(Volatile). 반면 EEPROM 영역의 Data는 장치 전원이 꺼져도 유지됩니다(Non-Volatile).
EEPROM 영역의 Data는 Torque Enable(64)이 0(Torque OFF)일 때만 쓸 수 있습니다.
Size
Data의 Size는 용도에 따라 1 ~ 4 byte로 달라집니다. Instruction Packet으로 Data를 갱신할 때는 Data의 Size를 확인하세요. 2 byte보다 큰 Data는 Little Endian 방식으로 저장됩니다.
Access
컨트롤 테이블에는 두 가지 Access 속성이 있습니다. RW는 읽기와 쓰기가 가능함을 의미하고, R은 읽기만 가능함을 의미합니다. 읽기 전용 속성의 Data는 WRITE Instruction으로 변경할 수 없습니다. 읽기 전용 속성(R)은 일반적으로 측정 및 모니터링에 사용되며, 읽기/쓰기 속성(RW)은 장치 제어에 사용됩니다.
Initial Value
컨트롤 테이블의 각 Data는 장치 전원이 켜질 때 초기값으로 복원됩니다. EEPROM 영역의 기본값은 장치의 초기값(공장 출하 설정)입니다. 사용자가 EEPROM 영역의 값을 변경한 경우, 장치 전원이 켜질 때 변경된 값이 초기값으로 복원됩니다. RAM 영역의 초기값은 장치 전원이 켜질 때 복원됩니다.
EEPROM Area 컨트롤 테이블
| Address | Size(Byte) | Data Name | Access | 초기 값 | Range | Unit |
|---|---|---|---|---|---|---|
| 0 | 2 | Model Number | R | 1,190 | - | - |
| 2 | 4 | Model Information | R | - | - | - |
| 6 | 1 | Firmware Version | R | - | - | - |
| 7 | 1 | ID | RW | 1 | 0 ~ 252 | - |
| 8 | 1 | Baud Rate | RW | 1 | 0 ~ 6 | - |
| 9 | 1 | Return Delay Time | RW | 250 | 0 ~ 254 | 2 [μsec ] |
| 10 | 1 | Drive Mode | RW | 0 | 0 ~ 13 | - |
| 11 | 1 | Operating Mode | RW | 3 | 0 ~ 16 | - |
| 12 | 1 | Secondary(Shadow) ID | RW | 255 | 0 ~ 252 | - |
| 13 | 1 | Protocol Type | RW | 2 | 2 ~ 22 | - |
| 20 | 4 | Homing Offset | RW | 0 | -1,044,479 ~ 1,044,479 | 1 [pulse ] |
| 24 | 4 | Moving Threshold | RW | 10 | 0 ~ 1,023 | 0.229 [rev/min] |
| 31 | 1 | Temperature Limit | RW | 70 | 0 ~ 100 | 1 [°C] |
| 32 | 2 | Max Voltage Limit | RW | 70 | 31 ~ 70 | 0.1 [V] |
| 34 | 2 | Min Voltage Limit | RW | 35 | 31 ~ 70 | 0.1 [V] |
| 36 | 2 | PWM Limit | RW | 885 | 0 ~ 885 | 0.113 [%] |
| 38 | 2 | Current Limit | RW | 1,750 | 0 ~ 1,750 | 1 [mA ] |
| 44 | 4 | Velocity Limit | RW | 1,620 | 0 ~ 2,047 | 0.229 [rev/min] |
| 48 | 4 | Max Position Limit | RW | 4,095 | 0 ~ 4,095 | 1 [pulse] |
| 52 | 4 | Min Position Limit | RW | 0 | 0 ~ 4,095 | 1 [pulse] |
| 60 | 1 | Startup Configuration | RW | 0 | 3 | - |
| 62 | 1 | PWM Slope | RW | 140 | 1 ~ 255 | 1.977 [mV/msec] |
| 63 | 1 | Shutdown | RW | 53 | - | - |
RAM Area 컨트롤 테이블
| Address | Size(Byte) | Data Name | Access | 초기 값 | Range | Unit |
|---|---|---|---|---|---|---|
| 64 | 1 | Torque Enable | RW | 0 | 0 ~ 1 | - |
| 65 | 1 | LED | RW | 0 | 0 ~ 1 | - |
| 68 | 1 | Status Return Level | RW | 2 | 0 ~ 2 | - |
| 69 | 1 | Registered Instruction | R | 0 | 0 ~ 1 | - |
| 70 | 1 | Hardware Error Status | R | 0 | - | - |
| 76 | 2 | Velocity I Gain | RW | 400 | 0 ~ 16,383 | - |
| 78 | 2 | Velocity P Gain | RW | 40 | 0 ~ 16,383 | - |
| 80 | 2 | Position D Gain | RW | 400 | 0 ~ 16,383 | - |
| 82 | 2 | Position I Gain | RW | 0 | 0 ~ 16,383 | - |
| 84 | 2 | Position P Gain | RW | 400 | 0 ~ 16,383 | - |
| 88 | 2 | Feedforward 2nd Gain | RW | 0 | 0 ~ 16,383 | - |
| 90 | 2 | Feedforward 1st Gain | RW | 0 | 0 ~ 16,383 | - |
| 98 | 1 | Bus Watchdog | RW | 0 | 1 ~ 127 | 20 [msec] |
| 100 | 2 | Goal PWM | RW | - | -PWM Limit(36) ~ PWM Limit(36) | 0.113 [%] |
| 102 | 2 | Goal Current | RW | - | -Current Limit(38) ~ Current Limit(38) | 1 [mA] |
| 104 | 4 | Goal Velocity | RW | - | -Velocity Limit(44) ~ Velocity Limit(44) | 0.229 [rev/min] |
| 108 | 4 | Profile Acceleration | RW | 0 | 0 ~ 32,767 0 ~ 32,737 | 214.577 [rev/min2] 1 [ms] |
| 112 | 4 | Profile Velocity | RW | 0 | 0 ~ 32,767 | 0.229 [rev/min] |
| 116 | 4 | Goal Position | RW | - | Min Position Limit(52) ~ Max Position Limit(48) | 1 [pulse] |
| 120 | 2 | Realtime Tick | R | - | 0 ~ 32,767 | 1 [msec] |
| 122 | 1 | Moving | R | 0 | 0 ~ 1 | - |
| 123 | 1 | Moving Status | R | 0 | - | - |
| 124 | 2 | Present PWM | R | - | - | - |
| 126 | 2 | Present Current | R | - | - | 1 [mA] |
| 128 | 4 | Present Velocity | R | - | - | 0.229 [rev/min] |
| 132 | 4 | Present Position | R | - | - | 1 [pulse] |
| 136 | 4 | Velocity Trajectory | R | - | - | 0.229 [rev/min] |
| 140 | 4 | Position Trajectory | R | - | - | 1 [pulse] |
| 144 | 2 | Present Input Voltage | R | - | - | 0.1 [V] |
| 146 | 1 | Present Temperature | R | - | - | 1 [°C] |
| 147 | 1 | Backup Ready | R | - | 0 ~ 1 | - |
| 168 | 2 | Indirect Address 1 | RW | 224 | 64 ~ 251 | - |
| 170 | 2 | Indirect Address 2 | RW | 225 | 64 ~ 251 | - |
| 172 | 2 | Indirect Address 3 | RW | 226 | 64 ~ 251 | - |
| … | … | … | … | ··· | ··· | ··· |
| 218 | 2 | Indirect Address 26 | RW | 249 | 64 ~ 251 | - |
| 220 | 2 | Indirect Address 27 | RW | 250 | 64 ~ 251 | - |
| 222 | 2 | Indirect Address 28 | RW | 251 | 64 ~ 251 | - |
| 224 | 1 | Indirect Data 1 | RW | 0 | 0 ~ 255 | - |
| 225 | 1 | Indirect Data 2 | RW | 0 | 0 ~ 255 | - |
| 226 | 1 | Indirect Data 3 | RW | 0 | 0 ~ 255 | - |
| … | … | … | … | ··· | ··· | ··· |
| 249 | 1 | Indirect Data 26 | RW | 0 | 0 ~ 255 | - |
| 250 | 1 | Indirect Data 27 | RW | 0 | 0 ~ 255 | - |
| 251 | 1 | Indirect Data 28 | RW | 0 | 0 ~ 255 | - |
참고 : V53 이전 펌웨어는 최대 20개의 Indirect Address/Data 항목을 지원합니다. Indirect Address의 범위는 168 ~ 207이며, Indirect Data의 범위는 208 ~ 227입니다.
컨트롤 테이블 설명
주의 : EEPROM Area의 Data는 Torque Enable(64) 값이 0으로 해제된 경우에만 쓸 수 있습니다.
Model Number(0)
이 Address에는 DYNAMIXEL의 모델 번호가 저장됩니다.
Firmware Version(6)
이 Address에는 DYNAMIXEL의 펌웨어 버전이 저장됩니다.
ID(7)
ID는 네트워크에서 Instruction Packet으로 각 DYNAMIXEL을 식별하기 위한 고유 값입니다. ID는 0~252(0xFC) 값을 사용할 수 있으며, 254(0xFE)는 Broadcast ID로 사용됩니다. Broadcast ID(254, 0xFE)를 사용하면 연결된 모든 DYNAMIXEL에 Instruction Packet을 동시에 전송할 수 있습니다.
참고 : 여러 DYNAMIXEL에 동일한 ID를 사용하지 마십시오. 동일한 ID를 사용하면 통신 오류가 발생하거나 해당 DYNAMIXEL을 검색하지 못할 수 있습니다.
참고 : Instruction Packet ID가 Broadcast ID(0xFE)로 설정된 경우 Status Return Level(68) 설정값과 관계없이 READ 또는 WRITE Instruction에 대한 Status Packet은 반환되지 않습니다. 자세한 내용은 DYNAMIXEL Protocol 2.0의 Status Packet 항목을 참고하세요.
Baud Rate(8)
Baud Rate(8)는 컨트롤러와 DYNAMIXEL 사이의 시리얼 통신 속도를 결정합니다.
| Value | Baud Rate | Margin of Error |
|---|---|---|
| 7 | 4.5M [bps] | 0.000 [%] |
| 6 | 4M [bps] | 0.000 [%] |
| 5 | 3M [bps] | 0.000 [%] |
| 4 | 2M [bps] | 0.000 [%] |
| 3 | 1M [bps] | 0.000 [%] |
| 2 | 115,200 [bps] | 0.000 [%] |
| 1(Default) | 57,600 [bps] | 0.000 [%] |
| 0 | 9,600 [bps] | 0.000 [%] |
참고 : Baud rate 오차율이 3% 미만이면 UART 통신에 영향을 주지 않습니다.
참고 : U2D2로 높은 Baudrate에서 안정적으로 통신하려면 USB Latency 값을 낮게 설정하세요. USB Latency Setting
Return Delay Time(9)
DYNAMIXEL이 Instruction Packet을 수신하면 설정된 Return Delay Time(9)이 지난 뒤 Status Packet을 반환합니다.
설정 가능한 값의 범위는 0 ~ 254(0xFE)이며 단위는 2[μsec]입니다. 예를 들어 Return Delay Time(9)을 10으로 설정하면 Instruction Packet을 수신한 뒤 20[μsec] 후에 Status Packet이 반환됩니다.
| Unit | 값 범위 | 설명 |
|---|---|---|
| 2[μsec] | 0 ~ 254 | Default value ‘250’(500[μsec]) Maximum value: '508'[μsec] |
Drive Mode(10)
Drive Mode(10)는 DYNAMIXEL의 구동 방식을 설정합니다.
| Bit | Item | 설명 |
|---|---|---|
| Bit 7(0x80) | - | 사용하지 않으며 항상 0입니다. |
| Bit 6(0x40) | - | 사용하지 않으며 항상 0입니다. |
| Bit 5(0x20) | - | 사용하지 않으며 항상 0입니다. |
| Bit 4(0x10) | - | 사용하지 않으며 항상 0입니다. |
| Bit 3(0x08) | Torque On by Goal Update | [0] Torque Enable(64) 값이 1일 때만 명령을 수행합니다.[1] Torque Enable(64) 설정값과 관계없이 명령을 수행합니다. Torque Enable(64)이 0인 상태에서 명령이 입력되면 Torque Enable(64)이 1로 전환된 뒤 명령을 수행합니다. |
| Bit 2(0x04) | Profile Configuration | [0] Velocity-based Profile: 속도 기준으로 Profile을 생성합니다. [1] Time-based Profile: 시간 기준으로 Profile을 생성합니다. ※ What is the Profile을 참고하세요. |
| Bit 1(0x02) | - | 사용하지 않으며 항상 0입니다. |
| Bit 0(0x01) | Normal/Reverse Mode | [0] Normal Mode: CCW(양수), CW(음수) [1] Reverse Mode: CCW(음수), CW(양수) |
참고 : Time-based Profile은 firmware V42부터 사용할 수 있습니다.
참고 : Torque On by Goal Update는 firmware V45부터 사용할 수 있습니다.
참고 : Drive Mode(10)의 Bit 0(Normal/Reverse Mode)을 1로 설정하면 회전 방향이 반전됩니다.
따라서 Goal Position, Present Position의 방향도 반전됩니다.
이 기능은 좌우 대칭 관절을 구성할 때 유용합니다.
Operating Mode(11)
| 값 | 동작 모드 | 설명 |
|---|---|---|
| 0 | Current Control Mode | 속도와 위치에 관계없이 전류(Torque)만 제어합니다. 전류(Torque) 제어만 사용하는 시스템, 그리퍼, 또는 별도의 속도/위치 제어기를 갖춘 시스템에 적합합니다. |
| 1 | Velocity Control Mode | 속도를 제어하는 모드입니다. 기존 다이나믹셀의 Wheel Mode(endless)와 동일하며, 바퀴형 로봇에 적합합니다. |
| 3(Default) | Position Control Mode | 위치를 제어하는 모드입니다. 기존 다이나믹셀의 Joint Mode와 동일합니다. 동작 위치 범위는 Max Position Limit(48)과 Min Position Limit(52)에 의해 제한됩니다. 각 관절이 360도 미만으로 회전하는 다관절 로봇에 적합합니다. |
| 4 | Extended Position Control Mode(Multi-turn) | 위치를 제어하는 모드입니다. 기존 다이나믹셀의 Multi-turn Position Control과 동일합니다. 총 512회전(-256[rev] ~ 256[rev])을 지원합니다. 여러 회전이 필요한 손목 관절, 컨베이어 시스템, 추가 감속기가 필요한 시스템에 적합합니다. Extended Position Control Mode에서는 Max Position Limit(48), Min Position Limit(52)가 사용되지 않습니다. |
| 5 | Current-based Position Control Mode | 위치와 전류(Torque)를 함께 제어합니다. 최대 512회전(-256[rev] ~ 256[rev])을 지원합니다. 다관절 로봇이나 그리퍼처럼 위치와 전류를 함께 제어해야 하는 시스템에 적합합니다. |
| 16 | PWM Control Mode (Voltage Control Mode) | PWM 출력을 직접 제어합니다. (Voltage Control Mode) |
참고 : Operating Mode(11)가 다른 모드로 변경되면 Velocity PI(76, 78), Position PID(80, 82, 84), Feedforward(88, 90)와 같은 Gain 값은 선택된 Operating Mode(11)에 맞게 재설정됩니다. 또한 profile generator와 제한값을 결정하는 Data도 재설정됩니다. 자세한 내용은 아래 설명을 참고하세요.
- Profile Velocity(112), Profile Acceleration(108):
0으로 재설정 - Goal PWM(100)과 Goal Current(102): 각각 PWM Limit(36), Current Limit(38) 값으로 재설정
- Operating Mode(11)가 Current-based Position Control Mode인 경우 Position PID(80, 82, 84)와 PWM Limit(36) 값이 재설정됩니다.
변경된 Position PID(80, 82, 84)와 PWM Limit(36) 값은 컨트롤 테이블에서 읽을 수 있습니다.
참고 : PWM은 Pulse Width Modulation의 약자로, PWM Duty를 변조해 모터를 제어하는 방식입니다. 펄스 폭을 변경해 모터에 공급되는 평균 전압을 제어하며, 모터 제어 분야에서 널리 사용됩니다.
- PWM Control Mode는 AX 및 RX 시리즈의 Wheel Mode와 유사합니다.
- PWM Control Mode에서 다이나믹셀 공급 전압을 제어하려면 Goal PWM(100) 값을 입력합니다.
참고 : Operating Mode(11)가 다른 모드로 변경되면 Gain과 기타 Mode 관련 값이 선택된 Operating Mode(11)에 맞게 재설정됩니다.
Secondary(Shadow) ID(12)
Secondary(Shadow) ID(12)는 DYNAMIXEL에 보조 ID를 할당합니다. Secondary ID(12)는 고유해야 하는 기본 ID(7)와 달리 여러 DYNAMIXEL에 공유할 수 있으며, 그룹화 및 동작 동기화에 사용할 수 있습니다. 기본 ID(7)와 Secondary ID(12) 사이에는 다음과 같은 중요한 차이가 있습니다.
- ID(7)는 Secondary ID(12)보다 우선순위가 높습니다. Secondary ID(12)와 ID(7)가 같으면 액추에이터는 기본 ID(7)로 명령을 받은 것처럼 응답합니다.
- Secondary ID(12)로 전송된 제어 패킷으로는 컨트롤 테이블의 EEPROM Area를 수정할 수 없습니다.
- Secondary ID(12)로 전송된 명령에는 Status Packet이 반환되지 않습니다.
- Secondary ID(12) 값이 253 이상이면 Secondary ID 기능은 비활성화됩니다.
| 값 | 설명 |
|---|---|
| 0 ~ 252 | Activate Secondary ID Function |
| 253 ~ 255 | Deactivate Secondary ID Function, 기본값 255 |
Secondary ID(12) Example
다음 Secondary ID(12) 예제를 참고하세요. 예제의 DYNAMIXEL에는 ID(7) 1, 2, 3, 4, 5가 각각 중복 없이 할당되어 있습니다.
- 연결된 다섯 DYNAMIXEL의 Secondary ID를
5로 설정합니다. - Write Instruction Packet(ID(7) = 1, LED(65) = 1)을 전송합니다.
- ID(7)가
1인 DYNAMIXEL의 LED가 켜지고 Status Packet이 반환됩니다. - Write Instruction Packet(ID(7) = 5, LED(65) = 1)을 전송합니다.
- 모든 DYNAMIXEL의 LED가 켜지지만, ID(7)가
5인 액추에이터만 Status Packet을 반환합니다. - 모든 DYNAMIXEL의 Secondary ID를
100으로 설정합니다. - Write Instruction Packet(ID(7) = 100, LED(65) = 0)을 전송합니다.
- 모든 DYNAMIXEL의 LED가 꺼집니다. ID 100을 사용하는 DYNAMIXEL이 없고 같은 Secondary ID만 사용하므로 Status Packet은 반환되지 않습니다.
Protocol Type(13)
Protocol Type(13)을 사용해 DYNAMIXEL에서 사용할 통신 프로토콜(DYNAMIXEL Protocol 1.0 또는 2.0)을 선택할 수 있습니다.
여러 DYNAMIXEL을 함께 사용할 때는 동일한 프로토콜 타입을 사용하는 것을 권장합니다.
| 값 | 설명 | 호환 DYNAMIXEL |
|---|---|---|
| 1 | DYNAMIXEL Protocol 1.0 | AX Series, DX Series, RX Series, EX Series, MX Series Firmware v39 미만 |
| 2(default) | DYNAMIXEL Protocol 2.0 | MX-28/64/106 Firmware v39 이상, X Series, PRO Series |
주의 : Protocol Type(13)을 변경하려면 DYNAMIXEL Wizard 2.0을 사용하세요. R+ Manager 2.0은 Protocol 1.0 제품과 호환되지 않습니다.
참고 : Protocol 2.0은 Protocol 1.0보다 안정적이고 안전하게 사용할 수 있습니다. Protocol 1.0을 선택하면 일부 컨트롤 테이블 영역 접근이 제한될 수 있습니다. 이 문서는 Protocol 2.0을 기준으로 작성되었습니다. 프로토콜에 대한 자세한 내용은 e-Manual의 Protocol 1.0과 Protocol 2.0을 참고하세요.
참고 : 제품별 지원 프로토콜 목록은 Protocol Compatibility table을 참고하세요.
Homing Offset(20)
‘0’ 점의 위치를 조절 할 수 있습니다. 이 값은 [Present Position(132)]에 더해지게 됩니다. Present Position(132) = 실제 위치 + Homing Offset(20) 이 됩니다.
| 단위 | 범위 |
|---|---|
| 약 0.088 [°] | -1,044,479 ~ 1,044,479 (-255 ~ 255 [rev]) |
참고 : 1회전 내에서 제어하는 위치제어 모드(관절 모드)의 경우, Homing Offset(20)은 (-1024 ~ 1024) 범위보다 클 경우 무시됩니다.
주의 : Drive Mode(10)의 Reverse Mode가 설정되었더라도, Homing Offset(20)의 부호는 반전되지 않습니다.
Moving Threshold(24)
움직임의 유무를 판별하는 기준 속도로 사용됩니다. [Present Velocity(128)]의 절대값이 Moving Threshold(24)보다 크면, 움직임 유무를 나타내는 [Moving(122)] 이 ‘1’이 되고, 작으면 ‘0’이 됩니다.
| 단위 | 범위 | 설명 |
|---|---|---|
| 약 0.229 [rev/min] | 0 ~ 1,023 | 속도 관련 Data의 단위는 모두 동일함 |
Temperature Limit(31)
동작 온도의 상한 값입니다. 장치의 현재 내부온도를 나타내는 [Present Temperature(146)]가 Temperature Limit(31)보다 높아지면 [Hardware Error Status(70)]의 Overheating Error Bit(0x04)가 설정되고, Status Packet은 Error 필드를 통해서 Alert Bit(0x80)을 전송합니다. [Shutdown(63)]에 Overheating Error Bit(0x04)가 설정된 경우, [Torque Enable(64)]은 '0'(Torque OFF)으로 변경됩니다.. 자세한 설명은 [Shutdown(63)]을 참고하세요.
| 단위 | 범위 | 상세 설명 |
|---|---|---|
| 약 1 [°] | 0 ~ 100 | 0 ~ 100 [°] |
주의 : 온도 상한선을 기본값보다 높게 설정하지 마십시오. 온도 알람셧다운 발생시 20분이상 휴식하여 장치의 온도를 충분히 낮춘후 사용해 주세요. 온도가 높은상태에서 사용시 제품이 손상될 수 있습니다.
Min/Max Voltage Limit(34, 32)
Min Voltage Limit(32)와 Max Voltage Limit(34)는 동작 전압의 최소값과 최대값을 결정합니다.
장치의 현재 입력 전압을 나타내는 Present Input Voltage(144)가 Max Voltage Limit(32)와 Min Voltage Limit(34)의 범위를 벗어나면 Hardware Error Status(70)의 Input Voltage Error Bit(0x10)가 설정되고, Status Packet은 Error 필드를 통해 Alert Bit(0x80)를 전송합니다.
Shutdown(63)에 Input Voltage Error Bit(0x10)가 설정되어 있으면 Torque Enable(64)은 0(Torque OFF)으로 설정됩니다.
자세한 내용은 Shutdown(63) 섹션을 참고하세요.
| 단위 | 값 범위 | 설명 |
|---|---|---|
| About 0.1 [V] | 65 ~ 140 | 6.5 ~ 14.0 [V] |
PWM Limit(36)
PWM 출력의 한계 값입니다. Goal PWM(100)에는 [PWM Limit(36)]보다 큰 값을 쓸 수 없습니다. PWM Limit(36)은 모든 제어모드에 공통으로 적용되는 출력 제한 값으로써, PWM 출력을 낮추면 장치의 토크와 속도 모두 감소합니다. 자세한 사항은 해당 제어 모드의 Gain 부분을 참고하세요.
| 단위 | 범위 |
|---|---|
| about 0.113 [%] | 0(0 [%]) ~ 885(100 [%] ) |
Current Limit(38)
전류(토크) 출력의 한계 값입니다. [Goal Current(102)]에는 Current Limit(38)보다 큰 값을 쓸 수 없습니다. Current Limit(38)은 전류 제어 모드와 전류기반 위치 제어 모드에서 적용되는 제한 값으로써, 전류 출력을 낮추면 장치의 토크가 감소합니다. 자세한 사항은 Position PID Gain(80 ~ 84)을 참고하세요.
| 단위 | 값 범위 |
|---|---|
| about 1 [mA] | 0 ~ 1,750 |
참고 :
- Current Limit(38) may differ by each DYNAMIXEL so please check the Control Table.
- XL330 series measures curret at its input power source unlike other DYNAMIXE-X series supporting a current control. Therefore, you may have a different results in measuring current of XL330 series comparing with measuring phase current which quickly changes of a DC motor.
Velocity Limit(44)
Velocity Limit(44)는 Goal Velocity(104)의 최대값을 나타냅니다. 자세한 내용은 Goal Velocity(104)를 참고하세요.
| Unit | 값 범위 |
|---|---|
| 0.229rpm | 0 ~ 1,023 |
참고 : Velocity Limit(44)의 기본값은 Firmware V42부터 낮아졌습니다.
Min/Max Position Limit(52, 48)
Min/Max Position Limit(52, 48)은 Position Control Mode(Joint Mode)에서 1회전(0 ~ 4,095) 범위 내의 최소/최대 위치를 제한합니다. Goal Position(116)도 이 Position Limit 범위에 의해 제한됩니다. 이 값은 Extended Position Control Mode와 Current-based Position Control Mode에서는 사용되지 않습니다.
| 단위 | 범위 |
|---|---|
| 0.088 [°] | 0 ~ 4,095(1회전) |
참고 : Max Position Limit(48)와 Min Position Limit(52)는 1회전 내에서 제어하는 Position Control Mode에서만 사용됩니다.
Startup Configuration(60)
Startup Configuration(60)은 DYNAMIXEL 시작 시 적용할 설정을 구성합니다.
| Bit | 항목 | 설명 |
|---|---|---|
| Bit 7(0x80) | - | 사용하지 않으며 항상 0입니다. |
| Bit 6(0x40) | - | 사용하지 않으며 항상 0입니다. |
| Bit 5(0x20) | - | 사용하지 않으며 항상 0입니다. |
| Bit 4(0x10) | - | 사용하지 않으며 항상 0입니다. |
| Bit 3(0x08) | - | 사용하지 않으며 항상 0입니다. |
| Bit 2(0x04) | - | 사용하지 않으며 항상 0입니다. |
| Bit 1(0x02) | RAM Restore | [0] 시작 시 RAM Area 복원을 비활성화합니다. [1] 시작 시 백업 데이터를 사용해 RAM Area를 복원합니다. |
| Bit 0(0x01) | Startup Torque On | [0] 시작 시 Torque Off(Torque Enable(64)이 0으로 설정됨)[1] 시작 시 Torque On( Torque Enable(64)이 1로 설정됨) |
참고 : Startup Configuration은 펌웨어 V45부터 사용할 수 있습니다.
참고 : RAM Area 복원에 대한 자세한 내용은 Restoring RAM Area를 참고하세요.
PWM Slope(62)
PWM duty는 PWM Slope(62)에 설정된 기울기로 선형 보간되어 모터 인버터로 전달됩니다.
| 단위 | 값 범위 |
|---|---|
| 1.977 [mV/msec] | 0 ~ 255 |
PWM Slope Example
PWM Slope(62)의 설정값이 '140' (equal to 276.84 [mV/msec]), and the value of Goal PWM(100) is changed from '0' to '885' on PWM Mode (at 5V), the reaching time when the Present PWM(124) value reaches to '885' from '0' is going to be 18 [msec] by the following calculation formula: 5,000 [mV]/276.84 [mV/msec] = 18.06 [msec].
PWM Slope Example
Shutdown(63)
DYNAMIXEL은 동작 중 발생할 수 있는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 각 Bit는 'OR' 논리로 처리되므로 여러 옵션을 동시에 설정할 수 있습니다. 예를 들어 Shutdown(63)에 '0x05'(binary : 00000101)가 설정되면 Input Voltage Error(binary : 00000001)와 Overheating Error(binary : 00000100)를 모두 감지할 수 있습니다. 이러한 오류가 감지되면 Torque Enable(64)은 '0'으로 변경되고 모터 출력은 0 [%]가 됩니다. Shutdown 이후 Torque Enable(64)을 다시 '1'(Torque ON)로 설정하려면 REBOOT이 필요합니다. 제어기는 Status Packet의 Error 필드에 Alert Bit(0x80)이 설정되었는지 확인하거나 Hardware Error Status(70)를 통해 현재 상태를 확인할 수 있습니다. 감지 가능한 상황은 다음과 같습니다.
| Bit | 항목 | 설명 |
|---|---|---|
| Bit 7 | - | 미사용, 항상 '0' |
| Bit 6 | - | 미사용, 항상 '0' |
| Bit 5 | Overload Error(default) | 모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우 |
| Bit 4 | Electrical Shock Error(default) | 회로에 전기적 충격이 발생하거나 입력 전력이 부족해 모터가 정상 동작하지 못하는 경우 |
| Bit 3 | Motor Encoder Error | 모터 Encoder의 오동작을 감지한 경우 |
| Bit 2 | Overheating Error(default) | 내부 온도가 설정된 동작 온도를 초과한 경우 |
| Bit 1 | - | 미사용, 항상 '0' |
| Bit 0 | Input Voltage Error | 입력 전압이 설정된 동작 전압 범위를 벗어난 경우 |
참고 :
- Shutdown이 발생하면 LED가 1초마다 깜빡입니다. (Firmware v41 이상)
- Shutdown이 발생하면 장치를 reboot하세요.
- H/W REBOOT : 전원을 껐다가 다시 켭니다.
- S/W REBOOT : REBOOT Instruction을 전송합니다. 자세한 내용은 e-Manual의 Reboot 항목을 참고하세요.
Torque Enable(64)
Torque Enable(64)은 Torque ON/OFF를 결정합니다. Torque Enable Address에 1을 쓰면 Torque가 켜지고 EEPROM Area의 모든 Data가 잠깁니다.
| Value | 설명 |
|---|---|
| 0(Default) | Torque Off |
| 1 | Torque On and lock EEPROM area |
참고 : Operating Mode(11)와 Torque Enable(64)이 갱신될 때 Present Position(132)이 초기화될 수 있습니다. 자세한 내용은 Homing Offset(20)과 Present Position(132)을 참고하세요.
LED(65)
LED를 ON/OFF 합니다.
| 값 | 설명 |
|---|---|
| 0(기본값) | LED를 Off 시킵니다. |
| 1 | LED를 On 시킵니다. |
Status Return Level(68)
Status Return Level(68)은 DYNAMIXEL이 Instruction Packet을 수신했을 때 Status Packet을 반환하는 방식을 설정합니다.
| Value | Responding Instructions | 설명 |
|---|---|---|
| 0 | PING Instruction | PING Instruction에 대해서만 Status Packet을 반환합니다 |
| 1 | PING Instruction READ Instruction | PING과 READ Instruction에 대해 Status Packet을 반환합니다 |
| 2 | All Instructions | 모든 Instruction에 대해 Status Packet을 반환합니다 |
참고 : Instruction Packet ID가 Broadcast ID(0xFE)로 설정된 경우 Status Return Level(68) 값과 관계없이 READ 또는 WRITE Instruction에 대한 Status Packet은 반환되지 않습니다. 자세한 내용은 DYNAMIXEL Protocol 2.0의 Status Packet 항목을 참고하세요.
Registered Instruction(69)
Reg Write Instruction에 의해 Write Instruction이 등록되었는지 나타냅니다.
| Value | 설명 |
|---|---|
| 0 | No instruction registered by REG_WRITE. |
| 1 | Instruction registered by REG_WRITE exists. |
참고 : ACTION Instruction이 실행되면 Registered Instruction(69)은 0으로 변경됩니다.
Hardware Error Status(70)
Hardware Error Status(70)는 하드웨어 오류 상태를 나타냅니다.
DYNAMIXEL은 동작 중 발생할 수 있는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 각 Bit는 'OR' 논리로 처리되므로 여러 옵션을 동시에 설정할 수 있습니다. 예를 들어 Shutdown(63)에 '0x05'(binary : 00000101)가 설정되면 Input Voltage Error(binary : 00000001)와 Overheating Error(binary : 00000100)를 모두 감지할 수 있습니다. 이러한 오류가 감지되면 Torque Enable(64)은 '0'으로 변경되고 모터 출력은 0 [%]가 됩니다. Shutdown 이후 Torque Enable(64)을 다시 '1'(Torque ON)로 설정하려면 REBOOT이 필요합니다. 제어기는 Status Packet의 Error 필드에 Alert Bit(0x80)이 설정되었는지 확인하거나 Hardware Error Status(70)를 통해 현재 상태를 확인할 수 있습니다. 감지 가능한 상황은 다음과 같습니다.
| Bit | 항목 | 설명 |
|---|---|---|
| Bit 7 | - | 미사용, 항상 '0' |
| Bit 6 | - | 미사용, 항상 '0' |
| Bit 5 | Overload Error(default) | 모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우 |
| Bit 4 | Electrical Shock Error(default) | 회로에 전기적 충격이 발생하거나 입력 전력이 부족해 모터가 정상 동작하지 못하는 경우 |
| Bit 3 | Motor Encoder Error | 모터 Encoder의 오동작을 감지한 경우 |
| Bit 2 | Overheating Error(default) | 내부 온도가 설정된 동작 온도를 초과한 경우 |
| Bit 1 | - | 미사용, 항상 '0' |
| Bit 0 | Input Voltage Error | 입력 전압이 설정된 동작 전압 범위를 벗어난 경우 |
참고 :
- Shutdown이 발생하면 LED가 1초마다 깜빡입니다. (Firmware v41 이상)
- Shutdown이 발생하면 장치를 reboot하세요.
- H/W REBOOT : 전원을 껐다가 다시 켭니다.
- S/W REBOOT : REBOOT Instruction을 전송합니다. 자세한 내용은 e-Manual의 Reboot 항목을 참고하세요.
Velocity PI Gain(76, 78)
Velocity PI Gain(76, 78)은 Velocity Control Mode에서 사용하는 Gain입니다. DYNAMIXEL 내부 제어기의 Velocity P Gain은 KVP로, 컨트롤 테이블의 Gain은 KVP(TBL)로 표기합니다.
| Controller Gain | Conversion Equations | Range | 설명 | |
|---|---|---|---|---|
| Velocity I Gain(76) | KVI | KVI = KVI(TBL) / 65,536 | 0 ~ 16,383 | I Gain |
| Velocity P Gain(78) | KVP | KVP = KVP(TBL) / 128 | 0 ~ 16,383 | P Gain |
아래 그림은 Velocity Control Mode에서 동작하는 속도 제어기의 블록 다이어그램입니다. 사용자의 Instruction이 DYNAMIXEL에 전달되면 Horn이 구동되기까지 다음 과정을 거칩니다.
- 사용자의 Instruction이 DYNAMIXEL bus를 통해 전송되어 Goal Velocity(104)에 등록됩니다.
- Goal Velocity(104)는 Profile Acceleration(108)에 의해 목표 속도 궤적으로 변환됩니다.
- 목표 속도 궤적은 Velocity Trajectory(136)에 저장됩니다.
- PI 제어기는 목표 속도 궤적을 기반으로 모터에 인가할 PWM 출력을 계산합니다.
- Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM 값을 결정합니다.
- 최종 PWM 값은 Inverter를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
- 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), [Present Load(126)]에 저장됩니다.

참고 : Ka는 Anti-windup Gain이며, β는 사용자가 변경할 수 없는 위치와 속도의 변환 계수입니다. PID 제어기에 대한 자세한 내용은 PID Controller at wikipedia를 참고하세요.
Position PID Gain(80, 82, 84), Feedforward 1st/2nd Gains(88, 90)
Position Control Mode와 Extended Position Control Mode에서 동작하는 위치 제어기의 Gain입니다. DYNAMIXEL 내부 제어기의 Position P Gain은 KPP로, 컨트롤 테이블의 Gain은 KPP(TBL)로 표기합니다.
| Controller Gain | Conversion Equations | Range | 설명 | |
|---|---|---|---|---|
| Position D Gain(80) | KPD | KPD = KPD(TBL) / 16 | 0 ~ 16,383 | D Gain |
| Position I Gain(82) | KPI | KPI = KPI(TBL) / 65,536 | 0 ~ 16,383 | I Gain |
| Position P Gain(84) | KPP | KPP = KPP(TBL) / 128 | 0 ~ 16,383 | P Gain |
| Feedforward 2nd Gain(88) | KFF2nd | KFF2nd(TBL) / 4 | 0 ~ 16,383 | Feedforward Acceleration Gain |
| Feedforward 1st Gain(90) | KFF1st | KFF1st(TBL) / 4 | 0 ~ 16,383 | Feedforward Velocity Gain |
아래 그림은 Position Control Mode와 Extended Position Control Mode에서 동작하는 위치 제어기의 블록 다이어그램입니다. 사용자의 명령이 DYNAMIXEL에 전달된 후 Horn이 구동되기까지의 과정은 다음과 같습니다.
- 사용자의 Instruction이 DYNAMIXEL bus를 통해 전송되어 Goal Position(116)에 등록됩니다.
- Goal Position(116)은 Profile Velocity(112)와 Profile Acceleration(108)에 의해 목표 위치 궤적과 목표 속도 궤적으로 변환됩니다.
- 목표 위치 궤적과 목표 속도 궤적은 각각 Position Trajectory(140)와 Velocity Trajectory(136)에 저장됩니다.
- Feedforward와 PID 제어기는 목표 궤적을 기반으로 모터에 인가할 PWM 출력을 계산합니다.
- Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM 값을 결정합니다.
- 최종 PWM 값은 Inverter를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
- 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), Present Current(126)에 저장됩니다.

- PWM Control Mode에서는 PID 제어기와 Feedforward 제어기가 모두 비활성화되며, Goal PWM(100) 값이 Inverter를 통해 모터를 직접 제어합니다. 이 방식으로 모터에 공급되는 전압을 직접 제어할 수 있습니다.
- Ka는 사용자가 변경할 수 없는 Anti-windup Gain입니다. PID 제어기와 Feedforward 제어기에 대한 자세한 내용은 PID Controller와 Feed Forward를 참고하세요.
다음은 전류기반 위치제어기(전류기반 위치 제어 모드)의 블록다이어그램입니다. 기본적인 내용은 위치제어기와 동일하므로, 위치제어기와의 차이점만 설명합니다. 블록다이어그램에서 위치제어기와 다른 부분은 초록색으로 표기하였습니다.
- Feedforward와 PID 제어기는 목표 궤적을 기반으로 목표 전류를 계산합니다.
- [Goal Current(102)]는 계산된 목표 전류를 제한하여 최종 목표 전류를 결정합니다.
- 전류제어기는 최종 목표 전류를 기반으로 모터에 인가할 PWM 출력을 계산합니다.
- [Goal PWM(100)]은 계산된 PWM 출력을 제한하여 최종 PWM값을 결정합니다.
- 최종 PWM값은 Inverter를 통해 모터에 적용되고 장치의 Horn이 구동됩니다.
- 구동 결과는 [Present Position(132)], [Present Velocity(128)], [Present PWM(124)], [Present Current(126)]에 표기됩니다.

참고 : Ka는 Anti-windup Gain로서 사용자가 변경할 수는 없습니다. 보다 자세한 PID 제어기와 Feedforward 제어기에 대한 설명은 PID Controller와 Feed Forward을 참고하세요.
Bus Watchdog(98)
Bus Watchdog(98)은 특정할 수 없는 오류로 제어기와 DYNAMIXEL 간 통신(RS-485, TTL)이 단절되었을 때 DYNAMIXEL을 정지시키기 위한 안전장치(Fail-safe)입니다. 여기서 통신은 DYNAMIXEL Protocol에서 정의된 모든 Instruction Packet을 의미합니다.
| 값 | 설명 | |
|---|---|---|
| 범위 | 0 | Bus Watchdog 기능 비활성화, Bus Watchdog Error 해제 |
| 범위 | 1 ~ 127 | Bus Watchdog 활성화(단위: 20 [msec]) |
| 범위 | -1 | Bus Watchdog Error Status |
Bus Watchdog 기능은 Torque Enable(64)가 '1'(Torque ON)일 때 제어기와 DYNAMIXEL의 통신 간격(시간)을 감시합니다. 측정된 통신 간격이 Bus Watchdog(98)의 설정값보다 크면 DYNAMIXEL은 정지하고, Bus Watchdog(98)은 '-1'(Bus Watchdog Error)로 변경됩니다. Bus Watchdog Error Status가 되면 Goal Value(Goal PWM(100), Goal Current(102), Goal Velocity(104), Goal Position(116))의 Access는 읽기 전용(Read Only)으로 변경됩니다. 따라서 Goal Value에 새 값을 쓰면 Status Packet은 Error 필드를 통해 Data Range Error를 전송합니다. Bus Watchdog(98)의 값을 '0'으로 변경하면 Bus Watchdog Error가 해제됩니다.
참고 : Data Range Error에 대한 자세한 내용은 Protocol 2.0을 참고하세요.
참고 : Bus Watchdog(98)은 펌웨어 v38부터 지원합니다.
Bus Watchdog(98) 동작 예시
다음은 Bus Watchdog 기능의 동작 예시입니다.
- Operating Mode(11)를 Velocity Control Mode로 설정한 후 Torque Enable(64)를 '1'로 변경합니다.
- Goal Velocity(104)에 '50'을 쓰면 DYNAMIXEL이 CCW 방향으로 회전합니다.
- Bus Watchdog(98)의 값을 '100'(2,000 [ms])으로 변경합니다. (Bus Watchdog 기능 활성화)
- 2,000 [ms] 동안 Instruction Packet이 수신되지 않으면 DYNAMIXEL이 정지합니다. 정지할 때 Profile Acceleration(108)과 Profile Velocity(112)는 '0'으로 적용됩니다.
- Bus Watchdog(98)의 값은 '-1'(Bus Watchdog Error)로 변경됩니다. 이때 Goal Value의 Access는 모두 읽기 전용으로 변경됩니다.
- Goal Velocity(104)에 '150'을 쓰면 Status Packet을 통해 Data Range Error가 반환됩니다.
- Bus Watchdog(98)의 값을 '0'으로 변경하면 Bus Watchdog Error가 해제됩니다.
- Goal Velocity(104)에 '150'을 쓰면 DYNAMIXEL이 CCW 방향으로 회전합니다.
Goal PWM(100)
PWM 제어 모드의 경우, PID 제어기나 Feedforward 제어기는 모두 비활성화되고 Goal PWM(100) 값이 Inverter를 통해서 모터에 직접 인가됩니다. 그 외 제어 모드에서는 PWM 제한값으로 사용됩니다. 제어 모드 별 Goal PWM(100)의 동작 방식은 해당 Gain의 설명 부분을 참고하세요.
참고: Goal PWM(100)은 [PWM Limit(36)]보다 클 수 없습니다.
| 단위 | 범위 |
|---|---|
| 약 0.113 [%] | -[PWM Limit(36)] ~ [PWM Limit(36)] |
Goal Current(102)
전류 제어 모드의 경우, Goal Current(102)를 통해 목표 전류를 설정할 수 있습니다. 전류기반 위치 제어 모드에서는 Current 제한값으로 사용됩니다. Goal Current(102)의 값은 [Current Limit(38)]보다 클 수 없습니다.
| 단위 | 값 범위 |
|---|---|
| about 1 [mA] | -Current Limit(38) ~ Current Limit(38) |
참고: Goal Current(102) can not exceed Current Limit(38).
참고 :
- Current Limit(38) may differ by each DYNAMIXEL so please check the Control Table.
- XL330 series measures curret at its input power source unlike other DYNAMIXE-X series supporting a current control. Therefore, you may have a different results in measuring current of XL330 series comparing with measuring phase current which quickly changes of a DC motor.
주의 : 모터에 장시간 높은 전류를 인가하면 모터가 손상될 수 있습니다.
Goal Velocity(104)
속도 제어 모드의 경우, Goal Velocity(104)를 통해 목표 속도를 설정할 수 있습니다. 현재 Goal Velocity(104)는 목표 속도로만 사용되고, 속도 제한 값으로는 사용되지 않습니다.
| 단위 | 범위 |
|---|---|
| 0.229 [rev/min] | -[Velocity Limit(44)] ~ [Velocity Limit(44)] |
참고 : Goal Velocity(104) 은 Velocity Limit(44)보다 클 수 없습니다.
참고 : 장치의 최대 속도와 최대 토크는 입력전압에 따라 달라집니다. 따라서 입력 전압에 따라 추종할 수 있는 최대 속도 역시 달라집니다. e-Manual은 권장 전압을 기준으로 설명합니다.
참고 : Profile Acceleration(108)과 Goal Velocity(104)를 동시에 변경할 경우, 변경된 Profile Acceleration(108)이 적용되어 Goal Velocity(104)가 수행됩니다.
Profile Acceleration(108)
Drive Mode(10)가 Velocity-based Profile인 경우 Profile Acceleration(108)은 Profile의 가속도를 설정합니다. Drive Mode(10)가 Time-based Profile인 경우 Profile Acceleration(108)은 Profile의 가속 시간을 설정합니다. Profile Acceleration(108)은 Operating Mode(11)에서 Current Control Mode와 PWM Control Mode를 제외한 모든 Control Mode에 적용됩니다.
자세한 내용은 Profile이란?을 참고하세요.
| Velocity-based Profile | 값 | 설명 |
|---|---|---|
| Unit | 214.577 [rev/min2] | Profile의 가속도를 설정합니다 |
| Range | 0 ~ 32767 | '0'은 무한대 가속도를 의미합니다 |
| Time-based Profile | 값 | 설명 |
|---|---|---|
| Unit | 1 [msec] | Profile의 가속 시간을 설정합니다 |
| Range | 0 ~ 32737 | '0'은 가속 시간이 '0 [msec]'인 무한대 가속도를 의미합니다. Profile Acceleration(108, 가속 시간)은 Profile Velocity(112, Profile 도달 시간) 값의 50%를 초과하지 않습니다. |
참고 : Time-based Profile은 펌웨어 버전 42부터 지원합니다.
Profile Velocity(112)
Drive Mode(10)가 Velocity-based Profile인 경우 Profile Velocity(112)는 Profile의 최대 속도를 설정합니다. Drive Mode(10)가 Time-based Profile인 경우 Profile Velocity(112)는 Profile의 도달 시간(총 시간)을 설정합니다. Profile Velocity(112)는 Operating Mode(11)가 Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode일 때만 적용됩니다.
자세한 내용은 Profile이란?을 참고하세요.
참고 : Velocity Control Mode에서는 Profile Velocity(112)를 사용하지 않고 Profile Acceleration(108)만 사용합니다.
| Velocity-based Profile | 값 | 설명 |
|---|---|---|
| Unit | 0.229 [rev/min] | Profile의 속도를 설정합니다 |
| Range | 0 ~ 32767 | '0'은 무한대 속도를 의미합니다 |
| Time-based Profile | 값 | 설명 |
|---|---|---|
| Unit | 1 [msec] | Profile의 도달 시간을 설정합니다 |
| Range | 0 ~ 32737 | '0'은 무한대 속도를 의미합니다. Profile Acceleration(108, 가속 시간)은 Profile Velocity(112, Profile 도달 시간) 값의 50%를 초과하지 않습니다. |
참고 : Time-based Profile은 펌웨어 V42부터 지원합니다.
Goal Position(116)
Goal Position(116)은 목표 위치를 설정합니다. DYNAMIXEL을 정면에서 보았을 때 CCW 방향은 증가 방향이고 CW 방향은 감소 방향입니다. Goal Position(116)에 도달하는 방식은 DYNAMIXEL에서 제공하는 Profile에 따라 달라질 수 있습니다. 자세한 내용은 What is the Profile을 참고하세요.
| Mode | 값 | 설명 |
|---|---|---|
| Position Control Mode | Min Position Limit(52) ~ Max Position Limit(48) | 초기값 : 0 ~ 4,095 |
| Extended Position Control Mode | -1,048,575 ~ 1,048,575 | -256[rev] ~ 256[rev] |
| 단위 | 설명 |
|---|---|
| 0.088 [deg/pulse] | 1[rev] : 0 ~ 4,095 (1회전 0 ~ 4,095, 총 4,096 count) |
참고 : Profile Velocity(112)와 Profile Acceleration(108)은 아래 경우에 적용됩니다.
- Operating Mode(11)가 Position Control Mode일 때 Goal Position(116)이 갱신되면 Profile Velocity(112)와 Profile Acceleration(108)을 사용해 새 Profile을 생성합니다.
- Operating Mode(11)가 Velocity Control Mode일 때 Goal Velocity(104)가 갱신되면 Profile Acceleration(108)을 사용해 새 Profile을 생성합니다.
참고 : Extended Position Control Mode에서 전원을 끄거나 Operation Mode를 변경하면 Present Position 값은 1회전 내 절대 위치값으로 초기화됩니다.
Realtime Tick(120)
장치의 시간을 나타내는 지수입니다.
| 단위 | 범위 | 상세 설명 |
|---|---|---|
| 1 [msec] | 0 ~ 32,767 | 32,767 이후에는 '0'부터 다시 시작합니다. |
Moving(122)
움직임의 유무를 나타냅니다. Present Velocity(128)의 절대값이 Moving Threshold(24)보다 크면 Moving(122) 이 ‘1’이 되고, 적으면 ‘0’이 됩니다. 단 Profile 진행 중, 즉 Goal Position(116) 명령을 수행하는 중에는 [Present Velocity(128)]와 무관하게 ‘1’로 설정됩니다.
| 값 | 설명 |
|---|---|
| 0 | 움직임이 감지되지 않음 |
| 1 | 움직임이 감지 되었거나, Profile 진행 중인 경우(Goal Position(116) 명령을 수행하는 중) |
Moving Status(123)
1 byte 데이터인 Moving Status(123)는 이동 상태에 대한 추가 정보를 제공합니다. Following Error(0x08)와 In-Position(0x01)은 Position Control Mode, Extended Position Control Mode에서 사용할 수 있습니다.
모드에 대한 자세한 내용은 Operating Mode(11)을 참고하세요.
| Bit | Value | Information | 설명 |
|---|---|---|---|
| Bit 7 | X | - | 예약 영역입니다. |
| Bit 6 | X | - | 예약 영역입니다. |
| Bit 4 Bit 5 | 11 10 01 00 | Velocity Profile | 11 : Trapezoidal Profile 10 : Triangular Profile 01 : Rectangular Profile 00 : Profile Not Used(Step) |
| Bit 3 | 0 or 1 | Following Error | DYNAMIXEL이 목표 위치 궤적을 추종하는지 나타냅니다. 0 : 추종 중 1 : 추종하지 않음 |
| Bit 2 | X | - | 예약 영역입니다. |
| Bit 1 | 0 or 1 | Profile Ongoing | Goal Position(116) Instruction에 따른 Profile이 진행 중인지 나타냅니다. 0 : Profile 완료 1 : Profile 진행 중 |
| Bit 0 | 0 or 1 | In-Position | DYNAMIXEL이 목표 위치에 도달했는지 나타냅니다. 0 : 도달하지 않음 1 : 도달 |
참고 : Rectangular velocity profile이 Profile Velocity(112)에 도달할 수 없는 경우 Triangular velocity profile이 구성됩니다.
참고 : Position 관련 제어 모드에서 위치 편차가 사전 정의된 값보다 작으면 In-Position bit가 설정됩니다.
Present PWM(124)
Present PWM(124)는 현재 PWM을 나타냅니다. 자세한 내용은 Goal PWM(100)을 참고하세요.
Present Current(126)
Present Current(126)는 현재 전류를 나타냅니다. 자세한 내용은 Goal Current(102)를 참고하세요.
Present Velocity(128)
Present Velocity(128)는 현재 속도를 나타냅니다. 자세한 내용은 Goal Velocity(104)를 참고하세요.
Present Position(132)
현재 위치 값입니다. 자세한 사항은 [Goal Position(116)]을 참고하세요.
Velocity Trajectory(136)
[Profile]에 의해 생성된 목표 속도 궤적입니다. 제어 모드에 따라 동작 방식이 다음과 같이 달라집니다. 자세한 사항은 [Profile]을 참고하세요.
- 속도 제어 모드 : Profile이 종료되면 Velocity Trajectory(136)은 Goal Velocity(104)와 동일해 집니다.
- 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드 : Position Trajectory(140)을 생성하기 위한 목표 속도 궤적입니다. Profile이 종료되면 Velocity Trajectory(136)은 '0'이 됩니다.
Position Trajectory(140)
Position Trajectory(140)은 Profile에 의해 생성된 목표 위치 궤적입니다. Position Trajectory(140)은 Operating Mode(11)가 Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode일 때만 사용됩니다. 자세한 내용은 Profile이란?을 참고하세요.
Present Input Voltage(144)
현재 공급되는 전압입니다. 자세한 사항은 Max/Min Voltage Limit(32, 34)를 참고하세요.
Present Temperature(146)
현재 내부온도입니다. 자세한 사항은 Temperature Limit(31)을 참고하세요.
Backup Ready(147)
이 Address의 값은 Control Table Backup Packet을 전송한 뒤 컨트롤 테이블 백업 데이터가 존재하는지 나타냅니다.
| Value | 설명 |
|---|---|
| 0 | 백업 데이터가 없습니다. |
| 1 | A saved backup data exists. |
참고 Backup Ready는 펌웨어 V45부터 사용할 수 있습니다. 자세한 내용은 Backup and Restore를 참고하세요.
Indirect Address, Indirect Data
Indirect Address와 Indirect Data는 컨트롤 테이블에서 서로 떨어져 있는 Address를 연속된 Address처럼 사용하기 위한 기능입니다. 연속된 Address를 사용하면 Instruction Packet의 효율을 높일 수 있습니다. Indirect Address로 지정할 수 있는 Address는 RAM 영역(Address 64 ~ 661)으로 제한됩니다.
- Indirect Address에 특정 Address를 할당하면, Indirect Data는 해당 Address의 Data가 가진 기능과 속성을 상속합니다.
- 속성에는 Size(Byte 길이), 값의 범위, Access 속성(Read Only, Read/Write)이 포함됩니다.
- 예를 들어 Indirect Address 1(168)에 LED의 Address인 65를 할당하면 Indirect Data 1(224)은 LED(65)와 동일하게 동작합니다.
| Indirect Address 범위 | 설명 |
|---|---|
| 64 ~ 661 | EEPROM Address는 Indirect Address로 지정할 수 없습니다 |
Indirect Address와 Indirect Data 예시
예제 1 Size 1 byte인 LED(65)를 Indirect Data 1(224)로 사용할 경우
- Indirect Address 1(168) : LED의 Address인 '65'로 변경합니다.
- Indirect Data 1(224)를 '1'로 설정합니다. LED(65)도 '1'이 되어 LED가 켜집니다.
- Indirect Data 1(224)를 '0'으로 설정합니다. LED(65)도 '0'이 되어 LED가 꺼집니다.
예제 2 Size 4 byte인 Goal Position(116)을 Indirect Data 2(225)로 사용할 경우, 연속된 4 byte를 모두 할당해야 합니다.
- Indirect Address 2(170) : Goal Position의 첫 번째 Address인 '116'으로 변경합니다.
- Indirect Address 3(172) : Goal Position의 두 번째 Address인 '117'으로 변경합니다.
- Indirect Address 4(174) : Goal Position의 세 번째 Address인 '118'으로 변경합니다.
- Indirect Address 5(176) : Goal Position의 네 번째 Address인 '119'으로 변경합니다.
- Indirect Data 2에 4 byte 값 '1,024'를 설정합니다. Goal Position(116)도 '1024'가 되어 DYNAMIXEL이 구동됩니다.
참고 : 컨트롤 테이블에서 2 [byte] 이상의 Data를 Indirect Address에 할당하려면, 위의 예제 2처럼 해당 Data가 사용하는 모든 Address를 Indirect Address로 설정해야 정상 동작합니다.
참고 : Indirect Address 29 ~ 56과 Indirect Data 29 ~ 56은 Protocol 2.0으로만 접근할 수 있습니다.
조립 방법

참고 자료
Profile이란?
Profile은 동작 중 속도와 가속도를 동적으로 변경하여 진동, 소음, 모터 부하를 줄이기 위해 생성되는 이동 궤적입니다. 다이나믹셀 서보는 3가지 Profile Type을 제공합니다.
Profile은 일반적으로 Profile Velocity(112)와 Profile Acceleration(108)의 조합에 따라 선택됩니다.
새 Goal Position(116)이 주어지면 다이나믹셀의 Profile Configuration은 현재 이동 속도를 기반으로 목표 속도 궤적을 생성합니다. 다이나믹셀이 이전 Goal Position(116)으로 이동 중일 때 새로운 Goal Position(116)을 받으면, 새로운 목표 속도 궤적에 맞게 속도가 부드럽게 조정됩니다. 다음은 Current-based Position Control Mode, Position Control Mode, Extended Position Control Mode에서 Profile이 Goal Position(116) Instruction을 처리하는 방식입니다.
- 사용자 Instruction이 다이나믹셀 버스를 통해 전달되어 Goal Position(116)에 등록됩니다(Velocity-based Profile이 선택된 경우).
- Profile Velocity(112)와 Profile Acceleration(108)을 기반으로 가속 시간(t1)이 계산됩니다.
- Profile Velocity(112), Profile Acceleration(108), 총 이동 거리(ΔPos, 목표 위치와 현재 위치의 차이)를 기반으로 Profile Type이 결정됩니다.
- 선택된 Profile Type은 Moving Status(123)에 저장됩니다.
- 다이나믹셀은 Profile에서 계산된 목표 궤적에 따라 구동됩니다.
- Profile의 목표 속도 궤적과 목표 위치 궤적은 각각 Velocity Trajectory(136)와 Position Trajectory(140)에 저장됩니다.
| 조건 | Profile Type |
|---|---|
| VPRFL(112) = 0 | Profile Not Used (Step Instruction) |
| (VPRFL(112) ≠ 0) & (APRF(108) = 0) | Rectangular Profile |
| (VPRFL(112) ≠ 0) & (APRF(108) ≠ 0) | Trapezoidal Profile |

참고 : Velocity Control Mode에서는 Profile Acceleration(108)만 사용합니다. Step과 Trapezoidal Profile이 지원됩니다. 가속 시간(t1)은 아래 식으로 계산할 수 있습니다.
Velocity-based Profile : t1 = 64 * {Profile Velocity(112) / Profile Acceleration(108)} Time-based Profile : t1 = Profile Acceleration(108)
참고 : Time-based Profile이 선택되면 Profile Velocity(112)는 Profile 총 시간(t3)을 설정하고, Profile Acceleration(108)는 허용 가속 시간(t1)을 millisecond[ms] 단위로 설정합니다. Profile Acceleration(108)은 설정된 Profile Velocity(112) 값의 50%를 초과하지 않습니다.
인증
목록에 없는 인증 정보는 별도로 문의하세요.
FCC
참고: 이 장비는 FCC Rules part 15에 따른 Class A 디지털 장치 제한을 준수하도록 시험되었으며 적합 판정을 받았습니다. 이 제한은 상업 환경에서 장비를 운용할 때 유해한 간섭에 대해 합리적인 보호를 제공하도록 설계되었습니다. 이 장비는 무선 주파수 에너지를 생성, 사용 및 방출할 수 있으며, 사용 설명서에 따라 설치 및 사용하지 않으면 무선 통신에 유해한 간섭을 일으킬 수 있습니다. 주거 지역에서 이 장비를 운용하면 유해한 간섭이 발생할 가능성이 있으며, 이 경우 사용자는 자신의 비용으로 간섭을 해결해야 합니다.
주의 제조사가 명시적으로 승인하지 않은 변경 또는 개조는 사용자의 장비 운용 권한을 무효화할 수 있습니다.
빠른 시작
사전 준비
-
DYNAMIXEL 전원 공급 장치(12V SMPS 또는 호환되는 12V 배터리)
-
Windows, Linux 또는 MacOS가 설치된 PC
-
PC와 DYNAMIXEL 간 통신을 위한 시리얼 컨버터(U2D2, OpenRB-150)
주의:
- 일부 소프트웨어는 모든 OS 옵션을 지원하지 않을 수 있습니다. 사용하려는 소프트웨어의 eManual 페이지를 확인해 호환성을 확인하세요.
참고:
- U2D2는 연결된 PC에서 DYNAMIXEL 서보를 직접 제어하고 동작시킬 수 있는 소형 USB to Serial 통신 컨버터입니다.
- U2D2 Power Hub를 사용하면 DYNAMIXEL에 전원을 공급하기 위해 외부 전원을 U2D2에 연결하는 과정이 간단해집니다.
Compatible Software with DYNAMIXEL
DYNAMIXEL Wizard 2.0
DYNAMIXEL Wizard 2.0은 DYNAMIXEL 서보의 설정, 구성, 관리를 쉽게 할 수 있도록 설계된 설정 도구입니다.
DYNAMIXEL Wizard 2.0은 다음 기능을 제공합니다.
- DYNAMIXEL Firmware Update
- DYNAMIXEL Error Diagnosis
- DYNAMIXEL Configuration and Testing
- DYNAMIXEL Real-time Data Plotting
- Generate & Monitor DYNAMIXEL Packets
DYNAMIXEL SDK
DYNAMIXEL SDK는 다양한 주요 프로그래밍 언어에서 DYNAMIXEL 제어 기능을 제공하는 소프트웨어 개발 키트입니다.
지원 프로그래밍 언어 및 기능:
- C, C++, C#, Python, Java, MATLAB, LabVIEW
- Windows, Mac, Linux
- ROS
- Arduino
참고 : 더 다양한 소프트웨어도 사용할 수 있습니다. ROBOTIS에서 제공하는 소프트웨어 정보는 다음 호환표를 확인하세요.
- DYNAMIXEL to software Compatibility Table
- Controller to software Compatibility Table
커넥터 정보
| 항목 | TTL |
|---|---|
| 핀번호 | 1 GND2 VDD3 DATA |
| 다이어그램 | |
| 하우징 | JST EHR-03 |
| PCB Header | JST B3B-EH-A |
| Crimp Terminal | JST SEH-001T-P0.6 |
| Wire Gauge for DYNAMIXEL | 21 AWG |
Communication Circuit
DYNAMIXEL 액추에이터를 제어하려면 메인 컨트롤러가 UART 신호를 Half Duplex 방식으로 변환해야 합니다. 권장 회로도는 아래와 같습니다.
TTL Communication

참고 : 위 회로는 5V 또는 5V tolerant MCU용으로 설계되었습니다. 그렇지 않은 경우 MCU 전압에 맞도록 Level Shifter를 사용하세요.
도면
더 많은 2D/3D 도면자료와 각종 소프트웨어 등 유용한 자료는 **로보티즈 다운로드 센터**에서 제공됩니다.