Modelica.Electrical.Machines.BasicMachines.DCMachines

Models of DC machines

Information


This package contains models of DC machines:

Extends from Modelica.Icons.VariantsPackage (Icon for package containing variants).

Package Content

NameDescription
Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_PermanentMagnet DC_PermanentMagnet Permanent magnet DC machine
Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited DC_ElectricalExcited Electrical shunt/separate excited linear DC machine
Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_SeriesExcited DC_SeriesExcited Series excited linear DC machine


Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_PermanentMagnet Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_PermanentMagnet

Permanent magnet DC machine

Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_PermanentMagnet

Information


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.29kg.m2
rotor's moment of inertia 0.15kg.m2
nominal armature voltage 100V
nominal armature current 100A
nominal speed 1425rpm
nominal torque 63.66Nm
nominal mechanical output 9.5kW
efficiency 95.0%
armature resistance 0.05Ohm at reference temperature
reference temperature TaRef 20°C
temperature coefficient alpha20a 01/K
armature inductance 0.0015H
armature nominal temperature TaNominal 20°C
armature operational temperature TaOperational 20°C
Armature resistance resp. inductance include resistance resp. inductance of commutating pole winding and compensation windig, if present.

Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).

Parameters

TypeNameDefaultDescription
InertiaJrJr(start=0.15)Rotor's moment of inertia [kg.m2]
BooleanuseSupportfalseEnable / disable (=fixed stator) support
InertiaJs Stator's moment of inertia [kg.m2]
BooleanuseThermalPortfalseEnable / disable (=fixed temperatures) thermal port
Operational temperatures
TemperatureTaOperational Operational armature temperature [K]
Nominal parameters
VoltageVaNominal Nominal armature voltage [V]
CurrentIaNominal Nominal armature current (>0..Motor, <0..Generator) [A]
AngularVelocitywNominal Nominal speed [rad/s]
TemperatureTaNominal Nominal armature temperature [K]
Nominal resistances and inductances
ResistanceRa Armature resistance at TRef [Ohm]
TemperatureTaRef Reference temperature of armature resistance [K]
LinearTemperatureCoefficient20alpha20a Temperature coefficient of armature resistance [1/K]
InductanceLa Armature inductance [H]
Losses
FrictionParametersfrictionParametersfrictionParameters(wRef=wNom...Friction losses
CoreParameterscoreParameters Armature core losses
StrayLoadParametersstrayLoadParameters Stray load losses
BrushParametersbrushParameters Brush losses

Connectors

TypeNameDescription
Flange_aflangeShaft
Flange_asupportSupport at which the reaction torque is acting
PositivePinpin_apPositive armature pin
NegativePinpin_anNegative armature pin

Modelica definition

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";
equation 
  connect(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;

Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited

Electrical shunt/separate excited linear DC machine

Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_ElectricalExcited

Information


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.29kg.m2
rotor's moment of inertia 0.15kg.m2
nominal armature voltage 100V
nominal armature current 100A
nominal torque 63.66Nm
nominal speed 1425rpm
nominal mechanical output 9.5kW
efficiency 95.0% only armature
efficiency 94.06% including excitation
armature resistance 0.05Ohm at reference temperature
reference temperature TaRef 20°C
temperature coefficient alpha20a 01/K
armature inductance 0.0015H
nominal excitation voltage 100V
nominal excitation current 1A
excitation resistance 100Ohm at reference temperature
reference temperature TeRef 20°C
temperature coefficient alpha20e 01/K
excitation inductance 1H
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
Armature resistance resp. inductance include resistance resp. inductance of commutating pole winding and compensation windig, if present.
Armature current does not cover excitation current of a shunt excitation; in this case total current drawn from the grid = armature current + excitation current.

Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).

Parameters

TypeNameDefaultDescription
InertiaJrJr(start=0.15)Rotor's moment of inertia [kg.m2]
BooleanuseSupportfalseEnable / disable (=fixed stator) support
InertiaJs Stator's moment of inertia [kg.m2]
BooleanuseThermalPortfalseEnable / disable (=fixed temperatures) thermal port
Operational temperatures
TemperatureTaOperational Operational armature temperature [K]
TemperatureTeOperational Operational (shunt) excitation temperature [K]
Nominal parameters
VoltageVaNominal Nominal armature voltage [V]
CurrentIaNominal Nominal armature current (>0..Motor, <0..Generator) [A]
AngularVelocitywNominal Nominal speed [rad/s]
TemperatureTaNominal Nominal armature temperature [K]
Nominal resistances and inductances
ResistanceRa Armature resistance at TRef [Ohm]
TemperatureTaRef Reference temperature of armature resistance [K]
LinearTemperatureCoefficient20alpha20a Temperature coefficient of armature resistance [1/K]
InductanceLa Armature inductance [H]
Losses
FrictionParametersfrictionParametersfrictionParameters(wRef=wNom...Friction losses
CoreParameterscoreParameters Armature core losses
StrayLoadParametersstrayLoadParameters Stray load losses
BrushParametersbrushParameters Brush losses
Excitation
CurrentIeNominal Nominal excitation current [A]
ResistanceRe Field excitation resistance at TRef [Ohm]
TemperatureTeRef Reference temperature of excitation resistance [K]
LinearTemperatureCoefficient20alpha20e Temperature coefficient of excitation resistance [1/K]
InductanceLe Total field excitation inductance [H]
Realsigmae Stray fraction of total excitation inductance

Connectors

TypeNameDescription
Flange_aflangeShaft
Flange_asupportSupport at which the reaction torque is acting
PositivePinpin_apPositive armature pin
NegativePinpin_anNegative armature pin
PositivePinpin_epPositive excitation pin
NegativePinpin_enNegative excitation pin

Modelica definition

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";
equation 
  connect(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;

Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_SeriesExcited Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_SeriesExcited

Series excited linear DC machine

Modelica.Electrical.Machines.BasicMachines.DCMachines.DC_SeriesExcited

Information


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.29kg.m2
rotor's moment of inertia 0.15kg.m2
nominal armature voltage 100V
nominal armature current 100A
nominal torque 63.66Nm
nominal speed 1410rpm
nominal mechanical output 9.4kW
efficiency 94.0% only armature
armature resistance 0.05Ohm at reference temperature
reference temperature TaRef 20°C
temperature coefficient alpha20a 01/K
armature inductance 0.0015H
excitation resistance 0.01Ohm at reference temperature
reference temperature TeRef 20°C
temperature coefficient alpha20e 01/K
excitation inductance 0.0005H
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
Armature resistance resp. inductance include resistance resp. inductance of commutating pole winding and compensation windig, if present.
Parameter nominal armature voltage includes voltage drop of series excitation;
but for output the voltage is splitted into:
va = armature voltage without voltage drop of series excitation
ve = voltage drop of series excitation

Extends from Machines.Interfaces.PartialBasicDCMachine (Partial model for DC machine).

Parameters

TypeNameDefaultDescription
InertiaJrJr(start=0.15)Rotor's moment of inertia [kg.m2]
BooleanuseSupportfalseEnable / disable (=fixed stator) support
InertiaJs Stator's moment of inertia [kg.m2]
BooleanuseThermalPortfalseEnable / disable (=fixed temperatures) thermal port
Operational temperatures
TemperatureTaOperational Operational armature temperature [K]
TemperatureTeOperational Operational series excitation temperature [K]
Nominal parameters
VoltageVaNominal Nominal armature voltage [V]
CurrentIaNominal Nominal armature current (>0..Motor, <0..Generator) [A]
AngularVelocitywNominal.start1410*2*pi/60Nominal speed [rad/s]
TemperatureTaNominal Nominal armature temperature [K]
TemperatureTeNominal Nominal series excitation temperature [K]
Nominal resistances and inductances
ResistanceRa Armature resistance at TRef [Ohm]
TemperatureTaRef Reference temperature of armature resistance [K]
LinearTemperatureCoefficient20alpha20a Temperature coefficient of armature resistance [1/K]
InductanceLa Armature inductance [H]
Losses
FrictionParametersfrictionParametersfrictionParameters(wRef=wNom...Friction losses
CoreParameterscoreParameters Armature core losses
StrayLoadParametersstrayLoadParameters Stray load losses
BrushParametersbrushParameters Brush losses
Excitation
ResistanceRe Series excitation resistance at TRef [Ohm]
TemperatureTeRef Reference temperature of excitation resistance [K]
LinearTemperatureCoefficient20alpha20e Temperature coefficient of excitation resistance [1/K]
InductanceLe Total field excitation inductance [H]
Realsigmae Stray fraction of total excitation inductance

Connectors

TypeNameDescription
Flange_aflangeShaft
Flange_asupportSupport at which the reaction torque is acting
PositivePinpin_apPositive armature pin
NegativePinpin_anNegative armature pin
PositivePinpin_epPositive series excitation pin
NegativePinpin_enNegative series excitation pin

Modelica definition

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";
equation 
  connect(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;

Automatically generated Fri Nov 12 16:28:46 2010.