CAN and RS485 BMS Emulated Protocols for DIY Battery to work with LV and HV Invertors - JK BMS JBD Daly 123Smart - OEM Battery


Solar Batteries, Panels, Chargers, Inverters & Mounts at www.batteryhookup.com Save 5% with coupon code "Powerwalls"

Hi. First of all you have to say thank you for such a project. Which JK BMS is supported? Currently I use two ANT BMS with two Lifepo4 batteries and three Soyosource inverters. But now I've bought a Solis RAI battery inverter and need CAN communication for it. That's why I came across this project. Would then buy two new JK BMS. Would the BD6A20S10P work?

Yes will work with any jk bms.
If i will have time and write some code for ant bms support i will tell u.
 
Thanks for such a quick reply. I also read my ant BMS with esp32 and then send all the values to the iobroker via mqtt. Here is the Ant log.
 

Attachments

  • Ant-BMS-Protocol.txt
    11.7 KB · Views: 165
I also read in a post that you can connect two JK via cable. Is that correct? You then have to do without rs485, but how is the second one then connected and what settings do you have to make then?
 
I also read in a post that you can connect two JK via cable. Is that correct? You then have to do without rs485, but how is the second one then connected and what settings do you have to make then?
ESP32 have 3 UART port, i have 2 hardware version of the board one support RS485 and CAN for inverter , other only CAN

In my project take data direct from ttl , not use an rs485 adaptor like u do on ANT Bms
Other problem for JkBMS on RS485 cant be set an client address, so if u connect multiple on same RS485 network will respond in same time.

Version 1:

Esp32 Can port - CAN 0
Uart0 - USB for debug
UART1 - JK TTL
UART2 - RS485
I2C - CAN1- second can port
Led bar for battery status and comms

Here u can take data from second JK from BT

Version 2:

Esp32 Can port - CAN 0
Uart0 - USB for debug
UART1 - JK TTL
UART2 - Jk2 TTL
I2C - CAN1 - second can port
only 2 leds from rj45 port for comms

Version 2 is for invertor how dont need rs485 most of them
 
Hello.
And what about three or four BMS modules?
I plan to built HV battery with at least 200V DC voltage, which means more than 60 cels.
Or is there any BMS on the market (I mean the cheap ones) where client address on RS485 can be set?

Thank you for your answer.
 
Hello.
And what about three or four BMS modules?
I plan to built HV battery with at least 200V DC voltage, which means more than 60 cels.
Or is there any BMS on the market (I mean the cheap ones) where client address on RS485 can be set?

Thank you for your answer.
For 60s U can make like that:
Use only 1 JKBMS and 2 JK active balancer with can port, in this case jk bms will cut the NEGATIVE if some problem also have the shunt for amp readings.
read the rest of data from active balancer can port.

or u can use 3 active balancer and put one contactor to cut the battery from system in case of error

u can red 3 jk bms 2 on uart one on bt with one interface but only with can outpul no rs485 output.

or u can put more then one interface and setup one master and the rest slave
 
For 60s U can make like that:
Use only 1 JKBMS and 2 JK active balancer with can port, in this case jk bms will cut the NEGATIVE if some problem also have the shunt for amp readings.
read the rest of data from active balancer can port.

or u can use 3 active balancer and put one contactor to cut the battery from system in case of error

u can red 3 jk bms 2 on uart one on bt with one interface but only with can outpul no rs485 output.

or u can put more then one interface and setup one master and the rest slave
OK, just to understand "u can put more then one interface" how it would be connected?
Can you check and comment enclosed picture, please?

Thank you.
 

Attachments

  • description_BMS.jpg
    description_BMS.jpg
    334.5 KB · Views: 236
OK, just to understand "u can put more then one interface" how it would be connected?
Can you check and comment enclosed picture, please?

Thank you.
UART1 - JK1 - TTL - GPIO 18 GPIO 19
UART2 - Jk2 - TTL - GPIO 17 Gpio 17
BT BLE - JK3 BT BLE

This case is for the battery in parallel !!!!!

but in ur case u make hv battery u can not connect 3 jk bms in series because ur GND from TTL will not be common, so u need to use an rs 485 adaptor for each!!!!

Best way use 1 jkbms and rest jk balancer like i said!!!!
 
I use in this project all the data i can find online, i know am not the first on this road if u have documents of other BMS protocols u can share it with me.
Hi @mrconstantin84 - great work for putting all this information together. I noticed that you did not list the CAN protocol for the "BYD Battery-Box Premium LVS". As I could not find any official documentation on this either, I decoded and documented the data and flow of the CAN protocol in conjunction with a Venus OS. If interested, here is a link to the documentation.
 
Hi @mrconstantin84 - great work for putting all this information together. I noticed that you did not list the CAN protocol for the "BYD Battery-Box Premium LVS". As I could not find any official documentation on this either, I decoded and documented the data and flow of the CAN protocol in conjunction with a Venus OS. If interested, here is a link to the documentation.
tnx, i will integrate it
 
You wrote in a post that you can do the first BMS as a master and the second as a slave. How did you mean that. Can it be adjusted or do you mean that only one connection is running with CAN and the second one without, just with BMS without CAN.

Ordered two new JK BMS today. Then I swap that for the ANT BMS.

greeting
 
You wrote in a post that you can do the first BMS as a master and the second as a slave. How did you mean that. Can it be adjusted or do you mean that only one connection is running with CAN and the second one without, just with BMS without CAN.

Ordered two new JK BMS today. Then I swap that for the ANT BMS.

greeting

Usuly one standard interface support 2 jk bms one connected on serial and one bt, if u dont use rs485 can connect one more.

If u have more modules in parallel u will need more interfaces.
In this case only the master interface will comunicate with the inverter
The rest need to send data to master over RS485 and the master combine data and send to can.

This is the scenario for master slave communication
 
Understood. Thank you for enlightenment. Could I also get App Key? Here is my chip ID: da32a7b0
 
fafd881d97fb64274b93b8c61fee0053
Hi. Thanks for the key. I looked at the wiring diagram. Isn't there an error with the JK connection? Yours is: Red=VCC , Black=Ground , Brown=Gpio22 , Blue=Gpio21 . According to my research it should be like this, or: Red=VCC , Black=Gpio21 , Brown=Gpio22 , Blue=Ground
 
Hi. Thanks for the key. I looked at the wiring diagram. Isn't there an error with the JK connection? Yours is: Red=VCC , Black=Ground , Brown=Gpio22 , Blue=Gpio21 . According to my research it should be like this, or: Red=VCC , Black=Gpio21 , Brown=Gpio22 , Blue=Grounfir
First u build the interface only with can port right? The small one? NO RS485 port

the serial connection is the standard Serial 2 port
RXD2 GPIO16
TXD2 GPIO17

if u use other esp32 board need to see where TXD2 and RXD are mapped.

Vbat - VCC go to stepdown

Fallow this connection!

ESP32-DOIT-DEV-KIT-v1-pinout-mischianti.png
 
Last edited:
Hi. I'm trying everything this morning, unfortunately almost nothing works for me. The only thing that works is the Bluetooth connection to the JK. Serial doesn't work and CAN connection to the inverter doesn't work either. I have a Solis RAI. This is the same as RHI. Now for my connections: Gpio18,19 is JK via serial. (Max485) Gpio16 goes to RO and Gpio18 to DI. Gpio15 goes to RE and Gpio2 to DE. Now the question is where does A and B go with the Solis pin 7 and 8? Then gpio5 on ctx and gpio5 on crx on the sn65hvd230. What is wrong here that nothing works. What should the settings be then? I've tried everything. Please help. greeting
 
Hi. I'm trying everything this morning, unfortunately almost nothing works for me. The only thing that works is the Bluetooth connection to the JK. Serial doesn't work and CAN connection to the inverter doesn't work either. I have a Solis RAI. This is the same as RHI. Now for my connections: Gpio18,19 is JK via serial. (Max485) Gpio16 goes to RO and Gpio18 to DI. Gpio15 goes to RE and Gpio2 to DE. Now the question is where does A and B go with the Solis pin 7 and 8? Then gpio5 on ctx and gpio5 on crx on the sn65hvd230. What is wrong here that nothing works. What should the settings be then? I've tried everything. Please help. greeting

u link to jkbms without rs485 adaptor. like i put in this photo:

Serial 2 - Gpio 16 17 go direct to jkbms GPS port no rs485adaptor need it

ESP32-DOIT-DEV-KIT-v1-pinout-mischianti.png

For Solis use CAN H CAN L no RS485

PXL_20230502_112806743.jpgPXL_20230505_110544894.jpg

Use protocol Seplos LV or Pylon LV

invert can h can l on invertor pin if not start directly


Send me a picture with ur Jk Info page from interface

If u need support u can make an whatup
 
Last edited:
Hi. Thanks for the guide. Connection to JK works now but the CAN connection to the Solis still doesn't work. how did you connect it Pin 4 and 5. Did you also connect the ground? Something is not correct. Thank you.
 

Attachments

  • Screenshot_20230827_180522_com.android.chrome.jpg
    Screenshot_20230827_180522_com.android.chrome.jpg
    389.8 KB · Views: 87
  • IMG_20230827_181231.jpg
    IMG_20230827_181231.jpg
    1.9 MB · Views: 78
Hi. Thanks for the guide. Connection to JK works now but the CAN connection to the Solis still doesn't work. how did you connect it Pin 4 and 5. Did you also connect the ground? Something is not correct. Thank you.

ESP32 - SN65HVD230 - INVERTER
GPIO4 - CRX
GPIO5 - CTX
GND - GND
3.3V - 3.3V

SN65HVD230 - INVERTER
CANH - CAN H
CANL - CAN L

Try invers CANH with CANL

I found some very cheap SN65HVD230 broken from factory
 
Last edited:
Back
Top