Speed Controller (DC)

Implement a speed controller model for DC motor drives


Electric Drives/Fundamental Drive Blocks


The Speed Controller (DC) block represents a PI speed regulator model for DC machines. The model is shown in the figure.

The controller outputs the armature current reference, in pu. This current reference is typically used by a current controller to obtain the electromagnetic torque needed to reach the desired speed.

The controller takes the speed reference and the rotor speed of the DC machine as inputs. The speed reference change rate follows the acceleration and deceleration ramps you define in order to avoid sudden reference changes that could cause armature over-current and destabilize the system. To avoid negative speeds, the speed reference has a lower limit of 0 rpm.

The speed measurement is filtered by a first-order low-pass filter. The current reference output is limited between symmetrical lower and upper limits that you define.


Drive type

Specify the drive type to use:

  • Chopper based (default)

  • Rectifier based

Number of quadrants

Specify the number of quadrants to use. The default value is 1.

Base speed (rpm)

Base speed of the DC machine, in rpm, typically equivalent to the nominal operating speed. The default value is 1750.

Reference ramp speed (rpm/s) [Deceleration, Acceleration]

The maximum rate of change of the speed reference to maintain the machine's currents within rated values. The default value is [-1000,1000].

Initial reference speed (rpm)

Initial speed reference of the DC machine, in rpm. The default value is 0.


The PI controller's proportional gain. The default value is 10.


The PI controller's integral gain. The default value is 50.

Current reference limit (pu)

The maximum magnitude of the output current reference, in per-unit. The default value is 1.5.

Low-pass filter cutoff frequency (Hz)

The speed measurement first-order filter cutoff frequency, in hertz. The default value is 40.

Controller sample time (s)

The speed controller sampling time, in seconds. The sampling time must be a multiple of the simulation time step. The default value is 100e-6.

Network sample time (s)

The time step used for the simulation, in seconds. The default value is 1e-6.

Inputs and Outputs


The speed of the machine, in rpm.


The speed reference of the machine, in rpm.


Speed error (difference between the speed reference ramp and the actual speed).


Armature current reference, in per-unit.


The Speed Controller (DC) block is used in the DC1, DC2, DC3, DC4, DC5, DC6, and DC7 blocks of the Electric Drives library.


[1] Bose, B. K. Modern Power Electronics and AC Drives, NJ: Prentice-Hall, 2002.

Introduced in R2015b

Was this topic helpful?