Benachrichtigungen
Alles löschen

JK BMS eingebautes CAN Protokoll mit Victron nutzen?

51 Beiträge
19 Benutzer
12 Likes
7,232 Ansichten
(@weissnich)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 41
 

Keine Ahnung, ich bin da auch noch mehr "Suchender" als "Erleuchteter".
Ich habe leider nur aktuell andere Baustellen, daher lasse ich das noch 2-3 Monate schleifen. Mit Glück ist der BLE Support fertig, wenn ich ihn brauche 😉 

 


   
Ikonengolf reacted
AntwortZitat
(@gerni76)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

Hallo,

ich habe ja insgeheim die Hoffnung gehegt, dass jemand den Ehrgeiz entwickeln würde, den CAN-Bus über einen Übersetzer in ein Victron-lesbares Format umzuwandeln. Diese Hoffnung habe ich nicht ganz aufgegeben, habe aber bis dahin (ich weiß, die Hoffnung stirbt zuletzt, aber sie stirbt), den Ansatz erstmal umgesetzt das BMS über den "GPS"-Port des JK im Multiplus 2 GX zu nutzen. Das funktioniert auch über diverse Varianten (sowohl mit dem speziellen RS485-Adapter von JK, als auch ohne mit einem TTL-RS485 nach USB- FTDI-Adapter).

Aaaaaaber:

Dadurch, dass meine Laderegler und der Netzzähler EM24 an dem einzigen USB-Port vom Multiplus2 GX hängen, war ich gezwungen einen USB-Hub einzusetzen. Das ganze funktioniert auch. Aber leider nicht so zuverlässig und dauerhaft. Sprich, ich muss nahezu täglich und manchmal auch mehrmals täglich den verbauten Nanopi rebooten, damit am USB-Anschluss wieder was ankommt. Ich bin erstmal davon ausgegangen, dass es daran liegt, dass zu viele aktive Geräte am Hub hängen und habe ihn durch einen aktiven Hub ersetzt, was aber überhaupt nichts gebracht hat.

Ein neuer Ansatz den ich jetzt erstmal notgedrungen verfolgen werden ist:

einen ESP32 am GPS/TTL des JK mittels CAN-Transceiver an den CAN-Bus des Multiplus2 anzubinden. Das ist auch schon fortgeschritten.. aber Ergebnisse habe ich noch keine.

 

Achja, um vorangegangene Fragen zu beantworten: Die CAN-Bus Variante hat den CAN-Port zusätzlich und unabhängig zum GPS Link entfernt Der CAN-Port hat nur 3,3 L und H und Ground und der GPS/TTL Ground, TX und RX und das Batterieplus. Das Batterieplus mit seinen über 50 v bei einem 16s-System ist schon hochgradig dämlich.. 

Multiplus 2 3000/48 mit 3 MPPT SmartSolar 100/20 bei 3x2 400Wp in 2x280Ah LiFePo4 Eve mit JK BMS


   
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

@gerni76 

Die Umsetzung des JK-CAN auf Victron CAN sollte theoretisch nicht das Problem sein, wenn Victron auch eine Baudrate von 250kbps akzeptiert.

Ich könnte dann das ganze in den BCS implementieren. 

 

 

Ein neuer Ansatz den ich jetzt erstmal notgedrungen verfolgen werden ist:

einen ESP32 am GPS/TTL des JK mittels CAN-Transceiver an den CAN-Bus des Multiplus2 anzubinden. Das ist auch schon fortgeschritten.. aber Ergebnisse habe ich noch keine.

Das kann der BSC heute schon.

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
(@gerni76)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

@shiningman Das klingt toll auch wenn ich noch keine Vorstellung habe, wie das machbar wäre.

Generell scheint doch 250kBaud unterstützt zu werden? Zumindest deute ich die Einstellungen in der Remote Konsole so. Allerdings weiß ich nicht, ob man einfach so auf die vorhandenen Protokolle aufsetzen kann und vor allem wie man an deren Spezifikation kommt.

Btw wahrscheinlich etwas dumm nachgefragt: wofür steht die Abkürzung BSC?

Multiplus 2 3000/48 mit 3 MPPT SmartSolar 100/20 bei 3x2 400Wp in 2x280Ah LiFePo4 Eve mit JK BMS


   
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

@gerni76 

Github Project

https://www.akkudoktor.net/forum/bms-batterie-management-monitoring-system/projektvorstellung-battery-safety-controller/

 

Die Realisierung ist relativ einfach.

Alle drei Teilnehmer (Victron, JK-BMS, BSC) hängen gemeinsam am CAN-Bus

1. JK-BMS sendet

2. Victron und BSC bekommen es. Victron ignoriert da im die IDs nicht interesieren.

3. Der BSC nimmt sich die Daten setzt sie auf die IDs für den Victron um und sendet es wieder.

4. Victron nimmt sich die Daten, da ihn die richtigen IDs sehr wohl interesieren.

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

Zum BSC (Battery safety controller) gibts auf Github auch ein Wiki und Discussions.

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

Veröffentlicht von: @alex_s

Hallo,
von JK habe ich die folgende Information über das dort verwendete CAN Protokoll erhalten.

-- attachment is not available --

Auf der ersten Seite ist ja das Protokoll vom JK-Bms. Die Victron IDs habe ich, zumindest die für die gängigen Infos.

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
(@gerni76)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

@shiningman Erstmal Wahnsinns-Respekt! Das sieht nach richtig viel professionellster Arbeit aus.

Ein wenig hatte ich mir das auch so in meiner Naivität vorgestellt: ein CAN-fähiger Controller bekommt das CAN vom JK und gibt es dann Victron-konform an das GX vom Multiplus2 weiter. Aber das Protokoll vom JK scheint einzelne IDs in unterschiedlichen Gruppen zu haben (ich denke man merkt, dass ich mich exakt 0 damit auskenne), so dass es nicht "so einfach" konvertierbar ist. Aber vielleicht auch nur für mich?

Das BSC hat offenbar extrem viel Potenzial. Mir ist nur noch nicht so ganz klar, 1. wie ich an ein solches Board komme, 2. wie ich das ganze für meine eigentlich relativ begrenzten Ansprüche effizient umgesetzt bekomme.

Oder wäre mein esp32 devkit1 mit dem tja1050 bereits ausreichend um das CAN vom jk über denselben Weg zum CAN vom Inverter zurückzuschicken? Vermutlich nicht, da der Transceiver das Signal nur senden kann, aber nicht empfangen? Daher ev. eine andere Variante..

Diese r Beitrag wurde geändert Vor 1 Jahr von gerni76

Multiplus 2 3000/48 mit 3 MPPT SmartSolar 100/20 bei 3x2 400Wp in 2x280Ah LiFePo4 Eve mit JK BMS


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 228
 

Hallo,

 

ja jk-bms und bsc funktioniert seit heute Abend.

danke @shiningman
Mit einem Esp32 und diesem CAN Adapter

Waveshare 2PCS SN65HVD230 Can Board Connecting MCUs to Can Network Features ESD Protection Communication Evaluation Development Board 3.3V

Im Venus-OS sind bei CAN 500kb eingestellt.

grüße

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
Ikonengolf reacted
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

@gerni76 

Erstmal Wahnsinns-Respekt! Das sieht nach richtig viel professionellster Arbeit aus.

Danke. Sinn und Zweck des ganzen war für mich, dass meine DIY Anlage "ordentlich" ausschaut. Ich will kein ESP-Devboard und ein CAN Transceiver und RS485 Adapter und ... rumfliegen haben. Ich wollte eine OCB an der alles sauber über Stecker angeklemmt ist. Ich hab noch Relais um meine Lüfter zu steuern und kann darüber meinen Leistungsschalter ausschalten. Daduch dient für mich dies ganze nach dem BMS zusätzlich als zweite Sicheurngsebene. Sobald keine Daten mehr vom BMS kommen oder die Temperaturen der BUsbars nicht passt, kann ich den Leistungsschalter abschalten. Nach dem Brand des Akkus in Ö, sehe ich, dass das sehr gut ist.

 

Oder wäre mein esp32 devkit1 mit dem tja1050 bereits ausreichend um das CAN vom jk über denselben Weg zum CAN vom Inverter zurückzuschicken? Vermutlich nicht, da der Transceiver das Signal nur senden kann, aber nicht empfangen? Daher ev. eine andere Variante..

Wie der Name Transceiver schon sagt, kann dieser Senden und Empfangen. Sollte also auch genau so gehen.

 

1. wie ich an ein solches Board komme, 2. wie ich das ganze für meine eigentlich relativ begrenzten Ansprüche effizient umgesetzt bekomme.

Zu 1. Es gibt eine Liste für eine mögliche zweite Sammelbestellung, die aber sicherlich noch etwas dauern wird, da ich aktuelle dabei bin das Reedesign in Betrib zu nehmen. Wenn hierbei noch ein paar Kleinigkeiten auftauchen, dann möchte ich diese vor einer erneuten Sammelbestellung beheben.

https://docs.google.com/spreadsheets/d/1f79U_N3olWYk3Cxmrt1rXbqDJv2RF7Rbs7cSoV90W7A/edit?usp=sharing

Zu 2. Du kannst auch es auch machen wie von dir beschrieben mit DEV-Biord und CAN Transceiver. Obwohl es auch hier immer wieder zu Stabilitätsproblemen mit diesen "billigen-China" Transceiver  kommt. Siehe z.B. hier: https://github.com/shining-man/bsc_fw/discussions/24
Zum Testen geht es aber auf jedefall einmal.

 

Ich mach einmal eine einfach Testversion und dann sehen wir wie gut es funktioniert. Hast du ein ESP32-DEV-Board und CAN-Transceiver  zum Testen?

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
(@gerni76)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

@shiningman ja, ich habe ein esp32 devkit1 mit einem tja1050 inklusive 4,7kOhm um die 5v vom esp32 auf 3,3 runterzubekommen.

Die unglaubliche Fülle an Informationen erschlägt mich fast. Aber ich arbeite mich durch 🙂

Multiplus 2 3000/48 mit 3 MPPT SmartSolar 100/20 bei 3x2 400Wp in 2x280Ah LiFePo4 Eve mit JK BMS


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 228
 

@gerni76

genau diese Kombi Tja1050 mit 4,7k läuft nicht!

habe nachgemessen hinter dem Widerstand kommen nur 1.8v an das reicht nicht für CAN.

daher lieber den hier https://www.amazon.de/gp/r.html?C=2RK6CF370NWNJ&K=11WJ10O7KIZJH&M=urn:rtn:msg:20230213084358ff75a1659d344a4f9c0a2115b580p0eu&R=2LDW8YCQ0WUNI&T=C&U=https%3A%2F%2Fwww.amazon.de%2Fdp%2FB09GF968MH%2Fref%3Dpe_27091401_487024491_TE_item&H=QAXFDAEBHMFZPHWFGSKYGLT4B9IA&ref_=pe_27091401_487024491_TE_item ohne pull-up wiederstand.

habe das Ganze auf 3.3v laufen, esp und can adapter. Funktioniert stabil.

ansonsten ist die verschaltung wie folgt.

jk-bms gnd-rx-tx auf esp32 Serial 1: RX: GPIO23 TX: GPIO25 natürlich gekreuzt, gnd auf gnd.

das hat den Vorteil, das auch die Aktivität-led mit flackert wenn Daten fließen.

dann vom esp32 CAN: TX: GPIO4 RX: GPIO5 auf rx und tx des SN65HVD230,  nicht gekreuzt und kein Widerstand.

der Rest ist selbsterklärend, can h/l auf can h/l des can-head oder cerbo-gx/RPI.

Im Venus os den can-bus auf 500khz stellen und rennt.

grüße

 

ps. Ich bin der aus der GitHub Diskussion die oben verlinkt ist 😉

 

 

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
AntwortZitat
 JUF
(@juf)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 228
 

@shiningman 

das es läuft für victron haben wir beide getestet. 😉

BMS: JK_PB2A16S15P FW 14.20
Akku: LiFePo4 16 x 200Ah 48V
Laderegler: Victron 150/60
Inverter: Victron MultiPuls 2 48/3000/32
Solarmodule: 4 x Q.PEAK DUO-G8 355; 3 x 380W JA SOLAR; 3 x DHM-60L9(BW)-380W

Strings: 3s3p


   
shiningman reacted
AntwortZitat
shiningman
(@shiningman)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 159
 

Veröffentlicht von: @juf

ps. Ich bin der aus der GitHub Diskussion die oben verlinkt ist 😉

Ich war schon am grübeln wo wir etwas getestet haben. Jetzt ist alles klar 😀 

BSC auf github
Discord-Server zum BSC
BSC Sammelbestellung


   
AntwortZitat
(@gerni76)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 7
 

@juf Danke für die Info, ich hab mir gleich mal den CAN-Transceiver von Waveshare bestellt. Bis dahin versuche ich noch mal das Thema CAN zu CAN weiterzuverfolgen. Zudem ich mir bei meinem ersten JK BMS den GPS durch das verdammte Batterie V von über 50 V zerstört habe. Das wird dann mein Versuchsobjekt 😉

Multiplus 2 3000/48 mit 3 MPPT SmartSolar 100/20 bei 3x2 400Wp in 2x280Ah LiFePo4 Eve mit JK BMS


   
AntwortZitat
Seite 3 / 4
Teilen: