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"

I make the interface with 2 rj45 for this battery setup:

20230331_171422.jpg

For cascaded more then one module.
And because the battery is in the metal case and dont have access at the interface.

For open project i use the second design. that one more simply.
 
2 RJ45-porte på grænsefladen har CAN PIN og RJ485 identiske, du skal deaktivere CAN-funktionerne på anden grænseflade.
Lad kun RS485 kommunikere fra interface 2 til interface 1

Hvilken inverter har du??
I got the DEYE SUN-12K-SG04LP3-EU
 
I got the DEYE SUN-12K-SG04LP3-EU
I know DEYE use CAN port so u can make only one interface with 2 serial connections for jk.

In the Setup u need to select the Interface Name:

BT CAN / Serial CAN is for this:
20230801_182451.jpg

RS485 CAN for the one with 2 RJ ports and with RS485 support

20230804_080831 (1).jpg

after u tested send me some pics with the invertor data.
 
I know DEYE use CAN port so u can make only one interface with 2 serial connections for jk.

In the Setup u need to select the Interface Name:

BT CAN / Serial CAN is for this:
View attachment 30360

RS485 CAN for the one with 2 RJ ports and with RS485 support

View attachment 30361

after u tested send me some pics with the invertor data.
Sure. i just ordered the parts for these interfaces.
So when it arrives and I made the assembly, I post pictures.

Do I need to remove connections from 2. rj45 to remove connection to CAN or is it possible to disable in software?
 
Sure. i just ordered the parts for these interfaces.
So when it arrives and I made the assembly, I post pictures.

Do I need to remove connections from 2. rj45 to remove connection to CAN or is it possible to do this in software?
No need , from the soft u can disable any port: just select OFF on Serial / BT / CAN
 
Is it possible to connect display to secondary can port?
View attachment 30372

is 12c output so can connect any i2c device.

in this moment i dont implement an library for display, from my point of view i am interested to see the data remotely not to be in spot with battery.
the second reason i dont implement a display library is that jk offer 2 solutions with display from factory

but can be done
 
is 12c output so can connect any i2c device.

in this moment i dont implement an library for display, from my point of view i am interested to see the data remotely not to be in spot with battery.
the second reason i dont implement a display library is that jk offer 2 solutions with display from factory

but can be done
makes sense.
 
Thank you for this project. When I downloaded the firmware for ESP32, it keeps restarting even when I haven't connected it to JK-BMS. I have tried both the 4.0 and 4.1 files, but the results are the same. I hope to receive some assistance.
How should the TXD2 and RXD2 (D16&D17) be connected correctly?
Thank you for your help!

"rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
1 load:0x3f400020,len:218684
ets Jul 29 2019 12:21:46"
 

Attachments

  • D16-d17.jpg
    D16-d17.jpg
    806.8 KB · Views: 518
  • z4611700115673_8b613497972391345cc638237e31febb.jpg
    z4611700115673_8b613497972391345cc638237e31febb.jpg
    701.1 KB · Views: 250
That's a very nice project indeed. I might be interested to hook up my JK BMS to the DEYE 12kW Inverter that I have.

I have several (3) Inverters and will have > 2 JK BMS.

I have some questions :):
- Is it possible (for the JK BMS) to have both Bluetooth (for this CAN adapter) and RS485 Interface (for Raspberry PI monitoring) being used at the same time ?
- Alternatively, is it possible to have Several of these boards acting in a CAN-master and CAN-slave configuration ? Like CAN-master hooked up to JK BMS #1, then CAN-slave #1 hooked up to JK BMS #2, CAN-slave #2 hooked up to JK BMS #3, etc ?
 
That's a very nice project indeed. I might be interested to hook up my JK BMS to the DEYE 12kW Inverter that I have.

I have several (3) Inverters and will have > 2 JK BMS.

I have some questions :):
- Is it possible (for the JK BMS) to have both Bluetooth (for this CAN adapter) and RS485 Interface (for Raspberry PI monitoring) being used at the same time ?
- Alternatively, is it possible to have Several of these boards acting in a CAN-master and CAN-slave configuration ? Like CAN-master hooked up to JK BMS #1, then CAN-slave #1 hooked up to JK BMS #2, CAN-slave #2 hooked up to JK BMS #3, etc ?

1 - interface can communicate on Serial or with bt. u can connect raspberry pi on ttl and interface on bt.
2 - with one interface can connect to 2 jk one on serial one on bt.
3 - u can connect more then one interface 1 master rest to be slave. only the master send data to inverter.
 
Thank you for this project. When I downloaded the firmware for ESP32, it keeps restarting even when I haven't connected it to JK-BMS. I have tried both the 4.0 and 4.1 files, but the results are the same. I hope to receive some assistance.
How should the TXD2 and RXD2 (D16&D17) be connected correctly?
Thank you for your help!

"rst:0x10 (RTCWDT_RTC_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
1 load:0x3f400020,len:218684
ets Jul 29 2019 12:21:46"
let me understand, the device boot after the flash?
Serial on usb is 115200 8n1
And u receive some status on serial connection:
Code:
ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
modeIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13924
ho 0 tail 12 room 4
load:0x40080400,len:3600
entry 0x400805f0
BMS Watchdog V 4.0
Booting
Mounting FS...
Mounted file system
Reading config file
Opened config file, size = 142
Serial Protocol 1
BT Protocol 0
Can Protocol 1
Device ID OK
*wm:AutoConnect
*wm:Connecting to SAVED AP: STF
*wm:connectTimeout not set, ESP waitForConnectResult...
*wm:AutoConnect: FAILED
*wm:StartAP with SSID:  JkBMS
*wm:AP IP address: 192.168.4.1
*wm:Starting Web Portal
Configportal running
CAN Driver installation success...
CAN Driver start success...
Serial Jk Config
 
Last edited:
let me understand, the device boot after the flash?
Serial on usb is 115200 8n1
And u receive some status on serial connection:

ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13924
ho 0 tail 12 room 4
load:0x40080400,len:3600
entry 0x400805f0
BMS Watchdog V 4.0
Booting
Mounting FS...
Mounted file system
Reading config file
Opened config file, size = 142
Serial Protocol 1
BT Protocol 0
Can Protocol 1
Device ID OK
*wm:AutoConnect
*wm:Connecting to SAVED AP: STF
*wm:connectTimeout not set, ESP waitForConnectResult...
*wm:AutoConnect: FAILED
*wm:StartAP with SSID: JkBMS
*wm:AP IP address: 192.168.4.1
*wm:Starting Web Portal
Configportal running
CAN Driver installation success...
CAN Driver start success...
Serial Jk Config
After flashing the ESP32 with flash_download_tool_3.9.5, the ESP keeps rebooting continuously. I opened the serial port on Arduino to view the messages. I have tried flashing a different program and it works fine. I apologize for my English ability
 

Attachments

  • Untitled.png
    Untitled.png
    55 KB · Views: 73
@minhtannamdinh & @mrconstantin84 If you put your code, error logs, and configs inside of a code block, you won't get those erroneous "smiley" faces
1692299155182.png

All you have to do is wrap the portion of text by either clicking on the ellipsis
1692299207745.png
and then click the
1692299220487.png
, it will open a window to enter text, or put what ever text is highlighted in the block.

For example the above would look like:

Code:
rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13924

instead of:
rst:0x1 (POWERON_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13924


;)
 
After flashing the ESP32 with flash_download_tool_3.9.5, the ESP keeps rebooting continuously. I opened the serial port on Arduino to view the messages. I have tried flashing a different program and it works fine. I apologize for my English ability

Send me the CHIP ID of esp from info page , to send u app key.
 
I would like to make JK BMSs communicate with MPPSolar inverters, but I would absolutely have no time to dig out both protocols, even less something to translate between them; and the only purpose that would accomplish is maybe a correct battery load indicator on the inverter.
 
I would like to make JK BMSs communicate with MPPSolar inverters, but I would absolutely have no time to dig out both protocols, even less something to translate between them; and the only purpose that would accomplish is maybe a correct battery load indicator on the inverter.
mppsolar work on rs485, i dot tested on that inverter but u can try if u want,
is an pylontech or seplos emulated protocol on rs485
 
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? Thanks
 
Back
Top