Diy Active balancer

bartk

New member
Joined
May 17, 2019
Messages
12
Hello guys,

Together with someone else i am working on a DIY bms, with webpage interface and active balancing using a flying cell/capacitor.
It is a modular design making it possible to use it for indefinit(well almost) amount of cells in series.

Currently the webpage that is running on the ESP32 motherboard is seen at this link
https://bms.klumponline.nl/

Here you can see the finished pcb in EasyEda.
I have yet to order the first batch, but the total costs of 1 balancer will be around 15 dollars.


image_vdfrqi.jpg

The specs are as following.

Up to 8 cells in series per balancer board
Isolated Comport for communication
Using a STM32 Bluepill as the brain
Measures capacity that goes in and out of each Pack, making it possible to monitor wich pack is weaker then the rest.
All settings are configurable through the webpage (Yet to be written, but its on the todo list)
 
And the board is completely designed for the JLC pcb assembly service.
Production cost is 74 dollars for 5 pcbs fully assembled
 
Impressive work. Looks to be a well thought out board design.

Do the ESP32 master and STM32 slaves share the same PCB design? So the assembled board would come with pin headers and you drop in your module of choice?

Do additional cascaded BMS boards balance between boards or only between the 8 cells that a board manages? I can't see a connection for this but it could be just me.

What are your balancing currents?
 
BaronVonChickenPants said:
Impressive work. Looks to be a well thought out board design.

Do the ESP32 master and STM32 slaves share the same PCB design? So the assembled board would come with pin headers and you drop in your module of choice?

Do additional cascaded BMS boards balance between boards or only between the 8 cells that a board manages? I can't see a connection for this but it could be just me.

What are your balancing currents?

The ESP32 board is a seperate board that looks nothing like the balancing modules.
so for lets say 14S you need 1 motherboard and 2 balancer boards.

it only balances between the 8 cells it manages.
I havent ordered the first batch yet, so i can not say what currents will be reached.
But i am going to do all the testing soon.
I can measure current with the balancer module, so should be easily done.
Max balance current will be the same current that flows from 2 cells. 1 at 4.2V 1 at 3.0V


image_bybojb.jpg
 
If you dont have any interconnect how do you manage issues with self discharging?

Because without taking energy or transferring energy to the whole pack or bleeding energy you will in the end have one of the modules with higher voltage than the others.

This is one of the most common issues on diy powerwalls with 2nd hand cells.
 
What you mean with that ?
The balancer modules are aiming for a average voltage for each 8 cells they are monitoring.
And in future the motherboard will tell the balancers at what voltage they need to balance.
So the energy of a higher cell will be transferred to a lower cell
 
daromer said:
If you dont have any interconnect how do you manage issues with self discharging?

Because without taking energy or transferring energy to the whole pack or bleeding energy you will in the end have one of the modules with higher voltage than the others.

This is one of the most common issues on diy powerwalls with 2nd hand cells.
Can you elaborate ? I dont understand your question
 
If you have an average of 3.76V on bank 1 and 2. Lets say you then have 1 cell in Bank 1 that starts to discharge.

Suddenly bank 1 will have 3.5v and bank 2 still 3.76V. How do you intend to sort that issue?

In my world you have some scenarios to sort this
1. You can interconnect the slave boards so they can transfer energy in between each other. Bidi connection like others use
2. The slave boards can transfer energy to or from the main conection voltage pack. Then you have the issue with voltage range. Going above 65VDC is tricky
3. You add a passive dissipating resistor on each slave so if 1 slave gets to high that slave can dissipate it into heat. Though sounds wrong when going active.
 
daromer said:
If you have an average of 3.76V on bank 1 and 2. Lets say you then have 1 cell in Bank 1 that starts to discharge.

Suddenly bank 1 will have 3.5v and bank 2 still 3.76V. How do you intend to sort that issue?

In my world you have some scenarios to sort this
1. You can interconnect the slave boards so they can transfer energy in between each other. Bidi connection like others use
2. The slave boards can transfer energy to or from the main conection voltage pack. Then you have the issue with voltage range. Going above 65VDC is tricky
3. You add a passive dissipating resistor on each slave so if 1 slave gets to high that slave can dissipate it into heat. Though sounds wrong when going active.

So you are talking about a scenario where one of the packs will self discharge ?
 
Self discharge or just other ir. No matter what it will happen on diy packs and is the most common issue.

So you need to consider to be able to balance the full string and not part of the string. So 14s with 2x8s modules will not work im afraid :)

Your desing is nice and i like the approach and hope you find a suitable sollution to go above 8s.
 
Ideally there needs to be a way to balance between boards, particularly if you want the system to be almost infinitely expandable.

With larger systems, say 22s that we use for 48V LTO packs, this would mean 3 boards, cells at the start and end of the pack charge before cells in the middle, requiring balancing to even out the charge levels.

Without a balance interconnect between boards, the middle 8 cells would stay low and the end cells would stay high.
 
If people are curious, each balancer board will keep track of how many amps of balancing goes into each pack
So bad packs will be spotted by analyzing that data


daromer said:
Self discharge or just other ir. No matter what it will happen on diy packs and is the most common issue.

So you need to consider to be able to balance the full string and not part of the string. So 14s with 2x8s modules will not work im afraid :)

Your desing is nice and i like the approach and hope you find a suitable sollution to go above 8s.
I dont see where it would not work.
With 2 8s modules you can balance out the entire pack. there will be a slight difference between the first and second balancer, but thats customizable by future software upgrades
 
BaronVonChickenPants said:
Ideally there needs to be a way to balance between boards, particularly if you want the system to be almost infinitely expandable.

With larger systems, say 22s that we use for 48V LTO packs, this would mean 3 boards, cells at the start and end of the pack charge before cells in the middle, requiring balancing to even out the charge levels.

Without a balance interconnect between boards, the middle 8 cells would stay low and the end cells would stay high.

I think you and Daromer are missing that when using the 8s system on a >8s pack, there would be at least 1 overlapping cell between the low 8s and high set, thus with even 1 overlapping cell, that low grouping would always show as an imbalanced "cell" to the upper grouping, and the 2nd balancer would transfer capacity between the overlapped cell and the rest of the 8s group. Here's a picture illustrating it for a 15s system:



image_kpjwpi.jpg
 
If you overlap thats fine but then the system must be set Up so isolation exist..without overlap this system Will not work. Its basically like not having any balancer :)

Problem with overlap is that the software must compensate where the teansfered energy comes from
If you dont do that you cant report back transferera energy and or that middle cell will have a higher transfer rate. This is correctable in software.
 
Yeah, that'll work, a nice way of keeping it simple.

Just make sure all of your documentation and marketing material make the overlap clear, I think a lot of people will get caught out with this as it is not "normal" for stacking systems.
 
daromer said:
If you overlap thats fine but then the system must be set Up so isolation exist..without overlap this system Will not work. Its basically like not having any balancer :)

Problem with overlap is that the software must compensate where the teansfered energy comes from
If you dont do that you cant report back transferera energy and or that middle cell will have a higher transfer rate. This is correctable in software.

In the software I keep track of every cell received balance Ah.
And what do you mean with isolation ?
 
Overlap causes to have different grounds. So need isolated signals.


The overlapped cell allso need to have different calculations since it gets energy from 2 places or taken energy from 2. So you need to interpolate and send that data between Them to offset it.
 
The communication bus is completely isolated. So there won't be any issues with that.
There will be some software difficulty in keeping track of that overlap cell. Since it can receive energy from 2 ways. That is something I will have to dig in and try to find a solution.
 
Cool
Then ur om track :) looking forward how tonsolve it. I did some rough calculations some years back on that topic and it takes some time for sure.
 
Back
Top