The Balanbot is an Arduino compatible Open Source balancing robot kit - easy to assemble, program, play with and expand!
The kit comes with everything you need to get started assembling your own balancing robot, including the custom-designed Arduino-compatible microcontroller board, except the lipo-battery.
This board includes all the necessary electronics to keep the Balanbot balanced together with a great number of different control possibilities, such as using your Android phone or PC or even your PS3, Xbox or Wii controller(support in the future).
The Balanbot kit also comes with the hardware frame making the robot rugged and stable. The frame consists of three layers of cnc-cut 4mm acrylic plate, all assembled with four 5mm threaded copper rods.
A middle layer has been added to greatly improve the stability of the Balanbot and ensure that it won't flex and become unstable.
At the bottom-side of the bottom layer there are two high-torque and high-speed 12V DC motors with individual rotary encoders to add a position-dependent stability to the Balanbot.
To keep the sensors as close to the rotational axis as possible, the main board has been placed at the top-side of the bottom layer. This reduces the vibration noise that would otherwise have been caused by high acceleration in change of direction (tilting). Furthermore, this minimizes the distance between the motors and the main board.
And finally, as the middle layer isn't presently used for anything but the increased stability, this can be used for your own creative additions. For instance you could add a GPS sensor or maybe a line-following sensor to make the Balanbot even more autonomous - the middle layer has enough space for a complete 830-point breadboard so you will have plenty of space for your own circuits. Another option would be to add a small video camera such as the GoPro.
The onboard sensor (6-axis IMU) is used to keep the robot balanced automatically at all times.
The Balanbot will keep itself balanced right out of the box due to the highly optimized, tuned and preprogrammed PID loop used in the balancing-software controller-algorithm.
By combining accelerometer, gyroscope and rotary encoder data, the Balanbot is able to keep itself balanced even when pushed.
The Balanbot is compatible with the Arduino IDE, thanks to the onboard ATmega1284P microcontroller.
This means that you can upload new code and add your own features to the Balanbot in the well-known Arduino environment.
The ATmega1284P has a flash size of 128KB of which approximately 127KB are at your disposal. When the full Balanbot firmware is programmed into the main board, including support for the most popular game controllers, approximatly half of the flash is used, leaving around 64KB of flash left for you to expand.
However, it is relatively easy to modify the original Balanbot firmware to exclude unused controllers, thereby significantly reducing the code size.
By inserting the Bluetooth USB dongle that comes with the kit, you can control the Balanbot using our application for both Windows, Mac and Linux. Furthermore you can control the Balanbot with your Android phone by installing our application.
With all of the above applications you are wirelessly able to change various settings, including the PID values and maximum speed, and see the IMU data.
All the materials, parts and source codes necessary to build the Balanbot are completely open source and are available for free at resource eara and Balanbot website.
The main board of the Balanbot kit consists of an Atmel 8-bit ATmega1284P AVR microcontroller running at 10MHz and with 128KB flash, 16KB RAM and 4KB EEProm. To enable the integration with the Arduino programming environment the board contains an FTDI USB to Serial converter chip, the FT230X. This chip can be used for Arduino programming as well as Serial debugging.
The onboard 6-axis IMU is an MPU-6050, which is connected to the microcontroller using the I2C bus. This digital IMU contains a 3-axis accelerometer and a 3-axis gyroscope, and when combined with a Kalman filter it gives you some very stable angle readings.
To enable the USB Host support for the Bluetooth controllers etc. the Maxim MAX3421E has been used. This chip is connected to the microcontroller with an SPI interface together with some control signals.
On each side of the main board there is a digital H-bridge motor controller IC, the VNH5180, capable of driving up to 8A continous current. Even though the stall-current of the supplied gearmotors is only 5A the VNH5180 gives you some extra room for security and expansion.
Both the power for the motors and the main board is supplied through the input screw terminal, where the supplied plug-leads that are connected to the battery are to be connected. An onboard polarity-protection circuitry protects the board against damage that would have been caused by connecting the battery in the reverse direction.
The board also contains a buzzer on a PWM pin and an onboard LED. The remaining I/O pins on the microcontroller have been broken out in two female pin headers for easy expandability.
These two female headers include 1x UART, 4x PWM outputs, 1x Interrupt and 5x Analog inputs. The pins used for I2C communication have been broken out as well.
While this project is getting funded we will be working on a new website for the project that is going to be located at: http://www.duinopeak.com/forum
This new website will contain everything from project details, assembly guides, programming guides and, of course, all the open source materials such as the hardware design and all of the software, both for Arduino, Android, PC etc.
Furthermore a support forum and a Wiki will be created to help you get started. With the forum and Wiki we hope that a new Balanbot community will grow and allow Balanbot owners to share their ideas, projects and updates with the rest of the community.