본문으로 건너뛰기

MX-64AR, MX-64AT (Protocol 2.0)

주요 사양

항목사양
MCUARM 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]
Backlash20 [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)
무게MX-64AR/AT: 135 [g]
MX-64R/T: 126 [g]
크기 (W x H x D)40.2 x 61.1 x 41 [mm]
기어비200 : 1
Stall Torque5.5 [N.m] (at 11.1 [V], 3.9 [A], 1.410 [Nm/A])
6.0 [N.m] (at 12 [V], 4.1 [A], 1.463 [Nm/A])
7.3 [N.m] (at 14.8 [V], 5.2 [A], 1.404 [Nm/A])
무부하 속도58 [rev/min] (at 11.1 [V])
63 [rev/min] (at 12 [V])
78 [rev/min] (at 14.8 [V])
Radial Load1 40 [N] (10 [mm] away from the horn)
Axial Load1 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
ID253 ID (0 ~ 252)
FeedbackPosition, 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으로 데이터 레지스터를 변경해 장치를 제어할 수 있습니다.

경고

주의

  1. MX(2.0) Firmware는 기존 MX 시리즈와 컨트롤 테이블 및 Address가 다릅니다. 사용 전에 컨트롤 테이블 Address를 확인하세요.
  2. MX(2.0) Firmware는 DYNAMIXEL-X의 기능을 계승합니다. 따라서 DYNAMIXEL Protocol 1.0DYNAMIXEL 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 영역 컨트롤 테이블

AddressSize(Byte)Data Name설명Access초기
02Model Number모델 번호R311
24Model InformationModel InformationR-
61Firmware Version펌웨어 버전R-
71IDDYNAMIXEL IDRW1
81Baud RateCommunication Baud RateRW1
91Return Delay Time응답 지연 시간RW250
101Drive ModeDrive ModeRW0
111Operating Mode동작 모드RW3
121Secondary(Shadow) IDSecondary IDRW255
131Protocol Type프로토콜 타입RW2
204Homing OffsetHome Position OffsetRW0
244Moving ThresholdVelocity Threshold for Movement DetectionRW10
311Temperature Limit최대 내부 온도 제한RW80
322Max Voltage Limit최대 입력 전압 제한RW160
342Min Voltage Limit최소 입력 전압 제한RW95
362PWM LimitMaximum PWM LimitRW885
382Current Limit최대 전류 제한RW1941
404Acceleration LimitMaximum Acceleration LimitRW32767
444Velocity LimitMaximum Velocity LimitRW285
484Max Position LimitMaximum Position LimitRW4,095
524Min Position LimitMinimum Position LimitRW0
631ShutdownShutdown Error InformationRW52

RAM 영역 컨트롤 테이블

AddressSize(Byte)Data Name설명Access초기
641Torque EnableMotor Torque On/OffRW0
651LEDStatus LED On/OffRW0
681Status Return LevelSelect Types of Status ReturnRW2
691Registered InstructionREG_WRITE Instruction FlagR0
701Hardware Error StatusHardware Error StatusR0
762Velocity I GainI Gain of VelocityRW1920
782Velocity P GainP Gain of VelocityRW100
802Position D GainD Gain of PositionRW0
822Position I GainI Gain of PositionRW0
842Position P GainP Gain of PositionRW850
882Feedforward 2nd Gain2nd Gain of Feed-ForwardRW0
902Feedforward 1st Gain1st Gain of Feed-ForwardRW0
981BUS WatchdogDYNAMIXEL BUS WatchdogRW0
1002Goal PWMDesired PWM ValueRW-
1022Goal CurrentDesired Current ValueRW-
1044Goal VelocityDesired Velocity ValueRW-
1084Profile AccelerationAcceleration Value of ProfileRW0
1124Profile VelocityVelocity Value of ProfileRW0
1164Goal PositionDesired PositionRW-
1202Realtime TickCount Time in MillisecondR-
1221MovingMovement FlagR0
1231Moving StatusDetailed Information of Movement StatusR0
1242Present PWMPresent PWM ValueR-
1262Present CurrentPresent Current ValueR-
1284Present VelocityPresent Velocity ValueR-
1324Present PositionPresent Position ValueR-
1364Velocity TrajectoryDesired Velocity Trajectory from ProfileR-
1404Position TrajectoryDesired Position Trajectory from ProfileR-
1442Present Input VoltagePresent Input VoltageR-
1461Present TemperaturePresent Internal TemperatureR-
1682Indirect Address 1Indirect Address 1RW224
1702Indirect Address 2Indirect Address 2RW225
1722Indirect Address 3Indirect Address 3RW226
..................
2182Indirect Address 26Indirect Address 26RW249
2202Indirect Address 27Indirect Address 27RW250
2222Indirect Address 28Indirect Address 28RW251
2241Indirect Data 1Indirect Data 1RW0
2251Indirect Data 2Indirect Data 2RW0
2261Indirect Data 3Indirect Data 3RW0
..................
2491Indirect Data 26Indirect Data 26RW0
2501Indirect Data 27Indirect Data 27RW0
2511Indirect Data 28Indirect Data 28RW0
5782Indirect Address 29Indirect Address 29RW634
5802Indirect Address 30Indirect Address 30RW635
5822Indirect Address 31Indirect Address 31RW636
..................
6282Indirect Address 54Indirect Address 54RW659
6302Indirect Address 55Indirect Address 55RW660
6322Indirect Address 56Indirect Address 56RW661
6341Indirect Data 29Indirect Data 29RW0
6351Indirect Data 30Indirect Data 30RW0
6361Indirect Data 31Indirect Data 31RW0
..................
6591Indirect Data 54Indirect Data 54RW0
6601Indirect Data 55Indirect Data 55RW0
6611Indirect Data 56Indirect Data 56RW0
경고

주의 : 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.0Status Packet 항목을 참고하세요.

Baud Rate(8)

Baud Rate(8)는 제어기와 DYNAMIXEL 간의 Serial 통신 속도를 설정합니다.

Value통신 속도오차율
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 설정

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)-미사용, 항상 '0'
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의 방향이 반전됩니다. 대칭 구조의 관절을 구성할 때 유용하게 사용할 수 있습니다.

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이 같은 값을 공유해 그룹을 만들고 동작을 동기화하는 데 사용할 수 있습니다. 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 TableEEPROM 영역을 변경할 수 없습니다.
  • Secondary ID(12)로 RAM 영역을 변경할 수 있습니다.
  • Instruction Packet의 ID가 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) 예시

앞서 설명한 것처럼 Secondary ID(12)는 ID(7)와 달리 동일한 값을 여러 DYNAMIXEL에 할당할 수 있습니다. 아래 예시를 통해 Secondary ID(12)의 동작을 확인하세요. 각 DYNAMIXEL에 할당된 ID(7)는 '1', '2', '3', '4', '5'이며 서로 중복되지 않는다고 가정합니다.

  1. 다섯 개의 DYNAMIXEL에 할당된 ID(7)가 각각 '1', '2', '3', '4', '5'일 때, 모든 DYNAMIXEL의 Secondary ID(12)를 '5'로 설정합니다.
  2. Write Instruction Packet(ID(7) = 1, LED(65) = 1)을 전송합니다.
  3. ID '1'인 DYNAMIXEL은 Instruction Packet에 따라 LED를 켜고 Status Packet을 반환합니다.
  4. Write Instruction Packet(ID(7) = 5, LED(65) = 1)을 전송합니다.
  5. 모든 DYNAMIXEL이 LED를 켜지만, Status Packet은 ID '5'인 DYNAMIXEL만 반환합니다.
  6. 모든 DYNAMIXEL의 Secondary ID(12)를 '100'으로 설정합니다.
  7. Write Instruction Packet(ID(7) = 100, LED(65) = 0)을 전송합니다.
  8. 모든 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
1DYNAMIXEL Protocol 1.0AX Series, DX Series, RX Series, EX Series, Firmware v39 미만의 MX Series
2(default)DYNAMIXEL Protocol 2.0Firmware 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.0Protocol 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 rpm0 ~ 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 ~ 1000 ~ 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 ~ 1609.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)을 참고하세요.

UnitValue Range
about 3.36[mA]0 ~ 1,941
노트

참고 : 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/min20 ~ 32,767

Velocity Limit(44)

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

단위범위
0.229rpm0 ~ 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 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)

설명
0(Default)Torque Off
1Torque On

LED(65)

LED(65)는 LED의 On/Off를 설정합니다.

Bit설명
0(Default)LED를 Off합니다
1LED를 On합니다
노트

LED는 다이나믹셀의 다양한 상태를 표시하는 데에도 사용됩니다. 자세한 내용은 아래 표를 참고하세요.

상태LED 표시
BootingLED가 1회 점멸
Factory ResetLED가 빠르게 4회 점멸
Shutdown ErrorLED가 계속 점멸
Bootloader ModeLED가 계속 켜짐

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설명
0REG_WRITE에 의해 등록된 Instruction이 없습니다
1REG_WRITE에 의해 등록된 Instruction이 있습니다
노트

참고 : 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 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 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를 참고하세요.

아래 그림은 Current-based Position Control Mode에서 동작하는 전류 기반 위치 제어기의 블록 다이어그램입니다. Current-based Position Control Mode는 Position Control Mode와 매우 유사하므로, 아래 단계에서는 차이점 위주로 설명합니다. 블록 다이어그램에서도 차이점을 초록색으로 표시했습니다.

  1. Feedforward와 PID 제어기는 목표 궤적을 기반으로 목표 전류를 계산합니다.
  2. Goal Current(102)는 계산된 목표 전류를 제한하여 최종 목표 전류를 결정합니다.
  3. 전류 제어기는 최종 목표 전류를 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  4. Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM 값을 결정합니다.
  5. 최종 PWM 값은 Inverter를 통해 모터에 적용되고 DYNAMIXEL의 Horn이 구동됩니다.
  6. 구동 결과는 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을 의미합니다.

설명
범위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)

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 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에 따라 달라질 수 있습니다. 자세한 내용은 Profile이란?을 참고하세요.

ModeValues설명
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]
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)은 아래 경우에 적용됩니다.

노트

참고 : 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회전 범위의 절대 위치값으로 초기화됩니다.

  1. Operating Mode(11)가 Position Control Mode로 변경된 경우
  2. Position Control Mode에서 Torque가 켜진 경우
  3. Actuator의 전원이 켜지거나 Reboot Instruction으로 reboot된 경우

1회전 범위의 절대 위치값으로 초기화된 Present Position(132)도 설정된 Homing Offset(20) 값의 영향을 받습니다.

Realtime Tick(120)

Realtime Tick(120)은 DYNAMIXEL의 시간을 나타내는 값입니다.

UnitValue Range설명
1 ms0 ~ 32,76732,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)를 참고하세요.

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) 명령에 따라 Profile 진행 중인지 여부
0 : Profile 완료
1 : Profile 진행 중
Bit 00 or 1In-PositionDYNAMIXEL이 목표 위치에 도달했는지 여부
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회전 범위의 절대 위치값으로 초기화됩니다.

  1. Operating Mode(11)가 Position Control Mode로 변경된 경우
  2. Position Control Mode에서 Torque가 켜진 경우
  3. Actuator의 전원이 켜지거나 Reboot Instruction으로 reboot된 경우

1회전 범위의 절대 위치값으로 초기화된 Present Position(132)도 설정된 Homing Offset(20) 값의 영향을 받습니다.

Velocity Trajectory(136)

Velocity Trajectory(136)은 Profile에 의해 생성된 목표 속도 궤적입니다. Operating Mode(11)에 따라 동작 방식이 달라집니다. 자세한 내용은 Profile이란?을 참고하세요.

  1. Velocity Control Mode : Profile이 종료 지점에 도달하면 Velocity Trajectory(136)은 Goal Velocity(104)와 같아집니다.
  2. 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 ~ 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으로만 접근할 수 있습니다.

조립 방법

Optional Frames

  • FR05-B101

  • FR05-F101 and FR05-X101

  • FR05-H101

  • FR05-S101

Horns

  • HN05-I102

  • HN05-N101

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을 처리하는 방식입니다.

  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 B 디지털 장치 제한을 준수하는 것으로 시험 및 확인되었습니다. 이 제한은 주거 환경에 설치할 때 유해한 간섭으로부터 합리적인 보호를 제공하도록 설계되었습니다. 이 장비는 무선 주파수 에너지를 생성, 사용 및 방출할 수 있으며, 지침에 따라 설치 및 사용하지 않을 경우 무선 통신에 유해한 간섭을 일으킬 수 있습니다. 다만 특정 설치 환경에서 간섭이 발생하지 않는다는 보장은 없습니다. 이 장비가 라디오 또는 텔레비전 수신에 유해한 간섭을 일으키는 경우(장비를 껐다 켜서 확인 가능), 사용자는 다음 방법 중 하나 이상을 시도하여 간섭을 해결할 것을 권장합니다.

  • 수신 안테나의 방향이나 위치를 변경합니다.
  • 장비와 수신기 사이의 거리를 늘립니다.
  • 수신기가 연결된 회로와 다른 회로의 콘센트에 장비를 연결합니다.
  • 판매처 또는 숙련된 라디오/TV 기술자에게 도움을 요청합니다.
경고

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

커넥터 정보

항목TTLRS-485
Pinout1 GND
2 VDD
3 DATA
1 GND
2 VDD
3 DATA+
4 DATA-
도면
Housing
MOLEX 50-37-5033

MOLEX 50-37-5043
PCB Header
MOLEX 22-03-5035

MOLEX 22-03-5045
Crimp TerminalMOLEX 08-70-1039MOLEX 08-70-1039
Wire Gauge for DYNAMIXEL21 AWG21 AWG
위험

경고 : 사용자 안전을 확보하고 재산상 위험 또는 손상을 방지하기 위해 다이나믹셀과 보드에 장착된 Pinout을 반드시 확인하세요. 다이나믹셀의 Pinout은 커넥터 제조사에 따라 다를 수 있습니다.

도면

소프트웨어 애플리케이션, 3D/2D CAD 등 유용한 자료는 **ROBOTIS Download Center**에서도 확인할 수 있습니다.

통신 회로

다이나믹셀을 제어하려면 메인 컨트롤러의 UART 신호를 Half Duplex 방식으로 변환해야 합니다. 권장 회로도는 아래와 같습니다.

TTL 통신

노트

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