Sonntag, 6. Januar 2019

Einfache 10A Sicherung mit Modelica


Bei >10A soll die Sicherung auslösen.


Modell:

Reduziertes und generiertes Programm:
model Sicherung_10A
Modelica.Electrical.Analog.Basic.Ground ground1;
Modelica.Electrical.Analog.Sources.ConstantVoltage constantVoltage1(V = 100);
Modelica.Electrical.Analog.Sensors.CurrentSensor currentSensor1;
Modelica.Electrical.Analog.Ideal.IdealOpeningSwitch idealOpeningSwitch1;
Modelica.Blocks.Logical.RSFlipFlop rSFlipFlop1;
Modelica.Blocks.Sources.Constant Schaltwert(k = 10) ;
Modelica.Blocks.Sources.BooleanExpression Taster_FREI(y = false);
Modelica.Electrical.Analog.Basic.VariableResistor variableResistor1;
Modelica.Blocks.Math.Abs Stromstaerke;
Modelica.Blocks.Sources.Trapezoid trapezoid1(
amplitude = -999, falling = 400, offset = 999 + 1, period = 1000, rising = 400, width = 100);
Modelica.Blocks.Logical.GreaterEqual greaterEqual1;
Modelica.Blocks.Continuous.FirstOrder Traegheit(T = 0.01, k = 1) ;

equation

  connect(Taster_FREI.y, rSFlipFlop1.R) ;
  connect(trapezoid1.y, variableResistor1.R) ;
  connect(variableResistor1.n, ground1.p) ;
  connect(idealOpeningSwitch1.n, variableResistor1.p) ;
  connect(Traegheit.y, greaterEqual1.u1) ;
  connect(Stromstaerke.y, Traegheit.u) ;
  connect(Schaltwert.y, greaterEqual1.u2) ;
  connect(greaterEqual1.y, rSFlipFlop1.S) ;
  connect(currentSensor1.i, Stromstaerke.u) ;
  connect(rSFlipFlop1.Q, idealOpeningSwitch1.control) ;
  connect(currentSensor1.n, idealOpeningSwitch1.p) ;
  connect(constantVoltage1.n, currentSensor1.p) ;
  connect(ground1.p, constantVoltage1.p) ;
  annotation();
end Sicherung_10A;


Ergebnis: