Edit on GitHub

개요

다이나믹셀 쉴드(아두이노 MKR 시리즈)(이후 “다이나믹셀 쉴드 MKR”로 통칭)는 MKR ZERO, MKR1000 WIFI, MKR WiFi 1010, Portenta H7과 같은 아두이노의 MKR 폼팩터를 공유하는 제어기와 호환됩니다.

아두이노 라이브러리(DYNAMIXEL2Arduino, DYNAMIXEL Shield)가 제공되어 아두이노 환경에서 다이나믹셀을 빠르고 편리하게 개발할 수 있습니다.

본 매뉴얼의 다이나믹셀 쉴드 라이브러리 항목을 참고하세요.

주의

  1. 본 제품은 아두이노 제어기를 포함하지 않습니다. 아두이노 제어기는 별도로 구매하시기 바랍니다.
  2. 다이나믹셀 X 시리즈와 호환되는 TTL 헤더가 한 개 기본장착 되어있습니다.
    (제품 패키지에 AX, MX, X 시리즈에 사용할 수 있는 헤더가 동봉되어 있습니다)
  3. 필요한 경우 동봉된 부품을 납땜해서 사용하시기 바랍니다.
  4. 일부 아두이노 MKR 쉴드는 사용하는 핀에 따라 다이나믹셀 쉴드 MKR과 완전하게 호환되지 않을 수 있습니다. 다이나믹셀 쉴드 MKR과 함께 사용할 경우 각 제품의 데이터시트를 참고하시기 바랍니다.

시작하기

사용하고자하는 다이나믹셀에 맞는 전원을 공급해주세요.

제품 사양

항목 사양
VIN(DXL) 입력 전압1 3.5 ~ 24 [V]
동작 온도 -10 ~ +80 [°C]
커넥터2 JST(S3B-EH), Molex(5268-02A)
배터리 커넥터3(SMW250-02)
터미널 블럭(DG350-3.5-02P-14)
통신 연결 TTL Multidrop Bus (5V Level)
케이블
DC 잭 케이블. Type A, O.D: 5.5 [mm], I.D: 2.5 [mm]
XL-320 변환 케이블
크기 65 x 25 [mm]
무게 11 [g]

1 12V를 지원하는 다이나믹셀 사용시 ROBOTIS SMPS 12V 5A PS-10 전원공급 장치를 추천합니다.
2 한개의 JST 헤더가 기본 조립되어 있습니다. 필요한 경우 동봉된 커넥터를 사용하세요.
3 배터리 커넥터는 다음의 로보티즈 배터리와 호환됩니다. LB-010 또는 LB-020.

지원하는 다이나믹셀

다이나믹셀 쉴드 MKR은 TTL 기반의 다이나믹셀 제품을 지원합니다.

다이나믹셀 제품      
AX AX-12W
AX-12+/12A
AX-18F/18A
   
MX MX-12W
MX-28T/AT
MX-28T/AT(2.0)
MX-64T/AT
MX-64T/AT(2.0)
MX-106T/AT
MX-106T/AT(2.0)
XL XL-320
XL330-M077-T
XL330-M288-T
XL430-W250-T
2XL430-W250-T
 
XC XC330-T288
XC330-T181
XC330-M288
XC330-M181
XC430-W150-T
XC430-W240-T
2XC430-W250-T
 
XM   XM430-W210-T
XM430-W350-T
XM540-W150-T
XM540-W270-T
XH   XH430-W210-T
XH430-W350-T
XH540-W150-T
XH540-W270-T

부품 목록

제품 패키지에는 다음과 같은 부품이 포함되어 있습니다.

각 부 명칭

다이나믹셀 쉴드 MKR의 회로 도면은 아래 링크를 통해 다운로드 받을 수 있습니다.

다이나믹셀 쉴드 MKR의 헤더는 아두이노 MKR 제어기를 기반으로 호환됩니다.

항목 세부 설명
DYNAMIXEL Ports(TTL) TTL 기반의 다이나믹셀 지원
VIN(DXL) 다이나믹셀 전용 외부 전원 공급 포트. 아두이노 MKR 제어기에 전원을 공급할 수 없음.
+5V1 아두이노 MKR 제어기의 5V 전원을 다이나믹셀에 공급 (XL330 시리즈)
Jumper Cap VIN(DXL)+5V 중 다이나믹셀 전원 공급 선택

1 일부 아두이노 MKR 제어기는 연결된 USB 장치를 보호하기 위해 5V 전원 공급이 원활하지 않을 수 있습니다.

아두이노 MKR 제어기 핀아웃 예시. 자세한 내용은 아두이노 제품을 참고하세요.

핀 번호 핀 명칭 세부 설명
13 RX 다이나믹셀로부터 데이터를 수신받는 하드웨어 시리얼 입력 핀
14 TX 다이나믹셀에 데이터를 전송하는 하드웨어 시리얼 출력 핀
21(A6) TX_EN 다이나믹셀의 TTL BUS 흐름을 제어하는 핀
- HIGH : 송신
- LOW : 수신

연결 방법

다이나믹셀 쉴드 MKR은 아두이노 MKR 제어기의 상단 또는 하단에 조립될 수 있습니다.
하나의 아두이노 MKR 제어기에 여러 쉴드를 사용할 경우 사용하는 핀에 따른 호환여부에 주의하시기 바랍니다.
아두이노 MKR 제어기는 다이나믹셀 쉴드 MKR의 VIN(DXL) 포트로부터 전원을 공급받을 수 없습니다.

12V X 시리즈 다이나믹셀

12V 입력을 지원하는 대부분의 X 시리즈에는 다음과 같은 연결을 추천합니다 (XL-320과 XL330 제외).
PC와 연결된 USB로부터 아두이노 MKR 제어기의 전원 공급 및 시리얼 통신이 이루어지며, 12V SMPS로부터 다이나믹셀 쉴드 MKR에 연결된 다이나믹셀에 전원이 공급됩니다.

AX / MX 시리즈 다이나믹셀

AX와 MX 시리즈 다이나믹셀은 Molex 커넥터를 사용합니다.
동봉된 AX / MX 전용 커넥터를 비어있는 다이나믹셀 쉴드 MKR의 포트에 납땜하여 사용하거나 로봇 케이블-X3P 180mm (변환용)을 사용하세요.

XL330 (USB 전원)

XL330 시리즈는 다이나믹셀 최초의 저전압 제품으로, 5V USB 전원에서 구동할 수 있습니다.
다이나믹셀 쉴드 MKR의 전원 선택 점퍼+5V쪽으로 바꿔 꽂은 다음, 아두이노 MKR 제어기의 5V USB 전원을 다이나믹셀에 공급할 수 있습니다.

일부 아두이노 MKR 제어기는 연결된 USB 장치를 보호하기 위해 5V 전원을 제한할 수 있습니다.

아두이노 제어기에 프로그램이 업로드 되고나면, 1셀 리튬 계열의 배터리(3.7V)를 사용하여 각각 아두이노 MKR 제어기와 XL330 다이나믹셀에 전원을 공급하여 사용할 수도 있습니다.

전원 선택 점퍼

VIN(DXL)을 통해 외부의 전원 사용시 아두이노 MKR 제어기의 5V USB 전원 사용시
외부의 전원 공급 장치로부터 VIN(DXL)를 통해 다이나믹셀의 전원을 공급할 경우, 터미널 블럭에 표시된 극성에 맞게 케이블을 연결하시기 바랍니다. 이때 아두이노 MKR 제어기의 전원을 별도로 공급해야 합니다. 아두이노 MKR 제어기의 +5V USB 전원을 다이나믹셀에 공급할 경우 일부 아두이노 MKR 제어기의 내장된 퓨즈로 인해 충분한 5V 전원을 공급받지 못할 수 있습니다. 사용하려는 아두이노 MKR 제어기의 자료를 참고하시기 바랍니다.

다이나믹셀 쉴드 MKR에 전원을 공급할 때 전원의 극성을 다시 한 번 확인해주세요.

다이나믹셀 쉴드 라이브러리

  1. DYNAMIXEL2Arduino 라이브러리 : 깃허브 저장소
  2. DYNAMIXEL Shield 라이브러리 : 깃허브 저장소

특징

라이브러리 설치

참고
아두이노 MKR 제어기를 아두이노 IDE에서 프로그램할 때에는 Arduino SAMD Boards manager가 아두이노 보드 매니저에 설치되어 있어야 합니다.

아두이노 IDE에 라이브러리를 설치하는 방법은 아래와 같이 세 가지가 있습니다.

  1. 라이브러리 매니저를 활용하는 방법
  2. Zip파일로 압축된 라이브러리를 불러오는 방법
  3. 수동으로 설치하는 방법

각각의 방법은 아두이노 공식 가이드에서 찾아볼 수 있습니다.
여기에서는 라이브러리 매니저를 활용하는 방법을 안내합니다.

아두이노 라이브러리 매니저에서 dynamixel shield를 검색하고 최신 버전을 설치합니다.

전부 설치를 선택해서 Dynamixel2Arduino를 설치합니다.

라이브러리가 모두 설치되면, 아래와 같이 DynamixelShield 항목 아래의 예제를 사용할 수 있습니다.

라이브러리 API

다이나믹셀 쉴드(v0.1.0 이상))

주의
다이나믹셀 쉴드 라이브러리(v0.1.0 이상)를 사용하기 위해서는 DYNAMIXEL2Arduino 라이브러리를 설치해야 합니다.

Dynamixel2Arduino 클래스

Master 클래스

Dynamixel2Arduino 클래스는 Master 클래스로부터 다음의 함수를 상속받습니다.

RobotisRemoteController 클래스

Remote Controller 클래스는 아두이노 MKR 제어기의 SoftwareSerial 기능을 활성화 해서 사용할 수 있습니다.

예제

CAN2DYNAMIXEL

CAN2DYNAMIXEL는 CAN 기반의 다이나믹셀 프로토콜을 다이나믹셀 프로토콜 2.0으로 변환하는 예제입니다.

MCP2515를 사용하는 CAN shield board를 사용해야 하며, 107-Arduino-MCP2515 라이브러리는 아두이노 IDE의 Library Manager에서 검색 후 설치할 수 있습니다.

다운로드

본 예제는 DYNAMIXEL Shield library에 포함되어 있으며 Arduino IDE의 File > Examples > DynamixelShield > advanced > can2dynamixel에서 찾을 수 있습니다.

테스트 환경

예제 테스트에 사용된 환경은 아래와 같습니다.

주의

  • 예제에서 사용하는 Baudrate은 1,000,000 bps입니다. 다이나믹셀의 통신속도를 맞춰주세요.
  • 1,000,000 bps 이상의 통신속도를 사용할 경우 통신이 불안정할 수 있습니다.

구성도

추가 정보

이 예제에서는 아래와 같은 구조의 CAN Standard Protocol 2.0이 사용되었습니다.

1 Bit 11 Bit 1 Bit 1 Bit 1 Bit 4 Bit 8 Byte 2 Byte 2 Bit 7 Bit 3 Bit
SOF ID RTR IDE r0 DLC Data CRC ACK EOF IFS

참고 : CAN2DYNAMIXEL은 Data 필드의 크기 제한으로 인해 Sync 또는 Bulk를 지원하지 않습니다.

IXXAT canAnalyser3 Mini 프로그램의 Transmit 부분에서는 아래와 같이 ID (hex)Data (hex)를 입력하면 나머지 필드가 자동으로 완성됩니다.

RCPWM2DYNAMIXEL

RCPWM2DYNAMIXEL은 다이나믹셀을 RC로 제어하는 예제입니다.
RC 조종기에서 송신된 명령어가 RC 수신기에서 PWM 신호로 출력되면 아두이노 MKR 제어기에서 이를 다이나믹셀 프로토콜 2.0으로 변환합니다.

RC 수신기의 전원 인가시 갑작스러운 움직임으로 인한 사고를 방지하기 위한 Soft Start 기능과, RC 수신기의 전원이 차단되었을 때 안전한 위치로 다이나믹셀을 이동시키는 Fail Safe 기능이 구현되어 있습니다.

다운로드

본 예제는 DYNAMIXEL Shield library에 포함되어 있으며 Arduino IDE의 File > Examples > DynamixelShield > advanced > rc_pwm2dynamixel에서 찾을 수 있습니다.

테스트 환경

예제 테스트에 사용된 환경은 아래와 같습니다.

참고: 사용가능한 다이나믹셀의 개수는 수신기와 아두이노 제어기의 입력 가능한 채널개수에 따라 달라질 수 있습니다.

주의: 다이나믹셀 X 시리즈의 기본 통신속도는 57600 bps이며, 예제에서 사용하는 Baudrate은 1000000 bps입니다. 다이나믹셀과 예제의 통신속도를 동일하게 설정하시기 바랍니다.

구성도

개요

배선도

RC 수신기와 DYNAMIXEL Shield MKR은 아래와 같이 연결할 수 있습니다.

connection_diagram

다운로드

FAQ