Laboratorio UFPS Discretizacion Control Digital



Comments



Description

Lab. No.2 – Herramientas y utilidades 1 UNIVERSIDAD FRANCISCO DE PAULA SANTANDER FACULTAD DE INGENIERIA CONTROL DIGITAL LABORATORIO No. 2 – Herramientas y utilidades para el estudio de los sistemas de control en tiempo discreto INSTRUCCIONES 1- Las técnicas y herramientas didácticas que se empleen en los laboratorios tiene como finalidad el refuerzo, la conformación y ejecución de los diferentes aspectos que hacen parte de la asignatura. De forma que el alumno desarrolle un pensamiento flexible, dinámico, audaz, independiente, persistente, divergente y original en su formación como profesional. OBJETIVOS  Comprender como se simulan señales discretas en el tiempo usando MATLAB®  Graficar señales en tiempo discreto, hallar la transformada Z y el diagrama de polos y ceros utilizando Matlab.  alumno implementará un dispositivo de muestreo y un dispositivo de retención para comprobar dos de los procesos empleados en la discretización de señales analógicas.  El alumno analizará las variaciones que se producen en ambos procesos al cambiar los parámetros del sistema para diferentes señales de entrada. REFERENCIAS  Andrew Knight Basics of MATLAB and Beyond. Chapman and Hall/CRC; 1 edition, 1999.  Fernandez del Busto y Ezeta, Ricardo., "Análisis y diseño de sistemas de control digital", Mc Graw Hill, 2013, ISBN: 978-607-15-0773-0  http://ctms.engin.umich.edu/CTMS/index.php?example=MotorPosition&section=SimulinkContr ol#14  http://www.mathworks.com SESIÓN SIMULACIÓN INTRODUCCIÓN Las señales son representaciones (usualmente bidimensionales) de una o más variables dependientes, la cual muestra el comportamiento de una perturbación física que varía mientras transcurre el tiempo. Si la componente del tiempo es una variable que es unívoca y continua, estamos en presencia de una señal continua en el tiempo. Si por el contrario su dominio presenta cantidades exactas y finitas en un intervalo, aun conservando su continuidad, nos referiremos a una señal discreta. En cuanto a su dimensión de magnitud, las señales pueden presentar la misma característica de continuidad o no, pero la denominación del tipo de señal varía. Las posibilidades se limitan a cuatro tipos de señales según el comportamiento de sus dimensiones: analógicas si su amplitud y tiempo son continuos; muestreadas si su magnitud es continua y su tiempo discreto; cuantificada si el tiempo es continuo pero la amplitud es discreta y finalmente, digital si tanto en tiempo como en amplitud son discretos. Como se aprecia en la anterior clasificación, sólo una señal es analógica cuando sus variables asociadas son continuas; por demás, serán discretas. Dentro de las señales discretas se encuentran las muestreadas y cuantificadas, que son las etapas iniciales del proceso de digitalización de una señal. MATLAB® no trabaja con señales continuas, pero hace una representación de ellas mediante la gráfica de multiplicidad de muestras. Un ejemplo de ello se despliega en a través del SCRIPT1.m. Lo anterior permite definir y ver la figura 1 de una señal en apariencia analógica pero que realmente es discreta. Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 2 Ejemplo 1: % ================================================== % SCRIPT1.m % Script para graficar una señal sinusoidal simbólica % =================================================== clear, clc; % Permite iniciar variables y limpiar lapantalla y = 'sin (2*pi*t)'; % Define a y como una función syms t; % Define t como una variable simbólica eval (y); % Evalúa numéricamente a y ezplot (y) % Realiza la gráfica de una función simbólica Figura 1. Función simbólica del ejemplo definida en MATLAB® para su análisis. Se grafica la función simbólica y su dominio es desde -2π a 2π. Una señal muestreada se obtiene por la toma de valores específicos de una señal continua, en instantes de tiempo definidos. Este proceso se reconoce como muestreo periódico o uniforme de señal continua, y con fines prácticos y para algunas aplicaciones, se efectúa a intervalos fijos de tiempo Ts, llamado período de muestreo. Su valor recíproco 1/ Ts se denomina frecuencia de muestreo (Fs) expresado en muestras/segundo o Hertz . Para graficar una señal muestreada es necesario y obligatorio la definición de los valores de magnitud en los respectivos instantes de muestreo. A través del comando stem() es posible obtener el resultado visual de la función. Es necesario considerar que las dimensiones de los vectores (matrices de una fila o una columna) deben ser iguales. Un ejemplo de la gráfica de una señal muestreada es presentada a continuación. Es propio recordar que MATLAB® trabaja por defecto con radianes como unidad angular. Ejemplo 2: % =================================================== % SCRIPT2.m % Script para graficar una señal sinusoidal muestreada % =================================================== clear, clc; t=linspace(1,0.1,100); %Define la base de tiempo para la gráfica y =sin (2*pi*t); %Define a y como una función sinusoidal stem(t,y) %Realiza la gráfica de una función discreta La gráfica obtenida de la señal muestreada se presenta en la figura 2. Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 3 Figura 2. Función muestreada del ejemplo definida en MATLAB®. Gráfica de la función y su dominio. FUNCIONES ELEMENTALES DISCRETAS Ejemplo 3: Para graficar la señal escalón unitaria discreta por Matlab, se hace: % GENERACIÓN DE ESCALÓN UNITARIO DISCRETO x = ones (1,11); % define once valores de 1's v = [ 0 10 0 2]; % define valores de ejes axis (v); plot (x,'ro') % grafica círculos de color rojo xlabel ('k') % asigna rotulo al eje x ylabel ('x(k)') % asigna rotulo al eje y title (‘ESCALON UNITARIO DISCRETO’) Figura 3. Función escalón unitario discreto Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 4 Ejemplo 4: % GENERACIÓN DE LA RAMPA UNITARIA DISCRETA k = 0:10; % define valores de k x = k; % función rampa para x axis([0 10 0 10]); % define ejes grid % rejilla para grafica plot(k, x,'ro') % grafica x en función de k xlabel('k'); % rotulo para eje x ylabel('x(k)'); % rotulo para eje y title('RAMPA UNITARIA DISCRETA') Figura 4. Función escalón unitario discreta Ejemplo 5: %GENERACION DE LA FUNCION SENO: x(k) = sen(wkT) k = linspace(1,20); % define valores de k con espaciamiento lineal x = sin(k); % función exponencial grid % rejilla para grafica plot(k, x,'bo') % grafica x en función de k 12 Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 5 xlabel('k'); % rotulo para eje x ylabel('x(k) =seno(k)'); % rotulo para eje y title('SENOIDAL DISCRETA') Figura 5. Función senoidal discreta LA TRANSFORMADA Z The Z-transform of the function F(z) is defined as follows: If R is a positive number, such that the function F(Z) is analytic on and outside the circle |z| = R, then the inverse Z-transform is defined as follows: To compute the Z-transform of an arithmetical expression, use the ztrans function. For example, compute the Z-transform of the following expression: Ejemplo 6: %transformada Z clear all syms a k T xk=exp(-a*k*T) Xz=ztrans(xk) Xz=factor(Xz) pretty(Xz) Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 6 Ejemplo 7: %transformada Z clear all syms a k T w z x1k=exp(-a*k*T)*sin(w*k*T) X1z=ztrans(x1k) X1z=factor(X1z) pretty(X1z) LA TRANSFORMADA INVERZA Z Ejemplo 8: Obtener la transformada Z inversa x(k) de: % EJEMPLO DE TRANSFORMADA Z INVERSA x = [1 zeros(1,40)]; % para k = 40 muestras num = [0 5 10]; % coeficientes del numerador den = [1 -1 0.16]; % coeficientes del denominador y = filter(num, den, x) % obtención de las 40 muestras k = 0:40; plot(k, y,'ro',k, y,'-') xlabel('k') ylabel('y(k)') Los 40 resultados obtenidos de x(0) hasta x(39) son: 0 5.0000 15.0000 14.2000 11.8000 9.5280 7.6400 6.1155 4.8931 3.9146 3.1317 2.5054 2.0043 1.6035 1.2828 1.0262 0.8210 0.6568 0.5254 0.4203 0.3363 0.2690 0.2152 0.1722 0.1377 0.1102 0.0882 0.0705 0.0564 0.0451 0.0361 0.0289 0.0231 0.0185 0.0148 0.0118 0.0095 0.0076 0.0061 0.0048 0.0039 Cuya representación es la siguiente: Figura 6. Señal x(k) Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 7 Ejemplo 9: Obtener la transformada Z Inversa de: Para representar esta función en fracciones parciales usamos el comando Matlab residue que encuentra los valores del vector r, del vector p y del término independiente k según la siguiente expresión: %Usando Matlab: num = [5 26 44 29]; den = [1 6 11 6]; [r, p, k] = residue(num,den) Los resultados son: r = [-2 -5 3], p = [-3 -2 -1], k = 5, por tanto, las fracciones parciales quedan: Multiplicando por z-1 : Aplicando las tablas Ejemplo 10: Obtener la transformada Z Inversa de: Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 8 % PROGRAMA EN MATLAB num = [0 3 -9 0]; % coeficientes del numerador den = [1 -1.8 1.05 -0.2]; % coeficientes del denominador Xz = tf (num, den, -1); % función de transferencia en términos de z pole(Xz) % obtención de polos % la función tiene un polo simple en z = 0.8 y un polo doble en z = 0.5 % se debe reconstruir la función para aplicar el comando limit de Matlab Xz1 = sum(num.*[z^3 z^2 z 1])/sum(den.*[z^3 z^2 z 1]); % a) cálculo del residuo para el polo simple syms z k k1 =limit ((z-0.8)*Xz1*z ^(k-1),z,0.8) % k1 = -220/3*4^ k/(5^ k) % b) cálculo del residuo para el polo doble h=diff((z-0.5)^2*Xz1*z^(k-1),2) % segunda derivada k2=limit(h,z,0.5) % k2 = 20/9*(87*k+220+45*k^2)/(2^k) x(k) = k1 + k2 = -220/3*4^ k/(5^ k) + 20/9*(87*k + 220+45*k ^ 2)/(2^ k). ECUACIONES EN DIFERENCIA Ejemplo 11: Resolver la siguiente ecuación en diferencias. x (k + 2) + 0.5x (k + 1) + 0.2x(k) = u(k + 1) + 0.3u(k), Condiciones iniciales: x(k) = 0, para k ≤ 0 y u(k) = 0, para k < 0 y además, u(0) = 1.5, u(1) = 0.5, u(2) = -0.5, u(k) =0 para k = 3, 4, 5, ······· la solución teorica daría de la siguiente forma: A partir de la anterior función aplicamos matlab Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 9 % OBTENER DIEZ VALORES DE LA SEÑAL num = [0 1.5 0.95 -0.35 -0.15]; den = [1 0.5 0.2 0 0]; u = [1 zeros(1,10)]; xk = filter(num,den,u) k = 0:10; stem(xk, k) % grafica la señal muestreada Valores x(k) dados por Matlab: x(0)= 0, x(1)= 1.5000 x(2)= 0.2000, x(3)=-0.7500, x(4)= 0.1850, x(5)= 0.0575 x(6)= -0.0658, x(7)= 0.0214, x(8)= 0.0025, x(9)= -0.0055, x(10)= 0.0023 RESPUESTA AL ESCALON UNITARIO Ejemplo 12: clear z=tf('z'); %funcion tranfer planta Gp=(0.35*z)/(z^2-0.8*z+0.15); % %extraccion del numerador y del denominador de Gp [num,den]=tfdata(Gp,'v'); %respuesta al escalon unitario u=ones(1,21); k=0:1:21; %respuesta al escalon unitario clf y=dstep(num,den,k); y=y' k=0:1:20; plot(k,y,'ro',k,u,'--') grid Figura 7. Respuesta a un escalón unitario v=[0 21 0 1.5]; axis(v) title('respuesta al escalon unitario','fontsize',12) xlabel('k,muestras','fontsize',12) ylabel('y(k)','fontsize',12) Retomando el ejemplo de la guía No.1 MODELADO DEL MOTOR EN VELOCIDAD A TRAVES DE SIMULINK Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 10 Un actuador común en sistemas de control es el motor DC. Provee directamente movimiento rotatorio y acoplado con poleas o correas puede proveer movimiento transnacional. Ecuaciones dinámicas El circuito eléctrico de la armadura y el diagrama de cuerpo libre del rotor es mostrado en la figura con sus ecuaciones dinámicas. (1) Leyes de Newton (2) Leyes de Kirchhoffs Los parámetros físicos tienen los siguiente valores : Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 11 In this section, we will employ this model within Simulink to simulate and design different approaches to control. Specifically, we will explore the design of a digital control system. Open-loop response Begin with the above model saved as a subsystem and follow the steps given below.  Remove the In and Out ports.  Insert a Step block from the Simulink/Sources library and connect it with a line to the Voltage input.  To view the output position, insert a Scope from the Simulink/Sinks library and connect it to the Position output.  To provide an appropriate unit step input at t=0, double-click the Step block and set the Step time to "0". The system should now appear as in the following figure. In order to simulate this system, the details of the simulation must first be set. This can be accomplished by selecting Model Configuration Parameters from the Simulation menu. Within the resulting menu, define the length for which the simulation is to run in the Stop time field. We will enter "0.2" since 0.2 seconds will be long enough for the step response to reach steady state. Also in the Configuration Parameters dialog Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 12 box, the numerical solver employed in the simulation can be specified. Go ahead and change the Solver field from the default ode45 (Dormand-Prince) to the ode15s (stiff/NDF) solver. Since the time scales in this example are very small, this stiff system integration method is more efficient than the default integration method. The physical parameters must now be set. Enter the following commands in the MATLAB command window. J = 3.2284E-6; b = 3.5077E-6; K = 0.0274; R = 4; L = 2.75E-6; Then run the simulation (press Ctrl-T or select Run from the Simulation menu). When the simulation is finished, double-click on the scope. You should see the following output which goes unstable and obviously does not meet our design requirements. Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 13 Extracting a linear sampled model into MATLAB We will now extract a linear sampled version of this continuous-time model into the MATLAB workspace. The extraction of a sampled model can be performed from the MATLAB command line using the command dlinmod, though it is preferrable to perform the extraction from directly within Simulink as we will demonstrate here. We will use the model from above. The first thing that we need to do is to identify the inputs and outputs of the model we wish to extract. First right-click on the signal representing the Voltage input in the Simulink model. Then choose Linear Analysis Points > Open-loop Input from the resulting menu. Similarly, right-click on the signal representing the Position output and select Linear Analysis Points > Open-loop Output from the resulting menu. The input and output signals should now be identified on your model by arrow symbols as shown in the figure below. In order to perform the extraction, select from the menus at the top of the model window Analysis > Control Design > Linear Analysis. This will cause the Linear Analysis Tool to open. Next follow the steps given below.  From the Linear Analysis Tool window, click the More Options button. From the resulting window, change the sample time to "0.001" as shown in the figure below. The rate conversion method can remain the default Zero-Order Hold. Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 14  Within the Linear Analysis Tool window, the Operating Point to be linearized about can remain the default, Model Initial Condition. In order to perform the linearization/discretization, next click the Step button identified by a step response with a small green triangle at the top. The result of this linearization/discretization is the linsys1 object which now appears in the Linear Analysis Workspace. This model can be exported by simply dragging the object into the MATLAB Workspace.  This object can then be used within MATLAB in the same manner as an object created directly from the MATLAB command line. Specifically, entering the command zpk(linsys1) in the MATLAB command window demonstrates that the resulting model has the following form. To further verify the validity of the model extraction, we will generate an open-loop step response of the discrete-time transfer function in MATLAB. Enter the following commands at the prompt of the MATLAB command window. t = 0:0.001:0.2; step(linsys1,t); grid The extracted discrete models can then be used within MATLAB for various analysis and controller design tasks. SESIÓN EXPERIMENTAL INTRODUCCIÓN En los sistemas discretos, en los sistemas de datos muestreados y en los sistemas de control digital, por lo general una o varias de las señales que intervienen en el proceso son señales analógicas que deben ser transformadas a señales discretas para poder ser empleadas de forma adecuada dentro de este tipo de sistemas. Para lograr la discretización de las señales, se debe aplicar primero el proceso de muestreo y obtener así una señal formada únicamente por las muestras discretas en tiempo de la señal analógica. Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 15 El proceso de muestreo puede representarse a través de un interruptor que se cierra cada t = kT segundos durante un tiempo de muestreo (p), generándose una señal de muestreo como la mostrada en la figura 1.1 t = Instante de muestreo k = 0, 1, 2, 3, … n T = Periodo de muestreo p = Tiempo de muestreo La ecuación t = kT describe al muestreo periódico ya que las muestras están equiespaciadas, es decir las muestras son tomadas en instantes de tiempo que son múltiplos enteros del periodo de muestreo. También existen otros tipos de muestreo empleados para diferentes propósitos, los cuales se describen con ecuaciones similares a la mostrada anteriormente. La entrada de este interruptor es una señal analógica y la salida es una señal muestreada como se puede observar en la figura 10. Figura 10. Proceso de muestreo Otra forma de representar el proceso de muestreo es a través de un modulador en amplitud, que realiza la modulación de un tren de impulsos unitarios discretos generados en los instantes kT que se emplean como señal portadora y la señal analógica que se desea muestrear que se emplea como señal moduladora, obteniéndose como salida los pulsos discretos pero modulados en amplitud por la señal de entrada, a esta salida se le denomina la señal muestreada, tal y como se observa en la figura 11 Figura 11. Proceso de muestreo por modulador de amplitud Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 16 La operación que realiza el modulador puede representarse matemáticamente a través del producto del tren de impulsos unitarios y la señal analógica de entrada dando como resultado la siguiente expresión que define a la señal muestreada. Si a esta expresión se le aplica la transformada de Laplace y se toman las consideraciones necesarias, se obtiene la transformada Z de la función x(t). Otro dispositivo empleado en la digitalización de las señales analógicas para utilizarlas en los sistemas de datos muestreados, es el retenedor, el cual tiene la función de reconstruir la señal muestreada a partir de los valores de las muestras generadas por el muestreador, empleando para ello, polinomios de diferentes grados. Entre los más empleados están los retenedores de orden cero y de primer orden. Este proceso también se emplea para que los cuantizadores tengan en su entrada una señal constante que representa a la muestra actual y puedan tener el tiempo suficiente para realizar la conversión de código ya que la muestra original que se obtiene del muestreador tiene una duración muy corta. Figura 12. Proceso de retenedor En esta práctica se implementarán 2 circuitos que realizan las funciones de muestreo y retención respectivamente. Estos circuitos se implementan a través de circuitos analógicos y amplificadores operacionales para poder visualizar las funciones que se realizan en estos 2 procesos, pero haciendo la anotación de que en los sistemas de control digital estas funciones se realizan a través de los convertidores analógico digitales que contienen de manera intrínseca a dichas funciones de muestreo y retención (S/H, Sample and Hold). Procedimiento Experimental 1. Implemente el circuito de la figura 13, el cual realiza la operación de muestreo sobre la señal Ve(t) y genera una señal muestreada Ve*(t), este circuito consta de las siguientes partes: Generador de pulsos de muestreo en configuración astable. Interruptor analógico (interruptor bidireccional) controlado por pulsos DG201 (otras opciones DG441, DG444). Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA Lab. No.2 – Herramientas y utilidades 17 Figura 13. Circuito muestreador 2. Calibre el generador de funciones con una señal Ve(t) = 2.5 Sen 6283.18 t. 3. Pruebe el sistema por partes, verificando el correcto funcionamiento de cada una de ellas. 4. Compruebe y analise el funcionamiento del proceso de muestreo para las señales de entrada triangular y cuadrada además de la señal senoidal del punto anterior. 5. Mida los valores de periodo de muestreo (T) y el tiempo de muestreo (p) mínimo y máximo de la señal de salida del generador de pulsos variando el potenciómetro P1 a su valor mínimo y a su valor máximo. 6. Indique cual es la frecuencia de muestreo mínima y máxima que se puede obtener con este circuito. 7. Varíe la frecuencia de la señal senoidal a un valor en el rango de 30KHz a 50KHz y observe el comportamiento simultáneo de las señales de entrada Ve(t) y de salida Ve*(t), ajuste el valor de frecuencia para obtener un proceso de muestreo equivalente. (Aliasing o Señal de salida que no es muestreada adecuadamente debido a que no se toman las muestras necesarias para representarla). Identifique y analice este concepto muy importante para llegar a una conclusión práctica de porque con este tipo de circuito no se puede llegar a muestrear señales de cualquier frecuencia o amplitud. 9. Retire la resistencia R3 de 10 KΩ que está conectada a la terminal 3 del interruptor analógico, ya que afecta el comportamiento del circuito retenedor que se adicionará a la salida del muestreador y regrese la señal de entrada a su valor de amplitud y frecuencia original Ve(t) = 2.5 Sen 6283.18 t. 10. Añada el circuito de la figura 12 a la salida del circuito de la figura 14, el cual realizará la función de retención y observe la señal de salida Vs(t) del circuito 15 y como se relaciona con la entrada Ve(t). Analice el proceso completo, haciendo las pruebas también para señales de diferentes tipos y frecuencias (triangular y cuadrada). Figura 14. Circuito retenedor Control Digital IE. PhD. FRANCISCO E. MORENO GARCIA
Copyright © 2024 DOKUMEN.SITE Inc.