optimale Einstellungen für das JK BMS

Hallo zusammen,

ich finde es schwierig die richtigen Einstellungen für das JK-BMS zu finden, um Zellen vernünftig zu be- und entladen. Ich wollte erst nur mit SOC arbeiten, habe aber schnell gemerkt, dass man ebenfalls über die Spannung den Strom reduzieren sollte. Ich nutze ein DIY Akku mit 16x EVE Zellen 280 Ah an einem Mulitplus II 5000 d. h. 70 A sind möglich. Venus OS läuft auf einem Raspi mit dem dbus-serialbattery Treiber.

Ziel ist es die Zellen im Bereich 3,0 bis 3,45 V zu betreiben und dabei in Richtung Endladespannung harmonisch und ohne Spannungs- und Stromsprünge zu laden. Das Balancing startet ab 3,4 V.

Hier ein Auszug aus utils.py:

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 = True
######### 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 = True

Discharge current control management referring to cell-voltage enable (True/False).

DCCM_CV_ENABLE = True

Set Steps to reduce battery current. The current will be changed linear between those steps

CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.42, 3.30]
MAX_CHARGE_CURRENT_CV = [ 0, 4, 70]
CELL_VOLTAGES_WHILE_DISCHARGING = [2.90, 3.03, 3.10]
MAX_DISCHARGE_CURRENT_CV = [ 0, 4, 70]
######### 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 = True

Charge current control management referring to temperature enable (True/False).

DCCM_T_ENABLE = True

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, 28, 70, 70, 28, 0]
TEMPERATURE_LIMITS_WHILE_DISCHARGING = [55, 40, 35, 5, 0, -20]
MAX_DISCHARGE_CURRENT_T = [ 0, 28, 70, 70, 28, 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 = 3.0
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 = 70.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 = 94
CC_SOC_LIMIT3 = 90
#charge current limits
CC_CURRENT_LIMIT1 = 4
CC_CURRENT_LIMIT2 = 8
CC_CURRENT_LIMIT3 = 16
#discharge current soc limits
DC_SOC_LIMIT1 = 5
DC_SOC_LIMIT2 = 10
DC_SOC_LIMIT3 = 15
#discharge current limits
DC_CURRENT_LIMIT1 = 4
DC_CURRENT_LIMIT2 = 8
DC_CURRENT_LIMIT3 = 16

Charge voltage control management enable (True/False).

CVCM_ENABLE = False

Simulate Midpoint graph (True/False).

MIDPOINT_ENABLE = False
#soc low levels
SOC_LOW_WARNING = 10
SOC_LOW_ALARM = 5

Was haltet ihr von den Einstellungen? Wo könnte man da optimieren? Bzw. welche Einstellungen nutzt ihr? Oder nutzt ihr zusätzliche Messeinrichtungen, externe Logik zum Be- und Entladen?

Grüße

Kiwi

# Set Steps to reduce battery current. The current will be changed linear between those steps
CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.42, 3.30]
MAX_CHARGE_CURRENT_CV = [ 0, 4, 70]

Finde ich persönlich zu scharf. Du lädst bei 3.42V nur noch mit 4A? Ich knall da noch volle Suppe rein. Immerhin hast du die Lineare Funktion aktiv, was die Sache aus meiner Sicht nur Minimal besser macht
Bei mir regelt der erst ab 3.45V bis 3.5V von 70A auf 50A und dann bis 3.55V auf 0 (ebenfalls Linear)

MIN_CELL_VOLTAGE = 3.0
MAX_CELL_VOLTAGE = 3.45
FLOAT_CELL_VOLTAGE = 3.4
MAX_VOLTAGE_TIME_SEC = 15*60
SOC_LEVEL_TO_RESET_VOLTAGE_LIMIT = 90

Bei mir wie folgt:

2.9V
3.5V
3.45V
60*60 (kann damit dann eine Stunde "Floaten")

In deiner Konfig können die 15min Float bei 3.4V (also mit konstanter Spannung) nur mit minimalen Strom genutzt werden, weil du deine Ladespannung im oberen Teil sehr stark limitierst.

Der Ladestrom geht automatisch gegen Null, wenn die Akkus voll sind.

@timbo

Hallo Timbo,

danke für deine Antwort. Ich habe das ganze mal etwas entschärft ähnlich deinen Settings und die Float time erhöht:

Set Steps to reduce battery current. The current will be changed linear between those steps

CELL_VOLTAGES_WHILE_CHARGING = [3.55, 3.45, 3.40]
MAX_CHARGE_CURRENT_CV = [ 0, 50, 70]

Bei meinen alten Einstellungen ist das System auch immer beim floaten hängen geblieben und hat nicht auf dei max Spannung geladen. Vllt. lag es an der Stromlimitierung.

Welche Grenzwerte hast du bei OVP, usw. im BMS via App eingestellt, dass die Grenzen sowie auch der SoC passen?

OVP = 3,48

OVPR = 3,45

UVPR = 3,00

UVP = 2,90

Power off = 2,7

start balance = 3,4

Grüße Kiwi

Ich habe beim BMS die grenzen 0,05V unter/über Max- bzw Minimalspannung. Das greift ja wirklich nur ein, wenn was komplett in die Hose geht. Daher kann das schon sehr nah an den zugelassen Min/Max Spannungen liegen.
Zum SoC folgendes. Wenn du den Akku nicht regelmäßig leer machst, dann wird der SoC irgendwann nicht mehr richtig angezeigt. Bei mir hat er tlw nur noch bis 92% geladen. Macht aber nichts, in der Realität kann er auf die gleiche Kapazität zurückgreifen. Lediglich die SoC Berechnung ist fehlerhaft.

Hallo zusammen, ich habe bei meinem JK auch die Besonderheit, dass ein Block nur noch bis 90% geladen wird, währen der 2. 100% anzeigt. Es leigt dann vermutlich so wie Timbo sagt daran, dass die Batterie nie oder kaum entladen wird. Bin am überlegen ob ich auf Seplos umsteigen soll.

Hallo zusammen , ich würde gerne hier auch mein Prob schildern und bitte um Einstellungsvorschläge. Bekomme zu häufig Zellungleich Meldungen und würde das Meldeverhalten etwas entschärfen. Wo steht dieser Parameter? Hab Trigger schon auf 0,03 eingestellt - hat das damit überhaupt was damit zu tun? Scheinbar kann ich die Daten in die oben genannte *.py Datei eintragen und die werden dann in´s BMS übernommen? Hab versucht die Einstellungen mit der JK app zu machen, dann bin ich nach kurzer Zeit Stromlos weil der Multiplus sich abschaltet.

Hallo Zusammen,
ich habe jetzt meinen 16s Akku mit dem neuen Inverter BMS verbunden und an meine Multiplus2 5000 mit MPPT Laderegler angeschlossen.
Die Einstellungen im BMS habe ich nur grob überflogen weil ich tatsächlich weniger als die hälfte davon überhaupt verstehe oder nicht weis wie es optimal wäre.
Wäre jemand so nett und könnte mir den Link posten in der für Leute wie mich, die gesamten Einstellungen mal gezeigt werden?
Ich würde das gerne alles so optimieren das er gegen 100% SOC davor auch den Strom absenkt.
Ich hoffe das mir jemand vielleicht mit Screenshots oder ähnlichem weiterhelfen kann.
Vielen Dank :slight_smile:

@chris89wes

Biddaschön :hugs:

Offgrid Andy JK BMS Einstellungen

@assa13 oh das ging aber schnell, vielen vielen Dank.
werde ich morgen mal alles durchgehen :+1:

Kann es sein, dass die neueren FW Versionen (ich hab z.B. 15.30 auf dem BMS) andere Optionen haben, als die von Andy gezeigten?
Bei mir fehlt z.B. der Parameter für Dischrg. Pre. Chrg. T(S).
S.

Das gibt es nur für die V14.X Versionen

Sprich neuere Versionen der FW haben weniger Parameter ?

In nem anderen Faden hab ich auch schon angemerkt, dass wenn ich bei der Data Storage Period (S) einen Wert eintrage - z.B. 864000 - wird der nicht übernommen sondern aktuell zb irgendwas um die 20000. Bem nächsten mal ist es wieder ein anderer Wert.

14 bezieht sich auf die Hardware, und für die 14er Hardware gibts eine andere FW als für deine 15ner HW