digital-brain/content/zettels/mass_spring_damper_systems.md

7.1 KiB

+++ title = "Mass Spring Damper Systems" author = ["Dehaeze Thomas"] draft = false +++

Tags
[Tuned Mass Damper]({{< relref "tuned_mass_damper.md" >}})

One Degree of Freedom

Model and equation of motion

Let's consider Figure 1 where:

  • \(m\) is the mass in [kg]
  • \(k\) is the spring stiffness in [N/m]
  • \(c\) is the damping coefficient in [N/(m/s)]
  • \(F\) is the actuator force in [N]
  • \(F_d\) is external force applied to the mass in [N]
  • \(w\) is ground motion
  • \(x\) is the absolute mass motion

{{< figure src="/ox-hugo/mass_spring_damper_system.png" caption="<span class="figure-number">Figure 1: Mass Spring Damper System" >}}

Transmissibility:

\begin{equation} \frac{x}{w}(s) = \frac{c s + k}{m s^2 + c s + k} = \frac{2 \xi \frac{s}{\omega_0} + 1}{\frac{s^2}{\omega_0^2} + 2 \xi \frac{s}{\omega_0} + 1} \end{equation}

Compliance:

\begin{equation} \frac{x}{F}(s) = \frac{x}{F_d}(s) = \frac{1}{m s^2 + c s + k} = \frac{1/k}{\frac{s^2}{\omega_0^2} + 2 \xi \frac{s}{\omega_0} + 1} \end{equation}

with:

  • \(\omega_0 = \sqrt{k/m}\) the natural frequency in [rad/s]
  • \(\xi = \frac{1}{2} \frac{c}{\sqrt{km}}\) the damping ratio [unit-less]

A quality factor \(Q\) can also be defined:

\begin{equation} Q = \frac{1}{2\xi} \end{equation}

This corresponds to the amplification at the natural frequency \(\omega_0\).

Matlab model

%% Mechanical properties
m = 1; % Mobile mass [kg]
k = 1e6; % stiffness [N/m]
xi = 0.1; % Modal Damping

c = 2*xi*sqrt(k*m);
%% Compliance: Transfer function from F [N] to x [m]
Gf = 1/(m*s^2 + c*s + k);

%% Transmissibility: Transfer function from w [m] to x [m]
Gw = (c*s + k)/(m*s^2 + c*s + k);

{{< figure src="/ox-hugo/mass_spring_damper_1dof_compliance.png" caption="<span class="figure-number">Figure 2: 1dof Mass spring damper system - Compliance" >}}

{{< figure src="/ox-hugo/mass_spring_damper_1dof_transmissibility.png" caption="<span class="figure-number">Figure 3: 1dof Mass spring damper system - Transmissibility" >}}

Two Degrees of Freedom

Model and equation of motion

Consider the two degrees of freedom mass spring damper system of Figure 4.

{{< figure src="/ox-hugo/mass_spring_damper_2dof.png" caption="<span class="figure-number">Figure 4: 2 DoF Mass Spring Damper system" >}}

We can write the Newton's second law of motion to the two masses:

\begin{align} m_2 s^2 x_2 &= F_2 + (k_2 + c_2 s) (x_1 - x_2) \\ m_1 s^2 x_1 &= F_1 + (k_1 + c_1 s) (x_0 - x_1) + (k_2 + c_2 s) (x_2 - x_1) \end{align}

The goal is to have \(x_1\) and \(x_2\) as a function of \(F_1\), \(F_2\) and \(x_0\).

When, we have:

\begin{equation} \boxed{x_1 = \frac{(m_2 s^2 + c_2 s + k_2) F_1 + (k_1 + c_1 s) (m_2 s^2 + c_2 s + k_2) x_0 + (k_2 + c_2 s) F_2}{(m_1 s^2 + c_1 s + k_1)(m_2 s^2 + c_2 s + k_2) + m_2 s^2 (c_2 s + k_2)}} \end{equation}

\begin{equation} \boxed{x_2 = \frac{(c_2s + k_2)F_1 + (c_2s + k_2)(k_1 + c_1 s) x_0 + (m_1 s^2 + c_1 s + k_1 + c_2 s + k_2) F_2}{(m_1 s^2 + c_1 s + k_1)(m_2 s^2 + c_2 s + k_2) + m_2 s^2 (c_2 s + k_2)}} \end{equation}

We can see that the effects of \(x_0\) and \(F_1\) are related with a factor \((c_1 s + k_1)\).

If we are interested by \(x_2-x_1\):

\begin{equation} (x_2 - x1) = \frac{- m_2 s^2 F_1 - (m_2 s^2)(k_1 + c_1 s) x_0 + (m_1 s^2 + c_1 s + k_1) F_2}{(m_1 s^2 + c_1 s + k_1)(m_2 s^2 + c_2 s + k_2) + m_2 s^2 (c_2 s + k_2)} \end{equation}

x1 x2 x2-x1
x0 (c1s + k1)(m2s2 + c2s + k2) (c1s + k1)(c2s + k2) - m2s2*(k1 + c1s)
F1 m2s2 + c2s + k2 c2s + k2 - m2s2
F2 c2s + k2 m1s2 + c1s + k1 + c2s + k2 m1s2 + c1s + k1

Matlab model

%% Values for the 2dof Mass-Spring-Damper system
m1 = 5e2; % [kg]
k1 = 2e6; % [N/m]
c1 = 2*0.01*sqrt(m1*k1); % [N/(m/s)]

m2 = 10; % [kg]
k2 = 1e6; % [N/m]
c2 = 2*0.01*sqrt(m2*k2); % [N/(m/s)]
%% Transfer functions
G_x0_to_x1 = (c1*s + k1)*(m2*s^2 + c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F1_to_x1 = (m2*s^2 + c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F2_to_x1 = (c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));

G_x0_to_x2 = (c1*s + k1)*(c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F1_to_x2 = (c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F2_to_x2 = (m1*s^2 + c1*s + k1 + c2*s + k2)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));

G_x0_to_d2 = -m2*s^2*(c1*s + k1)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F1_to_d2 = -m2*s^2/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));
G_F2_to_d2 = (m1*s^2 + c1*s + k1)/((m1*s^2 + c1*s + k1)*(m2*s^2 + c2*s + k2) + m2*s^2*(c2*s + k2));

From Figure 5, we can see that:

  • the low frequency transmissibility is equal to one
  • the high frequency transmissibility to the second mass is smaller than to the first mass

{{< figure src="/ox-hugo/mass_spring_damper_2dof_x0_bode_plots.png" caption="<span class="figure-number">Figure 5: Transfer functions from x0 to x1 and x2 (Transmissibility)" >}}

The transfer function from \(F_1\) to the mass displacements (Figure 6) has the same shape than the transmissibility (Figure 5).

However, the low frequency gain is now equal to \(1/k_1\).

{{< figure src="/ox-hugo/mass_spring_damper_2dof_F1_bode_plots.png" caption="<span class="figure-number">Figure 6: Transfer functions from F1 to x1 and x2" >}}

The transfer functions from \(F_2\) to the mass displacements are shown in Figure 7:

  • the motion \(x_1\) is smaller than \(x_2\)

{{< figure src="/ox-hugo/mass_spring_damper_2dof_F2_bode_plots.png" caption="<span class="figure-number">Figure 7: Transfer functions from F2 to x1 and x2" >}}

Bibliography