Main Content

SRM Commutation

Generate switching sequences for n-phase switched reluctance motor (SRM)

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

Description

The SRM Commutation block implements a commutation system that generates switching sequences to energize the stator windings of an n-phase SRM.

The block supports a three-, four-, five-, or six-phase SRM.

Ports

Input

expand all

Electrical position of the motor measured with respect to phase a or first phase of the motor. Provide position value between 0–2π radians or 0–360 degrees or 0–1 per-unit.

Data Types: single | double | fixed point

Motor electrical position for phase a (phase used by θe input) at which the switching sequence turns from 0 to 1 and energizes the corresponding phase. Provide position value between 0 radians or 0360 degrees or 01 per-unit.

Data Types: single | double | fixed point

Motor electrical position for phase a (phase used by θe input) at which the switching sequence turns from 1 to 0 and de-energizes the corresponding phase. Provide position value between 0–2π radians or 0–360 degrees or 0–1 per-unit.

Data Types: single | double | fixed point

Output

expand all

Combination of switching sequences that you can use to switch each phase to on or off to drive the motor.

Data Types: Boolean

Parameters

expand all

The number of phases available in the stator windings of the SRM.

Units for the θe, θeOn, and θeOff inputs.

Algorithms

The block uses electrical motor position (θe), electrical turn-on position (θeOn), and electrical turn-off position (θeOff) to generate n switching sequences (a vector of size n) for an n-phase SRM.

Each switching sequence (that forms a pulse train) can be used to control (turn on or off) the corresponding motor phase.

Each pulse in a switching sequence represents the activation period of the phase. A range of motor positions for which a phase activates is known as the dwell angle, θdwell = θeOffθeOn. When the motor electrical position falls within the dwell angle of a phase, the block outputs 1 to activate this phase.

For first stator phase or phase A:

Block outputCondition

0

if θe < θeOn or θe > θeOff

1

if θeOnθeθeOff

For subsequent phases, the block output (switching sequence) has an offset of (m⨯2π)/n for mth motor phase (m is a value between 0 to n and n is the total number of motor phases).

Therefore, for an n-phase SRM, the block output is a combination of n such sequences (or pulse trains), which can be used with position sensor feedback and control loops to control the motor speed.

The direction in which the motor rotates depends on the sequence in which you excite the stator phases. You can use the block output to change this excitation sequence by providing appropriate inputs at θeOn and θeOff.

Align the electrical motor position (θe) input with the first phase of the SRM (phase a or phase 1). The block internally computes the remaining electrical positions aligned with the subsequent phases and generates switching sequences for them. For example, for a three-phase SRM, if you derive the θe input from the mechanical motor position aligned with motor phase a, then the block internally computes the required electrical positions for phases b and c and generates the commutation outputs for all the three phases.

For example, if you derive (θe) input from the mechanical motor position aligned with motor phase a, then the block automatically computes the phase b and c electrical positions for the three-phase SRM.

Note

All the block inputs should have the same unit of measurement as the position input.

Version History

Introduced in R2022b