hoylabs / OpenDTU-OnBattery

Software for ESP32 to talk to Hoymiles/TSUN/Solenso Inverters, VE.Direct devices, battery management systems, and related peripherals
GNU General Public License v2.0
312 stars 66 forks source link

[Request] min/max Zellenspannung berücksichtigen beim Laden & Entladen #870

Open Linos88 opened 7 months ago

Linos88 commented 7 months ago

Is your feature request related to a problem? Please describe.

Mit der Zeit verändert sich jede Zelle individuell und somit auch ihr Verhalten im Kopf- / Fußbereich vom Spannungsverlauf. Eine Fahrweise der Batterie orientiert an der Gesamtspannung oder am SoC können Risiken mit sich bringen, wenn einzelne Zellen schneller Fallen bzw. Steigen.

Mit dem folgenden möchte ich beispielhaft zeigen, dass Zellen unbeabsichtigt in den Spannungs-Grenzbereich geraten können obwohl laut Gesamtspannung und oder SoC alles gut ist (die gezeigten Grenzen sind beispielhaft gewählt).

Bildschirmfoto 2024-04-11 um 09 31 00

Setup

Entladen

Laden 15:15 Erste Zelle erreicht Ladeschlussspannung und steigt weiter an. Max-Ladestrom wird immer wieder um 2A reduziert, um ein starkes Überschwingen der vollsten Zelle zu verhindern. So erhält die letzte Zelle genügend Zeit um nachzuziehen.

Describe the solution you'd like

Eine Berücksichtigung der min/max Zellenspannung bei Laden und Entladen würde ein über-/unterschreiten von Spannungsgrenzen vermeiden.

Beispiel Laden: WENN --> die höchste Zelle einen einstellbaren Wert (zB maxCellV 3,45V) erreicht hat DANN --> reduziere Huawei Max-Leistung um einstellbaren Wert (zB 100 Watt), wiederhole wenn höchste Zelle erneut maxCellV erreicht hat WENN --> Ladezyklus beendet DANN --> Huawei Max-Leistung auf Ursprung wieder zurücksetzen

Beispiel Entladen: WENN -->die niedrigste Zelle einen einstellbarer Wert (zB minCellV 3,00V) erreicht hat DANN -->Stop Wechselrichter, egal was SoC oder Gesamtspannung sagt

Describe alternatives you've considered

Da das System stand alone laufen soll/muss (Zitat: "Was ist SmartHome") ist das manuelle überwachen und Nachstellen sehr Zeitintensiv, birgt Risiken und vill. auch etwas unmöglich :-).

Additional context

No response

schlimmchen commented 7 months ago

Nach allem was ich weiß, ist es normal, dass die Zellspannungen sowohl nahe der Ladeschlussspannung als auch unterhalb der 3.2V auseinanderdriften. Auch deshalb vermeidet man es (Stichwort: DoD) den Akkupack in diesem Bereich zu betreiben. Tut man das, vermeidet man auch, dass das BMS eingreifen muss weil eine Zelle zu weit abdriftet. Das wäre jetzt ehrlich gesagt meine Lösung für dieses Problem, statt je zwei weitere Schwellspannungen im DPL und im Huawei AC Controller zu berücksichtigen.

Linos88 commented 7 months ago

Hallo @schlimmchen, selbstverständlich hast du recht. Die Ursachen dafür liegen hauptsächlich in den Kapazitätunterschieden (resultierent zB aus Absorberchemie/Elektrolyt) und diversesten weiteren physikalischen Rahmenbedingungen.

Der obere Grenzbereich lässt sich nicht vermeiden, da zur Kompensation des Zellendrifts balanciert werden muss. Den unteren Bereich kann man versuchen großzügig zu umgehen, dafür nehmen wir ein Reduzierung der nutzbaren Kapazität in Kauf. Wenn wir den unteren Bereich durch SoC oder Gesamtspannung begrenzen kann es passieren…

SoC stimmt mit der Zeit nicht mehr weil die Grenzen zum „kalibrieren“ nicht angefahren werden und oder der Strom nicht genau genug erfasst wird (JK-BMS meine Erfahrung, diverse andere wohl gleich). Folglich SoC im grünen Bereich und einzelne Zellen können bereits zu stark gesunken sein.

Wenn man sich nach der Gesamtspannung richtet kann es hier auch vorkommen das ein einzelner Zellenwert zu stark abweicht und sich die Summe der Spannungen noch im Betriebsbereich bewegt.

Nachtrag: Mit dem genannte Grenzbereich ist der „Wohlfühlbereich“ von LFP gemein