Mehrere JK BMS an einem RS485 Adapter

Jain.
Falls du nur eine RS485 Verbindung via USB nutzen möchtest geht das nur mit dem Inverter BMS und serialbattery. (RS485 am Master angeschlossen. Und die JK-BMSe untereinander verbunden)

Nutzt du mehrere RS485 - USB Adapter geht es mit jedem JK-BMS. Also jedes JK-BMS via RS485 - USB Adapter an das GX Device und eben serialbattery.

Der Vorteil der RS485 Auslese allgemein: Du bekommst alle Spannungen auf Zellebene in das VenusOS. Bei der Auslese via CAN am Master halt nicht (Dafür brauchst du keinen batteryagregator …).

Have Fun

Marc

Danke für die rasche Antwort,
werd ich dann gleich probieren, wenn ich meinen 2. Akku fertig habe!
mfG
S.M.

Pass auf, dass die RS485-Usb Adapter keine direkte elektriche Verbindung darstellen, also galvanisch getrennt sind.
Hintergrund: Das “alte” JK-BMS (Das JK-Inverter-BMS meines Wissens auch) trennt im Fehlerfall die “geerdete” negative Seite des Akkus. Damit keine riesen Ströme über das Datenkabel fließen ist das wichtig. (Muss nicht passieren, könnte aber)

Have Fun

Marc

1 Like

Hab den waveshare in betrieb, wie mach ich da die galvanische trennung?

Wenn du diesen Waveshare RS485 ↔ USB Adapter hast, der hat eine galvanische Trennung eingebaut.
Die Original Victron RS585<->USB Adpater sind auch galvanisch getrennt.
Du musst zwingend darauf achten diese Adapter zu nehmen, da sonst auch ganz komische Effekte und Probleme auftreten.

1 Like

Ja, siehe @Jetlag :+1:

Ja, danke,
Genau den hab ich! Werd ich testen

mfG
S.M.

Hallo Zusammen,

bzgl einem RS485 to USB Adapter.

@cmock beschreibt eine Lösung ohne Master, dass interpretiere ich aus den Adressen 0x01, 0x02 —> „alle Zellen“?

@Marc_HD du erwähnst RS485 am Master ff. —> „nicht alle Zellen“?

Mein Ziel ist es „alle Zellen“ von 2 Packs per serialbattery mit einem RS485Adapter auf einem CerboGX zu bekommen.

Aus der „RS485 (dady chain) serialbattery“ -Doku werde ich nicht ganz schlau. Kann ich die Packs dann per RJ45 (LAN) -Kabel untereinander durchschleifen bis auf das „erste“ welches dann auf den RS485Adaper geht und erhalte ich so „alle Zellen“

PS: „alle Zellen“ steht für mehr Werte als mit Master/Slave-Betrieb (via CAN) und gleichzeitig CerboGX—>MQTT—>Fire and Forget :sweat_smile:

Hallo Linos,

siehe mein Profil.
Inzwischen nutze ich für jede Batterie serialbattery und dann den battery aggregator. Dann bekommst du die Spannungen jeder Zelle und auch ob das jk-bms balanced (auch welches Zellenpaar gerade mit welchem Strom gebalanced wird) usw in das venusOS.
Ich nutze hardwareseitig einen 4fach rs485 zu usb-Adapter von waveshare (Achtung: den galvanisch getrennten nehmen.).
Das sieht für eine Batterie dann so aus:


Have fun

Marc

edit: hmmm das habe ich hier doch schonmal geschrieben…

So verstehe ich das auch, habe ich aber noch nicht getestet.
Bei mir stehen alle Adressen der jk-bms(se) auf 0x000.

Bei mir:
Raspi → MQTT → homassistant :blush:

Hallo Marc,

vielen Dank für deine Rückmeldung.

Dieser befindet sich aktuell in Zustellung, doch dann bin ich über das „RS485 dady chain“ von serialbattery gestolpert.

Ich habe es bereits ausprobiert und es funktioniert mit einem RS485Adapter für alle Packs. Die Packs per Dip-Switch einzel Adressieren (nicht 0x00 benutzen). In der config.ini die vergeben Adressen eintragen (… _ADDRESSES = 0x01, 0x02) und die Pack mit Handelsüblichen Patchkabel am RS485-Port miteinander verbinden.

Das ist auch mein Ziel, hauptsächlich wegen „meine Schwellwerte“, Licht ins dunkle bringen und MQTT. Bezüglich Aggregator bin ich mir noch unschlüssig → ich überlege ein „mqtt_aggregator“ aufzusetzen und diesen auf dem CerboGX per NodeRed zu bespassen. Hätte für mich den Vorteil der maximalen Transparenz und alles auf einer Maschine.

Darf ich fragen welchen Aggregator du nutzt. Ich hatte den aus dem Paket-Manager vorübergehend am laufen aber dieser kam mir für meinen Geschmack zu „einfach“ vor.

Hintergrund ist der, ich möchte nicht nur eine DVCC-Kalkulation haben sondern auch zB

→ Ein Pack offline dann mach…

→ Ein Pack sperrt dann mach…

→ Ein Pack entsperrt dann mache..

Der DVCC Eingriff über einen Aggregator erscheint mir sauberer und leichtgewichtiger als das setzen irgendwelcher globalen Grenzwerte

1 Like

Ist das die Venus OS GUI angezeigt in HA? Wenn ja, welche Karte nutzt du dafür und läuft das flüssig im Dashboard?

In HA hole ich mir die benötigten „Venus mqtt Werte“ per Mqtt-Discovery rein. So werden gleich die Entitäten und Geräte zum Steuern bzw. für das Monitoring entsprechend meiner Vorstellung automatisch erstellt

Last thing first:
Ja ist das venusOS gui in HA.
Es ist ein Panel (single card)

type: iframe
url: http://192.168.178.53/gui-v2/
aspect_ratio: 50%
1 Like

Zum Battery aggregator:
Ich nutze den von @mr-manuel empfohlenen.

https://github.com/Dr-Gigavolt/dbus-aggregate-batteries

Achtung:
Er nutzt LTO-Batterien: config.ini auf LiFePO4 anpassen.
Ich habe die Parameter der SOC Berechnung durch den Aggregator nicht angepasst und nutze den SOC der 4jk-BMSse. Dieser ist bei geringen Strömen schlecht bestimmt…

1 Like

MQTT-Integration:
https://github.com/tomer-w/ha-victron-mqtt
Ist deutlich einfacher als die mqtt-topics per Hand einzupflegen.

Hallo Marc,

erneut vielen Dank für deinen Input. :+1:

Ergänzend dazu, es gibt eine config_LFP.ini.

Kannst du mir sagen was in deinem Setup passiert, wenn ein Pack gesperrt hat, offline ist bzw wieder entsperrt?

Ich verstehe noch nicht so ganz die Logikschicht zwischen serialbattery und Aggregator. Hintergrund ist der, wenn beispielsweise ein BMS das laden länger gesperrt hat (temp kling langsam ab) und das andere Pack währenddessen deutlich geladen wurde. Nun schaltet das ursprünglich gesperrte BMS wieder zu obwohl ein höherer Spannungsunterschied besteht→ Ausgleisströme → Regelschleife der BMS(e)?

Hallo Linos,

wirkliches Testen mache ich morgen. (Ich hab mir nie angeschaut was beim “ausschalten” einer Batterie im DVCC bzw den Lade-/Entladeparameter passiert.
Zur Einordnung: mein System ist nicht mit dem Grid verbunden.

Kannst du mir sagen was in deinem Setup passiert, wenn ein Pack gesperrt hat, offline ist bzw wieder entsperrt?

Ich habe einzelne Batterien zwecks Heizungseinbau abgeklemmt. Es passiert einfach nichts. Alles läuft einfach weiter, wie gesagt: Nicht darauf geachtet was im DVCC passiert.

Bei mir hat noch nie ein BMS beschlossen das Laden oder Entladen zu unterbinden.

Aber falls das auf einer Batterie passieren sollte:

Dann fließen beim wieder Zuschalten entsprechende Ausgleichsströme, die dann vom JK-BMS auf 20A (oder so) gedrosselt werden. Entsprechende Drosselspulen sind beim JK-Inverter-BMS vorhanden.

Have fun

Marc

Hallo Marc,

In der kurz getesteten Konstellation konnte ich bei mir feststellen.

Kommunikation getrennt von einem Pack → keine Reaktion

Kommunikation von allen Packs getrennt → Alarm + „MP - Durchleiten“, Auslöser = DVCC

BMS von einem Pack abgeschaltet (off) → keine Reaktion

Mehr habe ich noch nicht getestet. Auch möchte ich nicht ausschließen, dass ich in einer config eine Einstellung übersehen habe

Interessante Neuigkeit für mich, dass wusste ich bisher nicht. Bezieh sich diese Einstellung im BMS darauf?

Hallo Linos,

ohoh… aaaalso:

Nicht lachen: gestern ging das Licht aus. BMS connection loss → Error67;-) und damit Battery undervoltage

Da ich einen DSD tech CAN-USB “Umsetzer” zur Hand hatte:

Meine 4 Akkus laufen seit heute über CAN.

Ich werde serialbattery jetzt zum Auslesen der Zell-Spannungen nutzen.

Die “Disable Par-Limiter”-Einstellung scheint diesen auszuschalten. Aber noch nicht getestet.

Edit: Drosselspulen → Drosselspule