Introduction: Auto-balancing Table

This is my project that I am making for DDC2015. It's a auto-balancing table that will function with Microchips' chipKit mx4, PMOD Gyro and PMOD ACL.

This is an beginner-advanced project, with some parts of mathematics, mechanics, software engineering and will require lots of time and fine tuning.

Parts needed:

3/4 or more stepper motors

chipKIT pro mx4



Stepper/Servo motors

Custom cables and parts

Step 1: Gyroscope

In this project, I found a tricky part that required more attention. I will help you through this one:

The PMODGyro gives you as output the angular rate. To get the angle from this reading, you have to integrate. If you don't pay attention, the gyroscope values will cause the angle to drift to + or - infinity over a long period of time. To make things easier for you, I will post this code snippet:

xAxis = myGYRO.getX();
xVal = xAxis / 1000;

angleX += xVal/5.5;

Serial.print("X: ");
Serial.print(xVal, 2); Serial.print(": "); Serial.print(angleX, 2);

with this code snippet, you will read the values of 1 axis of the gyro, will get the angle and will print on the serial monitor the values.

Step 2: Mechanics

You will have to connect the Gyro and the accelerometer to the board and connect the servos/steppers to the base of the table. If you use steppers, you will have to find the relationship between the angles and the actual movement of the motors. If you will use servos, the values that you will obtain will be directly wrote in the servos.