This project covers the problem of an inverted pendulum. To stabilize the robot a PID controller is used, running at 100Hz. Using the angle of the robot, measured with the Absolute Orientation Sensor, the PID controller computes the speed value for the motors (duty cycle for PWM peripheral).
- Atmel Studio 7
- ATmega_DFP 1.2.150 or later
- avr-gcc
- LiPo Battery 7V4 2200mA
- ATmega324
- 2x Step Down Voltage XL4015
- Step Down LM2596
- Adafruit BNO055 Absolute Orientation Sensor
- 2x Motor Driver VNH2SP30
- 2x Pololu 1573
To get a local copy up and running follow these simple example steps.
Make sure you have installed the software environment and a hardware setup according to the schematic. To program the controller you will need Atmel-ICE.
Clone the repo:
git clone https://github.com/filipmanole/Self-Balance-Robot.git
- Open the Atmel Studio Solution
- Right click on the project and select
Build
- Run the project
Note: The project might need another tunning for the PID controller.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License.