Wir wechseln das Forum am 14.11.24 auf die Forensoftware Discourse. Zwischen Montag Abend und Dienstag Nachmittag wird das Forum deaktiviert. Danach sind wir hoffentlich mit neuem Forum inkl. der vorhandenen Beiträge wieder am Start! Hier zum Forenbeitrag!
Der AggregateBattery Code funktioniert irgendwie nicht als "Code Darstellung" hier im Forum. (Beitrag wird dann leer).
Deswegen so:
# Version 3.1
#######################################
########## Hardware settings ##########
#######################################NR_OF_BATTERIES = 2 # Nr. of physical batteries to be aggregated. Smart shunt for battery current is not neede >
NR_OF_CELLS_PER_BATTERY = 16
NR_OF_MPPTS = 1 # Nr. of MPPTs
DC_LOADS = False # If DC loads with Smart Shunt present, can be used for total current measurement
INVERT_SMARTSHUNT = True # False: Current subtracted, True: Current added#######################################
############ DBus settings ############
#######################################BATTERY_SERVICE_NAME = 'com.victronenergy.battery' # Key world to identify services of physical Serial Batteries (and SmartShunt if available >
BATTERY_PRODUCT_NAME_PATH = '/ProductName' # Path of Battery Product Name
BATTERY_PRODUCT_NAME = 'SerialBattery' # Key world to identify the batteries (to exclude SmartShunt)
BATTERY_INSTANCE_NAME_PATH = '/CustomName' # if CustomName doesn't exist, set '/ProductName'
MULTI_KEY_WORD = 'com.victronenergy.vebus' # Key world to identify service of Multis/Quattros (or cluster of them)
MPPT_KEY_WORD = 'com.victronenergy.solarcharger' # Key world to identify services of solar chargers
SMARTSHUNT_NAME_KEY_WORD = 'SmartShunt' # Key world to identify services of SmartShuntSEARCH_TRIALS = 10 # Trials to identify of all batteries before exit and restart
READ_TRIALS = 10 # Trials to get consistent data of all batteries before exit and restart#######################################
############## Options ################
#######################################CURRENT_FROM_VICTRON = True # If True, the current measurement by Multis/Quattros and MPPTs is taken instead of BMS.
# Necessary for JK BMS due to poor precision.
OWN_SOC = False # If True, the self calculated charge indicators are taken instead of BMS
ZERO_SOC = True # Allow zeroing charge counter at MIN_CELL_VOLTAGE. At full battery it is always set to 10 >
CHARGE_SAVE_PRECISION = 0.0025 # Trade-off between save precision and file access frequency#######################################
##### Charge/Discharge parameters #####
######################################## Please note: Victron ESS disables CCL if DC-coupled PV feed-in is active. This program disables the DC-coupled PV feed-in when necessary.
OWN_CHARGE_PARAMETERS = True # Calculate own charge/discharge control parameters (True) from following settings
# or use them from battery driver (False)
BALANCING_VOLTAGE = 3.5 # This voltage per cell will be set periodically and kept until balancing below CELL_DIFF_ >
BALANCING_REPETITION = 10 # in daysCHARGE_VOLTAGE_LIST = [3.45, 3.45, 3.45, 3.50, 3.50, 3.50, 3.50, 3.50, 3.50, 3.50, 3.50, 3.50] # Set up how full the battery has to be charge >
# jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, decMAX_CELL_VOLTAGE = 3.5 # If reached by 1-st cell, the CVL is dynamically limited. DC-coupled PV feed-in will be d >
MIN_CELL_VOLTAGE = 2.9 # If reached, discharge current set to zero
MIN_CELL_HYSTERESIS = 0.1 # Allow discharge above MIN_CELL_VOLTAGE + MIN_CELL_HYSTERESIS
CELL_DIFF_MAX = 0.015 # If lower: re-enable DC-coupled PV feed in (if was disabled by dynamic CVL reduction and >
BATTERY_EFFICIENCY = 0.98 # Ah fed into batteries are multiplied by efficiencyMAX_CHARGE_CURRENT = 160 # Max. charge current at normal conditions
MAX_DISCHARGE_CURRENT = 100 # Max. discharge current at normal conditions# settings limiting charge and discharge current if at least one cell gets full or empty
# the lists may have any length, but the same length for voltage and current
# linear interpolation is used for values betweenCELL_CHARGE_LIMITING_VOLTAGE = [MIN_CELL_VOLTAGE, MIN_CELL_VOLTAGE + 0.05, BALANCING_VOLTAGE - 0.1, BALANCING_VOLTAGE, MAX_CELL_VOLTAGE] # [min, . >
CELL_CHARGE_LIMITED_CURRENT = [0.2, 1, 1, 0.05, 0]
CELL_DISCHARGE_LIMITING_VOLTAGE = [MIN_CELL_VOLTAGE, MIN_CELL_VOLTAGE + 0.1, MIN_CELL_VOLTAGE + 0.2] # [min, ... ,max]
CELL_DISCHARGE_LIMITED_CURRENT = [0, 0.05, 1]########################################
### if OWN_CHARGE_PARAMETERS = False ###
######################################### If "False", the transmitted CVL is always the minimum of all batteries
# If "True", the transmitted CVL is the maximum of all batteries until all are in "float",
# than the minimum of all is taken. Attention: By using this function you rely on the functionality
# and correct settings of the SerialBattery driver. Set "True" only if you know exactly
# what you are doing. If not sure, keep it at "False".KEEP_MAX_CVL = False
#######################################
####### Logging and reporting #########
#######################################SEND_CELL_VOLTAGES = 0 # 0: Disable Cell Info in dbus, 1: Format: /Cell/BatteryName_Cell<ID>
LOGGING = 2 # 0: no logging, 1: print to console, 2: print to file
LOG_PERIOD = 900 # in seconds; if 0, periodic logging is disabled
10kWP Ost-West Bestandsanlage
7,5kWP Südanlage am MP2 5000 mit 16x280Ah LifePo4
Sole-WP mit selbst berechnetem und ausgeführten Erdkollektor
KWL mit Sole-EWT
DIY Klimaanlage im Büro
.... SerialBattery Schaltet DC Feed In aus, wenn der Akku voll ist. I...
das tut er nicht, er setzt lediglich die errechneten CVL, CCL je nach Einstellungen und veröffentlicht im DBUS die Daten aus dem BMS
Immer noch nicht? Dachte ich habs mal wo gelesen, dass die das jetzt korrigiert haben.
AggregateBattery tut es auf jeden Fall:
# Please note: Victron ESS disables CCL if DC-coupled PV feed-in is active. This program disables the DC-coupled PV feed-in when necessary.
10kWP Ost-West Bestandsanlage
7,5kWP Südanlage am MP2 5000 mit 16x280Ah LifePo4
Sole-WP mit selbst berechnetem und ausgeführten Erdkollektor
KWL mit Sole-EWT
DIY Klimaanlage im Büro
... die Laderegler-Einstellungen der MultiPlus II
Die MPPTs bedienen sich jedoch den Werten aus dem Controlling BMS (DVCC Einstellungen) wie im Post von R0Li84 beschrieben ist.
.... SerialBattery Schaltet DC Feed In aus, wenn der Akku voll ist. I...
das tut er nicht, er setzt lediglich die errechneten CVL, CCL je nach Einstellungen und veröffentlicht im DBUS die Daten aus dem BMS
Immer noch nicht? Dachte ich habs mal wo gelesen, dass die das jetzt korrigiert haben.
AggregateBattery tut es auf jeden Fall:
# Please note: Victron ESS disables CCL if DC-coupled PV feed-in is active. This program disables the DC-coupled PV feed-in when necessary.
es kann sein dass ich mich irre, hier steht "when necessary" was für mich != "wenn Akku voll ist" Unterschied machte.
... schaue heute abend den Code von BatteryAggregator was er damit meint.
@ogurgurpv - AggregateBattery schaltet DC FEED in ab, sobald eine Zelle über die als "max" definierte Zellspannung geht. So zumindest meine Beobachtung. Sobald die Spannung dann darunter fällt, "ballert" der MPPT wieder volle Lotte in den Akku - das geht dann im Takt von paar Minuten so hin und her.
Habe mir den Code allerdings nicht angesehen, nur die Ergebnisse beobachtet.
10kWP Ost-West Bestandsanlage
7,5kWP Südanlage am MP2 5000 mit 16x280Ah LifePo4
Sole-WP mit selbst berechnetem und ausgeführten Erdkollektor
KWL mit Sole-EWT
DIY Klimaanlage im Büro
Hier der Originaltext von Github:
"If the battery is not balanced properly or the target voltage is set too high, one or more cell's voltages start to peak. To avoid emergency disconnecting of the battery by BMS, the dynamic CVL reduction is activated if at least one cell exceeds the MAX_CELL_VOLTAGE. To avoid instabilities of charger, the DC-coupled PV feed in (if initially enabled) will be disabled in order to enable the CCL. The CCL does not work if the DC-coupled PV feed-in is enabled, see: https://www.victronenergy.com.au/media/pg/Energy_Storage_System/en/configuration.html , chapter 4.3.4. When all cell voltages fall below MAX_CELL_VOLTAGE and the cell difference falls below CELL_DIFF_MAX, the DC-coupled PV feed in is enabled again (if was enabled before).
The charge or discharge current is set to zero if at least one BMS is blocking charge or discharge respectively. If charge is blocked, the DC-coupled PV feed-in (if initially enabled), will be disabled, see the reason above."
Exakt! Das hast du vor etwa 1/2 Jahr - 1 Jahr noch nirgendwo gefunden. (Das Problem war aus meiner Sicht einfach nicht bekannt, weil die Entwickler von diversen Scripts in Ländern sitzen wo Sie DC FEED IN wohl standardmäßig aus haben).
Wenn der MPPT weiter in den Akku lädt, erreichst du MAX_CELL_VOLTAGE relativ einfach, auch bei sehr gut gebalancten System (zumindest ist das bei mir der Fall).
10kWP Ost-West Bestandsanlage
7,5kWP Südanlage am MP2 5000 mit 16x280Ah LifePo4
Sole-WP mit selbst berechnetem und ausgeführten Erdkollektor
KWL mit Sole-EWT
DIY Klimaanlage im Büro
wir weichen uns ein wenig vom eigentlichen Topic ab.
Damit wir über das Gleiche reden, beginnen wir mit der original Dokumentation vom Victron - als primäre Quelle
4.3.5. Feed-in excess solar charger power
Battery Aggregator:
- "...If the battery is not balanced properly or the target voltage is set too high, one or more cell's voltages start to peak. To avoid emergency disconnecting of the battery by BMS, the dynamic CVL reduction is activated i ...." stammt vom diesen Aggregator: https://github.com/Dr-Gigavolt/dbus-aggregate-batteries
- in meiner Installation verwende ich diese Lösung: https://github.com/pulquero/BatteryAggregator/tree/main
das sind unterschiedliche Projekte. 😀
Auch hier beim Dr. Gigavolt Ab der Zeile 670 ist auf den ersten Blick nirgend wo zu sehen, dass die Einstellung DC FeedIn geändert wird.
https://github.com/Dr-Gigavolt/dbus-aggregate-batteries/blob/main/aggregatebatteries.py
ab dem Part:
####################### # Send values to DBus # ####################### with self._dbusservice as bus: # send DC bus['/Dc/0/Voltage'] = Voltage #round(Voltage, 2) bus['/Dc/0/Current'] = Current #round(Current, 1) bus['/Dc/0/Power'] = Power #round(Power, 0) # send charge bus['/Soc'] = Soc bus['/TimeToGo'] = TimeToGo bus['/Capacity'] = Capacity bus['/InstalledCapacity'] = InstalledCapacity bus['/ConsumedAmphours'] = ConsumedAmphours # send temperature ....
Da ich eine andere Lösung im Einsatz habe, kann ich nicht viel darüber beurteilen.
Habe mal eure Einstellungen übernommen und warte seither auf Sonne, damit die Akkus voll werden.
Mir ist aber aufgefallen, dass der Ve.Bus Charge Voltage Setpoint ( CVS) permanent zwischen 56.4V und 56V hin und herschwankt. Sollte der nicht dauerhaft um 0,4V angehoben sein, damit die MPPT einspeisen können? Oder habe ich da wieder etwas nicht verstanden 🙁 Bzw aus welchem Grund/aufgrund welcher Einstellung schwankt der CVS hin- und her?
Danke!!
bis zu welcher Spannung sollten die Cells geladen werden ?
In der ersten Abbildung CLV die 56.4V entsprechen bei 16 cells entsprechen 3.525V pro "cell" ist das
MAX_CELL_VOLTAGE = 3.45
resultiert 55.2V CVL
56.4V und 56V hin und herschwankt
Die Schwankung ist dem Zustand geschuldet dass eine oder andere Cell die maximale Spannung überreicht, um das zu verhindern wird die CVL abgesenkt, damit die Cells sich ausgleichen (auch dank dem Balancer), wenn diese "Überladung" in den normalen Bereich zurück kehrt, wird die CVL entsprechend wiederhergestellt.
Um das zu sehen kann man die Grafik Min Max Voltage im Victron Portal aufzurufen.
Alternativ, um das zu beobachten kann im schell auf dem cerbo das Hilfsprogramm dbus-spy verwendet werden
Die Tastatur- Command- Belegung ist hier beschrieben: https://github.com/victronenergy/dbus-spy
Bitte dort keine Werte verändern, nur schauen /p>
Bei Interesse habe ich das in einem Text zusammengefasst, was der Treiber im Linear Modus leistet.
Grüßt euch, ich hab exakt das selbe problem.
Gibt es mittlerweile eine Lösung für das dc überschuss Einspeise problem währenddessen er die Batterie lädt
Hej,
würde mich auch interessieren ob es hier eine abhilfe gibt.
Ich hab ein MP2-5000 mit mppt250/70 und ein jkbms mit 16*280Ah und wenn ich wie beschrieben die dc/pv Übeschusseinspeisung aktiviere ignoriert er scheinbar vollkommen die vom serialbattery kalkulierten ccl werte ... das ist ziehmlich lästig weil er dann regelmäßig in den überstromschutz vom BMS läuft -_-
Anstelle vom sinnvolleren Verhalten dass er den CCL wert hält und den Rest ins Netz einspeist.