top of page

Speed Control of BLDC Motor using Sliding Mode Control

Speed Control of BLDC Motor using Sliding Mode Control


In this blog, we will delve into the simulation model developed for the speed control of a Brushless DC (BLDC) motor using a Sliding Mode Controller. The simulation is implemented in MATLAB Simulink and comprises a DC source, a three-phase voltage source inverter, a BLDC motor drive, and motor parameters such as hall sensor output, motor speed, and electromagnetic torque.

Sliding Mode Controller

The Sliding Mode Controller receives two inputs: reference speed and actual speed. The comparison of these inputs results in an error speed and the rate of change of error. The sliding mode controller generates a modulated signal or duty cycle based on a sliding surface function.

Switching Logic Circuit

The modulated signal or duty cycle is then processed through a switching logic circuit. This circuit compares the modulating signal with a triangular wave to generate Pulse Width Modulation (PWM) pulses. The PWM pulses are subsequently ANDed with the hall sensor output from the BLDC motor. The resulting signals are used to drive the six switches of the voltage source inverter, controlling the voltage applied to the BLDC motor and thus regulating its speed.

Reference Speed and Torque Command

The Simulink model includes inputs for reference speed and torque commands. In the example, a reference speed of 1000 rpm is initially provided, which changes to 1500 rpm after 0.2 seconds. A torque input of 5 Nm is applied to the BLDC motor.

Simulation Results - Case 1

Speed Variation

The simulation results show that the speed of the BLDC motor is initially set at 1000 rpm. After 0.2 seconds, the reference speed is changed to 1500 rpm. The actual speed follows this change without significant overshoot.

Overshoot Analysis

  • Initial Overshoot: Around 20 rpm (2% overshoot)

  • Overshoot at 1500 rpm: Approximately 6 rpm (0.4% overshoot)

Simulation Results - Case 2

The simulation is then conducted with an initial reference speed of 1500 rpm, changing to 200 rpm after 0.2 seconds.

Speed Transition

The speed transitions smoothly from 1500 rpm to 200 rpm, and the motor maintains a speed close to the reference with a small error.

Torque Analysis

The torque of the motor is maintained at 5 Nm during the speed transition, showcasing the effectiveness of the sliding mode controller in handling speed variations.


The Simulink model demonstrates the robustness of the sliding mode controller in regulating the speed of a BLDC motor, responding effectively to changes in reference speed commands. The low overshoot and consistent torque during transitions highlight the controller's stability and efficiency.

Further Exploration

Researchers and engineers can explore further enhancements to the model, such as:

  1. Parameter Tuning: Adjusting controller parameters for optimal performance.

  2. Dynamic Disturbance Response: Analyzing the controller's response to dynamic disturbances.

  3. Real-time Implementation: Implementing the controller on a physical BLDC motor setup for experimental validation.

In conclusion, the presented Simulink model provides valuable insights into the speed control of BLDC motors using sliding mode controllers. The principles illustrated can be extended to practical applications in various electromechanical systems.

11 views0 comments


bottom of page