ajuste de pids - materias.fi.uba.ar
TRANSCRIPT
03 Reguladores Clásicos.doc 1
1. Ajuste de PIDs 1. AJUSTE DE PIDS ........................................................................................................1
1.1. PORQUÉ REALIMENTAMOS........................................................................................2
1.1.1. Estructura estándar de un PID .........................................................................5
1.1.2. Efecto Antireset Windup up.............................................................................22
1.1.3. Efecto Bumpless...............................................................................................24
1.2. AJUSTES CLÁSICOS DE PIDS ...................................................................................28
1.2.1. Ajuste Empírico Manual..................................................................................29
1.2.2. Método de Ziegler-Nichols (1942).................................................................30
1.2.3. Relación entre ambos métodos: ......................................................................35
1.2.4. Método de Asignación de Polos......................................................................38
1.3. CONTROL CON MODELO INTERNO (IMC) ...............................................................43
1.3.1. Paradigma de diseño para IMC......................................................................49
1.3.2. Diseño de F......................................................................................................51
1.3.3. Realización del Controlador IMC...................................................................55
1.3.4. Diseño de PI-IMC para Plantas de Primer Orden.........................................57
1.4. AJUSTE ITERATIVO EN LAZO CERRADO (IFT) ........................................................62
03 Reguladores Clásicos.doc 2
1.1. Porqué Realimentamos
u
Rr G
y
v
e
u
Rr G
y
v
e
G
G
+
−
+
+
+
+
+−
03 Reguladores Clásicos.doc 3
u
Rr G
y
v
e
GG
+
−
+
+
+−
+
u
R′r
G
y
03 Reguladores Clásicos.doc 4
- Acciones más comunes de control Control de dos posiciones Control proporcional Control Integral Control Derivativo
03 Reguladores Clásicos.doc 5
1.1.1. Estructura estándar de un PID
- Ideal (de libro)
uipKr
y
e+
−
+
++
iiK
idK
( )e t dt∫
( )de tdt
i i ip i d
deu K e K edt Kdt
= + + ∫ [1.1]
ipK : Ganancia proporcional [unidades de salida / unidades de entrada].
100ipK Banda proporcional
iiK : Ganancia integral (reset) [repeticiones/seg] idK | : Ganancia derivativa (rate) [segundos]
03 Reguladores Clásicos.doc 6
- Banda Proporcional
[ ]max %u
[ ]min %u
[ ]min %e [ ]max %e
pK
100
p
BPK
=
03 Reguladores Clásicos.doc 7
-
- Ganancia Integral – Tiempo Integral – Reset Time – Repeticiones
i1
ii
TK
=
pK
i2T i3T 1 minuto
03 Reguladores Clásicos.doc 8
- Modelo Paralelo (sin interacción)
u
ppK
r
y
e+
−
+
++
piK
pdK
edt∫
dedt
p p pp i d
deu K e K edt Kdt
= + +∫ [1.2]
Ojo con las unidades!
- PID con acción velocidad o incremento ude
dtr
y
e+
−PID edt∫
03 Reguladores Clásicos.doc 9
- Acción Directa o Inversa u
r
y
e+
−PID
ur
y
e
+−
PID
- Variantes
ur
y
e+
−PID
ur
y
e+
−
+
+PI
D
ur
y
e+
−
+
+I
PD
03 Reguladores Clásicos.doc 10
- Función de Transferencia del PID
i i ip i d
deu K e K edt Kdt
= + + ∫ [1.3]
( ) ( ) ( ) ( )1i i ip i dU s K E s K E s K sE s
s = + +
[1.4]
( )( )
11i i ip i d
U sK K K s
E s s = + +
[1.5]
( )( )
( )2i i ip i dK K s K sU s
E s s
+ += [1.6]
03 Reguladores Clásicos.doc 11
- Discretización La mayoría de los controladores son digitales.
( )10
kd
k p k j k kji
TT = k e e e e u T T −=
+ + −
∑ (1.7)
( )k-1
k-1 k-2j dk-1 p k-1 ij=0
= + e eu k e k e k + -
∑ (1.8)
( ) ( )k k-1 p i d k d k-1 d k-2 - = 1 + + - 1 + 2 + u u k k k e k e k e (1.9)
Como Función de Transferencia, resulta 1 2
0 1 211
k
k
b b z b zue z
− −
−
+ +=
− (1.10)
con
( )( )
0
1
2
p i d
p d
p d
b 1 + + k k kb 1 + 2 k kb = k k
=
= − (1.11)
03 Reguladores Clásicos.doc 12
- Acción Proporcional Acción más intuitiva Para error cero se tiene actuación cero. Necesariamente tiene error en el control Alta ganancia, bajo sesgo o error No introduce desplazamientos de fase (se verá más adelante) Ejemplo sea un sistema de primer orden
AY(s) = U(s)1 + sT
(1.12)
Si se lo realimenta con un regulador P resulta
pp
p
p
p
K AK A1 + K A1 + sY(s) = R(s) = R(s)K A 1 + s1 + 1 + K A1 + s
ττ
τ
(1.13)
La constante de tiempo en lazo abierto es τ y en lazo cerrado es 1 pK Aτ
+
03 Reguladores Clásicos.doc 13
Al aumentar K el sistema se hace más rápido.
La ganancia en lazo abierto es A y en lazo cerrado 1p
p
K AK A+
A medida que pK aumenta, la ganancia tiende a uno, objetivo buscado en el control.
Solo con pK = ∞ llegaríamos a ganancia uno
El error permanente es 11 p
r yK A
ε = − =+
03 Reguladores Clásicos.doc 14
Ejemplo:
ur
y
e+
− +
+pK
BIAS
TanqueL
,e eV Q
sQ
z
03 Reguladores Clásicos.doc 15
Caso 1: 50% 50% 50% 50%eV r y BIAS= = = = [1.14]
entonces 0 0 50% e se z u BIAS V V= = = = = [1.15]
e sQ Q y r= = [1.16]
Caso 2: 60%eV = [1.17]
y e z u↑ ↑ ↑ ↑ [1.18]
se debe lograr que e sQ Q= o sea
60%eu V= = [1.19]
03 Reguladores Clásicos.doc 16
En este caso no se logra y r= porque,
60%10%
10 0
e
p p
u Vz u BIAS
zeK K
= == − =
= = ≠
[1.20]
10% 50%p
y e rK
= + = + [1.21]
Para 1 60% 10%pK y d= = = [1.22]
10 51% 1%pK y d= = = [1.23]
03 Reguladores Clásicos.doc 17
El desplazamiento es proporcional a 11pK +
El BIAS se ajusta para compensar el desplazamiento promedio. Se hace BIAS = actuación promedio En muchos casos se fija BIAS = 50% BIAS se puede usar para rechazar una perturbación promedio Notar que la acción de control es proporcional y negativa con respecto al error
03 Reguladores Clásicos.doc 18
- Acción Proporcional + Integral Recupera el desplazamiento
zy
tiempo
%
r
Lazo Abierto
La acción integral aumenta el tiempo de respuesta del sistema Lo inestabiliza Introduce un retardo en la fase (es malo)
03 Reguladores Clásicos.doc 19
- Acción Proporcional + Derivativa
zy
tiempo
%
r
Lazo Abierto
z
y
tiempo
%
r
Lazo Abierto
Aumenta la velocidad de respuesta del sistema No corrige desplazamientos permanentes Introduce avance de fase (bueno). Puede corregir el retardo del I Es anticipativo Altas acciones de control. Bueno para sensores lentos Alta ganancia a altas frecuencias. Amplifica ruido Malo para plantas de no mínima fase (péndulo invertido)
03 Reguladores Clásicos.doc 20
frecuencia
t∂∂
Derivador Ideal
Solo se necesita la acción derivativa hasta cierta frecuencia Se utiliza un pasa bajos para anular la acción a altas frecuencias
fdedt
udK
e pasabajos
03 Reguladores Clásicos.doc 21
frecuencia
t∂∂
Derivador Ideal
pasa bajos
efecto totalcf
[ ]1 12cf Hzπ γ
= [1.24]
en muchos controladores comerciales (SPEC-200, Bailey FC-156) existe este ajuste
0,1 0,2 dKγ = [1.25]
03 Reguladores Clásicos.doc 22
1.1.2. Efecto Antireset Windup up
u
KTds-y
es
u
K
K/Ti 1/s
Actuador
1
iT
-
+
+
+
e v
+
+
+
u
KTds-y
es
u
K
K/Ti 1/s
1
iT
-
+
+
+
e v
+
+
+
ActuadorModelo
03 Reguladores Clásicos.doc 23
- Otra forma de implementarlo
11 1
i
sK
+
pK
Cuando no hay saturación
( ) 1 ip
KU s K
s = +
03 Reguladores Clásicos.doc 24
1.1.3. Efecto Bumpless
Manual
u
PDy
es1
rT
-
+
e
+
r
Actuaciónmanual
1
rT1s
1s
1
rT
1
mT
Auto
-
03 Reguladores Clásicos.doc 25
- Otra forma de implementarlo
manual
mu
e
automático
auintegral
referencia
y
Sea un PI
iPI p
KC K
s= +
en forma digital,
03 Reguladores Clásicos.doc 26
1k k i k
ak p k k
I I TK eu K e I+ = +
= +
Al pasar de manual a automático, la Integral estará en cualquier valor. Es deseable que la acción de control en el instante de conmutación mantenga
el valor que tenía en manual.
/a m a manu u=
esto se logra haciendo
/ /m a man p m aI u K e= −
manual
mu
e
automático
auintegral
referencia
y
03 Reguladores Clásicos.doc 27
03 Reguladores Clásicos.doc 28
1.2. Ajustes Clásicos de PIDs No es magia Los parámetros dependen del proceso Existe una teoría para el ajuste óptimo (se verá más adelante) Existen ajustes empíricos Se requiere una perturbación a la planta
03 Reguladores Clásicos.doc 29
1.2.1. Ajuste Empírico Manual Ajustar primero la respuesta transitoria sin importar el error estacionario. Solo usar P y obtener la mejor respuesta que se pueda obtener (ejemplo control
de caudal) Agregar D e intentar mejorarlo Verificar el error estacionario y eventualmente introducir I sin que afecte el tran-
sitorio Si tiene retardos bajar la derivativa y aumentar integral (no mucho porque osci-
la) Ojo con los autotuners
03 Reguladores Clásicos.doc 30
1.2.2. Método de Ziegler-Nichols (1942) Objetivo: reducir el sobrepico a un cuarto
1s 2s
1
2
4ss=
- Método de Respuesta en frecuencia Es más seguro porque el lazo permanece cerrado incluye todas las no linealidades funciona en dos direcciones
03 Reguladores Clásicos.doc 31
Procedimiento: Se utiliza un controlador solo P Se cambia la referencia y se observa la respuesta Se incrementa la ganancia proporcional hasta que se obtiene una oscilación Si la oscilación crece, disminuir la ganancia o aumentarla si decrece. Cuando la oscilación es sostenida, se registra la ganancia del controlador cK ,
se la denomina ganancia crítica Se mide también el período de la oscilación cT
Se calculan los parámetros de acuerdo a la tabla pK iK dK
P 0,5 cK
PI 0,45 cK 1,2cT
PID 0,6 cK 2cT
8cT
03 Reguladores Clásicos.doc 32
Zieglers y Nichols utilizaron un PID serie neumático (Taylor Fullscope con 0,2 dKγ = )
- Método de Respuesta al Escalón Rápido, solo un escalón da idea de la respuesta de la planta
L
Y
u
T
X
L
u
a
X
YK X= , LYaTX
=
03 Reguladores Clásicos.doc 33
Se calculan los parámetros de acuerdo a la tabla pK iK dK
P 1 TYa LX=
PI 0,9 0,9TYa LX
=1
3L
PID 1,2 1,2TXa LY
=1
2L
2L
¡Ojo con las unidades! ¡Ojo con la forma del PID!
03 Reguladores Clásicos.doc 34
- Método del Relé. Åström – Hägglund (Heladera) Mejora al método de Z-N de respuesta en frecuencia el Z-N introduce grandes oscilaciones
se aproxima entrada y salida a dos senoides y la ganancia crítica de Z-N sería
42cK
A∆
≈ [1.26]
donde ∆ es la amplitud del relé y A la amplitud de la salida Con esto se aplica Z-N
uipKr
y
e+
−Planta
u
y
03 Reguladores Clásicos.doc 35
1.2.3. Relación entre ambos métodos: El método en lazo abierto también es válido para sistemas inestables siempre que la respuesta inicial tenga la forma de la figura. En particular se puede considerar el integrador con retardo siguiente
-sTbG(s) = es (1.27)
que tendrá una respuesta al escalón de la que se obtendrá: L T a bT= = (1.28)
de acuerdo a la segunda tabla el regulador PID será
i d1.2 TK = = 2T = T TbT 2
(1.29)
Si se ensaya de acuerdo al método de respuesta en frecuencia se obtendrá un período de oscilación y una ganancia,
c c = 4T = t k 2bTπ
(1.30)
De acuerdo a esto, el regulador PID será:
i d0.6 0.94 TK = = 2T = T T2bT bT 2
π≈ (1.31)
03 Reguladores Clásicos.doc 36
- Interpretación
( )
cdr c c c c c
ic c c
c
1 2 2t(i ) = 0.6 1 + j - = 0.6 1 + j 0.12 - G k k tT 2t tT = 0.6 + 0.26 j k
πω ω
πω
(1.32)
es un avance de 23
- Generalización sea la función de transferencia en lazo abierto
pj( + )pp(j ) = G er π φω (1.33)
queremos ubicar esta respuesta a una determinada frecuencia en un punto sj( + )
sB = er π φ (1.34)
mediante un regulador rj
rr(j ) = G er φω (1.35)
Podríamos hacer el diseño por el método de márgen de amplitud es decir que para Φs= 0 la amplitud sea rs= 1 / Am siendo ésta un márgen de amplitud dado. Por lo tanto se debe cumplir:
s p rj( + ) j( + + )s p r = e er r rπ πφ φ φ
(1.36)
03 Reguladores Clásicos.doc 37
entonces el regulador será:
sr
p
r s p
r = rr
= - φ φ φ
(1.37)
la ganancia proporcional es la parte real del regulador coss s p
pp
( - )r = kr
φ φ (1.38)
el ángulo estará dado por
tand s pi
1 - = ( - )T Tω φ φ
ω (1.39)
03 Reguladores Clásicos.doc 38
1.2.4. Método de Asignación de Polos. sistema de primer orden
pp
1
k = G 1 + s T (1.40)
regulador PI
ri
1 = K 1 + GsT
(1.41)
resultando un sistema de segundo orden en lazo cerrado
p rc
p r
G G = G 1 + G G (1.42)
la ecuación característica será
p p2
1 1 1 i
K K1 k k + s + + = 0s T T T T
(1.43)
y nuestra condición de diseño dice
03 Reguladores Clásicos.doc 39
2 2 + 2 s + = 0s ξ ω ω (1.44)
el regulador PI resulta
1
p
1i 2
1
2 - 1TK = k
2 - 1T = T T
ξ ω
ξ ωω
(1.45)
se puede hacer algo parecido para un sistema de 2do órden
03 Reguladores Clásicos.doc 40
- Caso Discreto del Método de Asignación de Polos. sistema de segundo orden
21 2
1 2
A(z) = + z + a azB(z) = z + b b
(1.46)
regulador PI
r
1
S(z)(z) = H R(z)R(z) = ( z - 1 ) (z)R
(1.47)
una forma genérica sería 2
0 1 2
1
S(z) = + z + s s szR(z) = ( z - 1 ) ( z + )r
(1.48)
la ecuación característica será 2
11 2
21 2 0 1 2
( + z + )( z - 1 )( z + ) +a az r ( z + )( + z + ) = 0b b s s sz
(1.49)
03 Reguladores Clásicos.doc 41
que es de cuarto orden. Se podría especificar un denominador como,
2- h 21 2P(z) = ( z - ( + z + )) p pe zαω
(1.50)
donde
cos 2- h1
-2 h2
= - 2 ( h 1 - )p e = p e
ξω
ξω
ω ξ (1.51)
Ejemplo:
p1(s) = G ( 1 + s )( 1 + 0.26 s )
(1.52)
si el período de muestreo es h = 0.1 seg.
p 2
0.0164 z + 0.0140(z) = H - 1.583 z + 0.616z (1.53)
condición de diseño:
= 0.5 = 4 = 1ξ ω α (1.54)
03 Reguladores Clásicos.doc 42
P será 2 2P(z) = ( z - 0.670 ( - 1.54 z + 0.670 )) z (1.55)
reemplazando
1
0
1
2
= - 0.407r = 6.74s
= - 9.89s = 3.61s
(1.56)
03 Reguladores Clásicos.doc 43
1.3. Control con Modelo Interno (IMC) Se puede plantear el siguiente esquema
u
Qr G
y
od
e
G
+
−
+
+
+−
la salida es
( ) ( )ˆ1
ˆ ˆ1 1 oQG QGy r d
Q G G Q G G−
= ++ − + −
[1.57]
si el modelo es perfecto,
( )ˆ1 oy QGr QG d= + − [1.58]
03 Reguladores Clásicos.doc 44
el IMC se puede mostrar como
u
Qr G
y
od
e
G
+
−
+
+
+−
u
Qr G
y
od
e
G
+
−
+
+++
C
03 Reguladores Clásicos.doc 45
u
ˆ1QCQG
=−
r G
y
od
e+
−
+
+
El control es diseñado en base al modelo de la planta
( )ˆC C G= [1.59]"
03 Reguladores Clásicos.doc 46
Es muy intuitivo
u
Qr G
y
od
e
G
+
−
+
+
+−
está relacionado con el concepto de predictor de Smith
03 Reguladores Clásicos.doc 47
Si la planta es estable, ¿cómo elegir Q?
¿Si probamos con 1ˆQ G−= ?
( )ˆ1 oy QGr QG d= + − [1.60]
( )1 1ˆ ˆ ˆ1 oy G Gr G G d− −= + − [1.61]
ˆ1ˆ ˆ o
G Gy r dG G
= + −
[1.62]
1ˆG y rG≈ ⇒ ≈ [1.63]
con 1ˆQ G−= se obtiene el control perfecto
03 Reguladores Clásicos.doc 48
Problemas: (a) nunca el modelo es perfecto (b) los actuadores se saturan (c) un retardo no se puede invertir en forma exacta (d) problemas matemáticos de inversión (e) problemas con plantas inestables
03 Reguladores Clásicos.doc 49
1.3.1. Paradigma de diseño para IMC Se elige
ˆinvQ FG= [1.64]
siendo ˆinvG una aproximación estable de la inversa de G
y F una condición de diseño (filtro) para lograr determinadas propiedades en lazo cerrado.
ˆinvG intenta resolver el problema (c) y F los problemas (a), (b) y (d)
Si se toma esta condición de diseño se obtiene
( ) ( )ˆ1
ˆ ˆ1 1 oQG QGy r d
Q G G Q G G−
= ++ − + −
[1.65]
( ) ( )ˆ ˆ ˆ1
ˆ ˆ ˆ ˆ1 1inv inv
oinv inv
FG G FG Gy r dFG G G FG G G
−= +
+ − + − [1.66]
suponiendo que ˆ ˆ ˆ 1inv invG G G G≈ ≈ [1.67]
03 Reguladores Clásicos.doc 50
resulta
( )1 oy Fr F d≈ + − [1.68]
recordar que elegimos ˆinvG como una aproximación estable de la inversa de G
si G tiene inversa estable y no tiene retardos se puede elegir 1ˆ ˆinvG G−=
si no es el caso se hace una separación
( ) ( )( )
( ) ( )( )
ˆ ˆ ˆˆ
ˆ ˆe iB s B s B s
G sA s A s
= = [1.69]
( )ˆeB s contiene los ceros estables y
( )ˆiB s contiene los ceros inestables o de no mínima fase
se elige
( ) ( )( ) ( )( )
0
ˆˆ
ˆ ˆinv
e is
A sG s
B s B s=
= [1.70]
se considera la ganancia estática de ( )ˆiB s
no se puede hacer esto con el retardo (se verá luego)
03 Reguladores Clásicos.doc 51
1.3.2. Diseño de F ( )1 oy Fr F d≈ + − [1.71]
F es la respuesta deseada del sistema. Para seguimiento de referencias:
- F rápida => respuesta rápida - F lenta => respuesta lenta
Para rechazo de perturbaciones: - F rápida => buen rechazo de perturbaciones - F lenta => rechazo pobre
03 Reguladores Clásicos.doc 52
Generalmente F se elige de la forma
( )1
1 pFsβ
=+
[1.72]
se agrega el exponente p de modo de que ˆinvQ FG= sea bipropia o tenga igual
número de polos y ceros. Por ejemplo
( ) 1ˆ2 1
G ss
=+
, 1
1F
sβ=
+,
2 1ˆ1inv
sQ FGsβ+
= =+
[1.73]
( ) 2
5ˆ2 1
sG ss s
−=
+ +, ( )
2 2 1ˆ5inv
s sG s + +=
−,
( )21
1F
sβ=
+,
( )
2
22 1ˆ
5 1inv
s sQ FGsβ
+ += =
− + [1.74]
03 Reguladores Clásicos.doc 53
β pequeño => F rápido
β grande => F lenta
Una F lenta reduce los efectos negativos de - incertidumbre en el modelo - limitaciones de los actuadores - ruido de medición
β se convierte en un potenciómetro de diseño
Una elección más sofisticada de F lleva a un diseño más complejo.
03 Reguladores Clásicos.doc 54
step(tf(1,[.1 1]),tf(1,[1 1]),tf(1,[2 1]))
Time (sec.)
Am
plitu
de
Step Response
0 2 4 6 8 10 120
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1From: U(1)
To: Y
(1)
03 Reguladores Clásicos.doc 55
1.3.3. Realización del Controlador IMC en la forma IMC
u
Qr G
y
od
e
G
+
−
+
+
+−
en la forma "PID" clásica
u
PIDCr G
y
od
e+
−
+
+
03 Reguladores Clásicos.doc 56
de donde se deduce que
ˆ1PIDQCQG
=−
[1.75]
Con el diseño IMC se puede lograr un comportamiento PID si - se controla con un PI un modelo de primer orden - se controla con un PID un modelo de segundo orden - se controla con un PID un modelo de primer orden con retardo
Ventajas del diseño de un PID vía IMC: - fácil obtener el modelo de los datos de planta (resp. escalón) - se explicita la forma de la respuesta en lazo cerrado eligiendo F o β
- se calculan las constantes del controlador (P, I y D) con fórmulas apropia-das.
03 Reguladores Clásicos.doc 57
1.3.4. Diseño de PI-IMC para Plantas de Primer Orden Modelo de la planta
ˆˆˆ 1
KGsτ
=+
[1.76]
el tiempo de crecimiento está relacionado con la constante de tiempo ˆ ˆ2,2rT τ≈ [1.77]
ˆ 1ˆˆinv
sGK
τ += ,
11
Fsβ
=+
[1.78]
ˆinvQ FG= [1.79]
el controlador según IMC es ˆ ˆ 1 1 1
ˆ ˆ ˆ ˆ ˆ1 1inv
inv
FGQ sCsK sQG FG G G
τββ
+= = = =
− − [1.80]
en el caso de un PI paralelo p
p iPI p
KC C Ks
= = + [1.81]
eligiendo
03 Reguladores Clásicos.doc 58
ˆˆ
ppK
Kτβ
= ,1ˆ
piK
Kβ= [1.82]
dado β , τ y K tenemos una forma sistemática de ajustar el controlador. ˆ ˆ1 1
ˆ ˆ ˆPIsC
K K s K sτ τβ β β
+= + = [1.83]
Resumen:
- encontrar τ y K - elegir el controlador PI y β
Recordar que con β pequeños se obtiene
- rápidos seguimientos de referencias - menor robustez a errores de modelo - mayor sensibilidad a errores de modelado en alta frecuencia - actuaciones más importantes - más sensible a saturaciones de los actuadores - mejor rechazo a perturbaciones - mayor sensibilidad al ruido de medición
03 Reguladores Clásicos.doc 59
- mayor efecto de los ceros inestables - mayor efecto del retardo
% Control PI IMC Sistema de Primer Orden % Sistema continuo Kh = 10; tauh = 1; d=poly([-1/tauh]); sis = tf( Kh,d); %Sistema en variables de estado Pss = ss(sis); % y su respuesta al escalón ... precision= .01; t = 0:precision:5; u = ones(size(t)); y = lsim(sis,u,t); figure(1) plot([y]); % período de muestreo T=.1; % PI discreto beta =5; kp = tauh/beta/Kh; ki = 1/beta/Kh; kd = 0; beta =.2; kp = tauh/beta/Kh; ki = 1/beta/Kh;
03 Reguladores Clásicos.doc 60
kd = 0; % se usa la aproximación de Euler s=(q-1)/T %ud(i)=ud(i-1)+A*error(i)+B*error(i-1) A = kp; B = ki*T-kp Tfin = 5; t = 0:precision:T; ref = 1; y = zeros(size(t)); ly = length(t); x0= zeros(1,1); [xx yx]= size(x0); yy = 0; uu = 0; ttt=0; yd=zeros(Tfin/T,1); ud=zeros(Tfin/T,1); error=zeros(Tfin/T,1); for i = 3:Tfin/T % muestreo de la salida yd(i) = y(length(y)); % Regulador error(i)= ref-yd(i); ud(i)=ud(i-1)+A*error(i)+B*error(i-1); % bloqueador de orden cero ub = ud(i) * ones(size(t)); % Sistema [y, tt, x0] = lsim(Pss,ub,t,x0(length(x0),:)); % se guardan los valores de entrada y salida
03 Reguladores Clásicos.doc 61
yy = [yy ; y(2:length(y))]; uu = [uu ; ub(2:length(ub))']; end; figure(2) plot([uu yy]);
0 100 200 300 400 500 6000
1
2
3
4
5
6
7
8
9
10
0 100 200 300 400 5000
0.2
0.4
0.6
0.8
1
1.2
1.4
03 Reguladores Clásicos.doc 62
1.4. Ajuste Iterativo en Lazo Cerrado (IFT) Método alternativo de autoajuste de parámetros la planta es
10 ( )k k ky G z u v−= + [1.84]
u
Rr G
y
v
e
el lazo cerrado resulta
0
0 0
11 1
RGy r vRG RG
= ++ +
[1.85]
03 Reguladores Clásicos.doc 63
Objetivo: encontrar los parámetrosθ del regulador tal que minimicen el siguiente
funcional:
( ) ( ) ( )2 2
1 1
12
N Nd
k k kk k
J E y y uN
θ λ= =
= − + ∑ ∑ [1.86]
hay que derivar e igualar a cero:
( ) ( )1 1
1 N Nd
k k kk k
J y uE y y uN
θλ
θ θ θ= =
∂ ∂ ∂ = − + ∂ ∂ ∂ ∑ ∑ [1.87]
Una forma de ajustar los parámetros es recursivamente en la dirección del gra-diente
( )11k k k k
JR
θθ θ γ
θ−
+
∂= −
∂ [1.88]
El problema está en el cálculo del gradiente, en realidad los términos yθ∂∂
y uθ∂∂
03 Reguladores Clásicos.doc 64
llamando
00
01RGT
RG=
+ , 0
0
11
SRG
=+
[1.89]
sea dy la respuesta deseada a la referencia d
dy T r= [1.90]
0
0 0
11 1
d dRGy y y r y vRG RG
= − = − ++ +
[1.91]
0
0 0
11 1d
RGy T r vRG RG
= − + + +
[1.92]
( ) ( )
2 20 0 0
2 20 0 0
1 1 1G RG Gy y R R Rr r vRG RG RGθ θ θ θ θ
∂ ∂ ∂ ∂ ∂= = − −
∂ ∂ + ∂ ∂ ∂+ + [1.93]
2 20 0 0 0 0 0 0 0
1 1y R R R RT r T r T S v T r T r T S vR Rθ θ θ θ θ
∂ ∂ ∂ ∂ ∂ = − − = − − ∂ ∂ ∂ ∂ ∂ [1.94]
0T y 0S no son conocidas
03 Reguladores Clásicos.doc 65
se sabe que 2
0 0 0 0T y T r T S v= + [1.95]
se puede reescribir [1.94]
[ ] ( )0 0 01 1y R RT r T y T r yR Rθ θ θ
∂ ∂ ∂= − = −
∂ ∂ ∂ [1.96]
en donde sigue sin conocerse 0T .
Pero si se realizan los siguientes experimentos: 1) se realiza un primer ensayo con una referencia 1r r= , obteniéndose una res-
puesta
1 0 0 1y T r S v= + [1.97]
2) el segundo ensayo se efectúa con una referencia 2 1r r y= − , obteniéndose una respuesta
( )2 0 1 0 2y T r y S v= − + (1.98)
03 Reguladores Clásicos.doc 66
Si se reemplaza (1.98) en [1.96] resulta
( ) [ ]0 2 0 21 1y R RT r y y S vR Rθ θ θ
∂ ∂ ∂= − = −
∂ ∂ ∂ [1.99]
con lo que se podría tomar como aproximación,
21y R yRθ θ
∂ ∂=
∂ ∂ [1.100]
Con la actuación ocurre algo similar. De esta forma se logra el cálculo del gra-diente del funcional.
03 Reguladores Clásicos.doc 67
Ejemplo 1.1. Regulador PI En este caso simplificado, se cumple
( )1
1
11
p ik k zR
z
−
−
+ −=
− (1.101)
por ende 1
1
11
i
p
k zRk z
−
−
+ −∂=
∂ − , 11
p
i
kRk z−
∂=
∂ − (1.102)
( ) ( )( )
1
1 1
2 2 21
1 11
1111 1
1 1111 1 1 11
i
pp
p ip i
i i
k zkky z z y y y
k kk k zk z k zz
θ
−
− −
−
− −−
+ − ∂ − − = = = +∂ + − + − − +−
(1.103)
( )( )
2 2
1
1
1 11 1 1
p
i
i
ku u ukk z
θ−
∂ = = ∆ +∂ − +
(1.104)
03 Reguladores Clásicos.doc 68
( ) ( )1 11 1
1 N Nd
k k kk k
J y uy y uN
θλ
θ θ θ= =
∂ ∂ ∂ = − + ∂ ∂ ∂ ∑ ∑ (1.105)
- Algoritmo: 1) Cálculo del vector ∆ 2) Ensayo 1 3) Ensayo 2
4) Cálculo de los gradientes yθ∂∂
y uθ∂∂
5) Cálculo del gradiente Jθ∂∂
6) Ajuste de los parámetros con la ley 11k k k k
JRθ θ γθ
−+
∂= −
∂
7) volver al paso 2)
03 Reguladores Clásicos.doc 69
- Simulaciones plot(yes);grid
0 200 400 600 800 1000 12000
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
03 Reguladores Clásicos.doc 70
plot([ym ydd]);grid
0 50 100 150-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
plot(j);grid
1 1.5 2 2.5 3 3.5 4 4.5 50
20
40
60
80
100
120
140
03 Reguladores Clásicos.doc 71
plot(th');grid
1 2 3 4 5 60
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
03 Reguladores Clásicos.doc 72
- Código %Sistema continuo Bc= 1; Ac=poly([-1 -2 -1]); na=length(Ac)-1; syscont = tf(Bc,Ac); %Sistema en variables de estado Pss = ss(syscont); [a,b,c,d] = ssdata(Pss); % y su respuesta al escalón ... t = 0:0.01:10; u = ones(size(t)); yes = lsim(syscont,u,t); T=.2; % Parámetros del regulador PID kp = 0.05; ki = 0; %kp = 0.1522; % 56 it .001 %ki = 0.0470; % 56 it .001 kd = 0; iter = 5; j=zeros(1,iter); th=zeros(2,iter+1); th(:,1)=[kp;ki]; lambda=.0; Tfin = 30; precision= .02; t = 0:precision:T;
03 Reguladores Clásicos.doc 73
ref = 1; y = zeros(size(t)); ly = length(t); nd = Tfin/T; ed = zeros(nd,1); ud1 = zeros(nd,1); yd1 = zeros(nd,1); ud2 = zeros(nd,1); yd2 = zeros(nd,1); ud3 = zeros(nd,1); yd3 = zeros(nd,1); ym = zeros(nd,1); ydd = []; var =.001; gamma=.5; % Cálculo de La respuesesta del modelo am=.5; for i = 3:nd ym(i) = am*ym(i-1)+ (1-am)*ref; end; for k = 1:iter % Experimento 1 x0= zeros(1,na); y = zeros(size(t)); yy = 0; uu = 0; int = 0; for i = 3:nd % Regulador
03 Reguladores Clásicos.doc 74
yd1(i) = y(ly)+ var*randn; ed(i)=ref- yd1(i); int = int + ki * ed(i); der = kd * (yd1(i)-yd1(i-1)); ud1(i)=kp*(ed(i)+ int + der); % bloqueador de orden cero u = ud1(i) * ones(size(t)); % Sistema s=size(x0); [y, tt, x0] = lsim(Pss,u,t,x0(s(1),:)); yy = [yy ; y]; uu = [uu ; u']; end; % Experimento 2 x0= zeros(1,na); y = zeros(size(t)); yy = 0; uu = 0; int = 0; for i = 3:Tfin/T % Regulador yd2(i) = y(ly)+ var*randn; ed(i)=ref - yd1(i) - yd2(i); int = int + ki * ed(i); der = kd * (yd2(i)-yd2(i-1)); ud2(i)=kp*(ed(i)+ int + der); % bloqueador de orden cero u = ud2(i) * ones(size(t)); % Sistema s=size(x0); [y, tt, x0] = lsim(Pss,u,t,x0(s(1),:));
03 Reguladores Clásicos.doc 75
yy = [yy ; y]; uu = [uu ; u']; end; j(k)=(ym-yd1)'*(ym-yd1)+lambda* ud1'*ud1; dydkp=yd2/kp; dydki = zeros(nd,1); for i = 3:nd dydki(i) = 1/(1+ki)*dydki(i-1)+1/(1+ki)*yd2(i); end; dudkp=ud2/kp; dudki = zeros(nd,1); for i = 3:nd dudki(i) = 1/(1+ki)*dudki(i-1)+1/(1+ki)*ud2(i); end; dydp=[dydkp';dydki']; dudp=[dudkp';dudki']; yt=yd1-ym; djdp=(dydp*yt+lambda*dudp*ud1)/nd; kp=kp-gamma*djdp(1); ki=ki-gamma*djdp(2); th(:,k+1)=[kp;ki]; ydd=[ydd yd1];
end
03 Reguladores Clásicos.doc 76
- Referencias 1. Häkan Hjalmarsson, Michel Gevers, Svante Gunnarsson, Olivier Lequin,, Iterative
Feedback Tuning: Theory and Applications – IEEE Control Systems – Agosto 1998
2. G.C. Goodwin, S.F. Graebe, and M.E. Salgado. Control System Design. Prentice Hall, 2001.
3. K. Astrom, B Wittenmark. Computer Controlled Systems. Prentice Hall, 1997. 4. Äström, K., Hägglung: Automatic Tuning of PID Controllers, ISA – 1988