Master-BMS (Adresse 0) über CAN-Bus mit DEYE SUN-12K-SG04LP3-EU Wechselrichter verbunden
Firmware-Version: V19-10
Anwendung: Parallele Entladung und automatische SOC-Kalibrierung
Problem:
Zur Kalibrierung der SOC-Berechnung sollte jedes BMS bis auf 0 % entladen werden – basierend auf Zellenspannung und Kapazität. Leider setzt das Master-BMS seinen SOC auf 0 % zurück, bevor ein Slave-BMS vollständig entladen ist.
Folgen:
Der DEYE-Wechselrichter empfängt über CAN ein SOC von 0 % und stoppt die Entladung komplett.
Der letzte Batteriepack wird nicht vollständig entladen.
Langfristig führt das zu Fehlkalibrierung und Drift in der SOC-Berechnung zwischen den Packs.
Erwartetes / Vorschlagenes Verhalten:
Das Master-BMS sollte das Zurücksetzen seines SOC auf 0 % verzögern, bis alle parallelen BMS ebenfalls 0 % erreicht haben.
Es darf aber gerne seinen eigenen Discharge-FET deaktivieren, wenn Zellenspannung oder Stromgrenzen erreicht sind – nur nicht den SOC voreilig zurücksetzen.
Dieses Verhalten ist bei 100 % SOC korrekt implementiert: Der Master meldet erst 100 %, wenn alle Slaves ebenfalls 100 % haben. Dieselbe Logik sollte bei 0 % angewendet werden.
Vorteile dieser Logik:
Genaue Kalibrierung über den gesamten Lade-/Entladezyklus
ich bin Alexandros und plane gerade eine kleine Inselsolaranlage für unser Grundstück in Griechenland. Wir haben dort Wasser, aber keinen Stromanschluss. Das Grundstück soll vorerst für Ferien und später vielleicht dauerhaft genutzt werden. Wir sind eine Familie mit drei Kindern und wollen möglichst autark sein.
Bisher habe ich 16 EVE 314 Ah Zellen und ein JK BMS PB2A16S30P V19 (4.3) bestellt. Mehr noch nicht, da ich mich gerade erst in das Thema einarbeite.
Meine Fragen: Gibt es ein aktuelles Handbuch für das JK BMS V19 (4.3)? Außerdem würde ich gerne wissen, ob ich direkt ein Schütz oder eine große DC-Sicherung anschließen kann, um den Akku bei Problemen automatisch vom System zu trennen. Ich finde dazu leider keine klaren Infos.
Vielen Dank vorab für eure Hilfe und Erfahrungen,
Alexandros
Hi Alexandros - wollen wir uns dafür mal zusammen/kurzschließen?
Habe selbe Bauteile geordert/schon hier (warte noch auf die Zellen, sollen laut NKON morgen in den Versand gehen).
Hinsichtlich der Sicherung/Schalter - schau dir mal das Volksakku-Video auf YouTube von Offys Werkstatt an, da zeigt er den Aufbau genau. Wenn ich es recht in Errinnerung hab, "einfach" die passende Schmelzsicherung in ein Gehäuse, und das mit dem Schalter in Reihe an BAT+.
(BAT+ -> Schmelzsicherung (ich hab zB für meinen Usecase 125A gewählt) -> Schalter).
Die Victron Schalter werden empfohlen - ich werde allerdings max. 85A tatsächlich im Normalbetrieb dran hängen haben, normalerweise noch weitaus weniger (<40A) - daher war ich mal geizig und hab mir nen Boot-Trennschalter aus der Bucht geordert..
VG Olli
Wenn's nen normaler Trennschalter sein soll, würde ich persönlich eher auf den Blue SEA Modell 6006 gehen. Der ist nochmal massiver als der Victron und kommt auch aus dem Marine-Bereich und auch für 48V zugelassen. Das JK hat doch nen Port, der sich programmieren lässt und damit nen Schütz steuern können sollte?!
Hi Olli,
danke dir für deine Nachricht, „kurzschließen“ passt hier wirklich perfekt, musste direkt schmunzeln. Wir können uns auf jeden Fall gerne mal austauschen. Wie gesagt, ich bin bisher auch noch nicht viel weitergekommen. Bei der Sicherung tendiere ich momentan, nach ein paar Empfehlungen hier im Forum, zu einem NH00-Trenner mit 200A Sicherung. Mein Wechselrichter ist ja ein Multiplus II mit 5kW Dauerleistung und bis zu 9kW Spitze und wie es der Zufall will, muss man genau in so einem Peak-Moment dann abschalten können. Die Videos von Offys Werkstatt habe ich schon durch, hatte da bisher aber eher den Fokus auf das Verspannen der Batterieblöcke gelegt. Das Thema Sicherung und Schalter schaue ich mir dort nochmal gezielt an. Können ja mal per PN Nummern austauschen, dann können wir direkt quatschen. Würde mich freuen, gemeinsam kommt man da einfach schneller voran.
der SOC wird errechnet und erraten und ist damit nur als Hinweis zu nehmen, der Ladezustand auch einer LFP Batterie kann über die Spannung ganz gut beurteilt werden.
Wenn Du nennenswerte Spannungsunterschiede zwischen den Batterien hast dann solltest Du an der Verkabelung arbeiten, wenn eine Batterie bei knapp über 2.5V Spannung und 0.05V höherer Spannung einen nennenswert höheren SOC hat, dann hat dieses BMS halt mehr Pech beim raten gehabt als die anderen BMS.
Die Aussage, dass man den Ladezustand (SoC) bei einer LFP-Batterie „ganz gut über die Spannung beurteilen“ kann, ist so leider nicht zutreffend.
LFP-Zellen haben eine extrem flache Spannungskurve im Bereich von etwa 10–90 % SoC. Die Zellspannung liegt in diesem Bereich konstant zwischen ca. 3.3 V und 3.4 V – selbst bei erheblichen Lade- oder Entladeströmen.
Zusätzlich ist die Zellspannung stark abhängig vom aktuellen Stromfluss (Stichwort: IR-Drop). Schon ein geringer Strom kann eine Spannungsabweichung von mehreren Zehntelvolt verursachen – ohne dass sich der wahre Ladezustand geändert hat.
Daher ist eine SoC-Schätzung auf Basis der Zellspannung bei LFP nur am oberen oder unteren Ende der Skala halbwegs brauchbar – z. B. bei voller Ladung >3.5 V oder bei Tiefentladung <3.0 V.
In der Praxis ist die Coulomb-Zählung (Integration des Stromflusses über die Zeit) die deutlich verlässlichere Methode zur SoC-Bestimmung – sofern sie regelmäßig bei 100 % oder 0 % synchronisiert wird.
Wenn ein BMS bei 2.5 V Zellspannung einen höheren SoC anzeigt als andere, liegt das meist an driftender Integration und fehlender Synchronisierung – nicht an der Spannung selbst.
Kurz gesagt: Die Zellspannung sagt bei LFP-Zellen mitten im SoC-Bereich fast nichts über den Ladezustand aus – und ist zusätzlich stromabhängig. Wer sich auf Spannung verlässt, tappt leicht im Dunkeln.
Damit hast Du Deine Beitrag von oben ja selbst beantwortet.
Deine Annahme das "der letzte Batteriepack nicht vollständig entladen" wird ist Dein Denkfehler und Deine ganze Problembeschreibung ein Nothingburger.
Lade Deine Batterien regelmässig voll (du kennst die nötigen Spannung dafür) und dann entlade sie so weit wie Du das willst, und wenn dabei das eine oder andere BMS sich unterschiedlich verhält, benutze die Spannungsführung vom Deye.
Und vergiss irgend welche SOC Werte zwischen 10 und 90% vor allem wenn die letzte richtige VOLLLADUNG schon länger her ist.
Wie kann man denn die Schnittstelle an der das Display angeschlossen ist wieder richtig einstellen? Ich habe in der Windows GUI bei de UART und CAN (deren Auswahlbox verbuggt ist) auf senden gedrückt und das Display connectet nicht mehr zum BMS. In de App gibt's Uart3 nicht (ist das die fürs Display???)
Beides Jetzt nicht in dem Anspruch aber es gibt im Wiki die sehr verständliche Beschreibung der State-Maschine wie sie bei der v15 und v19 bis zur 19.09 identisch war:
Das hat sich nun mit v19.10 geändert und von JK oder JIkong hab ich noch nichts gesehen.
In dessen Anlehnung und vielleicht einfach mal drauflosgeschrieben würde es mir schon sehr helfen.
Ich schätze du fährst RCV= (3,45Vx16)=55,2V und nach ca. RCV_time = 1h fällt die Spannung auf RFV= (3,35Vx16)=53,6V
Hieraus seh ich noch keinen Unterschied zu einer vorherigen FW. Hier hat sich doch bzgl. RFV_Time etwas geändert, oder? Die State-Machine arbeitet anders, aber wie?
Wenn ich das so mit meiner 19.07 oder 19.05 oder auch vorher der 15.41 vergleiche gibt es auf der Darstellung erkennbar keinen Unterschied.
Stattdessen eine SOC Wert auf den abgefallen werden muss bevor ein rebulk statt findet.
Deshalb sah es in dem ersten Screenshoot für dich so aus als ob es ok wäre... Nein das war buggy... Spannung fiel auf 54,27 V und der Rebulk startete wieder, so in etwa im 5 Minuten Takt.
19.10 tut wie es vorgesehen ist...
RCV erreicht - RCV Timer läuft - abgelaufen, check 100%V - ok then set SOC 100%, lower to RFV - wait bis SOC um Wert X gesunken - then rebulk to RCV...
Besser oder schlechter, kommt auf das scenario an.
Danke Dir! Mal in Ruhe überlegen was das für mich bedeutet.
Der Wert X des SOC bevor es zum rebulk kommt ist nun einstellbar, wie ich verstanden hab.
Heißt die zeitabhängigkeit zum Rebulk ist nun raus. Es macht natürlich nur Sinn den Wert X zum Rebulk auf einen Wert kleiner RFV setzen, aber wie klein mal überlegen.
Läd man seinen Spieicher täglich im nennenswerten Bereich ist das wohl weniger kritisch da mal einen zu setzen der eh täglich erreicht wird, wenn man ein tägliches Rebulk haben möchte.
Ist der Wert aber recht gering eingestellt und der Speicher für den Tagesbedarf eher zu groß dimensioniert, dürfte es nie zum Rebulk kommen. Ob dass dann langfristig auch wegen unzureichendem Balancing zu Problem führt, würde ich spontan so sehen.
Worauf hast den Wert X gesetzt? Ich denke bei täglichem Durchlauf dieser State-Maschine z.B daran ihn einfach auf 90% zu setzen.
Ist ja auch höchst spannend was nun bei einer Parallelschaltung von v15 und v19 passiert. Bei vollem Speicher geht das v15 in Rebulk nach Ablauf der RCV_Time und das v19 bleibt auf RFV da der SOC vielleicht nicht die Rebulkgrenze genommen hat. Gar nicht empfehlenswert, wie ich finde.
Kurz noch X ist als % Wert zu verstehen um den der 100% SOC sinken muss bevor von RFV (float) auf RCV (bulk) umgestellt wird.
X=5 d.h. SOC muss unter 95% für einen rebulk...
Damit kannst du einfacher lange Zeiten realisieren ohne Situationen zu verpassen in denen doch mal mehr Kapazität gebraucht wurde. Bei einem starren Timer kannste dem nicht Rechnung trage....
Ich habe insgesamt 6 Akkus. Das V19.10 ist mein Master BMS und die ander5 haben die neuste Version von V15.
Jetzt habe ich festgestellt, dass wenn die Bulk Phase rum ist und alle Böcke 55,2V haben und Float beginnt und ich das Entladen am Master v19.10 ausschalte die anderen Böcke vom Victron System folgerichtig entladen werden aber das Victron System bekommt nur die 55,2V vom Master BMS gemeldet. Somit würden die anderen 5 komplett entladen.
Das gleiche habe ich festgestellt, wenn die Böcke unterschiedliche Spannungen oder SoC haben, wird im Display und im Victron System nicht mehr der Durchschnitt aller 6 angezeigt, sondern nur die Werte vom Master V19.10.
Hat diese Problem auch schon jemand beobachtet oder was mache ich falsch.? Hat vorher mit Version V19.05 funktioniert.