Which data to output ? Curves ? Capacity ? For each cell ? Group ?

Test scenario (WIP):

Charge 3A to 0.1A

Wait 2min (?)

Discharge 3A to 2.5V (2.8V?)

Wait 2min (?)

Data retrieval

All tested cells curves?

Data analysis

Voltage rebound / bounce after charge or discharge

Voltage drop in discharge, comparison with measured IR

Voltage change after storage period (cell IR/V meas before xlife pack assembly)

Questions:

3A is 1C for Samsung 35E, but more for EVE and other cells ⇒ less precise on the latter

C-rate to charge the cell back to 3.65V

Capacity measurement

Introduction

With the aim of gaining time, we will use a partial discharge measurement at 1C rate. However both the “high” C-rate and the partial cycle are source of errors. First, the discharge capacity @1C is lower than the discharge capacity measured @0.1C. Then, the estimated capacity based on the partial discharge is inaccurate.

Therefore, it is important - when using this method - to be aware that:

the capacity we are estimating is not the real cell capacity ⇒ can we accept that?

We are simply looking for cell matching so the actual cell capacity isn’t of interest for us. Simply, we have to make sure that two cells that actually match (resp. dismatch) at 0.1C also match (resp. dismatch) at 1C.

the estimation is inaccurate ⇒ how well can it perform?

I found three papers presenting the partial capacity estimation as a fast and sufficiently reliable solution to the issue of capacity measurement.

(1)

(2)

(3)

The presented method is the following. We discharge the cell from U+ to U-, measure the corresponding partial capacity, and simply assume that this measured capacity is proportional to the full capacity of the cell.

Our method - without correction

For 1 reference cell of the 2nd life batch:

Charge to 4.2 @1C with 0.1A cut-off current

Discharge to Discharge Voltage @1C (~2.5V)

We have a full-scale Reference Curve. On the Reference Curve, we can see how many Ah have been discharged when we cross 3.55V. The ratio between this value and full scale Ah of the Reference Cell gives us the DOD%_3.55V of this crossing point.

Wait 15 min

Charge to 3.65V @0.5C ????

For each cell to test:

Charge to 4.2 @1C with 0.1A cut-off current

Discharge to 3.5V @1C (3.5V because the voltage rebounds at ~storage voltage)

Rule-of-three using the partial discharge capacity to reach 3.5V on this cell and DOD%_3.5V gives us the full scale capacity for this cell

Our method - with correction

💡

For 1 reference cell of the 2nd life batch:

Charge to 4.2 @1C with 0.1A cut-off current

Discharge to 3.46V @3A

Discharge to 3.45V @1.5A

Discharge to Discharge Voltage 3A (~.5V)

We have a full-scale Reference Curve. On the Reference Curve, we can see how many Ah have been discharged when we cross 3.45V. The ratio between this value and full scale Ah of the Reference Cell gives us the DOD%_3.45V of this crossing point.

Wait 15 min

Charge to 3.65V @0.5C ????

For each cell to test:

Charge the cell to 4.2 @1C with 0.1A cut-off current

Discharge to 3.46V @3A

Discharge to 3.45V @1.5A (3.45V because the voltage rebounds at ~storage voltage)

Rule-of-three using the partial discharge capacity to reach 3.45V on this cell and DOD%_3.45V gives us the full scale capacity for this cell

The idea is to lower the current when voltage approaches stop_voltage value (3.45V or 3.50?)

Purpose of this test: minimize the influence of the cell’s internal resistance (by reducing the current and therefore the voltage drop)

However, if this solution seems to be a good way to bypass the influence of internal resistance and therefore get a reliable measurement for all cells of one batch, calculations seem to point out an issue. The correction on capacity is:

The closer we try to get to a low-current capacity (left-hand term), the further we get from it (right-hand term):

The lower the correction current intensity is:

the closer is to the real capacity

the bigger is, so the further we get from

Let’s take a look into the details.

And when using no correction:

Therefore, in order to know which capacity between the latter is the closest to , we need to compare:

Pour la Samsung 35E C00017 à 0.1A:

So, the correction should work!

PROBLEM = FOR THE FULL CURVE, WE BRING BACK THE JUMP ⇒ less capacity ???

Experiment & results

The results are presented on the following BatResearch page:

Pistes d’amélioration:

We could use a higher than 100mA cutoff (~200) to reduce CV phase time. Even if full-scale Ah value is not precise in absolute, we will use a ratio for the other cells.

D’après (1), il faudrait que l’intervalle de tension que l’on utilise pour l’estimation soit plus petit que l’intervalle entier utilisé pour le cycle/la mesure (”the capacity counting has to be delayed from the starting point of the pulse”)

S’assurer que la tension finale est bien homogène sur l’ensemble des cellules

Capacity grading

If we use partial capacity estimation:

1) use the sorting machine to group cells by voltage, and 1 group with too-high resistance values

2) group cells by voltage on the racks of the 512 channels in order to have the tests finish at approximately the same moment on each rack (the CCCV phase depends on the starting voltage)

All parallel sets must have the same capacity (<100 mAh matching)

“Random is good enough if you have enough cells. Note that all cheap testers are within 10% so to sort your cells based on 1mAh diff is useless... Sort it on 50 or even 100mAh”

“I sort all mine in 100mAh buckets and then just randomize them. It works like a charm up untill today and i have built packs since many years. Powerwalls started around 3 years ago soon”

“The issue is when each parallel set connected in a "series" is different, and I'd say by a good margin. 100mAh is probably ok. 200mAh is probably gonna start having issues. 500mAh is most definitely going to have issues and the bms is going to be working hard. 1000mAh difference and you might as well through the towel in and rebuild the packs. it'll never balance properly and stay balanced”

: +/- 2.5% between parallel sets

I match all packs on some sets of criterias:

All packs with same amount of high capacity cells

All packs with same amount of low capacity cells

All packs with same amount of cells

All packs with same amount of capacity

All packs randomized for splitting IR and types of cells ⇒ in his case, low current application so IR matching is not critical

Other criteria: ±2.5% matching

Issues with our custom method

Our method is fine if our procedure for creating battery packs is: take cells of the same grading in capacity and IR

However, we won’t know the exact capacity (and IR) of our cells and battery pack as the capacity that we know is only an estimation

100 mAh bin size seems to be good trade-off between precision and storage difficulty

⚠️The estimator doesn’t work the same on all cell models. For example, it can reach 3% on an ad hoc basis.

Let’s say the max. relative error we accept is 3%:

2 Ah

2,8 Ah

3,5 Ah

± 3% =

60 mAh

84 mAh

105 mAh

Then, the capacity intervals should be wider than 105 mAh

Interesting measurements that can be done:

Self discharge: voltage change after storage period (cell IR/V meas before xlife pack assembly)