Академический Документы
Профессиональный Документы
Культура Документы
4-1
G ( s) G H G( z)
Transformación z
del controlador
Diseño en s Diseño en z
(fácil) (complicado)
K ( s) G( s) K ( z )
GH G( z)
– –
K ( z ) = K ( s ) s = 2 z −1
T z +1
La idea básica consiste en suponer que, si se elige una frecuencia de muestreo suficientemente
elevada, se puede diseñar el controlador como si el sistema fuera continuo con las técnicas
conocidas en el plano s, para luego transladarlo al dominio discreto por medio de una
trasformación aproximada (por ejemplo la fórmula de Tustin).
1
K1 ( s ) = K P 1 + + TD s (forma ideal) (4.1)
TI s
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-2
1 TD s
K 2 ( s) = K P 1 + + (forma con retardo) . (4.2)
TI s α TD s + 1
2 z −1
D1 ( s ) = TD s → D1 ( z ) = TD ⋅ (4.3)
T z +1
que como vemos, aporta un polo inestable en z = –1. Para evitar esto, en la transformación de
la componente derivativa debe utilizarse una fórmula alternativa, por ejemplo la regla del
rectángulo por la suma superior que genera un polo estable en el origen.
T z −1
D1 ( s ) = TD s → D1 ( z ) = D ⋅ (4.4)
T z
T z + 1 TD z − 1
K 1 ( z ) = K P 1 + + (Tustin y suma superior) (4.5)
2TI z − 1 T z
T z +1 2TD z −1
K 2 ( z ) = K P 1 + + ⋅ (exclusivamente Tustin) . (4.6)
2TI z − 1 T + 2α TD z + T − 2α TD
T + 2α TD
Pueden repetirse aquí todas las consideraciones realizadas en el Capítulo 1 referidas a la limita-
ción de la ganancia derivativa en alta frecuencia y a la conveniencia de evitar o contrarrestar el
efecto de windup. Tales conceptos, expresados para sistemas continuos, pueden transladarse en
forma directa al dominio discreto, por lo que no los reiteraremos aquí.
Ejemplo aplicativo. Sea la siguiente planta continua de segundo orden, que ha de ser
compensada mediante un controlador discreto PI con período de muestreo T = 0.5 s
V =1
V
G (s) = con T1 = 1 s (4.7)
(T1s + 1)(T2 s + 1) T = 5 s
2
El criterio de diseño adoptado para el controlador PI continuo es: por una parte compensar la
mayor constante de tiempo de la planta, y además obtener una respuesta de lazo cerrado con
relación de amortiguamiento ζc=1/√2 a fin de lograr un buen tiempo de respuesta al escalón.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-3
El controlador es
1 TI s + 1
K ( s) = K P 1 + =K P (4.8)
TI s TI s
Para compensar la mayor constante de tiempo de planta se elige TI = T2, con lo que la función de
transferencia de lazo abierto queda
TI s + 1 V K PV
Go ( s ) = K P ⋅ = por ser TI = T2 . (4.9)
TI s (T1s + 1)(T2 s + 1) T2 s (T1s + 1)
K PV 1
Gc ( s ) = = (4.10)
T1T2 s + T2 s + K PV T1T2 s 2 + T2 s + 1
2
K PV K PV
1 2ζ c
ωc2 ωc
T2
KP = ; reemplazando valores: K P = 2.5 , (4.11)
4ζ c2TV
1
2 z −1
TI ⋅ +1
T s +1
K ( z ) = K P I = KP T z + 1
TI s s = 2 ⋅ z −1 2 z −1
T z +1
TI ⋅
T z +1
(4.12)
T T − 2TI
KP + 1 z + K P
2TI 2TI r z − r0
= = 1
z −1 z −1
2.625 z − 2.375
K ( z ) = . (4.13)
z −1
Procedemos ahora a la simulación del sistema a lazo cerrado, para diferentes valores del período
de muestreo. En la Fig. 4.2 se observa una muy buena coincidencia de la respuesta al escalón
respecto del PI continuo para un período de muestreo inferior a T1. La respuesta sigue siendo
aceptable para T = 0.5 T1 (no olvidemos que en esta situación nos encontramos justo en el límite
que marca el teorema del muestreo). Para T = T1 la respuesta al escalón es aparentemente
buena, pero recordemos que el comportamiento del sistema es inaceptable para señales de
entrada senoidales con frecuencias cercanas a la frecuencia de muestreo 1/T (véase Fig. 4.3).
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-4
Fig. 4.3. Respuestas ante excitaciones senoidales con frecuencias cercanas a 1/T.
K (s) ( GH G ) K ( z )
GH G( z)
– –
K ( z ) = K ( s ) s = 2 z −1
T z +1
Ejemplo aplicativo. Repetiremos la planta del ejemplo precedente, al objeto de poder comparar
los resultados. Procederemos paso a paso siguiendo el procedimiento enunciado:
R1 1 − z1 R2 1 − z2 z + r0
GH G( z) = − ⋅ − ⋅ =C⋅
s1 z − z1 s2 z − z2 ( z − z1 )( z − z2 )
( GH G ) ( s) = G
H G( z )
z=
2+Ts (4.18)
2−Ts
2 + Ts
2 − Ts
+ r0 (T(s)
s + 1)(T02( s ) s + 1)
( GH G ) ( s) = C ⋅
01
=V (s)
⋅ , (4.19)
2 + Ts
2 + Ts
− z1
− z2 (T
1
(s)
s + 1)(T2( s ) s + 1)
2 − Ts 2 − Ts
1 + r0
V (s) = C ⋅ =1=V
(1 − z1 )(1 − z2 )
T 1 + z1
T1( s ) = ⋅ = 1.020747 ≈ T1
2 1 − z1
T 1 + z2
T2( s ) = ⋅ = 5.004166 ≈ T2 (4.20)
2 1 − z2
T 1 − r0
T01( s ) = ⋅ = 0.024892
2 1 + r0
T
T02( s ) = − = −0.25
2
Observamos que los polos de G(s) vuelven a aparecer, con un error mínimo originado por la
transformación bilineal aproximada. Aparecen ceros adicionales debidos al proceso de
muestreo, manteniéndose invariable la ganancia estática.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-7
c) Diseño del controlador en s. La planta a compensar es (4.19) que presenta un par de ceros
(uno de ellos en el semiplano derecho). Una solución viable es reemplazar el conjunto de las
constantes de tiempo más bajas por un elemento de primer orden sustituto.
(T (s)
s + 1)(T02( s ) s + 1) T01( s )T02( s ) s 2 + (T01( s ) + T02( s ) ) s + 1 1
( GH G ) (s) = V
01
(s)
⋅ =V (s)
⋅ ⋅ , (4.21)
(T1
(s)
s + 1)(T s + 1)
2
(s)
T s +1
1
(s)
T s +1
2
(s)
V (s)
( GH G )e ( s) = (4.23)
(Te( s ) s + 1)(T2( s ) s + 1)
y podemos visualizar la validez de la simplificación comparando los diagramas de Bode de las
funciones de transferencia exacta (4.21) y aproximada (4.23).
TI s + 1 V (s)
K ( s ) ⋅ ( GH G )e ( s ) = K P ⋅ (4.24)
TI s (Te( s ) s + 1)(T2( s ) s + 1)
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-8
para compensar la mayor constante de tiempo de la planta, siempre y cuando ésta no sea una
constante de tiempo sustituta; en consecuencia eligiremos
TI = T2( s ) .
La función de transferencia de lazo abierto queda
K P ⋅V ( s )
Go ( s ) = (4.25)
T2( s ) s (Te( s ) s + 1)
por lo que la f.t. de lazo cerrado es:
Go ( s ) 1 1
Gc ( s ) = = (s) (s) = 2 ; (4.26)
1 + Go ( s ) T2 Te 2 T2 (s)
s 2ζ c
s + s +1 + s +1
K P V (s) K P V (s) ωc2 ωc
T2( s )
KP = (4.27)
4ζ c2Te( s )V ( s )
de modo que para ζ c =0.707 los parámetros del controlador quedan KP =2.008326
y TI =5,004166 .
Obviamente se deberá verificar que la frecuencia de cruce de ganancia resultante sea inferior al
límite que marca la Fig. 4.5 (lo que de hecho ocurre).
T z −1
+1TI
T s +1
K ( z ) = K P I = KP 2 z + 1
TI s s = T z −1 T z −1
2 z +1
TI
2 z +1
(4.28)
T − 2TI
z+
T + 2TI T + 2TI z + r0
= KP ⋅ =C⋅
2TI z −1 z −1
z + r0 z − 0.904837
K ( z ) = C ⋅ = 2.108659 ⋅ , (4.29)
z −1 z −1
Pasamos ahora a discutir los resultados alcanzados, comparándolos con el método de diseño
anteriormente tratado. La planta discretizada tiene por expresión
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-9
z + 0.818894
GH G ( z ) = 0.020586 (4.30)
( z − 0.606531)( z − 0.904837 )
El controlador diseñado por el método simplificado
z − 0.904761
K ( z ) = 2.625
z −1
z − 0.904837
K ( z ) = 2.108659 ⋅
z −1
cuyo cero cancela exactamente el polo de la planta. Podemos esperar entonces que el método
completo de diseño produzca mejores resultados en las respuestas transitorias.
En la Fig. 4.6 podemos observar que el amortiguamiento relativo es independiente del período de
muestreo T, lo que no nos sorprende ya que T se encuentra ‘embebido’ en el diseño del
controlador y todos los controladores están dimensionados para el mismo ζc de lazo cerrado.
Desde luego que si excitamos al sistema de lazo cerrado con sinusoides de frecuencia cercana a
la frecuencia de muestreo, se nos presentarán exactamente los mismos problemas que mostramos
en la Fig. 4.3, ya que al ser ellos inherentes al proceso de muestreo, resultan absolutamente
independientes del método empleado para diseñar al controlador.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-10
KG Mw 1
Gc = = Mw ⇒ K= ⋅ (4.31)
1 + KG 1− M w G
Compensación
Para que el controlador sea realizable (causal), se deben imponer algunas condiciones a Mw y a
G. Como el sistema debe ser numéricamente estable, resulta necesario que la planta continua G
sea estable y de fase mínima (es decir que sus polos y ceros se encuentren en el semiplano
izquierdo). El requerimiento de error estacionario nulo conduce a un controlador con parte
integradora.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-11
B + ( z) B − ( z) z −r
G ( z ) = z + z − (4.32)
Az ( z ) Az ( z )
donde
Bz+ ( z ) y Az+ ( z ) poseen raíces en el interior del círculo unitario,
Bz− ( z ) y Az− ( z ) poseen raíces fuera del círculo unitario,
z − r es un retardo equivalente a r períodos de muestreo.
El diseño del controlador responde a (4.31). La restricción a plantas estables impone Az− ( z ) = 1 ,
luego:
Az+ ( z ) M w ( z )
K ( z ) = + ⋅ (4.33)
Bz ( z ) Bz− ( z ) z − r 1 − M w ( z )
M wr ( z ) ⋅ Bz− ( z ) z − r
M w ( z) = (4.34)
M wr (1) ⋅ Bz− (1)
En consecuencia
Az+ ( z ) M wr ( z ) 1
K ( z) = + ⋅ ⋅ . (4.35)
Bz ( z ) 1 − M wr ( z ) M wr (1) ⋅ Bz− (1)
Ejemplo aplicativo. Retornamos a nuestra planta discretizada según (4.30), que repetimos a
continuación
z + 0.818894 z − z01
GH G ( z ) = 0.020586 =C⋅ (4.36)
( z − 0.606531)( z − 0.904837 ) ( z − z1 )( z − z2 )
para el período de muestreo T = 0.5 s.
D
W Y W Y
K ( z )
GH G( z)
M w ( z )
–
1+ c + c
M w ( z ) = 2 1 0 (4.37)
z + c1 z + c0
1 M w ( z ) 1 ( z − z1 )( z − z2 ) 1 + c1 + c0
K ( z ) = ⋅ = ⋅ ⋅ 2
GH G ( z ) 1 − M w ( z ) C
z − z01 z + c1 z + c0 − (1 + c1 + c0 )
(4.38)
1 + c1 + c0 ( z − z1 )( z − z2 ) 1
K ( z ) = ⋅ ⋅
C z − z01 ( z − 1)( z + c1 + 1)
Aplicando este controlador, la función de transferencia de lazo abierto queda
1 + c1 + c0
G o ( z ) = K ( z ) ⋅ GH G( z) = (4.39)
( z − 1)( z + c1 + 1)
que corresponde a un integrador (polo en z =1) acompañado por un elemento de primer orden.
Por cierto, la función de lazo cerrado coincide con el modelo propuesto.
variable
manipulada u
variable
controlada y
Fig. 4.10.
Modelo con
párametros
c1= –1.32 y
c0= 0.49
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-13
1 + c1 + c0 z − z01
M w ( z ) = ⋅ 2 , el factor constante asegura M w (1) = 1. (4.40)
1 − z01 z + c1 z + c0
El controlador es ahora
1 M w ( z )
K ( z ) = ⋅
GH G( z)
1 − M w ( z )
1 ( z − z1 )( z − z2 ) (1 + c1 + c0 )( z − z01 )
K ( z ) = ⋅ ⋅ (4.41)
C z − z01 (1 − z01 ) ( z + c1 z + c0 ) − (1 + c1 + c0 )( z − z01 )
2
1 + c1 + c0 ( z − z1 )( z − z2 ) c0 + z01 (1 + c1 )
K ( z ) = ⋅ ; con z3 = .
C (1 − z01 ) ( z − 1)( z − z3 ) 1 − z01
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-14
Reemplazando los valores numéricos que ya tenemos calculados y manteniendo para nuestro
modelo c1= –1.32 y c0= 0.49 resulta el controlador
K ( z ) = 4.5401
( z − 0.606531)( z − 0.904837 ) (4.42)
( z − 1)( z − 0.413463)
Vemos en (4.42) que el controlador no contiene polos a parte real negativa, por lo que su salida
ya no será oscilatoria como en el caso precedente.
variable
manipulada u
variable
controlada y Fig. 4.12. Respuesta al escalón de
comando y de perturbación, cuando se
incluyen en el modelo los ceros de la
planta. Se han mantenido las escalas de la
Fig. 4.10 a fines de comparación.
Por cierto que habiendo diseñado nuestro controlador para un modelo de respuesta a la variable
de comando, carecemos de parámetros libres para ajustar la respuesta a la perturbación. Para
ello se deberá adoptar un método de diseño con dos grados de libertad, lo que en nuestro caso se
traduce en plantear dos modelos de comportamiento deseado y proceder como se indica a
continuación.
D
W0 W Y
G w ( z ) K ( z )
G H G( z)
–
Y ( z ) G ( z ) − M D ( z )
G H G( z) G 1 1
M D ( z ) = = ⇒ K ( z ) = H = − , (4.43)
D( z ) 1 + K ( z ) G
M D ( z ) GH G ( z )
H G( z ) GH G ( z ) M D ( z )
con lo que queda definido el controlador. Para el cálculo del filtro de comando es necesario
contar con el modelo de respuesta al comando. De la Fig. 4.13 se deduce
K ( z ) G H G( z )
M w ( z ) = G w ( z ) ⇒ G w ( z ) K ( z ) M D ( z ) = M w ( z )
1 + K ( z ) G G ( z )
H
(4.44)
M w ( z )
⇒ G w ( z ) =
K ( z ) M D ( z )
como se deduce de la primera igualdad de (4.43). Si bien las expresiones (4.43) y (4.44) son en
apariencia sencillas, resulta necesario contar con experiencia, paciencia y algo de ingenio para
encontrar modelos de respuesta adecuados.
background background
Como vemos en la figura, lo más fácil es despreciar el tiempo de cálculo suponiendo que la
entrada y salida de datos (conversiones A/D y D/A) son coincidentes. Eso solamente es posible
cuando el tiempo de cálculo TC es inferior al 5% del período de muestreo T (TC < T/20).
H G ( z , γ ) = Zγ {GH ( s ) ⋅ G ( s )}γ = β
G (4.45)
y, suponiendo que el único tiempo muerto es 0<TC<T resulta (ver (2.82) a (2.84)):
TC
TC = mT − β T ⇒ β = 1− ; con m = 1. (4.46)
T
1
G ( z ) = GH G( z, β ) . (4.47)
z
El algoritmo de control debe ser programado sin incluir lazos de longitud variable de ninguna
índole, al objeto de garantizar un tiempo de cálculo constante, libre de jitter (bailoteo). Si en
razón de la calidad de los elementos utilizados (procesador, conversores) el jitter resulta
inevitable, deberán analizarse sus características estadísticas a fin de incluir su influencia en el
diseño del controlador. Debemos mencionar que el jitter de tiempo de cálculo puede
manifestarse aún en el caso de emplear elementos de alta calidad: puede aparecer un retardo
entre la conversión A/D y la entrada de datos al procesador debida a un retardo de
comunicaciones, si el sensor se encuentra en un nodo de red de datos diferente al nodo del
procesador (sistemas de control en red de datos).
Otro efecto a considerar es el jitter del período de muestreo. Si se cuenta con una base de tiempo
con la resolución suficiente para medir cada vez el período real de muestreo, se podrán
compensar sus variaciones. De lo contrario habrá que emplear técnicas de Control Robusto
verificar la sensibilidad del diseño ante variaciones en el período de muestreo1.
1
IFAC es la sigla de la International Federation for Automatic Control, www.ifac-control.org, que ha publicado en
su página web (sección Profesional Briefs) un interesante trabajo de distribución gratuita: COMPUTER CONTROL:
AN OVERVIEW, producido por miembros del Departamento de Control Automático del Lund Institute of
Technology (Suecia). Se recomienda especialmente la lectura del capítulo final, que trata sobre temas de control de
tiempos y secuencialización.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-17
W E U
K ( z ) z + r0 1 + r0 z −1 U ( z )
– K ( z ) = C ⋅ =C⋅ = (4.48)
Y z −1 1 − z −1 E ( z )
Fig. 4.15. Controlador discreto.
U ( z ) ⋅ (1 − z −1 ) = C (1 + r0 z −1 ) ⋅ E ( z )
u (tk ) − u (tk −1 ) = Ce(tk ) + Cr0 e(tk −1 )
(4.49)
como e(tk ) = w(tk ) − y (tk ) es
u (tk ) = u (tk −1 ) + C [ w(tk ) − y (tk )] + Cr0 e(tk −1 )
Nótese en la última igualdad de las (4.49) que w(tk ) e y (tk ) corresponden a la medición del
estado actual de las variables de comando y controlada, y que deben almacenarse en memoria los
estados precedentes de la variable manipulada y del error actuante u (tk −1 ) y e(tk −1 ) . El pseudo-
código correspondiente sería:
“Algoritmo de control
w=adin(ch1) “ingresar variable de comando desde ch1
y=adin(ch2) “ingresar variable controlada desde ch2
e=w-y “calcula error actual
u=uviejo+c*e+c*r0*eviejo “calcula la señal de control
daout(u,ch3) “sacar la señal de control u por ch3
uviejo=u “actualiza señal de control vieja
eviejo=e “actualiza señal de error vieja
Por cierto, este pseudocódigo deberá estar integrado en el programa general de manejo de
interrupciones que generará los llamados al algoritmo de control y a las rutinas de background
que sean necesarias para la modificación de coeficientes.
que, a pesar de ser discretos, siguen presentando una apariencia analógica, vamos a desarrollar
en los siguientes puntos los detalles de la implementación práctica de un controlador PID
discreto.
1
t
dr (t ) dy (t )
u (t ) = K P br (t ) − y (t ) + ∫ e(τ ) dτ + Td c − (4.50)
Ti 0 dt dt
P(t ) = K P [br (t ) − y (t )]
Este término se implementa reemplazando simplemente las variables continuas por sus versiones
muestreadas,
P(tk ) = K P [br (tk ) − y (tk ) ] (4.51)
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-19
donde tk denota los instantes de muestreo, es decir los valores de tiempo para los cuales se leen
las variables analógicas.
t
K
I (t ) = P ∫ e(τ ) dτ
Ti 0
y se deduce que
dI K P
= e
dt Ti
Si se aproxima la derivada con una diferencia hacia adelante se obtiene, empleando h =T para
designar el período de muestreo
I (tk +1 ) − I (tk ) K P
= e(tk )
h Ti
lo que nos conduce a la siguiente expresión recursiva para el cálculo del término integral
KPh
I (tk +1 ) = I (tk ) + e(tk ) . (4.52)
Ti
Acción Derivadora El derivador puro de la (4.50) es reemplazado con c=0 por un derivador
restringido como el que empleáramos en (1.15), teniéndose
s K PTd
D( s) = − Y ( s) ;
1 + sTd N
Td dD dy
es decir: + D = − K PTd
N dt dt
y reordenando obtenemos
Td K TN
D(tk ) = D(tk −1 ) − P d [ y (tk ) − y (tk −1 ) ] (4.53)
Td + Nh Td + Nh
La ventaja de emplear una expresión retrógada es que el valor del factor Td (Td + Nh ) se
encuentra siempre comprendido en el intervalo [0,1] lo que garantiza la estabilidad de la
ecuación en diferencias.
Hemos entonces determinado que el controlador PID puede ser aproximado mediante las
expresiones (4.54). Por cierto, estas expresiones constituyen quizás la más simple de las muchas
discretizaciones posibles del algoritmo de control PID. La selección del método de
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-20
s 2 K PTd
y
1 + sTd N
Integrador
du externo
dt
(br – y) sKP Σ 1/s u
e KP/Ti
Algoritmo Incremental. La forma incremental del algoritmo PID puede ser obtenida
calculando las diferencias temporales de la salida del controlador para luego sumar (integración
discreta) estos incrementos.
∆u (tk ) = u (tk ) − u (tk −1 ) = ∆P(tk ) + ∆I (tk ) + ∆D(tk ) (4.55)
En muchos casos la integración se realiza externamente. Esto resulta natural cuando se utiliza un
motor paso-a-paso. Los incrementos de las partes proporcional, integradora y derivadora se
calculan con facilidad a partir de las Ecs. (4.51) a (4.53):
En la Fig. 4.18 se muestra una implementación que utiliza un integrador separado para sumar los
cambios incrementales que produce el dispositivo manual. El diagrama contiene dos
configuraciones del tipo anti-windup (recordar la Fig. 1.39) que aseguran el seguimiento de la
salida manual por parte del controlador y viceversa.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-22
+
1/Tt Σ
CONTROL –
MANUAL
+
1/Tm Σ 1/s
–
–y
KP Td s
M
e= r – y v u
KP Σ
A
– +
KP/Ti Σ 1/s Σ
1/Tt
Fig. 4.18. Controlador PID que conmuta suavemente de modo manual (M) a modo automático (A).
Transferencia sin sacudidas ante Cambios de Parámetros. Una modificación de los parámetros
del controlador se reflejará como un cambio en su variable de salida. Estos cambios son en
general indeseables: para un controlador PID es natural el requerimiento de que no se originen
cambios drásticos en la salida, si los parámetros son modificados cuando el error es cero. Esto
será verdadero para todos los algoritmos incrementales ya que su salida es cero cuando su
entrada es cero, independientemente de los valores de sus parámetros. Para un algoritmo de
posición, ello dependerá de la implementación adoptada.
t
xI = ∫ e(τ ) dτ
0
KP
el término integral resulta I= xI .
Ti
Tomando las adecuadas precauciones es entonces relativamente sencillo evitar sacudidas si los
cambios en los parámetros se realizan cuando el error es nulo (operación en régimen).
“Algoritmo de control
r=adin(ch1) “ingresar variable de referencia desde ch1
y=adin(ch2) “ingresar variable del proceso desde ch2
P=Kp*(b*r-y) “acción Proporcional
D=ad*D-bd*(y-yviejo) “acción Derivativa
v=P+I+D “salida temporal para acción antiwindup
u=sat(v,umin,umax) “simula saturación del actuador
daout(u,ch3) “sacar variable de control u por ch3
I=I+bi*(r-y)+ao*(u-v) “actualiza Integrador con antiwindup
yviejo=y “actualiza variable de proceso vieja
El cálculo de coeficientes debe realizarse sólo cuando se modifican los parámetros del
controlador. El cálculo de ad, ao, bd, bi ahorra tiempo de ejecución del programa principal. El
algoritmo de control debe ser ejecutado una vez por cada período de muestreo. Obsérvese que el
pseudocódigo incluye en la derivación únicamente a la variable controlada (y), emplea factor de
peso (b) para la variable de referencia e implementa anti-windup utilizando un modelo interno de
la saturación del actuador.
Debemos destacar que, por razones de claridad, en estos últimos apartados hemos empleado
(muy calladamente) aproximaciones basadas en la regla del rectángulo que condujeron a los
algoritmos dados por las expresiones (4.54) y (4.56) y al programa precedente. El procedimiento
es totalmente análogo utilizando la aproximación de Tustin, llegándose a expresiones finales
ligeramente más complejas, y queda como ejercicio para el lector interesado.
w e e* u y
K(z) GH(s) G(s)
–
CONTROLADOR DISP. RETENCIÓN PLANTA
z
Y ( z ) = W ( z ) ⋅ G c ( z ) = + polinomio ( z −1 ) ; (4.59)
z −1
vemos que además del término deseado z/(z–1) aparece un polinomio en z –1 que describe la
secuencia finita de error e(kT) . Cualquier otro polo zi de la función de transferencia de lazo
cerrado daría origen a una secuencia de error infinita.
Un método intuitivo debido a Schneider (1960) permite calcular la secuencia de control u(t)
como suma de funciones escalón:
N −1
u (t ) = ∑ uk [σ (t − kT ) − σ (t − kT − T )] + u N σ (t − NT ) (4.60)
k =0
m(t ) := L −1 {G ( s ) / s} (4.61)
Debido a la condición G(0)≠0, m(t) siempre contiene una parte constante σ(t) correspondiente
al polo en el origen de (4.61), a la que se adicionan para una planta de orden n otras n funciones
temporales del tipo tr e–at. En caso de ser a complejo, aparece también su conjugado y entre
ambos originan funciones temporales reales tr e–bt sin(ωt) y tr e–bt cos(ωt). Por simplicidad,
denominaremos f1, f2, ... fn a estas n funciones.
Para condiciones iniciales nulas, la respuesta de la planta a la secuencia (4.60) está dada por
N −1
y (t ) = ∑ uk [ m(t − kT ) − m(t − kT − T )] + u N m(t − NT ) ; t ≥ NT . (4.62)
k =0
En (4.62) aparecen términos (t − kT ) r e− a (t −kT ) que contienen únicamente las funciones f1, f2, ... fn
y σ(t), por lo que se puede sin inconvenientes expresar a y(t) de la forma
donde los coeficientes ci son combinaciones lineales de las amplitudes u0 ... uN de la señal de
control.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-25
El comportamiento de tiempo de respuesta finito (en inglés: deadbeat) se logra con la condición
c0 = 1, c1 = c2 = = cn = 0 . (4.64)
Debe notarse que, de acuerdo a (4.63), se puede prescribir cualquier otro comportamiento
además de seguir sin error al escalón σ(t), mientras éste sea expresable por la combinación de
funciones temporales (4.63). O dicho con otras palabras: el sistema puede seguir con precisión
todas aquellas señales cuyos polos aparezcan en la función de transferencia de la parte continua
del sistema.
1
G (s) = con respuesta al escalón m(t ) = L −1 {G ( s ) / s} = −1 + t + e− t (4.65)
s ( s + 1)
N −1
y (t ) = ∑ uk [ m(t − kT ) − m(t − kT − T )] + u N m(t − NT )
k =0
N −1
y (t ) = ∑ uk −1 + ( t − kT ) + e ( ) + 1 − ( t − kT − T ) − e (
− t − kT −T )
− t − kT
k =0 (4.66)
− ( t − NT )
+ u N −1 + ( t − NT ) + e
N −1
y (t ) = ∑ uk T + (1 − eT ) ekT e −t + u N ( −1 − NT ) + t + e NT e− t
k =0
quedando finalmente
N −1 N −1
y (t ) = T ∑ uk − uN (1 + NT ) ⋅ σ (t ) + u N t + (1 − eT ) ∑ uk e kT + u N e NT ⋅ e −t (4.67)
k =0 k =0
Cuando el sistema debe seguir un escalón de comando w(t)=σ(t), deben ser nulos los
coeficientes de las funciones temporales t y e–t, y ha de ser unitario el coeficiente de σ(t). Se
tiene entonces:
N −1 N −1
uN = 0 , ∑ uk ekT =0 ,
k =0
∑u
k =0
k = 1/ T (4.68)
Poniendo N = n = 2, es decir el número de periodos de muestreo para error nulo (N) igual al
orden del sistema (n), el sistema de ecuaciones (4.68) posee una solución única que vale
1 −e −T
u0 = , u1 = ; uk = 0, ∀k ≥ 2. (4.69)
T (1 − e−T ) T (1 − e −T )
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-26
Deducimos de (4.69) que para períodos T crecientes, u0 y u1 decrecen monótonamente.
Para T=1 se obtienen los resultados de la Fig. 4.20.
1
Fig. 4.20. Control deadbeat de G ( s ) = para T = 1 s.
s ( s + 1)
z − 0.368
U ( z ) = 1.582 − 0.582 z −1 = 1.582 . (4.70)
z
U ( z ) 1.582 ( z − 0.368 )( z − 1)
= . (4.71)
W ( z ) z2
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-27
z + 0.418
E ( z ) = 1 + 0.418 z −1 = (4.72)
z
resulta
U ( z ) 1.582 ( z − 0.368)
K ( z ) = = . (4.73)
E ( z ) z + 0.418
uk = 0, ∀k ≥ 3
u0 + u1 + u2 = 1/ T , u0 + eT u1 + e2T u2 = 0, (4.74)
1 1
⇒ u0 = eT u2 − , u1 = − (1 + eT ) u2 +
T (1 − eT ) T (1 − eT )
1. La exigencia que la “energía de actuación” u02 + u12 + u22 sea un mínimo conduce a:
eT 1 1
u0 = , u1 = , u2 =
2T ( eT − 1) 2T 2T (1 − eT ) (4.75)
para T = 1: u0 = 0.791, u1 = 0.5, u2 = −0.292
e 2T − (1 + eT )
u0 = u1 = , u2 =
T ( 2e 2T − eT − 1) T ( 2e 2T − eT − 1) (4.76)
para T = 1: u0 = u1 = 0.667, u2 = −0.334
El método de Schneider que se acaba de exponer no es el único que puede emplearse para
calcular controladores deadbeat. Veremos a continuación un método más general, pero por
cierto menos intuitivo que el precedente.
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-28
M w ( z ) = q0 + q1 z −1 + q2 z −2 + + qN z − N (4.77)
B + ( z) B − ( z) z −r
G ( z ) = z + z − (4.78)
Az ( z ) Az ( z )
donde
Bz+ ( z ) y Az+ ( z ) poseen raíces en el interior del círculo unitario,
Bz− ( z ) y Az− ( z ) poseen raíces fuera del círculo unitario,
z − r es un retardo equivalente a r períodos de muestreo.
1 M w ( z )
K ( z ) = ⋅ . (4.80)
G ( z ) 1 − M w ( z )
De acuerdo a lo dicho más arriba, también la función de transferencia que liga w con u deberá
manifestar comportamiento deadbeat, es decir una respuesta impulsiva de duración finita:
M ( z )
G u ( z ) = w = polinomio ( z −1 ) . (4.81)
G ( z )
M ( z ) Bz+ ( z ) Bz− ( z ) z − r
M w ( z ) = 2 w (4.82)
M 2 w (1) Bz+ (1) Bz− (1)
SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-29
Para concluir, debemos mencionar que el diseño de controladores discretos para respuesta
deadbeat no es más que una aplicación específica de la teoría de filtros digitales de respuesta
impulsiva finita (filtros FIR2), también denominados filtros transversales.
2
FIR = Finite Impulse Response.