ROVER USER GUIDE Rev 2.
The DFRobotShop Rover is intended to be a “learning platform” which provides users with the hardware to get started in programming mobile robots using Arduino. The sample code available here can be used as reference to help you test the various platforms, but users are expected to learn how to use the Arduino software. Contents Arduino.............................................................................................................................................................5 Overview.......
Important Notes..........................................................................................................................................18 Power..........................................................................................................................................................19 Motion ........................................................................................................................................................20 Autonomous Kit..................
Useful Links.....................................................................................................................................................53 Products......................................................................................................................................................53 Software......................................................................................................................................................53 Support...................
Arduino “Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.” - www.arduino.cc There are many ways to learn how to code in Arduino. We suggest one or more of the following: www.arduino.cc -> “Learning” and “Reference” categories Arduino-related books http://www.robotshop.com/books.
PCB V1.0 The V1.0 PCB is almost identical to V1.5 below except for items (1) and (2). The V1.0 board is not certified RoHS compliant. PCB V1.5 Figure 1: DFRobotShop Rover V1.5 Features (1) 3.7V LiPo battery charging jumper. Important note: jumper should only be in place when using a LiPo battery connected to (38), otherwise remove. Do NOT use jumper if you are using the 4xAA pack. (2) Charging circuit for 3.
(17) Light sensor jumper (connects light sensor to analog pin 0) (18) Temperature sensor jumper (connects temperature sensor to analog pin 1) (19) I2C connector (20) LM35 temperature sensor5 (21) Light sensor4 (22) 4xAA battery holder holes (23) Universal connection point *Important note: jumper (1) in figure 1 should only be in place when using a LiPo battery connected to (15), otherwise remove. 1 Surface mount ATMega328 chip from ATMEL: http://www.atmel.com/dyn/products/product_card.
PCB V2.0 Figure 2: DFRobotShop Rover V2 Features (1) Cool blue LED (2) 3.7V LiPo battery charging circuit. Important note: jumper should only be in place when using a LiPo battery connected to (38), otherwise remove. Do NOT use jumper if you are using the 4xAA pack.
(21) 2x slots for additional mounting of sensors (22) Cool blue LED (23) Mounting holes for 2nd motor (Mecanum and 4WD versions) (24) 5V row (25) GND row (26) XBee 2 slot (XBee faces the front of the board, towards #20) (27) XBee 2 pinout (for possible use with the prototyping area) (28) Cool blue LED (29) Motor 1 screw terminals (30) DFRobot Bluetooth / APC220 (RF) input (31) ICSP headers (32) Reset button (33) ATMega329 microchip (34) Voltage regulator (circuit) (35) Barrel connector (36)On / Off switch (
Basic Kit (V1.0, V1.5, V2.0 ) Assembly Guide The assembly video guide can be found on RobotShop’s Youtube page (RobotShopTV) at: V1.0 and V1.5: http://www.youtube.com/watch?v=yXW1yrmKiuI V2.0: www.youtube.com/watch?v=MWWoEul9Qsk Important Notes • For the basic version (tracks), assemble the Tamiya Twin Motor Gearbox in the Type C configuration ONLY. Note that Type A and Type B configurations will cause the track to be too tight. Note that some parts will remain unused.
but note that the onboard charger can only provide 4.3V charge current, so it won't charge a 7.4V LiPo. 4. Vin pin: An Arduino board can be powered using the Vin pin located to the left of the A0 pin. However, this pin is not connected to a regulator and we do not suggest using it to power the DFRobotShop Rover. Motion The DFRobotShop Rover Basic Kit uses two tank tracks, each connected to their own DC gear motor. Rotating the tracks at the same time in the same direction produces forward motion.
Bluetooth / Xbee Kits (V1.0, V1.5) Assembly Guide The assembly video guide for the basic kit can be found on RobotShop’s Youtube page (RobotShopTV) at: V1.0 and V1.5: http://www.youtube.com/watch?v=yXW1yrmKiuI V2.0: www.youtube.com/watch?v=MWWoEul9Qsk Important Notes • For the basic version (tracks), assemble the Tamiya Twin Motor Gearbox in the Type C configuration ONLY. Note that Type A and Type B configurations will cause the track to be too tight. Note that some parts will remain unused.
Specifications (Basic Kit) • • • Maximum speed (using 4x AA NiMH batteries and motor config. 'C'): 12.5cm/sec (no load) PCB Dimensions: 57mm x 195mm (200mm for V2.
Bluetooth / Xbee Kits (V2.0) Assembly Guide The assembly video guide for the basic kit can be found on RobotShop’s Youtube page (RobotShopTV) at: V2.0: www.youtube.com/watch?v=MWWoEul9Qsk Important Notes • For the basic version (tracks), assemble the Tamiya Twin Motor Gearbox in the Type C configuration ONLY. Note that Type A and Type B configurations will cause the track to be too tight. Note that some parts will remain unused.
Motion The DFRobotShop Rover Basic Kit uses two tank tracks, each connected to their own DC gear motor. Rotating the tracks at the same time in the same direction produces forward motion. Rotating the tracks at the same time in the opposite direction causes the robot to move in reverse. Varying the speed of one of the tracks will cause the robot to move in a circle. Rotating the tracks in opposite directions causes the robot to turn clockwise (or counter-clockwise) on itself (zero turning radius).
V2.0 Mecanum Kit Assembly Guide The assembly video guide for the DFRobotShop Rover 2.0 Mecanum Kit can be found on RobotShop’s Youtube page (RobotShopTV) at: http://www.youtube.com/watch?v=UEIFHebyM5s Important Notes • Unlike the basic kit, you can assemble the Tamiya Gearbox in ANY of the three configurations. Configuration C is still suggested based on overall dimensions and gear ratio in order to provide the highest traction.
Motion The image below gives you an idea of the range of motion possible when using Mecanum wheels. Note that some directions are slower than others because of the forces involved. To facilitate zero radius turning (two images at bottom right below), consider mounting the Tamiya Gear Motors in the opposite configuration (with DC motor facing outward). This moves the wheels closer to each other by 8cm when the motors are in configuration A or B.
V2.0 Omniwheel Kits The DFRobotShop Rover 2.0 Arduino Compatible Omniwheel Robots use four motors and four omniwheels to move around. There are multiple variations of the robot, one of which uses 6V DC gear motors with encoders, compatible with three different types of omniwheels, while the other uses continuous rotation servo motors. Three sizes of omni wheels are available: 40mm, 48mm and 60mm. All three wheels have adapters for the DFRobot 6V Gear Motor and for the Hitec 1425CR Continuous Rotation Servo.
Power The yellow 6V DC gear motor from DFRobot operates at a nominal 6V, but can easily be powered from 4.8V to 7.4V. The higher the voltage, the faster the motor will turn. We suggest using the 7.4V, 2200mAh LiPo battery, though it’s important to note that the DFRobotShop Rover’s onboard LiPo charger can only charge 3.7V LiPo batteries. Alternatively, you can use the 4xAA battery pack with 4x reachargeable or 4x Alkaline batteries. The 3.7V LiPo works, but the robot is quite slow.
Motion The image below gives you a sense of the motions possible when using omni directional wheels. Note that some directions will be slower than others because of the forces involved.
Autonomous Kit The DFRobotShop Rover Autonomous Kit is intended to help you get started with autonomous control of a mobile robot which uses sensor feedback. The kit includes the popular “IR compound eye” mounted atop a simple servo-based pan/tilt system. The eye allows for simple motion tarcking and distance measurement (for example maze solving and obstacle detection). The kit also includes a buzzer (which can produce simple tones and auditory feedback) as well as encoders.
• • • PCB Dimensions: 57mm x 195mm (200mm for V2.0) Overall dimensions: 200mm long x 108mm wide x 58mm high Weight (assembled kit not including batteries): 250g Programming www.arduino.cc The “Arduino” software is a relatively easy to use text-based programming language which is ideal for programming Arduino-compatible boards. This guide is not meant to teach you how to program Arduino. Please visit the Arduino website for tutorials, or purchase one of many Arduino-related books.
Basic Kit (V2.0) The DFRobotShop Rover Basic Kit needs to be connected to the computer in order for an operator to control its motion. The robot can also be programmed to move autonomously. 1. Connect the USB cable to your computer and upload sample sketch #2 (code section of this manual if). 2. Ensure you know which COM port is associated with the USB Bluetooth dongle on your computer. 3. For Windows users, open Hyperterminal and follow “Hyperterminal Configuration” in this guide. 4.
Bluetooth Kit (V2.0) The new DFRobotShop Rover Bluetooth kit no longer includes a USB Bluetoth dongle and assumes your computer or smartphone already has Bluetooth. If your computer does not have Bluetooth, you can purchase a USB Bluetooth module for under $10. 1. Follow the steps above for getting the basic rover operational via USB cable. 2. Install the Bluetooth module on the DFRobotShop Rover PCB in position XBEE2.
XBee kit (V2.0) The new DFRobotShop Rover V2 Xbee kit no longer includes an Xbee shield since there are two Xbee slots provided on the board (note that Xbee headers are sold separately). 1. Follow the steps above for getting the basic rover operational via USB cable. 2. Install the Xbee module on the DFRobotShop Rover PCB in position XBEE2 Check the pin numbers! Most modules will face the REAR of the board (this is not intuitive). 3.
Sample Code The DFRobotShop Rover is not intended to be a “complete product” which explains all the steps needed to achieve a specific objective. Instead, the Rover is a platform which provides you with the basic hardware and basic software to get started in programming mobile robots and Arduino. The code below is not “optimized” but is intended to get you started. Sketch #1 operates both motors at full speed.
Sketch #2: Basic Rover – W/A/S/D Keyboard Control /*To control the int E1 = 6; //M1 int E2 = 5; //M2 int M1 = 8; //M1 int M2 = 7; //M2 rover, Copy and paste the code below into the Arduino software*/ Speed Control Speed Control Direction Control Direction Control void setup(void) { int i; for(i=5;i<=8;i++) pinMode(i, OUTPUT); Serial.begin(9600); } void loop(void) { while (Serial.available() < 1) {} // Wait until a character is received char val = Serial.
Sketch #3: V2.0 Mecanum – Basic Directions /* To control the Rover, copy and paste the code below into the Arduino software. Ensure the motors are connected to the correct pins.
analogWrite (E1,a); digitalWrite(M1,LOW); analogWrite (E2,b); digitalWrite(M2,HIGH); analogWrite (E3,a); digitalWrite(M3,HIGH); analogWrite (E4,b); digitalWrite(M4,HIGH); } void ccw (char a,char b) { analogWrite (E1,a); digitalWrite(M1,HIGH); analogWrite (E2,b); digitalWrite(M2,HIGH); analogWrite (E3,a); digitalWrite(M3,HIGH); analogWrite (E4,b); digitalWrite(M4,LOW); } void cw (char a,char b) { analogWrite (E1,a); digitalWrite(M1,LOW); analogWrite (E2,b); digitalWrite(M2,LOW); analogWrite (E3,a); digitalWr
Sketch #4: Omni Wheel Rover – Basic Directions /* To control the Rover, copy and paste the code below into the Arduino software. Ensure the motors are connected to the correct pins.
digitalWrite(M2,HIGH); analogWrite (E3,a); digitalWrite(M3,LOW); analogWrite (E4,b); digitalWrite(M4,HIGH); } void reverse (char a,char b) { analogWrite (E1,a); digitalWrite(M1,HIGH); analogWrite (E2,b); digitalWrite(M2,LOW); analogWrite (E3,a); digitalWrite(M3,HIGH); analogWrite (E4,b); digitalWrite(M4,LOW); } void ccw (char a,char b) { analogWrite (E1,a); digitalWrite(M1,HIGH); analogWrite (E2,b); digitalWrite(M2,HIGH); analogWrite (E3,a); digitalWrite(M3,HIGH); analogWrite (E4,b); digitalWrite(M4,LOW); }
Sketch #5: Basic Rover V1.0 and V1.5 - Analog Sensors /* To read the onboard light and temperature sensors, run the code below, then open the serial window at 9600 baud. Ensure the two jumpers are in place*/ int LightValue = 0; int TemperatureValue = 0; void setup() { Serial.begin(9600); } void loop() { LightValue = analogRead(A0); TemperatureValue = analogRead(A1); Serial.print("Light: "); Serial.print(LightValue); Serial.print(" Temperature: "); Serial.
Hyperterminal configuration To access Hyperterminal in Windows XP / 2000: Start > All Programs > Accessories > Communications > HyperTerminal Windows 7 does not come with Hyperterminal as a standard feature, so you must find an alternative. Note that hypertrm.exe is available online and emulates Hyperterminal.
Choose the correct COM port associated with the Rover or the XB/BT board The name “DFRobotShop Rover” is not necessary; you can name it whatever you want. Specify the COM port (USB) that is connected to the DFRobotShop Rover. If you are using XBee, Bluetooth or RF, select the COM port connected to the Bluetooth dongle / XBee breakout / RF Transmitter (USB).
More information about the XBee shield can be found on www.arduino.cc. The Bits per second should correspond to the Serial communication Baud rate in the Arduino code. In the sample code, we selected 9600. Flow control Xon/Xoff works best. Make sure the On/Off switch on the robot is set to ON (closer to the power input). Use the W, A, S, D and X keys to move the robot. Note that if you purchased the basic kit, you will need to have the robot connected to the computer via USB for it to receive commands.
When you come to a step indicating “contact RobotShop”, or “request RMA” please indicate the version of the Troubleshooting guide (V2 above), as well as the step number. For example, you follow the guide below and reach step 17 “Request RMA”. Please contact us via the RobotShop Support Center and indicate: Subject: DFRobotShop Rover Troubleshooting V2, Step 17 If you can provide any additional information about what happened or any steps you took which were not outlined in the guide, please include them.
Encoder modules will soon be available for the rover which allow you to count how many steps each motor has rotated. Knowing how each step translates to linear displacement, you can ensure the robot moves in straight lines and the movements are repeatable. Q. The motors are noisy, how can I make them quieter? Use the grease included with the Tamiya dual gearbox and add capacitors to the motors. http://www.robotshop.com/PDF/motor-noise-reduction.
for(i=5;i<=8;i++) pinMode(i, OUTPUT); Serial.begin(9600); } void loop(void) { int leftspeed = 255; //255 is maximum speed int rightspeed = 255; analogWrite (6,255); digitalWrite(8,LOW); analogWrite (5,255); digitalWrite(7,LOW); delay(100); } Q. Can I operate the 6x cool blue LEDs from the software? Yes, but no: the the six LEDs are are all connected together therefore cannot becannot operated independently.
Versions & Kits Several versions of the DFRobotShop Rover have been released: V1.0 Board (discontinued) Arduino Duemilanove Design w/FTDI USB to Serial LEDs connected to pin 13, Tx, Rx and PWR Temperature and Light sensors connected to A0 and A1 (via jumpers) DFRobot BT / APC220 Interface Onboard voltage regulator On/Off switch L298 motor Controller 2x Screw terminals for motors Blank area for cargo V1.0 Basic Kit (discontinued) V1.
V1.5 Board (discontinued) V1.0 board with following modifications: Onboard LiPo battery charger RoHS compliance V1.5 Basic Kit (discontinued) Tamiya Twin Motor Gearbox Tamiya Tank Track Kit 2x Metal Brackets V1.0 Hardware Bag 4xAA battery holder V1.5 Bluetooth Kit (discontinued) V1.5 Basic Kit DFRobot Bluetooth Module USB Bluetooth Module 3.7V, 1000mAH LiPo battery V1.5 XBee Kit (discontinued) V1.5 Basic Kit 2x XBee series 1 modules USB to XBee breakout board 3.7V, 1000mAH LiPo battery V1.
V2.0 Board V1.5 board with following modifications: Arduino Uno design w/ ATMega8 USB to serial L298P Motor Controller & redesign 2x XBee headers w/ switch & Breakout pins Solder prototyping area (previously cargo area) Additional mounting holes Added additional front mounting slots V2.0 Basic Kit 1x V2.0 PCB + 1x Hardware Bag 1x Tamiya Twin Motor Gearbox 1x Tamiya Tank Track Kit 2x Rover frame (left and right) 1x 4xAA battery holder V2.0 Bluetooth Kit 1x V2.
2x Encoder pairs for DC gear motors 1x 4xAA battery holder V2.0 Omniwheel Kit (60mm) V2.0 DFRobotShop Rover PCB + 2x Hardware bags 2x Rover frame (left and right) 2x Omniwheel Brackets 4x 60mm Omniwheels 1z DFRobotShop Rover Motor Controller Shield 4x 6V, 180rpm DC gear motors 2x Encoder pairs for DC gear motors 1x 4xAA battery holder V2.0 Autonomous Kit 1x V2.0 Basic Kit 1x USB cable 1x 3.
Upgrades and Optional Parts DFRobotShop Rover Expansion Deck The DFRobotShop Rover Expansion Deck allows you to more easily attach additional mechanical and electrical components, as well as servo motors to the board. http://www.robotshop.com/dfrobotshop-rover-expansion-plate.html Encoders Two analog encoders can be connected directly to the DFRobotShop Rover V2.0 PCB. 4x Encoders are included and suggested for use with the V2.0 Mecanum version. The encoders plug directly to the V2.0 PCB. http://www.
Compatibility Universal Connection Point The universal connection point incorporates the standard servo horn hole pattern used on Lynxmotion servo erector set brackets. These brackets are ideal for mounting a pan / tilt system to the rover (or a pan and tilt or just a tilt) or for mounting your own custom hardware. We suggest using micro sized servo brackets to reduce weight, though standard sized servo brackets can also be used. Giant scale servos are not suggested simply due to weight imbalance.
Shield Compatibility The configuration of the DFRobotShop Rover is the same as the Arduino Duemilanove except for the fact that pins 5, 6, 7 and 8 are used to control the motor driver. If you are not using the motor driver, all shields should be compatible with the rover. The DFRobotShop Rover includes headers and connections for the DFRobot Bluetooth module and APC220 RF modules. Be sure to install the module facing the FRONT of the PCB.
Useful Links Products Manufacturer Websites: www.robotshop.com, www.dfrobot.com Software Arduino Software: http://arduino.cc/en/Main/Software Support DFRobotShop Rover on RobotShop Forum: http://www.robotshop.com/forum/forumdisplay.php?46-DFRobotShop-Rover DFRobotShop Rover Category: http://www.robotshop.com/ca/dfrobotshop-rover-arduino-robot-construction-kits.html Order specific support, RMAs etc: http://robotshop.helpserve.com/index.
V0.8 16/04/2010 V 1.4 14/12/2010 V 1.7 06/05/2011 V1.8 02/09/2011 V2.0 29/11/2011 V2.1 16/01/2012 V2.2 10/02/2012 V2.3 20/04/2012 V2.4 13/02/2013 We are grateful to Arduino for making their platform and software open source. Should you find any erroneous information in the guide, please contact RobotShop via the Support Center.