Ticket #5517: ES1a.mo

File ES1a.mo, 6.7 KB (added by massimo ceraolo, 7 years ago)
Line 
1model ES1a "Versione a.a. 15-16"
2 //La versione senza st contiene miglioramenti vari da usare dall'a.a. 16-17.
3 // Euro symbol to force UTF-8 writing: €
4 import Modelica.Constants.pi;
5 Modelica.Electrical.Machines.Utilities.TerminalBox terminalBox annotation(
6 Placement(visible = true, transformation(extent = {{-18, 12}, {2, 32}}, rotation = 0)));
7 Modelica.Electrical.Machines.BasicMachines.AsynchronousInductionMachines.AIM_SquirrelCage aimc annotation(
8 Placement(visible = true, transformation(extent = {{-18, -18}, {2, 2}}, rotation = 0)));
9 Modelica.Electrical.Analog.Basic.Ground ground annotation(
10 Placement(visible = true, transformation(extent = {{-112, -32}, {-92, -12}}, rotation = 0)));
11 Modelica.Electrical.MultiPhase.Basic.Star star annotation(
12 Placement(visible = true, transformation(origin = {-102, 12}, extent = {{-10, -10}, {10, 10}}, rotation = 270)));
13 Modelica.Mechanics.Rotational.Sources.Torque torque annotation(
14 Placement(visible = true, transformation(origin = {78, -8}, extent = {{-10, -10}, {10, 10}}, rotation = 180)));
15 Modelica.Blocks.Sources.Constant tauLoad(k = -150) annotation(
16 Placement(visible = true, transformation(origin = {109, -9}, extent = {{-9, -9}, {9, 9}}, rotation = 180)));
17 stAsmaPkg1819.Support.AronSensor pUp annotation(
18 Placement(visible = true, transformation(extent = {{-60, 18}, {-42, 36}}, rotation = 0)));
19 Modelica.Electrical.MultiPhase.Sources.SignalVoltage signalVoltage annotation(
20 Placement(visible = true, transformation(origin = {-78, 27}, extent = {{-10, -9}, {10, 9}}, rotation = 180)));
21 Modelica.Mechanics.Rotational.Sensors.SpeedSensor speedSensor annotation(
22 Placement(visible = true, transformation(origin = {61, -27}, extent = {{-7, -7}, {7, 7}}, rotation = 270)));
23 Modelica.Electrical.MultiPhase.Sensors.CurrentSensor iUp annotation(
24 Placement(visible = true, transformation(origin = {-30, 28}, extent = {{-8, -8}, {8, 8}}, rotation = 0)));
25 Modelica.Mechanics.Rotational.Components.Inertia inertia(J = 0.5) annotation(
26 Placement(visible = true, transformation(extent = {{34, -18}, {54, 2}}, rotation = 0)));
27 Modelica.Blocks.Sources.Constant tauRef(k = 230) annotation(
28 Placement(visible = true, transformation(origin = {-14, -42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
29 stAsmaPkg1819.Support.GenSines actuator annotation(
30 Placement(visible = true, transformation(extent = {{-62, -52}, {-84, -32}}, rotation = 0)));
31 Modelica.Mechanics.Rotational.Sensors.PowerSensor pMecc annotation(
32 Placement(transformation(extent = {{10, -18}, {30, 2}})));
33 stAsmaPkg1819.Support.ControlLogic logic(Rs = aimc.Rs, uBase = 100 * sqrt(3), iMax = 150, wmMax = 314.16, pp = aimc.p, Rr = aimc.Rr, Lstray = aimc.Lrsigma + aimc.Lssigma) annotation(
34 Placement(transformation(extent = {{-32, -52}, {-52, -32}})));
35equation
36 connect(tauLoad.y, torque.tau) annotation(
37 Line(points = {{99.1, -9}, {98, -9}, {98, -8}, {90, -8}}, color = {0, 0, 127}));
38 connect(inertia.flange_b, torque.flange) annotation(
39 Line(points = {{54, -8}, {62, -8}, {68, -8}}));
40 connect(speedSensor.flange, torque.flange) annotation(
41 Line(points = {{61, -20}, {61, -14}, {60, -14}, {60, -8}, {68, -8}}));
42 connect(iUp.plug_n, terminalBox.plugSupply) annotation(
43 Line(points = {{-22, 28}, {-22, 28}, {-8, 28}, {-8, 18}}, color = {0, 0, 255}));
44 connect(terminalBox.plug_sp, aimc.plug_sp) annotation(
45 Line(points = {{-2, 16}, {-2, 16}, {-2, 0}, {-2, 2}}, color = {0, 0, 255}));
46 connect(terminalBox.plug_sn, aimc.plug_sn) annotation(
47 Line(points = {{-14, 16}, {-14, 2}}, color = {0, 0, 255}));
48 connect(ground.p, star.pin_n) annotation(
49 Line(points = {{-102, -12}, {-102, 2}}, color = {0, 0, 255}));
50 connect(iUp.plug_p, pUp.nc) annotation(
51 Line(points = {{-38, 28}, {-42, 28}, {-42, 27}}, color = {0, 0, 255}));
52 connect(actuator.U, signalVoltage.v) annotation(
53 Line(points = {{-85.1, -42}, {-88, -42}, {-88, -14}, {-88, 14}, {-78, 14}, {-78, 20.7}}, color = {0, 0, 127}));
54 connect(pUp.pc, signalVoltage.plug_p) annotation(
55 Line(points = {{-60, 27}, {-68, 27}}, color = {0, 0, 255}));
56 connect(signalVoltage.plug_n, star.plug_p) annotation(
57 Line(points = {{-88, 27}, {-102, 27}, {-102, 22}}, color = {0, 0, 255}));
58 connect(inertia.flange_a, pMecc.flange_b) annotation(
59 Line(points = {{34, -8}, {32, -8}, {30, -8}}, color = {0, 0, 0}));
60 connect(aimc.flange, pMecc.flange_a) annotation(
61 Line(points = {{2, -8}, {6, -8}, {10, -8}}, color = {0, 0, 0}));
62 connect(logic.Westar, actuator.Westar) annotation(
63 Line(points = {{-53, -36}, {-56, -36}, {-56, -36.1}, {-60.57, -36.1}}, color = {0, 0, 127}));
64 connect(logic.Ustar, actuator.Ustar) annotation(
65 Line(points = {{-53, -48}, {-56, -48}, {-56, -47.9}, {-60.57, -47.9}}, color = {0, 0, 127}));
66 connect(logic.Tstar, tauRef.y) annotation(
67 Line(points = {{-30.7, -42.1}, {-28.35, -42.1}, {-28.35, -42}, {-25, -42}}, color = {0, 0, 127}));
68 connect(logic.Wm, speedSensor.w) annotation(
69 Line(points = {{-42.1, -53.3}, {-42.1, -60}, {61, -60}, {61, -34.7}}, color = {0, 0, 127}));
70 annotation(
71 experimentSetupOutput,
72 Documentation(info = "<html>
73<p>This system simulates variable-frequency start-up of an asyncronous motor.</p>
74<p>Two different sources for the machine re compared.</p>
75<p>The motor supply is constituted by a three-phase system of quasi-sinusoidal shapes, created according to the following equations:</p>
76<p>WEl=WMecc*PolePairs+DeltaWEl</p>
77<p>U=U0+(Un-U0)*WEl/WNom</p>
78<p>where:</p>
79<p><ul>
80<li>U0, Un U, are initial, nominal actual voltage amplitudes</li>
81<li>WMecc, WEl, are machine, mechanical and supply, electrical angular speeds</li>
82<li>PolePairs are the machine pole pairs</li>
83<li>delta WEl is a fixed parameter during the simulation, except when the final speed is reached</li>
84</ul></p>
85<p>When the final speed is reached, the feeding frequenccy and voltage are kept constant (no flux weaking simulated)</p>
86</html>"),
87 experimentSetupOutput,
88 Icon(coordinateSystem(preserveAspectRatio = true, extent = {{-100, -100}, {100, 100}}), graphics = {Ellipse(extent = {{-100, 100}, {100, -100}}, lineColor = {95, 95, 95}, fillColor = {255, 255, 255}, fillPattern = FillPattern.Solid), Polygon(points = {{-36, 60}, {64, 0}, {-36, -60}, {-36, 60}}, lineColor = {0, 0, 255}, pattern = LinePattern.None, fillColor = {95, 95, 95}, fillPattern = FillPattern.Solid)}),
89 Diagram(coordinateSystem(extent = {{-120, -80}, {120, 60}}, preserveAspectRatio = false, initialScale = 0.1), graphics = {Text(extent = {{20, 44}, {98, 30}}, lineColor = {238, 46, 47}, textString = "richiede il caricamento di
90stAsmaPkg")}),
91 experiment(StartTime = 0, StopTime = 3, Tolerance = 0.0001, Interval = 0.0006));
92end ES1a;