WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Rate Limiter Dynamic verursacht unerwünschte Spitzen

 

suspectzero
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 23.10.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.02.2018, 17:20     Titel: Rate Limiter Dynamic verursacht unerwünschte Spitzen
  Antworten mit Zitat      
Hallo Forum,

ich möchte in meinem Simulationsmodell den Leistungsgradienten einer Batterie begrenzen und zwar beim Ladevorgang (nur wenn SoC über 50%) bzw. beim Entladevorgang (nur wenn SoC unter 50%). Die Auswertung erfolgt über einen If-Block. Dann gebe ich die Soll-Leistungskurve in einen Rate Limiter und gebe dann die Werte für positive bzw. negative Gradienten an. Funktioniert soweit auch ganz gut jedoch bekomme ich an speziellen Punkten unerwünschtes Verhalten: Wenn beispielsweise der SoC über 50 % ist, wird die Batterie anhand der Soll-Leistungskurve entladen (Gradient nicht begrenzt). An dem Punkt wo die Batterie den SoC von 50% erreicht wird wie gewollt die Ladebegrenzung aktiviert. Jetzt springt das Signal auf 0 um sich dann mit dem gewählten Gradienten anzunähern, obwohl im vorherigen Zeitschritt beide Signale schon gleich waren und der Leistungswert sich nicht geändert hat. Kann ich dem Rate Limiter Ausgang für jeden Zeitschritt einen "Output Value" geben (obwohl der Block evtl. wegen des SoC-Kriteriums nicht aktiv ist), sodass er bei Aktivierung nicht immer von 0 beginnt?

Ich hoffe ich konnte mein Problem ausreichend erklären. Ich hänge noch ein Bild an vielleicht wird es dadurch klarer.

LG

image001.jpg
 Beschreibung:

Download
 Dateiname:  image001.jpg
 Dateigröße:  232.35 KB
 Heruntergeladen:  406 mal
Private Nachricht senden Benutzer-Profile anzeigen


suspectzero
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 23.10.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.02.2018, 14:18     Titel:
  Antworten mit Zitat      
Hallo,

da das Problem glaube ich so recht unverständlich ist, möchte ich versuchen es zu umschreiben:

Ich habe einen if Block mit 3 verschiedenen Fällen. In jedem Fall wird ein Ausgangssignal erzeugt, das mittels eines Merge blocks zusammengeführt wird. An den Punkten, an denen die Bedingung eines anderen Zweiges erfüllt ist, entstehen im Gesamtverlauf natürlich Sprünge, sofern die beiden Signale an der "Schnittstelle" nicht zufällig den selben Wert haben. Ist es möglich den "nicht aktiven" Blöcken irgendwie mitzuteilen, welchen Wert der aktive Block gerade hat und diesen zu übergeben?

Ich hänge noch ein Bild an.

LG

sim1_E_HG.PNG
 Beschreibung:

Download
 Dateiname:  sim1_E_HG.PNG
 Dateigröße:  63.36 KB
 Heruntergeladen:  390 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.