ROBOTIS e-Manual v1.12.02

[AX-18F] [AX-18A]
※ AX-18A 는 AX-18F 와 동일한 성능에 외형을 개선한 모델입니다.
최소 제어각 : 0.29°
모터 : Coreless Motor
기어비 : 254 : 1
관절 모드 (0° ~ 300°)
바퀴 모드 (무한 회전)
Control Table은 다이나믹셀 내부에 존재하는 값으로서 다이나믹셀의 현재
상태와 구동에 관한 Data로 구성되어 있습니다.
사용자는 Instruction Packet을 통해 Control Table의 data를 변경하는 방식으로 다이나믹셀을 제어할 수
있습니다.
EEPROM and RAM
RAM Area의 Data는 전원이 인가될 때마다 다시 초기값으로 설정됩니다. 그러나 EEPROM Area Data의 경우 값을 설정하면 전원이 Off되어도 그 값이 보존됩니다.
Address
Address는Data의 위치 입니다. Dynamixel 에 Data를 쓰거나 읽기 위해서는 Packet에 그 Data가 위치해 있는 Address를 지정해 주어야 합니다.
접근
다이나믹셀 Data 에는 읽기 전용(R)과 읽고 쓰기가 가능한 것(RW), 두 가지가 있습니다. 읽기 전용(R)은 주로 센싱용으로 사용되는 data 이며 읽고 쓰기 가능한 것(RW)은 구동을 위한 Data 입니다.
초기값
Control Table에서 우측에 표시된 초기값들은 EEPROM 영역 Data인 경우 공장 출하 값이고, RAM Area Data인 경우는 전원이 인가되었을 때 갖는 초기값입니다.
상위바이트/하위바이트
Control Table 에는 명칭이 같지만 (L) 과 (H) 가 뒤에 붙어서 Address 가 구분되어 있는 것들이 있습니다. 이것은 16bit가 요구되는 Data를8bit씩 각Address (low, High)에 나누어 표현한 것입니다. 이 두 개의 Address 는 하나의 Instruction Packet으로 동시에 write 되어야 합니다.
|
Area |
주소 (16진수) |
명칭 |
의미 |
접근 |
초기값 (16진수) |
|
E E P R O M |
0 (0X00) |
모델 번호의 하위 바이트 |
R |
18 (0X12) |
|
|
1 (0X01) |
모델 번호의 상위 바이트 |
R |
0 (0X00) |
||
|
2 (0X02) |
펌웨어 버전 정보 |
R |
- |
||
|
3 (0X03) |
다이나믹셀 ID |
RW |
1 (0X01) |
||
|
4 (0X04) |
다이나믹셀 통신 속도 |
RW |
1 (0X01) |
||
|
5 (0X05) |
응답 지연 시간 |
RW |
250 (0XFA) |
||
|
6 (0X06) |
시계 방향 한계 각도 값의 하위 바이트 |
RW |
0 (0X00) |
||
|
7 (0X07) |
시계 방향 한계 각도 값의 상위 바이트 |
RW |
0 (0X00) |
||
|
8 (0X08) |
반시계 방향 한계 각도 값의 하위 바이트 |
RW |
255 (0XFF) |
||
|
9 (0X09) |
반시계 방향 한계 각도 값의 상위 바이트 |
RW |
3 (0X03) |
||
|
11 (0X0B) |
내부 한계 온도 |
RW |
75 (0X46)) |
||
|
12 (0X0C) |
최저 한계 전압 |
RW |
60 (0X3C) |
||
|
13 (0X0D) |
최고 한계 전압 |
RW |
140 (0X8C) |
||
|
14 (0X0E) |
토크 한계 값의 상위 바이트 |
RW |
215 (0XD7) |
||
|
15 (0X0F) |
토크 한계 값의 하위 바이트 |
RW |
3 (0X03) |
||
|
16 (0X10) |
응답 레벨 |
RW |
2 (0X02) |
||
|
17 (0X11) |
알람용 LED 기능 |
RW |
36 (0X24) |
||
|
18 (0X12) |
알람용 셧 다운(Shut down) 기능 |
RW |
36 (0X24) |
||
|
R A M |
24 (0X18) |
토크 On/Off |
RW |
0 (0X00) |
|
|
25 (0X19) |
LED On/Off |
RW |
0 (0X00) |
||
|
26 (0X1A) |
CW Compliance margin |
RW |
1 (0X01) |
||
|
27 (0X1B) |
CCW Compliance margin |
RW |
1 (0X01) |
||
|
28 (0X1C) |
CW Compliance slope |
RW |
32 (0X20) |
||
|
29 (0X1D) |
CCW Comliance slope |
RW |
32 (0X20) |
||
|
30 (0X1E) |
목표 위치 값의 하위 바이트 |
RW |
- |
||
|
31 (0X1F) |
목표 위치 값의 상위 바이트 |
RW |
- |
||
|
32 (0X20) |
목표 속도 값의 하위 바이트 |
RW |
- |
||
|
33 (0X21) |
목표 속도 값의 상위 바이트 |
RW |
- |
||
|
34 (0X22) |
토크 한계 값의 하위 바이트 |
RW |
ADD14 |
||
|
35 (0X23) |
토크 한계 값의 상위 바이트 |
RW |
ADD15 |
||
|
36 (0X24) |
현재 위치 값의 하위 바이트 |
R |
- |
||
|
37 (0X25) |
현재 위치 값의 상위 바이트 |
R |
- |
||
|
38 (0X26) |
현재 속도 값의 하위 바이트 |
R |
- |
||
|
39 (0X27) |
현재 속도 값의 상위 바이트 |
R |
- |
||
|
40 (0X28) |
현재 하중 값의 하위 바이트 |
R |
- |
||
|
41 (0X29) |
현재 하중 값의 상위 바이트 |
R |
- |
||
|
42 (0X2A) |
현재 전압 |
R |
- |
||
|
43 (0X2B) |
현재 온도 |
R |
- |
||
|
44 (0X2C) |
Instruction의 등록 여부 |
R |
0 (0X00) |
||
|
46 (0X2E) |
움직임 유무 |
R |
0 (0X00) |
||
|
47 (0X2F) |
EEPROM 잠금 |
RW |
0 (0X00) |
||
|
48 (0X30) |
Punch 값의 하위 바이트 |
RW |
32 (0X20) |
||
|
49 (0X31) |
Punch 값의 상위 바이트 |
RW |
0 (0X00) |
다이나믹셀의 모델 번호입니다.
다이나믹셀 펌웨어 버전입니다.
다이나믹셀을 식별하기 위한 고유 번호입니다.
0~253 (0xFD) 까지 사용 가능하며, 254(0xFE)는 브로드캐스트(Broadcast) ID로 특수하게 사용됩니다.
Instruction packet을 보낼 때, 브로드캐스트 ID를 사용하면 모든 다이나믹셀에 명령을 내릴 수 있습니다.
| 연결된 다이나믹셀의 ID가 중복되지 않도록 주의해야 합니다. |
제어기와 통신하기 위한 통신 속도 입니다.
0~254 (0xFE) 까지 사용 가능하며 산출 공식은 다음과 같습니다.
Baudrate(BPS) = 2000000 / (Value + 1)
Value |
설정 BPS |
목표 BPS |
오차 |
1 |
1000000.0 |
1000000.0 |
0.000 % |
3 |
500000.0 |
500000.0 |
0.000 % |
4 |
400000.0 |
400000.0 |
0.000 % |
7 |
250000.0 |
250000.0 |
0.000 % |
9 |
200000.0 |
200000.0 |
0.000 % |
16 |
117647.1 |
115200.0 |
-2.124 % |
34 |
57142.9 |
57600.0 |
0.794 % |
103 |
19230.8 |
19200.0 |
-0.160 % |
207 |
9615.4 |
9600.0 |
-0.160 % |
참고 : UART는 Baudrate오차가 3% 이내이면 통신에 지장이 없습니다. |
제어기로부터 Instruction Packet을 받은 후, Status Packet을 반환하기까지 걸리는 시간입니다.
0~254 (0xFE) 까지 사용 가능하며 단위는 2usec 입니다.
예를 들어, 값이 10일 경우 20 usec 만큼 시간이 지난 후에 Status Packet을 응답합니다.
동작이 허용되는 각도를 설정할 수 있습니다.
값의 범위와 단위는 Goal Position(Address 30, 31)과 같습니다.
CW와 CCW의 값에 따라 다음의 2가지 동작 모드를 설정할 수 있습니다.
동작 방식 |
CW / CCW |
바퀴 모드 |
둘 다 0인 값 |
관절 모드 |
둘 다 0이 아닌 값 |
바퀴 모드는 모터가 무한 회전을 하여 바퀴형 구동 로봇에 쓸 수 있습니다.
관절 모드는 특정 각도로 제어가 가능하여 다관절 로봇에 쓸 수 있습니다.
동작 온도의 상한 값입니다.
사용 범위는 10~99 (0x10~0x63)이며, 단위는 섭씨 온도입니다.
예를 들어, 값이 80이면 80℃ 입니다.
내부 온도가 이 값을 넘으면 Status Packet 중 ERROR의 Over Heating Error Bit (Bit2) 가
‘1’로 설정되어 반환되고, Alram LED/Shutdown의 플래그(flag)중 과열(Overheating)이 설정되어 있다면
기능이 발휘됩니다.
주의 : 온도 상한선을 초기값 보다 높게 설정하지 마십시오. 온도 알람셧다운 발생시 20분이상 휴식하여 다이나믹셀의 온도를 충분히 낮춘후 사용해 주세요. 온도가 높은상태에서 사용시 제품이 손상될 수 있습니다. |
The Lowest(Highest) Limit Voltage
전압 동작 범위의 상한과 하한 값입니다.
상한과 하한 각각 50~250 (0x32~0x96)까지 사용 가능하며, 단위는 0.1V입니다.
예를 들어, 값이 80이면 8V입니다.
현재 전압 값이 이 범위를 벗어날 경우 Status Packet 중 ERROR의 Voltage Range Error Bit(Bit0)가
‘1’로 설정되어 반환되고, Alram LED/Shutdown의 플래그(flag)중 입력 전압 에러(Input Voltage
Error)가 설정되어 있다면 기능이 발휘됩니다.
모터의 최대 출력 제한 값입니다.
0~1023 (0x3FF) 까지 사용 가능하며, 단위는 약 0.1%입니다.
예를 들어, 값이 512이면 약 50%이고 최대 출력 대비 50%만 사용하겠다는 의미입니다.
전원이 켜지면 Torque Limit(Address 34, 35)는 이 값을 초기 값으로 사용합니다.
Status Packet의 반환 방식을 결정합니다.
값 |
동작 방식 |
0 |
모든 명령에 대해 반환하지 않음. (단, PING 명령 제외) |
1 |
READ 명령에 대해서만 반환함. |
2 |
모든 명령에 대해서 반환함. |
참고: Instruction packet 의 ID가 Broadcast ID 인 경우는 이 값에 상관 없이 Status Packet이 반환되지 않습니다. |
다이나믹셀은 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다.
설정할 수 있는 위험 상황은 아래 표와 같습니다.
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 | 해당 Address의 값의 범위를 벗어난 값을 Instruction Packet으로 보내는 경우 |
Bit 2 |
OverHeating Error | 내부 온도가 설정된 동작 온도 범위를 벗어난 경우 |
Bit 1 |
Angle Limit Error | 적용한 Goal Position이 설정한 CW/CCW Angle Limitit 범위를 벗어난 경우 |
Bit 0 |
Input Voltage Error | 인가된 전압이 설정된 동작 전압 범위를 벗어났을 경우 |
각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다. 즉, 0X05 (2 진수: 00000101)로 설정되었을 경우 Input Voltage Error와 Overheating Error가 발생하는 것을 모두 감지할 수 있습니다.
위험 상황이 발생하면 Alarm LED의 경우는 LED를 깜박이고, Alarm Shutdown의 경우는 Torque Limit(Address 34, 35)의 값을 0으로 만들어서 모터 출력이 0%가 되도록 합니다.
값 |
의미 |
0 |
모터의 전원을 차단하여 Torque가 발생되지 않도록 합니다. |
1 |
모터에 전원을 인가하여 Torque를 발생시킵니다. |
값 |
의미 |
0 |
LED를 OFF시킵니다. |
1 |
LED를 ON시킵니다. |
Compliance는 모터의 제어의 유연성을 설정하는 것입니다.
아래 그림은 위치와 모터의 출력 관계를 나타냅니다.

CW/CCW 방향 별로 존재하며 목표 위치와 현재 위치의 오차를 의미합니다.
값의 범위는 0~255이며, 단위는 Goal Position(Address
30, 31)과 같습니다.
이 값이 클수록 유격이 많이 생기는 효과가 나타납니다.
CW/CCW 방향 별로 존재하며 목표 위치 근처에서 출력의 정도를 설정합니다.
Compliance Slope 는 총 7 단계로 설정할 수 있으며 값이 높을 수록 유연성이 좋아집니다.
Data 대표값은 실제로 사용되는 값입니다. 즉, 25로 설정되어도 대표값 16으로 내부에서는 사용됩니다.
단계 |
Data 값 |
Data 대표 값 |
1 |
0 (0x00) ~ 3(0x03) |
2 (0x02) |
2 |
4(0x04) ~ 7(0x07) |
4 (0x04) |
3 |
8(0x08)~15(0x0F) |
8 (0x08) |
4 |
16(0x10)~31(0x1F) |
16 (0x10) |
5 |
32(0x20)~63(0x3F) |
32 (0x20) |
6 |
64(0x40)~127(0x7F) |
64 (0x40) |
7 |
128(0x80)~254(0xFE) |
128 (0x80) |
이동 시키고자 하는 곳의 위치 값입니다.
0~1023 (0x3FF)까지 사용 가능하며 단위는 0.29도 입니다.
CW/CCW Angle Limit의 벗어난 값을 사용하게 되면 Status Packet 중 ERROR의 Angle Limit Error Bit (Bit1) 가 ‘1’로 설정되어 반환되고, Alram LED/Shutdown의 플래그(flag)중 Angle Limit Error가 설정되어 있다면 기능이 발휘됩니다. .
<위 그림은 해당 모델의 전면이 기준입니다>
바퀴 모드로 설정되어 있는 경우 이 값은 사용되지 않습니다. |
이동하는 속도를 나타내며 이 값의 범위와 단위는 동작 모드에 따라 다릅니다.
관절 모드
Goal Position으로 이동하는 속도입니다.
0~1023 (0X3FF) 까지 사용되며, 단위는 약 0.111rpm입니다.
0으로 설정하면 속도 제어를 하지 않고 모터의 최대 rpm을 사용한다는 의미입니다.
1023의 경우 약 114rpm이 됩니다.
예를 들어, 300으로 설정된 경우 약 33.3rpm입니다.
참고: 해당 모델의 최대 rpm을 확인하시기 바랍니다. 최대 rpm 이상을 설정해도 모터는 그 이상의 속도를 낼 수 없습니다. |
바퀴 모드
목표 방향으로 이동하는 속도입니다.
0~2047( 0X7FF)까지 사용되며, 단위는 약 0.1%입니다.
0~1023 범위의 값을 사용하면 CCW방향으로 회전하며 0으로 설정하면 정지합니다.
1024~2047 범위의 값을 사용하면 CW방향으로 회전하며 1024으로 설정하면 정지합니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 됩니다.
바퀴 모드는 속도 제어를 하지 않고 출력 제어만 가능합니다.
예를 들어, 512로 설정된 경우 최대 출력 대비 약 50%로 제어한다는 의미입니다.
모터의 최대 출력 제한 값입니다.
0~1023 (0x3FF) 까지 사용 가능하며, 단위는 약 0.1%입니다.
예를 들어, 값이 512이면 약 50%이고 최대 출력 대비 50%만 사용하겠다는 의미입니다.
전원이 켜지면 Max Torque(Address 14, 15)의 값을 초기 값으로 사용합니다.
참고: Alarm Shutdown의 기능이 발휘되면 이 값이 0이 되어 모터의 힘이 없어지게 됩니다. 이때 이 값을 0이 아닌 값으로 바꾸면 다시 모터의 출력이 발휘되어 사용할 수 있습니다. |
다이나믹셀의 현재 위치 값입니다.
값의 범위는 0~1023 (0x3FF)이며 단위는 0.29도 입니다.

<위 그림은 해당 모델의 전면이 기준입니다>
주의: 바퀴 모드로 설정되어 있는 경우 이 값을 회전량 또는 움직인 거리를 측정하는 용도로 사용할 수 없습니다. |
현재 이동하는 속도입니다.
이 값은 0~2047 (0X7FF) 까지 사용됩니다.
0~1023 범위의 값이면 CCW방향으로 회전한다는 의미입니다.
1024~2047 범위의 값이면 CW방향으로 회전한다는 의미입니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 되며 0과 1024는 같습니다.
이 값의 단위는 동작 모드에 따라 다릅니다.
관절 모드
단위는 약 0.111rpm입니다.
예를 들어, 300으로 설정된 경우 CCW방향 약 33.3rpm으로 이동 중이라는 의미입니다.
바퀴 모드
단위는 약 0.1%입니다.
예를 들어, 512로 설정된 경우 CCW방향 최대 출력 대비 약 50%로 제어 중이라는 의미입니다.
현재 적용되는 하중을 의미합니다.
이 값의 범위는 0~2047이며, 단위는 약 0.1%입니다.
0~1023 범위의 값은 CCW방향으로 하중이 작용한다는 의미입니다.
1024~2047 범위의 값은 CW방향으로 하중이 작용한다는 의미입니다.
즉, 10번째 bit가 방향을 제어하는 direction bit가 되며, 1024는 0과 같습니다.
예를 들어, 값이 512이면 CCW 방향으로 최대 출력 대비 약 50%로 하중이 감지된다는 의미입니다.

참고: 현재 하중은 Torque센서 등을 이용한 값이 아니라 내부 출력 값을 기반으로 유추한 것입니다. 이로인해 무게나 토크를 측정하는 용도로 사용할 수 없고, 해당 관절의 어느 방향으로 힘이 작용하는 정도를 감지하는 정도로만 사용해야 합니다. |
현재 공급되고 있는 전압입니다.
이 값의 단위는 0.1V입니다. 예를 들어, 값이 100이면 10V입니다.
내부의 온도입니다.
이 값의 단위는 섭씨 온도입니다. 예를 들어, 값이 85이면 현재 내부 온도는 85℃ 입니다.
값 |
의미 |
0 |
REG_WRITE로 전달된 명령이 없습니다. |
1 |
REG_WRITE로 전달된 명령이 있습니다. |
| 참고: ACTION 명령을 수행하면 이 값이 0으로 바뀝니다. |
값 |
의미 |
0 |
Goal position 명령 수행을 완료했습니다. |
1 |
Goal position 명령 수행 중입니다. |
값 |
의미 |
0 |
EEPROM영역을 수정할 수 있습니다. |
1 |
EEPROM영역을 수정하지 못합니다. |
| 주의: Lock이 1로 설정되면 전원을 껐다 켜야 0으로 바꿀 수 있습니다. |
구동시에 모터에 공급되는 최소 전류량 입니다.
초기값은 0x20이며 최고 0x3ff까지 설정할 수 있습니다.
F2는 다음과 같은 방법으로 적용됩니다.

F3은 다음과 같은 방법으로 적용됩니다. F3은 AX-18A 의 3면(좌,우,아래면)에 결합될 수 있습니다.


