본문으로 건너뛰기

XC330-M181-T

사양

항목사양
MCUARM 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]
동작 모드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)
무게23 [g]
크기 (W x H x D)20.0 x 34.0 x 26.0 [mm]
감속비180.62 : 1
Stall Torque0.52 [N.m] (at 3.7 [V], 1.34 [A], 0.388 [Nm/A])
0.60 [N.m] (at 5.0 [V], 1.80 [A], 0.333 [Nm/A])
0.66 [N.m] (at 6.0 [V], 2.15 [A], 0.307 [Nm/A])
무부하 속도95 [rev/min] (at 3.7 [V])
129 [rev/min] (at 5.0 [V])
155 [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)
ID253 ID (0 ~ 252)
피드백Position, Velocity, Current, Realtime tick, Trajectory, Temperature, Input Voltage, etc
케이스 재질Engineering Plastic
기어 재질Full Metal Gear, 2 Bearing
대기 전류17 [mA]
위험

위험 (이 경고를 무시하면 심각한 상해 또는 사망에 이를 수 있습니다)

  • 제품 주위에 물, 가연성 물질/화기 또는 용제가 포함된 물건을 두지 마세요.
  • 작동 중인 제품 가까이에 손가락, 팔, 발가락 등 신체 일부를 가까이 대지 마세요.
  • 제품에서 이상한 냄새, 소음 또는 연기가 발생하면 즉시 작동을 중지하고 전원을 차단하세요.
  • 제품은 어린이의 손이 닿지 않는 곳에 보관하세요.
  • 배선이나 케이블을 설치하거나 전원을 공급하기 전에 입력 극성을 확인하세요.
경고

주의 (이 경고를 무시하면 가벼운 상해 또는 제품 손상이 발생할 수 있습니다)

  • 입력 전압, 전류, 동작 온도 등 제품의 공식 동작 환경 사양을 항상 준수하세요.
  • 제품 작동 중 칼날이나 기타 날카로운 물체를 넣지 마세요.
경고

알림 (이 주의를 무시하면 경미한 상해 또는 제품 손상이 발생할 수 있습니다)

  • 제품을 분해하거나 개조하지 마세요.
  • 제품을 떨어뜨리거나 강한 충격을 가하지 마세요.
  • 전원이 공급되는 동안 DYNAMIXEL 케이블을 연결하거나 분리하지 마세요.

성능 그래프

같은 폼팩터를 찾고 있나요?

XC Series

모델Stall Torque무부하 속도
XC330-T2880.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-T1810.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-M2880.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-M1810.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-M2880.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-M0770.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])
노트

참고 : 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으로 데이터 레지스터를 변경해 장치를 제어할 수 있습니다.

경고

주의 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 컨트롤 테이블

AddressSize
(Byte)
Data NameAccess초기
RangeUnit
02Model NumberR1,230--
24Model InformationR---
61Firmware VersionR---
71IDRW10 ~ 252
81Baud RateRW10 ~ 6
91Return Delay TimeRW2500 ~ 2542 [μsec]
101Drive ModeRW00 ~ 13-
111Operating ModeRW30 ~ 16-
121Secondary(Shadow) IDRW2550 ~ 252-
131Protocol TypeRW22 ~ 22-
204Homing OffsetRW0-1,044,479 ~
1,044,479
1 [pulse]
244Moving ThresholdRW100 ~ 1,0230.229 [rev/min]
311Temperature LimitRW700 ~ 1001 [℃]
322Max Voltage LimitRW7031 ~ 700.1 [V]
342Min Voltage LimitRW3531 ~ 700.1 [V]
362PWM LimitRW8850 ~ 8850.113 [%]
382Current LimitRW2,3520 ~ 2,3521.0 [mA]
444Velocity LimitRW5450 ~ 2,0470.229 [rev/min]
484Max Position LimitRW4,0950 ~ 4,0951 [pulse]
524Min Position LimitRW00 ~ 4,0951 [pulse]
601Startup ConfigurationRW03-
621PWM SlopeRW1401 ~ 2551.977 [mV/msec]
631ShutdownRW52--

RAM Area 컨트롤 테이블

AddressSize
(Byte)
Data NameAccess초기
RangeUnit
641Torque EnableRW00 ~ 1-
651LEDRW00 ~ 1-
681Status Return LevelRW20 ~ 2-
691Registered InstructionR00 ~ 1-
701Hardware Error StatusR0--
762Velocity I GainRW1,4000 ~ 16,383-
782Velocity P GainRW1000 ~ 16,383-
802Position D GainRW5000 ~ 16,383
822Position I GainRW00 ~ 16,383
842Position P GainRW1,2000 ~ 16,383
882Feedforward 2nd GainRW00 ~ 16,383
902Feedforward 1st GainRW00 ~ 16,383
981Bus WatchdogRW01 ~ 12720 [msec]
1002Goal PWMRW--PWM Limit(36) ~
PWM Limit(36)
0.113 [%]
1022Goal CurrentRW--Current Limit(38) ~
Current Limit(38)
1.0 [mA]
1044Goal VelocityRW--Velocity Limit(44) ~
Velocity Limit(44)
0.229 [rev/min]
1084Profile AccelerationRW00 ~ 32,767214.577 [rev/min2]
1 [msec]
1124Profile VelocityRW00 ~ 32,7670.229 [rev/min]
1164Goal PositionRW-Min Position Limit(52) ~
Max Position Limit(48)
1 [pulse]
1202Realtime TickR-0 ~ 32,7671 [msec]
1221MovingR00 ~ 1-
1231Moving StatusR0--
1242Present PWMR--0.113 [%]
1262Present CurrentR--1.0 [mA]
1284Present VelocityR--0.229 [rev/min]
1324Present PositionR--1 [pulse]
1364Velocity TrajectoryR--0.229 [rev/min]
1404Position TrajectoryR--1 [pulse]
1442Present Input VoltageR--0.1 [V]
1461Present TemperatureR--1 [℃]
1471Backup ReadyR-0 ~ 1-
1682Indirect Address 1RW22464 ~ 251-
1702Indirect Address 2RW22564 ~ 251-
1722Indirect Address 3RW22664 ~ 251-
·········
2182Indirect Address 26RW24964 ~ 251-
2202Indirect Address 27RW25064 ~ 251-
2222Indirect Address 28RW25164 ~ 251-
2241Indirect Data 1RW00 ~ 255-
2251Indirect Data 2RW00 ~ 255-
2261Indirect Data 3RW00 ~ 255-
·········
2491Indirect Data 26RW00 ~ 255-
2501Indirect Data 27RW00 ~ 255-
2511Indirect Data 28RW00 ~ 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.0Status Packet 항목을 참고하세요.

Baud Rate(8)

Baud Rate(8)는 컨트롤러와 DYNAMIXEL 사이의 시리얼 통신 속도를 결정합니다.

ValueBaud RateMargin of Error
74.5M [bps]0.000 [%]
64M [bps]0.000 [%]
53M [bps]0.000 [%]
42M [bps]0.000 [%]
31M [bps]0.000 [%]
2115,200 [bps]0.000 [%]
1(Default)57,600 [bps]0.000 [%]
09,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 ~ 254Default value ‘250’(500[μsec])
Maximum value: '508'[μsec]

Drive Mode(10)

Drive Mode(10)는 DYNAMIXEL의 구동 방식을 설정합니다.

BitItem설명
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)

동작 모드설명
0Current Control Mode속도와 위치에 관계없이 전류(Torque)만 제어합니다. 전류(Torque) 제어만 사용하는 시스템, 그리퍼, 또는 별도의 속도/위치 제어기를 갖춘 시스템에 적합합니다.
1Velocity Control Mode속도를 제어하는 모드입니다. 기존 다이나믹셀의 Wheel Mode(endless)와 동일하며, 바퀴형 로봇에 적합합니다.
3(Default)Position Control Mode위치를 제어하는 모드입니다. 기존 다이나믹셀의 Joint Mode와 동일합니다. 동작 위치 범위는 Max Position Limit(48)Min Position Limit(52)에 의해 제한됩니다. 각 관절이 360도 미만으로 회전하는 다관절 로봇에 적합합니다.
4Extended 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)가 사용되지 않습니다.
5Current-based Position Control Mode위치와 전류(Torque)를 함께 제어합니다. 최대 512회전(-256[rev] ~ 256[rev])을 지원합니다. 다관절 로봇이나 그리퍼처럼 위치와 전류를 함께 제어해야 하는 시스템에 적합합니다.
16PWM 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도 재설정됩니다. 자세한 내용은 아래 설명을 참고하세요.

  1. Profile Velocity(112), Profile Acceleration(108): 0으로 재설정
  2. Goal PWM(100)Goal Current(102): 각각 PWM Limit(36), Current Limit(38) 값으로 재설정
  3. 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를 변조해 모터를 제어하는 방식입니다. 펄스 폭을 변경해 모터에 공급되는 평균 전압을 제어하며, 모터 제어 분야에서 널리 사용됩니다.

  1. PWM Control Mode는 AXRX 시리즈의 Wheel Mode와 유사합니다.
  2. 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 ~ 252Activate Secondary ID Function
253 ~ 255Deactivate Secondary ID Function, 기본값 255

Secondary ID(12) Example

다음 Secondary ID(12) 예제를 참고하세요. 예제의 DYNAMIXEL에는 ID(7) 1, 2, 3, 4, 5가 각각 중복 없이 할당되어 있습니다.

  1. 연결된 다섯 DYNAMIXEL의 Secondary ID를 5로 설정합니다.
  2. Write Instruction Packet(ID(7) = 1, LED(65) = 1)을 전송합니다.
  3. ID(7)1인 DYNAMIXEL의 LED가 켜지고 Status Packet이 반환됩니다.
  4. Write Instruction Packet(ID(7) = 5, LED(65) = 1)을 전송합니다.
  5. 모든 DYNAMIXEL의 LED가 켜지지만, ID(7)5인 액추에이터만 Status Packet을 반환합니다.
  6. 모든 DYNAMIXEL의 Secondary ID를 100으로 설정합니다.
  7. Write Instruction Packet(ID(7) = 100, LED(65) = 0)을 전송합니다.
  8. 모든 DYNAMIXEL의 LED가 꺼집니다. ID 100을 사용하는 DYNAMIXEL이 없고 같은 Secondary ID만 사용하므로 Status Packet은 반환되지 않습니다.

Protocol Type(13)

Protocol Type(13)을 사용해 DYNAMIXEL에서 사용할 통신 프로토콜(DYNAMIXEL Protocol 1.0 또는 2.0)을 선택할 수 있습니다.

여러 DYNAMIXEL을 함께 사용할 때는 동일한 프로토콜 타입을 사용하는 것을 권장합니다.

설명호환 DYNAMIXEL
1DYNAMIXEL Protocol 1.0AX Series, DX Series, RX Series, EX Series, MX Series Firmware v39 미만
2(default)DYNAMIXEL Protocol 2.0MX-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.0Protocol 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 ~ 1000 ~ 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 ~ 1406.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)을 참고하세요.

Unit값 범위
about 1 [mA]0 ~ 2,352
노트

참고 :

  • Current Limit(38) may differ by each DYNAMIXEL so please check the Control Table.
  • XC330 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 XC330 series comparing with measuring phase current which quickly changes of a motor.

Velocity Limit(44)

Velocity Limit(44)는 Goal Velocity(104)의 최대값을 나타냅니다. 자세한 내용은 Goal Velocity(104)를 참고하세요.

Unit값 범위
0.229rpm0 ~ 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 5Overload Error(default)모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우
Bit 4Electrical Shock Error(default)회로에 전기적 충격이 발생하거나 입력 전력이 부족해 모터가 정상 동작하지 못하는 경우
Bit 3Motor Encoder Error모터 Encoder의 오동작을 감지한 경우
Bit 2Overheating Error(default)내부 온도가 설정된 동작 온도를 초과한 경우
Bit 1-미사용, 항상 '0'
Bit 0Input Voltage Error입력 전압이 설정된 동작 전압 범위를 벗어난 경우
노트

참고 :

  1. Shutdown이 발생하면 LED가 1초마다 깜빡입니다. (Firmware v41 이상)
  2. 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
1Torque 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 시킵니다.
1LED를 On 시킵니다.

Status Return Level(68)

Status Return Level(68)은 DYNAMIXEL이 Instruction Packet을 수신했을 때 Status Packet을 반환하는 방식을 설정합니다.

ValueResponding Instructions설명
0PING InstructionPING Instruction에 대해서만 Status Packet을 반환합니다
1PING Instruction
READ Instruction
PING과 READ Instruction에 대해 Status Packet을 반환합니다
2All Instructions모든 Instruction에 대해 Status Packet을 반환합니다
노트

참고 : Instruction Packet ID가 Broadcast ID(0xFE)로 설정된 경우 Status Return Level(68) 값과 관계없이 READ 또는 WRITE Instruction에 대한 Status Packet은 반환되지 않습니다. 자세한 내용은 DYNAMIXEL Protocol 2.0Status Packet 항목을 참고하세요.

Registered Instruction(69)

Reg Write Instruction에 의해 Write Instruction이 등록되었는지 나타냅니다.

Value설명
0No instruction registered by REG_WRITE.
1Instruction 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 5Overload Error(default)모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우
Bit 4Electrical Shock Error(default)회로에 전기적 충격이 발생하거나 입력 전력이 부족해 모터가 정상 동작하지 못하는 경우
Bit 3Motor Encoder Error모터 Encoder의 오동작을 감지한 경우
Bit 2Overheating Error(default)내부 온도가 설정된 동작 온도를 초과한 경우
Bit 1-미사용, 항상 '0'
Bit 0Input Voltage Error입력 전압이 설정된 동작 전압 범위를 벗어난 경우
노트

참고 :

  1. Shutdown이 발생하면 LED가 1초마다 깜빡입니다. (Firmware v41 이상)
  2. 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 GainConversion EquationsRange설명
Velocity I Gain(76)KVIKVI = KVI(TBL) / 65,5360 ~ 16,383I Gain
Velocity P Gain(78)KVPKVP = KVP(TBL) / 1280 ~ 16,383P Gain

아래 그림은 Velocity Control Mode에서 동작하는 속도 제어기의 블록 다이어그램입니다. 사용자의 Instruction이 DYNAMIXEL에 전달되면 Horn이 구동되기까지 다음 과정을 거칩니다.

  1. 사용자의 Instruction이 DYNAMIXEL bus를 통해 전송되어 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를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
  7. 구동 결과는 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 GainConversion EquationsRange설명
Position D Gain(80)KPDKPD = KPD(TBL) / 160 ~ 16,383D Gain
Position I Gain(82)KPIKPI = KPI(TBL) / 65,5360 ~ 16,383I Gain
Position P Gain(84)KPPKPP = KPP(TBL) / 1280 ~ 16,383P Gain
Feedforward 2nd Gain(88)KFF2ndKFF2nd(TBL) / 40 ~ 16,383Feedforward Acceleration Gain
Feedforward 1st Gain(90)KFF1stKFF1st(TBL) / 40 ~ 16,383Feedforward Velocity Gain

아래 그림은 Position Control Mode와 Extended Position Control Mode에서 동작하는 위치 제어기의 블록 다이어그램입니다. 사용자의 명령이 DYNAMIXEL에 전달된 후 Horn이 구동되기까지의 과정은 다음과 같습니다.

  1. 사용자의 Instruction이 DYNAMIXEL bus를 통해 전송되어 Goal Position(116)에 등록됩니다.
  2. Goal Position(116)Profile Velocity(112)Profile Acceleration(108)에 의해 목표 위치 궤적과 목표 속도 궤적으로 변환됩니다.
  3. 목표 위치 궤적과 목표 속도 궤적은 각각 Position Trajectory(140)Velocity Trajectory(136)에 저장됩니다.
  4. Feedforward와 PID 제어기는 목표 궤적을 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  5. Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM 값을 결정합니다.
  6. 최종 PWM 값은 Inverter를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
  7. 구동 결과는 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 ControllerFeed Forward를 참고하세요.

다음은 전류기반 위치제어기(전류기반 위치 제어 모드)의 블록다이어그램입니다. 기본적인 내용은 위치제어기와 동일하므로, 위치제어기와의 차이점만 설명합니다. 블록다이어그램에서 위치제어기와 다른 부분은 초록색으로 표기하였습니다.

  1. Feedforward와 PID 제어기는 목표 궤적을 기반으로 목표 전류를 계산합니다.
  2. [Goal Current(102)]는 계산된 목표 전류를 제한하여 최종 목표 전류를 결정합니다.
  3. 전류제어기는 최종 목표 전류를 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  4. [Goal PWM(100)]은 계산된 PWM 출력을 제한하여 최종 PWM값을 결정합니다.
  5. 최종 PWM값은 Inverter를 통해 모터에 적용되고 장치의 Horn이 구동됩니다.
  6. 구동 결과는 [Present Position(132)], [Present Velocity(128)], [Present PWM(124)], [Present Current(126)]에 표기됩니다.

노트

참고 : Ka는 Anti-windup Gain로서 사용자가 변경할 수는 없습니다. 보다 자세한 PID 제어기와 Feedforward 제어기에 대한 설명은 PID ControllerFeed Forward을 참고하세요.

Bus Watchdog(98)

Bus Watchdog(98)은 특정할 수 없는 오류로 제어기와 DYNAMIXEL 간 통신(RS-485, TTL)이 단절되었을 때 DYNAMIXEL을 정지시키기 위한 안전장치(Fail-safe)입니다. 여기서 통신은 DYNAMIXEL Protocol에서 정의된 모든 Instruction Packet을 의미합니다.

설명
범위0Bus Watchdog 기능 비활성화, Bus Watchdog Error 해제
범위1 ~ 127Bus Watchdog 활성화(단위: 20 [msec])
범위-1Bus 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 기능의 동작 예시입니다.

  1. Operating Mode(11)를 Velocity Control Mode로 설정한 후 Torque Enable(64)를 '1'로 변경합니다.
  2. Goal Velocity(104)에 '50'을 쓰면 DYNAMIXEL이 CCW 방향으로 회전합니다.
  3. Bus Watchdog(98)의 값을 '100'(2,000 [ms])으로 변경합니다. (Bus Watchdog 기능 활성화)
  4. 2,000 [ms] 동안 Instruction Packet이 수신되지 않으면 DYNAMIXEL이 정지합니다. 정지할 때 Profile Acceleration(108)Profile Velocity(112)는 '0'으로 적용됩니다.
  5. Bus Watchdog(98)의 값은 '-1'(Bus Watchdog Error)로 변경됩니다. 이때 Goal Value의 Access는 모두 읽기 전용으로 변경됩니다.
  6. Goal Velocity(104)에 '150'을 쓰면 Status Packet을 통해 Data Range Error가 반환됩니다.
  7. Bus Watchdog(98)의 값을 '0'으로 변경하면 Bus Watchdog Error가 해제됩니다.
  8. 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.
  • XC330 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 XC330 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 ModePWM Control Mode를 제외한 모든 Control Mode에 적용됩니다.

자세한 내용은 Profile이란?을 참고하세요.

Velocity-based Profile설명
Unit214.577 [rev/min2]Profile의 가속도를 설정합니다
Range0 ~ 32767'0'은 무한대 가속도를 의미합니다
Time-based Profile설명
Unit1 [msec]Profile의 가속 시간을 설정합니다
Range0 ~ 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설명
Unit0.229 [rev/min]Profile의 속도를 설정합니다
Range0 ~ 32767'0'은 무한대 속도를 의미합니다
Time-based Profile설명
Unit1 [msec]Profile의 도달 시간을 설정합니다
Range0 ~ 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 ModeMin 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)은 아래 경우에 적용됩니다.

노트

참고 : Extended Position Control Mode에서 전원을 끄거나 Operation Mode를 변경하면 Present Position 값은 1회전 내 절대 위치값으로 초기화됩니다.

Realtime Tick(120)

장치의 시간을 나타내는 지수입니다.

단위범위상세 설명
1 [msec]0 ~ 32,76732,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)을 참고하세요.

BitValueInformation설명
Bit 7X-예약 영역입니다.
Bit 6X-예약 영역입니다.
Bit 4
Bit 5
11
10
01
00
Velocity Profile11 : Trapezoidal Profile
10 : Triangular Profile
01 : Rectangular Profile
00 : Profile Not Used(Step)
Bit 30 or 1Following ErrorDYNAMIXEL이 목표 위치 궤적을 추종하는지 나타냅니다.
0 : 추종 중
1 : 추종하지 않음
Bit 2X-예약 영역입니다.
Bit 10 or 1Profile OngoingGoal Position(116) Instruction에 따른 Profile이 진행 중인지 나타냅니다.
0 : Profile 완료
1 : Profile 진행 중
Bit 00 or 1In-PositionDYNAMIXEL이 목표 위치에 도달했는지 나타냅니다.
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]을 참고하세요.

  1. 속도 제어 모드 : Profile이 종료되면 Velocity Trajectory(136)은 Goal Velocity(104)와 동일해 집니다.
  2. 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드 : 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백업 데이터가 없습니다.
1A 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 ~ 661EEPROM Address는 Indirect Address로 지정할 수 없습니다

Indirect Address와 Indirect Data 예시

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

  1. Indirect Address 1(168) : LED의 Address인 '65'로 변경합니다.
  2. Indirect Data 1(224)를 '1'로 설정합니다. LED(65)도 '1'이 되어 LED가 켜집니다.
  3. Indirect Data 1(224)를 '0'으로 설정합니다. LED(65)도 '0'이 되어 LED가 꺼집니다.

예제 2 Size 4 byte인 Goal Position(116)을 Indirect Data 2(225)로 사용할 경우, 연속된 4 byte를 모두 할당해야 합니다.

  1. Indirect Address 2(170) : Goal Position의 첫 번째 Address인 '116'으로 변경합니다.
  2. Indirect Address 3(172) : Goal Position의 두 번째 Address인 '117'으로 변경합니다.
  3. Indirect Address 4(174) : Goal Position의 세 번째 Address인 '118'으로 변경합니다.
  4. Indirect Address 5(176) : Goal Position의 네 번째 Address인 '119'으로 변경합니다.
  5. 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을 처리하는 방식입니다.

  1. 사용자 Instruction이 다이나믹셀 버스를 통해 전달되어 Goal Position(116)에 등록됩니다(Velocity-based Profile이 선택된 경우).
  2. Profile Velocity(112)Profile Acceleration(108)을 기반으로 가속 시간(t1)이 계산됩니다.
  3. Profile Velocity(112), Profile Acceleration(108), 총 이동 거리(ΔPos, 목표 위치와 현재 위치의 차이)를 기반으로 Profile Type이 결정됩니다.
  4. 선택된 Profile Type은 Moving Status(123)에 저장됩니다.
  5. 다이나믹셀은 Profile에서 계산된 목표 궤적에 따라 구동됩니다.
  6. Profile의 목표 속도 궤적과 목표 위치 궤적은 각각 Velocity Trajectory(136)Position Trajectory(140)에 저장됩니다.
조건Profile Type
VPRFL(112) = 0Profile 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 디지털 장치 제한을 준수하도록 시험되었으며 적합 판정을 받았습니다. 이 제한은 상업 환경에서 장비를 운용할 때 유해한 간섭에 대해 합리적인 보호를 제공하도록 설계되었습니다. 이 장비는 무선 주파수 에너지를 생성, 사용 및 방출할 수 있으며, 사용 설명서에 따라 설치 및 사용하지 않으면 무선 통신에 유해한 간섭을 일으킬 수 있습니다. 주거 지역에서 이 장비를 운용하면 유해한 간섭이 발생할 가능성이 있으며, 이 경우 사용자는 자신의 비용으로 간섭을 해결해야 합니다.

경고

주의 제조사가 명시적으로 승인하지 않은 변경 또는 개조는 사용자의 장비 운용 권한을 무효화할 수 있습니다.

빠른 시작

사전 준비

경고

주의:

  • 일부 소프트웨어는 모든 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 GND
2 VDD
3 DATA
다이어그램
하우징
JST EHR-03
PCB Header
JST B3B-EH-A
Crimp TerminalJST SEH-001T-P0.6
Wire Gauge for DYNAMIXEL21 AWG

Communication Circuit

DYNAMIXEL 액추에이터를 제어하려면 메인 컨트롤러가 UART 신호를 Half Duplex 방식으로 변환해야 합니다. 권장 회로도는 아래와 같습니다.

TTL Communication

노트

참고 : 위 회로는 5V 또는 5V tolerant MCU용으로 설계되었습니다. 그렇지 않은 경우 MCU 전압에 맞도록 Level Shifter를 사용하세요.

도면

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

Moment Of Inertia