Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:tipps:diysolarakku

Victron Cerbo GX – dbus-serialbattery für JK-BMS (RS485)

Victron unterstützt nur wenige Batterien. Um Batterien mit JK-BMS betreiben zu können ist dieser Treiber erforderlich.

Installation

Voraussetzungen:

  • Victron Cerbo GX
  • Venus OS v3.72 oder neuer
  • SSH-Zugang als root
  • JK Inverter BMS (Jkbms_pb)
  • potentialfreier USB-RS485 Adapter

Aktuelle Version installieren:

wget -O /tmp/install.sh https://raw.githubusercontent.com/mr-manuel/venus-os_dbus-serialbattery/master/dbus-serialbattery/install.sh
 
bash /tmp/install.sh

Im Installationsmenü Latest Release auswählen.

Anschließend den Cerbo neu starten:

reboot

Prüfen ob der RS485-Adapter erkannt wurde:

ls -l /dev/serial/by-id/

Beispiel:

usb-FTDI_FT232R_USB_UART_BG03Z45C-if00-port0 -> ../../ttyUSB1

Konfiguration bei DJ0ABR und DL1EV

Diese Konfiguration ist für einen Verbund aus Pylontech Batterien und DIY Batterien (beide 15 Zellen) ausgelegt. Die Pylontech Batterien sind via BMS_CAN am Cerbo angeschlossen. Die DIY (JK-BMS) Batterien via RS485/USB Adapter.

Die Datei config.ini überschreibt die Standardwerte aus config.default.ini.

Datei anlegen oder bearbeiten:

nano /data/etc/dbus-serialbattery/config.ini

Inhalt:

[DEFAULT]
 
BMS_TYPE = Jkbms_pb
BATTERY_ADDRESSES = 0x00
BATTERY_CAPACITY = 324
 
MAX_BATTERY_CHARGE_CURRENT = 150.0
MAX_BATTERY_DISCHARGE_CURRENT = 150.0
 
MIN_CELL_VOLTAGE = 2.850
MAX_CELL_VOLTAGE = 3.490
FLOAT_CELL_VOLTAGE = 3.410
 
SOC_RESET_CELL_VOLTAGE = 3.490
SOC_RESET_AFTER_DAYS = 30
 
CELL_VOLTAGES_WHILE_CHARGING   = 3.550, 3.520, 3.500, 3.470, 3.430
MAX_CHARGE_CURRENT_CV_FRACTION = 0.000, 0.005, 0.050, 0.250, 1.000
 
CELL_VOLTAGES_WHILE_DISCHARGING   = 2.800, 2.850, 3.000, 3.100, 3.190
MAX_DISCHARGE_CURRENT_CV_FRACTION = 0.000, 0.005, 0.050, 0.250, 1.000
 
TEMPERATURES_WHILE_CHARGING   =    0,    5,   10,   45,   50
MAX_CHARGE_CURRENT_T_FRACTION = 0.00, 0.50, 1.00, 1.00, 0.00
 
TEMPERATURES_WHILE_DISCHARGING   =  -35,  -30,    0,   10,   55,   60
MAX_DISCHARGE_CURRENT_T_FRACTION = 0.00, 0.25, 1.00, 1.00, 1.00, 0.00
 
MOSFET_TEMPERATURES_WHILE_CHARGING   =   70,   75
MAX_CHARGE_CURRENT_T_MOSFET_FRACTION = 1.00, 0.00
 
MOSFET_TEMPERATURES_WHILE_DISCHARGING   =   70,   75
MAX_DISCHARGE_CURRENT_T_MOSFET_FRACTION = 1.00, 0.00
 
USE_BMS_DVCC_VALUES = False

Erläuterung der Parameter

Parameter Beschreibung
BMS_TYPE = Jkbms_pb Verwendeter Batterietreiber. Für JK Inverter BMS mit RS485.
BATTERY_ADDRESSES = 0x00 RS485-Adresse des BMS. Standardmäßig Adresse 0.
BATTERY_CAPACITY = 324 Nennkapazität des Akkus in Ah. Wird für SoC-Berechnungen verwendet.
MAX_BATTERY_CHARGE_CURRENT = 150.0 Maximal erlaubter Ladestrom in Ampere.
MAX_BATTERY_DISCHARGE_CURRENT = 150.0 Maximal erlaubter Entladestrom in Ampere.
MIN_CELL_VOLTAGE = 2.850 Untere Zellspannungsgrenze. Unterhalb dieses Wertes wird die Entladeleistung reduziert.
MAX_CELL_VOLTAGE = 3.490 Obere Zellspannungsgrenze. Oberhalb dieses Wertes wird die Ladeleistung reduziert.
FLOAT_CELL_VOLTAGE = 3.410 Zellspannung während der Erhaltungsladung.
SOC_RESET_CELL_VOLTAGE = 3.490 Zellspannung ab der der Ladezustand auf 100 % zurückgesetzt werden darf.
SOC_RESET_AFTER_DAYS = 30 Erzwingt spätestens nach 30 Tagen eine erneute Kalibrierung des SoC.
CELL_VOLTAGES_WHILE_CHARGING Spannungsstützpunkte für die Ladeleistungsbegrenzung.
MAX_CHARGE_CURRENT_CV_FRACTION Faktor des maximalen Ladestroms für die jeweiligen Spannungen.
CELL_VOLTAGES_WHILE_DISCHARGING Spannungsstützpunkte für die Entladeleistungsbegrenzung.
MAX_DISCHARGE_CURRENT_CV_FRACTION Faktor des maximalen Entladestroms für die jeweiligen Spannungen.
TEMPERATURES_WHILE_CHARGING Temperaturstützpunkte für die Ladeleistungsbegrenzung.
MAX_CHARGE_CURRENT_T_FRACTION Faktor des maximalen Ladestroms abhängig von der Batterietemperatur.
TEMPERATURES_WHILE_DISCHARGING Temperaturstützpunkte für die Entladeleistungsbegrenzung.
MAX_DISCHARGE_CURRENT_T_FRACTION Faktor des maximalen Entladestroms abhängig von der Batterietemperatur.
MOSFET_TEMPERATURES_WHILE_CHARGING Temperaturgrenzen der BMS-MOSFETs beim Laden.
MAX_CHARGE_CURRENT_T_MOSFET_FRACTION Ladestrombegrenzung in Abhängigkeit der MOSFET-Temperatur.
MOSFET_TEMPERATURES_WHILE_DISCHARGING Temperaturgrenzen der BMS-MOSFETs beim Entladen.
MAX_DISCHARGE_CURRENT_T_MOSFET_FRACTION Entladestrombegrenzung in Abhängigkeit der MOSFET-Temperatur.
USE_BMS_DVCC_VALUES = False Verwendet die Werte aus dieser Konfiguration und nicht die vom BMS gemeldeten DVCC-Werte.

Konfiguration (DH5RAE Version)

Diese Konfiguration ist für einen Verbund aus zwei JK-BMS Batterien ausgelegt. Die Kommunikation erfolgt wahlweise über CAN oder RS485. In der hier gezeigten Konfiguration wird CAN verwendet.

[DEFAULT]
LOGGING = INFO
; can0=VE-CAN, can1=BMS-CAN
CAN_PORT = can0, can1
BMS_TYPE = Jkbms_Can
BATTERY_ADDRESSES = 0x00, 0x01
MAX_BATTERY_CHARGE_CURRENT    = 120.0
MAX_BATTERY_DISCHARGE_CURRENT = 120.0
MIN_CELL_VOLTAGE   = 3.00
MAX_CELL_VOLTAGE   = 3.46
FLOAT_CELL_VOLTAGE = 3.41
 
SOC_RESET_CELL_VOLTAGE = 3.445
;SOC_RESET_AFTER_DAYS = 1
CURRENT_REPORTED_BY_BMS  = -300, 300
CURRENT_MEASURED_BY_USER = -300, 300
 
CELL_VOLTAGES_WHILE_DISCHARGING   = 3.0, 3.050, 3.10, 3.15, 3.2
MAX_DISCHARGE_CURRENT_CV_FRACTION =    0, 0.1, 0.5, 1, 1
 
BLOCK_ON_DISCONNECT = True
CHARGE_MODE = 1
CVCM_ENABLE = True
 
CVL_CONTROLLER_MODE = 1
CVL_ICONTROLLER_FACTOR = 0.2
 
TEMPERATURES_WHILE_CHARGING	 =    0,    2,    5,   10,   40,   45,   50,   55
MAX_CHARGE_CURRENT_T_FRACTION    = 0.00, 0.25, 0.50, 1.00, 1.00, 0.50, 0.25, 0.00
 
TEMPERATURES_WHILE_DISCHARGING   =  -10,    0,    5,   10,   40,   45,   50,   55
MAX_DISCHARGE_CURRENT_T_FRACTION = 0.00, 0.25, 0.50, 1.00, 1.00, 0.50, 0.25, 0.00
 
MOSFET_TEMPERATURES_WHILE_CHARGING	=   70,   80,   90
MAX_CHARGE_CURRENT_T_MOSFET_FRACTION    = 1.00, 0.25, 0.00
 
MOSFET_TEMPERATURES_WHILE_DISCHARGING   =   70,   80,   90
MAX_DISCHARGE_CURRENT_T_MOSFET_FRACTION = 1.00, 0.25, 0.00
 
HISTORY_ENABLE = True
BATTERY_CELL_DATA_FORMAT = 1
TEMPERATURE_SOURCE_BATTERY = 1, 2, 3, 4 

Erläuterung der Parameter

Parameter Beschreibung
LOGGING = INFO Standard-Loglevel. Zeigt wichtige Status- und Fehlermeldungen an ohne die Logdatei unnötig aufzublähen.
CAN_PORT = can0, can1 Überwachte CAN-Interfaces. can0 entspricht dem VE.Can-Port des Cerbo GX, can1 einem zusätzlichen BMS-CAN-Interface.
BMS_TYPE = Jkbms_Can Auswahl des verwendeten Treibers. Für JK-BMS über CAN. Bei RS485 stattdessen Jkbms_pb verwenden.
BATTERY_ADDRESSES = 0x00, 0x01 Zu überwachende Batterien. Adresse 0 ist der Master, Adresse 1 der Slave. Beide Batterien werden zu einem gemeinsamen Speicher zusammengefasst.
MAX_BATTERY_CHARGE_CURRENT = 120.0 Maximal zulässiger Ladestrom für den gesamten Batterieverbund.
MAX_BATTERY_DISCHARGE_CURRENT = 120.0 Maximal zulässiger Entladestrom für den gesamten Batterieverbund.
MIN_CELL_VOLTAGE = 3.00 Untere Zellspannungsgrenze. Unterhalb dieses Wertes wird die Entladeleistung reduziert.
MAX_CELL_VOLTAGE = 3.46 Obere Zellspannungsgrenze für die Ladeleistungsregelung.
FLOAT_CELL_VOLTAGE = 3.41 Zellspannung für die Erhaltungsladung.
SOC_RESET_CELL_VOLTAGE = 3.445 Ab dieser Zellspannung darf der SoC auf 100 % synchronisiert werden.
CURRENT_REPORTED_BY_BMS Referenzpunkte für die vom BMS gemeldeten Ströme.
CURRENT_MEASURED_BY_USER Tatsächlich gemessene Ströme. Kann zur Kalibrierung der Strommessung verwendet werden.
CELL_VOLTAGES_WHILE_DISCHARGING Zellspannungsstützpunkte für die Entladestrombegrenzung.
MAX_DISCHARGE_CURRENT_CV_FRACTION Faktor des maximalen Entladestroms an den jeweiligen Spannungsstützpunkten.
BLOCK_ON_DISCONNECT = True Sperrt Laden und Entladen bei Kommunikationsverlust zum BMS.
CHARGE_MODE = 1 Aktiviert die dynamische Ladebegrenzung durch dbus-serialbattery.
CVCM_ENABLE = True Aktiviert die dynamische Regelung der maximalen Ladespannung (CVL).
CVL_CONTROLLER_MODE = 1 Aktiviert den erweiterten CVL-Regler.
CVL_ICONTROLLER_FACTOR = 0.2 Verstärkungsfaktor des CVL-Reglers. Kleinere Werte reagieren langsamer, größere aggressiver.
TEMPERATURES_WHILE_CHARGING Temperaturstützpunkte für die Ladeleistungsbegrenzung.
MAX_CHARGE_CURRENT_T_FRACTION Zulässiger Anteil des Ladestroms in Abhängigkeit von der Batterietemperatur.
TEMPERATURES_WHILE_DISCHARGING Temperaturstützpunkte für die Entladeleistungsbegrenzung.
MAX_DISCHARGE_CURRENT_T_FRACTION Zulässiger Anteil des Entladestroms in Abhängigkeit von der Batterietemperatur.
MOSFET_TEMPERATURES_WHILE_CHARGING Temperaturgrenzen der Leistungsmosfets beim Laden.
MAX_CHARGE_CURRENT_T_MOSFET_FRACTION Ladestrombegrenzung abhängig von der MOSFET-Temperatur.
MOSFET_TEMPERATURES_WHILE_DISCHARGING Temperaturgrenzen der Leistungsmosfets beim Entladen.
MAX_DISCHARGE_CURRENT_T_MOSFET_FRACTION Entladestrombegrenzung abhängig von der MOSFET-Temperatur.
HISTORY_ENABLE = True Aktiviert die Speicherung historischer Batteriedaten im Venus OS.
BATTERY_CELL_DATA_FORMAT = 1 Überträgt Einzelzellinformationen im erweiterten Format an das Victron-System.
TEMPERATURE_SOURCE_BATTERY = 1, 2, 3, 4 Verwendet alle vier vom JK-BMS gemeldeten Temperatursensoren für die Berechnung der Batterietemperatur.

Treiber neu starten

Nach Änderungen an der Konfiguration:

svc -t /service/dbus-serialbattery.ttyUSB1

Alternativ kompletten Cerbo neu starten:

reboot

Fehlersuche

Laufendes Log anzeigen

tail -f /data/log/dbus-serialbattery.ttyUSB1/current

Letzte 100 Logzeilen anzeigen

tail -100 /data/log/dbus-serialbattery.ttyUSB1/current

Letzte 200 Logzeilen anzeigen

tail -200 /data/log/dbus-serialbattery.ttyUSB1/current

Prüfen ob der Dienst läuft

svstat /service/dbus-serialbattery.ttyUSB1

Prüfen welche USB-Geräte erkannt wurden

ls -l /dev/serial/by-id/

Prüfen welche serielle Schnittstelle verwendet wird

ls -l /dev/ttyUSB*

Bootmeldungen filtern

dmesg | grep ttyUSB

Alle Logdateien von dbus-serialbattery finden

find /data/log -name "*serialbattery*"

Häufige Fehlermeldung

Testing Jkbms_pb at address "\x00" with 115200 baud
No battery recognized

Mögliche Ursachen:

  • Falsche RS485-Adresse
  • RS485 A/B vertauscht
  • Falscher USB-RS485 Adapter
  • Falscher BMS-Typ konfiguriert
  • Keine Verbindung zum JK-BMS
  • RS485-Port am BMS falsch angeschlossen
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
de/tipps/diysolarakku.txt · Zuletzt geändert: von kurt

Seiten-Werkzeuge