Eder Torres Lopez
Published © GPL3+

Exploration Robot with Beaglebone Black, MSP430, and PIC MCU

Robot made with motor controller, signal distribution, and servo controller board, it's controlled through the network.

AdvancedFull instructions provided7 hours545

Things used in this project

Hardware components

BeagleBone Black
BeagleBoard.org BeagleBone Black
Used for high level function in the robot such as network functions and live video parsing.
×1
Webcam, Logitech® HD Pro
Webcam, Logitech® HD Pro
UVC camera that with internal H264 encoder
×1
Adafruit Zero4U
This USB Hub is externally powered to energized both USB Camera and USB Wi-Fi adapter. It expands the available USB ports in the robot
×1
DROK Buck-Boost 5A-60W Voltage Regulator
Used to power motors and servos by boosting voltage from the 7.2V battery to 12V
×1
DROK Buck Converter - Mini Voltage Regulator - 10W
Used to regulate voltage further for Servo motors. and a second one to power both BeagleBone Black and the USB Hub
×2
5-30V - 0.5-30V Buck-Boost Converter 30W
Used to power all microcontrollers and BeagleBone Black by buck-boosting voltage from the 7.2V battery to 7.5V
×1
Pololu 12V Metal Gearmotor - 29:1 with Encoder
The motor used in the project is no longer for sale, but this is a close replacement.
×2
TP-Link - Archer T2U Plus USB Wi-Fi Adapter
This is a USB Wi-Fi adapter with a high-gain antenna, it's used to give the robot network connection to send video to host computer and receive commands from host computer
×1
MG996R 55g Metal Gear Servo Motor
These servos are used to pan-tilt the camera, raise and lower the robotic arm and open/close the robotic claw. They are controlled with the Servo Controller.
×4
Pololu Universal Aluminum Mounting Hub for 6mm Shaft, M3 Holes (2-Pack)
Used to adapt the motors' shafts to the wheels
×1
Pololu Stamped Aluminum L-Bracket Pair for 37D mm Metal Gearmotor
Used to put the motors and chassis together
×1
elechawk - Pan-Tilt Servo Mount Bracket
One pair of these is used for the pan and tilt camera. The second pair should be used to raise or lower the arm (the actual one used in this built is no longer sold)
×2
Machine Screw, M3
Machine Screw, M3
Used through the chassis to fasten different parts
×1
Machine Screw, M4
Machine Screw, M4
Used throughout the robot to fasten different parts
×1
Optocoupler, Transistor Output
Optocoupler, Transistor Output
Optocouplers are used in the Servo Controller board to isolate the digital signals from the motors/servos signals (to suppress noise)
×4
onsemi BC639 NPN Transistor
Used on the Servo Controller board to power the emitting side of the optocoupler
×6
2x15 Pin Headers Socket 2.54mm Male & Female 4 Pair Connector
M5Stack 2x15 Pin Headers Socket 2.54mm Male & Female 4 Pair Connector
×1
3600mAh 7.2V NiMH RC Battery
1 battery is used to power the motors and the servos (analog-power components). The other battery is used to power all the microcontrollers and the BeagleBone Black (digital side).
×2
JLCPCB Customized PCB
JLCPCB Customized PCB
JLCPCB was used to manufacture all 4 PCBs
×4
Chanzon 3W high Power LED
The bright LED is used as a headlight to illuminate the path the robot is traveling through.
×1
Circular Connector Cable Seal, Heat Shrinkable Sealing Boot
Circular Connector Cable Seal, Heat Shrinkable Sealing Boot
Used to insulate exposed connections
×1
Female Thread Knurled Brass Assortment for 3D Printing
Used to fasten the screws used throughout the robot.
×1
20 Pairs XT30 Connectors
Used to connect the main power branches of the digital side (low current) from the battery to voltage regulators to PCBS.
×1
12 Pair XT60H Connectors
Used to connect the main power branches of the digital side (high current) from the battery to voltage regulators to PCBS.
×1
Texas Instruments ISO7220A
Used to interface the Motor Controller digital PCB to the Motor Controller Analog PCB and isolating the grounds. One per motor is needed, if four motors will be mounted, 4 isolators will be needed
×2
Through Hole Resistor, 10 ohm
Through Hole Resistor, 10 ohm
It needs to be at least 5W for the high powered LEDs
×1
Grove - 2-Coil Latching Relay
Seeed Studio Grove - 2-Coil Latching Relay
Used to latch the headlight on or off
×1
LED (generic)
LED (generic)
Assorted LEDs, used on the Servo Controller board for debugging purposes
×1
Tantalum Capacitor, 1 µF
Tantalum Capacitor, 1 µF
For the MSP430 in the Servo Controller board - as requested in datasheet
×1
Through Hole Resistor, 470 ohm
Through Hole Resistor, 470 ohm
Surface mount if using my Servo Controller PCB
×5
Through Hole Resistor, 3.3 kohm
Through Hole Resistor, 3.3 kohm
Surface mount if using my Servo controller. And for the Signal Distribution board.
×7
Resistor 1k ohm
Resistor 1k ohm
Surface mount if using my Servo Controller
×5
Capacitor 10 µF
Capacitor 10 µF
To supply peak current to Servos
×1
3.3V Low Drop out Voltage Regulator
Same pinout as LM7805
×1
Texas Instruments LM629-6
Precision Motor Controller, 1 per motor, the are located in the Motor Controller Digital board and are controlled via parallel communication with the PIC18F46K22 microcontroller
×2
4MHz Crystal Oscillator
4 pin, square shape, through hole
×1
Linear Regulator (7805)
Linear Regulator (7805)
For the Motor Controller boards, low dropout voltage recommended.
×2
16 MHz Crystal
16 MHz Crystal
For both PIC18F46K22
×2
20 pin - 2 row - connector
To inter-connect both analog and digital Motor Controller boards
×2
2-pin screw terminal block
×1
Male Header 40 Position 1 Row (0.1")
Male Header 40 Position 1 Row (0.1")
Needed to connect motors, servos, and intercommunication between boards
×2
Through Hole Resistor, 1.8 kohm
Through Hole Resistor, 1.8 kohm
Surface mount for the Signal Distribution board
×1
Capacitor 10 nF
Capacitor 10 nF
Surface mount to bootstrap the LMD18200t. If 4 motors will be used, 4 capacitors will be required
×2
Capacitor 100 µF
Capacitor 100 µF
To assist H-Bridges power motors. If 4 motors will be used, 4 capacitors will be required.
×2
MSP-EXP430G2 MSP430 LaunchPad
Texas Instruments MSP-EXP430G2 MSP430 LaunchPad
This board can be used instead of the Servo controller board
×1
PIC18F
Microchip PIC18F
18F46K22 - One used for the Motor Controller digital board and one used for the Signal Distribution board
×2
Motor Drivers
Texas Instruments Motor Drivers
LMD18200T - 12V-40V one per motor
×4
MSP430 Microcontroller
Texas Instruments MSP430 Microcontroller
MSP4302553 - it's needed to control the Servos, it can be used in the Servo Controller board or it can be used for the MSP-EXP430G2 LaunchPad board
×1
Sitara AM335x Processor
Texas Instruments Sitara AM335x Processor
The one contained in the BeagleBone Black
×1
Raspberry Pi Pico
Raspberry Pi Pico
This is used to build the controller
×1
PICkit 3 In-circuit Debugger
Digilent PICkit 3 In-circuit Debugger
Used to program the Microchip microcontrollers
×1
PICkit 3 Programming Cable Kit
Digilent PICkit 3 Programming Cable Kit
Used for the PickIt
×1
Mains Power Cord, 2.1mm Barrel Plug
Mains Power Cord, 2.1mm Barrel Plug
A connector for the BeagleBone Black
×1
JST - 2 Pin conne
×1

Software apps and online services

Code Composer Studio
Texas Instruments Code Composer Studio
Used to program the MSP430 in order to do a Servo Controller
MPLAB X IDE
Microchip MPLAB X IDE
Used to program 2 PIC18F46K22. One as a signal distribution board and another to controller High Precision Motor controllers ICas
WaveForms
Digilent WaveForms
Used to debug the hardware and verify the functionality of all microcontrollers
GStreamer
Source code was compiled to gather video from a webcam already encoded in h264 format
Circuit Maker
CircuitMaker by Altium Circuit Maker
All PCB and schematics were designed with CircuitMaker
BeagleBoard.org AM3358 Debian 10.3 2020-04-06 1GB SD console
The latest image for the BeagleBone black was used, and later modified for the robot.
balenaEtcher
balenaEtcher
It was used to image the SD card with the Debian image for the BeagleBone Black
Autodesk AutoCAD
3D model for the chassis of the robot was designed using AutoCAD and STL files were exported for 3D printing.

Hand tools and fabrication machines

Soldering Station Power Supply, For Weller WX Soldering System
Soldering Station Power Supply, For Weller WX Soldering System
All PCB boards and connections that were not crimped were soldered by hand using a Weller soldering station.
Soldering Gun Kit, Instant Heat
Soldering Gun Kit, Instant Heat
Heat gun was used to shrink shrinking tube to isolate bare connections
3D Printer (generic)
3D Printer (generic)
The chassis of the robot was 3D printed. The designed was done using AutoCAD. The robotic Claw was 3D printed and was downloaded from thingiverse
Texas Instruments MSP-FET - MSP MCU Programmer and Debugger
This tool was used to flash the binary to the MSP430 for the Servo Controller. It was also used to debug the microcontroller
Microchip MPLAB PICkit 4 In-Circuit Debugger
This tool was used to flash both PIC microcontrollers.
Crimp Tool, Heavy-Duty
Crimp Tool, Heavy-Duty
The Crimp tool was used to create cables with headers for board-interconnection
Wire Cutter / Stripper, 5.25 " Overall Length
Wire Cutter / Stripper, 5.25 " Overall Length
Used to cut and strip wires
Drill / Driver, Cordless
Drill / Driver, Cordless
To drill holes were necessary
Step Drill Bit
To drill holes needed on the chassis
Heat-Set Insert Installation Tips
This is for a Weller WES51 Soldering station.

Story

Read more

Custom parts and enclosures

Robot Chassis Autocad File - Cover and Main Body

Robot Chassis STL file - Lid

Robot Chassis STL file - Main Body

Files for robotic claw

This claw was made by: Juergenlessner

Alternative Chassis - Round

Cover is no designed yet

Alternative Chassis - Round - AutoCad Drawing

Schematics

Signal Distribution Board

Motor Controller Board (Digital board)

Motor Controller Board (Power board)

Servo Controller Board

Code

Mercury Robotics Source Code

The code for each MCU is housed in its own folder with its name. Motor_controller_board folder and signal_distribution_board folder are compiled with MPLABX. Servo_controller_msp430 folder is compiled with Code Composer Studio

Credits

Eder Torres Lopez

Eder Torres Lopez

8 projects • 9 followers
I've been working on embedded systems since 2012 to create workshops for our IEEE student branch at the University where I obtained a BSEE.
Thanks to Juergenlessner.

Comments