Está en la página 1de 8

UPGto Campus Cortazar

Departamento de Robótica

Tarea No. 2
Simulación: sistema de suspensión de un cuarto de automóvil de 2GDL
D. Guadiana-Martínez
Sistemas Dinamicos | Departamento de Robótica | UPGto Campus Cortazar

Resumen

En este documento usted encontrara la simulación de un sistema de suspensión de un cuarto de automóvil de 2gdl. La
simulación fue realizada con archivos m-file y simulink (combinación de ambos), sin antes haber realizado el análisis
matemático para el modelado de las ecuaciones de dicho sistema.

1. Introducción
El modelar el sistema dinámico de suspensión de un cuarto de automóvil de 2gdl es necesario para poder
comprende el funcionamiento y su importancia en la vida diaria. De esta forma podemos diagnosticar fallas en los
amortiguadores o en las llantas mismas.

2. Objetivos
El alumno conocerá el comportamiento del sistema de suspensión de un cuarto de automóvil de 2gdl. Para su
análisis en actividades posteriores.

3. Desarrollo y análisis de resultados


Para poder realizar la simulación de nuestro sistema (figura 1.0) es necesario conocer las ecuaciones que rigen a
este:
m s z̈ s +c s ( ż s− ż u ) + k s ( z s−z u )=0 (1.0)
mu z̈ u −c s ( ż s− ż u )−k s ( z s−z u ) + k t ( z u−z r ) =0 (1.1)

Figura 1.0: Sistema de suspensión de un cuarto de automóvil de 2 gdl.

Ahora, como es necesario presentar el modelo matemático en variables de estado se tiene que despejar z̈ sde la
ecuación 1.0 y z̈ u de la ecuación 1.1.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


1/1
UPGto Campus Cortazar
Departamento de Robótica

−c s k
z̈ s= ( ż s− ż u ) − s (z s−z u ) (1.2)
ms ms
cs ks kt
z̈ u= ( ż s− ż u ) + ( z s−z u ) − ( z u−z r ) (1.3)
mu mu mu

Posteriormente hay que proceder a representar estas ecuaciones y todos los parámetros a un archivo m-file, el
código que debe de contener el archivo es el siguiente:

-------------------------------------------------------------------------------------------------------------------------------------------
function salidas=pasivesuspens(w)
% parametros de la suspension pasiva
ms=282; %[kg]
mu=45; %[kg]
ks=17900; %[N/m]
kt=165790; %[N/m]
cs=1500; %[N.s/m]
%Variables de estado
zs=w(1);
dzs=w(2);
zr=w(3);
zu=w(4);
dzu=w(5);
%Ecuaciones
ddzs=-(cs/ms)*(dzs-dzu)-(ks/ms)*(zs-zu);
ddzu=(cs/mu)*(dzs-dzu)+(ks/mu)*(zs-zu)-(kt/mu)*(zu-zr);

salidas=[ddzs;ddzu];
-------------------------------------------------------------------------------------------------------------------------------------------

Al momento de haber terminado y guardado nuestro documento con el nombre de ‘pasivesuspens.m’ procedemos a
realizar un diagrama de bloques como se muestra en la figura 2.0. En este diagrama de bloques podemos observar
que existe una perturbación generada por el perfil del terreno, esta perturbación según nuestro diagrama de bloques
se presenta cada 5 segundos.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


2/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 2.0: Diagrama de bloques del sistema de suspensión de un cuarto de automóvil 2gdl.

Después de terminar nuestro diagrama de bloques es necesario guardarlo en la misma carpeta que se guardo el
archivo m-file, antes de ejecutar este archivo también es muy importante hacer las modificaciones necesarias en
simulatio>>simulation parameters, si no se hacen es probable que la simulación no resulte. Una vez realizada la
simulación podemos guardar los datos de los scopes en un array. Para poder obtener las graficas mostradas en la
figura 3.0 es necesario ejecutar el siguiente código en un archivo m-file:

-------------------------------------------------------------------------------------------------------------------------------------------
%suspension pasiva
%Variables
t=acelbody(:,1);
ab=acelbody(:,2);
pb=posbody(:,2);
sd=suspendeflect(:,2);
wd=wheeldeflect(:,2);
%Grafica
subplot(2,2,1),plot(t,ab),title('Aceleracion vertical del auto'),
xlabel('Tiempo [s]'),ylabel('aceleracion [m/s^2]'), grid;
subplot(2,2,2),plot(t,pb),title('Posicion vertical del auto'),
xlabel('Tiempo [s]'),ylabel('Posicion [m]'), grid;
subplot(2,2,3),plot(t,sd),title('Deflexion de la suspension'),
xlabel('Tiempo [s]'),ylabel('Deflexion [m]'), grid;
subplot(2,2,4),plot(t,wd),title('Deflexion del neumatico'),
xlabel('Tiempo [s]'),ylabel('Deflexion [m]'), grid;
-------------------------------------------------------------------------------------------------------------------------------------------

Una vez ejecutado el código anterior se mostraran las graficas que deseamos conocer.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


3/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 3.0: Graficas del sistema de suspensión de un cuarto de automóvil de 2gdl

En el siguiente ejercicio se desea simular el comportamiento de una grúa viajera simple bidimensional considerando
el sistema de la figura 4.0. Primeramente tenemos que obtener las ecuaciones que rigen el sistema:

( M +m ) ẍ−mL φ̈ cos ( φ )+ mL φ̇2 sen ( φ )=f (1.4)


( I +m L2 ) φ̈−mL ẍ cos ( φ ) +mgLsen ( φ )=0 (1.5)

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


4/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 4.0: Diagrama esquemático de una grúa viajera simple bidimensional.

En seguida es necesario presentar las ecuaciones en un archivo m-file, en variables de estado como se muestra a
continuación:

-------------------------------------------------------------------------------------------------------------------------------------------
function salidas=grua(w)
%Parametros de la grua
M=25; %[kg]
m=60; %[kg]
g=9.8; %[m/s^2]
L=1.5; %[m]
%Variables
f=w(1);
theta=w(2);
dtheta=w(3);
%Ecuaciones
frac1=1/(L*(M+m-m*cos(theta)*cos(theta)));
frac2=1/(M+m-m*cos(theta)*cos(theta));
ddx=frac1*(f-m*g*cos(theta)*sin(theta)-m*L*dtheta*sin(theta));
ddtheta=frac2*(cos(theta)*f-m*(L^2)*(dtheta^2)*cos(theta)*sin(theta)-
(M+m)*g*sin(theta));

salidas=[ddx;ddtheta];
-------------------------------------------------------------------------------------------------------------------------------------------

Como en todos los ejercicios anteriores ahora también es necesario hacer un diagrama de bloques en simulink como
se muestra en la figura 5. Haciendo referencia al archivo grua.m en el bloque de matlab function.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


5/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 5: diagrama de bloques de la grúa viajera simple bidimensional.

Para poder observar el comportamiento de nuestro sistema, es necesario generar un archivo m-file y ejecutarlo, de
esta manera aparecerán las graficas mostradas en la figura 6. El código de este nuevo archivo es el siguiente:

-------------------------------------------------------------------------------------------------------------------------------------------
%grua viajera simple bidimensional

%variables
t=x(:,1);
posx=x(:,2);
postheta=theta(:,2);

%Graficas
subplot(2,1,1),plot(t,posx),title('Posicion de la cabeza de la grua'),
xlabel('Tiempo [s]'), ylabel('Desplazamiento [m]'), grid;
subplot(2,1,2),plot(t,postheta),title('Posicion angular de la carga'),
xlabel('Tiempo [s]'),ylabel('Desplazamiento angular [rad]'), grid;
-------------------------------------------------------------------------------------------------------------------------------------------

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


6/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 6: Graficas del comportamiento de la grúa viajera

4. Aportaciones personales
En esta ocasión no se presenta un nuevo método pero cabe resaltar que en tutorial proporcionado no se menciona
que para que el código número dos de este reporte funcione, es necesario declarar las variables acelbody, posbody,
suspendeflect y wheeldeflect.
Estas variables se tienen que declarar desde los scopes, dando doble click en el que se desee y escogiendo el menú
parameters, nos aparecerá una ventana como se muestra en la figura 4.0, ahí damos clic en la pestaña data history y
en el campo variable name escribimos el nombre que deseamos, en el combo box llamado format escogemos la
opción array.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


7/1
UPGto Campus Cortazar
Departamento de Robótica

Figura 7: parámetros de los scopes.

5. Conclusiones generales
El perfil del terreno es una perturbación que causa un gran impacto en el funcionamiento de este sistema dinámico,
por eso es algo que no debe dejarse de considerar, dicho de otra manera tomando en cuenta esta perturbación es
como se puede llevar el modelo matemático a una gran similitud cómo se comportan en el mundo real este sistema.

6. Referencias
1.- Simulación de sistemas dinámicos matlab/simulink por Esteban Chávez Conde.

Prof. Esteban Chávez Conde | Sistemas Dinámicos | Ingeniería Robótica


8/1

También podría gustarte