A Standalone Real-Time State of Charge Estimator Using the Long Short-Term Memory Artificial Neural Network - Praisan, Akkarawat; Polmai, Sompob; Kittiratsatcha, Supat (My University, 2024)
Precise monitoring of the State-of-Charge (SoC) ensures optimal Lithium-ion (Li-ion) battery utilization, avoiding overcharging and deep discharging. Furthermore, it contributes to maximizing battery enhancement and longevity. However, a Li-ion battery's behavior is non-linear and varies under several conditions, making direct SoC measurement impossible. Currently, machine learning techniques are extensively used to estimate SoC; unfortunately, these models are typically executed in software only and cannot be realistically implemented in hardware. Consequently, this article proposes an approach for estimating SoC using a Recurrent Neural Network (RNN) with an improved Long Short-Term Memory (LSTM) cell. The proposed network was trained and tested on MATLAB using datasets of driving profiles for Electric Vehicles (EVs), which included battery voltage, current, and temperature while charging and discharging under various temperature conditions. Afterwards, the trained model was transferred to STM32-Cube-AI for validation and deployment of the proposed network for hardware implementation. Thanks to the STM32 microcontroller's performance, the network operates smoothly on a microcontroller and can estimate the SoC accurately and rapidly. Although Li-ion batteries have different characteristics at each temperature condition, the LSTM can predict the remaining SoC for each time step within a millisecond. Moreover, the experimental results show the proposed approach's quick convergence to the ground truth, substantiated by Root-Mean-Square-Errors (RMSEs) of around 4.5%, 2%, and 1.9% at 0 °C, 25 °C, and 45 °C, respectively. As a result, the proposed LSTM can be practically implemented for a real-time application with accuracy.
Keywords: Lithium-Ion Batteries; Long Short-Term Memory; Recurrent Neural Network; State-of-Charge Estimation; STM32