# Switched Reluctance Machine

Three-phase switched reluctance machine

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

## Description

The Switched Reluctance Machine block represents a three-phase switched reluctance machine (SRM). The stator has three pole pairs, carrying the three motor windings, and the rotor has several nonmagnetic poles. The motor produces torque by energizing a stator pole pair, inducing a force on the closest rotor poles and pulling them toward alignment. The diagram shows the motor construction.

Choose this machine in your application to take advantage of these properties:

Low cost

Relatively safe failing currents

Robustness to high temperature operation

High torque-to-inertia ratio

Use this block to model an SRM using easily measurable or estimable parameters. To model an SRM using FEM data, see Switched Reluctance Motor Parameterized with FEM Data.

### Equations

**Switched Reluctance Machine Block**

The rotor stroke angle for a three-phase machine is

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

where:

*θ*is the stoke angle._{st}*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,
*λ*(*θ _{ph}*) curve.
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 give this equation, which defines the total instantaneous torque for a three-phase SRM:

$T={\displaystyle \sum}_{j=1}^{3}{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}}.$

**Switched Reluctance Motor Block**

The flux linkage curve is approximated based on parametric and geometric data:

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

where *L _{0}* is the
unsaturated inductance.

The effects of saturation are more prominent as the product of current and
unsaturated inductance approach the saturated flux linkage value. Specify this
value using the **Saturated flux linkage** parameter.

Differentiating the flux equation then gives the winding inductance:

$$L({\theta}_{ph})={L}_{0}({\theta}_{ph}){e}^{\left(-{L}_{0}({\theta}_{ph}){i}_{ph}/{\lambda}_{sat}\right)}$$

The unsaturated inductance varies between a minimum and maximum value. The minimum value occurs when a rotor pole is directly between two stator poles. The maximum occurs when the rotor pole is aligned with a stator pole. In between these two points, the block approximates the unsaturated inductance linearly as a function of rotor angle. This figure shows the unsaturated inductance as a rotor pole passes over a stator pole.

In the figure:

*θ*corresponds to the angle subtended by the rotor pole. Set it using the_{R}**Angle subtended by each rotor pole**parameter.*θ*corresponds to the angle subtended by the stator pole. Set it using the_{S}**Angle subtended by each stator pole**parameter.*θ*corresponds to the angle subtended by this full cycle, determined by_{C}*2π/2n*where*n*is the number of stator pole pairs.

### 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 either
`Specify parametric data`

or ```
Specify
parametric and geometric 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.

### Numerical Smoothing

In practice, magnetic edge effects prevent the inductance from taking a
trapezoidal shape as a rotor pole passes over a stator pole. To model these effects,
and to avoid gradient discontinuities that hinder solver convergence, the block
smooths the gradient *∂L _{0}/∂θ* at inflection
points. To change the angle over which this smoothing is applied, use the

**Angle over which flux gradient changes are smoothed**parameter.

### Assumptions

The block assumes that a zero rotor angle corresponds to a rotor pole that is
aligned perfectly with the *a*-phase.

### 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, Second
Edition*. New York: CRC, 2005.

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

## Extended Capabilities

## Version History

**Introduced in R2017b**