Edit on GitHub

RB-86 제어기

개요

제품 사양

항목 사양
무게 160g
컨트롤러 Arm® Cortex®-M4 MCU
크기 120 mm x 60 mm x 36 mm
모터 출력축 후방 축 x 2
기어비 60:1
속력 270RPM(at 4.5V)
동작 전압 3.6V ~ 4.8V (AA 배터리 x 3)
내부 I/O 장치 적외선 센서(장애물 감지) x 6
마이크(소리 감지) x 1
부저 x 1
AUX LED x 2 (주황, 초록)
POWER LED x 1 (파랑)
외부 I/O 포트 DXL TTL 3P Port x 2


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

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


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

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


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

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

컨트롤 테이블

컨트롤 테이블은 제어기 내부에 존재하는 데이터의 집합체입니다. 사용자는 컨트롤 테이블의 주소를 이용하여 해당 주소에 저장된 데이터를 읽어오거나 새로운 데이터를 입력할 수 있습니다.  

RB-86 컨트롤 테이블

영역 주소 크기[Byte] 명칭 접근 초기 값 범위 단위 설정 값 설명
EEPROM 0 2 Model Number R 490 - - - 모델 번호
EEPROM 6 1 Firmware Version R - - - - 펌웨어 버전
EEPROM 7 1 ID R 200 - - - 제어기 ID
EEPROM 8 1 Baud Rate RW 3 0 ~ 3 - 0 : 9600 bps
1 : 57600 bps
2 : 115200 bps
3 : 1 Mbps
다이나믹셀 통신 속도
EEPROM 11 1 Bootloader Version R - - - - 부트로더 버전
RAM 21 1 Mode Number RW - 1 ~ 6 - 1: Play Mode
2: Manage Mode
3: Reboot
4: TTL Bootloader
5: BLE Bootloader
6: Power Off
모드 번호
1: Play Mode: 저장된 알블록 프로그램 실행
2: Manage Mode: 외부 제어 대기
3: Reboot: 재부팅
4: TTL Bootloader: 3핀 TTL 포트를 사용하는 부트로더
5: BLE Bootloader: BLE를 사용하는 부트로더
6: Power Off: 전원 끄기
RAM 25 1 Press Count R - - - - 제어기를 켤 때 전원버튼을 누른 횟수
RAM 49 1 BLE Paired R 0 0 ~ 1 - 0 : False
1 : True
현재 BLE 페어링 상태
RAM 51 4 Serial Screen W 0 -32768 ~ 32767 - - 화면 출력용 4바이트 signed 값 (줄 바꿈 없음)
RAM 55 4 Serial Screen LF W 0 -32768 ~ 32767 - - 화면 출력용 4바이트 signed 값 (줄 바꿈 있음)
RAM 59 2 TX Remocon Data W - - - - BLE로 보낼 리모콘 데이터
RAM 61 2 RX Remocon Data R - - - - BLE로 받은 리모콘 데이터
RAM 63 1 RX Remocon Data Arrived R 0 - - 0 : False
1 : True
BLE로 받은 리모콘 데이터 유무
RAM 66 2 Motion Index Number RW 0 0 ~ 65535 - 0 : 모션 정지 유닛을 이용하여 모션 정지하기
1~65532 : 선택한 유닛의 모션 실행 하기
65533 : 모션 즉각 정지하기
65534 : 현재 키-프레임 에서 모션 정지하기
65535 : 현재 유닛에서 모션 정지 하기
특정 모션을 재생하거나 현재 재생중인 모션을 정지한다.
RAM 68 1 Motion Play Status R 0 0 ~ 1 - 0 : False
1 : True
모션 실행 유무를 확인할 수 있다.
RAM 71 2 Delay Millisecond W 0 0 ~ 60000 ms - 설정한 시간만큼 딜레이 (알블록 실행중에만 사용가능)
RAM 76 1 Power Save Timer RW 5 0 ~ 255 minute 0: 꺼지지 않음
1 ~ 255: 2.0 패킷 받지 않으면 m분 이후 꺼짐
자동 꺼짐 타이머 설정
RAM 79 1 Red LED RW 0 0 ~ 1 - 0 : OFF
1 : ON
빨강 LED 켜짐 / 켜짐
RAM 80 1 Green LED RW 0 0 ~ 1 - 0 : OFF
1 : ON
초록 LED 켜짐 / 켜짐
RAM 84 1 Buzzer Index RW 0 0 ~ 51 - - - 멜로디 모드: Buzzer Time(85)값이 255 일 때, 0 ~ 25 번 멜로디를 실행한다.
- 음계 모드: Buzzer Time(85)값이 0 ~ 254 일 때, 0 ~ 51번의 음계를 실행한다.
RAM 85 1 Buzzer Time RW 0 0 ~ 255 0.1 sec - 음계 모드 및 멜로디 모드로 진입할 수 있다. 음계 및 멜로디는 Buzzer Index에서 재생한다.
- 0 : 음계를 0.3 s 동안 재생
- 1 ~ 50: 음계를 0.1 ~ 5.0 s 시간 동안 재생. Unit: 0.1 s
- 50 ~ 254: 음계를 5 s 동안 재생
- 255: 멜로디 모드 진입
RAM 86 1 Sound Detected Count RW 0 0 ~ 255 - - Write:어떤 값을 써도 0으로 초기화 된다.
Read: 제어기에 내장된 마이크가 인식한 최종 감지 횟수
값 변화 방식: 소리가 감지되는 도중에는 값을 유지하다가 소리가 끝나면 마지막 실시간 값으로 바뀐다.
RAM 87 1 Sound Detecting Count R 0 0 ~ 255 - - Read: 제어기에 내장된 마이크가 인식한 실시간 감지 횟수
값 변화 방식: 소리가 감지되는 도중에는 값이 증가하다가 소리가 끝나면 0이 된다.
RAM 88 1 Low Battery Sound Enable RW 1 0 ~ 1 - 0 : OFF
1 : ON
저전압 알람을 활성화 또는 비활성화 시킨다.
- 배터리 전압이 3.3V 이하 일때 3분 간격으로 총 3번 알람 발생
RAM 90 2 Motion Count R - 0 ~ 65535 - - 제어기에 저장된 모션 수
RAM 92 2 Motion Next Page RW 0 0 ~ 65535 - 0~65534 : 이동할 페이지
65535 : 사용 안함
모터의 정지 없이 부드러운 모션 페이지 사이를 이동 할때 사용한다. 모션 프로파일 생성 시 다음 모션 페이지의 동작을 예측하여, 부드러운 모션을 생성 할 수 있다.
RAM 96 2 Random Min RW -100 -1000 ~ 1000 - - 난수 최소값
RAM 98 2 Random Max RW 100 -1000 ~ 1000 - - 난수 최대값
RAM 100 2 Random Number R - -1000 ~ 1000 - - Random Min(96)에서 Random Max(98)사이 범의의 난수
RAM 300 2 Decrease Timer RW 0 -32768 ~ 32767 ms - 카운트 다운 타이머
값이 write 되는 순간부터 감소
RAM 302 4 Increase Timer RW 0 0 ~ 4294967295 ms - 카운트 업 타이머
임의의 값을 write 하는 순간 0으로 초기화
RAM 360 2 IR Sensor 1 R 0 0 ~ 400 - - 1번 IR 센서 값
RAM 362 2 IR Sensor 2 R 0 0 ~ 400 - - 2번 IR 센서 값
RAM 364 2 IR Sensor 3 R 0 0 ~ 400 - - 3번 IR 센서 값
RAM 366 2 IR Sensor 4 R 0 0 ~ 400 - - 4번 IR 센서 값
RAM 368 2 IR Sensor 5 R 0 0 ~ 400 - - 5번 IR 센서 값
RAM 370 2 IR Sensor 6 R 0 0 ~ 400 - - 6번 IR 센서 값
RAM 440 12 BLE Mac Address R - - - - 제어기의 BLE MAC 주소
RAM 500 4 Micros R 0 0 ~ 4294967295 us - 펌웨어가 실행되어서부터 흐른 시간의 us 단위 값
RAM 504 4 Millis R 0 0 ~ 4294967295 ms - 펌웨어가 실행되어서부터 흐른 시간의 ms 단위 값
RAM 900 1 Motor Stop RW 0 - - - Write:
- 0 ~ 255: 모든 감속 모터 정지
Read:
- 0: 양쪽 모터 회전
- 1: 좌측 모터 정지, 우측 모터 회전
- 2: 좌측 모터 회전, 우측 모터 정지
- 3: 양쪽 모터 정지
RAM 901 1 Motor Type R - - - 0 : RB86
1 : RB88
제어기 Type
RAM 950 2 Left Back Motor Speed RW 0 -999 ~ 999 - - 좌측 후방 모터의 회전 속도
- 전진 보정값, 후진 보정값을 적용한 PWM값으로 좌측 모터 회전
RAM 952 2 Right Back Motor Speed RW 0 -999 ~ 999 - - 우측 후방 모터의 회전 속도
- 전진 보정값, 후진 보정값을 적용한 PWM값으로 우측 모터 회전
RAM 954 2 Back Motor Forward Speed W 0 0 ~ 999 - - 후방 모터 전진 속도
- 후방 바퀴가 180도 회전할 때마다 속도를 측정하여 좌측, 우측 모터의 속도가 동일 할때 까지 전진 보정값을 업데이트하여 PWM값 조정
RAM 956 2 Back Motor Backward Speed W 0 0 ~ 999 - - 후방 모터 후진 속도
- 후방 바퀴가 180도 회전할 때마다 속도를 측정하여 좌측, 우측 모터의 속도가 동일 할때 까지 후진 보정값을 업데이트하여 PWM값 조정
RAM 958 2 Back Motor Turn Left Speed W 0 0 ~ 999 - - 후방 모터 좌회전 속도
- 좌측 모터는 후진 보정값이 적용된 PWM값으로, 우측 모터는 전진 보정값이 적용된 PWM값으로 모터 회전
RAM 960 2 Back Motor Turn Right Speed W 0 0 ~ 999 - - 후방 모터 우회전 속도
- 좌측 모터는 전진 보정값이 적용된 PWM값으로, 우측 모터는 후진 보정값이 적용된 PWM값으로 모터 회전
RAM 1101 1 DXL Count R 0 - - - 제어기에 연결된 다이나믹셀 수
RAM 1102 8 DXL ID R - - - - 제어기에 연결된 다이나믹셀 ID에 해당하는 bit가 1이 됩니다.
읽은 데이터는 Littlen endian으로 표시 됩니다.
ex)
ID 1번, 3번 다이나믹셀 연결
- 2진수 : 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00001010
- 16진수 : 00 00 00 00 00 00 00 0A
ID 2번, 8번 다이나믹셀 연결
- 2진수 : 00000000 00000000 00000000 00000000 00000000 00000000 00000001 00000100
- 16진수 : 00 00 00 00 00 00 01 04
RAM 1166 1 DXL Scan W - 0 ~ 1 - - 제어기에 연결된 다이나믹셀 스캔
RAM 1167 1 DXL Reboot W - 0 ~ 252 - - 선택한 ID의 다이나믹셀 Reboot
RAM 1322 1 DXL Torque W - - - - 연결된 전체 Dynamixel들의 토크를 켜거나 끔
RAM 1500 2 Line Tracer Speed RW 0 - - 0 : 라인트레이싱 종료
1 ~ 999 : 라인트레이싱 속도
라인트레이싱 속도 설정
RAM 1505 1 Line Category R 0 - - 0 : 라인 위
1 : 라인 벗어남
5 : +교차로
6 : T교차로
7 : ⊣ 왼쪽 갈림길
8 : ⊢ 오른쪽 갈림길
9 : ⏋좌회전도로
10 : ⎾ 우회전도로
11 : | 막다른길
12 : 공백 1개 [—- —–]
13 : 공백 2개 [– — –]
감지된 교차로 타입

각 부 명칭

rb_86_label

전원 연결

RB-86은 AA 배터리 세 개를 사용하여 전원을 공급받습니다.

제어기 모드 선택

Play 모드

Manage 모드

언플러그드 코딩 모드

rb_86_unpluged_md

복구 모드

제어기 종료

제어기가 켜진 상태에서 다시 시작 버튼을 누르면 제어기가 꺼집니다.

블루투스를 통한 다이나믹셀 제어

십자혼 조립 방법

RB-86의 기어 축 돌기 부분과 십자 혼 끝단 파인 부분의 방향을 일치시켜서 조립합니다.

rb_86_cross_hn

STEAMCUP 연결

PC에서 연결

  1. 스팀컵 홈페이지로 접속 하여 회원가입을 진행 후 로그인을 합니다.

    rb_86_pc_naver

  2. 우측 상단 햄버거메뉴를 클릭 후 회원가입을 하고 로그인을 합니다

    rb_86_pc_hamburger

  3. 로봇추가를 클릭합니다.

    rb_86_pc_add_rb

  4. 블루투스장치 선택 창에서 연결하려는 제어기를 선택후 페어링을 진행합니다.

    rb_86_pc_04_pairing

  5. RB-86에서 “삐”(1회) 소리가 나고 연결이 완료 됩니다.

모바일에서 연결

  1. Play 스토어 또는 App Store에서 STEAMCUP앱을 다운로드 받습니다.

    rb_86_mob_download

  2. STEAMCUP앱을 실행하여 회원가입을 진행 후 로그인을 합니다.

  3. 로봇추가를 클릭 후 연결하려는 제어기를 선택 합니다.

    rb_86_mob_add_rb

  4. RB-86에서 “삐”(1회) 소리가 나고 연결이 완료 됩니다.

펌웨어 업데이트

  1. STEAMCUP앱에서 RB-86을 연결합니다.

  2. RB-86 아이콘을 클릭 합니다.

    rb_86_icon

  3. 펌웨어 복구/업데이트 버튼을 클릭 합니다.

    rb_86_click

  4. 업데이트 시작 후 무선 펌웨어 업데이트 안내에 따라 업데이트를 진행 합니다.

    rb_86_recovery

주의: PC에서 펌웨어 업데이트 기능을 지원하지 않습니다.

조종기 연결

RC-100B 또는 RC-300 연결

  1. RB-86를 BLE가 연결되지 않은 상태로 켜둡니다.
  2. RC-100B(BT-410 SLAVE 모듈 장착) 또는 RC-300을 제어기에 가까이 가져간 뒤 전원을 켭니다.
  3. RC-100B(BT-410 SLAVE 모듈 장착) 또는 RC-300이 가까이 있는 제어기를 자동으로 연결합니다.

STEAMCUP에서 조종기 연결

  1. PC또는 STEAMCUP앱에서 RB-86을 연결합니다.

  2. 조종기 아이콘을 선택하여 조종기를 실행 합니다.

    rb_86_control

직진성 보정