Matlab2 - Funciones RLocus Bode Nyquist
Matlab2 - Funciones RLocus Bode Nyquist
Matlab2 - Funciones RLocus Bode Nyquist
Indice General
1 Introduccion
.
.
.
.
1
1
2
2
2
Respuesta en Frecuencia
bode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Funcion
Nyquist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Funcion
5
5
6
Diseno
de control
rltool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Funcion
7
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Introduccion
En este apunte veremos algunas funciones de M ATLAB relacionadas con lugar de las races, grafico
de Bode y de Nyquist. Entre ellas nos centralizaremos en detallar las siguientes:
Comando
rlocus
rlocfind
rltool
zpmap
bode
nyquist
Breve explicacion
Calcula y grafica el lugar de las races de un sistema LTI SISO
Encuentra la ganancia del lugar de las races para polos dados
un compensador SISO usando lugar de las races
Permite disenar
Calcula y grafica polos y ceros de un sistema LTI
Respuesta en frecuencia de Bode para modelos LTI
Respuesta en frecuencia de Nyquist para modelos LTI
Tabla 1: Comandos de Matlab
2.1
rlocus
Funcion
Calcula y grafica el lugar de las races de un sistema LTI SISO. El grafico del lugar de las races se
negativa de la Figura 1 y muestra las trayectorias de
utiliza para analizar el lazo de realimentacion
los polos a lazo cerrado cuando la ganancia K vara de 0 a .
- h - sys
6
K
G (s) =
sys(s)
1 + Ksys(s)
negativa y su funcion
de transferencia
Figura 1: Realimentacion
Herramientas de M ATLAB - 2
no le ingresamos dicho parametro, K vara de 0 a . El sistema puede ser ingresado como funcion
transferencia, con el comando tf o zpk, o simplemente pasandole el numerador y el denominador
del sistema, es decir rlocus(num,den).
2.2
rlocfind
Funcion
nos permite hallar la ganancia del grafico del lugar de races correspondiente para un
Esta funcion
conjunto de polos dados. El comando ingresado de la siguiente forma
[K,polos]=rlocfind(sys);
se utiliza para seleccionar la ganancia del lugar de las races generado por rlocus en forma interactiva. Luego de ejecutado dicho comando, aparece una cruz sobre el grafico del lugar de las races
con el que seleccionaremos el lugar deseado para los polos a lazo cerrado. La ganancia asociada con
el punto seleccionado es la que este comando devuelve en la variable K y todos los polos a los que
le corresponde esa ganancia los devuelve en la variable polos.
2.3
sgrid
Funcion
Genera una grilla en el plano complejo s para un lugar de las races ya existente o un mapa de
polos y ceros. Se dibujan lneas de amortiguamiento () y frecuencia natural (n ) constantes. El
comando se utiliza de la siguiente forma:
sgrid(z,wn)
2.4
Ejemplos
K
,
s(s + 2)
vamos a calcular el lugar de las races. Para ello ingresamos los siguientes comandos desde el
WorkSpace de M ATLAB
sys=zpk([],[0 -2],1);
rlocus(sys);
sys=tf(1,[1 2 0]);
obteniendo la Figura 2
Si tomamos el mismo sistema pero le agregamos un polo en p = 3 y otro en p = 4, e
ingresamos nuevamente los comandos correspondientes, obtenemos los graficos de la Figura 3 respectivamente, en donde observamos como el grafico se ve forzado hacia la derecha debido a cada
polo que agregamos.
de transferencia:
Ejemplo 2. Supongamos ahora una planta con la siguiente funcion
G (s) H (s) =
K (s + 1)
,
s2 (s + )
donde = 10, 9, 8 y 3
Si ejecutamos los mismos comandos que en el ejemplo anterior, es decir, ingresamos primero el
sistema y luego le calculamos el lugar de races, obtenemos los resultados que se observan en la
Figura 4 y 5
Herramientas de M ATLAB - 3
1.5
Imag Axis
0.5
0.5
1.5
2
3
2.5
1.5
0.5
Real Axis
0.5
1.5
Imag Axis
4
6
2
Real Axis
2
Imag Axis
Imag Axis
10
4
Real Axis
8
10
4
Real Axis
Herramientas de M ATLAB - 4
4
2
Imag Axis
Imag Axis
2
2
4
3
4
4
1
Real Axis
Real Axis
Existen casos donde queremos analizar el comportamiento de un sistema a lazo cerrado (LC),
pero donde el parametro variable no aparece como un factor multiplicativo (como lo es la ganancia
K en los ejemplos anteriores) del sistema a lazo abierto (LA). En esos casos tenemos que reescribir la
caracterstica de forma tal que el parametro variable aparezca como un factor multiplicatiecuacion
ilustran
vo de G (s) H (s) y as podremos utilizar el comando rlocus. Los ejemplos a continuacion
como
podemos proceder en distintos casos.
de transferenEjemplo 3. Grafiquemos el lugar de las races del diagrama de la Figura 6. La funcion
R(s) - h - h 66
20
(s+1)(s+4)
C (s)
1
s
k
20
s(s + 1)(s + 4) + 20ks
s3
+ 5s2
Ks
+ 4s + 20
1+K
num(s)
.
den(s)
1
(s + 1)(s + 2)
C (s) = 4
(s + )
.
s
s +
s(s2 + s 2) + 4s + 4
=
=0
s(s2 + s 2)
s(s2 + s 2)
s(s2 + s + 2) + 4 = 0
Herramientas de M ATLAB - 5
a la forma 1 + kG (s),
Si dividimos ambos miembros por s(s2 + s + 2), convertimos la ecuacion
donde
1
k = 4
y
G (s) =
s(s2 + s + 2)
Lo unico
que queda ahora es ingresar el comando rlocus para obtener la Figura 7
3
Imag Axis
3
1
0.8
0.6
0.4
0.2
0
Real Axis
0.2
0.4
0.6
0.8
Respuesta en Frecuencia
3.1
bode
Funcion
nos permite obtener la respuesta en frecuencia de Bode para modelos LTI. Entre las
Esta funcion
se encuentran:
formas mas comunes de utilizar esta funcion
bode(sys): dibuja el grafico de Bode del modelo LTI sys (creado con tf o zpk). El rango de
frecuencia y el numero
de puntos que tomara para graficar los elige en forma automatica.
bode(sys,wmin,wmax): dibuja el grafico de Bode para frecuencias entre wmin y wmax (en
rad/seg).
bode(sys,w): utiliza el el vector w de frecuencias propuesto para calcular el Bode. Dado
logspace que
que el vector w debe estar en escala logartmica, existe en M ATLAB la funcion
genera un vector de frecuencias en forma logartmica.
bode(sys1,sys2,...,w): dibuja el grafico de Bode de varios modelos LTI en una sola figura. El parametro w es opcional, tambien se puede especificar color, tipo de linea y marcadores
como se los utiliza con el comando plot.
[mag,fase]=bode(sys,w) o [mag,fase,w]=bode(sys): devuelve la magnitud y la fase
en grados. Este comando no dibuja en pantalla, mag(:,:,k) y fase(:,:,k) determina la respuesta en
w(k). Para obtener magnitudes en dB, debemos calcular magdb=20*log10(mag).
Herramientas de M ATLAB - 6
2500
s(s + 5)(s + 50)
50
100
150
50
To: Y(1)
100
150
200
250
300
1
10
10
10
10
10
Frequency (rad/sec)
3.2
Nyquist
Funcion
nos permite obtener la respuesta en frecuencia de Nyquist para modelos LTI. Entre las
Esta funcion
se encuentran:
formas mas comunes de utilizar esta funcion
nyquist(sys): dibuja el grafico de Nyquist de sys que es un modelo LTI creado con los
el ultimos
de los tems que se reemplaza por:
[Re,Im]=nyquist(sys,w) o [Re,Im,w]=nyquist(sys): devuelve la parte real e imaginaria de la respuesta en frecuencia, a lo largo de w. La respuesta a la frecuencia w(k) esta
dada por Re(:,:,k)*Im(:,:,k)
transferencia viene dada por
Ejemplo 6. Dado el sistema cuya funcion
G (s) =
obtener el diagrama de Nyquist.
Para ello ingresamos los siguientes comandos
G=zpk([],[-1 -1],1);
nyquist(G)
y obtuvimos la Figura 9
1
(s + 1)2
Herramientas de M ATLAB - 7
Nyquist Diagrams
From: U(1)
0.8
0.6
0.4
To: Y(1)
Imaginary Axis
0.2
0.2
0.4
0.6
0.8
1
0.8
0.6
0.4
0.2
0.2
0.4
0.6
0.8
Real Axis
de control
Diseno
Examinar como
cambiando los parametros del compensador, cambia el lugar de las races y
unitario, respuesta al impulso
varias respuestas a lazo cerrado, como la respuesta al escalon
unitario, diagramas de Bode y/o Nyquist entre otros.
4.1
rltool
Funcion
Para explicar mejor el uso de esta herramienta, seguiremos un ejemplo que involucra un servomecanismo electro-hidraulico, que esencialmente es un amplificador de potencia electro-hidraulico,
controlado por una valvula piloto y un actuador, Figura 10. Estos servomecanismos son muy pe y se utilizan para controlar posicion.
Un modelo a lazo cerrado para el control de posicion
quenos
puede representarse como aparece en la Figura 10 (detalles del modelado matematico del mecanis ver [2, pag. 91] o [1, pag. 43]).
mo y su linealizacion
4.107
s(s + 250)(s2 + 40s + 9.104 )
Herramientas de M ATLAB - 8
u -h K (s)
6
- Gservo (s)
y
-
Figura 10: Servomecanismo electro-hidraulico y el diagrama de bloques del sistema mas el compensador, respectivamente.
Herramientas de M ATLAB - 9
Para comenzar, desde el workspace de M ATLAB, ingresemos el comando rltool, con el que
abrimos una nueva ventana, Figura 11, en la que encontramos:
entre los que encontramos, por ejemplo, una opcion
para importar/exportar
Una barra de menu,
modelos y para editarlos.
que utilizaremos; si hacemos
Un grafico de bloques que es la estructura de realimentacion
click sobre el bloque K, podemos ver o editar el compensador, y sobre P, F o H para ver las
del modelo.
caractersticas de diseno
para cambiar entre realimentacion
negativa y positiva.
Un boton
del compensador que configuraremos. Por defecto toma el valor de ganancia
Una descripcion
igual a 1 (K = 1).
Cuatro botones que utilizaremos para agregar polos o ceros del compensador, borrarlos o
moverlos.
Un cuadro de texto para editar la ganancia que modificara el lugar de los polos a LC.
Botones para editar los ejes.
Botones para modificar el zoom del grafico.
Check boxes para abrir herramientas de analisis de respuesta del sistema.
Herramientas de M ATLAB - 10
400
Imag Axes
200
200
400
600
800
600
400
200
200
400
600
Real Axis
Figura 12: Lugar de las races que resulta cuando cargamos el modelo
Veamos hasta que valor de ganancia podemos aplicarle al compensador para que se mantenga
estable a lazo cerrado, es decir, hasta que los polos a lazo cerrado se mantengan en el semi-plado
izquierdo del plano complejo. Este lmite lo podemos calcular de la siguiente forma:
1. Mover el puntero del mouse sobre un de los cuadrados rojos, donde aparecera una mano en
lugar del puntero. Arrastrar dicho cuadrado hasta lo mas cerca del eje imaginario. Observar
que el valor de la ganancia se va modificando.
2. Como no podemos saber si los polos se encuentran exactamente sobre el eje imaginario, utilizar el zoom para acercarlos mejor. Una vez alcanzado el eje imaginario, quitar el zoom con el
de los binoculares.
boton
3. Por ultimo,
verificar que la ganancia correspondiente para que los polos a lazo cerrado sean
imaginarios puros es aproximadamente 43.5 (ganancia crtica).
El valor de la ganancia podra haberse modificado directamente desde el recuadro correspondiente a la ganancia del compensador, hasta que los polos a lazo cerrado se ubiquen sobre el eje
imaginario.
el compensador, quisieramos conocer como
Antes de disenar
se comporta el sistema a lazo cerrado para un determinado valor de ganancia. Para ello, debemos seleccionar el check box que aparece
Herramientas de M ATLAB - 11
Para disenar
queremos que se ubiquen los polos a
lazo cerrado para que las especificaciones se cumplan. Por eso vamos a elegir del menu Tools, la
Add Grid/Boundary, que realizara rectas donde se especifiquen, en este caso le indicaremos
opcion
el tiempo de establecimiento igual a 0.05 seg. y el factor de amortiguamiento igual a 0.7 (ver [1,
contratapa]) . Una vez seleccionados dichos valores, veremos que en el grafico aparecen las dos
rectas correspondientes a las caractersticas ingresadas. Ahora sabemos que para que se cumplan
los polos dominantes del sistema a lazo cerrado deberan ubicarse en
las especificaciones de diseno,
de dichas rectas. Para ello, debemos mover el lugar de las races agregando polos y
la interseccion
ceros al compensador. Para ello debemos proceder de alguna de las siguientes formas:
correspon Utilizando los botones de agregar, o quitar, polos o ceros: seleccionar el boton
400
Imag Axes
200
200
400
600
800
600
400
200
200
400
Real Axis
600
Herramientas de M ATLAB - 12
Step Response
From: U(1)
To: Y(1)
Amplitude
0.8
0.6
0.4
0.2
0
0
0.005
0.01
0.015
0.02
0.025
0.03
0.035
0.04
0.045
0.05
Time (sec.)
Utilizando el menu Edit compensator del menu Tools, o haciendo un click sobre el compensador del grafico de bloques de la derecha. Si ya realizamos el procedimiento anterior, sabemos
que los polos, ceros y ganancia del compensador se puede aproximar con
K = 9.7
Polos = 110 140i
Ceros = 70 270i
Una vez encontrado el compensador que lleva a nuestro sistema a que cumpla con las especifi Export podemos
caciones dadas, podemos guardar los parametros desde el menu File, con la opcion
llevarlo a un disco, o al workspace de M ATLAB.
Referencias
[1] Gene F. Franklin, J.David Powel, and Abbas Emami-Naeini. Control de Sistemas Dinamicos con
Retroalimentacion. Addison-Wesley Iberoamericana, 1991.
[2] Katsiuko Ogata. Control Moderno. Pentice Hall, 1998.