Edit on GitHub

XC330-M181-T

주요 사양

항목 내용
MCU ARM CORTEX-M0+ (64 [MHz], 32Bit)
위치 센서 Contactless absolute encoder (12Bit, 360 [°])
Maker : ams(www.ams.com), Part No : AS5601
모터 Coreless DC
통신속도 9,600 [bps] ~ 4 [Mbps]
제어 알고리즘 PID control
해상도 4096 [pulse/rev]
동작 모드 전류 제어 모드
속도 제어 모드
위치 제어 모드 (0 ~ 360 [°])
확장 위치 제어 모드 (멀티턴)
전류기반 위치 제어 모드
PWM 제어 모드 (Voltage Control Mode)
무게 23 [g]
크기 (W x H x D) 20.0 x 34.0 x 26.0 [mm]
기어비 180.62 : 1
Stall Torque 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])
동작 온도 -5 ~ +60 [°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
기어 재질 Full Metal Gear, 2 Bearing
대기 전류 17 [mA]


위험
(심각한 상해 또는 사망에 이르게 할 수 있습니다.)

  • 제품 주위에 가연성 물질, 계면활성제, 음료수, 물을 분사하거나 흡입시키지 마세요.
  • 작동 중인 제품에 손, 발과 같은 신체 또는 신체의 일부를 넣지 마세요.
  • 제품에서 이상한 냄새가 나거나, 연기가 발생하면 전원 연결을 즉시 끊어주세요.
  • 아이들이 제품으로 장난치지 않도록 하세요.
  • 전원공급 시 극성을 반드시 확인해 주세요.


경고
(상해나 제품 손상의 원인이 됩니다.)

  • 제품의 사용 환경을 준수하세요. (전압, 온도 등)
  • 작동 중인 제품 내부로 칼날, 압정, 불씨 등을 흡입시키지 마세요.


주의
(상해나 제품 손상의 원인이 됩니다.)

  • 제품을 사용자 임의로 분해 또는 개조하지 마세요.
  • 제품에 강한 충격을 가하거나 떨어드리지 마세요.

  • 안정적인 전원공급을 위해 로보티즈 제어기나 리튬이온 배터리(LB-041) 또는 별도의 파워 서플라이를 통한 전원공급을 권장합니다.
  • 전원이 꺼진 상태에서 장치와 전원을 연결하시고 스위치로 ON/OFF를 해주세요.

성능 그래프

같은 폼팩터의 다이나믹셀을 찾으시나요?

XC Series

Model Stall Torque No Load Speed
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.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])
59 [rev/min] (at 3.7 [V])
81 [rev/min] (at 5.0 [V])
97 [rev/min] (at 6.0 [V])
XC330-M181 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])
95 [rev/min] (at 3.7 [V])
129 [rev/min] (at 5.0 [V])
155 [rev/min] (at 6.0 [V])

XL Series

Model Stall Torque No Load Speed
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])

참고 : Stall torque와 Performance Graph의 최대토크의 차이는 측정 방식에 기인합니다. Stall torque는 순간적인 최대토크를 측정하는 방식으로, 고전적인 RC Servo 제품에서 주로 사용하는 사양입니다. Performance Graph는 N-T Curve라고도 불리며, 부하(load)를 점진적으로 증가시키면서 측정됩니다. 모터 구동되는 환경은 Stall torque 측정 방식보다는 Performance Graph 측정 방식에 가깝습니다. 이러한 이유로 Performance Graph가 산업전반에서 보다 폭넓게 사용됩니다. 일반적으로 Performance Graph의 최대토크는 Stall torque보다 적게 측정됩니다.

주의 : 전원 공급시 주의사항

  • 안정적인 전원공급을 위해 로보티즈 제어기나 SMPS2Dynamixel 통한 전원공급을 권장드립니다.

  • 전원이 꺼진 상태에서 장치와 전원을 연결하시고 스위치로 ON/OFF를 해주세요.

컨트롤 테이블

컨트롤 테이블은 장치의 현재 상태와 구동 및 제어에 필요한 다수의 데이터로 이루어져 있습니다.
사용자는 Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 읽어서(READ Instruction) 장치의 상태를 파악할 수 있고, 데이터를 변경함으로써(WRITE Instruction) 장치를 제어할 수 있습니다.

컨트롤 테이블, 데이터, 주소

컨트롤 테이블은 장치의 상태와 제어를 위한 다수의 데이터 필드로 구성된 집합체입니다.
사용자는 READ Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 읽어서 장치의 상태를 파악할 수 있습니다.
또한 WRITE Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 변경함으로써 장치를 제어할 수 있습니다.
Address는 Instruction Packet으로 컨트롤 테이블의 특정 데이터를 접근할 때 사용하는 고유값입니다.
장치의 데이터를 읽거나 쓰기 위해서는 Instruction Packet에 해당 데이터의 주소를 지정해 주어야 합니다.
Packet에 대한 자세한 내용은 다이나믹셀 프로토콜 2.0을 참고해주세요.

참고 : 음수의 표현 방법은 2의 보수(Two’s complement) 규칙을 따릅니다. 2의 보수에 대한 자세한 설명은 위키피디아의 Two’s complement를 참고하세요.

영역 (EEPROM, RAM)

컨트롤 테이블은 2가지 영역으로 구분됩니다. RAM 영역에 위치한 데이터는 전원이 인가될 때마다 다시 기본값으로 설정됩니다(Volatile).
반면 EEPROM 영역에 위치한 데이터는 값을 변경하면 전원이 꺼져도 그 값이 보존됩니다(Non-Volatile).

EEPROM Area에 위치한 모든 데이터는 Torque Enable()의 값이 ‘0’(Torque OFF)일 때만 변경할 수 있습니다.

크기

데이터의 크기는 용도에 따라 1 ~ 4 byte로 정해져 있습니다. Instruction Packet을 통해 데이터를 변경할 때는 해당 데이터의 크기를 확인하시기 바랍니다.
2 byte 이상의 연속된 데이터는 Little Endian 규칙에 의해 기록됩니다.

접근권한

컨트롤 테이블의 데이터는 2가지 접근 속성을 갖습니다. ‘RW’는 읽기와 쓰기 접근이 모두 가능합니다. 반면 ‘R’은 읽기 전용(Read Only) 속성을 갖습니다.
읽기 전용 속성의 데이터는 WRITE Instruction으로 값이 변경되지 않습니다.
읽기 전용 속성(‘R’)은 주로 측정 또는 모니터링 용도로 사용되고, 읽기 쓰기 속성(‘RW’)은 장치의 제어 용도로 사용됩니다.

기본값

매뉴얼에 표기된 EEPROM 영역의 기본값은 제품의 초기 설정값(공장 출하 설정값)입니다.
사용자가 변경한 경우, 기본값은 사용자가 변경한 값으로 적용됩니다.
RAM 영역의 기본값은 장치에 전원이 인가되었을 때 설정되는 값입니다.

EEPROM 영역

주소 크기
(Byte)
명칭 접근 기본값 범위 단위
0 2 Model Number R 1,230 - -
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 [℃]
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 2,352 0 ~ 2,352 1.0 [mA]
44 4 Velocity Limit RW 545 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 52 - -

RAM 영역

주소 크기
(Byte)
명칭 접근 기본값 범위 단위
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 1,400 0 ~ 16,383 -
78 2 Velocity P Gain RW 100 0 ~ 16,383 -
80 2 Position D Gain RW 500 0 ~ 16,383  
82 2 Position I Gain RW 0 0 ~ 16,383  
84 2 Position P Gain RW 1,200 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.0 [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 214.577 [rev/min2]
1 [msec]
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 - - 0.113 [%]
126 2 Present Current R - - 1.0 [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 [℃]
147 1 Backup Ready R - 0 ~ 1 -
168 2 Indirect Address 1 RW 208 64 ~ 227 -
170 2 Indirect Address 2 RW 209 64 ~ 227 -
172 2 Indirect Address 3 RW 210 64 ~ 227 -
··· ··· ···
202 2 Indirect Address 18 RW 225 64 ~ 227 -
204 2 Indirect Address 19 RW 226 64 ~ 227 -
206 2 Indirect Address 20 RW 227 64 ~ 227 -
208 1 Indirect Data 1 RW 0 0 ~ 255 -
209 1 Indirect Data 2 RW 0 0 ~ 255 -
210 1 Indirect Data 3 RW 0 0 ~ 255 -
··· ··· ···
225 1 Indirect Data 18 RW 0 0 ~ 255 -
226 1 Indirect Data 19 RW 0 0 ~ 225 -
227 1 Indirect Data 20 RW 0 0 ~ 225 -

컨트롤 테이블 설명

주의 : EEPROM Area에 존재하는 모든 Data는 Torque Enable(64)의 값이 ‘0’일 때만 변경할 수 있습니다.

Model Number(0)

장치의 모델 번호입니다.

Firmware Version(6)

장치의 펌웨어 버전입니다.

ID(7)

Instruction Packet으로 장치를 식별하기 위한 고유 번호입니다. 0~253 (0xFD) 까지 사용 가능하며, 254(0xFE)는 브로드캐스트(Broadcast) ID로 특수하게 사용됩니다. 브로드캐스트 ID(254, 0xFE)로 Instruction Packet을 전송하면 모든 장치에 명령을 내릴 수 있습니다.

참고 : 연결된 장치의 ID가 중복되지 않도록 주의해야 합니다. 장치의 ID가 중복되면, 통신 오류 및 고유의 ID를 가지는 다이나믹셀 검색에 실패합니다.

참고 : Instruction packet의 ID가 Broadcast ID(0xFE)인 경우, Stuatus Return Level (68)의 설정값과 무관하게 Read Instruction 또는 Write Instruction에 대한 Status Packet은 반환되지 않습니다. 더 자세한 설명은 다이나믹셀 프로토콜 2.0Status Packet 항목을 참조하세요.

Baud Rate(8)

제어기와 통신하기 위한 통신 속도 입니다.

통신 속도 오차율
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.0064 [%]
1(Default) 57,600 [bps] 0.0016 [%]
0 9,600 [bps] 0.000 [%]

참고 : UART는 Baudrate 오차가 3 [%] 이내이면 통신에 지장이 없습니다.

참고: U2D2을 이용 시, 높은 통신 Baud rate에서 안정적인 통신을 위해서는 USB 포트의 응답지연시간(Latency) 을 낮춰주세요.

Return Delay Time(9)

다이나믹셀은 Instruction Packet을 수신하면, Return Delay Time(5) 만큼 대기한 후 Status Packet을 반환 합니다.
0 ~ 254 (0xFE) 까지 사용 가능하며 단위는 2 [μsec] 입니다.
예를 들어, 값이 10일 경우 20 [μsec] 만큼 시간이 지난 후에 Status Packet을 반환합니다.

단위 범위 설명
2 [μsec] 0 ~ 254 기본값: ‘250’(500 [μsec])
최대값: ‘508’ [μsec]

Drive Mode(10)

다이나믹셀의 드라이브 모드를 설정합니다.

Bit 명칭 설명
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’ 일때만 Goal 지령에 동작 수행
[1] Torque Enable(64)값이 0이더라도, 지령을 받으면 자동으로 값이 ‘1’로 변경되고, 지령수행.
Bit 2(0x04) Profile Configuration [0] Velocity-based Profile: 속도를 기준으로 Profile 생성
[1] Time-based Profile: 시간을 기준으로 Profile 생성
※ 자세한 사항은 Profile를 참고하세요.
Bit 1(0x02) - 미사용, 항상 ‘0’
Bit 0(0x01) Normal/Reverse Mode [0] Normal Mode: 반시계방향(CCW)이 양수값, 시계방향(CW)이 음수값
[1] Reverse Mode: 시계방향(CW)이 양수값, 반시계방향(CCW)이 음수값

참고 : Torque On by Goal Update는 펌웨어 v46 부터 지원합니다.

참고 : Drive Mode(10)의 0번 비트(Normal/Reverse Mode)를 설정하면, 다이나믹셀의 기본동작 방향이 반전됩니다.
따라서 다이나믹셀의 Goal Position, Present Position의 방향이 반전됩니다.
대칭구조의 관절을 구성할 때 편리하게 사용할 수 있습니다

Operating Mode(11)

장치의 동작 모드를 설정합니다. 각 동작 모드마다 특성이 다르기 때문에, 구현하려는 시스템에 적합한 동작 모드를 설정하시기 바랍니다.

동작 모드 세부 설명
0 전류제어 모드 속도와 위치는 제어하지 않고 전류(토크)를 제어합니다.
지령된 전류(토크)만 제어하는 시스템이나 그리퍼 또는 상위 제어기(위치, 속도 등)를 별도로 구성할 경우에 유용합니다.
1 속도제어 모드 속도를 제어하는 모드 입니다.
기존제품의 바퀴 모드(무한회전)과 동일합니다.
바퀴형태의 로봇에 유용합니다.
3(기본값) 위치제어 모드 위치를 제어하는 모드 입니다.
기존제품의 관절 모드와 동일합니다.
Max Position Limit(48), Min Position Limit(52)에 의해서 동작 범위가 제한됩니다.
1회전 내에서 구동하는 다관절 로봇에 유용합니다.
4 확장 위치제어 모드(Multi-turn) 위치를 제어하는 모드 입니다.
기존제품의 다중 회전 모드와 동일합니다.
동작 범위는 총 512회전(-256 ~ 256[rev]) 입니다.
다수의 회전(멀티턴)이 필요한 로봇의 손목 부위나 컨베이어시스템 또는 추가 감속기가 필요한 시스템에 유용합니다.
5 전류기반 위치제어 모드 위치와 전류(토크)를 제어합니다.
동작 범위는 총 512회전(-256 ~ 256[rev]) 입니다.
위치와 전류를 동시에 제어할 필요가 있는 다관절 로봇이나 그리퍼에 유용합니다.
16 PWM 제어 모드 (Voltage Control Mode) PWM 출력을 직접 제어합니다. (Voltage Control Mode)

참고 : 동작 모드가 변경될 때 제어기의 Gain(Velocity PI(76, 78), Position PID(80, 82, 84), Feedforward(88, 90))은 동작 모드에 적합하게 초기화 됩니다. 또한 프로파일 생성기와 제한값들 역시 초기화 됩니다.

  1. Profile Acceleration(108), Profile Velocity(112) : ‘0’으로 초기화
  2. Goal PWM(100), Goal Current(102) 값은, PWM Limit(36), Current Limit(38)으로 초기화
  3. 전류기반 위치 제어 모드 : 별도의 Position Gain(PID)과 PWM Limit(36) 값으로 재설정 됩니다.

변경된 Position Gain(PID)과 PWM Limit(36) 값은 컨트롤테이블을 통해서 확인할 수 있습니다.

참고 : PWM이란 Pulse Width Modulation(펄스 폭 변조)의 약자로 펄스의 폭(PWM Duty)을 변경시키는 변조방식을 뜻합니다. 펄스의 폭을 변경하여 모터에 공급되는 평균 전압을 제어하는 용도로 사용됩니다.

  1. PWM 모드는 다이나믹셀 DYNAMIXEL AXRX 시리즈의 바퀴모드와 유사합니다.
  2. Goal PWM(100)을 이용하여 모터에 공급되는 전압을 제어할 수 있습니다.

참고: Present Position(132) 은, 토크가 꺼져 있을 때 Operating Mode(11)에 상관없이 4 byte(-2,147,483,648 ~ 2,147,483,647)의 범위를 연속적으로 표현 합니다.
Present Position(132) 값은 다음의 경우에 한 바퀴의 절대위치값(1 rev)으로 초기화 됩니다. Present Position(132) 이 초기화 되는 절대 위치값은 Homing Offset(20) 에 의해 변경될 수 있습니다.

  1. Operating Mode(11)가 위치 제어 모드로 변경 될 때.
  2. 위치 제어 모드에서 Torque OFF 에서 Torque ON 으로 변경 될 때.
  3. 전원을 끄고 키거나, Reboot Instruction 사용 시.

Secondary(Shadow) ID(12)

Secondary ID(12)는 ID(7)과 동일하게 장치를 식별하기 위한 번호로 사용됩니다.
다만, Secondary ID(12)는 ID(7)과 달리 고유한 번호가 아닙니다. 따라서 동일한 Secondary ID 값을 갖은 장치들은 하나의 그룹을 형성하게 됩니다.

Secondary ID(12)와 ID(7)의 차이는 다음과 같습니다.

세부 설명
0 ~ 252 Secondary ID 기능 활성화
253 ~ 255 Secondary ID 기능 비활성화, 기본값: ‘255’

Secondary ID(12) 동작 예시

여러개의 다이나믹셀은 서로 동일한 ID(7) 를 가질 수 없지만, Secondary ID(12)는 동일한 값을 가질 수 있습니다.

아래의 동작 예시를 참고 하여, ID(7)와 Secondary ID(12)의 차이점을 확인 하세요.

  1. ID(7)이 ‘1’, ‘2’, ‘3’, ‘4’, ‘5’로 설정된 5개 다이나믹셀의 Secondary ID(12)를 모두 ‘5’로 동일하게 설정합니다.
  2. Write Instruction Packet(ID(7) = 1, LED(65) = 1)을 전송합니다.
  3. ID가 ‘1’인 다이나믹셀는 LED를 켠 후, Status Packet을 반환합니다.
  4. Write Instruction Packet(ID(7) = 5, LED(65) = 1)을 전송합니다.
  5. 5개의 다이나믹셀는 모두 LED를 켭니다. 단, Status Packet은 ID가 ‘5’인 다이나믹셀만 반환합니다.
  6. 5개 다이나믹셀의 Secondary ID(12)를 모두 ‘100’으로 동일하게 설정합니다.
  7. Write Instruction Packet(ID(7) = 100, LED(65) = 0)을 전송합니다.
  8. 5개의 다이나믹셀은 모두 LED를 끕니다. 하지만 ID가 ‘100’인 다이나믹셀이 없으므로 Status Packet은 반환되지 않습니다.

Protocol Type(13)

다이나믹셀과 통신하기 위해서는, 적절한 프로토콜 타입을 선택해야 합니다.

다음 표를 참고하여, 함께 사용할 장치의 프로토콜 타입에 맞추어, 다이나믹셀의 적절한 프로토콜을 선택 하세요.

타입 설명
2(기본값) DYNAMIXEL Protocol 2.0 프로토콜 호환표 참고
20 Experimental S.BUS S.BUS 프로토콜을 지원하는 RC 수신장치와 호환됨
21 Experimental iBUS iBUS 프로토콜을 지원하는 RC 수신장치와 호환됨
22 RC-PWM RC 서보모터에서 이용하는 PWM 신호

주의
Experimental S.BUSExperimental iBUS는 S.BUS와 iBUS의 일부 기능을 지원하는 실험용 프로토콜이며, 다른 장치와 완전하게 호환되지 않을 수 있습니다.
실험용 프로토콜의 사용에 따른 책임은 사용자에게 있습니다.

참고

  • 프로토콜 타입이 RC 프로토콜 타입(Experimental S.BUS, Experimental iBUS, RC-PWM)으로 설정된 경우, 부팅시 일정 시간동안 해당 신호가 감지되지 않으면, DYNAMIXEL Protocol 2.0으로 동작합니다. 따라서, DYNAMIXEL Protocol 2.0으로 설정되어 있지 않아도, 다이나믹셀 위자드 2.0 등을 이용하여 컨트롤 테이블 접근이 가능합니다.
  • RC 프로토콜 타입 (Experimental S.BUS, Experimental iBUS, RC-PWM) 설정 후 부팅시 해당하는 프로토콜이 감지되면 RC 모드로 동작되며 자동으로 Torque On 상태가 됩니다.

DYNAMIXEL Protocol 2.0

다이나믹셀간의 데이터 통신을 위한 기본적인 통신 프로토콜 입니다.

자세한 내용은 다이나믹셀 프로토콜 2.0을 참고하세요.

Experimental S.BUS 프로토콜

Experimental S.BUS는 S.BUS 프로토콜을 부분적으로 지원하며, 지원되는 기능은 아래와 같습니다.

S.BUS는 RC 제품에서 사용하는 통신 프로토콜 입니다. XL330 시리즈는 S.BUS를 지원하는 다른 장치와 완전하게 호환되지 않을 수 있습니다.

참고: 속도제어 모드에서 최대 속도는 Velocity Limit(44) 값으로, 움직이지 않는 범위(Goal Velocity(104)가 0인 범위)는 Moving Threshold(24) 값으로 설정할 수 있습니다.

Experimental iBUS 프로토콜

Experimental iBUS는 iBUS 프로토콜을 부분적으로 지원하며, 지원되는 기능은 아래와 같습니다.

iBUS는 RC 제품에서 사용하는 통신 프로토콜 입니다. XL330 시리즈는 iBUS를 지원하는 다른 장치와 완전하게 호환되지 않을 수 있습니다.

참고: 속도제어 모드에서는 최대 속도는 Velocity Limit(44) 값으로, 움직이지 않는 범위(Goal Velocity가 0인 범위)는 Moving Threshold(24) 값으로 설정할 수 있습니다.

RC-PWM 프로토콜

RC 제품군에서 사용하는 PWM(Pulse Width Modulation) 신호로, 여러 장치가 신호선을 공유할 수 없지만, 가장 고전적이고 오랫동안 대중적으로 사용되고 있는 RC 서보모터의 프로토콜입니다. RC-PWM 신호는 다음과 같이 신호 펄스폭의 시간으로 통해서 데이터를 전송하는 방식으로, 시간에 대한 아날로그 데이터입니다.

RC PWM 신호 데이터는 위치제어 모드일 때에는 Goal Position(116)으로, 속도제어 모드일 경우에는 Goal Velocity(104)로 데이터가 전달됩니다. RC-PWM 신호의 데이터에 따른 지령치는 다음 그래프와 같습니다.

참고: 속도제어 모드에서는 최대 속도는 Velocity Limit(44) 값으로, 움직이지 않는 범위(Goal Velocity가 0인 범위)는 Moving Threshold(24) 값으로 설정할 수 있습니다.

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(32, 34)

동작 전압의 상한 값과 하한 값입니다.
장치에 현재 인가된 전압을 나타내는 Present Input Voltage(144)가 Max Voltage Limit(32)와 Min Voltage Limit(34)의 범위를 벗어날 경우,
Hardware Error Status(70)의 Input Voltage Error Bit(0x01)이 설정되고, Status Packet은 Error 필드를 통해서 Alert Bit(0x80)을 전송합니다.
Shutdown(63)에 Input Voltage Error Bit(0x10)가 설정된 경우, Torque Enable(64)은 ‘0’(Torque OFF)으로 변경됩니다.
자세한 설명은 Shutdown(63)을 참고하세요.

단위 설명
약 0.1 [V] 31 ~ 70 3.1 ~ 7.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)을 참고하세요.

단위 범위
약 1 [mA] 0 ~ 2,352

참고

  • Current Limit(38)은 장치 별로 다를 수 있으니 Control Table을 확인하시기 바랍니다.
  • XC330의 전류측정은 전류제어를 지원하는 다른 다이나믹셀과 달리 공급전원의 전류를 측정합니다. 따라서 빠르게 변하는 모터의 상전류 (Phase current) 와 차이가 생길 수 있습니다.

Velocity Limit(44)

Goal Velocity(104)의 한계 값입니다. 자세한 설명은 Goal Velocity(104)을 참고하세요.

단위 범위
0.229 rpm 0 ~ 2,047

Min/Max Position Limit(48, 52)

위치 제어 모드(관절 모드)에서 목표 위치의 제한 값으로써, 1회전(0~4,095) 범위 내에서 목표 위치를 제한 합니다.
따라서 위치 제어 모드에서 Goal position(116)은 이 값보다 클 수 없습니다.
확장 위치 제어 모드에서는 적용되지 않습니다.

단위 범위
0.088° 0 ~ 4,095 (1 회전)

주의: 1회전 내에서 제어하는 위치 제어 모드(관절 모드)에서만 적용 됩니다

Min/Max Position Limit(48, 52)

위치 제어 모드(관절 모드)에서 목표 위치의 제한 값으로써, 1회전(0~4,095) 범위 내에서 목표 위치를 제한 합니다.
따라서 위치 제어 모드에서 Goal position(116)은 이 값보다 클 수 없습니다.
확장 위치 제어 모드에서는 적용되지 않습니다.

단위 범위
0.088° 0 ~ 4,095 (1 회전)

주의: 1회전 내에서 제어하는 위치 제어 모드(관절 모드)에서만 적용 됩니다

Startup Configuration(60)

다이나믹셀의 전원이 켜진 직후의 상태를 결정할 수 있습니다.

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 영역 복구 비활성화
[1] Backup Data가 준비되어 있다면, 부팅 시 RAM 영역의 값은 해당 Backup Data로 복구
Bit 0(0x01) Startup Torque On [0] 부팅 시 Torque Enable(64) ‘0’ (Torque Off) 상태
[1] 부팅 시 Torque Enable(64) ‘1’(On) 상태

참고: Startup Configuration은 펌웨어 v46부터 지원합니다.

참고: RAM Restore에 대한 사용방법은 RAM 영역 복구을 참고하세요.

PWM Slope(62)

XC330은 제어기의 출력값(PWM duty)이 PWM Slope(62)에서 설정한 기울기로 선형 보간되어 모터 Inverter에 전달됩니다.

단위 범위
1.977 [mV/msec] 0 ~ 255

동작 예시

PWM Slope(62)의 값이 ‘140’(276.84 [mV/msec])일 때, 5V 전원을 입력하고, PWM 제어 모드로 Goal PWM(100)의 값을 ‘0’에서 ‘885’로 입력하면, Present PWM(124)의 값이 ‘0’에서 ‘885’에 도달하는 시간은 18 [msec] 입니다. (5,000 [mV]/276.84 [mV/msec] = 18.06 [msec])

PWM Slope 적용 예시

Shutdown(63)

장치는 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다. 즉, Shutdown(63) 이 ‘0x05’ (2 진수: 00000101)로 설정되었을 경우, Input Voltage Error(2 진수 : 00000001)와 Overheating Error(2 진수 : 00000100)가 발생하는 것을 모두 감지할 수 있습니다. 위험 상황이 감지되면, Torque Enable(64) 값이 ‘0’으로 변경되고 모터 출력은 0 [%]가 됩니다.

위험 상황이 감지된 후에는 Reboot을 하지 않는 한, Torque Enable(64) 을 ‘1’(Torque ON)로 설정할 수 없습니다.제어기는 Status Packet의 Error 필드에 Alert Bit(0x80)이 설정되었는지를 확인하거나, Hardware Error Status(70) 을 통해서 현재 상태를 확인할 수 있습니다.

Shutdown(63) 에서 감지할 수 있는 위험 상황은 아래 표와 같습니다.

Bit 명칭 내용
Bit 7 - 미사용, 항상 ‘0’
Bit 6 - 미사용, 항상 ‘0’
Bit 5 Overload Error(기본값) 모터의 최대 출력으로 제어 할 수 없는 하중이 지속적으로 적용되는 경우
Bit 4 Electrical Shock Error(기본값) 전기적으로 회로가 충격을 받거나, 입력 전력이 부족해서, 모터가 정상동작하지 못하는 경우
Bit 3 - 미사용, 항상 ‘0’
Bit 2 Overheating Error(기본값) 설정된 온도를 벗어난 경우
Bit 1 - 미사용, 항상 ‘0’
Bit 0 Input Voltage Error(기본값) 인가된 전압이 설정된 동작 전압 범위를 벗어났을 경우

참고 :

  1. Shutdown이 발생하면 1초 주기로 LED가 점멸 합니다.
  2. Shutdown이 발생하면 다음과 같은 방법으로 장치를 REBOOT 시켜 주세요.
    • H/W REBOOT : 전원을 껐다 켜주세요.
    • S/W REBOOT : REBOOT Instruction을 사용할수 있습니다. Protocol 2.0을 참고해주세요.

Torque Enable(64)

Torque ON/OFF를 제어합니다. ‘1’을 쓰면 Torque ON 상태가 되고, EEPROM 영역의 모든 Data는 잠김 상태로 변경됩니다.

상세 설명
0(기본값) Torque OFF 상태로 변경합니다
1 Torque ON 상태로 변경하고 EEPROM 영역의 모든 데이터는 잠김상태로 변경됩니다

참고 : Present Position(132)Operating Mode(11)Torque Enable(64)이 변경되는 시점에 초기화 될 수 있습니다. 자세한 사항은 Homing Offset(20)Present Position(132)를 참고하세요.

LED(65)

LED를 ON/OFF 합니다.

설명
0(기본값) LED를 Off 시킵니다.
1 LED를 On 시킵니다.

참고 : 장치의 상태(조건)에 따른 LED의 동작입니다.

상태 LED 동작
부팅 1회 점멸
공장 초기화 4회 점멸
알람 점멸
부트 모드 점등

Status Return Level(68)

Status Packet의 반환 방식을 결정합니다.

응답하는 명령 상세설명
0 PING Instruction PING 명령에 대해서만 Status Packe을 반환함
1 PING Instruction
READ Instruction
PING과 READ 명령에 대해서만 Status Packe을 반환함
2 All Instructions 모든 명령에 대해서 Status Packe을 반환함

참고 : Instruction packet 의 ID가 Broadcast ID(0xFE) 인 경우는 Stuatus Return Level (68)의 설정값과 무관하게 Read Instruction 또는 Write Instruction에 대한 Status Packet은 반환되지 않습니다. 더 자세한 설명은 DYNAMIXEL Protocol 2.0Status Packet 항목을 참조하세요.

Registered Instruction(69)

Reg Write Instruction에 의해서 등록된 Write 정보의 유무를 나타냅니다.

상세 설명
0 REG_WRITE에 의해 등록된 명령이 없습니다.
1 REG_WRITE에 의해 등록된 명령이 있습니다.

참고 : ACTION 명령을 수행하면 Registered Instruction (69) 값이 ‘0’으로 바뀝니다.

Hardware Error Status(70)

장치는 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다. 즉, Shutdown(63) 이 ‘0x05’ (2 진수: 00000101)로 설정되었을 경우, Input Voltage Error(2 진수 : 00000001)와 Overheating Error(2 진수 : 00000100)가 발생하는 것을 모두 감지할 수 있습니다. 위험 상황이 감지되면, Torque Enable(64) 값이 ‘0’으로 변경되고 모터 출력은 0 [%]가 됩니다.

위험 상황이 감지된 후에는 Reboot을 하지 않는 한, Torque Enable(64) 을 ‘1’(Torque ON)로 설정할 수 없습니다.제어기는 Status Packet의 Error 필드에 Alert Bit(0x80)이 설정되었는지를 확인하거나, Hardware Error Status(70) 을 통해서 현재 상태를 확인할 수 있습니다.

Shutdown(63) 에서 감지할 수 있는 위험 상황은 아래 표와 같습니다.

Bit 명칭 내용
Bit 7 - 미사용, 항상 ‘0’
Bit 6 - 미사용, 항상 ‘0’
Bit 5 Overload Error(기본값) 모터의 최대 출력으로 제어 할 수 없는 하중이 지속적으로 적용되는 경우
Bit 4 Electrical Shock Error(기본값) 전기적으로 회로가 충격을 받거나, 입력 전력이 부족해서, 모터가 정상동작하지 못하는 경우
Bit 3 - 미사용, 항상 ‘0’
Bit 2 Overheating Error(기본값) 설정된 온도를 벗어난 경우
Bit 1 - 미사용, 항상 ‘0’
Bit 0 Input Voltage Error(기본값) 인가된 전압이 설정된 동작 전압 범위를 벗어났을 경우

참고 :

  1. Shutdown이 발생하면 1초 주기로 LED가 점멸 합니다.
  2. Shutdown이 발생하면 다음과 같은 방법으로 장치를 REBOOT 시켜 주세요.
    • H/W REBOOT : 전원을 껐다 켜주세요.
    • S/W REBOOT : REBOOT Instruction을 사용할수 있습니다. Protocol 2.0을 참고해주세요.

Velocity PI Gain(76, 78)

속도 제어 모드에서 동작하는 속도 제어기의 Gain 입니다.
편의상 장치 내부 제어기의 Velocity P Gain을 KVP로 표기하고 Control Table의 Gain은 KVP(TBL)로 표기합니다.

컨트롤 테이블 항목 제어기 Gain 변환 수식 범위 상세 설명
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

다음은 속도 제어 모드에서 동작하는 속도제어기의 블록다이어그램입니다. 사용자의 요청이 장치에 전달된 후, 장치의 Horn이 구동되기까지의 과정은 다음과 같습니다.

  1. 사용자의 요청이 통신 버스를 통해 Goal Velocity(104)에 등록됩니다.
  2. Goal Velocity(104)Profile Acceleration(108)에 의해서 목표 속도 궤적으로 변경됩니다.
  3. 목표 속도 궤적은 Velocity Trajectory(136) 에 표기됩니다.
  4. PI 제어기는 목표 속도 궤적을 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  5. Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM값을 결정합니다.
  6. 최종 PWM값은 Inverter를 통해 모터에 적용되고 장치의 Horn이 구동됩니다.
  7. 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), Present Current(126)에 표기됩니다.

참고 : Ka는 Anti-windup Gain이고 β는 위치와 속도의 변환계수로 사용자가 변경할 수는 없습니다. PID 제어기에 대한 자세한 설명은 위키피디아의 PID Controller를 참고하세요.

Position PID Gain(80, 82, 84), Feedforward 1st/2nd Gains(88, 90)

위치 제어 모드, 확장 위치 제어 모드에서 동작하는 위치 제어기의 Gain입니다.

편의상 장치 내부 제어기의 Position P Gain을 KPP로 표기하고 Control Table의 Gain은 KPP(TBL)로 표기합니다.

컨트롤 테이블 항목 제어기 Gain 변환 수식 범위 설명
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

다음은 위치 제어 모드, 확장 위치 제어 모드에서 동작하는 위치제어기의 블록다이어그램입니다.
사용자의 요청이 장치에 전달된 후, 장치의 Horn이 구동되기까지의 과정은 다음과 같습니다.

  1. 사용자의 요청이 통신 버스를 통해 Goal Position(116)에 등록됩니다.
  2. Goal Position은 Profile Velocity(112)Profile Acceleration(108)에 의해서 목표 위치 궤적과 목표 속도 궤적으로 변경됩니다.
  3. 목표 속도 궤적과 목표 위치 궤적은 Velocity Trajectory(136), Position Trajectory(140)에 표기됩니다.
  4. Feedforward와 PID 제어기는 목표 궤적을 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  5. Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM값을 결정합니다.
  6. 최종 PWM값은 Inverter를 통해 모터에 적용되고 장치의 Horn이 구동됩니다.
  7. 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), Present Current(126)에 표기됩니다.

참고 :

  • PWM 제어 모드의 경우, PID 제어기와 Feedforward 제어기는 모두 비활성화되고 Goal PWM(100) 값이 Inverter를 통해서 모터에 직접 인가됩니다. 이를 통해 모터의 전압을 직접 제어할 수 있습니다.
  • Ka는 Anti-windup Gain로서 사용자가 변경할 수는 없습니다. 자세한 정보는 PID ControllerFeed Forward에 문서를 참고 하세요.

Bus Watchdog(98)

Bus Watchdog(98)은 특정할 수 없는 오류에 의해 제어기와 장치의 통신(RS485, TTL)이 단절된 경우, 장치를 정지시키기 위한 안전장치(Fail-safe) 입니다.
여기서 통신이란 프로토콜에서 정의된 모든 Instruction Packet을 의미합니다.

  설명
범위 0 Bus Watchdog 기능 비활성화, Bus Watchdog Error 해제
범위 1 ~ 127 Bus Watchdog 활성화 (단위: 20 [msec])
범위 -1 Bus Watchdog Error 상태

Bus Watchdog 기능은 Torque Enable(64)가 ‘1’(Torque ON) 인 경우, 제어기와 장치의 통신 간격(시간)을 감시합니다.
측정된 통신 간격(시간)이 Bus Watchdog(98)의 설정값 보다 클 경우, 장치는 정지합니다.
이때 Bus Watchdog(98)은 ‘-1’(Bus Watchdog Error)로 변경됩니다.
Bus Watchdog Error 상태가 되면, 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에 대한 자세한 사항은 [프로토콜 2.0]을 참고하세요.

Bus Watchdog(98) 동작 예시

다음은 Bus Watchdog 기능의 동작 예시입니다.

  1. Operating Mode(11)를 속도 제어 모드로 설정한 후, Torque Enable(64)를 ‘1’로 변경 합니다.
  2. Goal Velocity(104)에 ‘50’을 쓰면, 장치는 CCW 방향으로 회전합니다.
  3. Bus Watchdog(98)의 값을 ‘100’(2,000 [msec])으로 변경합니다.(Bus Watchdog 기능 활성화)
  4. 2,000 [msec] 동안 Instruction packet이 수신되지 않으면, 장치는 정지합니다. 정지할 때 Profile Acceleration(108)Profile Velocity(112)는 ‘0’으로 적용됩니다.
  5. Bus Watchdog(98)의 값은 ‘-1’(Bus Watchdog Error)으로 변경됩니다. 이때 Goal Value의 접근속성(Access)은 모두 읽기전용(Read Only)으로 변경됩니다.
  6. Goal Velocity(104)에 ‘150’을 쓰면, Status Packet을 통해 Data Range Error가 회신합니다.
  7. Bus Watchdog(98)의 값을 ‘0’으로 변경하면, Bus Watchdog Error가 해제됩니다.
  8. Goal Velocity(104)에 ‘150’을 쓰면, 장치는 CCW 방향으로 회전합니다.

Goal PWM(100)

PWM 제어 모드의 경우, PID 제어기나 Feedforward 제어기는 모두 비활성화되고 Goal PWM(100) 값이 Inverter를 통해서 모터에 직접 인가됩니다. 그 외 제어 모드에서는 PWM 제한값으로 사용됩니다. Goal PWM(100)은 PWM Limit(36)보다 클 수 없습니다. 제어 모드 별 Goal PWM(100)의 동작 방식은 해당 Gain의 설명 부분을 참고하세요.

단위 범위
약 0.113 [%] -PWM Limit(36) ~ PWM Limit(36)

Goal Current(102)

전류 제어 모드의 경우, Goal Current(102)를 통해 목표 전류를 설정할 수 있습니다.
전류기반 위치 제어 모드에서는 Current 제한값으로 사용됩니다. Goal Current(102)의 값은 Current Limit(38)보다 클 수 없습니다.

단위 범위
약 1[mA] -Current Limit(38) ~ Current Limit(38)

주의: 높은 전류를 장시간 사용할 경우, 모터가 손상될 수 있습니다.

참고

  • Current Limit(38)은 장치 별로 다를 수 있으니 Control Table을 확인하시기 바랍니다.
  • XC330의 전류측정은 전류제어를 지원하는 다른 다이나믹셀과 달리 공급전원의 전류를 측정합니다. 따라서 빠르게 변하는 모터의 상전류 (Phase current) 와 차이가 생길 수 있습니다.

Goal Velocity(104)

속도 제어 모드의 경우, Goal Velocity(104)를 통해 목표 속도를 설정할 수 있습니다. Goal Velocity(104) 은 Velocity Limit(44)보다 클 수 없습니다. 현재 Goal Velocity(104)는 목표 속도로만 사용되고, 속도 제한 값으로는 사용되지 않습니다.

단위 범위
0.229 [rev/min] -Velocity Limit(44) ~ 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)은 전류 제어 모드 및 PWM 제어모드를 제외한 모든 제어 모드에서 적용 가능합니다. 자세한 사항은 Profile에서 확인하세요.

Velocity-based Profile 상세 비고
단위 214.577 [rev/min2] Profile의 가속도를 설정합니다.
범위 0 ~ 32767 ‘0’인 경우, 무한대 가속도를 뜻합니다.
Time-based Profile 상세 비고
단위 1 [msec] Profile의 가속시간을 설정합니다.
범위 0 ~ 32737 ‘0’인 경우, 가속시간이 ‘0 [msec]’(무한대 가속도)를 뜻합니다.
Profile Acceleration(108, 가속시간)이 Profile Velocity(112, 도달시간)의 50%를 넘을 경우, 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)는 위치제어 모드, 확장 위치제어 모드 에서만 적용됩니다.
자세한 사항은 Profile에서 확인하세요.

참고 : 속도 제어 모드에서는 Profile Velocity(112)는 사용하지 않습니다. (Profile Acceleration(108)만 적용)

Velocity-based Profile 상세 비고
단위 0.229 [rev/min] Profile의 속도를 설정합니다.
범위 0 ~ 32767 ‘0’인 경우, 무한대 속도를 뜻합니다.
Time-based Profile 상세 비고
단위 1 [msec] Profile의 도달시간을 설정합니다.
범위 0 ~ 32737 ‘0’인 경우, 무한대 속도를 뜻합니다.
Profile Acceleration(108, 가속시간)이 Profile Velocity(112, 도달시간)의 50%를 넘을 경우, 50%로 제한되어 적용됩니다.

참고 : Time-based Profile은 펌웨어 V42 이상에서 지원합니다.

Goal Position(116)

Goal Position(116)을 통해 목표위치를 설정할 수 있습니다. 모든 장치는 Horn을 정면에서 바라봤을 때 CCW(Counter Clockwise) 방향이 증가 방향이고, CW(Clockwise) 방향이 감소 방향입니다. Goal Position(116)에 도달하는 형태은 Profile에 따라 달라질 수 있습니다. Profile에 대한 자세한 내용은 Profile를 참고하세요.

동작모드 범위 상세
위치제어 모드 Min Position Limit(52) ~ Max Position Limit(48) 기본값 : 0 ~ 4,095
확장 위치제어 모드 -1,048,575 ~ 1,048,575 -256 ~ 256 [rev]
전류기반 위치제어 모드 -1,048,575 ~ 1,048,575 -256 ~ 256 [rev]
단위 설명
0.088 [deg/pulse] 1 [rev] : 0 ~ 4,095

참고 : Profile Velocity(112)와 Profile Acceleration(108)은 새로운 명령값이 업데이트 되는 시점에 적용됩니다.
위치 제어 모드의 경우, Goal Position(116)이 업데이트되면 Profile Velocity(112)와 Profile Acceleration(108)에 의해서 프로파일이 생성됩니다.
속도 제어 모드의 경우, Goal Velocity(104)가 업데이트되면, Profile Acceleration(108)에 의해서 프로파일이 생성됩니다.

참고: Present Position(132) 은, 토크가 꺼져 있을 때 Operating Mode(11)에 상관없이 4 byte(-2,147,483,648 ~ 2,147,483,647)의 범위를 연속적으로 표현 합니다.
Present Position(132) 값은 다음의 경우에 한 바퀴의 절대위치값(1 rev)으로 초기화 됩니다. Present Position(132) 이 초기화 되는 절대 위치값은 Homing Offset(20) 에 의해 변경될 수 있습니다.

  1. Operating Mode(11)가 위치 제어 모드로 변경 될 때.
  2. 위치 제어 모드에서 Torque OFF 에서 Torque ON 으로 변경 될 때.
  3. 전원을 끄고 키거나, Reboot Instruction 사용 시.

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)

움직임에 대한 추가적인 정보를 제공합니다. Following Error Bit(0x08)과 In-Position Bit(0x01)은 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드에서만 동작합니다.

비트 정보 설명
Bit 7 X - 미사용
Bit 6 X - 미사용
Bit 4
Bit 5
11
10
01
00
속도 프로파일 11 : 사다리꼴 프로파일
10 : 삼각 프로파일
01 : 사각 프로파일
00 : 프로파일 미사용(Step)
Bit 3 0 or 1 Following Error 다이나믹셀의 목표위치 궤적 추종 여부
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 다이나믹셀의 목표위치 도달 여부
0 : 도달하지 못함
1 : 도달함

참고 : 삼각 속도 프로파일은 사다리꼴 속도 프로파일 조건에서 Profile Velociy(112)에 도달하지 못할 때 설정됩니다.

참고 : In-Position은 위치 관련 제어모드에서 위치값의 차이가 펌웨어에 설정된 값보다 작은 범위 내에 들어올 때 설정됩니다.

Present PWM(124)

현재 PWM 값입니다. 자세한 사항은 Goal PWM(100)을 참고하세요.

Present Current(126)

현재 전류 값입니다. 자세한 사항은 Goal Current(102)를 참고하세요 Goal Current(102).

Present Velocity(128)

현재 속도 값입니다. 자세한 사항은 Goal Velocity(104)를 참고하세요

Present Position(132)

현재 위치 값입니다. 자세한 사항은 Goal Position(116)을 참고하세요.

참고: Present Position(132) 은, 토크가 꺼져 있을 때 Operating Mode(11)에 상관없이 4 byte(-2,147,483,648 ~ 2,147,483,647)의 범위를 연속적으로 표현 합니다.
Present Position(132) 값은 다음의 경우에 한 바퀴의 절대위치값(1 rev)으로 초기화 됩니다. Present Position(132) 이 초기화 되는 절대 위치값은 Homing Offset(20) 에 의해 변경될 수 있습니다.

  1. Operating Mode(11)가 위치 제어 모드로 변경 될 때.
  2. 위치 제어 모드에서 Torque OFF 에서 Torque ON 으로 변경 될 때.
  3. 전원을 끄고 키거나, Reboot Instruction 사용 시.

Velocity Trajectory(136)

Profile에 의해 생성된 목표 속도 궤적입니다. 제어 모드에 따라 동작 방식이 다음과 같이 달라집니다. 자세한 사항은 Profile Velocity(112)를 참고하세요.

  1. 속도 제어 모드 : Profile이 종료되면 Velocity Trajectory(136)Goal Velocity(104)와 동일해 집니다.
  2. 위치 제어 모드, 확장 위치 제어 모드 : Position Trajectory(140)을 생성하기 위한 목표 속도 궤적입니다. Profile이 종료되면 Velocity Trajectory(136)은 ‘0’이 됩니다.

Position Trajectory(140)

Profile에 의해 생성된 목표 위치 궤적입니다. 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드에서만 동작 합니다. 자세한 사항은 Profile Velocity(112)를 참고하세요.

Present Input Voltage(144)

현재 공급되는 전압입니다. 자세한 사항은 Max/Min Voltage Limit(32, 34)를 참고하세요.

Present Temperature(146)

현재 내부온도입니다. 자세한 사항은 Temperature Limit(31)을 참고하세요.

Backup Ready(147)

Control table Backup 패킷을 통하여 저장된 컨트롤 테이블 데이터의 유무를 나타냅니다.

상세 설명
0 Backup된 컨트롤 테이블 데이터가 없음
1 Backup된 컨트롤 테이블 데이터가 있음

참고: 펌웨어 v46부터 지원합니다. 사용방법은, 백업 및 복구을 참고하세요.

Indirect Address, Indirect Data

Indirect Address와 Indirect Data 용도는 서로 떨어져있는 컨트롤 테이블의 Address를 연속된 Address로 사용하기 위함입니다.

Indirect Address 범위 설명
64 ~ 227 Indirection Address는 EEPROM 영역을 지정할 수 없습니다.

동작 예시

예제 1 1 byte인 LED(65)를 Indirect Data 1(208)로 사용할 경우

  1. Indirect Address 1(168) : LED의 주소 ‘65’로 변경
  2. Indirect Data 1(208)를 ‘1’로 변경 : LED(65) 역시 ‘1’로 변경되면서 LED가 켜집니다.
  3. Indirect Data 1(208)를 ‘0’로 변경 : LED(65) 역시 ‘0’로 변경되면서 LED가 꺼집니다.

예제 2 4 byte인 Goal Position(116)을 Indirect Data 2(225)로 사용할 경우, 4 byte 모두 변경 해야함

  1. Indirect Address 2(170) : Goal Position의 첫 번째 주소 ‘116’으로 변경
  2. Indirect Address 3(172) : Goal Position의 두 번째 주소 ‘117’으로 변경
  3. Indirect Address 4(174) : Goal Position의 세 번째 주소 ‘118’으로 변경
  4. Indirect Address 5(176) : Goal Position의 네 번째 주소 ‘119’으로 변경
  5. Indirect Data 2에서 4 byte 값을 ‘1024’ 변경 : Goal Position(116) 역시 ‘1024’로 변경되고 장치가 구동됩니다.

참고 : 2 byte 이상의 길이를 갖는 컨트롤 테이블의 Data를 Indirect Address로 설정할 경우에는 예제 2와 같이 컨트롤 테이블의 Data가 포함된 모든 Address를 Indirect Address로 설정해 주어야 정상동작합니다.

조립 예시

참고자료

참고
호환성 가이드
케이블 호환성

Profile

Profile이란 모터 구동 시 급격하게 변하는 속도와 가속도를 조절함으로써 진동, 소음 및 모터의 부하를 줄이는 가감속 제어 방법입니다.
일반적으로 속도에 근거하여 가감속을 제어하기 때문에 Velocity Profile이라고 불립니다.
장치는 3가지 형태의 Profile을 제공합니다. 다음은 3가지 종류의 Profile을 표시합니다.
기본적으로 Profile의 선택은 Profile Velocity(112)Profile Acceleration(108)의 조합에 의해서 결정됩니다.

장치의 Profile은 Goal Position(116)이 주어졌을 때, 현재 속도(Profile의 시작속도)를 기반으로 목표 속도 궤적을 생성합니다.
따라서 장치가 Goal Position(116)로 이동하는 중에 새로운 Goal Position(116)로 목표위치가 변경되어도, 속도의 연속성을 유지하면서 목표 속도 궤적을 생성합니다.
이와 같이 속도의 불연속이 발생하지 않도록 목표 속도 궤적을 생성하는 기능을 Velocity Override라고 합니다.
여기서는 수식의 단순화를 위해 Profile의 시작속도를 ‘0’으로 가정합니다.

다음은 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드에서 Goal Position(116) 명령에 대한 Profile의 동작 과정을 나타냅니다.

  1. 사용자의 요청이 통신 버스를 통해 Goal Position(116)에 등록됩니다(Velocity-based Profile의 경우).
  2. Profile Velocity(112)Profile Acceleration(108)에 의해서 가속 시간(t1)이 결정됩니다.
  3. Profile Velocity(112), Profile Acceleration(108) 그리고 총 이동거리(ΔPos, 목표위치와 현재위치의 차이)에 의해서 Profile의 형태가 다음과 같이 결정됩니다.
  4. 최종 선정된 Profile의 형태는 Moving Status(123)에 표기됩니다.
  5. 장치는 Profile에 의해 산출된 목표 궤적에 따라 이동하게 됩니다.
  6. Profile에 의한 목표 속도 궤적과 목표 위치 궤적은 Velocity Trajectory(136)Position Trajectory(140)에 표기됩니다.
조건 프로파일 형태
Profile Velocity(112) = 0 프로파일 미사용(Step 명령)
(Profile Velocity(112) ≠ 0) & (Profile Acceleration(108) = 0) 사각 프로파일
(Profile Velocity(112) ≠ 0) & (Profile Acceleration(108) ≠ 0) 사다리꼴 프로파일

참고 : 속도 제어 모드에서는 Profile Acceleration(108)만 적용됩니다.
제공되는 Profile의 형태는 Step과 Trapezoidal 2가지 입니다.
Velocity Override 기능은 동일하게 동작합니다.
이때의 가속시간(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)을 [ms] 단위로 설정할 수 있습니다. 이때 Profile Acceleration(108)Profile Velocity(112)의 50%를 넘을 경우, Profile Acceleration(108)Profile Velocity(112))의 50%로 제한되어 적용됩니다.

인증 획득

표기되지 않은 인증에 대해서는 별도 문의하시기 바랍니다.

FCC

Note: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one more of the following measures:

  • Reorient or relocate the receiving antenna.
  • Increase the separation between the equipment and receiver.
  • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
  • Consult the dealer or an experienced radio/TV technician for help.

WARNING
Any changes or modifications not expressly approved by the manufacturer could void the user’s authority to operate the equipment.

퀵스타트

준비사항

주의:

  • USB2DYNAMIXEL은 현재 단종되어 더 이상 판매되지 않습니다.
  • 사용하는 소프트웨어에 따라, 호환되는 OS가 다를수 있습니다. 해당 소프트웨어 매뉴얼에서 지원하는 OS를 참조하세요.

참고:

  • U2D2는 PC의 USB포트와 다이나믹셀 또는 제어기를 연결하여 직접 구동하기 위한 통신 변환 장치입니다.
  • U2D2 파워 허브 보드 사용시, 안정적인 전원 공급 및 다수의 다이나믹셀을 관리할수 있습니다.

호환 소프트웨어

다이나믹셀을 제어 및 관리하기위한 소프트웨어 입니다. 아래 호환 표를 참고하세요.

모델 AX Series DX Series RX Series EX Series MX Series X-Series PRO Series P Series
R+ Manager 2.0 X X X X O O O O
다이나믹셀 위자드 O X X O O X (XL320 지원) O X
다이나믹셀 위자드2.0 O O O O O O O O
다이나믹셀 SDK O O O O O O O O
다이나믹셀 워크벤치 O O O O O O O O

참고: 로보티즈에서 제공하는 제어기와 다이나믹셀을 함께사용할수 있는 소프트웨어가 있습니다. 아래를 참고하세요.

로보플러스 매니저

로보플러스 매니저는 로봇을 구성하는 각 장치들을 관리해줍니다. 이 프로그램의 주요 역할은 다음과 같습니다.

참고: 로보플러스 매니저 1.0은 기능의 제약이 있습니다. 최신버전인 R+ Manager 2.0 또는 다이나믹셀 위자드 2.0을 사용하세요.

R+ Manager 2.0

R+ Manager 2.0은 로봇을 구성하는 제어기와 다이나믹셀 장치들을 통합 관리합니다. 제품을 연결하면 해당 제품을 최신버전으로 업데이트할 수 있으며, 컨트롤 테이블을 테스트해볼 수 있습니다. 기존의 로보플러스 매니저1.0과 위자드1.0에서 제공하던 기능이 R+ Manager 2.0에서 통합되었습니다.

주의: R+ Manager 2.0은 프로토콜 1.0을 사용하는 다이나믹셀과 호환되지 않습니다. 다이나믹셀 위자드 2.0 사용시, 모든 다이나믹셀의 펌웨어 복구/업데이트, 컨트롤 테이블 변경이 가능합니다.

다이나믹셀 위자드 2.0

다이나믹셀 위자드 2.0은 다양한 운영체제에서 다이나믹셀 제품들을 통합 관리할 수 있는 편리한 툴입니다.

다이나믹셀 위자드 2.0의 주요 역할은 다음과 같습니다.

다이나믹셀 SDK

다이나믹셀 SDK는 패킷 통신을 이용하여 다이나믹셀 제어 기능을 제공하는 소프트웨어 개발 키트입니다.

지원목록:

다이나믹셀 워크벤치

다이나믹셀 워크벤치는 DYNAMIXEL SDK 를 기반으로 보다 간단하고 사용하기 쉽게 만든 라이브러리입니다.

지원목록:

참고: 다이나믹셀 워크벤치는 DYNAMIXEL SDK 와 비교하여 기능상의 제약이 있을수 있습니다.

커넥터 정보

항목 TTL
핀번호 1 GND
2 VDD
3 DATA
다이어그램
하우징
JST EHR-03
PCB 헤더
JST B3B-EH-A
크림프 터미널 JST SEH-001T-P0.6
다이나믹셀 전선규격 21 AWG

통신 회로

다이나믹셀을 제어하기 위해서는 제어기의 UART 신호를 Half duplex type으로 변환시켜 주어야 합니다. 다음은 그 권장 회로도입니다.

TTL 통신 (3.3V Logic, 5V Compatible)

참고: XC330의 통신 버스의 전압은 다른 다이나믹셀과 달리 3.3V 이지만, 5V 통신 버스와도 호환됩니다.

도면

더 많은 2D/3D 도면자료와 각종 소프트웨어 등 유용한 자료는 로보티즈 다운로드 센터에서 제공됩니다.

Moment Of Intertia