SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-1 4. Realización de controladores discretos. 4.1. Métodos para el diseño de controladores discretos. Atacaremos el problema de diseñar un controlador discreto para una planta continua G(s), analizando los resultados que pueden obtenerse para cada tipo de solución propuesta. 4.1.1. Diseño simplificado en el plano s. El método de diseño simplificado en s pone en práctica el siguiente esquema conceptual Dominio de tiempo continuo Dominio de tiempo discreto G H G( z) G ( s) Transformación z del controlador Diseño en s (fácil) K ( s) – Diseño en z (complicado) K ( z ) G( s) K ( z ) = K ( s ) s = 2 z −1 – G H G( z) T z +1 Fig. 4.1. Método de diseño simplificado en s. 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). Desde luego, que al olvidar la influencia de los dispositivos de muestreo y retención, se cometerán errores cuya importancia será tanto mayor cuanto más elevado sea el período de muestreo elegido. En general se deberá elegir un período de muestreo que sea claramente menor que la más pequeña constante de tiempo (Tmin) de la planta que se tenga en cuenta en el diseño del controlador, por ejemplo T = Tmin /10. Analizaremos el empleo de este método tomando como estructura genérica de diseño al controlador PID en su forma paralela, con y sin constante de tiempo parásita en el derivador: 1 K1 ( s ) = K P 1 + + TD s TI s (forma ideal) (4.1) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-2 1 TD s K 2 ( s) = K P 1 + + TI s α TD s + 1 (forma con retardo) . (4.2) Dimensionado el controlador PID en el dominio continuo, su translación al dominio discreto puede realizarse en principio vía la transformación de Tustin. Y decimos en principio ya que debe analizarse si su aplicación no genera componentes inestables. Ilustrando el concepto, consideremos la transformación de la componente derivativa de (4.1): D1 ( s ) = TD s → 2 z −1 D1 ( z ) = TD ⋅ T z +1 (4.3) 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. D1 ( s ) = TD s → T z −1 D1 ( z ) = D ⋅ T z (4.4) De modo que las expresiones transformadas correspondientes a (4.1) y (4.2) son T z + 1 TD z − 1 K 1 ( z ) = K P 1 + + 2TI z − 1 T z (Tustin y suma superior) T z +1 2TD z −1 K 2 ( z ) = K P 1 + + ⋅ 2TI z − 1 T + 2α TD z + T − 2α TD T + 2α TD (exclusivamente Tustin) . (4.5) (4.6) Pueden repetirse aquí todas las consideraciones realizadas en el Capítulo 1 referidas a la limitació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 G (s) = (T1s + 1)(T2 s + 1) V =1 con T1 = 1 s T = 5 s 2 (4.7) 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 TI s TI s (4.8) 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 Go ( s ) = K P TI s + 1 V K PV ⋅ = TI s (T1s + 1)(T2 s + 1) T2 s (T1s + 1) por ser TI = T2 . (4.9) La función de transferencia de lazo cerrado es Gc ( s ) = K PV 1 = T1T2 s + T2 s + K PV T1T2 s 2 + T2 s + 1 K PV K PV 2 1 2ζ c ωc2 ωc (4.10) operando con los coeficientes obtenemos: KP = T2 ; 4ζ c2TV 1 reemplazando valores: K P = 2.5 , (4.11) con lo que concluye el diseño del controlador PI continuo. Convertimos a continuación el controlador en discreto, aplicando la transformación de Tustin 2 z −1 TI ⋅ +1 T s +1 K ( z ) = K P I = KP T z + 1 2 z −1 TI s s = 2 ⋅ z −1 TI ⋅ T z +1 T z +1 (4.12) T − 2TI T KP + 1 z + K P r z − r0 2TI 2TI = = 1 z −1 z −1 Reemplazando valores numéricos para T = 0.5 s, de (4.12) se obtiene la función de transferencia z del controlador PI 2.625 z − 2.375 K ( z ) = . z −1 (4.13) 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.2. Variación de la respuesta al escalón con el período de muestreo. Fig. 4.3. Respuestas ante excitaciones senoidales con frecuencias cercanas a 1/T. La obvia conclusión, que ya habíamos adelantado, es que el procedimiento de diseño simplificado en el plano s brinda buenos resultados para períodos de muestreo reducidos respecto de la menor constante de tiempo (T1 en nuestro ejemplo). SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-5 4.1.2. Método completo en s. En contraposición con el método precedente, en este procedimiento no solamente se discretiza en forma aproximada el controlador, sino que se emplean métodos de diseño del dominio continuo sobre plantas previamente discretizadas. El procedimiento es el siguiente y se sintetiza en la Fig. 4.4: • Se determina la función de transferencia z de la planta completa (incluyendo muestreador y dispositivo de retención) mediante transformación z exacta de [GH(s)⋅G(s)]. Aplicar la transformación bilineal (Tustin) para obtener la función de transferencia en s de la planta discretizada. Diseñar el controlador en s por los métodos continuos conocidos. Problema: en la transformación de la planta hacia s aparecen uno o más ceros en el semiplano derecho. Discretizar por Tustin el controlador calculado. • • • ( GH G ) ( s) = Dominio de tiempo continuo G H G( z) ( GH G ) (s) K (s) 2 +Ts 2 −Ts G H G( z) Transformación bilineal Diseño en s (fácil) – z= Dominio de tiempo discreto Diseño en z (complicado) K ( z ) ( GH G ) K ( z ) = K ( s ) s = 2 z −1 G H G( z) – T z +1 Fig. 4.4. Método de diseño completo en s. Ejemplo aplicativo. Repetiremos la planta del ejemplo precedente, al objeto de poder comparar los resultados. Procederemos paso a paso siguiendo el procedimiento enunciado: a) Discretización de la planta incluyendo muestreador y dispositivo de retención. En (4.7) observamos que G(s) posee polos simples, por lo que recordando las expresiones (3.8) a (3.13) podemos escribir: n Rλ (G ) 1 − zλ G G ( z ) = − ⋅ ∑ H sλ z − zλ (4.14) λ =1 sλ : polos de G ( s ), zλ = e sλT . Calculamos ahora: 1 ; T1 G (s) = V ; (T1s + 1)(T2 s + 1) G (s) = V 1 R1 R2 ⋅ = + ; T1T2 ( s − s1 )( s − s2 ) ( s − s1 ) ( s − s2 ) polos en s1 = − s2 = − 1 ; T2 (4.15) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-6 siendo los residuos R1 = lim( s − s1 ) ⋅ G ( s ) = s → s1 V ; T1 − T2 R2 = lim( s − s2 ) ⋅ G ( s ) = s → s2 V . T2 − T1 (4.16) Aplicando ahora (4.14), y reemplazando valores se obtiene, z + r0 R1 1 − z1 R2 1 − z2 G ⋅ − ⋅ =C⋅ H G( z) = − s1 z − z1 s2 z − z2 ( z − z1 )( z − z2 ) siendo z1 = e −T / T1 = 0.606531 ; z2 = e −T / T2 = 0.904837 ; C= VT1 ( z1 − 1) − VT2 ( z2 − 1) = 0.020586 ; T2 − T1 r0 = T1 z2 (1 − z1 ) − T2 z1 (1 − z2 ) = 0.818894 ; T1 ( z1 − 1) − T2 ( z2 − 1) (4.17) valores calculados para el período de muestreo T=0.5 s. b) Transformación bilineal hacia el plano s de la planta discretizada: ( GH G ) ( s) = G 2+Ts H G( z ) z= (4.18) 2−Ts 2 + Ts ( GH G ) ( s) = C ⋅ 2 − Ts + r0 2 + Ts 2 + Ts − z1 − z2 2 − Ts 2 − Ts =V (s) (T ⋅ (T (s) 01 (s) 1 s + 1)(T02( s ) s + 1) s + 1)(T2( s ) s + 1) , (4.19) siendo los valores de los parámetros V (s) = C ⋅ 1 + r0 =1=V (1 − z1 )(1 − z2 ) T1( s ) = T 1 + z1 ⋅ = 1.020747 ≈ T1 2 1 − z1 T2( s ) = T 1 + z2 ⋅ = 5.004166 ≈ T2 2 1 − z2 T01( s ) = T 1 − r0 ⋅ = 0.024892 2 1 + r0 T02( s ) = − (4.20) T = −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. ( GH G ) (s) = V (s) (T ⋅ (T (s) 01 (s) 1 s + 1)(T02( s ) s + 1) s + 1)(T s + 1) (s) 2 =V (s) ⋅ T01( s )T02( s ) s 2 + (T01( s ) + T02( s ) ) s + 1 T s +1 (s) 1 ⋅ 1 , (4.21) T s +1 (s) 2 la constante de tiempo sustituta vale Te( s ) = T1( s ) − T01( s ) − T02( s ) = 1.245855 s ; (4.22) con lo que la función de transferencia aproximada queda: ( GH G )e ( s) = V (s) (Te( s ) s + 1)(T2( s ) s + 1) (4.23) 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). Fig. 4.5. Comparación de respuestas en frecuencia de las f.t. (4.21) y (4.23). Buena coincidencia para ω≤1 rad/s. Dimensionaremos ahora el controlador PI TI s + 1 V (s) K ( s ) ⋅ ( GH G )e ( s ) = K P ⋅ TI s (Te( s ) s + 1)(T2( s ) s + 1) (4.24) 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 Go ( s ) = K P ⋅V ( s ) T2( s ) s (Te( s ) s + 1) (4.25) por lo que la f.t. de lazo cerrado es: Gc ( s ) = Go ( s ) 1 1 = (s) (s) = 2 ; (s) 2ζ c s T2 1 + Go ( s ) T2 Te 2 + s +1 s + s +1 ωc2 ωc K P V (s) K P V (s) (4.26) igualando coeficientes y despejando obtenemos el valor de la ganancia del controlador: KP = T2( s ) 4ζ c2Te( s )V ( s ) (4.27) 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). d) Discretización del controlador calculado. Aplicando nuevamente la fórmula de Tustin para retornar al plano z obtendremos la expresión del controlador discreto T z −1 +1 T s +1 = KP 2 z + 1 K ( z ) = K P I T z −1 TI s s = T z −1 TI 2 z +1 TI 2 z +1 (4.28) = KP T + 2TI ⋅ 2TI z+ T − 2TI T + 2TI z −1 =C⋅ z + r0 z −1 reemplazando valores se llega a: z + r0 z − 0.904837 K ( z ) = C ⋅ , = 2.108659 ⋅ z −1 z −1 (4.29) con lo cual, queda completado el diseño. 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 G H G ( z ) = 0.020586 z + 0.818894 ( z − 0.606531)( z − 0.904837 ) (4.30) El controlador diseñado por el método simplificado z − 0.904761 K ( z ) = 2.625 z −1 no alcanza a compensar exactamente el mayor de los polos de (4.30) z2 = 0.904837, mientras que el controlador obtenido aplicando el método completo es: 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. Fig. 4.6. Respuesta vs. el período de muestreo, diseño completo en s. 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 4.1.3. Diseño directo en z. Método de compensación. Al contrario de lo que ocurre en el campo analógico, donde los amplificadores operacionales y componentes pasivos brindan una banda de soluciones para la realización de controladores limitada a la implementación de funciones de transferencia de orden reducido, con parámetros ajustables con baja precisión y reducida constancia temporal, las realizaciones discretas hacen practicable todo el abanico de soluciones de que dispone el proyectista, incluyendo controladores de orden superior, ya que la precisión de ajuste y estabilidad de los parámetros está garantizada por los elementos digitales, siendo las únicas fuentes de variaciones el offset y el error de ganancia de los convertidores A/D y D/A y, en mucha menor medida, las fluctuaciones de la base de tiempo empleada (reloj de cuarzo). El diseño de controladores por compensación ya ha sido desarrollada en el dominio continuo (véase en el Capítulo 1 el punto 1.8.1) y puede ser reproducida en el dominio discreto. Fig. 4.7. Sistema de control Se pretende lograr un comportamiento al comando prefijado Mw en un lazo de control con planta conocida G, siendo Mw la función que modeliza la respuesta deseada a la variable de comando W. Esto significa que la función de transferencia de lazo cerrado Gc ha de ser igual a Mw. Formalmente escribimos: Gc = KG = Mw 1 + KG ⇒ K= Mw 1 ⋅ 1− M w G (4.31) Compensación Fig. 4.8. Sistema con controlador compensador 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 Los requerimientos precedentes pueden transladarse al campo discreto. G ( z ) no puede poseer ni polos ni ceros con módulo mayor que uno (1). Mw debe ser elegido de tal manera que K resulte realizable. El problema se complica ulteriormente en los sistemas discretos a causa de la aparición de ceros adicionales en los alrededores de z0 ≈ –1 por efecto del muestreo, aun en el caso de plantas continuas muy elementales (ver ejemplo anterior). En la elección de la función modelo Mw han de tenerse en cuenta algunas particularidades de acuerdo a la distribución de polos y ceros de la función de transferencia de la planta G ( z ) . Escribiremos: B + ( z) B − ( z) z −r G ( z ) = z + z − Az ( z ) Az ( z ) (4.32) 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: M w ( z ) Az+ ( z ) K ( z ) = + ⋅ (4.33) Bz ( z ) Bz− ( z ) z − r 1 − M w ( z ) Al objeto de garantizar la realizabilidad y robustez del controlador, deben incorporarse al modelo tanto el tiempo muerto de r períodos, como los ceros exteriores al círculo unitario: de no hacerlo así, el controlador poseería polos inestables. Para reflejar estos requerimientos en (4.33) y asimismo la condición de precisión en estado de régimen (integrador), ha de ser M wr ( z ) ⋅ Bz− ( z ) z − r M w ( z) = M wr (1) ⋅ Bz− (1) (4.34) Az+ ( z ) M wr ( z ) 1 K ( z) = + ⋅ . ⋅ Bz ( z ) 1 − M wr ( z ) M wr (1) ⋅ Bz− (1) (4.35) En consecuencia Ejemplo aplicativo. continuación Retornamos a nuestra planta discretizada según (4.30), que repetimos a G H G ( z ) = 0.020586 z − z01 z + 0.818894 =C⋅ ( z − 0.606531)( z − 0.904837 ) ( z − z1 )( z − z2 ) (4.36) para el período de muestreo T = 0.5 s. La planta y dispositivo de retención se encuentran integrados en un lazo de control como muestra la Fig. 4.9 y el controlador discreto debe ser diseñado para que la operación del sistema a lazo cerrado se corresponda con el modelo propuesto. SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-12 D W K ( z ) – W Y G H G( z) M w ( z ) Y Fig. 4.9. Sistema a lazo cerrado y modelo de respuesta al comando. a) Modelo sin ceros. Se propone el siguiente modelo de funcionamiento: 1+ c + c M w ( z ) = 2 1 0 z + c1 z + c0 (4.37) mediante los dos polos del denominador se determinan la frecuencia natural y el amortiguamiento de lazo cerrado. La expresión del numerador 1 + c1 + c0 asegura una ganancia unitaria en estado de régimen M (1) = 1. De acuerdo a (4.31) es w K ( z ) = M w ( z ) 1 + c1 + c0 1 1 ( z − z1 )( z − z2 ) ⋅ = ⋅ ⋅ 2 z − z01 z + c1 z + c0 − (1 + c1 + c0 ) GH G ( z ) 1 − M w ( z ) C (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 G o ( z ) = K ( z ) ⋅ G H G( z) = 1 + c1 + c0 ( z − 1)( z + c1 + 1) (4.39) 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 El cero z01 de la planta se transforma en un polo oscilatorio con reducido amortiguamiento (polo real negativo) para el controlador, por lo que aparecen oscilaciones en la variable manipulada (salida del controlador), tal como se observa en la Fig. 4.10. Fig. 4.11. Ampliación de la variable controlada, Fig. 4.10. En la Fig. 4.11 se muestra ampliada la respuesta de la variable controlada, observándose con claridad las pequeñas ondas provocadas por el comportamiento oscilatorio de la variable manipulada. El comportamiento que acabamos de describir puede, en algunas circunstancias llegar a ser inestable o bien, en caso de plantas poco amortiguadas, dar origen a oscilaciones ocultas en la variable continua controlada. b) El modelo incluye los ceros de la planta. Se propone el siguiente modelo de funcionamiento: 1 + c1 + c0 z − z01 M w ( z ) = ⋅ 2 , 1 − z01 z + c1 z + c0 el factor constante asegura M w (1) = 1. (4.40) El controlador es ahora K ( z ) = M w ( z ) 1 ⋅ 1 − M w ( z ) G H G( z) (1 + c1 + c0 )( z − z01 ) 1 ( z − z1 )( z − z2 ) ⋅ K ( z ) = ⋅ 2 C z − z01 (1 − z01 ) ( z + c1 z + c0 ) − (1 + c1 + c0 )( z − z01 ) 1 + c1 + c0 ( z − z1 )( z − z2 ) K ( z ) = ⋅ ; C (1 − z01 ) ( z − 1)( z − z3 ) con z3 = c0 + z01 (1 + c1 ) . 1 − z01 (4.41) 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 ( z − 0.606531)( z − 0.904837 ) K ( z ) = 4.5401 ( z − 1)( z − 0.413463) (4.42) 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. W0 D G w ( z ) W K ( z ) – G H G( z) Y Fig. 4.13. Lazo de control con filtro de comando Igual a como procediéramos con controladores continuos en el Capítulo 1, diseñamos el controlador K ( z ) para obtener el comportamiento deseado ante la perturbación D y posteriormente dimensionamos el filtro G w ( z ) para lograr la respuesta requerida ante la variable de comando W . 0 SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-15 La función de transferencia deseada para la perturbación es: Y ( z ) G H G( z) M D ( z ) = = D( z ) 1 + K ( z ) G H G( z ) ⇒ G G ( z ) − M D ( z ) 1 1 K ( z ) = H = − , M D ( z ) GH G ( z ) GH G ( z ) M D ( z ) (4.43) 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 ) 1 + K ( z ) G G ( z ) ⇒ G w ( z ) K ( z ) M D ( z ) = M w ( z ) ⇒ M w ( z ) G w ( z ) = K ( z ) M D ( z ) H (4.44) 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. 4.2. Efecto del tiempo finito de cálculo del procesador. Hasta este momento hemos supuesto calladamente que los pulsos discretos poseen un tiempo de tránsito nulo a través del procesador: ello lleva a suponer que el tiempo de cálculo en el microcomputador es nulo, lo cual no es el caso en los sistemas reales. El tiempo de cálculo puede ser despreciado completamente tan sólo en el caso de plantas muy lentas, como las que aparecen en las industrias de procesos y que poseen constantes de tiempo del orden de minutos y hasta de horas. Las plantas electromecánicas presentan constantes de tiempo bien por debajo del segundo, de modo que el tiempo de cálculo representa una parte importante (30% a 80%) del período de muestreo. Aunque se puede recurrir a cambiar el procesador por otro más rápido, es una solución que se evita por razones de costo. La Fig. 4.14 compara los conceptos de tiempo de cálculo nulo y tiempo de cálculo finito. salida D/A salida D/A prg control Tiempo finito de cálculo prg control jitter background background DIAGRAMA DE TIEMPOS IDEAL DIAGRAMA DE TIEMPOS REAL Fig. 4.14. Diagramas de tiempos. SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-16 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). Si se supone, pesimísticamente, que el tiempo de cálculo abarca todo un período de muestreo (TC = T), ello se puede modelizar agregando un elemento de retardo (1/z) a la función de transferencia discreta de la planta. Si se desea modelizar la realidad, entonces se debe echar mano de la transformación z modificada y considerar a TC como un tiempo muerto más. Aplicando lo estudiado en 2.3.3. deberemos calcular la transformada z modificada de la planta (incluido el dispositivo de retención) sin tiempos muertos G H G ( z , γ ) = Zγ {GH ( s ) ⋅ G ( s )}γ = β (4.45) y, suponiendo que el único tiempo muerto es 0<TC<T resulta (ver (2.82) a (2.84)): TC = mT − β T ⇒ β = 1− TC ; T con m = 1. (4.46) La función de transferencia completa (planta + disp. retención + tiempo de cálculo) es entonces 1 G ( z ) = G H G( z, β ) . z (4.47) 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 4.3. Realización práctica de controladores discretos. La implementación práctica de un controlador discreto como por ejemplo el PI calculado en (4.29), que repetimos a continuación W E – K ( z ) U z + r0 1 + r0 z −1 U ( z ) =C⋅ = K ( z ) = C ⋅ z −1 1 − z −1 E ( z ) Y (4.48) Fig. 4.15. Controlador discreto. significa formular las ecuaciones de diferencia pertinentes y luego convertirlas en un algoritmo computacional mediante un lenguaje de programación adecuado. U ( z ) ⋅ (1 − z −1 ) = C (1 + r0 z −1 ) ⋅ E ( z ) u (tk ) − u (tk −1 ) = Ce(tk ) + Cr0 e(tk −1 ) como e(tk ) = w(tk ) − y (tk ) es (4.49) 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 pseudocódigo correspondiente sería: “Valores iniciales y coeficientes uviejo=0 eviejo=0 c=2.108659 r0=-0.904837 “Algoritmo de control w=adin(ch1) y=adin(ch2) e=w-y u=uviejo+c*e+c*r0*eviejo daout(u,ch3) uviejo=u eviejo=e “ingresar variable de comando desde ch1 “ingresar variable controlada desde ch2 “calcula error actual “calcula la señal de control “sacar la señal de control u por ch3 “actualiza señal de control vieja “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. Si bien la programación precedente es formalmente correcta, se pierde de vista el hecho que el controlador es un proporcional integrador, y como todo controlador con parte integradora puede estar sometido a windup si el actuador se satura. Se pierde también la visión de los parámetros primarios KP y TI que quedan enmascarados por los coeficientes C y r0 en (4.48). Por estas razones y porque en muchas instalaciones industriales se continúan utilizando controladores PID SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-18 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. Fig. 4.16. Controlador basado en microprocesador. Cortesía de ABB Industrial Systems. 4.3.1 Discretización de la ley de control PID. Enfoque aplicativo. Para implementar un controlador PID en una computadora digital es necesario, como ya sabemos, formular aproximaciones discretas de la derivada y de la integral que aparecen en la ley de control. Si mediante algún método de diseño en el dominio continuo hemos determinado los valores de los parámetros adecuados para obtener el comportamiento deseado del sistema a lazo cerrado, habremos definido totalmente los elementos de la expresión (1.19) que repetimos a continuación t 1 dr (t ) dy (t ) u (t ) = K P br (t ) − y (t ) + ∫ e(τ ) dτ + Td c − Ti 0 dt dt Acción Proporcional (4.50) En (4.50), el término proporcional es 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. Acción Integradora El término integral es 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 I (tk +1 ) = I (tk ) + KPh e(tk ) . Ti (4.52) 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 + D = − K PTd es decir: N dt dt Acción Derivadora que puede ser aproximada por la siguiente ecuación en diferencias, Td D(tk ) − D(tk −1 ) y (tk ) − y (tk −1 ) + D(tk ) = − K PTd N h h y reordenando obtenemos D(tk ) = Td K TN D(tk −1 ) − P d [ y (tk ) − y (tk −1 ) ] Td + Nh Td + Nh (4.53) 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 discretización más adecuado constituye un problema de optimización en el que concurren, entre otros factores, la frecuencia de muestreo utilizada y las características dinámicas de los conversores A-D y D-A empleados. P(tk ) = K P [br (tk ) − y (tk ) ] e(tk ) = r (tk ) − y (tk ) D(tk ) = Td {D(tk −1 ) − K P N [ y(tk ) − y(tk −1 )]} Td + Nh (4.54) u (tk ) = P(tk ) + I (tk ) + D(tk ) I (tk +1 ) = I (tk ) + KPh e(tk ) Ti El algoritmo descripto por las (4.54) se denomina algoritmo posicional porque su salida es la variable de control. En algunos casos el controlador está dispuesto de manera tal que su salida es proporcionada por un integrador (p.ej. un motor). En estos casos resulta natural modificar el algoritmo de modo que proporcione la velocidad de la variable de control (con mayor propiedad diríamos la derivada temporal de la variable de control). Un algoritmo de este tipo se denomina algoritmo de velocidad. La Fig. 38 muestra un diagrama de bloques analógicos de un algoritmo de velocidad. Algoritmos de Velocidad. Los algoritmos de velocidad se utilizaban en controladores antiguos construidos alrededor de motores (integradores mecánicos). En muchos casos, al cambiar la tecnología, los fabricantes retuvieron la estructura original para asegurar la compatibilidad con equipos preexistentes. Otra razón para el uso de algoritmos de velocidad es que facilitan la implementación de muchas cuestiones prácticas, tales como la protección anti-windup y la transición sin sacudidas ante cambios de parámetros. En implementaciones digitales los algoritmos de velocidad son también denominados algoritmos incrementales. y (br – y) e s 2 K PTd 1 + sTd N sKP Σ du dt Integrador externo 1/s KP/Ti Fig. 4.17. Diagrama en bloques correspondiente a la representación analógica de un algoritmo de velocidad. u SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-21 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) Algoritmo Incremental. 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): ∆P(tk ) = K P {b [ r (tk ) − r (tk −1 ) ] − y (tk ) + y (tk −1 )} ∆I (tk ) = KPh e(tk −1 ) Ti ∆D(tk ) = ad ∆D(tk −1 ) − bd [ y (tk ) − 2 y (tk −1 ) + y (tk − 2 ) ] ad = Td ; Td + Nh bd = (4.56) Td K P N Td + Nh 4.3.2 Aspectos Operativos. Prácticamente todos los controladores pueden funcionar en dos modos: manual o automático. En el modo manual la salida del controlador es manipulada directamente por el operador, usualmente accionando botones que incrementan o decrementan la salida. Un controlador puede también operar en forma combinada con otros controladores (p.ej. en una conexión en cascada), o con elementos no lineales tales como multiplicadores o selectores: ello origina más modos operativos. Los controladores poseen parámetros que pueden ser ajustados durante la operación. Cuando se producen cambios de modos y/o de parámetros, es esencial evitar que se produzcan transitorios de conmutación, por lo que se deberá diseñar un controlador con la estructura adecuada. Dado que el controlador es un sistema dinámico, es necesario asegurar que el estado del sistema sea el correcto al conmutar el controlador de modo manual a modo automático: es decir que la salida calculada por el algoritmo de control sea igual a la señal generada manualmente. A esto se denomina ‘transferencia sin sacudidas’ (en inglés ‘bumpless’). Transferencia sin sacudidas entre Manual y Automático. 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 CONTROL MANUAL + – + Σ 1/Tt – Σ 1/Tm –y 1/s KP Td s M e= r – y v Σ KP u A Σ KP/Ti – 1/s Σ + 1/Tt Fig. 4.18. Controlador PID que conmuta suavemente de modo manual (M) a modo automático (A). 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. Transferencia sin sacudidas ante Cambios de Parámetros. Si al implementar el algoritmo el estado interno del controlador es elegido como t xI = ∫ e(τ ) dτ 0 el término integral resulta I= KP xI . Ti Todo cambio en KP o en Ti dará por resultado un cambio en I. Para evitar sacudidas al modificar los parámetros, al implementar el término integrador, se deberá elegir el estado conforme a t K (τ ) xI = ∫ P e(τ ) dτ . (4.57) T ( τ ) i 0 Un caso en particular requiere de especiales precauciones: es cuando se implementa la asignación de peso al punto de ajuste (o variable de referencia). En este caso es necesario que la cantidad P + I sea invariante ante cambios en los parámetros. Ello conduce a que, cuando se cambian los parámetros, el estado I debe ser modificado de la manera siguiente: I nuevo = I viejo + K Pviejo ( bviejo r − y ) − K Pnuevo ( bnuevo r − y ) (4.58) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-23 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). 4.3.3 Pseudocódigo de Computadora. A modo de ilustración, el siguiente es el pseudocódigo para un algoritmo PID basado en las Ecs.(4.54) . El controlador maneja tanto el windup como la transferencia sin sacudidas ante variaciones de los parámetros. “Cálculo de coeficientes del controlador bi=Kp*h/Ti “ganancia ad=Td/(Td+N*h) “ganancia bd=Kp*N*Td/(Td+N*h) “ganancia ao=h/Tt “ganancia de integración derivativa derivativa de seguimiento (tracking) “Cambio de parámetros sin sacudidas I=I+Kpviejo*(bviejo*r-y)-Kp*(b*r-y) “invariancia de P+I “Algoritmo de control r=adin(ch1) y=adin(ch2) P=Kp*(b*r-y) D=ad*D-bd*(y-yviejo) v=P+I+D u=sat(v,umin,umax) daout(u,ch3) I=I+bi*(r-y)+ao*(u-v) yviejo=y “ingresar variable de referencia desde ch1 “ingresar variable del proceso desde ch2 “acción Proporcional “acción Derivativa “salida temporal para acción antiwindup “simula saturación del actuador “sacar variable de control u por ch3 “actualiza Integrador con antiwindup “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. 4.4. Controladores para tiempo de respuesta finito. En sistemas de control discretos con la estructura de la Fig. 4.19 para plantas continuas no derivadoras, es decir en las que se cumple G(0)≠0, se puede alcanzar una respuesta estacionaria en un número finito de períodos de muestreo t =NT para un escalón de comando w(t) =σ(t), de tal manera que el error actuante sea nulo e(t) =0 para t ≥ NT. Para que esto sea posible, la función de transferencia al comando debe poseer polos únicamente en el origen z =0. SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-24 w e e* – K(z) GH(s) CONTROLADOR DISP. RETENCIÓN u G(s) y PLANTA Fig. 4.19. Sistema de control discreto. Si G c ( z ) es la función de transferencia de lazo cerrado y W ( z ) = z /( z − 1) la excitación, entonces el desarrollo en fracciones parciales de la salida será z Y ( z ) = W ( z ) ⋅ G c ( z ) = + polinomio ( z −1 ) ; z −1 (4.59) 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 con u (t ) = u ( NT ) para t ≥ NT se debe lograr la condición de régimen y (t ) = 1 para t ≥ NT . La planta continua G(s) posee una respuesta al escalón que vale 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 y (t ) = c0σ (t ) + c1f1 + c2 f 2 + + cn f n ; t ≥ NT (4.63) 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. Ejemplo: sea la planta G(s) en la Fig. 4.19 G (s) = 1 s ( s + 1) con respuesta al escalón m(t ) = L −1 {G ( s ) / s} = −1 + t + e− t (4.65) para t ≥ NT es, de acuerdo a (4.62) N −1 y (t ) = ∑ uk [ m(t − kT ) − m(t − kT − T )] + u N m(t − NT ) k =0 N −1 − t − kT − t − kT −T ) y (t ) = ∑ uk −1 + ( t − kT ) + e ( ) + 1 − ( t − kT − T ) − e ( k =0 + u N −1 + ( t − NT ) + e − ( t − NT ) (4.66) 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 k =0 k =0 (4.67) 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: uN = 0 , N −1 N −1 ∑ uk ekT =0 , ∑u k =0 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 u0 = , T (1 − e−T ) −e −T u1 = ; T (1 − e −T ) uk = 0, ∀k ≥ 2. (4.69) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-26 Observamos en (4.69) que, a medida que el período de muestreo T disminuye u0 y u1 aumentan en valor absoluto, lo que significa que el esfuerzo de control se hace mayor y ello ha de ser así porque para llevar al sistema a su valor final en 2 períodos se emplea siempre la misma energía, por lo que si el período decrece la potencia puesta en juego ha de aumentar y junto con ella las amplitudes de u0 y u1 . Llevar en el límite el período de muestreo a cero T→0, significaría pasar al caso continuo, pero entonces la solución (4.69) pierde significado ya que u0 se haría infinito positivo y u1 infinito negativo. La consecuencia de este pequeño análisis es que el fenómeno de deadbeat solo existe en el dominio discreto, donde es realizable mediante secuencias finitas señales de control {u0, u1,... uN} de amplitud finita. 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. Fig. 4.20. Control deadbeat de G ( s ) = 1 para T = 1 s. s ( s + 1) u(t) es una secuencia finita de dos términos z − 0.368 U ( z ) = 1.582 − 0.582 z −1 = 1.582 . z (4.70) Independientemente de la estructura que se elija para su realización, la función de transferencia que liga W ( z ) = z /( z − 1) con la variable manipulada U ( z ) debe poseer la forma U ( z ) 1.582 ( z − 0.368 )( z − 1) = . W ( z ) z2 (4.71) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-27 La deducción de la función de transferencia del controlador discreto K ( z ) que ha de implementarse (ver Fig. 4.19) es también elemental. K ( z ) transforma la secuencia de error E ( z ) en la secuencia de control U ( z ) . Y siendo resulta z + 0.418 E ( z ) = 1 + 0.418 z −1 = z (4.72) U ( z ) 1.582 ( z − 0.368) K ( z ) = = . E ( z ) z + 0.418 (4.73) Si el valor de u0 = 1.582 resulta en un esfuerzo de control excesivo, siempre se puede lograr el deadbeat en más períodos de muestreo (N > n), imponiendo restricciones adicionales sobre la amplitud de los pulsos uk . Si se opta por ejemplo por tres períodos de muestreo, de acuerdo a la (4.68) habrá de cumplirse uk = 0, ∀k ≥ 3 u0 + u1 + u2 = 1/ T , ⇒ u0 + eT u1 + e2T u2 = 0, 1 , u0 = eT u2 − T (1 − eT ) (4.74) u1 = − (1 + eT ) u2 + 1 T (1 − eT ) para u2 = 0 la solución coincide con la precedente (4.69); se darán a continuación otros ejemplos de solución para diferentes tipos de restricciones. 1. La exigencia que la “energía de actuación” u02 + u12 + u22 sea un mínimo conduce a: u0 = eT , 2T ( eT − 1) para T = 1: u1 = 1 , 2T u0 = 0.791, u2 = 1 2T (1 − eT ) u1 = 0.5, (4.75) u2 = −0.292 2. Para una limitación del esfuerzo máximo de actuación u se encuentra la solución e 2T u0 = u1 = , T ( 2e 2T − eT − 1) para T = 1: u2 = u0 = u1 = 0.667, − (1 + eT ) T ( 2e 2T − eT − 1) (4.76) u2 = −0.334 Y los controladores correspondientes se calculan de acuerdo al procedimiento expuesto precedentemente. 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 Partiendo de M w ( z ) que representa un modelo de respuesta al comando en tiempo finito para un lazo de control, se puede calcular el controlador K ( z ) correspondiente, empleando el procedimiento de compensación y seguimiento de modelo. Sea N el número períodos de muestreo requeridos para alcanzar el estado de régimen; N debe ser como mínimo igual al orden n de la planta controlada. Con estos requerimientos el modelo propuesto tiene la forma M w ( z ) = q0 + q1 z −1 + q2 z −2 + + qN z − N (4.77) Adicionalmente deberá cumplirse que también la señal de control se encuentre en estado estacionario, pues de lo contrario la planta seguiría siendo excitada y la salida asumiría el valor deseado tan solo en los instantes de muestreo. Si la planta posee una función de transferencia z dada por B + ( z) B − ( z) z −r G ( z ) = z + z − Az ( z ) Az ( z ) (4.78) 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. Imponiendo el requerimiento de estabilidad de la planta Az− ( z ) = 1 , (4.78) puede ser reescrita como β + + β1+ z −1 + + β j+ z − j )( β0− + β1− z −1 + + β k− z − k ) Bz+ ( z ) Bz− ( z ) z − r −r ( 0 G( z) = =z (4.79) 1 + α1 z −1 + + α1 z − n Az+ ( z ) y el controlador se calcula mediante la conocida expresión, ver (4.31), M w ( z ) 1 K ( z ) = ⋅ . G ( z ) 1 − M w ( z ) (4.80) 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 ) . G ( z ) (4.81) Ello puede lograrse, si el modelo M w ( z ) contiene también el polinomio Bz+ ( z ) además de contener a Bz− ( z ) y a z − r . Véanse al respecto las consideraciones realizadas para (4.33). M ( z ) Bz+ ( z ) Bz− ( z ) z − r M w ( z ) = 2 w M 2 w (1) Bz+ (1) Bz− (1) (4.82) SISTEMAS DE CONTROL APLICADO - Capítulo 4 - pág. 4-29 Reemplazando se obtiene para G u ( z ) M ( z ) M 2 w ( z ) Bz+ ( z ) Bz− ( z ) z − r Az+ ( z ) 1 G u ( z ) = w = ⋅ + − − r Bz ( z ) Bz ( z ) z M 2 w (1) Bz+ (1) Bz− (1) G ( z ) (4.83) = + z M 2 w ( z ) A ( z ) M 2 w (1) Bz+ (1) Bz− (1) Eligiendo M 2 w ( z ) como polinomio en z −1 se alcanza el estado estacionario en un número finito de períodos de muestreo. Si además se elige el modelo de modo de emplear n+p períodos en alcanzar el estado de régimen, pueden variarse las amplitudes de la señal de control para satisfacer un criterio de performance adicional (p.ej.: minimizar de la energía de actuación). El cálculo resulta independiente del valor absoluto del período de muestreo, pero el esfuerzo de actuación resulta recíprocamente creciente respecto del período de muestreo. 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.