JK-BMS mit dbus-serialbattery - Ständige Warnungen "Hoher Ladestrom"

Moin zusammen,

ich habe ein merkwürdiges Phänomen in Verbindung mit dem JK-BMS angebunden über dbus-serialbattery an 3x Multiplus 2 48/3000

Das Ganze läuft an einem Raspberry mit Venus OS.

Ich bekomme im 2-Minutentakt Meldungen über einen hohen Ladestrom. Die Werte liegen deutlich unter der knfigurierten Grenze von 105A. Sobald die Meldung kommt, geht der Ladestrom auf 0, lädt dann wieder eine Minute und das Spiel geht von vorne los. Somit lädt gerade mein Akku wie mit einer PWM 50%.

Ich habe dazu einige Screenshots mit angehängt. Weiß jemand wieso diese Meldungen auftreten oder auch wo ich vielleicht die Grenzwerte anpassen kann?

image.png

Was ist denn im MP eingestellt? DVCC an? Steht der MP auf externe Steuerung? Was ist als Batteriewächter eingestellt?

@bennyb21 Hi Benny,

DVCC ist an, Batteriewächter ist das BMS.

Externe Stuerung ist BMS-Steuerung, oder? Wenn ja, ist eingeschaltet.

Ich vermute es liegt irgendwie an der dbus-serialbattery Konfiguration, habe auf GitHub schon alle möglichen Dateien durchsucht ob ich irgendwie was finde, wodurch die Warnungen erzeugt werden, bin aber nicht fündig geworden.

Noch ne Nebenfrage: Im VRM-Portal sehe unter Alarmprotokolle nur Einträge vom Multiplus (z.B. Low Battery), zu diesem Zeitpunkt hatte ich die BMS-Kommunikation noch nicht laufen. Die Meldungen zum hohen Ladestrom sehe ich nur im Venus OS als Benachrichtigung. Aber nicht im VRM-Portal, weder unter Alarmprotokolle, noch unter Ereignisprotokolle, ist das normal?

Okay. Dann solltest Du mal die Einstellungen direkt im SerialBattery kontrollieren. Die Datei heißt utils.py meine ich. Da solltest Du ja alle Grenzwerte eingestellt und die gewünschte Überwachung bzw. Regelung eingestellt haben. Was sind denn da für Werte eingetragen? Hier mal der Auszug aus der Doku, die hoffentlich mal gelesen wurde... :wink:

How to increase the default limits

The driver currently use a fixed upper current limit for the BMS:
  • 50A charge
  • 60A discharge
If you require more current and your battery can handle that, you can make changes to the source code for that. (Note any updates will override this change)

Edit the source to update the constants. /data/etc/dbus-serialbattery/utils.py

MAX_BATTERY_CURRENT = 50.0

MAX_BATTERY_DISCHARGE_CURRENT = 60.0

If you use the cell voltage limits or temperature limits you also need to adjust their values to match the new current

Ja, ich habe bis auf die Begrenzungen zum SOC (>90%) alles deaktiviert, hat nix geholfen.

In dieser Datei habe ich nichts weiters gefunden was irgendwie auf die Warnungen, oder den Auslöser dafür schließen lässt, aber hier mal die Einstellungen:

# Constants - Need to dynamically get them in future
DRIVER_VERSION = 0.14
DRIVER_SUBVERSION = '.3'
zero_char = chr(48)
degree_sign = u'\N{DEGREE SIGN}'
# Choose the mode for voltage / current limitations (True / False)
# False is a Step mode. This is the default with limitations on hard boundary steps
# True "Linear"    # New linear limitations by WaldemarFech for smoother values
LINEAR_LIMITATION_ENABLE = False
######### Cell Voltage limitation #########
# Description:
# Maximal charge / discharge current will be in-/decreased depending on min- and max-cell-voltages
# Example: 18cells * 3.55V/cell = 63.9V max charge voltage. 18 * 2.7V = 48,6V min discharge voltage
#          ... but the (dis)charge current will be (in-/)decreased, if even ONE SINGLE BATTERY CELL reaches the limits
# Charge current control management referring to cell-voltage enable (True/False).
CCCM_CV_ENABLE = False
# Discharge current control management referring to cell-voltage enable (True/False).
DCCM_CV_ENABLE = False
# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING         = [3.55, 3.50, 3.45, 3.30]
MAX_CHARGE_CURRENT_CV                = [   0,    2,  30,  90]
CELL_VOLTAGES_WHILE_DISCHARGING      = [2.70, 2.80, 2.90, 3.10]
MAX_DISCHARGE_CURRENT_CV             = [   0,    5,  30,  85]
######### Temperature limitation #########
# Description:
# Maximal charge / discharge current will be in-/decreased depending on temperature
# Example: The temperature limit will be monitored to control the currents. If there are two temperature senors,
#          then the worst case will be calculated and the more secure lower current will be set.
# Charge current control management referring to temperature enable (True/False).
CCCM_T_ENABLE = False
# Charge current control management referring to temperature enable (True/False).
DCCM_T_ENABLE = False
# Set Steps to reduce battery current. The current will be changed linear between those steps
TEMPERATURE_LIMITS_WHILE_CHARGING    = [55, 40,  35,   5,  2, 0]
MAX_CHARGE_CURRENT_T                 = [ 0, 40, 105, 105, 40 , 0]
TEMPERATURE_LIMITS_WHILE_DISCHARGING = [55, 40,  35,   5,  0, -20]
MAX_DISCHARGE_CURRENT_T              = [ 0, 85, 150, 150, 85,   0]
# if the cell voltage reaches 3.55V, then reduce current battery-voltage by 0.01V
# if the cell voltage goes over 3.6V, then the maximum penalty will not be exceeded
# there will be a sum of all penalties for each cell, which exceeds the limits
PENALTY_AT_CELL_VOLTAGE  = [3.45, 3.55, 3.6]
PENALTY_BATTERY_VOLTAGE  = [0.01, 1.0, 2.0]  # this voltage will be subtracted
######### 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 = 2.9
MAX_CELL_VOLTAGE = 3.48
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 = 105.0
MAX_BATTERY_DISCHARGE_CURRENT = 150.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 = 5
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
# Simulate Midpoint graph (True/False).
MIDPOINT_ENABLE = False
#soc low levels
SOC_LOW_WARNING = 20
SOC_LOW_ALARM = 10

da aber das JK die Warnung wirft, und nicht die Venus, überprüf doch mal die Einstellungen im JK

@helge

Helge, ich glaube das war der entscheidende Hinweis, hier habe ich tatsächlich noch gar nicht (wieder) reingeschaut. Dachte immer der Ladestrom wird übertragen und von serialbattery ausgewertet und weitergereicht. Hier stand tatsächlich noch 25A, ich hab wohl den Entladestrom angepasst aber den Ladestrom nicht :shock: :sad: .

Tausend Dank, natürlich auch an @bennyb21 , jetzt bin ich super gespannt auf morgen, heute ist ja leider keine Sonne mehr da zum Testen.

EDIT: 18.03. Es lag tatsächlich an der Einstellung im JK selber, heute keine Fehlermeldungen mehr ? .

1 „Gefällt mir“

Hallo ich darf mich hier mal anhängen. Ich suche im JK BMS die Schwellwerte für die Warnung bei Zellungleichheit. Habe auch einen Victron multiplus. bei größerer Last nerven die Meldungen ... die Warnung möchte ich großzügiger einstellen.

@dv2000 Moin, ich meine das kann man nicht einstellen, allerdings kenne ich auch nicht den Grenzwert, ab wann das BMS den Fehler ausgibt. Ich selber würde hier auch gar nicht am Schwellwert drehen wollen, hier sollte eher das Ziel sein die Zellen möglichst auf das gleiche Niveau zu bringen. Ich kann hier nur diese Anleitung empfehlen, daran habe ich mich auch orientiert:https://www.akkudoktor.net/forum/anleitungen-tutorials/seriell-initialisieren-von-akkus-howto/

Wie hoch ist denn bei Dir die Abweichung zwischen min. und max.?

@alkazar Danke für die Antwort, die Differenz scheint kurzeitig zu springen. Schaue ich wieder rein ist alles ok 0.003 oder 0.002 aber auch mal 0,2 - und das wird es sein. Sind flexible Zellverbinder unbedingt angeraten? Daran hab ich schon gedacht. 15 Stück sind aber unheimlich teuer . 85€ hab ich schon gesehen. Den Artikel arbeite ich mal durch - eine Initialisierung oder sonst was habe ich nicht gemacht.

@dv2000 Du kannst dir im VRM-Portal die Differenz zwischen min. und max. Zellspannung ganz gut anschauen:

Wichtig ist die Zellen annähernd auf gleichen Ladezustand zu bringen, hier ist das Stichwort "Top-Balancing", wie das geht beschreibt der verlinkte Artikel sehr gut.

War bei mir am Start aber auch noch nicht optimal, ich war da etwas zu ungeduldig. Über die Zeit hat das dann bei mir der Balancer des BMS optimiert, allerdings braucht das ne Weile, der Balancer kann nur 2A und fürs Top-Balancing muss der Akku dazu auch voll sein. So als Anhaltspunkt, ich war nach 3-4 Wochen auf Abweichungen im einstelligen mV Bereich.

Flexible Zellverbinder habe ich selber nicht verwendet, ich nutze die starren, welche bei der Lieferung dabei waren.