Cell Testing - MSXV
Objective:
The performance of a battery is determined by its worst-performing cell.
“Testing is the only way to ensure that we have a well-built, balanced, and reliable battery pack. An outlier cell inside a module will be detected at the module level. Without individual cell testing, an outlier cell could find its way into our pack and cause a sudden capacity drop during competition. ” [2]
Context:
put our packs/modules/cells through <100 cycles; “The major effects (sudden capacity loss) are most likely to appear after 100 cycles of the pack, however, minor effects will always be present” [2]
our pack will be assembled for 1-2 months
we can expect a normal distribution for every metric (IR, self-discharge, capacity)
Background Information:
OEM Specs:
It is important to inform our test procedure from the OEM specs for the cells we are planning to use:
Metrics:
Capacity
“A capacity drop in any one of our modules will affect the whole pack. If one cell in one module drops by 10% capacity due to an uncaught cell parameter outlier (IR or capacity), then we lose (3.5Ah * 10% * 3.7 * 36 = 47Wh) 47Wh of energy in our pack. That single cell will then also start to degrade quicker and the module will have to be replaced. Going by the efficiencies of other winning solar cars, 47Wh could add an additional 1-2 Km of range to the car (and avoid headaches from increases in variation after many cycles)”. [2]
DC IR / Impedance
“Internal resistance mismatch between cells can lead to sudden capacity losses and a decrease in overall cycle life of around 40%” [3] The 4-point test is virtually instantaneous but needs to be conducted 1 at a time. Test using Multimeter & Gamry Battery Holder. Additionally, observe temperature during charge and discharge. temperature ∝ internal resistance. Impedance testing is not worth it for us: The Difference Between Battery Resistance & Impedance Testing (eepowersolutions.com); Li-Ion BMS - White Paper - Resistance vs impedance (liionbms.com).
Self Discharge
“Over long periods of time (such as sitting idle in the bay for a month), this self-discharge current will cause an imbalance in SoC of the cells and lead to decreased pack capacity. Over the course of a week-long competition, Self-Discharge will not cause any significant difference in SoC.” [2]. Check OCV. Manufacturers tend to supply cells at a 30% SoC; OCV is a good proxy for checking self-discharge. Charge all the batteries and leave them idle for a couple of weeks (if we can afford the time) then check the voltage with a multimeter.
Thermals
The temperature variation (unless caused by a cell with initially high IR) will be very small and thus its effects are negligible. [2] IR strongly correlates, thus we don’t need to test this. Set up is time-consuming. If we really want we can set up thermistors or a heat gun on the charging/discharging batteries to detect any outliers
Materials
Keysight Digital Multimeter
Rigol E-load
Katharine’s laptop + charger
Gamry Universal Cell Holder
Sharpie
4x Alligator clip / Banana plug wires
2x Serial USB cables (should be plugged into or near the equipment)
Power cables for the equipment (should be plugged into or near the equipment
Procedure:
Prototyping (OCV & DC IR)
Find the required equipment on the table at the back of the Bay:
Move equipment to a table with outlets (I couldn’t find any nearby outlets on that table).
make sure not to drop anything lol expensive stuff
Use the banana plug to banana plug wires to connect the +S and -S terminals on the battery holder to the digital multimeter HI input and LO respectively.
Use the banana plug to alligator clips to connect the +F and -F terminals on the battery holder to the INPUT + and - on the E-load respectively.
Turn on Katharine’s laptop, plug in the two USB cables from the e-load and multimeter (and plug it in to charge it)
Password is midsun
Plug in the power cables of the equipment and turn them on if you haven’t already
Open the MS Battery Testing folder, right-click inside of it, and click “Open in Terminal”
Type in the following to run Micah’s testing script:
python battery_test.py
Click OK (1 battery channel)
Click on File->Import Equipment Assignment
Select equipment_assignment (located in Documents → Single Cell Testing Data → Full Settings (i think lol, I might need to do some digging around but it's around there))
Click Import Test
Select rest_ir_test
Pick up a cell from the packaging (or just bring the whole box over)
The cells are in two boxes at the bottom of the shelves
Number the box that it came in, and the cell itself with Sharpie
Place in the Gamry cell holder with a Keysight 34410a
Click Edit Cell Name
Type in whatever number the cell you’re testing is, and OK
Start the test (screen should look something like this when it’s set up
Let the test run, it will do a 1-second rest, a 5-second low current (0.1C) discharge, and a 5-second higher current (0.4C) discharge, for a total of 11 seconds per cell. It should look something like this.
Wait until the Current Status is Idle, then repeat steps 13-19 for each cell. MAKE SURE TO EDIT THE CELL NAME BEFORE EACH TEST
NOTES:
Make sure you test every cell that you number with a sharpie, and don’t test any cells that you haven't marked with a number first
You don’t need to do the steps in the exact same order, you can start numbering the next cell with a sharpie during the 11s that the last cell is being tested or whatever works fastest or best for u
If you forgot to change the cell name, try to manually make a new folder for it using the same format, and cut+paste the data and log files to the new folder (Sort the files by “Date modified”, and cut and paste the 2 NEWEST data files, and the 2 NEWEST log files from the logs folder)
There’s a chance the E-load will start reading wrong or 0 values for the voltage. There’s a high chance that the hex bolt on the positive end of the cell holder is loose, just grab some pliers and tighten it (remove the cell before doing this):
The script will automatically save IR & OCV data for each cell to the Single Cell Testing Data folder.
At the end of the testing session, ZIP the single-cell testing data folder and send it to the Slack channel.
Put everything back to where it was before!
I will make a small script that uses Micah’s GraphIV python script to analyze the data once it’s all collected or use GitHub - kostubhagarwal/cell_qc_analysis
Thanks!!!!!
Production (Capacity) [DRAFT]
Place cells into [parallel cell charger(s)]
Charge cells at 1.45A (well below the standard charge spec [5])
Observe the thermal performance of batteries via thermistors/heat gun [optional]
Once fully charged, allow the cells to rest for 10 mins (recommended per spec sheet [5])
Commence discharge on [parallel cell charger(s)] at 1.70A
Once fully discharged, record values in the following MSXV_celltracking
Allow the cells to rest for 20 mins
Charge cells at 1A (well below the standard charge spec [5])
Observe the thermal performance of batteries via thermistors/heat gun
Once fully charged, allow the cells to rest for 4+ hours for the temperature to normalize temperature
Place all batteries in a box until module/pack assembly - when placing them in your module, check ocv and make sure it hasn’t dropped too much (self-discharge check), if discrepancies: record in MSXV_celltracking
References:
[1] Sample Cell Testing Procedure - Mechanical - Confluence (atlassian.net)
[2] Individual Cell Testing Evaluation - Electrical - Confluence (atlassian.net)
[3] http://web.mit.edu/bazant/www/papers/pdf/Gogoana_2013_J_Power_Sources.pdf
[4] Separating GOOD 18650 cells from BAD ones - Battery talk #2 - YouTube
[5] PRODUCT SPECIFICATION (dnkpower.com)
https://uwmidsun.atlassian.net/l/cp/VGCvKakg
https://uwmidsun.atlassian.net/l/cp/pJBySUm3
Battery-Related Planning | Battery Type Testing