# Switched Reluctance Machine (Multi-Phase)

Four, five, or six-phase switched reluctance machine (SRM)

**Library:**Simscape / Electrical / Electromechanical / Reluctance & Stepper

## Description

The Switched Reluctance Machine (Multi-Phase) block represents a four-phase, five-phase, or six-phase switched reluctance machine (SRM).

The diagram shows the motor construction for the four-phase machine.

The diagram shows the motor construction for the five-phase machine.

### Equations

The rotor stroke angle for a multiphase machine is

${\theta}_{st}=\frac{2\pi}{{N}_{s}{N}_{r}}$

where:

*θ*is the stoke angle._{st}*N*is the number of phases._{s}*N*is the number of rotor poles._{r}

The torque production capability, *β*, of one rotor pole is

$\beta =\frac{2\pi}{{N}_{r}}.$

The mathematical model for a switched reluctance machine (SRM) is highly nonlinear due to
influence of the magnetic saturation on the flux linkage-to-angle curve,
*λ*(*θ _{ph}*). The phase
voltage equation for an SRM is

${v}_{ph}={R}_{s}{i}_{ph}+\frac{d{\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right)}{dt}$

where:

*v*is the voltage per phase._{ph}*R*is the stator resistance per phase._{s}*i*is the current per phase._{ph}*λ*is the flux linkage per phase._{ph}*θ*is the angle per phase._{ph}

Rewriting the phase voltage equation in terms of partial derivatives yields this equation:

${v}_{ph}={R}_{s}{i}_{ph}+\frac{\partial {\lambda}_{ph}}{\partial {i}_{ph}}\frac{d{i}_{ph}}{dt}+\frac{\partial {\lambda}_{ph}}{\partial {\theta}_{ph}}\frac{d{\theta}_{ph}}{dt}.$

Transient inductance is defined as

${L}_{t}\left({i}_{ph},{\theta}_{ph}\right)=\frac{\partial {\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right)}{\partial {i}_{ph}},$

or more simply as

$\frac{\partial {\lambda}_{ph}}{\partial {i}_{ph}}.$

Back electromotive force is defined as

${E}_{ph}=\frac{\partial {\lambda}_{ph}}{\partial {\theta}_{ph}}{\omega}_{r}.$

Substituting these terms into the rewritten voltage equation yields this voltage equation:

${v}_{ph}={R}_{s}{i}_{ph}+{L}_{t}\left({i}_{ph},{\theta}_{ph}\right)\frac{d{i}_{ph}}{dt}+{E}_{ph}.$

Applying the co-energy formula to equations for torque,

${T}_{ph}=\frac{\partial W\left({\theta}_{ph}\right)}{\partial {\theta}_{r}},$

and energy,

$W\left({i}_{ph},{\theta}_{ph}\right)=\underset{0}{\overset{{i}_{ph}}{{\displaystyle \int}}}{\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right)d{i}_{ph}$

yields an integral equation that defines the instantaneous torque per phase, that is,

${T}_{ph}\left({i}_{ph},{\theta}_{ph}\right)=\underset{0}{\overset{{i}_{ph}}{{\displaystyle \int}}}\frac{\partial {\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right)}{\partial {\theta}_{ph}}d{i}_{ph}.$

Integrating over the phases gives this equation, which defines the total instantaneous torque as

$T={\displaystyle \sum}_{j=1}^{{N}_{s}}{T}_{ph}(j).$

The equation for motion is

$$J\frac{d\omega}{dt}=T-{T}_{L}-{B}_{m}\omega $$

where:

*J*is the rotor inertia.*ω*is the mechanical rotational speed.*T*is the rotor torque. For the Switched Reluctance Machine block, torque flows from the machine case (block conserving port**C**) to the machine rotor (block conserving port**R**).*T*is the load torque._{L}*J*is the rotor inertia.*B*is the rotor damping._{m}

For high-fidelity modeling and control development, use empirical data and finite element calculation to determine the flux linkage curve in terms of current and angle, that is,

${\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right).$

For low-fidelity modeling, you can also approximate the curve using analytical techniques. One such technique [2] uses this exponential function:

${\lambda}_{ph}\left({i}_{ph},{\theta}_{ph}\right)={\lambda}_{sat}\left(1-{e}^{-{i}_{ph}f({\theta}_{ph})}\right),$

where:

*λ*is the saturated flux linkage._{sat}*f*(*θ*) is obtained by Fourier expansion._{r}

For the Fourier expansion, use the first two even terms of this equation:

$f\left({\theta}_{ph}\right)=a+b\mathrm{cos}\left({N}_{r}{\theta}_{ph}\right)$

where *a* > *b*,

$a=\frac{{L}_{\mathrm{min}}+{L}_{\mathrm{max}}}{2{\lambda}_{sat}},$

and

$b=\frac{{L}_{max}-{L}_{min}}{2{\lambda}_{sat}}.$

### Calculating Iron Losses

The Switched Reluctance Machine (Multi-Phase) block implements the iron losses as a reduction in the electrical torque.

If you set the **Stator parameterization** parameter to
`Specify parametric data`

, specify the
**Magnetizing resistance** parameter to model iron
losses.

If you set the **Stator parameterization** parameter to
`Specify tabulated flux data`

, the block tabulates the
losses as the power lost in each stator phase. The losses for each stator only
depends on the stator current in that phase, the rotor angle (geometrically shifted
to that phase), and the rotor speed. The iron loss power of the rotor is computed as
a percentage of the total iron loss power, as specified in the **Percentage
of total iron losses associated with the rotor** parameter.

If you tabulate the losses with current, speed, and angle, the iron loss torque reduces the electrical torque of a generic "A" phase:

${\tau}_{elecA}=\tau \left({i}_{A},{\theta}_{A}\right)-{\tau}_{loss}\left({i}_{A},w,{\theta}_{A}\right)$

where ${\tau}_{loss}\left({i}_{A},w,{\theta}_{A}\right)=sign\left(w\right)\frac{{P}_{loss}\left(abs\left({i}_{A}\right),abs\left(w\right),{\theta}_{A}\right)}{abs\left(w\right)+{w}_{min}}$ is the torque loss computed as the mechanical power loss divided
by the rotor speed. *w _{min}* is the minimum
rotor speed and it is equal to

`1`

`rad/s`

. This value prevents a division by zero when the
rotor speed is equal to `0`

.If you tabulate the losses in function of only current and speed, the iron loss torque reduces the electrical torque of a generic "A" phase:

${\tau}_{loss}\left({i}_{A},w\right)=sign\left(w\right)\frac{{P}_{loss}\left(abs\left({i}_{A}\right),abs\left(w\right)\right)}{abs\left(w\right)+{w}_{min}}.$

The iron losses are applied to the mechanical side as a reduction in torque. If
you create the iron loss table, *P _{loss}*,
from FEM results, the FEM tool might express the power lost as electrical power
instead of mechanical power.

The total electrical torque is equal to the sum of the electrical torque of each phase:

${\tau}_{elec}={\tau}_{elecA}+{\tau}_{elecB}+{\tau}_{elecC}.$

The total power dissipated is equal to the sum of the iron losses and the copper losses:

${P}_{dissipated}=\left({\tau}_{lossA}+{\tau}_{lossB}+{\tau}_{lossC}\right)w+{R}_{a}{i}_{a}^{2}+{R}_{b}{i}_{b}^{2}+{R}_{c}{i}_{c}^{2}.$

**Iron losses with thermal ports**

If you expose the thermal ports of the block, the power dissipated in each phase act as heat sources in the motor and in the rotor:

$\begin{array}{l}{P}_{dissA}={R}_{a}{i}_{a}^{2}+{P}_{ironA}\\ {P}_{dissB}={R}_{b}{i}_{b}^{2}+{P}_{ironB}\\ {P}_{dissC}={R}_{c}{i}_{c}^{2}+{P}_{ironC}\\ {P}_{dissR}={P}_{ironR}\end{array}$

The iron loss in the rotor is equal to a percentage of the total iron losses. This loss remains constant and does not depend on other states:

${P}_{ironR}=\frac{percen{t}_{rotor}}{100}\left({\tau}_{lossA}+{\tau}_{lossB}+{\tau}_{lossC}\right)w.$

Then the remaining iron loss is distributed among the different stator phases:

$$\begin{array}{l}{P}_{ironA}=\left(1-\frac{percen{t}_{rotor}}{100}\right){\tau}_{lossA}\text{\hspace{0.17em}}w\\ {P}_{ironB}=\left(1-\frac{percen{t}_{rotor}}{100}\right){\tau}_{lossB}\text{\hspace{0.17em}}w\\ {P}_{ironC}=\left(1-\frac{percen{t}_{rotor}}{100}\right){\tau}_{lossC}\text{\hspace{0.17em}}w\end{array}$$

### Model Thermal Effects

You can expose thermal ports to model the effects of losses
that convert power to heat. To expose the thermal ports, set the **Modeling
option** parameter to either:

`No thermal port`

— The block does not contain thermal ports.`Show thermal port`

— The block contains multiple thermal conserving ports.

For more information about using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.

### Assumptions

A zero rotor angle corresponds to a rotor pole that is aligned perfectly with the
*a*-phase, that is, peak flux.

### Variables

To set the priority and initial target values for the block variables prior to simulation,
use the **Initial Targets** section in the block dialog box or Property
Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model.
Using system scaling based on nominal values increases the simulation robustness. Nominal
values can come from different sources, one of which is the **Nominal
Values** section in the block dialog box or Property Inspector. For more
information, see System Scaling by Nominal Values.

## Ports

### Conserving

## Parameters

## Model Examples

## References

[1] Boldea, I. and S. A. Nasar.
*Electric Drives.* 2nd Ed. New York: CRC Press,
2005.

[2] Iliĉ-Spong, M., R. Marino, S.
Peresada, and D. Taylor. “Feedback linearizing control of switched reluctance
motors.” *IEEE Transactions on Automatic Control*. Vol. 32,
Number 5, 1987, pp. 371–379.

## Extended Capabilities

## Version History

**Introduced in R2018b**