Edit on GitHub

XM540-W270-T/R

주요 사양

항목 내용
MCU ST CORTEX-M3 (STM32F103C8 @ 72Mhz, 32Bit)
위치 센서 Contactless absolute encoder (12Bit, 360°)
Maker : ams(www.ams.com), Part No : AS5045
모터 Coreless
통신속도 9600 bps ~ 4.5 Mbps
제어 알고리즘 PID control
최소 제어각 0.088°
동작 모드 전류 제어 모드
속도 제어 모드
위치 제어 모드(0° ~ 360°)
확장 위치 제어 모드(멀티턴)
전류기반 위치 제어 모드
PWM 제어 모드(Voltage Control Mode)
무게 165g
크기 (W x H x D) 33.5mm x 58.5mm x 44mm
기어비 272.5 : 1
Stall Torque 10.0N.m @ 11.1V, 4.2A
10.6Nm @ 12.0V, 4.4A
12.9Nm @ 14.8V, 5.5A
No Load Speed 28rpm @ 11.1V
30rpm @ 12.0V
37rpm @ 14.8V
동작 온도 -5°C ~ +80°C
사용 전압 10.0 ~ 14.8V (권장 전압 : 12.0V)
Command Signal Digital Packet
Protocol Type XM540-W270-T: Half Duplex Asynchronous Serial Communication
XM540-W270-R: RS485 Asynchronous Serial Communication
(8bit, 1stop, No Parity)
Link (Physical) XM540-W270-T: TTL Level Multidrop BUS
XM540-W270-R: RS485 Multidrop BUS
ID 253 ID (0~252)
Feedback Position, Velocity, Current, Realtime tick, Trajectory, Temperature, Input Voltage, etc
Part Material Full Metal Gear
Metal(Front, Middle), Engineering Plastic(Back)
Standby Current 40mA

성능 그래프

Note Stall torque와 Performance Graph의 Max torque의 차이는 측정 방식에 기인합니다.
Stall torque는 순간적인 최대토크를 측정하는 방식으로, 고전적인 RC Servo 제품에서 주로 사용하는 사양입니다.
Performance Graph는 N-T Curve라고도 불리며, 부하(load)를 점진적으로 증가시키면서 측정됩니다.
모터 구동되는 환경은 Stall torque 측정 방식보다는 Performance Graph 측정 방식에 가깝습니다.
이러한 이유로 Performance Graph가 산업전반에서 보다 폭넓게 사용됩니다.
일반적으로 Performance Graph의 Max torque는 Stall torque보다 적게 측정됩니다.

Note Stall torque와 Performance Graph의 Max torque의 차이는 측정 방식에 기인합니다.
Stall torque는 순간적인 최대토크를 측정하는 방식으로, 고전적인 RC Servo 제품에서 주로 사용하는 사양입니다.
Performance Graph는 N-T Curve라고도 불리며, 부하(load)를 점진적으로 증가시키면서 측정됩니다.
모터 구동되는 환경은 Stall torque 측정 방식보다는 Performance Graph 측정 방식에 가깝습니다.
이러한 이유로 Performance Graph가 산업전반에서 보다 폭넓게 사용됩니다.
일반적으로 Performance Graph의 Max torque는 Stall torque보다 적게 측정됩니다.

컨트롤 테이블

Control Table은 다이나믹셀 내부에 존재하는 값으로서 다이나믹셀의 현재 상태와 구동에 관한 Data로 구성되어 있습니다.
사용자는 Instruction Packet을 통해 Control Table의 Data를 변경하는 방식으로 다이나믹셀을 제어할 수 있습니다.

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

Control Table은 다이나믹셀의 상태와 제어를 위한 다수의 Data 필드로 구성된 집합체입니다.
사용자는 READ Instruction Packet을 통해 Control Table의 특정 Data를 읽어서 다이나믹셀의 상태를 파악할 수 있습니다.
또한 WRITE Instruction Packet을 통해 Control Table의 특정 Data를 변경함으로써 다이나믹셀을 제어할 수 있습니다.
Address는 Instruction Packet으로 Control Table의 특정 Data를 접근할 때 사용하는 고유값입니다.
다이나믹셀의 Data를 읽거나 쓰기 위해서는 Instruction Packet에 해당 Data의 Address를 지정해 주어야 합니다.
Packet에 대한 자세한 내용은 Protocol 2.0을 참고해주세요.

Note 음수의 표현 방법은 2의 보수(Two’s complement) 규칙을 따릅니다. 2의 보수에 대한 자세한 설명은 위키피디아의 Two’s complement를 참고하세요.

영역 (EEPROM, RAM)

Control Table은 2가지 영역으로 구분됩니다. RAM Area에 위치한 Data는 전원이 인가될 때마다 다시 초기값으로 설정됩니다(Volatile).
반면 EEPROM Area에 위치한 Data는 값을 변경하면 전원이 꺼져도 그 값이 보존됩니다(Non-Volatile).
EEPROM Area에 위치한 모든 Data는 Torque Enable(64)의 값이 ‘0’일 때만 변경할 수 있습니다.

크기

Data의 Size는 용도에 따라 1 ~ 4 byte로 정해져 있습니다. Instruction Packet을 통해 Data를 변경할 때는 해당 Data의 Size를 확인하시기 바랍니다.
2 byte 이상의 연속된 데이터는 Little Endian 규칙에 의해 기록됩니다.

접근권한

Control Table의 Data는 2가지 접근 속성을 갖습니다. ‘RW’는 읽기와 쓰기 접근이 모두 가능합니다. 반면 ‘R’은 읽기 전용(Read Only) 속성을 갖습니다.
읽기 전용 속성의 Data는 WRITE Instruction으로 값이 변경되지 않습니다.
읽기 전용 속성(‘R’)은 주로 측정 또는 모니터링 용도로 사용되고, 읽기 쓰기 속성(‘RW’)은 다이나믹셀의 제어 용도로 사용됩니다.

초기값

다이나믹셀에 전원이 인가될 때, Control Table의 각 Data는 초기값으로 설정됩니다.
매뉴얼에 표기된 EEPROM 영역의 Default Value는 제품의 초기 설정값(공장 출하 설정값)입니다.
사용자가 변경한 경우, 초기값은 사용자가 변경한 값으로 적용됩니다.
RAM 영역의 Default Value 값은 전원이 인가되었을 때 설정되는 값입니다.

EEPROM 영역

주소 크기(Byte) 명칭 의미 접근 기본값
0 2 Model Number 모델 번호 R 1120
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 Version 프로토콜 버전 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
38 2 Current Limit 전류 한계값 RW 2047
40 4 Acceleration Limit 가속도 한계값 RW 32767
44 4 Velocity Limit 속도 한계값 RW 278
48 4 Max Position Limit 최대 위치 제한값 RW 4095
52 4 Min Position Limit 최소 위치 제한값 RW 0
56 1 External Port Mode 1 외부 확장포트 1 모드 RW 3
57 1 External Port Mode 2 외부 확장포트 2 모드 RW 3
58 1 External Port Mode 3 외부 확장포트 2 모드 RW 3
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 800
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 -
102 2 Goal Current 목표 전류 값 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 Current 현재 전류 값 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 -
152 2 External Port Data 1 외부 확장포트 1 값 RW -
154 2 External Port Data 2 외부 확장포트 2 ㅏ값 RW -
156 2 External Port Data 3 외부 확장포트 3 값 RW -
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 Data 29~56은 프로토콜 2.0으로만 접근이 가능합니다.

Address 기능 설명

Caution 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을 전송하면 모든 다이나믹셀에 명령을 내릴 수 있습니다.

Note 연결된 다이나믹셀의 ID가 중복되지 않도록 주의해야 합니다. 또한 ID(7)는 EEPROM 영역에 존재하기 때문에 Torque Enable(64) 의 값이 ’0’ 일 때만 변경할 수 있습니다.

Baud Rate(8)

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

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

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

Return Delay Time(9)

제어기로부터 Instruction Packet을 받은 후, Status Packet을 반환하기까지 걸리는 시간입니다.
0~254 (0xFE) 까지 사용 가능하며 단위는 2μsec 입니다.
예를 들어, 값이 10일 경우 20μsec 만큼 시간이 지난 후에 Status Packet을 응답합니다.

단위 범위 상세설명
2μsec 0 ~ 254 기본값: ‘250’(500μsec), 최대 508μsec

Drive Mode(10)

Dynamixel의 드라이브 모드를 설정합니다.

Bit 명칭 호환 가능한 다이나믹셀
Bit 2(0x04)~7(0x80) N/A 미사용, 항상 ‘0’
Bit 1(0x02) Master/Slave configuration(Dual joint) Master mode(‘0’) : Master Dynamixel로 동작합니다.
Slave mode(‘1’) : Slave Dynamixel로 동작합니다.
Bit 0(0x01) Direction of Rotation Normal Mode(0): CCW(Positive), CW(Negative)
Reverse Mode(1): CCW(Negative), CW(Positive)

다이나믹셀의 드라이브 모드를 설정합니다.(펌웨어 v38 부터 지원)

Bit 명칭 상세설명
Bit 2 ~ 7 N/A 미사용, 항상 ‘0’
Bit 1 Master/Slave Setting
(Dual Joint)
Master Mode(0): 마스터 다이나믹셀로 동작합니다.
Slave Mode(1): 슬레이브 다이나믹셀로 동작합니다.
Bit 0 Direction of Rotation Normal Mode(0): CCW(Positive), CW(Negative)
Reverse Mode(1): CCW(Negative), CW(Positive)

Note Direction of rotation의 Reverse mode(‘1’)를 설정하면, Dynamixel의 회전 방향이 변경됩니다. 따라서 Position, Velocity, Current, PWM의 방향이 모두 변경됩니다. 좌우 대칭적인 구조의 관절이나 바퀴 구동 시스템을 구성할 때 편리하게 사용할 수 있습니다.

Master/Slave configuration(Dual joint)은 2개의 Dynamixel을 1개의 Dynamixel처럼 동시에 제어하기 위한 방법입니다.
Master Dynamixel과 Slave Dynamixel은 동기화 케이블로 연결되어야 합니다.
Slave Dynamixel은 동기화 케이블을 통해 전달된 Master Dynamixel의 PWM 신호에 의해서 직접 제어됩니다.
따라서 Slave Dynamixel의 Goal Position, Goal Velocity, Goal Current, Goal PWM은 무시됩니다.

동기화 케이블 상세설명
일반 모드용 Slave Dynamixel은 Master Dynamixel의 PWM 신호에 의해서 제어됩니다.
즉, Master/Slave Dynamixel의 회전방향은 동일합니다.
리버스 모드용(Twisted) Slave Dynamixel은 Master Dynamixel의 반전된 PWM 신호에 의해서 제어됩니다.
즉, Master/Slave Dynamixel의 회전방향은 서로 반대방향이 됩니다.

Note Master와 Slave가 하드웨어적으로 연결되어있지않으면 로드차이에 의해 조금씩 다르게 구동됩니다. 아래와 같이 프레임으로 연결하신후 듀얼모드를 사용해주세요.

Operating Mode(11)

다이나믹셀의 제어 모드를 설정합니다. 각 제어 모드마다 특성이 다르기 때문에, 구현하려는 시스템에 적합한 제어 모드를 설정하시기 바랍니다.

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

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

  1. Profile Velocity(112), Profile Acceleration(108) : ‘0’으로 초기화
  2. Goal PWM(100), Goal Current(102) : PWM Limit(36), Current Limit(38)으로 초기화
  3. 전류기반 위치 제어 모드 : 별도의 Position Gain(PID)과 PWM Limit(36) 값으로 재설정 됩니다.

변경된 Position Gain(PID)과 PWM Limit(36) 값은 컨트롤테이블을 통해서 확인할 수 있습니다.

Note PWM이란 Pulse Width Modulation(펄스 폭 변조)의 약자로 펄스의 폭(PWM Duty)을 변경시키는 변조방식을 뜻합니다. 모터 제어 분야에서는 펄스의 폭을 변경하여 모터에 공급되는 평균 전압을 제어하는 용도로 폭넓게 사용되고 있습니다. 따라서 PWM 제어 모드는 Goal PWM(100)을 이용하여 모터에 공급되는 전압을 제어하는 제어 방식을 뜻합니다. PWM 모드는 다이나믹셀AX, RX 시리즈의 바퀴모드와 유사합니다.

Secondary(Shadow) ID(12)

Dynamixel의 Secondary ID를 설정합니다.
Secondary ID(12)는 ID(7)과 동일하게 다이나믹셀을 식별하기 위한 번호로 사용됩니다.
다만, Secondary ID(12)는 ID(7)과 달리 고유한 번호가 아닙니다.
따라서 동일한 Secondary ID 값을 갖은 다이나믹셀들은 하나의 그룹을 형성하게 됩니다.
Secondary ID(12)와 ID(7)의 차이는 다음과 같습니다.

  1. Secondary ID(12)는 ID(7)과 달리 고유 번호가 아닙니다. 즉, 다수의 다이나믹셀이 동일한 Secondary ID 값을 가질 수 있습니다.
  2. Secondary ID(12)보다 ID(7)의 우선순위가 높습니다. 따라서 Secondary ID(12)와 ID(7)가 같을 경우, ID(7)가 우선적으로 적용됩니다.
  3. Secondary ID(12)로는 컨트롤테이블의 EEPROM 영역을 변경할 수 없습니다. RAM 영역만 변경이 가능합니다.
  4. Instruction Packet의 ID가 Sencodary ID(12)와 같은 경우, Status Packet을 반환하지 않습니다.
  5. Secondary ID(12)의 값이 253 이상인 경우, Secondary ID 기능은 비활성화 됩니다.
세부 설명
0 ~ 252 Secondary ID 기능 활성화
253 ~ 255 Secondary ID 기능 비활성화, 초기값: ‘255’

다음은 ID(7)가 1부터 5로 설정된 5개의 다이나믹셀이 있는 경우에 대한 동작 예시입니다.

  1. 5개 다이나믹셀의 Secondary ID(12)를 모두 ‘5’로 동일하게 설정합니다.
  2. Write Instruction Packet(ID = 1, LED(65) = 1)을 전송합니다.
  3. ID가 ‘1’인 다이나믹셀은 LED를 켠 후, Status Packet을 반환합니다.
  4. Write Instruction Packet(ID = 5, LED(65) = 1)을 전송합니다.
  5. 5개의 다이나믹셀은 모두 LED를 켭니다. 단, Status Packet은 ID가 ‘5’인 다이나믹셀만 반환합니다.
  6. 5개 다이나믹셀의 Secondary ID(12)를 모두 ‘100’으로 동일하게 설정합니다.
  7. Write Instruction Packet(ID = 100, LED(65) = 0)을 전송합니다.
  8. 5개의 다이나믹셀은 모두 LED를 끕니다. 단, ID ‘100’인 다이나믹셀이 없으므로 Status Packet은 반환되지 않습니다.

Protocol Version(13)

다이나믹셀의 프로토콜 버전(1.0, 2.0)을 설정할 수 있습니다.
함께 사용할 다이나믹셀의 프로토콜 버전에 맞춰서 설정하세요.

프로토콜 버전 호환되는 다이나믹셀
1 1.0 AX 시리즈, DX 시리즈, RX 시리즈, EX 시리즈, MX 시리즈(펌웨어 v39 미만)
2(기본값) 2.0 MX-28/64/106(펌웨어 v39 이상), X 시리즈, Pro 시리즈

Note 프로토콜 2.0은 프로토콜 1.0의 문제점을 대폭 개선한 버전입니다. 프로토콜 1.0을 사용할 경우, 컨트롤테이블의 일부 영역의 접근이 제한될 수 있습니다. 매뉴얼에서는 프로토콜 2.0을 기준으로 설명합니다. 프로토콜에 대한 자세한 사항은 Protocol 1.0, Protocol 2.0을 참고해주세요.

Homing Offset(20)

‘0’ 점의 위치를 조절 할 수 있습니다. 이 값은 Present Position(132)에 더해지게 됩니다.
Present Position(132) = 실제 위치 + Homing Offset(20) 이 됩니다.

단위 범위 설명
약 0.088° -1,044,479 ~ 1,044,479
(-255 ~ 255[rev])
4,096 분해능

Note 1회전 내에서 제어하는 위치제어 모드(관절 모드)의 경우, Homing Offset(20)은 (-1024 ~ 1024) 범위보다 클 경우 무시됩니다.

Moving Threshold(24)

움직임의 유무를 판별하는 기준 속도로 사용됩니다.
Present Velocity(128)의 절대값이 Moving Threshold(24)보다 크면, 움직임 유무를 나타내는 Moving(122) 이 ‘1’이 되고, 적으면 ‘0’이 됩니다.

  설명
단위 약 0.229 rpm 속도 관련 Data의 단위는 모두 동일함
범위 0 ~ 1,023 -

Temperature Limit(31)

동작 온도의 상한 값입니다.
다이나믹셀의 현재 내부온도를 나타내는 Present Temperature(146)가 Temperature Limit(31)보다 높아지면 Hardware Error Status(70)의 Over Heating Error Bit(0x04)가 설정되고, Status Packet은 Error 필드를 통해서 Hardware Error 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)의 Voltage Range Error Bit(0x01)이 설정되고, Status Packet은 Error 필드를 통해서 Hardware Error Bit(0x80)을 전송합니다.
Shutdown(63)에 Input Voltage Error Bit(0x10)가 설정된 경우, Torque Enable(64)은 ‘0’이 되고 Torque가 OFF 됩니다.
자세한 설명은 Shutdown(63)을 참고하세요.

단위 범위 상세 설명
약 0.1V 95 ~ 160 9.5 ~ 16.0V

PWM Limit(36)

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

설명
0(0%) ~ 885(100%) 885 = 100[%] 출력

Current Limit(38)

전류(토크) 출력의 한계 값입니다.
Goal Current(102)에는 Current Limit(38)보다 큰 값을 쓸 수 없습니다. Current Limit(38)은 전류 제어 모드와 전류기반 위치 제어 모드에서 적용되는 제한 값으로써, 전류 출력을 낮추면 다이나믹셀의 토크가 감소합니다.
자세한 사항은 Position PID Gain(80 ~ 84)을 참고하세요.

단위 범위
약 2.69[mA] 0 ~ 2,047

Note Current Limit(38)은 다이나믹셀 별로 다를 수 있으니 Control Table을 확인하시기 바랍니다.

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

참고 Status Packet의 Error필드의 비트정보는 프로토콜 1.0과 2.0이 다릅니다. 여기서는 프로토콜 2.0을 기준으로 설명합니다. 자세한 사항은 프로토콜을 참조하세요.

Velocity Limit(44)

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

단위 범위
0.229rpm 0 ~ 1,023

Min/Max Position Limit(48, 52)

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

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

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

External Port Mode 1,2,3(56,57,58)

다이나믹셀은 다용도로 사용 가능한 External Port를 제공합니다.
External Port의 용도는 External Port Mode에 의해서 결정되고, External Port의 신호는 External Port Data(152 ~ 157)에 의해서 제어됩니다.
자세한 사항은 External Port Data(152 ~ 157)을 참고하세요.

External Port Mode 명칭 설명
0 AI(Analogue Input) External Port 신호를 12[bit] Digital로 변환
1 DO_PP(Digital Output Push-Pull) External Port를 0[V] 또는3.3[V]로 출력
2 DI_PU(Digital Input Pull-Up) External Port 신호를 ‘0’ 또는 ‘1’의 Digital 신호로 변경
External Port에 신호가 연결되어 있지 않을 경우 ‘1’
3(초기값) DI_PD(Digital Input Pull-Down) External Port 신호를 ‘0’ 또는 ‘1’의 Digital 신호로 변경
External Port에 신호가 연결되어 있지 않을 경우 ‘0’

Shutdown(63)

다이나믹셀은 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다.
각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다.
즉, Shutdown(63)이 ‘0x05’ (2 진수: 0000,0101)로 설정되었을 경우, Input Voltage Error(2 진수 : 0000,0001)와 Overheating Error(2 진수 : 0000,0100)가 발생하는 것을 모두 감지할 수 있습니다.
위험 상황이 감지되면 Torque Enable(64) 값이 ‘0’으로 변경되고 모터 출력은 0%가 됩니다.
제어기는 Status Packet의 Error 필드에 Hardware Error Bit(0x80)이 설정되었는지를 확인하거나, Hardware Error Status(70)을 통해서 현재상태를 확인할 수 있습니다.
위험 상황이 감지된 후에는 REBOOT을 하지 않는 한, Torque Enable(64)을 ‘1’(Torque ON)로 설정할 수 없습니다.
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(default) 내부 온도가 설정된 동작온도 범위를 벗어난 경우
Bit 1 - 미사용, 항상 ‘0’
Bit 0 Input Voltage Error 인가된 전압이 설정된 동작전압 범위를 벗어난 경우

Note Shutdown이 발생하면 다음과 같은 방법으로 다이나믹셀을 REBOOT 시킬 수 있습니다.

  1. H/W REBOOT : 전원을 껐다 켜는 방법
  2. S/W REBOOT : REBOOT Instruction 전송하는 방법(자세한 사항은 Protocol 2.0의 [Reboot]을 참고해주세요.)

주의 Shutdown이 발생하면 1초 주기로 LED가 점멸합니다.(펌웨어 버전 41 이상)

Torque Enable(64)

Torque ON/OFF를 제어합니다. ‘1’을 쓰면 Torque ON 상태가 되고, EEPROM 영역의 모든 Data는 잠김 상태로 변경됩니다.

상세 설명
0(기본값) Torque OFF(Free-run) 상태로 변경합니다
1 Torque ON 상태로 변경하고 EEPROM 영역의 모든 데이터는 잠김상태로 변경됩니다

Note 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 시킵니다.

Status Return Level(68)

Status Packet의 반환 방식을 결정합니다.

응답하는 명령 상세설명
0 PING Instruction 모든 명령에 대해 반환하지 않음
1 PING Instruction
READ Instruction
READ 명령에 대해서만 반환함
2 All Instructions 모든 명령에 대해서 반환함

Note Instruction packet 의 ID가 Broadcast ID 인 경우는 이 값에 상관 없이 Status Packet이 반환되지 않습니다. 더 자세한 설명은 Protocol 1.0Protocol 2.0Status Packet 항목을 참조하심시오.

Registered Instruction(69)

Value Description
0 REG_WRITE로 전달된 명령이 없습니다.
1 REG_WRITE로 전달된 명령이 있습니다.

Note ACTION 명령을 수행하면 이 값이 ‘0’으로 바뀝니다.

Hardware Error Status(70)

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

다이나믹셀은 동작 중에 발생하는 위험 상황을 감지하여 스스로를 보호할 수 있습니다.
각 Bit의 기능은 ‘OR’의 논리로 적용되기 때문에 중복 설정이 가능합니다.
즉, Shutdown(63)이 ‘0x05’ (2 진수: 0000,0101)로 설정되었을 경우, Input Voltage Error(2 진수 : 0000,0001)와 Overheating Error(2 진수 : 0000,0100)가 발생하는 것을 모두 감지할 수 있습니다.
위험 상황이 감지되면 Torque Enable(64) 값이 ‘0’으로 변경되고 모터 출력은 0%가 됩니다.
제어기는 Status Packet의 Error 필드에 Hardware Error Bit(0x80)이 설정되었는지를 확인하거나, Hardware Error Status(70)을 통해서 현재상태를 확인할 수 있습니다.
위험 상황이 감지된 후에는 REBOOT을 하지 않는 한, Torque Enable(64)을 ‘1’(Torque ON)로 설정할 수 없습니다.
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(default) 내부 온도가 설정된 동작온도 범위를 벗어난 경우
Bit 1 - 미사용, 항상 ‘0’
Bit 0 Input Voltage Error 인가된 전압이 설정된 동작전압 범위를 벗어난 경우

Note Shutdown이 발생하면 다음과 같은 방법으로 다이나믹셀을 REBOOT 시킬 수 있습니다.

  1. H/W REBOOT : 전원을 껐다 켜는 방법
  2. S/W REBOOT : REBOOT Instruction 전송하는 방법(자세한 사항은 Protocol 2.0의 [Reboot]을 참고해주세요.)

주의 Shutdown이 발생하면 1초 주기로 LED가 점멸합니다.(펌웨어 버전 41 이상)

Velocity PI Gain(76, 78)

속도 제어 모드에서 동작하는 속도 제어기의 Gain 입니다. Control Table의 Gain과 다이나믹셀 내부 제어기의 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)에 표기됩니다.

Note Ka는 Anti-windup Gain이고 β는 위치와 속도의 변환계수로 사용자가 변경할 수는 없습니다. PID 제어기에 대한 자세한 설명은 위키피디아의 PID Controller를 참고하세요.

Position PID Gain(80, 82, 84), Feedforward 1st/2nd Gains(88, 90)

위치 제어 모드, 확장 위치 제어 모드에서 동작하는 위치 제어기의 Gain입니다. Control Table의 Gain과 다이나믹셀 내부 제어기의 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)에 표기됩니다.

Note PWM 제어 모드의 경우, PID 제어기와 Feedforward 제어기는 모두 비활성화되고 Goal PWM(100) 값이 Inverter를 통해서 모터에 직접 인가됩니다. 이를 통해 모터의 전압을 직접 제어할 수 있습니다.

Note Ka는 Anti-windup Gain로서 사용자가 변경할 수는 없습니다.

다음은 전류기반 위치제어기(전류기반 위치 제어 모드)의 블록다이어그램입니다.
기본적인 내용은 위치제어기와 동일하므로, 위치제어기와의 차이점만 설명합니다.
블록다이어그램에서 위치제어기와 다른 부분은 초록색으로 표기하였습니다.

  1. Feedforward와 PID 제어기는 목표 궤적을 기반으로 목표 전류를 계산합니다.
  2. Goal Current(102)는 계산된 목표 전류를 제한하여 최종 목표 전류를 결정합니다.
  3. 전류제어기는 최종 목표 전류를 기반으로 모터에 인가할 PWM 출력을 계산합니다.
  4. Goal PWM(100)은 계산된 PWM 출력을 제한하여 최종 PWM값을 결정합니다.
  5. 최종 PWM값은 Inverter를 통해 모터에 적용되고 다이나믹셀의 Horn이 구동됩니다.
  6. 구동 결과는 Present Position(132), Present Velocity(128), Present PWM(124), Present Current(126)에 표기됩니다.

참고 Ka는 Anti-windup Gain로서 사용자가 변경할 수는 없습니다. 보다 자세한 PID 제어기와 Feedforward 제어기에 대한 설명은 PID ControllerFeed Forward을 참고하세요.

Bus Watchdog(98)

Bus Watchdog(98)은 특정할 수 없는 오류에 의해 제어기와 다이나믹셀의 통신(RS485, TTL)이 단절된 경우, 다이나믹셀을 정지시키기 위한 안전장치(Fail-safe) 입니다.
여기서 통신이란 다이나믹셀 프로토콜에서 정의된 모든 Instruction Packet을 의미합니다.

  설명
단위 20[ms] -
범위 0 Bus Watchdog 기능 비활성화, Bus Watchdog Error 해제
범위 1 ~ 127 Bus Watchdog 활성화
범위 -1 Bus Watchdog Error 상태

Bus Watchdog 기능은 Torque Enable(64)가 ‘1’인 경우, 제어기와 다이나믹셀의 통신 간격(시간)을 감시합니다.
측정된 통신 간격(시간)이 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을 통해 Range Error를 회신합니다.
Bus Wathdog(98)의 값을 ‘0’으로 변경하면, Bus Watchdog Error는 해제됩니다.

참고 Range Error에 대한 자세한 사항은 프로토콜을 참고해주세요.

다음은 Bus Watchdog 기능의 동작 예시입니다.

  1. Operating Mode(11)를 속도 제어 모드로 설정한 후, Torque Enable(64)를 ‘1’로 변경 합니다.
  2. Goal Velocity(104)에 ‘50’을 쓰면, 다이나믹셀은 CCW 방향으로 회전합니다.
  3. Bus Watchdog(98)의 값을 ‘100’(2,000[ms])으로 변경합니다.(Bus Watchdog 기능 활성화)
  4. 2,000[ms] 동안 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을 통해 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 제한값으로 사용됩니다. 이 값은 PWM Limit(36)보다 클 수 없습니다. 제어 모드 별 Goal PWM(100)의 동작 방식은 해당 Gain의 설명 부분을 참고하세요.

범위 상세
-PWM Limit(36) ~ PWM Limit(36) PWM Limit(36)의 초기값 : 885

Goal Current(102)

전류 제어 모드의 경우, Goal Current(102)를 통해 목표 전류를 설정할 수 있습니다.
전류기반 위치 제어 모드에서는 Current 제한값으로 사용됩니다. 이 값은 Current Limit(38)보다 클 수 없습니다.

단위 범위
약 2.69[mA] -Current Limit(38) ~ Current Limit(38)

Note 높은 전류를 장시간 사용할 경우, 모터가 손상될 수 있습니다.

Goal Velocity(104)

속도 제어 모드의 경우, Goal Velocity(104)를 통해 목표 속도를 설정할 수 있습니다. 이 값은 Velocity Limit(44)보다 클 수 없습니다. 현재 Goal Velocity(104)는 목표 속도로만 사용되고, 속도 제한 값으로는 사용되지 않습니다.

단위 범위
0.229 rpm -Velocity Limit(44) ~ Velocity Limit(44)

Note 다이나믹셀의 최대 속도와 최대 토크는 입력전압에 따라 달라집니다. 따라서 입력 전압에 따라 추종할 수 있는 최대 속도 역시 달라집니다. 매뉴얼에서는 권장전압을 기준으로 설명합니다.

Note Profile Acceleration(108)과 Goal Velocity(104)를 동시에 변경할 경우, 변경된 Profile Acceleration(108)이 적용되어 Goal Velocity(104)가 수행됩니다.

Profile Acceleration(108)

Profile의 가속도를 설정합니다. Profile Acceleration(108)은 전류 제어 모드를 제외한 모든 제어 모드에서 적용 가능합니다. Profile Acceleration(108)은 Acceleration Limit(40)보다 클 수 없습니다. 자세한 사항은 Profile Velocity(112)를 참고하세요.

단위 범위 상세 설명
214.577 Rev/min2 0 ~ Acceleration Limit(40) Profile Acceleration(108)이 ‘0’인 경우, 무한대 가속도를 뜻합니다.

Profile Velocity(112)

Profile의 최대 속도를 설정합니다.
Profile Velocity(112)는 전류 제어 모드와 속도 제어 모드를 제외한 모든 제어 모드에서 적용 가능합니다.
Profile Velocity(112)는 Velocity Limit(44)보다 클 수 없습니다.
참고로 속도 제어 모드에서는 Profile Velocity(112)는 적용되지 않고 Profile Acceleration(108)만 적용됩니다.

단위 범위 상세 설명
0.229 rpm 0 ~ Velocity Limit(44) Profile Velocity(112)이 ‘0’인 경우, 무한대 속도를 뜻합니다.

Profile이란 모터 구동 시 급격하게 변하는 속도와 가속도를 조절함으로써 진동, 소음 및 모터의 부하를 줄이는 가감속 제어 방법입니다.
일반적으로 속도에 근거하여 가감속을 제어하기 때문에 Velocity Profile이라고 불립니다.
다이나믹셀은 4가지 형태의 Profile을 제공합니다. 다음은 4가지 종류의 Profile과 Profile의 선택 방법을 표시합니다.
기본적으로 Profile의 선택은 Profile Velocity(112)와 Profile Acceleration(108)의 조합에 의해서 결정됩니다.
예외적으로 Triangle과 Trapezoidal Profile은 총 이동거리(ΔPos, 목표위치와 현재위치의 차이)가 추가로 고려되어 선택됩니다.
편의상 Profile Velocity(112)를 VPRFL, Profile Acceleration(108)을 APRFL로 표기합니다.
‘X’는 “상관없음”(Don’t Care)를 뜻합니다.

다이나믹셀의 Profile은 Goal Position(116)이 주어졌을 때, 현재 속도(Profile의 시작속도)를 기반으로 목표 속도 궤적을 생성합니다.
따라서 다이나믹셀이 Goal Position(116)로 이동하는 중에 새로운 Goal Position(116)로 목표위치가 변경되어도, 속도의 연속성을 유지하면서 목표 속도 궤적을 생성합니다.
이와 같이 속도의 불연속이 발생하지 않도록 목표 속도 궤적을 생성하는 기능을 Velocity Override라고 합니다.
여기서는 수식의 단순화를 위해 Profile의 시작속도를 ‘0’으로 가정합니다.

다음은 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드에서, Goal Position(116) 명령에 대한 Profile의 동작 과정을 나타냅니다.

  1. 사용자의 요청이 다이나믹셀 버스를 통해 Goal Position(116)에 등록됩니다.
  2. Profile Velocity(112)와 Profile Acceleration(108)에 의해서 가속 시간(t1)이 결정됩니다.
  3. Profile Velocity(112), Profile Acceleration(108) 그리고 총 이동거리(ΔPos, 목표위치와 현재위치의 차이)에 의해서 Profile의 형태가 다음과 같이 결정됩니다.
  4. 최종 선정된 Profile의 형태는 Moving Status(123)에 표기됩니다.(Moving Status(123) 참고)
  5. 다이나믹셀은 Profile에 의해 산출된 목표 궤적에 따라 이동하게 됩니다.
  6. Profile에 의한 목표 속도 궤적과 목표 위치 궤적은 Velocity Trajectory(136)와 Position Trajectory(140)에 표기됩니다.
  7. Goal Position(116)에 도달하는 시간(t3)와 VPRFL_TRI은 다음과 같이 계산됩니다.
조건 프로파일 형태
VPRFL(112) = 0 프로파일 미사용(Step 명령)
(VPRFL(112) ≠ 0) & (APRF(108) = 0) 사각 프로파일
(VPRFL(112) ≠ 0) & (APRF(108) ≠ 0) & (VPRFL_TRI ≤ VPRFL(112)) 삼각 프로파일
(VPRFL(112) ≠ 0) & (APRF(108) ≠ 0) & (VPRFL_TRI > VPRFL(112)) 사다리꼴 프로파일

Note 급격한 가속도의 변화를 최소화하기 위해서 다이나믹셀은 Jerk를 관리하고 있습니다. 따라서 Profile에 의한 목표궤적의 정확한 완료시간은 t3 보다 다소 길어질 수 있습니다.(상기 그림의 t4)

Note 속도 제어 모드에서는 Profile Acceleration(108)만 적용됩니다.
제공되는 Profile의 형태는 Step과 Trapezoidal 2가지 입니다.
Velocity Override 기능과 Jerk 관리 기능은 동일하게 동작합니다.
이때의 가속시간(t1)은 다음과 같습니다.
t1 = 64 * {Goal Velocity(104) / Profile Acceleration(108)}

Goal Position(116)

Goal Position(116)을 통해 목표위치를 설정할 수 있습니다. 모든 다이나믹셀은 Horn을 정면에서 바라봤을 때 CCW(Counter Clockwise) 방향이 증가 방향이고, CW(Clockwise) 방향이 감소 방향입니다. Goal Position(116)에 도달하는 방식은 다이나믹셀이 제공하는 4가지 형태의 Profile에 따라 달라집니다. Profile에 대한 자세한 내용은 Profile Velocity(112)를 참고하세요.

동작모드 범위 상세
위치제어 모드 Min Position Limit(52) ~ Max Position Limit(48) 초기값 : 0 ~ 4,095
확장 위치제어 모드 -1,048,575 ~ 1,048,575 -256[rev] ~ 256[rev]
전류기반 위치제어 모드 -1,048,575 ~ 1,048,575 -256[rev] ~ 256[rev]
각도 환산 계수 설명
0.088°/각도값 1 1[rev] : 0 ~ 4,095

Note Profile Acceleration(108), Profile Velocity(112)와 Goal Position(116)을 동시에 변경할 경우, 변경된 Profile Acceleration(108)과 Profile Velocity(112)가 적용되어 Goal Position(116)이 수행됩니다.

Realtime Tick(120)

다이나믹셀의 시간을 나타내는 지수입니다.

단위 범위 상세 설명
1 ms 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 0x80 - 미사용
Bit 6 0x40 - 미사용
Bit 5
~
Bit 4
0x30 Profile Type(0x30)
Profile Type(0x20)
Profile Type(0x10)
Profile Type(0x00)
사다리꼴 속도 프로파일(Trapezoidal Velocity Profile)
삼각 속도 프로파일(Triangle Velocity Profile)
사각 속도 프로파일(Rectangle Velocity Profile)
프로파일 미사용(Step)
Bit 3 0x08 Following Error 다이나믹셀이 목표위치 궤적을 추종하지 못하는 경우
Bit 2 0x04 - 미사용
Bit 1 0x02 Profile Ongoing Goal Position(116) 명령에 따라 Profile 진행 중인 경우
Bit 0 0x01 In-Position 다이나믹셀이 목표위치에 도달 경우

Present PWM(124)

현재 PWM 값입니다. 자세한 사항은 Goal PWM(100)을 참고하세요.

Present Current(126)

현재 전류 값입니다. 자세한 사항은 Goal Current(102)를 참고하세요

Present Velocity(128)

현재 속도 값입니다. 자세한 사항은 Goal Velocity(104)를 참고하세요

Present Position(132)

현재 위치 값입니다. 자세한 사항은 Goal Position(116)을 참고하세요.

Note Present Position(132)은 Torque OFF 상태일 경우, Operating Mode(11)와 상관없이 4 byte(-2,147,483,648 ~ 2,147,483,647)의 범위를 연속적으로 표현합니다.
Present Position(132)의 값이 초기화되는 시점은 다음과 같습니다.

  1. Operating Mode(11)가 위치 제어 모드로 변경되는 시점에 1rev(0 ~ 4,095) 범위로 초기화
  2. 위치 제어 모드에서 Torque ON으로 변경되는 시점에 1rev(0 ~ 4,095) 범위로 초기화

Homing Offset(20)에 의해 초기화 되는 값은 변경될 수 있습니다.

Velocity Trajectory(136)

Profile에 의해 생성된 목표 속도 궤적입니다. 제어 모드에 따라 동작 방식이 다음과 같이 달라집니다. 자세한 사항은 Profile Velocity(112)를 참고하세요.

  1. 속도 제어 모드 : Profile이 종료되면 Velocity Trajectory(136)은 Goal Velocity(104)와 동일해 집니다.
  2. 위치 제어 모드, 확장 위치 제어 모드, 전류기반 위치 제어 모드 : Position Trajectory(140)을 생성하기 위한 목표 속도 궤적입니다. Profile이 종료되면 Velocity Trajectory(136)은 ‘0’이 됩니다.

Position Trajectory(140)

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

Present Input Voltage(144)

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

Present Temperature(146)

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

External Port Data 1,2,3

External Port Data를 통해서 External Port의 신호를 제어하거나, External Port 신호의 상태를 확인할 수 있습니다.
External Port는 전기적으로 절연되어 있지 않기 때문에, 전기적 사양을 준수하시기 바랍니다.
쉴드 케이블(Shield cable)이나 트위스트 케이블(Twist pair cable)을 사용하실 경우, 보다 정밀한 측정이 가능합니다. 케이블 길이는 짧을수록 정밀한 측정에 유리합니다.

External Port Mode Access 상세 전기적 특성
Common - - 0 ~ 3.3[V], 0 ~ 5[mA]
VESD(HBM) : 2[kV]
0(AI) Read External Port 신호(signal)를 Digital로 변환
External Data = signal x (4,095 / 3.3)
Resolution : 12[bit] (0 ~ 4,095)
1(DO_PP) Write 0 : External Port의 출력을 0[V]로 변경
1 : External Port의 출력을 3.3[V]로 변경
Output High level(VOH) : 2.4 [V] (min)
Output Low level(VOL) : 0.5 [V] (max)
2(DI_PU)
3 (DI_PD)
Read 0 : External Port의 입력이 0[V]
1 : External Port의 입력이 3.3[V]
Input High level(VIH) : 2.3 [V] (min)
Input Low level(VIL) : 1.0 [V] (max)
Pull-Up/Down : 40 [kΩ] (typ)

※ VESD(HBM) : ESD(Electrostatic Discharge) Voltage(human body model)

주의 External Port는 전기적으로 절연되어 있지 않기 때문에, 전기적 사양을 준수하시기 바랍니다. 전기적 사양을 초과하거나 신호 연결에 문제가 있는 경우, 다이나믹셀이 손상될 수 있으므로 각별한 주의가 요구됩니다. External Port를 사용할 때 다음 사항들을 주의하시기 바랍니다.

  • 정전기(ESD), 단락(Short circuit), 단선(Open circuit) 등에 의한 전기적인 충격이 발생되지 않도록 주의해 주십시오.
  • External Port 커넥터로 물이나 먼지가 유입되지 않도록 주의해 주십시오.
  • External Port를 사용하지 않을 때는, 케이블을 제거해 주십시오.
  • External Port에 신호를 연결/해제는, 전원이 꺼진 상태에서 진행해주십시오.
  • External Port의 GNDext 핀과 다이나믹셀 커넥터의 GND핀을 직접 연결하지 마십시오. 전원 노이즈가 External Port로 유입될 수 있습니다.

Indirect Address, Indirect Data

Indirect Address와 Indirect Data 용도는 서로 떨어져있는 Control Table의 Address를 연속된 Address로 사용하기 위함입니다.
연속된 Address는 Instruction Packet을 효율성을 향상 시킵니다.
Indirect Address로 설정할 수 있는 Address는 RAM 영역(Address 64 ~ 661)으로 한정 됩니다.
Indirect Address에 특정 Address를 설정하면, Indirect Data는 특정한 Address에 해당하는 Data의 기능과 속성을 모두 상속받습니다.
동일한 속성이란 Size(Byte 길이), 값의 범위 그리고 Access(읽기 전용 속성, 읽기 쓰기 속성)를 모두 포함합니다.
즉, Indirect Address 1(168)에 65(LED의 Address)를 설정하면, Indirect Data 1(224)은 LED(65)와 동일한 기능을 수행하게 됩니다.

예제 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’로 변경되고 다이나믹셀이 구동됩니다.
Indirect Address 범위 설명
64 ~ 661 Indirection Address는 EEPROM 영역을 지정할 수 없습니다.

Note 2 byte 이상의 길이를 갖는 Control Table의 Data를 Indirect Address로 설정할 경우에는 예제 2와 같이 Control Table의 Data가 포함된 모든 Address를 Indirect Address로 설정해 주어야 정상동작합니다.

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

조립 예시

배선 예시

주의 중공형 케이블 조립시 주의사항

  • 케이블이 꼬이지 않도록 정리하여 조립합니다. 케이블이 꼬인 상태에서 케이스를 조립하면 케이스에 눌린 케이블로 인해 통신이 불안정해질 수 있습니다.

옵션프레임 조립

유지보수

혼과 기어 교체

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

혼 조립하기

아래 그림과 같이 혼과 기어의 마킹 위치에 맞추어 혼을 조립합니다.

혼을 끼워넣을 때 혼의 중심부를 밀면서 조립합니다.

기어 교체하기

기어가 손상되거나 오랜 사용으로 닳게 되면 교체해야 합니다. 아래 동영상을 참조해서 교체하시기 바랍니다.

참고자료

Note 호환성 가이드

퀵스타트

도면