Skip to content

Sandbox to develop, test and implement estimation techniques for state of charge/health of a sample lithium-ion battery, utilizing transient signals to predict state at a certain point in time.

Notifications You must be signed in to change notification settings

javaidb/battery-state-estimation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Battery State Estimation Projects (SOX)

This repository serves as a personal self-study initiative aimed at deepening my understanding of lithium-ion battery management systems. Through this project, I aim to gain practical experience in exploring SOC and SOH estimation techniques while identifying areas for self-improvement in my own knowledge and skills. It is designed more so as a sandbox for me to develop, test and implement state estimation techniques for various sample li-ion batteries.

Objectives (aimed at addressing areas for self-improvement)

  • Learn: Gain knowledge about simple SOX estimatino techniques, and branch towards more sophisticated SOC estimation techniques, such as Extended Kalman Filters or machine learning-based approaches.
  • Account for Real Life: Explore how to work with real-world battery datasets with variable quality to validate models and improve accuracy.
  • KPIs: Understand key performance indicators for BMS, including efficiency and reliability metrics.
  • Avoid obsolence: Testing either recent software solutions or published theories from papers to calibrate understanding to latest global view.

Project Structure

This project is organized into several directories, each serving a specific purpose:

    battery-state-estimation/
    ├── datasets/                # Directory for storing datasets (autopopulated after running nb)
    ├── models/              # Contains modules for SOC and SOH estimation
    ├── utils/               # Utility functions for data generation and processing
    ├── notebooks/           # Jupyter notebooks for interactive exploration
    │   └── soc_est_comparisons.ipynb  # Main notebook for testing and visualization
    ├── README.md            # Project overview and documentation
    └── requirements.txt     # List of dependencies required to run the project

Getting Started

Prerequisites

To run this project, you will need Python installed on your machine along with the required libraries. Current version utilizations neing utilzied locally are as follows:

  • Python (3.11.7)
  • Virtual environment created using Python 3.11 (Not required but suggested)

Otherwise, you can install the dependencies using the following command:

pip install -r requirements.txt

Authors

Acknowledgements

Models built on TensorFlow and modeled on datasets LG 18650HG2 and Panasonic 18650PF.

PyBaMM Logo        CU-Boulder Logo        Tensorflow Logo        SkLearn Logo

Badges

IBM License SOC Estimation SOH Estimation

About

Sandbox to develop, test and implement estimation techniques for state of charge/health of a sample lithium-ion battery, utilizing transient signals to predict state at a certain point in time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published