Edit on GitHub

개요


OpenRB-150은 아두이노와 호환되는 오픈소스 제어기입니다.

아두이노 MKR 보드와 동일한 폼팩터를 특징으로, MKR 악세사리와 호환 및 프로그래밍 할 수 있습니다.

4개의 다이나믹셀 전용 포트를 가지고 있으며, 다이나믹셀 전용 소프트웨어인 다이나믹셀 위자드 2.0을 사용할 수 있습니다.

참고: OpenRB-150에서 다이나믹셀 위자드 2.0을 사용하기 위해서는, 특정 펌웨어가 필요합니다. 해당 펌웨어는 OpenRB 보드 매니저에 포함되어 있습니다.

제품 사양

항목 사양
CPU SAMD21 Cortex-M0+ 32bit low power ARM® MCU
동작 전압 (USB 3.0) 5 V
(VIN -or Terminal) 3.7 ~ 12.6 V
지원 배터리 Li-Po 1 - 3 cell (3.7 - 11.1 V)
XT60 connector ready
DC 전류 (3.3V) Max 300 mA
DC 전류 (5V) Max 300 mA (변경 전)
Max 150 mA (변경 후)
다이나믹셀 포트 전류 3,000 mA
회로 동작 전압 3.3 V
디지털 입출력 I/O 핀 24
PWM 핀 12 (0, 1, 2, 3, 4, 5, 6, 7, 8, 10, A3 - or 18 -, A4 -or 19)
UART 2
SPI 1
I2C 1
아날로그 입력 핀 7 (ADC 8/10/12 bit)
아날로그 출력 핀 1 (DAC 10 bit)
외부 인터럽트 10 (0, 1, 4, 5, 6, 7, 8, A1 -or 16-, A2 - or 17)
입/출력 DC 전류 7 mA
플래시 메모리 256 KB
플래시 메모리 (부트로더) 8 KB
SRAM 32 KB
EEPROM 없음
클럭 속도 32.768 kHz (RTC), 48 MHz
내장 LED 3
다이나믹셀 TTL 포트 1 4 (Max 1 Mbps)
크기 25 x 66 mm
지원 소프트웨어 및 환경 아두이노 IDE, 다이나믹셀 위자드 2.0
지원 다이나믹셀 2 X 시리즈, MX 시리즈, AX 시리즈, P 시리즈

1

통신 속도 오차율
1M [bps] 0.000 [%]
115,200 [bps] -0.160 [%]
57,600 [bps] -0.160 [%]
9,600 [bps] 0.000 [%]

1 RS-485 모델은 다이나믹셀 커뮤니케이션 브릿지를 사용하세요.

2 동작전압이 24V인 다이나믹셀은, 제어기와 독립된 별도의 전원을 사용하세요.

참고: 5V 레귤레이터가 변경되어 2024년부터 DC 전류(5V) 값이 변경되었습니다. (300mA -> 150mA)

  • USB 포트에서 공급받을 수 있는 전류는 최대 500mA 입니다 (내장 퓨즈 사용). 그러나 순간적으로 높은 전류를 사용할 경우 OpenRB-150에 연결된 USB 포트가 손상될 수 있습니다.
  • 높은 토크 및 순간적으로 빠른 동작을 요구하는 제품의 경우, 터미널 블록(외부 전원 입력)을 통해 충분한 전원을 공급하세요.
  • 제어기와 다이나믹셀을 연결하기 전에, 반드시 동작전압에 맞는 전원을 사용하세요.
  • I/O 핀이 허용할 수 있는 최대 전압은 3.3V입니다. I/O 핀에 3.3V보다 높은 전압을 인가하면 보드가 손상될 수 있습니다.
  • 전원이 꺼진 상태에서 장치와 전원을 연결하시고 스위치로 ON/OFF 해주세요.


위험
(심각한 상해 또는 사망에 이르게 할 수 있습니다.)

  • 제품 주위에 가연성 물질, 계면활성제, 음료수, 물을 분사하거나 흡입시키지 마세요.
  • 작동 중인 제품에 손, 발과 같은 신체 또는 신체의 일부를 넣지 마세요.
  • 제품에서 이상한 냄새가 나거나, 연기가 발생하면 전원 연결을 즉시 끊어주세요.
  • 아이들이 제품으로 장난치지 않도록 하세요.
  • 전원공급 시 극성을 반드시 확인해 주세요.


경고
(상해나 제품 손상의 원인이 됩니다.)

  • 제품의 사용 환경을 준수하세요. (전압, 온도 등)
  • 작동 중인 제품 내부로 칼날, 압정, 불씨 등을 흡입시키지 마세요.


주의
(상해나 제품 손상의 원인이 됩니다.)

  • 제품을 사용자 임의로 분해 또는 개조하지 마세요.
  • 제품에 강한 충격을 가하거나 떨어드리지 마세요.

하드웨어 레이아웃

핀아웃

리셋 버튼

RESET 버튼을 눌러, 제어기를 재부팅할 수 있습니다.

RESET 버튼을 빠르게 2번 누르면 부트로더 모드로 진입하며, 이 상태에서는 업로드된 스케치 또는 펌웨어가 실행되지 않습니다.

주의
OpenRB-150 제어기가 리셋되면, 다이나믹셀의 전원도 함께 리셋됩니다 (다이나믹셀 전원 스위치 참고).

제품의 손상 및 사고를 방지하기위해, 다이나믹셀이 안전한 위치에 있을 때 제어기를 리셋하세요.

다이나믹셀 전원 스위치

다이나믹셀 포트로 출력되는 전원은, 제어기 뒷면에 위치한 FET에 의해 제어됩니다.

FET는 다이나믹셀 포트로 전원을 연결 또는 차단할 수 있으며, OpenRB-150의 전원이 켜지면 FET는 기본값으로 차단됩니다.

FET이 켜진다면, DXL LED(적색)가 켜지며 이를 통해 전원공급 상태를 알 수 있습니다.

터미널 전원 입력

터미널 블록을 통해, 넓은 범위의 입력전원을 사용할 수 있습니다 (권장).

터미널 블록을 통해 OpenRB-150에 전원 공급 시, 제공되는 전원 점퍼를 아래와 같이 VIN(DXL)에 결합하세요.

터미널 블록 사용 시, VIN 전원 점퍼 결합 위치

전원 입력 회로

주의
배터리가 제어기에 연결되어 있는 상태에서는 배터리를 충전하지 마세요.

XT60 커넥터

RC 제품에서 광범위하게 사용하는 XT60 커넥터는, OpenRB-150의 후면에 조립이 가능합니다.

전면의 터미널 블록을 먼저 제거 후, 직각형 타입의 XT60 커넥터를 납땜하여 사용할 수 있슴니다.

XT60 커넥터 위치

전원 점퍼

OpenRB-150은 3개의 전원 입력을 선택할 수 있습니다.

선택한 전원 입력으로부터 다이나믹셀과 제어기에 공급하기 위해서는, 전원 점퍼를 아래와 같이 결합하세요.

USB or VIN 핀 사용시 XT60 또는 터미널 블록 사용시

다이나믹셀 포트

OpenRB-150은 4개의 TTL 다이나믹셀 포트를 제공합니다.

항목 TTL
핀번호 1 GND
2 VDD
3 DATA
다이어그램
하우징
JST EHR-03
PCB 헤더
JST B3B-EH-A
크림프 터미널 JST SEH-001T-P0.6
다이나믹셀 전선규격 21 AWG

참고: 위 회로는 5V 전원을 사용하는 MCU를 사용하거나 IO가 5V tolerant한 경우 사용 가능합니다. 그 외의 경우, Level Shifter를 사용하세요.

RS-485 다이나믹셀 모델을 OpenRB-150과 사용하기 위해서는, 다이나믹셀 커뮤니케이션 브릿지를 연결해서 사용할 수 있습니다.

다이나믹셀 커뮤니케이션 브릿지

시리얼 포트

Serial2 포트는 코드 디버깅 및 다양한 디바이스를 제어하기 위해 사용될 수 있습니다.

LED

3개의 내장 LED를 통해, OpenRB-150의 현재 상태를 알 수 있습니다.

핀 이름 정의

// Battery
#define ADC_BATTERY	(33u)

// LEDs
#define PIN_LED     (32u)
#define LED_BUILTIN PIN_LED

// DYNAMIXEL POWER FET
#define BDPIN_DXL_PWR_EN  (31u)

전원 연결 방법

OpenRB-150은 다음의 3가지 전원 입력 방법을 통해 구동할 수 있습니다.

USB C

VIN

터미널 VIN 단자

주의

  1. OpenRB-150에 전원 연결시, 반드시 극성을 확인하세요. 극성이 반대일 경우, 제어기에 심각한 손상을 줄 수 있습니다.
  2. 선택한 전원 입력 방법에 따라, 전원 점퍼를 올바른 위치에 결합하세요.

연결 예시

[USB 전용] 5V 다이나믹셀 연결하기

주의
USB를 통해 다이나믹셀을 구동할 경우, 연결 가능한 다이나믹셀의 개수가 제한될 수 있습니다.
또한 USB포트에서 제공 가능한 전력을 초과하게 되면 PC에 오류가 생기거나 손상될 수 있습니다.

높은 토크를 필요로하거나 순간적으로 빠른 동작을 요구하는 어플리케이션은, 아래와 같이 터미널 블록(외부 전원 입력)을 통해, 연결된 액츄에이터에 충분한 전력을 공급해야 합니다.

[외부 전원] 12V 다이나믹셀 연결하기 (TTL)

[외부 전원] 12V 다이나믹셀 연결하기 (RS485)

개발 환경

다이나믹셀 위자드 2.0

OpenRB-150은 다이나믹셀 전용 유지보수 소프트웨어인 다이나믹셀 위자드 2.0을 지원합니다.
전용 펌웨어인 usb_to_dynamixel 예제는 새 제품에 기본 설치되며, 아두이노 IDE에서 보드 매니저의 기본예제로도 제공됩니다.

참고
usb_to_dynamixel 예제는 OpenRB-150에 공장 출하 상태로 설치되며, 최대 1 Mbps 까지 지원합니다.

usb_to_dynamixel 업로드 후, 다이나믹셀 위자드 2.0의 다양한 기능을 사용해 보세요.

OpenRB-150은 다이나믹셀 위자드 2.0의 대부분의 기능을 사용할 수 있습니다: 다이나믹셀 테스트, 펌웨어 업데이트/복구, 패킷 분석, 그래프 및 컨트롤 테이블 백업.

최대 1Mbps 내에서 여러 통신속도 지원

다이나믹셀 펌웨어 복구 및 업데이트 지원

그래프 기능 지원

다이나믹셀 전용 패킷 분석 도구 지원

아두이노 IDE 설치

리눅스에 설치하기

  1. 아두이노 공식 홈페이지에서, Linux 64 bit 버전을 다운로드 하세요.
    https://www.arduino.cc/en/software

  2. 원하는 경로에서 다운로드한 파일을 압축 해제한 뒤, 터미널창에서 설치 스크립트를 실행하세요.
    $ ./install.sh
    
  3. 리눅스에서 아두이노 IDE를 실행시키기 위해, 터미널창에서 다음의 실행 명령어를 실행하세요.
    $ arduino
    

맥에 설치하기

  1. 아두이노 공식 홈페이지에서, Mac OS X version을 다운로드 하세요.
    https://www.arduino.cc/en/software

  2. 다운로드한 아두이노 파일을 Application으로 드래그 하세요.

  3. 아두이노 IDE를 실행하세요.

윈도우즈에 설치하기

Arduino Software Installation instruction video에서, 아두이노 설치영상을 참고하실수 있습니다.

  1. 아두이노 공식 홈페이지에서, Windows Installer version을 다운로드 하세요.
    https://www.arduino.cc/en/software

  2. 다운로드한 파일을 설치하세요.

  3. Arduino IDE를 실행하세요.

보드 매니저 설치하기

Arduino IDE를 실행시킨 뒤, 파일 (File) > 환경설정 (Preferences) 을 선택하세요.

환경설정 창이 나타나면, 아래의 주소를 복사하여 Additional Boards Manager URLs 항목에 붙여넣기 합니다.

https://raw.githubusercontent.com/ROBOTIS-GIT/OpenRB-150/master/package_openrb_index.json

Arduino SAMD 보드 매니저

OpenRB-150에 예제를 빌드하고 업로드하기 위해서는, Arduino SAMD 보드 매니저가 필요합니다.

아래의 설명을 참고하여, Arduino SAMD 보드 매니저를 설치하세요.

  1. 도구 (Tools) > 보드 (Board) > 보드 매니저 (Boards Manager)를 선택하세요.
  2. Arduino SAMD를 검색 후, 가장 최신 버전의 보드 매니저를 설치하세요.

OpenRB-150 보드 매니저

아래의 설명을 참고하여, OpenRB-150 보드 매니저를 설치하세요.

  1. 도구 (Tools) > 보드 (Board) > 보드 매니저 (Boards Manager)를 선택하세요.
  2. OpenRB를 검색 후, 가장 최신 버전의 보드 매니저를 설치하세요.

라이브러리 API

아두이노 IDE에서 라이브러리를 추가하는 세가지 방법이 있습니다.

각각의 방법에 대한 자세한 설명은 Arduino Official Guide에서 찾을 수 있습니다.

다음은 라이브러리 매니저를 활용하는 방법입니다.

라이브러리 매니저에서 DYNAMIXEL2Arduino를 검색하고 설치합니다.

DYNAMIXEL2Arduino 라이브러리가 성공적으로 설치되었다면, DYNAMIXEL2Arduino 항목에서 다이나믹셀을 제어하는 유용한 예제를 찾을 수 있습니다.

Dynamixel2Arduino 라이브러리

Dynamixel2Arduino 클래스

Master 클래스

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

스케치 업로드하기

USB 케이블로 OpenRB-150과 PC를 연결 후, OpenRB-150 보드를 선택하세요.

OpenRB-150이 연결된 Port를 선택 후, 업로드 버튼을 클릭하면 스케치가 업로드 됩니다.

참고 만약, 업로드를 진행하는동안 오류가 발생한다면, 리셋 버튼을 두번 누른 후, 부트로더 모드에서 스케치를 업로드하세요.

다운로드