After much searching I found the JK BMS, with it's 2A built-in active balancer it was just what I was looking for.
I wanted to connect my JK-BMS to my inverter like a commercial battery to ensure the inverter knows what the battery is up to in terms of Charging, Discharging, Alarms etc.
If you...
No, the JK BMS CAN port is not active unless you buy the CAN model and their CAN adaptor, the port is TTL level and the protocol is non standard for energy storage inverters.
There would be no point in converting it to CAN then converting it back to TLL for the ESP32 and then decoding the non...
Yep me, but I wrote it :-P
See more info here: https://diysolarforum.com/threads/jk-bms-can-bus-comms-now-possible-for-inverters-that-support-goodwe-and-pylontech-batteries.48963/
Sneak peak of what i have been working on:
Complete rework of the charging logic, now charges with constant current(CC) to the absorption voltage, then has an absorption timer (Constant Voltage, user configurable time), with rebulk feature (user configurable offset from absorption voltage).
Live...
New version: V1.04 20/10/22 Added logic for calculating SOH, is now based on number of cycles/max_cycles, Added CAN messages 0x70, x371 cell temp and voltage info
For full change log:- https://github.com/Uksa007/esphome-jk-bms-can/discussions/2
ESPHome is free software that makes it easier to install firmware on microprocessors and optionally integrate with Home Assistant.
I do not recommend Bluetooth, you should use a cable to connect to the JK BMS RS485 port.
You Need:
ESP32 microprocessor, development board is best I use esp32doit...
Hardware interface prototype has be assembled and is in testing.
Hardware interface has support for Overkill/JBD and code is in full testing using a JBD-SP25S003-L16S-100A
Update on Hardware interface.
I have made a prototype hardware interface that will essentially make it plug and play for most inverters, more details on my Patreon.
Hardware interface will be available to purchase for Patrons.
Have to disagree on that one, I have a few cells that are runners right up till 3.45v, where they seem to be overtaken by the rest and then become the lowest voltage cells. I set my balancer to start at 3.45v and that seems to works the best for me.
Note LF280k cells charging at 90A
Yes I have...
Hi,
I did initially implement this, but found that it was unnecessary, once the battery has been top balanced, as the voltage approaches the set charging/absorption voltage the battery on it's own will reduce/ramp down the current to 0
I'm in the middle of testing a more robust charging...
JBD/Overkill code soon moving to Beta and What you have all been waiting for!
Update:
Multi BMS Alpha code updated.
Update: Alpha V2.16 more info here
I completed and implement the initial design, the data is now combined from the slaves as per the design.
I have made many improvements and...
There are numerous different CAN protocols depending on the battery profile used.
It seems Sol-Ark supports Pylontech, which is one of the more common protocols. This document should help:
https://solaranzeige.de/phpBB3/download/file.php?id=2373
If you are using or plan to use a JK BMS I have...
You should have 52V at the Battery +- terminals, if not you have connection issues with bus bars.
Follow the instructions that came with JK BMS:
The BMS B-(blue) needs to go directly to the Battery -
The BMS P-(black) can go to circuit breaker and shunt.
Meter from the Battery terminals +- out...
The Heat+CAN mode has Heat output and CAN(not used as it is proprietary JK protocol)
Both will work, if you need the heat function get the Heat version if not, get the non Heat version.
I have been doing OTA updates for several months without any issues, but I disable charge and discharge first to ensure there is no effective use of the battery, as it does reboot EPS32.
1. There is no such value id(state_of_charge), id(capacity_remaining) is the SOC.
2. SOC is often not accurate and can drift over time if it doesn't get reset.
Charging to a set voltage is the most accurate way.
Adjust rebulk_offset lower to trigger charging when you what it.
The default...
Learning involves reading, research, critical thinking, trial and error, if you really want to lean I suggest you start doing this.
This is an advanced project, you will need to have a advanced understanding of electronics, be able to read circuit diagrams, construct circuits, install and...
Thanks for your comments, I have discussed with the Mods and Will, and they have kindly allowed it.
I'm not commercial, just one guy trying to make something others might find helpful.
It will be released on github like my JK-BMS version is, currently the JBD version is not fully functional and...
I have released the new version:
https://github.com/Uksa007/esphome-jk-bms-can/discussions/2
V1.11 4/12/22
Tested on ESPHome Version: 2022.11.4, upgrade by running "pip3 install -U esphome"
Complete rework of the charging logic, now charges with constant current(CC) to the absorption voltage...
The JK-BMS CAN version uses its's own CAN protocol.
I have built an interface board kit and software that allow communications between the JK-BMS and Inverters supporting CAN bus(pylon protocol)
See here for more info, it may be what you are looking for...
Hi,
Updade: Support now available for JBD/Overkill BMS CAN bus comms for inverters similar to my JK-BMS CAN bus project.
This would also facilitate integration with Home Assistant and control of the battery/inverter remotely see my JK-BMS CAN comms for example:
My Hardware interface now...
My project would enable JBD/Overkill BMS CAN comms with all inverters that support the Pylon/Goodwe LV protocol, which would be almost all LV battery/hybrid inverters, not just Victron.
Hi,
I have set up Pateron to help fund future development.
Additional info will be published to "Be in the know" Pateron membership levels and above like:
What development is coming soon
Development that has been completed and is in Alpha/Beta testing
Get early access to Alpha/Beta code for...
Initially it will be single BMS per inverter with Home Assistant integration, you have to walk before you run!
Once the Multi BMS goal is reached it will enable me to purchase another set of batteries/hardware to finish development, test and release Multi BMS support.
If you want this feature I...
The inverter manual says it supports 00: CANBus Battery mode
My Hardware Interface works with JK-BMS and JBD/Overkill(still in Beta testing) with CAN bus Inverters.
I would recommend the JK-BMS as it's what I use.
More info...
This would suggest you have a bad connection in either the balancer leads, or the bus bars.
Did you crimp or solder the balancer leads ring lugs, I find crimp and soldering them is a better connection.
The EG4 6000XP seems to support Pylon CAN protocol, so I don't see why it wouldn't work.
It uses the UART port that the dongle uses.
Consider the JK-BMS if you want both Bluetooth app and my board connected.
I have replied to your private conversation also.
Regards.
Do you have any ability to log the data from the inverter or better connect an ESP32, I have started working on Pylon RS485 comms for JK-BMS
More info here:
https://github.com/Uksa007/esphome-jk-bms-can/discussions/27
What you have all been waiting for!
I have been working pretty hard on this for the last few months, it is very early Proof of Concept Multi BMS code.
Multi BMS Alpha code info
Edit confirmed from another source this is what you need:
Alpha ESS SMILE5-BAT Quick Installation Manual page 6
Suggests the following, should be similar for your inverter
On means switch UP, DIP 2 and 3 ON labels are wrong.
Hi,
Is your Sofar solar inverter working well using my code eg CAN Goodwe/Pylon?
I should probably start to put a list together of confirmed working inverters.
Can you let me know how you configured the inverter to work correctly?
Thanks.
Updated code, can you please test and let me know if this resolves your issues?
V1.13.1 24/4/23 Fix compile issues with new version of ESPhome 2023.4.0, set rebulk offset to 2.5
https://github.com/Uksa007/esphome-jk-bms-can/blob/main/esp32-example-can.yaml
Unfortunately there is a small minority of inverters that don't support CAN, poor design by the manufacturer if you ask me, as most of the batteries on the market use CAN.
All the alarms present similar issues:
To be responsible you should do the following if an alarm goes off, which negates most of the benefit of having a seperate pack and BMS:
Under voltage (stop discharging all packs, not a good outcome)
Over voltage (stop charging all packs)
Over charge...
Do an ipconfig from a command prompt, your router maybe using a default.
On your adaptor you will see the below:
Connection-specific DNS Suffix . : localdomain.com
.localdomain.com is you domain.
you can set it to nothing eg ""
if you remove it, it defaults to .local as the domain
That looks like a ESP32-WROOM-DA, which is similar but with dual antenna switching, it may work, I don't think the dual antenna switching will work till the board is supported in ESPHome, probably no great loss.
If there is no CAN bus connected it will cause a kernel panic(which I have logged...
I hope that works for you, breaking high DC current with contactors is no joke.
My experience has tough me KISS, Keep It Simple Stupid, is often the best, and have backup safety systems.
eg Less complexity the better, it's why I went down the path of using the BMS communications and let the...
Hardware interface currently in final stages of testing, limited number available, register your interest at Patreon
Provides all the hardware needed to connect the JK-BMS to Inverter
Fully tested Plug and Play, connect to JK-BMS with the supplied 4 pin cable, plug in RJ45 Inverter cable and...
I don't think you fully appreciate justs how much time and effort goes into it.
It takes 100s and 100s of hours, probably 1000s of hours at this point.
Designing the circuit prototype, design it in software, build the PCB library, layout the board.
Writing the code, testing debugging...
Not sure you are gaining much by do this other than adding complexity and more single points of failure, eg if the main BMS fails or turns off charging/discharge both packs are effected.
If you don't want to use 2P16S just use the smaller packs BMS to communicate with the inverter, the SOC...
Just set the absorption voltage lower, eg 54.1V is about 95% according to my charging curve.
I will test with this voltage today and see what the SOC JK-BMS reports.
Edit: Setting 54V Absorption voltage and 30min absorption time, BMS resported 96% SOC.