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
18 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
Construir y programar un sistema de control automático para un balancı́n, utilizando un Arduino, un
sensor de inclinación y dos motores, con el fin de mantenerlo estable. Para lograrlo, se aplicará un controlador
PID y se diseñará una interfaz gráfica en Node-Red que permita ver en tiempo real los ángulos del balancı́n
y ajustar los parámetros del control.
2.2. Objetivos especı́ficos
a) Diseñar y montar el sistema fı́sico del balancı́n, incluyendo la integración de motores, ESC, baterı́as,
sensor MPU6050 y su correspondiente conexión al microcontrolador Arduino.
b) Desarrollar la programación necesaria en Arduino para la adquisición de datos del sensor de inclinación,
el envı́o de estos datos vı́a puerto serial y el control de velocidad de los motores mediante señales PWM.
c) Crear una interfaz en Node-Red que permita visualizar en tiempo real los ángulos del balancı́n y ajustar
los parámetros del controlador PID de forma interactiva.
d) Realizar pruebas experimentales de funcionamiento y ajuste de control, evaluando el desempeño del
sistema con diferentes configuraciones del PID y verificando la capacidad del sistema para estabilizar
el balancı́n ante perturbaciones.
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 Arduino Entorno de desarrollo utilizado para programar y cargar el algo-
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.
El sistema propuesto consiste en un balancı́n automatizado diseñado para implementar un control de
inclinación mediante un controlador PID. La estructura mecánica está compuesta por una base fija, una
plataforma oscilante que simula el movimiento de un balancı́n tradicional, y soportes laterales para la insta-
lación de motores brushless con sus respectivas hélices. En la parte superior del eje central se encuentra una
3
2589653/2568654, Control II 2025-1
plataforma para el montaje del microcontrolador Arduino Nano y del sensor IMU MPU6050, encargado de
medir el ángulo de inclinación del sistema.
Este diseño ha sido modelado en software de impresión 3D, como se muestra en la Figura 1, lo que permite
una integración precisa de los componentes electrónicos y mecánicos. El objetivo principal del sistema es
mantener el balancı́n en equilibrio controlando la velocidad de los motores a través de señales PWM, en
respuesta a las mediciones angulares que realiza el sensor. Todo esto se complementa con una interfaz en
Node-Red que permite visualizar los datos en tiempo real y ajustar los parámetros del controlador PID.
4.1. Subsistemas del modelo
El sistema de control del balancı́n se compone de cinco subsistemas principales:
Mecánico: estructura impresa en 3D que permite el movimiento del balancı́n y sostiene los componentes
electrónicos y motores.
Sensorial: conformado por el sensor MPU6050, que mide el ángulo de inclinación del balancı́n en
tiempo real.
Control y procesamiento: basado en un Arduino Nano, que recibe los datos del sensor, calcula la
acción PID y genera señales PWM para los motores.
Actuación: incluye los motores brushless RS2205 y sus ESC, que ejecutan las órdenes del controlador
para estabilizar el balancı́n.
Interfaz y visualización: desarrollada en Node-Red, permite ver los ángulos de inclinación y ajustar
los parámetros PID desde una interfaz gráfica.
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
La lógica de control del sistema se basa en un esquema de retroalimentación con un controlador PID im-
plementado en el microcontrolador Arduino Nano. El proceso inicia con la lectura del ángulo de inclinación
del balancı́n a través del sensor MPU6050. Esta señal es enviada al Arduino, donde se compara con una
referencia (en este caso, el ángulo deseado, que generalmente es cero para mantener el equilibrio).
A partir de esta diferencia o error, el controlador PID calcula la acción de control necesaria para corregir
la posición del balancı́n. Los valores de los parámetros Kp, Ki y Kd se ajustan según el comportamiento del
4
2589653/2568654, Control II 2025-1
sistema y pueden ser modificados desde la interfaz gráfica desarrollada en Node-Red.
La salida del PID se traduce en una señal PWM que regula la velocidad de los motores a través de los
ESC. De esta forma, el sistema actúa constantemente para mantener el balancı́n nivelado, reaccionando en
tiempo real a cualquier cambio en su inclinación.
5. Programación en Arduino
La programación del sistema fue realizada en el entorno de desarrollo Arduino IDE. En el código se im-
plementa la lectura del sensor MPU6050, el cálculo del controlador PID, y la generación de señales PWM
para el control de los motores a través de los ESC.
Debido a la extensión del código y con el fin de mantener la claridad del informe, el archivo completo
no se incluye en este documento, pero se adjunta por separado en formato .ino con comentarios explicativos
para facilitar su comprensión. Este archivo puede ser consultado para revisar la estructura del programa y
la configuración de los parámetros PID.
6. Montaje fisico con todos los elementos involucrados
Figura 2: Montaje implementado fı́sicamente vista superior.
En la Figura 2 se presenta una vista superior del balancı́n, donde se observan los dos motores brushless
RS2205 con sus hélices instaladas en los extremos del brazo oscilante. En la parte central se encuentra el
5
2589653/2568654, Control II 2025-1
microcontrolador Arduino Nano, el sensor MPU6050 y el cableado correspondiente, que conecta el sistema
de control con los ESC y la baterı́a de alimentación.
Figura 3: Montaje implementado fı́sicamente vista lateral.
La Figura 3 muestra una vista lateral del montaje, permitiendo apreciar la base de soporte que mantiene
fijo el sistema, ası́ como la disposición del eje de rotación que permite el movimiento libre del balancı́n. Esta
vista también evidencia la organización de los componentes electrónicos.
6
2589653/2568654, Control II 2025-1
7. Creación de interfaz con Node-RED
Figura 4: Diagrama implementado con Node-RED.
Para facilitar la comunicación entre el sistema fı́sico y el usuario, se desarrolló una interfaz gráfica utili-
zando Node-RED. Esta herramienta permite visualizar los datos en tiempo real y modificar los parámetros
del controlador PID sin necesidad de reprogramar el microcontrolador. La interfaz se conecta al puerto serial
del Arduino, desde donde recibe continuamente el ángulo de inclinación medido por el sensor MPU6050. Este
valor es procesado mediante un nodo de función y luego mostrado en un indicador visual en el panel de control.
Además, se incluyeron campos de entrada para los parámetros del controlador PID: Kp, Ki y Kd. Cada
uno de estos valores es enviado al microcontrolador a través del mismo canal de comunicación serial, permi-
tiendo ajustar el comportamiento del sistema de forma dinámica.
En la Figura 4 se muestra el flujo implementado en Node-RED, donde se observa la estructura de recep-
ción de datos, procesamiento y envı́o de parámetros de control.
7
2589653/2568654, Control II 2025-1
7.1. Visualización con dashboard
Figura 5: Interfaz implementada con Node-RED.
Como parte de la interfaz desarrollada en Node-RED, se implementó un panel de control (dashboard)
que permite al usuario monitorear y ajustar el comportamiento del sistema de manera intuitiva y en tiempo
real. En la Figura 5 se muestra el dashboard creado. A la izquierda se encuentra un indicador tipo dial que
representa el ángulo de inclinación del balancı́n, el cual se actualiza continuamente con los datos enviados
desde el Arduino. Este valor permite observar visualmente el estado del sistema en cada instante.
A la derecha, se integraron deslizadores interactivos para modificar los parámetros del controlador PID:
Kp, Kd y Ki. Estos valores pueden ser ajustados durante la operación del sistema sin necesidad de detener el
programa, lo que facilita la etapa de sintonización y mejora la respuesta del controlador. Esta visualización
en tiempo real es clave para validar el funcionamiento del sistema y realizar pruebas experimentales con
distintos ajustes de control.
8. Resultados
Los valores: Kp = 2.0, Ki = 0.001 y Kd = 3.0 produjeron una respuesta estable.
El sistema se estabiliza horizontalmente en 4s.
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
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
8
2589653/2568654, Control II 2025-1
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. Esta capacidad
de observación directa facilita enormemente la comprensión del funcionamiento del controlador PID.
10. Conclusiones
El desarrollo e implementación del sistema de control automático para el balancı́n permitió comprobar de
manera práctica la eficacia del controlador PID en aplicaciones de regulación dinámica. A través del diseño
mecánico, la integración electrónica y la programación en Arduino, se logró construir un prototipo funcional
que responde activamente a las variaciones de inclinación del sistema.
La utilización del sensor MPU6050 como unidad de medición inercial resultó adecuada para obtener datos
precisos de orientación en tiempo real, fundamentales para alimentar el lazo de control. Asimismo, la imple-
mentación del PID en el microcontrolador Arduino permitió una regulación estable.
La interfaz desarrollada en Node-RED fue clave para facilitar la interacción con el sistema, permitiendo
tanto la visualización del estado actual como el ajuste dinámico de los parámetros de control. Esta herra-
mienta mejoró significativamente la experiencia de pruebas y el proceso de sintonización del controlador,
evidenciando el valor del monitoreo gráfico en tiempo real.
Durante las pruebas se observaron diferentes comportamientos dinámicos en función de las ganancias del
PID, lo que no solo confirmó la teorı́a estudiada en clase, sino que también permitió afianzar conceptos clave
como el error en estado estacionario, la velocidad de respuesta y el amortiguamiento
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.