0% encontró este documento útil (0 votos)
3 vistas30 páginas

Informe Final Control Automático

El documento presenta el modelado, armado e implementación de un sistema bola-barra utilizando controladores PID para estabilizar la bola en un punto de equilibrio. Se comparan diferentes métodos de sintonización de PID, encontrando que el método de asignación de polos es el más efectivo, aunque se requiere un ajuste manual para optimizar el rendimiento. La investigación destaca la discrepancia entre los resultados teóricos y prácticos, subrayando la importancia de considerar las no linealidades y perturbaciones en sistemas reales.

Cargado por

pablo.venegas
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas30 páginas

Informe Final Control Automático

El documento presenta el modelado, armado e implementación de un sistema bola-barra utilizando controladores PID para estabilizar la bola en un punto de equilibrio. Se comparan diferentes métodos de sintonización de PID, encontrando que el método de asignación de polos es el más efectivo, aunque se requiere un ajuste manual para optimizar el rendimiento. La investigación destaca la discrepancia entre los resultados teóricos y prácticos, subrayando la importancia de considerar las no linealidades y perturbaciones en sistemas reales.

Cargado por

pablo.venegas
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Controlador PID de un sistema Barra-Bola

Wilson Chavez1 , Daniel Chinchay1 , Angel Garcı́a1 , Pablo Venegas1 ,Carlos León1

1
Universidad UTEC. Facultad de Ingenierı́a. Ingenierı́a Mecatrónica
[Link].a@[Link]; [Link]@[Link]; [Link]ı́a@[Link];
[Link]@[Link]; [Link]@[Link]

Resumen
Este trabajo presenta el modelado , armado y implementación de un sistema bola-barra, el cual busca
estabilizar la bola en el punto de equilibro deseado, esto con la ayuda de controladores PID obtenidos me-
diante distintos métodos de sintonización, El trabajo busca comparar analı́ticamente y mediante simulación
los distintos tipos de sintonizadores de PID que existen y escoger el mas optimo para nuestro sistema basa-
dos en los requerimientos propuestos por la simulación lazo cerrado sin controlador que muestra un sistema
marginalmente estable con una oscilación constante.
Se propone el modelado matemático de la planta a partir de la formulación de Lagrange y su linealización
alrededor de la posición de equilibrio. A partir de este modelo se obtiene una función de transferencia
de segundo orden que se implementa en MATLAB y Simulink. Sobre esta planta se diseñan y comparan
cuatro controladores y un compensador buscando cumplir especificaciones de sobreoscilación, tiempo de
establecimiento y error en estado estacionario.
Comparamos los métodos de sintonización mediante simulación en MATLAB e implementación en el
prototipo, obteniendo respuestas distintas en términos de porcentaje de sobreimpulso y tiempo de estable-
cimiento. Los resultados mostraron que los métodos teóricos no siempre coinciden con el comportamiento
real. Entre los cinco métodos evaluados, el de asignación de polos resultó el más adecuado y, finalmente,
realizamos un ajuste manual para lograr una estabilización más rápida y con menor sobreimpulso.
Palabras claves: Control PID, Sistema Barra-Bola, Realimentación de Estados, LGR, MATLAB ,
Simulink, Pole placement, Análisis frecuencial .

1. Introducción
La necesidad de medir, ajustar y optimizar los parámetros de un sistema es un requisito fundamental en
la ingenierı́a moderna, especialmente cuando se busca garantizar un desempeño estable frente a perturbaciones
externas [1]. En este contexto, la ingenierı́a de control permite modelar, analizar y corregir la dinámica de
sistemas que pueden ser inestables o presentar respuestas no deseadas. Para ello se emplean controladores como el
PID y diversos métodos de sintonización que ajustan la dinámica del sistema según criterios de rendimiento. Esta
problemática es especialmente relevante en aplicaciones donde la precisión y la rapidez de respuesta son crı́ticas,
como en sistemas de posicionamiento o estabilización [2]. En este proyecto se estudia el sistema bola–barra,
un modelo ampliamente usado para comprender el control de posición y ángulo en estructuras realimentadas,
cuyos principios pueden extrapolarse a sistemas más complejos como robots móviles, drones y plataformas de
estabilización [3].
En el ámbito de la investigación sobre sistemas inestables, se han propuesto diversas estrategias que con-
trastan en complejidad y aplicación. Por un lado, Zafar et al. exploraron el uso de algoritmos de optimización
metaheurı́stica para sintonizar controladores de orden fraccionario en simulación, logrando una alta precisión
teórica pero sin abordar las limitaciones fı́sicas de los actuadores reales [7]. En un enfoque más práctico, Osinski
y Silveira implementaron un controlador Difuso-PID (Fuzzy-PID) sobre hardware de bajo costo, demostrando
que la lógica difusa reduce significativamente el sobreimpulso en comparación con el PID clásico, aunque au-
menta la carga computacional del procesador [8]. Por su parte, Saad et al. realizaron un estudio comparativo

1
entre el control PID y el regulador cuadrático lineal (LQR), concluyendo que, si bien el LQR ofrece mejores
tiempos de asentamiento y menor consumo de energı́a, su dependencia de un modelo matemático exacto lo hace
menos robusto ante incertidumbres paramétricas en comparación con el control clásico bien sintonizado [9].
En este trabajo nos enfocamos especı́ficamente en la comparación de cuatro métodos de sintonización para
controladores PID: Ziegler–Nichols basado en margen de fase [4], Lugar Geométrico de las Raı́ces (LGR), análisis
en frecuencia [5] y realimentación de estados. Además, se incorpora un compensador de adelanto de fase como
complemento de diseño para evaluar mejoras en el desempeño dinámico. Cada método es analizado bajo los
mismos criterios de rendimiento, considerando parámetros como el porcentaje de sobreimpulso, margen de fase,
error en estado estacionario, pico de resonancia y ancho de banda. A partir de estos requerimientos, se desarrolla
una comparación detallada mediante cálculos analı́ticos, simulaciones, gráficas y la evaluación de la respuesta
del sistema frente a un escalón unitario [6].

2. Situación Problemática
El sistema de bola y viga (Ball and Beam) es reconocido en la literatura de ingenierı́a de control como
una planta de referencia (benchmark ) crı́tica debido a su naturaleza intrı́nsecamente inestable y su dinámica no
lineal. Desde una perspectiva fı́sica, se trata de un sistema sub-actuado, lo que implica que posee menos entradas
de control (torque del motor) que grados de libertad a controlar (posición de la bola y ángulo de la viga), lo que
imposibilita su estabilización en lazo abierto [10]. La dinámica del sistema está regida por fuerzas gravitacionales
y centrı́fugas que hacen que la bola se acelere indefinidamente hacia los extremos ante cualquier perturbación
angular mı́nima, comportamiento caracterı́stico de sistemas con polos en el origen o en el semiplano derecho
del plano complejo [11]. Además, la relación entre el ángulo del actuador y la posición de la bola no es lineal,
involucrando términos trigonométricos y acoplamientos inerciales que se vuelven significativos cuando el sistema
se aleja de su punto de equilibrio horizontal, desafiando la validez de los controladores lineales convencionales
en rangos de operación amplios [12].

θ
m g sin
Fx =
l
/ Rie
a
Vig θ

P⃗ = mg mg cos θ

Pivote

Servo

Figura 1: Diagrama de cuerpo libre del sistema. Se observa la descomposición vectorial donde la componente
tangencial del peso (mg sin θ) actúa como la fuerza desestabilizadora.

En el ámbito de la implementación real, la problemática se agrava debido a las incertidumbres paramétricas y


las perturbaciones no modeladas que degradan el desempeño de los algoritmos teóricos. Los modelos matemáticos
ideales suelen despreciar fenómenos fı́sicos complejos como la fricción estática (stiction) entre la bola y el riel,
el deslizamiento de la esfera en lugar de rodadura pura y las holguras mecánicas (backlash) en la transmisión
del servomotor [13]. Estas no linealidades severas, sumadas al ruido de medición inherente a los sensores de
distancia analógicos, pueden inducir ciclos lı́mite, vibraciones de alta frecuencia (çhattering”) en los actuadores
o incluso la inestabilidad total del sistema si el lazo de control no posee la robustez suficiente [14]. La incapacidad
para gestionar estas dinámicas rápidas e inciertas no solo limita la precisión del posicionamiento, sino que en
aplicaciones análogas industriales, como el balanceo de carga en grúas o la estabilización de aeronaves, representa
un riesgo operativo inaceptable que puede derivar en fallas catastróficas o daños estructurales [15].

2
3. Estado del Arte
La exploración exhaustiva del estado del arte constituye un pilar fundamental para la fundamentación
del presente proyecto, pues permite situar la propuesta dentro del marco tecnológico actual de los sistemas
de control sub-actuados. La revisión de la literatura especializada en péndulos invertidos y robots balancines
facilita la identificación de las arquitecturas de control vigentes, las metodologı́as de validación predominantes
y, crucialmente, las limitaciones técnicas no resueltas en implementaciones previas. Este análisis crı́tico justifica
la adopción de una metodologı́a de diseño en espiral y la elección de una estrategia de control robusta que
busque equilibrar la teorı́a idealizada con las restricciones fı́sicas del hardware de bajo costo. A continuación, se
detallan tres investigaciones paradigmáticas que ilustran la evolución desde la simulación pura hasta el control
avanzado.
En el dominio del modelado computacional, Triviño [16] enfocó su investigación en la estabilización de un
péndulo invertido mediante estrategias de control clásico, prescindiendo de la construcción de un prototipo fı́sico.
El objetivo central fue evaluar el desempeño de un controlador PID discretizado en un entorno de simulación
numérica (MATLAB/Simulink), aislando matemáticamente la dinámica de la planta. La metodologı́a se centró
en el ajuste fino de las ganancias, demostrando que la supresión de la acción integral (Ki = 0) resultaba
determinante para minimizar las oscilaciones en el estado estacionario y garantizar la estabilidad asintótica ante
perturbaciones tipo escalón. Aunque el estudio validó la teorı́a de control lineal, se concluyó que la ausencia de
validación experimental constituye una limitación severa, al no considerar fenómenos no lineales crı́ticos como
la fricción estática (stiction), el ruido de cuantificación de los sensores o la saturación de los actuadores reales.

Figura 2: Diagrama de bloques de la simulación en Simulink del péndulo invertido, propuesto por Triviño [16].

Transitando hacia la implementación fı́sica, Soe y Khaiing [17] presentaron el desarrollo de un robot bı́pedo
auto-balancı́n basado en la arquitectura de hardware abierto Arduino. El propósito de la investigación fue lograr
el equilibrio vertical autónomo utilizando sensores inerciales de bajo costo (IMU MPU6050). La metodologı́a
integró un filtro complementario para fusionar las lecturas del acelerómetro y giroscopio, mitigando la deriva del
sensor y el ruido de alta frecuencia. Los resultados experimentales mostraron una capacidad de respuesta rápida
ante perturbaciones externas, lograda mediante la sintonización de una ganancia derivativa (Kd ) inusualmente
alta. No obstante, los autores advirtieron que esta estrategia de control agresiva somete a los motores de corriente
continua a cambios bruscos de polaridad y picos de corriente, provocando un desgaste mecánico acelerado y
calentamiento excesivo, lo que compromete la viabilidad operativa del sistema a largo plazo.

3
Figura 3: Integración electromecánica del robot balancı́n de Soe y Khaiing [17].

En la vertiente del control moderno, Ding [18] desarrolló el sistema ”Mr. Struggles”, un robot balancı́n que
implementa un control Óptimo Cuadrático Lineal (LQR) asistido por un Filtro de Kalman para la estimación de
estados. El objetivo fue maximizar la precisión del posicionamiento angular superando las limitaciones del PID
convencional. La investigación combinó el modelado en espacio de estados con pruebas en un prototipo fı́sico
modificado para tener un centro de masa bajo. Los resultados fueron cuantitativamente superiores, alcanzando
un error de estado estacionario de apenas 0,2◦ . Sin embargo, el estudio reveló que el algoritmo LQR es extre-
madamente sensible a incertidumbres paramétricas (tolerancia menor a ±2◦ ), y que la carga computacional del
Filtro de Kalman consume casi la totalidad de los recursos de procesamiento de un microcontrolador de 8 bits,
limitando la posibilidad de expandir el sistema con funciones adicionales.

0,4 Respuesta LQR


Ángulo θ (rad)

0,2 Lectura Sensor (Ruidosa)

0
−0,2
−0,4
0 1 2 3 4 5 6 7 8 9 10
Tiempo (s)

Figura 4: Representación del comportamiento de estabilización del control LQR filtrado por Kalman, ilustrando
la reducción de ruido descrita en [18].

Como sı́ntesis del análisis bibliográfico, la Tabla 1 presenta una comparativa estructurada que contrasta
las caracterı́sticas técnicas, las ventajas operativas y las limitaciones crı́ticas identificadas en cada una de las
investigaciones revisadas.

4
Tabla 1: Matriz comparativa de estudios previos sobre control de equilibrio

Autor Caracterı́sticas Ventajas Limitaciones


Triviño Simulación Eliminación de os- Invalidez ante fric-
[16] MATLAB/Si- cilaciones (Ki = 0); ción y ruido real;
mulink de péndulo estabilidad teórica carece de prototipo
invertido con PID. ideal. fı́sico.
Soe y Robot real con Ar- Estimación angular Desgaste mecánico
Khaiing duino, IMU y filtro robusta; respuesta severo en actuado-
[17] complementario. rápida (Kd alto). res por esfuerzo de
control.
Ding [18] Control LQR y Fil- Alta precisión Alta sensibilidad
tro de Kalman; va- (error ≈ 0,2◦ ); paramétrica; costo
lidación hı́brida. estabilidad opti- computacional
mizada por diseño excesivo.
mecánico.

El análisis comparativo permite identificar brechas claras en la literatura: las soluciones puramente simuladas
ignoran la no linealidad fı́sica, las implementaciones con control clásico agresivo sacrifican la vida útil del ac-
tuador, y las técnicas de control moderno (LQR) demandan recursos computacionales que exceden la capacidad
de hardware estándar de bajo costo. El presente proyecto busca ocupar este nicho mediante el desarrollo de un
sistema Bola-Balancı́n que prioriza la robustez mecánica y la eficiencia. La propuesta aborda las limitaciones
detectadas implementando una metodologı́a de sintonización analı́tica (Asignación de Polos) que resulta en un
controlador sobreamortiguado; esto evita el desgaste de los actuadores observado en [2] y mantiene una carga
computacional baja apta para Arduino, superando la complejidad de [3], a la vez que valida los modelos teóricos
en un entorno fı́sico real, superando la abstracción de [1].

4. Metodologı́a
El desarrollo del sistema de control para el prototipo Bola-Balancı́n se ha estructurado bajo la Metodologı́a
en Espiral. Este modelo de proceso evolutivo es idóneo para sistemas de control inestables, ya que combina la
definición de objetivos con el análisis de riesgos y la ingenierı́a iterativa. El procedimiento se divide en seis pasos
secuenciales que permiten refinar el modelo matemático y los algoritmos de control progresivamente.

4.1. Paso 1: Plantear los Requerimientos


En la fase inicial, se establecieron las especificaciones técnicas que el sistema debe cumplir. Estos crite-
rios actúan como métricas de validación para el diseño del controlador. Los requerimientos funcionales y de
desempeño se detallan en la Tabla 2.

Tabla 2: Especificación de Requerimientos del Sistema

Categorı́a Descripción y Criterio de Diseño


Estabilidad El sistema debe ser capaz de mantener la bola en
equilibrio estático en cualquier punto de referencia
(xref ) dentro del rango operativo.
Precision Error de estado estacionario (ess ) nulo ante una en-
trada escalón.
Respuesta Transitoria Tiempo de asentamiento (ts ) inferior a 5 segundos
(criterio del 2 %).
Seguridad Sobreimpulso máximo (Mp ) menor al 15 % para evi-
tar la pérdida de contacto mecánico.
Rango Operativo Detección y control efectivos entre 10 cm y 50 cm a
lo largo de la viga.

5
4.2. Paso 2: Entender el Sistema que se Desea Controlar
Esta fase comprende la caracterización fı́sica del hardware construido y la derivación analı́tica del modelo
dinámico. Se emplean principios de mecánica Lagrangiana para obtener la Función de Transferencia (FT).

4.2.1. Descripción del Prototipo


El sistema es una planta electromecánica sub-actuada tipo balancı́n. Consta de una viga de madera de 50
cm que pivota sobre un eje central impreso en 3D. La actuación se realiza mediante un servomotor acoplado a
través de un mecanismo biela-manivela, lo que introduce una relación de transmisión geométrica no unitaria.
Los parámetros fı́sicos medidos se presentan en la Tabla 3.

Tabla 3: Parámetros Fı́sicos del Prototipo

Sı́mbolo Descripción Valor Medido


mb Masa de la bola 0.025 kg
Rb Radio de la bola 0.015 m
Jb Inercia de la bola ( 25 mb Rb2 ) 2,25 × 10−6 kg·m2
g Aceleración gravitacional 9.81 m/s2
L Brazo de palanca efectivo (salida) 0.12 m
d Radio del brazo del servo (entrada) 0.035 m

4.2.2. Descripción del Prototipo y Diseño 3D


El sistema es una planta electromecánica inestable de tipo balancı́n. Para la construcción del prototipo fı́sico,
se tomó como referencia un diseño de modelo 3D de código abierto disponible en la web, el cual fue adaptado
y optimizado para su manufactura mediante impresión 3D y corte de materiales locales.
La estructura, visualizada en el renderizado de la Figura 5, consta de los siguientes subsistemas:

Viga Principal: Actúa como riel guı́a para la bola. Posee una longitud de 50 cm y cuenta con paredes
laterales para restringir el movimiento de la bola a un solo grado de libertad (eje longitudinal).

Pivote Central: Pieza estructural diseñada para soportar la viga y permitir su libre rotación con mı́nima
fricción mecánica.
Sistema de Transmisión: Se implementó un mecanismo de biela-manivela. El servomotor se aloja en
una base independiente y transmite el torque a la viga mediante una varilla rı́gida conectada a un brazo
de palanca. Esta configuración geométrica especı́fica define la relación de transmisión α(θ).

Soporte de Sensor: En el extremo derecho de la viga se integra un acople diseñado para alojar el sensor
de distancia, garantizando que la medición se realice paralela al plano de movimiento.

Figura 5: Modelo 3D del prototipo Bola-Balancı́n utilizado para la construcción del sistema.

6
4.2.3. Modelado Matemático Riguroso
Se utiliza la formulación de Euler-Lagrange (L = T − V ). Se definen las coordenadas generalizadas: r(t)
como la posición de la bola y α(t) como el ángulo de la viga.

Análisis de Energı́a Cinética (T ) La energı́a cinética total considera tres componentes: la rotación de la
viga alrededor del pivote, la traslación lineal de la bola a lo largo de la viga y la rotación de la bola sobre su
propio eje.
1 1 1
T = Iv α̇2 + mb (ṙ2 + r2 α̇2 ) + Jb ωb2 (1)
2
| {z } | 2 {z } 2
| {z }
Viga Traslación Bola Rotación Bola

Asumiendo la condición de rodadura pura sin deslizamiento, la velocidad angular se relaciona mediante ωb =
ṙ/Rb . Sustituyendo:
1 1 1 1 Jb 2
T = Iv α̇2 + mb ṙ2 + mb r2 α̇2 + ṙ (2)
2 2 2 2 Rb2

Análisis de Energı́a Potencial (V ) Considerando el nivel de referencia en el eje del pivote, la energı́a
potencial depende de la altura de la bola:
V = mb gh = mb gr sin(α) (3)

Obtención de la Ecuación de Movimiento Aplicando la ecuación de Lagrange para la coordenada r:


 
d ∂L ∂L
− =0 (4)
dt ∂ ṙ ∂r
Calculando las derivadas parciales del Lagrangiano (L = T − V ):
 
∂L Jb Jb
= mb ṙ + 2 ṙ = mb + 2 ṙ (5)
∂ ṙ Rb Rb
   
d ∂L Jb
= mb + 2 r̈ (6)
dt ∂ ṙ Rb
∂L
= mb rα̇2 − mb g sin(α) (7)
∂r
Ensamblando los términos, se obtiene la ecuación diferencial no lineal:
 
Jb
mb + 2 r̈ − mb rα̇2 + mb g sin(α) = 0 (8)
Rb

Linealización y Función de Transferencia Para el diseño de control lineal, se asume operación en torno
al punto de equilibrio (r ≈ 0, α ≈ 0). Se aplican las simplificaciones de pequeños ángulos (sin α ≈ α) y se
desprecian las fuerzas centrı́fugas y de Coriolis de orden superior (α̇2 ≈ 0).
 
Jb
mb + 2 r̈ = −mb gα (9)
Rb
Se introduce la relación de transmisión mecánica del prototipo, donde el ángulo de la viga α es función del
ángulo del servo θ:
d
α(t) = θ(t) (10)
L
Sustituyendo en (9) y aplicando Laplace con condiciones iniciales nulas:
   
Jb 2 d
mb + 2 s R(s) = −mb g Θ(s) (11)
Rb L
Despejando la relación entrada-salida, se obtiene la Función de Transferencia teórica:
R(s) mb gd 1
G(s) = =−   2 (12)
Θ(s) L m + 2 Jb s
b Rb

Evaluando con los parámetros de la Tabla 3, se obtiene el modelo nominal para el diseño de los controladores:
2,04
G(s) ≈ (13)
s2

7
4.3. Paso 3: Escoger la Arquitectura del Controlador
Se ha seleccionado una arquitectura de control clásica en lazo cerrado (Feedback Control) utilizando un
controlador PID (Proporcional-Integral-Derivativo).

4.3.1. Justificación de la Arquitectura


Dada la naturaleza de la planta (G(s) = K/s2 ), que presenta dos polos en el origen, el sistema es marginal-
mente estable con una fase de −180◦ .
Acción P: Proporciona la respuesta base al error.
Acción D: Es estrictamente necesaria para introducir un cero en el sistema, aportando adelanto de fase
para estabilizar los polos oscilatorios.
Acción I: Se incluye para asegurar robustez ante perturbaciones constantes y eliminar errores de estado
estacionario debidos a desalineaciones mecánicas.

4.3.2. Diagrama Esquemático del Hardware


El sistema embebido se ha diseñado para garantizar la integridad de las señales analógicas y prevenir in-
terferencias electromagnéticas generadas por el actuador. La Figura 6 ilustra la arquitectura de conexiones
implementada.

Figura 6: Diagrama esquemático de conexiones del sistema Bola-Balancı́n.

El circuito integra tres subsistemas principales, cuyas interconexiones y funciones se detallan a continuación:

A. Unidad de Procesamiento (Arduino UNO) Actúa como el cerebro del sistema, ejecutando el algoritmo
de control PID en tiempo real.
Pin Digital 9 (Salida PWM): Envı́a la señal de control al servomotor. Se utiliza este pin especı́fico por
estar vinculado a un temporizador interno del microcontrolador que permite generar señales PWM de alta
precisión (50 Hz) sin interferir con otras funciones.
Pin Analógico A0 (Entrada ADC): Recibe la señal de voltaje variable proveniente del sensor de distancia.
El convertidor analógico-digital (ADC) de 10 bits transforma este voltaje (0-5V) en un valor entero (0-
1023) para su procesamiento digital.
GND (Referencia Común): Punto crı́tico del diseño. Se unifican las tierras de la fuente externa y del
Arduino para establecer una referencia de voltaje común (0V ) para todas las señales lógicas y de potencia.

8
B. Subsistema de Actuación (Servomotor y Potencia) El servomotor es una carga inductiva que puede
generar picos de corriente y ruido eléctrico. Para aislar el microcontrolador de estas perturbaciones, se imple-
mentó una estrategia de alimentación dividida:
Fuente de Poder Externa: Se conecta mediante un Jack DC a la protoboard. Suministra la corriente
necesaria (hasta picos de 1A-2A) exclusivamente al servomotor, evitando caı́das de tensión (brownouts)
que podrı́an reiniciar el Arduino si se alimentara directamente de sus pines de 5V.
Servomotor: Conectado a los rieles de potencia externos. Su cable de señal (amarillo/naranja) es el único
que se conecta directamente al Arduino (Pin 12), cerrando el lazo de control mecánico.

C. Subsistema de Sensado y Filtrado El sensor de distancia infrarrojo (Sharp GP2Y0A21YK0F) es


sensible a fluctuaciones en la lı́nea de alimentación, lo que puede introducir ruido en la medición de posición.

Condensador Electrolı́tico (Filtro de Desacople): Se ha instalado un condensador (cilindro azul en el


esquema, valor tı́pico 10µF a 100µF) en paralelo a los pines de alimentación del sensor, lo más cerca
posible de este.
Función del Condensador: El condensador electrolı́tico en este circuito está conectado en paralelo entre
la lı́nea de la señal de salida (amarillo) del sensor y Tierra (GND). Su función principal es actuar como
un filtro pasa-bajos en la lı́nea de señal. Al estar en paralelo, desvı́a y absorbe los picos de ruido de alta
frecuencia hacia Tierra, suavizando la señal analógica. Esto es crucial para garantizar que el Pin A0 del
Arduino reciba una lectura de voltaje más limpia y estable, traduciéndose en mediciones de distancia más
precisas.

4.4. Paso 4: Sintonizar el Controlador


Para determinar los parámetros del controlador (Kp , Ki , Kd ), se aplicaron y compararon cinco técnicas de
diseño de control. El objetivo metodológico no es solo encontrar valores funcionales, sino analizar el sistema
desde los dominios temporal, frecuencial y complejo.

4.4.1. Técnica 1: Lugar Geométrico de las Raı́ces (LGR)


La planta de estudio mostrada en la ecuación (13) será utilizada para el diseño del controlador.
la cual presenta un doble polo en el origen. Este tipo de dinámica se considera crı́ticamente estable, ya
que ante una entrada senoidal o escalón la respuesta no diverge instantáneamente, pero tampoco retorna
al equilibrio. Cualquier perturbación puede desplazar el sistema a trayectorias crecientes, por lo que es
necesario un controlador que modifique la ubicación de los polos para garantizar estabilidad. El controlador
PD se define como:
C(s) = Kp + Kd s,
Este cero altera la forma del LGR de manera favorable para una planta con polos en el origen. El efecto
del cero es “tirar” la trayectoria del LGR hacia la izquierda,permitiendo que los polos entren en una región
de estabilidad con buena rapidez de respuesta.

Procedimiento: Planteamos los requerimientos a un Overshooting (OS %)= 5 % y un tiempo de esta-


blecimiento (ts(2 %)) = 1.5 segundos.

9
Figura 7: Gráfica de polos y zeros

Cálculo de los polos deseados y parámetros preliminares ,dada la planta :


2,04
G(s) =
s2
− ln(0,05)
OS = 5 % ⇒ ξ=p
π2 + (ln(0,05))2
ξ = 0,6901
4
ts (2 %) = 1,5 seg ⇒ ωn =
ξ ts
ωn = 3,8641
p
pd1,2 = −ξωn ± ωn 1 − ξ 2 j
pd1,2 = −2,6667 ± 2,7965j
 
2,7965
θ1,2 = 180◦ − tan−1
2,6667
θ1,2 = 179,19◦
Se requiere ubicar el cero en a tal que:
2,7965
tan(179,19◦ ) =
a − 2,6667
Despejando:
2,7965
a= + 2,6667
tan(179,19◦ )
Finalmente:
a = 0,7162295
p
d1 , d2 = (2,7965)2 + (2,6667)2
d1 = d2 = 3,864155
Para el cero: p
q1 = (2,7965)2 + (0,7162295 − 2,6667)2
q1 = 4,3891
d1 · d 2
Kc =
K q1
Kc = 1,667628
KP D = Kp + Kd s = Kc (s + a)

10
KP D = 1,667628 (s + 0,7162295)

Kd = 1,667628 y Kp = 1,194401
Con estos valores, queda completamente definido el controlador diseñado mediante la técnica de Lugar Geométri-
co de las Raı́ces (LGR). El procedimiento permitió reubicar los polos dominantes del sistema en el semiplano
izquierdo, cumpliendo con las especificaciones dinámicas establecidas al inicio del diseño, particularmente en
términos de amortiguamiento y tiempo de establecimiento.

4.4.2. Técnica 2: Análisis por frecuencia


Se diseña el controlador en el dominio de la frecuencia para cumplir márgenes de estabilidad.
Procedimiento: Plantemos los requerimientos como Pico de resonancia(Mr)=1, Ancho de banda(Bw)=2.5
y error en estado estacionario a la rampa unitaria(ess)=0.
Dada la planta:
2,04
G(s) =
s2
Pasamos a su forma sinusoidal con s = jω:
2,04 2,04
G(jω) = 2
=
(jω) −ω 2

Hallamos ∠G(jω) y |G(jω)|:


2,04 2,04
|G(jω)| = = 2
−ω 2 ω
   
2,04 0
∠G(jω) = ∠ = − arctan
−ω 2 0 − ω2
Reemplazando en la fórmula de ess para una entrada escalón unitario R(s) = 1s
 
1
lı́m sR(s)E(s) = lı́m sR(s) =0
s→0 s→0 1 + G(s)Kpid (s)
 
1
lı́m sR(s)E(s) = lı́m sR(s)    Kds2 +Kps+Ki   = 0
s→0 s→0 2,04
1 + s2 s

Desarrollando el lı́mite obtenemos el valor de Ki

Ki = 0

Cálculo del Amortiguamiento y Frecuencia Calculamos el amortiguamiento ξ


v q
u
2
t 1 − 1 − M4r
u
ξ=
2
v q
u
2
t 1 − 1 − M2r
u
ξ=
2
ξ = 0,7071
— Calculamos la frecuencia no amortiguada ωn

ωn = q p
1 − 2ξ 2 + (1 − 2ξ 2 )2 + 1

2,5
ωn = q p
1 − 2(0,7071) + (1 − 2(0,7071)2 )2 + 1
2

ωn = 2,5

11
Hacemos ωc = ωn Hallamos el modulo del controlador KP ID y Fase ∠KP ID Con las siguientes
fórmulas propuestas:
1
|KP ID | =
|G|
∠KP ID = MF − π − ∠G
Primero hallamos MF :
π
MF = 100 · ξ ·
180◦
π
MF = 100 · (0,7071) ·
180◦
MF = 1,2341 rad
Sustituyendo ω = ωc en la ganancia y fase:
2,04
|G|ω=ωc =
ω2
|G| = 0,327
 
0
∠G = − arctan
0 − ω2
∠G = −3,1416 rad
Reemplazando estos valores en las fórmulas para |KP ID | y ∠KP ID tenemos:

|KP ID | = 3,0580

∠KP ID = 1,2341 rad


Finalmente hallamos los valores restantes del controlador como Kp y Kd. Fórmulas de Conversión

Kp = |KP ID | cos(∠KP ID )
Ki
|KP ID | sin(∠KP ID ) + ωc
Kd =
ωc
Reemplazando los Valores valores obtenidos:
• |KP ID | = 3,0580
• ∠KP ID = 1,2341 rad
• ωc = 2,5 rad/s
• Ki = 0 (Asumiendo que Ki se anula o es despreciable en este paso para simplificar el cálculo,
ya que el término es Ki 0
s y en el cálculo de Kd se reemplaza con 2,5 en el numerador)

Kp = 3,0580 cos(1,2341)
Kp = 1,0102
0
3,0580 sin(1,2341) + 2,5
Kd =
2,5
3,0580 sin(1,2341)
Kd = = 1,1545
2,5

Función del Controlador Final


Obteniendo finalmente la función de nuestro controlador:
Ki
KP ID (s) = Kp + Kds +
s
0
KP ID (s) = 1,0102 + 1,01545s +
s

12
4.5. Técnica 3: Método de Ziegler-Nichols (Margen de Ganancia)
El método de Ziegler-Nichols por margen de ganancia es una técnica de sintonización de controladores PID
que se basa en llevar el sistema al lı́mite de estabilidad mediante el ajuste de la ganancia proporcional.

• Fundamento del método: Se identifica la ganancia crı́tica Km que produce oscilaciones sostenidas
en el sistema (margen de ganancia) y la frecuencia correspondiente ωm .
• Procedimiento:
1. Calcular el margen de ganacia
2. calcular la frecuencia correspondiente
3. Registrar Km y ωm
4. Calcular parámetros PID
• Cálculo de parámetros:

Kp = 0,6Km (14)
Kp ωm
Ki = (15)
π
Kp π
Kd = (16)
4ωm

Figura 8: Diagrama de Bode

• Observación: vemos que el margen de ganacia es 23.5db y la frecuencia es 1.43 rad/s, con esos
valores calcularemos los demas parametros:

M.F = 20 log(km)

0 = 20 log(km)

km = 1

1. Kp:
kp = 0,6

13
2. Ki:

ki = 0, 33
3. Kd:

kd = 0, 5

4.5.1. Técnica 4: Sintonización Computacional (PID Tuner)

Se empleó la herramienta de optimización numérica PID Tuner integrada en MATLAB para generar un
diseño de control de referencia basado en el modelo matemático. El procedimiento se llevó a cabo mediante
los siguientes pasos:

• Pre-procesamiento del Modelo: Dado que el sistema embebido opera en tiempo discreto, se
discretizó la planta teórica G(s) = 2,04/s2 utilizando el método de Retenedor de Orden Cero (ZOH)
con un periodo de muestreo de Ts = 0,01 s (100 Hz).
• Configuración de la Herramienta: Se seleccionó una arquitectura de controlador PID en paralelo.
Se utilizaron los controles deslizantes de diseño (Response Time y Transient Behavior ) para forzar
una respuesta agresiva, buscando un tiempo de subida (tr ) inferior a 0.5 segundos.
• Obtención de Parámetros: El algoritmo de optimización convergió en un conjunto de ganancias
que teóricamente satisfacen los requisitos de velocidad. Los valores especı́ficos de Kp y Kd obtenidos,
ası́ como las curvas de respuesta al escalón y las métricas de desempeño simuladas (sobreimpulso y
tiempo de establecimiento), se detallan y analizan en la Sección de Resultados, especı́ficamente en el
apartado 5.2. 4 (Controlador diseñado mediante Sintonización Computacional ).
• Análisis de Viabilidad: Esta etapa permitió establecer un lı́mite superior teórico para las ganancias,
evidenciando que la matemática lineal subestima la necesidad de acción derivativa para el frenado
inercial real, discrepancia que se discute posteriormente en la validación experimental.

4.5.2. Técnica 5: Asignación de Polos (Método Analı́tico)

Se utiliza el método algebraico de asignación de polos para imponer una dinámica especı́fica en lazo
cerrado. Se siguieron los siguientes pasos detallados:

1. Comprobar si la planta es observable y controlable.


2. Obtener el polinomio caracterı́stico del sistema en lazo cerrado.
3. Definir los polos deseados para un comportamiento sobreamortiguado (basado en la experimentación).
4. Igualar el polinomio deseado y el caracterı́stico para obtener Kp , Kd , Ki .

2,04
1. Verificación de Controlabilidad y Observabilidad Dada la planta teórica G(s) = s2 , se obtiene
su representación en espacio de estados mediante MATLAB:

G = tf(2.04, [1 0 0]);
[A,B,C,D] = tf2ss(2.04, [1 0 0]);
% CONTROLABILIDAD
Mco = ctrb(A,B);
rangoMco = rank(Mco); % Resultado: 2
% OBSERVABILIDAD
Mob = obsv(A,C);
rangoMob = rank(Mob); % Resultado: 2

Al usar dicho código se observa que la matriz A tiene 2 estados, la misma cantidad que el rango de las
matrices de observabilidad y controlabilidad, por lo tanto, el sistema es controlable y observable.

14
2. Polinomio Caracterı́stico La función de transferencia del PID y la planta son:

Kd s2 + Kp s + Ki 2,04
KP ID (s) = , G(s) = (17)
s s2
KP ID G
La función de transferencia en lazo cerrado es GLC = 1+KP ID G . Analizamos el denominador:

Kd s2 + Kp s + Ki
  
2,04
1+ =0 (18)
s s2

s3 + 2,04(Kd s2 + Kp s + Ki )
=0 (19)
s3
El Polinomio Caracterı́stico del sistema es:

s3 + (2,04Kd )s2 + (2,04Kp )s + (2,04Ki ) = 0 (20)

3. Cálculo de Polos Deseados A diferencia del diseño teórico estándar (subamortiguado), la validación
experimental demostró que el sistema requiere un comportamiento fuertemente sobreamortiguado (ξ > 1)
para evitar oscilaciones mecánicas y saturación. Se proponen tres polos reales que justifiquen la respuesta
observada:
• Un polo en el origen (p1 ≈ 0) para anular la acción integral (Ki = 0).
• Un polo dominante lento (p2 = 0,053) para una llegada suave.
• Un polo no dominante muy rápido (p3 = 48,4) para proporcionar una fuerte acción de frenado
(derivativa).
Se genera el Polinomio Deseado:

Pdes (s) = (s)(s + 0,053)(s + 48,4) (21)

Expandiendo la expresión:
Pdes (s) = s(s2 + 48,453s + 2,565) (22)
Pdes (s) = s3 + 48,453s2 + 2,565s + 0 (23)

4. Cálculo de Ganancias Igualando término a término el polinomio caracterı́stico (20) con el deseado
(23):
Para s2 :
48,453
2,04Kd = 48,453 =⇒ Kd = ≈ 23,75 (24)
2,04

Para s1 :
2,565
2,04Kp = 2,565 =⇒ Kp = ≈ 1,25 (25)
2,04

Para s0 :
2,04Ki = 0 =⇒ Ki = 0 (26)

4.6. Paso 5: Verificar y Validar


Esta etapa consiste en la implementación del código en el microcontrolador y la ejecución de pruebas
funcionales.

4.6.1. Algoritmo de Control Implementado

El firmware se estructura en un bucle de control discreto con un tiempo de muestreo fijo Ts . El flujo de
ejecución se ilustra en la Figura 8.

15
Figura 9: Diagrama de flujo del algoritmo de control PID implementado.

16
4.6.2. Protocolo de Pruebas

Se define un protocolo experimental para validar el desempeño:


1. Validación de Lecturas: Verificación de la curva de linealización del sensor Sharp comparando
lecturas del ADC contra distancias reales medidas con flexómetro.
2. Prueba de Lazo Abierto: Verificación de la polaridad del actuador para asegurar que una señal
de error positiva genere una acción correctiva en el sentido adecuado (retroalimentación negativa).
3. Prueba de Escalón: Modificación abrupta del SetPoint (ej. de 20 cm a 40 cm) y captura de la
respuesta transitoria para evaluar ts y Mp .

4.7. Paso 6: Iterar (Refinamiento Experimental del Control)


La metodologı́a en espiral culmina con una fase de ajuste fino experimental, donde se validan y corrigen
los resultados teóricos frente a la realidad fı́sica del prototipo, cerrando la brecha entre la simulación ideal
y el comportamiento real.

4.7.1. Iteración sobre la Asignación de Polos

Durante las pruebas de implementación, se observó que las ganancias teóricas iniciales calculadas con
el modelo G(s) = 2,04/s2 (Kp ≈ 1,25, Kd ≈ 23) generaban una respuesta demasiado agresiva para
el servomotor fı́sico. La dinámica no modelada, principalmente la fricción seca y el ruido del sensor,
provocaba saturación en el actuador con esos valores.

• Ajuste Iterativo: En lugar de modificar el modelo de la planta, se procedió a iterar sobre la


ubicación de los polos deseados en la técnica de Asignación de Polos (Técnica 5). Se desplazaron
los polos teóricos hacia regiones de menor frecuencia para obtener una acción de control más suave,
sacrificando velocidad teórica a cambio de estabilidad mecánica real.

4.7.2. Consolidación de Ganancias Finales

El proceso experimental convergió en un conjunto de ganancias ajustadas (Kp = 0,9, Kd = 17, Ki = 0).
Estos valores representan el punto óptimo donde la acción derivativa es lo suficientemente alta para frenar
la inercia de la bola (”freno virtual”) sin amplificar el ruido, y la acción proporcional es lo suficientemente
baja para evitar movimientos bruscos, logrando ası́ el cumplimiento estricto de los requerimientos de
estabilidad y tiempo de asentamiento.

5. Resultados
En esta sección se presentan los resultados obtenidos durante el desarrollo del proyecto, organizados de
manera sistemática para evaluar el desempeño de la planta y el efecto de los diferentes métodos de diseño
y sintonización de controladores. Cada figura se encuentra debidamente numerada y acompañada por una
descripción explicativa que permite interpretar su contenido y relacionarlo con los objetivos del proyecto:
mejorar la estabilidad, velocidad de respuesta y precisión del sistema.
Los resultados se dividen en dos partes principales: (i) el comportamiento de la planta sin controladores y
(ii) el desempeño del sistema bajo distintos métodos de control, incluyendo Lugar Geométrico de las Raı́ces
(LGR), análisis por frecuencia, sintonización mediante el método de Ziegler–Nichols, ajuste computacional
mediante PID Tuner y asignación de polos por el método analı́tico.

5.1. Respuesta de la planta sin controlador


La Figura 10 muestra la respuesta de la planta en lazo abierto ante una entrada escalón unitario. De-
bido a la ausencia de amortiguamiento y a la presencia de dos polos en el origen, el sistema presenta
un comportamiento crı́ticamente estable, con tendencia al crecimiento indefinido y sin alcanzar un esta-
do estacionario. Este resultado evidencia la necesidad de implementar un controlador que modifique la
dinámica del sistema y garantice estabilidad en lazo cerrado.

17
Figura 10: Respuesta de la planta ante una entrada escalón unitario.

5.2. Desempeño con diferentes métodos de sintonización


A continuación, se presentan los resultados obtenidos al aplicar distintos métodos de diseño de controla-
dores. Cada método busca mejorar la estabilidad y el comportamiento dinámico del sistema, llevando la
planta a cumplir especificaciones de tiempo de establecimiento, sobreimpulso y error en estado estacionario.

5.2.1. Controlador diseñado mediante Lugar Geométrico de las Raı́ces (LGR)

La Figura 11 presenta la respuesta al escalón del sistema al implementar el controlador PD obtenido


mediante el método de LGR. Este controlador permitió reubicar los polos dominantes en el semiplano
izquierdo, logrando mejorar significativamente el tiempo de respuesta y la estabilidad del sistema. Los
parámetros obtenidos fueron:

Kd = 1,667628 y Kp = 1,194401

18
Figura 11: Respuesta al escalón con controlador PD diseñado mediante LGR.

La Figura 11 muestra la respuesta al escalón del sistema controlado mediante el controlador PD diseñado
por el método del Lugar Geométrico de las Raı́ces (LGR). De acuerdo con los requerimientos de diseño
establecidos en la metodologı́a, se buscó obtener un sobreimpulso aproximado de OS ≈ 5 % y un tiempo de
establecimiento al 2 % de Ts ≈ 1,5 s. Estos valores corresponden a un factor de amortiguamiento cercano
a ζ ≈ 0,707 y a una ubicación especı́fica de polos dominantes en el semiplano izquierdo.
Sin embargo, al analizar la respuesta temporal obtenida, se observa que el sistema presenta un sobreimpulso
real de aproximadamente:

OSreal ≈ 11 %

y un tiempo de establecimiento al 2 % igual a:

Ts,real ≈ 2,9 s

Estos valores difieren de las especificaciones teóricas debido a varios factores inherentes al diseño mediante
LGR:

• Sensibilidad a la ubicación exacta del cero del controlador PD: El método del LGR de-
pende fuertemente de la posición del cero introducido por el controlador. Pequeñas variaciones en
dicha ubicación modifican la geometrı́a del lugar de raı́ces y cambian la ubicación final de los polos
dominantes.
• Influencia de polos no dominantes: Aunque el diseño se enfoca en los polos dominantes, los polos
restantes también afectan la dinámica temporal, generando respuestas más oscilatorias o más lentas
de lo previsto.
• Aproximación gráfica del LGR: El trazado del LGR es un método gráfico; por ello, la selección del
punto de operación correspondiente a la ganancia óptima no es exacta y puede introducir desviaciones
respecto a los valores teóricos.
• Linealización y suposiciones idealizadas: El análisis se realiza bajo un modelo lineal e ideal.
Pequeñas diferencias entre el modelo matemático y la simulación numérica también pueden influir
en los valores finales.

19
En conjunto, estas variaciones explican por qué el controlador diseñado mediante LGR no alcanza exac-
tamente las especificaciones teóricas deseadas, aunque sigue mejorando significativamente la estabilidad y
el tiempo de respuesta respecto a la planta sin control.

5.2.2. Controlador diseñado mediante Análisis por frecuencia

En esta sección se realizará el análisis del controlador PID diseñado mediante el método de respuesta
en frecuencia, con el objetivo de evaluar su desempeño y compararlo con las especificaciones de diseño
establecidas.
Parámetros de diseño:

• Pico de resonancia: Mr = 1,0


• Ancho de banda: BW = 2,5 rad/s
• Error en estado estacionario: ess = 0

La Figura 12 presenta la respuesta al escalón del sistema al implementar el controlador PD obtenido


mediante el método de LGR.

Figura 12: Respuesta al escalón con controlador diseñado mediante Análisis por frecuencia.

Resultados obtenidos de la gráfica:


Al analizar la respuesta temporal del sistema con el controlador PID, se obtienen los siguientes valores
experimentales:

• Sobrepaso máximo: OS = 17,29 % (pico de 1,17291 en t = 1,4 s)


• Tiempo de establecimiento al 2 %: Ts = 2,9 s
• Error en estado estacionario: ess ≈ 0 (valor final = 1,0005)

Análisis de discrepancias:
Al comparar estos resultados con las especificaciones de diseño, se observa que el sistema presenta un
sobrepaso y un tiempo de establecimiento mayores a los esperados. Esto ocurre porque las relaciones entre
los parámetros de frecuencia (Mr , BW) y las métricas temporales (OS, Ts ) se basan en aproximaciones
de sistemas de segundo orden ideales.

20
En particular, aunque Mr = 1,0 sugerirı́a un sobrepaso cercano al 4 %, el valor obtenido (17,29 %) indica
que la dinámica real del sistema presenta efectos adicionales introducidos por el controlador PID. Asimis-
mo, el tiempo de establecimiento obtenido (2,9 s) es mayor al rango esperado para un ancho de banda de
2,5 rad/s, lo cual sugiere que el ancho de banda real del sistema es menor.
Finalmente, el único parámetro que cumple la especificación es el error en estado estacionario, ya que la
acción integral del PID garantiza ess ≈ 0 ante una entrada escalón.

5.2.3. Controlador diseñado mediante Método de Ziegler-Nichols

Figura 13: Respuesta al escalón del sistema sintonizado con PID Ziegler Nichols) y con un sobreimpulso relati-
vamente bajo.

Obtendemos los parametros overshoot, tiempo de establecimiento y error estacionario respectiamente para
nuestro controlador. Los parametros los obtendremos de la siguente grafica:

21
Figura 14: Respuesta al escalón del sistema sintonizado con PID Ziegler Nichols) y con un sobreimpulso relati-
vamente bajo.

Los cálculos obtenidos son los siguientes:

1. Overshoot (Sobreimpulso):
1,03639 − 1
%OS = × 100 % = 8,679 %
1
%OS = 8,679 %

2. Tiempo de establecimiento (2 %):


ts (2 %) = 4,3 segundos
1,0246 − 1
× 100 % ≈ 2,46 %
1

3. Error de estado estacionario:


Error estacionario = 1 − 0,993316 = 0,006684
Error = 0,00684

Análisis de discrepancias: Al momento de realizar la implementación de controlador, se puedo notar


algunas discrepancias con respecto a la parte teorica:
1. Insuficiencia de la Acción Derivativa: El valor sugerido por el metodo empleado (Kd ≈ 0,3)
es un orden de magnitud menor al requerido experimentalmente (Kd = 17). Sin embargo, debemos
tener en cuenta que nuestra planta no es ideal por ende puede haber factores como fuerzas de fricción,
entre el servomotor y el soporte que de alguna manera influyen en nuestra planta.
2. Margen de error Sobreimpulso: El sobreimpulso teórico aproximadamente 8 % ,no obstante; al
momento de implementar el controlador vimos que el sobreimpulso al inicio puede ser mas elevado
respecto al teorico.
3. Error estacionario: Si bien el error en estado estacionario es practicamente cero, en los resultados
experimentales se pudo ver que no se lograba el valor de 0 como tal sino que oscilaba dentro un
margen de error minimo entre 0.1 cm y 0.2 cm.

22
5.2.4. Controlador diseñado mediante Sintonización Computacional(PID Tuner)

Siguiendo la metodologı́a descrita en la sección III-B, se utilizó la herramienta PID Tuner de


MATLAB sobre el modelo linealizado discreto de la planta teórica (G(s) ≈ 2,04/s2 ) con un periodo
de muestreo Ts = 0,01 s. El objetivo de diseño fue maximizar la velocidad de respuesta (tr < 0,5 s)
manteniendo la estabilidad en lazo cerrado.

5.2.5. Respuesta Temporal Simulada

La Figura 15 muestra la respuesta al escalón unitario obtenida tras el proceso de optimización. La


curva sólida (azul) representa la dinámica del sistema con el controlador sintonizado, evidenciando
un comportamiento subamortiguado con un tiempo de subida rápido, caracterı́stico de sistemas con
polos dominantes complejos conjugados.

Step Plot: Reference tracking

1.4
Tuned response
Baseline response

1.2

0.8
Amplitude

0.6

0.4

0.2

0
0 1 2 3 4 5 6
Time (seconds)

Figura 15: Respuesta al escalón del sistema sintonizado con PID Tuner. Se observa una respuesta rápida (Rise
Time ≈ 0,4s) pero con un sobreimpulso considerable.

5.2.6. Parámetros y Métricas de Desempeño

Los valores exactos de las ganancias del controlador y las métricas de robustez calculadas por el
algoritmo se presentan en la Figura 16 y se resumen en la Tabla 4.

23
Figura 16: Panel de parámetros del controlador y métricas de desempeño obtenidas en MATLAB.

Tabla 4: Resultados de la Sintonización Computacional (PID Tuner)

Parámetro Sı́mbolo Valor Obtenido


Ganancia Proporcional Kp 1.153
Ganancia Derivativa Kd 1.647
Coeficiente de Filtro N 39.07 (Tf ≈ 0,025)
Tiempo de Subida tr 0.41 s
Tiempo de Asentamiento ts 3.56 s
Sobreimpulso Mp 12.4 %
Margen de Fase MF 73.7◦

5.2.7. Análisis de Discrepancias (Teorı́a vs. Práctica)

Al analizar los resultados computacionales frente al comportamiento fı́sico del prototipo, se identifi-
caron discrepancias crı́ticas que validan la necesidad del ajuste experimental posterior:
a) Insuficiencia de la Acción Derivativa: El valor sugerido por el software (Kd ≈ 1,65) es un
orden de magnitud menor al requerido experimentalmente (Kd = 17). El modelo lineal asume
fricción nula y respuesta instantánea, subestimando la inercia real de la bola y la necesidad de
una fuerza de ”[Link] mucho mayor.
b) Riesgo de Sobreimpulso: El sobreimpulso teórico del 12.4 % (Figura 15), aunque aceptable
en simulación, resulta peligroso en el prototipo fı́sico, ya que podrı́a causar que la bola golpee
los extremos del riel o pierda contacto con la superficie debido a la aceleración vertical.
c) Validación de la Estrategia Robusta: Estos resultados confirman que la optimización basada
en velocidad (enfoque del PID Tuner ) no es adecuada para esta planta especı́fica. Se concluye
que la estrategia de Asignación de Polos Sobreamortiguados (Técnica 5), que sacrifica
velocidad de subida a cambio de eliminar el sobreimpulso y aumentar drásticamente la acción
derivativa, es la aproximación correcta para garantizar la estabilidad fı́sica.

24
5.2.8. Controlador diseñado mediante Asignación de Polos

5.2.9. Controlador diseñado mediante Asignación de Polos (Análisis Teórico)

La Figura 17 presenta la respuesta al escalón simulada del sistema utilizando las ganancias teóricas
calculadas analı́ticamente (Kp = 1,25, Kd = 23,75) sobre la planta ideal G(s) = 2,04/s2 . El objetivo
de esta simulación fue validar la capacidad del método de asignación de polos para imponer una
dinámica sobreamortiguada y estable.

Controlador PID sintonizado por Asignación de Polos


Entrada Escalón unitario
2 Entrada Escalón unitario Para el sistema sin controlador
Entrada Escalón unitario Para el sistema con controlador
data1
data2
1.8

1.6

1.4

1.2
X: 3.00
Amplitudes

X: 0.28 Y: 1.00093
Y: 1.00107

0.8

0.6

0.4

0.2

0
0 1 2 3 4 5 6 7 8 9 10
Time (s)

Figura 17: Respuesta teórica al escalón con controlador diseñado mediante Asignación de Polos (Kp = 1,25, Kd =
23,75).

Resultados obtenidos de la simulación: Al analizar la gráfica teórica, se extraen las siguientes


métricas de desempeño:
• Tiempo de asentamiento (tss ): La respuesta es extremadamente rápida, alcanzando el estado
estacionario casi instantáneamente (tss < 0,5 s). Esto se debe a la cancelación matemática de la
dinámica lenta por el cero dominante introducido por la alta ganancia derivativa.
• Sobrepaso (OS %): El sobrepaso es nulo (0 %), confirmando el comportamiento sobreamorti-
guado deseado (ζ > 1).
• Error en estado estacionario (ess ): El error es nulo, cumpliendo con el requisito de precisión.
Análisis de Discrepancias y Ajuste Experimental: Si bien el resultado teórico muestra un
desempeño ideal, este diseño presenta limitaciones fı́sicas al implementarse en el prototipo real:
• Saturación del Actuador: Un tiempo de subida tan abrupto (como el mostrado en la si-
mulación) requerirı́a una aceleración infinita y un torque que el servomotor MG995 no puede
suministrar. En la práctica, el motor se saturarı́a inmediatamente.
• Dinámica no modelada: La simulación asume un acople mecánico perfecto. En el sistema real,
la fricción y la inercia de la transmisión biela-manivela limitan la velocidad máxima de reacción.

6. Discusión
6.1. Comparativa de Controladores
La Tabla 5 resume el desempeño de las cinco técnicas de sintonización evaluadas. Se contrastan las
métricas de desempeño temporal teóricas (obtenidas en simulación) con la viabilidad fı́sica observada
al implementar dichas ganancias en el prototipo real.

25
Tabla 5: Comparativa de desempeño y viabilidad de los controladores diseñados

Método %OS ts (2 %) Kp Kd Ki Mp Viabilidad Fı́sica


LGR 11.0 % 2.90 s 1.19 1.67 0 Medio Baja (Poca fricción)
Frecuencia 17.3 % 2.90 s 1.01 1.15 0 Alto Baja (Lento)
Ziegler-Nichols 8.7 % 4.30 s 0.60 0.27 0.5 Medio Baja(Lento)
PID Tuner 12.4 % 3.56 s 1.15 1.65 0 12.4 % Media (Satura servo)
Asignación Polos 0% <0.5 s 1.25 23.75 0 0% Alta (Robusto)

6.2. Ajuste Experimental Final


Como se evidencia en la comparativa, la técnica de Asignación de Polos ofreció la mejor base
teórica al garantizar un sobreimpulso nulo (Mp = 0 %). Sin embargo, para la implementación final en
el hardware, fue necesario realizar un ajuste iterativo sobre estas ganancias teóricas para compensar
la dinámica no modelada.
Resultado del Ajuste: Partiendo del método de Asignación de Polos, se iteraron las ganancias
para adaptarse a las limitaciones del actuador y la fricción real, resultando en los parámetros finales
de operación:
Kp = 0,9, Kd = 17, Ki = 0 (27)

7. Conclusiones y/o Recomendaciones


7.1. Conclusiones
El desarrollo del proyecto ha permitido validar exitosamente el diseño e implementación de un sistema
de control robusto para el prototipo Bola-Balancı́n, cumpliendo con los objetivos de estabilización y
precisión planteados inicialmente. A partir de la metodologı́a en espiral y el análisis experimental, se
derivan las siguientes conclusiones principales:
• Validación del Modelo Matemático: Se confirmó que el modelo teórico derivado (G(s) =
2,04/s2 ) representa adecuadamente la dinámica del sistema tras corregir los parámetros geométri-
cos de transmisión. La clave del modelado no fue el ajuste de ganancias experimentales, sino la
correcta identificación del brazo de palanca efectivo (L = 12 cm) en lugar de la longitud total
de la viga, lo cual proporcionó una base matemática suficientemente precisa para el diseño del
controlador sin necesidad de recurrir a modelos de caja negra.
• Comparativa de Estrategias de Control: El análisis de las cinco técnicas de sintonización
demostró que los métodos estándar de optimización (como PID Tuner ) no son viables para este
prototipo fı́sico, pues sugieren ganancias proporcionales altas que saturan el actuador. La técnica
de Asignación de Polos resultó ser la óptima, proporcionando la base analı́tica para un diseño
sobreamortiguado. Tras un proceso de iteración experimental sobre los valores teóricos, se
ajustaron las ganancias finales a (Kp = 0,9, Kd = 17), validando que la estabilidad en sistemas
mecánicos reales con baja fricción depende de una acción derivativa predominante que actúe
como ”freno virtual”.
• Desempeño del Sistema: El prototipo final logra estabilizar la bola en cualquier referencia
dentro del rango operativo con un tiempo de asentamiento inferior a 3,5 segundos y un error de
estado estacionario nulo (ess ≈ 0). Esto valida que, a pesar de las no linealidades no modeladas
(como la fricción seca), un controlador lineal bien sintonizado sobre el modelo de 2,04/s2 es capaz
de gobernar la planta de manera robusta.

7.2. Recomendaciones
Con base en las limitaciones técnicas identificadas durante la fase de validación experimental, se
proponen las siguientes lı́neas de trabajo para futuras iteraciones del proyecto:
• Mejora de la Instrumentación: Se recomienda sustituir el sensor de distancia analógico
(Sharp GP2Y0A21) por un sensor digital basado en tiempo de vuelo (ToF), como el VL53L0X,
o implementar un sistema de visión artificial. Esto eliminarı́a el ruido de medición inherente a la
conversión analógica, permitiendo un control más suave.

26
• Optimización Mecánica: Para reducir la zona muerta detectada (±2 mm), se sugiere rediseñar
el sistema de transmisión eliminando la varilla y acoplando el servomotor directamente al eje
de rotación de la viga (Direct Drive), o emplear rótulas de precisión para eliminar la holgura
mecánica en las uniones.
• Estrategias de Control Avanzado: Dado que el modelo de 2,04/s2 ha probado ser válido,
se recomienda utilizarlo para implementar un controlador LQR (Regulador Cuadrático Lineal).
Esto permitirı́a optimizar matemáticamente el consumo de energı́a del servomotor, penalizando
los movimientos bruscos de la señal de control que el PID actual no restringe explı́citamente.

27
Referencias
[1] K. Ogata y B. Fabián-Frankel, Ingenierı́a de control moderna. Pearson Education. 1980.
[2] C. Holguin y D. Marcelo. ”Diseño e implementación de un control Pid con ganancias progra-
madas utilizando un sistema embebido launchpad mps430 para planta balón y viga, Tesis de
grado. Universidad Politécnica Salesiana. 2018.
[3] N. S. Nise, Sistemas de control para ingenierı́a,3a ed. Compañı́a Editorial Continental. 2004.
[4] K. J. Astrom y T. Hagglund Revisiting the Ziegler–Nichols step response method for PID
control. Journal of Process Control 635-650pp. 2004.
[5] S. Pinzón y W. Pavón. “Diseño de Sistemas de Control Basados en el Análisis del Dominio en
Frecuencia,” Revista Técnica Energı́a, vol. 15, no. 2, pp. 76–82, 2019.
[6] S. Villada Garcı́a. Diseño e Implementación de Filtros y Controladores PID para Estabilización
de Sistemas Dinámicos Universidad Nacional Abierta y a Distancia. 2023.
[7] Zafar, F. et al. Stabilization and tracking control of underactuated ball and beam system using
metaheuristic optimization. PLOS ONE, 19(2), 2024.
[8] Osinski, K. P. y Silveira, A. S. Control of Ball and Beam System Using Fuzzy PID Controller.
IEEE Latin America Transactions, 2019.
[9] Saad, M. y Mustafa, K. Performance Analysis of Ball and Beam System using Modern Control
Techniques. WSEAS Transactions on Systems, 2015.
[10] Maestre Rodrı́guez, H. M. Control de un sistema Bola Balancı́n Universidad de Valladolid.
2019.
[11] Ogata, K. Ingenierı́a de control moderna Pearson Educación. 2003.
[12] Friedland, B. Control System Design: An Introduction to State-Space Methods Dover Publica-
tions. 2005.
[13] Hosevn, A. A. y Sima, M. Ball & Beam: Controller Design Babol Noshirvani University of
Technology. 2016.
[14] Phillips, C. L. Digital Control System Analysis & Design Pearson. 2014.
[15] Aracil, J. y Gómez-Estern, F. Sistemas realimentados de segundo orden Universidad de Sevilla.
2005.
[16] Triviño, G. Modelado y control de un péndulo invertido sobre base móvil Universidad Politécnica
de Valencia. 2018.
[17] Soe, A. y Khaiing, Z. Implementation of Self-Balancing Robot using Arduino International
Journal of Science and Engineering Applications. 2017, Vol 6, 18-24pp.
[18] Ding, J. Mr. Struggles: A Two-Wheeled Self-Balancing Robot University of Pennsylvania. 2020.

28
ANEXOS
Video de Funcionamiento del Prototipo
Como evidencia de la validación experimental y el cumplimiento de los objetivos de estabilidad, se
adjunta el enlace al video demostrativo del sistema en operación. En este material se puede observar
la respuesta del sistema ante perturbaciones externas y el seguimiento de la referencia.

Enlace al video (Google Drive):


[Link]

Nota: Se recomienda descargar el archivo para una visualización óptima si se presentan problemas
de reproducción en el navegador.

Código Fuente del Sistema Barra - Bola


A continuación, se presenta el código completo implementado en el microcontrolador Arduino Mega
2560. Este algoritmo gestiona la lectura del sensor, el filtrado digital, el cálculo del PID y la actuación
del servomotor.
1 # include < Servo .h >
2
3 // = = = = = = = = = = = = = = = = = = = = = = = PID = = = = = = = = = = = = = = = = = = = = = = = = =
4 float Kp = 0.9;
5 float Kd = 17;
6 float Ki = 0;
7
8 int Rint = 10;
9 int Rext = 200;
10
11 // = = = = = = = = = = = = = = = = = = TIEMPOS = = = = = = = = = = = = = = = = = = = = = = = = = =
12 unsigned long time = 0;
13 int period = 50;
14
15 // = = = = = = = = = = = = = = = = = = SENSOR = = = = = = = = = = = = = = = = = = = = = = = = = = =
16 int sensorPin = A0 ;
17 int measure ;
18 float dist = 0;
19 float dist_raw = 0;
20 float lastDist = 0;
21
22 // ======== TABLA CALIBRADA ( REAL ) ==========
23 int dcal [] = { -170 , -120 , -80 , -40 , 0 , 40 , 80 , 120 , 170 };
24 int ADCcal [] = { 220 , 230 , 240 , 260 , 313 , 330 , 390 , 460 , 640 };
25
26 // = = = = = = = = = = = = = = = = = VELOCIDAD = = = = = = = = = = = = = = = = = = = = = = = = =
27 int nvel = 5;
28 float vel = 0;
29 float vel_raw = 0;
30 float vbuf [5];
31 float I = 0;
32
33 // = = == == = == == == = = FILTRO SUAVIZADO = = = = = = = = = = = = = = = = = = = =
34 float alpha_dist = 0.25; // suavizado posici ó n
35 float alpha_vel = 0.35; // suavizado velocidad
36 float alpha_out = 0.20; // suavizado salida servo
37
38 // = = = = = = = = = = = = = = = = = SERVO = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
39 Servo myservo ;
40 float pos ;
41 float pos_filt = 0;
42 int reposo = 1500;
43 int ledPin = 13;
44
45 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
46 // SETUP
47 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
48 void setup ()
49 {
50 Serial . begin (115200) ;
51 an al og R ef er en c e ( DEFAULT ) ;

29
52
53 myservo . attach (12) ;
54 pinMode ( ledPin , OUTPUT ) ;
55
56 for ( int i = 0; i < nvel ; i ++) vbuf [ i ] = 0;
57 }
58
59 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
60 // LOOP
61 // = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
62 void loop ()
63 {
64 if ( millis () > time + period )
65 {
66 time = millis () ;
67
68 // ===== LECTURA ADC =====
69 measure = analogRead ( sensorPin ) ;
70 lastDist = dist_raw ;
71
72 // ===== INTERPOLACI Ó N TABULAR =====
73 for ( int i = 0; i < 8; i ++) {
74 if ( measure >= ADCcal [ i ] && measure <= ADCcal [ i + 1]) {
75 dist_raw = map ( measure , ADCcal [ i ] , ADCcal [ i + 1] , dcal [ i ] , dcal [ i + 1]) ;
76 break ;
77 }
78 }
79
80 // ===== FILTRO SUAVIZADO DE DISTANCIA =====
81 dist = dist * (1 - alpha_dist ) + dist_raw * alpha_dist ;
82
83 // ===== VELOCIDAD SIN FILTRO =====
84 vel_raw = dist_raw - lastDist ;
85
86 // ===== FILTRO SUAVIZADO DE VELOCIDAD =====
87 vel = vel * (1 - alpha_vel ) + vel_raw * alpha_vel ;
88
89 // ===== INTEGRAL ANTI - WINDUP =====
90 if ( abs ( dist ) > Rint && abs ( dist ) < Rext )
91 I += dist * Ki ;
92 else
93 I = 0;
94
95 // ===== PID FINAL =====
96 pos = Kp * dist + Kd * vel + I ;
97
98 // ===== FILTRO SUAVIZADO DE SALIDA =====
99 pos_filt = pos_filt * (1 - alpha_out ) + pos * alpha_out ;
100
101 int pulse = constrain ( reposo + pos_filt , 900 , 2100) ;
102 myservo . w r i t e M i c r o s e c o n d s ( pulse ) ;
103
104 // ===== LED DE CENTRADO =====
105 digitalWrite ( ledPin , abs ( dist ) < Rint ) ;
106
107 // ===== DEBUG =====
108 Serial . print ( " RAW : " ) ; Serial . print ( dist_raw ) ;
109 Serial . print ( " | dist : " ) ; Serial . print ( dist ) ;
110 Serial . print ( " | vel : " ) ; Serial . print ( vel ) ;
111 Serial . print ( " | pulse : " ) ; Serial . println ( pulse ) ;
112 }
113 }
Listing 1: Algoritmo de Control PID para el sistema Bola-Balancı́n

30

También podría gustarte