• Have you tried out dark mode?! Scroll to the bottom of any page to find a sun or moon icon to turn dark mode on or off!

diy solar

diy solar

Yet another JK BMS to CAN bus interface, this one Arduino, BLE to PylonLV CAN, on a Lilygo T-Display S3

Steve T - IoW UK

New Member
Joined
Oct 1, 2022
Messages
6
Location
Isle of Wight, UK
For anyone remotely interested ! , I thought I would post yet another JK BMS to CAN interface project......

I really wanted some local 'at a glance' display of my battery status. I'm into Arduino but have Zero grasp of YAML & ESPHome... I'm no coding expert!. I like the Lilygo T-Display S3 and have used them in numerous projects, its a fantastic module but just NEVER place pressure on the display when insering or removing the module from a socket!!

I'm pleased to say this interface has been working 100% reliably for 10+ weeks now. It's currently sitting between my old trusted JK-B2A24S15P BMS (Version 10) and my new Solis S5 EH1 3.6kw Hybrid inverter (configure to use Pylon LV or User Defined battery types - I prefer 'User Defined' to provide more sense of what's going on).


It's a very simple, minimal parts circuit based on easily available modules and can easily be built on vero board, however I created a PCB to fit inside a clear lidded multicomp enclosure. A small copper foil plate on the inner left side of the enclosure connects to a touch input for moving around different displays.

I've currently implemented only a very basic charge current limiting strategy to reduce the inverters charge current to 2Amps at high SOC or if the cell delta V is too high to aid cell balancing and to maximise the cycle lifetime. Crude, but it seems to work well.

The PCB supports a couple of DC-DC regulator module options for powering the circuit from the battery....alternatively, you could simply power the interface directly from a USB power socket - (although then the CAN link will fail during a grid power fail and your inverter wont provide a back-up!).

The PCB circuit includes many superflous, un-populated component positions to support some possible future ideas
(i.e CAN/Modbus connection to the Inverter or a power meter, A HC-12 433MHz transceiver providing comms to distant power controlling devices or displays, plus extra I/O ...to possibly control battery heating??)
Note: Currently this has only been tested to work on a JK-B2A24S15P with Hardware / Software version 10. It is very likely some small tweaks may be required to work with a Version 11 BMS model (any feedback or code fixes are welcomed!). I've also only been able to test the CAN functionality on a Solis S5 EH1, however the CAN code (which i changed to TWAI for the S3) is reported to work OK on other inverter types.

For more info, i have dumped the Arduino code, circuit diagrams etc to Github and also uploaded a video to Youtube

Perhaps someone can pick something useful out of it!
Cheers, Steve


Enclosure and PCB3.png


All Cell Volts 2.jpg

BMS Status Screen.jpg
 
Last edited:
Looking good - I like the display - beats my 20x4 character LCD one!

I've currently implemented only a very basic charge current limiting strategy to reduce the inverters charge current to 2Amps
Interesting... I found (as did others) that the the Solis cuts of charging if less than 4A is requested - but seems like that is working for your inverter (y).

And LOL, I see that you also hit the "signed current" conversion issue that I did when modifying other CAN-bus sending code ;)
 
Can anyone tell me if I can display and log battery cell data on Victron VRM if I connect the BMS to my Cerbo GX?
The main reason I want to connect my JK BMS to my Cerbo is so I can log the cell voltage in case of problems.
I'm hoping I can confirm this is actually possible before I was time and money wiring it all up.
Thanks.
David.
 

diy solar

diy solar
Back
Top