Edit on GitHub

MX-28(Protocol 2.0)

주요 사양

항목 내용
MCU ARM CORTEX-M3 (72 [MHz], 32Bit)
위치 센서 Contactless absolute encoder (12Bit, 360 [°])
Maker : ams(www.ams.com), Part No : AS5045
모터 Coreless(Maxon)
통신속도 8,000 [bps] ~ 4.5 [Mbps]
제어 알고리즘 PID control
해상도 4096 [pulse/rev]
백래쉬 20 [arcmin] (0.33 [°])
동작 모드 속도 제어 모드
위치 제어 모드(0 ~ 360 [°])
확장 위치 제어 모드(멀티턴)
PWM 제어 모드
무게 MX-28AR/AT : 77 [g]
MX-28R/T : 72 [g]
크기 (W x H x D) 35.6 x 50.6 x 35.5 [mm]
기어비 193 : 1
Stall Torque 2.3 [N.m] (at 11.1 [V], 1.3 [A])
2.5 [N.m] (at 12 [V], 1.4 [A])
3.1 [N.m] (at 14.8 [V], 1.7 [A])
무부하 속도 50 [rev/min] (at 11.1 [V])
55 [rev/min] (at 12 [V])
67 [rev/min] (at 14.8 [V])
반경방향 하중 1 30 [N] (혼으로부터 10 [mm])
축방향 하중 1 15 [N]
동작 온도 -5 ~ +80 [°C]
사용 전압 10.0 ~ 14.8 [V] (권장 전압 : 12.0 [V])
제어 명령 Digital Packet
통신 연결 RS485 / TTL Multidrop Bus
TTL Half Duplex Asynchronous Serial Communication with 8bit, 1stop, No Parity
RS485 Asynchronous Serial Communication with 8bit, 1stop, No Parity
ID 253 ID (0 ~ 252)
피드백 Position, Velocity, Temperature, Load, Input Voltage, Trajectory, Realtime Tick, etc
케이스 재질 Engineering Plastic(Front, Middle, Back)
1 Metal(Front)
기어 재질 Full Metal Gear
대기 전류 100 [mA]

1 알루미늄 금속케이스 제품(MX-28AR/AT, MX-64AR/AT, MX-106R/T)에 한정합니다.


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

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


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

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


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

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

성능 그래프

참고 : 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) 장치를 제어할 수 있습니다.

주의

  1. MX(2.0) 펌웨어는 다이나믹셀 MX 시리즈의 컨트롤 테이블과 주소가 다릅니다. 사용 전에 컨트롤 테이블 주소를 필히 확인해 주세요.
  2. MX(2.0) 펌웨어는 다이나믹셀 X 시리즈의 기능을 상속받습니다. 따라서 다이나믹셀 프로토콜 1.0다이나믹셀 프로토콜 2.0 및 다양한 Operating Mode와 Secondary ID, Drive Mode, Bus Watchdog 등을 지원합니다. 자세한 사항은 컨트롤 테이블을 참고해주세요.

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

컨트롤 테이블은 장치의 상태와 제어를 위한 다수의 데이터 필드로 구성된 집합체입니다.
사용자는 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(64)의 값이 ‘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 30
2 4 Model Information 모델 정보 R -
6 1 Firmware Version 펌웨어 버전 정보 R -
7 1 ID 통신 ID RW 1
8 1 Baud Rate 통신 속도 RW 1
9 1 Return Delay Time 응답 지연 시간 RW 250
10 1 Drive Mode 드라이브 모드 RW 0
11 1 Operating Mode 동작 모드 RW 3
12 1 Secondary(Shadow) ID 보조 ID RW 255
13 1 Protocol Type 프로토콜 버전 RW 2
20 4 Homing Offset ‘0’점 위치 조정값 RW 0
24 4 Moving Threshold 움직임 유무를 결정하는 속도 기준값 RW 10
31 1 Temperature Limit 내부 한계 온도 RW 80
32 2 Max Voltage Limit 최고 한계 전압 RW 160
34 2 Min Voltage Limit 최저 한계 전압 RW 95
36 2 PWM Limit PWM 한계값 RW 885
40 4 Acceleration Limit 가속도 한계값 RW 32767
44 4 Velocity Limit 속도 한계값 RW 230
48 4 Max Position Limit 최대 위치 제한값 RW 4,095
52 4 Min Position Limit 최소 위치 제한값 RW 0
63 1 Shutdown 셧다운 RW 52

RAM 영역

주소 크기(Byte) 명칭 의미 접근 기본값
64 1 Torque Enable 토크 On/Off RW 0
65 1 LED LED On/Off RW 0
68 1 Status Return Level 응답레벨 RW 2
69 1 Registered Instruction Instruction의 등록 여부 R 0
70 1 Hardware Error Status 하드웨어 에러 상태 R 0
76 2 Velocity I Gain 속도 I Gain RW 1920
78 2 Velocity P Gain 속도 P Gain RW 100
80 2 Position D Gain 위치 D Gain RW 0
82 2 Position I Gain 위치 I Gain RW 0
84 2 Position P Gain 위치 P Gain RW 850
88 2 Feedforward 2nd Gain 피드포워드 2nd Gain RW 0
90 2 Feedforward 1st Gain 피드포워드 1st Gain RW 0
98 1 BUS Watchdog 통신 버스 워치독 RW 0
100 2 Goal PWM 목표 PWM 값 RW -
104 4 Goal Velocity 목표 속도 값 RW -
108 4 Profile Acceleration 프로파일 가속도 값 RW 0
112 4 Profile Velocity 프로파일 속도 값 RW 0
116 4 Goal Position 목표 위치 값 RW -
120 2 Realtime Tick 실시간 Tick R -
122 1 Moving 움직임 유무 R 0
123 1 Moving Status 움직임의 상태 R 0
124 2 Present PWM 현재 PWM 값 R -
126 2 Present Load 현재 하중 값 R -
128 4 Present Velocity 현재 속도 값 R -
132 4 Present Position 현재 위치 값 R -
136 4 Velocity Trajectory 속도 궤적 값 R -
140 4 Position Trajectory 위치 궤적 값 R -
144 2 Present Input Voltage 현재 전압 R -
146 1 Present Temperature 현재 온도 R -
168 2 Indirect Address 1 간접 주소 값 1 RW 224
170 2 Indirect Address 2 간접 주소 값 2 RW 225
172 2 Indirect Address 3 간접 주소 값 3 RW 226
218 2 Indirect Address 26 간접 주소 값 26 RW 249
220 2 Indirect Address 27 간접 주소 값 27 RW 250
222 2 Indirect Address 28 간접 주소 값 28 RW 251
224 1 Indirect Data 1 간접 주소 데이터 1 RW 0
225 1 Indirect Data 2 간접 주소 데이터 2 RW 0
226 1 Indirect Data 3 간접 주소 데이터 3 RW 0
249 1 Indirect Data 26 간접 주소 데이터 26 RW 0
250 1 Indirect Data 27 간접 주소 데이터 27 RW 0
251 1 Indirect Data 28 간접 주소 데이터 28 RW 0
578 2 Indirect Address 29 간접 주소 값 29 RW 634
580 2 Indirect Address 30 간접 주소 값 30 RW 635
582 2 Indirect Address 31 간접 주소 값 31 RW 636
628 2 Indirect Address 54 간접 주소 값 54 RW 659
630 2 Indirect Address 55 간접 주소 값 55 RW 660
632 2 Indirect Address 56 간접 주소 값 56 RW 661
634 1 Indirect Data 29 간접 주소 데이터 29 RW 0
635 1 Indirect Data 30 간접 주소 데이터 30 RW 0
636 1 Indirect Data 31 간접 주소 데이터 31 RW 0
659 1 Indirect Data 54 간접 주소 데이터 54 RW 0
660 1 Indirect Data 55 간접 주소 데이터 55 RW 0
661 1 Indirect Data 56 간접 주소 데이터 56 RW 0

주의: Address가 256보다 큰 경우 프로토콜 1.0으로 접근할 수 없습니다. 따라서 Indirect Address 29 ~ 56과 Indirect Data29~56은 프로토콜 2.0으로만 접근이 가능합니다.

컨트롤 테이블 설명

주의 : 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)

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

통신 속도 오차율
7 4.5M [bps] 0.000 [%]
6 4M [bps] 0.000 [%]
5 3M [bps] 0.000 [%]
4 2M [bps] 0.000 [%]
3 1M [bps] 0.000 [%]
2 115,200 [bps] 0.000 [%]
1(Default) 57,600 [bps] 0.000 [%]
0 9,600 [bps] 0.000 [%]

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

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

Return Delay Time(9)

다이나믹셀은 Instruction Packet을 수신하면, Return Delay Time(9) 만큼 대기한 후 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 ) - 미사용, 항상 ‘0’
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)이 음수값

참고 : Time-based Profile은 펌웨어 V42부터 지원합니다.

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

Operating Mode(11)

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

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

참고 : Operating Mode (동작모드)가 변경될 때 제어기의 Gain(PID, Feedforward)은 동작 모드에 적합하게 초기화 됩니다. 또한 프로파일 생성기와 제한값들 역시 초기화 됩니다.

  1. Profile Velocity(112), Profile Acceleration(108) : ‘0’으로 초기화
  2. Goal PWM(100) : 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)

장치의 프로토콜 타입 (DYNAMIXEL Protocol 1.0 또는 2.0)을 설정할 수 있습니다.

함께 사용할 장치의 프로토콜 타입에 맞춰서 설정하세요.

설명 호환되는 장치
1 DYNAMIXEL Protocol 1.0 AX 시리즈, DX 시리즈, RX 시리즈, EX 시리즈, MX 시리즈
2(기본값) DYNAMIXEL Protocol 2.0 MX-28/64/106(2.0), X 시리즈, PRO 시리즈

참고 :

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] 95 ~ 160 9.5 ~ 16.0 [V]

PWM Limit(36)

PWM 출력의 한계 값입니다.
Goal PWM(100)에는 PWM Limit(36)보다 큰 값을 쓸 수 없습니다.
PWM Limit(36)은 모든 제어모드에 공통으로 적용되는 출력 제한 값으로써, PWM 출력을 낮추면 장치의 토크와 속도 모두 감소합니다.
자세한 사항은 해당 제어 모드의 Gain 부분을 참고하세요.

단위 범위
about 0.113 [%] 0(0 [%]) ~ 885(100 [%] )

Acceleration Limit(40)

Profile Acceleration(108)의 한계 값입니다.
Profile Acceleration(108)에는 Acceleration Limit(40)보다 큰 값을 쓸 수 없습니다.
Profile Acceleration(108)은 전류 제어 모드를 제외한 모든 제어 모드에서 목표 궤적을 생성하는데 사용됩니다.
자세한 설명은 Profile Velocity(112)을 참고하세요.

단위 값의 범위
214.577 [rev/min2] 0 ~ 32,767

Velocity Limit(44)

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

단위 범위
0.229 rpm 0 ~ 1,023

참고 : 펌웨어 42부터 Velocity Limit의 기본값이 감소되었습니다.

Min/Max Position Limit(48, 52)

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

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

참고 : Max Position Limit(48)와 Min Position Limit(52)는 1회전 내에서 제어하는 위치제어 모드(관절 모드)에서만 적용 됩니다.

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 Motor Encoder Error 모터의 엔코더가 동작하지 않는 경우  
Bit 2 Overheating Error(기본값) 설정된 온도를 벗어난 경우  
Bit 1 - 미사용, 항상 ‘0’  
Bit 0 Input Voltage Error 인가된 전압이 설정된 동작전압 범위를 벗어난 경우  

참고 :

  1. Shutdown이 발생하면 1초 주기로 LED가 점멸 합니다.(펌웨어 버전 41 이상)
  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)

하드웨어의 에러 상태를 나타냅니다. 자세한 사항은 Shutdown(63)을 참고하세요.

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 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]
단위 설명
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 Load(126)

현재 적용되는 하중을 의미합니다.
Present Load(126)의 값이 ‘500’인 경우, CCW 방향으로 50 [%]의 하중이 감지되었다는 의미입니다.

단위 범위 상세 설명
0.1 [%] -1,000 ~ 1,000 양수(CCW 방향의 하중), 음수(CW 방향의 하중)

참고 : 현재하중은 토크센서 등을 이용하여 측정된 값이 아니라 내부 출력 값을 기반으로 유추된 값 입니다. 따라서 무게나 토크를 측정하는 용도로는 부정확할 수 있습니다. 해당 관절에 가해지는 힘의 방향과 크기를 예측하는 용도로 사용하시기를 권장합니다.

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

Position Trajectory(140)

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

Present Input Voltage(144)

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

Present Temperature(146)

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

Indirect Address, Indirect Data

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

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

동작 예시

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

  1. Indirect Address 1(168) : LED의 주소 ‘65’로 변경
  2. Indirect Data 1(224)를 ‘1’로 변경 : LED(65) 역시 ‘1’로 변경되면서 LED가 켜집니다.
  3. Indirect Data 1(224)를 ‘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로 설정해 주어야 정상동작합니다.

참고 : Indirect Address 29 ~ 56과 Indirect Data 29 ~ 56은 프로토콜 2.0으로만 접근할 수 있습니다.

조립 예시

옵션 프레임

기구 결합

유지보수

혼과 베어링 교체

혼은 다이나믹셀 정면의 출력축에 부착되어 있으며 베어링은 후면에 부착되어 있습니다.

혼 조립하기

혼을 끼워넣기 전에 혼 와셔를 넣어주어야 합니다.
아래 그림과 같이 혼과 기어의 마킹 위치에 맞추어 혼을 조립합니다.

혼을 끼워넣을 때 혼의 중심부를 밀면서 조립합니다.
이때 혼 와셔가 중심에서 벗어나지 않도록 하고 조립이 끝나면 볼트로 혼을 고정합니다.

베어링 조립하기

기존 다이나믹셀에서 사용하던 베어링을 새 다이나믹셀에 조립해야 할 경우 아래 방법을 따릅니다.
베어링은 쇼핑몰에서 별도로 구매할 수 있습니다. 베어링은 혼과는 달리 구동축에 연결되지 않기 때문에 자유롭게 회전이 가능합니다.

기어 교체

내부 기어 손상시, 기어를 직접 교체할수 있습니다. 다음 영상을 참고하여, 기어 교체를 진행하세요.

다이나믹셀 캘리브레이션

다이나믹셀의 내부 기어를 교체 후, 기어의 초기 위치를 정렬하는 캘리브레이션이 필요합니다. 다음 영상을 참고하여, 캘리브레이션을 진행하세요.

참고:

  • USB2Dynamixel은 단종되었습니다. PC와 다이나믹셀에서 통신하기위해서는 U2D2를 사용하세요.
  • 다이나믹셀 MX 또는 X 시리즈를 사용하는 유저는 다이나믹셀 위자드 2.0을 통해서도, 다이나믹셀 캘리브레이션을 진행 할 수있습니다.

참고자료

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

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 A digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference when the equipment is operated in a commercial environment. This equipment generates, uses, and can radiate radio frequency energy and, if not installed and used in accordance with the instruction manual, may cause harmful interference to radio communications. Operation of this equipment in a residential area is likely to cause harmful interference in which case the user will be required to correct the interference at his own expense.

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

커넥터 정보

항목 TTL RS-485
핀 번호 1 GND
2 VDD
3 DATA
1 GND
2 VDD
3 DATA+
4 DATA-
다이어그램
하우징
MOLEX 50-37-5033

MOLEX 50-37-5043
PCB 헤더
MOLEX 22-03-5035

MOLEX 22-03-5045
Crimp 터미널 [MOLEX 80-70-1039] [MOLEX 80-70-1039]
다이나믹셀 전선규격 21 AWG 21 AWG

주의: 커넥터 제조사의 PIN 순서와 상이할 수 있습니다. 사용자의 안전을 보호하고, 재산상의 손해를 막기위해, 반드시 PIN 순서를 확인하세요.

도면

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

통신 회로

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

TTL 통신

참고: 위 회로는 5V 전원을 사용하는 MCU를 사용하거나 IO가 5V tolerant한 경우 사용 가능합니다. 그 외의 경우, Level Shifter를 사용하세요.

RS-485 통신

참고: 위 회로는 5V 전원을 사용하는 MCU를 사용하거나 IO가 5V tolerant한 경우 사용 가능합니다. 그 외의 경우, Level Shifter를 사용하세요.

전원은 Pin1(-), Pin2(+)를 통하여 다이나믹셀로 공급됩니다.(다이나믹셀 전용 Controller에는 위의 회로가 내장되어 있습니다.)
위의 회로도에서 TTL Level의 TxD와 RxD는 TX_Enable_5V의 Level에 따라 다음과 같이 Data 신호의 방향이 결정됩니다.

주의: 커넥터 제조사의 PIN 순서와 상이할 수 있습니다. 사용자의 안전을 보호하고, 재산상의 손해를 막기위해, 반드시 PIN 순서를 확인하세요.