This block implements a squirrel-cage induction machine (SCIM)
...
The SCIM block implements a three-phase induction machine (asynchronous machine) with a squirrel-cage rotor model with resolvers and encoders. The machine can operate in both motoring mode, when the mechanical torque is positive, and generating mode when the mechanical torque is negative.
Model Formulation
Q-d Transformation
The 3-phase to q-d transformation and the inverse used for the model are:
...
Mathblock | ||
---|---|---|
| ||
\left[\begin{array}{c} {V_{a}} \\ {V_{b}} \\ {V_{c}} \end{array}\right]=\left[\begin{array}{ccc} {\cos (\theta)} & {\sin (\theta)} & {1} \\ {\cos \left(\theta-\frac{2 \pi}{3}\right)} & {\sin \left(\theta-\frac{2 \pi}{3}\right)} & {1} \\ {\cos \left(\theta+\frac{2 \pi}{3}\right)} & {\sin \left(\theta+\frac{2 \pi}{3}\right)} & {1} \end{array}\right]\left[\begin{array}{l} {V_{q}} \\ {V_{d}} \\ {V_{0}} \end{array}\right] |
θ
Mathinline | ||
---|---|---|
|
Rotor reference frame: θ=θr,
Stationary reference frame: θ=0,
Synchronous reference frame: θ=θe.
Since the Induction Machine is modeled in rotor reference frame, the θ required for the q-d transformation is the rotor electrical angle (θr).
...
Mathblock | ||
---|---|---|
| ||
A_{d}=T_{s}\left(-R L^{-1}-\Omega\right)+e y eI |
Mathblock | ||
---|---|---|
| ||
B_{d}=T s \times e y eI |
Mathblock | ||
---|---|---|
| ||
\boldsymbol{c}=\boldsymbol{L}^{-1} |
with
Mathinline | ||
---|---|---|
|
and
Mathblock | ||
---|---|---|
| ||
\boldsymbol{u}=\left[\begin{array}{llll} {V_{s q}} & {V_{s d}} & {V_{r q}^{\prime}} & {V_{r d}^{\prime}} \end{array}\right]^{t} |
...
In the model, all the rotor parameters and variables are seen from the stator distinguished by a prime sign. Since the squirrel-cage rotor type is not supplied by an external source, then it is always the case that V'rq=V'rd=0.
The electrical torque can be calculated as follows:
Mathblock | ||
---|---|---|
| ||
T_{e}=\frac{3}{2} p p\left(\psi_{d} i_{q}-\psi_{q} i_{d}\right) |
Mechanical Model
The equation of the mechanical model in torque mode can be expressed as follows:
Mathblock | ||
---|---|---|
| ||
\omega_{m}(t)=a \omega_{m}\left(t-T_{s}\right)+b\left(T_{e}-T_{m}\right) |
...
Mathblock | ||
---|---|---|
| ||
b=60 \frac{T_{s}}{2 \pi J} |
where ωm is the rotor speed, Te is the electromagnetic torque, Tm is the torque command, Fv is the viscous friction coefficient, J is the inertia and Ts the time step. There is a dead-zone implementation with the static friction torque, if the electromagnetic doesn't exceed the static friction torque, the speed remains zero.
In speed mode, the rotor speed is directly set to the speed command ωrc.
Resolver Encoder Model
The equations of the resolver encoder can be expressed as follows:
...
Mathblock | ||
---|---|---|
| ||
\text { sine }=\text { Excitation } \times\left(\cos \left(\theta_{\text {res}}\right) * R_{k_{c c}}+\sin \left(\theta_{\text {res}}\right) * R_{k_{s c}}\right) |
where θres is the resolver angle, θmec is the mechanical angle of the machine, θoffset is the angle offset, Rpp is the Number of pole pairs of the resolver and Rk are the resolver sine cosine gains.
...
Electrical Parameters and Measurements
Symbol | Name | Description | Unit | Type |
---|---|---|---|---|
Rs | Stator resistance | Stator winding resistance of phase a, b, and c | Ω | Edit-input |
Lls | Stator leakage inductance | Stator winding leakage inductance of phase a, b, and c | H | Edit-input |
Rr' | Rotor resistance | Equivalent rotor winding resistance referred to the stator of phase a, b, and c | Ω | Edit-input |
Llr' | Rotor leakage inductance | Equivalent rotor winding leakage inductance referred to the stator of phase a, b, and c | H | Edit-input |
Lm | Mutual inductance | Stator-rotor mutual (magnetizing) inductance of phase a, b, and c | H | Edit-input |
pp | Number of pole pairs | Number of pole pairs | N/A | Edit-input |
is | Stator phase currents | Stator currents measured at phases a, b and c | A | Measurement |
isqd | Stator qd currents | Stator currents in qd frame | A | Measurement |
Φsqd | Stator qd fluxes | Stator fluxes in qd frame | Wb | Measurement |
Vsqd | Stator qd voltages | Stator voltages in qd frame | V | Measurement |
ir' | Rotor phase currents | Rotor equivalent phase a, b, and c currents, referred to the stator | A | Measurement |
irqd | Rotor qd currents | Rotor currents in qd frame, referred to the stator | A | Measurement |
Φrqd' | Rotor qd fluxes | Rotor fluxes in qd frame, referred to the stator | Wb | Measurement |
Rsn | Snubber resistance | Resistances of the snubber on phase A, B and C | Ω | Input |
Csn | Snubber capacitance | Capacitance of the snubber on phase A, B and C | F | Input |
...
Mechanical Parameters and Measurements
Symbol | Name | Description | Unit | Type |
---|---|---|---|---|
J | Rotor inertia | Moment of inertia of the rotor | kg*m2 | Input |
Fv | Viscous friction coefficient | Viscous friction | N*m*s/rad | Input |
Fs | Static friction torque | Static friction | N*m | Input |
ctrl | Mechanical control mode | Control mode of the mechanical model. Has two possible values: speed or torque. In speed mode, the mechanical model is bypassed and the speed command is sent directly. In torque mode, the torque command is used to measure the speed using the mechanical parameters of the machine. | Input | |
T | Torque command | Torque command sent to the mechanical model | N*m | Input |
ωrc | Rotor speed command | Speed command sent to the mechanical model | rpm | Input |
ωr | Rotor speed | Speed of the rotor | rpm | Measurement |
Te | Electromagnetic torque | Torque measured at the rotor | N*m | Measurement |
θ0 | Initial rotor angle | Rotor position at time t = |
...
0 | ° | Input | ||
θ | Rotor angle | Rotor position from 0 to 360 degrees | ° | Measurement |
---|
...
OPAL-RT's resolver models are based off of the following sets of equations:
Mathblock | ||||
---|---|---|---|---|
| ||||
Sine \; Output = [Sin.Sin*sin(pp(\theta_m - \theta_{Offset})) + Sin.Cos * cos(pp * \theta_m - \theta_{Offset}))] * Excitation |
Mathblock | ||||
---|---|---|---|---|
| ||||
Cosine \; Output = [Cos.Sin*sin(pp(\theta_m - \theta_{Offset})) + Cos.Cos * cos(pp * \theta_m - \theta_{Offset}))] * Excitation |
Where Sin.Sin, Sin.Cos, Cos.Sin, and Cos.Cos represent gains that are applied to simulate a non-ideal resolver. To simulate an ideal resolver, set the Sin.Sin and Cos.Cos gains to 1, set the Sin.Cos and Cos.Sin gains to 0, set the pp to 1, and set the θOffset to 0. This results in the following equations:
Mathblock | ||||
---|---|---|---|---|
| ||||
Sine \; Output = sin(\theta_m) * Excitation |
Mathblock | ||||
---|---|---|---|---|
| ||||
Cosine \; Output = cos(\theta_m) * Excitation |
Resolver Parameters and Measurements
Symbol | Name | Description | Unit | Type |
---|---|---|---|---|
Ren | Enable resolver | Whether or not to enable the resolver | N/A | Input |
Rsc | Resolver feedback signals | The two two-phase windings producing a sine and cosine feedback current proportional to the sine and cosine of the angle of the motor | N/A | Measurement |
Rpp | Number of resolver pole pairs | Number of pole pairs of the resolver | N/A | Input |
Rdir | Direction of the sensor rotation | Direction in which the sensor is turning, either clockwise or counterclockwise | N/A | Input |
Rθ | Angle offset Δθ ( Sensor- Rotor ) | Angle offset between the resolver and the rotor position from 0 to 360 degrees | ° | Input |
Rk | Resolver sine cosine gains | The sine/cosine modulation output sine/cosine component amplitude. Default value are 1, 0, 0 and 1 | N/A | Input |
Etype | Excitation source type | The source from which the excitation of the resolver is generated. Can either be AC, which is generated inside the FPGA with the specified frequency, DC, which is generated with a 90° from the rotor and External, which is generated from outside the model | N/A | Input |
Ef | Excitation frequency | Frequency of the excitation when in AC mode | Hz | Input |
Esrc | Excitation source | Source of the external excitation source when in External mode | N/A | Input |
Ets | Excitation time shift | This parameter is used to compensate the time offset between the carrier generation's input in the system and modulated signals' output | s | Input |
...
Encoder Parameters and Measurements
Symbol | Name | Description | Unit | Type |
---|---|---|---|---|
Encen | Enable encoder | Whether or not to enable the encoder | N/A | Input |
QABZ | A B Z encoder signals | A B and Z signals of the encoder | N/A | Measurement |
Qppr | Number of pulses per revolution | Number of pulses in one full revolution of the encoder | N/A | Input |
Qdir | Direction of the sensor rotation | Direction in which the sensor is turning, either A leads B or B leads A | N/A | Input |
θoffset | Angle offset Δθ ( Sensor - Rotor ) | Angle offset between the encoder and the rotor position from 0 to 360 degrees | ° | Input |
...
Visualization of Resolver Encoder Parameters Effects
...
Resolver sine cosine gains affect the sine ( first axe ) and cosine ( second axe ) modulation output. Default values set to 1, 0, 0, 1 make it so the sine modulation has a sine form and the cosine modulation has a cosine form. If set to 0, 1, 1, 0, the sine modulation would have a cosine and the cosine modulation would have a sine form.
...
Excitation frequency, in AC excitation source type, affects the frequency of the carrier signal. We can see the time step highlighted in red. ( Figure 3 is a zoomed in view of Figure 2 )
...
Number of pulses per revolution (Qppr) defines how many times signals A and B pulse between two Z pulses ( one full rotation ).
Direction of the sensor rotation describes if A leads B ( Clockwise ) or if B leads A ( Counterclockwise )
...
Electrical ports
This block has three electrical ports, the three terminals of the stator.