Tuesday, June 13, 2017

Low Cost Active Battery Balancer

You might have noticed in my last posts that I used 120 pieces of recycled 18650 lithium cells alongside with 4S Lipo pack to power my ebike.

This introduces large variance in terms of practical charge capacity and coulometric efficiency. As the result, charging them all in series configuration (14S pack) can be very challenging because each individual cell accepts charge at a different rate, meaning, all 14S will sit at different voltage levels.

The issue arises when at least one of them reached overvoltage condition. For my case, anything above 4.2V per cell is deemed to be very dangerous as it might explode and catch on fire. The tragedy happened to me once before (fault charger) and I learned the hard way to respect the voltage limit.

I then constructed a passive battery balancer which was TL431-based shunt regulator (refer to my Hackaday link below). It works fine and dandy, but, the shunt transistor overheats pretty much all of the time. Dissipating 300mA as the balancing current at 4.2V (that's 1.26W) proven to be stressful for the design.

Not to mention the fact the balancer needs all cells in the pack to reached 4.2V before the actual balancing can be performed (this is commonly called as top-balancing).

Googling for an active balancer solution lead me to expensive proprietary solutions that I cannot afford at the moment.

Hence, I decided to give it a go by designing it myself using low cost parts.

This is what I come out with:

The schematic.

The principle is quite straight forward really. All I did was converting the synchronous buck converter module (MP2307) to become a voltage follower (look at R4 and R5). In this case, the voltage that it is following is the half of the battery voltage.

In theory, I can make the power converter module to follow any voltage that I want (within limits of course). This is a very simple way of modifying the voltage regulator to instead of having the voltage to be set by an internal voltage reference (0.925V in this case) and a resistor-network, this technique forces the chip to follow an external voltage reference instead.

In other words, the circuit forces the voltage regulation to be governed by an external voltage reference, instead of the internal one.


The circuit constructed on a perfboard.

I originally intent to manufacture and sell on it Tindie, but, before I do that, I thought it would be nice to have a review by a friend of mine in the community (Vanarian from Endless-Sphere). 

Unfortunately, the board that I posted to him in France was lost during shipment and the board does not reach to him.

I lost my motivation and decided to open source this instead with the hope that the community can benefit from it and made some enhancement to it.

I believe this is the first of its kind: simple and low-cost. Maybe someone can prove me otherwise? ;)



The design files can be found in the links below.

Links
Github: https://github.com/AfdhalAtiffTan/LowCostActiveBatteryBalancer
Endless-Sphere: https://endless-sphere.com/forums/viewtopic.php?f=14&t=87372
Hackaday: https://hackaday.io/project/20825-low-cost-non-dissipative-active-battery-balancer
Banggood: https://www.banggood.com/5Pcs-Mini-DC-Adjustable-Power-Supply-Buck-Module-Step-Down-Module-p-952402.html?p=3117141642416201505D

66 comments:

Shawn McCarty said...

Hi Afdhal,

I am seeking an active balancer for my companies products, BatteryBlocs.

www.batteryblocs.com

I would be interested in supporting this project financially and working with you to achieve a modular active balancing board. It is a superior concept to my Balance Blocs.

cheers,

Shawn

Afdhal Atiff Tan said...

Hi Shawn,

I do have plans to improve the circuit:
- lower quescient current
- faster balancing
- lower price

But, I only have weekends to work on my hobby projects, so, I don't think I can finalise the design within 2 months.

As for now, feel free to use current circuit. A small mention of me would be appreciated.

Kind regards,
Afdhal

Unknown said...

Hey Afdhal

I love the simplicity of the analogue circuit.

Did you try the circuit on more than two cells by any chance?

What was the quiescent current like?

I could get these manufactured easily in china cheaply.

Regards
Anthony

Shawn McCarty said...

Hi Anthony,

There is a similar product:

https://www.aliexpress.com/store/product/60pcs-With-Led-Battery-Equalizer-1S-Single-Cell-Li-ion-LiFePO4-LTO-NCM-Polymer-18650-DIY/708582_32959483599.html?spm=2114.12010612.8148356.34.74d51c916pXO9U

Do you think these could be made for less? If so, I would like to join you in making a trial batch in China- maybe by Seeed- if Afdhal supports this.

Shawn
www.batteryblocs.com

Afdhal Atiff Tan said...

@Anthony
No, I only tested it on 2S-cell. I did test the quiescent current, but I lost the log file. Feel free to manufacture it.

@Shawn
Thank you for the link, that is one interesting product indeed. I wonder what topology they used. My version can be made for under $3 per cell, maybe Anthony can make it cheaper?

Shawn McCarty said...

Afdhal,

Are you still working on this? When I look at your KiCad schematic I see four separate circuits. I don't see how they fit together. (I'm not good at this) I have someone who will draw the PCB if I can get him a good schematic. Can you help?

As always, I understand your time is valuable and am happy to pay you for it.

Shawn

shawnwiththewind@gmail.com

Afdhal Atiff Tan said...

Hi Shawn,

The 4 circuits you mentioned is connected via the node names. For example, all nodes named VCOM are connected together.

I plan to restart this project in 4 weeks, I'll let you know if I have any updates.

-Afdhal

Shawn McCarty said...

Hi Afdhal,

Ahh, that makes sense, connect the nodes.

Happy to hear you are still interested. Do you have ideas for improvement?

There is a real need for a low cost modular balancer. My goal is to build one into each BatteryBloc so DIY people can assemble batteries like Legos.

I would be happy to see an open source schematic. I would make them and sell them with my BatteryBlocs, and at the same time have links to the schematic for the DIY people.

The best on the market are from Deligreen and cost $21 each: I believe they use flyback topology.

https://www.aliexpress.com/item/lithium-battery-balancer-which-keep-your-batteries-voltage-difference-within-10mV/1768384410.html?spm=a2g0s.9042311.0.0.a0bc4c4dQEkWEp

The product needs to be as efficient as possible, balancing accuracy is less important. .05 of a volt difference could be the limit.

Let me know if I can help your effort with funding.

sincerely,

Shawn

Afdhal Atiff Tan said...

Hi Shawn,
How fast does it need to be? With current design, 50mV will take days.
Flyback topology might solve this, but, I'm not sure about the BOM cost yet.
-Afdhal

Malcom said...

Hi Afdhal,

What would the balance current be between cells?

cheers
Malcom

Rodrigo said...

I'm not sure if your circuit works well, because if you use a buck topology you can only transfer power by one direction, so in this case, from top to bottom battery. If your upper battery has a bigger voltage than the lower, the circuit will transfer power (with no limit apparently) to reach a equal voltage. But if the bottom battery has a bigger voltage than the upper, your circuit cant do anything to equalize them.
Sorry for my bad english. I expect some reply from you.

Afdhal Atiff Tan said...

@Rodrigo Have you considered that current will flow when there is a voltage difference? If Vcom is always at 1/2VBatt, it will force both cells to equalise.

Miftah said...

Hi Afdhal, could you tell us how did you get 0.925V ? thank you for your reply

drevz556 said...

Hi there! I am intending to take inspiration from your design for my final year project. Can i have your permission to do so? Credits and mentions will of course be presented in my report!

Thanks!!
Gabriel

Afdhal Atiff Tan said...

@drevz556

Sure, wish you all the best!

niko_20010 said...
This comment has been removed by the author.
niko_20010 said...

@Rodrigo this thing works because the buck used is a SYNCHRONOUS one!
Sync Bucks are capable of transferring energy in both directions.
Means: if you let current flow into the output, it will be transformed back to the input at a ratio determined by the duty cycle of the two FETs...

Afdhal Atiff Tan said...

@Miftah
The 0.925V is from MP2307 datasheet. Sorry for the late reply!

@niko_20010
Thank you for clarifying it for others!

Koray said...

There are two big capacitor in your pcb . Do they exist in the shematic?

Afdhal Atiff Tan said...

@Koray
Yes, C1 & C5. The values are not critical.

Anonymous said...

The converter chip MP2307 requires 0.925V in feedback pin (5) to be set in order to turn the converter into an "idle" state, which means that batteries are balanced and no current is transferred between them. Opamp working as a comparator gives at its output +Vcc or -Vcc depends on comparison results, simplifying of course. In your circuit, it is impossible to set the converter into mentioned idle (means the balanced) state because the opamp never gives required 0.925V on the MP2307 feedback pin (5) when opamp input voltage comparison takes result: both are the same (1/2 Vcc as a reference from resistors divider and the voltage from the middle point between batteries). Your balancer is constantly jumping from one extreme state into the second one and never achieves stability.

The overall idea is great but requires to be little improved.

Robert

Afdhal Atiff Tan said...

@Robert
I think you might want to reanalyse the circuit. The opamp is working as a summing amplifier which will drive the output in the linear range, i.e. it is not a comparator. The other opamp smoothes the output so that a stable offset 0.925V can be removed.

No comparator here, just pure analogue. You can look at my Hackaday entry for the voltage curves.

Robert said...

@Afdhal Atiff Tan
Thank You for the explanation. If I understand well, disconnecting VCom from the battery stack should set the converter into stable 1/2 +Batt voltage on the VCom output. That makes sense. Beer for you! :) I have to build a prototype and next balance 14S battery stack in my DIY powerwall.

Robert

Afdhal Atiff Tan said...

@Robert
Sounds interesting, keep me posted!

pk s said...
This comment has been removed by the author.
pk s said...

@Afdhal Atiff Tan
In the datasheet of the MP2307, the parmeter "Lower Switch Current" is given only 0.9A. Does this mean that balancing current is limited to 0.9A?

Afdhal Atiff Tan said...

@pk s
I believe the number is for the low-side mosfet current limit.
Since the chip is a synchronous buck converter, it uses the bottom mosfet as the "flyback diode".

Tbh, I am not sure what is the exact current limit, but, you may be right.

L_oled said...

Really nice work!
I was searching for a low cost and simple active cell balancer for LTO batteries, your design should be nice for that. There was an other solution using ETA3000 but they are not suitable for a 2,4V nominal battery voltage...

I was wondering about synchronous controller working in negative current flow. I also see that the MP2307 was a old chip (Not recomended for new designs), I would rather prefer an newer alternate part. After some checks in a few synchronous controller datasheet it seems that reverse current in inductor is not allowed by some newer IC(i.e. MP2393, replacement part of MP2307) due to light load efficiency optimization. Thus depending on regulation logic not all synchronous converters are bidirectionnal.
I was thinking to use a controller like the TPS62148 (as it support Forced-PWM mode).

An other point is the balancing current; if I am correct the only balancing current limit is the MP2307 cycle-by-cycle current limit ? Is there any risk to apply too high current on some highly unbalanced cells?

Regards,
L_oled

Afdhal Atiff Tan said...

@L_oled
Thank you for sharing your thoughts.
I never knew ETA3000 existed!

I agree that an alternative to MP2307 must be found.
I am looking for a low-cost part that supports at least 1MHz switching frequency.

TPS62148 looks good, not sure where to source them cheaply though.

Regarding the current limit, according to the datasheet, it appears that only the high-side switch has the current protection. I am not sure about the risk, but I do include a poly-fuse in case there is an overcurrent situation.

-Afdhal

Vanarian said...

Hi Afdhal, Long time no see! :)

Glad to see you're still following your project, are you still connected to E-S ? If yes I send you a PM later today!

Following on the comments, have you checked this chip TPS563249 from TI ? 3A continuous, 1% voltage feedback accuracy and pretty chip, low resistance integrated mosfets. Datasheet isn't as complete as TPS62148 but it's a fraction of the price. Seems to have good efficiency close to 4-5V output.

I didn't have the chance previously to help and review your first proto, hope I can finally return the favor & we manage to work out something good now :)

Best
Chris

Afdhal Atiff Tan said...

Hi Chris, glad to see you! :)

The chip you've mentioned looks interesting. It has a higher switching frequency which is good.

Is your plan to use the same feedback circuit as my old version?

Kind regards,
Afdhal

Vanarian said...

Hi, Yes the plan is to use it (unless you already have improved the design) ! Have you made more test ?

Yes would be nice to have a version able to work above 1Mhz frequency :)

Best
Chris

Afdhal Atiff Tan said...

Hi Chris,

I am in the middle of something at the moment,
I will get back to you in 1-2 weeks.

Kind regards,
Afdhal

Vanarian said...

Hi Afdhal,

Noted :) looking forward to your return !

Best
Chris

Proboscide99 said...

Hello everybody, this project looks interesting, what I don't understand is:
I have four 6V lead acid batteries connected in serie and I want to balance them.
There is no common ground because batteries are connected in serie.
Looks like the circuit needs a common ground between batteries, how can it work?

Alessandro
Italy

Afdhal Atiff Tan said...

@Proboscide99

Hi Alessandro,

You are correct, it needs the "common ground" to work.

However, if you are using a lead-acid battery, you can balance it by using "equalisation charge".

Basically, just overcharge both cells so that the chemistry "top-balance" itself.

Kind regards,
Afdhal

------------------------------------------

@Vanarian
Hi Chris,

Sorry for my late reply, I finally managed to get a chance to work on the project.
I have improved the design so that it will balance faster and draw lower quiescent current.

Everything is on the paper at the moment, I will let you know once I got the design digitised.


Kind regards,
Afdhal

Afdhal Atiff Tan said...

@Proboscide99

Hi Alessandro,

Sorry, I spoke too soon. I thought you want to balance each cell, not each 6V battery.

No, you don't need the "common ground" to balance each battery, you can daisy-chain the circuit to balance all four batteries. In this case, you will need 3 copies of the balancer.

Kind regards,
Afdhal

Proboscide99 said...

Hi Afdhal,thankyou for your reply!
I thought I need to connect the "VCOM" of each balancer together in order to have the push/pull power from/to batteries with different voltages.
I'm probably wrong here, because for that to work I believe I also have to connect ground together, which is incompatible with the serie connection between batteries (where the ground of a battery is connected to the +BATT of the previous one, causing a short).
I'll try to figure it out.
Thanks
Alessandro

Proboscide99 said...

Hello again, I found the explanation in the original project's website, sorry for not reading it at first:

The following is an example for a 4S pack:
Balancer1: Cell1 and Cell2
Balancer2: Cell2 and Cell3
Balancer3: Cell3 and Cell4

So, if I get it right, the first balancer has GND to negative lead of first battery, +BATT to positive lead of second battery and VCOM to the central connection between batteries, right?

Will it work for lead acid 6V (total voltage for two batteries may reach 15V in final charge stage).

Thanks a lot and Regards
Alessandro

Proboscide99 said...

I would also place a clamping zener (3V ~ 5,1V should be fine) between Vfb and ground, since the MP2307's maximum rating is 6V while the LM358 is supplied by higher voltage. Maybe R9 should be higher to reduce current into the zener, if the impedance of the Vfb pin allows that.

Ciao!
Alessandro

Afdhal Atiff Tan said...

@Proboscide99

Hi Alessandro,

Sorry for my late reply.

Yes, the wiring that you have mentioned is correct.

It should work with 6V battery as the maximum voltage that the MP2307 can handle is 23V.
In theory, the maximum voltage for each "cell" is 12V-ish.

I expect the Vfb to hover around 1V, but I agree with your zener diode idea, additional protection is always good.

Let me know if you have replicated the circuit!

Kind regards,
Afdhal

Proboscide99 said...

Hello, I ordered four MP2307 converters (one spare part for murphy law) and expect to receive them from UK in two weeks worst case.

It was the fastest possible path as they would take one month from china.

In the meantime, since I have a nearly failed battery in the serie, I'm developing a super-shunt that allows recharging the pack even if the failed battery reaches prematurely the final voltage.

During discharge I connect an isolated meanwell SD-100B-5 stepdown power supply with 24Vin, 5Vout 20A for the purpose of transferring energy from the working batteries to the weak one :-)

I'll keep you posted.

Ciao!
Alessandro

Proboscide99 said...

Hi again, about the Vfb zener protection, I agree that if the converter operates on normal loads (no batteries), then the MP2307 reacts immediately to Vfb adjustments (cancelling the output voltage error) so the operational amplifier (LM358) output always stays around the 0,925V reference value for the Vfb signal.

But if you have a battery, which is very slow, the MP2307 will slowly move to the balance condition. Before that, the LM358 will keep seeing the error and probably the output (sent to the Vfb pin) will be near 0V (in one case) or near +VBATT (in the opposite).

I suppose that the near-vbatt condition on Vfb occurs when the gnd-side battery has higher voltage than the other one.

In this case, the Vfb will be higher than 0.925V (because we are asking the MP2307 to lower the voltage on VCOM).

Since the VCOM voltage cannot change quickly (because we have to move energy between batteries, which will take some time) the error persists long enough for the LM358 output to reach the upper voltage (near the +vbatt supply) because it keeps seeing the error until the balance is done.

If this makes sense to you, you may try to check what happens on the Vfb pin during balancing (I can't because I don't have the hardware yet).

Ciao!
Alessandro

Afdhal Atiff Tan said...

@Proboscide99

Hi Alessandro,

I have been caught by Murphy's Law in the past as well. 🤣

I am in the UK too (Worcester), so maybe we can collaborate on a project one day.

I used to use a shunt on my battery before, but the wasted heat generated is too much for me to handle.

Are you using the battery on an ebike? The isolated DC/DC converter idea is nice, but a bit overkill in my opinion.

I see what you mean with the Vfb, I have to say that I am embarrassed to missed the fact that it can be saturated when one of the cells is off-balance.

Thank you for sharing your thoughts, I will add it in the future revision and credit you for it. :)

Kind regards,
Afdhal



Proboscide99 said...

Hi Afdhal,
Unfortunately we don't live in the same country (I'm from Italy) but we can still do something. UK (and Spain) was the closest place where I found the converters.

The batteries are for a stand alone small solar plant (750Wp panels, four 6V 180Ah batteries), mainly used for a backup 24V line at home (lighting) and a low power 230Vac line (from a 2kW true sinewave inverter).

The batteries are five years old and unfortunately one (n.3) is about to fail, this is why I'm approaching the world of balancers (a little late, you may say) :-)

Next pack I'll install them from the beginning.

Since the battery n.3 is not completely gone and the other three are operating (almost) normally, I decided to have some fun by trying to postpone the replacement of the pack.

Hence, I bought the 24 --> 5V 20A isolated dc-dc converter (the output can be trimmed between 4,5 and 5,5V). It takes power from the whole pack (24V) and supplies a 5,25V to the n.3 (failing) battery. This way, the battery is capable of sustaining the load even when prematurely discharged. The converter prevent the voltage from falling below 5,25V and this avoids further damage to the battery.

Then, the opposite problem arises at charging time: the three "good" batteries have far more capacity to restore than n.3, which reaches the final voltage quickly. For that problem I'm building a large passive shunt which is capable to bypass the whole solar charger current (abount 20 Amperes) so the other batteries can keep charging. This assures that the voltate on the failing battery will not rise above 7,15V (which is the shunt threshold).

Of course an active balancer whould be better, but currents are a bit too high.

When available, I think I will add the MP2307 balancers to take some of the passive dissipation off, but I can't remove the passive shunt from battery n.3 until I replace the pack.

Thanks for the credits! :-)

Kind Regards
Alessandro

Proboscide99 said...

Hello Afdhal, while I wait for the MP2307 boards to arrive, I may start building che circuits. I read that you made some improvements over the initial schematic, may you share them before I start? Doesn't matter of course if you only have sketches and manual drawings.

Thanks in any case
Alessandro

Afdhal Atiff Tan said...

Hi @Proboscide99 Alessandro, @Vanarian Chris, and all,

Sorry for the slow progress.

I have uploaded the V2 draft here: https://github.com/AfdhalAtiffTan/LowCostActiveBatteryBalancer/blob/master/v2_draft_untested.pdf

Any feedback will be appreciated.

Proboscide99 said...

Thankyou for the schematic and for the proboscide's led :)

Proboscide99 said...

Hello Afdhal, I received the MP2307 boards. I built a mix of previous schematic (using MP2307, which is more powerful) and new schematic (with the additional op amp for turning off the converter when not needed) and it works.

I only moved the Vfb clamp away from the sallenkey filter so that the filter sees the entire voltage swing while the MP2307's feedback pin receives the clamped signal (schematic):
https://www.dropbox.com/s/vmhb2qa9fxkpipd/schema_prototipo_assemblato.jpeg?dl=0
(the manually drawn op-amp is from the V2 schematic, just for reference of pins because I used two LM358 instead of the single i.c.)

The balancing current (tipically in the range of 350-400mA) is a little low for the size of my batteries (180Ah). I believe this may be due to overheat protection. I noticed some instability of the MP2307 caused by the unusual wiring of the feedback input, that probably needs to be closely coupled with the output voltage. The MP2307 draws about 50mA instead of 15mA whith the feedback connected normally (for voltage regulation), but this may be due to poor layout of my prototype, maybe that a well designed pcb solves this small issue.

I also noticed that the balance current is a little higher when the circuit works as a step-down (upper battery to bottom battery) than when it works in boost mode (bottom battery to upper battery).

The window comparator (added in V2) for enable control is a little critical on resistor's tolerance, it can happen that the circuit is turned off when there is a little difference to balance and vice versa.

Anyway, the concept of bidirectional conversion works.

I'm now wondering if go ahead with this solution (with larger converter) or finding other ways to obtain higher currents.

For example, I came across an NXP application note (AN4428) which describes an inductor-based solution: one of two mosfet is driven with a PWM. Depending on which mosfet is driven, the current flows from B1 to B2 or vice versa. The amount of energy is only limited by the size of the inductor and the mosfets (and the operating frequency, of course, but I'd prefer to keep this low to reduce losses). The drives should avoid saturating the inductor by limiting the T-ON time to the necessary.

See figure 2 of this document:
https://www.dropbox.com/s/4w9z1k0c1i2txts/idea_half_bridge-NXP_battery_balancer_AN4428.pdf?dl=0

What do you think about it?

Ciao!
Alessandro

Afdhal Atiff Tan said...

@Proboscide99
Hi Alessandro,

I am glad to know that you have replicated my result.

May I know why you moved the voltage clamp?
I think your idea of clamping it early in the signal chain is a good idea.
The sallenkey low pass filter is meant to produce a fixed 0.925V (or whatever the reference used by the IC) during runtime.
The LPF can be replaced with a fixed 0.925V reference if so desired.

If a higher current is needed, I can recommend BTS7960 or equivalent (an external driver will be needed).

Do you have an oscilloscope to capture the instability?

Idling at 50mA sounds a bit too high for an MP2307.
I am in the process of designing a PCB, but this might take 3-4 weekends as I have very little time for personal projects.

I recommend 1% tolerance for all resistors.
You will need to adjust the reference resistor if you use TL431 to the desired voltage difference.

The V2 opamp is not just for enable control,
it also will increase the balancing current (U2.3's output is connected to R8),
i.e. the window comparator should solve the unbalanced current problem (source/sink).

I've seen the AN4428 before. I shy away from it because of the potential cost.
Unless all pwm channel is driven at 50%, Fig.2 in AN4428 doesn't describe how the cell voltage is sampled.
It does mention the use of analogue multiplexer though.

Any thoughts?

Kind regards,
Afdhal

Proboscide99 said...

I thought the sallenkey filter didn't need the clamped voltage, only the MP2307 does, so I connected the first to the output of comparator as it was in your original schematic, probably it does not care so much :-)

I see the BTS7960 is a dual power mos P+N which seems to be ideal for the NXP solution, you mean to use it as a power stage for the converter or are you talking about the NXP way?

I connected a scope to the Vfb pin, I can see a very large sinusoidal ripple (0,5V !), here is the photo (500mV / 10uS per division). The 0V is the center of the screen (in fact the ripple reaches the 0,9V of the regulator).
https://www.dropbox.com/s/nc2b5x3rgq5zbos/2020-08-23%2019.21.25.jpg?dl=0

Indeed I think it's due to routing.
May you check your circuit to see if Vfb is stable?

I believed the asymmetry between buck and boost was a limit of the converter that can't be compensated by driving the feedback, is that wrong?

I think in the NXP solution the voltage is sampled by the AD in the microcontroller, which then drives the MOS gates. The T-on duration should be less than the saturation time of the coil, so I think the goal is turning the MOS off when the maximum possible energy has been stored in the coil but before it saturates. Then, the T-off should be long enough for this energy to flow in the lower battery.

Probably the microcontroller should be programmed in such a way that the amount of energy transferred at every cycle varies with the battery voltage difference, anyway never more than 50% duty (which corresponds to 100% of energy transfer, I think).

Ciao!
Alessandro

Afdhal Atiff Tan said...

@Proboscide99
Hi Alessandro,

I see your point about the voltage clamp. Maybe it is not critical where it is clamped.

The BTS7960 could be used in any way (NXP or not).
I haven't thought much about it yet.

500mV at about 125kHz looks very odd.
I will check mine later once I got my pcb done.

The V1 circuit forces the output to be at 1/2 Vbatt.
The V2 circuit chooses the output between 1/3 and 2/3 Vbatt.
So, V2 should give a higher balancing current.

But, if the Vfb is already saturated, then, you're right,
the balancing current is indeed unbalanced.

While driving the inductor may be trivial,
measuring voltages on a multi-cell pack is not.

Do you have any (low-cost) suggestions?

Kind regards,
Afdhal

Unknown said...

Hello Afdhal,

Nice project you are working on, i was looking exactly for something like this.
Like the modular design.

I was wondering if it would be possible to add an i2c interface to monitor the singe cell voltages and statuses (getting feeded or feeding) to read in with for example nodeMCU, raspberryPI, arduino...

This makes it possible to shut down the charging or discharging of the pack at the lowest/ highhest cell voltage with relays.


Greets

Maarten (Belgium)

Afdhal Atiff Tan said...

@Unknown

Hi Maarten,

While it is possible, I don't plan to include it because of the added cost (MCU, isolation, etc.).

There are many low-cost "bms" in the market that handle over/under voltage/current protection.

Kind regards,
Afdhal

Unknown said...

Hi,

Indeed there are many low-cost bms but these are not modular
and if you want an interface they are not cheap anymore.

I want to use this for a diy home battery of 80p 7s li-on batteries.
Any idea what the maximum ballance current is for this system?

Unknown said...

Hello Afdhal,

Any idea how i can import this project in easyEDA
to i can generate the gerber files and BOM list and order pre-assembled prints?
I downloaded the project from GitHub and opened with KiCad but cannot export to DXF.

Thanks in advance!

Maarten

Afdhal Atiff Tan said...

@Unknown
Hi Maarten,
Sorry for the late reply, I am not sure how somehow missed your last message.

The maximum current practically I believe is about 500mA, if you need something higher, I would suggest you to use BTS7960 or equivalent. But, I don't think this topology is suitable for that purpose though.

I am not familiar with the DXF conversion. The circuit is fairly simple, it should be easy for you to rewire it in EasyEDA.

Kind regards,
Afdhal

Vanarian said...

Hi Afdhal,
Sorry for late reply (I don't know why I never get notifications from your posts) ! Nice progress on your project, do you plan on making any blog post about it or for now it remains in schematic state ? Do you think it can be tested as is ?

Best
Chris/Vanarian :)

Afdhal Atiff Tan said...

@Vanarian

Hi Chris,

Upon further inspection, I decided that the balancer is not suitable for ebike use, mainly because of the high quiescent-current consumed by the voltage reference.

In other words, I can only make it either precise or energy-efficient.

In precise mode, the balancer will use a voltage reference and maintain the balance in terms of mV (e.g. all cells are balanced within 10mV).

In energy-efficient mode, the balancer will use a resistor divider and maintain the balance in terms of % (e.g. all cells are balanced within 1%).

I think the former is more suitable for ebike applications.

Any suggestions?

Kind regards,
Afdhal

BobEmerson12 said...

No matter which approach is best, I'm still interested in building or buying a modular cell balancer. Also a modular cell-based low and high voltage disconnect.

Whether it's 1s or 4s, modules that could be daisy chained.

Good luck with your studies--you're learning a lot with this project.

Afdhal Atiff Tan said...

@BobEmerson12

Hi Bob,
May I have a more detailed spec for the kind of modular balancer that you have in mind?

9thtale said...

I was wondering if is it possible to use nonsynchronous buck converters?
Also in 2s config what happens if the bottom cell is fully charged and the top one isn't?

Afdhal Atiff Tan said...

@9thtale

You'll need a synchronous buck so that the energy can be transferred between 2 cells. Using an asynchronous one will only allow transfer from top to bottom cell.

In that config, the bottom should transfer its energy to the top.

9thtale said...
This comment has been removed by the author.
9thtale said...

And is it okay to keep this circuit attached to the battery 24/7 and while its charging?
also how much can the transfer current between the cells be? is it adjustable?\

Sorry if I'm asking stupid questions, I'm new to battery balancing circuits, till now I've always worked with single cells.

Afdhal Atiff Tan said...

@9thtale

Yes, connecting it 24/7 while charging is ok. Don't use it without a charger as it will drain both cells.

The current is not adjustable. The maximum that the chip can handle reliably is around 1A. Any resistance in the wiring will drop the balancing current very significantly.

This is because it relies on the voltage difference between the top and the bottom cell.

For example, if the difference between cells is 100mV and the resistance of the wire is 1Ω, the balancing current will be 100mA.

I do realise that this is a huge drawback. I would suggest you look at other solution.

No problem, you asked good questions.