Backlash

Spring and damper in series with a free play of b.

  • rotational
  • Modelica Standard Library
  • 2 ports
  • 3 parameters
BlockBacklashKindrotBacklashLibraryRotational

Description

A free play of b in series with a parallel spring and damper. Within the play no torque is transmitted; outside it the flanges are in contact through the spring and damper. Combine it with Ideal gear to model a gearbox with backlash.

The contact torque only pushes: it is set to zero when the damper would pull the flanges together, and the damping torque is limited to the spring torque, so the torque is continuous at the start of contact.

Example

Clutch, backlash, and rotational sources A clutch that locks, gear backlash, a spring-damper coupling, and a load that steps its torque.

100 rad/s at 0.1 sDriveClose at 0.5 sClutchDriven 1 kg·m²Driven speedω ref 10 sin 2πtSpeed sourceBacklash 0.1 radInertia 0.01Speed behind backlash0.5 N·mTorque sourceCouplingInertia 0.02, damping 0.05Coupled speed0.4 N·mShaft loadLoad speed
In Gradara, select a Backlash block and press F1, then choose Open example. It opens as a new model in My models, ready to run.

Also in this example:ConstantMechanical loadStepInertia & loadSpeed sensorSine waveSpring-damperInertia (ideal)ClutchTorque sourceConstant torqueSpeed sourceSpeed sensor (ideal)

Ports

Conserving terminals 2

  • aflange_a

    Flange a. Receives −τ.

  • bflange_b

    Flange b. Receives τ, the contact torque.

Parameters

  • Total backlashb0.01 rad

    ≥ 0

    Total backlash (full width of the free play), in radians. The play spans ±b/2 around zero relative angle.

  • Stiffnessc100000 N·m/rad

    ≥ 0

    Contact stiffness, in N·m/rad. Must be greater than zero.

  • Dampingd10 N·m·s/rad

    ≥ 0

    Contact damping, in N·m·s/rad. Zero or positive.

Equations

Modelica
φ_rel = flange_b.phi − flange_a.phi, ω_rel = dφ_rel/dt
|φ_rel| ≤ b/2: τ = 0
φ_rel > b/2: τ_c = c · (φ_rel − b/2), τ = τ_c + min(τ_c, d · ω_rel), or 0 if τ_c + d · ω_rel ≤ 0
φ_rel < −b/2: τ_c = c · (φ_rel + b/2), τ = τ_c + max(τ_c, d · ω_rel), or 0 if τ_c + d · ω_rel ≥ 0
flange_b.tau = τ, flange_a.tau = −τ

Implementation

Modelica Standard Library 4.1.0Modelica.Mechanics.Rotational.Components.ElastoBacklash
MSL documentation

Assumptions and limitations

  • If b is below 1e-10 rad the play is ignored and the block is a plain spring and damper.
  • During initialization the play is replaced by a linear characteristic of slope c/3 for |φ_rel| < 1.5 · b/2, so the initial state may differ slightly from the true contact state.
  • Each contact change is a solver event; very small b with oscillating loads makes the run slow.

See also

Select a block in Gradara and press F1 to open its page offline.