2589653/2568654, Control II 2025-1
Universidad de Antioquia
Departamento de Eléctrica
2589653/2568654 - Control II
Informe Final
Sistema de regulación automático de un balancı́n
Jorge Andrés Figueredo Restrepo
Duván Esneider Gallego Jiménez
Jhon Jairo Tutalchá Ortega
17 de julio de 2025
1
2589653/2568654, Control II 2025-1
1. Introducción
El controlador PID (Proporcional-Integral-Derivativo) es ampliamente utilizado en la industria para es-
tabilizar sistemas realimentados. En este informe se presenta un modelo fı́sico de control digital PID imple-
mentado con Arduino Nano y sensor MPU6050, aplicado al equilibrio de un eje con dos motores brushless.
Este sistema sirve como herramienta educativa para la enseñanza de control automático.
El principal objetivo del controlador PID es reducir al mı́nimo la diferencia entre el valor deseado y el
valor real de una variable del sistema, denominada error. Gracias a su estructura compuesta por tres térmi-
nos —proporcional, integral y derivativo—, este tipo de controlador puede ofrecer una respuesta balanceada
que corrige errores rápidamente, elimina errores residuales y anticipa cambios. Su implementación digital
mediante plataformas como Arduino permite una configuración flexible, económica y de fácil integración en
prototipos experimentales.
El sensor MPU6050, que combina un acelerómetro y un giroscopio en una sola unidad, proporciona
información en tiempo real sobre la orientación y movimiento del sistema. Esto lo convierte en una herramienta
esencial para aplicaciones que requieren estabilidad dinámica, como sistemas de balanceo, robótica o drones.
Al integrarse con un controlador PID, permite diseñar sistemas de retroalimentación robustos, capaces de
compensar perturbaciones externas mediante el ajuste preciso de los parámetros de control.
2. Objetivos
2.1. Objetivo general
Diseñar e implementar un sistema de control automático basado en un controlador PID digital utilizando
Arduino Nano y el sensor MPU6050, con el propósito de estabilizar un eje con motores brushless y facilitar
la enseñanza práctica de conceptos de control en sistemas realimentados.
2.2. Objetivos especı́ficos
Implementar un modelo fı́sico de control PID con Arduino y MPU6050.
Estabilizar un eje horizontal mediante dos motores brushless y control PID.
Permitir la visualización experimental de respuestas subamortiguadas, sobreamortiguadas y crı́ticamen-
te amortiguadas.
Implementar un algoritmo de control PID en Arduino Nano que utilice los datos del sensor MPU6050
para calcular el error de posición del eje y generar una señal de control que estabilice el sistema mediante
la modulación de velocidad en motores brushless.
3. Materiales y herramientas
Para el desarrollo de la práctica, se utilizaron los siguientes recursos:
2
2589653/2568654, Control II 2025-1
Elemento Descripción
Arduino Nano Microcontrolador compacto utilizado para procesar datos del sen-
sor y ejecutar el control PID.
Sensor IMU MPU6050 Unidad de medición inercial que combina acelerómetro y girosco-
pio para detectar inclinación y movimiento.
Motores RC RS2205 2-6S Motores sin escobillas que generan empuje para estabilizar el eje
mediante variación de velocidad.
ESC BLHeli 30A OPTO - Dispositivo electrónico que controla la velocidad de los motores
Controlador brushless a través de señales PWM.
Baterı́as para alimenta- Fuentes de alimentación ligera y alta descarga utilizadas para
ción del sistema energizar los ESC y motores.
Base mecánica con eje, to- Estructura fı́sica del sistema que sostiene los motores y permite
pes y hélices simular un sistema de control real.
Computador con IDE de Entorno de desarrollo utilizado para programar y cargar el algo-
Arduino ritmo PID en la placa Arduino Nano.
Computador con software Herramienta de simulación para visualizar gráficamente las res-
Node-RED puestas del sistema ante variaciones de las ganancias PID.
Tabla 1: Materiales y herramientas utilizados en el desarrollo del sistema PID.
4. Sistema propuesto
Figura 1: Sistema mecánico del balancı́n.
La imagen muestra una vista en un software de laminado para impresión 3D, con una base de impresión
Creality visible en el fondo. Sobre la cama están posicionadas varias piezas en color verde, que parecen formar
un soporte o estructura articulada, posiblemente un trı́pode o base para un dispositivo. La figura principal
tiene dos brazos horizontales extendidos con extremos circulares, un cuerpo central rectangular con detalles
3
2589653/2568654, Control II 2025-1
en la parte superior, y dos patas inclinadas unidas por barras horizontales en la parte inferior. También se
observa una pieza plana adicional colocada por separado, posiblemente una tapa o parte complementaria del
ensamblaje.
4.1. Subsistemas del modelo
Sistema mecánico: Eje de madera con motores en los extremos y topes de protección.
Sistema de propulsión: Dos motores RS2205 controlados por ESC, generan empuje variable.
Sistema de alimentación: Baterı́a de alta descarga que energiza los ESC.
Sistema de control digital: Arduino Nano y sensor MPU6050 que calcula la posición angular y
corrige mediante PID.
Sistema de adquisición y procesamiento de datos: Encargado de leer las señales crudas del
sensor MPU6050 a través del protocolo I2C, convertirlas a unidades fı́sicas como ángulo o aceleración,
y enviarlas al controlador PID para su evaluación. Esta etapa incluye la interpretación de los valores de
acelerómetro y giroscopio para calcular la inclinación del eje y generar la señal de error que alimenta
el algoritmo de control.
4.2. Control PID
Z t
de(t)
u(t) = Kp e(t) + Ki e(τ )dτ + Kd (1)
0 dt
Cada término tiene una función: Kp mejora velocidad de respuesta, Ki elimina error en estado estacio-
nario y Kd amortigua oscilaciones.
La acción combinada de estos tres términos permite que el sistema alcance una respuesta más precisa y
eficiente frente a perturbaciones. Al ajustar correctamente las ganancias Kp , Ki y Kd , se pueden obtener
respuestas subamortiguadas, sobreamortiguadas o crı́ticamente amortiguadas, según la necesidad del sistema.
Este tipo de control es ideal para sistemas donde se requiere una rápida estabilización y mı́nima oscilación,
como en mecanismos de balanceo dinámico con motores brushless.
4.3. Lógica de control
El microcontrolador:
Lee la inclinación desde MPU6050.
Calcula el error respecto a 0◦ .
Aplica la fórmula PID para obtener la señal de control.
Modula vı́a PWM la velocidad de los motores.
Este lazo se repite constantemente logrando estabilización.
4
2589653/2568654, Control II 2025-1
5. Programación en Arduino
A continuación, se presenta el código desarrollado e implementado en el microcontrolador Arduino para
llevar a cabo las funcionalidades requeridas en esta práctica.
Figura 2: Código implementado en Arduino.
El código desarrollado en Arduino para la practica esta diseñado en etapas. En primer lugar, en la función
setup() se configuran los pines de entrada y salida, el pin analógico para la lectura de la señal acondicionada
por el LM358 y el pin digital para la activación del rele. La segunda etapa, es decir, el bloque principal loop()
realiza de forma continua la lectura analógica del sensor MCP9700 y convierte el valor obtenido a grados
Celsius utilizando la calibración correspondiente al circuito de acondicionamiento.
5
2589653/2568654, Control II 2025-1
Figura 3: Código implementado en Arduino.
Posteriormente se tiene una etapa en la que la lógica On–Off compara la temperatura medida con una
referencia ajustable y aplica una banda de histéresis para evitar conmutaciones excesivas; si la temperatura
desciende por debajo de la referencia el relé se activa para encender el elemento calefactor, y si supera
la referencia se desactiva para apagarlo. Simultáneamente, el programa envı́a a través del puerto serie la
temperatura actual, la referencia y el estado del actuador, permitiendo ası́ su visualización y ajuste en
tiempo real mediante Node-RED.
6
2589653/2568654, Control II 2025-1
6. Montaje fisico con todos los elementos involucrados
Figura 4: Montaje implementado fı́sicamente.
En la Figura 4, se observa un banco de pruebas artesanal para motores de dron, montado sobre una base de
madera rectangular con una estructura negra, posiblemente impresa en 3D. La estructura sostiene dos motores
brushless con hélices de tres palas color rosado, conectados a sus respectivos variadores electrónicos (ESCs)
mediante cables. También se distingue un microcontrolador o placa de control integrada en la parte superior
de la estructura, con cables conectados que probablemente permiten gestionar el encendido y velocidad de
los motores. Frente al conjunto se encuentra una baterı́a desconectada, utilizada para alimentar el sistema
durante las pruebas de empuje.
7
2589653/2568654, Control II 2025-1
7. Creación de interfaz con Node-RED
Figura 5: Diagrama implementado con Node-RED.
Como se observa en la Figura 5, se realizó el diagrama de bloques en Node-RED para la visualización
de datos, ası́ como para el envı́o de las señales de referencia y el establecimiento de la banda diferencial al
Arduino. El nodo de entrada serie (COM8) recibe continuamente los valores crudos de la temperatura acon-
dicionada, que son procesados por la función Temperatura para convertirlos a grados Celsius y distribuirlos
simultáneamente a un gráfico de tendencia y a un indicador. Los nodos de entrada de texto Referencia y
Brecha diferencial permiten al usuario ajustar, en tiempo real, el punto de referencia y la banda diferencial;
dichas entradas pasan por las funciones Referencia e Histeresis, respectivamente, antes de ser enviadas de
vuelta al Arduino a través del mismo puerto serie.
8
2589653/2568654, Control II 2025-1
7.1. Visualización con dashboard
Figura 6: Interfaz implementada con Node-RED.
En la Figura 6, se muestra el panel de control (dashboard) desarrollado en Node-RED, donde se muestra
los gráficos e indicadores necesarios para el monitoreo y ajuste del sistema. En la parte izquierda se observa
un gráfico de tendencia que registra la evolución de la temperatura en tiempo real, mientras que a su derecha
un indicador tipo “gauge” muestra el valor instantáneo de la variable térmica en grados Celsius. Debajo, los
campos de entrada permiten al usuario introducir la referencia de temperatura y la brecha diferencial, cuyos
valores actuales se reflejan inmediatamente como texto numérico. Gracias a esta disposición clara y reactiva,
el operador puede supervisar el comportamiento del sistema On–Off y ajustar los parámetros de regulación
sin necesidad de interrumpir el proceso.
8. Resultados
Los valores: Kp = 3.55, Ki = 0.005 y Kd = 2.05 produjeron una respuesta estable.
El sistema se estabiliza horizontalmente en 3s.
Se observaron los tres tipos de respuesta variando ganancias.
9. Análisis de resultados
Durante las pruebas, se observó que al modificar las ganancias del controlador PID era posible inducir
diferentes tipos de respuesta. Por ejemplo, un valor alto de Kp sin un ajuste proporcional de Kd podı́a generar
9
2589653/2568654, Control II 2025-1
oscilaciones rápidas, mientras que un Ki elevado contribuı́a a eliminar el error en estado estacionario, aunque
con el riesgo de generar sobreimpulsos. Estos resultados fueron consistentes con la teorı́a del comportamiento
dinámico de sistemas de segundo orden, confirmando la validez del modelo implementado y su potencial
didáctico.
El proceso de ajuste de las ganancias PID se realizó mediante el método de prueba y error, comenzando
con valores bajos para evitar reacciones agresivas en el sistema fı́sico. A medida que se incrementaba la
ganancia proporcional Kp , el eje respondı́a más rápidamente, pero también se volvı́a más propenso a oscilar.
La inclusión del término derivativo Kd permitió amortiguar estas oscilaciones, mejorando la estabilidad sin
comprometer la velocidad de respuesta. Por otro lado, la ganancia integral Ki fue fundamental para corregir
el error en régimen permanente, especialmente en presencia de perturbaciones constantes.
Se constató que el sistema responde de forma diferente ante cada combinación de ganancias, permitiendo
caracterizar respuestas subamortiguadas, sobreamortiguadas y crı́ticamente amortiguadas. Estas respuestas
fueron fácilmente identificables tanto visualmente como mediante el análisis del comportamiento temporal
del eje. Esta capacidad de observación directa facilita enormemente la comprensión del funcionamiento del
controlador PID, ofreciendo un entorno experimental ideal para el aprendizaje práctico de sistemas de control
en lazo cerrado.
10. Conclusiones
Se comprobó que el modelo fı́sico permite entender de forma clara el funcionamiento de un sistema PID.
El uso de Arduino y MPU6050 ofrece una herramienta accesible y reproducible para estudiantes. Es reco-
mendable extender el sistema con un método formal de sintonización PID o incorporar visualización gráfica
en tiempo real.
El sistema desarrollado permite no sólo la validación experimental de un controlador PID, sino también la
exploración intuitiva de sus parámetros. Gracias a la posibilidad de modificar fácilmente las ganancias desde
el código, se habilita un entorno ideal para la experimentación, el análisis y la formación de criterios técnicos
en torno al comportamiento dinámico de sistemas de control.
El uso de componentes accesibles como Arduino Nano y el sensor MPU6050 demuestra que es posible
construir plataformas educativas de bajo costo sin sacrificar funcionalidad. Este tipo de implementaciones
promueve el aprendizaje activo, acercando al estudiante a experiencias prácticas que refuerzan los conceptos
teóricos aprendidos en el aula.
Referencias
[1] TDK InvenSense. MPU-6050 Product Specification. San Jose, CA: InvenSense Inc., 2020.
[2] Llamas, Luis. Control PID con Arduino. Madrid: Publicaciones Técnicas de Ingenierı́a, 2019.
[3] Elprocus Editorial Técnica. Fundamentos del Control Electrónico de Velocidad. Edición técnica, 1ª ed.,
Barcelona: Ediciones Elprocus, 2018.
10