Guía 1 -Introducción a Matlab UES, para sistemas de control automatico

download Guía  1 -Introducción a Matlab UES, para sistemas de control automatico

of 17

Transcript of Guía 1 -Introducción a Matlab UES, para sistemas de control automatico

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    1/17

    1 Sistemas de Control Automtico 2015

    Universidad de El Salvador

    Facultad de Ingeniera y Arquitectura.

    Escuela de Ingeniera Elctrica.

    Sistemas de Control Automtico 2015.

    Catedrtico: Ing. Ricardo Cortez.Instructores:

    Arriola Surez, Jaime Javier

    Ramrez Molina, Sasi Lizet

    Vsquez Chvez, Francisco Eduardo

    Gua de Laboratorio #1

    Introduccin a MATLAB aplicado a Los Sistemas de Control Automtico

    Introduccin:Actualmente los sistemas de Control Automtico estn presentes en diversas reas de la ingeniera

    y en la vida diaria con el fin de facilitar al ser humano la realizacin de diversas tareas. El diseo de

    estos sistemas puede conllevar un esfuerzo matemtico considerable. Para ello existen diferentes

    alternativas de software que facilitan su anlisis y diseo, siendo una de ellas MATLAB, que es un

    software matemtico equipado con una librera exclusiva para el rea de sistemas de control. Dicha

    librera contiene funciones que realizan operaciones de inters en el rea de control automtico y

    por tanto es de importancia la inclusin de MATLAB en las prcticas de laboratorio de la asignatura.

    Objetivos:Familiarizar al estudiante con MATLAB de tal forma que ste se encuentre en capacidad de:

    Ingresar una funcin de transferencia a MATLAB de forma numrica y simblica, adems

    ser capaz de ingresarla de forma factorizada y polinomial.

    Determinar los polos y ceros de una funcin de transferencia.

    Trazar el diagrama de polos y ceros de una funcin de transferencia.

    Encontrar las races de la ecuacin caracterstica de un sistema.

    Ingresar modelos de Sistemas realimentados bsicos a MATLAB.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    2/17

    2 Sistemas de Control Automtico 2015

    Consideraciones preliminares.

    Antes de iniciar la aplicacin de MATLAB a los Sistemas de Control, se definen dos cuestiones bsicas

    sobre el mismo:

    1)

    Ingresando a MATLAB.

    Como cualquier otro programa en Windows, para acceder a MATLAB una vez instalado, solamentedebe darse doble click sobre el cono del programa. Podr verse una ventana como la mostrada a

    continuacin.

    Figura 1

    Ventana de Inicio de MATLAB que aparece mientras carga el programa

    2) Interfaz de MATLAB.

    Luego de un momento la ventana de la figura 1 se cerrar y dar paso a la interfaz principal de MATLAB que

    se muestra en la figura 2. En este caso se utiliza MATLAB R2013a como se observa en la figura 1.

    En la figura 2, pueden verse las diferentes partes que componen la interfaz de MATLAB R2013a, que se

    detallan a continuacin:

    A) Directorio de trabajo actual de MATLAB, en esta seccin se muestran todos los archivos dentro del

    directorio en que usted se encuentre trabajando.B) Lnea de comandos de MATLAB, en ste se ingresan las diferentes instrucciones que deseamos que MATLAB

    ejecute.

    C) Informacin sobre las variables creadas (tipo, longitud, etc.)

    D) Historial de comandos ingresados.

    E) Barra de herramientas.

    F) Barra de direcciones, se puede cambiar de directorio de trabajo fcilmente al usarla.

    G) Barra de informacin sobre las funciones de MATLAB.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    3/17

    3 Sistemas de Control Automtico 2015

    3)

    Archivos .m

    Este tipo de archivos son programas o funciones que se pueden ejecutar en MATLAB, de tal

    forma que varios comandos son ejecutados uno seguido del otro de forma secuencial.

    Durante el desarrollo de las prcticas, se har uso de este tipo de archivos y por ello se

    muestran los aspectos ms importantes para poder utilizar los archivos con extensin .m.

    En MATLAB R2013a vaya a la pestaa HOME e identifique las siguientes figuras:

    Figura 3

    Acciones sobre un Script

    Para crear un nuevo script presione New Script y para abrir uno previamente creado

    presione Open. Cuando vaya a iniciar un nuevo script usted observar una imagen como

    la mostrada en la figura 4.

    A BC

    D

    E

    Figura 2

    Interfaz de MATLAB R2013a, identificando sus diferentes partes.

    F

    G

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    4/17

    4 Sistemas de Control Automtico 2015

    Cuando haya creado su cdigo deber presionar Save y darle un nombre a su archivo. Para

    ejecutar el archivo, puede hacerlo de dos formas: una es presionar el botn Run, el cual

    aparece en la figura 4, y la otra opcin es ir a la lnea de comandos de MATLAB y escribir el

    nombre de su archivo sin la extensin .m al final. Por ejemplo, si crea un script para la

    asignacin 1 al cual llama a1.m, cuando vaya a ejecutarlo solo ingrese en lnea de

    comandos de MATLAB a1.

    Este es el espacio de trabajo

    Donde podr ingresar su cdigo

    Figura 4

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    5/17

    5 Sistemas de Control Automtico 2015

    Algunos Comandos utilizados en la teora de sistemas de control

    1- Funciones de transferencia.

    La funcin de transferencia de un sistema lineal puede definirse como la relacin

    matemtica entre una variable de salida y la de entrada. Para determinarla, se hace uso de

    la ecuacin de Mason tanto en una SFG (Signal Flow Graph) como tambin en un diagramade bloques, aunque es preferible dibujar la SFG equivalente del diagrama de bloques y luego

    aplicar Mason. MATLAB representa una herramienta de gran utilidad en el manejo de

    funciones de transferencia, pues permite realizar distintos anlisis a las mismas, como por

    ejemplo, la determinacin de los polos y ceros de la funcin, realizacin de anlisis de

    estabilidad y respuesta del sistema a diferentes tipos de seales estndar como se ver

    cuando sea el momento apropiado. Las funciones de transferencia se pueden expresar

    tanto en forma de relacin de polinomios, como en forma de polinomios factorizados. La

    forma de expresarla depender del anlisis que se desee realizar sobre la misma. Para

    ilustrar dicho punto, a continuacin se muestran dos formas de ingresar una funcin de

    transferencia dada.Ejemplo 1

    Supngase la siguiente funcin de transferencia, en forma de relacin de polinomios:

    ()= 4

    2 10

    Existen dos formas para poder ingresar esta ecuacin en MATLAB:

    1.1

    Forma numrica.

    Con forma numrica simplemente se enfatiza que no se utiliza explcitamente la

    variable compleja s en el ingreso de la funcin de transferencia a MATLAB para esto

    se usa la funcin zpk de MATLAB la cual crea modelos denominados Zero-Polo-Ganancia. Para la creacin de estos modelos se debern especificar los parmetros

    antes mencionados a la funcin zpk, tal como se muestra a continuacin:

    >> hs=zpk(z,p,k);%Z=ceros, p=polos, k=ganancia, recuerde que % indica comentarios.

    Para ingresar la funcin del ejemplo es necesario conocer previamente la cantidad de

    ceros y polos y la ubicacin de los mismos en el plano S, adems conocer el valor de la

    ganancia del sistema.

    En nuestro caso podemos observar de la funcin de transferencia que esta contiene:

    -

    Un cero en s=-4

    - Dos polos, uno en s=-1+3j y otro en s=-1-3j

    -

    Ganancia=1Este paso previo es necesario ya que la funcin de transferencia no puede ingresarse en

    la forma en que se encuentra actualmente si no que debemos factorizar su

    denominador y luego podemos pasar a ingresar la funcin de transferencia de la

    siguiente forma en MATLAB:

    ()= 4

    ( 1 3) ( 1 3)

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    6/17

    6 Sistemas de Control Automtico 2015

    Al ingresar la ecuacin lo hacemos de la siguiente forma, en la lnea de comando de

    MATLAB:

    La desventaja de este mtodo es que la funcin de transferencia debe encontrarse

    factorizada en su numerador y denominador, debindose realizar un paso adicional

    para conocer los factores del sistema, lo cual puede realizarse con la funcin zero

    como mostraremos posteriormente. Adems es necesario declarar a este modelo como

    funcin de transferencia antes de utilizarlo para realizar algn anlisis sobre l, para elloharemos uso de la funcin tf, as:

    >>hss=tf(hs);

    Una forma alternativa para el ingreso de esta ecuacin en forma numrica es

    utilizando la funcin tf la cual crea una funcin de transferencia de un sistema de

    tiempo continuo y la variable al cual se asigna su resultado es un objeto de tipo TF.

    Para ingresar la funcin de transferencia en ste caso es necesario ingresar dos vectores

    que son los coeficientes del numerador y denominador, stos vectores se ingresan de

    tal forma que MATLAB sabe que las potencias de la variable en cuestin decrecen de

    izquierda a derecha, es decir la forma general de stos vectores es:

    >>num=[

    ]

    Para el caso del numerador y lo mismo aplica para el denominador y esto se ilustra a

    continuacin:

    >>Hs=tf(num,den);%Hs es un objeto de tipo TF

    Retomando el ejemplo 1 la forma de ingresar la ecuacin es:

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    7/17

    7 Sistemas de Control Automtico 2015

    1.2Forma Simblica.

    Esta forma de ingresar una funcin de transferencia tiene la facilidad al igual que el

    segundo mtodo de la seccin anterior, de no tener que realizar ningn paso adicional

    si no, solo ingresar la ecuacin tal cual se nos ha proporcionado y se puede realizar

    cualquier anlisis sobre esta funcin de transferencia.

    A continuacin mostramos el ingreso de la ecuacin del ejemplo 1 en forma simblica:

    2-

    Clculo de polos y ceros de una funcin de transferencia.

    Los polos de una funcin pueden definirse sencillamente como una singularidad de la misma

    donde la funcin en cuestin no tiene derivada o como un valor que provoca que la funcin se

    indetermine. Por otra parte un cero es un valor que evaluado en una funcin en particular

    provoca que la misma genere un valor de cero.

    Para realizar el clculo de dichos valores especiales en una funcin de transferencia, se usarn

    las funciones pole y zero.

    2.1 Funcin pole (sys).

    sta funcin calcula los polos p de un modelo de sistema dinmico SISO o MIMO (mltiple

    entrada mltiple salida) representado por sys. Cabe aclarar que sys tiene que ser

    declarado previamente como simblico o numrico.

    Una de las principales limitaciones es que si el sistema tiene retardos internos, los polos se

    obtienen por ajuste haciendo primero que todos los retardos internos sean cero de modo

    que el sistema tiene un nmero finito de ceros. En algunos sistemas, el establecimiento de

    los retrasos a cero crea lazos algebraicos singulares, que resultan en ya sea aproximaciones

    sin retardo impropias o mal definidas. Para estos sistemas, la funcin pole devuelve un

    error. Este error no implica un problema con el propio sistema modelo.Ejemplo 2

    Dada la siguiente funcin de transferencia, calcule sus polos.

    ()=( 4.2)( 0.25)( 0.004)

    ( 1)( 9.6)( 17)

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    8/17

    8 Sistemas de Control Automtico 2015

    Calcularemos usando MATLAB sus polos o singularidades.

    2.2

    Funcin zero(sys).

    Devuelve los ceros de la funcin sys el cual es un modelo dinmico SISO (una sola

    entrada, una sola salida), aclarando que la funcin sys puede ser declarada como

    simblica o numrica.

    Para ilustrar su uso haremos uso de la misma ecuacin del ejemplo 2, como se muestra a

    continuacin:

    2.3Grficas de polos y ceros

    Algo que a menudo nos interesar en el estudio de estabilidad de los sistemas de control

    ser la grfica de polos y ceros de una funcin de transferencia, esta puede realizarse

    en MATLAB a travs de la funcin pzmap la cual tiene como argumento de entrada la

    funcin de transferencia de inters. A continuacin se ilustra su uso a travs de un

    ejemplo.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    9/17

    9 Sistemas de Control Automtico 2015

    Ejemplo 3

    Dada la funcin de transferencia:

    ()=3 5 8

    4 3 2 6

    Trazar su diagrama de polos y ceros usando la funcin pzmap asi:

    La grfica obtenida con el cdigo anterior es:

    Algo que se debe destacar en las lneas anteriores es el uso de la funcin sgrid la cual

    genera una cuadrcula en el plano s de los factores de amortiguacin constantes desde

    0 hasta 1 en avances de 0.1 (Lneas que salen del origen) y de las frecuencias naturales

    desde 0 hasta 10 rad/s en avances de 1rad/s (Curvas).

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    10/17

    10 Sistemas de Control Automtico 2015

    3- Interconexin de Sistemas.

    La mayora de sistemas reales estn conformados por la interconexin de varios

    subsistemas ms sencillos que el sistema total, dichos subsistemas pueden conectarse en

    paralelo, serie, combinaciones serie-paralelo y en lazo bsico de realimentacin, dichas

    conexiones se ilustran en la figura 5.

    a)

    b)

    c)

    d)

    Figura 5. a) Conexin Serie de sistemas, b) conexin en paralelo de sistemas, c) conexin en

    serie paralelo de sistemas, d) conexin en bloque bsico de realimentacin de sistemas.

    Es posible utilizar comandos de MATLAB para obtener la funcin de transferencia del

    diagrama de bloques de un sistema realizando las operaciones indicadas en el mismo, cabemencionar que esto no debe confundirse con la reduccin de los diagramas de bloques, ya

    que el procedimiento que se sigue tiene una lgica un tanto diferente a las reglas de

    reduccin de bloques y se recomienda al estudiante no usar ste procedimiento para

    resolver problemas si no nicamente para la verificacin de resultados, el procedimiento

    correcto para la reduccin de diagramas de bloques se explora en el libro de la serie Schaum

    (Ver bibliografa de la asignatura).

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    11/17

    11 Sistemas de Control Automtico 2015

    Las siguientes instrucciones forman parte de la Control System Toolbox de MATLAB.

    >>parallel(h1,h2); siendo h1 y h2, subsistemas este comando obtiene la suma de ambos.

    >>s1=serie(h1,h2);%s1=h1*h2

    >>feedback(h1,h2);%h1/(1+h1*h2)

    De las Interconexiones entre sistemas anteriormente mencionadas es necesario realizar

    algunas aclaraciones solo de la conexin en realimentacin, ya que los otros comandosrealizan operaciones sencillas.

    3.1- Sistemas de Control Realimentados Bsicos

    Son sistemas de control capaces de obtener informacin de su salida y compararla con su

    entrada de tal forma que se puede determinar si la salida en un momento dado es la

    esperada para la seal de entrada que se est considerando. Si la salida no es apropiada, el

    sistema ajusta la seal de error para que la salida se adece al valor deseado representado

    por la entrada.

    En MATLAB es posible crear un lazo bsico de realimentacin utilizando la funcinfeedback como se describe a continuacin. Esto facilita aplicar directamente los

    conceptos sobre realimentacin los programas de MATLAB, tambin la obtencin de la

    funcin de transferencia de un sistema con realimentacin negativa y, adems el anlisis de

    la respuesta en el tiempo a algunas seales de entrada predeterminadas aplicadas al

    sistema. Consideremos el siguiente ejemplo:

    Ejemplo 4

    Dado el siguiente sistema de lazo bsico realimentado, utilice MATLAB para determinar la

    funcin de transferencia()

    ()del sistema representado.

    R(s) Y(s)

    Se utiliza de la funcin feedback y el modo simblico introducido en la seccin 1 para

    solucionar de la forma ms sencilla este problema, teniendo en cuenta la sintaxis de la

    funcin feedback, que es la siguiente:

    >>feedback(Ganancia de trayectoria directa, Ganancia del lazo de realimentacin )

    +

    -

    3 4

    2

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    12/17

    12 Sistemas de Control Automtico 2015

    La solucin para ste caso es:

    Algunos aspectos importantes que vale la pena recalcar sobre la funcin feedback es que

    esta asume que el sistema en cuestin tiene realimentacin negativa, aunque tambin se

    puede obtener la funcin de transferencia para un sistema con realimentacin positiva al

    usar un argumento adicional de la siguiente manera:

    >>feedback(G(s),H(s),+1)

    Donde el +1 indica la realimentacin positiva.TOME EN CUENTA QUE:

    feedback solo puede usarse para la representacin del lazo bsico de realimentacin, si

    usted tiene un problema con un diagrama de bloques ms complicado que el ejemplo

    deber realizar los pasos necesarios para reducir su caso especfico al a la forma de lazo

    bsico realimentado.

    4-

    Races de la ecuacin caracterstica ((s)).

    Esta ecuacin caracteriza a un sistema porque sus races denotan la forma de la respuesta

    del mismo ante una entrada aplicada. Para conocer las races de dicha ecuacin utilizandoMATLAB, depende de la forma en que ingresemos la funcin de transferencia del sistema

    en cuestin, ya que la ecuacin caracterstica es el denominador de la funcin de

    transferencia, esto se denota de forma clara a continuacin, con un ejemplo:

    Ejemplo 5

    ()=10

    3 5

    4.1 Ingresando la funcin de transferencia completa

    Suponga que se requiere ingresar la funcin de transferencia total para realizar diferentes

    anlisis sobre ella, entonces para calcular las races de (s) , deben calcularse los polos de

    H(s), as:

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    13/17

    13 Sistemas de Control Automtico 2015

    4.2 Ingresando solo (s)

    Suponga que solo se requiere conocer las races de (s) para un anlisis de estabilidad,

    entonces el procedimiento es:

    Desarrollo de la prctica

    1.

    Introduzca las siguientes funciones de transferencia en MATLAB de las 3 formas

    previamente explicadas, tome las capturas necesarias slo de la lnea de comandos de

    MATLAB, para agregar en su reporte:

    1()=3 2 4

    6 5 10

    2()= 10 2 3 4

    2

    5

    6

    12

    7 2

    2.

    Trace las grficas de polos y ceros de las funciones de transferencia anteriores, utilizando

    MATLAB, recuerde tomar las capturas necesarias para su reporte. Use sgrid en cada grfica.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    14/17

    14 Sistemas de Control Automtico 2015

    3.

    Obtenga la funcin de transferencia del siguiente diagrama de bloques utilizando comandos

    de MATLAB de la Control System Toolbox. Para ello, desarrolle un archivo .m.

    Donde:

    1()=6

    (2 2) , 2()=

    ( 4)

    10 16, 3()=

    1

    0.1 1

    4()=1

    , ()=

    3(6 1)

    2 2 , ()=

    2

    40 2

    Para su reporte guarde el archivo .m generado y los resultados del mismo.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    15/17

    15 Sistemas de Control Automtico 2015

    ASIGNACIONES

    1. Disear un archivo .m para calcular y graficar los polos y ceros de las siguientes funciones.

    Adems brinde una breve explicacin de los resultados obtenidos.

    ()= 15 ( 2)( 3)( 6)(2 4 10)

    ()=2

    (3 1)( 2)( 2 3)

    ()=2 5 11 7

    6 8 4

    2.

    Para la grfica de polos y ceros que se presenta a continuacin, obtenga su funcin de

    transferencia G(s) la cual es multiplicada por una constante k=3. Deje claros los pasos

    seguidos en la obtencin de G(s).

    3.

    A continuacin se presentan los polos y ceros de diferentes funciones de transferencia.Encontrar dichas funciones de transferencia utilizando MATLAB y trazar su respectivo

    diagrama de polos y ceros. Especifique cuntos ceros estaran en el infinito (recuerde que

    el nmero de polos debe ser igual al nmero de ceros en una funcin).

    a)

    Polo simple: 0, -2; polo de segundo orden: -3; cero: -1.

    b)

    Polo simple: -1 -4; ceros: 0.

    c)

    Polo simple: -3; polo de segundo orden: 0, -1; ceros: j.

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    16/17

    16 Sistemas de Control Automtico 2015

    4.

    Obtener la funcin de transferencia Y/X del siguiente diagrama utilizando los comandos de

    la Control System Toolbox de MATLAB (podra ser necesaria la simplificacin del diagrama

    mediante lgebra de bloques, previo al uso de MATLAB).

    5.

    Investigue el uso de la funcin minreal de MATLAB y escriba un ejemplo de su uso.

    6. Investigue el uso de la funcin sym de MATLAB y compare el uso de sta con la forma

    simblica desarrollada en la prctica, Cul resulta mejor para usted?. Explique de forma

    breve.

    7.

    *Problema adicional: Escriba un archivo .m que tenga como argumentos de entrada los

    polos, ceros y ganancia de una funcin de transferencia y devuelva como respuesta lafuncin de transferencia correspondiente. Es decir, realice una cdigo en MATLAB que haga

    la misma funcin que zpk(z,p,k). [Sugerencia: Investigue las funciones de MATLAB

    relacionadas a los polinomios.]

    Como requisito su archivo deber ser capaz de devolver la siguiente funcin de

    transferencia, por lo cual es necesario que obtenga previamente los polos y ceros de la

    misma:

    ()= ( 4)

    2 10

    1 = +

    + 3 =

    +

    + 2 =

    +

    +

    2 = 2 1 = 6 15 3 = 3 1

  • 7/23/2019 Gua 1 -Introduccin a Matlab UES, para sistemas de control automatico

    17/17

    17 Sistemas de Control Automtico 2015

    Fuentes de Referencia

    SchaumTeora y Problemas de Realimentacin y Sistemas de Control.

    Benjamn Kuo Sistemas de Control Automtico, 7ma edicin, Editorial Prentice

    Hall.

    http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=Sy

    stemAnalysis

    http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf

    http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://www.mathworks.com/help/pdf_doc/matlab/getstart.pdfhttp://www.mathworks.com/help/pdf_doc/matlab/getstart.pdfhttp://www.mathworks.com/help/pdf_doc/matlab/getstart.pdfhttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysishttp://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemAnalysis