Speed control of a DC machine is the deliberate manipulation of armature voltage, field flux, or circuit resistance to regulate the motor's rotational velocity (RPM) under varying mechanical loads. In a real circuit, this changes the back-EMF and torque delivery, dictating how fast a conveyor belt moves or how precisely a robotic arm positions itself. Beginners commonly confuse speed control (regulating RPM against load changes) with soft starting (limiting inrush current during startup) or simple voltage dropping (which ruins torque and causes stalling).
The Core Physics: Back-EMF and the Speed Equation
To control a DC motor, you must understand the electrical tug-of-war happening inside the armature. When the armature spins within the magnetic field, it generates a counter-voltage called back-EMF ($E_b$). The motor only draws current based on the difference between your supply voltage and this back-EMF.
$N \propto \frac{V - I_a R_a}{\Phi}$
Where:
$N$ = Rotational speed (RPM)
$V$ = Applied armature voltage
$I_a R_a$ = Voltage drop across the armature resistance
$\Phi$ = Magnetic field flux
As detailed in standard DC machine theory, this equation reveals that you only have three physical levers to pull to change the speed: increase/decrease the supply voltage ($V$), add/remove resistance in the armature path ($R_a$), or alter the magnetic field strength ($\Phi$). Every speed control circuit you will ever build is just a clever way of manipulating one of these three variables.
The Three Primary Speed Control Methods
Not all control methods are created equal. The right choice depends on whether you need to operate below or above the motor's nameplate base speed, and how much efficiency you are willing to sacrifice.
| Method | Control Variable | Speed Range | Efficiency | Best Application |
|---|---|---|---|---|
| Armature Voltage | Supply Voltage ($V$) | Below Base Speed | High (with PWM) | Conveyors, EV traction, robotics |
| Field Flux | Field Current ($I_f$) | Above Base Speed | High | Machine tools, high-speed spindles |
| Armature Resistance | External Resistance ($R_{ext}$) | Below Base Speed | Very Poor | Legacy cranes, simple toy motors |
Modern designs almost exclusively rely on armature voltage control via Pulse Width Modulation (PWM) for sub-base speeds, and field weakening (reducing flux) for speeds exceeding the motor's rated baseline. Armature resistance control is largely obsolete in professional designs due to massive thermal losses.
Worked Numeric Example: PWM Armature Control
Let's look at a real-world scenario to see why PWM armature control is superior to dropping voltage with a resistor. Suppose you are driving a 24V brushed DC winch motor with the following nameplate parameters:
- Nominal Voltage ($V$): 24V
- Armature Resistance ($R_a$): 0.4 $\Omega$
- Full-Load Current ($I_a$): 15A (constant torque load)
- Motor Constant ($k\Phi$): 0.015 V/RPM
Step 1: Calculate Base Speed (100% Duty Cycle)
First, find the back-EMF at full load:
$E_b = V - (I_a \times R_a) = 24 - (15 \times 0.4) = 24 - 6 = 18V$
Now, calculate the RPM:
$N = \frac{E_b}{k\Phi} = \frac{18}{0.015} = \mathbf{1200 \text{ RPM}}$
Step 2: Calculate Speed at 60% PWM Duty Cycle
A 60% duty cycle means the effective average voltage applied to the motor terminals is $24V \times 0.60 = 14.4V$. Because the winch is lifting the same physical weight (constant torque), the motor must draw the same 15A to maintain that torque. The $I_a R_a$ drop remains 6V.
New $E_b = 14.4 - 6 = 8.4V$
New $N = \frac{8.4}{0.015} = \mathbf{560 \text{ RPM}}$
If you tried to achieve this 560 RPM speed by inserting a series resistor (rheostat) instead of using PWM, you would need to drop 9.6V at 15A. That requires a $0.64 \Omega$ resistor dissipating 144 Watts of pure heat ($I^2R$). Conversely, a modern MOSFET (like the IRF3205 with an $R_{DS(on)}$ of 8m$\Omega$) switching at 16 kHz dissipates less than 2 Watts. This is why PWM is the undisputed standard for modern brushed DC motor drivers.
Where You Meet This in Practice
You will encounter these speed control principles across vastly different scales of electrical engineering:
- EV Traction Inverters: Electric vehicles use armature voltage control (via complex 3-phase PWM) to accelerate from a stop. Once the battery voltage is fully utilized at highway speeds, the inverter advances the commutation angle to intentionally weaken the stator flux. This 'field weakening' allows the motor to spin faster than its base speed, albeit with reduced torque.
- 3D Printer Extruders: The cooling fans and legacy DC extruder motors use high-frequency PWM (typically 20 kHz to 25 kHz) driven by an MCU. The frequency is pushed above human hearing range to eliminate the high-pitched whine that occurs at standard 1 kHz Arduino PWM frequencies.
- Industrial Hoists and Cranes: While modern systems use variable frequency drives on AC motors, legacy DC hoists use armature resistance banks. They physically switch massive wirewound resistor grids using heavy-duty contactors to step the voltage down, trading electrical efficiency for extreme mechanical starting torque and simplicity in harsh environments.
FAQ: Speed Control of DC Machine
Can I use a simple potentiometer for speed control of a DC machine?
Only for microscopic loads. A standard 1/4W potentiometer will instantly vaporize if placed in series with a motor drawing more than a few milliamps. If you want to use a potentiometer as a user input, you must wire it to an analog-to-digital converter (ADC) on a microcontroller. The MCU then reads the voltage divider and outputs a corresponding PWM signal to a power MOSFET or H-bridge. Never wire a pot directly in the high-current motor path.
Why does field weakening increase the speed of a DC motor?
Look at the speed equation: speed is inversely proportional to flux ($\Phi$). When you reduce the current flowing through the field windings (or advance the timing in a BLDC), you weaken the magnetic field. To generate enough back-EMF to balance the supply voltage, the armature must spin faster. However, because torque is proportional to flux times armature current ($T \propto \Phi I_a$), weakening the field reduces your available torque. This is why field weakening is only used for high-speed, low-load cruising, never for heavy acceleration.
What PWM frequency is best for DC motor speed control?
The sweet spot for most brushed DC machines is between 16 kHz and 25 kHz. If your frequency is too low (e.g., 500 Hz), the motor windings will physically vibrate at the switching frequency, creating an annoying audible whine and causing excessive brush arcing. If the frequency is too high (e.g., 100 kHz+), you will suffer massive switching losses in your MOSFETs due to gate charge/discharge times and parasitic capacitance, requiring heavy heatsinking. Always ensure your freewheeling diode (like a Schottky 1N5822) is rated for the high $di/dt$ of your chosen PWM frequency.
What is the difference between open-loop and closed-loop speed control?
In open-loop control, the MCU sends a fixed PWM duty cycle regardless of what the motor is actually doing. If the mechanical load increases, the motor slows down. In closed-loop control, the system measures the actual speed—either via an optical encoder, Hall-effect sensors, or by measuring the back-EMF during the PWM 'off' periods—and dynamically adjusts the duty cycle using a PID algorithm to maintain the exact target RPM. Closed-loop is mandatory for applications like CNC spindles or robotic joints where load variations are unpredictable.






