Testing batteries is important in many different contexts and in different levels of complexity.
People re-using lithium batteries from laptops, power tools, and other sources may want to do a quick internal resistance and capacity test to verify the state of health, but likely don’t care about in-depth characterization or incremental capacity analysis. This group will probably not bat an eye about a 5% measurement error from their equipment.
On another hand, anyone looking to analyze effects of various charge or discharge protocols on battery degradation, or creating an equivalent circuit model of a cell to calculate heat generation or verify performance of a product will want as much data as they can get about the cell. This group could include student design teams at universities with a relatively low budget, looking to get the best efficiency from their Solar Car battery pack, or the highest power from a Formula-E pack. Companies looking to develop a product need to understand the performance their battery can provide to their device, or developing a state of charge or health model will want the best data they can get without breaking the bank.
At the extreme end of the spectrum, battery researchers will pay $100,000+ to get the best test equipment possible to ensure their breakthrough materials are better than the state-of-the-art, and not merely a figment of tester inaccuracy.
Battery Test Program
Over the past few years, I have been developing a program targeted towards that middle group – people looking to get accurate battery data for a purpose other than battery material validation. The program, with setup instructions, is available on Github: https://github.com/mbA2D/Test_Equipment_Control
The goal is to control standard electrical test equipment (power supplies, electronic loads, data acquisition, custom boards, etc) to charge and discharge battery cells with various test protocols to get anything from a simple capacity test to a comprehensive battery characterization. This is meant to be a widely applicable general-purpose structure for performing battery tests. Below are just a few examples of what can be done with it. All graphs and data used below are generated from my own results using this program.
1: Cycling Capacity
This is probably the most asked-about characteristic of batteries by the general public – how long does it last? Not only for a single charge, but also about the retained capacity after a few years of cycling. By cycling a cell repeatedly and calculating capacity for each cycle, this is relatively easy to plot, though it takes a long time to run the tests.
The graph below was generated by cycling an LG 21700 cell. There is a general downwards trend in capacity, as expected when a cell is cycled. Various constant discharge currents were applied throughout the cycling, which gives the jumps and discontinuities in the graph, as large discharge currents generally lead to increased internal losses and thus less discharged capacity.
2: OCV vs SoC (Open Circuit Voltage vs State of Charge)
By setting the charge and discharge current to very low values (e.g. C/25: a full charge in 25 hours), it is possible to accurately measure the voltage during charge and discharge. The OCV-SoC curve is then taken as the average of the charge and discharge voltage for every SoC point. This curve is the basis for many battery characteristics, as it represents the chemicals inside the cell being in equilibrium. It is important to note that in reality, the chemical reactions inside the cell do produce different voltage characteristics when charging compared to discharging, so this approximated curve is not perfect.
3: Measuring DC IR (Internal Resistance)
An internal resistance test can be conducted via a 2-pulse current method, where 2 different currents are applied to the cell and the voltages are measured. The difference in voltage and current between the 2 pulses are used to calculate the DC internal resistance. If there are enough data points in the voltage measurements, they can be extrapolated to the start of the current pulse. This is done because the current pulse discharges the cell, which changes the OCV, so the measurement includes voltage changes from 2 sources – the change and the current flowing over the internal resistance. Extrapolating the voltage measurement back to the start of the pulse removes OCV portion of the voltage change for a more accurate measurement. Note also that a good 4-point (remote sense) test setup is required to obtain a good internal resistance measurement.
4: IR vs SoC (Internal Resistance vs State of Charge)
The internal resistance test can be used as a single spot test of internal resistance but does not give the full picture of a cell’s performance. It is commonly known that the internal resistance of a cell changes with SoC, as well as temperature. As a cell is being discharged, different current pulses can be applied and the internal resistance measured at each step in current, across the whole state of charge range. The measurement matches the datasheet specification for the LG M50LT, 23±6mOhm DC internal resistance at 50% SoC.
5: ICA (Incremental Capacity Analysis)
Incremental capacity analysis (ICA), otherwise known as differential capacity analysis (dca or dq/dv), is commonly used to assess state of health as well as identifying degradation methods. It looks at how much stored capacity is available for each small increment of voltage. Using the work done by DiffCapAnalyzer in The Journal of Open Source Software, incremental capacity analysis can be added to the suite of tools relatively easily.
Getting started with testing batteries can be quite an investment if going for high accuracy and powerful equipment, but to do the basics you don’t need much. A cell holder is required to connect to the cell, and a power supply and electronic load are required to charge and discharge the cell. Expect to pay around $800 to $3,000 per battery channel you want to test if purchasing everything new. This is a large investment, though there will be some custom hardware coming (see below) that aims to drop this cost significantly. Here are a few non-exhaustive recommendations. For each list, cheap options at the top and the features get better and more expensive as you go down the list.
When choosing equipment, it is important to note that for accurate test results, equipment with remote sense is required. Without remote sense, the measured voltage will include the voltage induced in the cables between the equipment and the battery. Remote sense allows the equipment to measure the voltage with an extra pair of wires directly at the battery terminals instead of at the equipment terminals. A higher current will create a greater voltage drop in the wires from the equipment to the battery, so remote sense is especially important for high current tests. Generally, cheaper equipment does not have remote sense. Often, the remote sense terminals are on the rear of equipment, though occasionally easily accessed from the front. Equipment with no remote sense is marked with ‘No RS’.
All equipment is listed cheapest first.
- A plastic clamp (non-conductive) and some wires – you might already have this around the workshop
- A2D Electronics 4-wire cell holder (link) (RECOMMENDED – though I am biased since I made it)
- Dedicated cyclindrical cell holder (link)
- Metal cylindrical cell holder (link), or higher power version (link)
- Gamry, Arbin, Biologic, or Neware (or other test equipment company) cell holders
- Korad KEL102/3
- Rigol DL3000 Series (link), Siglent SDL1000X-E Series
- BK Precision 8600 Series
- Korad KA3005P (No RS)
- Rigol DP700 Series (link) (No RS), Siglent SPD1000X Series, Korad KWR102/3
- Rigol DP800 Series (link), Bk Precision 9103/4
- BK Precision 9200B Series
Temperature Control and Thermal Chambers
Everything varies with temperature. So far, the program does not control the temperature but only measures it. Given that pretty much all battery characteristics including internal resistance and OCV vary with temperate as well as other factors, being able to control the temperature is extremely important for accurate battery testing.
Test equipment and cell holders are expensive, especially for high quality equipment. Testing multiple batteries at the same time is often required to speed up testing and stay on track of timelines, which requires considerable investment in a large number of individual power supplies and eloads, or prohibitively expensive lab-grade multi-channel equipment from companies like Maccor, Arbin, Biologic, Neware, etc. Some custom electronics and other hardware are in the works that aim to remove this cost barrier to getting actionable data on real cells for teams and individuals that don’t have huge budgets. A few things I’m working on are below.
- Cell holders that cost less than $15 each but still provide all the required features for adjustability and remote sense are one of the first things that I’ll get started with. Purchase the cell holders here when in stock!
- A board that will allow automated sharing of test equipment between batteries. This will allow a power supply to be connected to 1 battery to charge and an electronic load to another battery to discharge. Once the charge and discharge are complete, it will automatically switch the batteries to the opposite piece of equipment to complete the next stage in the cycle. This system will reduce the cost of test equipment for multiple battery channels by half (plus the cost of these boards).
- A system of boards to replace the dedicated test equipment. This will include ADCs and precision amplifiers for voltage, current, and temperature measurement, a precision reference, as well as power electronics and control strategy to manage current flow to and from a central DC power bus. This test system will also greatly reduce the physical space that is needed to run a battery test system with many channels compared to dedicated test equipment for each channel, as well as being significantly cheaper than existing solutions. Isolated voltage monitors will be available as well, to evaluate performance of a BMS or to evaluate cells within a pack without disassembling the pack and testing cells individually.