MX-106R, MX-106T (Protocol 2.0)
주요 사양
| 항목 | 사양 |
|---|---|
| MCU | ARM CORTEX-M3 (72 [MHz], 32Bit) |
| 위치 센서 | Contactless absolute encoder (12Bit, 360 [°]) Maker : ams(www.ams.com), Part No : AS5045 |
| 모터 | Coreless(Maxon) |
| 통신 속도 | 8,000 [bps] ~ 4.5 [Mbps] |
| 제어 알고리즘 | PID control |
| 해상도 | 4096 [pulse/rev] |
| Backlash | 20 [arcmin] (0.33 [°]) |
| 동작 모드 | 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) |
| 무게 | 153 [g] |
| 크기 (W x H x D) | 40.2 x 65.1 x 46 [mm] |
| 기어비 | 225 : 1 |
| Stall Torque | 8.0 [N.m] (at 11.1 [V], 4.8 [A], 1.667 [Nm/A]) 8.4 [N.m] (at 12[V], 5.2 [A], 1.615 [Nm/A]) 10.0 [N.m] (at 14.8 [V], 6.3 [A], 1.587 [Nm/A]) |
| 무부하 속도 | 41 [rev/min] (at 11.1 [V]) 45 [rev/min] (at 12 [V]) 55 [rev/min] (at 14.8 [V]) |
| Radial Load | 1 40 [N] (10 [mm] away from the horn) |
| Axial Load | 1 20 [N] |
| 동작 온도 | -5 ~ +80 [°C] |
| 입력 전압 | 10.0 ~ 14.8 [V] (권장 : 12.0 [V]) |
| 제어 명령 | Digital Packet |
| 물리적 연결 | RS-485 / TTL Multidrop Bus TTL Half Duplex Asynchronous Serial Communication with 8bit, 1stop, No Parity RS-485 Asynchronous Serial Communication with 8bit, 1stop, No Parity |
| ID | 253 ID (0 ~ 252) |
| Feedback | Position, Velocity, Current, Realtime tick, Trajectory, Temperature, Input Voltage, etc |
| 케이스 재질 | Engineering Plastic(Front, Middle, Back)1 Metal(Front) |
| 기어 재질 | Full Metal Gear |
| 대기 전류 | 100 [mA] |
1 알루미늄 하우징 제품(MX-28AR/AT, MX-64AR/AT, MX-106R/T)에 적용됩니다.
위험 (이 경고를 무시하면 심각한 상해 또는 사망에 이를 수 있습니다)
- 제품 주위에 물, 가연성 물질/화기 또는 용제가 포함된 물건을 두지 마세요.
- 작동 중인 제품 가까이에 손가락, 팔, 발가락 등 신체 일부를 가까이 대지 마세요.
- 제품에서 이상한 냄새, 소음 또는 연기가 발생하면 즉시 작동을 중지하고 전원을 차단하세요.
- 제품은 어린이의 손이 닿지 않는 곳에 보관하세요.
- 배선이나 케이블을 설치하거나 전원을 공급하기 전에 입력 극성을 확인하세요.
경고 (이 경고를 무시하면 가벼운 상해 또는 제품 손상이 발생할 수 있습니다)
- 입력 전압, 전류, 동작 온도 등 제품의 공식 동작 환경 사양을 항상 준수하세요.
- 제품 작동 중 칼날이나 기타 날카로운 물체를 넣지 마세요.
주의 (이 주의를 무시하면 경미한 상해 또는 제품 손상이 발생할 수 있습니다)
- 제품을 분해하거나 개조하지 마세요.
- 제품을 떨어뜨리거나 강한 충격을 가하지 마세요.
- 전원이 공급되는 동안 다이나믹셀 케이블을 연결하거나 분리하지 마세요.
성능 그래프

참고 : Servo의 Stall torque 사양은 연속 출력 사양과 다르며, 실제 사용 환경에서 기대할 수 있는 성능과도 다를 수 있습니다.
Stall torque는 Servo가 순간적으로 낼 수 있는 최대 토크이며, 일반적인 RC Servo 사양 측정 방식입니다. 위 그래프의 Performance Graph 또는 N-T Curve는 부하(load)를 점진적으로 증가시키는 조건에서 측정됩니다.
일반적으로 Performance Graph 시험에서 표시되는 Maximum Torque는 최대 Stall Torque보다 작게 측정됩니다.
실제 사용 환경에서의 Servo 성능은 정격 Stall torque보다 Performance Graph 측정값에 더 가깝습니다.
주의 - 전원 공급 시:
- 안정적인 전원 공급을 위해 ROBOTIS Controller 또는 SMPS2DYNAMIXEL 전원 어댑터 사용을 권장합니다.
- 전원이 공급되는 동안 DYNAMIXEL actuator cable을 연결하거나 분리하지 마십시오.
컨트롤 테이블
컨트롤 테이블은 다이나믹셀 액추에이터가 장치 상태를 관리하기 위해 사용하는 데이터 구조입니다. 사용자는 Read Instruction Packet으로 데이터 레지스터를 읽어 장치 상태 정보를 확인하고, Write Instruction Packet으로 데이터 레지스터를 변경해 장치를 제어할 수 있습니다.
주의
- MX(2.0) Firmware는 기존 MX 시리즈와 컨트롤 테이블 및 Address가 다릅니다. 사용 전에 컨트롤 테이블 Address를 확인하세요.
- MX(2.0) Firmware는 DYNAMIXEL-X의 기능을 계승합니다. 따라서 DYNAMIXEL Protocol 1.0과 DYNAMIXEL Protocol 2.0, 다양한 동작 모드, Secondary ID, Drive Mode, Bus Watchdog 등을 지원합니다. 자세한 내용은 컨트롤 테이블을 참고하세요.
컨트롤 테이블, 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 영역 컨트롤 테이블
| Address | Size(Byte) | Data Name | 설명 | Access | 초기 값 |
|---|---|---|---|---|---|
| 0 | 2 | Model Number | 모델 번호 | R | 321 |
| 2 | 4 | Model Information | Model Information | R | - |
| 6 | 1 | Firmware Version | 펌웨어 버전 | R | - |
| 7 | 1 | ID | DYNAMIXEL ID | RW | 1 |
| 8 | 1 | Baud Rate | Communication Baud Rate | RW | 1 |
| 9 | 1 | Return Delay Time | 응답 지연 시간 | RW | 250 |
| 10 | 1 | Drive Mode | Drive Mode | RW | 0 |
| 11 | 1 | Operating Mode | 동작 모드 | RW | 3 |
| 12 | 1 | Secondary(Shadow) ID | Secondary ID | RW | 255 |
| 13 | 1 | Protocol Type | 프로토콜 타입 | RW | 2 |
| 20 | 4 | Homing Offset | Home Position Offset | RW | 0 |
| 24 | 4 | Moving Threshold | Velocity Threshold for Movement Detection | RW | 10 |
| 31 | 1 | Temperature Limit | 최대 내부 온도 제한 | RW | 80 |
| 32 | 2 | Max Voltage Limit | 최대 입력 전압 제한 | RW | 160 |
| 34 | 2 | Min Voltage Limit | 최소 입력 전압 제한 | RW | 95 |
| 36 | 2 | PWM Limit | Maximum PWM Limit | RW | 885 |
| 38 | 2 | Current Limit | 최대 전류 제한 | RW | 2047 |
| 40 | 4 | Acceleration Limit | Maximum Acceleration Limit | RW | 32767 |
| 44 | 4 | Velocity Limit | Maximum Velocity Limit | RW | 210 |
| 48 | 4 | Max Position Limit | Maximum Position Limit | RW | 4,095 |
| 52 | 4 | Min Position Limit | Minimum Position Limit | RW | 0 |
| 63 | 1 | Shutdown | Shutdown Error Information | RW | 52 |
RAM 영역 컨트롤 테이블
| Address | Size(Byte) | Data Name | 설명 | Access | 초기 값 |
|---|---|---|---|---|---|
| 64 | 1 | Torque Enable | Motor Torque On/Off | RW | 0 |
| 65 | 1 | LED | Status LED On/Off | RW | 0 |
| 68 | 1 | Status Return Level | Select Types of Status Return | RW | 2 |
| 69 | 1 | Registered Instruction | REG_WRITE Instruction Flag | R | 0 |
| 70 | 1 | Hardware Error Status | Hardware Error Status | R | 0 |
| 76 | 2 | Velocity I Gain | I Gain of Velocity | RW | 1920 |
| 78 | 2 | Velocity P Gain | P Gain of Velocity | RW | 100 |
| 80 | 2 | Position D Gain | D Gain of Position | RW | 0 |
| 82 | 2 | Position I Gain | I Gain of Position | RW | 0 |
| 84 | 2 | Position P Gain | P Gain of Position | RW | 850 |
| 88 | 2 | Feedforward 2nd Gain | 2nd Gain of Feed-Forward | RW | 0 |
| 90 | 2 | Feedforward 1st Gain | 1st Gain of Feed-Forward | RW | 0 |
| 98 | 1 | BUS Watchdog | DYNAMIXEL BUS Watchdog | RW | 0 |
| 100 | 2 | Goal PWM | Desired PWM Value | RW | - |
| 102 | 2 | Goal Current | Desired Current Value | RW | - |
| 104 | 4 | Goal Velocity | Desired Velocity Value | RW | - |
| 108 | 4 | Profile Acceleration | Acceleration Value of Profile | RW | 0 |
| 112 | 4 | Profile Velocity | Velocity Value of Profile | RW | 0 |
| 116 | 4 | Goal Position | Desired Position | RW | - |
| 120 | 2 | Realtime Tick | Count Time in Millisecond | R | - |
| 122 | 1 | Moving | Movement Flag | R | 0 |
| 123 | 1 | Moving Status | Detailed Information of Movement Status | R | 0 |
| 124 | 2 | Present PWM | Present PWM Value | R | - |
| 126 | 2 | Present Current | Present Current Value | R | - |
| 128 | 4 | Present Velocity | Present Velocity Value | R | - |
| 132 | 4 | Present Position | Present Position Value | R | - |
| 136 | 4 | Velocity Trajectory | Desired Velocity Trajectory from Profile | R | - |
| 140 | 4 | Position Trajectory | Desired Position Trajectory from Profile | R | - |
| 144 | 2 | Present Input Voltage | Present Input Voltage | R | - |
| 146 | 1 | Present Temperature | Present Internal Temperature | R | - |
| 168 | 2 | Indirect Address 1 | Indirect Address 1 | RW | 224 |
| 170 | 2 | Indirect Address 2 | Indirect Address 2 | RW | 225 |
| 172 | 2 | Indirect Address 3 | Indirect Address 3 | RW | 226 |
| ... | ... | ... | ... | ... | ... |
| 218 | 2 | Indirect Address 26 | Indirect Address 26 | RW | 249 |
| 220 | 2 | Indirect Address 27 | Indirect Address 27 | RW | 250 |
| 222 | 2 | Indirect Address 28 | Indirect Address 28 | RW | 251 |
| 224 | 1 | Indirect Data 1 | Indirect Data 1 | RW | 0 |
| 225 | 1 | Indirect Data 2 | Indirect Data 2 | RW | 0 |
| 226 | 1 | Indirect Data 3 | Indirect Data 3 | RW | 0 |
| ... | ... | ... | ... | ... | ... |
| 249 | 1 | Indirect Data 26 | Indirect Data 26 | RW | 0 |
| 250 | 1 | Indirect Data 27 | Indirect Data 27 | RW | 0 |
| 251 | 1 | Indirect Data 28 | Indirect Data 28 | RW | 0 |
| 578 | 2 | Indirect Address 29 | Indirect Address 29 | RW | 634 |
| 580 | 2 | Indirect Address 30 | Indirect Address 30 | RW | 635 |
| 582 | 2 | Indirect Address 31 | Indirect Address 31 | RW | 636 |
| ... | ... | ... | ... | ... | ... |
| 628 | 2 | Indirect Address 54 | Indirect Address 54 | RW | 659 |
| 630 | 2 | Indirect Address 55 | Indirect Address 55 | RW | 660 |
| 632 | 2 | Indirect Address 56 | Indirect Address 56 | RW | 661 |
| 634 | 1 | Indirect Data 29 | Indirect Data 29 | RW | 0 |
| 635 | 1 | Indirect Data 30 | Indirect Data 30 | RW | 0 |
| 636 | 1 | Indirect Data 31 | Indirect Data 31 | RW | 0 |
| ... | ... | ... | ... | ... | ... |
| 659 | 1 | Indirect Data 54 | Indirect Data 54 | RW | 0 |
| 660 | 1 | Indirect Data 55 | Indirect Data 55 | RW | 0 |
| 661 | 1 | Indirect Data 56 | Indirect Data 56 | RW | 0 |
주의 : Protocol 1.0은 256보다 큰 Address를 지원하지 않습니다. 따라서 Indirect Address 29 ~ 56과 Indirect Data 29 ~ 56은 Protocol 2.0에서만 접근할 수 있습니다.
컨트롤 테이블 설명
주의 : EEPROM Area의 Data는 Torque Enable(64) 값이 '0'으로 해제된 경우에만 쓸 수 있습니다.
Model Number(0)
다이나믹셀의 모델 번호를 저장합니다.
Firmware Version(6)
다이나믹셀의 펌웨어 버전을 저장합니다.
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 간의 Serial 통신 속도를 설정합니다.
| Value | 통신 속도 | 오차율 |
|---|---|---|
| 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 설정
Return Delay Time(9)
다이나믹셀이 Instruction Packet을 수신하면 Return Delay Time(5)에 설정된 시간이 지난 후 Status Packet을 반환합니다. 값의 범위는 0 ~ 254 (0XFE)이며 단위는 2 [μsec]입니다. 예를 들어 Return Delay Time(5)이 '10'으로 설정되어 있으면 Instruction Packet 수신 후 20 [μsec] 뒤에 Status Packet을 반환합니다.
| 단위 | 값 범위 | 설명 |
|---|---|---|
| 2[μsec] | 0 ~ 254 | 기본값 '250'(500[μsec]) 최대값: '508'[μsec] |
Drive Mode(10)
Drive Mode(10)는 DYNAMIXEL의 Drive Mode를 설정합니다.
| Bit | 항목 | 설명 |
|---|---|---|
| Bit 7(0x80) | - | 미사용, 항상 '0' |
| Bit 6(0x40) | - | 미사용, 항상 '0' |
| Bit 5(0x20) | - | 미사용, 항상 '0' |
| Bit 4(0x10) | - | 미사용, 항상 '0' |
| Bit 3(0x08) | - | 미사용, 항상 '0' |
| Bit 2(0x04) | Profile Configuration | [0] Velocity-based Profile [1] Time-based Profile 자세한 내용은 Profile이란?을 참고하세요 |
| Bit 1(0x02) | Master/Slave Mode (Dual Joint) | [0] Master Mode: Master DYNAMIXEL로 동작합니다. [1] Slave Mode: Slave DYNAMIXEL로 동작합니다 |
| Bit 0(0x01) | Normal/Reverse Mode | [0] Normal Mode: CCW(양수), CW(음수) [1] Reverse Mode: CCW(음수), CW(양수) |
참고 : Time-based Profile은 펌웨어 V42부터 지원합니다.
참고 : Drive Mode(10)의 Bit 0(Normal/Reverse Mode)을 1로 설정하면 회전 방향이 반전됩니다.
따라서 Position, Velocity, Current, PWM의 방향이 반전됩니다.
대칭 구조의 관절을 구성할 때 유용하게 사용할 수 있습니다.
Dual Mode
Dual Mode는 두 개의 DYNAMIXEL을 하나의 관절로 결합하여 성능을 높이기 위한 기능입니다. Dual Mode를 사용하려면 Slave DYNAMIXEL을 Sync Cable로 Master DYNAMIXEL에 연결해야 합니다.
Slave DYNAMIXEL은 Sync Cable을 통해 Master DYNAMIXEL에서 전달되는 PWM 신호로만 직접 제어됩니다. 따라서 Slave DYNAMIXEL의 Goal Position, Goal Velocity, Goal Current, Goal PWM은 사용되지 않고 무시됩니다.
Slave DYNAMIXEL의 회전 방향은 Slave DYNAMIXEL의 Normal/Reverse Mode 설정이 아니라 Sync Cable의 종류에 의해 결정됩니다. 일반 Sync Cable은 Slave DYNAMIXEL을 Master DYNAMIXEL과 같은 방향으로 구동하고, 꼬임형 Sync Cable은 반대 방향으로 구동합니다.

| Sync Cable | 설명 |
|---|---|
| Regular Sync Cable | Slave DYNAMIXEL은 Master DYNAMIXEL의 PWM Signal로 제어됩니다.Master와 Slave DYNAMIXEL은 같은 방향으로 회전합니다. |
| Twisted Sync Cable | Slave DYNAMIXEL은 Master DYNAMIXEL의 반전된 PWM Signal로 제어됩니다.Master와 Slave DYNAMIXEL은 반대 방향으로 회전합니다. |
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이 같은 값을 공유해 그룹을 만들고 동작을 동기화하는 데 사용할 수 있습니다. Secondary ID(12)와 ID(7)의 차이는 다음과 같습니다.
- 같은 Secondary ID(12)를 사용하는 여러 DYNAMIXEL을 하나의 그룹으로 묶을 수 있습니다.
- ID(7)는 Secondary ID(12)보다 우선순위가 높습니다. Secondary ID(12)와 ID(7)이 같은 값으로 설정된 경우 ID(7)가 우선 적용됩니다.
- Secondary ID(12)로는 Control Table의 EEPROM 영역을 변경할 수 없습니다.
- Secondary ID(12)로 RAM 영역을 변경할 수 있습니다.
- Instruction Packet의 ID가 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) 예시
앞서 설명한 것처럼 Secondary ID(12)는 ID(7)와 달리 동일한 값을 여러 DYNAMIXEL에 할당할 수 있습니다. 아래 예시를 통해 Secondary ID(12)의 동작을 확인하세요. 각 DYNAMIXEL에 할당된 ID(7)는 '1', '2', '3', '4', '5'이며 서로 중복되지 않는다고 가정합니다.
- 다섯 개의 DYNAMIXEL에 할당된 ID(7)가 각각 '1', '2', '3', '4', '5'일 때, 모든 DYNAMIXEL의 Secondary ID(12)를 '5'로 설정합니다.
- Write Instruction Packet(ID(7) = 1, LED(65) = 1)을 전송합니다.
- ID '1'인 DYNAMIXEL은 Instruction Packet에 따라 LED를 켜고 Status Packet을 반환합니다.
- Write Instruction Packet(ID(7) = 5, LED(65) = 1)을 전송합니다.
- 모든 DYNAMIXEL이 LED를 켜지만, Status Packet은 ID '5'인 DYNAMIXEL만 반환합니다.
- 모든 DYNAMIXEL의 Secondary ID(12)를 '100'으로 설정합니다.
- Write Instruction Packet(ID(7) = 100, LED(65) = 0)을 전송합니다.
- 모든 DYNAMIXEL이 LED를 끕니다. ID 100을 사용하는 DYNAMIXEL은 없고 동일한 Secondary ID만 사용하므로 Status Packet은 반환되지 않습니다.
Protocol Type(13)
DYNAMIXEL Protocol Type(13)을 사용해 DYNAMIXEL Protocol 1.0 또는 2.0을 선택할 수 있습니다.
여러 DYNAMIXEL을 사용할 때는 동일한 Protocol Type을 사용하는 것을 권장합니다.
| Value | 설명 | 호환 DYNAMIXEL |
|---|---|---|
| 1 | DYNAMIXEL Protocol 1.0 | AX Series, DX Series, RX Series, EX Series, Firmware v39 미만의 MX Series |
| 2(default) | DYNAMIXEL Protocol 2.0 | Firmware v39 이상의 MX-28/64/106, 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을 기준으로 설명합니다. Protocol에 대한 자세한 내용은 e-Manual의 Protocol 1.0과 Protocol 2.0을 참고하세요.
참고 : 제품별 호환성은 Protocol Compatibility 표를 참고하세요.
Homing Offset(20)
Home Offset(20)은 Home Position을 조정합니다. Offset 값은 Present Position(132)에 더해집니다.
Present Position(132) = 실제 위치 + Homing Offset(20)
| 단위 | 범위 |
|---|---|
| 약 0.088 [°] | -1,044,479 ~ 1,044,479 (-255 ~ 255[rev]) |
참고 : 360도 미만으로 회전하는 Position Control Mode(Joint Mode)에서는 유효 범위를 벗어난 Homing Offset(20) 값이 무시됩니다. (유효 범위 : -1,024 ~ 1,024)
경고 : Drive Mode(10)가 Reverse Mode로 설정되어도 Homing Offset(20) 값의 부호는 반전되지 않습니다.
Moving Threshold(24)
Moving Threshold(24)는 다이나믹셀이 움직이는 중인지 여부를 판단하는 기준 속도입니다.
Present Velocity(128)의 절대값이 Moving Threshold(24)보다 크면 Moving(122)이 1로 설정되고, 그렇지 않으면 0으로 설정됩니다.
| 단위 | 범위 | 설명 |
|---|---|---|
| 약 0.229 rpm | 0 ~ 1,023 | 속도 관련 Data는 모두 동일한 단위를 사용합니다. |
Temperature Limit(31)
Temperature Limit(31)은 DYNAMIXEL의 동작 온도 상한 값을 설정합니다. Present Temperature(146)가 Temperature Limit(31)보다 높아지면 Hardware Error Status(70)의 **Overheating Error Bit(0x04)**와 **Alert Bit(0x80)**이 설정됩니다. Shutdown(63)에 Overheating Error Bit(0x04)가 설정된 경우 Torque Enable(64)은 '0'(Torque OFF)으로 변경됩니다. 자세한 내용은 Shutdown(63)을 참고하세요.
| 단위 | 범위 | 설명 |
|---|---|---|
| 약 1° | 0 ~ 100 | 0 ~ 100° |
주의 : 이 값을 기본값보다 높게 설정하지 마십시오. DYNAMIXEL에서 온도 경고 알람(Overheating Error Bit(0x04))이 발생하면 20분 이상 식힌 후 사용하세요. 그렇지 않으면 동작 중 제품이 심하게 손상될 수 있습니다.
Min/Max Voltage Limit(32, 34)
Min Voltage Limit(32)과 Max Voltage Limit(34)는 동작 전압의 하한 값과 상한 값을 설정합니다. DYNAMIXEL에 현재 인가된 전압을 나타내는 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) 항목을 참고하세요.
| 단위 | 범위 | 설명 |
|---|---|---|
| 약 0.1 [V] | 95 ~ 160 | 9.5 ~ 16.0 [V] |
PWM Limit(36)
PWM Limit(36)은 PWM 출력의 한계 값입니다. Goal PWM(100)에는 PWM Limit(36)보다 큰 값을 설정할 수 없습니다. PWM Limit(36)은 모든 Operating Mode에 공통으로 적용되는 출력 제한 값이므로, PWM 출력을 낮추면 토크와 속도가 함께 감소합니다. 자세한 내용은 각 Operating Mode의 Gain 항목을 참고하세요.
| 단위 | 범위 |
|---|---|
| about 0.113 [%] | 0(0 [%]) ~ 885(100 [%] ) |
Current Limit(38)
Current Limit(38)은 최대 전류(Torque) 출력 제한값을 나타냅니다. Goal Current(102)에는 Current Limit(38)을 초과하는 값을 설정할 수 없습니다. Current Limit(38)은 Torque Control Mode와 Current-based Position Control Mode에서 사용되므로, Current Limit(38)을 낮추면 다이나믹셀의 Torque가 감소합니다. 자세한 내용은 Position PID Gain(80 ~ 84)을 참고하세요.
| Unit | Value Range |
|---|---|
| about 3.36[mA] | 0 ~ 2,047 |
참고 : Current Limit(38)은 다이나믹셀마다 다를 수 있으므로 컨트롤 테이블을 확인하세요.
Acceleration Limit(40)
이 값은 Profile Acceleration(108)의 최대값을 나타냅니다. Profile Acceleration(108)에는 Acceleration Limit(40)을 초과하는 값을 설정할 수 없습니다. Profile Acceleration(108)은 PWM Control Mode를 제외한 모든 동작 모드에서 목표 궤적을 생성하는 데 사용됩니다. 자세한 내용은 Profile을 참고하세요.
| 단위 | 값의 범위 |
|---|---|
| 214.577 Rev/min2 | 0 ~ 32,767 |
Velocity Limit(44)
Velocity Limit(44)는 Goal Velocity(104)의 최대값을 나타냅니다. 자세한 내용은 Goal Velocity(104)를 참고하세요.
| 단위 | 범위 |
|---|---|
| 0.229rpm | 0 ~ 1,023 |
참고 : Firmware V42부터 Velocity Limit(44)의 기본값이 감소했습니다.
Min/Max Position Limit(48, 52)
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에서만 사용됩니다.
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)
| 값 | 설명 |
|---|---|
| 0(Default) | Torque Off |
| 1 | Torque On |
LED(65)
LED(65)는 LED의 On/Off를 설정합니다.
| Bit | 설명 |
|---|---|
| 0(Default) | LED를 Off합니다 |
| 1 | LED를 On합니다 |
LED는 다이나믹셀의 다양한 상태를 표시하는 데에도 사용됩니다. 자세한 내용은 아래 표를 참고하세요.
| 상태 | LED 표시 |
|---|---|
| Booting | LED가 1회 점멸 |
| Factory Reset | LED가 빠르게 4회 점멸 |
| Shutdown Error | LED가 계속 점멸 |
| Bootloader Mode | LED가 계속 켜짐 |
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 | REG_WRITE에 의해 등록된 Instruction이 없습니다 |
| 1 | REG_WRITE에 의해 등록된 Instruction이 있습니다 |
참고 : ACTION Instruction이 실행되면 Registered Instruction(69)은 0으로 변경됩니다.
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 Current(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를 참고하세요.
아래 그림은 Current-based Position Control Mode에서 동작하는 전류 기반 위치 제어기의 블록 다이어그램입니다. Current-based Position Control Mode는 Position Control Mode와 매우 유사하므로, 아래 단계에서는 차이점 위주로 설명합니다. 블록 다이어그램에서도 차이점을 초록색으로 표시했습니다.
- Feedforward와 PID 제어기는 목표 궤적을 기반으로 목표 전류를 계산합니다.
- Goal Current(102)는 계산된 목표 전류를 제한하여 최종 목표 전류를 결정합니다.
- 전류 제어기는 최종 목표 전류를 기반으로 모터에 인가할 PWM 출력을 계산합니다.
- Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM 값을 결정합니다.
- 최종 PWM 값은 Inverter를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
- 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), Present Current(126)에 저장됩니다.

참고 : Ka는 사용자가 변경할 수 없는 Anti-windup Gain입니다.
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)
Operating Mode(11)가 PWM Control Mode일 때는 PID 제어기와 Feedforward 제어기가 모두 비활성화되고, Goal PWM(100) 값이 Inverter를 통해 모터를 직접 제어합니다. 그 외 Operating Mode(11)에서는 Goal PWM(100)이 PWM 값을 제한하는 용도로만 사용됩니다. Goal PWM(100)이 Gain과 함께 동작하는 방식은 Position PID Gain(80, 82, 84), Feedforward 1st/2nd Gains(88, 90) 또는 Velocity PI Gain(76, 78)을 참고하세요.
| 단위 | 범위 |
|---|---|
| about 0.113 [%] | -PWM Limit(36) ~ PWM Limit(36) |
참고 : Goal PWM(100)은 PWM Limit(36)을 초과할 수 없습니다.
Goal Current(102)
Operating Mode(11)가 Torque Control Mode일 때 Goal Current(102)로 목표 전류를 설정할 수 있습니다. 또한 Current-based Position Control Mode에서는 Goal Current(102)를 전류 제한값으로 사용할 수 있습니다. Goal Current(102)는 Current Limit(38)보다 큰 값으로 설정할 수 없습니다.
| 단위 | 범위 |
|---|---|
| 약 3.36[mA] | -Current Limit(38) ~ Current Limit(38) |
참고 : 모터에 높은 전류를 장시간 인가하면 모터가 손상될 수 있습니다.
Goal Velocity(104)
Goal Velocity(104)는 Operating Mode(11)가 Velocity Control Mode일 때 목표 속도를 설정합니다.
Goal Velocity(104)는 이동 속도를 제한하는 값으로는 사용되지 않습니다.
| 단위 | 범위 |
|---|---|
| 0.229 rpm | -Velocity Limit(44) ~ Velocity Limit(44) |
참고 : Goal Velocity(104)는 Velocity Limit(44)를 초과할 수 없습니다.
참고 : DYNAMIXEL의 최대 속도와 최대 토크는 공급 전압의 영향을 받습니다. 따라서 공급 전압이 변경되면 최대 속도도 달라집니다. 이 매뉴얼은 권장 공급 전압을 기준으로 설명합니다.
참고 : 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에 따라 달라질 수 있습니다. 자세한 내용은 Profile이란?을 참고하세요.
| Mode | Values | 설명 |
|---|---|---|
| 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] |
| Current-based Position Control Mode | -1,048,575 ~ 1,048,575 | -256[rev] ~ 256[rev] |
| Unit | 설명 |
|---|---|
| 0.088 [deg/pulse] | 1[rev] : 0 ~ 4,095 (1회전 0 ~ 4,095, 총 4,096 counts) |
참고 : 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에서 전원을 끄거나 Operating Mode를 변경하면 Present Position 값은 1회전 범위의 절대 위치값으로 초기화됩니다.
참고 : Torque가 꺼진 상태에서는 Operating Mode(11)와 관계없이 Present Position(132)이 -2,147,483,648 ~ 2,147,483,647의 4 byte 연속 범위로 표시됩니다. 다만 아래 경우에는 Present Position(132)이 1회전 범위의 절대 위치값으로 초기화됩니다.
- Operating Mode(11)가 Position Control Mode로 변경된 경우
- Position Control Mode에서 Torque가 켜진 경우
- Actuator의 전원이 켜지거나 Reboot Instruction으로 reboot된 경우
1회전 범위의 절대 위치값으로 초기화된 Present Position(132)도 설정된 Homing Offset(20) 값의 영향을 받습니다.
Realtime Tick(120)
Realtime Tick(120)은 DYNAMIXEL의 시간을 나타내는 값입니다.
| Unit | Value Range | 설명 |
|---|---|---|
| 1 ms | 0 ~ 32,767 | 32,767을 초과하면 값은 '0'부터 다시 시작합니다 |
Moving(122)
Moving(122)은 다이나믹셀이 움직이는 중인지 여부를 나타냅니다.
Present Velocity(128)의 절대값이 Moving Threshold(24)보다 크면 Moving(122)이 1로 설정됩니다.
그렇지 않으면 0으로 설정됩니다.
단, Goal Position(116) Instruction으로 Profile이 진행 중인 경우에는 Present Velocity(128)와 관계없이 Moving(122)이 항상 1로 설정됩니다.
| 값 | 설명 |
|---|---|
| 0 | 움직임이 감지되지 않음 |
| 1 | 움직임이 감지되었거나 Profile이 진행 중임(Goal Position(116) Instruction 처리 중) |
Moving Status(123)
Moving Status(123)는 1 byte 데이터로 움직임에 대한 추가 정보를 제공합니다. Following Error(0x08)와 In-Position(0x01)은 Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode에서 사용할 수 있습니다.
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) 명령에 따라 Profile 진행 중인지 여부 0 : Profile 완료 1 : Profile 진행 중 |
| Bit 0 | 0 or 1 | In-Position | DYNAMIXEL이 목표 위치에 도달했는지 여부 0 : 도달하지 못함 1 : 도달함 |
참고 : Triangular velocity profile은 Rectangular velocity profile이 Profile Velocity(112)에 도달할 수 없을 때 설정됩니다.
참고 : In-Position bit는 위치 관련 제어 모드에서 위치 편차가 펌웨어에 정의된 값보다 작을 때 설정됩니다.
Present PWM(124)
현재 PWM 값을 나타냅니다. 자세한 내용은 Goal PWM(100)을 참고하세요.
Present Current(126)
현재 전류 값을 나타냅니다. 자세한 내용은 Goal Current(102)을 참고하세요.
Present Velocity(128)
현재 속도 값을 나타냅니다. 자세한 내용은 Goal Velocity(104)을 참고하세요.
Present Position(132)
Present Position(132)은 현재 위치를 나타냅니다. 자세한 내용은 Goal Position(116)을 참고하세요.
참고 : Torque가 꺼진 상태에서는 Operating Mode(11)와 관계없이 Present Position(132)이 -2,147,483,648 ~ 2,147,483,647의 4 byte 연속 범위로 표시됩니다. 다만 아래 경우에는 Present Position(132)이 1회전 범위의 절대 위치값으로 초기화됩니다.
- Operating Mode(11)가 Position Control Mode로 변경된 경우
- Position Control Mode에서 Torque가 켜진 경우
- Actuator의 전원이 켜지거나 Reboot Instruction으로 reboot된 경우
1회전 범위의 절대 위치값으로 초기화된 Present Position(132)도 설정된 Homing Offset(20) 값의 영향을 받습니다.
Velocity Trajectory(136)
Velocity Trajectory(136)은 Profile에 의해 생성된 목표 속도 궤적입니다. Operating Mode(11)에 따라 동작 방식이 달라집니다. 자세한 내용은 Profile이란?을 참고하세요.
- Velocity Control Mode : Profile이 종료 지점에 도달하면 Velocity Trajectory(136)은 Goal Velocity(104)와 같아집니다.
- Position Control Mode, Extended Position Control Mode, Current-based Position Control Mode : Velocity Trajectory는 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)
Present Input Voltage(144)는 현재 공급되는 전압입니다. 자세한 내용은 Max/Min Voltage Limit(32, 34)을 참고하세요.
Present Temperature(146)
Present Temperature(146)는 DYNAMIXEL의 현재 내부 온도입니다. 자세한 내용은 Temperature Limit(31)을 참고하세요.
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으로만 접근할 수 있습니다.
조립 방법
Optional Frames
-
FR05-F101 and FR08-X101

-
FR05-S101
-
FR08-B101
-
FR08-H101

-
FR08-H110 and FR08-D101

Horns
-
HN05-N102
-
HN05-I101
Combination Structures

유지보수
혼과 베어링 교체
혼은 다이나믹셀 정면의 휠 기어 세레이션에 장착되며, 베어링 세트는 후면에 장착됩니다.
혼 조립하기
혼을 끼우기 전에 액추에이터에 thrust horn washer를 먼저 넣습니다. 표시점을 맞추어 혼과 휠 기어 세레이션이 정확히 정렬되도록 주의해서 조립해야 합니다.
정렬이 끝나면 혼의 중심부를 액추에이터 방향으로 부드럽게 밀어 넣습니다. 볼트를 조일 때 horn washer가 제자리에 있는지 확인하세요.
베어링 세트 조립하기
기존 액추에이터에서 베어링 세트를 분리해 새 액추에이터에 다시 장착해야 할 수 있습니다. 베어링 세트는 별도로 구매할 수도 있습니다. 베어링 세트는 자유롭게 회전하므로 다이나믹셀에 조립할 때 별도의 정렬이 필요하지 않습니다.
Gear Replacement
다이나믹셀 내부 기어가 손상되거나 마모된 경우, 양호한 상태를 유지하기 위해 기어를 교체하세요.
기어를 올바르게 교체하는 방법은 다음 동영상을 참고하세요.
DYNAMIXEL Calibration
기어 교체 후에는 기어가 올바른 위치에 정렬되도록 DYNAMIXEL을 캘리브레이션하세요.
소프트웨어로 다이나믹셀을 올바르게 캘리브레이션하는 방법은 다음 동영상을 참고하세요.
참고 :
- USB2Dynamixel은 단종되었으므로, 동영상의 소프트웨어를 사용해 PC에서 다이나믹셀과 통신하려면 U2D2가 필요합니다.
- 동영상에서 사용하는 R+ Manager 2.0 대신 DYNAMIXEL Wizard 2.0으로도 DYNAMIXEL(X / MX만 해당)을 캘리브레이션할 수 있습니다.
참고자료
참고 호환성 가이드 하네스 호환성
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 디지털 장치 제한을 준수하는 것으로 시험 및 확인되었습니다. 이 제한은 상업 환경에서 장비를 운용할 때 유해한 간섭으로부터 합리적인 보호를 제공하도록 설계되었습니다. 이 장비는 무선 주파수 에너지를 생성, 사용 및 방출할 수 있으며, 사용 설명서에 따라 설치 및 사용하지 않을 경우 무선 통신에 유해한 간섭을 일으킬 수 있습니다. 주거 지역에서 이 장비를 운용하면 유해한 간섭이 발생할 수 있으며, 이 경우 사용자는 자신의 비용으로 간섭을 해결해야 합니다.
경고 제조사가 명시적으로 승인하지 않은 변경 또는 개조는 사용자의 장비 운용 권한을 무효화할 수 있습니다.
커넥터 정보
| 항목 | TTL | RS-485 | Dual Joint |
|---|---|---|---|
| Pinout | 1 GND2 VDD3 DATA | 1 GND2 VDD3 DATA+4 DATA- | 1 PWM12 PWM23 ENABLE |
| 도면 | |||
| Housing | MOLEX 50-37-5033 | MOLEX 50-37-5043 | MOLEX 51021-0300 |
| PCB Header | MOLEX 22-03-5035 | MOLEX 22-03-5045 | MOLEX 53398-0371 |
| Crimp Terminal | MOLEX 08-70-1039 | MOLEX 08-70-1039 | MOLEX 50058-8000 |
| Wire Gauge for DYNAMIXEL | 21 AWG | 21 AWG | 26 AWG |
경고 : 사용자 안전을 확보하고 재산상 위험 또는 손상을 방지하기 위해 다이나믹셀과 보드에 장착된 Pinout을 반드시 확인하세요. 다이나믹셀의 Pinout은 커넥터 제조사에 따라 다를 수 있습니다.
도면
DownloadMX-106T DWGDownloadMX-106T PDFDownloadMX-106T STEPDownloadMX-106T IGESDownloadMX-106R DWGDownloadMX-106R PDFDownloadMX-106R STEPDownloadMX-106R IGES
소프트웨어 애플리케이션, 3D/2D CAD 등 유용한 자료는 **ROBOTIS Download Center**에서도 확인할 수 있습니다.
통신 회로
다이나믹셀을 제어하려면 메인 컨트롤러의 UART 신호를 Half Duplex 방식으로 변환해야 합니다. 권장 회로도는 아래와 같습니다.
TTL 통신

위 회로는 5V 전원을 사용하거나 5V tolerant IO를 지원하는 MCU를 기준으로 설계되었습니다. 그 외의 경우 MCU 전압에 맞도록 Level Shifter를 사용하세요.