integradores (skogestad s-imc) diseño de pid's por imc...

7
Diseño de PID's por IMC: modificación para plantas lentas/ integradores (Skogestad S-IMC) © 2019, Antonio Sala Piqueras, Universitat Politècnica de València. Todos los derechos reservados. *Este código ejecutó sin errores en Matlab R2019b Objetivos: comprender como transformar un regulador IMC para un proceso sencillo (primer o segundo orden con retardo pequeño) en una estructura tipo PID cuando hay polos lentos o integradores... que, básicamente, se resume en que hay que dejar de utilizar el paradigma IMC. Tabla de Contenidos Revisión teórica IMC-PID para procesos sencillos................................................................................................. 1 Modificación Skogestad-IMC, teoría ....................................................................................................................... 2 Justificación.......................................................................................................................................................... 2 Resumen.............................................................................................................................................................. 4 Ejemplo numérico IMC-PID versus S-IMC.............................................................................................................. 4 Apéndice: funciones auxiliares................................................................................................................................ 7 Modelo de la planta a utilizar en el ejemplo: s=tf('s'); tau1=1; k=8; theta=0.05; tildeG=k/(tau1*s+1); Gplus=exp(-theta*s); G=tildeG*Gplus G = 8 exp(-0.05*s) * ----- s + 1 Continuous-time transfer function. Revisión teórica IMC-PID para procesos sencillos Consideremos el proceso: , que podemos factorizar como , . Si selecionamos , el regulador IMC resultante sería: 1

Upload: others

Post on 09-Aug-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Diseño de PID's por IMC: modificación para plantas lentas/integradores (Skogestad S-IMC)© 2019, Antonio Sala Piqueras, Universitat Politècnica de València. Todos los derechos reservados.

*Este código ejecutó sin errores en Matlab R2019b

Objetivos: comprender como transformar un regulador IMC para un proceso sencillo (primer o segundo

orden con retardo pequeño) en una estructura tipo PID cuando hay polos lentos o integradores... que,

básicamente, se resume en que hay que dejar de utilizar el paradigma IMC.

Tabla de Contenidos

Revisión teórica IMC-PID para procesos sencillos................................................................................................. 1Modificación Skogestad-IMC, teoría .......................................................................................................................2

Justificación.......................................................................................................................................................... 2Resumen.............................................................................................................................................................. 4

Ejemplo numérico IMC-PID versus S-IMC.............................................................................................................. 4Apéndice: funciones auxiliares................................................................................................................................ 7

Modelo de la planta a utilizar en el ejemplo:

s=tf('s'); tau1=1; k=8; theta=0.05;tildeG=k/(tau1*s+1); Gplus=exp(-theta*s);G=tildeG*Gplus

G = 8 exp(-0.05*s) * ----- s + 1 Continuous-time transfer function.

Revisión teórica IMC-PID para procesos sencillos

Consideremos el proceso: , que podemos factorizar como ,

.

Si selecionamos , el regulador IMC resultante sería:

1

Page 2: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Aproximación del retardo: Para evitar estructuras tipo "predictor de Smith" y mantener la estructura PID, si θes suficientemente pequeño, a bajas frecuencias , con lo que , esto es:

que ya tiene una forma tipo PID serie , con , , , habiendo añadido

un filtro de ruido con suficientemente pequeño para no alterar la dinámica dominante, pero suficientemente

grande para evitar que el ruido de alta frecuencia se transmita al actuador.

Inconvenientes: El IMC no funciona del todo bien cuando se trata de acelerar "mucho" al proceso... ante

referencia GQ=M, pero ante perturbación de entrada (1-M)*G tiene los polos lentos de G, en general.

Modificación Skogestad-IMC, teoría S. Skogestad, en https://doi.org/10.1016/S0959-1524(02)00062-8 , propone usar IMC sólo para acelerar

hasta 4 veces, esto es usar (cancelando el polo ) sólamente si las especificaciones de control

verifican .

Bueno, realmente propone usar IMC hasta que , pero grosso modo dado que θ debe ser pequeño,

significa eso.

En caso contrario, si propone poner el cero de la acción integral en la cuarta parte de los polos

deseados:

JustificaciónSe justifica cambiando la metodología de IMC a otra basada en "lugar de las raíces" (asignación de polos).

Suponiendo , si los polos de bucle cerrado deseados son mucho más rápidos que ,

entonces el polo en puede aproximarse a un integrador... en efecto, a frecuencias ω mayores de , la

planta ; estamos suponiendo, en efecto, que eso ocurre cerca del "ancho de banda de bucle

cerrado objetivo ", si .

Ahora, un controlador PI dado por dará una función de lazo

, con una ecuación característica que, después de quitar denominadores será

.

2

Page 3: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Se puede comprobar entonces que:

ninguna función de bucle cerrado conserva el polo "lento" porque no se ha hecho cancelación.

En esencia, la propuesta ante procesos con integradores es "desintonizar" la respuesta ante referencia,

poniendo sus polos el doble de lentos de lo que diría, para a cambio acelerar la respuesta

ante perturbaciones a la entrada del proceso.

*El bucle cerrado real, sin la aproximación de sería: , que daría

lugar a la ecuación característica , con dos polos entre y .

tauc=tau1/5;L=tau1*(4*tauc*s+1)/4/tauc^2/s/(tau1*s+1);rlocus(L), xlim([-1/tauc-1 0])axis equalhold on, plot(-1/tauc,0,'rx');T=1/(1+L);p1=plot(real(eig(T)),imag(eig(T)),'g*'); hold offlegend(p1,'polos b.c.')text(-1/tau1-0.27,0.13,'-1/tau_1'), text(-1/tauc-0.27,-0.18,'-1/tau_c'), text(-0.25/tauc-0.33,-0.26,'-1/(4tau_c)')

3

Page 4: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Si , entonces tendria dos polos en , como se ha visto antes. En el otro extremo, si ,

quedaría el IMC/cancelación , .

Resumen

Con lo que la regla S-IMC es escoger de modo que:

a) En control "poco agresivo" o proceso rápido se sigue una estrategia IMC pura.

b) En control "agresivo" o proceso cuasi-integrador , se sigue estrategia de asignación de polos/

evitación de cancelación. Para el bucle cerrado tendría un polo cerca de y otro

cerca de , casi cancelado en la respuesta ante referencia... para el sistema tendría un

par de polos cerca de .

Ejemplo numérico IMC-PID versus S-IMCEspecificaciones de control:

tauc=tau1/10; %constante de tiempo deseada (retardo aparte, claro)t_est_objetivo= tauc*4+theta %si gastara IMC con retardo interno (pred. Smith)

t_est_objetivo = 0.4500

Diseño IMC-PID:

KIMC=(tau1*s+1)/(k*(tauc+theta)*s);zpk(KIMC)

ans = 0.83333 (s+1) ------------- s Continuous-time zero/pole/gain model.

Diseño S-IMC:

tauI=min(tau1,4*(tauc+theta));K_SIMC=tau1/k/(tauc+theta) * (tauI*s+1)/(tauI*s);zpk(K_SIMC)

ans = 0.83333 (s+1.667) ----------------- s

4

Page 5: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Continuous-time zero/pole/gain model.

Simulacion y comparativa:

[T1,GS1,KS1]=SimulaBucle(G,KIMC,[],"NoPlot");[T2,GS2,KS2]=SimulaBucle(G,K_SIMC,[],"NoPlot");polosdeseados_bc=1/tauc

polosdeseados_bc = 10

eig(pade(T1,2))

ans = 4×1 -83.2235 -31.0661 -12.3770 -1.0000

eig(pade(T2,2))

ans = 4×1 -82.9025 -32.4194 -10.4448 -1.8999

figurestep(T1,T2), grid on, legend('PID-IMC','S-IMC'), title('Step Ref->y')

step(KS1,KS2), grid on, legend('PID-IMC','S-IMC'), title('Step Ref->u')

5

Page 6: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

step(GS1,GS2), grid on, legend('PID-IMC','S-IMC'), title('Step du->y')

6

Page 7: integradores (Skogestad S-IMC) Diseño de PID's por IMC ...personales.upv.es/asala/DocenciaOnline/material/Matlab/...Aproximación del retardo: Para evitar estructuras tipo "predictor

Apéndice: funciones auxiliares

function [T,GS,KS]=SimulaBucle(G,K,Tiempo,sinplot) arguments G K Tiempo = [] sinplot = "" end T=feedback(G*K,1); GS=feedback(G,K); KS=feedback(K,G); if(sinplot == "NoPlot") return end subplot(1,3,1) step(T,Tiempo), grid on, title('Referencia->salida') subplot(1,3,2) step(KS,Tiempo), grid on, title('Referencia->control') subplot(1,3,3) step(GS,Tiempo), grid on, title('Perturb_u->salida')end

7