Browsed by
Category: technical

Surprisingly good pack balancing

Surprisingly good pack balancing

One of the notorious details of lithium batteries is the need to keep all of the cells in balance. With a string in series, the total voltage can stay within safe limits but individual cell-level voltages can be dangerously high if other cells are correspondingly low. The trick is to keep all of the cells “balanced”, and that is what LiPo chargers have to do actively. Inside power tools and laptops the balancing is handled behind the scenes; for phones there is no need since they use single cells.

The “cell-level” voltages that matter in my homebrewbattery are the packs that contain 10 (soon to be 20) cells in parallel. I divided the individual cells up into packs to try and achieve similar capacities for all seven, but it was not possible to achieve perfection. Even then, the capacities I measured were at a 1 A discharge current – and actual performance of each pack will also depend on other parameters such as internal resistance. I had no way to predict how well the packs would stay balanced after a few charge-discharge cycles.

In the long term I want to get a nice battery monitoring system that takes care of balancing, but my design goals are to start cheap and bootstrap the battery. To keep with the data-focused approach that has proved interesting so far, I decided to simply log the pack voltages occasionally to “manually monitor” the state of balance. My target was to have the packs stay reasonably balanced for a week at a time, and if that was possible then I’d use a hobby charger to do an active balance every weekend. Here’s the data so far:

After nearly a month the packs are still almost indistinguishable from each other in voltage – the variation is within bounds of +/- half a percent! During October 10-12 the packs became a bit more unbalanced, but that corresponded to the deepest level of discharge during the experiment so far (a week of cloudy days and storms made it hard for the solar charger to keep up with battery use). A more prominent imbalance at deeper discharge is not surprising. Imagine a set of buckets of slightly different size that start full of water, so that they are all at “100%”. If exactly the same volume of water is removed from each bucket, then there will be differing amounts of water left in each. When most of the water is gone, there may be a bucket which is essentially empty and one which is still 20% full – the imbalance will appear enormous. Filling the same quantity of water back into each bucket will return them all to 100% full and exactly balanced. This shows up for my battery, since the packs returned to closer balance when the battery charged after those darker days.

It is interesting to ponder what the “safety threshold” for imbalance might be. The PCM 60x charge controller is configured to reach a maximum battery voltage of 28.6 V, which is about 4.085 V per pack. I’m deliberately stopping short of the 4.2 V upper limit for LiPo cells, because this provides a safety buffer and increases the longevity of the cells. If a pack was undervoltage and another was overvoltage by compensating amounts, the dangerous point would be when the high pack went past 4.2 V. This extreme situation corresponds to the packs pushing past an envelope of +/- 2.8%.

This chart is live – and I’m adding it to my statistics page. Follow along with me as I wait for imbalance to creep in – but at this rate I’ll be fine until Christmas!

Solar panel connected

Solar panel connected

Completing the first stage of my battery was a great feeling, but it has been sitting underutilised for a few days. My iSDT Q6 smart charger takes a 7-32 V DC input (nicely covering my 24 V system) so I’ve been able to power my cell testing from the battery. This bootstrapping is nice, but it has been slowly draining my battery and I’ve been reluctant to charge from the grid – the main point is to store sunlight! This weekend I’ve “plugged-in” to the sun.


A few months ago I bought six QCELLS Q.PRO-G4.1 265 solar panels on ebay for a fantastic bargain. At 265 W each these panels give me just over 1.5 kW of electricity production – way too much for my 0.5 kWh battery. For now, I’ve wired up a single panel to give a nominal 0.5C charge (2-hours full charge if the sun is bright).

Along with the solar panels I bought a second-hand MPPSolar PCM 60x charge controller. Again, this is oversized for my battery at this stage – it can put out a 60 A charging current – but I’ve dialled it down to 10 A. This is 1 A per cell in my current battery, which matches my testing regime and represents my “upper limit” in the design parameters.


For now, the solar panel is leaning against the back of the house. With only 9.23 A of short-circuit current from the single PV panel, I have taken a temporary shortcut and used 2.5mm twin-core-plus-earth (2.5 square mm cross section area for each of active, neutral, earth – normal internal wiring for household power sockets) to connect the panel to the PCM 60x charge controller. This wire is rated for 20A, and is currently routed under my house so does not have any UV or thermal load to deal with.

It took a lot of fiddly time to measure the cable distance, attach MC-4 connectors, triple-check polarity, connect into the PCM 60x terminals – and by the time I’d finished the sun was low enough to leave my PV panel perfectly in the shade!

Despite this, I was charging at 0.1 A! Everything seems to be working perfectly, and now I need to wait for some sun.


Cell-testing and data collection

Cell-testing and data collection

Perhaps the biggest problem with waste laptop batteries is that their usage history is unknown. It is important to run a series of tests to ensure that each cell is safe and useful. I have developed a production-line approach, and mark each cell with a “serial number” (YYMMDD## format) as I extract them from battery packs. This lets me record a range of data for each cell across each testing stage.

I read quite a lot of good ideas and put together the following test cycle:

  1. 20180606_202327_cropWhen I open a battery and extract the cells, I measure the “voltage at extraction”. Li-Ion cells have a normal voltage range of 2.7 – 4.2 V (extremes), but many waste laptop batteries have been sitting on shelves or in boxes for a long time. It is quite common to find cells that are significantly under-voltage, and some are even at 0 V.
  2. Any cells that are below 3 V get a careful “restoration” charge at just 50 mA to try and recover voltage. I use the NiMH setting on my smart charger for this step, and it is always supervised. Charging an under-voltage Li-Ion cell can cause shunts to form between the electrodes, creating an internal short-circuit (very bad). I understand that using a very low current helps prevent this.
  3. Cells are charged at 1.0 A on the LiPo setting of my hobby (RC planes) smart chargers, up to 4.2 V. Any cells that heat up while charging are instantly disqualified from further testing. I have not yet properly quantified “heat up”, but it is very obvious (they get hot to the touch). I record the date/time each cell finishes charging.
  4. One of my chargers gives an internal resistance reading. I am recording this for the cells that get charged on that device.
  5. The next major test is for self-discharge. I leave the cells sitting on the bench (in egg cartons) and measure their voltage after 24 hours, after 7 days, and after 14 days. I need cells which can hold most of their charge over this 2 week period.
  6. The final (and perhaps most important) thing to test is capacity. I want a standard test for this, and so typically give the cells a top-up charge to let them all start from “full”. I discharge them at 1 A on my smart charger, which logs how many mAh it draws from the cell. The cut-off is set to 3.2 V. I record the capacity.  1 A is a higher discharge current than most laptop cells would experience, but it is a nice round number and lets the discharge test be a bit quicker than if I used a lower current. It also serves as an upper-bound for the design of my home battery.


For improved safety, these tests are always conducted outside on a compressed fibre-cement sheet. Cells are never left charging while I am away from the house.