MX-106
주의: Control Table 의 Compliance 설정부분이 PID설정으로 대체 되었습니다.
주의: 컨트롤테이블에서 PID순서가 0x1E 버젼 이후부터 DIP로 변경되었습니다. 사용시 참고해주세요.
주의: MX-106T(TTL)와 MX-106R(RS485)은 통신방식만 다르며 동일한 성능과 기능을 갖고 있습니다. (TTL은 3핀 커넥터, RS485는 4핀 커넥터를 사용합니다.)
참고: MX(2.0)은 프로토콜 2.0을 지원하는 MX 시리즈의 별도 펌웨어를 의미합니다. DYNAMIXEL Wizard2.0의 펌웨어 복구 기능을 활용 또는 R+ Manager 2.0를 활용하여 MX(2.0) 펌웨어로 업그레이드할 수 있습니다. (프로토콜 2.0의 컨트롤 테이블은 MX-106 (2.0) 컨트롤 테이블 에서 확인 가능합니다.)
R+ Manager 2.0으로 펌웨어 업데이트하기
주요 사양 요약
항목 | 내용 |
---|---|
MCU | ARM CORTEX-M3 (72 [MHz], 32Bit) |
위치 센서 | Contactless absolute encoder (12Bit, 360 [°]) Maker : ams(www.ams.com), Part No : AS5045 |
모터 | Coreless(Maxon) |
통신속도 | 7,834 [bps] ~ 3 [Mbps] |
제어 알고리즘 | PID control |
해상도 | 4096 [pulse/rev] |
백래쉬 | 20 [arcmin] (0.33 [°]) |
동작 모드 | 바퀴모드 (무한 회전) 관절 모드 (0 ~ 360 [°]) 다중회전 모드 (멀티턴) |
무게 | 153 [g] |
크기 (W x H x D) | 40.2 x 65.1 x 46 [mm] |
기어비 | 225 : 1 |
Stall Torque | 8.0 [N.m] (at 11.1 [V], 4.8 [A]) 8.4 [N.m] (at 12[V], 5.2 [A]) 10.0 [N.m] (at 14.8 [V], 6.3 [A]) |
무부하 속도 | 41 [rev/min] (at 11.1 [V]) 45 [rev/min] (at 12 [V]) 55 [rev/min] (at 14.8 [V]) |
반경방향 하중 | 1 40 [N] (혼으로부터 10 [mm]) |
축방향 하중 | 1 20 [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 | 254 ID (0 ~ 253) |
피드백 | Position, Temperature, Load, 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)에 한정합니다.
위험
(심각한 상해 또는 사망에 이르게 할 수 있습니다.)
- 제품 주위에 가연성 물질, 계면활성제, 음료수, 물을 분사하거나 흡입시키지 마세요.
- 작동 중인 제품에 손, 발과 같은 신체 또는 신체의 일부를 넣지 마세요.
- 제품에서 이상한 냄새가 나거나, 연기가 발생하면 전원 연결을 즉시 끊어주세요.
- 아이들이 제품으로 장난치지 않도록 하세요.
- 전원공급 시 극성을 반드시 확인해 주세요.
경고
(상해나 제품 손상의 원인이 됩니다.)
- 제품의 사용 환경을 준수하세요. (전압, 온도 등)
- 작동 중인 제품 내부로 칼날, 압정, 불씨 등을 흡입시키지 마세요.
주의
(상해나 제품 손상의 원인이 됩니다.)
- 제품을 사용자 임의로 분해 또는 개조하지 마세요.
- 제품에 강한 충격을 가하거나 떨어드리지 마세요.
성능 그래프
참고 : Stall torque와 Performance Graph의 최대토크의 차이는 측정 방식에 기인합니다. Stall torque는 순간적인 최대토크를 측정하는 방식으로, 고전적인 RC Servo 제품에서 주로 사용하는 사양입니다. Performance Graph는 N-T Curve라고도 불리며, 부하(load)를 점진적으로 증가시키면서 측정됩니다. 모터 구동되는 환경은 Stall torque 측정 방식보다는 Performance Graph 측정 방식에 가깝습니다. 이러한 이유로 Performance Graph가 산업전반에서 보다 폭넓게 사용됩니다. 일반적으로 Performance Graph의 최대토크는 Stall torque보다 적게 측정됩니다.
주의 : 전원 공급시 주의사항
-
안정적인 전원공급을 위해 로보티즈 제어기나 SMPS2Dynamixel 통한 전원공급을 권장드립니다.
-
전원이 꺼진 상태에서 장치와 전원을 연결하시고 스위치로 ON/OFF를 해주세요.
컨트롤 테이블
컨트롤 테이블은 장치의 현재 상태와 구동 및 제어에 필요한 다수의 데이터로 이루어져 있습니다.
사용자는 Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 읽어서(READ Instruction) 장치의 상태를 파악할 수 있고, 데이터를 변경함으로써(WRITE Instruction) 장치를 제어할 수 있습니다.
컨트롤 테이블, 데이터, 주소
컨트롤 테이블은 장치의 상태와 제어를 위한 다수의 데이터 필드로 구성된 집합체입니다.
사용자는 READ Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 읽어서 장치의 상태를 파악할 수 있습니다.
또한 WRITE Instruction Packet을 통해 컨트롤 테이블의 특정 데이터를 변경함으로써 장치를 제어할 수 있습니다.
Address는 Instruction Packet으로 컨트롤 테이블의 특정 데이터를 접근할 때 사용하는 고유값입니다.
장치의 데이터를 읽거나 쓰기 위해서는 Instruction Packet에 해당 데이터의 주소를 지정해 주어야 합니다.
Packet에 대한 자세한 내용은 다이나믹셀 프로토콜 1.0을 참고해주세요.
영역 (EEPROM, RAM)
컨트롤 테이블은 2가지 영역으로 구분됩니다. RAM 영역에 위치한 데이터는 전원이 인가될 때마다 다시 기본값으로 설정됩니다(Volatile).
반면 EEPROM 영역에 위치한 데이터는 값을 변경하면 전원이 꺼져도 그 값이 보존됩니다(Non-Volatile).
크기
데이터의 크기는 용도에 따라 1 ~ 2 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 | 320 |
2 | 1 | Firmware Version | 펌웨어 버전 정보 | R | - |
3 | 1 | ID | 통신 ID | RW | 1 |
4 | 1 | Baud Rate | 통신 속도 | RW | 34 |
5 | 1 | Return Delay Time | 응답 지연 시간 | RW | 250 |
6 | 2 | CW Angle Limit | 시계 방향 한계 각도 | RW | 0 |
8 | 2 | CCW Angle Limit | 반시계 방향 한계 각도 | RW | 4,095 |
10 | 1 | Drive Mode | 드라이브 모드 설정 | RW | 0 |
11 | 1 | Temperature Limit | 내부 한계 온도 | RW | 80 |
12 | 1 | Min Voltage Limit | 최저 한계 전압 | RW | 60 |
13 | 1 | Max Voltage Limit | 최고 한계 전압 | RW | 160 |
14 | 2 | Max Torque | 토크 한계 | RW | 1023 |
16 | 1 | Status Return Level | 응답 레벨 | RW | 2 |
17 | 1 | Alarm LED | 알람용 LED 기능 | RW | 36 |
18 | 1 | Shutdown | 알람용 셧 다운(Shut down) 기능 | RW | 36 |
20 | 2 | Multi Turn Offset | 다중 회전 오프셋 | RW | 0 |
22 | 1 | Resolution Divider | 해상도 디바이더 | RW | 1 |
RAM 영역
주소 | 크기(Byte) | 명칭 | 의미 | 접근 | 기본값 |
---|---|---|---|---|---|
24 | 1 | Torque Enable | 토크 On/Off | RW | 0 |
25 | 1 | LED | LED On/Off | RW | 0 |
26 | 1 | D Gain | Derivative Gain | RW | 0 |
27 | 1 | I Gain | Integral Gain | RW | 0 |
28 | 1 | P Gain | Proportional Gain | RW | 32 |
30 | 2 | Goal Position | 목표 위치 | RW | - |
32 | 2 | Moving Speed | 목표 속도 | RW | - |
34 | 2 | Torque Limit | 토크 한계 | RW | Max Torque |
36 | 2 | Present Position | 현재 위치 | R | - |
38 | 2 | Present Speed | 현재 속도 | R | - |
40 | 2 | Present Load | 현재 하중 | R | - |
42 | 1 | Present Voltage | 현재 전압 | R | - |
43 | 1 | Present Temperature | 현재 온도 | R | - |
44 | 1 | Registered | Instruction의 등록 여부 | R | 0 |
46 | 1 | Moving | 움직임 유무 | R | 0 |
47 | 1 | Lock | EEPROM 잠금 | RW | 0 |
48 | 2 | Punch | Punch | RW | 0 |
50 | 2 | Realtime Tick | Realtime Tick | R | 0 |
68 | 2 | Current | 전류소비량 | RW | 0 |
70 | 1 | Torque Ctrl Mode Enable | 토크 제어 모드 On/Off | RW | 0 |
71 | 2 | Goal Torque | 목표 토크 | RW | 0 |
73 | 1 | Goal Acceleration | 목표 가속도값 | RW | 0 |
컨트롤 테이블 설명
Model Number (0)
장치의 모델 번호입니다.
Firmware Version (2)
장치의 펌웨어 버전입니다.
ID (3)
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 (16)의 설정값과 무관하게 Read Instruction 또는 Write Instruction에 대한 Status Packet은 반환되지 않습니다. 더 자세한 설명은 다이나믹셀 프로토콜 1.0의 Status Packet
항목을 참조하세요.
Baud Rate (4)
제어기와 통신하기 위한 통신 속도 입니다. 0 ~ 254 (0xFE) 까지 사용 가능하며 산출 공식은 다음과 같습니다.
Baudrate(BPS) = 2,000,000 / (Value + 1)
값 | 통신속도(bps) | 오차율 |
---|---|---|
0 | 2M | 0.000 [%] |
1 | 1M | 0.000 [%] |
3 | 500,000 | 0.000 [%] |
4 | 400,000 | 0.000 [%] |
7 | 250,000 | 0.000 [%] |
9 | 200,000 | 0.000 [%] |
16 | 115200 | -2.124 [%] |
34(기본값) | 57600 | 0.794 [%] |
103 | 19200 | -0.160 [%] |
207 | 9600 | -0.160 [%] |
참고 : UART는 Baudrate 오차가 3 [%] 이내이면 통신에 지장이 없습니다.
참고: U2D2을 이용 시, 높은 통신 Baud rate에서 안정적인 통신을 위해서는 USB 포트의 응답지연시간(Latency) 을 낮춰주세요.
Value 값이 250 이상인 경우 :
값 | 통신속도(bps) | 오차율 |
---|---|---|
250 | 2,250,000 | 0.000 [%] |
251 | 2,500,000 | 0.000 [%] |
252 | 3,000,000 | 0.000 [%] |
Return Delay Time (5)
다이나믹셀은 Instruction Packet을 수신하면, Return Delay Time(5) 만큼 대기한 후 Status Packet을 반환 합니다.
0 ~ 254 (0xFE) 까지 사용 가능하며 단위는 2 [μsec] 입니다.
예를 들어, 값이 10일 경우 20 [μsec] 만큼 시간이 지난 후에 Status Packet을 반환합니다.
단위 | 범위 | 설명 |
---|---|---|
2 [μsec] | 0 ~ 254 | 기본값: ‘250’(500 [μsec]) 최대값: ‘508’ [μsec] |
CW/CCW Angle Limit(6, 8)
동작이 허용되는 각도를 설정할 수 있습니다.
값의 범위와 단위는 Goal Position(30)과 같습니다.
- CW Angle Limit: Goal Position(30)의 최소 값
- CCW Angle Limit: Goal Position(30)의 최대 값
CW와 CCW의 값에 따라 다음의 3가지 동작 모드를 설정할 수 있습니다.
동작모드 | CW/CCW |
---|---|
바퀴 모드 | CW와 CCW가 모두 ‘0’ 인 조건 |
관절 모드 | CW와 CCW가 0이 아닌 조건 (바퀴 모드와 다중회전 모드를 제외한 조건) |
다중회전 모드 | CW와 CCW가 모두 ‘4,095’인 조건 |
바퀴 모드는 모터가 무한 회전을 하여 바퀴형 구동 로봇에 쓸 수 있습니다.
관절 모드는 특정 각도로 제어가 가능하여 다관절 로봇에 쓸 수 있습니다.
다중 회전 모드는 관절모드와 같이 특정 각도로 제어가 가능하며 -28,672 ~ 28,672 까지 제어가 가능합니다.
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) | - | 미사용, 항상 ‘0’ |
Bit 1(0x02) | Master/Slave Mode (Dual Joint) |
[0] Master Mode: 마스터 다이나믹셀로 동작합니다. [1] Slave Mode: 슬레이브 다이나믹셀로 동작합니다. |
Bit 0(0x01) | Normal/Reverse Mode | [0] Normal Mode: 반시계방향(CCW)이 양수값, 시계방향(CW)이 음수값 [1] Reverse Mode: 시계방향(CW)이 양수값, 반시계방향(CCW)이 음수값 |
참고 : Drive Mode(10)의 0번 비트(Normal/Reverse Mode)를 설정하면, 다이나믹셀의 기본동작 방향이 반전됩니다.
따라서 다이나믹셀의 Goal Position, Present Position의 방향이 반전됩니다.
대칭구조의 관절을 구성할 때 편리하게 사용할 수 있습니다
주의 : MX-106과 EX-106+는 바퀴 모드로 설정되면 Normal/Reverse Mode를 지원하지 않습니다.
Normal/Reverse Mode는 관절모드와 다중회전 모드에서만 사용 가능합니다.
동작 모드 설정은 CW/CCW Angle Limit을 참고해주세요.
듀얼 모드
2개의 다이나믹셀을 결합해서 더욱 강력한 1개의 관절로 제어하기 위한 방법입니다.
동기화된 관절을 사용하려면 마스터 모드로 설정된 다이나믹셀과 슬레이브 모드로 설정된 다이나믹셀이 동기화 케이블로 연결되어야 합니다.
슬레이브 다이나믹셀은 동기화 케이블을 통해 전달된 마스터 다이나믹셀의 PWM 신호에 의해서만 제어됩니다.
따라서 슬레이브 장치의 Goal Position, Moving Speed는 무시됩니다.
슬레이브 모드로 설정된 다이나믹셀의 회전 방향은 Drive Mode(10)의 Normal/Reverse Mode 설정이 아닌 동기화 케이블의 종류에 의해 결정됩니다.
기본형 동기화 케이블을 사용하면 마스터와 같은 방향으로 회전하고, 꼬임형 동기화 케이블을 사용하면 마스터와 반대 방향으로 회전합니다.
동기화 케이블 | 설명 |
---|---|
기본형 동기화 케이블 | 슬레이브 다이나믹셀은 마스터 다이나믹셀의 PWM 신호 에 의해서 제어됩니다.마스터와 슬레이브 다이나믹셀은 같은 방향으로 회전합니다. |
꼬임형 동기화 케이블 | 슬레이브 다이나믹셀은 마스터 다이나믹셀의 반전된 PWM 신호 에 의해서 제어됩니다.마스터와 슬레이브 다이나믹셀은 반대 방향으로 회전합니다. |
주의 : 마스터와 슬레이브가 프레임으로 연결되어있지 않으면 부하에 따라 조금씩 다르게 구동될 수 있습니다. 아래와 같이 프레임으로 연결하신 후 듀얼모드를 사용해주세요.
Temperature Limit (11)
동작 온도의 상한 값입니다.
예를 들어, 값이 80이면 80 °C 입니다.
내부 온도가 Temperature Limit(11)을 넘으면 Status Packet은 ERROR 필드를 통해서 Overheating Error Bit (Bit2)를 전송합니다. Alarm LED(17)/Shutdown(18)의 플래그(flag)중 과열(Overheating)이 설정되어 있다면 Alarm LED가 점멸하고, 모터 출력은 0 [%]로 변경됩니다.
단위 | 범위 |
---|---|
약 1 [°C] | 0 ~ 100 |
주의 : 온도 상한선을 기본값보다 높게 설정하지 마십시오. 온도 알람셧다운 발생시 20분이상 휴식하여 장치의 온도를 충분히 낮춘후 사용해 주세요. 온도가 높은상태에서 사용시 제품이 손상될 수 있습니다.
Min/Max Voltage Limit (12, 13)
전압 동작 범위의 상한과 하한 값입니다.
단위 | 범위 | 상세설명 |
---|---|---|
약 0.1 [V] | 50 ~ 160 | 5.0 ~ 16.0 [V] |
상한과 하한 각각 50 ~ 160 (32 ~ A0)까지 사용 가능하며, 단위는 0.1 [V]입니다. 예를 들어, 값이 120이면 12 [V]입니다. 장치에 현재 인가된 전압을 나타내는 Present Voltage(42)가 Min Voltage Limit(12)와 Max Voltage Limit(13)의 범위를 벗어날 경우, Status Packet은 ERROR 필드를 통해서 Input Voltage Error Bit(0x01)를 전송합니다. Alarm LED(17)/Shutdown(18)의 설정 중에서 Input Voltage Error Bit(0x01)가 설정되어 있다면 Alarm LED가 점멸하고, 모터 출력은 0 [%]로 변경됩니다.
Max Torque (14)
모터의 최대 출력 제한 값입니다.
0 ~ 1,023 (0x3FF) 까지 사용 가능하며, 단위는 약 0.1 [%]입니다.
예를 들어, 값이 512이면 약 50 [%]이고 최대 출력 대비 50 [%]만 사용하겠다는 의미입니다.
전원이 켜지면 Torque Limit(34)은 Max Torque(14) 값으로 초기화 됩니다
Status Return Level (16)
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 (16)의 설정값과 무관하게 Read Instruction 또는 Write Instruction에 대한 Status Packet은 반환되지 않습니다. 더 자세한 설명은 DYNAMIXEL Protocol 1.0의 Status Packet
항목을 참조하세요.
Alarm LED(17), Shutdown(18)
장치는 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다. 각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다. 즉, Shutdown(18) 이 ‘0x05’ (2 진수: 00000101)로 설정되었을 경우, Input Voltage Error(2 진수 : 00000001)와 Overheating Error(2 진수 : 00000100)가 발생하는 것을 모두 감지할 수 있습니다. 위험 상황이 감지되면, LED가 점멸하고 모터 출력은 0 [%]로 변경됩니다.
Shutdown(18) 에서 감지할 수 있는 위험 상황은 아래 표와 같습니다.
Bit | 항목 | 설명 |
---|---|---|
Bit 7 | 0 | - |
Bit 6 | Instruction Error | 정의되지 않은 Instruction이 전송된 경우, 또는 REG_WRITE 명령 없이 ACTION 명령이 전달된 경우 |
Bit 5 | Overload Error | 모터의 최대 출력으로 제어할 수 없는 하중이 지속적으로 적용되는 경우 |
Bit 4 | CheckSum Error | 전송된 Instruction Packet의 CheckSum이 맞지 않을 경우 |
Bit 3 | Range Error | Instruction Packet(WRITE)으로 허용범위를 벗어난 값을 쓰려고 할 경우 |
Bit 2 | Overheating Error | 설정된 온도를 벗어난 경우 |
Bit 1 | Angle Limit Error | 적용한 Goal Position이 설정한 CW/CCW Angle Limit 범위를 벗어난 경우 |
Bit 0 | Input Voltage Error | 인가된 전압이 설정된 동작 전압 범위를 벗어났을 경우 |
참고 : Shutdown이 발생하면, 1초 주기로 LED가 점멸합니다. 전원을 껏다 다시 켜주세요 (Reboot).
Multi Turn Offset (20)
0점의 위치를 조절 할 수 있습니다. 이 값은 Present Position(36)에 더해지게 됩니다.
Present Position = 실제 위치 + Multi Turn offset 이 됩니다.
기본값은 0 값의 범위는 -24,576 ~ 24,576 까지 입니다.
모터의 실제 위치가 2,048값에 있을 때 Multi Turn offset = 1,024를 적용하면 모터는 회전 하지 않지만 Present Position의 값은 3,072가 됩니다.
참고 : 다중 회전 모드(Multi-turn Mode, CW 및 CCW가 모두 0인 조건, CW/CCW Angle Limit(6, 8)의 동작모드 참고) 일 때 Multiturn Offset(20), Resolution Divider(22)이 적용되며, 그 외의 모드에서는 무시됩니다.
Resolution Divider (22)
장치의 해상도를 변경 할 수 있습니다.
기본값은 1이며 1 ~ 4까지 사용 가능합니다.
장치의 해상도를 낮추고 CW, CCW 방향으로 회전 횟수를 늘릴 수 있습니다.
각 방향으로 최대 28바퀴까지 회전 가능 합니다.
Present Position = 실제 위치 / Resolution Divider
예를 들어, 실제 위치 값이 2,048 일 때 Resolution Divider의 값이 2이면 2,048/2 = 1,024 즉 Present Position의 값은 1,024가 됩니다.
이렇게 Resolution Divider의 값을 2로 변경하면 장치의 한 바퀴의 해상도는 2,048이 됩니다.
Multi Turn offset과 Resolution Divider를 같이 사용한다면 Present Position은 아래와 같은 식을 통해 구할 수 있습니다.
Present Position = (실제 위치/ Resolution Divider) + Multi Turn offset
장치의 실제 위치가 2,048값에 있을 때 Multi Turn offset = 1,024, Resolution Divider = 4 를 적용하면 장치는 회전하지 않지만 Present Position의 값은 1,535가 됩니다.
참고 : 다중 회전 모드(Multi-turn Mode, CW 및 CCW가 모두 0인 조건, CW/CCW Angle Limit(6, 8)의 동작모드 참고) 일 때 Multiturn Offset(20), Resolution Divider(22)이 적용되며, 그 외의 모드에서는 무시됩니다.
Torque Enable (24)
값 | 상세 설명 |
---|---|
0(기본값) | Torque OFF 상태로 변경합니다 |
1 | Torque ON 상태로 변경합니다. |
LED (25)
LED를 ON/OFF 합니다.
값 | 설명 |
---|---|
0(기본값) | LED를 Off 시킵니다. |
1 | LED를 On 시킵니다. |
참고 : 장치의 상태(조건)에 따른 LED의 동작입니다.
상태 | LED 동작 |
---|---|
부팅 | 1회 점멸 |
공장 초기화 | 4회 점멸 |
알람 | 점멸 |
슬레이브 모드 | 3회 점멸 |
부트 모드 | 점등 |
PID Gains (26, 27, 28)
PID 제어기의 블럭다이어그램은 다음과 같습니다.
P Gain
은 Propotional Gain값 입니다.I Gain
은 Integral Gain값 입니다.D Gain
은, Derivative Gain값 입니다. 값의 범위는 0 ~ 254 입니다.
- Kp = P Gain / 8
- Ki = I Gain * 1,000 / 2,048
- Kd = D Gain * 4 / 1,000
PID 와 컴플라이언스 슬로프와의 관계
Slope | P Gain |
---|---|
8 | 128 |
16 | 64 |
32 | 32 |
64 | 16 |
128 | 8 |
P Gain이 작을수록 유격이 커지고 목표위치 근처에서의 출력이 약해집니다.
즉, Margin과 Slope를 합친 것과 같은 개념입니다.
구형 다이나믹셀의 Compliance의 개념과 매칭되지 않습니다.
참고: PID 제어론은 단순히 모터 제어에만 국한되지 않고, 모든 제어에 적용할 수 있는 일반적인 이론입니다. PID 제어에 대한 자세한 정보는 PID Controller를 참고하세요.
Goal Position (30)
Goal Position(30)을 통해 목표위치를 설정할 수 있습니다.
이동 시키고자 하는 목표지점의 위치 값입니다.
0 ~ 4,095 (0xFFF)까지 사용 가능하며 단위는 0.088 [°] 입니다.
CW/CCW Angle Limit(6, 8)의 범위를 벗어난 목표위치를 지령을 할 경우, Status Packet은 ERROR 필드를 통해서 Angle Limit Error Bit (0x01)를 전송합니다. Alarm LED/Shutdown의 설정 중에서 Angle Limit Error Bit(0x01)가 설정되어 있다면 Alarm LED가 점멸하고, 모터 출력은 0 [%]로 변경됩니다.
위 그림은 장치를 정면에서 보았을 때의 그림입니다.
다중 회전 모드일 때 값의 범위는 -28,672 ~ 28,672로 늘어나게 되며 0에서부터 CW, CCW 각 방향으로 7바퀴씩 회전 할 수 있습니다.
만약 Resolution Divider와 같이 사용한다면 회전 횟수를 더 증가 시킬 수 있습니다.
참고 : 휠 모드로 동작시에는 Goal Position값이 사용되지 않습니다.
Moving Speed (32)
- 관절 모드, 다중 회전 모드 Goal Position으로 이동하는 속도입니다. 0 ~ 1,023 (0x3FF) 까지 사용되며, 단위는 약 0.114 [rev/min]입니다. 0으로 설정하면 속도 제어를 하지 않고 모터의 최대 속도를 사용한다는 의미입니다. 1,023의 경우 약 117.07 [rev/min]이 됩니다. 예를 들어, 300으로 설정된 경우 약 34.33 [rev/min]입니다.
-
바퀴 모드 목표 방향으로 이동하는 속도입니다. 0 ~ 2,047( 0x7FF)까지 사용되며, 단위는 0.114 [rev/min]입니다. 0 ~ 1,023 범위의 값을 사용하면 CCW 방향으로 회전하며 0으로 설정하면 정지합니다. 1,024 ~ 2,047 범위의 값을 사용하면 CW 방향으로 회전하며 1,024으로 설정하면 정지합니다. 즉, 10번째 bit가 방향을 제어하는 direction bit가 됩니다.
주의: 해당 모델의 최대 속도를 확인하시기 바랍니다. 최대 속도 이상을 설정해도 모터는 그 이상의 속도를 낼 수 없습니다.
Torque Limit (34)
모터의 최대 출력 제한 값입니다.
0 ~ 1,023 (0x3FF)까지 사용 가능하며, 단위는 약 0.1 [%]입니다.
예를 들어, 값이 512이면 약 50 [%]이고 최대 출력 대비 50 [%]만 사용하겠다는 의미입니다.
전원이 켜지면 Torque Limit(34)은 Max Torque(14) 값으로 초기화 됩니다
참고 : Alarm LED(17)/Shutdown(18)의 기능이 발휘되면 Torque Limit(34)가 ‘0’이 되어 모터의 힘이 없어지게 됩니다. Alarm LED(17)/Shutdown(18) 조건이 해제되고 Torque Limit(34)을 0이 아닌 값으로 바꾸면 다시 모터의 출력이 발휘되어 사용할 수 있습니다.
Present Position (36)
장치의 현재 위치 값입니다. 값의 범위는 0 ~ 4,095 (0xFFF)이며 단위는 0.088 [°] 입니다.
위 그림은 장치를 정면에서 바라본 그림입니다.
다중 회전 모드일 때 값의 범위는 -28,672 ~ 28,672 이며 단위는 Resolution Divider 값에 따라 (0.088 * Resolution Divider)도로 변화 합니다.
참고 : 다중 회전 모드(Multi-turn Mode)일 때 실제 위치와 Present Position의 관계는 Resolution Divider와 Multi Turn offset의 값에 따라 달라 질 수 있습니다. 더 자세한 내용은 Multi Turn offset과 Resolution Divider를 참고 하시기 바랍니다.
참고 : 다중 회전 모드(Multi-turn Mode)일 때 음수의 표현 방법은 2의 보수(Two’s complement) 규칙을 따릅니다. 2의 보수에 대한 자세한 설명은 위키피디아의 Two’s complement를 참고하세요.
Present Speed (38)
현재 이동하는 속도입니다. 이 값은 0 ~ 2047 (0X7FF) 까지 사용됩니다. 0 ~ 1023 범위의 값이면 CCW방향으로 회전한다는 의미입니다. 1024 ~ 2047 범위의 값이면 CW방향으로 회전한다는 의미입니다. 즉, 10번째 bit가 방향을 제어하는 direction bit가 되며 0과 1024는 같습니다. 이 값의 단위는 약 0.114 [rev/min] 입니다. 예를 들어, 300으로 설정된 경우 CCW방향 약 34.33 [rev/min]으로 이동 중이라는 의미입니다
Present Load (40)
현재 적용되는 하중을 의미합니다.
이 값의 범위는 0 ~ 2,047이며, 단위는 약 0.1 [%]입니다.
0 ~ 1,023 범위의 값은 CCW 방향으로 하중이 작용한다는 의미입니다.
1,024 ~ 2,047 범위의 값은 CW 방향으로 하중이 작용한다는 의미입니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 되며, 1,024는 0과 같습니다.
예를 들어, 값이 512이면 CCW 방향으로 최대 출력 대비 약 50 [%]로 하중이 감지된다는 의미입니다.
Bit | 15 ~ 11 | 10 | 9 ~ 0 |
---|---|---|---|
값 | 0 | 하중 방향 | 데이터 (하중 비율) |
참고 : CCW 하중 : 하중 방향 비트(Bit 10) = 0, CW 하중 : 하중 방향 비트(Bit 10) = 1
참고 : 현재하중은 토크센서 등을 이용하여 측정된 값이 아니라 내부 출력 값을 기반으로 유추된 값 입니다. 따라서 무게나 토크를 측정하는 용도로는 부정확 할 수 있습니다. 해당 관절에 가해지는 힘의 방향과 크기를 예측하는 용도로 사용하시기를 권장합니다.
Present Voltage (42)
현재 공급되고 있는 전압입니다. 이 값의 단위는 0.1 [V]입니다. 예를 들어, 값이 100(0x64)이면 10 [V]입니다.
자세한 사항은 Min/Max Voltage Limit (12, 13)을 참고하세요
Present Temperature (43)
내부의 온도이며 이 값의 단위는 섭씨 온도입니다. 예를 들어, 값이 85이면 현재 내부 온도는 85 [°C] 입니다.
자세한 사항은 Temperature Limit (11)을 참고하세요
Registered Instruction (44)
Reg Write Instruction에 의해서 등록된 Write 정보의 유무를 나타냅니다.
값 | 상세 설명 |
---|---|
0 | REG_WRITE에 의해 등록된 명령이 없습니다. |
1 | REG_WRITE에 의해 등록된 명령이 있습니다. |
참고 : ACTION 명령을 수행하면 Registered Instruction (44) 값이 ‘0’으로 바뀝니다.
Moving (46)
값 | 설명 |
---|---|
0 | Goal position 명령 수행을 완료했습니다. |
1 | Goal position 명령을 수행중입니다. |
Lock (47)
값 | 설명 |
---|---|
0 | EEPROM 영역을 수정할 수 있습니다. |
1 | EEPROM 영역을 수정하지 못합니다. |
주의 : Lock이 1로 설정되면 전원을 껐다 켜야 0으로 바꿀 수 있습니다.
Punch (48)
구동시에 모터에 공급되는 최소 전류량 입니다. 기본값은 0x00이며 최고 0x3FF까지 설정할 수 있습니다.
Realtime-Tick (50)
장치의 시간을 나타내는 지수입니다.
단위 | 범위 | 상세 설명 |
---|---|---|
1 [msec] | 0 ~ 32,767 | 32,767 이후에는 ‘0’부터 다시 시작합니다. |
주의: 펌웨어 버전 40 이상부터 사용 가능합니다.
Current (68)
전류가 소모되지 않고 있을때의 값은 2,048(0x800)입니다. 만약, 전류가 양의 방향으로 흐르면, 2,048(0x800)보다 큰값이 나옵니다. 만약, 전류가 음의 방향으로 흐르면, 2,048(0x800)보다 작은 값이 나옵니다. 전류값을 계산하는 방법은 다음과 같습니다.
I = (4.5 [mA]) * (CURRENT – 2,048 ) (단위 A) 예를 들어, 68번지의 값이 2,148 이면, 양의 방향으로 450 [mA] 가 흐르고 있다는 뜻입니다.
Torque Control Mode Enable (70)
값 | 의미 |
---|---|
0 | 토크 모드를 OFF 시킵니다. 관절 모드 또는 휠모드가 실행됩니다. |
1 | 토크 모드를 ON 시킵니다. 위치 제어 및 속도 제어는 되지 않고, 오직 토크만 제어 됩니다. |
Torque Control Mode Enable이 1이 되면, 장치는 다음과 같은 행동을 합니다.
- 장치는 위치 및 속도 제어를 하지 않습니다.
- 장치는 Goal Torque 에 적힌 토크로 제어합니다.
- Goal Position(30), Moving Speed(32)의 값을 변경하여도, 반응하지 않습니다
- 위치 및 속도 제어가 되지 않으므로, 마치 바퀴모드처럼 행동합니다.
Goal Torque (71)
목표하는 토크의 값입니다. 0 ~ 2,047 (0x7FF) 까지 사용되며, 단위는 4.5 [mA] 입니다. (토크와 전류값은 정 비례합니다.) 0 ~ 1,023 범위의 값을 사용하면 CCW 방향으로 토크가 가해지며 0으로 설정하면 정지합니다. 1,024 ~2,047 범위의 값을 사용하면 CW 방향으로 토크가 가해지며 1,024으로 설정하면 정지합니다. 즉 10번째 bit가 방향을 제어하는 direction bit가 됩니다. Goal Torque 는Torque Limit(34, 35) 보다 커질 수 없습니다.
Goal Acceleration (73)
목표 가속도 값입니다. 0 ~ 254 (0xFE)까지 사용되며, 단위는 약 8.583 [°] / sec2 입니다.
0으로 설정하면, 가속도 제어를 하지 않고 모터의 최대 가속도로 움직인다는 의미입니다.
목표속도가 0일 경우에도, 가속도 제어를 하지 않고 모터의 최대 가속도로 움직입니다.
254를 설정할 경우 2,180 [°] / sec2이 됩니다.
예를 들어, 장치의 속도가 현재 0이고 Goal Acceleration이 10인 경우, 1초 뒤의 장치의 속도는 14.3 [rev/min2]이 됩니다.
조립 방법
옵션 프레임
-
FR05-F101 and FR08-X101
-
FR05-S101
-
FR08-B101
-
FR08-H101
-
FR08-H110 and FR08-D101
혼
-
HN05-N102
-
HN05-I101
기구결합
유지보수
혼과 베어링 교체
혼은 다이나믹셀 정면의 출력축에 부착되어 있으며 베어링은 후면에 부착되어 있습니다.
혼 조립하기
혼을 끼워넣기 전에 혼 와셔를 넣어주어야 합니다.
아래 그림과 같이 혼과 기어의 마킹 위치에 맞추어 혼을 조립합니다.
혼을 끼워넣을 때 혼의 중심부를 밀면서 조립합니다.
이때 혼 와셔가 중심에서 벗어나지 않도록 하고 조립이 끝나면 볼트로 혼을 고정합니다.
베어링 조립하기
기존 다이나믹셀에서 사용하던 베어링을 새 다이나믹셀에 조립해야 할 경우 아래 방법을 따릅니다.
베어링은 쇼핑몰에서 별도로 구매할 수 있습니다.
베어링은 혼과는 달리 구동축에 연결되지 않기 때문에 자유롭게 회전이 가능합니다.
기어 교체
내부 기어 손상시, 기어를 직접 교체할수 있습니다. 다음 영상을 참고하여, 기어 교체를 진행하세요.
다이나믹셀 캘리브레이션
다이나믹셀의 내부 기어를 교체 후, 기어의 초기 위치를 정렬하는 캘리브레이션이 필요합니다. 다음 영상을 참고하여, 캘리브레이션을 진행하세요.
참고:
- USB2Dynamixel은 단종되었습니다. PC와 다이나믹셀에서 통신하기위해서는 U2D2를 사용하세요.
- 다이나믹셀 MX 또는 X 시리즈를 사용하는 유저는 다이나믹셀 위자드 2.0을 통해서도, 다이나믹셀 캘리브레이션을 진행 할 수있습니다.
참고자료
인증 획득
표기되지 않은 인증에 대해서는 별도 문의하시기 바랍니다.
FCC
Note: This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one more of the following measures:
- Reorient or relocate the receiving antenna.
- Increase the separation between the equipment and receiver.
- Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
- Consult the dealer or an experienced radio/TV technician for help.
WARNING
Any changes or modifications not expressly approved by the manufacturer could void the user’s authority to operate
the equipment.
커넥터 정보
항목 | TTL | RS-485 | Dual Joint |
---|---|---|---|
핀 번호 | 1 GND2 VDD3 DATA |
1 GND2 VDD3 DATA+4 DATA- |
1 PWM12 PWM23 ENABLE |
다이어그램 | |||
하우징 | MOLEX 50-37-5033 |
MOLEX 50-37-5043 |
MOLEX 51021-0300 |
PCB 헤더 | MOLEX 22-03-5035 |
MOLEX 22-03-5045 |
MOLEX 53398-0371 |
Crimp 터미널 | MOLEX 80-70-1039 | MOLEX 80-70-1039 | MOLEX 50058-8000 |
다이나믹셀 전선규격 | 21 AWG | 21 AWG | 26 AWG |
주의: 커넥터 제조사의 PIN 순서와 상이할 수 있습니다. 사용자의 안전을 보호하고, 재산상의 손해를 막기위해, 반드시 PIN 순서를 확인하세요.
도면
다운로드
MX-106T DWG다운로드
MX-106T PDF다운로드
MX-106T STEP다운로드
MX-106T IGES다운로드
MX-106R DWG다운로드
MX-106R PDF다운로드
MX-106R STEP다운로드
MX-106R IGES
더 많은 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 신호의 방향이 결정됩니다.
- TX_Enable_5V =High인 경우: TxD의 신호가 D+, D-로 출력
- TX_Enable_5V =Low인 경우: D+, D-의 신호가 RxD로 입력
주의: 커넥터 제조사의 PIN 순서와 상이할 수 있습니다. 사용자의 안전을 보호하고, 재산상의 손해를 막기위해, 반드시 PIN 순서를 확인하세요.