Lithium-Ion Battery State-of-Charge Estimation Using LSTM vs Extended Kalman Filter

A battery management system (BMS) must know the state of charge (SOC) of every cell. Coulomb counting drifts and never recovers from a wrong start; a 2-RC equivalent-circuit model (ECM) with an extended Kalman filter (EKF) corrects itself from the terminal voltage but needs good parameters; a neural network learns the SOC directly from voltage, current and temperature, but only for the conditions it was trained on. This project compares all three on real drive cycles of an LG 18650HG2 lithium-ion cell (3 Ah, NMC) tested at -20, -10, 0, 10, 25 and 40 degC at McMaster University: coulomb counting with a 20 % initial SOC error, a 2-RC ECM fitted from the HPPC and C/20 tests with an EKF, a CPU LSTM and a dilated causal 1-D CNN, tested on drive cycles and temperatures never used for fitting. A PyBaMM physics simulation of a generic NMC cell (run), a GNU Octave run of the ECM + EKF (run), a complete MATLAB version (written, not run) and a web application with five databases are included. Everything runs on a student laptop CPU in about 15-30 minutes.

Category: Electrical and Electronics Engineering (Electric Vehicles, Battery Management Systems, Equivalent-Circuit Modelling, Kalman Filtering, Deep Learning, PyBaMM, MATLAB, GNU Octave, Python)

Electrical & Electronics Engineering Project EE04 from ProTechSC Academy, with graphical abstract, video demonstration and project guidance.