ER4.2. Control PID discreto

Introducción (planteamiento)

Dado el siguiente modelo de una planta estable de segundo orden, diseñar, simular y analizar un control PID discreto por diversos métodos (heurísticos y asignación de polos) de manera que se elimine el error en estado estacionario y el sobreimpulso sea mínimo ante una referencia tipo escalón:

Gp(s)=3.2s2+2s+4

Método (plan de solución)

Los siguientes métodos se explican con detalle en el libro. Pasos: (i) obtener el período de muestreo; (ii) diseñar un control PID discreto por medio del método de la curva de reacción de Ziegler-Nichols; (iii) diseñar un control PID discreto por medio del método de sensibilidad de Ziegler-Nichols; (iv) diseñar un control PID discreto por medio del método Chien-Hrones-Reswick; (v) diseñar un control PID discreto con la herramienta pidTuner de MATLAB; (vi) realizar un análisis de sensibilidad e incertidumbre con la herramienta GSUA de MATLAB para determinar la robustez del controlador y los factores que más la afectan; (vii) diseñar un control PID discreto por asignación de polos; (viii) analizar los resultados. Las operaciones que se realizan a continuación se detallan en el código de MATLAB de este enlace.

Si se incluye un filtrado en la acción derivativa (), el PID discreto tiene la siguiente forma:

U(z)E(z)=Kp[1+Ts2Tiz+1z1+TdNf1+NfTszz1]

Resultados (solución)

La respuesta temporal a una entrada escalón (que se puede obtener experimentalmente en un problema real, sin necesidad del modelo) se muestra en la siguiente figura:

Respuesta temporal

Como el tiempo de crecimiento es de 0.82 seg, entonces un buen período de muestreo está entre 0.82/10 = 0.082 y 0.82/2 = 0.41 seg, siendo Ts=0.1 seg un valor adecuado.

La regulabilidad es S0=RL0.21, lo cual significa que el sistema es apenas regulable y se pueden tener problemas en el ajuste del controlador. 

Simulink cuenta con un bloque para la implementación de controladores PID de tiempo continuo y discreto en la forma ideal con la derivada filtrada, el cual se muestra a continuación, junto con la máscara del bloque, donde P=Kp,I=1/Ti,D=Td. Se incluye en el esquema de control una perturbación determinística en forma de un escalón (para determinar si elimina el error en estado estacionario) y una saturación de la acción de control (para analizar los efectos de la saturación del actuador).

Diagrama de control PID


Interfaz gráfica del PID de Simulink

La curva de reacción (respuesta temporal a una entrada escalón) de la planta es:

Respuesta temporal ampliada

Por el método de Ziegler-Nichols de la curva de reacción a partir del gráfico de arriba, donde se utilizan dos puntos sobre la recta, se obtiene lo siguiente: 

L=0.185+0.1/20.23R=0.86230.9

Por lo tanto, los parámetros del controlador PID por el método de Ziegler-Nichols de la curva de reacción son: P (4.4), PI (4, 0.75), PID (5.3, 0.5, 0.13). 

La respuesta temporal y la acción de control con el control PID es:

Variable controlada y de control PID

La respuesta temporal y la acción de control con el control P es:

Variable controlada y de control P


Por el método de Chien-Hrones-Reswick (Mp=0%) se tiene: P (1.3), PI (2.7,1), PID (4.2, 0.6, 0.1). Se omiten los resultados.

El método de sensibilidad de Ziegler-Nichols para el ajuste del controlador PID no es aplicable a un sistema continuo de segundo orden que no puede desestabilizarse en lazo cerrado y llevarse a una estabilidad marginal. Sin embargo, en el caso de un control discreto sí es posible desestabilizar el sistema. Por lo tanto, se toma el control PID discreto y se aumenta la ganancia Kp con Ti= y Td=0 hasta que el sistema se vuelve marginalmente estable, lo cual se logra con Ku12.9, tal y como se muestra en la siguiente figura (se quita la saturación del actuador): 

Respuesta temporal para el ajuste PID por sensibilidad

De la figura se obtiene que Tu0.96 (se invita al lector a obtener esos valores a partir del diagrama de Bode). De esta manera, los parámetros del controlador PID por el método de sensibilidad de Ziegler-Nichols son: P (6.5), PI (5.8, 0.8), PID (7.7, 0.5, 0.12). La respuesta temporal y la acción de control se muestran a continuación:

Variable controlada y de control PID por el método de sensibilidad

Con la herramienta pidTuner de MATLAB se obtienen los resultados de abajo, después de ajustar el tiempo de respuesta (se escogió la opción de respuesta más rápida para ajustarse a los resultados de arriba) y el comportamiento transitorio. Como se especifica en la ayuda de la herramienta, "El algoritmo elige una frecuencia de cruce (ancho de banda de bucle) en función de la dinámica de la planta y obtiene un diseño para un margen de fase objetivo de 60°. Cuando cambia de forma interactiva el tiempo de respuesta, el ancho de banda, la respuesta transitoria o el margen de fase mediante la interfaz del sintonizador PID, el algoritmo calcula nuevas ganancias PID". 

Ajuste del PID de Simulink

Resultado del ajuste:

Resultado de MATLAB 7

Forma del PID y resultados detallados del ajuste:

Detalles del PID

Detalles del PID 2

Resultados de la simulación con el controlador PID obtenido:

Respuesta temporal 4

Acción de control 4

El análisis de sensibilidad e incertidumbre se realiza con el último controlador, con los resultados que se muestran a continuación.

Diagrama de simulación del sistema de control 3

Características del método de sensibilidad e incertidumbre:

Condiciones del análisis de sensibilidad e incertidumbre

Gráfico de incertidumbre e índices de sensibilidad total:

Gráfico de incertidumbre

Gráfico de sensibilidad escalar

Para el diseño de controlador PID por asignación de polos es necesario considerar que la planta es de orden 2 y no puede reducirse a una de orden 1 (no hay polos reales). Se utiliza el mismo período de muestreo anterior de 0.1 seg. Se desea obtener la siguiente función de transferencia de segundo orden en lazo cerrado, la cual no tiene oscilaciones y el tiempo de establecimiento es de alrededor de 6 segundos (los ceros se introducen para evitar los ceros discretos de fase no mínima y poder así utilizar un controlador de adelanto):

Gm(s)=2.5(s+2)2(s+1)3(s+10)

Comportamiento deseado en lazo cerrado:

Respuesta temporal deseada en lazo cerrado

Discretización de la planta continua y el modelo deseado:


Resultado de MATLAB 8    Resultado de MATLAB 9

Controlador PID de cuatro parámetros:

Gc(z)=q0z2+q1z+q2(zr)(z1)=Q(z)P(z)

Ecuación diofántica:

A(z)P(z)+B(z)Q(z)=Am(z)

(z21.783z+0.8187)(zr)(z1)+(0.01494z+0.01397)(q0z2+q1z+q2)==(z0.9048)3(z0.3679)

Para la solución se utiliza el siguiente código de MATLAB de este enlace. 

Resultado de MATLAB 10

Resultado de MATLAB 11

Resultado de MATLAB 12

El controlador PID con derivada filtrada (observar que es de fase no mínima, por lo que no puede aplicarse el controlador de adelanto y solo se asignan los polos):

Gc(z)=0.9139z22.0617z+1.1666z21.313z+0.313=0.9139(z22.256z+1.277)(z0.3288)(z1)

El controlador de adelanto sería el siguiente (no aplica por ser inestable):

Gf(z)=Bm(z)Bnc(z)Qnc(z)=0.0095104(z+0.7432)(z0.8185)(z0.8189)(0.01494z+0.01397)0.9139(z22.256z+1.277)

Diagrama de simulación:

Diagrama de simulación del sistema de control 4

Resultados de la simulación:

Respuesta temporal

Acción de control

Otra opción es ubicar los polos directamente en tiempo discreto en z=pm:

(z21.783z+0.8187)(zr)(z1)+(0.01494z+0.01397)(q0z2+q1z+q2)=(z+pm)4

Para la solución se utiliza el siguiente código de MATLAB de este enlace.

Diagrama  de simulación:

 Diagrama de simulación del sistema de control


Función de transferencia del controlador

Resultados de la simulación, donde se observa que al ubicar los polos más cerca del origen se obtiene una respuesta más rápida con oscilaciones, pero con un mayor esfuerzo de control:

 Respuesta temporal y acción de control

Discusión y verificación

En este ejercicio se diseñó un controlador PID por varios métodos heurísticos, todos con resultados aceptables y similares para el controlador PID, el cual estabiliza el proceso en un tiempo adecuado de unos 5 segundos y sin error en estado estacionario. El método de Ziegler-Nichols es simple y suficiente en la mayoría de los casos. Dado que la planta es estable se puede aplicar el método de la curva de reacción y dado que el controlador es digital se puede aplicar el método de sensibilidad (en el caso discreto una planta estable de orden 2 sí puede desestabilizarse con un mal control). En todos los casos se observó una saturación de la acción de control si su valor máximo se satura en un valor de 2, lo cual es un problema que se debe abordar con técnicas antisaturación (ver el ejercicio resuelto 4.4).

También se utilizó la herramienta pidTuner de MATLAB con los mejores resultados, sobre todo con un menor esfuerzo de control, por lo que se seleccionó ese controlador como el mejor y con base en él se realizó el análisis de sensibilidad e incertidumbre. Siempre es importante tener en cuenta que los métodos de sintonización del PID dan una primera versión del controlador, a partir de la cual se deben hacer ajustes manuales hasta lograr un mejor desempeño; incluso, en muchos casos el ajuste heurístico no da buenos resultados.

El análisis de incertidumbre muestra que el sistema de control funciona adecuadamente para incertidumbres del modelo de la planta hasta de un 30%. El análisis de sensibilidad indica que el parámetro b1 se debe medir o estimar de manera más exacta para obtener un comportamiento más cercano al nominal en lazo cerrado.

El diseño del controlador PID por asignación de polos y ceros es un proceso que no es complicado, pero que puede tener ciertos problemas, como la obtención de un controlador de fase no mínima, con lo cual no es posible utilizar el controlador de adelanto (no se pueden cancelar los ceros de fase no mínima). Con dicha limitante, la respuesta temporal en lazo cerrado es más lenta que con los controladores heurísticos, aunque no presenta oscilaciones (la oscilación al inicio se debe a los ceros de fase no mínima). Sin embargo, el esfuerzo de control es menor, lo cual se debe a que la respuesta temporal es más lenta. 

Se pueden ubicar los polos en tiempo discreto, con lo cual se observa que entre más cerca del origen estén los polos deseados, mayor es el esfuerzo del control. Definir, por lo tanto, la función de transferencia deseada no es una tarea sencilla. En general, los métodos heurísticos de ajuste del controlador PID entregan resultados buenos con mucho menos esfuerzo matemático, lo cual hace tan popular dicho controlador.

Comentarios