BLDC Motor Control

Develop BLDC motor control algorithms using simulation

Motor Control Blockset 

Design and implement motor control algorithms

Electronically commutated or “brushless” motors continue to grow in popularity because they offer higher electrical efficiency and torque-to-weight ratio than mechanically commutated or “brushed” counterparts. Brushless DC (BLDC) motors are commonly defined as permanent magnet synchronous machines (PMSMs) that exhibit a trapezoidal back EMF due to the concentration of the stator windings. This differentiates BLDC motors from PMSM motors, which exhibit sinusoidal back EMF due to distributed stator windings.

MATLAB animation comparing operation of BLDC and PMSM motors. Animation is based on simulation results from the Simscape Electrical model.

Brushless DC motors typically use trapezoidal control, but field-oriented control is used as well. PMSM motors typically use field-oriented control only. Trapezoidal BLDC motor control is a simpler technique than field-oriented control; it energizes only two phases at a time. Only one PID controller is required for torque control, and, as opposed to field-oriented control, there is no need for coordinate transformations using Park and Clarke transforms.

MATLAB animation comparing operation of BLDC motors with one and two pole pairs. Animation is based on simulation results from the Simscape Electrical model.

Motor control engineers designing a BLDC motor controller with a trapezoidal method perform the following tasks:

  • Develop controller architecture with a PI controller for the inner current/voltage loop
  • Develop PI controllers for the optional outer speed and position loops
  • Tune the gains of all PI controllers to meet performance requirements
  • Design SVM control
  • Design fault detection and protection logic
  • Verify and validate controller performance across different operating conditions
  • Implement a controller in fixed or floating point on a microcontroller

BLDC motor control design using Simulink® lets you use multirate simulation to design, tune, and verify control algorithms and detect and correct errors across the complete operating range of the motor before hardware testing. Using simulation with Simulink, you can reduce the amount of prototype testing and verify the robustness of control algorithms to fault conditions that are not practical to test on hardware. You can:

  • Model BLDC motor with a trapezoidal or arbitrary back EMF
  • Model current controllers, speed controllers, and modulators
  • Model inverter power electronics
  • Tune BLDC motor control system gains using linear control design techniques such as Bode plot and root locus and techniques such as automated PID tuning
  • Model startup, shutdown, and error modes and design derating and protection logic to ensure safe operation
  • Design signal conditioning and processing algorithms for the I/O channels
  • Run closed-loop simulations of the motor and controller to test system performance under normal and abnormal operating scenarios
  • Automatically generate ANSI, ISO, or processor-optimized C code and HDL for rapid prototyping, hardware-in-the-loop testing, and production implementation

Go from basic tasks to more advanced maneuvers by walking through interactive examples and tutorials.

Explore the Power Electronics Control Community

The MathWorks community for students, researchers, and engineers using Simulink to apply power electronics control to Electric Vehicles, Renewable Energy, Battery Systems, Power Conversion, and Motor Control.

30-Day Free Trial

Get started

Understanding BLDC Motor Control Algorithms

Read ebook