BLDC Motor Speed Control: PWM vs Voltage vs FOC Methods Compared
Four methods exist for controlling a BLDC motor's speed: open-loop PWM duty-cycle, closed-loop PWM with Hall or encoder feedback, variable voltage (DC bus regulation), and FOC (Field-Oriented Control) sinusoidal drive. This article compares all four on efficiency, torque ripple, response time, cost and application fit — with a complete data table and a selection guide engineers can apply directly to their drive specifications.
Author: 盛合智联电机 Engineering Team · Published 2026-09-01 · Reviewed by BLDC Controller Engineer
- Why speed control method matters for BLDC drives
- Method 1: Open-loop PWM duty-cycle control
- Method 2: Closed-loop PWM with PID feedback
- Method 3: Variable voltage (DC bus regulation)
- Method 4: FOC sinusoidal control
- Full comparison table: all four methods
- Selection guide by application
- Shenghe controller families and matched kits
- Frequently asked questions
1. Why the Speed Control Method Matters
Choosing the wrong speed control method for a BLDC motor results in one or more of the following problems: speed droop under load (open-loop PWM on a conveyor), excessive audible noise (trapezoidal drive on medical or office equipment), wasted energy from conversion losses (variable voltage on a 24V system), or unnecessary controller cost (FOC on a fan that only needs rough speed regulation). The decision is not purely academic — in our factory's experience matching motors to OEM machine builders, the control method affects system-level efficiency by 5–12% and motor acoustic noise by 10–18 dB depending on application and load profile.
All four methods share one architectural constant: the 3-phase MOSFET inverter bridge between the DC bus and the motor windings. The six MOSFETs switch on and off in sequences determined by the control firmware. What differs between methods is how the firmware determines which MOSFETs to switch, when to switch them, and how it adjusts the switching pattern to hit a target speed. Understanding this shared topology first makes the per-method differences easy to follow. See the BLDC motor diagram and wiring guide for the full inverter schematic and Hall-sensor wiring.
2. Method 1 — Open-Loop PWM Duty-Cycle Control
Open-loop PWM is the simplest BLDC speed control method. The user sets a command (potentiometer, 0–5 V analog input, or external PWM signal). The controller maps that command linearly to a PWM duty cycle — say, 5 V command = 95% duty cycle, 0 V = 5% duty cycle — and applies it to the inverter without reading any feedback. The motor runs at whatever speed results from that effective voltage at the current load. If load increases, speed drops because no correction is made.
How duty cycle sets speed
The PWM carrier frequency is typically 15–20 kHz — above the audible range and fast enough that the motor's winding inductance (typically 0.5–5 mH depending on motor size) integrates the pulses into a smooth phase current. At 50% duty cycle on a 48 V bus, the average voltage applied to the active phase pair is approximately 24 V, producing roughly 50% of no-load rated speed. The relationship is approximately linear:
| Duty Cycle (%) | Effective Voltage (48 V bus) | Approx. No-Load Speed | Speed Under Rated Load |
|---|---|---|---|
| 10% | 4.8 V | ~10% rated | ~6–7% rated (significant droop) |
| 25% | 12 V | ~25% rated | ~19–21% rated |
| 50% | 24 V | ~50% rated | ~43–46% rated |
| 75% | 36 V | ~75% rated | ~68–72% rated |
| 95% | 45.6 V | ~95% rated | ~88–92% rated |
The speed droop at load is the defining weakness of open-loop PWM. For a 200 W BLDC motor at 3000 RPM rated speed, a 100% rated-torque load in open-loop mode can drop speed by 8–15% depending on motor winding resistance and back-EMF constant. For fans, blowers and centrifugal pumps — where the load torque scales with speed squared and a few percent speed variation is harmless — this is acceptable. For conveyors, AGVs and winders where consistent speed is critical, open-loop PWM is not suitable.
- PWM frequency: 15–20 kHz (above audible, below significant MOSFET switching loss)
- Duty cycle range: 5–95% (dead-time and commutation reliability limits)
- Speed regulation: ±8–15% under load variation (no correction)
- Switching losses: 2–4% of delivered power (low)
- Controller complexity: Minimal — lookup table commutation, no PID loop
- Typical applications: Fans, blowers, centrifugal pumps, simple variable-speed tools
3. Method 2 — Closed-Loop PWM with PID Feedback
Closed-loop PWM adds a PID (Proportional-Integral-Derivative) control loop between the speed command and the duty cycle output. A feedback sensor — Hall sensors built into the motor (5-wire harness: +5V, GND, HA, HB, HC) or an incremental quadrature encoder — reports actual motor speed to the controller every sample period, typically every 1–5 ms. The PID compares actual speed to the target setpoint, computes an error, and adjusts duty cycle in real time to drive that error to zero.
PID gain effects at a glance
- Proportional gain (Kp): Fast correction proportional to current speed error. Too high = oscillation at steady state. Too low = slow settling after a load step.
- Integral gain (Ki): Eliminates steady-state offset — if speed is chronically 2% below setpoint, the integrator accumulates and pushes duty cycle up until error reaches zero. Essential for tight speed regulation.
- Derivative gain (Kd): Damps overshoot by braking the correction when the error is shrinking rapidly. Most industrial BLDC drives use PI (Kd = 0) because noisy Hall feedback amplifies derivative action into instability.
Hall sensor vs encoder feedback
Three Hall sensors give six pulses per electrical revolution — resolution is 60° electrical per pulse. For a 4-pole-pair motor, that is 24 pulses per shaft revolution, or an angular resolution of 15° mechanical. At 3000 RPM, the Hall pulse rate is 1200 Hz — adequate for a PID sample rate of 500 Hz–2 kHz. Speed measurement noise is low because each Hall edge is a clean digital transition.
A quadrature encoder with 1000 lines gives 4000 counts per revolution (quadrature), so angular resolution is 0.09° mechanical — about 160x better than Hall sensors. Speed measurement at 3000 RPM is 200 kHz count rate, enabling PID sample rates of 10–20 kHz and bandwidth of several hundred Hz. Encoders are used when tight speed regulation (under ±0.1% of setpoint) or position control is required in addition to speed.
- Speed regulation: ±0.5–1% of setpoint with Hall; ±0.05–0.2% with encoder
- Load disturbance response time: 20–80 ms with Hall (PID bandwidth 20–50 Hz); 5–20 ms with encoder (bandwidth 50–200 Hz)
- Switching losses: Same as open-loop, 2–4% of delivered power
- System efficiency: 85–92% overall (motor + controller) at rated load, 48 V bus
- Commutation method: 6-step trapezoidal (Hall lookup table) with PWM duty-cycle modulated per step
- Typical applications: Conveyors, AGV traction drives, winders, packaging machines, HVAC fans requiring precise speed
4. Method 3 — Variable Voltage (DC Bus Regulation)
Variable voltage control changes the DC bus voltage supplied to the motor controller to vary speed, rather than varying the PWM duty cycle within a fixed bus. In principle, a lower bus voltage means lower back-EMF equilibrium point and lower speed. In practice, this approach has almost entirely disappeared from modern BLDC drive design for three reasons:
Why variable voltage is rarely used
- Conversion losses are high. Varying a 48 V bus using a step-down DC-DC converter adds 5–12% conversion loss on top of the controller's own switching losses. At 50% speed setpoint (half bus voltage), a linear regulator dissipates 50% of input power as heat — completely impractical for any meaningful motor size. A switching DC-DC converter is more efficient (88–94%) but adds cost, board area and EMI.
- PWM does the same job with lower loss. A 50% duty cycle on a 48 V bus delivers 24 V average at under 4% switching loss. The motor winding inductance integrates the pulses — the motor cannot distinguish a true 24 V supply from 48 V at 50% PWM. There is no thermodynamic advantage to reducing bus voltage.
- Dynamic response is slow. Changing a DC bus voltage via a converter involves large filter capacitors (100–470 µF typical) with charging time constants of several milliseconds. PWM duty cycle changes propagate in one PWM period — 50–67 µs at 15–20 kHz — giving 100–200× faster response.
Variable voltage does appear in one legitimate scenario: battery-powered systems where the battery voltage droops with state of charge. A BLDC traction motor powered directly from a lithium pack (29.4 V full → 21 V empty on a 7S pack) experiences a 28% bus voltage change without any speed command change. The closed-loop PID compensates automatically by raising duty cycle as the battery discharges — this is not intentional variable voltage control, it is the PID compensating for an uncontrolled variable.
- Conversion losses: 8–15% for switching DC-DC; up to 50% for linear regulation at half speed
- Speed regulation: Poor open-loop; adequate with outer PID loop controlling the DC-DC converter
- Response time: Slow (milliseconds for bus capacitor charge/discharge)
- System cost: Highest — requires additional DC-DC stage
- Modern use: Essentially none for dedicated BLDC speed control; seen only in legacy designs or battery systems
5. Method 4 — FOC (Field-Oriented Control) Sinusoidal Drive
FOC replaces the 6-step trapezoidal commutation with continuously computed sinusoidal phase currents. Instead of switching two phases on and one off every 60° electrical, the FOC algorithm energises all three phases simultaneously with time-varying currents that together produce a stator magnetic field rotating smoothly in sync with the rotor. The result is nearly constant torque throughout the electrical cycle — torque ripple drops from 10–20% (trapezoidal) to under 2% (FOC), and audible noise from 6× electrical frequency reduces by 10–18 dB.
The FOC control loop structure
FOC operates in the rotating d-q reference frame (direct axis / quadrature axis), which separates flux-producing current (Id, d-axis) from torque-producing current (Iq, q-axis). The firmware runs two nested PID loops:
- Outer speed loop (slower, 1–2 kHz): Compares actual speed (from encoder) to setpoint, outputs Iq* (q-axis current reference — the torque demand).
- Inner current loop (faster, 16–20 kHz, matching PWM rate): Measures actual phase currents (two shunts), applies Clarke transform (3-phase abc → 2-phase αβ) and Park transform (αβ → rotating dq using rotor angle from encoder), compares actual Iq and Id to references, and computes Vd and Vq voltage commands. The inverse Park transform converts Vd/Vq back to αβ, then SVPWM (Space Vector PWM) generates six MOSFET gate duty cycles for the 3-phase bridge.
The encoder requirement is the key distinction: FOC needs rotor angle continuously, not just 60° sectors. A 1000-line quadrature encoder gives 4000 counts/rev — angular resolution of 0.09°. Some implementations use a resolver or absolute encoder. Sensorless FOC (estimating rotor angle from back-EMF or from an observer algorithm) is possible above ~15% rated speed but degrades near zero, making it unsuitable for applications that need torque at standstill.
FOC efficiency advantage at partial load
At rated load and speed, the efficiency difference between trapezoidal and FOC is small — 1–3%. The advantage grows at partial load: FOC firmware can command Id < 0 (demagnetisation, also called field weakening) to reduce iron losses in the stator core when the motor runs lightly loaded. In a duty-cycle profile where 70% of operating hours are below 50% load (common in conveyor and packaging applications), FOC can recover 5–10% energy versus trapezoidal over a full shift. For a 500 W motor running 16 h/day, that is 40–80 Wh/day — roughly 15–30 kWh/year per motor.
- Torque ripple: Under 2% (vs 10–20% for trapezoidal)
- Audible noise reduction: 10–18 dB versus 6-step trapezoidal at the same speed and load
- Speed regulation: ±0.05–0.1% of setpoint (encoder-based outer loop)
- Current loop bandwidth: 500 Hz–2 kHz (inner loop at PWM rate)
- Speed loop bandwidth: 50–200 Hz (outer loop)
- Low-speed minimum (sensorless): ~15% rated speed; with encoder: 0 RPM (full torque at standstill)
- Partial-load efficiency gain: 5–10% vs trapezoidal at <50% load
- Controller cost premium: 30–60% over equivalent trapezoidal drive
- Typical applications: Robotics, precision CNC, medical equipment, low-noise HVAC, servo positioning, AGV fine motion control
For full FOC block diagram detail including Clarke/Park transform notation and SVPWM modulation, see the FOC control loop block diagram in our BLDC Motor Diagram reference.
6. Full Comparison Table: All Four BLDC Speed Control Methods
| Parameter | Open-Loop PWM | Closed-Loop PWM (Hall/Encoder) | Variable Voltage | FOC Sinusoidal |
|---|---|---|---|---|
| Speed regulation (under load) | ±8–15% of rated | ±0.5–1% (Hall) / ±0.05–0.2% (encoder) | ±5–10% open-loop; ±1–3% with outer PID | ±0.05–0.1% of rated |
| Torque ripple | 10–20% (6-step commutation) | 10–20% (6-step commutation) | 10–20% (6-step commutation) | <2% (sinusoidal SVPWM) |
| Audible noise level | Moderate (6× electrical tone) | Moderate (6× electrical tone) | Moderate (6× electrical tone) | Low (10–18 dB quieter) |
| Load disturbance response | None (open-loop) | 20–80 ms (Hall); 5–20 ms (encoder) | Slow (bus capacitor lag, 10–100 ms) | 2–10 ms (inner current loop) |
| Controller efficiency (switching losses) | 96–98% (2–4% loss) | 96–98% | 85–94% (DC-DC stage adds 6–15% loss) | 96–98% (SVPWM similar to PWM) |
| System efficiency at rated load | 82–88% | 85–92% | 75–84% | 88–94% |
| Partial-load efficiency (<50% load) | 65–78% | 70–82% | 58–72% | 80–90% (d-axis demagnetisation) |
| Minimum controllable speed | ~5% rated (commutation limit) | ~2–3% rated (Hall); ~0.5% (encoder) | ~10% rated (back-EMF detection limit) | 0 RPM with encoder; ~15% sensorless |
| Feedback sensor required | None | 3× Hall sensors or encoder | None (open-loop) or Hall/encoder (closed) | Quadrature encoder (or resolver) |
| Controller firmware complexity | Low (lookup table commutation) | Medium (PID + commutation lookup) | Medium (DC-DC regulation + commutation) | High (Clarke/Park transforms, SVPWM, nested PIDs) |
| Processor requirement | 8-bit MCU adequate | 16–32-bit MCU | 16–32-bit MCU + DC-DC control loop | 32-bit ARM Cortex-M or DSP (floating-point preferred) |
| Relative controller cost | Lowest (1×) | Low–Medium (1.2–1.5×) | High (1.8–2.5× due to DC-DC stage) | Medium–High (1.5–2.0×) |
| Typical industrial applications | Fans, blowers, pumps | Conveyors, AGVs, packaging, HVAC | Legacy designs only; rarely specified new | Robotics, CNC, medical, servo positioning, quiet HVAC |
7. Selection Guide by Application
Use this decision framework when specifying a brushless DC motor speed controller for a new machine design. The primary filters are speed regulation requirement, noise budget, low-speed performance, and system cost target.
Open-Loop PWM Best For
- Centrifugal fans and blowers (load torque = speed squared — speed droop is self-limiting)
- Irrigation and transfer pumps with fixed-head operation
- Simple variable-speed power tools where the operator adjusts speed manually
- Cost-optimised consumer products where ±10% speed variation is acceptable
- Prototyping and R&D bench validation before adding closed-loop
Do not use for: conveyors, AGVs, winders, packaging machines, or any load where speed must be consistent under varying force.
Closed-Loop PWM Best For
- Industrial conveyors with variable product weight (Hall feedback, ±1% speed)
- AGV traction drives at transit speed (Hall feedback adequate, encoder for docking)
- Packaging machines with product-rate synchronisation (encoder feedback, ±0.2%)
- HVAC fans requiring constant-pressure or constant-flow control
- Textile winding machines where tension control demands speed accuracy
- General industrial automation: 80% of BLDC applications fall here
Upgrade to FOC only if: noise is unacceptable, torque ripple causes mechanical resonance, or low-speed operation below 5% rated speed is needed.
FOC Sinusoidal Best For
- Collaborative robot (cobot) joints — ultra-smooth torque, no jerky motion
- Medical imaging and laboratory equipment — acoustic noise under 45 dB(A) at 1 m
- CNC spindle drives requiring smooth torque from 50 RPM to 6000 RPM
- Precision conveyor indexers and rotary tables — encoder position loop with FOC torque inner loop
- AGV fine docking and slow-speed station-stop (Hall commutation produces jerky motion under 30 RPM; FOC is smooth from standstill)
- BLDC servo axes replacing AC servo in cost-sensitive automation
Skip FOC if: your application is fan/pump/conveyor at >20% rated speed, the budget does not support encoder installation, or the OEM machine spec allows ±2% speed regulation.
8. Shenghe Controller Families and Matched Kits
Shenghe manufactures three controller families in-house at our Cixi, Ningbo facility, covering the full range from simple open-loop PWM to full FOC servo operation. All three are available as matched motor + controller kits where the drive firmware is pre-parameterised against the specific motor's electrical constants (winding resistance, inductance, back-EMF constant) and dyno-tested at end-of-line before shipment. Engineers specifying new drives avoid weeks of field commissioning — kits arrive with acceleration ramps, PID gains and current limits pre-set.
| Controller | Voltage / Current | Control Method | Feedback | Interfaces | Typical Motor Match |
|---|---|---|---|---|---|
| BLD22010 | DC 18–60 V / 10 A cont. | Closed-loop PWM (trapezoidal) | Hall sensors | 0–5V, PWM, RS485 Modbus | 24V/36V/48V BLDC, 50–500 W |
| BLD6010 | DC 80–220 V / 30 A cont. | Closed-loop PWM (trapezoidal) | Hall sensors | 0–5V, RS232, RS485 Modbus | 72V/110V/220V BLDC, 200 W–3 kW |
| BLDB6010 | AC/DC 24–80 V / 20 A cont. | FOC sinusoidal (3-mode: speed/position/torque) | Quadrature encoder | 0–5V, PWM, RS485 Modbus, CAN | BLDC servo motors, 100 W–2 kW |
All three controllers include hardware overcurrent protection (instantaneous trip at 2–3× rated), overvoltage and undervoltage lockout, and over-temperature shutdown. The BLD22010 and BLD6010 support both Hall-sensor and sensorless (back-EMF) modes, selectable by a firmware parameter — useful for cost-sensitive builds where the motor harness is simplified by omitting the Hall connector. The BLDB6010 FOC controller additionally supports field-weakening above base speed, enabling extended-speed operation at reduced torque.
View the full controller catalog and matched motor + controller kit configurations at BLDC Motor Controller Hub, or see voltage-specific controller pages: 24V BLDC Motor Controller, 48V BLDC Motor Controller, 72V BLDC Motor Controller.
9. Frequently Asked Questions
What is the most common BLDC motor speed control method?
Closed-loop PWM with Hall-sensor feedback is the most common in industrial BLDC drives. It delivers ±0.5–1% speed regulation under load variation, uses standard 3-Hall motor harnesses, and requires a modest 16–32-bit MCU in the controller. Open-loop PWM is more common in low-cost consumer applications (fans, tools). FOC is growing in robotics and precision automation but remains a minority of total BLDC drive shipments.
Is variable voltage control used for BLDC motors?
Almost never in modern designs. Varying the DC bus voltage adds 6–15% conversion loss from the required DC-DC stage, while PWM duty-cycle control achieves the same result with under 4% switching loss. Variable voltage does not give better speed regulation than closed-loop PWM. The only scenario where it appears is legacy battery-powered systems — and even there, the PID corrects for bus voltage variation automatically.
What is the difference between PWM and FOC for BLDC speed control?
PWM with 6-step trapezoidal commutation switches two of three phases at a time in 60° electrical steps, producing 10–20% torque ripple at 6× the electrical frequency. FOC energises all three phases simultaneously with sinusoidally-modulated currents from SVPWM — torque ripple falls under 2%, audible noise drops 10–18 dB. FOC needs a quadrature encoder; trapezoidal PWM needs only three Hall sensors. FOC controllers cost 30–60% more.
How does duty cycle affect BLDC motor speed?
Duty cycle sets the fraction of time bus voltage is applied to the active phase pair. At 50% duty cycle on a 48 V bus, average stator voltage is approximately 24 V, giving roughly 50% no-load speed. The relationship is linear from 5–95% duty cycle. Under load, open-loop speed droops because the back-EMF rises more slowly than the load demands — closed-loop PID raises duty cycle in 20–80 ms to restore the setpoint.
When should I choose FOC over trapezoidal PWM?
Choose FOC when: low-speed operation below 10% rated speed is required; acoustic noise must be minimised (hospital, office, food processing); torque control mode is needed alongside speed; load inertia causes mechanical resonance at 6× electrical frequency with trapezoidal commutation; or partial-load efficiency matters enough to justify the encoder cost and controller premium. For conveyors, AGVs and fans above 20% speed, closed-loop trapezoidal PWM is almost always the better value.
Specify Your BLDC Drive System
Tell us: voltage, wattage, target speed range, load type, speed regulation requirement, and whether you need position/torque control. We will recommend the right method and controller.
Request Quote Motor Controller Hub WhatsApp EngineerRelated Engineering Articles
- How to Control BLDC Motor Speed — Step-by-Step Guide
- BLDC Motor Diagram: Winding, Circuit & FOC Block Diagrams
- Sensorless BLDC Motor Control — Back-EMF Method
- BLDC Motor Driver Circuit — 3-Phase MOSFET Inverter
- BLDC vs Servo Motor — Which Drive to Choose
- Hall Sensor in BLDC Motor — How It Works
- BLDC Motor Controller Product Page
- BLDC Motor with Encoder