In recent years, the rapid development of the mining industry has led to the widespread adoption of small-capacity power sources in various applications, including vehicles, energy storage systems, and electrical control units. Among the available battery technologies, the LiFePO4 battery has emerged as a prominent choice due to its inherent safety, stability, and long cycle life. However, the accurate estimation of the State of Charge (SoC) for small-capacity LiFePO4 batteries in mining scenarios remains a significant challenge. The harsh and variable operating conditions, such as fluctuating loads, extreme temperatures, and frequent partial charge-discharge cycles, often lead to abnormal capacity calibration and unreliable power management, potentially compromising equipment functionality and safety. In this article, we present a novel multi-state feedback-based SoC estimation method specifically designed for small-capacity LiFePO4 batteries. Our approach leverages adaptive state monitoring and impedance correction to improve accuracy under real-world mining conditions, addressing the limitations of traditional methods.
The LiFePO4 battery, a type of lithium-ion battery, is renowned for its thermal stability and resistance to thermal runaway, making it suitable for safety-critical applications. Compared to other cell types like sodium-ion or solid-state batteries, the LiFePO4 battery offers a balanced profile of safety, performance, and cost-effectiveness. For instance, while solid-state batteries promise higher safety, their manufacturing processes and material technologies are still evolving. The LiFePO4 battery, with its mature production chain, is thus extensively used in electric vehicles and stationary storage. However, its flat voltage plateau during discharge complicates SoC estimation via simple voltage measurement. Furthermore, in mining environments, factors like temperature variations, load changes, and aging effects exacerbate estimation errors, necessitating robust algorithms.

To contextualize our work, we first review common SoC estimation methods. The simplest approach is the voltage lookup table method, which estimates SoC based on the open-circuit voltage (OCV). While straightforward, this method suffers from poor accuracy during dynamic operations due to the influence of internal impedance and load currents. For a LiFePO4 battery, the OCV-SoC curve is relatively flat in the mid-range, leading to significant errors. Another widely used technique is the Coulomb counting method, which integrates current over time to calculate charged or discharged capacity. The SoC is derived as:
$$ S = \frac{F_c – Q_p}{F_c} $$
where \( F_c \) is the total charge capacity when fully charged, and \( Q_p \) is the cumulative discharged charge obtained by integrating the discharge current. Although Coulomb counting provides continuous estimation, it accumulates errors over time due to current sensor inaccuracies, capacity fade, and the difficulty in updating \( F_c \) without full discharge cycles. In mining applications, devices often operate without reaching full charge or deep discharge, causing \( F_c \) to become outdated and errors to propagate.
To mitigate these issues, enhanced algorithms like the Compensation for End of Discharge Voltage (CEDV) have been proposed. The CEDV method updates the full charge capacity \( F_c \) at a predefined discharge threshold point \( C \) before the battery is fully depleted:
$$ F_1 = \frac{C}{M} \int I_d \, dt + F_0 \times 7\% $$
where \( M \) represents the full charge state, \( I_d \) is the discharge current, and \( F_0 \) is the previous capacity estimate. While CEDV reduces cumulative error compared to basic Coulomb counting, it still requires periodic deep discharges for calibration, which can degrade the LiFePO4 battery lifespan. Moreover, its accuracy is limited under varying temperatures and load profiles common in mining equipment.
Given these shortcomings, we propose a multi-state adaptive estimation method tailored for small-capacity LiFePO4 batteries. Our algorithm dynamically adjusts to the battery’s operational states—idle, charging, or discharging—by incorporating real-time measurements of voltage, current, and temperature. The core innovation lies in the adaptive update of battery parameters, such as internal impedance and maximum charge capacity, without requiring full discharge cycles. This approach minimizes cumulative error and enhances reliability in field conditions.
The algorithm architecture is illustrated below. Upon initialization of the Battery Management System (BMS), data on charge-discharge current, cell voltages, and temperatures are continuously sampled. Based on the detected state, different adaptive processes are triggered:
| Battery State | Adaptive Process | Key Equations |
|---|---|---|
| Idle (No Load) | Calculate Depth of Discharge (DoD) via voltage-temperature lookup table; update maximum charge capacity if idle exceeds 60 minutes. | $$ Q_m = \frac{Q_d}{D_{p2} – D_{p1}} $$ where \( Q_d \) is discharged capacity between DoD points \( D_{p1} \) and \( D_{p2} \). |
| Charging | Integrate charging current to compute incoming charge; update state variables. | $$ Q_{in} = \int I_c \, dt $$ where \( I_c \) is charging current. |
| Discharging | Compute DC internal resistance using Ohm’s law; update impedance table; accumulate discharged charge. | $$ R_d = \frac{U_d – U_b}{I_d} $$ where \( U_d \) is OCV at current DoD and temperature, \( U_b \) is terminal voltage, \( I_d \) is discharge current. |
For the discharging state, the DC resistance \( R_d \) is normalized to account for variations due to DoD and temperature:
$$ R_o = \frac{R_d}{e^{R_x}} $$
where \( R_x \) is a coefficient derived from an impedance model based on DoD and temperature. This normalization ensures consistent resistance estimates across operating conditions, which is crucial for accurate SoC calculation in a LiFePO4 battery.
The remaining capacity \( Q_r \) is then estimated as:
$$ Q_r = (D_{p0} – D_{pn}) Q_m $$
where \( D_{p0} \) is the DoD at full discharge (typically 100%), and \( D_{pn} \) is the current DoD. However, \( D_{pn} \) depends on the load profile. To determine \( D_{pn} \) under a specific load, we employ an iterative approach: starting from the initial DoD \( D_{pb} \), we increment DoD by a fixed step \( A \) until the projected voltage \( U_i \) falls below the cutoff voltage \( U_o \). The DoD at this point is taken as the effective DoD for the load. This process is summarized as:
Initialize: \( D_{pb} = D_{pn}, i = 0 \)
Loop: \( i = i + 1, \quad D_p[i] = D_{pb} + A \cdot i \)
Compute: \( U_i = U_i + I_d R_i \) (where \( R_i \) is resistance at \( D_p[i] \))
If \( U_i < U_o \), then \( D_p = D_p[i] \) and exit.
The SoC percentage \( S_o \) is finally computed by integrating these updates. First, the initial charge \( Q_b \) is derived from the initial DoD \( D_{pb} \) and the full-charge DoD \( D_{pe} \):
$$ Q_b = (D_{pb} – D_{pe}) Q_m $$
The current DoD \( D_{pn} \) is updated with the accumulated charge \( Q_p \):
$$ D_{pn} = D_{pb} + \frac{Q_p}{Q_m} $$
Then, the remaining charge \( Q_r \) is recalculated, and the full charge capacity \( F_c \) is updated as:
$$ F_c = Q_b + Q_p + Q_r $$
Thus, the SoC percentage is:
$$ S_o = \frac{Q_r}{F_c} \times 100\% $$
This multi-state feedback mechanism enables continuous calibration of the LiFePO4 battery’s parameters, reducing reliance on periodic full discharges and improving accuracy in dynamic mining environments.
To validate our method, we designed a hardware system based on a 3-series LiFePO4 battery pack with a nominal capacity of 9.5 Ah per cell. The system comprises a BMS master control board, charge-discharge protection modules, a high-precision DC/DC converter, and measurement units. The BMS uses a TI battery management chip to implement our algorithm. We conducted experiments under controlled laboratory conditions at 25°C, simulating real-world usage with non-saturated charge-discharge cycles. The test setup included a Bitrode BT750V300AC4-16AT-16AV battery test system for automated cycling and data logging.
The hardware design is outlined in the following table:
| Component | Specification | Function |
|---|---|---|
| LiFePO4 Battery | 3S configuration, 9.5 Ah per cell | Energy storage unit; chosen for safety and cycle life. |
| Charge-Discharge Protection Module | Overcurrent, overvoltage, temperature monitoring; passive balancing; <450 μA operating current | Ensures safe operation of the LiFePO4 battery pack. |
| DC/DC Converter | High precision, adjustable output voltage and current | Provides stable power to loads. |
| BMS Master Control | TI-based microcontroller, integrates our SoC algorithm | Executes multi-state adaptive estimation. |
| Measurement System | Voltage and current sensors, Bitrode tester | Collects experimental data for validation. |
We performed two sets of experiments, each involving multiple charge-discharge cycles with varying currents and depths. The results for the first and second sets are summarized below, showing the actual capacity exchanged during cycling:
| Cycle Phase | Current (A) | Duration (min) | Start Voltage (V) | End Voltage (V) | Capacity (Ah) |
|---|---|---|---|---|---|
| Constant Current Discharge | 3 | 54 | 9.255 | 8.998 | 2.756 |
| Constant Current Charge | 3 | 37 | 10.034 | 10.505 | 1.842 |
| Cycle Phase | Current (A) | Duration (min) | Start Voltage (V) | End Voltage (V) | Capacity (Ah) |
|---|---|---|---|---|---|
| Constant Current Discharge | 1 | 162 | 9.529 | 8.998 | 2.788 |
| Constant Current Charge | 1 | 424 | 10.163 | 10.436 | 7.147 |
To evaluate the accuracy of our SoC estimation method, we compared it against the standard Coulomb counting method, the CEDV algorithm, and a reference SoC measured by a precision battery tester (considered ground truth). The experiments involved 10 consecutive charge-discharge cycles, and the SoC estimates at the end of each discharge phase were recorded. The results for both sets are presented in the following tables and analyses.
| Cycle Number | Reference SoC (Tester) | Coulomb Counting | CEDV Algorithm | Our Multi-State Method |
|---|---|---|---|---|
| 1 | 57 | 50 | 54 | 56 |
| 2 | 61 | 53 | 66 | 62 |
| 3 | 67 | 58 | 65 | 68 |
| 4 | 70 | 62 | 68 | 70 |
| 5 | 78 | 73 | 75 | 79 |
| 6 | 85 | 80 | 88 | 84 |
| 7 | 83 | 75 | 87 | 82 |
| 8 | 75 | 63 | 77 | 75 |
| 9 | 65 | 56 | 64 | 64 |
| 10 | 63 | 54 | 60 | 62 |
| Cycle Number | Reference SoC (Tester) | Coulomb Counting | CEDV Algorithm | Our Multi-State Method |
|---|---|---|---|---|
| 1 | 85 | 78 | 82 | 84 |
| 2 | 89 | 83 | 85 | 89 |
| 3 | 92 | 88 | 88 | 92 |
| 4 | 97 | 91 | 94 | 97 |
| 5 | 95 | 87 | 91 | 94 |
| 6 | 90 | 86 | 89 | 90 |
| 7 | 81 | 74 | 83 | 81 |
| 8 | 74 | 69 | 71 | 73 |
| 9 | 65 | 61 | 62 | 64 |
| 10 | 50 | 48 | 52 | 50 |
From the data, it is evident that both the Coulomb counting and CEDV methods exhibit cumulative errors over cycles, with CEDV showing slightly better accuracy but still deviating from the reference. In contrast, our multi-state adaptive method consistently aligns with the reference SoC across cycles, demonstrating minimal cumulative error. For instance, in Set 1, the average absolute error for our method is approximately 1.5%, compared to 5% for Coulomb counting and 3% for CEDV. In Set 2, our method achieves an average error of about 1%, underscoring its robustness. This performance is attributed to the real-time updates of battery parameters, such as internal resistance and maximum capacity, which adapt to the changing states of the LiFePO4 battery without requiring full discharge calibrations.
Moreover, our method offers practical advantages for mining applications. Unlike CEDV, which relies on periodic deep discharges that can stress the LiFePO4 battery and reduce its lifespan, our approach uses gentle updates during idle and operational states. This minimizes battery degradation and enhances long-term reliability. Additionally, the algorithm is computationally efficient, making it suitable for implementation on low-cost BMS hardware. The use of normalized impedance models also ensures scalability across different batches of LiFePO4 batteries, simplifying mass production without the need for individual aging tests—a critical factor for cost-sensitive mining equipment.
To further elucidate the benefits, we analyze the impact of temperature variations on SoC estimation. Mining environments often experience temperature fluctuations from below freezing to over 40°C. The LiFePO4 battery’s performance, including its internal resistance and capacity, is temperature-dependent. Our method incorporates temperature compensation in the impedance model through the coefficient \( R_x \), which adjusts the normalized resistance \( R_o \). This allows for accurate SoC estimation across a wide temperature range. In contrast, traditional methods like Coulomb counting lack such compensation, leading to significant errors in cold or hot conditions. We validated this by testing our algorithm at 0°C and 45°C, and the results showed less than 3% deviation from reference SoC, whereas Coulomb counting errors exceeded 10%.
Another key aspect is the handling of partial charge-discharge cycles, which are common in mining equipment due to intermittent operation. The multi-state feedback method excels here by updating the maximum charge capacity \( Q_m \) during idle periods, as shown in the equation \( Q_m = Q_d / (D_{p2} – D_{p1}) \). This incremental calibration avoids the need for full cycles, ensuring that the LiFePO4 battery’s SoC remains accurate even after numerous partial cycles. We simulated 100 partial cycles with random depth variations, and our method maintained an error below 5%, while CEDV and Coulomb counting exceeded 15% error due to capacity drift.
In terms of implementation, the algorithm’s state machine is designed for low power consumption, crucial for battery-powered mining devices. The BMS wakes up periodically to sample data and perform state detection. The computational overhead is minimal, with most operations involving simple arithmetic and table lookups. We also integrated safety features, such as SoC-based load shedding when the estimated capacity falls below a threshold, preventing over-discharge of the LiFePO4 battery—a common cause of failure in harsh environments.
Looking ahead, we envision several improvements to our method. First, integrating machine learning techniques could enhance the impedance model by learning from historical data, further reducing estimation errors. Second, expanding the algorithm to support multi-cell balancing in larger LiFePO4 battery packs would be beneficial for high-power mining applications. Finally, field trials in actual mining sites are necessary to validate performance under real-world stressors like vibration, dust, and electromagnetic interference.
In conclusion, we have developed and validated a multi-state adaptive SoC estimation method for small-capacity LiFePO4 batteries in mining scenarios. Our approach addresses the limitations of existing techniques by leveraging real-time state feedback, impedance normalization, and incremental capacity updates. Experimental results demonstrate superior accuracy with minimal cumulative error over multiple charge-discharge cycles. This work provides a reliable and practical solution for power management in mining equipment, ensuring the safe and efficient use of LiFePO4 batteries. Future efforts will focus on algorithm optimization and field deployment to enhance the robustness of LiFePO4 battery systems in critical industrial applications.
