simulacion suspension pasiva y grua viajera

8

Click here to load reader

Upload: david-guadiana-martinez

Post on 29-Jun-2015

1.189 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Simulacion suspension pasiva y grua viajera

UPGto Campus Cortazar Departamento de Robótica

Tarea No. 2Simulación: sistema de suspensión de un cuarto de automóvil de 2GDL

D. Guadiana-MartínezSistemas 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. ObjetivosEl 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 resultadosPara poder realizar la simulación de nuestro sistema (figura 1.0) es necesario conocer las ecuaciones que rigen a este:ms zs+cs ( zs− zu )+ks ( zs−zu )=0 (1.0)

mu zu−cs ( zs− zu )−ks ( zs−zu )+k t ( zu−zr )=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 zsde la ecuación 1.0 y zu de la ecuación 1.1.

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

Page 2: Simulacion suspension pasiva y grua viajera

UPGto Campus Cortazar Departamento de Robótica

zs=−c sms

( zs− zu )−k sms

(zs−zu) (1.2)

zu=csmu

( zs− zu )+k smu

( zs−zu )−k tmu

(zu−zr) (1.3)

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 estadozs=w(1);dzs=w(2);zr=w(3);zu=w(4);dzu=w(5);%Ecuacionesddzs=-(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ótica2/1

Page 3: Simulacion suspension pasiva y grua viajera

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 %Variablest=acelbody(:,1);ab=acelbody(:,2);pb=posbody(:,2);sd=suspendeflect(:,2);wd=wheeldeflect(:,2); %Graficasubplot(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ótica3/1

Page 4: Simulacion suspension pasiva y grua viajera

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 ) x−mLφ cos (φ )+mL φ2 sen (φ )=f (1.4)

( I+mL2 ) φ−mL x cos (φ )+mgLsen (φ )=0 (1.5)

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

Page 5: Simulacion suspension pasiva y grua viajera

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 gruaM=25; %[kg]m=60; %[kg]g=9.8; %[m/s^2]L=1.5; %[m]%Variablesf=w(1);theta=w(2);dtheta=w(3);%Ecuacionesfrac1=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ótica5/1

Page 6: Simulacion suspension pasiva y grua viajera

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 %variablest=x(:,1);posx=x(:,2);postheta=theta(:,2); %Graficassubplot(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ótica6/1

Page 7: Simulacion suspension pasiva y grua viajera

UPGto Campus Cortazar Departamento de Robótica

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

4. Aportaciones personalesEn 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ótica7/1

Page 8: Simulacion suspension pasiva y grua viajera

UPGto Campus Cortazar Departamento de Robótica

Figura 7: parámetros de los scopes.

5. Conclusiones generalesEl 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. Referencias1.- Simulación de sistemas dinámicos matlab/simulink por Esteban Chávez Conde.

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