The rapid integration of renewable energy sources necessitates advanced management strategies for energy storage systems. At the heart of these systems lies the energy storage cell, whose performance dictates overall efficiency, safety, and longevity. Leveraging technologies such as the Internet of Things (IoT) and big data analytics to monitor and analyze cell behavior has become imperative. This article presents a comprehensive methodology for parsing operational data from energy storage cells and validating their mathematical models, providing a foundational tool for performance assessment and model refinement.

1. Data Acquisition from Energy Storage Cells
The operational data of an energy storage cell, including voltage, current, and temperature, forms the basis for state estimation, protection, and control algorithms. This data is typically collected and managed by a hierarchical Battery Management System (BMS).
1.1 Hierarchical Information Collection Architecture
A standard BMS architecture consists of three primary layers, each with distinct responsibilities for monitoring the energy storage cell or assemblies thereof.
| Layer | Acronym | Primary Function |
|---|---|---|
| Battery Management Unit | BMU | Directly interfaces with the energy storage cell or a small series/parallel group. Measures individual cell voltage and temperature. |
| Battery Cluster Management Unit | BCMU | Manages a cluster of series-connected energy storage cells. Aggregates data from multiple BMUs, measures cluster-level current and total voltage, and controls contactors. |
| Battery Array Management System | BAMS | The central supervisory unit. Provides system-level data display, coordination, and high-level control logic based on data from all BCMUs. |
Data communication between these units commonly utilizes industrial protocols like the Controller Area Network (CAN) or serial communication (e.g., RS-485). While packet capture tools can log the raw data frames transmitted over these buses, they do not interpret the application-layer protocol specific to the energy storage cell or BMS manufacturer. The raw captured data appears as a sequence of hexadecimal bytes within frames, making direct analysis impractical without a dedicated parser.
1.2 CAN Protocol Data Frame Parsing
Focusing on the widely adopted CAN protocol, the operational data of the energy storage cell is encapsulated within CAN data frames. The critical information resides in the Data Field, which is typically 8 bytes long. Parsing this data requires knowledge of the manufacturer-specific protocol defining the mapping of these bytes to physical measurements.
| CAN Data Frame Field | Description | Relevance to Energy Storage Cell Data |
|---|---|---|
| Arbitration Field | Contains the message identifier (CAN ID). | Used to filter and identify messages related to a specific energy storage cell, cluster, or measurement type (e.g., voltage, current). |
| Data Length Code (DLC) | Specifies the number of bytes in the Data Field. | For energy storage cell data, this is often 8. |
| Data Field | Contains up to 8 bytes of application data. | Stores the actual measured values (e.g., voltage, current) for the energy storage cell. Each value is usually encoded in 2 bytes (16 bits). |
| CRC Field | Cyclic Redundancy Check for error detection. | Ensures data integrity for reliable monitoring of the energy storage cell. |
The parsing algorithm must correctly interpret these 2-byte segments as signed or unsigned integers, often applying a scaling factor. For instance, current from an energy storage cell can be positive (discharge) or negative (charge), requiring signed integer interpretation, while cell voltage is strictly positive, using unsigned integers. The general parsing workflow is as follows:
- Load the captured CAN log file(s).
- Iterate through each frame in the log.
- Filter frames based on the relevant CAN ID(s) for the target energy storage cell parameters.
- Extract the 8-byte Data Field from the selected frames.
- For each 2-byte segment within the Data Field:
- Apply the correct signed/unsigned interpretation.
- Multiply by the protocol-defined scaling factor (e.g., 0.001 V/bit, 0.01 A/bit).
- Assign the value to the corresponding parameter (e.g., Cell_1_Voltage, Pack_Current).
- Store the time-synchronized sequence of parsed parameters for analysis.
2. Mathematical Modeling and Simulation of the Energy Storage Cell
To understand and predict the behavior of an energy storage cell, accurate mathematical models are essential. Simulating the cell’s response allows for comparison with real-world data, enabling model validation and parameter tuning.
2.1 The Second-Order Equivalent Circuit Model
Among various models, the second-order Equivalent Circuit Model (ECM) offers a favorable balance between simplicity and accuracy for dynamic simulation of an energy storage cell. It captures the major electrical dynamics, including the immediate ohmic drop and the slower polarization effects.
The model, as shown in the conceptual diagram, consists of:
$$ \text{Open Circuit Voltage (OCV) Source: } U_{oc}(SOC) $$
$$ \text{Ohmic Internal Resistance: } R_0 $$
$$ \text{Two RC Parallel Networks: } (R_1, C_1) \text{ and } (R_2, C_2) $$
The terminal voltage \( U_L \) of the energy storage cell under a load current \( I_L \) (positive for discharge) is given by:
$$ U_L = U_{oc} + U_d $$
where \( U_d \) is the dynamic voltage across the resistive elements.
$$ U_d = I_L R_0 + U_{d1} + U_{d2} $$
Here, \( U_{d1} \) and \( U_{d2} \) are the voltages across the first and second RC networks, respectively.
2.2 Simulation Algorithm for Energy Storage Cell Behavior
Simulating the energy storage cell’s terminal voltage requires two core components: determining the Open Circuit Voltage (OCV) and calculating the dynamic voltage \( U_d \).
State of Charge (SOC) Estimation: SOC is typically estimated using the Coulomb counting (Ampere-hour integral) method, initialized with a known SOC value \( SOC_0 \).
$$ SOC_k = SOC_{k-1} + \frac{\eta \cdot T \cdot I_{L,k}}{C_{\text{nominal}}} $$
where \( k \) is the discrete time index, \( T \) is the sampling period, \( \eta \) is the charge/discharge efficiency (often assumed to be 1 for simplification), and \( C_{\text{nominal}} \) is the nominal capacity of the energy storage cell in Ampere-hours (Ah).
Open Circuit Voltage (OCV) via Table Look-Up: The relationship between SOC and OCV is nonlinear and unique to the chemistry of the energy storage cell. It is determined experimentally and implemented as a look-up table.
A table of \( N \) entries is defined: \( \{ (SOC_{\text{LUT},1}, U_{\text{LUT},1}), (SOC_{\text{LUT},2}, U_{\text{LUT},2}), …, (SOC_{\text{LUT},N}, U_{\text{LUT},N}) \} \).
For a calculated \( SOC_k \), a linear interpolation is performed between the two nearest table entries (\( m-1 \) and \( m \)) to find \( U_{oc,k} \):
$$ U_{oc,k} = U_{\text{LUT},m-1} + \frac{SOC_k – SOC_{\text{LUT},m-1}}{SOC_{\text{LUT},m} – SOC_{\text{LUT},m-1}} \cdot (U_{\text{LUT},m} – U_{\text{LUT},m-1}) $$
where \( SOC_{\text{LUT},m-1} \leq SOC_k < SOC_{\text{LUT},m} \).
| Index (m) | SOC (%) | OCV (V) |
|---|---|---|
| 1 | 0.00 | 3.000 |
| 2 | 10.00 | 3.450 |
| 3 | 20.00 | 3.550 |
| … | … | … |
| 10 | 100.00 | 4.200 |
Dynamic Voltage Calculation (Iterative Algorithm): The voltages across the RC networks are state variables with dynamics described by differential equations. Using a discrete-time approximation (e.g., zero-order hold), the update equations are derived:
The continuous-time dynamics for one RC pair are: \( \frac{dU_{d1}}{dt} = \frac{1}{C_1}(I_L – \frac{U_{d1}}{R_1}) \).
Discretizing with sampling time \( T \) yields the iterative algorithm:
$$ U_{d1,k} = \underbrace{e^{-\frac{T}{R_1 C_1}}}_{\alpha_1} U_{d1,k-1} + \underbrace{R_1(1 – e^{-\frac{T}{R_1 C_1}})}_{\beta_1} I_{L,k} $$
For numerical stability and clarity in implementation, this is often computed as:
$$ \alpha_1 = e^{-\frac{T}{\tau_1}}, \quad \beta_1 = R_1 (1 – \alpha_1), \quad \text{where } \tau_1 = R_1 C_1 $$
$$ U_{d1,k} = \alpha_1 \cdot U_{d1,k-1} + \beta_1 \cdot I_{L,k} $$
The same form applies to the second RC network:
$$ U_{d2,k} = \alpha_2 \cdot U_{d2,k-2} + \beta_2 \cdot I_{L,k}, \quad \alpha_2 = e^{-\frac{T}{\tau_2}}, \quad \beta_2 = R_2 (1 – \alpha_2), \quad \tau_2 = R_2 C_2 $$
Finally, the terminal voltage of the simulated energy storage cell is:
$$ U_{L,\text{sim},k} = U_{oc,k} + I_{L,k} R_0 + U_{d1,k} + U_{d2,k} $$
This algorithm is executed iteratively for each time step \( k \), using the measured current \( I_{L,k} \) as the input stimulus.
2.3 Parameter Identification for the Energy Storage Cell Model
The accuracy of the simulation hinges on the correct set of parameters \( \Theta = \{R_0, R_1, C_1, R_2, C_2\} \) for the energy storage cell, along with the OCV-SOC table. These parameters are typically identified from experimental data using optimization techniques. A common method involves analyzing the relaxation voltage response of the energy storage cell after a current pulse.
The terminal voltage response \( U_L(t) \) after a current step can be fit to an equation of the form:
$$ U_L(t) = U_{oc} – I_L \left[ R_0 + R_1 (1 – e^{-t/\tau_1}) + R_2 (1 – e^{-t/\tau_2}) \right] $$
By applying curve-fitting algorithms (e.g., nonlinear least squares) to voltage relaxation data from multiple SOC levels, the parameters \( R_0, R_1, \tau_1, R_2, \tau_2 \) can be extracted. The capacitances are then calculated as \( C_1 = \tau_1 / R_1 \) and \( C_2 = \tau_2 / R_2 \).
| Parameter | Physical Interpretation | Typical Identification Method |
|---|---|---|
| \( R_0 \) | Ohmic resistance (electrolyte, contacts). | Instantaneous voltage drop at the start/end of a current pulse. |
| \( R_1, C_1 \) | Models short-term diffusion & charge transfer dynamics. | Fitted to the voltage relaxation in the first few seconds to minutes. |
| \( R_2, C_2 \) | Models long-term diffusion & concentration polarization. | Fitted to the slower voltage relaxation phase (minutes to hours). |
3. Integrated Tool Development for Analysis and Validation
To operationalize the aforementioned methodologies, a dedicated PC-based software tool is developed. This tool integrates data parsing and cell simulation into a single environment for streamlined analysis of the energy storage cell.
3.1 System Architecture and Workflow
The tool is designed with a modular architecture. The core workflow involves two parallel streams that converge for comparison:
- Real Data Path: Import raw CAN log files -> Apply protocol-specific parser -> Extract and store time-series data (voltage, current, etc.) for the energy storage cell.
- Simulation Path: Take the measured current from the parsed data as input -> Load the ECM parameters and OCV-SOC table -> Execute the iterative simulation algorithm -> Generate simulated voltage for the energy storage cell.
The outputs of both paths are synchronized in time and presented visually for direct comparison, enabling quantitative and qualitative model validation.
3.2 Key Software Features and Interface
The tool’s graphical user interface (GUI) is designed for practicality, containing several key functional blocks:
- Data Import/Export Module: Buttons to load CAN log files and export parsed/simulated data to standard formats (e.g., CSV).
- Communication Protocol Configuration: Settings for CAN ID filters, byte ordering (Endianness), and scaling factors specific to the energy storage cell or BMS protocol.
- Energy Storage Cell Model Parameter Panel: Input fields for the second-order ECM parameters (\(R_0, R_1, C_1, R_2, C_2, SOC_0\)) and a button to import the OCV-SOC look-up table file.
- Control Buttons: Dedicated buttons to execute the parsing and simulation routines.
- Visualization Area: Multi-axis plots for displaying measured vs. simulated energy storage cell voltage, measured current, and estimated SOC over time.
3.3 Model Validation and Error Analysis Metrics
Beyond visual inspection, the tool can incorporate quantitative metrics to assess how well the model of the energy storage cell fits the real data. Common metrics include:
Root Mean Square Error (RMSE):
$$ RMSE = \sqrt{ \frac{1}{N} \sum_{k=1}^{N} (U_{L,\text{meas},k} – U_{L,\text{sim},k})^2 } $$
This provides a measure of the standard deviation of the simulation errors.
Mean Absolute Error (MAE):
$$ MAE = \frac{1}{N} \sum_{k=1}^{N} | U_{L,\text{meas},k} – U_{L,\text{sim},k} | $$
This gives the average magnitude of the errors.
Maximum Absolute Error: Identifies the worst-case deviation point, which is critical for assessing the safety margins in voltage-sensitive applications involving the energy storage cell.
| Metric | Advantage | Disadvantage |
|---|---|---|
| RMSE | Sensitive to large errors (squares them). Useful for identifying poor fit. | Value is in squared units, can be skewed by outliers. |
| MAE | Intuitive, in the original unit (Volts). Robust to outliers. | Does not indicate the variance of the errors. |
4. Case Study: Application to a Lithium-Ion Energy Storage Cell
The described tool and methodology were applied to analyze data from a commercial lithium-ion energy storage cell. The setup involved a BMU monitoring the cell, transmitting data via CAN bus, which was captured using a USB-CAN adapter and logged on a PC.
4.1 Test Procedure and Data Parsing
A dynamic stress test (DST) profile was applied to the energy storage cell, including sequences of constant-current charge, constant-voltage charge, rest periods, and constant-current discharge. The raw CAN log was imported into the tool. Using the known protocol definition (CAN ID, scaling factors of 0.1 mV/bit for voltage and 0.1 mA/bit for current), the tool successfully parsed the time-series data for cell voltage, current, and derived SOC.
4.2 Simulation and Comparative Results
The parsed current profile was used as the input \( I_L \) for the simulation. Model parameters were initialized based on prior characterization of a similar energy storage cell:
$$ R_0 = 2.5 \, \text{m}\Omega, \, R_1 = 1.2 \, \text{m}\Omega, \, C_1 = 12,000 \, \text{F}, \, R_2 = 0.8 \, \text{m}\Omega, \, C_2 = 180,000 \, \text{F} $$
The corresponding OCV-SOC table for this lithium-ion chemistry was loaded. The simulation was executed, producing a simulated voltage trace \( U_{L,\text{sim}} \).
Visual Comparison: Plotting the measured voltage \( U_{L,\text{meas}} \) and simulated voltage \( U_{L,\text{sim}} \) revealed a strong general correspondence. The model accurately captured the key dynamic features of the energy storage cell: the immediate ohmic drop at current transitions, the subsequent exponential relaxation during constant current phases, and the open-circuit voltage during rest periods.
Error Analysis: Residual errors (\( U_{L,\text{meas}} – U_{L,\text{sim}} \)) were calculated. The RMSE was found to be 8.2 mV, and the MAE was 6.5 mV over the entire test profile, indicating good model fidelity for this type of energy storage cell. The maximum error of 22 mV occurred during a high-rate discharge-to-rest transition, suggesting a slight underestimation of the polarization voltage recovery by the second-order model for that specific operating condition of the energy storage cell.
5. Discussion and Future Enhancements
The developed framework provides a practical and effective means to bridge the gap between raw operational data and analytical models for the energy storage cell. The ability to parse proprietary CAN data unlocks direct access to high-resolution cell information, while the simulation environment allows for rapid hypothesis testing and model validation.
The case study confirms that the second-order ECM is sufficiently accurate for many system-level analyses of the energy storage cell. However, the observed residuals highlight avenues for improvement:
- Model Complexity: For applications requiring extreme precision (e.g., state-of-health estimation), higher-order models or electrochemical models could be integrated into the tool. The modular design allows for swapping the core simulation engine.
- Parameter Adaptation: The model parameters of an energy storage cell are not static; they vary with SOC, temperature, age (SOH), and C-rate. Future versions of the tool could incorporate algorithms for online parameter identification (e.g., using Recursive Least Squares or Kalman Filters) to maintain model accuracy throughout the life of the energy storage cell.
- Cloud Integration & Big Data Analytics: As part of a larger IoT ecosystem, the tool’s core algorithms could be deployed at the edge or in the cloud. Parsed data from fleets of energy storage cells could be aggregated to perform big data analytics, identifying performance trends, early signs of failure, and optimizing usage protocols across the entire network.
- Standardized Data Exchange: Promoting the use of standardized data formats (like the Open Charge Point Protocol – OCPP for EVs or other IEC standards) would simplify the parsing layer, allowing the tool to focus more on advanced analytics for the energy storage cell rather than protocol reverse-engineering.
In conclusion, the synergy of detailed data parsing and rigorous model simulation forms a cornerstone for the intelligent management of modern energy storage systems. The methodology and tool presented here offer a tangible step towards deeper understanding, better design, and more reliable operation of the fundamental unit in these systems: the energy storage cell.
