MX-12W
주요 사양
항목 | 내용 |
---|---|
MCU | ARM CORTEX-M3 (72 [MHz], 32Bit) |
위치 센서 | Contactless absolute encoder (12BIT, 360 [°]) Maker : ams (www.ams.com), Part No : AS5045 |
모터 | Cored |
통신속도 | 7,834 [bps] ~ 3 [Mbps] |
제어 알고리즘 | PID CONTROL |
해상도 | 4096 [pulse/rev] |
동작 모드 | 관절 모드 (0 ~ 360 [°]) / 바퀴 모드 (무한 회전) / 다중회전모드 |
무게 | 55.0 [g] |
크기 | 32 x 50 x 40 [mm] |
기어비 | 32 : 1 |
Stall Torque | 0.2 [N.m] (at 12.0 [V], 1.4 [A]) |
무부하 속도 | 470 [rev/min] (at 12.0 [V]) |
동작 온도 | -5 ~ +70 [°C] |
사용 전압 | 10.0 ~ 14.8 [V] (권장 전압 : 12.0 [V]) |
제어 명령 | Digital Packet |
프로토콜 타입 | Half Duplex Asynchronous Serial Communication (8bit, 1stop, No Parity) |
통신 연결 | TTL Level Multidrop Bus(Daisy Chain Type Connector) |
ID | 254 ID (0 ~ 253) |
피드백 | Position, Temperature, Load, Input Voltage 등 |
케이스 재질 | Engineering Plastic |
기어 재질 | Engineering Plastic |
대기 전류 | 60 [mA] |
위험
(심각한 상해 또는 사망에 이르게 할 수 있습니다.)
- 제품 주위에 가연성 물질, 계면활성제, 음료수, 물을 분사하거나 흡입시키지 마세요.
- 작동 중인 제품에 손, 발과 같은 신체 또는 신체의 일부를 넣지 마세요.
- 제품에서 이상한 냄새가 나거나, 연기가 발생하면 전원 연결을 즉시 끊어주세요.
- 아이들이 제품으로 장난치지 않도록 하세요.
- 전원공급 시 극성을 반드시 확인해 주세요.
경고
(상해나 제품 손상의 원인이 됩니다.)
- 제품의 사용 환경을 준수하세요. (전압, 온도 등)
- 작동 중인 제품 내부로 칼날, 압정, 불씨 등을 흡입시키지 마세요.
주의
(상해나 제품 손상의 원인이 됩니다.)
- 제품을 사용자 임의로 분해 또는 개조하지 마세요.
- 제품에 강한 충격을 가하거나 떨어드리지 마세요.
컨트롤 테이블
컨트롤 테이블은 장치의 현재 상태와 구동 및 제어에 필요한 다수의 데이터로 이루어져 있습니다.
사용자는 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 | 360 |
2 | 1 | Firmware Version | 펌웨어 버전 정보 | R | - |
3 | 1 | ID | 통신 ID | RW | 1 |
4 | 1 | Baud Rate | 통신 속도 | RW | 1 |
5 | 1 | Return Delay Time | 응답 지연 시간 | RW | 250 |
6 | 2 | CW Angle Limit | 시계 방향 한계 각도 | RW | 0 |
8 | 2 | CCW Angle Limit | 반시계 방향 한계 각도 | RW | 4,095 |
11 | 1 | Temperature Limit | 내부 한계 온도 | RW | 70 |
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 | 토크 켜기 | RW | 0 |
25 | 1 | LED | LED On/Off | RW | 0 |
26 | 1 | D Gain | Derivative Gain | RW | 8 |
27 | 1 | I Gain | Integral Gain | RW | 0 |
28 | 1 | P Gain | Proportional Gain | RW | 8 |
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 | 32 |
50 | 2 | Realtime Tick | 실시간 Tick | R | 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 까지 제어가 가능합니다.
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회 점멸 |
알람 | 점멸 |
부트 모드 | 점등 |
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.916 [rev/min]입니다.
0으로 설정하면 속도 제어를 하지 않고 모터의 최대 속도를 사용한다는 의미입니다.
1,023의 경우 약 937.1 [rev/min]이 됩니다.
예를 들어, 300으로 설정된 경우 약 274.8 [rev/min]입니다. -
바퀴 모드
목표 방향으로 이동하는 속도입니다.
0 ~ 2,047( 0x7FF)까지 사용되며, 단위는 0.916 [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 ~ 2,047 (0x7FF) 까지 사용됩니다.
0 ~ 1,023 범위의 값이면 CCW 방향으로 회전한다는 의미입니다.
1,024 ~ 2,047 범위의 값이면 CW 방향으로 회전한다는 의미입니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 되며 0과 1,024는 같습니다.
이 값의 단위는 약 0.916 [rev/min] 입니다.
예를 들어, 300으로 설정된 경우 CCW방향 약 274.8 [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’부터 다시 시작합니다. |
주의: 펌웨어 버전 41 이상부터 사용 가능합니다.
Goal Acceleration (73)
목표 가속도 값입니다. 0 ~ 254 (0xFE)까지 사용되며, 단위는 약 8.583 [°] / sec2 입니다.
0으로 설정하면, 가속도 제어를 하지 않고 모터의 최대 가속도로 움직인다는 의미입니다.
목표속도가 0일 경우에도, 가속도 제어를 하지 않고 모터의 최대 가속도로 움직입니다.
254를 설정할 경우 2,180 [°] / sec2이 됩니다.
예를 들어, 장치의 속도가 현재 0이고 Goal Acceleration이 10인 경우, 1초 뒤의 장치의 속도는 14.3 [rev/min2]이 됩니다.
유지보수
혼과 베어링 교체
혼은 다이나믹셀 정면의 출력축에 부착되어 있으며 베어링은 후면에 부착되어 있습니다.
혼 조립하기
혼을 끼워넣기 전에 혼 와셔를 넣어주어야 합니다.
아래 그림과 같이 혼과 기어의 마킹 위치에 맞추어 혼을 조립합니다.
혼을 끼워넣을 때 혼의 중심부를 밀면서 조립합니다.
이때 혼 와셔가 중심에서 벗어나지 않도록 하고 조립이 끝나면 볼트로 혼을 고정합니다.
베어링 조립하기
기존 다이나믹셀에서 사용하던 베어링을 새 다이나믹셀에 조립해야 할 경우 아래 방법을 따릅니다.
베어링은 쇼핑몰에서 별도로 구매할 수 있습니다.
베어링은 혼과는 달리 구동축에 연결되지 않기 때문에 자유롭게 회전이 가능합니다.
참고자료
커넥터 정보
항목 | TTL |
---|---|
핀 번호 | 1 GND2 VDD3 DATA |
다이어그램 | |
하우징 | MOLEX 50-37-5033 |
PCB 헤더 | MOLEX 22-03-5035 |
Crimp 터미널 | MOLEX 80-70-1039 |
다이나믹셀 전선규격 | 21 AWG |
주의: 커넥터 제조사의 PIN 순서와 상이할 수 있습니다. 사용자의 안전을 보호하고, 재산상의 손해를 막기위해, 반드시 PIN 순서를 확인하세요.
통신 회로
다이나믹셀을 제어하기 위해서는 제어기의 UART 신호를 Half duplex type으로 변환시켜 주어야 합니다. 다음은 그 권장 회로도입니다.
TTL 통신
참고: 위 회로는 5V 전원을 사용하는 MCU를 사용하거나 IO가 5V tolerant한 경우 사용 가능합니다. 그 외의 경우, Level Shifter를 사용하세요.
전원은 Pin1(-), Pin2(+)를 통하여 다이나믹셀로 공급됩니다.(다이나믹셀 전용 Controller에는 위의 회로가 내장되어 있습니다.)
Videos
도면
더 많은 2D/3D 도면자료와 각종 소프트웨어 등 유용한 자료는 로보티즈 다운로드 센터에서 제공됩니다.