This is a python script for interfacing with several pieces of bench equipment in order to make AC impedance measurements of battery cells.
- 2x Keithley 2110 Bench Multimeter
- 1x Tektronix AFG1022 Arbitrary Function Generator
- A VISA implementation on the host computer. NI-VISA is a popular one. Download it from https://www.ni.com/support/downloads/drivers/download.ni-visa.html#442805.
- For Linux/Mac: note that only the runtime is strictly required for this program, but you can install the full suite if you wish
- PyVISA library, for interfacing with VISA-enabled instruments from Python
First time setup to run the program is as follows:
- Install a VISA Implementation such as NI-VISA
- Create a python virtual environment
python -m venv venv
- Install python dependencies
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
- Activate virtual environment
. venv/bin/activate # Linux / Mac
venv/Scripts/activate # Windows
- Make sure instruments are connected
- Run the script
python main.py
- Follow the instructions given by the program to identify the instruments, confirm the instrument identification and run the test.
The script will save all of the measurements to a new file in the data
folder called impedances <timestamp>.csv
.
Any time the program prints an ERROR during the measurement routine, it will not save the measurement. If this occurs, make sure the problem is corrected and re-run the test on the battery cell. If a WARNING is printed, it will still save a measurement.
Don't worry about measuring the same cell twice. The program will never overwrite existing data, and a timestamp is saved with each entry of data from a run of the test.