본문으로 건너뛰기

XL320

경고

주의 : XL-320은 OLLO Geared Motor 및 Servo Motor와 다른 제품입니다.

사양

항목사양
MotorCored
Baud Rate7343 [bps] ~ 1 [Mbps]
Resolution0.29 [°]
Operating ModesJoint Mode (0 ~ 300 [°])
Wheel Mode (Endless Turn)
Weight16.7 [g]
Dimensions (W x H x D)24 x 36 x 27 [mm]
Gear Ratio238 : 1
Stall Torque0.39 [N.m] (at 7.4 [V], 1.1 [A])
무부하 속도114 [rev/min] (at 7.4 [V], 0.18 [A])
Operating Temperature-5 ~ +65 [°C]
Input Voltage6 ~ 8.4 [V] (권장 : 7.4 [V])
Command SignalDigital Packet
Protocol TypeTTL Half Duplex Asynchronous Serial Communication with 8bit, 1stop, No Parity
Physical ConnectionTTL Multidrop Bus
ID253 ID (0 ~ 252)
FeedbackPosition, Temperature, Load, Input Voltage, etc
Case MaterialEngineering Plastic
Gear MaterialEngineering Plastic
노트

참고 : Stall Torque는 순간적으로 낼 수 있는 최대 정지 토크입니다. 안정적인 동작을 위해 Stall Torque의 1/5 이하 부하로 로봇을 설계하는 것을 권장합니다.

위험

위험 (이 경고를 무시하면 심각한 상해 또는 사망에 이를 수 있습니다)

  • 제품 주위에 물, 가연성 물질/화기 또는 용제가 포함된 물건을 두지 마세요.
  • 작동 중인 제품 가까이에 손가락, 팔, 발가락 등 신체 일부를 가까이 대지 마세요.
  • 제품에서 이상한 냄새, 소음 또는 연기가 발생하면 즉시 작동을 중지하고 전원을 차단하세요.
  • 제품은 어린이의 손이 닿지 않는 곳에 보관하세요.
  • 배선이나 케이블을 설치하거나 전원을 공급하기 전에 입력 극성을 확인하세요.
경고

주의 (이 경고를 무시하면 가벼운 상해 또는 제품 손상이 발생할 수 있습니다)

  • 입력 전압, 전류, 동작 온도 등 제품의 공식 동작 환경 사양을 항상 준수하세요.
  • 제품 작동 중 칼날이나 기타 날카로운 물체를 넣지 마세요.
경고

알림 (이 주의를 무시하면 경미한 상해 또는 제품 손상이 발생할 수 있습니다)

  • 제품을 분해하거나 개조하지 마세요.
  • 제품을 떨어뜨리거나 강한 충격을 가하지 마세요.
  • 전원이 공급되는 동안 DYNAMIXEL 케이블을 연결하거나 분리하지 마세요.

컨트롤 테이블

컨트롤 테이블은 다이나믹셀 액추에이터가 장치 상태를 관리하기 위해 사용하는 데이터 구조입니다. 사용자는 Read Instruction Packet으로 데이터 레지스터를 읽어 장치 상태 정보를 확인하고, Write Instruction Packet으로 데이터 레지스터를 변경해 장치를 제어할 수 있습니다.

경고

주의 DYNAMIXEL-X 시리즈는 모델 및 펌웨어에 따라 컨트롤 테이블 구성이 다를 수 있습니다. 제어 프로그램에서 사용하는 Address와 지원 기능을 해당 모델의 컨트롤 테이블에서 확인하세요.

컨트롤 테이블, Data, Address

컨트롤 테이블은 장치 상태를 저장하거나 장치를 제어하기 위한 여러 Data 필드로 구성됩니다. 사용자는 Read Instruction Packet으로 컨트롤 테이블의 특정 Data를 읽어 현재 상태를 확인할 수 있습니다. WRITE Instruction Packet은 컨트롤 테이블의 특정 Data를 변경해 장치를 제어할 때 사용합니다. Address는 Instruction Packet으로 컨트롤 테이블의 특정 Data에 접근할 때 사용하는 고유 값입니다. 데이터를 읽거나 쓰려면 Instruction Packet에 특정 Address를 지정해야 합니다. Instruction Packet에 대한 자세한 내용은 DYNAMIXEL Protocol 2.0을 참고하세요.

노트

참고 : 음수 값에는 2의 보수가 적용됩니다. 자세한 내용은 Wikipedia의 Two's complement를 참고하세요.

Area (EEPROM, RAM)

컨트롤 테이블은 두 영역으로 나뉩니다. RAM 영역의 Data는 전원이 재인가되면 초기값으로 재설정됩니다(Volatile). 반면 EEPROM 영역의 Data는 장치 전원이 꺼져도 유지됩니다(Non-Volatile).

경고

EEPROM 영역의 Data는 Torque Enable(64)이 0(Torque OFF)일 때만 쓸 수 있습니다.

Size

Data의 Size는 용도에 따라 1 ~ 4 byte로 달라집니다. Instruction Packet으로 Data를 갱신할 때는 Data의 Size를 확인하세요. 2 byte보다 큰 Data는 Little Endian 방식으로 저장됩니다.

Access

컨트롤 테이블에는 두 가지 Access 속성이 있습니다. RW는 읽기와 쓰기가 가능함을 의미하고, R은 읽기만 가능함을 의미합니다. 읽기 전용 속성의 Data는 WRITE Instruction으로 변경할 수 없습니다. 읽기 전용 속성(R)은 일반적으로 측정 및 모니터링에 사용되며, 읽기/쓰기 속성(RW)은 장치 제어에 사용됩니다.

Initial Value

컨트롤 테이블의 각 Data는 장치 전원이 켜질 때 초기값으로 복원됩니다. EEPROM 영역의 기본값은 장치의 초기값(공장 출하 설정)입니다. 사용자가 EEPROM 영역의 값을 변경한 경우, 장치 전원이 켜질 때 변경된 값이 초기값으로 복원됩니다. RAM 영역의 초기값은 장치 전원이 켜질 때 복원됩니다.

EEPROM Area 컨트롤 테이블

AddressSize(Byte)Data Name설명Access초기
MinMax
02Model NumberModel NumberR350--
21Firmware VersionFirmware VersionR---
31IDDYNAMIXEL IDRW10252
41Baud RateCommunication SpeedRW303
51Return Delay TimeResponse Delay TimeRW2500254
62CW Angle LimitClockwise Angle LimitRW001023
82CCW Angle LimitCounter-Clockwise Angle LimitRW102301023
111Control ModeControl ModeRW212
121Temperature LimitMaximum Internal Temperature LimitRW650150
131Min Voltage LimitMinimum Input Voltage LimitRW6050250
141Max Voltage LimitMaximum Input Voltage LimitRW9050250
152Max TorqueMaximum TorqueRW102301023
171Status Return LevelSelect Types of Status ReturnRW202
181ShutdownShutdown Error InformationRW307

RAM Area 컨트롤 테이블

AddressSize(Byte)Data Name설명Access초기
MinMax
241Torque EnableMotor Torque On/OffRW001
251LEDStatus LED On/OffRW007
271D GainDerivative GainRW00254
281I GainIntegral GainRW00254
291P GainProportional GainRW320254
302Goal PositionDesired PositionRW-01023
322Moving SpeedMoving Speed(Moving Velocity)RW-02047
352Torque LimitTorque LimitRW-01023
372Present PositionPresent PositionR---
392Present SpeedPresent SpeedR---
412Present LoadPresent LoadR---
451Present VoltagePresent VoltageR---
461Present TemperaturePresent TemperatureR---
471Registered InstructionIf Instruction is registeredR0--
491MovingMovement StatusR0--
501Hardware Error StatusHardware Error StatusR0--
512PunchMinimum Current ThresholdRW3201023

컨트롤 테이블 설명

Model Number (0)

이 Address에는 DYNAMIXEL의 모델 번호가 저장됩니다.

Firmware Version (2)

이 Address에는 DYNAMIXEL의 펌웨어 버전이 저장됩니다.

ID (3)

ID는 네트워크에서 Instruction Packet으로 각 DYNAMIXEL을 식별하기 위한 고유 값입니다. ID는 0~252(0xFC) 값을 사용할 수 있으며, 254(0xFE)는 Broadcast ID로 사용됩니다. Broadcast ID(254, 0xFE)를 사용하면 연결된 모든 DYNAMIXEL에 Instruction Packet을 동시에 전송할 수 있습니다.

노트

참고 : 여러 DYNAMIXEL에 동일한 ID를 사용하지 마십시오. 동일한 ID를 사용하면 통신 오류가 발생하거나 해당 DYNAMIXEL을 검색하지 못할 수 있습니다.

노트

참고 : Instruction Packet ID가 Broadcast ID(0xFE)로 설정된 경우 Status Return Level(68) 설정값과 관계없이 READ 또는 WRITE Instruction에 대한 Status Packet은 반환되지 않습니다. 자세한 내용은 DYNAMIXEL Protocol 2.0Status Packet 항목을 참고하세요.

Baud Rate (4)

Baud Rate는 컨트롤러와 DYNAMIXEL 사이의 시리얼 통신 속도를 결정합니다.

ValueBaud Rate
09,600 bps
157,600 bps
2115,200 bps
31 Mbps
노트

참고 : 높은 Baud Rate에서 안정적으로 통신하려면 USB Latency 값을 낮게 설정하세요. USB Latency Setting

Return Delay Time (5)

DYNAMIXEL이 Instruction Packet을 수신하면 설정된 Return Delay Time(9)이 지난 뒤 Status Packet을 반환합니다. 설정 가능한 값의 범위는 0 ~ 254(0xFE)이며 단위는 2[μsec]입니다. 예를 들어 Return Delay Time(9)을 10으로 설정하면 Instruction Packet을 수신한 뒤 20[μsec] 후에 Status Packet이 반환됩니다.

Unit값 범위설명
2[μsec]0 ~ 254Default value ‘250’(500[μsec])
Maximum value: '508'[μsec]

CW/CCW Angle Limit(6, 8)

Angle Limit은 동작 범위를 제한합니다. 값의 범위와 단위는 Goal Position(30)과 같습니다.

  • CW Angle Limit: Goal Position(30)의 최솟값
  • CCW Angle Limit: Goal Position(30)의 최댓값

Control Mode(11)

ValueMode
1Wheel Mode
2Joint Mode

Temperature Limit(12)

DYNAMIXEL 동작 온도의 상한값입니다.

예를 들어 Temperature Limit(11) 값을 80으로 설정하면 80°C를 의미합니다. 동작 중인 DYNAMIXEL의 내부 온도가 Temperature Limit(11)을 초과하면 Status Packet은 ERROR 필드를 통해 Overheating Error Bit(Bit2)를 전송합니다. Alarm LED(17)/Shutdown(18)에 Overheating flag가 설정되어 있으면 Alarm LED가 점멸하고 모터 출력은 0[%]가 됩니다.

단위값 범위
About 1°C0 ~ 100
경고

주의 : 온도를 기본값보다 높게 설정하지 마세요. 온도 알람으로 Shutdown이 발생하면 재사용하기 전에 20분간 온도를 식히세요. 고온 상태에서 제품을 계속 사용하면 심각한 손상이 발생할 수 있습니다.

Min/Max Voltage Limit(13, 14)

동작 전압 범위입니다.

Unit값 범위설명
약 0.1V50 ~ 2505.0 ~ 25.0V

값의 범위는 50 ~ 160이며 단위는 0.1 [V]입니다. 예를 들어 Max Voltage Limit(14) 값이 80이면 8 V를 의미합니다. Min Voltage Limit(13)과 Max Voltage Limit(14)는 동작 전압의 최솟값과 최댓값을 결정합니다. 장치의 현재 입력 전압을 나타내는 Present Voltage(45)가 Max Voltage Limit(14)와 Min Voltage Limit(13)의 범위를 벗어나면 Hardware Error Status(50)의 Input Voltage Error Bit(0x10)가 설정되고, Status Packet은 Error 필드를 통해 Alert Bit(0x80)를 전송합니다. Shutdown(18)에 Input Voltage Error Bit(0x10)가 설정되어 있으면 Torque Enable(24)0(Torque OFF)으로 설정됩니다. 자세한 내용은 Shutdown(18) 섹션을 참고하세요.

Max Torque(15)

최대 출력 토크 값입니다. 0 ~ 1,023(0x3FF) 값을 사용할 수 있으며 단위는 약 0.1%입니다. 예를 들어 Data 1,023(0x3FF)은 DYNAMIXEL이 낼 수 있는 최대 토크의 100%를 사용한다는 의미이고, Data 512(0x200)는 최대 토크의 50%를 사용한다는 의미입니다. 전원이 켜지면 Torque Limit(34)는 Max Torque(14) 값으로 초기화됩니다.

Status Return Level(17)

Status Return Level(68)은 DYNAMIXEL이 Instruction Packet을 수신했을 때 Status Packet을 반환하는 방식을 설정합니다.

ValueResponding Instructions설명
0PING InstructionPING Instruction에 대해서만 Status Packet을 반환합니다
1PING Instruction
READ Instruction
PING과 READ Instruction에 대해 Status Packet을 반환합니다
2All Instructions모든 Instruction에 대해 Status Packet을 반환합니다
노트

참고 : Instruction Packet ID가 Broadcast ID(0xFE)로 설정된 경우 Status Return Level(68) 값과 관계없이 READ 또는 WRITE Instruction에 대한 Status Packet은 반환되지 않습니다. 자세한 내용은 DYNAMIXEL Protocol 2.0Status Packet 항목을 참고하세요.

Shutdown(18)

DYNAMIXEL은 동작 중 발생하는 오류를 감지하여 스스로를 보호할 수 있습니다. 설정할 수 있는 오류는 아래 표와 같습니다.

Bit항목설명
Bit 3~7--
Bit 2Input Voltage Error전압이 동작 전압 범위를 벗어난 경우
Bit 1OverHeating Error온도가 동작 온도 범위를 벗어난 경우
Bit 0Overload Error부하가 지속적으로 가해져 모터가 최대 부하를 출력할 수 없는 경우

각 Bit는 OR 로직으로 처리되므로 여러 오류를 동시에 설정할 수 있습니다. 예를 들어 0x05(binary 00000101)를 설정하면 Input Voltage Error와 Overload Error를 모두 감지할 수 있습니다. 오류가 발생하면 Alarm LED 설정 시 LED가 깜박이고, Alarm Shutdown 설정 시 Torque Limit(35) 값이 0이 되어 모터 출력이 0 %가 됩니다.

Torque Enable(24)

Torque Enable(64)은 Torque ON/OFF를 결정합니다. Torque Enable Address에 1을 쓰면 Torque가 켜지고 EEPROM Area의 모든 Data가 잠깁니다.

Value설명
0(Default)Torque Off
1Torque On and lock EEPROM area
노트

참고 : Operating Mode(11)Torque Enable(64)이 갱신될 때 Present Position(132)이 초기화될 수 있습니다. 자세한 내용은 Homing Offset(20)Present Position(132)을 참고하세요.

LED(25)

Bit 조합에 따라 XL-320의 LED 출력 색상이 변경됩니다.

Enabled BitDecimal ValueOutput Color
NONE (000)0OFF
Bit 0 (001)1Red
Bit 1 (010)2Green
Bit 2 (100)4Blue
Bit 0, Bit 1 (011)3Yellow
Bit 1, Bit 2 (110)6Cyan
Bit 0, Bit 2 (101)5Purple
Bit 0, Bit 1, Bit 2 (111)7White
정보

참고 : LED는 장치의 현재 상태를 나타냅니다.

StatusLED Representation
BootingRed LED가 한 번 깜박임
Factory ResetRed LED가 네 번 깜박임
AlarmRed LED가 깜박임
Boot ModeRed LED On

PID Gains(27, 28, 29)

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 와 컴플라이언스 슬로프와의 관계

SlopeP Gain
8128
1664
3232
6416
1288

P Gain이 작을수록 유격이 커지고 목표위치 근처에서의 출력이 약해집니다. 즉, Margin과 Slope를 합친 것과 같은 개념입니다. 구형 다이나믹셀의 Compliance의 개념과 매칭되지 않습니다.

노트

참고 : PID 제어론은 단순히 모터 제어에만 국한되지 않고, 모든 제어에 적용할 수 있는 일반적인 이론입니다. PID 제어에 대한 자세한 정보는 PID Controller를 참고하세요.

Goal Position(30)

Goal Position(30)을 통해 DYNAMIXEL의 목표 위치를 설정합니다. 사용 가능한 위치 범위는 0 ~ 1,023(0x3FF)이며 단위값은 0.29°입니다. Goal Position(30)이 CW/CCW Angle Limit(6, 8)를 벗어나도록 설정되면 Status Packet은 ERROR 필드로 Angle Limit Error Bit(0x01)를 전송합니다. 이때 Alarm LED(17)/Shutdown(18)에 Angle Limit Error Bit(0x01)가 설정되어 있으면 Alarm LED가 점멸하고 모터 출력은 0[%]가 됩니다.

위 그림은 DYNAMIXEL을 정면에서 본 모습입니다.

노트

참고 : Wheel Mode로 설정하면 Goal Position 값은 사용되지 않습니다.

Moving Speed(32)

  • Join Mode, Multi-Turn mode Goal Position까지 이동하는 속도입니다. 0~1,023(0x3FF)을 사용할 수 있으며 단위는 약 0.111rpm입니다. 0으로 설정하면 속도를 제어하지 않고 모터의 최대 rpm을 사용한다는 의미입니다. 1,023이면 약 114rpm입니다. 예를 들어 300으로 설정하면 약 33.3 rpm입니다. 단, rpm은 무부하 속도를 초과하지 않습니다.

  • Wheel Mode Goal 방향으로 이동하는 속도입니다. 02,047(0x7FF)을 사용할 수 있으며 단위는 약 0.1%입니다. 01,023 범위의 값을 사용하면 CCW 방향으로 회전하며, 0으로 설정하면 정지합니다. 1,024~2,047 범위의 값을 사용하면 CW 방향으로 회전하며, 1,024로 설정하면 정지합니다. 즉, 10번째 bit가 방향을 제어하는 방향 bit가 됩니다. 예를 들어 512로 설정하면 최대 출력의 50%로 제어한다는 의미입니다.

노트

참고 : Wheel Mode에서는 최대 rpm을 확인할 수 있습니다. 최대 rpm보다 큰 값은 적용되지 않습니다.

Torque Limit(35)

최대 토크 제한값입니다. 0 ~ 1,023(0x3FF) 값을 사용할 수 있으며 단위는 약 0.1%입니다. 예를 들어 값이 512이면 약 50%이며, 최대 토크의 50%만 사용한다는 의미입니다. 전원이 켜지면 Torque Limit(34)는 Max Torque(14) 값으로 리셋됩니다.

노트

참고 : Alarm LED(17)/Shutdown(18) 기능이 동작하면 Torque Limit(34)가 0이 되어 모터의 토크가 사라집니다. 오류 조건이 해제된 뒤 Torque Limit(34)를 0이 아닌 값으로 변경하면 모터를 다시 동작시킬 수 있습니다.

Present Position(37)

DYNAMIXEL의 현재 위치값입니다. Present Position(36)의 범위는 0 ~ 1,023(0x3FF)이며 단위는 0.29[°]입니다.

위 그림은 DYNAMIXEL을 정면에서 본 모습입니다..

경고

주의 : Wheel Mode로 설정하면 Present Position(36)을 이동 거리나 회전수 측정에 사용할 수 없습니다.

Present Speed(39)

현재 이동 속도입니다. 02,047(0x000 ~ 0x7FF)을 사용할 수 있습니다. 01,023 범위의 값이면 모터는 CCW 방향으로 회전합니다. 1,024~2,047 범위의 값이면 모터는 CW 방향으로 회전합니다. 10번째 bit는 방향을 제어하는 방향 bit이며, 0과 1,024는 같은 값으로 취급됩니다. 이 값의 단위는 Operation Mode에 따라 달라집니다.

  • Joint Mode 단위는 약 0.111rpm입니다. 예를 들어 300으로 설정하면 모터가 약 33.3rpm 속도로 CCW 방향으로 이동한다는 의미입니다.

  • Wheel Mode 단위는 약 0.1%입니다. 예를 들어 512로 설정하면 최대 토크의 50%로 CCW 방향 토크가 제어된다는 의미입니다.

Present Load(41)

현재 적용되는 하중을 의미합니다. 이 값의 범위는 0 ~ 2,047이며, 단위는 약 0.1 [%]입니다. 0 ~ 1,023 범위의 값은 CCW 방향으로 하중이 작용한다는 의미입니다. 1,024 ~ 2,047 범위의 값은 CW 방향으로 하중이 작용한다는 의미입니다. 즉, 10번째 bit가 방향을 제어하는 direction bit가 되며, 1,024는 0과 같습니다. 예를 들어, 값이 512이면 CCW 방향으로 최대 출력 대비 약 50 [%]로 하중이 감지된다는 의미입니다.

Bit15 ~ 11109 ~ 0
0하중 방향데이터 (하중 비율)
노트

참고 : CCW 하중 : 하중 방향 비트(Bit 10) = 0, CW 하중 : 하중 방향 비트(Bit 10) = 1

노트

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

Present Voltage(45)

현재 공급되는 전압의 크기입니다. 이 값은 실제 전압의 10배입니다. 예를 들어 10V가 공급되면 Data 값은 100(0x64)입니다.

자세한 내용은 Min/Max Voltage Limit(13, 14)를 참고하세요.

Present Temperature(46)

DYNAMIXEL의 내부 온도를 섭씨로 나타낸 값입니다. Data 값은 실제 섭씨 온도와 동일합니다. 예를 들어 Data 값이 85(0x55)이면 현재 내부 온도는 85°C입니다.

자세한 내용은 Temperature Limit(12)를 참고하세요.

Registered Instruction(47)

Reg Write Instruction에 의해 Write Instruction이 등록되었는지 나타냅니다.

Value설명
0No instruction registered by REG_WRITE.
1Instruction registered by REG_WRITE exists.
노트

참고 : ACTION Instruction이 실행되면 Registered Instruction(69)은 0으로 변경됩니다.

Moving(49)

설명
0Goal position 명령 수행을 완료했습니다.
1Goal position 명령을 수행중입니다.

Hardware Error Status(50)

현재 하드웨어 오류 상태와 Alarm Shutdown 오류 값을 나타냅니다.

Punch(51)

구동시에 모터에 공급되는 최소 전류량 입니다. 기본값은 0x00이며 최고 0x3FF까지 설정할 수 있습니다.

참고 자료

커넥터 정보

항목TTL
핀 번1 GND
2 VDD
3 DATA
다이어그램
하우징
MOLEX 51065-0300
PCB Header
MOLEX 53253-0370
Crimp TerminalMOLEX 50212-8000
Wire Gauge for DYNAMIXEL24 AWG

Communication Circuit

DYNAMIXEL 액추에이터를 제어하려면 메인 컨트롤러가 UART 신호를 Half Duplex 방식으로 변환해야 합니다. 권장 회로도는 아래와 같습니다.

TTL Communication

노트

참고 : 위 회로는 5V 또는 5V tolerant MCU용으로 설계되었습니다. 그렇지 않은 경우 MCU 전압에 맞도록 Level Shifter를 사용하세요.

도면

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