OFICINA DE LA MUJER Ubicación - Municipalidad de Puente Alto

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