1 | model TestIndexReduction5
|
---|
2 | extends Modelica.Icons.Example;
|
---|
3 | import Modelica.Constants.pi;
|
---|
4 | import Modelica.Electrical.MultiPhase.Functions.factorY2DC;
|
---|
5 | constant Integer m = 3 "Number of phases";
|
---|
6 | parameter Modelica.SIunits.Voltage VNominal = 400 "Nominal RMS voltage per phase";
|
---|
7 | parameter Modelica.SIunits.Frequency fNominal = 50 "Nominal frequency";
|
---|
8 | parameter Modelica.SIunits.Resistance RGrid = 10e-3 "Grid choke resistance";
|
---|
9 | parameter Modelica.SIunits.Resistance RLoad = 1 "Load resistance";
|
---|
10 | parameter Modelica.SIunits.Inductance LGrid = 500e-6 "Grid choke inductance";
|
---|
11 | parameter Modelica.SIunits.Voltage VDC = factorY2DC(m) * VNominal / sqrt(3) "Theoretical DC voltage";
|
---|
12 | parameter Modelica.SIunits.Capacitance CDC = 5e-3 "DC capacitor";
|
---|
13 | parameter Modelica.SIunits.Torque TLoad = 161.4 "Nominal load torque";
|
---|
14 | parameter Modelica.SIunits.AngularVelocity wLoad = 1440.45 * 2 * pi / 60 "Nominal load speed";
|
---|
15 | parameter Modelica.SIunits.Inertia JLoad = 0.29 "Load's moment of inertia";
|
---|
16 | Modelica.Electrical.MultiPhase.Sources.SineVoltage sineVoltage(final m = m, final phase = -Modelica.Electrical.MultiPhase.Functions.symmetricOrientation(m), final freqHz = fill(fNominal, m), final offset = zeros(m), final startTime = zeros(m), final V = fill(VNominal * sqrt(2 / 3), m)) annotation(
|
---|
17 | Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-80, -30})));
|
---|
18 | Modelica.Electrical.MultiPhase.Basic.Star star(m = m) annotation(
|
---|
19 | Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 270, origin = {-80, -60})));
|
---|
20 | Modelica.Electrical.Analog.Basic.Ground ground annotation(
|
---|
21 | Placement(transformation(origin = {-80, -90}, extent = {{-10, -10}, {10, 10}})));
|
---|
22 | Modelica.Electrical.Machines.Sensors.CurrentQuasiRMSSensor gridCurrent annotation(
|
---|
23 | Placement(transformation(extent = {{-10, 10}, {10, -10}}, rotation = 270, origin = {-80, 0})));
|
---|
24 | Modelica.Electrical.MultiPhase.Basic.Resistor resistor(final m = m, final R = fill(RGrid, m), final T_ref = fill(20, m), final alpha = zeros(m), final T = fill(20, m)) annotation(
|
---|
25 | Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 90, origin = {-80, 30})));
|
---|
26 | Modelica.Electrical.MultiPhase.Basic.Inductor inductor(m = m, final L = fill(LGrid, m)) annotation(
|
---|
27 | Placement(transformation(extent = {{-10, -10}, {10, 10}}, rotation = 90, origin = {-80, 60})));
|
---|
28 | Modelica.Electrical.PowerConverters.ACDC.DiodeBridge2mPulse rectifier annotation(
|
---|
29 | Placement(transformation(extent = {{-68, 60}, {-48, 80}})));
|
---|
30 | Modelica.Electrical.Analog.Sources.ConstantVoltage vSource annotation(
|
---|
31 | Placement(visible = true, transformation(origin = {-26, 68}, extent = {{-10, -10}, {10, 10}}, rotation = -90)));
|
---|
32 | equation
|
---|
33 | connect(sineVoltage.plug_n, star.plug_p) annotation(
|
---|
34 | Line(points = {{-80, -40}, {-80, -50}}, color = {0, 0, 255}));
|
---|
35 | connect(star.pin_n, ground.p) annotation(
|
---|
36 | Line(points = {{-80, -70}, {-80, -80}}, color = {0, 0, 255}));
|
---|
37 | connect(resistor.plug_n, inductor.plug_p) annotation(
|
---|
38 | Line(points = {{-80, 40}, {-80, 50}}, color = {0, 0, 255}));
|
---|
39 | connect(inductor.plug_n, rectifier.ac) annotation(
|
---|
40 | Line(points = {{-80, 70}, {-68, 70}}, color = {0, 0, 255}));
|
---|
41 | connect(resistor.plug_p, gridCurrent.plug_p) annotation(
|
---|
42 | Line(points = {{-80, 20}, {-80, 10}}, color = {0, 0, 255}));
|
---|
43 | connect(gridCurrent.plug_n, sineVoltage.plug_p) annotation(
|
---|
44 | Line(points = {{-80, -10}, {-80, -20}}, color = {0, 0, 255}));
|
---|
45 | connect(rectifier.dc_p, vSource.p) annotation(
|
---|
46 | Line(points = {{-48, 76}, {-42, 76}, {-42, 84}, {-26, 84}, {-26, 78}, {-26, 78}}, color = {0, 0, 255}));
|
---|
47 | connect(vSource.n, rectifier.dc_n) annotation(
|
---|
48 | Line(points = {{-26, 58}, {-42, 58}, {-42, 64}, {-48, 64}, {-48, 64}}, color = {0, 0, 255}));
|
---|
49 | annotation(
|
---|
50 | experiment(StopTime = 0.1, Interval = 5e-05, Tolerance = 1e-06),
|
---|
51 | Documentation(info = "<html>
|
---|
52 | <p>
|
---|
53 | This is a model of a complete inverter drive comprising:
|
---|
54 | </p>
|
---|
55 | <ul>
|
---|
56 | <li>a grid model and a line choke</li>
|
---|
57 | <li><a href=\"modelica://Modelica.Electrical.PowerConverters.ACDC.DiodeBridge2mPulse\">a diode rectifier</a></li>
|
---|
58 | <li>a buffer capacitor</li>
|
---|
59 | <li><a href=\"modelica://Modelica.Electrical.PowerConverters.DCAC.MultiPhase2Level\">a switching inverter</a></li>
|
---|
60 | <li><a href=\"modelica://Modelica.Electrical.PowerConverters.DCAC.Control.PWM\">a pulse width modulation</a></li>
|
---|
61 | <li><a href=\"modelica://Modelica.Electrical.Machines.Utilities.VfController\">a voltage/frequency characteristic</a></li>
|
---|
62 | <li>the reference frequency ramped up</li>
|
---|
63 | <li>an induction machine with squirrel cage</li>
|
---|
64 | <li>a load inertia and quadratic speed dependent load torque (like a fan or pump)</li>
|
---|
65 | </ul>
|
---|
66 | <p>Please note: Be patient, two switching devices cause many event iteratons which cost performance.</p>
|
---|
67 | <p>Note that due to the voltage drop the voltage at the machine can't reach the full voltage which means torque reduction.</p>
|
---|
68 | <p>Default machine parameters are adapted to nominal phase voltage 400 V and nominal phase current 25 A.</p>
|
---|
69 | </html>"),
|
---|
70 | uses(Modelica(version = "3.2.3")));
|
---|
71 | end TestIndexReduction5;
|
---|