Verified MATLAB & Simulink Project

Speed Control of BLDC Motor Using a 5-Level H-Bridge Inverter in MATLAB Simulink

BLDC Motor Speed Control Using 5-Level H-Bridge Inverter | MATLAB – MATLAB Simulation Video
YouTube Watch Full Simulation Free Preview
MATLAB R2020a - R2024b
Zero Convergence Errors
Simscape / SimPowerSystems
Complete Simulation Pack 4.9 (120+ Downloads)
$25.00
$36.25
30% OFF
  • Complete Simulink Model (.slx file)
  • Parameter Init Script (.m file)
  • Scope & Waveform Signals pre-configured
  • Design & Methodology Report (PDF Guide)
Required
Invalid email
Instant .ZIP download link emailed upon checkout

Project Methodology

  1. System Modeling: Develop a BLDC motor model in MATLAB Simulink by defining its electrical and mechanical parameters — stator resistance (0.5 Ω), d/q-axis inductance (8.5 mH), back-EMF constant (0.175 V·s/rad), rotor inertia, friction coefficient, and pole pairs. Use the Permanent Magnet Synchronous Machine (PMSM) block in trapezoidal back-EMF mode to accurately represent the BLDC machine.
  2. 5-Level H-Bridge Inverter Design: Design a two-cell-per-phase Cascaded H-Bridge circuit using four IGBT/Diode pairs per cell from the Simscape Electrical library. Feed each cell from a separate 100 V isolated DC source. Connect the two cells in series per phase so that the combined output produces five discrete voltage levels: +200 V, +100 V, 0 V, -100 V, and -200 V.
  3. PWM Switching Control: Implement a carrier-based Pulse Width Modulation (PWM) technique at a switching frequency of 10 kHz. Apply a phase-disposition strategy where the Cell 2 carrier is phase-shifted 180° relative to Cell 1. This arrangement cancels the dominant harmonic at the carrier frequency and reduces the overall current THD to the 4–8% range at rated load.
  4. BLDC Motor Drive Integration: Connect the inverter output to the motor block and configure the six-step commutation sequence using a MATLAB Function block that decodes rotor angle into Hall sensor signals (HA, HB, HC). Map each of the six sectors to the correct pair of conducting switches (e.g., Sector 1: Q1 + Q6, Sector 2: Q1 + Q4) and verify synchronization between the switching signals and motor operation.
  5. Speed Control Strategy: Implement closed-loop speed control using a PI controller. The controller compares the reference speed with the measured rotor speed, computes a duty-cycle command, and feeds it through a Saturation block (limits: 0 to 1) into the PWM generator. Use starting gains of Kp = 0.8 and Ki = 15; fine-tune with the Simulink PID Tuner app if the motor parameters differ. Set the solver to ode23tb with a maximum step size of 1×10-5 s for accurate power-electronics simulation.
  6. Simulation and Testing: Run the complete MATLAB Simulink model under different operating conditions: a 1500 rpm step-speed reference and a load-torque disturbance of 10 N·m applied at t = 0.3 s. Evaluate the speed response (target: settling time 80–120 ms, overshoot below 5%), phase voltage waveform (five levels must be visible), phase current THD (measured via Powergui FFT Analysis), and electromagnetic torque ripple. Document the results and tune the controller if the response falls outside the target range.

Verified MATLAB Simulation Code Demonstration

Syntax-highlighted executable code demonstration for Speed Control of BLDC Motor Using a 5-Level H-Bridge Inverter in MATLAB Simulink:

MATLAB control_system_design.m
% State-Space Control & Stability Analysis
clc; clear; close all;

% System Matrices
A = [0 1; -4 -5];
B = [0; 1];
C = [1 0];
D = 0;

sys_ss = ss(A, B, C, D);
Co = ctrb(A, B);

% Pole Placement Control
desired_poles = [-3 + 4i, -3 - 4i];
K = acker(A, B, desired_poles);

sys_cl = ss(A - B*K, B, C, D);
fprintf('State Feedback Controller Formulated Successfully!\n');
Speed Control of BLDC Motor Using a 5-Level H-Bridge Inverter in MATLAB Simulink $25.00
$25.00