0% encontró este documento útil (0 votos)
101 vistas8 páginas

Control PID Discreto en Arduino

Este documento describe el proceso de diseñar e implementar un controlador PID digital para controlar la velocidad de un motor DC. Se modeló el motor DC y el controlador PID en Simulink. Se sintonizó el controlador PID usando el método de Ziegler-Nichols para obtener oscilaciones sostenidas. Luego, los parámetros del controlador PID se calcularon según la tabla de Ziegler-Nichols. Finalmente, el controlador PID digital se implementó en un microcontrolador Arduino para controlar la velocidad del motor DC.

Cargado por

jsofiabeltran
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)
101 vistas8 páginas

Control PID Discreto en Arduino

Este documento describe el proceso de diseñar e implementar un controlador PID digital para controlar la velocidad de un motor DC. Se modeló el motor DC y el controlador PID en Simulink. Se sintonizó el controlador PID usando el método de Ziegler-Nichols para obtener oscilaciones sostenidas. Luego, los parámetros del controlador PID se calcularon según la tabla de Ziegler-Nichols. Finalmente, el controlador PID digital se implementó en un microcontrolador Arduino para controlar la velocidad del motor DC.

Cargado por

jsofiabeltran
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

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

También podría gustarte