Chapter 4: Rotational Mechanical and Mechatronic Systems

Lesson 2: Gears, Levers, and Other Transformers Between Domains

This lesson formalizes “transformers” as ideal, power-preserving kinematic couplings that map motion variables (displacement/velocity) and force variables (force/torque) between ports. We develop a rigorous, energy-consistent framework for gears, levers, belts/pulleys, and radius-based rotational–translational couplings, and we derive parameter-reflection rules (inertia, damping, stiffness) that are foundational for building correct lumped-parameter dynamic models in subsequent rotational and mechatronic examples.

1. Prerequisites and Learning Outcomes

From prior lessons/chapters, you already know (i) translational mass–spring–damper modeling (Chapter 3) and (ii) rotational inertia, torsional springs, and torsional dampers (Chapter 4, Lesson 1). This lesson adds lossless kinematic couplings (gears/levers/etc.) that do not store energy but transform variables between ports.

By the end of this lesson you will be able to:

  • Model gears and levers as ideal two-port elements using kinematic constraints and power balance.
  • Derive torque/force scaling from velocity/displacement scaling (and vice versa) using virtual work.
  • Reflect load inertia/damping/stiffness through gear ratios or lever arms to obtain equivalent single-port models.
  • Implement and simulate the resulting ODE models in Python, C++, Java, MATLAB/Simulink, and Wolfram Mathematica.

2. General Theory — Power-Preserving Two-Port Transformer

A wide range of mechanical couplings (gears, levers, pulleys, wheel-radius couplings) can be treated as a two-port mapping between a “port 1” and a “port 2”. Each port has:

  • Generalized displacement \( q \) (translation: \( x \), rotation: \( \theta \)),
  • Generalized velocity \( \dot{q} \) (translation: \( v \), rotation: \( \omega \)),
  • Generalized effort \( e \) (translation: \( F \), rotation: \( \tau \)).

The instantaneous power entering a port is: \( P = e \, \dot{q} \). For an ideal lossless transformer (no energy storage, no dissipation inside the transformer), the net power is zero:

\[ P_1 + P_2 = e_1 \dot{q}_1 + e_2 \dot{q}_2 = 0. \]

The kinematic constraint of an ideal transformer is a fixed ratio between velocities (or displacements). A common and very convenient definition is: \( n \): the speed ratio from port 1 to port 2, defined by

\[ \dot{q}_1 = n \, \dot{q}_2, \quad n \neq 0. \]

Integrating (for constant \( n \)) gives the displacement relation (up to a constant set by initial conditions):

\[ q_1 = n \, q_2 + c_0. \]

Proposition 1 (Effort scaling): For a lossless transformer with \( \dot{q}_1 = n\dot{q}_2 \), the efforts satisfy \( e_2 = -n \, e_1 \).

Proof (power balance): From losslessness,

\[ e_1 \dot{q}_1 + e_2 \dot{q}_2 = 0. \]

Substitute \( \dot{q}_1 = n \dot{q}_2 \):

\[ e_1 (n \dot{q}_2) + e_2 \dot{q}_2 = (n e_1 + e_2)\dot{q}_2 = 0. \]

For general motion (i.e., not identically \( \dot{q}_2 = 0 \)), the bracket must vanish: \( e_2 = -n e_1 \). The negative sign encodes opposite power directions: if power enters port 1, it leaves port 2.

Remark (sign conventions): In many mechanical devices, motion directions are opposite (e.g., external gears). You can incorporate direction into the kinematic constraint with a sign, e.g., \( \dot{q}_1 = -n \dot{q}_2 \). The same proof yields the corresponding sign in effort scaling.

flowchart TD
  P1["Port 1: (q1, q1dot, e1)"] --> T["Lossless transformer ratio n"]
  T --> P2["Port 2: (q2, q2dot, e2)"]
  P1 --- R1["Constraint: q1dot = n * q2dot"]
  P2 --- R2["Power: e1*q1dot + e2*q2dot = 0"]
  R2 --- R3["Result: e2 = -n * e1"]
        

3. Impedance and Parameter Reflection Through a Transformer

Transformer modeling becomes powerful when we can replace a two-port connection by an equivalent one-port model “as seen” from a chosen side. This is done by reflecting parameters.

Assume a transformer with \( \dot{q}_1 = n\dot{q}_2 \), and suppose port 2 is connected to a load whose constitutive relation is expressed at port 2. We want an equivalent relation at port 1.

Lemma 1 (general reflection law): If the port-2 effort is \( e_2 \) and port-2 velocity is \( \dot{q}_2 \), then using \( \dot{q}_2 = \dot{q}_1/n \) and \( e_1 = -e_2/n \) (from Proposition 1), any load relation can be translated to port 1.

We now apply this to the three canonical lumped elements you already know (from Chapter 3 and Chapter 4, Lesson 1):

(A) Inertia element (translation: mass, rotation: inertia):

\[ e_2 = J_2 \, \ddot{q}_2 \quad \text{(rotational: } e_2=\tau_2,\; q_2=\theta_2\text{)} \]

Substitute \( q_2 = q_1/n \) so \( \ddot{q}_2 = \ddot{q}_1/n \), and then reflect effort:

\[ e_1 = -\frac{e_2}{n} = -\frac{1}{n}\left(J_2 \frac{\ddot{q}_1}{n}\right) = -\left(\frac{J_2}{n^2}\right)\ddot{q}_1. \]

Thus the equivalent inertia seen at port 1 is: \( J_{2 \rightarrow 1} = \frac{J_2}{n^2} \).

(B) Viscous damper (translation: \( F=c v \), rotation: \( \tau=b\omega \)):

\[ e_2 = b_2 \dot{q}_2 \;\;\Rightarrow\;\; e_1 = -\frac{1}{n}\left(b_2\frac{\dot{q}_1}{n}\right) = -\left(\frac{b_2}{n^2}\right)\dot{q}_1, \]

hence \( b_{2 \rightarrow 1} = \frac{b_2}{n^2} \).

(C) Spring (translation: \( F=k x \), rotation: \( \tau=k_\theta \theta \)):

\[ e_2 = k_2 q_2 \;\;\Rightarrow\;\; e_1 = -\frac{1}{n}\left(k_2\frac{q_1}{n}\right) = -\left(\frac{k_2}{n^2}\right)q_1, \]

hence \( k_{2 \rightarrow 1} = \frac{k_2}{n^2} \).

Key conclusion: for the ratio definition \( \dot{q}_1 = n\dot{q}_2 \), inertia, damping, and stiffness reflect by division by \( n^2 \) from port 2 to port 1. (Reflecting in the opposite direction multiplies by \( n^2 \).)

4. Gear Pairs as Transformers

Consider two rigid gears in mesh with pitch radii \( r_1 \) and \( r_2 \). Under the idealization of (i) no slip at the pitch point and (ii) negligible compliance/losses in the mesh, the tangential velocities at the pitch circles are equal in magnitude.

Kinematic constraint (external gears):

\[ r_1 \dot{\theta}_1 + r_2 \dot{\theta}_2 = 0 \quad \Rightarrow \quad \dot{\theta}_1 = \left(\frac{r_2}{r_1}\right)(-\dot{\theta}_2). \]

Define the (magnitude) gear ratio \( n \):

\[ n \triangleq \frac{\dot{\theta}_1}{\dot{\theta}_2} = \frac{r_2}{r_1} = \frac{N_2}{N_1}, \quad n > 0, \]

where \( N_1, N_2 \) are tooth counts (for standard gears, \( r \propto N \)). The sign inversion (opposite rotation) is handled separately by the “external mesh” sign.

Torque relation (lossless mesh): Apply power balance \( \tau_1 \omega_1 + \tau_2 \omega_2 = 0 \) with \( \omega_1 = \dot{\theta}_1 \) and \( \omega_2 = \dot{\theta}_2 \). Using \( \omega_1 = -n \omega_2 \) (external gears):

\[ \tau_1(-n\omega_2) + \tau_2\omega_2 = 0 \quad \Rightarrow \quad \tau_2 = n \tau_1. \]

So a gear reduction with \( n > 1 \) yields torque amplification on gear 2 and speed reduction in magnitude.

Reflected load parameters (common modeling move): Suppose gear 2 carries a load with inertia \( J_L \), damping \( b_L \), and torsional stiffness \( k_L \) to ground. From Section 3, as seen at gear 1, the equivalent parameters are:

\[ J_{L\rightarrow 1} = \frac{J_L}{n^2}, \qquad b_{L\rightarrow 1} = \frac{b_L}{n^2}, \qquad k_{L\rightarrow 1} = \frac{k_L}{n^2}. \]

Energy consistency check: The kinetic energy of the load side is \( \tfrac{1}{2}J_L\omega_2^2 \). Using \( \omega_2 = -\omega_1/n \):

\[ \frac{1}{2}J_L\omega_2^2 = \frac{1}{2}J_L\left(\frac{\omega_1^2}{n^2}\right) = \frac{1}{2}\left(\frac{J_L}{n^2}\right)\omega_1^2, \]

which is exactly the kinetic energy of an equivalent inertia \( J_L/n^2 \) spinning at \( \omega_1 \).

5. Levers as Transformers

An ideal rigid lever about a pivot maps displacements and forces between two points at distances \( \ell_1 \) and \( \ell_2 \) from the pivot. Under small angular motion (a standard approximation in lumped modeling), the arc-length displacement at each point is proportional to lever arm length.

Kinematics (small angles): with lever rotation \( \theta \),

\[ x_1 \approx \ell_1 \theta, \qquad x_2 \approx \ell_2 \theta \quad \Rightarrow \quad \dot{x}_1 \approx \ell_1 \dot{\theta}, \qquad \dot{x}_2 \approx \ell_2 \dot{\theta}. \]

Therefore the speed ratio between point 1 and point 2 is \( \dot{x}_1/\dot{x}_2 = \ell_1/\ell_2 \). Using the transformer definition in Section 2 with port variables \( q_1=x_1 \) and \( q_2=x_2 \), we may identify:

\[ n = \frac{\dot{x}_1}{\dot{x}_2} = \frac{\ell_1}{\ell_2}. \]

Force scaling (virtual work / power):

\[ F_1 \dot{x}_1 + F_2 \dot{x}_2 = 0 \quad \Rightarrow \quad F_2 = -\left(\frac{\dot{x}_1}{\dot{x}_2}\right)F_1 = -n F_1 = -\left(\frac{\ell_1}{\ell_2}\right)F_1. \]

Thus a longer output arm (\( \ell_2 > \ell_1 \)) reduces output force magnitude and increases output motion magnitude, and vice versa—exactly the mechanical advantage trade-off.

Parameter reflection: A translational spring \( k_2 \) attached at point 2 reflects to point 1 as:

\[ k_{2\rightarrow 1} = \frac{k_2}{n^2} = k_2\left(\frac{\ell_2}{\ell_1}\right)^2, \]

which explains why a lever can make a spring appear stiffer or softer depending on lever geometry.

6. Other Common Transformers Between Domains

The same two-port framework covers several additional couplings frequently used in mechatronic modeling.

(A) Belt and pulley (ideal, no slip):

For pulleys of radii \( r_1 \), \( r_2 \) and belt linear speed \( v \): \( v = r_1\omega_1 = r_2\omega_2 \). Therefore:

\[ \omega_1 = \left(\frac{r_2}{r_1}\right)\omega_2, \quad \tau_2 = \left(\frac{r_2}{r_1}\right)\tau_1 \quad \text{(lossless)}. \]

(B) Radius-based rotational–translational coupling (wheel / drum):

A drum of radius \( r \) converts rotation to translation via the no-slip relation \( x = r\theta \). Differentiating:

\[ \dot{x} = r\dot{\theta} = r\omega, \qquad \ddot{x} = r\ddot{\theta}. \]

Power balance \( \tau\omega + F\dot{x} = 0 \) yields:

\[ \tau\omega + F(r\omega) = 0 \quad \Rightarrow \quad \tau = -Fr. \]

This is the rotational–translational transformer used implicitly in many actuator-load models (e.g., cable drums).

(C) Lead screw (conceptual idealization):

A screw with lead \( p \) (translation per revolution) gives the kinematic relation \( x = \frac{p}{2\pi}\theta \), hence \( \dot{x} = \frac{p}{2\pi}\omega \). Power balance then implies an ideal force–torque relation:

\[ \tau\omega + F\dot{x} = 0 \quad \Rightarrow \quad \tau = -F\left(\frac{p}{2\pi}\right). \]

In real screws, efficiency and friction are significant; those non-idealities belong conceptually with friction models (Chapter 3, Lesson 4) and with non-ideal gear effects (Chapter 4, Lesson 4). Here we keep the transformer ideal.

7. Worked Dynamic Model — Motor + Gear + Load to Ground

We build a minimal but representative rotational model that uses the transformer rules correctly. Consider:

  • Motor side (gear 1): inertia \( J_m \), viscous damping \( b_m \), torsional spring to ground \( k_m \).
  • Load side (gear 2): inertia \( J_L \), viscous damping \( b_L \), torsional spring to ground \( k_L \).
  • Ideal external gear mesh with ratio \( n = r_2/r_1 = \omega_1/\omega_2 \) in magnitude.
  • Input torque \( u(t) \) applied to motor shaft (gear 1).

Using reflection from load to motor side (Section 3), define:

\[ J_{\mathrm{eq}} = J_m + \frac{J_L}{n^2}, \qquad b_{\mathrm{eq}} = b_m + \frac{b_L}{n^2}, \qquad k_{\mathrm{eq}} = k_m + \frac{k_L}{n^2}. \]

The motor-side generalized coordinate is \( \theta_1 \). The equivalent single-DOF ODE is:

\[ J_{\mathrm{eq}} \, \ddot{\theta}_1(t) + b_{\mathrm{eq}} \, \dot{\theta}_1(t) + k_{\mathrm{eq}} \, \theta_1(t) = u(t). \]

Once \( \theta_1(t) \) is known, the load angle follows from kinematics (external gears):

\[ \theta_2(t) = -\frac{1}{n}\theta_1(t), \qquad \omega_2(t) = -\frac{1}{n}\omega_1(t). \]

Why this is “correct” (structural proof sketch): The model is obtained by (i) enforcing the kinematic constraint, (ii) eliminating redundant coordinates, and (iii) preserving energy/power across the mesh. The reflection formulas in Section 3 are exactly the algebraic statement of these three principles for linear lumped elements.

flowchart TD
  S0["Start: identify coupling type"] --> S1["Write kinematic constraint (velocity/displacement ratio)"]
  S1 --> S2["Impose lossless power balance across coupling"]
  S2 --> S3["Derive effort scaling from constraint + power"]
  S3 --> S4["Reflect load parameters through ratio (divide/multiply by n^2)"]
  S4 --> S5["Build equivalent single-port ODE in chosen coordinate"]
  S5 --> S6["Simulate ODE and back-compute other-side variables"]
        

8. Python Implementation (SciPy)

We simulate the equivalent ODE from Section 7 using SciPy. Relevant libraries for System Dynamics workflows in Python include: numpy, scipy.integrate, sympy (symbolic derivations), and (later in the course) control for transfer functions/state-space.


import numpy as np
from scipy.integrate import solve_ivp

# Parameters
Jm = 0.02      # motor inertia [kg*m^2]
bm = 0.01      # motor viscous damping [N*m*s/rad]
km = 0.5       # motor torsional stiffness to ground [N*m/rad]

JL = 0.20      # load inertia [kg*m^2]
bL = 0.05      # load viscous damping [N*m*s/rad]
kL = 2.0       # load torsional stiffness to ground [N*m/rad]

n = 5.0        # gear ratio magnitude n = omega1 / omega2 = r2 / r1

# Reflected (equivalent) parameters as seen at motor side
Jeq = Jm + JL / (n**2)
beq = bm + bL / (n**2)
keq = km + kL / (n**2)

def u(t):
    # step torque input: 0.2 N*m after t >= 0.1 s
    return 0.2 if t >= 0.1 else 0.0

# State: x = [theta1, omega1]
def f(t, x):
    theta1, omega1 = x
    dtheta = omega1
    domega = (u(t) - beq*omega1 - keq*theta1) / Jeq
    return [dtheta, domega]

t0, tf = 0.0, 2.0
x0 = [0.0, 0.0]

sol = solve_ivp(f, (t0, tf), x0, max_step=1e-3, rtol=1e-8, atol=1e-10)

t = sol.t
theta1 = sol.y[0]
omega1 = sol.y[1]

# Back-compute load-side variables for external gears
theta2 = -theta1 / n
omega2 = -omega1 / n

# Example numerical summaries
print("Jeq =", Jeq, "beq =", beq, "keq =", keq)
print("theta1(tf) =", theta1[-1], "rad; theta2(tf) =", theta2[-1], "rad")
      

The variables \( \theta_2(t) \) and \( \omega_2(t) \) are obtained purely by the kinematic ratio; all dynamics were captured in the equivalent motor-side ODE via reflected parameters.

9. C++ Implementation (RK4; Boost.Odeint)

In C++, common choices for System Dynamics simulation include: Boost.Odeint (ODE integration), Eigen (linear algebra), and custom fixed-step integrators when deterministic step sizes are needed (e.g., embedded control). Below is a minimal fixed-step RK4 implementation of Section 7.


#include <iostream>
#include <vector>
#include <cmath>

struct Params {
  double Jeq, beq, keq, n;
};

double u(double t) {
  return (t >= 0.1) ? 0.2 : 0.0;
}

// x = [theta1, omega1]
std::vector<double> f(double t, const std::vector<double>& x, const Params& p) {
  double theta1 = x[0];
  double omega1 = x[1];
  double dtheta = omega1;
  double domega = (u(t) - p.beq * omega1 - p.keq * theta1) / p.Jeq;
  return {dtheta, domega};
}

std::vector<double> rk4_step(double t, const std::vector<double>& x, double h, const Params& p) {
  auto k1 = f(t, x, p);

  std::vector<double> x2 = {x[0] + 0.5*h*k1[0], x[1] + 0.5*h*k1[1]};
  auto k2 = f(t + 0.5*h, x2, p);

  std::vector<double> x3 = {x[0] + 0.5*h*k2[0], x[1] + 0.5*h*k2[1]};
  auto k3 = f(t + 0.5*h, x3, p);

  std::vector<double> x4 = {x[0] + h*k3[0], x[1] + h*k3[1]};
  auto k4 = f(t + h, x4, p);

  return {
    x[0] + (h/6.0)*(k1[0] + 2.0*k2[0] + 2.0*k3[0] + k4[0]),
    x[1] + (h/6.0)*(k1[1] + 2.0*k2[1] + 2.0*k3[1] + k4[1])
  };
}

int main() {
  // Original parameters
  double Jm = 0.02, bm = 0.01, km = 0.5;
  double JL = 0.20, bL = 0.05, kL = 2.0;
  double n  = 5.0;

  Params p;
  p.n   = n;
  p.Jeq = Jm + JL/(n*n);
  p.beq = bm + bL/(n*n);
  p.keq = km + kL/(n*n);

  double t0 = 0.0, tf = 2.0, h = 1e-3;
  std::vector<double> x = {0.0, 0.0}; // theta1, omega1

  for (double t = t0; t <= tf; t += h) {
    if (static_cast<int>(t/h) % 500 == 0) {
      double theta2 = -x[0]/p.n;
      double omega2 = -x[1]/p.n;
      std::cout << "t=" << t
                << " theta1=" << x[0]
                << " omega1=" << x[1]
                << " theta2=" << theta2
                << " omega2=" << omega2
                << "\n";
    }
    x = rk4_step(t, x, h, p);
  }
  return 0;
}
      

For production-grade simulation, replace the manual RK4 loop with Boost.Odeint integrators (adaptive or fixed step), while keeping the same reflected-parameter model structure.

10. Java Implementation (Apache Commons Math ODE)

In Java, Apache Commons Math provides ODE solvers suitable for System Dynamics prototypes. Below is a compact example using a fixed-step classical Runge–Kutta integrator.


import org.apache.commons.math3.ode.FirstOrderDifferentialEquations;
import org.apache.commons.math3.ode.nonstiff.ClassicalRungeKuttaIntegrator;
import org.apache.commons.math3.ode.sampling.FixedStepHandler;
import org.apache.commons.math3.ode.sampling.StepNormalizer;

public class GearReflectedODE {

  static double u(double t) {
    return (t >= 0.1) ? 0.2 : 0.0;
  }

  public static void main(String[] args) {
    // Parameters
    double Jm = 0.02, bm = 0.01, km = 0.5;
    double JL = 0.20, bL = 0.05, kL = 2.0;
    double n  = 5.0;

    double Jeq = Jm + JL/(n*n);
    double beq = bm + bL/(n*n);
    double keq = km + kL/(n*n);

    FirstOrderDifferentialEquations ode = new FirstOrderDifferentialEquations() {
      @Override
      public int getDimension() { return 2; }

      @Override
      public void computeDerivatives(double t, double[] x, double[] xDot) {
        double theta1 = x[0];
        double omega1 = x[1];
        xDot[0] = omega1;
        xDot[1] = (u(t) - beq*omega1 - keq*theta1) / Jeq;
      }
    };

    double h = 1e-3;
    ClassicalRungeKuttaIntegrator integrator = new ClassicalRungeKuttaIntegrator(h);

    integrator.addStepHandler(new StepNormalizer(0.05, (FixedStepHandler) (t, x, xDot, isLast) -> {
      double theta1 = x[0];
      double omega1 = x[1];
      double theta2 = -theta1 / n;
      double omega2 = -omega1 / n;
      System.out.printf("t=%.2f theta1=%.6f omega1=%.6f theta2=%.6f omega2=%.6f%n",
                        t, theta1, omega1, theta2, omega2);
    }));

    double[] x0 = new double[] {0.0, 0.0};
    double[] xf = new double[2];
    integrator.integrate(ode, 0.0, x0, 2.0, xf);
  }
}
      

Later in the course (after transfer functions/state-space), Java workflows often combine ODE integration with linear algebra (e.g., EJML) for MIMO models.

11. MATLAB and Simulink Implementation

In MATLAB, the reflected-parameter model is implemented directly as a second-order ODE. In Simulink, you can realize the same ODE using Integrator blocks with gains corresponding to \( 1/J_{\mathrm{eq}} \), \( b_{\mathrm{eq}} \), and \( k_{\mathrm{eq}} \), and then compute \( \theta_2 = -\theta_1/n \), \( \omega_2 = -\omega_1/n \) with Gain blocks.


% Parameters
Jm = 0.02; bm = 0.01; km = 0.5;
JL = 0.20; bL = 0.05; kL = 2.0;
n  = 5.0;

Jeq = Jm + JL/(n^2);
beq = bm + bL/(n^2);
keq = km + kL/(n^2);

u = @(t) (t >= 0.1) * 0.2;  % step torque

% State: x = [theta1; omega1]
f = @(t, x) [ x(2);
              (u(t) - beq*x(2) - keq*x(1))/Jeq ];

tspan = [0 2];
x0 = [0; 0];
opts = odeset('RelTol',1e-8,'AbsTol',1e-10);
[t, x] = ode45(f, tspan, x0, opts);

theta1 = x(:,1);
omega1 = x(:,2);
theta2 = -theta1/n;
omega2 = -omega1/n;

disp([Jeq, beq, keq]);
disp([theta1(end), theta2(end)]);
      

Simulink block-level recipe (no images):

  • Use two Integrator blocks in series: \( \ddot{\theta}_1 \rightarrow \dot{\theta}_1 \rightarrow \theta_1 \).
  • Compute \( \ddot{\theta}_1 = (u - b_{\mathrm{eq}}\dot{\theta}_1 - k_{\mathrm{eq}}\theta_1)/J_{\mathrm{eq}} \) using Sum and Gain blocks.
  • Add Gain blocks for \( -1/n \) to produce \( \theta_2 \) and \( \omega_2 \) from \( \theta_1 \) and \( \omega_1 \).
  • Drive \( u(t) \) with a Step block (step time 0.1, final value 0.2).

12. Wolfram Mathematica Implementation

Mathematica provides direct symbolic and numerical solving via NDSolve. The model below matches Section 7.


Jm = 0.02; bm = 0.01; km = 0.5;
JL = 0.20; bL = 0.05; kL = 2.0;
n  = 5.0;

Jeq = Jm + JL/n^2;
beq = bm + bL/n^2;
keq = km + kL/n^2;

u[t_] := Piecewise[{ {0.2, t >= 0.1} }, 0.0];

eq = Jeq*θ1''[t] + beq*θ1'[t] + keq*θ1[t] == u[t];
ics = {θ1[0] == 0, θ1'[0] == 0};

sol = NDSolve[{eq, ics}, θ1, {t, 0, 2}, MaxStepSize -> 0.001][[1]];

θ2[t_] := -θ1[t]/n;
ω1[t_] := θ1'[t];
ω2[t_] := -ω1[t]/n;

{Jeq, beq, keq}
(* Example evaluations *)
{θ1[2], θ2[2]} /. sol
      

13. Problems and Solutions

Problem 1 (Gear kinematics and torque scaling): Two external gears have radii \( r_1 = 20 \) mm and \( r_2 = 80 \) mm. If \( \omega_1 = 120 \) rad/s and the input torque is \( \tau_1 = 0.4 \) N·m, find \( \omega_2 \) and \( \tau_2 \) (ideal lossless mesh).

Solution: The ratio magnitude is

\[ n = \frac{r_2}{r_1} = \frac{80}{20} = 4. \]

For external gears, \( \omega_1 = -n\omega_2 \), hence \( \omega_2 = -\omega_1/n = -120/4 = -30 \) rad/s. Power balance gives \( \tau_2 = n\tau_1 = 4 \times 0.4 = 1.6 \) N·m. The negative sign in \( \omega_2 \) indicates opposite rotation.

Problem 2 (Reflected inertia through a gear reduction): A motor drives a load through an ideal gear pair with \( n = \omega_1/\omega_2 = 6 \). The load inertia is \( J_L = 0.36 \) kg·m2. Compute the reflected inertia at the motor shaft.

Solution: Using Section 3,

\[ J_{L\rightarrow 1} = \frac{J_L}{n^2} = \frac{0.36}{6^2} = \frac{0.36}{36} = 0.01 \;\text{kg·m}^2. \]

Problem 3 (Lever mechanical advantage and stiffness reflection): A lever has arms \( \ell_1 = 0.05 \) m and \( \ell_2 = 0.20 \) m. A linear spring of stiffness \( k_2 = 1000 \) N/m is attached at point 2. Find the equivalent stiffness seen at point 1.

Solution: The speed ratio is \( n = \ell_1/\ell_2 = 0.05/0.20 = 0.25 \). Reflect stiffness from port 2 to port 1:

\[ k_{2\rightarrow 1} = \frac{k_2}{n^2} = \frac{1000}{(0.25)^2} = \frac{1000}{0.0625} = 16000 \;\text{N/m}. \]

The lever makes the spring appear much stiffer at point 1 because point 1 moves less than point 2.

Problem 4 (Equivalent ODE parameters): In Section 7, let \( J_m=0.03 \), \( b_m=0.02 \), \( k_m=0 \), \( J_L=0.12 \), \( b_L=0.06 \), \( k_L=1.5 \), and \( n=3 \). Compute \( J_{\mathrm{eq}}, b_{\mathrm{eq}}, k_{\mathrm{eq}} \).

Solution:

\[ J_{\mathrm{eq}} = 0.03 + \frac{0.12}{3^2} = 0.03 + \frac{0.12}{9} = 0.043\overline{3}, \]

\[ b_{\mathrm{eq}} = 0.02 + \frac{0.06}{9} = 0.02 + 0.006\overline{6} = 0.026\overline{6}, \qquad k_{\mathrm{eq}} = 0 + \frac{1.5}{9} = 0.166\overline{6}. \]

Problem 5 (Designing a gear ratio for inertia matching): A load inertia is \( J_L = 0.5 \) kg·m2. You want the reflected inertia at the motor shaft to be \( 0.02 \) kg·m2. Find \( n \) (assume ideal gears and use \( J_{L\rightarrow 1} = J_L/n^2 \)).

Solution:

\[ \frac{J_L}{n^2} = 0.02 \quad \Rightarrow \quad n^2 = \frac{0.5}{0.02} = 25 \quad \Rightarrow \quad n = 5. \]

A 5:1 speed reduction (motor faster than load by a factor of 5) achieves the desired reflected inertia.

14. Summary

We modeled gears, levers, and related couplings as ideal, lossless transformers defined by a kinematic constraint plus power balance. This yielded effort scaling laws and the crucial \( 1/n^2 \) reflection rule for inertia, damping, and stiffness (given the definition \( \dot{q}_1 = n\dot{q}_2 \)). These results allow you to reduce multi-shaft coupled systems to equivalent single-coordinate ODEs while preserving physical consistency—an essential skill for accurate rotational/mechatronic modeling in the coming lessons.

15. References

  1. Ozguven, H.N., & Houser, D.R. (1988). Dynamic analysis of high speed gears by using loaded static transmission error. Journal of Sound and Vibration, 125(1), 71–83.
  2. Kahraman, A. (1994). Load sharing characteristics of planetary transmissions. Journal of Mechanical Design (ASME), 116(3), 779–787.
  3. Lin, J., & Parker, R.G. (1999). Analytical characterization of the unique properties of planetary gear free vibration. Journal of Vibration and Acoustics (ASME), 121(3), 316–321.
  4. Parker, R.G., & Lin, J. (2004). Mesh phasing relationships in planetary and epicyclic gears. Journal of Mechanical Design (ASME), 126(2), 365–370.
  5. Theodossiades, S., & Natsiavas, S. (2000). Non-linear dynamics of gear-pair systems with periodic stiffness and backlash. Journal of Sound and Vibration, 229(2), 287–310.
  6. van der Schaft, A.J., & Maschke, B.M. (1995). The Hamiltonian formulation of energy conserving physical systems with external ports. Archiv für Elektronik und Übertragungstechnik (AEÜ), 49(5/6), 362–371.
  7. Willems, J.C. (1972). Dissipative dynamical systems—Part I: General theory. Archive for Rational Mechanics and Analysis, 45(5), 321–351.
  8. Hogan, N. (1985). Impedance control: An approach to manipulation—Part I: Theory. Journal of Dynamic Systems, Measurement, and Control (ASME), 107(1), 1–7.