Está en la página 1de 11

1er curso de Ingeniera Industrial:

Ingeniera de Control

Prctica 10:
Diseo de compensadores con MATLAB.

Departamento de Ingeniera electrnica, Telecomunicacin y Automtica. rea de Ingeniera de Sistemas y Automtica.

Prctica 10. Diseo de compensadores con MATLAB

OBJETIVOS:
Presentar los procedimientos para el diseo y la compensacin de sistemas de control de una entrada y una salida invariantes con el tiempo utilizando el mtodo del lugar de las races.

1. COMPENSACIN DE SISTEMAS. INTRODUCCIN


Los sistemas de control se disean para realizar tareas especficas. Los requisitos impuestos sobre el sistema de control, se dan como especificaciones de comportamiento (una respuesta transitoria o estacionaria con unas caractersticas determinadas). Un primer paso para conseguir un comportamiento satisfactorio del sistema sera establecer su ganancia. Sin embargo, en muchos casos prcticos, ajustando nicamente la ganancia, no se proporciona una alteracin suficiente para que el sistema pueda cumplir las especificaciones dadas, adems si incrementamos la ganancia en exceso, conseguiremos una mejora en el comportamiento estacionario del sistema pero al mismo tiempo reduciremos su estabilidad. Para que el sistema cumpla con las especificaciones deseadas, se introduce un nuevo elemento denominado compensador, que modifica el comportamiento deficiente del sistema original. Normalmente los compensadores y controladores utilizados son los compensadores de adelanto, los de retardo, los de retardo-adelanto y los controladores PID. En esta prctica se analiza el mtodo del lugar de las races para disear compensadores de adelanto, de retardo y de retardo-adelanto. El mtodo del lugar de las races es una tcnica grfica que permite determinar las localizaciones de todos los polos en lazo cerrado a partir de las localizaciones de los polos y ceros en lazo abierto cuando algn parmetro (generalmente la ganancia) vara de cero a infinito. En muchas ocasiones un ajuste de la ganancia es insuficiente para conseguir que nuestro sistema cumpla con unos requisitos determinados, siendo necesario aadir polos y/o ceros (efecto del compensador), sobre el lugar de las races original. La adicin de un polo a una funcin de transferencia en lazo abierto, tiene el efecto de desplazar el lugar de las races hacia le derecha, lo cual tiende a disminuir la estabilidad relativa del sistema y el tiempo de asentamiento de la respuesta. Al aadir un cero a la funcin de transferencia en lazo abierto, se consigue desplazar el lugar de las races hacia la izquierda, consiguiendo de esta forma hacer el sistema ms estable y acelerar el tiempo de asentamiento de la respuesta. Los compensadores se pueden colocar en serie con la planta (compensacin en serie) o en paralelo (compensacin en paralelo o mediante realimentacin). Nos centraremos en el primer tipo de compensacin, compensacin en serie.

2. COMPENSADORES DE ADELANTO.
Existen muchas formas de obtener compensadores de adelanto, por ejemplo, redes electrnicas que utilizan amplificadores operacionales, redes RC elctricas y sistemas amortiguadores mecnicos.
+ -

Gc(s)

G(s)

La funcin de transferencia de un compensador de adelanto sera:

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


1 Ts + 1 T = Kc Gc ( s ) = K c 1 Ts + 1 s+ T s+

(0 < < 1)

Veamos con un ejemplo cmo disear este tipo de compensador. Consideremos el siguiente sistema de la figura 1 donde:

Figura 1. Diagrama de bloques

G ( s) =

4 s ( s + 2)

H ( s) = 1

Se pretende que el sistema cumpla con las siguientes especificaciones: Paso 1: Hallar los polos en lazo cerrado del sistema original. Utilizando Matlab tendramos:
>> fun_g=tf([4],[1 2 0]); >> fun_h=tf([1],[1]); >> fun_m=feedback(fun_g,fun_h) Transfer function: 4 ------------s^2 + 2 s + 4

Frecuencia natural no amortiguada n=4 rad/seg. Factor de amortiguamiento relativo =0.5.

Para saber cuales son los polos en lazo cerrado escribimos:


>> roots([1 2 4]) ans = -1.0000 + 1.7321i -1.0000 - 1.7321i

Paso 2: Nos piden que:

n j n 1 2

donde = 0.5 y n= 4 rad/seg.

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


Por lo tanto, el polo dominante ha de tener las siguientes coordenadas:

s = 2 j 2 3
Si dibujamos el lugar de las races de nuestro sistema tenemos: >> fun_g=tf([4],[1 2 0]) Transfer function: 4 --------s^2 + 2 s >> rlocus(fun_g) >> v=[-5 2 -3 3]; >> axis(v)

Figura 2. Lugar de las races sin compensacin.

Puede observarse que variando nicamente la ganancia no sera suficiente para obtener el polo en lazo cerrado deseado ( s = 2 j 2 3 ). Paso 3: En este paso se hallaran los polos y ceros del compensador que modifiquen a la funcin de transferencia G(s) de forma que el polo en lazo cerrado sea el que se ha definido en el Paso 2. La funcin de transferencia del compensador ser:

1 Ts + 1 T = Kc Gc ( s ) = K c 1 Ts + 1 s+ T s+

(0 < < 1)

Hay muchos valores de T y que producirn la contribucin de ngulo necesaria en los polos de lazo cerrado. En este paso, y mediante el procedimiento grfico explicado a continuacin, se determinarn las localizaciones del polo y cero del compensador de adelanto. En primer lugar definimos el punto P con las coordenadas del punto que nos interesara tener en lazo cerrado s = 2 j 2 3 . Tambin sabemos que es el ngulo con el que debe de contribuir el compensador de adelanto si el nuevo lugar de las races va a pasar por las localizaciones deseadas de los polos dominantes en lazo cerrado. ste se determinar a partir de la condicin de argumento. Grficamente, el procedimiento es el siguiente: primero dibujamos una lnea horizontal que pasa por el punto P, tambin unimos este punto con el origen O. El ngulo formado por estas dos lneas ser . Trazamos la bisectriz (PB) a este ngulo y tomamos

con la bisectriz PB. Las intersecciones de PC y

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


PD con el eje real negativo proporcionan la localizacin necesaria para el polo y cero de la red de adelanto (ver Fig.3). Por tanto el compensador diseado har de P un punto sobre el lugar de las races del sistema compensado. La ganancia en lazo abierto se determina a partir de la condicin de magnitud.

/2
/2

P
/2

B D

Figura 3. Determinacin del polo y del cero de una red de adelanto.

De forma analtica, los clculos a realizar seran:

= arctg

Py Px

= 60 donde Py = 2 3 y Px = 2;

= 180 ; donde es el ngulo formado entre PA y PO.


Px2 + Py2 = 4

El mdulo de OP ser: OP =

Por otro lado, el ngulo con el que debe de contribuir el compensador de adelanto para que la suma total de los ngulos sea de 180(2k+1) se obtiene a partir del argumento de G(s) para el polo deseado:

4 s ( s + 2)

s = 2 + j 2 3

4 = arctg 12 j 4 3 = 30

Por tanto el compensador debe de contribuir con 30, es decir, = 30. El paso siguiente es calcular los siguientes ngulos:

C = 180 / 2 / 2 = 45 ; sabiendo que ambos casos la suma de los ngulos que forman D = 180 / 2 + / 2 = 75.
sus respectivos tringulos es de 180.

Para determinar la posicin del polo y el cero, aplicamos el teorema del seno obteniendo:

sen C = OP

sen(

+ ) 2 2 OC

sen D = OP

sen(

) 2 2 OD

Resultando el siguiente valor de los segmentos: OC = - 5.4. OD = -2.9 donde OC ser el polo en s y OD el cero en s. Entonces:

T=

1 = 0.345 2.9

T =

1 = 0.185 5.4

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


Por tanto =0.537. Finalmente, la funcin en lazo abierto del sistema compensado se convierte en:

GC ( s )G ( s ) = K C

4 s + 2.9 K ( s + 2.9) = s + 5.4 s ( s + 2) s ( s + 2)( s + 5.4)

Para calcular la ganancia K, utilizamos la condicin de magnitud de la siguiente forma:

K ( s + 2.9) s ( s + 2)( s + 5.4)

=1
s = 2 + j 2 3

Resolviendo obtenemos K=18.7. Por lo tanto, Kc=18.7/4=4.68. Representando el lugar de las races se obtiene: >> den=conv([1 2 0],[1 5.4]) >> num=conv([18.7],[1 2.9]) >> fs=tf(num,den) Transfer function: 18.7 s + 54.23 ---------------------s^3 + 7.4 s^2 + 10.8 s >> rlocus(fs) >> axis(v)

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB

Figura4. Lugar de las races del sistema compensado.

Por otro lado, la constante de error esttico de velocidad sera de:

K v = lim sGc ( s ) G ( s ) = lim


s >0 s >0

s 18.7( s + 2.9) = 5.02 seg 1 s ( s + 2)( s + 5.4)

5. COMPENSADORES DE RETARDO.
Si un sistema presenta caractersticas satisfactorias de respuesta transitoria, pero por el contrario no las tiene en rgimen estacionario, para compensarlo bastara con incrementar la ganancia en lazo cerrado, sin modificar notablemente las caractersticas de la respuesta transitoria. Esto quiere decir que no debe cambiarse de manera significativa el lugar de las races en la proximidad de los polos dominantes en lazo cerrado, sino que debe incrementarse la ganancia en lazo abierto tanto como se necesite. Esto se consigue colocando un compensador de retardo en cascada con la funcin de transferencia del sistema. Para evitar un cambio apreciable en el lugar de las races, la contribucin del ngulo de la red de retardo debe limitarse a un valor pequeo por tanto se sitan el polo y el cero relativamente cerca y cerca del origen del plano s. La ecuacin de un compensador de retardo podra ser:

1 T Gc ( s ) = K c 1 s+ T s+
Veamos el clculo de un compensador de retardo a travs de un ejemplo: Sea el sistema: G ( s ) =

1.06 s ( s + 1)( s + 2)

Se pretende incrementar la constante de error esttico de velocidad hasta cerca de 5seg-1 sin modificar notablemente la ubicacin de los polos en lazo cerrado. Paso 1: Dibujar el lugar de las races y ubicar los polos en lazo cerrado. >> den=conv([1 1 0],[1 2]) % para calcular el denominador. >> fun=tf([1.06],den) Transfer function: 1.06 ----------------s^3 + 3 s^2 + 2 s >> rlocus(fun) >> fu=tf([1],[1]); >> fa=feedback(fun,fu) Transfer function: 1.06

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


-----------------------s^3 + 3 s^2 + 2 s + 1.06 >> roots([1 3 2 1.06]) ans = -2.3386 -0.3307 + 0.5864i -0.3307 - 0.5864i

Figura 5. Lugar de las races del sistema no compensado

Los polos dominantes en lazo cerrado son: s=-0.3307 +/- 0.5864i del cual se obtendra un factor de amortiguamiento de 0.491 y una frecuencia natural no amortiguada de 0.673 rad/seg. Paso 2. La constante de error esttico de velocidad de G(s), ser:

K v = lim sG ( s ) = 0.53seg 1
s >0

Paso 3.

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB


Para cumplir las especificaciones del ejercicio, insertamos un compensador de retardo, que debe de incrementar el error esttico de velocidad en un factor de aproximadamente 10 (5/0.53), por tanto =10. Paso 4: Para determinar la funcin de transferencia del compensador, situamos el polo cerca del origen (s = 0.005), por lo tanto, para un =10, el celo del compensador estara en s = 0.05:

Gc ( s ) = K c

s + 0.05 s + 0.005

De esta forma comprobamos que la contribucin de los polos y ceros del compensador al rgimen transitorio ser muy pequea. La funcin de transferencia en lazo abierto del sistema compensado ser:

Gc ( s )G ( s ) =
Paso 5.

K ( s + 0.05) s ( s + 0.005)( s + 1)( s + 2)

K=1.06Kc

La grfica del lugar de las races para el sistema compensado puede verse en la figura 6.

Figura 6. Lugar de las races del sistema compensado.

Los nuevos polos dominantes en lazo cerrado se muestran en negrita:


>> f_lc=feedback(fun_compensada,fu) Transfer function: 1.06 s + 0.053

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB

-------------------------------------------s^4 + 3.005 s^3 + 2.015 s^2 + 1.07 s + 0.053 >> roots([1 3.005 2.015 1.07 0.053]) ans = -2.3339 -0.3082 + 0.5657i -0.3082 - 0.5657i -0.0547

Paso 7. Ajuste de la ganancia. La ganancia del sistema en lazo abierto es:

K=

s ( s + 0.005)( s + 1)( s + 2) s + 0.05

= 1.0235
s = 0.31+ j 0.55

Donde, la ganancia del compensador es estimada como: Kc=K/1.06=0.9656. Por tanto, la funcin de transferencia del compensador diseado ser:

Gc ( s ) = 0.9656

s + 0.05 s + 0.005

Finalmente, la funcin de transferencia del sistema compensado en lazo abierto es:

G1 ( s ) =
Donde, si calculamos de nuevo Kv.

1.0235( s + 0.05) s ( s + 0.005)( s + 1)( s + 2)

K v = lim sG1 ( s ) = 5.12 seg 1 .


s >0

Vemos que se ha conseguido el objetivo de diseo que es incrementar la constante de error esttico hasta cerca de Kv=5seg-1.

6. COMPENSADORES DE RETARDO-ADELANTO.
Como se ha visto anteriormente, la compensacin de adelanto acelera la respuesta e incrementa la estabilidad del sistema. La compensacin de retardo mejora la precisin en estado estacionario del sistema, pero reduce la velocidad de respuesta. Si se desea mejorar ambas respuestas, debe utilizarse de forma simultnea un compensador de adelanto y un compensador de retardo, siendo ms econmico utilizar un compensador de adelanto-retardo.

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

Prctica 10. Diseo de compensadores con MATLAB

EJERCICIO 1.
Para el sistema de control de la figura, disear un compensador de retardo Gc(s) tal que la constante de error esttico de velocidad Kv sea 50 seg-1 sin modificar notablemente la localizacin original de los polos en lazo cerrado que estn en: s = 2 j 6

Gc(s)

10 s( s + 4)

Estudiar las respuestas del sistema (compensado y sin compensar) ante un entrada escaln unitario.

EJERCICIO 2
En el sistema de la figura, disear un compensador de adelanto para que los polos dominantes en lazo cerrado se localicen en s = 2 j 2 3 . Dibujar la respuesta a una entrada escaln del sistema diseado con Matlab.

Gc(s)

5 s (0.5s + 1)

rea de Ingeniera de Sistemas y Automtica. Curso 2007/2008

10