Un robot balanceador de dos ruedas es un sistema mecatrónico basado en el principio del péndulo invertido, donde el robot mantiene el equilibrio dinámico sobre dos ruedas mediante correcciones continuas. A diferencia de robots con múltiples ruedas, este diseño requiere un lazo de control de tiempo real para evitar caer. En este proyecto, el control se implementa con un Arduino Nano y un sensor inercial MPU6050 que mide ángulo y velocidad angular. Un algoritmo PID (Proporcional-Integral-Derivativo) procesa esa información y envía señales a dos motores paso a paso NEMA 17 a través de drivers A4988. La sintonización de parámetros se realiza vía Bluetooth HC-06 con la aplicación EZ-GUI. El diseño mecánico incluye ruedas impresas en 3D y placas de acrílico cortadas con láser, lo que hace el proyecto reproducible con equipos de fabricación digital accesibles en cualquier laboratorio maker.
Componentes Utilizados
Componentes Electricos
- Capacitor 100 uF / 35 V
- Conector XT60 Macho
- Giroscopio MPU6050
- Módulo Bluetooth HC06
- Arduino Nano
- Driver A4988
- Nema 17
- Módulo Step Down LM2596
- Batería Lipo 11.1V 3S
- Placa de baquelita virgen de 1 cara 15 x 25 cm
- Cables Dupont
- Espadines macho y hembra
- Interruptor ON / OFF
Componentes Mecánicos
- Soporte para NEMA 17
- Placas de Acrílico
- Varilla Roscada
- Pernos y Tuercas
- Ruedas (impresion 3D)
Diseño y Fabricación de la PCB
El diseño se realizó en EasyEDA, donde se elaboró el esquemático y el layout considerando el uso de una placa de baquelita virgen de una sola cara, la correcta distribución de alimentación y señales, y el manejo adecuado de corriente para los motores NEMA 17 mediante el driver A4988. Al ser una PCB de baquelita de una sola cara, no todas las pistas pudieron conectarse en el diseño, por lo que algunas se completaron posteriormente mediante puentes de cable.

Una vez finalizado el diseño, se generaron los archivos Gerber, los cuales fueron importados en FlatCAM para preparar las trayectorias de mecanizado. Finalmente, la PCB fue fabricada utilizando una máquina CNC, lo que permitió obtener rápidamente un prototipo funcional adaptado específicamente a los requerimientos del robot balanceador.

La PCB resultante facilitó el ensamblaje del sistema, redujo el cableado y proporcionó una base sólida para la integración de los módulos electrónicos y el control PID del robot.

Diseño de las ruedas y las placas de acrílico
Las ruedas fueron diseñadas en Fusion 360 y luego se procedió a su impresión 3D

mientras que las placas de acrílico fueron diseñadas en AutoCAD, y luego se cortaron con laser.

Montaje
En la etapa de ensamblaje, se procedió a montar todos los componentes mecánicos y electrónicos del robot balanceador. Primero se fijaron los motores NEMA 17 a sus soportes y a la estructura de acrílico, asegurándolos con pernos y tuercas para garantizar rigidez.

Luego se instaló la varilla roscada, la bateria y se acoplaron las ruedas Impresas en el NEMA17. Finalmente, se montaronla pcb y la plancha de acrilico en la parte superior.

Programación
El equilibrio del robot se logra mediante un sistema de control en cascada, basado en dos reguladores principales: un PI de velocidad y un PD de ángulo. Esta estructura es común en robots balancines, ya que permite separar el control del movimiento del control del equilibrio.
El sensor MPU6050 proporciona el ángulo de inclinación del robot y su velocidad angular. A partir de estos datos, el sistema calcula continuamente cuánto debe acelerar o frenar cada motor para mantener el centro de masa sobre las ruedas.
El algoritmo de control empleado corresponde al proyecto MultiWii, un sistema de control de código abierto.
Control PI de velocidad
Este bloque implementa el lazo externo del sistema de control. Su función es regular la velocidad longitudinal del robot y generar como salida un ángulo de referencia (targetAngle), que será utilizado por el lazo interno.

Control PD de ángulo
Este bloque corresponde al lazo interno, responsable de la estabilidad del sistema. Regula el ángulo del robot alrededor de la posición vertical.

