1. Introduction
Energy storage systems are emerging as the biggest concern for modern smart grids and electric vehicles (EV), and the lithium-ion battery (LiB) technology is an efficient solution for energy storage applications with the advantages of long cycle life, large capacity and no memory effect. Already commercialized and matured for consumer electronic applications, the LiB is being positioning itself as a leading technology platform for plug-in hybrid electric vehicles (PHEVs) and all EVs [
1,
2]. It is also widely used in large facilities to support energy storage [
3], load-leveling and peak shaving in the power grid [
4], frequency regulation [
5], and to reduce network load and capacity payments [
6] in the smart grids.
In order for the LiBs to work as expected, a battery management system (BMS) must be designed for tracking and controlling the current level of battery energy. The BMS is defined as an electronic equipment that manages a rechargeable battery (single cell or battery pack). The main functions of the BMS are to monitor, compute, communicate, protect, and optimize [
7]. At this point, the estimate of state of charge (SOC) is one of the critical functions in the BMS. The SOC is defined as the percentage of the available capacity to the rated capacity of the battery, and many issues with the LiB, such as capacity degradation, increased maintenance costs, rapid aging, serious equipment failures, and even dangerous accidents, are related to incorrect SOC estimates [
8]. Therefore, an accurate estimation of the SOC is very important for optimizing battery performance, including extending battery life and preventing permanent damage to the batteries.
In general, the battery SOC nonlinearly depends on several factors including current, voltage, temperature, and battery aging [
9]. Therefore, an accurate estimate of the SOC is quite complicated. Various techniques have been presented to estimate the SOC of a battery cell or a battery pack. Key technologies include discharge tests, open-circuit voltage measurement, Coulomb counting, inherent resistance measurement, and intelligent SOC estimation methods [
10,
11]. Intelligent computation techniques such as artificial neural network (ANN) and Kalman filter (KF) have been developed for EV applications [
12,
13,
14,
15,
16]. Compared to other techniques, they have several advantages such as high accuracy, real-time calculation, simple current and voltage measurements. Specifically, these techniques are highly adaptable to the dynamic behaviors of batteries due to their self-learning ability. However, there are still some issues that need to be studied. Applying KF requires accurate battery modeling, and important factors such as temperature and SOC that may affect the internal parameters of the battery model are not yet considered. Using an ANN requires a large amount of training data that can lead to a large dimension and high computation of the network when implemented in a BMS. Therefore, it is necessary to design a practical BMS to properly analyze and evaluate the operational characteristics of the SOC estimation methods.
In this paper, an effective SOC estimation method was designed and implemented in a smart BMS for a LiB pack based on the extended KF (EKF) and ANN. First, the structure and specifications of the smart BMS and LiB pack were summarized, and the design process of the ANN was described in detail. The ANN was then trained and tested for SOC estimation using real battery data sets. Next, we developed an SOC estimation algorithm based on the EKF and a Thevenin battery model. Finally, we proposed a combination model of EKF and ANN (EKF-ANN) to compensate for the shortcomings of the above two methods. To evaluate the effectiveness of the SOC estimation method, the proposed methods were experimentally verified and compared with each other. As a result, the proposed ANN and EKF methods showed an error of 2.6% and 2.8%, respectively, and the SOC estimation error when using the EKF-ANN was significantly improved to less than 1%. The results show that the proposed SOC estimation method satisfies the requirements of the BMS for LiB packs.
2. Review of SOC Estimation Methods
An accurate estimate of the SOC plays an important role in a credible BMS, but the SOC cannot be measured directly. The SOC is associated with direct measurements such as current, voltage, temperature, and it can be extracted based on intrinsic relations or control theory of the battery. Many techniques have been proposed to estimate the battery SOC. In this section, we discuss some popular SOC estimation methods and compare them with each other.
2.1. Open Circuit Voltage Method
This method calculates the SOC or the remaining capacity of the battery based on the measured open-circuit voltage (OCV). Each battery has a corresponding curve between the SOC and OCV, from which one can determine the other. However, in order to get a stable voltage, the battery must be rested for a long time under no load. Moreover, since the OCV-SOC curve is sensitive to various temperatures and discharge rates, the method is only effective in estimating the SOC at the early and end stages of the charging and discharging process after the battery has been disconnected from the load for a long time [
17,
18].
2.2. Coulomb Counting Method
Coulomb counting, which is also called Ampare-hour (Ah) counting, is the most common technique for estimating the SOC based on the integration on time of the charge and discharge current values. However, the initial SOC is difficult to determine at the starting state. Even though we can gain the SOC from the record of the BMS or OCV look-up table, but the accuracy is hard to ensure [
19]. Additionally, the SOC calculation is based only on the measurement of current without considering the measurement noise. Over time, errors will be accumulated due to the integration factor, and this is the reason why this method is prone to errors.
2.3. Impedance-Based Method
There is a dependency between the SOC and the impedance of a battery, and thus the SOC can be considered a function of battery impedance change [
20]. However, the impedance varies significantly with the aging status of a battery; thus, this technology is no longer a good indicator for the SOC. Furthermore, the sensitivity of the battery impedance on the temperature is very high; thereby a high accuracy of SOC estimation is impossible to maintain for batteries in EVs due to quick temperature change during the driving process.
2.4. Kalman Filter-Based Method
The KF is a method for determining the internal states of any dynamic process, in which the mean of the squared error is minimized. Its target is to obtain accurate information from inaccurate data. This method can be utilized to calculate the SOC in real-time by using the terminal current and voltage measurements [
21,
22,
23]. It is suitable for the SOC estimation of EVs in which the battery current is unstable [
24]. However, it has high demands for the battery modelling and computational capability [
25,
26].
2.5. Artificial Neural Network-Based Method
The ANN is an intelligent technology, which has a strong self-learning and high adaptability, and this technique is very useful for researching complex nonlinear system models. For the SOC estimation, the ANN is able to be applied in all battery systems without the information of cell internal structure, as long as the battery dataset for training the network is available [
27,
28]. Also, the ANN has the ability to estimate the SOC without the initial SOC.
2.6. Fuzzy Logic-Based Method
This method is based on simulating the fuzzy thinking of a human being using the fuzzy logic based on a large number of test curves, experience and reliable fuzzy logic theories, and finally to perform the SOC estimation [
29]. It requires a complete understanding of the battery itself and relatively large computations. However, the battery parameters significantly vary with the battery lifetime, and so the SOC estimation may not be accurate enough. It is only suitable for static battery characteristics and practically inapplicable for LiBs in the EVs [
30].
In this paper, we decided to develop an effective SOC estimation method based on the ANN and KF.
4. Experiment Results and Discussions
4.1. Implementations of the SOC Estimation Methods in the Smart BMS
To validate the proposed SOC estimation methods, we applied them to the SOC estimation function of the BMS in an experimental test with a real LiB pack. First, we implemented a real-time SOC estimation based on the ANN. Then, the SOC estimations based on the EKF and the EKF-ANN were implemented in offline experiments by using the MATLAB program. These models were built to calculate the SOC from the experiment data acquired using the ANN. Finally, the obtained results of three methods were compared with the reference SOC, which was calculated from the measured battery capacity.
Using the ANN, the SOC was estimated based on the average voltage and current of the battery cells and the temperature in the battery pack. The SOC estimation function was built by C programming language on the master MCU STM32F205, which has a flash memory of up to 1 Mbyte. In the designed ANN, there were three 64 × 64 weight matrices and four 1x64 bias matrices in the hidden layers, and it took about 24 ms for calculation speed. The SOC was calculated in each sampling time of 1 s with the full charge and discharge of the battery pack. We found no problems with the memory and operation of the master MCU during the experiment. A monitoring system was also facilitated for the BMS as shown in
Figure 15. The main interface of the monitoring system includes the contents listed below:
- (1)
Configuration of the BMS
- (2)
Measurement values including SOC, local time, and BMS version
- (3)
Status of the BMS including warming, detection, state, and status
- (4)
Summary of main measurement values
- (5)
Serial communications with the BMS
- (6)
Command to read and write the alarm and cut-off values
- (7)
Calibration of the pack voltage and current values
- (8)
External inputs to block the relay
- (9)
Main screen displaying measurement values in the master and slave MCUs
4.2. Experiment Results of the SOC Estimation Methods
Since the proposed SOC estimation methods were built based on the battery data, these methods only valid under the experimental conditions similar to the range of battery data collected as follows:
- -
After measuring the voltage and current of the entire battery pack, calculate the average value of the voltage and current of one cell,
- -
Battery pack is discharged and charged with a constant current of 1.7 A in each cell,
- -
Cell voltage range is 2.6–4.2 V,
- -
Temperature range of the battery pack is 19~42 °C.
In the experiment, we first performed the SOC estimation using the ANN in real-time. The average voltage and current of the cells and the measured temperature during the discharge and charge processes of the battery pack are described in
Figure 16. The battery pack was fully discharged and charged with the same currents of 1.7 A in each cell, which were similar to the trained battery dataset. The temperature was measured at the center of the battery pack, and the temperature range was from 19 °C to 38 °C.
Figure 17 shows the experimental results of the online SOC estimation using the ANN, and the estimated SOC was compared with the reference SOC. As a result, the maximum SOC errors in the discharge and charge processes were 2.3% and 2.6%, respectively. This result has satisfied the initial design target of the SOC estimation error for the smart BMS.
Next, the above experiment data including the battery voltage, current, and temperature were used to calculate the SOC offline using the other two methods in the Matlab simulation model.
Figure 18 shows the comparison of the SOC estimation results using three methods with the reference SOC during the discharge and charge processes of the battery. The detailed absolute SOC errors of each method are given in
Figure 19 and
Table 6. Using the EKF, the maximum SOC errors in the discharge and charge processes were 2.8% and 2.4%, respectively, which were similar to that of using the ANN. We found the significant improvement for the SOC estimation by combining the EKF with ANN, which had the SOC error of less than 1%. Comparisons were made with other SOC estimation methods [
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49] and the maximum estimation errors are summarized in
Table 7. Through this, it was confirmed that the proposed method guarantees the accuracy of SOC estimation similar to or better than other methods.
4.3. Discussions
From the above experimental results, it can be seen that the SOC estimation methods proposed in this study were accurate and satisfied the requirements of the designed smart BMS. However, there are still issues to be investigated. The performances of the method were evaluated when the battery pack was discharged and charged with a constant current. In a real battery system such as an EV, the load current continuously changes according to the vehicle speed. Therefore, to improve the quality of the battery modeling in the EKF method, the dynamic characteristics of the battery must be considered. Applying an ANN to EV requires more battery data trained with a dynamic current profile. In addition, other important issues of SOC estimation and BMS design, such as cell balancing and battery capacity fade, have not yet been considered. During long-term operation, more experiments need to be performed to collect battery data for each cell and analyze the cathode chemistry of the cells entirely. The next study will consider these issues and improve the accuracy of the SOC estimation method for the LiBs in various real systems.
5. Conclusions
The authors proposed effective SOC estimation methods based on the EKF and ANN for a LiB pack in a smart BMS. Detailed configurations and specifications of the smart BMS and LiB pack were presented. First, an ANN was used to build an SOC estimation model, which was trained and tested using a real battery dataset including voltage, current, temperature, and measured SOC over 20 cycles. Inputs of the designed network consisted of voltage, current, and temperature, and output was the estimated SOC of the battery. The design process for the ANN was described in detail. The Google TensorFlow open-source library was used to design and optimize the network configurations. Next, we developed a SOC estimation algorithm using the EKF, in which the LiB model was studied and a Thevenin model was developed to combine it with the Ah integration method. The current and terminal voltage of the battery represent the input variables, and the SOC represents the output variable. Finally, the EKF-ANN was proposed to improve the shortcomings of the above two methods, where the ANN was redesigned by adding one more input of the previous SOC determined using the EKF method. Both methods were confirmed through experiments performed on real battery data collected from the battery pack consisting of the LIB 18,650 35E cells at 4.2 V and 3.4 Ah. With the ANN and EKF, the SOC estimation performances were almost similar with a maximum SOC errors of 2.4% to 2.8%. Meanwhile, the use of the EKF-ANN significantly improved the accuracy of SOC estimation with less than 1% error. We are confident that the results of this study can be effectively applied to a smart BMS for industrial energy storage systems.