Tools for characterizing li-ion cells
This repository contains tools for battery cell testing and characterization:
- RC3563 Reader: Interface for Hioki RC3563 resistance meter, collecting resistance and voltage measurements
- Battery Analyzer: Arduino-based tool to measure battery capacity, resistance, and performance characteristics
pip install matplotlib numpy scipy pandaspip install kivy pyserial pandaspip install pyserial matplotlib numpy scipy-
Clone the repository:
git clone https://github.com/CalSol/cell-characterization-dashboard.git cd cell-characterization-dashboard -
Install dependencies:
pip install -r requirements.txt
Tool for interfacing with Hioki RC3563 resistance meter:
python rc3563reader.py- Enter the serial port (e.g.,
/dev/ttyUSB0on Linux orCOM3on Windows) - Click "Connect" to establish connection with the meter
- Readings will be displayed and automatically recorded
- Click "Export to CSV" to save the collected data
Tool for measuring battery capacity and internal resistance:
python capacity.py [--port PORT] [--baud BAUD] [--duration SECONDS] [--output PREFIX] [--no-plot] [--report]Options:
--port: Specify serial port (auto-detects if not specified)--baud: Set baud rate (default: 9600)--duration: Set data collection duration in seconds--output: Set output file prefix--no-plot: Skip generating plots--report: Generate a comprehensive text report
Example:
python capacity.py --port /dev/ttyACM0 --duration 3600 --reportThe tools generate several output files:
- CSV data files: Raw measurement data
- PNG plot files: Visualizations of battery characteristics
- TXT report files: Comprehensive analysis results
For the Battery Analyzer, an Arduino running the battery tester code is required. Ensure:
- The Arduino is properly connected to your computer
- The battery tester firmware is uploaded to the Arduino
- The test battery is connected according to the circuit diagram (see documentation)
If you encounter connection issues:
- Check that the device is properly connected
- Verify you have the correct port specified
- Ensure you have proper permissions for the serial port
- On Linux, you may need to add your user to the
dialoutgroup:sudo usermod -a -G dialout $USER