Venus OS auf Raspberry PI mit JK BMS

Hi,

Ich habe gerade meinen ersten Akkupack gebaut. Dazu ein JK BMS P1A20S15PR. Meinen Victron MPII steuere ich mit Venus OS Large auf einen Raspberry Pi 5. Ich würde das JK BMS gerne per RS485 mit Venus OS sprechen lassen. Laut Datenblatt hat mein JK einen RS485 Ausgang (zusammen mit CAN) auf einen Stecker. Ich habe also das nötige Script auf dem Raspberry installiert. Das läuft auch und der RS485 to USB converter wird korrekt erkannt (Waveshare).

Mein Problem ist nun, dass ich vom JK BMS keine Daten empfangen kann. Ich habe die Verkabelung x-fach gecheckt. Auch Testweise A und B vertauscht, allerdings komme ich hier nicht weiter.

In der JK App finde ich keine Einstellung zu RS485, lediglich zu CAN und UART 1+2.

Warum RS485? Ich möchte noch weitere BMS mit dazu schalten.

Hat eine/r von euch einen Tipp für mich, woran es liegen könnte?

Danke und liebe Grüße

Ich würde das in drei Schichten trennen: USB/Serial, Protokoll, dann erst Venus/GX.

  1. Auf dem Raspberry per SSH zuerst prüfen, ob der Adapter wirklich als neuer Port auftaucht:
ls -l /dev/ttyUSB*
tail -F /data/log/serial-starter/current | tai64nlocal

Beim Ein-/Ausstecken des Waveshare sollte klar ein ttyUSBx erscheinen. Wenn kein dbus-serialbattery.ttyUSBx-Log entsteht, ist das Problem noch vor dem BMS-Protokoll.

  1. Dann das eigentliche Driver-Log ansehen:
tail -F /data/log/dbus-serialbattery.ttyUSB0/current | tai64nlocal

ttyUSB0 natürlich durch den gefundenen Port ersetzen. Interessant ist, ob dort Jkbms found, no BMS found oder No reply steht. Ohne diese Logzeile rät man schnell im Nebel.

  1. In der config.ini würde ich testweise BMS_TYPE = Jkbms setzen, damit nicht alle möglichen Treiber durchprobiert werden. Der normale Jkbms-Treiber ist Serial/UART/RS485; Jkbms_Can ist ein anderer Pfad. Wenn dein P1A20S15PR an diesem kombinierten CAN/RS485-Stecker nur das JK-Inverter/CAN-Profil sauber spricht, kann ein RS485-Adapter elektrisch korrekt sein und trotzdem kommt für den Serial-Treiber nichts Sinnvolles zurück.

  2. Wenn du mehrere BMS später parallel hängen willst: erst ein einzelnes BMS stabil zum Laufen bringen. Danach Adressen/Daisy-chain angehen. In der dbus-serialbattery Feature-Tabelle ist Multi/Daisy-chain bei JK nicht für alle JK-Varianten gleich; speziell bei JK Inverter/PB hängt das an Firmware/Adressierung.

Hilfreiche Referenz: die Troubleshooting-Seite von dbus-serialbattery beschreibt genau die relevanten Logs und serial-starter-Zuordnung:

Wenn du die letzten 30-50 Zeilen aus /data/log/dbus-serialbattery.ttyUSB*/current | tai64nlocal postest, sieht man meist ziemlich schnell, ob es Verkabelung/Adapter, falscher Port oder falscher JK-Protokolltyp ist.

Hi,

Danke dir für die Hilfe. Ich habe das vorher schon gecheckt. Der converter wurde korrekt erkannt und das Script lief meiner Ansicht nach auch fehlerfrei. Aber es kamen überhaupt keine Daten an. Deswegen habe ich Zweifel ob der Port tatsächlich funktioniert. Laut Typenbezeichnung sollte das BMS einen eigenen RS485 Port haben. Ich habe es inzwischen über den GPS/UART Ausgang geregelt.

TTL auf RS485 dann RS485 auf USB. Das wird jetzt erkannt und läuft auch.

Ich glaube ich werde keine Daisy Chain machen, eben weil es nicht so ohne ist mit den JK. Ich versuche es über einen aktiven USB Hub am Rpi.

Ich berichte Mal wie es gelaufen ist.

Viele Grüße!

hallo,

das standard jk-bms hat KEINE rs485-schnittstelle, sondern nur eine ttl-serielle schnittstelle. dafuer brauchst du einen rs485-adapter mit passendem stecker fuer das jk-bms oder hast du das inverter-bms?

tschuess

Hi,

Ja genau. Aber mein BMS ist das JK B1A20S15PR, wobei das R angeblich für RS485 hat. Ich habe auch einen Abgang CAN/RS485 und einen extra Abgang GPS. Laut Datenblatt soll PIN 1+2 CAN sein und PIN 3+4 soll RS485 sein.

Ich habe auch im Menü auch keine Option irgendein RS485 Protokoll speziell auf dem Ausgang zu wählen. Nur verschiedene CAN Protokolle kann ich einstellen.

Also scheint es dann doch kein echter Ausgang zu sein, oder vielleicht auch gar nicht belegt.

VG

Ich fürchte, dass der RS485 Anschluss am JK BMS nur für die Kommunikation mit parallel angeschlossenen weiteren Akkus mit JK BMS gedacht ist. Ich würde im Raspberry PI einen Pi CAN HAT installieren, mit dem die Verbindung via BMS-CAN zum MP2 problemlos funktionieren sollte.

Okay, aber mehrere BMS per CAN soll doch eher problematisch sein, oder? Da müsste ja dann ein BMS Master sein und die anderen Ort Slave dranhängen.

Deswegen bin ich ja ursprünglich auf RS485.

Naja, aktuell läuft es stabil.. Mal sehen was passiert, wenn das zweite BMS dazu kommt. Hardware habe ich jetzt schon da. Vielleicht versuche ich auch erstmal die Daisy Chain, aber ich denke da werde ich mir mit den konfigurieren schwer tun.

Falls du dafür einen Tipp hast gerne her damit.

Lieben Dank und viele Grüße

hallo,

mehrere bms per can sind ein problem. ich habe das schon probiert, leider erfolglos, so dass die 3 bms jetzt an 3 verschiedenen cerbos haengen und dann ueber node-red mit dem pylontech zusammengefasst werden.

by pylontech geht das mit mehreren bms am can eventuell auch nur ueber den lv-hub und nicht direkt am cerbo. es gibt da verschiedene videos bei youtube, wo jede menge pylontechs zu einem akku zusammengefasst werden. theoretisch kann man da wohl unendlich viele zusammenfassen.

oder du benutzt ein bsc. das waere meine 2. wahl gewesen. das kann die jk eventuell auch ueber bluetooth erfassen. aber ich glaube, dann kann man mit der app nicht mehr zugreifen.

tschuess

Ich denke ich bleibe erstmal bei meiner Variante alles einzeln zu konvertieren. Dann habe ich auch alle Daten einzeln zur Verfügung.

Danke für die Hilfe