diy solar

diy solar

This is how you can use any LiFePo4 / Lithium battery single/multiple BMS(es) with any Inverter

With PylonTech BMS, can you get cell level information?

Is it better to have the batteries in master/slave configuration, or read each battery separately (all in master mode)?
PylonTech does not report single cell voltages - only the 2 cells with maximum or minimum voltage.

The low voltage protocol also does not send identifiers for different packs. So when running them in master/slave configuration the master will most probably aggregate the data and I see only one BMS.

The high voltage protocol does send identifiers (1-15).

Running each of the multiple BMSes separately (on a separate [can] port) is also possible and will give you more details.

So it depends on your BMS if its LV or HV (I think in your case LV) and on what level of details you like to receive.
 
Running each of the multiple BMSes separately (on a separate [can] port) is also possible and will give you more details.
.
so i will need a separate can bus for each battery if run separately (all master). They can't share one can bus.

The battery does have rs485 connector. Any way to get that to work?
 
so i will need a separate can bus for each battery if run separately (all master). They can't share one can bus.

The battery does have rs485 connector. Any way to get that to work?
Well, as I mentioned above, you can run them in a master/slave configuration and the master will most probably aggregate the data.
The RS485 is for the JK BMS right?
 
Well, as I mentioned above, you can run them in a master/slave configuration and the master will most probably aggregate the data.
The RS485 is for the JK BMS right?
I can see the details on the jk bms app. I'm more interested in seeing details on the endurenergy batteries I have.
 
I can see the details on the jk bms app. I'm more interested in seeing details on the endurenergy batteries I have.
You're getting me a little confused. Your EndurEnergy ESP-5100 has a CAN interface and, as I mentioned above, it looks like they support the Pylontech CAN protocol. What would you like to do with RS485?
Can you open a discussion or issue over at GitHub BMS-to-Inverter please then we can discuss this on a separate topic? Otherwise this thread gets too overloaded and its hard to follow each request and find the information.
 
You're getting me a little confused. Your EndurEnergy ESP-5100 has a CAN interface and, as I mentioned above, it looks like they support the Pylontech CAN protocol. What would you like to do with RS485?
It is my understanding that CAN protocol typically provides only high level information. RS485 is what is used to get cell level information. Or is it the same information is provided either way by the BMS, and it is BMS limitations that are my problem?
 
It is my understanding that CAN protocol typically provides only high level information. RS485 is what is used to get cell level information. Or is it the same information is provided either way by the BMS, and it is BMS limitations that are my problem?
No, you usually get the same information via CAN and RS485. But CAN is a lot faster and more reliable than RS485.
 
JK BMS compatibility is working really well. Thank you for getting this working :)

Edit: I should add the hardware I'm using:
Pi 4B 4GB with Bookworm.
Waveshare RS485/CAN hat https://www.waveshare.com/rs485-can-hat.htm
JK TTL-RS485 adapter

Prerequisite to start;
Per the Waveshare guidance, need to add the following to the Pi config.txt file.
Code:
sudo nano /boot/config.txt
and add and save;
Code:
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=12000000,interrupt=25,spimaxfrequency=2000000

Then, after reboot...
...open a terminal and enter;
Code:
stty -F /dev/ttyS0 9600
to set the right bitrate for the JK TTL-485 adapter
and the following for the CAN port;
Code:
sudo ip link set can0 up type can bitrate 500000
(or the bitrate of your inverter's CAN port)
and
Code:
sudo ifconfig can0 txqueuelen 65536
 
Last edited:
@TolSol - Very nice. Question - what about getting the info from batteries with Bluetooth only and parsing the data up to the inverter? I would be real interested in that and could also test. Pretty decent with Linux and have a pi deep in a closet somewhere gathering dust. I have an EG4 18kpv inverter…and use waterproof Bluetooth batteries…
 
Last edited:
TolSol I put my BMS and inverters in the Q&A on Github. Hope you can find a chance to implement a solution. Thank you very much for all you have done. Fiddling with my Pi3B+ making a multiboot setup for it today. BMS is a JBD model AP20S003, with Rich Solar H-3000 48v hybrid inverters.
 

diy solar

diy solar
Back
Top