Béda5 - a robot for RoboRAVE competition
Béda 5 is a robot, with which our team HaHaHa Robotics (www.hahaharobotics.tk) has won the Czech national round of the international RoboRAVE 2016 Junior competition – the category of Ball transport with automatic loading. Béda 5 is also our first robot we made with 3D printed parts printed at Prusa i3, which we got for the last Christmas.
Function:
The robot follows a black line, detects a crossroad, pushes the dosing tower button for collecting balls, turns around and rides towards the target box. It stops in front of the target box, centers itself, opens its collector lid and empties the balls to the box. If the robot has a spare time until the 3-minute limit, it makes another round, otherwise it returns back to the start.
The robot uses DC motors salvaged from HP Photosmart 1215, mechanical parts incl. gears and wheels printed at a 3D printer, control system based on own PCB with PIC16F1789, bidirectional motor driver L298N, LCD display 16x2, RGB LED with WS2811 driver, 6 reflective sensors QRD1114 for black line following and wheel encoding, two front buttons, IR distance sensor Sharp GP2, servo-motor TG9z for ball collector opening, powered by a battery pack with 4 Li-ion accumulators 2.2 Ah charged using a chip MCP73831.
Mechanical parts:
- front wheel: ping – pong ball in a holder, 3D printed at PRUSA i3, material PLA, a model taken from http://www.thingiverse.com/thing:636967
- back wheels: Ø156 mm 3D printed at PRUSA i3, material PLA, a modified parametric model from http://www.thingiverse.com/thing:21486
- tires of the back wheels: a circular profile EPDM 8 mm
- chassis: polycarbonate sheet 120 × 250 mm from a HP DeskJet printer
- 2×gearbox 25:1, 3D printed at PRUSA i3, material PLA, a modified parametric model from http://www.thingiverse.com/thing:3575
- holder of reflective sensors: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
- buttons and IR distance sensor Sharp GP2 holder: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
- the control board case with a lid: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
- the battery pack box: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
- the ball collector: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
- a holder for the ball colector: 3D printed at PRUSA i3, material PLA, own design (see the SketchUp model below)
Electrical parts:
- MCU: PIC16F1789
- MCU inputs:
· front button PCB5-EC-4-5 (2 pcs connected in parallel) for pushing button of the dosing tower
· 5×reflective sensor QRD1114 for the black line following
· 1×reflective sensor QRD1114 as the wheel encoder
· IR distance sensor Sharp GP2Y0A41SK0F (4 – 30 cm) for box detection (finally, the front buttons were used instead as the sensor was overshined by the direct sun).
· reserve 4 DI/DO
- MCU outputs:
· alphanumeric LCD display 16x2
· bidirectional motor driver L298N (2×2 A)
· RGB LED with a driver WS2811 for signalization
· servomotor 9g TG9z for the ball collector opening
· speaker: 8 Ω/0,5 W (not used in this program)
- Motors: 2 DC motors C6003 salvaged from HP Photosmart 1215 printer
- Battery pack: 4×Li-ion acumulators 3.6 V/2.2 Ah, separately charged via MCP73831 chips
- PCB: universal line PCB e=0.1“
Scheme – control board (better readable schemes are attached as pdf)
Table of components – Control board:
Code | Type | Parameters | Function |
C1 | capacitor | ceramic 100 nF SMD 0805 | MCU power filter |
C2 | capacitor | electrolytic 100 µF/50 V | 7805 input filter |
C3 | capacitor | ceramic 100 nF SMD 0805 | 7805 input filter |
C4 | capacitor | ceramic 10 µF /X7R/25 V SMD 0805 | 7805 output filter |
C5 | capacitor | ceramic 100 nF | 7805 output filter |
C6 | capacitor | ceramic 100 nF | L298N power filter |
C7 | capacitor | ceramic 100 nF | L298N power filter |
C8 | capacitor | ceramic 220 nF | sound RC filter |
C9 | capacitor | ceramic 100 nF SMD 0805 | MCU power filter |
C10 | capacitor | electrolytic 100 µF /50 V | servo motor power filter |
C11 | capacitor | ceramic 100 nF SMD 0805 | IR sensor power filter |
C12 | capacitor | ceramic 10 µF SMD 0805 | IR sensor power filter |
D1 | diode | 1N5822 | polarity protection |
D2 -D9 | diode | UF4007 | L298N output protection |
DS1 | LCD display | alphanumeric 16x2 | setting and displaying program parameters |
FU1 | polymer fuse | 2.5 A | overcurrent and polarity protection |
IC1 | stabilizer | 7805 | 5V power source |
IC2 | MCU | PIC16F1789 | microcontroller |
IC3 | motor driver | L298N | bidirectional motor driver 2x2 A |
| programming pins | ICSP | programming pins to MCU |
K1 | terminal | ARK500/2 | main power connector |
K2 | terminal | ARK500/2 | motor connector |
K3 | terminal | ARK500/2 | motor connector |
K4 | terminal | ARK550/3 | IR distance sensor connector |
K5 | terminal | ARK550/3 | encoder connector |
K6 | terminal | ARK550/3 | servo motor connector |
K7 | terminal | ARK500/2 | speaker connector |
K8 | connector | IDC10 | buttons and reflective sensors connector |
K9 | connector | IDC10 | reserve for external inputs/outputs |
MOTOR-MOTOR2 | motors | DC motors C6003 salvaged from a printer HP Photosmart 1215 | robot wheel drive |
PAD1 – PAD10 | soldering pins |
| auxiliary connectors for external inputs and outputs |
Q1 | transistor | IRLB8743 | switching speaker for sound generation |
R1 | resistor | 1 kΩ | LCD display contrast setting |
R2 | resistor | 68 Ω | LCD display background light |
R3 | resistor | 1 kΩ | L298N input protection |
R4 | resistor | 1 kΩ | L298N driver protection |
R5 | resistor | 1 kΩ | L298N driver protection |
R6 | trimmer | 5 kΩ | LCD display contrast setting |
R7 | resistor | 1 kΩ | L298N input protection |
R8 | resistor | 1 kΩ | L298N input protection |
R9 | resistor | 1 kΩ | L298N input protection |
R10 | resistor | 3.9 kΩ | voltage divider for battery control |
R11 | resistor | 10 kΩ | voltage divider for battery control |
R12 | resistor | 1 kΩ | sound RC filter |
R13 | resistor | 1 kΩ | MCU analog input protection |
RGB | RGB LED | HC-F5V-F20-WS2811, RGB with driver WS2811 | indication of battery and program status |
SERVO MOTOR | servo motor | 9 g TG9z | ball collector opening |
Speaker | speaker | 8 Ω/0,5 W | acoustic signalization |
SW1 | button | PCB button | auxiliary button (reserve) |
SW2 | mushroom button | PCB5-EC-4-5 (2 buttons connected in parallel) | pushing button of the dosing tower |
X1 | 4x header
|
| connecting for I2C communication
|
Scheme – reflective sensors:
Table of components – Reflective sensors:
Code | Type | Parameters | Function |
C13 – C17 | capacitor | ceramic 10 nF SMD 0805 | filtration of phototransistor output |
R14 – R18 | resistor | 10 kΩ | phototransistor output resistors |
R19 | resistor | 47 Ω | current limitations for LED diodes of reflective sensors |
RX1 – RX5 | reflective sensors | QRD1114 | track detection |
Scheme – encoder:
Table of components – Encoder:
Code | Type | Parameters | Function |
C18 | capacitor | ceramic 10 nF SMD 0805 | filtration of phototransistor output |
R20 | resistor | 10 kΩ | phototransistor output resistor |
R21 | resistor | 330 Ω | current limitation for LED diode of the reflective sensor |
ENCODER | reflective sensor | QRD1114 | wheel motion encoding |
Scheme - Battery pack:
Table of components – Battery Pack:
Code | Type | Parameters | Function |
C21 | capacitor | 4x ceramic 10 µF/25V SMD 1210 | charging chip output filtration |
C22 | capacitor | 4x ceramic 10 µF/25V SMD 1210 | charging chip filtration |
D16 | LED diode | green indication LED 3 mm/ 2 mA | indication of charging status |
D17 | LED diode | red indication LED 3 mm/ 2 mA | indication of charging status |
IC4 | integrated circuit | 4x MCP73831 | charging of a single-cell Li-ion battery |
K10 | terminal | 4x ARK500/2 | Li-ion accumulator connectors |
K11 | terminal | ARK500/2 | power source connector |
R22 | resistor | 2 kΩ | LED current limiting |
R23 | resistor | 2 kΩ | LED current limiting |
R24 | resistor | 2 kΩ | charging current selection |
3D models in SketchUp:
Photos of the robot:
Training models of the dosign tower and the target box:
Front buttons with IR distance sensor:
Collector of balls from the top:
Robot chassis- back part from below:
Robot chassis- front part:
Motors:
Immediately after the winning competition we dismantled the robot and made its update – Beda 6 for the Robotic Day in Prague for the Ketchup House contest (… and guess what, it has won again … the new input is coming soon …).
A winning robot of the Czech round of the RoboRAVE 2016 Junior competition – Ball transport with automatic loading
- Actuators / output devices: speaker, 2x DC motors, RGB LED, 16x2 LCD display
- Control method: autonomous
- CPU: PIC16F1789
- Power source: battery pack 4x Li-ion 18650 2.2 Ah
- Programming language: C
- Sensors / input devices: Sharp IR Distance sensor, 6x QRD1114 reflective sensors, 2x push-buttons
- Target environment: indoor