Alpha Bot 1.0

by Circuit-Builder in Circuits > Robots

1126 Views, 9 Favorites, 0 Comments

Alpha Bot 1.0

0 (Cover).jpg
Alpha Bot
1.jpg
4.jpg
2.jpg
IMG_1251.JPG
14.JPG
13.jpg
18.jpg
Alpha Bot Motors
Alpha Bot with Sonar

introducing...

ALPHABOT 1.0

the 2-Raspberry-Pi-Cluster Robot with 2 DOF, 8 megapixel Camera


This robot has a lot of features with lots to go. not all features may be manifest in some of the images or videos above, due to the fact that the robot has been through various stages of construction over time, and still has lots to do.


Important note:

2 of the Images above show the robot with the motor shield on the top of the robot and 7" Touch Screen mounted.

You can build it that way, by 3D printing the screen mount (later in this instructable), and by omitting, soldering the 40-pin adjustment ribbon.

Supplies

Here are the following supplies I used to build this robot. You can buy them at an online hardware site:

  • MOUNTAIN_ARK Tracked Robot Smart Car Platform Metal Aluminium Alloy Tank Chassis with Powerful Dual DC 9V Motor
  • SunFounder PCA9685 16 Channel 12 Bit PWM Servo Driver for Arduino and Raspberry Pi
  • GPS Module GPS NEO-6M(Arduino GPS, Drone Microcontroller, GPS Receiver)
  • 50pcs 5mm 4 pin RGB Multicolor Common Cathode LED for Arduino DIY
  • Gikfun Infrared Diode Led IR Emission and Receiver for Arduino (Pack of 10 Pairs) (EK8460)
  • ELEGOO MEGA 2560 R3 Board ATmega2560
  • Gikfun 5mm 940nm LEDs Infrared Emitter and IR Receiver Diode for Arduino (Pack of 20pcs) (EK8443)
  • Iduino Mega 2560 Starter Kit For Arduino W/ 33 Lessons Tutorial Over 200pcs Complete Electronic Component Project Kits
  • TFmini-s, 0.1-12m Lidar Detector Sensor Lidar Tiny Module Single-Point Micro Ranging Module with UART / I2C Communication Interface
  • TalentCell Rechargeable 12V 3000mAh Lithium ion Battery Pack for LED Strip, CCTV Camera and More, DC 12V/5V USB Dual Output External Battery Power Bank with Charger, Black
  • Raspberry Pi 3 Model B (2X)
  • Raspberry Pi Camera Module V2
  • Raspberry Pi NoIR Camera V2
  • 4 Pcs 5.5X2.1mm DC Power Male Connector Cable
  • Adafruit Flex Cable for Raspberry Pi Camera - 18" / 457mm (2x)
  • Adafruit USB Micro-B Breakout Board (ADA1833)
  • LM386N-1 Semiconductor, Low Voltage, Audio Power Amplifier, Dip-8, 3.3 mm H x 6.35 mm W x 9.27 mm L (Pack of 10)
  • Portable Charger Power Bank 26800mAh Ultra-High Capacity External Battery Pack Dual Output Port with 4 LEDs
  • Freenove Ultimate Starter Kit for Raspberry Pi 4 B 3 B+, 434 Pages Detailed Tutorials, Python C Java, 223 Items, 57 Projects, Learn Electronics and Programming, Solderless Breadboard
  • Soldering Iron Kit - Soldering Iron 60W Adjustable Temperature, Solder Wire, Soldering Iron Stand, Wire Cutter, Soldering Iron Tips, Desoldering Pump, Tweezers, Rosin, Heatshrink Tubes [110V, US Plug]
  • Double Sided PCB Board Prototype Kit, Quimat 35Pcs Universal Printed Circuit Board with 5 Sizes for DIY Soldering and Electronic Project (QY21)
  • Breadboard Solderless With Jumper Cables– ALLDE BJ-021 2Pc 400 Pin and 2pcs 830 Pin Prototype PCB Board and 3Pc Dupont Jumper Wires (Male-Female, Female-Female, Male-Male) for Raspberry Pi and Arduino
  • 2mm zip ties (pack of 500)
  • Raspberry Pi 7 inch Touch Screen Display

Set Up RPI Software

First step: install raspbian, for your RPIs (https://www.raspberrypi.org/downloads/)

Software language:
Java with NetBeans IDE. I have remote shared project connection with the raspberry pi. (Formerly, the robots main platform was processing processing.org)

About the software:
Processing was designed to be a flexible software sketchbook. It allows you to program with 2D and 3D graphics in the Java language, or with other “Modes” (programming languages). It uses Swing (UI), JOGL (OpenGL (3D)), and other Java platforms. One problem. It's only geared for beginner programmers and small programs.
I changed my software platform due to other specific limitations also, specifically because all of your .pde files in your project, in the Processing IDE will fill up at the top.
I am now using NetBeans IDE (netbeans.apache.org/download), with remote project sharing between my computer and my main raspberry pi, so that programming things such as GPIO pins and such may be easier. And I am looking at java FX for my robots UI.


You can learn how to set up NetBeans IDE with remote project sharing in this article:

https://www.instructables.com/id/Efficient-Development-of-Java-for-the-Raspberry-Pi/

Assembling Items to the Chassis

IMG_1808[300].png
IMG_1806[304].jpg
IMG_1454.JPEG

Most useful form of assembly:
I find the most useful form of assembly to be zip ties. With zip ties, you can attach anything to your robot chassis. I bought 2mm zip ties, so they could fit through any hole in my chassis.

If there is a good place to put a few screws however, in the case of my IMU sensor (in the images above), then screws should be inserted instead.

I also use 3D printed washers (seen in the above images) for spacing and to keep the chassis paint from being scratched.

Soldering Overview

ITEMS TO BE SOLDERED, LATER IN THIS INSTRUCTABLE:

  • As listed above: IR sensors
  • Arduino 5.5x2.1 power cable
  • 5v Headlight 5v+GND connections
  • 12v LiOn battery power System and 5v Power pack Power system
  • 40-pin adjustment ribbon to move the motor shield 1cm away from the motors


Soldering tips:
When I soldered the 2 IR sensors, I used typical insulated wire for longer connections. It is a lot easier to use tinned copper wire. I got 24 AWG wire. I used it to solder the back of my pin breakout and it works infinitely better than insulated wire.

Solder Breakout Board

IMG_0231.jpg
IMG_1509.JPG
IMG_1507.JPG

It doesn't seem necessary at first, but if you want to wire 10 sensors to one arduino, it's definitely needed. You put a GND wire on the end of the board, and you get 26 more GND wires to use. I will be using this on all of the arduino’s 5V, GND and 3.3V pins.

Solder Headlights

16.JPG
IMG_1775.JPG

When soldering the headlights (included with the chassis) i soldered the GND wires together in order to keep thing simple when wiring everything to the Arduino. I used a 220 ohms resistor, for both headlights, and used heat-shrink tubing to keep the soldered joints from falling apart.

Solder IR Sensors

15.JPEG
IMG_1301.JPEG
IMG_1768.JPG

Next, you want to solder the IR sensors, based on the diagram shown above.

Like I said, When I soldered the 2 IR sensors, I used typical insulated wire for longer connections, but its a lot easier to use 24 AWG tinned copper wire for that. Just make sure the wires don't cross!

Other Soldering Jobs

OTHER HOMEMADE PARTS THAT NEED TO BE SOLDERED

  • power cable to Arduino MEGA 2560 (5.5x2.1 power cable to USB 2.0 cable)
  • 12v LiOn battery power System and 5v Power pack Power system

Add Motor Shield

9.jpg
10.jpg

You will need to solder a 40-pin adjustment ribbon:

The motor shield is 1 cm too close to the motors, so you will have to create a 40-pin adjustment ribbon to move the motor shield back by 1 cm

- This is where the 24 gauge tinned copper wire is absolutely essential.

3D Print Camera

12.jpg
1.png

Now you need to 3d Print the camera and the camera mount.

Take these G-Code files and open them up in Ultimaker Cura or any other 3D printing software program that you use. Once the model is finished printing, place the servo into the mount and glue-gun the mount lid on top, then glue gun the mount brackets to the bottom servos plastic connector

3D Print Other Necessary Items

19.JPG

All parts are made using black PLA filament

  • Top Arduino board mount
  • 7” screen mount (only print this if you want to install the 7" screen on top of the motor shield)
    • ASSEMBLY: You will have to drill holes in the Screen Mount Platform, enter the Screen Mount Raise pieces, and glue gun them on.
  • Nuts and Washers (mentioned previously)


Design and 3d printing
I designed the 3d printed parts in blender, and used ultimaker cura to print them.

Above are the G-Codes for the additional items to print for your robot.

Wire Everything

Connect all of the wires from any sensors you have connected to AlphaBot, and connect them to the Arduino Mega 2560. connect any GND, 5V or 3.3V connections to the breakout board.

Connecting all of the boards serially

In order for the boards to communicate with each other, the raspberry Pis and Arduino board need to be connected serially.

Serial cables needed (you may need to solder one, if you dont have it):

  • 1 USB (standard) - USB (smaller) (Arduino board's USB cable)
  • 1 USB (standard) - USB (standard) cable.

Java library for easy serial communication: https://fazecast.github.io/jSerialComm/

Attach Batteries to Chassis

This robot is powered by:
5v 2.61A power pack (top) and 12v LiOn battery (bottom)
You can charge the batteries using the micro USB breakout board (5v) and 12v 5.5x2.1 power cable.

12v battery:
The TalentCell 12v battery is connected to the motor shield and the arduino mega 2560 (5v output), to give the motors power. It is charged by a 12v power cable, which is why I needed to create a separate charger on the robot for it.

5v battery pack:
The 5v battery pack is connected to the 2 RPIs and is charged by the micro-usb breakout board.