0% encontró este documento útil (0 votos)
332 vistas14 páginas

Control PID y Predictor de Smith en MATLAB

Este documento describe el desarrollo de un controlador PID para un sistema con retardo de tiempo de 0,5 segundos utilizando la aproximación de Padé y el Predictor de Smith. La aproximación de Padé permite expresar el retardo como una función de transferencia de segundo orden. El uso del Predictor de Smith elimina el término de retardo de la función de transferencia de lazo cerrado, permitiendo sintonizar el controlador PID. El documento muestra el modelado matemático y simulaciones en MATLAB/Simulink que demuestran la mejora en el comportamiento del sistema
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)
332 vistas14 páginas

Control PID y Predictor de Smith en MATLAB

Este documento describe el desarrollo de un controlador PID para un sistema con retardo de tiempo de 0,5 segundos utilizando la aproximación de Padé y el Predictor de Smith. La aproximación de Padé permite expresar el retardo como una función de transferencia de segundo orden. El uso del Predictor de Smith elimina el término de retardo de la función de transferencia de lazo cerrado, permitiendo sintonizar el controlador PID. El documento muestra el modelado matemático y simulaciones en MATLAB/Simulink que demuestran la mejora en el comportamiento del sistema
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

Ing.

C F Riquett

PREDICTOR DE SMITH

Objetivo: Desarrollar un ejercicio práctico donde se emplee la estrategia de mejora de lazo

de control con el Predictor de Smith con ayuda de MatLab y Simulink.

Planteamiento: Se debe diseñar un controlador PID para un sistema con retardo de tiempo

dominante que posee un tiempo de retardo de 0,5 s.

𝑡
Nota: se asume que 𝑇 > 1

Función de transferencia del sistema:

2𝑒 −0,5𝑠
𝐺𝑝 = (1)
𝑠3 +3𝑠2 +2𝑠+1

Solución:

 Para trabajar con sistemas que tienen retardo de transporte o tiempo muerto

significativo (sistemas dominantes), se puede hacer uso de la aproximación de Padé.

Padé aproxima retardos de tiempo para modelos LTI de tiempo continuo.

 De forma general, la aproximación de Padé puede expresarse con la siguiente

igualdad:

𝑇𝑠 ሺ𝑇𝑠ሻ2
1− 2 + 12 …
𝑒 −𝑇𝑠 = 𝑇𝑠 ሺ𝑇𝑠ሻ2
(2)
1+ 2 + 12 …

Si para el caso solo se consideran los tres primeros términos, se tendrá un modelo de

aproximación de segundo orden:

𝑇𝑠 ሺ𝑇𝑠ሻ2
1− +
12
𝑒 −𝑇𝑠 = 2
𝑇𝑠 ሺ𝑇𝑠ሻ2
(3)
1+ +
2 12

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Reemplazando T = 0,5 en la ecuación (3) y operando:

0,5𝑠 ሺ0,5𝑠ሻ2
1− +
2 12
0,5𝑠 ሺ0,5𝑠ሻ2
1+ +
2 12

Si multiplicamos toda la expresión por 48:

24𝑠 48ሺ0,5𝑠ሻ2
48 − +
2 12
24𝑠 48ሺ0,5𝑠ሻ2
48 + +
2 12

48 − 12𝑠 + 4ሺ0,5𝑠ሻ2
48 + 12𝑠 + 4ሺ0,5𝑠ሻ2

48 − 12𝑠 + 𝑠 2
48 + 12𝑠 + 𝑠 2

𝑠2 −12𝑠+48
(4)
𝑠2 +12𝑠+48

Haciendo uso de MatLab también se puede conocer el término de la aproximación. Usando

la función

pade(T, n)

donde T es el tiempo muerto y n es el orden del modelo de retardo.

Para nuestro caso, 𝑇 = 0,5 y 𝑛 = 2

www.linkedin.com/in/cfriquett
Ing. C F Riquett

%% Aproximación de Padé
clc
[num,den]=pade(0.5,2)
Gf = tf(num,den)

Gf =
s^2 - 12 s + 48
---------------
s^2 + 12 s + 48 cferrer

Obsérvese que es igual a la expresión (4)

Con lo que el sistema puede ahora escribirse como sigue:

2𝑒 −0,5𝑠 2 𝑠 2 − 12𝑠 + 48
𝐺𝑝 = 3 =
𝑠 + 3𝑠 2 + 2𝑠 + 1 𝑠 3 + 3𝑠 2 + 2𝑠 + 1 𝑠 2 + 12𝑠 + 48

Operando los bloques en serie, se obtiene la nueva función de transferencia que contempla

el retardo:

2ሺ𝑠2 − 12𝑠 + 48ሻ


ሺ𝑠 3 + 3𝑠 2 + 2𝑠 + 1ሻሺ𝑠2 + 12𝑠 + 48ሻ

Operando:

2𝑠 2 − 24𝑠 + 96
𝑠 5 + 12𝑠 4 + 48𝑠 3 + 3𝑠 4 + 36𝑠 3 + 144𝑠 2 + 2𝑠 3 + 24𝑠 2 + 96𝑠 + 𝑠2 + 12𝑠 + 48

Simplificando:

2𝑠2 −24𝑠+96
(5)
𝑠5 +15𝑠4 +86𝑠3 +169𝑠2 +108𝑠+48

www.linkedin.com/in/cfriquett
Ing. C F Riquett

En Matlab se pueden operar bloques en serie, como el caso que tenemos, con lo cual

% Sistema sin retardo


n=2;
d=[1 3 2 1];
sys1 = tf(n,d)
% Retardo de 0.5 segundos expresado mediante función de
segundo orden
[nr,dr]=pade(0.5,2);
sysr=tf(nr,dr)
% Sistema con retardo
sysd=series(sysr,sys1)

sys1 =

2
---------------------
s^3 + 3 s^2 + 2 s + 1

sysr =

s^2 - 12 s + 48
---------------
s^2 + 12 s + 48

sysd =

2 s^2 - 24 s + 96
--------------------------------------------
s^5 + 15 s^4 + 86 s^3 + 169 s^2 + 108 s + 48
cferrer

Obsérvese que es igual a la expresión (5)

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Ahora bien, si el sistema se realimenta con realimentación unitaria negativa, y se le aplica

una entrada escalón unitario, se observará el siguiente comportamiento:

% Sistema con retardo retroalimentado


syst= feedback(sysd,1)
% Respuesta al escalón unitario del sistema
retroalimentado con retardo
step(syst)
grid

Ilustración 1. Respuesta modelo con retardo con aproximación de Padé

Se aprecia que el sistema presenta un sobreimpulso cercano al 92%, un error en estado

estacionario de 0.3 (33%) aproximadamente y un tiempo de establecimiento que supera los

300 segundos.

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Si se construye el modelo inicial en SimuLink, se obtendrá la misma respuesta:

Ilustración 2. Modelo creado en SimuLink

Ilustración 3. Respuesta del sistema con retardo de T=0,5 en SimuLink

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Si el sistema no presentara tiempo muerto, la respuesta del sistema ante una entrada
escalón unitario sería

Ilustración 4. Respuesta del sistema sin retardo.

Si se halla la función de transferencia de lazo cerrado del sistema con retardo, se tendrá:

2𝑒 −0,5𝑠
𝑠 3 + 3𝑠 2 + 2𝑠 + 1
𝐺𝑙 =
2𝑒 −0,5𝑠
1+ 3
𝑠 + 3𝑠 2 + 2𝑠 + 1
Operando:

2𝑒 −0,5𝑠
𝑠 3 + 3𝑠 2 + 2𝑠 + 1
𝐺𝑙 = 3
𝑠 + 3𝑠 2 + 2𝑠 + 1 + 2𝑒 −0,5𝑠
𝑠 3 + 3𝑠 2 + 2𝑠 + 1

www.linkedin.com/in/cfriquett
Ing. C F Riquett

2𝑒 −0,5𝑠
𝑠 3 + 3𝑠 2 + 2𝑠 + 1
𝐺𝑙 = 3
𝑠 + 3𝑠 2 + 2𝑠 + 1 + 2𝑒 −0,5𝑠
𝑠 3 + 3𝑠 2 + 2𝑠 + 1
2𝑒 −0,5𝑠 ሺ𝑠 3 + 3𝑠 2 + 2𝑠 + 1ሻ
𝐺𝑙 = 3
𝑠 + 3𝑠 2 + 2𝑠 + 1ሺ𝑠 3 + 3𝑠 2 + 2𝑠 + 1 + 2𝑒 −0,5𝑠 ሻ
2𝑒 −0,5𝑠
𝐺𝑙 = 3
𝑠 + 3𝑠 2 + 2𝑠 + 1 + 2𝑒 −0,5𝑠

Se observa que la expresión 2𝑒 −0,5𝑠 hace parte de la ecuación característica del sistema y
ello generará problemas al momento de aplicar el control PID. Lo que se buscará será
eliminar esa expresión de la ecuación característica y para ello, se hará uso del Predictor de
Smith.

El control con Predictor de Smith presenta la siguiente arquitectura:

Ilustración 5 Predictor de Smith

Para este caso, se considera D = 0

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Método para sintonizar el controlador PID para el control del sistema con
retardo de tiempo utilizando el Predictor de Smith.
Primero, hallamos el lugar geométrico de las raíces del sistema:

%% LGR
rlocus(sys1)

Ilustración 6. Lugar geométrido de las raíces del sistema

Del lugar geométrico de las raíces se puede apreciar que existe un valor de 𝐾𝑐𝑟 para el cual
el sistema se hace críticamente estable (oscilación sostenida).

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Del lugar geométrico de raíces podemos determinar dos variables importantes:

- La ganancia crítica del sistema ሺ𝑘𝑐𝑟ሻ = 2,74


- La velocidad angular ሺ𝑤ሻ = 1,46

Ilustración 7. Ganancia crítica del sistema

Con estos datos podemos aplicar las siguientes ecuaciones:

𝐾𝑝 = 0,6𝐾𝑐𝑟
2𝜋
𝑇𝑖 = 0,5
𝑤
2𝜋
𝑇𝑑 = 0,125
𝑤
Lo que resulta en las constantes de los modos de control P, I y D:

𝐾𝑝 = 0,6ሺ2,74ሻ = 1,644
2𝜋
𝑇𝑖 = 0,5 = 2,1517
1,46
2𝜋
𝑇𝑑 = 0,125 = 0,5379
1,46

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Podemos determinar estas constantes en MatLab y la estructura del controlador PID

%% Constantes del controlador


Kcr = 2.74;
w = 1.46;
Kp=0.6*Kcr
Ti=0.5*(2*pi/w)
Td=0.125*(2*pi/w)

%% Estructura del PID


npid= [Kp*Td Kp Kp/Ti]
dpid=[1 0]
syspid=tf(npid,dpid)

Kp = 1.6440

Ti = 2.1518

Td = 0.5379

npid = 0.8844 1.6440 0.7640

dpid = 1 0

syspid =

0.8844 s^2 + 1.644 s + 0.764


----------------------------
s
cferrer

Ahora, para realizar la simulación en SimuLink, es necesario convertir los datos del
controlador con las siguientes expresiones que corresponden a un PID en forma paralela:

𝑃 = 𝐾𝑝

𝐼 = 𝐾𝑝 /𝑇𝑖

𝐷 = 𝐾𝑝 𝑇𝑑

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Con lo que resulta:

𝑃 = 𝐾𝑝 = 1,6440

𝐾𝑝 1.6440
𝐼= = = 0,7640
𝑇𝑖 2.1518

𝐷 = 𝐾𝑝 𝑇𝑑 = 1.6440ሺ0,5379ሻ = 0,8843

Se construye y simula la respuesta del sistema en SimuLink:

Ilustración 8. Sistema con el controlador PID

Ilustración 9. Respuesta del sistema con el controlador PID

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Se observa que, al intentar controlar el sistema, este se vuelve inestable. Por tanto, será
necesario incluir el Predictor de Smith en la arquitectura del sistema:

Ilustración 10. Predictor de Smith

Ilustración 11. Respuesta del sistema con Predictor de Smith

www.linkedin.com/in/cfriquett
Ing. C F Riquett

Se observa que el error de estado estable fue eliminado.

Para variaciones en la entrada, el sistema se comporta de manera óptima: El controlador


fue optimizado con la función PID Tuner.

Ilustración 12. Variaciones en la entrada del sistema.

¡Hola! Gracias por leer y compartir este material. Espero te sea


de mucha ayuda para entender este fascinante mundo del
control automático y los sistemas de control.

Puedes seguir revisando y compartiendo mi material en mi perfil


de LinkedIn https://www.linkedin.com/in/cfriquett y en
YouTube @carlosmauroferrerriquett529

Un gusto servirte.

Ing. Carlos Ferrer Riquett.

www.linkedin.com/in/cfriquett

También podría gustarte