Doubly Fed Induction Motor

Schematic

../../../_images/ESB_DFIM_alphabeta.svg

Electrical ODE

\[\begin{split}\frac{\mathrm{d} i_\mathrm{s \alpha}}{\mathrm{d} t}&= -\frac{1}{\tau_\sigma} i_\mathrm{s \alpha} + \frac{R_\mathrm{r} L_\mathrm{m}}{\sigma L_\mathrm{r}^2 L_\mathrm{s}} \psi_\mathrm{r \alpha} + p \omega_\mathrm{\text{me}} \frac{L_\mathrm{m}}{\sigma L_\mathrm{r} L_\mathrm{s}} \psi_\mathrm{r \beta} + \frac{1}{\sigma L_\mathrm{s}} u_\mathrm{s \alpha} - \frac{L_\mathrm{m}}{\sigma L_\mathrm{r} L_\mathrm{s}} u_\mathrm{r \alpha}\\ \frac{\mathrm{d} i_\mathrm{s \beta}}{\mathrm{d} t}&= -\frac{1}{\tau_\sigma} i_\mathrm{s \beta} - p \omega_\mathrm{\text{me}} \frac{L_\mathrm{m}}{\sigma L_\mathrm{r} L_\mathrm{s}} \psi_\mathrm{r \alpha} + \frac{R_\mathrm{r} L_\mathrm{m}}{\sigma L_\mathrm{r}^2 L_\mathrm{s}} \psi_\mathrm{r \beta} + \frac{1}{\sigma L_\mathrm{s}} u_\mathrm{s \beta} - \frac{L_\mathrm{m}}{\sigma L_\mathrm{r} L_\mathrm{s}} u_\mathrm{r \beta}\\ \frac{\mathrm{d} \psi_\mathrm{r \alpha}}{\mathrm{d} t}&= \frac{L_\mathrm{m}}{\tau_\mathrm{r}} i_\mathrm{s \alpha} - \frac{1}{\tau_\mathrm{r}} \psi_\mathrm{r \alpha} - p \omega_\mathrm{\text{me}} \psi_\mathrm{r \beta} + u_\mathrm{r \alpha}\\ \frac{\mathrm{d} \psi_\mathrm{r \beta}}{\mathrm{d} t}&= \frac{L_\mathrm{m}}{\tau_\mathrm{r}} i_\mathrm{s \beta} + p \omega_\mathrm{\text{me}} \psi_\mathrm{r \alpha} - \frac{1}{\tau_\mathrm{r}} \psi_\mathrm{r \beta} + u_\mathrm{r \beta}\\ \frac{\mathrm{d} \varepsilon_\mathrm{el}}{\mathrm{d} t}&= p \omega_\mathrm{me}\end{split}\]

with

\[\begin{split}L_\mathrm{s} &= L_\mathrm{m} + L_\mathrm{\sigma s} & \quad L_\mathrm{r} &= L_\mathrm{m} + L_\mathrm{\sigma r}\\ \sigma &= \frac{L_\mathrm{r} L_\mathrm{s} - L_\mathrm{m}^2}{L_\mathrm{r} L_\mathrm{s}} & \quad \tau_\mathrm{r} &=\frac{L_\mathrm{r}}{R_\mathrm{r}} & \quad \tau_\sigma &= \frac{\sigma L_\mathrm{s}}{R_\mathrm{s} + R_\mathrm{r} \frac{L_\mathrm{m}^2}{L_\mathrm{r}^2}}\end{split}\]

Torque Equation

\[T=\frac{3}{2} p \frac{L_\mathrm{m}}{L_\mathrm{r}} (\psi_\mathrm{r \alpha} i_\mathrm{s \beta} - \psi_\mathrm{r \beta} i_\mathrm{s \alpha})\]

Code Documentation

class gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor(**kwargs)[source]

Bases: InductionMotor

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

electrical_jacobian(state, u_in, omega, *args)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.electrical_jacobian.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

electrical_ode(state, u_sr_alphabeta, omega, *args)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.electrical_ode.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

i_in(state)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.i_in.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

initialize(state_space, state_positions, **__)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.initialize.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

next_generator()

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.next_generator.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

static q(quantities, epsilon)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.q.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

static q_inv(quantities, epsilon)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.q_inv.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

q_inv_me(quantities, epsilon)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.q_inv_me.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

q_me(quantities, epsilon)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.q_me.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

reset(state_space, state_positions, omega=None)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.reset.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

seed(seed=None)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.seed.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

static t_23(quantities)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.t_23.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

static t_32(quantities)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.t_32.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

torque(states)

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.torque.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

CURRENTS = ['i_salpha', 'i_sbeta']

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.CURRENTS.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

CURRENTS_IDX = [0, 1]

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.CURRENTS_IDX.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

EPSILON_IDX = 4
FLUXES = ['psi_ralpha', 'psi_rbeta']
FLUX_IDX = [2, 3]
HAS_JACOBIAN = True

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.HAS_JACOBIAN.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

IO_CURRENTS = ['i_sa', 'i_sb', 'i_sc', 'i_salpha', 'i_sbeta', 'i_sd', 'i_sq']
IO_ROTOR_CURRENTS = ['i_ra', 'i_rb', 'i_rc', 'i_rd', 'i_rq']
IO_ROTOR_VOLTAGES = ['u_ra', 'u_rb', 'u_rc', 'u_rd', 'u_rq']
IO_VOLTAGES = ['u_sa', 'u_sb', 'u_sc', 'u_salpha', 'u_sbeta', 'u_sd', 'u_sq']
I_SALPHA_IDX = 0
I_SBETA_IDX = 1
PSI_RALPHA_IDX = 2
PSI_RBETA_IDX = 3
ROTOR_CURRENTS = ['i_ralpha', 'i_rbeta']
ROTOR_VOLTAGES = ['u_ralpha', 'u_rbeta']
STATOR_VOLTAGES = ['u_salpha', 'u_sbeta']
VOLTAGES = []

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.VOLTAGES.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property initial_limits

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.initial_limits.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property initializer

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.initializer.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property limits

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.limits.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property motor_parameter

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.motor_parameter.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property nominal_values

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.nominal_values.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property random_generator

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.random_generator.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.

property seed_sequence

API for gym_electric_motor.physical_systems.electric_motors.DoublyFedInductionMotor.seed_sequence.

Note

The original docstring is temporarily suppressed due to formatting issues upstream. Once it’s cleaned, we’ll restore the full text here.