The speed controller acts on the current control drive, multiplied by the equation of motion:

Choosing a PI-controller

we obtain the transfer function of the open loop:

Since load torque acts as a disturbance, a controller setting robust against disturbances is choosen, i.e. the symmetrical optimum. The naming "symmetrical optimum" indicates that the phase response is symmetrical with respect to the gain crossover frequency:

Caculating the phase at the gain crossover frequency and maximizing the phase reserve to stability margin, the gain crossover frequency is the geometric mean of Ti and Tsub:


Choosing a parameter a = 2, according to [Schroeder09] resulting in a transfer function = 1 over a wide frequency range, we obtain the integral time constant:

The proportional gain we get from:

This results in a transfer function of the closed loop with a numerator zero:

To avoid the resulting large overshot, it is possible to compensate the numerator's zero with a prefilter:

The transfer function of the speed controlled drive gets:

The example SpeedControlled applies a reference speed step (which is unphysical!) to the speed controlled drive at stand still, the load torque is linearly dependent on speed switched on after no-load start to demonstrate the effect of a disturbance.
The speed controller demands a limited machine torque accelerating the drive (including the load) until the reference speed is met. When a load torque step is applied, speed drops and the speed controller reacts on that change with a change in the reference torque restoring reference speed.