Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).
Name | Description |
---|---|
DC_PermanentMagnet | Permanent magnet DC machine |
DC_ElectricalExcited | Electrical shunt/separate excited linear DC machine |
DC_SeriesExcited | Series excited linear DC machine |
Model of a DC Machine with permanent magnets.
Armature resistance and inductance are modeled directly after the armature pins, then using a AirGapDC model. Permanent magnet excitation is modelled by a constant equivalent excitation current feeding AirGapDC. The machine models take the following loss effects into account:
No saturation is modelled.
Default values for machine's parameters (a realistic example) are:
stator's moment of inertia | 0.29 | kg.m2 |
rotor's moment of inertia | 0.15 | kg.m2 |
nominal armature voltage | 100 | V |
nominal armature current | 100 | A |
nominal speed | 1425 | rpm |
nominal torque | 63.66 | Nm |
nominal mechanical output | 9.5 | kW |
efficiency | 95.0 | % |
armature resistance | 0.05 | Ohm at reference temperature |
reference temperature TaRef | 20 | °C |
temperature coefficient alpha20a | 0 | 1/K |
armature inductance | 0.0015 | H |
armature nominal temperature TaNominal | 20 | °C |
armature operational temperature TaOperational | 20 | °C |
Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).
Type | Name | Default | Description |
---|---|---|---|
Inertia | Jr | Jr(start=0.15) | 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 |
Operational temperatures | |||
Temperature | TaOperational | Operational armature temperature [K] | |
Nominal parameters | |||
Voltage | VaNominal | Nominal armature voltage [V] | |
Current | IaNominal | Nominal armature current (>0..Motor, <0..Generator) [A] | |
AngularVelocity | wNominal | Nominal speed [rad/s] | |
Temperature | TaNominal | Nominal armature temperature [K] | |
Nominal resistances and inductances | |||
Resistance | Ra | Armature resistance at TRef [Ohm] | |
Temperature | TaRef | Reference temperature of armature resistance [K] | |
LinearTemperatureCoefficient20 | alpha20a | Temperature coefficient of armature resistance [1/K] | |
Inductance | La | Armature inductance [H] | |
Losses | |||
FrictionParameters | frictionParameters | frictionParameters(wRef=wNom... | Friction losses |
CoreParameters | coreParameters | Armature core losses | |
StrayLoadParameters | strayLoadParameters | Stray load losses | |
BrushParameters | brushParameters | Brush losses |
Type | Name | Description |
---|---|---|
Flange_a | flange | Shaft |
Flange_a | support | Support at which the reaction torque is acting |
PositivePin | pin_ap | Positive armature pin |
NegativePin | pin_an | Negative armature pin |
model DC_PermanentMagnet "Permanent magnet DC machine" extends Machines.Interfaces.PartialBasicDCMachine( final ViNominal = VaNominal - Machines.Thermal.convertResistance(Ra,TaRef,alpha20a,TaNominal)*IaNominal - Machines.Losses.DCMachines.brushVoltageDrop(brushParameters, IaNominal), final psi_eNominal = Lme*IeNominal, redeclare final Machines.Thermal.DCMachines.ThermalAmbientDCPM thermalAmbient(final Tpm=TpmOperational), redeclare final Machines.Interfaces.DCMachines.ThermalPortDCPM thermalPort, redeclare final Machines.Interfaces.DCMachines.ThermalPortDCPM internalThermalPort, redeclare final Machines.Interfaces.DCMachines.PowerBalanceDCPM powerBalance(final lossPowerPermanentMagnet = 0), core(final w=airGapDC.w)); final parameter Modelica.SIunits.Temperature TpmOperational=293.15 "Operational temperature of permanent magnet";Machines.BasicMachines.Components.AirGapDC airGapDC( final turnsRatio=turnsRatio, final Le=Lme, final quasiStationary=quasiStationary); Modelica.Electrical.Analog.Basic.Ground eGround; Modelica.Electrical.Analog.Sources.ConstantCurrent ie(I=IeNominal); protected constant Modelica.SIunits.Inductance Lme=1 "Field excitation inductance"; constant Modelica.SIunits.Current IeNominal=1 "Equivalent excitation current"; equationconnect(eGround.p, ie.p); connect(airGapDC.pin_ep, ie.n); connect(airGapDC.pin_en, eGround.p); connect(airGapDC.pin_ap, la.n); connect(airGapDC.support, internalSupport); connect(airGapDC.flange, inertiaRotor.flange_a); connect(airGapDC.pin_an, brush.p); end DC_PermanentMagnet;
Model of a DC Machine with electrical shunt or separate excitation.
Armature resistance and inductance are modeled directly after the armature pins, then using a AirGapDC model.
The machine models take the following loss effects into account:
No saturation is modelled.
Shunt or separate excitation is defined by the user's external circuit.
Default values for machine's parameters (a realistic example) are:
stator's moment of inertia | 0.29 | kg.m2 |
rotor's moment of inertia | 0.15 | kg.m2 |
nominal armature voltage | 100 | V |
nominal armature current | 100 | A |
nominal torque | 63.66 | Nm |
nominal speed | 1425 | rpm |
nominal mechanical output | 9.5 | kW |
efficiency | 95.0 | % only armature |
efficiency | 94.06 | % including excitation |
armature resistance | 0.05 | Ohm at reference temperature |
reference temperature TaRef | 20 | °C |
temperature coefficient alpha20a | 0 | 1/K |
armature inductance | 0.0015 | H |
nominal excitation voltage | 100 | V |
nominal excitation current | 1 | A |
excitation resistance | 100 | Ohm at reference temperature |
reference temperature TeRef | 20 | °C |
temperature coefficient alpha20e | 0 | 1/K |
excitation inductance | 1 | H |
stray part of excitation inductance | 0 | |
armature nominal temperature TaNominal | 20 | °C |
armature operational temperature TaOperational | 20 | °C |
(shunt) excitation operational temperature TeOperational | 20 | °C |
Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).
Type | Name | Default | Description |
---|---|---|---|
Inertia | Jr | Jr(start=0.15) | 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 |
Operational temperatures | |||
Temperature | TaOperational | Operational armature temperature [K] | |
Temperature | TeOperational | Operational (shunt) excitation temperature [K] | |
Nominal parameters | |||
Voltage | VaNominal | Nominal armature voltage [V] | |
Current | IaNominal | Nominal armature current (>0..Motor, <0..Generator) [A] | |
AngularVelocity | wNominal | Nominal speed [rad/s] | |
Temperature | TaNominal | Nominal armature temperature [K] | |
Nominal resistances and inductances | |||
Resistance | Ra | Armature resistance at TRef [Ohm] | |
Temperature | TaRef | Reference temperature of armature resistance [K] | |
LinearTemperatureCoefficient20 | alpha20a | Temperature coefficient of armature resistance [1/K] | |
Inductance | La | Armature inductance [H] | |
Losses | |||
FrictionParameters | frictionParameters | frictionParameters(wRef=wNom... | Friction losses |
CoreParameters | coreParameters | Armature core losses | |
StrayLoadParameters | strayLoadParameters | Stray load losses | |
BrushParameters | brushParameters | Brush losses | |
Excitation | |||
Current | IeNominal | Nominal excitation current [A] | |
Resistance | Re | Field excitation resistance at TRef [Ohm] | |
Temperature | TeRef | Reference temperature of excitation resistance [K] | |
LinearTemperatureCoefficient20 | alpha20e | Temperature coefficient of excitation resistance [1/K] | |
Inductance | Le | Total field excitation inductance [H] | |
Real | sigmae | Stray fraction of total excitation inductance |
Type | Name | Description |
---|---|---|
Flange_a | flange | Shaft |
Flange_a | support | Support at which the reaction torque is acting |
PositivePin | pin_ap | Positive armature pin |
NegativePin | pin_an | Negative armature pin |
PositivePin | pin_ep | Positive excitation pin |
NegativePin | pin_en | Negative excitation pin |
model DC_ElectricalExcited "Electrical shunt/separate excited linear DC machine" extends Machines.Interfaces.PartialBasicDCMachine( final ViNominal = VaNominal - Machines.Thermal.convertResistance(Ra,TaRef,alpha20a,TaNominal)*IaNominal - Machines.Losses.DCMachines.brushVoltageDrop(brushParameters, IaNominal), final psi_eNominal = Lme*IeNominal, redeclare final Machines.Thermal.DCMachines.ThermalAmbientDCEE thermalAmbient(final Te=TeOperational), redeclare final Machines.Interfaces.DCMachines.ThermalPortDCEE thermalPort, redeclare final Machines.Interfaces.DCMachines.ThermalPortDCEE internalThermalPort, redeclare final Machines.Interfaces.DCMachines.PowerBalanceDCEE powerBalance( final powerExcitation = ve*ie, final lossPowerExcitation = -re.heatPort.Q_flow), core(final w=airGapDC.w)); parameter Modelica.SIunits.Current IeNominal(start=1) "Nominal excitation current"; parameter Modelica.SIunits.Resistance Re(start=100) "Field excitation resistance at TRef"; parameter Modelica.SIunits.Temperature TeRef(start=293.15) "Reference temperature of excitation resistance"; parameter Machines.Thermal.LinearTemperatureCoefficient20 alpha20e( start=0) "Temperature coefficient of excitation resistance"; parameter Modelica.SIunits.Inductance Le(start=1) "Total field excitation inductance"; parameter Real sigmae(min=0, max=0.99, start=0) "Stray fraction of total excitation inductance"; parameter Modelica.SIunits.Temperature TeOperational(start=293.15) "Operational (shunt) excitation temperature"; output Modelica.SIunits.Voltage ve = pin_ep.v-pin_en.v "Field excitation voltage"; output Modelica.SIunits.Current ie = pin_ep.i "Field excitation current";Machines.BasicMachines.Components.AirGapDC airGapDC( final turnsRatio=turnsRatio, final Le=Lme, final quasiStationary=quasiStationary); Modelica.Electrical.Analog.Basic.Ground ground; Machines.BasicMachines.Components.CompoundDCExcitation compoundDCExcitation(final excitationTurnsRatio= 1); Modelica.Electrical.Analog.Basic.Ground groundSE; Modelica.Electrical.Analog.Basic.Resistor re( final R=Re, final T_ref=TeRef, final alpha=Machines.Thermal.convertAlpha(alpha20e, TeRef), final useHeatPort=true, final T=TeRef); Machines.BasicMachines.Components.InductorDC lesigma(final L=Lesigma, final quasiStationary= quasiStationary); Modelica.Electrical.Analog.Interfaces.PositivePin pin_ep "Positive excitation pin"; Modelica.Electrical.Analog.Interfaces.NegativePin pin_en "Negative excitation pin"; protected final parameter Modelica.SIunits.Inductance Lme = Le*(1 - sigmae) "Main part of excitation inductance"; final parameter Modelica.SIunits.Inductance Lesigma = Le*sigmae "Stray part of excitation inductance"; equationconnect(airGapDC.pin_ap, la.n); connect(airGapDC.support, internalSupport); connect(airGapDC.flange, inertiaRotor.flange_a); connect(re.p, pin_ep); connect(re.n, lesigma.p); connect(ground.p, airGapDC.pin_en); connect(airGapDC.pin_en, compoundDCExcitation.pin_n); connect(airGapDC.pin_ep, compoundDCExcitation.pin_p); connect(groundSE.p, compoundDCExcitation.pin_sen); connect(pin_en, compoundDCExcitation.pin_en); connect(compoundDCExcitation.pin_ep, lesigma.n); connect(airGapDC.pin_an, brush.p); connect(re.heatPort, internalThermalPort.heatPortExcitation); end DC_ElectricalExcited;
Model of a DC Machine with series excitation.
Armature resistance and inductance are modeled directly after the armature pins, then using a AirGapDC model.
The machine models take the following loss effects into account:
No saturation is modelled.
Series excitation has to be connected by the user's external circuit.
Default values for machine's parameters (a realistic example) are:
stator's moment of inertia | 0.29 | kg.m2 |
rotor's moment of inertia | 0.15 | kg.m2 |
nominal armature voltage | 100 | V |
nominal armature current | 100 | A |
nominal torque | 63.66 | Nm |
nominal speed | 1410 | rpm |
nominal mechanical output | 9.4 | kW |
efficiency | 94.0 | % only armature |
armature resistance | 0.05 | Ohm at reference temperature |
reference temperature TaRef | 20 | °C |
temperature coefficient alpha20a | 0 | 1/K |
armature inductance | 0.0015 | H |
excitation resistance | 0.01 | Ohm at reference temperature |
reference temperature TeRef | 20 | °C |
temperature coefficient alpha20e | 0 | 1/K |
excitation inductance | 0.0005 | H |
stray part of excitation inductance | 0 | |
armature nominal temperature TaNominal | 20 | °C |
series excitation nominal temperature TeNominal | 20 | °C |
armature operational temperature TaOperational | 20 | °C |
series excitation operational temperature TeOperational | 20 | °C |
Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).
Type | Name | Default | Description |
---|---|---|---|
Inertia | Jr | Jr(start=0.15) | 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 |
Operational temperatures | |||
Temperature | TaOperational | Operational armature temperature [K] | |
Temperature | TeOperational | Operational series excitation temperature [K] | |
Nominal parameters | |||
Voltage | VaNominal | Nominal armature voltage [V] | |
Current | IaNominal | Nominal armature current (>0..Motor, <0..Generator) [A] | |
AngularVelocity | wNominal.start | 1410*2*pi/60 | Nominal speed [rad/s] |
Temperature | TaNominal | Nominal armature temperature [K] | |
Temperature | TeNominal | Nominal series excitation temperature [K] | |
Nominal resistances and inductances | |||
Resistance | Ra | Armature resistance at TRef [Ohm] | |
Temperature | TaRef | Reference temperature of armature resistance [K] | |
LinearTemperatureCoefficient20 | alpha20a | Temperature coefficient of armature resistance [1/K] | |
Inductance | La | Armature inductance [H] | |
Losses | |||
FrictionParameters | frictionParameters | frictionParameters(wRef=wNom... | Friction losses |
CoreParameters | coreParameters | Armature core losses | |
StrayLoadParameters | strayLoadParameters | Stray load losses | |
BrushParameters | brushParameters | Brush losses | |
Excitation | |||
Resistance | Re | Series excitation resistance at TRef [Ohm] | |
Temperature | TeRef | Reference temperature of excitation resistance [K] | |
LinearTemperatureCoefficient20 | alpha20e | Temperature coefficient of excitation resistance [1/K] | |
Inductance | Le | Total field excitation inductance [H] | |
Real | sigmae | Stray fraction of total excitation inductance |
Type | Name | Description |
---|---|---|
Flange_a | flange | Shaft |
Flange_a | support | Support at which the reaction torque is acting |
PositivePin | pin_ap | Positive armature pin |
NegativePin | pin_an | Negative armature pin |
PositivePin | pin_ep | Positive series excitation pin |
NegativePin | pin_en | Negative series excitation pin |
model DC_SeriesExcited "Series excited linear DC machine" extends Machines.Interfaces.PartialBasicDCMachine(wNominal(start=1410*2*pi/60), final ViNominal = VaNominal - (Machines.Thermal.convertResistance(Ra,TaRef,alpha20a,TaNominal) + Machines.Thermal.convertResistance(Re,TeRef,alpha20e,TeNominal))*IaNominal - Machines.Losses.DCMachines.brushVoltageDrop(brushParameters, IaNominal), final psi_eNominal = Lme*abs(IaNominal), redeclare final Machines.Thermal.DCMachines.ThermalAmbientDCSE thermalAmbient(final Tse=TeOperational), redeclare final Machines.Interfaces.DCMachines.ThermalPortDCSE thermalPort, redeclare final Machines.Interfaces.DCMachines.ThermalPortDCSE internalThermalPort, redeclare final Machines.Interfaces.DCMachines.PowerBalanceDCSE powerBalance( final powerSeriesExcitation = ve*ie, final lossPowerSeriesExcitation = -re.heatPort.Q_flow), core(final w=airGapDC.w)); parameter Modelica.SIunits.Resistance Re(start=0.01) "Series excitation resistance at TRef"; parameter Modelica.SIunits.Temperature TeRef(start=293.15) "Reference temperature of excitation resistance"; parameter Machines.Thermal.LinearTemperatureCoefficient20 alpha20e( start=0) "Temperature coefficient of excitation resistance"; parameter Modelica.SIunits.Inductance Le(start=0.0005) "Total field excitation inductance"; parameter Real sigmae(min=0, max=0.99, start=0) "Stray fraction of total excitation inductance"; parameter Modelica.SIunits.Temperature TeNominal(start=293.15) "Nominal series excitation temperature"; parameter Modelica.SIunits.Temperature TeOperational(start=293.15) "Operational series excitation temperature"; output Modelica.SIunits.Voltage ve = pin_ep.v-pin_en.v "Field excitation voltage"; output Modelica.SIunits.Current ie = pin_ep.i "Field excitation current";Machines.BasicMachines.Components.AirGapDC airGapDC( final turnsRatio=turnsRatio, final Le=Lme, final quasiStationary=quasiStationary); Machines.BasicMachines.Components.CompoundDCExcitation compoundDCExcitation(final excitationTurnsRatio= 1); Modelica.Electrical.Analog.Basic.Ground ground; Modelica.Electrical.Analog.Basic.Ground groundE; Modelica.Electrical.Analog.Basic.Resistor re( final R=Re, final T_ref=TeRef, final alpha=Machines.Thermal.convertAlpha(alpha20e, TeRef), final useHeatPort=true, final T=TeRef); Machines.BasicMachines.Components.InductorDC lesigma(final L=Lesigma, final quasiStationary= quasiStationary); Modelica.Electrical.Analog.Interfaces.PositivePin pin_ep "Positive series excitation pin"; Modelica.Electrical.Analog.Interfaces.NegativePin pin_en "Negative series excitation pin"; protected final parameter Modelica.SIunits.Inductance Lme = Le*(1 - sigmae) "Main part of excitation inductance"; final parameter Modelica.SIunits.Inductance Lesigma = Le*sigmae "Stray part of excitation inductance"; equationconnect(airGapDC.pin_ap, la.n); connect(airGapDC.support, internalSupport); connect(airGapDC.flange, inertiaRotor.flange_a); connect(pin_ep, re.p); connect(re.n, lesigma.p); connect(airGapDC.pin_en, compoundDCExcitation.pin_n); connect(compoundDCExcitation.pin_p, airGapDC.pin_ep); connect(airGapDC.pin_en, ground.p); connect(compoundDCExcitation.pin_sen, pin_en); connect(compoundDCExcitation.pin_sep, lesigma.n); connect(compoundDCExcitation.pin_en, groundE.p); connect(airGapDC.pin_an, brush.p); connect(re.heatPort, internalThermalPort.heatPortSeriesExcitation); end DC_SeriesExcited;