Está en la página 1de 14

Instituto Tecnolgico de Morelia

Lugar Geomtrico de las Races

Control I
Alumnos: No Caldern Esquivel Jos Garca Garduo Ricardo Cuevas Enrique Guzmn Profesor: Dr. Osvaldo Gutirrez Snchez

Objetivo. Utilizacin del Matlab y Simulink para el diseo de controladores. Resumen

Introduccin Este trabajo es el reporte de la prctica nmero nueve de control I, que tiene como objetivo la utilizacin de Matlab y Simulink para encontrar el lugar geomtrico de las races. En el desarrollo de este trabajo se vern nuevos comandos en Matlab que permitirn hacer cosas nuevas, muy fcilmente que tambin se pueden hacer a pie, pero que son de un procedimiento relativamente largo. El toolbox de control de Matlab dispone de comandos para el clculo del lugar de las races. Las instrucciones que utilizaremos sern rlocus y rlocfind. Normalmente partimos de un sistema como el siguiente:

El lugar de las races nos muestra la evolucin de los polos del sistema realimentado o en cadena cerrada M(s) cuando el parmetro K vara desde 0 hasta 8. Las instruccin rlocus permite obtener este trazado, y utiliza como argumento el sistema en cadena abierta definido por la funcin de transferencia G(s)H(s).

Desarrollo CLCULO DEL LUGAR DE LAS RACES CON MATLAB En el desarrollo de esta prctica se ver como obtener el lugar de la races para cualquier sistema con lo visto en la introduccin, y la mejor forma

de hacerlo es con ejemplos que se darn en el transcurso de esta prctica, a continuacin se muestra uno: Ejemplo: obtendremos el lugar de las races para el siguiente sistema:

El primer paso es definir las funciones de transferencia G(s), H(s) y G(s)H(s). Llamaremos a estas funciones sis_g, sis_h y sis_gh, respectivamente. Primero se definen G(s) y H(s): >> sis_g=tf([1],[1 4 3]) Transfer function: 1 ------------s^2 + 4 s + 3 >> sis_h=tf([1],[1 5]) Transfer function: 1 ----s+5 La funcin de transferencia G(s)H(s) ser el equivalente serie de las dos funciones anteriores. Matlab permite calcular este equivalente mediante la instruccin series: >> sis_gh=series(sis_g, sis_h) Transfer function: 1 -----------------------

s^3 + 9 s^2 + 23 s + 15 A continuacin utilizaremos el sistema sis_gh recin creado como argumento para la instruccin rlocus: >> rlocus(sis_gh) El resultado es el siguiente:

Root Locus 15

10

Imaginary Axis

-5

-10

-15 -16

-14

-12

-10

-8

-6 Real Axis

-4

-2

Si no se desea un resultado grfico, sino que se desea conocer los valores numricos de los polos en cadena cerrada para cada valor de K la instruccin a teclear ser: >> [r, k]= rlocus(sis_gh); La variable k contendr los valores del parmetro K utilizados para el clculo del lugar de las races; la variable r contendr los polos del sistema para cada valor de K. Tambin es posible comprobar sobre el propio grfico los valores del parmetro K correspondientes a cada punto del lugar de las races. Para ello se emplea la instruccin rlocfind. Esta instruccin, ejecutada a continuacin de rlocus, permite pinchar con el ratn sobre un punto cualquiera del lugar de las races y obtener el valor del polo ms cercano al punto donde se ha pinchado, el valor de K correspondiente a ese polo y la situacin del resto de polos para ese valor de K (aparecen marcados en rojo sobre el diagrama):

>> rlocus(sis_gh) >> rlocfind(sis_gh) Select a point in the graphics window A continuacin se debe pinchar con el ratn sobre un punto cualquiera del lugar de las races:

Root Locus 15

10

Los otros dos polos correspondientes al mismo valor de K aparecen marcados

Imaginary Axis

-5

Punto sobre el que se ha pinchado


-10

-15 -16

-14

-12

-10

-8

-6 Real Axis

-4

-2

La repuesta que aparece en la ventana de comandos indica el valor de s en el punto del lugar de las races donde se ha pinchado (selected point) y el valor de K correspondiente (ans): selected_point = -1.2370 - 2.3758i ans = 31.4346 Tal y como indica Matlab, en este caso el punto donde se ha pinchado es: s = -1.2558+2.3509j y el valor de K para el cual el sistema presenta ese polo es: K = 30.604. En el ejemplo, es interesante conocer el valor de K correspondiente a dos de los puntos del grfico: el punto a partir del cual aparecen dos polos

complejos conjugados y el punto a partir del cual aparecen dos polos inestables. Si buscamos estos puntos con la ayuda de rlocfind, se obtiene lo siguiente: Punto a partir del cual aparecen los polos complejos (lnea continua): K=3.0773 Punto a partir del cual aparecen los polos inestables (lnea punteada): K=193.3166 A continuacin se muestra el grafico:

Root Locus 15

10

Imaginary Axis

-5

-10

-15 -16

-14

-12

-10

-8

-6 Real Axis

-4

-2

Por lo tanto, existen tres rangos de valores con un comportamiento distinto del sistema: Rango 1: K<3.08. El sistema tiene 3 polos reales. No debe haber sobreoscilacin. Rango 2: 3.08<K<192. El sistema tiene 1 polo real y dos polos complejos conjugados. Puede haber sobreoscilacin. Rango 3: K>192. El sistema tiene un polo real y dos polos complejos con parte real mayor que cero. Por lo tanto, el sistema es inestable. La forma ms sencilla de comprobar este comportamiento es realizar simulaciones en el entorno Simulink que nos permitan ver la respuesta a

escaln del sistema para cada uno de los valores de K calculados. El esquema a introducir es el siguiente:

Se debe simular el funcionamiento del sistema durante 10 segundos con los siguientes valores para la constante K:

Sin sobreoscilacin: (K<3.08), se elige K=2:

Con sobreoscilacin: (3.08<K<192), K=20:

K=60:

Inestable: (K>192), se elige K=250:

Nota: A la hora de hacer un estudio de este tipo se debe tener en cuenta que los polos que ms influirn en el comportamiento transitorio del sistema sern los ms prximos al eje imaginario, lo que se ha venido denominando polos dominantes. No obstante, el resto de polos tambin influyen, aunque sea poco. Por ejemplo, el tercer polo existente en el ejemplo hace que el comportamiento no sea exactamente el de un sistema de 2 orden (la sobreoscilacin se produce para valores de K superiores a lo previsible). UTILIZACIN DEL LUGAR DE LAS RACES PARA EL DISEO DE SISTEMAS DE CONTROL En esta parte empezaremos con el servomecanismo de posicin de la prctica 7:

En la mencionada prctica, se obtuvo una representacin para el sistema mediante un diagrama de bloques, en el que la entrada es la referencia de posicin y la salida es la posicin real x(t), a continuacin se muestra dicho diagrama:

Supondremos conocidos los valores de todas las constantes, a excepcin de la constante del controlador Kc, cuyo ajuste ser nuestro objetivo, a continuacin se muestran los valores de las constantes: R = 1.25 (resistencia de los devanados del motor) I = 0.8 (momento de inercia del conjunto) B = 0.5 (coeficiente de rozamiento viscoso) = 3 (constante de par del motor) = 0.01 (constante de velocidad del motor) Reduciendo el diagrama de bloques con los datos disponibles para las constantes, se llega a:

Sobre el diagrama anterior, es posible comprobar el efecto que produce la variacin de Kc sobre la situacin de los polos del sistema mediante la instruccin rlocus de Matlab, se seguir el mismo procedimiento que en el ejemplo anterior:
sis=tf(3,[1 0.625 0]) rlocus(sis) title('Noe Caldern Esquivel')

sis =

3 ------------s^2 + 0.625 s El resultado es el siguiente:

Puede apreciarse cmo el lugar de las races (LDR) tiene dos ramas, lo que indica que el sistema tiene dos polos, que son reales para valores bajos del parmetro K y complejos conjugados para valores ms altos. Dado que se trata de un sistema de segundo orden (2 polos), son aplicables las expresiones que indican la sobreoscilacin (MP), el tiempo de subida (Tp) y el tiempo de establecimiento (Ts) ante entrada escaln, en funcin de la situacin de los polos del sistema. Tales expresiones se indican a continuacin, junto con el grfico que muestra la relacin entre los parmetros s (parte real polos).

De acuerdo con las frmulas anteriores, sera posible elegir la constante Kc del controlador de la forma siguiente: Determinar el comportamiento deseado en trminos de Mp, Ts, Tp. Traducir ese comportamiento a una situacin deseada para los polos usando las frmulas. Determinar cul es el valor de K que sita los polos en esa posicin mediante la instruccin rlocfind de Matlab.

Adems de esto, Matlab ofrece una utilidad adicional: la instruccin sgrid muestra un entramado sobre el lugar de las races que permite conocer fcilmente cules son los puntos con un mismo coeficiente de amortiguamiento (puntos que forman el mismo ngulo con el eje real). Probaremos esta instruccin tecleando: >> sgrid El resultado se muestra a continuacin:

En la figura puede apreciarse como las lneas radiales muestran los puntos del diagrama con el mismo valor para el coeficiente de amortiguamiento: 0.985, 0.94, 0.86, 0.76, 0.64, 0.5, 0.34 y 0.16. Si el rango de valores que se muestran no es suficiente, cabe la posibilidad de indicar expresamente cul es el rango de valores de K para los que se quiere construir el lugar de las races. Como ejemplo, se dibujar el lugar de las races para valores de K entre 0 y 0.5 a intervalos de 0.001, y posteriormente se volver a dibujar la trama anterior: >> rlocus(sis, [0:0.001:0.5]) >> sgrid El resultado es el que se muestra a continuacin:

Conclusin

Bibliografa Manual de prctica

También podría gustarte