Ankündigung

Einklappen
Keine Ankündigung bisher.

Externe Ladesteuerung mit Kostal Plenticore und BYD + SG-ready + Prognose

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    X1 Externe Ladesteuerung mit Kostal Plenticore und BYD + SG-ready + Prognose

    Nachfolgend möchte ich mein Projekt auf Basis des Gira X1 vorstellen. Es handelt sich dabei nicht um einen eigenständigen Logikbaustein, sondern ich nutze bereits vorhandene universellere Logikbausteine für den X1 mit denen eine sehr einfache Umsetzung möglich ist.

    Nachdem ich meine PV-Anlage - PV-Leistung knapp 7kW, SSW-Ausrichtung, Kostal Plenticore+ G2 7.0 - vor ca. 10 Monaten um einen BYD HVS 7.7 ergänzt hatte, habe ich mich immer mal wieder mit Strategien für ein optimiertes Laden beschäftigt. Ursprünglich verfolgte ich den "üblichen" Ansatz bei 80 - 90 % die Ladeleistung zu reduzieren oder zu begrenzen. Allerdings musste ich schnell feststellen, dass die SOC-Anzeige des BYD-Speichers im realen Betrieb eher eine grobe Schätzung ist und auch mal mehr als 10%-Punkte daneben liegt. Gut zu erkennen daran, wenn der BYD bei Erreichen einer Zellspannung von 3,65V den Ladevorgang beendet, der SOC aber erst langsam von 9...% bis auf 100% hochzählt oder - wenn auch bei mir deutlich seltener - bei 99% scheinbar stehen bleibt obwohl weiter geladen wird, bis dann die Zellspannung 3,65V erreicht, der Ladevorgang endet und die Anzeige auf 100% springt. Mein Ansatz basiert daher auf einer spannungsgesteuerten Reduktion bzw. Abschaltung der Ladeleistung. Erfreulicherweise kann man über Modbus (TCP) via Plenticore einige wichtige Parameter aus der Batterie auslesen u.a.: Batteriespannung, maximale/minimale Zellspannung sowie die maximale Ladeleistung einstellen. Dies nutze ich um die Ladeleistung bis zu einer mittleren Modulspannung von 108,5V allmählich auf 0,1 C zu reduzieren und auf diesen Wert zu begrenzen - im Falle des HVS 7.7 also 800W (Anmerkung: tatsächlich ist nur der Wert für die gesamte Batterie verfügbar, bei 3 Modulen also 325,5V).

    Aktuell teile ich den Ladevorgang in 4 Bereiche:
    • bis zu einem "X-SOC" (s.u.) von 60% konstant hohe Ladeleistung P0 (beim Plenticore G2 max. 0,52 C)
    • zwischen 60 und 80% reduziert sich die Ladeleistung linear auf P1 (ungefähr 0,2 C +/- 30%)
    • oberhalb von 80% reduziert sich die Ladeleistung abhängig von der Batteriespannung weiter bis auf 0,1 C
    • ab einer mittleren Modulspannung von 108,5V bleibt die Ladeleistung konstant 0,1 C bis zum Ladeende
    Die Werte für P0 und P1 sind nicht statisch sondern aus "solarprognose.de" (s.u.) abgeleitet.

    Zur Schonung der Batterie beende ich den Ladevorgang i.d.R. sobald eine Zelle eine Spannung von 3,4V erreicht hat. Aufgrund der vorher einsetzenden Reduktion der Ladeleistung ist die Batterie dann reproduzierbar auf ca. 97% geladen - ohne das eine der Zellen in einen "kritischeren" Spannungsbereich geraten ist! Nur alle 7 Tage oder wenn BYD-SOC und "X-SOC" zu weit auseinander driften, wird bis 100% aufgeladen damit sich der BYD neu kalibriert.

    Ergänzt wird dies durch einen verzögerten Ladebeginn, den ich über den Azimut steuere: Im Hochsommer startet der Ladevorgang so erst nach 11 Uhr, aktuell (Ende August) bereits um 10:30h und im Dezember schon morgens um 8 Uhr. Zur Sicherheit wird, wenn der Ladestand unter einen Mindestwert fallen sollte, bis zu diesem Wert auch vorher aufgeladen.

    Zusätzlich nutze ich noch "solarprognose.de" um die maximale Ladeleistung in Abhängigkeit vom erwarteten Tagesertrag zu berechnen und ggf. zu reduzieren. Dementsprechend erreicht der Speicher die maximale Ladung erst im Laufe des Nachmittags. Er arbeitet daher gleichzeitig "Netz-dienlich" in dem er den Mittagspeak der Netzeinspeisung etwas reduziert, als auch "Batterie-schonend", da der Speicher erst später den maximalen Ladestand erreicht und nur wesentlich kürzere Zeit in diesem Zustand verharren muss.

    Den von mir so genannten "X-SOC" berechne ich anhand der Energie die vom Wechselrichter in den Speicher fließt bzw. wieder entnommen wird. Durch die Beobachtung vieler Lade-/Entladevorgänge - darunter auch solche mit der von BYD für die Kapazitäts-/SOH-Prüfung (State-of-Health) vorgegebenen Leistung von 0,2 C - habe ich empirisch ermittelt wieviel mehr Energie gespeichert werden muss um eine bestimmte Energiemenge entnehmen zu können und wieviel Energie für den Betrieb des Speichers benötigt wird. Eine Besonderheit ist, dass der Plenticore den Speicher auch im Standby mit Energie (2-6W) versorgt, solange ein PV-Überschuss vorhanden ist, also ein Teil des Standby-Verbrauchs auch vom Wechselrichter mit erfasst wird. Gerade beim angenommenen Standby-Verbrauch handelt es sich daher um einen längerfristigen Mittelwert der im Jahresverlauf Schwankungen unterliegt. Hier könnte man ggf. noch etwas nachschärfen, bislang reicht mir die Genauigkeit der SOC-Berechnung allerdings, da nach mehreren Tagen ohnehin eine Ladung auf 100% erfolgt um den BYD-SOC zu re-kalibrieren und gleichzeitig den "X-SOC".

    Selbst nach diversen Entlade-/Ladevorgängen komme ich so bei einem berechneten SOC von 100% +/- max. 1% an wenn der Speicher wieder voll ist. Der BYD-SOC liegt hier selbst beim Ladeende gerne mal um mehr als 10% daneben, was zu einem weiteren unschönen Verhalten führen kann: Da der SOC dann nur langsam hochgezählt wird, kommt es teilweise sogar mehrfach zu erneuten Ladeversuchen, das BMU/BMS treibt in dieser Phase also mehrfach Zellen an die von BYD gesetzte Spannungsgrenze von 3,65 - die Schutzschaltung von BYD greift dabei leider nicht ein, da diese erst ab 97% wirkt, der Speicher aber mit dem Hochzählen zu langsam ist. Meine Schutzmechanismen sind hier insgesamt wirksamer, da eine Nachladung erst später erfolgen kann und dann auch nur bis zu einer maximalen Zellspannung von 3,4V (= ca. 97%).

    Obwohl ich in den letzten Monaten nicht in den Bereich gekommen bin habe ich auch für das untere Ende eine Leistungsreduktion implementiert, die in Abhängigkeit der minimalen Zellspannung die Entladeleistung reduziert und so - so zumindest meine Hoffnung - die Dis-Balance zwischen den Zellen verringert. Ob das funktioniert und ob ggf. noch Anpassungen notwendig sind wird vermutlich erst der Winter zeigen.

    Da mir die SG-ready Ansteuerung meiner Wärmepumpe durch den Plenticore bei wolkigem Himmel etwas zu "nervös" reagierte habe ich noch eine eigene Implementierung geschaffen, die direkt das Relais im Plenticore ansteuert - dies musss dafür im Menue des Plenticore auf "externe Steuerung" umgestellt werden. Eine Änderung der Verkabelung ist dann nicht erforderlich.

    Mein Dank geht generell an alle die in diesem aber auch in anderen Foren Informationen geteilt haben und im Besonderen auch an jene, die tolle Tools zur Verfügung gestellt haben wie z.B.:
    + X1 Logikbausteine: Horst Lehner, Daniel Roessner, Splendid Minds
    + Olli für den BYD-Logger
    + Jannik für solarprognose.de
    ​+ Ulrich und alle Mitwirkenden für solaranzeige.de

    Hinweise:
    1. Das ganze ist stark auf meine Anlage und mein Verbrauchsverhalten zugeschnitten und daher nicht 1:1 auf andere Konstellationen übertragbar. Auch verwende ich bspw. die Werte für Spannungen und Ströme direkt aus den Registern und habe die Formeln entsprechend angepasst, werte also die Skalierungsfaktoren nicht aus. Bei anderen Wechselrichtern (z.B. Plenticore G3) bzw. anderen Softwareversionen könnte dies allerdings zu Fehlern führen.

    2. Die empirisch ermittelten Werte für die Berechnung des "X-SOC" orientieren sich an meinem Verbrauchsverhalten, d.h. der Speicher läuft die meiste Zeit im Teillastbereich. Es gibt zwar einige Lastspitzen bis an die Leistungsgrenze des Plenticore, das ist aber beim G2 max. 0,52 C. Mit anderem Lastprofil oder bei höheren Leistungen könnten die Verluste höher sein, meine X-SOC Berechnung also auch stärker daneben liegen.

    3. Mein BYD hat derzeit den m.W. aktuellen Firmwarestand 3.26 / 3.31 (BMU/BMS). Diese balanced auch wenn der Ladestand nicht bei 100% ist. Mit anderen Versionen könnten die Zellen möglicherweise auseinanderdriften. Zudem sind meine 3 Module gleich alt (ca. 10 Monate). Wie sich die Begrenzung auf eine maximale Zellspannung von 3,4V und nur gelegentliches Laden bis zur BYD Abschaltgrenze von 3,65V bei stark unterschiedlichen Modulen auswirkt vermag ich nicht zu beurteilen. Bei deutlich älteren Modulen kann die Abschaltung bei 3,4V auch zu einem niedrigeren SOC führen. Die Firmware des Plenticore liefert die Zellspannungen aktuell nur mit einer Nachkommastelle skaliert um den Faktor 10, also bspw. 33 (34, 35) für 3,3V (3,4V bzw. 3,5V). Der nächste Schritt wäre also 3,5V was schon deutlich mehr "Stress" für die Zellen bedeuten würde.

    4. Ich nutze - zumindest in den Sommermonaten - den PV-Überschuss um mit dem Heizstab, den ich auf 3kW gedrosselt habe, das Warmwasser zu erwärmen und so die Wärmepumpe zu schonen.

    5. Wer sich bei den Formeln über die Reihenfolge oder auch einige eher überflüssige Abfragen wundert, dies geschieht um die Eingänge in eine halbwegs passende Reihenfolge zu bekommen.


    X1 BatteryControl 2025-08-23.jpg

    X1 Solarprognose 2025-08-24.jpg

    X1 SG-ready.jpg
    Unteres Diagramm: Schaltverhalten des SG-ready Relais - mein Regler in lila und die Kostalfunktion als orangene Punktlinie

    X1 Laderegler-Formeln.pdf




Lädt...
X