Control Multivariable Avanzado - septiembre 29 de 2021 1
Laboratorio 3 – Digitalización de un
Controlador PID
Universidad ECCI, Facultad de Ingeniería Programa de Ingeniería Mecatrónica Bogotá D.C, Colombia
Capera Beltrán Jazmin Sofia – 82529 - [email protected]
Docente: Jorge Eduardo Cote Ballesteros 8AN
Resumen – El siguiente informe de laboratorio presenta el III. PROCEDIMIENTO
proceso de diseño, simulación e implementación de un La simulación del controlador, la planta y el lazo de control, se
controlador PID discreto, para el control de velocidad de un realizó con la aplicación Simulink y Simscape del Software
motor DC. La simulación se realizó mediante las aplicaciones Matlab.
Simulink y Simscape del Software Matlab; se implementó el
controlador diseñado sobre el microcontrolador Arduino y se
comunicó Simulink y Arduino. A. Modelo del motor DC.
Se implementa con bloques de Simscape el modelo de un
Palabras claves – arduino, controlador, discretización, motor motor DC para controlarlo en velocidad utilizando la
DC, planta, Simulink. información y parámetros de acuerdo al promedio entre los
últimos dígitos de los códigos.
Abstract – The following lab report presents the design,
simulation and implementation process of a discrete PID
controller for speed control of a DC motor. The simulation
was carried out using the Simulink and Simscape applications
of the Matlab Software; The controller designed on the
Arduino microcontroller was implemented and Simulink and
Arduino communicated.
Parámetro Valor
Keywords – arduino, controller, discretization, DC motor, Resistencia 0.07 ohm
plant, Simulink. Inductancia 1.4 H
Inercia 0.1 kg*m^2
Constante de Proporcionalidad 0.5 V/(rad/s)
I. INTRODUCCIÓN Coeficiente de amortiguamiento 0.07 N*m/(rad/s)
Las señales pueden ser clasificadas en tiempo continuo y Resistencia de armadura 0.007 ohm
tiempo discreto. Una señal en tiempo continuo está definida Inductancia de armadura 1.4 H
para todo tiempo, mientras que una señal en tiempo discreto
Tabla 1: Parámetros del sistema.
está definida solo para distantes discretos de tiempo.
Similarmente, los sistemas son clasificados en análogos y
discretos. Un sistema análogo es excitado por señales en
tiempo continuo y genera señales en tiempo continuo como
salidas. La entrada y salida de sistemas digitales son señales
en tiempo discreto. Un sistema con entrada análoga y salida
digital o viceversa puede ser modelado tanto como sistema
análogo o como sistema digital, dependiendo de la
conveniencia de análisis y diseño [1]. Fig. 2 Modelo de un motor DC con Simscape. Fuente propia.
El diseño de sistemas de control en tiempo discreto es similar
El modelo del sistema se puede conectar directamente a una
en principio al diseño de sistemas de control en tiempo
entrada y salida como se muestra en la Figura 2.
continuo. El objetivo de diseño es básicamente, determinar el
controlador para que el sistema tenga un desempeño de
acuerdo a las especificaciones. De hecho, en la mayoría de las
situaciones, el proceso controlado es el mismo, excepto que en
sistemas en tiempo discreto el controlador está diseñado para
procesar datos digitales muestreados [2].
II. OBJETIVO Fig. 2 Modelo de un motor DC con Simscape. Fuente propia.
Programar el modelo matemático de un sistema discreto en un
sistema embebido o un microcontrolador con el fin de Para dar orden al diagrama de bloques se convierte al modelo
controlar un sistema.
Control Multivariable Avanzado - septiembre 29 de 2021 2
el motor en un subsistema.
Fig. 3 Modelo de un motor DC con Simscape. Fuente propia.
B. Sintonización del Controlador
Si se puede obtener un modelo matemático de la planta, es
posible aplicar diversas técnicas de diseño con el fin de
Fig. 4 Oscilaciones sostenidas debido a la ganancia
determinar los parámetros del controlador que cumpla las
proporcional.
especificaciones del transitorio y del estado estacionario del
sistema en lazo cerrado. Sin embargo, si la planta es tan
A partir de la respuesta obtenida en la simulación, se
complicada que no es fácil obtener su modelo matemático,
determina el periodo de oscilación, al cual denominaremos
tampoco es posible un método analítico para el diseño de un
periodo último. Con ayuda de los cursores se mide el tiempo
controlador PID. En este caso, se debe recurrir a
que transcurre entre cresta y cresta de la señal:
procedimientos experimentales para la sintonía de los
controladores PID, específicamente el segundo método de
sintonización de Ziegler-Nichols.
Segundo Método: En el segundo método, primero se fija Ti =
∞ y Td=0. Usando sólo la acción de control proporcional, se
incrementa Kp desde 0 hasta un valor crítico Kcr, en donde la
salida presente oscilaciones sostenidas. (Si la salida no
presenta oscilaciones sostenidas para cualquier valor que
pueda tomar Kp, entonces este método no se puede aplicar).
Así, la ganancia crítica Kcr y el periodo Pcr correspondiente
se determinan experimentalmente. Ziegler-Nichols sugirieron Fig. 5 Medición del período crítico.
que se establecieran los valores de los parámetros Kp, Ti y Td
de acuerdo con la fórmula que se muestra en la Tabla 2.
A través de la Tabla de sintonización de Ziegler-Nichols se
encuentran los parámetros del controlador PID.
Tabla 2: Regla de sintonía de Ziegler-Nichols basada en la
ganancia crítica Kcr y periodo crítico Pcr (segundo método)
[3].
Dado que se obtuvieron tiempos, es necesario expresar el
controlador en ganancias:
Se configuran las ganancias integral y derivativa en cero, se
aumenta la ganancia proporcional hasta que el sistema
presente oscilaciones sostenidas, este es el punto donde el
sistema es críticamente estable, es decir, estaremos obteniendo
la ganancia última.
La ganancia crítica, ganancia límite o ganancia última es:
Obteniéndose la siguiente respuesta en tiempo continuo:
La salida del sistema con ganancia última presenta
oscilaciones con amplitud constante:
Control Multivariable Avanzado - septiembre 29 de 2021 3
Notemos que como estamos trabajando en muestras k, eso
quiere decir que nuestro error representado por la variable e
significa lo siguiente:
▪ e(k) es el error en el instante actual, o tiempo de
muestreo actual (presente)
▪ e(k-1) es el error en un instante anterior, o en el
tiempo de muestreo anterior (pasado)
Por otro lado, es de vital importancia saber escoger
adecuadamente el periodo de muestreo Ts al momento de
querer implementar controladores digitales, para esta entrada
vamos a utilizar
Donde tr es el tiempo de levantamiento deseado en lazo
Fig. 6 Respuesta del sistema con controlador en tiempo
cerrado y deseamos tener entre 8 y12 muestras en una
continuo.
oscilación amortiguada. A partir de la Figura 6 se mide el
tiempo de levantamiento deseado, ver Figuras 8 y 9.
C. Discretización del Controlador
Inicialmente, vamos a ver su representación clásica en el
siguiente diagrama de bloques:
Fig. 7 Diagrama lazo de control en tiempo discreto.
Se puede observar en la literatura que la ley de control PID en
el caso continuo es representarse por la siguiente ecuación:
Fig. 8 Medición del tiempo de levantamiento deseado.
Sin embargo, en este caso como vamos a realizar la
implementación del control PID en Arduino, vamos a
representar la ecuación de la ley de control en su forma
discreta o digital, que represente el diagrama visto
anteriormente.
El control discreto PID se obtiene discretizando la ecuación Fig. 9 Medición del tiempo de levantamiento deseado.
continúa vista anteriormente aproximando el término integral
mediante la sumatoria trapezoidal y el término derivativo
mediante la diferencia de dos puntos así:
Por lo tanto, el tiempo de muestreo escogido es
Donde Ts se conoce como el tiempo de muestreo, que es el
tiempo a cada cuanto se va a ejecutar la ley de control discreta.
Control Multivariable Avanzado - septiembre 29 de 2021 4
El control discreto PID se obtiene discretizando la ecuación
continua (vista al comienzo de esta sección) de esa forma
obtener la función de transferencia pulso del controlador PID
digital:
Fig. 10 Lazo de control con PID.
Para simular el controlador discreto se utiliza el diagrama de
bloques de la Figura 11.
Con esto, la ley de control que vamos a ingresar a nuestro PIC
sale del control PID discreto en Arduino (despejando u(k)),
Aplicando transformada inversa Z obtenemos la ecuación en
diferencias:
Fig. 11 Lazo cerrado con controlador digital.
D. Implementación sobre el Microcontrolador
IV. RESULTADOS
En el IDE de Arduino se programan los valores de todas las
contantes que requiere el controlador, la ecuación más
importante será la ecuación en diferencias, la cual genera la La acción de control obtenida se muestra en la Figura 12, se
acción de control que excitará a la planta, el código se observa en la forma de la señal que es una señal digital.
encuentra en el Anexo 1.
Es necesario cerrar el lazo de control incluyendo el
controlador PID, ver Figura 10.
Fig. 10 Lazo de control con PID (HIL). Fig. 12 Acción de control.
E. Conexión Hardware in the Loop (HIL) La señal de error se muestra en la Figura 12, es evidente que el
Es necesario implementar la comunicación serial entre error cada vez es menor hasta llegar a cero.
Arduino y Simulink de manera bidireccional, para ello se
utiliza el diagrama de bloques de la Figura 11.
Control Multivariable Avanzado - septiembre 29 de 2021 5
Fig. 13 Señal de error.
La respuesta del sistema con controlador digital es:
Fig. 16 Respuesta con referencia en 4.66.
Fig. 14 Respuesta del sistema.
A. Variaciones del SetPoint
Haciendo uso del bloque Step configuramos distintos valores Fig. 17 Respuesta con referencia en 10.
para la señal de referencia.
Fig. 18 Respuesta con referencia en 0.5.
Fig. 15 Configuración del SetPoint.
Control Multivariable Avanzado - septiembre 29 de 2021 6
Fig. 19 Respuesta con referencia en 35. Fig. 22 Respuesta con carga mecánica 10 kg.
B. Variaciones en la Carga
Para simular una carga mecánica se utilizó una polea para
convertir el movimiento rotacional en movimiento
traslacional, y se coloca una masa traslacional, ver la Figura
20.
Fig. 23 Respuesta con carga mecánica 15 kg.
Fig. 20 Diagrama con carga mecánica.
Fig. 24 Respuesta con carga mecánica 20 kg.
Fig. 21 Respuesta con carga mecánica 1 kg.
C. Variaciones del Tiempo de Muestreo
Para un tiempo de muestreo 5 veces mayor al seleccionado
inicialmente, se tiene la respuesta de la Figura 25.
Control Multivariable Avanzado - septiembre 29 de 2021 7
que la carga es muy grande, 20 kg. Sin embargo, esto no es un
requerimiento de diseño y no desmerita la funcionalidad de
controlador digital.
La Figura 25 evidencia un aumento considerable en las
oscilaciones del sistema y en el tiempo de establecimiento, lo
cual no es deseable. Para diseños en los cual el sobrepaso
máximo sea un requerimiento, un período de muestreo muy
grande no permite el cumplimiento de un overshoot tolerable.
Con base en las Figuras 25 y 26, se llega a la conclusión de
que, para períodos de muestreo muy grandes, el sistema se
vuelve un sistema inestable.
Fig. 25 Respuesta con Ts=0.004*5 s.
Para un tiempo de muestreo 10 veces mayor al seleccionado REFERENCES
inicialmente, se tiene la respuesta de la Figura 26.
[1] C.-T. Chen, Analog and Digital Control Systems Design,
New York: Saunders College Publishing, 1993.
[2] B. C. Kuo, Sistemas automáticos de control, México:
Compañía Editorial Continental, 1991.
[3] K. Ogata, Ingeniería de Control Moderna, Madrid: Pearson
Prentice Hall, 2003.
Fig. 26 Respuesta con Ts=0.004*10 s.
V. CONCLUSIÓN
De la Figura 14 se nota que la respuesta del sistema es
sobreamortiguado, con oscilaciones pronunciadas. Al
comparar con la Figura 6, se evidencia que la respuesta con
controlador análogo es prácticamente la misma respuesta que
con controlador digital.
A partir de las Figuras 16 a 19, se concluye que el sistema con
controlador es capaz de seguir la señal referencia, es decir, el
sistema no presenta error de posición en estado estacionario.
También se observa que la forma de la señal y
comportamiento del sistema no cambia para los distintos
valores de referencia, es decir, no depende de la entrada.
Observando las Figuras 21 a 23, se puede concluir que, el
sistema con controlador sigue la referencia a pesar de tener
distintas cargas mecánicas, pero a medida que aumenta la
masa de la carga, el tiempo de establecimiento del sistema se
hace mayor y el número de oscilaciones y su magnitud es
mayor. En la Figura 24 el sistema llegó a la inestabilidad dado
Control Multivariable Avanzado - septiembre 29 de 2021 8
Anexo 1