In the context of the global transition toward renewable energy, the integration of distributed generation sources such as photovoltaic and wind power into the electrical grid has introduced significant challenges related to power fluctuations and grid stability. An energy storage battery system plays a pivotal role in smoothing these fluctuations, supporting frequency regulation, and enhancing the reliability of the power grid. Among various electrochemical storage technologies, the vanadium redox battery (VRB) stands out due to its long cycle life, scalable capacity, high safety, and environmental friendliness. To meet the power requirements of microgrids, multiple VRB storage units are typically connected in parallel to a common DC bus through bidirectional DC/DC converters. The control strategy for these parallel-connected units is crucial to ensure proper power sharing, voltage regulation, and overall system stability. This paper presents a comprehensive study of a DC parallel control strategy for VRB energy storage systems that explicitly considers the state of health (SOH) of each individual storage unit.
In this work, I first analyze the operating principle of the VRB and construct a dynamic model of a single energy storage cell using an equivalent circuit approach. The bidirectional Buck/Boost converter is modeled using both averaged state-space representation and small-signal linearization. Based on these models, I develop a dual closed-loop charge/discharge control strategy for a single VRB storage unit. I then propose a joint estimation algorithm for the state of charge (SOC) and SOH based on a double adaptive unscented Kalman filter (DAUKF) with noise adaptation. The estimated SOC and SOH are subsequently integrated into an improved droop control method that adjusts the droop coefficient according to both the remaining capacity and the health status of each energy storage battery. The proposed strategy is verified through simulation and validated on a hardware-in-the-loop (HIL) platform using a DSP TMS320F28335 processor.
The organization of this paper is as follows: Section 1 introduces the background and the importance of SOH-aware control for energy storage battery systems. Section 2 presents the modeling of the VRB and the bidirectional converter. Section 3 develops the joint SOC and SOH estimation algorithm. Section 4 analyzes the traditional droop control and introduces the SOH-based improved droop control strategy. Section 5 describes the hardware-in-the-loop simulation platform and validates the proposed method. Section 6 provides the conclusion and future outlook.
1. System Modeling of Vanadium Redox Flow Battery Energy Storage
The VRB is an electrochemical energy storage battery that stores electrical energy in two electrolyte tanks containing vanadium ions in different oxidation states. During charging or discharging, the electrolytes are circulated through a stack where redox reactions occur across an ion-exchange membrane. The key reactions are:
Positive electrode: \(\mathrm{VO_2^+ + 2H^+ + e^- \xrightleftharpoons[charging]{discharging} VO^{2+} + H_2O}\)
Negative electrode: \(\mathrm{V^{3+} + e^- \xrightleftharpoons[charging]{discharging} V^{2+}}\)
Overall reaction: \(\mathrm{VO_2^+ + V^{2+} + 2H^+ \xrightleftharpoons[charging]{discharging} VO^{2+} + V^{3+} + H_2O}\)
According to the Nernst equation, the equilibrium voltage of a single cell is given by:
\[
E = E_0 + \frac{RT}{nF}\ln\left(\frac{C_{\mathrm{VO_2^+}}C_{\mathrm{V^{2+}}}}{C_{\mathrm{VO^{2+}}}C_{\mathrm{V^{3+}}}}\right)
\]
where \(E_0\) is the standard cell potential (1.4 V), \(R\) is the universal gas constant (8.314 J/(K·mol)), \(T\) is the temperature (298 K), \(F\) is Faraday’s constant (96485 C/mol), and \(n\) is the number of electrons involved in the reaction. The SOC of the VRB can be expressed in terms of vanadium ion concentrations as:
\[
\mathrm{SOC} = \frac{C_{\mathrm{V^{2+}}}}{C_{\mathrm{V^{2+}}}+C_{\mathrm{V^{3+}}}} = \frac{C_{\mathrm{VO_2^+}}}{C_{\mathrm{VO_2^+}}+C_{\mathrm{VO^{2+}}}}
\]
The stack voltage is calculated by multiplying the single-cell voltage by the number of cells \(N\):
\[
V_s = N \left[ E_0 + \frac{RT}{nF}\ln\left(\frac{SOC}{1-SOC}\right) \right]
\]
I adopt the equivalent loss model for the VRB in this work, as shown in Figure 1. This model represents the internal losses through a reaction resistance \(R_{rea}\), an ohmic resistance \(R_{res}\), a shunt resistance \(R_f\), and a parallel capacitor \(C\) that captures the transient behavior. The pump loss current \(I_p\) is also considered.

The governing equations of the equivalent loss model are:
\[
U_d = U_c + (I_d – I_p)R_{res}
\]
\[
U_c = V_s + I_s R_{rea}
\]
\[
I_d = I_s + I_c + I_f + I_p
\]
\[
I_f = \frac{U_d}{R_f}, \quad I_c = C \frac{dU_c}{dt}
\]
The model parameters are functions of the stack power \(P_s\) and the number of cells \(N\):
\[
R_{rea} = \frac{0.09 P_s}{I_s^2}, \quad R_{res} = \frac{0.06 P_s}{I_s^2}, \quad R_f = \frac{0.02 P_s}{V_s^2}, \quad C = \frac{6 P_s}{N}
\]
Combining these equations with the SOC dynamics:
\[
\frac{d\mathrm{SOC}}{dt} = \frac{I_d}{C_N}
\]
I obtain the state-space model of the VRB in the continuous-time domain:
\[
\begin{bmatrix}
\dot{U_c} \\ \dot{SOC}
\end{bmatrix}
=
\begin{bmatrix}
-\frac{R_{rea}+R_{res}+R_f}{C R_f (R_{rea}+R_{res})} & 0 \\
0 & 0
\end{bmatrix}
\begin{bmatrix}
U_c \\ SOC
\end{bmatrix}
+
\begin{bmatrix}
\frac{1}{C (R_{rea}+R_{res})} \\ \frac{1}{C_N}
\end{bmatrix}
(I_d – I_p)
+
\begin{bmatrix}
\frac{N E_0}{C (R_{rea}+R_{res})} \\ 0
\end{bmatrix}
+
\begin{bmatrix}
\frac{N RT}{C n F (R_{rea}+R_{res})} \ln\left(\frac{SOC}{1-SOC}\right) \\ 0
\end{bmatrix}
\]
The output equation is:
\[
U_d = \frac{R_f}{R_f+R_{res}} U_c + \frac{R_f R_{res}}{R_f+R_{res}} (I_d – I_p)
\]
This model provides a basis for simulating the behavior of the energy storage battery and for designing the state estimation algorithm.
2. Bidirectional DC/DC Converter Modeling
The bidirectional Buck/Boost converter connects the VRB to the DC bus, enabling power flow in both directions. The topology consists of two switches, two diodes, an inductor, and capacitors. In this work, I use complementary switching signals and analyze four switching intervals within one switching cycle. By applying state-space averaging, the averaged model is obtained as:
\[
\frac{d}{dt}
\begin{bmatrix}
v_{c1} \\ v_{c2} \\ i_L
\end{bmatrix}
=
\begin{bmatrix}
-\frac{1}{C_1 R_1} & 0 & -\frac{1-d}{C_1} \\
0 & -\frac{1}{C_2 R_2} & \frac{d}{C_2} \\
\frac{1-d}{L} & -\frac{d}{L} & 0
\end{bmatrix}
\begin{bmatrix}
v_{c1} \\ v_{c2} \\ i_L
\end{bmatrix}
+
\begin{bmatrix}
0 \\ 0 \\ \frac{1}{L}
\end{bmatrix}
V_{in}
\]
where \(d\) is the duty cycle, \(V_{in}\) is the input voltage, \(v_{c1}\) and \(v_{c2}\) are the voltages across the capacitors on the low-voltage and high-voltage sides, respectively, and \(i_L\) is the inductor current. The steady-state operating point is found by setting the derivative to zero.
The small-signal model around the steady-state point is derived by adding small perturbations to the average quantities. For the Boost mode, the transfer function from duty cycle to inductor current is:
\[
G_{id}(s) = \frac{V_{in}}{(1-D)^2 R_2} \cdot \frac{1 + s C_2 R_2}{1 + s \frac{L}{(1-D)^2 R_2} + s^2 \frac{L C_2}{(1-D)^2}}
\]
The transfer function from duty cycle to the high-side voltage is:
\[
G_{vd}(s) = \frac{V_{in}(1 – s \frac{L}{(1-D)^2 R_2})}{D (1 + s \frac{L}{(1-D)^2 R_2} + s^2 \frac{L C_2}{(1-D)^2})}
\]
For the Buck mode, the transfer functions are given as:
\[
G_{id}(s) = \frac{V_{in}}{R_1} \cdot \frac{1 + s C_1 R_1}{1 + s \frac{L}{R_1} + s^2 L C_1}
\]
\[
G_{vd}(s) = – \frac{V_{in}}{1 + s C_1 R_1}
\]
These transfer functions are used to design the voltage and current controllers for the energy storage battery unit.
3. Dual Closed-Loop Charge/Discharge Control of the Energy Storage Battery Unit
Each energy storage battery unit consists of the VRB model and the bidirectional Buck/Boost converter. For charging, the converter operates in Buck mode, and I use a constant-current then constant-voltage (CC-CV) strategy. The outer voltage loop regulates the VRB terminal voltage, while the inner current loop controls the inductor current. The control block diagram is shown in Figure 2.
For discharging, the converter operates in Boost mode, and the control objective is to maintain a constant DC bus voltage while delivering the required power. The dual closed-loop control structure consists of an outer voltage loop and an inner current loop. I validated the control strategy in Matlab/Simulink. The simulation parameters for the VRB are listed in Table 1.
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| Power (kW) | 5 | Capacitance (F) | 0.154 |
| Energy (kWh) | 20 | Reaction resistance (Ω) | 0.04 |
| Rated current (A) | 105 | Shunt resistance (Ω) | 12.64 |
| Rated voltage (V) | 48 | Pump current (A) | 0.026 |
The simulation results show that the terminal voltage and stack voltage increase linearly during constant-current charging, while SOC increases from 0.1 to 0.9. During discharging, the terminal voltage, stack voltage, and SOC decrease linearly. The dual closed-loop control effectively prevents overcharging and discharging beyond the safe SOC window.
4. Joint Estimation of SOC and SOH for the Energy Storage Battery
Accurate knowledge of the SOC and SOH of each energy storage battery is essential for the parallel control strategy. The SOC indicates the remaining capacity, while the SOH reflects the health degradation of the battery. I consider the ohmic resistance \(R_{res}\) as the health indicator. The SOH is defined as:
\[
SOH = \frac{R_{ov} – R_{res}}{R_{ov} – R_{e}} \times 100\%
\]
where \(R_{ov}\) is the resistance at end-of-life, \(R_{res}\) is the current ohmic resistance, and \(R_e\) is the initial resistance. This definition implies that as the battery ages, the ohmic resistance increases and the SOH decreases.
I employ a dual adaptive unscented Kalman filter (DAUKF) to jointly estimate SOC and SOH on two different time scales. In the micro-scale, the AUKF estimates the SOC using the current ohmic resistance value. In the macro-scale, the AUKF estimates the ohmic resistance (and hence SOH) using the latest SOC. The noise covariance matrices are adaptively updated using the innovation sequence.
The discrete-time state-space model for SOC estimation is:
\[
x_k = \begin{bmatrix} U_{c,k} \\ SOC_k \end{bmatrix}, \quad u_k = I_{d,k} – I_p, \quad y_k = U_{d,k}
\]
The state transition function is derived from the continuous-time model using a first-order Euler approximation:
\[
U_{c,k+1} = e^{-\lambda T} U_{c,k} + (1-e^{-\lambda T}) V_s(SOC_k) + \frac{(1-e^{-\lambda T})}{R_{rea}+R_{res}} (I_{d,k} – I_p)
\]
\[
SOC_{k+1} = SOC_k + \frac{\eta T}{C_N} I_{d,k}
\]
where \(\lambda = \frac{1}{C(R_{rea}+R_{res})}\) and \(\eta\) is the coulombic efficiency. The measurement equation is:
\[
U_{d,k+1} = \frac{R_f}{R_f+R_{res}} U_{c,k+1} + \frac{R_f R_{res}}{R_f+R_{res}} (I_{d,k+1} – I_p)
\]
For the SOH estimation, the state variable is the ohmic resistance \(R_{res}\), with the state transition being a random walk:
\[
R_{res,k+1} = R_{res,k} + r_k
\]
where \(r_k\) is the process noise. The measurement model is the same output equation.
The AUKF algorithm proceeds as follows:
- Initialize the state vector \(\hat{x}_0\), covariance \(P_0\), process noise \(Q_0\), and measurement noise \(R_0\).
- Compute sigma points and their weights using unscented transform.
- Propagate sigma points through the state transition function to obtain predicted states and covariance.
- Compute predicted measurements and their covariance.
- Update the Kalman gain.
- Adaptively update \(Q\) and \(R\) based on the innovation sequence.
- Update the state estimate and covariance.
The adaptive update equations are:
\[
Q_k = K_k H_k K_k^T
\]
\[
R_k = H_k + \sum_{i=1}^{N} \omega_i^{(c)} [y_k – \hat{y}_k^-][y_k – \hat{y}_k^-]^T
\]
where \(H_k\) is the approximated innovation covariance computed over a moving window of size \(M\). This step improves the accuracy of the estimation when the noise statistics are time-varying.
The joint estimation framework is illustrated in Figure 3. The micro-scale procedure runs at every sampling instant, while the macro-scale procedure runs every 60 samples to update the ohmic resistance. The updated resistance is then fed back into the SOC estimator, creating a closed-loop interaction between SOC and SOH estimates.
I performed simulations using a 5 kW/30 kWh VRB with parameters listed in Table 2.
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| Rated voltage (V) | 48 | Rated power (kW) | 5 |
| Rated current (A) | 105 | Rated energy (kWh) | 30 |
| Charging limit voltage (V) | 54 | Discharging limit voltage (V) | 42 |
| Rated duration (h) | 6 | Rated capacity (Ah) | 630 |
I first performed parameter identification using the forgetting factor recursive least squares (FFRLS) algorithm. The identified parameters are used in the DAUKF. Figure 4 shows the identified reaction resistance \(R_{rea}\) converging to approximately 0.172 Ω, the ohmic resistance \(R_{res}\) converging to 0.052 Ω, and the shunt resistance \(R_f\) converging to 10.89 Ω. These values are consistent with the VRB model.
Then, I compared the proposed DAUKF with the standard UKF and a FFRLS-EKF method for SOC estimation. The discharge experiment results are shown in Figure 5 and Figure 6. The DAUKF achieves a maximum SOC estimation error of less than 1%, while the UKF error reaches up to 3%. The FFRLS-EKF initially has an error of 5.7%, which later settles to less than 2%. The improved accuracy of DAUKF is due to the adaptive noise update and the joint estimation of the ohmic resistance.
In the charging experiment, the DAUKF maintains a maximum error of 2.06% with a mean absolute error of 0.92%, while the UKF and FFRLS-EKF show larger errors. Figure 7 and Figure 8 depict the ohmic resistance estimation and the corresponding SOH errors. The proposed DAUKF estimates the SOH with an error below 0.02%, demonstrating its effectiveness for online health monitoring of the energy storage battery.
5. Improved Droop Control Strategy Considering SOH
In a parallel energy storage system, each VRB unit has its own SOC and SOH values. Traditional droop control uses a fixed droop coefficient, which cannot adapt to the varying health conditions of the batteries. In this section, I first analyze the limitations of the conventional droop control, then propose an improved droop control method that adjusts the droop coefficient based on both SOC and SOH.
The conventional droop control is expressed as:
\[
U_{o} = U_{ref} – K i_o
\]
where \(U_o\) is the output voltage of the converter, \(U_{ref}\) is the reference DC bus voltage, \(i_o\) is the output current, and \(K\) is the fixed droop coefficient. For two parallel units, the current sharing ratio is:
\[
\frac{i_{o1}}{i_{o2}} = \frac{R_{k2}+R_{line2}}{R_{k1}+R_{line1}}
\]
If the line resistances \(R_{line1}\) and \(R_{line2}\) are different, the current sharing is not proportional and may lead to circulating currents. Moreover, the droop coefficient causes a voltage drop across the virtual resistance, degrading the bus voltage regulation.
To address these issues, I propose an SOH-aware adaptive droop control method. The modified droop coefficient is:
\[
K_{droop} = \frac{k_0}{SOH \times (1 + \Delta SOC)^n}
\]
where \(k_0\) is the base droop coefficient, \(n\) is an exponent that controls the balancing speed, and \(\Delta SOC = SOC_i – SOC_{av}\) is the difference between the local SOC and the average SOC of the parallel system. The control law becomes:
\[
U_o^* = U_{ref} – K_{droop} i_o + \Delta U
\]
where \(\Delta U\) is a secondary voltage compensation term that restores the bus voltage to the reference value. The compensation is achieved by feeding the deviation between the actual bus voltage \(U_{load}\) and the reference \(U_{ref}\) through a compensator \(G_v\).
The overall control system structure for each VRB unit is shown in Figure 9. The measured output voltage and current are used to compute the droop coefficient based on the estimated SOC and SOH. The voltage and current controllers then generate the duty cycle for the bidirectional converter.
For stability analysis, I derived the closed-loop transfer function of the system. The characteristic equation is:
\[
A s^5 + B s^4 + C s^3 + D s^2 + E s + F = 0
\]
The coefficients \(A\) through \(F\) are functions of the converter parameters, controller gains, droop coefficient \(K_{droop}\), and line impedance. The parameters are listed in Table 3.
| K1 | I1 | K2 | I2 | K3 | I3 | R_line | D | R0 | L |
|---|---|---|---|---|---|---|---|---|---|
| 0.001 | 0.857 | 0.4 | 0.0134 | 1 | 0.35 | 1 Ω | 0.7653 | 11 Ω | 2 mH |
The Bode plot of the open-loop transfer function shows a gain margin of 71.9 dB and a phase margin of 66.9°, indicating good stability. The root locus analysis reveals that the system remains stable as long as \(K_{droop} < 9.65\). Beyond this value, the poles enter the right half-plane, leading to instability. In practice, the adaptive droop coefficient must be designed to remain within this range.
6. Simulation Results of the Parallel Energy Storage System
I built a simulation model of a DC microgrid with three parallel VRB energy storage battery units in Matlab/Simulink. Each unit consists of a VRB, a bidirectional Buck/Boost converter, and the corresponding controllers. The system supplies a resistive load of 12 kW. The simulation parameters are given in Table 4.
| Parameter | Value | Parameter | Value |
|---|---|---|---|
| SOC1 initial | 0.9 | Converter power (kW) | 6 |
| SOC2 initial | 0.8 | Switching frequency (kHz) | 10 |
| SOC3 initial | 0.7 | Capacitors C1, C2 (μF) | 3900 |
| VRB power (kW) | 6 | Inductor L (mH) | 2 |
| Line resistance 1 (Ω) | 1 | Bus voltage reference (V) | 200 |
| Line resistance 2 (Ω) | 1 | Load resistance (Ω) | 10/3 |
| Line resistance 3 (Ω) | 1 | Load power (kW) | 12 |
I considered four cases to evaluate the proposed control strategy:
- Case 1: Conventional droop control with all SOH equal to 100%.
- Case 2: Conventional droop control with SOH1=100%, SOH2=95%, SOH3=90%.
- Case 3: Proposed improved droop control with SOH1=100%, SOH2=95%, SOH3=90%, n=5.
- Case 4: Proposed improved droop control with SOH1=100%, SOH2=90%, SOH3=80%, n=5.
In Case 1, the output currents of the three units are nearly equal, with current differences of approximately 1.8 A due to the line impedance mismatch. The bus voltage drops by about 33 V from the reference value. The SOC curves of the three units diverge slowly because the output powers are equal.
In Case 2, the conventional droop control does not account for the SOH differences. The output currents remain approximately equal, but the SOH of the weaker units continues to degrade faster because they are forced to deliver the same power as the healthier units. The SOC difference between the strongest and weakest unit increases to 0.131 after 15 seconds, confirming that the conventional strategy aggravates the SOH mismatch.
In Case 3, with the proposed SOH-aware droop control, the system dynamically adjusts the output power of each energy storage battery according to its SOH and SOC. The unit with the highest SOH (100%) supplies a larger current, while the unit with the lowest SOH (90%) supplies a smaller current. The bus voltage is tightly regulated to 200 V thanks to the secondary compensation. The SOC curves converge after approximately 18 seconds, and the SOH differences are effectively reduced.
In Case 4, the SOH differences are larger. The proposed controller still manages to balance the SOC, and the balancing time is even shorter (about 15 seconds) because the droop coefficient variation is more pronounced when the SOH differences are larger. The output power distribution clearly favors the healthier units, thus preventing the weaker units from being over-stressed.
I also investigated the influence of the exponent \(n\) on the balancing speed. With \(n=6\), the settling time for SOC is about 16 seconds, while with \(n=7\), it reduces to 13.6 seconds. A larger \(n\) increases the sensitivity of the droop coefficient to SOC differences, thereby accelerating the power redistribution. However, too large an \(n\) may cause excessive current transients and reduce the stability margin.
In all simulated conditions, the proposed strategy maintains the bus voltage within ±1 V of the reference, while the conventional droop control results in a voltage drop of more than 30 V. This demonstrates the effectiveness of the voltage secondary compensation loop.
7. Hardware-in-the-Loop Validation
To further validate the practical applicability of the proposed control strategy, I built a hardware-in-the-loop (HIL) simulation platform consisting of two TMS320F28335 DSP boards and a Matlab/Simulink host computer. The host runs the VRB energy storage system model (two parallel VRB units), while the DSP boards implement the improved droop control algorithm in real-time. Communication between the host and the DSPs is achieved through serial ports (SCI) using the USB-to-RS485 interface.
The architecture of the HIL platform is shown in Figure 10. The host model samples the output currents, voltages, inductor currents, bus voltage, and the estimated SOC/SOH of each energy storage battery. These values are sent to the DSPs, which compute the duty cycles and transmit them back to the host to control the switches of the bidirectional converters.
Two experimental conditions were considered:
- Condition 1: SOH1=100%, SOH2=100%.
- Condition 2: SOH1=100%, SOH2=90%.
Both battery units start with the same SOC (0.8). The load is a 12 kW resistive load. The measured output voltages and power from the HIL experiments are shown in Figure 11 and Figure 12. In Condition 1, both units share the load equally, with output powers of approximately 6 kW each. The bus voltage remains stable at the reference value.
In Condition 2, the improved droop control makes the healthier unit (SOH=100%) deliver more power (about 6.1 kW), while the weaker unit (SOH=90%) delivers about 5.9 kW. This 200 W difference demonstrates that the control strategy correctly prioritizes the healthier energy storage battery, reducing its rate of aging and mitigating further SOH divergence. The bus voltage stays at 200 V, confirming the effectiveness of the secondary compensation loop.
The HIL results agree well with the simulation results, thus verifying the practical implementation feasibility of the proposed SOH-aware parallel control strategy for VRB energy storage systems.
8. Conclusion
This paper presented a comprehensive study of a DC parallel control strategy for vanadium redox flow battery energy storage systems that explicitly considers the state of health of each storage unit. I developed dynamic models for the VRB and the bidirectional Buck/Boost converter, and implemented a dual closed-loop charge/discharge controller for a single energy storage battery unit. A dual adaptive unscented Kalman filter was proposed to jointly estimate the SOC and SOH on different time scales, with the ohmic resistance as the health indicator. The estimated SOC and SOH were then integrated into an improved droop control strategy that adjusts the droop coefficient adaptively. The secondary voltage compensation loop effectively restores the bus voltage to the reference despite the presence of droop actions. Simulation results in a three-unit parallel system demonstrated that the proposed method achieves accurate power sharing, reduces the SOH divergence among units, and maintains the bus voltage within a tight tolerance. Hardware-in-the-loop experiments with two DSP controllers further confirmed the practical viability of the proposed approach. The proposed strategy contributes to the long-term reliable operation and extended lifetime of energy storage battery systems in DC microgrids. Future work will focus on multi-objective optimization of the droop parameters and on extending the method to hybrid storage systems with different battery chemistries.
