How to Build a Bluetooth Wireless Upload Self-balancing Robot

by maker_studio in Circuits > Arduino

20238 Views, 113 Favorites, 0 Comments

How to Build a Bluetooth Wireless Upload Self-balancing Robot

maxresdefault.jpg
IMG_8784.JPG
Balanbot-Self-balancing-Robot-Kit-Balance-Car-for-Arduino-UNO-R3-control-with-Bluetooth-RC-Joystic (1).jpg

Self-balancing Robot is very interesting. Many friends around us were trying to make one, but they encounted a lot of chanllenges including the lack of the easy-to- assembly structures, the suitable electronic circuits and the programs. So I decided to make a self-balancing robot as simple as possible.

Thanks to Arduino team that almost every maker has one Arduino board in hand. Among those Arduino boards, Arduino UNO R3 is the most universal entry-level board. Arduino UNO is open source and there are huge of applications based it. We want to help those who has the similar idea of making a self-balancing robot based on the Arduino UNO.

Here is the old version of balanbot

I have posted a instructable about self banlance robot before. But I found it's troublesome to take back the robot and insert the USB cable for uploading codes when debugged. So I try to make a Arduino board with built-in Bluetooth module for uploading codes wirelessly. So we don't need to take back the robot when debugging.

After a period of preparing including learning theory, programming, making PCB and etc.. My goal comes true and now I'm sharing with you.

Here is the new version of balanbot.

Control with app

I have uploaded the codes and the schematic of balance shield to insrtuctable. If you are interested in Flyblue board, you can come here to get more detail.

Downloads

Preparing

材料.jpg
materials.png
img_0335.jpg

I want the assembly of self-balancing robot to be very easy. It doesn’t need much wires, complicated connections and testing, just like playing with LEGO.

I designed a balance shield that includes gyroscope and motor driver part on it. After times of testing, it can now always work perfectly. Thanks to this shield, as it makes everything much easier.

Bill of the main materials:

1 x Arduino UNO R3 or compatible board with built-in Bluetooth module

1 x Balance Shield for Arduino

2 x High torque&speed motor with encoder

2 x Wheels1 x 5mm Acrylic board

2 x 3mm Acrylic board

1 x 11.1V Lithium battery or

1 x 18650 battery holder and 3 x 18650 batteries

N x Screws and Nuts

Tools

  1. Combination pliers
  2. Flat-blade screwdriver.

Install Two Motor Brackets

安装电机支架1.png
安装电机支架4.png
安装电机支架5.png
安装电机支架6.png
安装电机支架7.png
安装电机支架8.png
安装电机支架9.png

Assemble two motor brackets to the 5mm Acrylic Board and fix with 8 M3*12 screws. You may need the Combination pliers to set the screw nuts.

Install Two Motors and Wheels

安装电机1.png
安装电机6.png
安装电机5.png
安装电机7.png
安装电机10.png
安装电机9.png
P60922-175136.jpg

a). Fix two motors into two motor brackets with 8 M3*6 screws.

b). Fix two even couplings into motor axises with 2 M3*6 screws.

c). Assemble two wheels into two couplings with 2 M4*6 screws.

Assemble Battery Holder

电池盒板.jpg
img_0407.jpg
img_0406.jpg

a).Install 3mm acrylic board for fixing the battery with four M3*10 Double-pass Hollow Copper Pillars .

b). Fix battery holder onto 3mm acrylic board with 2 M3*8 screws.

c). Fix 5mm acrylic board onto the 3mm acrylic board with 4 copper spacers.

Assemble the DC Connector and Set Batteries

img_0409.jpg
img_0411.jpg
img_0412.jpg
img_0414.jpg

a). Insert black line into the nagative port and red into the positive port and fix them.

b). Set 3 18650 batteries into battery holder.

Assemble the Wireless Upload Arduino Board and Balance Shield

img_0416.jpg
img_0417.jpg
img_0419.jpg
img_0422.jpg
Balanbot-Self-balancing-Robot-Kit-Balance-Car-for-Arduino-UNO-R3-control-with-Bluetooth-RC-Joystic.jpg

After the battery is fixed, we can now add a new layer of acrylic board by some screws.

a). Fix 4 M3*6 Double-pass Hollow Copper Pillars into another 3mm acrylic board for Arduino board with 4 M3 screws. Ensure the side with UNO R3 is upwards.

b). Fix wireless upload Arduino board onto the 3mm acrylic board with 4 M3*6 screws.

c). Insert the balance shield into Arduino board.

With the Balance Shield, and the Arduino collects the angle from gyroscope, position from motor’s encoder then process them. It will control two motors to keep balance.

Connect the Circuit

FOYA3ZXI1SIDJ3C.MEDIUM.jpg

We almost finish our long assemble journey now!

a). Insert the DC connector into the DC jeck of balance shield.

b). Insert two motor ports into the balance shield.

Program and Upload Wireless

img_0423.jpg
7.JPG

We don't need to insert Bluetooth any more beceuse the Flyblue board is wit built-in Bluetooth module. Now we can upload the code wirelessly. Now we finished the assemble journey of a common balance robot. But we can do more...

Have Fun With App

Balanbot-Self-balancing-Robot-Kit-Balance-Car-for-Arduino-UNO-R3-control-with-Bluetooth-RC-Joystic (1).jpg
Balanbot 0.2.jpg

I wrote an application running on computer and another application running on android. So i can easily adjust PID parameters and control my balance robot by android mobile phone via blue-tooth ,gamepad via computer and RC remote .
The balanbot works very stable because of the two high torque&speed motors and the optimized algorithm. It keeps balanced even when you push it suddenly. It took me a lot of time to get the best matching PID parameter for Balanbot. Thanks for reading to the end, but I believe the making for more interesting things never ends.