Electric Machines#

This document describes continuous-time electric machine models.

Space Vectors#

The machine models apply peak-valued complex space vectors, marked with boldface in the following equations. As an example, the space vector of the stator current is

(1)#\[\boldsymbol{i}^\mathrm{s}_\mathrm{s} = \frac{2}{3}\left(i_\mathrm{a} + i_\mathrm{b}\mathrm{e}^{\mathrm{j}2\pi/3} + i_\mathrm{c}\mathrm{e}^{\mathrm{j} 4\pi/3}\right)\]

where \(i_\mathrm{a}\), \(i_\mathrm{b}\), and \(i_\mathrm{c}\) are the phase currents, which may vary freely in time. In our notation, the subscript s refers to the stator winding and the superscript s refers to the stationary coordinates. The space vector does not include the zero-sequence component, which is defined as

(2)#\[i_\mathrm{s0} = \frac{1}{3}\left(i_\mathrm{a} + i_\mathrm{b} + i_\mathrm{c}\right)\]

Even though the zero-sequence voltage exists at the ouput of typical converters (see Converters), there is no path for the zero-sequence current to flow if the stator winding is either delta-connected or the star point is not connected, i.e., \(i_\mathrm{s0} = 0\). Consequently, the zero-sequence voltage cannot produce neither power nor torque.

The space vector transformation in (1) is implemented in the function motulator.common.utils.abc2complex() and its inverse transformation in the function motulator.common.utils.complex2abc().

Induction Machine#

The induction machine models are provided in the package motulator.drive.model. The models are implemented in stator coordinates. A Γ-equivalent model is used as a base model since it can be extended with the magnetic saturation model in a straightforward manner [1].

Gamma-model of an induction machine

Γ model.#

Block diagram of an induction machine model

Block diagram of the machine model. The magnetic model includes the flux equations (or, optionally, saturation characteristics) and the torque equation.#

The voltage equations are

(3)#\[\begin{split}\frac{\mathrm{d}\boldsymbol{\psi}_\mathrm{s}^\mathrm{s}}{\mathrm{d} t} &= \boldsymbol{u}_\mathrm{s}^\mathrm{s} - R_\mathrm{s}\boldsymbol{i}_\mathrm{s}^\mathrm{s} \\ \frac{\mathrm{d}\boldsymbol{\psi}_\mathrm{r}^\mathrm{s}}{\mathrm{d} t} &= -R_\mathrm{r}\boldsymbol{i}_\mathrm{r}^\mathrm{s} + \mathrm{j}\omega_\mathrm{m}\boldsymbol{\psi}_\mathrm{r}^\mathrm{s}\end{split}\]

where \(\boldsymbol{u}_\mathrm{s}^\mathrm{s}\) is the stator voltage, \(\boldsymbol{i}_\mathrm{s}^\mathrm{s}\) is the stator current, \(\boldsymbol{i}_\mathrm{r}^\mathrm{s}\) is the rotor current, \(R_\mathrm{s}\) is the stator resistance, and \(R_\mathrm{r}\) is the rotor resistance. The electrical angular speed of the rotor is \(\omega_\mathrm{m} = n_\mathrm{p}\omega_\mathrm{M}\), where \(\omega_\mathrm{M}\) is the mechanical angular speed of the rotor and \(n_\mathrm{p}\) is the number of pole pairs. The stator flux linkage \(\boldsymbol{\psi}_\mathrm{s}^\mathrm{s}\) and the rotor flux linkage \(\boldsymbol{\psi}_\mathrm{r}^\mathrm{s}\), respectively, are

(4)#\[\begin{split}\boldsymbol{\psi}_\mathrm{s}^\mathrm{s} &= L_\mathrm{s}(\boldsymbol{i}_\mathrm{s}^\mathrm{s} + \boldsymbol{i}_\mathrm{r}^\mathrm{s} ) \\ \boldsymbol{\psi}_\mathrm{r}^\mathrm{s} &= \boldsymbol{\psi}_\mathrm{s}^\mathrm{s} + L_\ell\boldsymbol{i}_\mathrm{r}^\mathrm{s}\end{split}\]

where \(L_\mathrm{s}\) is the stator inductance and \(L_\ell\) is the leakage inductance. This linear magnetic model is applied in the class motulator.drive.model.InductionMachine. The electromagnetic torque is

(5)#\[\tau_\mathrm{M} = \frac{3 n_\mathrm{p}}{2}\mathrm{Im} \left\{\boldsymbol{i}_\mathrm{s}^\mathrm{s} (\boldsymbol{\psi}_\mathrm{s}^\mathrm{s})^* \right\}\]

The same class can also be used with the main-flux saturation models, such as \(L_\mathrm{s} = L_\mathrm{s}(\psi_\mathrm{s})\) [2]. See also the example 2.2-kW induction motor, saturated.

Note

If the magnetic saturation is omitted, the Γ model is mathematically identical to the inverse-Γ and T models. For example, the parameters of the Γ model can be transformed to those of the inverse-Γ model parameters as follows:

\[\begin{split}L_\sigma &= \left(\frac{L_\mathrm{s}}{L_\mathrm{s} + L_\ell}\right)L_\ell \\ R_\mathrm{R} &= \left(\frac{L_\mathrm{s}}{L_\mathrm{s} + L_\ell}\right)^2 R_\mathrm{r} \\ L_\mathrm{M} &= L_\mathrm{s} - L_\sigma\end{split}\]
Inverse-Gamma model of an induction machine

Inverse-Γ model.#

Example control methods in the package motulator.drive.control.im are based on the inverse-Γ model.

Synchronous Machine#

Synchronous machine models are provided in the package motulator.drive.model. The models can be parametrized to represent permanent-magnet synchronous machines (PMSMs) and synchronous reluctance machines (SyRMs).

Synchronous machine model

Block diagram of the machine model in rotor coordinates. The magnetic model includes the flux equation (or, optionally, saturation characteristics) and the torque equation.#

The voltage equation in rotor coordinates is [3]

(6)#\[\frac{\mathrm{d}\boldsymbol{\psi}_\mathrm{s}}{\mathrm{d} t} = \boldsymbol{u}_\mathrm{s} - R_\mathrm{s}\boldsymbol{i}_\mathrm{s} - \mathrm{j}\omega_\mathrm{m}\boldsymbol{\psi}_\mathrm{s}\]

where \(\boldsymbol{u}_\mathrm{s}\) is the stator voltage and \(\boldsymbol{i}_\mathrm{s}\) is the stator current. In the magnetically linear case, the stator flux linkage is

(7)#\[\boldsymbol{\psi}_\mathrm{s} = L_\mathrm{d}\mathrm{Re}\{\boldsymbol{i}_\mathrm{s}\} + \mathrm{j}L_\mathrm{q}\mathrm{Im}\{\boldsymbol{i}_\mathrm{s}\} + \psi_\mathrm{f}\]

where \(L_\mathrm{d}\) is the d-axis inductance, \(L_\mathrm{q}\) is the q-axis inductance, \(\psi_\mathrm{f}\) is the permanent-magnet (PM) flux linkage. As special cases, this model represents a surface-PMSM with \(L_\mathrm{d} = L_\mathrm{q}\) and SyRM with \(\psi_\mathrm{f}=0\).

The electromagnetic torque is

(8)#\[\tau_\mathrm{M} = \frac{3 n_\mathrm{p}}{2}\mathrm{Im} \left\{\boldsymbol{i}_\mathrm{s} \boldsymbol{\psi}_\mathrm{s}^* \right\}\]

Since the machine is fed and observed from stator coordinates, the quantities are transformed accordingly, as shown in the figure below. The mechanical subsystem closes the loop from \(\tau_\mathrm{M}\) to \(\omega_\mathrm{M}\), see Mechanics.

Synchronous machine model seen from stator coordinates

Synchronous machine model seen from stator coordinates.#

The linear magnetic model in (7) can be replaced with nonlinear saturation characteristics \(\boldsymbol{\psi}_\mathrm{s} = \boldsymbol{\psi}_\mathrm{s}(\boldsymbol{i}_\mathrm{s})\), either in a form of flux maps or explicit functions [4]. See the examples 5-kW PM-SyRM, flux maps from SyR-e, 5.5-kW PM-SyRM, saturated, and 6.7-kW SyRM, saturated. Methods for importing and plotting the flux map data are also provided.

References