6.3 Introduction
Batteries are energy storage devices that store chemical energy to then convert it into electrical energy when required. With the increasing demand for mobile devices and electric vehicles, batteries have become a fundamental component to power circuits where the use of cables is impractical. The increasing demand has also been the driving force for the development of batteries with diverse form factors and electrochemistry to meet the needs of different applications.
Battery electrical properties depend on multiple factors, including its electrochemistry, form factor, age, and temperature. The battery capacity and the internal resistance of a battery are key properties that determine how much electrical energy a circuit can extract and use.
In this demonstration, I will show how to use Test Bridge SMU and Python to measure the capacity and internal resistance of an 18650 rechargeable Lithium battery extracted from an old notebook.
6.3.1 Battery charge
To characterize the battery the first thing that needs to be done is to completely charge it. To do this I set the SMU as a 4.2 V voltage source with a current limit of 1 A. With these settings the battery begins charging at 1 A constant current, followed by a constant voltage of 4.2 V. I let the SMU charge the battery until the charging current dropped below 1 mA.
6.3.2 Battery discharge
To measure the capacity of the battery a current load must be applied until the battery voltage reaches the recommended minimum of 3 V. The internal resistance can be measured by taking the difference between the battery voltage without and with a load current, divided by the applied load current.
I used a load protocol that alternates between 1 A for 59 s and no-load for 1 s to measure the internal resistance as the battery discharges. To do this, I set the SMU to operate as current load, and repeatedly apply an arbitrary waveform. The SMU application allows the creation of common waveforms, so I built a step waveform that began with 4 time units at no-load followed by 236 time units at 1 A. I then configured the time unit to be 250 ms by setting the measure time to 20 ms (1 PLC) and the delay to 230 ms. Finally, I set the SMU to repeat the waveform 200 times and the voltage dropout to 2.9 V to cross the 3 V threshold.
Once the battery voltage crossed the 3 V threshold, I waited for one last no-load phase and then interrupted the process.
I then proceeded to saved the data as a CSV file for further processing with Python.
If I define 0% charge to be the point where the battery under a 1 A load reaches the threshold of 3 V, then the battery has a capacity of 5.24 kC (or 1455 mAh) and can store 18.9 kJ of energy.
To measure the internal resistance, I computed the difference between the voltage before the the no-load spike, and at the spike divided by 1 A.
The internal resistance of the battery showed a "U" form, where it reaches the minimum of 111 mΩ around 60% of its charge, and a maximum of 126.5 mΩ at 0% of charge.
6.3.3 Conclusion
SMUs are versatile instruments capable of performing tests more complex than simple I/V sweeps. More complex tests usually require writing programs that remotely control the instrument, as these tests are usually not be available through the instrument’s control application. Luckily, Test Bridge SMU provides a way to generate arbitrary waveforms and allowed me to run the test protocol without having to write an SCPI remote control program. Of course, I had to process the data afterwards, but this was relatively straightforward compared to the effort required to write and debug an SCPI program.