Hello makers in this article I will show you how to make self balancing robot using Arduino Nano as there are already articles on how to make balancing robot using UNO
Why Arduino nano balancing robot
Main factor of consideration is weight and size UNO is 4 times the size of Nano for this project I am specifically focusing on size, Performance wise Arduino UNO is better but what we require for this project is present in nano
What is balancing robot?
Balancing robot is seen in many areas, In industries those are use to transfer objects from one place to another common application is in Segway or small 2 wheel scooters that self balances itself so as to have a safe ride!
How does it work
In common a sensor that measures balance in real time are used, For easier understanding i will explain taking an example of spirit level that will be use to check levelness of a surface but those don’t have feedback but when it comes to electronics small quartz that moves providing real time feedback is made use here
So when it moves far away compared to given limit-set, it adjusts accordingly
For this purpose we are using MPU 6050 sensor that has inbuilt gyroscopic sensor that can detect orientation in addition this also has accelerometer and temperature sensor but those are not our cup of tea here!
let’s start to make this project by gathering supplies
- ACP SHeet / Metal frame preferably aluminum because of light weight and sturdiness that is important in our project
- Two pieces of Nema 17 Stepper Motor
- L mounts aka stepper holders
- A 4988 stepper motor drivers
- Arduino Nano and MPU 6050
- HC-05 Bluetooth
- Zero PCB Female Header
- Wheels for stepper motor
- EZ-GUI App download this application Here
Stage 1 is to cut ACP sheets that makes frame for this balancing robot, For comparison from visual below clamps are kept side to side with sheet
I cut rectangular piece of aluminum and l channel Mount at first
Start by marking and making holes on sheet to attach stepper Motors to the L mount, I drill holes in the rectangular aluminum sheet and insert clamp screws can refer for same in images below
Adjust the mount configuration so that it doesn’t pass outside of metal frame
Make three layers of same dimensions as we require 3 to our project
Attach stepper Motors on this mount and tighten with screws
Make sure to have it fix very tight as this part will be supporting other parts
To make elevation/steps I use pencil you need four pencils
Steps were built in following pattern one on middle one on top and other on bottom adjust equal distance between 3
Circuit diagram for self balancing robot
We need empty PCB and headers to support stepper motor drivers, Arduino Nano and mpu6050 and lot of solder lead to make the circuit connections
Below is circuit diagram for this project
Don’t forget to add good quality switch between battery and arduino power input pin
Here stepper motor drivers control stepper motors and to connect them directly I made use of header pins, some modification might be necessary in stepper connectors if you are making it by yourself
Individual motor control in real time is possible since we have 2 drivers
This project is wireless because of Bluetooth module
After these step we will end up with complete circuit of this project that is ready to be setup
Placing hardware components
Entire setup will be placed on the middle layer while to cover this I will be adding top player which was pre-cut earlier
To control this entire project I made use of switch and rechargeable lithium-ion batteries from my old laptop batteries
After placement is complete connect all the wires to this hardware components
Lithium Ion batteries were connect in series so as to provide 12 volt approximate supply
Using double sided tape fix fit to the bottom part of the frame
3rd plate will be attached above final part is attaching wheels to the stepper Motors shafts. Tighten to shaft using screw, Well i think those doesn’t require any visual steps!
Uploading code for arduino robot
Code uploading steps
Connect arduino Nano to arduino IDE during this process make sure to unplug the Bluetooth module
copy paste this code to arduino IDE , select port number and click on upload
After code is done upload completely disconnect usb cable from computer
later connect Bluetooth module and switch on the project by pressing power on button
Open ez-gui application on your smartphone, if you don’t have get it here for free
From top right and click on connect after connecting click on the three dots on top right side
Click on advanced option then untested later model control
Then option to adjust the sensor will pop up, Now balance entire structure using hand this will be a one time process after this your self balancing robot will start to balance itself while you can control the forward and backward motion using smartphone
Since we are using rechargeable batteries which has high backup capacity you can play with this device for many many hours!
Why Stepper motors for balancing robot?
Many might be thinking why costly steppers are used herein this project instead of normal gear motors or those inexpensive BO motors
I appreciate your thoughts but like all other type of motors mentioned above which doesn’t provide movement accuracy like stepper motor does
Hope your question was answered, if any other questions strike you after reading this let me know in the comments
Also make sure to have a look on working video of this robot
NextPCB PCB Manufacturers Company
1st Thanks NextPCB for sponsor this project. Nextpcb offer For New Customer, Your First Order Will Be 10 PCBs for just $0 at Free.
NextPCB one of the world’s most professional PCB manufacturers based in China. With professional PCB manufacturing capabilities, for each file of our customer will be double-checked by more than 14 years PCB engineers. they handle the whole process of PCBs including the PCB assembly ,PCB manufacturing, testing and final shipment.
Video for self balancing robot using arduino or Segway
Watch full working of self balancing robot video here