lunes, 23 de septiembre de 2013

Simulación de un masa-resorte-amortiguador doble

En Matlab ejecute la siguiente instrucción:

>> mra2_ini

Los siguientes archivos están en la carpeta en donde se ejecutó la instrucción arriba mencionada.

mra2_ini.m

%  Programa principal que grafica la posicion y velocidad de un sistema 
%  mecanico masa-resorte-amortiguador de 2gdl mediante la instruccion ode45. 
%  Requisitos: mra2.m

%  Realizo: Ricardo Cuesta
%  Fecha: 23/sep/13
%  Version: 0.1

clc; clear; clf;            % limpia pantalla, variables y figura

t = linspace(0,10,1000);    % tiempo de simulacion
x0 = [0;0;0;0];                 % condiciones iniciales

[t,x] = ode45(@mra2,t,x0);   % solucion de la EDO
figure(1)

subplot(2,1,1)
plot(t,x(:,1))              % grafica posicion de la primera masa
legend('posicion masa 1')

subplot(2,1,2)
plot(t,x(:,3))              % grafica posicion de la segunda masa
legend('posicion masa 2')


mra2.m

%  Programa que contiene las ecuaciones de estado de un sistema
%  masa-resorte-amortiguador de 2gdl.
%  Los parametros se pueden modificar.
%  La entrada es un escalon, pero es posible modificarla.
%  No cambiar el nombre de la variables.

%  Realizo: Ricardo Cuesta
%  Fecha: 23/sep/13
%  Version: 0.1

function xp = mra2(t,x)

m1 = 1;      % masa 1
b1 = 0.75;   % amortiguador 1
k1 = 10;     % resorte 1

m2 = 1;      % masa 2
b2 = 0.75;   % amortiguador 2
k2 = 10;     % resorte 2

u = 1;      % entrada: escalon

xp(1,:) = x(2);
xp(2,:) = (u-b1*x(2)-k1*x(1)-k2*(x(1)-x(3)))/m1;

xp(3,:) = x(3);
xp(4,:) = (-b2*x(4)-k2*(x(3)-x(1)))/m2;

En este caso se consideró que x(1) es la posición de la primera masa, x(2) su velocidad; x(3) la posición de la segunda masa y su respectiva velocidad es x(4).

El siguiente video es útil para realizar las animaciones de sistemas mecánicos.
 
El siguiente video muestra una forma de realizar la animación del sistema mecánico masa-resorte-amortiguador doble.
 
El siguiente video muestra cómo realizar la simulación de un sistema masa-resorte-amortiguador doble usando Simulink.

El siguiente video muestra cómo obtener el modelo y las ecuaciones de estado del sistema mecánico masa-resorte-amortiguador doble.


5 comentarios:

  1. me puedes describir su comportamiento por favor ?

    ResponderEliminar
    Respuestas
    1. Anónimo 4.10.14, la descripción del sistema está en la siguiente entrada http://uabc-msd.blogspot.mx/2009/11/doble-masa-resorte-amortiguador.html
      Avísame si la información te fue útil.

      Eliminar
  2. La instruccion mra2_ini me dice que no esta definida, como le hago

    ResponderEliminar
  3. Hola, me salen estos errores y no entiendo porque, agradezco tu ayuda.

    Error using vertcat
    Dimensions of matrices being concatenated are
    not consistent.

    Error in mt (line 4)
    M = [1,0,k;0,1,0:0,0,1];

    Error in masa (line 20)
    p1 = mt("tx",x+a)*m;

    Error in mra_doble (line 7)
    [m1,r11,r12] = masa(x10);

    ResponderEliminar