Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,16 @@ The current controller is parameterized according to the absolute optimum.
Further reading:
<a href=\"modelica://Modelica/Resources/Documentation/Electrical/Machines/DriveControl.pdf\">Tutorial at the Modelica Conference 2017</a>
</p>
</html>"),
</html>",
figures = {
Figure(
title = "CurrentControlled DCPM",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentController.u),
Curve(x = time, y = currentController.u_m),
Curve(x = time, y = currentController.y)})})}),
Diagram(coordinateSystem(extent={{-200,-100},{100,100}})));
end CurrentControlledDCPM;
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,17 @@ At time=2.3 s a load torque step is applied, causing the drive to slightly leave
Further reading:
<a href=\"modelica://Modelica/Resources/Documentation/Electrical/Machines/DriveControl.pdf\">Tutorial at the Modelica Conference 2017</a>
</p>
</html>"),
</html>",
figures = {
Figure(
title = "PositionControlled DCPM",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = positionController.u),
Curve(x = time, y = positionController.u_m),
Curve(x = time, y = speedController.u_m),
Curve(x = time, y = currentController.u_m)})})}),
Diagram(coordinateSystem(extent={{-200,-100},{100,100}})));
end PositionControlledDCPM;
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,16 @@ You may try a slewRateLimiter instead of the prefilter to limit the speed rise i
Further reading:
<a href=\"modelica://Modelica/Resources/Documentation/Electrical/Machines/DriveControl.pdf\">Tutorial at the Modelica Conference 2017</a>
</p>
</html>"),
</html>",
figures = {
Figure(
title = "SpeedControlled DCPM",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = speedController.u),
Curve(x = time, y = speedController.u_m),
Curve(x = time, y = currentController.u_m)})})}),
Diagram(coordinateSystem(extent={{-200,-100},{100,100}})));
end SpeedControlledDCPM;
12 changes: 11 additions & 1 deletion Modelica/Electrical/Machines/Examples/DCMachines/DCEE_Start.mo
Original file line number Diff line number Diff line change
Expand Up @@ -104,5 +104,15 @@ Simulate for 2 seconds and plot (versus time):
<li>dcee.ie: excitation current</li>
</ul>
Default machine parameters of model <em>DC_ElectricalExcited</em> are used.
</html>"));
</html>",
figures = {
Figure(
title = "DCEE Start",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcee.ia),
Curve(x = time, y = dcee.tauElectrical),
Curve(x = time, y = dcee.wMechanical)})})}));
end DCEE_Start;
12 changes: 11 additions & 1 deletion Modelica/Electrical/Machines/Examples/DCMachines/DCPM_Cooling.mo
Original file line number Diff line number Diff line change
Expand Up @@ -196,5 +196,15 @@ Default machine parameters are used, but:
<li>Armature reference temperature is set to 80 degC.</li>
<li>Nominal armature temperature is set to 80 degC.</li>
</ul>
</html>"));
</html>",
figures = {
Figure(
title = "DCPM Cooling",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = armature.T),
Curve(x = time, y = core.T),
Curve(x = time, y = cooling.T)})})}));
end DCPM_Cooling;
Original file line number Diff line number Diff line change
Expand Up @@ -121,5 +121,15 @@ Simulate for 2 seconds and plot (versus time):
<li>dcpm.tauElectrical: motor's torque</li>
</ul>
Default machine parameters of model <em>DC_PermanentMagnet</em> are used.
</html>"));
</html>",
figures = {
Figure(
title = "DCPM CurrentControlled",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm.ia),
Curve(x = time, y = dcpm.tauElectrical),
Curve(x = time, y = dcpm.wMechanical)})})}));
end DCPM_CurrentControlled;
13 changes: 12 additions & 1 deletion Modelica/Electrical/Machines/Examples/DCMachines/DCPM_Drive.mo
Original file line number Diff line number Diff line change
Expand Up @@ -158,5 +158,16 @@ which is the case after accelerating the whole drive when angular velocity settl
An additional energy storage between the battery and the inverters (like a large capacitor or a super capacitor) would help to avoid such situations
and to smooth possible current spikes.
</p>
</html>"));
</html>",
figures = {
Figure(
title = "DCPM Drive",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm1.ia),
Curve(x = time, y = dcpm2.ia),
Curve(x = time, y = dcpm1.va),
Curve(x = time, y = dcpm2.va)})})}));
end DCPM_Drive;
Original file line number Diff line number Diff line change
Expand Up @@ -112,5 +112,16 @@ Simulate for 2 seconds and plot (versus time):
<li>dcpm2.wMechanical: motor's speed of quasi-static model</li>
<li>dcpm2.tauElectrical: motor's torque of quasi-static model</li>
</ul>
</html>"));
</html>",
figures = {
Figure(
title = "DCPM QuasiStatic",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm1.ia),
Curve(x = time, y = dcpm2.ia),
Curve(x = time, y = dcpm1.wMechanical),
Curve(x = time, y = dcpm2.wMechanical)})})}));
end DCPM_QuasiStatic;
12 changes: 11 additions & 1 deletion Modelica/Electrical/Machines/Examples/DCMachines/DCPM_Start.mo
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,15 @@ Simulate for 2 seconds and plot (versus time):
<li>dcpm.tauElectrical: motor's torque</li>
</ul>
Default machine parameters of model <em>DC_PermanentMagnet</em> are used.
</html>"));
</html>",
figures = {
Figure(
title = "DCPM Start",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm.ia),
Curve(x = time, y = dcpm.tauElectrical),
Curve(x = time, y = dcpm.wMechanical)})})}));
end DCPM_Start;
Original file line number Diff line number Diff line change
Expand Up @@ -106,5 +106,15 @@ Default machine parameters are used, but:
</ul>
So the machine is at the beginning in cold condition, ending in warm condition
(with the same armature resistance as the unmodified machine).
</html>"));
</html>",
figures = {
Figure(
title = "DCPM Temperature",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm.ia),
Curve(x = time, y = dcpm.tauElectrical),
Curve(x = time, y = dcpm.wMechanical)})})}));
end DCPM_Temperature;
Original file line number Diff line number Diff line change
Expand Up @@ -160,5 +160,16 @@ Anton Haumer, Christian Kral, Hansj&ouml;rg Kapeller, Thomas B&auml;uml, Johanne
<a href=\"https://2009.international.conference.modelica.org/proceedings/pages/papers/0103/0103_FI.pdf\">
The AdvancedMachines Library: Loss Models for Electric Machines</a><br>
Modelica 2009, 7<sup>th</sup> International Modelica Conference
</html>"));
</html>",
figures = {
Figure(
title = "DCPM with Losses",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcpm1.ia),
Curve(x = time, y = dcpm2.ia),
Curve(x = time, y = dcpm1.wMechanical),
Curve(x = time, y = dcpm2.wMechanical)})})}));
end DCPM_withLosses;
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,15 @@ Default machine parameters of model <em>DC_SeriesExcited</em> are used.<br>
<strong>Note:</strong><br>
Since both the field and the armature current are sinusoidal, the waveform of the torque is the square of sine.
Due to the additional inductive voltage drops, output of the motor is lower, compared to the same motor (DCSE_Start) at DC voltage.
</html>"));
</html>",
figures = {
Figure(
title = "DCSE SinglePhase",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcse.ia),
Curve(x = time, y = dcse.tauElectrical),
Curve(x = time, y = dcse.wMechanical)})})}));
end DCSE_SinglePhase;
12 changes: 11 additions & 1 deletion Modelica/Electrical/Machines/Examples/DCMachines/DCSE_Start.mo
Original file line number Diff line number Diff line change
Expand Up @@ -95,5 +95,15 @@ Simulate for 2 seconds and plot (versus time):
<li>dcse.tauElectrical: motor's torque</li>
</ul>
Default machine parameters of model <em>DC_SeriesExcited</em> are used.
</html>"));
</html>",
figures = {
Figure(
title = "DCSE Start",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = dcse.ia),
Curve(x = time, y = dcse.tauElectrical),
Curve(x = time, y = dcse.wMechanical)})})}));
end DCSE_Start;
Original file line number Diff line number Diff line change
Expand Up @@ -193,5 +193,15 @@ but speed of the series excited dc machine rises when load torque is lowered.
Dynamic increase of speed is determined by the sum of inertias.
Load torque of the series excited is not lowered to zero, otherwise speed would rise infinitely.
</p>
</html>"));
</html>",
figures = {
Figure(
title = "DCPM CompareCharacteristics",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = ramp.y, y = dcpm.wMechanical),
Curve(x = ramp.y, y = dcee.wMechanical),
Curve(x = ramp.y, y = dcse.wMechanical)})})}));
end DC_CompareCharacteristics;
Original file line number Diff line number Diff line change
Expand Up @@ -122,5 +122,15 @@ The mechanical load is a constant torque like a conveyor (with regularization ar
</ul>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC Conveyor",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_Conveyor;
Original file line number Diff line number Diff line change
Expand Up @@ -128,5 +128,15 @@ Choose a layout and plot tauElectrical and tauShaft versus wMechanical.
ISBN 978-3-446-45218-3, 2017.</td>
</tr>
</table>
</html>"));
</html>",
figures = {
Figure(
title = "IMC DC Braking",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = imc.wMechanical, y = imc.tauShaft),
Curve(x = imc.wMechanical, y = imc.tauElectrical)},
x = Axis(min = -100, max = 1500, unit = "rpm"))})}));
end IMC_DCBraking;
Original file line number Diff line number Diff line change
Expand Up @@ -116,5 +116,15 @@ finally reaching nominal speed.</p>
<li>aimc.tauElectrical: motor's torque</li>
</ul>
<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC DOL",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_DOL;
Original file line number Diff line number Diff line change
Expand Up @@ -110,5 +110,15 @@ at time tStart a load torque step is applied.</p>
</ul>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC Initialize",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_Initialize;
Original file line number Diff line number Diff line change
Expand Up @@ -118,5 +118,15 @@ and accelerating inertias.<br>At time tStep a load step is applied.</p>
</ul>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC Inverter",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_Inverter;
Original file line number Diff line number Diff line change
Expand Up @@ -210,5 +210,15 @@ This is a model of a complete inverter drive comprising:
<p>Please note: Be patient, two switching devices cause many event iterations which cost performance.</p>
<p>Note that due to the voltage drop the voltage at the machine can't reach the full voltage which means torque reduction.</p>
<p>Default machine parameters are adapted to nominal phase voltage 400 V and nominal phase current 25 A.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC InverterDrive",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = machineCurrent.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_InverterDrive;
Original file line number Diff line number Diff line change
Expand Up @@ -178,5 +178,15 @@ equation
the machine starts from standstill, accelerating inertias against load torque quadratic dependent on speed, finally reaching nominal speed.</p>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC Steinmetz",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_Steinmetz;
Original file line number Diff line number Diff line change
Expand Up @@ -190,5 +190,15 @@ at start time tStart2 the machine is fed directly from the voltage source, final
</ul>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC Transformer",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_Transformer;
Original file line number Diff line number Diff line change
Expand Up @@ -123,5 +123,15 @@ load torque quadratic dependent on speed, finally reaching nominal speed.</p>
</ul>

<p>Default machine parameters are used.</p>
</html>"));
</html>",
figures = {
Figure(
title = "IMC YD",
preferred = true,
plots = {
Plot(
curves = {
Curve(x = time, y = currentQuasiRMSSensor.I),
Curve(x = time, y = aimc.tauElectrical),
Curve(x = time, y = aimc.wMechanical)})})}));
end IMC_YD;
Loading