Three Phase Doubly Fed Induction Machine

Description of the Three Phase Doubly Fed Induction Machine component in Schematic Editor.

Three Phase Doubly Fed Induction Machine component in Typhoon HIL Schematic Editor

As, Bs, and Cs are the stator winding terminals. Ar, Br, and Cr are the rotor winding terminals. Both the stator and the rotor winding use the current source interface.

Electrical sub-system model

The electrical part of the machine is represented by the following system of equations, modeled in the stationary αβ reference frame. All rotor variables and parameters are referred to the stator by the turns ratio m.

v α s v β s v α r v β r = R s 0 0 0 0 R s 0 0 0 0 R r 0 0 0 0 R r i α s i β s i α r i β r + d d t ψ α s ψ β s ψ α r ψ β r + 0 0 ω r ψ β r - ω r ψ α r

ψ α s ψ β s ψ α r ψ β r = L s 0 L m 0 0 L s 0 L m L m 0 L r 0 0 L m 0 L r i α s i β s i α r i β r

T e = 3 2 p ( ψ α s i β s - ψ β s i α s )

v α r = m v α r r

v β r = m v β r r

i α r r = m i α r

i β r r = m i β r

If the saturation effects are considered, the equations have the same form, but in that case the magnetizing flux is a function of the magnetizing current:

ψ m = f ( i m )

where:

ψ m = ( ψ α s + ψ α r ) 2 + ( ψ β s + ψ β r ) 2

i m = ( i α s + i α r ) 2 + ( i β s + i β r ) 2

If the saturation effects and stator and rotor leakage fluxes are considered, the equations also have the same form, except in that case, the magnetizing flux is a function of the magnetizing current, the stator leakage flux is a function of the stator current, and the rotor leakage flux is a function of the rotor current:

ψ l s = f s ( i s )

ψ l r = f r ( i r )

where:

i s = i α s 2 + i β s 2

i r = i α r 2 + i β r 2
Table 1. Electrical subsystem model variables
Symbol Description
ψαs Alpha axis component of the stator flux [Wb]
ψβs Beta axis component of the stator flux [Wb]
ψαr Alpha axis component of the rotor flux, referred to the stator [Wb]
ψβr Beta axis component of the rotor flux, referred to the stator [Wb]
iαs Alpha axis component of the stator current [A]
iβs Beta axis component of the stator current [A]
iαr Alpha axis component of the rotor current, referred to the stator [A]
iβr Beta axis component of the rotor current, referred to the stator [A]
iαrr Alpha axis component of the rotor current [A]
iβrr Beta axis component of the rotor current [A]
vαs Alpha axis component of the stator voltage [V]
vβs Beta axis component of the stator voltage [V]
vαr Alpha axis component of the rotor voltage, referred to the stator [V]
vβr Beta axis component of the rotor voltage, referred to the stator [V]
vαrr Alpha axis component of the rotor voltage [V]
vβrr Beta axis component of the rotor voltage [V]
Rs Stator phase resistance [Ω]
Rr Rotor phase resistance, referred to the stator [Ω]
Lm Magnetizing (mutual, main) inductance [H]
Ls Stator phase inductance [H] ( = L l s + L m )
Lr Rotor phase inductance, referred to the stator [H] ( = L l r + L m )
ωr Rotor electrical speed [rad/s] ( = p ω m )
p Machine number of pole pairs
Te Machine developed electromagnetic torque [Nm]
m Stator to rotor turns ratio
ψm Magnetizing flux [Wb]
im Magnetizing current [A]
ψls Stator leakage flux [H]
is Amplitude of the stator current [A]
ψlr Rotor leakage flux [H]
ir Amplitude of the rotor current [A]

Mechanical sub-system model

Motion equation:

d ω m d t =   1 J m ( T e - T l - b ω m )

θ m =   ω m d t
Table 2. Mechanical sub-system model variables
Symbol Description
ωm Rotor mechanical speed [rad/s]
Jm Combined rotor and load moment of inertia [kgm2]
Te Machine developed electromagnetic torque [Nm]
Tl Shaft mechanical load torque [Nm]
b Machine viscous friction coefficient [Nms]
θm Rotor mechanical angle [rad]
Note: Motion equation is the same for all of the rotating machine models.

Saturation effects

Three Phase Doubly Fed Induction Machine can include magnetic saturation effects, according to the functions described in Electrical sub-system model. Each of these functions are represented in the model in the form of lookup tables. Lookup tables use linear interpolation and linear extrapolation. This means that if magnetic saturation effects are considered, lookup tables defining either magnetizing flux (Figure 1) or magnetizing inductance (Figure 2) as a function of the magnetizing current should be used. If the Saturable leakage inductance property is enabled, then lookup tables for the saturation effects of magnetizing inductance as a function of magnetizing current (Figure 2) and stator (Figure 3) and rotor (Figure 4) leakage fluxes as a function of their respective currents are considered.

Note: Saturable leakage inductance is not supported in TyphoonSim yet.

Saturation can be parametrized in the following ways:

  1. magnetizing flux vs magnetizing current
  2. magnetizing inductance vs magnetizing current
Figure 1. Nonlinear Model Type: magnetizing flux as a function of magnetizing current, ψm=f(im)
im_vector = [0.0, 0.661428, 0.957988, 1.224002, 1.527775, 1.836498, 2.485056, 3.197537, 4.162313, 5.57879, 8.211348, 12.342407, 22.172606]
psim_vector = [0.0, 0.125279, 0.192308, 0.25488, 0.318532, 0.382499, 0.511695, 0.635623, 0.76725, 0.885866, 1.007544, 1.097936, 1.186302]
Figure 2. Nonlinear Model Type: magnetizing inductance as function of magnetizing current, Lm=f(im)
im_vector = [0.00, 2.50, 5.00, 6.75, 7.50, 8.75, 11.50, 15.00, 20.00, 25.00] 
Lm_vector = [0.00, 0.060648, 0.059024, 0.0561556, 0.054150667, 0.0495085714, 0.0404947826, 0.033212, 0.0265335, 0.0220932]
Figure 3. Nonlinear Model Type: stator leakage inductance as function of stator current, Lls=fs(is)
is_vector = [0.00, 1.88, 5.00, 10.00, 15.00, 20.00, 25.00, 30.00, 35.00, 40.00, 45.00, 50.00, 55.00, 60.00, 65.00, 70.00]
Lls_vector = [0.00, 0.0036010638, 0.00325, 0.002653, 0.00234667, 0.002166, 0.0020576, 0.00196733, 0.0018797142, 0.0018275, 0.001744889, 0.0016786, 0.001624545, 0.001579334, 0.00152030769, 0.0014698571]
Figure 4. Nonlinear Model Type: rotor leakage inductance as function of rotor current, Llr=fr(ir)
ir_vector = [0.00, 1.88, 5.00, 10.00, 15.00, 20.00, 25.00, 30.00, 35.00, 40.00, 45.00, 50.00, 55.00, 60.00, 65.00, 70.00]
Llr_vector = [0.00, 0.0036010638, 0.00325, 0.002653, 0.00234667, 0.002166, 0.0020576, 0.00196733, 0.0018797142, 0.0018275, 0.001744889, 0.0016786, 0.001624545, 0.001579334, 0.00152030769, 0.0014698571]

Ports

  • As (electrical)
    • Stator winding phase A port.
  • Bs (electrical)
    • Stator winding phase B port.
  • Cs (electrical)
    • Stator winding phase C port.
  • Ar (electrical)
    • Rotor winding phase A port.
  • Br (electrical)
    • Rotor winding phase B port.
  • Cr (electrical)
    • Rotor winding phase C port.
  • in
    • Available if Model Load source is selected

Electrical (Tab)

  • Model Type
    • Specifies machine model implementation.
    • Two levels of model fidelity are available - linear and nonlinear.
  • Magnetizing curve type
    • Available if Model Type is set to nonlinear.
    • The following saturation types can be specified - flux vs current and absolute inductance vs current.
  • Saturable leakage inductance
    • Saturable leakage inductance is not supported in TyphoonSim yet.
    • Available if Model Type is set to nonlinear.
    • The following absolute inductance vs current saturations are enabled and must be specified - stator leakage inductance vs stator current, rotor leakage inductance vs rotor current and magnetizing inductance vs magnetizing current.
    • Note: If the Saturable leakage inductance checkbox is checked, the only available saturation type is absolute inductance vs current.
  • Rs
    • Stator phase resistance [Ω]
  • Rr
    • Rotor phase resistance, referred to the stator [Ω]
  • Lls
    • Stator phase leakage inductance [H]
  • Llr
    • Rotor phase leakage inductance, referred to the stator [H]
  • Lm
    • Available if Model Type is set to linear or if Saturable leakage inductance is set to True
    • Magnetizing (mutual) inductance of the motor, referred to the stator [H]
  • m
    • Stator to rotor phase voltage ratio (turns ratio)
    • Default is 1
  • im vector
    • Available if Model Type is set to nonlinear
    • List of instantaneous values of the magnetizing current [A]
  • psim vector
    • Available if Model Type is set to nonlinear - flux vs current.
    • List of instantaneous values of the magnetizing flux [Wb]
  • Lm vector
    • Available if Model Type is set to nonlinear - absolute inductance vs current.
    • List of instantaneous values of the magnetizing inductance [H]
  • is vector
    • Saturable leakage inductance is not supported in TyphoonSim yet.
    • Available if Saturable leakage inductance is set to True
    • List of instantaneous values of the stator current [A]
  • Lls vector
    • Saturable leakage inductance is not supported in TyphoonSim yet.
    • Available if Saturable leakage inductance is set to True
    • List of instantaneous values of the stator leakage inductance [H]
  • ir vector
    • Saturable leakage inductance is not supported in TyphoonSim yet.
    • Available if Saturable leakage inductance is set to True
    • List of instantaneous values of the rotor current [A]
  • Llr vector
    • Saturable leakage inductance is not supported in TyphoonSim yet.
    • Available if Saturable leakage inductance is set to True
    • List of instantaneous values of the rotor leakage inductance [H]

Mechanical (Tab)

  • pms
    • Machine number of pole pairs
  • Star/delta
    • Stator winding connection (star or delta)
    • Star/delta property is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Jm
    • Combined rotor and load moment of inertia [kgm2]
  • Friction coefficient
    • Machine viscous friction coefficient [Nms]
  • Unconstrained mechanical angle
    • Limiting mechanical angle between 0 and 2π

Load (Tab)

  • Load source
    • Load source can be set from SCADA/external or from model (in model case, one signal processing input will appear).
    • In TyphoonSim, if SCADA/external is chosen as Load source, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
  • External/Model load type
    • Load type: torque or speed
  • Load ai pin
    • Load ai pin for external torque/speed command.
    • In real-time/VHIL simulation, Load ai pin represent HIL analog input address for external torque command.
    • In TyphoonSim, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
    • Available only if SCADA/external is set as Load source.
  • Load ai offset
    • Assigned offset value to the input signal representing external torque command.
    • Available only if SCADA/external is set as Load source.
  • Load ai gain
    • Assigned gain value to the input signal representing external torque command.
    • Available only if SCADA/external is set as Load source.

External load enables you to use an analog input signal from a HIL/TyphoonSim (internal virtual IO bus in TyphoonSim) analog channel with the load_ai_pin address as an external torque/speed load, and to assign offset (V) and gain (Nm/V) to the input signal, according to the formula:

T l = l o a d _ a i _ g a i n · ( A I ( l o a d _ a i _ p i n ) + l o a d _ a i _ o f f s e t)

Note: An analog input pin may be overwritten if another component uses the same analog input pin. If another property (from the same or a different component) uses the same analog input pin, the input signal value will be applied to only one of those properties. For instance, if both the load and the resolver carrier signal use the same analog input pin, the signal value will only be applied only to one of these.

Feedback (Tab)

  • Encoder ppr
    • Incremental encoder number of pulses per revolution
  • Encoder Z pulse length
    • Z digital signal pulse length in periods. Can be Quarter length or Full period (default)
  • Resolver pole pairs
    • Resolver number of pole pairs
  • Resolver carrier source
    • Resolver carrier signal source selection (internal or external)
  • Resolver carrier frequency
    • Resolver carrier signal frequency (internal carrier) [Hz]
    • Available only if the Resolver carrier source property is set to internal
  • External resolver carrier source type
    • External resolver carrier signal source type selection (single ended or differential)
    • Available only if the Resolver carrier source property is set to external
  • Resolver ai pin 1
    • Resolver carrier input channel 1 address (external carrier)
    • Available only if the Resolver carrier source property is set to external
    • In TyphoonSim, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
  • Resolver ai pin 2
    • Resolver carrier input channel 2 address (external carrier)
    • Available only if the Resolver carrier source property is set to externaland External resolver carrier source type property is set to differential
    • In TyphoonSim, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
  • Resolver ai offset
    • Resolver carrier input channel offset (external carrier)
    • Available only if the Resolver carrier source property is set to external
    • In TyphoonSim, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
  • Resolver ai gain
    • Resolver carrier input channel gain (external carrier)
    • Available only if the Resolver carrier source property is set to external
    • In TyphoonSim, analog signals are read from the internal virtual IO bus. Hence, if some signal is sent to analog ouput 1, it will appear on analog input 1.
  • Absolute encoder protocol
    • Standardized protocol providing the absolute machine encoder position.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Singleturn bits
    • Number of machine absolute encoder singleturn bits.
    • Available only if Absolute encoder protocol is not None.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Enable multiturn
    • Enables multiturn absolute encoder support.
    • Available only if Absolute encoder protocol is not None.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Multiturn bits
    • Number of machine absolute encoder multiturn bits.
    • Available only if Enable multiturn is checked.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • EnDat/SSI/BiSS clock DI pin
    • Clock digital input pin for the chosen absolute encoder protocol type.
    • Available only if Absolute encoder protocol is not None.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Clock DI logic
    • Clock DI pin logic: active high/active low.
    • Available only if Absolute encoder protocol is not None.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • EnDat data DI pin
    • EnDat data digital input pin.
    • Available only if Absolute encoder protocol is EnDat.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.
  • Data DI logic
    • EnDat data DI pin logic: active high/active low.
    • Available only if Absolute encoder protocol is EnDat.
    • Absolute encoder protocol is ignored in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all.

If an external resolver carrier source is selected, the source signal type can be set as either single ended or differential. The single ended external resolver carrier source type enables use of an analog input signal from the HIL/TyphoonSim (internal virtual IO bus in TyphoonSim) analog channel with the res_ai_pin_1 address as the external carrier source. Additionally, offset (V) and gain (V/V) values can be assigned to the input signal, according to the formula:

r e s _ c a r r _ s r c = r e s _ a i _ g a i n · ( A I ( r e s _ a i _ p i n _ 1 ) + r e s _ a i _ o f f s e t )

The differential external resolver carrier source type enables use of two analog input signals from the HIL/TyphoonSim (internal virtual IO bus in TyphoonSim) analog channels with the res_ai_pin_1 and the res_ai_pin_2 addresses. Analog signals from these HIL/TyphoonSim (internal virtual IO bus in TyphoonSim) analog inputs are subtracted, and the resulting signal is used as the external differential carrier source. Additionally, offset (V) and gain (V/V) values can be assigned to the input signal (similarly to the single ended case), according to the formula:

r e s _ c a r r _ s r c = r e s _ a i _ g a i n · ( ( A I ( r e s _ a i _ p i n _ 1 ) - A I ( r e s _ a i _ p i n _ 2 ) ) + r e s _ a i _ o f f s e t )
Note: In real-time/VHIL simulation, differential external resolver signal support is available from the 2023.1 software version. Only the single ended external resolver option was available in previous software versions.
Note: In order to get a resolver signal with an amplitude of 1 when using an external carrier signal, the offset and the gain should be chosen in such a way that the resolver carrier signal has an amplitude of 1 after the adjustment. As shown in Figure 5, the sinusoidal signal used to generate external resolver carrier source is fed to HIL/TyphoonSim (internal virtual IO bus in TyphoonSim) analog input 1. The analog input signal is scaled in order to get the resolver signals with an amplitude of 1.
Figure 5. Machine resolver signals
Note: An analog input pin may be overwritten if another component uses the same analog input pin. If another property (from the same or a different component) uses the same analog input pin, the input signal value will be applied to only one of those properties. E.g. if both the load and the resolver carrier signal use the same analog input pin, the signal value will be applied only to one of these.

The following expression must hold in order to properly generate the encoder signals:

4 · e n c _ p p r · f m · T s 1
Table 3. Variables in the encoder limitation expression
symbol description
enc_ppr Encoder number of pulses per revolution
fm Rotor mechanical frequency [Hz]
Ts Simulation time step [s]
Figure 6. Machine encoder signals when Full period option is selected
Figure 7. Machine encoder signals when Quarter period option is selected
Note: While the machine speed is positive, the encoder channel B signal leads the encoder channel A signal.
Note: Absolute encoder protocol is not supported on HIL402 (configurations: 1, 2, 3, and 4).
Note: More information about absolute encoder protocol could be found here.

Advanced (Tab)

  • Theta_ab
    • Position of the stationary αβ reference frame, in respect to the stator phase a axis [rad]
  • Field Input
    • Physical quantity applied to the field winding - voltage or current. It refers to the rotor-side.
    • In order for the input field current to be referred to the stator parameter, Ns/Nfd in the Electrical Tab should be set to 3 2

      Note: If field input is defined as current, the field winding equation is removed from the mathematical model. Instead, the field input current is used as the model's input. There is no support for 2 q-axis damper windings with current input as of yet. For linear machine models, you can choose whether to apply voltage or current to the field winding. Nonlinear machine models only allows voltage as a field input.
    • Field Input option is not supported in TyphoonSim. Changing its value will not affect TyphoonSim simulation at all

The machine model output variables (currents, voltages and fluxes) can be observed from a stationary reference frame. There are two widely used approaches in electrical machine modeling: in the first, the alpha axis of the stationary reference frame lags by 90 degrees in regard to the stator phase a axis (used by default, and indicated in a) Figure 8. In the second one, the alpha axis is aligned with the stator phase a axis (indicated in b) Figure 8. The user can select between these two situations.

Figure 8. Selection of a stationary reference frame position: a) Theta_ab= -pi/2; b) Theta_ab= 0

It is important to know the value of Theta_ab when the rotor position feedback is necessary. As an example, if a model uses the mechanical angle as a feedback signal and feeds it to one of the abc to dq, alpha beta to dq, dq to abc, or dq to alpha beta transformation blocks, the same transformation angle offset value should be used in both components to ensure the expected simulation results.

Figure 9. Example of model containing abc to dq transformation component and chosen stationary reference frame position Theta_ab= -pi/2
Note: This property is available only on certain machine components.

Snubber (Tab)

  • Rsnb rotor
    • Rotor snubber resistance value [Ω]
  • Rsnb stator
    • Stator snubber resistance value [Ω]

All machines with current source based circuit interfaces have the Snubber tab in the properties window where the value of snubber resistance can be set. Snubbers are necessary in the cases when an inverter or a contactor is directly connected to the machine terminals. This value can be set to infinite (inf), but it is not recommended when a machine is directly connected to the inverter since there will be a current source directly connected to an open switch. In this case, one of each switch pairs S1 and S2, S3 and S4, and S5 and S6 will be forced closed by the circuit solver in order to avoid the topological conflicts. On the other hand, with finite snubber values, there's always a path for the currents Ia and Ib, so all inverter switches can be open in this case. Circuit representations of this circuit without and with snubber resistors are shown in Figure 10 and Figure 11 respectively. Snubbers are connected across the current sources.

Figure 10. Circuit representation of machine and inverter when all the switches are open without resistors (not recommended)
Figure 11. Circuit representation of machine and inverter when all the switches are open with resistors (recommended)
Note: Snubbers exist only in the machine components that have the current source based circuit interface.
Note: Snubbers are dynamic, which means that the snubber is dynamically added to circuit modes where topological conflicts are detected.

Output (Tab)

This block tab enables a single, vectorized signal output from the machine. The output vector contains selected machine mechanical and/or electrical variables in the same order as listed in this tab.

Note: All machine components have the Execution rate, Electrical torque, Mechanical speed, and Mechanical angle, but the rest of the signals differ from component to component.
  • Execution rate
    • Signal processing output execution rate [s]
  • Electrical torque
    • Machine electrical torque [Nm]
  • Mechanical speed
    • Machine mechanical angular speed [rad/s]
  • Mechanical angle
    • Machine mechanical angle [rad]
  • Stator alpha axis current
    • Alpha axis component of the stator current [A]
  • Stator beta axis current
    • Beta axis component of the stator current [A]
  • Rotor alpha axis current
    • Alpha axis component of the rotor current, referred to the stator [A]
  • Rotor beta axis current
    • Beta axis component of the rotor current, referred to the stator [A]
  • Stator alpha axis flux
    • Alpha axis component of the stator flux [Wb]
  • Stator beta axis flux
    • Beta axis component of the stator flux [Wb]
  • Rotor alpha axis flux
    • Alpha axis component of the rotor flux, referred to the stator [Wb]
  • Rotor beta axis flux
    • Beta axis component of the rotor flux, referred to the stator [Wb]

Extras (Tab)

The Extras tab gives you the opportunity to set Signal Access Management for the component.

Signal visibility is calculated based on the 'signal_access' property and whether or not a parent component in its hierarchy is locked or not. Components that are not contained within locked components expose their signals regardless of the 'signal_access' property. The 'signal_access' property can have one of three values:
  • Public - Components marked as public expose their signals on all levels.
  • Protected - Components marked as protected will hide their signals to components outside of their first locked parent component.
  • Inherit - Components marked as inherit will take the nearest parent 'signal_access' property value that is set to a value other than inherit.