JK-Inverter-BMS - Doku Einstellungen ab FW xx.35

Hallo zusammen,
ich habe mir mal die Mühe gemacht, alle Einstellungen des Inverter BMS zu dokumentieren, damit Einsteiger sich nicht jedesmal durchfragen oder sich mit langen Youtube-Videos rumschlagen müssen.
Einige Einstellungen sind mir selbst unklar. Ich bitte um Verbesserungsvorschläge und werde das hier dann weiter im ersten Beitrag pflegen.
Ich selbst habe ein Victron-System. Falls einige Einstellungen für Deye-Systeme nicht passen, dann bitte ich um Feedback

Rechts neben den schwarzen Überschriften finden sich die sinnvollen Einstellwerte für Anfänger als initiales Setup für eine LFP-Battere mit 16 Zellen, mit dem das System gut funktionieren sollte.

Stand: 28.4.2025
Firmware: xx.35 aufwärts


Cell Count: - 16
Anzahl der in Reihe geschalteten Zellen

Battery Capacity (Ah): 230Ah, 280Ah, 305Ah, 314Ah, ...
Nennkapazität der verwendeten Zellen

Balance Trigger Voltage (V): 0.010mV
Solange die Zellspannungsdifferenz zwischen der Zelle mit der niedrigsten Spannung und der Zelle mit der höchsten Spannung über diesem Wert ist, ist auch der Balancer aktiv, sofern, die Zelle mit der höchsten Spannung auch über Start Balance Voltage liegt.

Calibrating Voltage (V):
Hier kann zu Kalibrierungszwecken der Spannungswert eingetragen werden, der aktuell von z.B. einem externen Multimeter an der Batterie gemessen wird. Bei Victron-Systemen macht es Sinn, hier geringfügig höhere Werte (ca. 200mV) einzutragen, als das Victron-System selbst misst, um sicherzustellen, dass ein 100% SOC-Reset möglich ist (siehe unten in der Beschreibung des 100% SOC-Reset).
Bei Deye-Systemen kenne ich das sinnvolle Vorgehen nicht. Vermutlich ist auch hier das gleiche Vorgehen sinnvoll, jedoch eventuell mit größeren Differenzen, z.B. 500mV.

Calibrating Current (A):
Hier kann zu Kalibrierungszwecken der Stromwert eingetragen werden, der aktuell von einem externen präzisen Strommessgerät gemessen wird. Da die Strommessung des BMS ohnehin sehr schlecht ist, ist es Glückssache, das durch eine Kalibrierung wirklich zu verbessern, da der Messfehler je nach Messwert und Stromrichtung mal zu hoch und zu niedrig sein kann. Hier reicht ein einzelner Kalibrierwert nicht aus.

Start Balance Voltage (V): 3.45V
Sobald die Batteriezelle mit der höchsten Spannung über diesem Spannungswert liegt, wird der Balancer aktiv, sofern die maximale Zellspannungsdifferenz auch die Balance Trigger Voltage überschreitet.

Max Balance Current (A): 2.0A
Strom, mit dem maximal gebalanct werden soll.

Cell OVP (V) - Cell OverVoltageProtection: 3.620V
Wenn eine Zelle diesen Spannungswert überschreitet, wird der Ladepfad des BMS abgeschaltet und zusätzlich ein Überspannungsfehler auf dem CAN-Bus ausgegeben

Voltage Cell RCV (V) - Voltage Cell RequestedChargeVoltage: 3.500V
Diese Spannung multipliziert mit der Zellanzahl gibt das BMS per CAN als Sollwert für die externe Ladequelle aus. Bei 3,500V und 16 Zellen wären das exakt 56,00V.
Gleichzeitig muss diese Spannung erreicht werden, um den RCV-Timer zu starten (siehe weiter unten).
Das ist keine gute Umsetzung von JK und führt zu diversen Problemen.

Höhere Spannungen ermöglichen auch bei Batterietemperaturen unter 15°C hohe Ladeströme bis nahe an 100% SOC.
Niedrige Spannungen verlängern die Lebensdauer der Zellen.
Der vorgeschlagene Wert ist ein Kompromiss, der weder die Zellen übermäßig schädigt noch gravierenden Einfluss auf den erzielbaren Ladestrom hat.

Es ist sehr empfehlenswert, diese Spannung so einzustellen, dass sie, multipliziert mit der Zellanzahl, eine Spannung ergibt, die nur eine Nachkommastelle hat.
3,525V x 16 = 56,40V -> i.O.
3,530V x 16 = 56,48V -> n.i.O.

Mehr dazu weiter unten

SOC-100% Voltage (V): 3.475V
Diese Spannung muss nach Ablauf des RCV-Timers überschritten sein, damit ein 100%-Reset des SOCs gemacht wird. (siehe unten)

Cell OVPR (V) - Cell OverVoltageProtectionRecovery: 3.450V
Nach einer Überspannungsabschaltung muss die Zellspannung unter diesen Wert abgefallen sein, damit das BMS den Ladepfad wieder zuschaltet. Es wird dringend empfohlen, diesen Wert nicht deutlich höher zu setzen, weil es sonst in rascher Folge zu wiederkehrenden Überspannungsabschaltungen führen kann, was für die Zellen und das BMS nicht gesund ist.

Cell UVPR (V) - Cell UnderVoltageProtectionRecovery: 3.100V
Nach einer Unterspannungsabschaltung muss die Zellspannung über diesen Wert ansteigen, damit das BMS den Entladepfad wieder zuschaltet.

SOC-0% Voltage (V): 3.000V
Bei Unterschreiten dieser Spannung wird der SOC des BMS auf 0% gesetzt.

Cell UVP (V) - Cell UnderVoltageProtection: 2.800V
Wenn eine Zelle diesen Spannungswert unterschreitet, wird der Entladepfad des BMS abgeschaltet und zusätzlich ein Unterspannungsfehler auf dem CAN-Bus ausgegeben.

Power Off Voltage (V): 2.500V
Wenn eine Zelle diesen Spannungswert unterschreitet, schaltet sich das BMS komplett ab und kann nur wieder manuell über die Taste aktiviert werden.

Voltage Cell RFV (V) - Voltage Cell RequestedFloatVoltage: 3.400V
Nach dem 100% SOC-Reset gibt das BMS per CAN für die unter RFV Time eingestellte Zeit diese Zellspannung multipliziert mit der Zellanzahl als Sollwert für die externe Ladequelle aus.

Voltage Smart Sleep (V): 3.500V
Vermutung:
Wenn die SmartSleep-Funktion in der App aktiviert wurde und alle Zellen diese Spannung für mindestens Time Smart Sleep überschritten haben, geht das BMS schlafen. Vielleicht für den Camping-Bereich interessant, für Heimspeicher eher weniger

Time Smart Sleep(h): 24h
Siehe Voltage Smart Sleep.

Continued Charge Current (A)
Diese Einstellung dient 2 Mechanismen:

  1. Dieser Wert wird abzüglich 5% als maximal zulässiger Ladestrom per CAN an die Ladequelle übermittelt. Stellt man hier 100A ein, wird die Ladequelle also maximal mit 95A laden.
    Werden diese 95A überschritten, wird per CAN eine Warnung ausgegeben.
  2. Dieser Wert dient auch dem Überstromschutz:
    Wird dieser Ladestrom für länger als Charge OCP Delay überschritten, wird der Ladepfad des BMS abgeschaltet und per CAN ein Fehler ausgegeben.

Aufgrund der erheblichen Messfehler des JK-BMS kann es sinnvoll sein, einen 10-20% niedrigeren Wert im ladenden System einzutragen, damit dieses einen guten Sicherheitsabstand zu dem hier eingegebenen Wert einhält, um fehlerhafte Überstromabschaltungen zu vermeiden.
In einem Victron-Venus-System kann das im DVCC unter Ladestrombegrenzung gemacht werden. Dort also z.B. 80A eintragen und hier im BMS 100A.

Charge OCP Delay (s) - Charge OverCurrentProtection Delay(s): 3s
Zeit, für die ein Ladeüberstrom akzeptiert wird, ohne dass das BMS abschaltet

Charge OCPR Time (s) - Charge OverCurrentProtectionRecovery Time(s): 60s
Nach einer Ladeüberstromabschaltung bleibt der Ladepfad für diese Zeitdauer ausgeschaltet

Continued Discharge Current (A)
Diese Einstellung dient 2 Mechanismen:

  1. Dieser Wert wird abzüglich 5% als maximal zulässiger Entladestrom per CAN an den Wechselrichter übermittelt. Stellt man hier 100A ein, wird der Wechselrichter die Batterie also maximal mit 95A entladen.
    Werden diese 95A überschritten, wird per CAN eine Warnung ausgegeben.
  2. Dieser Wert dient auch dem Überstromschutz:.
    Wird dieser Ladestrom für länger als Discharge OCP Delay überschritten, wird der Entladepfad des BMS abgeschaltet und per CAN ein Fehler ausgegeben.

Aufgrund der erheblichen Messfehler des JK-BMS kann es sinnvoll sein, im entladenden System den maximalen Entladestrom auf einen 10-20% niedrigeren Wert einzustellen damit dieses einen guten Sicherheitsabstand zu dem hier eingegebenen Wert einhält, um fehlerhafte Überstromabschaltungen zu vermeiden.
In einem Victron-Venus-System kann das leider nur wenig elegant im ESS unter Wechselrichterleistung begrenzen gemacht werden. Dort also den Strom auf Wechselrichter-Leistung umrechnen, den Wirkungsgrad nicht vergessen und einen sinnvollen Wert eintragen.

Discharge OCP Delay (s) - Discharge OverCurrentProtection Delay(s): 3s
Zeit, für die ein Entladeüberstrom akzeptiert wird, ohne dass das BMS abschaltet

Discharge OCPR Time (s) - Discharge OverCurrentProtectionRecovery Time(s): 60s
Nach einer Entladeüberstromabschaltung bleibt der Entladepfad für diese Zeitdauer ausgeschaltet

Charge OTP (°C) - Charge OverTemperatureProtection: 50°C
Erreicht einer der Temperaturfühler der Batterie diese Temperatur, wird der Ladepfad des BMS abgeschaltet.

Charge OTPR (°C) - Charge OverTemperatureProtectionRecovery: 45°C
Nach einer Übertemperaturabschaltung muss die Temperatur auf diesen Wert abgefallen sein, damit das BMS den Ladepfad wieder aktiviert.

Discharge OTP (°C) - Discharge OverTemperatureProtection: 50°C
Erreicht einer der Temperaturfühler der Batterie diese Temperatur, wird der Entladepfad des BMS abgeschaltet.

Discharge OTPR (°C) - Discharge OverTemperatureProtectionRecovery: 45°C
Nach einer Übertemperaturabschaltung muss die Temperatur auf diesen Wert abgefallen sein, damit das BMS den Entladepfad wieder aktiviert.

Charge UTPR (°C) - Charge UnderTemperatureProtectionRecovery: 12°C
Nach einer Untertemperaturabschaltung muss die Temperatur auf diesen Wert angestiegen sein, damit das BMS den Ladepfad wieder aktiviert.

Charge UTP (°C) - Charge UnderTemperatureProtection: 10°C
Erreicht einer der Temperaturfühler der Batterie diese Temperatur, wird der Ladepfad des BMS abgeschaltet.
Vorsicht: LFP-Akku dürfen zwar bis 0°C geladen werden, jedoch nur mit stark reduzierten Strömen. Das BMS kennt aber nur eine Temperaturschwelle und kann bei Tieftemperatur keine niedrigeren Ladeströme vorgeben. Deshalb sollten hier Schwellwerte eingetragen werden, die auch im Winter sicherstellen, dass die Zellen bei maximaler Sonneneinstrahlung nicht überfahren werden.

MOS OTP (°C) - BMS-MOSFET-Transistor OverTemperatureProtection: 80°C
Erreicht das BMS an den MOSFETs diese Temperatur, schaltet das BMS Lade- und Entladepfad ab.

MOS OTPR (°C) - BMS-MOSFET-Transistor OverTemperatureProtectionRecovery: 70°C
Nach einer Übertemperaturabschaltung muss die Temperatur auf diesen Wert abgefallen sein, damit das BMS Lade- und Entladepfad wieder aktiviert.

SCPDelay (µs) - ShortCircuitProtection Delay: 1500µs
Wenn für mehr als diese Zeit ein Kurzschluss erkannt wird, schaltet das BMS ab.
Zu kurze Zeiten können beim Zuschalten von kapazitiven Lasten (Wechselrichter) zu Fehlabschaltungen führen.
Zu lange Zeiten können bei einem echten Kurzschluss zum Defekt von BMS oder anderen Komponenten führen.

SCPR Time (s) - ShortCircuitProtectionRecovery Time: 30s
Nach einem Kurzschluss wird für diese Zeitspanne gewartet, bis erneut versucht wird, das BMS einzuschalten.

Device Address: 0
Wird duch die DIP-Schalter festgelegt. Kann für Einzelbatteriesysteme auf 0 bleiben

Data Stored Period (S): 3600
Funktion unbekannt

RCV Time (H) - RequestedChargeVoltage Time: 0.5h
Zeitdauer, in der das BMS über CAN die RCV-Spannung als Ladespannung anfordert, bis der 100%-SOC-Reset gemacht und auf die RFV (RequestedFloatVoltage) reduziert wird.
Sollte lange genug sein, damit das BMS die Zellen sicher balancen kann.
Sollte nicht unnötig lange sein, um die Zellen nicht schneller altern zu lassen.
Details dazu unten in der Beschreibung der State-Machine zum SOC 100% Reset.

RFV Time (H) - RequestedFloatVoltage Time: 12h
Zeitdauer, in der als Ladespannung die RFV gefordert wird, bis danach wieder die RCV als Ladespannung angefordert wird. Diese Timer ist in der Praxis teils deutlich kürzer, wenn die Batterie zwischendurch stark entladen wird. Zusammenhänge sind weder verstanden noch von JK dokumentiert.

Emergency Time(Min): 30min
Zeit, für die auch eine entladene Batterie unter der UVP-Grenze weiter entladen werden darf, wenn per App der Emergency-Mode aktiviert wird.

User Private Data: JK-BMS
Mit dieser Kennung meldet sich das BMS über CAN

User Data 2: JK-BMS
unbekannt

UART1 Protocol No.: 0
unbekannt

UART2 Protocol No.: 15
unbekannt

CAN Protocol No.: 4
4 funktioniert mit Victron-Systemen
Dazu muss im Victron Venus CAN-Bus BMS LV (500 kbit/s) eingestellt sein

LCD Buzzer Trigger: 9
unbekannt

LCD Buzzer Trigger Value: 100
unbekannt

LCD Buzzer Release Value: 95
unbekannt

DRY1 Trigger: 0
Einstellung für integriertes Relais 1

DRY1 Trigger Value: 0
Einstellung für integriertes Relais 1

DRY1 Release Value: 0
Einstellung für integriertes Relais 1

DRY2 Trigger: 0
Einstellung für integriertes Relais 2

DRY2 Trigger Value: 0
Einstellung für integriertes Relais 2

DRY2 Release Value: 0
Einstellung für integriertes Relais 2


Der SOC der Batterie wird zwischen 1% und 99% nur durch die Strommessung des BMS bestimmt. Es wird gemessen, wieviel Strom wie lange in welche Richtung geflossen ist und daraus mit Hilfe der ganz oben eingestellten Zellkapazität errechnet, wieviel Ladung gerade in der Batterie ist. Dieses Verfahren wird umso schlechter, je länger es läuft, ohne nachkalibriert zu werden. Beim JK-BMS funktioniert es besonders schlecht, da die Strommessung sehr ungenau ist.
Das BMS hat jedoch 2 Mechanismen, um den SOC nachzukalibrieren:

  1. Wenn eine Zelle die SOC-0% Voltage unterschreitet (oder die ganze Batterie SOC-0% Voltage × 16 ????), dann geht das BMS davon aus, dass die Batterie leer ist und setzt den SOC auf 0%
  2. Wenn die Batteriespannung für eine gewisse Zeit über der SOC-100% Voltage × 16 liegt und gleichzeitig noch weitere Bedingungen erfüllt sind, wird der SOC auf 100% gesetzt. Wie das genau passiert, wird im Folgenden beschrieben.

100%-Reset-Logik des JK-BMS ab Firmware xx.35
Folgende Grafik zeigt die StateMachine des BMS für den 100% SOC-Reset für ein Batteriesystem mit 16 Zellen.

State 1-4:
Das BMS gibt dem ladenden System per CAN-Bus vor, die Batterie mit RCV × 16 zu laden. Bei RCV=3.5V wären das exakt 56,0V.

State 5-7:
Das BMS gibt dem ladenden System per CAN-Bus vor, die Batterie mit RFV × 16 zu laden. Bei RCV=3.4V wären das exakt 54,4V.

State 1:
Das BMS verbleibt in diesem State, solange die Batteriespannung < RCV × 16 ist.
Problem:
Das ladende System, also z.B. das Victron-System oder der Deye-Wechselrichter, regelt mit der Vorgabe des BMS auf die Spannung, die es selbst misst. Es kann also passieren, dass das Victron-System aus seiner Sicht auf exakt 56,0V regelt, das BMS selbst aber nur 55,8V misst. Dann kommt es nie zu einem 100% SOC-Reset.
Andersrum: Misst das BMS eine etwas höhere Spannung als das Victron-System, also z.B. 56,2V, dann wird der 100% SOC-Reset sehr sicher erreicht.
Das ist von JK blöd gelöst, da übliche Toleranzen vollständig vernachlässigt werden. Aus diesem Grund ist eine leicht falsche Kalibrierung der Spannungsmessung des BMS empfehlenswert.

Außerdem ist es wichtig, die RCV-Spannung so einzustellen, dass bei der Multiplikation mit 16 keine 2. Nachkommastelle entsteht. Für 3,530 x 16 = 56,48V würde ein Victron-System nämlich nur auf 56,40V regeln und daher niemals ein 100%-SOC-Reset stattfinden. Eventuell ist das bei Deye-Systemen ähnlich.

State 2:
Der RCV-Timer wird gestartet

State 3:
Der RCV-Timer läuft

State 4:
Erreicht der RCV-Timer den Wert RCV-Time, wird in diesem State geprüft, ob die Batteriespannung immernoch über SOC-100% Voltage liegt.
Wenn ja, 100%-Reset erfolgreich (State 5)
Wenn nein, kein 100% Reset. Was das System dann genau macht, ist noch nicht ganz klar und von JK auch nicht dokumentiert. Eventuell verharrt es eine Weile in State 4 oder wechselt wieder nach State 1

State 5:
SOC wird auf 100% gesetzt

State 6:
Floating Timer wird gestartet

State 7:
Floating Timer erreicht Endwert, System springt zurück nach State 1.
Es gibt auch Fälle, in denen das System deutlich früher zu State 1 zurückspringt, insbesondere dann, wenn die Batterie in der Floating Time signifikant entladen wird. Die Bedingung für diese verfrühten Rücksprung ist aber unbekannt.


Und hier das ganze nochmal grafisch für einen ideal verlaufenden 100%-Reset:


Software / Firmware
Firmware, Android App, Windows-Software gibt es leider nicht direkt beim Hersteller sondern bei Andy (Offgrid Garage):
Download über Google Drive
Die aktuelle Android App gibt es nicht mehr im Google Play Store. Eventuell entspricht sie nicht den Vorgaben von Google. Verweigert man den GPS-Zugriff, funktioniert die ganze App nicht.

29 „Gefällt mir“

Großartig! Vielen Dank!

Als Anmerkung und eigene Erfahrung zum Thema, finde eine klare Referenz bei Deiner Anleitung zur Firmware auf der es basiert, sehr hilfreich und wichtig. Bei meiner Suche bin ich auf viel gestoßen, aber es wurde auch einiges verändert in der FW, insofern viel altes Zeug unterwegs und als Ensteiger sehr verwirrend und gefährlich das alles kunterbunt zu vermischen. Daher für mich sehr wichtig zu verstehen, wann (FW Version) diese Aussagen getroffen wurden.

Danke für den Hinweis, habe das ergänzt.

1 „Gefällt mir“

Ich habe den faden mal oben angeheftet.

Oben fehlen mir noch Infos zu manchen Einstellungen. Auch das Verhalten mit Deye-Systemen konnte ich nicht beschreiben.
Macht hier gerne Vorschläge, wie man das reinschreiben könnte, ich kopiere das dann oben ins Original rein.

1 „Gefällt mir“

Wenn der Verfasser es erlaubt, kann man ein Wiki draus machen. Dann kann jeder ändern.

1 „Gefällt mir“

Keine Ahnung, wie gut das funktioniert und wieviel daran dann von verschiedensten Leuten mit verschiedensten Philosophien rumgebastelt wird. Tendentiell würde ich das befürworten, aber vielleicht noch nicht jetzt.

1 „Gefällt mir“

Du entscheidest.

Bitte korrigieren !!!
Das sind Werte die das JKBMS an den Wechseltrichter / Ladegerät als Parameter "meldet" . JKBMS zieht dann noch 5% vom Wert als Sicherheitswert ab.
Bsp.: Einstellung Continued Charge Current (A) = 85 A
Das JKBMS sendet dann 80,7 A an den Wechselrichter .

Das gleiche gilt für den Entladestrom .

Hier stellt man als maximalen Wert ein , die der Wechselrichter kann .
Hat man eine z. Bsp. einen Victron Multiplus 5000,(der kann man nur maximal mit 70 A) laden,. bedeutet also max. 70 A Ladestrom
Falls man zusätzlich einen MPPT hat , der selbst schon 20 Ampere bringt, kann man den Wert auch auf 70A + 20 A = 90 A setzen .
Hängt natürlich auch von der Batterie ab mit wieviel Strom man die laden kann .
Empfohlen wird ja mit maximal 0,5C .
Ich habe auch einen Victron MP2 5000 und einen MPPT im Einsatz .
Lade aber meine 230 Ah - Zellen sehr moderat mit 50 Ampere .

Beim Entladestrom kann man maximal die Leistung setzen die der Wechseltichter kann . Bei meinem Victron MP2 hängt das aber auch ch von der AC-Eingangsabsicherung ab .
Bei meiner Anlage ist der Victron MP2 mit 18 Ampere AC-seitig abgesichert . Das wären bei 230 Volt = 4140 Watt. entspricht bei ca. 54 Volt DC = 76 Ampere .
Ich habe den Continued Discharge Current (A) = 80 A gesetzt , abzüglich der 5% Sicherheit die das JKBMS abzieht sind es dann => 76 A . ca. 4100 Watt.

also kurzum ...mit diesen Parametern werden die Wechselrichter / Ladegerät auf den entsprechsen Werten Stromwerten eingestellt .

Danke für den Hinweis. Habe das oben mal angepasst. Da kann man natürlich noch unendlich mehr dazu schreiben.
Tatsächlich dient der Wert nämlich 2 Dingen. Wäre schöner, wenn man das unabhängig einstellen könnte.
Ich hatte da in der Vergangenheit schon mehrfach Überstromwarnungen im Victron-Log, glücklicherweise aber nie eine Abschaltung

Es gibt neue PC Software, damit kann man Settings importieren und exportieren, und die V19 hatt GPS locked, k.A. was das sein soll :thinking: Software gibt es auf Andys Google-Server


Wo ist die neue PC Software zu finden?
Danke :hugs:

1 „Gefällt mir“

da liegt nun übrigens auch eine v15.39

V15.39 Upgrade logs

  1. Add the function of parameter import and export.
1 „Gefällt mir“