Akku lädt nicht voll (JK BMS DbusSerialBattery Victron)

@hf_spsler ja, muss überall geändert werden.

Moin, habe jetzt Serialbattery mal auf aktuellem Stand.....Gestern Akku voll, da pendelt er wieder zwischen laden und entladen hin und her.

Warum stellt er nicht einfach fest, dass der Akku voll ist und hört gänzlich auf zu arbeiten ?

Das Problem ist, dass er auch immer bei 99% fest hängt und nicht auf 100 springt, da der Balancer noch am Balancen ist und ein paar Zellen leicht über der max-Spannung sind und ein paar darunter....wie bekomme ich das denn in den Griff ?

Nein, du musst eigentlich nur einmal die 75A einstellen in den Settings die du auch als Code hier reinkopiert hast.
Eigentlich aber auch nebensächlich, weil der MP2 die Leistung liefert, die er Max kann. Du kannst auch 300A eintragen. Es wird erst interessant, wenn du es künstlich limitieren möchtest. Zudem solltest du schauen, dass keine deiner Zellen aktuell eine andere Reglung "auslösen", weil die unterschiedlich voll sind.
Es gibt ja z.B noch folgende Einstellung, die Einfluss auf den maximalen Endladestrom haben.

# Set Steps to reduce battery current. The current will be changed linear betwe>
CELL_VOLTAGES_WHILE_CHARGING         = [3.55, 3.50, 3.45, 3.40]
MAX_CHARGE_CURRENT_CV                = [   0,    30,  70,  70]
CELL_VOLTAGES_WHILE_DISCHARGING      = [2.85, 2.90, 2.95, 3.10]
MAX_DISCHARGE_CURRENT_CV             = [   0,   25,  50,  70]

Doofe Frage, aber du hast das JK BMS auch mit dem RaPi verbunden und das BMS wird auch erkannt?

@alexalex

Was genau stört dich daran? Ich habe 3.45V pro Zelle und eine Abweichung von 6-8mV zwischen den Zellen.
Auch bei mir ist er meist bei 99% und toggelt mit 1-2 Ampere zwischen Laden und Entladen. Kommt aber auch auf die eingestellte Dauer der "Absorption" an.
Standard in der utils.py sind 15min, wenn ich mich nicht irre.

@Timbo Danke dir für die ausführliche Antwort. Ich bin noch die Info schuldig geblieben, dass bei mir nicht der MP2 laden soll sondern ausschließlich der MPPT. Und ja, das JK BMS wurde erfolgreich erkannt, ich kann die Spannungen der Einzelzellen auslesen und bekomme auch sonst alle üblichen Daten.

Am Ende hat sich herausgestellt, dass ich wohl versehentlich die serial-battery zwei mal installiert hatte. Nachdem ich VenusOS noch mal neu aufgesetzt- und serial-battery neu installiert hatte wurden auch alle Einstellungen wie gewünscht übernommen. Stellt sich also ein bisschen so dar als gab es die utils.py zwei mal und ich hab quasi die "Falsche" editiert.

Danke euch nochmals für die Antworten.

1 „Gefällt mir“

Moin zusammen,

jetzt ist die Gesamtanlage seit Karfreitag in Betrieb und der Akku ist nun auch schon ein paar mal ge- und entladen worden. Jetzt stellt sich aber ein neues, unschönes Verhalten ein. Ich hoffe ihr habt da Erfahrungen die ihr mit mir teilen könnt.

Während der Ladephase steigen SOC-Wert und Akkuspannung stetig an, die max. Differenz zwischen den Zellen beläuft sich so auf 0,005 - 0,008V soweit so gut. Irgendwann zeigt der SOC dann 100%, der Ladestrom (kommend aus dem MPPT, der MP2 soll bei mir nicht laden) gibt jedoch immer noch alles und die Akkuspannung steigt und steigt (konkrete Werte habe ich jetzt hier nicht parat, aber sie bewegen sich so bei ca. 3,5 - 3,55V Zellspannung). Irgendwann steigt die Differenz niedrigster zu höchster Zellspannung dann soweit an dass die erste Zelle wohl die im BMS eingstellten 3,60V überschreitet und ich erhalte einen Überspannungsalarm.

Ich habe aber auch das Gefühl, dass z.b. die SOC abhängige Ladestrombegrenzung ignoriert wird.

Bzw. wie ist das? Die Zellspannungsabhängige Ladestrombegrenzung grefit sobald die erste Zelle den Schwellwert erreicht hat oder sobald Akkuspannung / 16 den Wert erreicht hat?

Ich brauche wohl noch etwas um die Konfig zu kapieren....

Ich habe das gleiche Problem mit einem Dali DMS und zusätzlichen Kondensator Balancer (aktive).
Könnte es vielleicht eine Fehleinstellung im Victron ESS sein ?

Hatte erst gedacht, das es am Blancer liegt, aber die Spannungen liegen nahe beinander.

Ich betreibe ein Victron ESS mit MP 2 und 16 x 202ah Zellen.

Grüße Dennis

@HF_SPSler

Das liegt ist ein bekannter Fehler bei DC Ladung. Schau mal bei Github oder hier im Forum, gibt es bereits Einträge zu. Ich glaube der Fehler besteht bei aktiviertem „DC Feed-In“, wenn mich nicht alles täuscht.

@timbo Du meinst, wenn das hier aktiviert ist:

Das heißt, das Thema ist unter Serial-Battery oder im Victron-Teil auf GitHub bereits als Issue gemeldet?

1 „Gefällt mir“

Richtig.

1 „Gefällt mir“

Ich muss auch mal meinen Senf dazugeben.

Ich hatte auch das Problem, dass mein 16S2P Lifepo nie "voll wurde" da ich in der utils.py vom serialbattery eben von den Settings deutlich unter dem Maximalwert von 3.65V/Zelle eingestellt habe (Max. 3.47V/Zelle, 120x60 sec. Absorbtion und dann auf Float 3,4V)

Dadurch hat das JK BMS, wenn auf Float umgestellt wurde meist unter 90% angezeigt. Lässt man das System nun immer so laufen, driftet es immer mehr ab.

Zeitweise hatte ich beim Übergang von Absobtion auf Float nur einen SOC von 67% vom BMS angezeigt bekommen, obwohl der richtige SOC ca. 97% betrug.

Schuld ist dabei, dass der SOC so nie auf 100% resettet wird.

Dann habe ich mal die OverVoltageProtection (OVP) im JK BMS von den default 3.60V auf knapp über meine Absoption Spannung und der utils.py von 3,47 - also auf 3,49V heruntergesetzt. Und siehe da, jetzt wird der SOC jeden sonnigen Tag, wenn der Akku meinen gewünschten Volladezustand erreicht hat auf exakt 98% gesetzt und stimmt seither einigermaßen (da er durch die fehlende Kommulation der fehler) nicht mehr so stark abdriften kann. (Lädt man bis zum OVP Alarm des BMS, in meinem Fall also auf 3,49V dann geht der SOC auf 100%)

hier meine Settings: (Die starke Reduzierung des Ladestroms oberhalb 3.4V ist wichtig, da das Balancing (ab 3.4V) nur gut funktioniert, wenn nicht zu stark geladen wird.)

# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING         = [3.49, 3.45, 3.40, 3.30]
MAX_CHARGE_CURRENT_CV                = [   0,    8,   16,  120]
######### SOC limitation #########
# Description:
# Maximal charge / discharge current will be increased / decreased depending on State of Charge, see CC_SOC_LIMIT1 etc.
# The State of Charge (SoC) charge / discharge current will be in-/decreased depending on SOC.
# Example: 16cells * 3.45V/cell = 55,2V max charge voltage. 16*2.9V = 46,4V min discharge voltage
# Cell min/max voltages - used with the cell count to get the min/max battery voltage
MIN_CELL_VOLTAGE = 3.00
MAX_CELL_VOLTAGE = 3.47
FLOAT_CELL_VOLTAGE = 3.40
MAX_VOLTAGE_TIME_SEC = 120*60

Noch ein Hinweis, die Option "LINEAR_LIMITATION_ENABLE" musste ich abstellen (auf False setzen), da sie bei hohen Ladeständen dauernd zwischen "Entladen" und "Laden mit 25A und mehr" hin und her gewechselt hat, was ein Top Balancing quasi unmöglich gemacht hat.

1 „Gefällt mir“

Das mit DC Feedin ist kein Fehler von Victron, sondern ein Fehler vom dem, der die Anlage geplant hat.

Wenn du über DC einspeisen willst muss der MPPT ja mit voller leistung weiter laufen, damit der produzierte Strom ins Netz geht. Deshalb wird der Strom vom MPPT nicht reduziert. Der Multi kann gegenwirken in dem er so viel Strom ins Netz pumpt, dass die Spannung beim eingestellten Wert bleibt. Das funktioniert aber nur, wenn der Multi mehr Leistung hat wie der MPPT. Wenn du 10KWp am Laderegler hast, dann kann ein 3000er Multi nicht dagegen halten.

Netzparallele Anlage baut man nicht mit Laderegler sondern mit PV Wechselrichter. Wann kapiert ihr das hier?

Abgesehen davon muss der Multi nun die 48V DC vom Laderegler in 240V AC wandel was mindestens 5% Verluste bringt. Die 5% Verlust hätte man sich sparen können. Rechnet das mal auf 20 Jahre hoch.

Dazu kommt noch, dass dir mit Laderegler nur so viel PV Strom zur Verfügung steht wie der Multi wandeln kann. Beim 3000er sind es 2400 Watt.

Verbrauchst du 3000 Watt, hast du 600 Watt Netzbezug. Auch wenn du vielleicht 5 oder 10KWp PV gebaut hast.

1 „Gefällt mir“

stromsparer99: Ab einer gewissen Akkugröße kann es doch Sinnvoll sein über nicht nur über den Multi-Plus sondern auch mit ein paar MPPT zu laden oder? Bin nämlich am überlegen ob ich nicht einfach mal 2kw direkt an den Akku hänge anstatt den Wechselrichter. Einfach um den Akku im Winter schneller voll zu bekommen.

Das ist auch mein Ansatz - ich werde Victron Laderegler auf der DC Seite verwenden um den Akku mit zusätzlicher PV Kapazität direkt zu laden. Es erfolgt dann bei mir allerdings keine Einspeisung von DC über den MP.

Wenn man einspeisen möchte, sollte man besser einen AC Wechselrichter nehmen.

Hi,

hast Du die Einstellungen im MP auch entsprechend reduziert oder nur in der utils.py und die OVP im JK angepasst?

Kannst mal den hier testen: GitHub - codeworkx/venus-os_dbus-serialbattery: Battery Monitor driver for serial battery in VenusOS GX systems

Wenn bei aktivem DC Feed In die Strombegrenzung ignoriert wird, der tatsächliche Strom zu weit vom gewünschten Strom abdriftet, wird die Ladespannung stufenweise reduziert bis der Strom da ist wo man ihn haben will.

Was ist bei dem Codeworkx anders?

Ich habe das Problem, dass bei voll geladenem Akku der MP2 immer zwischen laden und entladen umspringt. Das kann doch nicht richtig sein. Eigentlich müsste er doch auf die Erhaltungsladung umstellen, wenn der Akku voll ist... funktioniert aber leider nicht.

Bisher habe ich da keine gescheite Abhilfe gefunden.

Ich gehe mal davon aus, dass du deine PV über Laderegler angeschlossen hast?

Wenn ja, dann muss der Multi jetzt durchgehend den Strom vom Laderegler der direckt am Akku hängt regeln um ihn ins Netz zu speisen.

Das wir dann zappelig wegen der Regelträgheit. Wenn die PV AC angebunden ist wird das deutlich besser.

Meine PV ist AC angebunden und der MP2 ebenfalls an AC In, er springt bei Überschuss die ganze Zeit zwischen laden und entladen hin und her. Verbaut ist das billo JKBMS mit dbusSerialbattery

Meine Einstellungen im SerialBattery Treiber

LINEAR_LIMITATION_ENABLE = False
CCCM_CV_ENABLE = True
DCCM_CV_ENABLE = True
# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING = [3.47, 3.42, 3.4, 3.395, 3.30]
MAX_CHARGE_CURRENT_CV = [ 0, 8, 16, 60, 70]
CELL_VOLTAGES_WHILE_DISCHARGING = [2.70, 2.80, 2.90, 3.10]
MAX_DISCHARGE_CURRENT_CV = [ 0, 5, 30, 95]
MIN_CELL_VOLTAGE = 3
MAX_CELL_VOLTAGE = 3.45
FLOAT_CELL_VOLTAGE = 3.4
MAX_VOLTAGE_TIME_SEC = 15*60
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90
# battery Current limits
MAX_BATTERY_CHARGE_CURRENT = 70.0
MAX_BATTERY_DISCHARGE_CURRENT = 95.0
# Charge current control management enable (True/False).
CCCM_SOC_ENABLE = True
# Discharge current control management enable (True/False).
DCCM_SOC_ENABLE = True
#charge current soc limits
CC_SOC_LIMIT1 = 98
CC_SOC_LIMIT2 = 95
CC_SOC_LIMIT3 = 91
#charge current limits
CC_CURRENT_LIMIT1 = 1
CC_CURRENT_LIMIT2 = MAX_BATTERY_CHARGE_CURRENT/4
CC_CURRENT_LIMIT3 = MAX_BATTERY_CHARGE_CURRENT/2
#discharge current soc limits
DC_SOC_LIMIT1 = 10
DC_SOC_LIMIT2 = 20
DC_SOC_LIMIT3 = 30
#discharge current limits
DC_CURRENT_LIMIT1 = 5
DC_CURRENT_LIMIT2 = MAX_BATTERY_DISCHARGE_CURRENT/4
DC_CURRENT_LIMIT3 = MAX_BATTERY_DISCHARGE_CURRENT/2
# Charge voltage control management enable (True/False).
CVCM_ENABLE = False

Wie stark sind denn die Schwankungen?