Edit on GitHub

CM-50 Controller

Introduction

Specifications

Item Description
Weight 165g
CPU STM32L151C8
Size 120 mm x 61 mm x 36 mm
Voltage Supply 3.2V ~ 4.8V (3 x AA Batteries)
Internal I/O components IR sensor(measure distance) x 3
Mic(Sound sensor) x 1
Buzzer x 1
LED x 3 (Power, Red, Blue)
External I/O components 4-pin communication (wireless control & download) x 1


DANGER
(May cause serious injury or death)

  • Never place items containing water, flammables, or solvents near the product.
  • Never place fingers, arms, toes, and other body parts near product during operation.
  • Cut the power off if the product begins to emit strange odors or smoke.
  • Keep product out of reach of children.
  • Check input polarity before installing wiring or cables.


CAUTION
(May cause injury or damage to product)

  • Always comply with operating environment specifications including voltage, current, and temperature.
  • Do not insert blades or other sharp objects during product operation.


ATTENTION
(May cause injury or damage to product)

  • Do not disassemble or modify the product.
  • Do not drop or apply strong impacts to the product.

Control Table

Control Table consists of data regarding the current status and operation of controller. The user can control controller by changing data of Control Table via Instruction packet.

EEPROM and RAM

Data in RAM area is reset to initial values whenever the power is turned on while data in EEPROM area is kept once values are set even if the power is turned off.

Address

Represents the location of data. To read from or write data to the control table the user should assign the correct address in the Instruction packet.

Access

Controller has two kinds of data: Read-only data, used mainly for sensing, and read-and-write data used for driving.

Initial Value

In case of data in the EEPROM Area, the initial values on the right side of the below Control Table are the factory default settings.
In case of data in the RAM Area, the initial values on the right side of the following control table are the ones when the power is turned on.

Size

The Size of data varies from 1 ~ 4 bytes depend on their usage. Please check the size of data when updating the data with an Instruction Packet.

EEPROM Area

Address Size[byte] Data Name Access Init Value
0 2 Model Number R 410
6 1 Firmware Version R -
7 1 ID RW 200
8 1 Baud Rate (UART) R 1
9 1 Return Delay Time RW 0
10 1 Status Return Level RW 2

RAM Area

Address Size[byte] Name Description Access Init Value
21 1 Mode Number Operation Mode RW -
25 1 Press Counter Start Button Click Counts R -
30 2 My Zigbee ID Local Zigbee ID R -
32 2 Your Zigbee ID Remote Zigbee ID RW -
36 1 IR Communication Channel IR Receiver Channel Number RW 1
73 1 128ms Timer Value 128ms Timer Counter RW 0
74 2 1ms Timer Value 1ms Timer Counter RW 0
76 1 Power Save Timer Value Power Save Timer Counter RW 0
77 1 Random Number Creating Random Number RW -
79 1 RED LED RED LED Status RW 0
80 1 BLUE LED BLUE LED Status RW 0
84 1 Buzzer Index Buzzer Melody Frequency RW 0
85 1 Buzzer Time Buzzer Play Period RW 0
86 1 Sound Detected Count Final Count for Detected Sound R 0
87 1 Sound Detecting Count Current Count for Detected Sound R 0
88 1 Low Battery Warning Enable/Disable Low Battery Warning RW 0
91 2 Internal Right IR Sensor Value Sensor Value of Right IR R -
93 2 Internal Left IR Sensor Value Sensor Value of Left IR R -
95 2 Internal Center IR Sensor Value Sensor Value of Center IR R -
97 1 Input Voltage Present Input Voltage R -
136 2 Port 1 Motor Speed Speed of the Motor on Port 1 RW 0
138 2 Port 2 Motor Speed Speed of the Motor on Port 2 RW 0

NOTE : Control Table can be tested with R+ Manager 2.0.

Layout

Connecting Power

How to Operate

Connect to PC

Wireless Communication

The CM-50 is compatible with ZIG-110, BT-110, BT-210, BT-410 wireless communications modules.

Mode Select

Play Mode

Manage Mode

Tuning Mode

First Method

  1. Place a white paper in front of the left and right IR sensor of CM-50.
  2. Press and hold the Start Button until two(2) beeps, then release the button.
  3. A melody will be played if the controller is entered to the Tuning Mode.

NOTE : If a melody is not played after the two beeps, the CM-50 controller is started with Manage Mode.
Please turn off the controller and try again.

WARNING : Please disconnect BT-210 or BT-410 modules from CM-50. Tuning Mode cannot be started when bluetooth modules are connected.

Second Method

  1. Turn on the CM-50 controller.
  2. Press and hold the Start Button until three(3) beeps, then release the button.
  3. A melody will be played if the controller is entered to the Tuning Mode.

WARNING : Please hold down the Start Button firmly until to hear three beeps or else the controller could be turned off.

Straightness Tuning

If the robot dosen’t move straight and keep steering to the right or left, the straightness can be tuned under Tuning Mode.
In order to synchronize right and left wheel speed, you need to tune the motor with a remote controller(RC-100B, RC-200, Smart Device).

NOTE : Tuning Mode for CM-50 is supported from the Firmware version 77 or above.

RC-100B

  1. Prepare a pair of BT-210 or BT-410 (Master/Slave module).
  2. Start the CM-50 controller with Tuning Mode.
  3. Connect the BT-210 or BT-410 Slave module to CM-50 controller.
  4. Connect the BT-210 or BT-410 Master module to RC-100B remote controller.
  5. Follow the Tuning Guide to tune the motor speed, then save the configuration.

RC-200

RC-200 supports IR communication with controller. In order to use RC-200 for the tuning, IR communication channel has to be configured before tuning the motor.

  1. Start the CM-50 controller with Manage Mode.
  2. Press and hold down V and button for 5 seconds until 2, 4, 7, 8, 9 buttons on RC-200 light up.
  3. Select the channel to use(1 ~ 25), then enter the channel number from RC-200.
  4. Press the button to save the channel setting.
  5. Three beeps will sound consecutively if RC-200 is succesfully connected to the controller.
  6. Start the CM-50 controller with Tuning Mode.
  7. Follow the Tuning Guide to tune the motor speed, then save the configuration.

NOTE : Please point the RC-200 to IR receiver of the controller for the best signal reception.

Smart Device

Smart devices with R+ m.Task 2.0 app can be used as a remote controller instead of RC-100B or RC-200.

  1. Install R+ m.Task 2.0 on the smart device.
  2. Start the CM-50 controller with Tuning Mode.
  3. Connect the BT-210 or BT-410 Slave module to CM-50 controller.
  4. Run R+ m.Task 2.0 then use Remote Controller Program to connect the CM-50 controller.
  5. Follow the Tuning Guide to tune the motor speed, then save the configuration.

CAUTION : BT-210 and BT-110 do not support iOS smart devices.

Tuning Guide

NOTE

  • After entering the Tuning Mode, push the button 4 on the remote controller to activate the wheel.
  • Integrated motors will be rotating at a maximum speed under the Tuning Mode.
  • Repeat the tuning to enhance the straightness.

L Button : Steer to the left.
R Button : Steer to the right.
1 Button : Switch the forward / reverse directions.

WARNING : It is recommended to tune for forward / reverse directions by pressing button 1.

2 + L Button : Fine steer tune to the left.
2 + R Button : FIne steer tune to the right.
Start Button : Save the setting and exit.