Main Content

Six Step Commutation

Generate switching sequence for six-step commutation of brushless DC (BLDC) motor

  • Library:
  • Motor Control Blockset / Controls / Control Reference

Description

The Six Step Commutation block uses a 120-degree conduction mode to generate a switching sequence to implement six-step commutation (or trapezoidal commutation) on a three-phase BLDC motor. You can use the switching signals to operate switches and control the stator currents, and therefore, control motor speed and direction of rotation.

The block accepts the Hall sequence number or rotor position (from a position sensor such as a Hall or a quadrature encoder sensor) and the direction of torque as inputs. It uses the Hall sequence or position input to determine the sector where the rotor is present. The block computes the switching sequence such that it energizes the corresponding phases to maintain the torque angle (angle between rotor d-axis and stator magnetic field) of 90 degrees (with a deviation of 30 degrees).

This figure is an example that shows the stator magnetic field phasors along with their default Hall sequence.

The block uses a commutation logic based on the Hall sequence to generate switching sequences.

Hall State (Hall a, Hall b, Hall c)Switching Sequence (AA' BB' CC')
AA'BB'CC'
5 (101)001001
4 (100)011000
6 (110)010010
2 (010)000110
3 (011)100100
1 (001)100001

This figure shows the stator magnetic field phasors along with the possible sectors (determined from the input rotor position).

The block uses a commutation logic based on the position sensor signals to generate switching sequences.

Position (θ)SectorSwitching Sequence (AA' BB' CC')
AA'BB'CC'
(-30°, 30°]1001001
(30°, 90°]2011000
(90°, 150°]3010010
(150°, 210°]4000110
(210°, 270°]5100100
(270°, 330°]6100001

Ports

Input

expand all

The Hall sensor sequence.

Dependencies

To enable this port, set Input type to Hall.

Data Types: single | double | fixed point

Position detected by either the Hall or quadrature encoder sensor.

Dependencies

To enable this port, set Input type to Position.

Data Types: single | double | fixed point

Torque sign (+1 or -1) indicating the direction of rotation of the BLDC motor.

Data Types: single | double | fixed point

Output

expand all

Switching sequence signals to implement six-step commutation (or trapezoidal commutation) on the BLDC motor.

Data Types: single | double | fixed point

Parameters

expand all

Type of position sensor feedback connected to the block input.

Unit of position feedback input.

Dependencies

To enable this parameter, set Input type to Position.

Customized Hall sequence.

If the Hall sensors are placed 120 degrees apart, the sequence number is between 1 to 6. If the Hall sensors are placed 60 degrees apart, the sequence number is between 0 to 7.

Dependencies

To enable this parameter, set Input type to Hall.

Select this parameter for the block to enable the Commutation switching parameter.

Dependencies

To enable this parameter, set Input type to Hall.

Customized switching sequence for commutation of the BLDC motor.

Dependencies

To enable this parameter, set Input type to Hall and select Enable custom commutation parameter.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Fixed-Point Conversion
Design and simulate fixed-point systems using Fixed-Point Designer™.

Introduced in R2020b