
Faulty Lithium ion Cell BMS Pack
This prototype uses a Wio Terminal and Edge Impulse to predict overheated faulty cells in a BMS pack. For this project, I used an MLX 90640 Thermal Camera with the Wio Terminal to collect thermal data from a BMS pack. A working demo of my prototype is available on YouTube here:Problem Statement
In an existing BMS pack, a temperature sensor is integrated with each cell pack, consisting of 14 cells, for identifying an overheated cell pack. But there is no system to identify an individual faulty cell that is overheating in a BMS pack.
Existing BMS pack architecture

- Only one temperature sensor is deployed to detect the overall temperature of battery packs (14 * Li-ion Cells).
- Identifying the individual cell temperature is challenging due to infrastructure cost for a BMS pack.
- Number of cells in BMS pack: 112
- Cost of Temperature sensor: 500 INR ($0.75 USD)
- Total cost: 112 * 500 INR = 56,000 INR ($760 USD) *approx
Solution using TinyML model

Hardware Setup
In this prototype, 6 lithium-ion cells are connected to the load (Rheostat) and the MLX90640 and Wio Terminal are attached to the stand where the MLX90640 thermal camera is facing downwards over the lithium-ion cells.
Algorithm
The MLX90640 sends 32x24 thermal data to the Wio Terminal through I2C. Since this project focuses on identifying an overheated cell in the pack, I have used simple filtering logic to filter out the normal cell temperature by setting it to zero.




Neural Network Configuration


Deployment
In the Deployment section , select Arduino code and download the firmware package.

Output
In a model training, 100% accuracy is achieved, and in model testing 87.5% accuracy is achieved.



Schematics
