Difference between revisions of "Open Source Electric Drive Cube Robot"

From Microduino Wiki
Jump to: navigation, search
(Instructions of the Remote Control)
(Guide for Joypad Contro.l)
Line 122: Line 122:
  
 
*'''Instruction of Joypad Battery Use '''*
 
*'''Instruction of Joypad Battery Use '''*
*For the battery use, you can refer to: '''[https://wiki.microduino.cc/index.php?title=Microduino-Joypad_Getting_started #Step-2_.E7.94.B5.E6.B1.A0.E9.80.9A.E7.94.B5 Power-on via Battery]'''
+
*For the battery use, you can refer to: '''[https://www.microduino.cn/wiki/index.php/Microduino-Joypad_Getting_start/zh#Step-2_.E7.94.B5.E6.B1.A0.E9.80.9A.E7.94.B5 Power-on via Battery]'''
  
 
===Guide for Bluetooth Control===
 
===Guide for Bluetooth Control===

Revision as of 02:52, 14 March 2016

Outline

  • Project: Open Source Electric Drive Cube Robot
  • Objective: To make a Cube Robot car
    • Can be controlled by Joypad.
    • Also can support Bluetooth APP control.
  • Difficulty: Middle
  • Time-consuming: 2-Hour
  • Maker: PKJ

Bill of Material

Bill of Modules(Joypad mode)

Module Number Function
Microduino-Core 2 Core module
Microduino-USBTTL 1 Program download module
Microduino-nRF24 2 Wireless communication module
Microduino-Joypad 1 Remote control module
Microduino-TFT 1 Display module
Microduino-Robot 1 Drive board

Bill of Module(Bluetooth mode)

Module Number Function
Microduino-Core 1 Core module
Microduino-USBTTL 1 Program download program
Microduino-BT 1 Bluetooth communication module
Microduino-Robot 1 Drive board

Other Material

Component Number Function
Frame of the Robot car 1 Body of the car
Screw 18 Fixation
Nut 8 Fixation
Micro-USB cable 1 Download program
47mm wheel+ motor fixing seat 2 Car wheels
N20DC speed-down motor 2 Drive wheels
3.7V Li-ion battery 1 Power supply
Boxz物料.jpg

Principle of the Experiment

  • There are various kinds of Robot cars, such as robot car of tracking, barrier, Bluetooth control, which with different functions and need to adopt different sensors.
  • However, all those Robot cars are basically controlled in the same way, that is, moving in four directions.
  • Here we adopt two-wheel drive structure. By control the rotation of two wheels, we can achieve moving forward and backward, or spinning. Of course, it needs auxiliary wheel to keep balance.
  • This car has a simple structure, including wheels, body and control system.
    • 1)The wheels adopt two speed-down motors with large torque, which can have PWM speed adjustment to make sure easy control.
    • 2)The body of the car adopts wood with a size of 8cm*8cm*8cm.
    • 3)The whole control system contains four parts:
  • CPU
    • Adopt Microduino-Core as the core. Just like the CPU of a computer, it can analyze and process complicated things.
  • Wireless commmunciation
    • Adopt Microduino-nRF24 wireless communication scheme with fast communication response and the control range of about 50m in the open area.
    • Or adopt Microduino-BT wireless communication scheme, which can work with phone APP to directly control. The control range is about 20m in the open area.
  • Motor control
    • Adopt a group of built-in DC motor drive unit on the Microduino-Robot, and a unit can drive two motors.
  • Power supply system
    • Adopt a built-in sing-cell Li-ion battery management unit on the Microduino-Robot to manage charging and discharging function.

Program Download

Programming

  • Stack Microduino-Core and Microduino-USBTTL together, then use the USB cable to connect the USBTTL module for program uploading.
    • Note: Please upload programs before stacking all modules together.
  • Open Arduino IDE for Microduino development environment. (For the buildup, please refer to: AVR Core:Getting started )
  • Make sure the right board(Microduino-Core Atmega328P@16M,5V) and the relevant port number(COMX)
  • Open the " Robot_Microduino.ino " program in the downloaded projects.
  • Click "→" and upload the program to the development board.

Installation

  • Step1:Firstly, assemble the wheels and motors with the frame and screws, them fixate them on A1.
Cubestep1.jpg
  • Step2:Insert A2 into the slot of A1, connect B1 on the top of A1, connect A3 on the bottom of A1, then use A4 to fixate.
Cubestep2.jpg
  • Step3:Connect B2 and C1 on the two sides of B1 respectively.
Cubestep3.jpg
  • Step4:Connect the nRF antenna, stack the nRF with the Core module, then connect them with the battery on the Robot base board; Use the screws to fixate the base board on B1.
Cubestep4.jpg
  • Step5:Fixate C2 on the corresponding position of A1.
Cubestep5.jpg
  • Step6:Connect D1 into the top position where the interface of B2 and C1 lies, then connect D2 into the slot where the front of B2 and C1 lies. After the installation, you can tear off the antenna and stick it to the right position you like on the car.
Cubestep6.jpg

Instructions of the Remote Control

  • If stacking the nRF module and start, the system will enter the Joypad control mode by default, otherwise, it'll enter the Bluetooth mode.

Guide for Joypad Contro.l

  • For the installation, you can refer to the following page: [1]

Guide for Bluetooth Control

Code Description

#define NRF_CHANNEL 70  //nRF channel
#define CHANNEL_THROTTLE  2 //Throttle channel 
#define CHANNEL_STEERING  1 //Steering channel
  • The following codes can revise the speed ratio of the two wheels.
    • The range is between -1 and 1.
    • Set as -1, the maximum speed ratio, clockwise.
    • Set as 1, the maximum speed ratio, anti-clockwise.
    • If the car cannot go straightly, you should reduce the speed ratio of the lower wheel.
#define motor_fixL 1  //Speed correction (-1 to 1)
#define motor_fixR 1  // Speed correction (-1 to 1)

Video