Engineering
Centrifugal governor
Load a governed engine and watch the flyballs drop, the sleeve fall and the throttle open until the speed settles a little below the set point - the droop; raise the gain to make it hunt, add lag to make the hunting worse, or disconnect the linkage and see the engine slow under the same load without its governor.

What happens
A Porter governor on a stationary engine: two flyballs of mass m on arms of length l, a sleeve of mass M between them, spun at 0.4 of the engine’s speed by a bevel pair. The arms obey their Lagrangian dynamics and rest at the Porter angle cos θ = (m + M)·g/(m·ω_g²·l). The sleeve moves the throttle with a gain K about the reference angle, saturating at shut and full; the engine’s torque follows the throttle through a first-order lag; its speed answers the torque, the load and its friction with the inertia of a heavy flywheel. A load step lowers the speed until the governor opens the throttle enough - the droop; a high gain with a long lag hunts. RK4 at 1 ms.
Try this
Step the load up and watch the balls drop and the throttle open; read the droop. Then raise the gain and the lag until the engine hunts, or uncouple the linkage and watch it slow.
The model and its limits
Equal arms and links, a frictionless sleeve on its spindle, a linear throttle law with saturation and one lag, engine torque proportional to throttle. A teaching governor, not a tuned engine control.
Equations used in the module
Equations (m·l² + 2M·l²·sin²θ)·θ″ = m·l²·ω_g²·sin θ·cos θ − (m + M)·g·l·sin θ − c·θ′ − 2M·l²·sin θ·cos θ·θ′² cos θ_0 = (m + M)·g/(m·ω_g²·l), ω_g = i·ω u = u_0 + K·(θ_0 − θ), τ·dT_e/dt = T_max·u − T_e J·dω/dt = T_e − T_load − b·ω


