Práctica 1 Simulación de Sistemas Continuos mediante Matlab - Simulink Introducción El objetivo de esta práctica es introducir al estudiante en una de las herramientas de simulación más utilizadas en el ámbito ingenieril: Matlab / Simulink. En el ámbito del análisis de sistemas, la simulación es una herramienta muy útil cuando concurren algunas de las siguientes circunstancias: • • • Por diversas causas (peligrosidad, ubicación, …) el sistema es difícilmente accesible. El sistema es tan complejo que su modelo es difícilmente tratable El sistema presenta componentes fuertemente no lineales en el rango de operación, que dificultan su análisis formal. Asimismo, la simulación resulta de utilidad a la hora de abordar el diseño de sistemas a los que se les exige un determinado cometido o función. Tomando como ejemplo el diseño de sistemas de control, la simulación permite: • • Abordar el dimensionado de los actuadores. Evaluar las prestaciones de diferentes estrategias de control en escenarios diferentes Matlab es un entorno de computación numérica que proporciona un lenguaje de programación que se ha convertido en uno de los estándares de facto en el mundo académico, usándose ampliamente en: • • • • • • Ingeniería de control Procesamiento de señales e imágenes Modelado, simulación y prototipado Análisis de datos y visualización Representación gráfica ……… Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Por su parte, Simulink, añade sobre Matlab una interfaz gráfica orientada al modelado y simulación del comportamiento temporal de sistemas dinámicos. La práctica va a centrarse en el modelado y la simulación de sistemas. Consta de dos partes diferenciadas: en la primera de ellas se abordará el uso de Matlab en la simulación de sistemas de primer, segundo y tercer orden, mientras que en la segunda se utilizará Simulink como herramienta de modelado y simulación. Más información: • Tutorial de iniciación a Matlab y Simulink disponibles en la página web Moodle de la asignatura. • Wiki sobre programación en Matlab: • http://en.wikibooks.org/wiki/MATLAB_Programming Webminar: Getting started with Matlab • http://www.mathworks.es/videos/getting-started-with-matlab68985.html Matlab Programming Fundamentals: • http://www.mathworks.com/help/pdf_doc/matlab/matlab_prog.pdf Webminar: Getting started with Simulink: • http://www.mathworks.es/videos/getting-started-with-simulink69027.html Control Tutorials for Matlab & Simulink: • http://ctms.engin.umich.edu/CTMS/index.php?aux=Home Introducción a Matlab. P. Corcuera. Universidad de Cantabria. • http://personales.unican.es/corcuerp/matlab_simulink Introducción a Matlab. M.V. Lapuerta, A. Laverón • http://ocw.upm.es/ingenieria-aeroespacial/aerodinamicanumerica/contenidos/introduccionmatlab/Curso_de_introduccion_al_matlab.ppt Aprenda Matlab como si estuviera en primero: • http://www.etnassoft.com/biblioteca/aprenda-matlab-como-siestuviera-en-primero/ Matlab en Cinco lecciones: • http://www.unavarra.es/personal/victor_dominguez/LibroMatlab WEB.pdf • • • • • • • • 2 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Primera parte: simulación de sistemas con Matlab El siguiente programa de Matlab simula el comportamiento ante un escalón de un sistema de primer orden básico definido en tiempo de ejecución por el usuario: %****Respuesta al escalón de un sistema de primer orden**** %********************************************************** %****Se introduce el tiempo final de simulación************ %****Se introduce la ganancia y la constante de tiempo***** %********************************************************** tfinal=input ('tiempo final de simulación'); K=input ('Ganancia sistema Primer Orden'); T=input ('constante de tiempo'); num=[K]; den=[T 1]; sistema=tf(num,den) periodo=tfinal/1000; tiempo=0:periodo:tfinal; entrada=ones(length(tiempo),1); salida=lsim(sistema,entrada,tiempo); plot(tiempo,salida) xlabel('Segundos') title('Salida al escalón unitario de un primer orden') El núcleo del programa anterior reside en la función lsim (acrónimo de linear simulation). Las 3 últimas líneas (orientadas a la representación gráfica) pueden omitirse si se invoca lsim sin asignar su salida a ninguna variable. Resulta útil echarle un vistazo a la ayuda que proporciona Matlab (teclead help lsim). P1.- Considérese el siguiente sistema de primer orden básico, descrito por sus parámetros K y τ: G( s) = K 1 + τs Inspirándote en el ejemplo visto anteriormente, realiza las siguientes simulaciones • • • Respuesta del sistema ante una entrada en impulso. Respuesta del sistema ante un escalón unitario. Indica además en esta gráfica la ganancia, cte de tiempo y tiempo de respuesta del sistema. Respuesta ante una entrada en rampa de pendiente 0.5. 3 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Refleja el código del programa en el siguiente cuadro: 4 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Gráfica 1. Respuesta impulsional y ante el escalón. Gráfica 2. Respuesta del sistema ante una entrada en rampa de pendiente 0.5. 5 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink P2.- Añadiendo un cero al sistema anterior obtendríamos un sistema de primer orden completo: G (s) = K (1 + τ c s ) 1 + τs Prefijando sendos valores de K y τ (1 y 1 respectivamente), simula el comportamiento al escalón para un rango amplio de valores del cero (τc=0:2), manteniendo la misma gráfica para su representación. Utilizad para ello una estructura iterativa (for tauc=0:0.2:2….) y el comando hold on (permite mantener el espacio de representación gráfica con el fin de ir “acumulando” curvas diferentes en la misma gráfica). 6 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Gráfica 3. Respuesta al escalón de un sistema de primer orden completo para distintos valores de τ c P3.- Dado el siguiente sistema de segundo orden básico: 2 G( s) = • • • • K (ω n ) 2 s 2 + 2ξω n s + (ω n ) Fijando un valor de K y ωn, simula la respuesta al escalón para distintos valores de ξ (0.2:0.2:1), manteniéndolos en la misma gráfica. Obtén (para ξ =0.2) la respuesta del sistema ante una rampa de pendiente 0.5. Observa el efecto del promediado en las oscilaciones. Con el fin de evaluar la influencia de los ceros adicionales, simula el comportamiento al escalón (K=1, ξ =0.2 y ωn =5) para un rango amplio de valores del cero (τc=0:1), manteniendo la misma gráfica para su representación. ¿Qué influencia tiene la presencia de un cero en los distintos parámetros descriptores del régimen transitorio (tiempo de respuesta, tiempo de pico y sobreoscilación)? Con el fin de evaluar la influencia de los polos adicionales, simula el comportamiento al escalón (K=1, ξ =0.2 y ωn =5) para un rango amplio de valores del polo (τc=0:0.5:3), manteniendo la misma gráfica para su representación. ¿Qué influencia tiene la presencia del polo adicional en los distintos parámetros descriptores del régimen transitorio (tiempo de respuesta, tiempo de pico y sobreoscilación)? 7 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Gráfica 4. Respuesta a un escalón unitario para distintos valores de ξ . 8 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Gráfica 5. Respuesta a una rampa de pendiente 0.5 Gráfica 6. Respuesta a un escalón unitario del 2º orden con cero para distintos valores de τ c. 9 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Gráfica 7. Respuesta al escalón de un sistema de 2º orden con polo adicional para distintos valores de τ p 10 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Algunos comandos y funciones de Matlab Comando o Función Explicación abs Valor absoluto, magnitud compleja angle Ángulo de fase atan Arcotangente axis Escalamiento de un eje en forma manual bode Diagrama de Bode clear Borrar el área de trabajo clg Borrar las gráficas de la pantalla conj Complejo conjugado conv Convolución, multiplicación corrcoef Coeficientes de correlación cos Coseno cosh Coseno hiperbólico cov Covarianza deconv Deconvolución, división det Determinante diag Matriz diagonal eig Valores y vectores propios exit Terminar sesión exp Base e exponencial expm Exponencial de una matriz eye Matriz identidad filter Implementación directa de un filtro grid Dibujar líneas de retícula hold Mantener la gráfica actual en la pantalla imag Parte imaginaria inv Inversa de una matriz length Longitud de vector linspace Vectores linealmente espaciados 11 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Comando o Función Explicación Iog Logaritmo natural Iogspace Vectores logarítmicamente espaciados log10 Logaritmo en base 10 lsim Simulación sistema LTI max Valor máximo mean Valor medio median Valor mediano mm Valor mínimo nyquist Diagrama polar de un sistema. ones Constante pi π plot Gráfica lineal xy polar Gráfica polar poIy Polinomio característico polyfit Ajuste de curva a un polinomio polyval Evaluación de un polinomio prod Producto de elementos rand Generar números y matrices aleatorios rank Determinar el rango de una matriz real Parte real rem Residuo o módulo residue Expansión en fracciones parciales rlocus Gráfica del lugar geométrico de las raíces roots Raíces de un polinomio semiIogx Gráfica semilogarítmica x-y (logaritmo del eje x) sign Función signo sin Seno sinh Seno hiperbólico size Dimensiones de una matriz sqrt Raíz cuadrada std Desviación estándar sum Suma de elementos de un vector/matriz 12 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Segunda parte: modelado y simulación de sistemas con Simulink Además de aportar una interfaz gráfica orientada a la simulación, Simulink constituye una herramienta de ayuda al modelado, pues permite especificar el sistema a simular sin recurrir a la reducción del diagrama de bloques con el fin de obtener la función de transferencia global. Simulink presenta una serie de herramientas de diseño de diagramas de bloques que, en conjunción con una serie de bibliotecas con numerosos elementos predefinidos (no linealidades, elementos de representación gráfica, etc.), permiten acometer la simulación de manera rápida e intuitiva. Estudio Teórico previo La siguiente figura representa de una manera simplificada la suspensión de 1/4 de automóvil, siendo: • • • • • • • • m1: masa de la rueda (20 kg) m2: masa de 1/4 de la carrocería (300 kg) k1: constante rigidez de la rueda (104 N/m) k2: constante rigidez del muelle de la suspensión (500 N/m) f2: coeficiente de fricción viscosa del amortiguador (103 N seg / m) x: desplazamiento vertical del eje de la rueda respecto de su posición de equilibrio y: desplazamiento vertical de la carrocería respecto de su posición de equilibrio u: representa la irregularidad del terreno en el eje vertical (desplazamiento vertical) El objetivo de la suspensión es mitigar la transmisión de las irregularidades del terreno hacia la carrocería. Para ello, se construye un conjunto muelle-amortiguador: • • Por un lado, el muelle reduce la rigidez del conjunto, absorbiendo las mencionadas irregularidades. Por su parte, el amortiguador evita el comportamiento oscilante asociado a la presencia del muelle. Observaciones adicionales: • • • • En ausencia de irregularidades, es el muelle quien proporciona sustento a la carrocería. Respecto de la fuerza de gravedad, decir que está ya considerada (sólo influye en los valores de equilibrio para X e Y). El envejecimiento del amortiguador hace disminuir su coeficiente de fricción viscosa. La disminución de la presión de inflado del neumático repercutirá en un menor valor de k1. 13 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink m2 y(t) f2 k2 m1 k1 x(t) u(t) ET1.- Obténgase el diagrama de bloques del sistema, de forma que en él aparezcan individualmente cada uno de los elementos descritos en la lista anterior. Obtened asimismo las funciones de transferencia X(s)/U(s) e Y(s)/U(s). 14 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink ET2.- Considerando la función de transferencia Y(s)/U(s), analiza desde un punto de vista puramente intuitivo la influencia de los parámetros k1, k2 y f2 sobre el régimen permanente. Observad la dificultad que entraña el análisis formal del transitorio. ET3.- Con el fin de facilitar el análisis formal, podría pensarse en simplificar el sistema anterior, suponiendo que la rigidez del neumático es infinita (imaginad que la rueda fuese únicamente una llanta de acero). Ello provocaría que las irregularidades del terreno fueran transmitidas “tal cual” al eje de la rueda. Obtened la función te transferencia Y(s)/U(s) en estas circunstancias, analizando intuitivamente la influencia de los parámetros (m2, k2 y f2) sobre el régimen transitorio. 15 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink Desarrollo de la práctica P4.- Introducid el diagrama de bloques obtenido en ET1, simulando el comportamiento del sistema con los valores propuestos ante un escalón de amplitud 1. Representad en la misma gráfica la evolución de x e y. Gráfica 8. Respuesta al escalón. Evolución temporal de x e y P5.- Suponed que el paso del tiempo ha degradado el amortiguador, reduciendo su coeficiente de fricción viscosa a la décima parte de su valor original. Simulad de nuevo el comportamiento, comparando la evolución temporal de y con la obtenida en P4. Gráfica 9.Evolución temporal de y con el amortiguador degradado 16 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink P6.- Comprobad el impacto que tiene la presión de inflado del neumático, suponiendo que k1 se reduce a 103 N/m. Gráfica 10. Evolución temporal de y con el neumático poco inflado P7.- Comprobad el impacto que tiene la carga del vehículo, incrementando sensiblemente la masa de la carrocería respecto de su valor original Gráfica 11. Evolución temporal de y con el automóvil muy cargado 17 Práctica 1. Simulación de sistemas continuos mediante Matlab-Simulink P8.- Obtener la fuerza que ejerce el neumático sobre el suelo 9.8*(m1+m2)+K1*(u-x). ¿Qué sucede por tanto en condiciones de amortiguación degradada? Gráfica 12. Evolución temporal de la fuerza que ejerce el neumático contra el suelo 18
© Copyright 2025