Capacity Estimation of Li-Ion Batteries Using Constant Current Charging Voltage With Multilayer Perceptron

Various methods have been proposed to estimate the capacity of lithium-ion batteries through constant current constant voltage charging. Existing algorithms require limiting the charging current and starting the charge from a specific low state of charge (SOC). In this paper, a capacity estimation algorithm for various initial SOC and 2 C charging currents is proposed. The proposed algorithm estimates capacity through a multilayer perceptron neural network using voltage curves measured during constant current (CC) charging, charging times, and initial SOC. Estimation accuracy was verified using two aging experiments. Estimation result shows that the Mean Absolute Error (MAE) is 0.39% and Maximum Error (ME) is 2.12%. In addition, even if there is an error in the estimated initial SOC, the capacity estimation errors are 0.85% MAE and 3.23% ME, showing robust characteristics regarding initial SOC estimate errors. The proposed algorithm is available for high charging currents and various initial SOC conditions, it and estimates capacity with high accuracy, even if there are errors in the estimated initial SOC. Owing to these advantages, the proposed algorithm can be easily implemented in actual applications.


I. INTRODUCTION
The energy density of lithium-ion batteries is higher than that of other batteries, and they are extensively used in various fields owing to their high power density. These batteries degrade under normal operating conditions, such as cycle aging, calendar aging, and abnormal operating conditions, examples for which are over-current, over-discharge, and over-charging [1]. Failure to estimate the capacity of degraded batteries could lead to an incorrect estimate of the movable distance of mobile devices, such as electric vehicles (EV) and drones, resulting in failure to reach the next rechargeable position. In addition, over-discharge situations may occur because of the forced movement of mobile devices beyond their movable distance. If over-discharge occurs, the battery may age at a rapid rate or, in severe cases, The associate editor coordinating the review of this manuscript and approving it for publication was Alexander Micallef . an internal short fault may occur, leading to an explosion. [2] Therefore, it is important to identify the capacity of a battery so that it can be used safely for a long duration.
Existing capacity estimation algorithms can be classified into three types: direct assessment, adaptive, and data-driven approaches. [3] Figure 1 displays the classification of capacity estimation algorithms. A direct assessment approach can be used to estimate the capacity through Coulomb counting, open circuit voltage (OCV), and electro impedance spectroscopy (EIS) experiments. A typical method for direct assessment is to estimate the capacity using the Coulomb counting method. First, the battery is discharged corresponding to a state of charge (SOC) value of 0%. Second, the capacity is calculated using the discharged capacity and the SOC at the beginning of the discharge. [4] The estimated capacity using this method may be inaccurate owing to an SOC estimation error, cumulated current measurement errors, and wrong current efficiency of the Li-ion battery. Other methods estimate capacity degradation by recording changes in the OCV curves that occur as aging progresses or increases in internal resistance when measuring EIS. In Ref. [5], estimated capacity was measured using the tendency for changes in EIS at 100% SOC and 50% SOC as batteries age. However, measuring EIS or OCV changes requires a laboratory environment or additional equipment. Therefore, it is very difficult to estimate capacity through EIS or OCV changes in real applications.
The adaptive approach is a method of estimating capacity through the Kalman filter, particle filter, and least square method based on the equivalent circuit model (ECM) of a Li-ion battery. [6]- [9] These methods are advantageous because their algorithms are applicable in real situations, such as EVs mixed with acceleration (discharge) and regenerative brakes (charge). In Ref. [8], the fractional-order model was employed to reduce model errors of ECM. Ref. [9] estimated capacity using the estimated SOC and the amount of charge entered during a full charging process and corrected the estimated capacity by using the Elman network, which learned the capacity degradation trend of the Li-ion battery. However, a disadvantage of the adaptive approach is that there is a significant variation in the estimation accuracy owing to errors in the estimated SOC and model parameters. Furthermore, it is difficult to determine the exact model parameters of Li-ion batteries.
A data-driven method can estimate capacity without ECM by using data accumulated through previous experiments. The data-driven method can be distinguished into differential analysis and machine learning methods. [10] The differential analysis method estimates capacity by using characteristics that appear in the incremental capacity (IC) curve or differential voltage (DV) curve by differentiating the capacity-OCV relationship [11], [12]. An algorithm was proposed in Ref. [11] that estimates the capacity through a DV curve that can be measured during CC charging. When charging is commenced at 15% or a lower SOC, features in the DV curve can be observed by differentiating the measured constant current (CC) charging voltage curve. The capacity was estimated by comparing the linear relationship between the CC charging duration and battery capacity. The estimation error of this algorithm was between ±2%, except for the severely aged case. A disadvantage of this method is that discharging the Li-ion battery to less than 15% of the SOC is necessary to extract features, before starting the charging process. To overcome these shortcomings requiring a discharge to SOC of 15%, a method for estimating capacity using incremental capacity analysis (ICA) was proposed in Ref. [12]. An analysis of CC charging voltage curves using IC is used to extract features that exist near 60% of the SOC and change with capacity degradation. The capacity of a battery can be estimated using linear relationships between this feature and a capacity with an error of approximately 1.3% of the mean absolute error (MAE) and 2.5% of the maximum error (ME). This algorithm still has the disadvantage of not being able to estimate capacity if charging is commenced from 60% or a higher SOC and if the charging current is higher than the 1 C C-rate.
Machine learning methods are used to estimate capacity by extracting features or directly learning, such as voltage and current measured during CC charging and CV charging [13]- [22]. In Refs. [13]- [17], extracted features from the voltage and current data of CC-CV charging and estimated capacity through learning were used. These methods have the disadvantage that it is necessary to start charging from a fully discharged state to measure IC or DV curves. [18] VOLUME 8, 2020 selected inputs by measuring the charge between 3.6 V and 3.8 V intervals during CC charging without preprocessing. This allows the capacity to be estimated with errors of 0.44% for MAE and 2.66% for ME without full discharge and full charge. However, CC charging data for the range of approximately 15% -60% SOC are still required. In Ref. [20], first, a certain voltage between 3.3 V and 3.75 V was selected during CC charging with 1 C and 0.5 C currents. Second, charging time between the selected points was measured. Then, the measured times were used as input for a Gaussian process regressor. For this algorithm, 3.75 V is equivalent to approximately 60% SOC, so this algorithm can be used if the starting point of the charge is less than 60%. In addition, it has a 2.5% error on the RMSE basis and has a low estimation accuracy. In Ref. [21] a method for estimating capacity using 1 C current CC charging data and UDDS simulation data was proposed. This method has no limits with regards to starting SOC. However, due to simple inputs, it shows a low estimation accuracy of 1.6% average error and a 3.8% maximum error. In Ref. [22] a method for estimating capacity by combining flexible results estimated based on the charging data of charges longer than 20 minutes and robust results estimated from data measured using the dynamic driving profile was proposed. The flexible method estimates the capacity by using RNN and the voltage and current data measured during charging with 1 C or 0.3 C. The robust method estimates capacity using NN and the distribution of I-V data measured while driving. In Ref. [19], capacity was estimated using data from the initial SOC starting charge in the range of 3% -43%. In this study, current, voltage, and charged capacity data measured during the constant current constant voltage (CCCV) charging process were selected as input, and each curve was divided into 25 equal parts to obtain 75 inputs. Using the DCNN structure, the capacity was estimated with a 0.3% of root mean square error (RMSE) and 4.9% of ME. In this case, constraints remain on the initial SOC of the charge, and a disadvantage is that the algorithm can be applied only when charging up to 100% using CV mode charging data.
Data-driven methods require limiting the charging C-rate to find input features, starting charging from a specific low SOC, or full charging to use features measured during the CV charging process. However, in an actual application, the battery can be charged from a wide range of initial SOC or be charged with a higher C-rate than 1 C. Also, the charging current will be much higher because people want to reduce charging time. In addition, if the battery is not fully charged, it is not possible to extract features, such as charging time or curvature of CV porcess. In this study, we propose an algorithm that is available for high C-rate charging currents, estimates the capacity using only data from the time of CC charging, and estimates the capacity regardless of the initial SOC within a range of 0-86%. The proposed algorithm estimated the capacity using multi-layer perceptron (MLP) using the voltage curve during CC charging, initial SOC, and CC charging time as input data. Therefore, the proposed algorithm can estimate the capacity after charging is end, whether it is fully charged or not. By comparing the performance of MLPs of various structures, the most suitable structure for capacity estimation was selected. To verify the proposed algorithm, aging data were acquired by conducting two experiments. The first experiment was conducted with a 0.5 C charging current and a low initial SOC. The second experiment was conducted with a 2 C charging current and various initial SOCs. The proposed algorithm estimates the capacity with 0.39% of MAE and 2.12% of ME, regardless of the size of the charge start SOC and charge current. The key contributions of the proposed algorithm can be summarized as follow.
• We propose an algorithm that can estimate capacity even when charging is started at high initial SOC.
• We verify that the proposed algorithm works with 0.5 C and 2 C charging currents and can estimate the capacity for the high C-rate charging case.
• We verify that the proposed algorithm estimates the capacity with high accuracy. The remainder of this paper is organized as follows: In Chapter 2, basic capacity estimation methods are presented, inputs of the MLP are selected, and algorithm implementation and learning methods are described. Chapter 3 describes the experimental method and configuration of two datasets. The results of the experiments are compared and analyzed in Chapter 4, and the conclusions are presented in Chapter 5.

II. CAPACITY ESTIMATION WITH MLP A. BASIC CAPACITY ESTIMATION AND INPUT SELECTION
The basic method of estimating capacity can be used by comparing the SOC of batteries that have changed over time, such as the integration of the current of a battery over a given period. (1) If the above equation is applied to charging the battery in the CC section, SOC 1 will replace the charge start SOC, SOC 2 will replace it with SOC cc−cv at the point of the transition from the CC mode to the CV mode. The denominator will simply be displayed as the product of the charging current and time to estimate capacity. Therefore, capacity can be estimated using four terms: SOC cc−cv , SOC init , I , t cc as input to NN. However, SOC cc−cv varies ( Fig. 2(b)) depending on the internal resistance and internal activity of the battery, which also varies with aging and specific aging path ( Fig. 2(a)). Therefore, SOC cc−cv cannot be measured directly and must be estimated using a model or calculated from the correct battery capacity and the charged quantity in the CV mode. When estimated by a model, the internal resistance and internal active state need to be accurately modeled. However, estimating internal resistance and internal active states requires additional current inputs and experiments that satisfy the persistent excitation conditions, making it difficult to use in actual applications. One of the methods to replace SOC cc−cv is using CC charging voltage curves. Because a CC charging voltage curve contains non-linear characteristics of the OCV curve, and OCV varies depending on the SOC, the CC charging curve indirectly contains information about the SOC. This allows MLP to use information about the SOC indirectly by selecting the voltage curve instead of SOC cc−cv as input for NN. For current, t cc 0 I (t)dt can be simplified to I × t cc , and t cc is selected as input and I is ignored because each dataset contains data of charges using the same current in the CC charging mode. Finally, SOC init , which indicates the SOC at the start of charging, is selected as input and can be obtained using the OCV-SOC table and OCV, which are measured after sufficient rest and before commencing charging. These features were used with NN in the MLP structure for estimating the capacity.

B. IMPLEMENTATION OF MULTILAYER PERCEPTRON AND LEARNING METHOD
Deep neural networks can be divided into MLP, CNN, RNN, and several other forms of NN. Among these deep learning methods, RNN is useful for processing time series data, and CNN has advantages in terms of reducing weight compared with MLP by filtering information locally through multiple kernels. Therefore, estimation accuracy may be reduced if information is extracted through inappropriate kernels. However, each part of a CC charging curve has different characteristics. Therefore, each part needs to be filtered through a different kernel. In contrast, all inputs are connected to each node in the MLP; therefore, there are many weights, but all information can affect the results. Thus, the proposed algorithm uses the MLP NN structure.
MLP NN is a type of feedforward neural network, consisting of an input layer, several hidden layers and output layers, and the nodes that make up each layer are represented by a weighted sum of the outputs of the nodes in the previous layer, bias, and non-linear activation function (Fig. 3). The MLP structure of the proposed algorithm has 4 hidden layers and each layer has 768 nodes. If ReLU is selected as an activation function, it has the advantage of preventing vanishing gradient phenomena that are likely to occur in the sigmoid function. And, ReLU provides an opportunity for efficient computation and network compression. However, regarding the number of layers of the proposed algorithm, the vanishing gradient phenomenon is not a problem. In addition, ReLU is prone to overfitting, and has dead neuron issues. [23], [24] Therefore, the sigmoid function is selected as an activation function. The input layer of the MLP consists of N+2 nodes by taking N divided voltage curves, SOC init and t cc as input. In this study, N is set to 100, so that the input of the MLP can reflect the characteristics of the charging curve. The output layer has one node for outputting the estimated capacity.
The loss function for learning is shown in Eq. (2). If SOC init is estimated in the actual environment, SOC init may contain errors due to current integration errors, an incompletely rested state, or other reasons. To estimate the capacity robustly with regards to initial SOC errors, the last two terms in (2) were added to the loss function.
Y real is the actual capacity, Y 0% is the estimated capacity with no error in SOC init , Y +2% is the estimated capacity with +2% error in SOC init , and Y −2% is the estimated capacity with -2% error in SOC init . The coefficients for each term were chosen arbitrarily to reflect each case. The Adam optimizer was used for learning, and a dropout was applied at a 5% rate in order to reduce the overfitting problem. In addition, if the loss of the validation set during learning no longer decreases, learning is stopped to prevent overfitting problems.

C. CONVOLUTION NEURAL NETWORK
The proposed algorithm was compared with a CNN algorithm with a structure similar to that proposed in [19]. The input of the CNN algorithm was selected to be the CC charging voltage curves, t cc and SOC init , same as for the proposed algorithm, and t cc and SOC init were entered directly into the fully connected layer, bypassing the convolution layer (Fig. 4. Each of the convolution layers had a similar filter and kernel size to that proposed in [19], and a pooling layer was added  considering the input size. In addition, FCN had 768 nodes, similar to the number of nodes in the proposed algorithm. The ReLU activation function was used, and the same loss function was applied as in the proposed algorithm.

III. EXPERIMENT AND DATSET CONFIGURATION
We conducted two aging experiments to verify the accuracy of the proposed algorithm. The first aging experiment was conducted with 5 battery packs to gain data of different aging paths, and the second aging experiment was conducted on two battery packs to gain data on charges and discharges with a high C-rate. Chroma 17020 was used for charging and discharging, and a constant ambient temperature of 25 • C was maintained using a constant temperature chamber.

A. DIFFERENT AGING PATH DATASET
In this experiment, five battery packs were used. Each battery pack has 8 cells of a Samsung INR18650-20R. In each pack, 2 cells were connected in parallel and 4 groups of parallel cells were then connected in series. Each battery pack was discharged using the CC discharge method with 1 C, 2 C, 3 C, 4 C, and 5 C and charged using the CCCV method, so that each battery had a different aging path. A current profile was applied to measure the capacity and test the characteristics of each battery every 20 CC discharge and CCCV charge cycles (Fig. 5). The dataset was obtained during the CCCV charging process just before the capacity measurement, and charging was started from a low SOC after CC discharge and rest time for accelerated aging. In this dataset, the SOC has different values depending on the internal resistance of the battery and the aging path.
When building the dataset, the initial part of the measured CC charging was removed to produce various combinations of SOC init . The length of the removed section was set to 0%, 5%, 10%, . . . , and 90% of the total CC section, generating 19 data points from one CCCV charging dataset (Fig. 6). For practical applications, SOC init can be estimated by OCV measured after rest and SOC corresponding to that OCV. However, when the initial part of the CC section is removed, OCV cannot be accurately measured due to the charging   current and polarization voltage. Therefore, SOC init was calculated from the charged capacity and the exact total capacity measured until completion of the charge.
In this dataset, the values of SOC init were distributed over the 0-85.9% interval, and the capacity was aged to 76-83% of the initial value (Table 1). B1, B3, and B5 were selected as training sets, and B2 and B4 were chosen as validation sets and test sets, respectively.

B. HIGH C-RATE CHARGING DATASET
Because the above dataset contains data of charging with a low C-rate of 0.5 C, further analysis is required for charging with a high C-rate. In addition, when the SOC init changes in the first dataset, the transient response in the initial part of the charge was ignored. Therefore, the accuracy of the capacity estimation should be verified in situations in which SOC init is actually changing. Further experiments were conducted to  verify this hypothesis. Two 10000 mAh 22.2 V battery packs were used, and the aging of the battery packs was accelerated by repeating the CC discharge with 3 C and CC charging with 2 C. We measured the capacity every 60 cycles. After a full charge, the SOC init was changed by discharging it from 30% to 100% of the initial capacity and stopping the discharge when the lower voltage was reached (Fig. 7). The training set selected one datapoint for each of the two aging points, including two to three datapoint at the beginning and end of the aging process of each battery. Among the remaining data, validation data and test data were selected alternately (Fig. 8). The division into training, validation and test datasets is to interpolate the training data, so that the validation data and test data can be estimated.

IV. RESULTS AND DISCUSSION
The different aging path datasets has relatively rich data compared to the high C-rate charging dataset. Therefore, the estimation results were mainly analyzed using the first dataset, and the effects of the transient response and the accuracy of the high C-rate charging situation were analyzed using a later dataset.

A. DIFFERENT AGING PATH DATASET
The estimated accuracy of the MLP NN depends on the number of layers or nodes in each layer, such as the number of VOLUME 8, 2020  hidden layers or the number of nodes in the layers. In general, a complex structure increases estimation accuracy, but may result in increased unnecessary computations and overfitting, thereby reducing estimation accuracy. Therefore, it is necessary to determine the proper MLP structure. In this study, we compared the mean absolute error (MAE) and maximum absolute error (ME) according to the number of hidden layers in the training set and selected the appropriate structure for capacity estimation. MAE and ME were obtained using the following formulae: MAE and ME are shown in Fig. 9 for 768 nodes per layer and for 1 to 8 hidden layers. Both, MAE and ME demonstrate a trend of decreasing errors with an increasing number of layers up to 4 layers, and when this number exceeds 4, errors do not decrease or change significantly. Therefore, 4 hidden layers were used after accounting for computation cost and estimated accuracy.
To compare the estimated accuracy with the number of nodes in each hidden layer, the estimated error was compared by setting the number of layers of the hidden layer to 4, and changing the number of nodes to 128, 256, 512, 768, and 1,024 for each layer (Fig. 10). MAE continues to decrease as the number of nodes increases (Fig. 10), but it can be confirmed that ME increases again after 768 nodes/layer. Therefore, the MLP structure was chosen to have 4 hidden layers and 768 nodes for each layer.
As mentioned in Chapter 2, in real-life situations, errors in SOC estimates may occur due to accumulated errors from current measurement or the incorrect estimation of OCV due to insufficient rest times. Therefore, if the SOC init is incorrect, the robustness of the proposed algorithm should   be confirmed. For the proposed algorithm, estimation results were presented for the test set assuming that the SOC init estimation error was ±2%, ±1%, and 0%, because errors of ±2% were considered in the loss function during the learning process.(Eq. (2)) Figure 11 and table 3 show MAE and ME of the estimated results for each situation of the training, VOLUME 8, 2020  validation, and test sets. Note that the presence of multiple points in one cycle is a representation of different SOC init conditions. First, if there was no SOC init estimation error, the capacity estimation error was within the range of ±1% in most cases, and the maximum error was approximately 2.1% ( Fig. 11 (b)). When adding +2% and −2% errors to SOC init , the capacity estimation error was within the range of ±2% errors, except for certain cases, with a maximum error of approximately 3.2% (Fig. 11 (c), (d)). These results show that the proposed algorithm has robust characteristics against errors in SOC init . If there were no errors in SOC init , the MAE was 0.4% or less in all cases. Even if there is a ±2% error in SOC init , it is possible to verify a robust estimation for the capacity for SOC init with less than 3.6% ME and less than 0.9% MAE.
The results of estimating the capacity of the test set via CNN are shown in Fig. 12, and MAE and ME of each dataset are shown in Table 4. For the CNN algorithm, high SOC init caused a large errors when the battery was new. In contrast, when a battery is aged, low SOC init caused large errors (Fig.12). These results show that the CNN algorithm is greatly affected by SOC init . In contrast, for the proposed algorithm, it can be seen that capacity can be estimated with low errors regardless of SOC init . Also, estimation errors of the proposed algorithm are lower than errors of CNN algorithm for all cases. B. HIGH C-RATE CHARGING DATASET As mentioned before, the different aging path datasets are rich, but the charging current has a low C-rate and no transient response exists. Therefore, the estimated accuracy should be reanalyzed for datasets for which the charging current is high and SOC init is actually changing. Figure 13 presents the estimated results and estimation errors for each battery pack, and the detailed results for each dataset are listed in Table 5.
MAE for the training and test sets were less than 0.3%, and the estimation accuracy was extremely high. Regarding the validation set, MAE and ME were relatively large due to errors in the 20th aging point of B6. This is thought to be an effect of a changing trend in capacity due to capacity regeneration after the 20th aging point. Except for this aging point, ME of the estimated capacity error is less than 1.31%. These high-accuracy estimation results show that the proposed algorithm can estimate capacity effectively, even when high C-rate charging conditions and transient responses exist.

V. CONCLUSION
In this study, we proposed an algorithm that estimates the capacity of a lithium-ion battery using its CC charging curve. The proposed algorithm uses the voltage curve of the CC charging section, CC charging time, and SOC to estimate the capacity using an MLP structure. The MLP structure was selected by comparing the estimated accuracy of several structures, and the overall accuracy was verified using experimental data. The estimated results exhibited very high estimation accuracy with a MAE of 0.39% and ME of 2.12%, regardless of the initial SOC, within a range of 0-86%. These results are similar to or better than the capacity estimation accuracies of existing algorithms. In addition, an estimated error with a MAE of 0.85% and ME of 3.23% was exhibited, even if an estimated error was present for SOC init , showing the estimated capacity to be robust even for an estimated error within ±2% of SOC init . In addition, when charging with a 2 C current, which could not be studied using the existing algorithms, the proposed algorithm also showed a high estimated performance with a MAE of 1.11% and ME of 0.29%. The proposed algorithm will ease restrictions on the application of algorithms, such as SOC init charge current limits, making it easier to apply algorithms to multiple applications in real situations. In this study, the ambient temperature and charging current were fixed. Future studies could involve an algorithm that can estimate capacity by considering temperature changes and various charging currents His research interests include state estimation and remaining useful life prediction of lithium-ion batteries using deep learning. He has focused on studying battery management system algorithms in actual battery usage environments, such as battery packs and various battery aging and temperature conditions. His research interests include fault diagnosis and state estimation of lithium-ion batteries.
YOUNGBIN SONG was born in Deagu, South Korea, in November 1992. He received the B.S. degree in electronic engineering from Kyungpook National University, Deagu, in 2018, and the M.S. degree in electrical engineering from the Pohang University of Science and Technology, Pohang, South Korea, in 2020, where he is currently pursuing the Ph.D. degree.
His research interests include state estimation and modeling of lithium-ion batteries using control and signal processing.
SANG WOO KIM (Member, IEEE) was born in Pyeongtack, South Korea, in August 1961. He received the B.S., M.S., and Ph.D. degrees in control and instrumentation engineering from Seoul National University, Seoul, South Korea, in 1983Korea, in , 1985Korea, in , and 1990 He joined the Pohang University of Science and Technology, Pohang, South Korea, as an Assistant Professor, in 1992, where he is currently a Full Professor with the Department of Electrical Engineering. He was a Visiting Fellow with the Department of System Engineering, Australian National University, Canberra, ACT, Australia, in 1993. His research interests include optimal control, optimization algorithms, intelligent control, wireless communication, and process automation.