Benachrichtigungen
Alles löschen

Diskussion über Stromverteilung und Aggregatoren in parallelen Batteriesystemen

60 Beiträge
9 Benutzer
14 Reactions
1,112 Ansichten
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

@r-l zu diesem Zeitpunk ist der Strom auch bei der anderen Batterie auch bereits fast 0 oder im Promillen- Bereich. Die Grafik zeigt deutlich, dass um 11:22 der Strom bei beiden Akkus kaum mehr lief.

 Der BatteryAggregator lässt, glaube ich, dieses Verhalten ändern, wenn man andersrum zu Gunsten der "hungrigen" Batterie die Schnelle lieber "braten" lassen möchte. In der Beschreibung gibt es den Parameter: "cvlMode": "min_when_balancing" 

Die Energiemenge die die langsame Batterie in diese Zeit aufnehmen ist nicht kriegsentscheidend. Zusätzlich, solange die Sonne scheint, bleiben die Akkus im Float Mode gut bedient.


   
peregrines reacted
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

@ogurgurpv Ich nutze auch "Load_to_SOC_Reset". Das funktioniert für die erste Batterie gut. Die anderen werden dann aber nicht mehr bedient. Ich hab bei Pulquero mal eine Anfrage gemacht.


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

@r-l "Load_to_SOC_Reset" fand ich als ein unglücklicher Workaround, was eigentlich dem Sinn des Treibers widerspricht.

Salop formuliert es ist nicht die Aufgabe des Treibers die Batterie ab und zu ein wenig anbraten lassen, damit des SOC auf 100% gesetzt wird.

Wenn man SmartShunt im System einsetzt, dann ist die SOC vom JK BMS nur so ein Wert zum Dekorations- Zwecken. Er wird nirgend wo im System verwendet.

Es ist sehr gut, dass die neue Version vom JK Inverter diese Funktionalität mitbringt. Wenn das neue BMS auch die CVL und CCL in DBus veröffentlicht, wäre gut zu wissen wie "sanft" oder wie er das rechnet. Da an der Stelle wäre gut etwas mehr Transparenz. (Quelltext auf dem Github z.B.)


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

Veröffentlicht von: @ogurgurpv

Salop formuliert es ist nicht die Aufgabe des Treibers die Batterie ab und zu ein wenig anbraten lassen, damit des SOC auf 100% gesetzt wird.

Das JK-BMS lässt sich ausschließlich durch Over_Voltage_Protection auf 100% setzen. Deshalb hat man es in den Treiber integrieren müssen. Bei meiner Anlage zeigen die BMS ohnehin einen zu hohen SOC an, so dass ich das gar nicht dafür nutzen muss. Eigentlich will ich die Möglichkeit des Zeitplanes nutzen, um das Balancieren bei niedriger Spannung durchzuführen. Dafür habe ich die SOC_Reset_Voltage in Serialbattery auf 3,46 gesetzt. Beim Balancieren werden dann keine 3,5V erreicht, weil Serialbattery die Spannung senkt, um die Zellendifferenz zu begrenzen. Der Strom sinkt dabei auf unter 1A. Als "anbraten" würde ich die niedrige Spannung nicht bezeichnen. Insbesondere wenn das nur alle 14 Tage geplant wird. Die Max_Cell_Voltage habe ich auf 3,41V und die Float_Cell_Voltage auf 3,325V gestellt. Beide solle aber noch etwas runter, weil die Batterien im Sommer fast immer am Anschlag sind. 


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

@r-l ... verstehe die Motivation vollkommen. 

Dennoch aus Systemsicht überwiegen für mich die Nachteile aus solchem Vorgehen:

  • Falls ein SmartShunt eingesetzt wird, werden SOCs aus dem JKBMS und im ggf. BatteryAggregator nirgendwo im VenusOS verwendet. Wozu überhaupt muss man sich um diese Werte kümmern ? Es ist keine sachliche Notwendigkeit, sondern vom Gefühl, es wäre schön, dass der Wert etwas Richtigeres anzeigt.
  • Veröffentlicht von: @r-l

    Das JK-BMS lässt sich ausschließlich durch Over_Voltage_Protection auf 100% setzen

    JK BMS hat an der Stelle einen Fehler (da fehlt die korrekte Funktionalität) verursacht. Die Frage ist warum muss eine Andere Komponente diesen Bug korrigieren ? Die Fehler sollten immer an der Stelle behoben werden wo sie entstehen. Die primäre Ausfgabe des DBus-serialbattery Treibers ist die Übergabe der Daten aus der über die serielle Schnittstelle angeschlossenenen Batterien nach DBus zu übertragen. Das zurücksetzen von SOC ist einfach nicht seine Aufgabe (IMHO). Zusätzlich, mit der intelligenten Berechnung der CVL Werte sorgt der Treiber für Langlebigkeit der Batterie in dem er die Überspannungen der Cellen vermeidet.

     

  • Das Aktivieren der Option "Reset SOC Funktionalität" vernachlässigen wir die Langlebigkeit der Batterie und tauschen Das gegen Einstellung eines Wertes, der nicht gebraucht wird.  

Es kann sein, dass ich mich irre. (keep it simple und never touch a running system )


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

Wie gesagt: Mir ist der angezeigte SOC (fast) egal. Ich benutze den Load_to_SOC_Reset auch nicht zu diesem Zweck. Da ich die Spannungen möglichst niedrig halten möchte, muss ich aber hin und wieder auf mindestens 3,47V laden, damit sich unbalance überhaupt deutlich zeigt und bearbeitet werden kann. Würde man daas nicht machen, würde sich die unbalance so weit aufsummieren, dass schon bei recht geringem SOC eine Zellenspannung auf über 4,45V steigen würde. Das dann regelmäßig und für eine große Zeitspannen. Die Anzahl der Batterien und der Strom im Batteryaggregator stimmen jetzt übrigens. Pulquero hat mich drauf gebracht: Ich hatte den Text ohne geschweifte Klammern in die Datei geschrieben. 

Das eigentliche Problem kann man so sehen: Zwei parallel geschaltete Bleibatterien mit je einem Stromsenssor werden von einem Ladegerät geladen. Ist die Spannung von xxV erreicht und der Strom ist auf einen definierten Wert gefallen, dann darf das Ladgerät noch nicht auf Float umschalten. Es muss auch bei der zweiten Batterie der Strom auf den definierten Wert gefallen sein. Sonst ist diese Batterie nicht richtig geladen. In meinem Fall wäre nur ein der Batterien fertig balanciert.


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

Veröffentlicht von: @r-l

Das eigentliche Problem kann man so sehen: Zwei parallel geschaltete Bleibatterien mit je einem Stromsenssor werden von einem Ladegerät geladen. Ist die Spannung von xxV erreicht und der Strom ist auf einen definierten Wert gefallen, dann darf das Ladgerät noch nicht auf Float umschalten. Es muss auch bei der zweiten Batterie der Strom auf den definierten Wert gefallen sein. Sonst ist diese Batterie nicht richtig geladen. In meinem Fall wäre nur ein der Batterien fertig balanciert.

Korrekt. Der Übergang in den Float Mode sollte nicht nach dem Stromabfall erfolgen. 

Die BatteryAggregator und Dbus-serialbattery sind sehr gute Lösungen. ... werde nich müde an die Jungs den Lob und Dank zu richten.

Wenn ich die Abläufe richtig deute. Das ESS System kontrolliert die Ladegäte (external Control) und teilt an sie die resultierende CVL aus.

Die resultierende CVL kommt (bei einer Baterie) direkt von Batterie CVL (wenn über CAN) oder dem dbus-seirailbattery. In Falle von N- Batterien übernimmt BatteryAggregator die Aufgabe aus mehreren Quellen den System CVL zu aggregieren.

Jede Batterie mit ihrer Treiber- Instanz ist für sich selbst zuständig. Sobald die Bedingungen zum Absolvieren der Absorbtion Phase in einer Batterie erfüllt sind, beginnt der Float Mode. Das wird nach außen durch eigenen CVL und eigenen Status signalisiert.

Bei mehreren Batterien in Parallel startet der Absorption Modus ungefähr zur selben Zeit. In der Absorption Phase sinkt der Strom ab. 

Im dbus-serialbattery gelten die Bedingungen für den Übergang in Float a) das Erreichen und erhalt (Dauer- MAX_VOLTAGE_TIME_SEC) einer bestimmten Spannung und b) dass die Differenz der Spannung zwischen Cellen innerhalb eines Wertes verbleiben.

Je nach Wetterlage, aktuellen Verbrauch und PV - Größe variiert sich in der Relegen das Dauer der Absorption. In der Regel sieht man auf einer Grafik wie lange das dauert.

 

Kann man bei Dir auf der Grafik diese Abschnitte erkennen ? Geht das System tatsächlich in Folat Mode hierüber sobald der Strom an einer Batterie abnimmt ? 

 

 


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

Veröffentlicht von: @ogurgurpv

Geht das System tatsächlich in Folat Mode hierüber sobald der Strom an einer Batterie abnimmt ? 

 

nein, es gibt noch eine Wartezeit, die erst ablaufen soll. Es wurde dazu geraten diese Zeit zu verlängern. Das ist aber nicht die Ursache. Ich habe ein issu bei Pulquero geöffnet: https://github.com/pulquero/BatteryAggregator/issues/56  

Mein Englisch ist nicht ausreichend. Hälst du das für verständlich?


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

An deiner Ladekurve trennen sich die Ladeströme um ca. 7:45Uhr. kann es möglich sein, dass gurgur-2 ab da balanciert hat? Der Ladestrom dürfte zu der Zeit wohl bei 25A pro Batterie gelegen haben. Wenn ungleichmäßige Innenwiderstände plus Übergangswiderstände für genügend Spannung gesorgt haben, könnte das unberechtigter Weise stattgefunden haben. Und es führt am Ende dazu, dass das mit erhöhter Stromaufnahme am Ende der Ladung wieder rückgängig gemacht werden muss. Wie hoch hast du die Startspannung und die Differenzspannung eingestellt?


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

... ich hatte die KI ein wenig angestrebt, sie/es/er schägt gute Formulierung vor:

Ist es nicht der Parameter was hier beschrieben ist ?

https://github.com/pulquero/BatteryAggregator?tab=readme-ov-file#cvl

 

Die Variante der Anfrage:

Der von dir beschriebene Beitrag ist größtenteils verständlich, jedoch könnte die Formulierung etwas klarer und präziser sein, um Missverständnisse zu vermeiden. Der Satz „because I want to reduce the Voltage as much as possible“ scheint etwas deplatziert, da das Hauptziel des Beitrags die Anpassung der Auswahl der Batteriespannung durch den Batteryaggregator ist, nicht unbedingt die Reduzierung der Spannung an sich.

Hier ist eine alternative Formulierung, die etwas klarer sein könnte:


RPi 4 Setup: DVCC? Yes

I am currently using a setup with three 24V/300Ah battery banks equipped with JK-BMSes, all connected in parallel. My primary goal is to ensure that all batteries can complete absorption, balancing, or reach the Load_to_SOC_reset state effectively. Currently, the Batteryaggregator selects the lowest CVL (Charge Voltage Limit) from the batteries, which might not be optimal for my system.

Could it be possible to introduce a switch or setting in the Batteryaggregator that allows for the selection of the highest CVL instead? This change would help in making sure all batteries are adequately managed during their charge cycles.


Diese Formulierung präzisiert, was geändert werden soll (Auswahl der höchsten statt der niedrigsten CVL) und warum diese Änderung benötigt wird (um sicherzustellen, dass alle Batterien ihre Ladezyklen effektiv abschließen können). Es entfernt auch den etwas verwirrenden Teil über das Reduzieren der Spannung, was den Fokus klar auf die Funktionalität des Batteryaggregators legt.

 
 

4


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

Veröffentlicht von: @r-l

An deiner Ladekurve trennen sich die Ladeströme um ca. 7:45Uhr. kann es möglich sein, dass gurgur-2 ab da balanciert hat? Der Ladestrom dürfte zu der Zeit wohl bei 25A pro Batterie gelegen haben. Wenn ungleichmäßige Innenwiderstände plus Übergangswiderstände für genügend Spannung gesorgt haben, könnte das unberechtigter Weise stattgefunden haben. Und es führt am Ende dazu, dass das mit erhöhter Stromaufnahme am Ende der Ladung wieder rückgängig gemacht werden muss. Wie hoch hast du die Startspannung und die Differenzspannung eingestellt?

... ich prüfe, welche Werte sind bei mir eingestellt. Die unterschiedliche Ströme an der Stelle sind erklärbar dass in der Tat die Batterien nicht 100% identische Innenwiderstände haben und dem entsprechend Kapazität. In der Theorie haben sie gleiche Parameter, in der Realität unterscheidet sich jeder Akkupack von den anderen. Das ist auch meiner Sicht unbedenklich.  Die Werte in BMS checke ich heute Abend ...

 


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

Danke, das hört sich viel besser an. Ich hänge es dort mal an!


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

so sehen die für Balance relevanten Einstellungen bei mir aus.


   
AntwortZitat
 R.L
(@r-l)
Batterielecker
Beigetreten: Vor 7 Monaten
Beiträge: 187
 

Deine Start Balance Voltage ist viel zu niedrig eingestellt. Selbst wenn die Batterien schlecht balanciert sind kann da überhaupt keine Spannungdifferrenz entstehen, die allein vom SOC abhängt. Ich habe festgestell, dass es in dem Bereich fast ausschließlich stromabhängige Spannungen von Innenwiderständen und Übergangswiderständen sind. Die fallen natürlich verschieden aus und lassen den Balancer aktiv werden. Insbesondere bei den höheren Entladestömen passiert das auch! Als ich die Grafik genauer angeschaut habe, hab ich sogar auf diesen niedrigen Wert getippt. Bei mir sank der Ladestrom immer ab, sobald eine Batterie voll war. So haben sie sich nie angeglichen. Dann ist mir klar geworden, dass Serialbattery die Spannung senkt um die Differenz der Zellen zu begrenzen. Dabei wurde dann die Zeit erreicht um auf "Float " zu reduzieren. Aber auch eine Größere Zeitspanne war dafür nicht Zielführend, weil der Vorgang nicht durch Entladung unterbrochen werden soll. Und dann kommt die Dämmerung dazwischen. Dann habe ich das mal genauer bei sehr geringen Ladeströmen (wetterbedingt) untersucht als die Batterien annähernd voll waren. Die Spannungen laufen erst bei einer Spannung von 3,47V so deutlich auseinander, dass Spannungen durch Innenwiderstände bei Strömen bis etwa 15A nicht mehr dominieren. Serialbattery versucht, die Zellendifferenz auf unter 10mV zu bringen. Das setzt natürlich voraus, dass schon bei einer Zellendifferenz von 5mV balanciert werden muss. Die hatte ich vorher wegen der stromabhängigen Spannungen wesentlich höher gestellt. Der Balanciervorgang läuft natürlich nicht verlustfrei ab. Deshalb waren die Ladeströme der Batterien am Ende auch so verschieden. Das ist jetzt viel besser geworden.


   
AntwortZitat
(@ogurgurpv)
Vorsichtiger Stromfühler
Beigetreten: Vor 9 Monaten
Beiträge: 47
Themenstarter  

@r-l hier sind viele Dinge durcheinander gemischt.

dass Serialbattery die Spannung senkt um die Differenz der Zellen zu begrenzen

  • dbserial-buttery reduziert CVL im (beim lineal mode) im Absorption, nur wenn er merkt dass die Spannung der einzelnen Zellen dem maximalen eingestellten Wert übersteigt. Nur diese übersteigende Deltas werden aufsummiert (siehe penalty voltage im code) und um diesen Wert wird CVL reduziert. Das ermöglicht eine schonende Absorption für Batterie. 

Sehr gute andere Frage, ob so etwas Ähnliches in den Hersteller BMS Treibers wie z.B. beim neuen JK BMS Inverter umgesetzt ist. Das ist eine Alleinstehendes Merkmal des Treibers. 😍 

  • Start Balance Voltage - hier spielt es keine signifikante Rolle wann der Balancer beginnen soll. Zu einem es ist nicht schädlich und zum anderen, wenn die Zellen gleiche Spannungen haben, dann hat er auch nichts zu tun. Dieser Vorgang von Energie- Mengen, welche zwischen den Zellen geschoben werden steht in keinem Vergleich, wenn die Lasten im Haus angehen oder die Sonne kommt und geht. Das sind zwei absolut unterschiedliche Faktoren.
  • Die Bedingungen, wann die Float Phase beginnt hatten wir oben früher schon genannt. Das ist wichtig zu verstehen und auseinander zu halten. a) bestimmter CVL Level erreicht, b) Zellenspannungdifferenz liegt im vorgegeben Bereich, c) dieser Zustand konnte über vorgesehene Zeit aufrechterhalten werden. Dann beginnt der Übergang ins Float (auch sanfte Absenkung von CVL auf Float Spannungswert um höhe unnötig Ströme zu vermeiden)

Die Spannungen laufen erst bei einer Spannung von 3,47V so deutlich auseinander

Viele von uns begrenzen dem MAX_CELL_VOLTAGE auf ca. 3.45 um die Batterie möglichst lange betreiben zu können. In den Hersteller- Grafen der Spannungen ist es schon ausserhalb des flachen Bereichs. Also das ist schon ein Grenzbereich. Für PV Anwender gibt es keine Notwendigkeit noch höher zu laden. Die Energiemenge, welche dabei ins Akku geladen wird liegt im Promillen- Bereich. Schonung der Batterie ist wichtiger. Im einem Camper oder einem Boot gelten andere Prioritäten und Gegebenheiten. Dort Lebenszeit der Batterie hat ehe sekundäre Bedeutung.

Serialbattery versucht, die Zellendifferenz auf unter 10mV zu bringen

... tut er nicht, er lässt Zeit damit das Balancer tut, oder die Zellen sich ausgleichen, so etwas kann der Treiber auch nicht. Smile /p>

Das Thema ist sehr interessant und spannend. Um Überblick im Auge zu behalten, kann man ein Aspekt auswählen, formulieren was der Umstand ist und was das Ziel ist. Dann strukturiert findet sich die Lösung fast von alleine.


   
AntwortZitat
Seite 2 / 4
Teilen: