diy solar

diy solar

JK-BMS-CAN with new Cut-Off Charging Logic (open-source)

About to flash the newest version, I notice goodwe protocol has been removed (I think?) should be fine if I use pylon+ and reconfigure inverter to pylon batteries yeah ?
*ahh nevermind, i see the protocol is set from a drop down box now rather than in the code :)

I also added a second battery with an esp for monitoring (jk bms), happy to help with some testing!
 
Last edited:
My multi-bms with JK-PB series are already in production, thanks to @Sleeper85. Very easy to work with, very well worth it. He will attend to you until everything gets solved, almost spoonfeeding.

Thank you for your contribution to the project and thank you for testing the first multi-bms version with the new JK-BMS-PB.

3x Deye and 7x JK-BMS-PB with a single Atom S3 Lite + Atomic CAN base. 🥳
 
Thank you for your contribution to the project and thank you for testing the first multi-bms version with the new JK-BMS-PB.

3x Deye and 7x JK-BMS-PB with a single Atom S3 Lite + Atomic CAN base. 🥳
x 7 ??

Waow!!

that means i would have no issues testing it on mine which is only x2 and a Sofar inverter

Even though with the current single version on x2 Atom Lite i do have issues sometimes when the whole system just get confused and start discharging to the girs and charging from the grid under Self-Use settings....i know it's, not the code, its just the Sofar and how it is built because i don't get that with the Solis string.
 
quick question regards the EOC state, now that the ABS time is gone in the latest version, how is it calculated?
# End of charge (EOC) will be triggered if current and max cell voltage meet cut-off thresholds, plus the cycle count exceeds the below threshold
I assume max cell voltage is the bulk charge voltage, but what is the current cut off ? (tail current I guess)

I have auto charge current, auto discharge voltage, and auto charge voltage turned off.

I havent been able to get a full charge for awhile (crappy weather), but have added a second battery in P since, they are a bit out of sync right now so i'll see what happens. (I didnt charge or top balance the new battery, just put the cells in a box and connected it to the bus bar heh) I am thinking with the most recent vers if B1 (with CAN to inverter) gets full first and current drops close to zero but B2 is still charging (no inverer comm), EOC might be reached before B2 finishes hmmm (before this I could just set a longer ABS time)

cheers :)
 
Last edited:
quick question regards the EOC state, now that the ABS time is gone in the latest version, how is it calculated?
# End of charge (EOC) will be triggered if current and max cell voltage meet cut-off thresholds, plus the cycle count exceeds the below threshold
I assume max cell voltage is the bulk charge voltage, but what is the current cut off ? (tail current I guess)

I have auto charge current, auto discharge voltage, and auto charge voltage turned off.

I havent been able to get a full charge for awhile (crappy weather), but have added a second battery in P since, they are a bit out of sync right now so i'll see what happens. (I didnt charge or top balance the new battery, just put the cells in a box and connected it to the bus bar heh) I am thinking with the most recent vers if B1 (with CAN to inverter) gets full first and current drops close to zero but B2 is still charging (no inverer comm), EOC might be reached before B2 finishes hmmm (before this I could just set a longer ABS time)

cheers :)

All calculations are carried out with max_cell_v see the equations below.

You actually have problems with your current config, you must use the multi-bms version in your case.

Multi-bms version (dev)
 
Yes of course 😉

I sent you an example YAML privately.

Supervision of 2 BMS works well, the more the number of BMS increases, the harder it is for the ESP32.
Could please send me YAML file to me alseo.
I have 2 bms (b1a20s V10.XW and bd4a24s V11.XW) both partially connected to SPF5000ES .
currently working b1a20s V10.XW with BLE
 
Last edited:
All calculations are carried out with max_cell_v see the equations below.

You actually have problems with your current config, you must use the multi-bms version in your case.

Multi-bms version (dev)
mmm ok. I should see what happens tomorrow, should get a full charge in it.... (its possible the new battery gets full before the old one, which is the one talking to the inverter). with the multi BMS, I assume I could use either multi-bms_wire_pvbrain2.yaml or multi-bms_wire_one-esp.yaml ?
I have two JK b2a24s15p, right now each one has an ESP 32 for monitoring/logging. with the multiBMS code, I just use one ESP right, with both BMS serial ports connected to it? In the new code I couldn't find where to define pins for the JK serial comms or the CAN adaptor pins either, or is this automagically detected now? thanks :)
I also have a lazy cell which often drops during the abs time and never really comes back up with balancing which may cause issue with the new charge logic hmm.

if I run into any issues with this build or the multi I can just flash back to 15.x ~ 16.6. does 16.6 (first version to have the only send 100% after abs time) also wait for balance to end before EOC state?

cheers
 
Regarding the multi-bms version, if you don't have a PVbrain2 PCB, the YAMLs you can use are
  • multi-bms_wire_one-esp.yaml
  • multi-bms_ble_one-esp.yaml
  • multi-bms_mix_one-esp.yaml
As indicated in the name of the YAML it is a solution with a single ESP32.

FYI an ESP32 can support max 3x UART and 3x BLE. The number of max BMS will depend on the power of your ESP32. Atom S3 and ESP32-S3 are more powerful than a classic ESP32.

The PVbrain2 PCB with an ESP32-S3 has 11 UARTs.

The version for the new JK-BMS-PB can support more BMS because it only needs one RS485 UART connection.

I'll answer your questions later. Keep in mind that this is a beta version in development.

Currently very few tests have been carried out with these different configurations.

Multi-BMS version (beta dev branch)
 
In addition to the main YAML, you must have the packages folder as well as secrets.yaml (with your wifi credentials) in order to compile.
 
no rush. i see the board pins etc are defined in the packages/board files. when compiling/flashing with esphome on home assistant will it pull down the packages automatically or i'll upload them to HA? sorry for the questions ahah i'll go have a google now :D
 
Thank you for your contribution to the project and thank you for testing the first multi-bms version with the new JK-BMS-PB.

3x Deye and 7x JK-BMS-PB with a single Atom S3 Lite + Atomic CAN base. 🥳
I'd like to thank you again, to txubelaxu's component, and to everyone who contributed to this project. You dont know how useful your project to my problematic system. I can sleep better now.

I'm not encouraging anyone, and I'd like to make this project the way it is, an open-source, and I believe this will continue to be as is, because that's what he said upon starting that he will still open-source it (and he did), but if you want a one on one excellent support, it's very well worth it. It's not even like a paid service, I just gave what I could. Im not even sure if I gave enough for his 24hrs work for 3 days.

He didn't influence me with this post. I just really want to share my appreciation to his work. He deserves it. You can see his dedication to this project, we can see it here in this thread.

1.jpg
2.jpg
3.jpg
 
Last edited:
mmm ok. I should see what happens tomorrow, should get a full charge in it.... (its possible the new battery gets full before the old one, which is the one talking to the inverter). with the multi BMS, I assume I could use either multi-bms_wire_pvbrain2.yaml or multi-bms_wire_one-esp.yaml ?
I have two JK b2a24s15p, right now each one has an ESP 32 for monitoring/logging. with the multiBMS code, I just use one ESP right, with both BMS serial ports connected to it? In the new code I couldn't find where to define pins for the JK serial comms or the CAN adaptor pins either, or is this automagically detected now? thanks :)
I also have a lazy cell which often drops during the abs time and never really comes back up with balancing which may cause issue with the new charge logic hmm.

if I run into any issues with this build or the multi I can just flash back to 15.x ~ 16.6. does 16.6 (first version to have the only send 100% after abs time) also wait for balance to end before EOC state?

cheers

If you have problems with bad cells I advise you to try the Auto CVL and Auto CCL/DCL functions of @MrPablo

This function is complementary, it would be good to analyze your problem in order to see which one could respond best.

Here is information about how they work. If you have any other questions about these functions I will let @MrPablo answer you.

Auto CVL
Auto CCL DCL

You can obviously flash an old version without problems.
 
no rush. i see the board pins etc are defined in the packages/board files. when compiling/flashing with esphome on home assistant will it pull down the packages automatically or i'll upload them to HA? sorry for the questions ahah i'll go have a google now :D

The 'packages' folder must be part of your folder before compiling. Other YAML will not be downloaded automatically.
 
I'd like to thank you again, to txubelaxu's component, and to everyone who contributed to this project. You dont know how useful your project to my problematic system. I can sleep better now.

I'm not encouraging anyone, and I'd like to make this project the way it is, an open-source, and I believe this will continue to be as is, because that's what he said upon starting that he will still open-source it (and he did), but if you want a one on one excellent support, it's very well worth it. It's not even like a paid service, I just gave what I could. Im not even sure if I gave enough for his 24hrs work for 3 days.

He didn't influence me with this post. I just really want to share my appreciation to his work. He deserves it. You can see his dedication to this project, we can see it here in this thread.

View attachment 217512
View attachment 217513
View attachment 217514
You altered my feelings....amen to your post...
 
As I am a Web developer as well as a hobby....I am working on a project to add one more site to my many hosted sites to allow for ppl who have worked on projects such as this one to be able to receive donations

- it will only host genuine developers and not those who intellectually force ppl to cough out money (no judgements and not naming names) but I just feel it only right that one can show genuine appreciation when they know and feel the dedication in their heart that has gone into projects like this....just for the interest of it.

In truth the solution is actually priceless....and I hope the developers (Sleeper85, etc.....) get some kind of support and scholarship with this and in future project endeavours.

🙏🙏🙏
 
Back
Top