Control PID de Angulo de Balancín con hélice usando una esp32 y potenciometro

1. Descripción general
Se propone diseñar e implementar un sistema de control en lazo cerrado que mantenga un balancín (viga con pivote central) en un ángulo de inclinación deseado. El actuador es una hélice accionada por un motor de corriente continua mediante un puente H L298N; el empuje de la hélice genera un par que inclina la viga. El ángulo se mide con un potenciómetro acoplado al eje del pivote y se controla con un algoritmo PID ejecutado en un ESP32.
El usuario ajusta el ángulo de referencia (setpoint) con un potenciómetro independiente, visualiza en una pantalla OLED la referencia, el ángulo medido, el error y la salida del control, y arranca o detiene el lazo con un pulsador.
El proyecto debe integrar sensado analógico, acondicionamiento de señal, teoría de control, electrónica de potencia, visualización y programación embebida en un solo sistema funcional.
2. Objetivo general
Diseñar, construir y poner en marcha un controlador PID digital sobre ESP32 capaz de estabilizar el ángulo de un balancín con hélice, siguiendo una referencia ajustable por el usuario y mostrando en tiempo real el comportamiento del lazo de control.
3. Objetivos específicos
- Montar la estructura mecánica del balancín con pivote central, motor, hélice y potenciómetro de realimentación.
- Acondicionar las señales analógicas de los dos potenciómetros para su lectura por el ADC del ESP32.
- Implementar el driver de potencia con el puente H L298N controlando sentido de giro y magnitud mediante PWM.
- Programar el algoritmo PID discreto con anti-windup, saturación de salida y frecuencia de muestreo definida.
- Diseñar la interfaz de usuario: potenciómetro de referencia, botón de arranque/paro y pantalla OLED con las variables del lazo.
- Sintonizar las ganancias Kp, Ki y Kd y analizar la respuesta del sistema ante cambios de referencia.
4. Arquitectura del sistema
El sistema se organiza en cuatro bloques funcionales:
- Bloque de entrada: potenciómetro de referencia (setpoint) y potenciómetro de ángulo (realimentación), ambos leídos por canales ADC del ESP32.
- Bloque de control: ESP32 ejecuta el lazo PID a una frecuencia fija, calcula la acción de control y la traduce en señal PWM y señales de dirección.
- Bloque de potencia: driver L298N que alimenta el motor de CC de la hélice en ambos sentidos según la acción del PID.
- Bloque de interfaz: pantalla OLED por I2C para visualización, botón pulsador para arranque/paro.
5. Lista de materiales
- 1 × ESP32 DevKit v1
- 1 × Módulo driver puente H L298N
- 1 × Motor de CC con hélice (con soporte mecánico)
- 2 × Potenciómetros (uno para referencia, uno acoplado al eje del pivote)
- 1 × Pantalla OLED 128×64 I2C (SSD1306)
- 1 × Pulsador con resistencia de pull-up
- Estructura del balancín: viga, pivote, base, contrapeso
- Fuente de alimentación para el motor (según especificación del motor)
- Cables, resistencias, protoboard o PCB
6. Variables y señales del lazo
- r(t): ángulo de referencia (setpoint) ajustado con el potenciómetro de referencia.
- θ(t): ángulo medido del balancín por el potenciómetro acoplado al pivote.
- e(t): error de control, definido como la diferencia entre la referencia y el ángulo medido.
- u(t): salida del PID, convertida en magnitud PWM y signo de giro del motor.
La pantalla OLED debe mostrar al menos: la referencia, el ángulo medido, el error y el valor de la salida del controlador.
7. Requisitos de funcionamiento
- El lazo debe iniciar y detenerse con el pulsador.
- Debe permitir cambiar la referencia en caliente y observar la respuesta del sistema.
- Debe incluir saturación de la salida del PID y protección contra windup del integrador.
- El motor no debe activarse si el lazo está detenido.
- La pantalla debe refrescarse a una tasa legible para el usuario (por ejemplo, 10 Hz).
8. Entregables esperados
- Diagrama esquemático de conexiones entre ESP32, L298N, potenciómetros, OLED y pulsador.
- Estructura física del balancín con hélice y potenciómetro de realimentación montados.
- Firmware del ESP32 con el lazo PID, la lectura de sensores, el control del motor y la interfaz de usuario.
- Registro de pruebas de sintonización (Kp, Ki, Kd) y análisis de la respuesta temporal.
- Informe breve con arquitectura, decisiones de diseño, resultados y conclusiones.
9. Criterios de evaluación sugeridos
- Correcto funcionamiento del lazo cerrado y estabilidad del balancín.
- Calidad del montaje mecánico y del cableado.
- Claridad y robustez del código (estructura, modularidad, comentarios).
- Justificación de la sintonización del PID y análisis de resultados.
- Calidad de la documentación y del informe final.
