informe 1 control digital

6
UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRÓNICA CONTROL DIGITAL Práctica de Laboratorio N° 1. La transformada Z como herramienta para la simplificación del análisis de sistemas de control en tiempo discreto LAB1_CD Versión: 1.0 Página: 1 de 6 1 INTRODUCCION En el presente informe se dará a conocer la solución de las diferentes funciones básicas de la transformada Z, la transformada Z y una solución de una ecuación en diferencia, para ello se utilizara el software Matlab, para ser específicos utilizaremos una herramienta de este programa el cual es GUIDE, debido a su buena interfaz, lo cual permite una comunicación dinámica con el usuario, mejor interacción por parte de este y una presentación más estética de lo que se quiere dar a conocer. 0. IDENTIFICACION DE GRUPO A1_CD 1. OBJETIVOS 1.1. Utilizar la herramienta computacional MATLAB para comprobar el concepto de la transformada Z y su utilidad para simplificar el análisis de sistemas de control en tiempo discreto, realizando los cálculos respectivos de cada uno de ellos. 1.2. Comprobar los resultados de los cálculos de forma analítica y mediante la herramienta computacional de la Transformada Z y su respectiva ROC. 1.3. Verificar los resultados de los cálculos de forma analítica y mediante la herramienta computacional de la Transformada Z inversa. 1.4. Aplicar el método de la transformada Z para la solución de ecuaciones en diferencias utilizando la herramienta computacional MATLAB. 1.5. Integrar los resultados en una interfaz gráfica de usuario utilizando la herramienta GUIDE de MATLAB. 1.6. Desarrollar una interfaz en GUIDE que permita la fácil interacción del usuario en el desarrollo de las diferentes transformadas Z. 2. ANÁLISIS DE REQUERIMIENTOS Para el desarrollo de la presente práctica se requiere en primer lugar entender el concepto de la transformada Z, como por ejemplo las funciones elementales, la transformada inversa y la solución de ecuaciones en diferencia empleando este método, además de ello se requiere utilizar un PC que tenga instalado MATLAB para la realización de esta práctica, más específicamente la aplicación GUIDE, el cual nos permitirá resolver las diferentes transformadas Z obteniendo su solución y en algunas sus gráficas. 3. RESULTADOS Los resultados obtenidos en esta práctica son los siguientes: Lo primero que se realizo fue la creación de la interfaz del usuario, lo cual se creó una ventana principal que se muestra abajo.

Upload: daniel-ballesteros-d-fernandez

Post on 15-Nov-2015

61 views

Category:

Documents


3 download

DESCRIPTION

Laboratorio de control digital UFPS

TRANSCRIPT

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 1 de 6

    1

    INTRODUCCION

    En el presente informe se dar a conocer la

    solucin de las diferentes funciones bsicas

    de la transformada Z, la transformada Z y

    una solucin de una ecuacin en diferencia,

    para ello se utilizara el software Matlab, para

    ser especficos utilizaremos una herramienta

    de este programa el cual es GUIDE, debido a

    su buena interfaz, lo cual permite una

    comunicacin dinmica con el usuario, mejor

    interaccin por parte de este y una

    presentacin ms esttica de lo que se quiere

    dar a conocer.

    0. IDENTIFICACION DE GRUPO

    A1_CD

    1. OBJETIVOS

    1.1. Utilizar la herramienta computacional MATLAB para comprobar el concepto

    de la transformada Z y su utilidad para

    simplificar el anlisis de sistemas de

    control en tiempo discreto, realizando

    los clculos respectivos de cada uno de

    ellos.

    1.2. Comprobar los resultados de los clculos de forma analtica y

    mediante la herramienta computacional

    de la Transformada Z y su respectiva

    ROC.

    1.3. Verificar los resultados de los clculos de forma analtica y

    mediante la herramienta computacional

    de la Transformada Z inversa.

    1.4. Aplicar el mtodo de la transformada Z para la solucin de ecuaciones en

    diferencias utilizando la herramienta

    computacional MATLAB.

    1.5. Integrar los resultados en una interfaz grfica de usuario utilizando la

    herramienta GUIDE de MATLAB.

    1.6. Desarrollar una interfaz en GUIDE que permita la fcil interaccin del usuario

    en el desarrollo de las diferentes

    transformadas Z.

    2. ANLISIS DE REQUERIMIENTOS

    Para el desarrollo de la presente prctica se

    requiere en primer lugar entender el concepto

    de la transformada Z, como por ejemplo las

    funciones elementales, la transformada

    inversa y la solucin de ecuaciones en

    diferencia empleando este mtodo, adems

    de ello se requiere utilizar un PC que tenga

    instalado MATLAB para la realizacin de

    esta prctica, ms especficamente la

    aplicacin GUIDE, el cual nos permitir

    resolver las diferentes transformadas Z

    obteniendo su solucin y en algunas sus

    grficas.

    3. RESULTADOS

    Los resultados obtenidos en esta prctica son

    los siguientes:

    Lo primero que se realizo fue la creacin de

    la interfaz del usuario, lo cual se cre una

    ventana principal que se muestra abajo.

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 2 de 6

    2

    Fig. 1 Interfaz de entrada realizada en GUIDE

    Fuente: Autor

    Para el desarrollo de esta interfaz lo que se

    hiso fue primero adicionar seis Push Button,

    los cuales cumple funciones especficas, los

    tres ms grandes me permitirn abrir una

    nueva GUIDE, el cdigo utilizado es el

    siguiente:

    close lab1 transformadaz

    Con esto podemos abrir un nuevo GUIDE

    (primero hay que crear ese GUIDE con el

    mismo nombre) y podemos cerrar el que

    actualmente estamos trabajando, el comando

    es similar para los tres.

    Para el primer botn inferior a mano

    izquierda se utiliz el comando msgbox para

    poder visualizar los nombres de los autores,

    el segundo botn es el de ayuda, para

    desplegar el mensaje de ayuda se emple el

    siguiente comando helpdlg y por ultimo

    para el botn de salir de utilizo el siguiente

    comando:

    opc=questdlg('Desea salir del

    programa?','SALIR','Si','No','No'); if strcmp(opc,'No') return; else

    if strcmp(opc,'Si') clear,clc,close all end end

    El primer comando permite crear la pregunta

    y en el parntesis se coloca el contenido de la

    pregunta, se coloca de ultimo NO porque la

    ventana al ejecutarse mostrara esa opcin

    como preferencia, despus se realiza la

    respectiva programacin para al darle NO

    mantenga la ventana normal y al darle SI

    cierre la aplicacin.

    Por ltimo se le adiciono una imagen de

    fondo, lo cual se emple el siguiente

    comando:

    axes('Units','Normalized','Position'

    ,[0 0 1 1]); [x,map]=imread('portada.jpg','jpg'); image(x),colormap(map),axis off,hold

    on

    El primer comando permite la ubicacin de la

    imagen, incluye la imagen y la coloca con su

    respectivo cdigo de colores; el segundo es

    la ubicacin de la imagen, este debe estar en

    el lugar donde estamos guardando los

    archivos que estamos trabajando y el ultimo

    es un comando necesario para poder ejecutar

    la imagen.

    Fig. 2 Interfaz de las transformadas Z bsicas

    Fuente: Autor

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 3 de 6

    3

    En esta ventana se muestra el resultado de las

    diferentes transformadas Z bsicas con su

    regin de convergencia, estas opciones se

    mostraran por medio de un Pop-up men,

    debido a su facilidad de manejo, para ello en

    la opcin String se coloca el nombre de lo

    que queremos que nos despliegue esta

    opcin, hay que darle enter para que defina

    cada comando, el inicio de la programacin

    de este debe ser el siguiente:

    function popupmenu1_Callback

    (hObject, eventdata, handles)

    axes(handles.axes1); cla; popup_sel_index =

    get(handles.popupmenu1, 'Value'); switch popup_sel_index case 1

    Las dos primeras lneas son estndar del Pop-

    up men, la tercera es para definir el lugar a

    graficar, la quinta es para indicar un valor

    que se le asigna a una variable, la sexta es

    para llamar a esa variable y la ultima es para

    empezar a definir las opciones de nuestro

    Pop-up men, en nuestro caso son 10.

    Por ejemplo, mostraremos el cdigo utilizado

    para realizar la funcin escaln unitario

    discreto, el cual es el siguiente: case 1 syms n; x=1^n; Xz=ztrans(x); Xn=evalc('pretty(Xz)'); set(handles.text1,'string',Xn); R=3; z=cplxgrid(28)*R; X=1./(1-z.^(-1)); X(1,:)=zeros(1,57); axes(handles.axes1); surf(real(z),imag(z),abs(X))

    La segunda lnea es para definir la variable n,

    en la siguiente planteamos la ecuacin y

    posteriormente se calcula su respectiva

    transformada Z, el colmando evalc es para

    expresarlo en forma de caracteres y

    convertirlos en string, la siguiente lnea es

    para mostrar el valor de Xn en el texto, la

    siguiente nos define el rango de la grfica, la

    siguiente que es la variable z genera una

    matriz de valores polares complejos en z y

    esos son los valores que van a evaluar en X,

    la cual tendr 28 * 57, porque es de n+1 filas

    x 2*n + 1 columnas, el cual en este caso

    n=28. Genera la malla de la grfica con esos

    parmetros y uno debe llenarlo, la siguiente

    lnea el punto se coloca para que lo haga

    elemento a elemento y volverlo vector, la

    siguiente lnea antes del igual es que se van a

    tomar todos los elementos y despus del

    igual genera una matriz de ceros que tiene 1

    fila por la cantidad de columnas requeridas,

    esto se saca de la formula mencionada

    anteriormente, la siguiente lnea es para

    graficar lo obtenido la cual debe ir el lugar a

    graficar y la ultima es para graficar en 3D.

    Fig. 3 Grafica funcin escaln unitario

    discreto con su respectiva ecuacin.

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 4 de 6

    4

    Fuente: Autor

    Pero en algunos se requiere adicionar unos

    valores, para ello se debe adicionar dos

    nuevos comandos en nuestra GUIDE, uno de

    ellos es el Static text, esta opcin nos permite

    mostrar resultados, pero para este caso lo

    utilizaremos para nombrar nuestras variables

    las cuales sern a y w, para este no es

    necesario definirlo en la programacin; el

    otro ser el Edit text, para poder insertar el

    valor de nuestras variables, este se debe

    definir en la programacin de la siguiente

    manera:

    Val=get(hObject, 'string'); NewVal=str2double(Val); handles.edit4=NewVal; guidata(hObject,handles);

    La primera lnea almacena valor ingresado, la

    segunda transforma a formato doubl, la

    tercera almacena en identificador y la ltima

    salva los datos a la aplicacin. (1)

    Se mostrara el cdigo empleado para realizar

    la funcin coseno para mostrar cmo se

    realiza una grfica en 2D junto con el bucle

    para insertar un valor.

    case 9 syms n z; w=handles.edit4; x=cos(w*n); Xz=ztrans(x); Xn=evalc('pretty(Xz)');

    set(handles.text1,'string',Xn); z=tf('z'); Xw=(z-cos(w))/(z-2*cos(w)+(z^(-1))); axes(handles.axes1); zplane(pole(Xw),zero(Xw)); if isnan(w) errordlg('El valor debe ser

    numrico','ERROR') set(handles.uno,'String',0); w=0;

    Esta programacin tiene de adicional la

    sentencia if, que es para poder realizar la

    condicin de que al insertar un valor de a o

    modificarlo este varia el resultado y al no

    tener un valor envi un mensaje de error o si

    este valor no es numrico haga lo mismo, la

    funcin isnan nos permite retornar a una

    coleccin que contenga unos.

    Fig. 4 Grafica de la funcin coseno y su

    ecuacin.

    Fuente: Autor

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 5 de 6

    5

    Fig. 5 Ventana de las transformada Z inversas

    Fuente: Autor

    Para este se mostrara el comando aplicado a

    la divisin sinttica el cual es el siguiente:

    syms z ; G=(10*z+5)/((z-1)*(z-0.2)); F=iztrans(G); Xn=evalc('F'); set(handles.text1,'string',Xn);

    Lo primero es definir la variable, luego se

    copia la ecuacin y se aplica la transformada

    inversa, luego se evala el resultado en una

    variable y por ultimo identificamos la

    variable para que nos muestre el resultado.

    Fig. 6 Ventana de ecuaciones en diferencia

    Fuente: Autor

    Para poder calcular esto, se utiliz el

    siguiente cdigo:

    syms n; x=(-((-2)^n)+((-1)^n)); Xz=(x); Xn=evalc('Xz'); set(handles.text1,'string',Xn);

    4. CONCLUSIONES

    4.1 Para la realizacin de este informe se

    emple el Pop-up men debido a si

    mejor visualizacin, para la realizacin

    de ello se utiliz la sentencia switch y

    case, por su facilidad de programacin y

    menor posibilidad de arrojar errores en

    el programa.

    4.2 Al emplear el Pop-up men junto con el

    Push button se puede observar que es

    ms fcil la implementacin de este

    ltimo, debido a que este solo es digitar

    el cdigo para realizar la ecuacin,

    mientras el Pop-up men hay que definir

    unas variables y establecer una sentencia

    para definir estos comando, lo que hace

    que para aquellas personas que no han

    manejado GUIDE se facilite el Push

    button que el Pop-up men.

    4.3 Para la configuracin del botn regresar

    hay dos formas, la que se emple en esta

    prctica la cual es la sentencia de

    pregunta, debido a su mayor impacto

    visual y la otra forma la cual es la

    manera fcil, que consiste en cerrar el

    guide y abrir uno nuevo por medio de

    dos comandos, el primero es close

    acompaado del nombre de la ventana

    actual y abajo se coloca el nombre de la

    ventana que se desea abrir.

    4.4 Se analiz que para hacer una buena

    programacin, se deben conocer muy

    bien los comandos a implementar, a

  • UNIVERSIDAD FRANCISCO DE PAULA SANTANDER DEPARTAMENTO DE ELECTRICIDAD Y ELECTRNICA

    CONTROL DIGITAL Prctica de Laboratorio N 1. La transformada Z como herramienta para la simplificacin del anlisis de sistemas de control en tiempo

    discreto

    LAB1_CD

    Versin: 1.0

    Pgina: 6 de 6

    6

    partir de ah se comienza para realizar

    una buena interfaz y adquirir aprendizaje

    en los temas a tratar.

    4.5 Se identific que en la interfaz grfica se

    puede desarrollar de una forma prctica

    y sencilla ecuaciones, visualizando e

    interpretando la respuesta de la funcin

    de una manera ms didctica, ya sea en

    2D o 3D.

    4.6 Se emplearon dos comandos para graficar

    en 3D en este informe, uno es el

    comando surf y la otra es mesh, la

    diferencia radica en que el primero

    grafica una mejor resolucin de la

    imagen y ms oscura, mientras la otra es

    ms claro y presenta menor resolucin.

    5. RECOMENDACIONES

    5.1 Se sugiere realizar primero los clculos de las distintas transformadas y luego

    utilizar la herramienta Matlab, para

    corroborar resultados.

    5.2 Debido a la poca utilizacin de GUIDE en los semestres anteriores, es

    recomendable practicar por separado esta

    parte de Matlab, para poder

    desenvolverse mejor en la prctica.

    5.3 Hacer la interfaz de una manera didctica y entendible al usuario, esto para permitir

    la correcta interaccin, su buen uso y

    facilidad del usuario para poderse

    desenvolver en la interfaz.

    5.4 Tener claro cules sern los comandos que emplearemos en el GUIDE, esto con

    la finalidad de estudiar el

    comportamiento de cada uno de estos,

    adems de buscar el correcto acople entre

    los diferentes comandos a emplear para

    evitar inconvenientes en nuestra interfaz.

    6. REFERENCIAS BIBLIOGRFICAS

    1. Guerrero, Diego Orlando Barragan.

    matpic. [En lnea] [Citado el: 2 de 03 de

    2015.] www.matpic.com.

    2. Ogata, Katsuhiko. Sistemas de control en

    tiempo discreto. s.l. : Lynda Griffiths, 1996.

    1524.

    3. Castro, Sergio. Prctica de Laboratorio

    N 1. La transformada Z como herramienta .

    Ccuta : s.n., 2013.