Triangle Reaction-Wheel Balancer
A self-balancing reaction wheel robot powered by a Raspberry Pi Pico 2 W.
- Other
- Open source
Suggested by Robotheca, created by @Misha999777 (opens in a new tab), from github.com/Misha999777/triangle (opens in a new tab). Pinned to commit 7dc5d86 (opens in a new tab).
- Hardware license
- MIT (opens in a new tab)
- Software license
- MIT (opens in a new tab)
- Commercial use
- Allowed
Photo
This repository has no photo of the robot yet.
What it can do
Written by Robotheca from the project's documents.
- Self-balancing reaction wheel robot built around a BLDC motor
- Motor commutation uses Field Oriented Control with SVPWM
- Gyroscope auto-calibrates on startup and supports motor encoder alignment
- Gains (k1, k2, k3) and target angle can be tuned wirelessly over Bluetooth LE
Bill of materials
9 parts9 of 9 parts shown
| # | Component | Quantity | Est. price | Supplier |
|---|---|---|---|---|
| Bill of Materials (BOM) | ||||
| 1 | Microcontroller | 1 | – | – |
| 2 | BLDC Motor | 1 | – | – |
| 3 | Motor Driver | 1 | – | – |
| 4 | IMU Module | 1 | – | – |
| 5 | DC-DC Converter | 1 | – | – |
| 6 | Charge & Protection | 1 | – | – |
| 7 | Battery | 1 | – | – |
| 8 | Battery Holder | 1 | – | – |
| 9 | 3D Printed Chassis | 1 | – | – |
9 of 9 needed parts have no price in the source, so there is no parts total. Read from docs/hardware/bom.md at the pinned commit.
Build guide
The guide appears here as you scroll.
Guide by @Misha999777 (README.md), under MIT.
More guides
Wiring and electronics
Notes written by Robotheca from the project's documents.
Main parts
- Raspberry Pi Pico 2 W (RP2350) microcontroller
- BLDC motor
- DRV8313 motor driver
- MPU6050 IMU module
- AS5048A magnetic encoder
- DC-DC boost converter
- 1S Li-Ion battery with charge and protection circuit
Connections
- Battery feeds the charge and protection circuit, which powers the Pico and the DC-DC boost converter
- DC-DC boost supplies the DRV8313 driver
- Pico outputs three PWM signals on GPIO 10, 11 and 12 and an enable on GPIO 13 to the DRV8313
- DRV8313 drives the three phases of the BLDC motor
- Pico talks to the MPU6050 over I2C on GPIO 26 (SDA) and GPIO 27 (SCL), powered at 3.3V
- AS5048A encoder is powered from the driver's 3.3V output and read by the Pico over SPI on GPIO 2 to 5
- Core 0 runs the control loop and Bluetooth LE; Core 1 runs the high-frequency motor loop