Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Name | Description |
---|---|
AIM_SquirrelCage | Asynchronous induction machine with squirrel cage rotor |
AIM_SlipRing | Asynchronous induction machine with slipring rotor |
Model of a three phase asynchronous induction machine with squirrel cage.
Resistance and stray inductance of stator is modeled directly in stator phases, then using space phasor transformation. Resistance and stray inductance of rotor's squirrel cage is modeled in two axis of the rotor-fixed ccordinate system. Both together connected via a stator-fixed AirGap model. The machine models take the following loss effects into account:
Default values for machine's parameters (a realistic example) are:
number of pole pairs p | 2 | |
stator's moment of inertia | 0.29 | kg.m2 |
rotor's moment of inertia | 0.29 | kg.m2 |
nominal frequency fNominal | 50 | Hz |
nominal voltage per phase | 100 | V RMS |
nominal current per phase | 100 | A RMS |
nominal torque | 161.4 | Nm |
nominal speed | 1440.45 | rpm |
nominal mechanical output | 24.346 | kW |
efficiency | 92.7 | % |
power factor | 0.875 | |
stator resistance | 0.03 | Ohm per phase at reference temperature |
reference temperature TsRef | 20 | °C |
temperature coefficient alpha20s | 0 | 1/K |
rotor resistance | 0.04 | Ohm at reference temperature |
reference temperature TrRef | 20 | °C |
temperature coefficient alpha20r | 0 | 1/K |
stator reactance Xs | 3 | Ohm per phase |
rotor reactance Xr | 3 | Ohm |
total stray coefficient sigma | 0.0667 | |
stator operational temperature TsOperational | 20 | °C |
rotor operational temperature TrOperational | 20 | °C |
These values give the following inductances: | ||
stator stray inductance per phase | Xs * (1 - sqrt(1-sigma))/(2*pi*fNominal) | |
rotor stray inductance | Xr * (1 - sqrt(1-sigma))/(2*pi*fNominal) | |
main field inductance per phase | sqrt(Xs*Xr * (1-sigma))/(2*pi*fNominal) |
Extends from Machines.Interfaces.PartialBasicInductionMachine (Partial model for induction machine).
Type | Name | Default | Description |
---|---|---|---|
Integer | p | Number of pole pairs (Integer) | |
Frequency | fsNominal | Nominal frequency [Hz] | |
Inertia | Jr | Jr(start=0.29) | Rotor's moment of inertia [kg.m2] |
Boolean | useSupport | false | Enable / disable (=fixed stator) support |
Inertia | Js | Stator's moment of inertia [kg.m2] | |
Boolean | useThermalPort | false | Enable / disable (=fixed temperatures) thermal port |
Current | idq_ss[2] | airGapS.i_ss | Stator space phasor current / stator fixed frame [A] |
Current | idq_sr[2] | airGapS.i_sr | Stator space phasor current / rotor fixed frame [A] |
Current | idq_rs[2] | airGapS.i_rs | Rotor space phasor current / stator fixed frame [A] |
Current | idq_rr[2] | airGapS.i_rr | Rotor space phasor current / rotor fixed frame [A] |
Operational temperatures | |||
Temperature | TsOperational | Operational temperature of stator resistance [K] | |
Temperature | TrOperational | Operational temperature of rotor resistance [K] | |
Nominal resistances and inductances | |||
Resistance | Rs | Stator resistance per phase at TRef [Ohm] | |
Temperature | TsRef | Reference temperature of stator resistance [K] | |
LinearTemperatureCoefficient20 | alpha20s | Temperature coefficient of stator resistance at 20 degC [1/K] | |
Inductance | Lszero | Lssigma | Stator zero sequence inductance [H] |
Inductance | Lssigma | Stator stray inductance per phase [H] | |
Inductance | Lm | Main field inductance [H] | |
Inductance | Lrsigma | Rotor stray inductance (equivalent three phase winding) [H] | |
Resistance | Rr | Rotor resistance (equivalent three phase winding) at TRef [Ohm] | |
Temperature | TrRef | Reference temperature of rotor resistance [K] | |
LinearTemperatureCoefficient20 | alpha20r | Temperature coefficient of rotor resistance at 20 degC [1/K] | |
Losses | |||
FrictionParameters | frictionParameters | frictionParameters(wRef(star... | Friction losses |
CoreParameters | statorCoreParameters | Stator core losses | |
StrayLoadParameters | strayLoadParameters | Stray load losses |
Type | Name | Description |
---|---|---|
Flange_a | flange | Shaft |
Flange_a | support | Support at which the reaction torque is acting |
PositivePlug | plug_sp | Positive stator plug |
NegativePlug | plug_sn | Negative stator plug |
model AIM_SquirrelCage "Asynchronous induction machine with squirrel cage rotor" extends Machines.Interfaces.PartialBasicInductionMachine( final idq_ss = airGapS.i_ss, final idq_sr = airGapS.i_sr, final idq_rs = airGapS.i_rs, final idq_rr = airGapS.i_rr, redeclare final Machines.Thermal.AsynchronousInductionMachines.ThermalAmbientAIMC thermalAmbient(final Tr=TrOperational), redeclare final Machines.Interfaces.InductionMachines.ThermalPortAIMC thermalPort, redeclare final Machines.Interfaces.InductionMachines.ThermalPortAIMC internalThermalPort, redeclare final Machines.Interfaces.InductionMachines.PowerBalanceAIMC powerBalance(final lossPowerRotorWinding = -squirrelCageR.heatPort.Q_flow, final lossPowerRotorCore = 0), statorCore(final w=statorCoreParameters.wRef));Machines.BasicMachines.Components.AirGapS airGapS( final p=p, final Lm=Lm, final m=m); parameter Modelica.SIunits.Inductance Lm(start=3*sqrt(1 - 0.0667)/(2*pi*fsNominal)) "Main field inductance"; parameter Modelica.SIunits.Inductance Lrsigma(start=3*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)) "Rotor stray inductance (equivalent three phase winding)"; parameter Modelica.SIunits.Resistance Rr(start=0.04) "Rotor resistance (equivalent three phase winding) at TRef"; parameter Modelica.SIunits.Temperature TrRef(start=293.15) "Reference temperature of rotor resistance"; parameter Machines.Thermal.LinearTemperatureCoefficient20 alpha20r( start=0) "Temperature coefficient of rotor resistance at 20 degC"; parameter Modelica.SIunits.Temperature TrOperational(start=293.15) "Operational temperature of rotor resistance";Machines.BasicMachines.Components.SquirrelCage squirrelCageR( final Lrsigma=Lrsigma, final Rr=Rr, final useHeatPort=true, final T_ref=TrRef, final T=TrRef, final alpha=Machines.Thermal.convertAlpha(alpha20r, TrRef)); equationconnect(airGapS.spacePhasor_r, squirrelCageR.spacePhasor_r); connect(airGapS.support, internalSupport); connect(airGapS.flange, inertiaRotor.flange_a); connect(lssigma.spacePhasor_b, airGapS.spacePhasor_s); connect(squirrelCageR.heatPort, internalThermalPort.heatPortRotorWinding); end AIM_SquirrelCage;
Model of a three phase asynchronous induction machine with slipring rotor.
Resistance and stray inductance of stator and rotor are modeled directly in stator respectively rotor phases, then using space phasor transformation and a stator-fixed AirGap model. The machine models take the following loss effects into account:
Default values for machine's parameters (a realistic example) are:
number of pole pairs p | 2 | |
stator's moment of inertia | 0.29 | kg.m2 |
rotor's moment of inertia | 0.29 | kg.m2 |
nominal frequency fNominal | 50 | Hz |
nominal voltage per phase | 100 | V RMS |
nominal current per phase | 100 | A RMS |
nominal torque | 161.4 | Nm |
nominal speed | 1440.45 | rpm |
nominal mechanical output | 24.346 | kW |
efficiency | 92.7 | % |
power factor | 0.875 | |
stator resistance | 0.03 | Ohm per phase at reference temperature |
reference temperature TsRef | 20 | °C |
temperature coefficient alpha20s | 0 | 1/K |
rotor resistance | 0.04 | Ohm per phase at reference temperature |
reference temperature TrRef | 20 | °C |
temperature coefficient alpha20r | 0 | 1/K |
stator reactance Xs | 3 | Ohm per phase |
rotor reactance Xr | 3 | Ohm per phase |
total stray coefficient sigma | 0.0667 | |
turnsRatio | 1 | effective ratio of stator and rotor current |
stator operational temperature TsOperational | 20 | °C |
rotor operational temperature TrOperational | 20 | °C |
These values give the following inductances: | ||
stator stray inductance per phase | Xs * (1 - sqrt(1-sigma))/(2*pi*fNominal) | |
rotor stray inductance | Xr * (1 - sqrt(1-sigma))/(2*pi*fNominal) | |
main field inductance per phase | sqrt(Xs*Xr * (1-sigma))/(2*pi*f) |
Parameter turnsRatio could be obtained from the following relationship
at standstill with open rotor circuit at nominal voltage and nominal frequency,
using the locked-rotor voltage VR, no-load stator current I0 and powerfactor PF0:
turnsRatio * VR = Vs - (Rs + j Xs,sigma) I0
Extends from Machines.Interfaces.PartialBasicInductionMachine (Partial model for induction machine).
Type | Name | Default | Description |
---|---|---|---|
Integer | p | Number of pole pairs (Integer) | |
Frequency | fsNominal | Nominal frequency [Hz] | |
Inertia | Jr | Jr(start=0.29) | Rotor's moment of inertia [kg.m2] |
Boolean | useSupport | false | Enable / disable (=fixed stator) support |
Inertia | Js | Stator's moment of inertia [kg.m2] | |
Boolean | useThermalPort | false | Enable / disable (=fixed temperatures) thermal port |
Current | idq_ss[2] | airGapS.i_ss | Stator space phasor current / stator fixed frame [A] |
Current | idq_sr[2] | airGapS.i_sr | Stator space phasor current / rotor fixed frame [A] |
Current | idq_rs[2] | airGapS.i_rs | Rotor space phasor current / stator fixed frame [A] |
Current | idq_rr[2] | airGapS.i_rr | Rotor space phasor current / rotor fixed frame [A] |
Boolean | useTurnsRatio | Use turnsRatio or calculate from locked-rotor voltage? | |
Real | turnsRatio | Effective number of stator turns / effective number of rotor turns | |
Voltage | VsNominal | Nominal stator voltage per phase [V] | |
Voltage | VrLockedRotor | Locked-rotor voltage per phase [V] | |
Operational temperatures | |||
Temperature | TsOperational | Operational temperature of stator resistance [K] | |
Temperature | TrOperational | Operational temperature of rotor resistance [K] | |
Nominal resistances and inductances | |||
Resistance | Rs | Stator resistance per phase at TRef [Ohm] | |
Temperature | TsRef | Reference temperature of stator resistance [K] | |
LinearTemperatureCoefficient20 | alpha20s | Temperature coefficient of stator resistance at 20 degC [1/K] | |
Inductance | Lszero | Lssigma | Stator zero sequence inductance [H] |
Inductance | Lssigma | Stator stray inductance per phase [H] | |
Inductance | Lm | Main field inductance [H] | |
Inductance | Lrsigma | Rotor stray inductance per phase [H] | |
Inductance | Lrzero | Lrsigma | Rotor zero sequence inductance [H] |
Resistance | Rr | Rotor resistance per phase at TRef [Ohm] | |
Temperature | TrRef | Reference temperature of rotor resistance [K] | |
LinearTemperatureCoefficient20 | alpha20r | Temperature coefficient of rotor resistance at 20 degC [1/K] | |
Losses | |||
FrictionParameters | frictionParameters | frictionParameters(wRef(star... | Friction losses |
CoreParameters | statorCoreParameters | Stator core losses | |
StrayLoadParameters | strayLoadParameters | Stray load losses | |
CoreParameters | rotorCoreParameters | Rotor core losses |
Type | Name | Description |
---|---|---|
Flange_a | flange | Shaft |
Flange_a | support | Support at which the reaction torque is acting |
PositivePlug | plug_sp | Positive stator plug |
NegativePlug | plug_sn | Negative stator plug |
PositivePlug | plug_rp | Positive rotor plug |
NegativePlug | plug_rn | Negative rotor plug |
model AIM_SlipRing "Asynchronous induction machine with slipring rotor" extends Machines.Interfaces.PartialBasicInductionMachine( final idq_ss = airGapS.i_ss, final idq_sr = airGapS.i_sr, final idq_rs = airGapS.i_rs, final idq_rr = airGapS.i_rr, redeclare final Machines.Thermal.AsynchronousInductionMachines.ThermalAmbientAIMS thermalAmbient(final Tr=TrOperational), redeclare final Machines.Interfaces.InductionMachines.ThermalPortAIMS thermalPort, redeclare final Machines.Interfaces.InductionMachines.ThermalPortAIMS internalThermalPort, redeclare final Machines.Interfaces.InductionMachines.PowerBalanceAIMS powerBalance(final lossPowerRotorWinding = -sum(rr.heatPort.Q_flow), final lossPowerRotorCore = -rotorCore.heatPort.Q_flow, final lossPowerBrush = 0, final powerRotor = Machines.SpacePhasors.Functions.activePower(vr, ir)), statorCore(final w=statorCoreParameters.wRef));Machines.BasicMachines.Components.AirGapS airGapS( final p=p, final Lm=Lm, final m=m); parameter Modelica.SIunits.Inductance Lm(start=3*sqrt(1 - 0.0667)/(2*pi*fsNominal)) "Main field inductance"; parameter Modelica.SIunits.Inductance Lrsigma(start=3*(1 - sqrt(1 - 0.0667))/(2*pi*fsNominal)) "Rotor stray inductance per phase"; parameter Modelica.SIunits.Inductance Lrzero=Lrsigma "Rotor zero sequence inductance"; parameter Modelica.SIunits.Resistance Rr(start=0.04) "Rotor resistance per phase at TRef"; parameter Modelica.SIunits.Temperature TrRef(start=293.15) "Reference temperature of rotor resistance"; parameter Machines.Thermal.LinearTemperatureCoefficient20 alpha20r( start=0) "Temperature coefficient of rotor resistance at 20 degC"; parameter Boolean useTurnsRatio(start=true) "Use turnsRatio or calculate from locked-rotor voltage?"; parameter Real turnsRatio(final min=Modelica.Constants.small, start=1) "Effective number of stator turns / effective number of rotor turns"; parameter Modelica.SIunits.Voltage VsNominal(start=100) "Nominal stator voltage per phase"; parameter Modelica.SIunits.Voltage VrLockedRotor(start=100*(2*pi*fsNominal*Lm)/sqrt(Rs^2+(2*pi*fsNominal*(Lm+Lssigma))^2)) "Locked-rotor voltage per phase"; parameter Modelica.SIunits.Temperature TrOperational(start=293.15) "Operational temperature of rotor resistance"; parameter Machines.Losses.CoreParameters rotorCoreParameters( final m=3, PRef=0, VRef(start=1)=1, wRef(start=1)=1) "Rotor core losses"; output Modelica.SIunits.Current i_0_r(stateSelect=StateSelect.prefer) = spacePhasorR.zero.i "Rotor zero-sequence current"; output Modelica.SIunits.Voltage vr[m] = plug_rp.pin.v - plug_rn.pin.v "Rotor instantaneous voltages"; output Modelica.SIunits.Current ir[m] = plug_rp.pin.i "Rotor instantaneous currents"; protected final parameter Real internalTurnsRatio=if useTurnsRatio then turnsRatio else VsNominal/VrLockedRotor*(2*pi*fsNominal*Lm)/sqrt(Rs^2+(2*pi*fsNominal*(Lm+Lssigma))^2);public Machines.SpacePhasors.Components.SpacePhasor spacePhasorR(final turnsRatio=internalTurnsRatio); Modelica.Electrical.MultiPhase.Basic.Resistor rr( final m=m, final R=fill(Rr, m), final T_ref=fill(TrRef,m), final alpha=fill(Machines.Thermal.convertAlpha(alpha20r, TrRef), m), final useHeatPort=true, final T=fill(TrRef,m)); Modelica.Electrical.MultiPhase.Interfaces.PositivePlug plug_rp(final m=m) "Positive rotor plug"; Modelica.Electrical.MultiPhase.Interfaces.NegativePlug plug_rn(final m=m) "Negative rotor plug"; Machines.BasicMachines.Components.Inductor lrsigma(final L=fill(Lrsigma, 2)); Modelica.Electrical.Analog.Basic.Inductor lrzero(final L=Lrzero); Machines.Losses.InductionMachines.Core rotorCore( final coreParameters=rotorCoreParameters, final w=rotorCoreParameters.wRef); equationconnect(airGapS.support, internalSupport); connect(airGapS.flange, inertiaRotor.flange_a); connect(plug_rn, plug_rn); connect(lssigma.spacePhasor_b, airGapS.spacePhasor_s); connect(lrsigma.spacePhasor_b, airGapS.spacePhasor_r); connect(rr.plug_n, spacePhasorR.plug_p); connect(spacePhasorR.plug_n, plug_rn); connect(spacePhasorR.zero,lrzero. p); connect(spacePhasorR.ground,lrzero. n); connect(spacePhasorR.spacePhasor, lrsigma.spacePhasor_a); connect(rotorCore.spacePhasor, lrsigma.spacePhasor_a); connect(rotorCore.heatPort, internalThermalPort.heatPortRotorCore); connect(rr.heatPort, internalThermalPort.heatPortRotorWinding); connect(plug_rp, rr.plug_p); end AIM_SlipRing;