practica 9 de control

Upload: marcosarielramirezv

Post on 09-Jan-2016

9 views

Category:

Documents


4 download

DESCRIPTION

Esta es una guia de como tienen que ir los reportes de la practicas para la materia de control

TRANSCRIPT

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    RESUMEN

    De una manera muy prctica se dar a conocer cmo utilizar

    herramientas de MATLAB como Simulink , con el objetivo de encontrar el

    lugar geomtrico de las races (LGR) mismo donde conoceremos los

    comandos comunes usados para ello como son rlocus, rlocfind, entre otros

    , retomando nuevamente las funciones de transferencia para conocer su

    lugar geomtrico de las races del sistema, sus polos , ceros as como su

    comportamiento de estabilidad entre otros permitindonos de la misma

    forma graficar el comportamiento de nuestros sistemas.

    INTRODUCCIN

    CALCULO DEL LUGAR GEOMTRICO DE LAS RACES CON MATLAB

    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 lazo cerrado M(s) cuando el parmetro K vara desde 0

    hasta 8.

    La instruccin rlocus permite obtener este trazado, y utiliza como

    argumento el sistema en lazo cerrado definido por la funcin de

    transferencia G(s)H(s).

    K G(s)

    X(s) Y(s)

    H(s)

    + -

    M(s) Y(s) X(s)

    () = ()

    1 + () ()

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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 un

    tercero para G(s)*H(s) a las cuales se denominaran sis_g, sis_h y sis_gh,

    respectivamente. Primero se definen G(s) y H(s):

    sis_g=tf(1,[1 4 3])

    sis_h=tf([1],[1 5])

    sis_gh=series(sis_g,sis_h)

    rlocus(sis_gh)

    Corriendo el programa en el workplace de MATLAB sucede lo siguiente:

    s^3 + 9 s^2 + 23 s + 15

    Transfer function:

    1

    -------------

    s^2 + 4 s + 3

    Transfer function:

    1

    -----

    s + 5

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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, esto en el workplace de MATLAB produjo lo siguiente.

    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)

    MATLAB generar un grfico como el siguiente:

    Interpretar el grfico resultante es sencillo: muestra la situacin en el plano

    complejo de los polos del sistema realimentado o en lazo cerrado ().

    Cada rama representa la situacin de uno de los polos; en este caso

    aparecen tres ramas dibujadas con tres colores distintos para mayor

    claridad. Los puntos de comienzo ( = ) de cada rama coinciden con los

    polos en lazo abierto (cruces sobre el grfico) y puntos de finalizacin (K=8)

    de cada rama tienden a infinito en este caso.

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Si no se aade ningn parmetro extra, MATLAB elegir automticamente

    los valores de K entre 0 y 8 para los cuales calcular el lugar de las races.

    En determinadas ocasiones interesa elegir manualmente el rango de

    valores deseado para K. Para ello basta con introducir un nuevo parmetro

    en rlocus:

    >> rlocus(sis_gh, [0:.1:100])%k de 0 a 100 a intervalos de .1

    Al introducir el parmetro el programa completo seria

    sis_g=tf(1,[1 4 3])

    sis_h=tf([1],[1 5])

    sis_gh=series(sis_g,sis_h)

    rlocus(sis_gh,[0:.1:100])

    El resultado sera el siguiente:

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Si no se desea un resultado grfico, sino que se desea conocer los valores

    numricos de los polos en lazo cerrado para cada valor de K la instruccin

    a teclear ser:

    >> [r,k]=rlocus(sis_gh)

    Agregando dicha instruccion al programa el mismo quedaria de la

    siguiente manera:

    sis_g=tf(1,[1 4 3])

    sis_h=tf([1],[1 5])

    sis_gh=series(sis_g,sis_h)

    [r,k]=rlocus(sis_gh)

    Al correr el programa en MATLAB se obtiene lo siguiente:

    r =

    1.0e+002 *

    Columns 1 through 4

    -0.0500 -0.0510 -0.0523 -0.0531

    -0.0300 -0.0278 -0.0241 -0.0188

    -0.0100 -0.0112 -0.0136 -0.0182

    Columns 5 through 8

    -0.0531 -0.0531 -0.0549 -0.0594

    -0.0185 - 0.0000i -0.0185 - 0.0003i -0.0176 - 0.0080i -0.0153 -

    0.0157i

    -0.0185 + 0.0000i -0.0185 + 0.0003i -0.0176 + 0.0080i -0.0153 +

    0.0157i

    Columns 9 through 12

    -0.0665 -0.0771 -0.0920 -0.1129

    -0.0117 - 0.0245i -0.0065 - 0.0355i 0.0010 - 0.0499i 0.0115 -

    0.0690i

    -0.0117 + 0.0245i -0.0065 + 0.0355i 0.0010 + 0.0499i 0.0115 +

    0.0690i

    Columns 13 through 16

    -0.1416 -0.1809 -3.6478 Inf

    0.0258 - 0.0946i 0.0454 - 0.1291i 1.7789 - 3.1331i Inf

    0.0258 + 0.0946i 0.0454 + 0.1291i 1.7789 + 3.1331i Inf

    k = 1.0e+007 *

    Columns 1 through 9

    0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000

    0.0000 0.0000

    Columns 10 through 16

    0.0000 0.0000 0.0001 0.0001 0.0003 4.7351 Inf\

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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

    Al agregar al poner estas instrucciones al programa este queda de la

    siguiente manera:

    sis_g=tf(1,[1 4 3])

    sis_h=tf([1],[1 5])

    sis_gh=series(sis_g,sis_h)

    [r,k]=rlocus(sis_gh)

    rlocfind(sis_gh)

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    A continuacin se debe pinchar con el ratn sobre un punto cualquiera del lugar

    de las races esto se hace en la siguiente figura que se muestra:

    La respuesta que aparece en la ventana de comandos indica el valor de s

    en el punto del LGR donde se ha pinchado (selected point) y el valor de K

    correspondiente (ans):

    Select a point in the graphics window

    selected_point =

    -1.8555 - 0.0373i

    ans =

    3.0836

    Tal y como indica MATLAB, en este caso el punto donde se ha pinchado es

    s=-1.8555 - 0.0373i y el valor de K para el cual el sistema ese polo es

    K=3.0836

    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 puno a partir del cual aparecen dos polos

    inestables. Si buscamos estos puntos con la ayuda de rlocfind deberamos

    obtener:

    Punto a partir del cual aparecen los polos complejos K=3.0753

    Punto a partir del cual aparecen los polos inestables K=195.2119

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Por lo tanto existen 3 rangos de valores con un comportamiento distinto del

    sistema:

    Rango 1: K

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Sin sobreoscilacin (K

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Con K=60

    Inestable (K> 192). Se elige K =250.

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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

    Partiremos del servomecanismo de posicin ya visto en la prctica 7:

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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 x0(t) y la salida es la posicin real x(t).

    Supondremos conocidos los valores de todas las constantes, a excepcin

    de la constante del controlador Kc, cuyo ajuste ser nuestro objetivo:

    R = 1.25 (Resistencia de los devanados del motor)

    I = 0.8 (Momento de inercia del conjunto)

    B=0.5 (Coeficiente de rozamiento viscoso)

    Kp=3 (Constante de par del motor)

    Kv = 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:

    >>sis= tf(3, [1 0.625 0])

    Transfer function:

    3

    -------------

    s^2 + 0.625 s

    >>rlocus(sis)

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    El resultado debe ser el siguiente:

    Puede apreciarse cmo el 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), d (parte imaginaria), (ngulo) y

    (coeficiente de amortiguamiento):

    =

    =

    =

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    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

    Y el resultado que se obtendr ser el siguiente:

    En la figura puede apreciarse como las lneas radiales muestran los puntos

    del diagrama con el mismo valor para el coeficiente de amortiguamiento:

    0.98, 0.92, 0.84, 0.72, 0.58, 0.44, 0.3 y 0.14.

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Si el rango de valores que se muestran no es suficiente, cabe la posibilidad

    de indicar expresamente cual es el rango de valores de K para los que se

    quiere construir el lugar de las races. Como ejemplo, se dibujara 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 rama anterior:

    >>rlocus(sis, [0:0.001:0.5]

    >>sgrid

    El resultado que debe aparecer es el siguiente:

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    EJERCICIO

    A partir del lugar de las races calculado se pide:

    Usando las formulas anteriores determinar qu situacin de los polos del sistema

    corresponde a una sobreoscilacin del 1.5% (Mp=0.015):

    = 0.015

    Despejamos (ngulo de fase polo):

    =

    ln 0.015= 36.79

    Obtenemos (coeficiente de amortiguamiento)

    = cos = = 0.8008

    Buscar ese punto sobre el lugar de las races y obtener (aproximadamente) el

    valor de la constante para el que se produce.

    >> rlocfind(sis)

    Select a point in the graphics window

    selected_point =

    -0.29231 + 0.2199i

    ans =

    0.500

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Comprobar el resultado anterior sobre Simulink (simular el comportamiento del

    sistema ante una entrada escaln durante tanto tiempo como sea necesario)

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Repetir los tres pasos anteriores tomando como condicin un tiempo de pico de 3

    segundos.

    De la formula

    = 3

    Obtenemos la frecuencia angular:

    = 1.047

    Se busc este dato sobre el LGR

    >> rlocfind(sis)

    Select a point in the graphics window

    selected_point =

    -0.3127 + 0.9909i

    ans =

    0.3599

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    Repetir los 3 pasos anteriores para localizar sobre el LGR un valor del parmetro K

    que permita cumplir simultneamente las condiciones siguiente:

    Tiempo de pico menor o igual a 6 segundos Sobreoscilacin menor o igual que el 25%

    De las formulas obtenemos y para sacar las coordenadas del polo, usaremos un Mp=20% y un tp=5s

    = 0.20

    Despejamos (ngulo de fase polo):

    =

    ln 0.2= 62.87

    Obtenemos (coeficiente de amortiguamiento)

    = cos = = 0.4559

    Obtenemos la frecuencia angular:

    = 5

    = 0.6283

    Ahora obtenemos

    =

    1 2=

    0.628

    1 (0.455)2

    =0.7059

    Con estos datos es posible obtener la parte real y la parte imaginaria del polo

    Parte real: = = (0.4559)(0.7059) = 0.3218

    Parte imaginaria: = 1 2 = 0.70591 (0.4559)2 = 0.6282

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

  • INSTITUTO TECNOLGICO DE MORELIA

    DEPARTAMENTO DE INGENIERA ELCTRICA

    CONTROL I

    REPORTE DE PRACTICA N9.

    CONCLUSIN

    Sin duda alguna cuando buscamos encontrar el lugar geomtrico de las

    races (LGR) MATLAB se vuelve la herramienta perfecta no solo por su

    velocidad de respuesta y solucin sino por su simpleza para simular,

    graficar y en especial el clculo preciso. Comparado con el mtodo

    analtico hacerlo en MATLAB nos representa evitar el teorema de Ruth

    Hurwits evitando de esta forma un proceso ms largo con mayor

    posibilidad de errores tomando en cuenta sistemas de gran tamao.

    Adems sin duda la grfica y dimensionado que nos presenta MATLAB nos

    ayuda a observar mejor el comportamiento de los sistemas permitiendo de

    la misma forma recrear o buscar el modelado ideal de los sistemas que

    necesitamos.