The project was developed by students of the Tec of Monterrey Campus Chihuahua for the Integrated Electronics Lab. The purpose was to create a robot which could compete in the 2016 maker fest. The competition is about robots carrying 3 balloons on them while moving and trying to blow up other robot's balloons with their weapons.
In this instructable we are going to show you the development of the robot hoping that will be easier for you to create one of your own or improve our design, also that you do a similar competition and have some fun.
Luis Cesar Franco Pando A01186398
Ricardo Delgado A00759242
Daniel Navarrete A01560716
Eloy Gomez A00754669
Step 1: Materials and Equipment
· 3mm MDF or acrylic
· 1x Arduino UNO
· 1x Adafruit Motor Shield v2
· 1x TIP41C BJT transistor
· 4x gear motors (https://www.bananarobotics.com/shop/Yellow-Gear-Motor-with-120-to-1-reduction-ratio)
· 4x wheels
· 2x HD-6001HB Servo Motors (or similar dimensions)
· 12V Battery
· 6x 1.2V AA Battery
· 1x 4 Battery holder
· 1x 2 Battery holder
· 1x LM7805
· 1x small DC motor
· 1x HC-06 Bluetooth Module
· 1x smallperfboard
· 1x DC switch
· 1x 220Ω Resistor
· 1x 1N4004 diode
· 1x 0.22uF capacitor
· 1x 0.1 uF capacitor
· 20x Aprox. 20mm width screws with nut
· 4x 5mm width 2in long screws with nut
· Insulating tape
· Transparent glue
· Xbox One controller
· Laser cutting machine
· Nose Pliers
· Cutting Pliers
.· Electric soldering iron
· Visual Studio
Step 2: Design
For the Design you can use SolidWorks or any other CAD software. Make a separate solidworks part for each part of the robot, fist draw a sketch and then extrude it to see how the actual part will look like after cutting it, then export each part to a DXF file, which will help you send it to the laser cutting machine. In our case we fit all DXF parts into several Corel Draw 300x450mm sheets and then we send it to the laser cutting machine.
The robot will have 2 big circular bases one on top of the other, separated by 4 pillars and 4 large screws, between them you will fit all the circuitry, batteries and cables. On the bottom base, you will fix the servo base/holder consisting of two similar parts, this will be fixed with the help of two stops, and this will be where the first servo will fit in. On the bottom base, you will fix the gear motors between 2 motor holders which will fit into the large rectangular holes. The robot will have a 2 degrees robotic arm with a spinning saw at the end which will be the weapon.
I'll attach the solidworks parts in the cutting step for you to use them or modify them if need it.
Step 3: Cutting
For each solidworks part, you need to export a DXF file and then adjust each drawing into corel draw files with the dimension of your material. When this file is ready you just need to adjust the material into the cutting laser machine and send the file to print.
You will cut the following:
· 1x Top base
· 1x Bottom base
· 2x Arm 1st joint
· 2x Arm 2nd joint
· 1x Bottom servo base stop
· 1x Top servo base stop
· 8x Gearmotor holder
· 4x pillar
· 1x saw
· 1x Servo baseholder
· 1x Servo baseholder2
Step 4: Assembling
For the bottom base:
· Fit the 8 servo holders into the rectangular holes of the bottom base.
· Fix the gear motors between the holders with 2mm width screws (2 for each motor).
· Fix the Arduino and motor shield with 3 2mm width screws on the bottom base.
· Stick the pillars on the bottom base with some glue.
For the top base:
· Slide the servo base/holder parts into the 2 large rectangular holes of the top base (the one with small holes must be closer to the center of the base, the square hole on the servo base/holder for the cables of the servo must point to the closest edge of the base).
· Slide the bottom servo base stop below the previous parts and fix them with some transparent glue.
· Fit the servo between the two holders and fix it with the screws that comes with the servo.
· Fit the top servo base stop.
· Take the servo accessory that you consider useful and fix the first arm 1st joint with 2mm width screws.
· Take another servo accessory and do the same with the 2nd joint.
· Fix the DC-motor to the hole at the end of the arm.
· Fix the saw to the DC-motor accessory with some transparent glue.
After cutting the saw it’s possible that it won’t be sharp enough to blow up the balloons, so you can make the teeth sharper with a drill and a sandpaper tool.
The 3 holes at the ends of the top base are intended for
you to put some large pillars where you can tie up your balloons, if there is any dimension constrain you have to consider it.
You can also use 2 parts for each link or the arm to make it stronger.
Step 5: Connecting, and Some Electronics...
First thing to consider is you’ll be drawing a lot of power from the batteries because you’ll energize 5 DC motors and 2 Servo motors so you need to find a 12v battery that delivers enough current for a reasonable amount of time (we used a battery of a cordless drill). Also you’ll need a separate 6V(approx.) power supply for the Arduino, the shield and the Bluetooth module, this will be the 6 1.2V AA batteries connected in series.
To control all the actuators you’ll use an Arduino uno and an Adafruit motorshield, this shield needs some pin soldering before you can attach it to the Arduino, here is all you need for the installation (https://learn.adafruit.com/adafruit-motor-shield-v2-for-arduino/install-headers), this page will be also helpful if you have any questions about the shield.
After you install the headers you will need to do a modification to the shield. As I previously mentioned, the power for the motors can’t come from the same source as the Arduino because this could cause the Arduino to reset. The shield connects the 5v regulator from the Arduino to the servomotors, to avoid this you have to cut a trace on the bottom of the shield as shown in the image above, and also solder 2 additional pins on the “opt. servp pwr supply” of the shield, here you’ll connect an external regulated 5V power supply which will come from the LM7805 regulator.
You’ll need to do a small circuit for the 5v regulator and the transistor for the saw dc-motor, you can do it on a small perfboard. The schematic and the circuit done is shown in the images above. You can use t-blocks for the inputs and outputs.
Once you have the shield and circuit ready you can attach the shield on top of the Arduino and connect the circuit as shown in the schematic, make sure to remove the VIN jumper on the shield and connect the 12V motor power to your 12v output on your circuit. Connect each gear motor to the M1-M4 t-blocks on the shield. Connect the Bluetooth module as follows: VCC-5V, GND-GND, TX-RX(Arduino pin 0), RX-TX(Arduino pin 1).
Step 6: Programming
We used an Xbox controller to control the robot because it’s easier and more comfortable than an android app, for this we also created a visual C# application to read the signals from the control and send them through Bluetooth to the Arduino (Bluetooth module). You can use our Arduino and visual C# code if you want to, but you’ll have to download the drivers for the controller (https://www.microsoft.com/en-us/download/details.aspx?id=23714). If you don’t have an xbox controller, you can create an android app on the MIT appinventor (http://appinventor.mit.edu/explore/), its easy and there are a lot of tutorials out there of how to create an app. If you decide to create your own android app you’ll also need to modify the Arduino code.
Our Arduino program consists of reading the signals from the Bluetooth module as characters from the serial port. It reads 8 bytes at a time, each byte represent the position of each joystick, trigger and button from the Xbox controller and act accordingly.
The Visual C# program just reads the value of each component of the controller that you want to monitor each 10ms and sends this information in a 8 byte array through Bluetooth. To send the data you need to select the COM port in which the Bluetooth module has been directed and the correct baud rate.
I’ll attach both the Arduino and visual studio programs in a zip file.
Step 7: Destroy Some Balloons!
I hope this instructable has been very helpful, and feel free to modify any part of the design, hardware or software.