In modern power systems, large-scale energy storage systems (ESS) are essential for balancing renewable energy fluctuations and providing grid support. Among various topologies, the modular multilevel converter (MMC) based high-voltage direct-connected battery energy storage system (BESS) eliminates the need for bulky transformers and enables direct connection to medium/high-voltage grids, offering high efficiency and scalability. However, as the capacity of such systems increases to hundreds of megawatts, the reliability of the entire system becomes a critical concern. Unlike conventional power electronic converters, a BESS integrates a large number of battery clusters and battery management systems (BMS), which introduce a higher probability of faults and alarms. According to operational data from a real high-voltage BESS station, battery-related and BMS-related faults account for over 97% of all reliability events, while power semiconductor faults are relatively rare. Therefore, developing effective fault-tolerant control strategies that can handle battery cluster failures without interrupting the main charging/discharging operation is of great importance.
This paper presents a comprehensive fault-tolerant control scheme for a modular multilevel high-voltage direct-connected BESS. The contributions include: (1) a classification of fault types based on field statistics; (2) a novel battery cluster fault isolation strategy that preserves the voltage output capability of the faulty submodule (SM) by disconnecting only the DC side while keeping the H-bridge power stage active for reactive power support; (3) a system-level fault-tolerant control that coordinates healthy and faulty SMs under various fault severities through circulating current injection to maintain unity power factor at the grid interface; (4) three distinct operating modes depending on the number and distribution of faulty modules across upper and lower arms. The effectiveness is validated through simulation studies of a 10 kV/10 MW/10 MWh system.

The remainder of the paper is organized as follows: Section 1 introduces the MMC topology and its basic control. Section 2 analyzes the reliability influencing factors and presents a fault classification table. Section 3 details the proposed battery cluster fault isolation method. Section 4 describes the fault-tolerant control strategy and the three operating modes with rigorous mathematical derivations. Section 5 presents simulation results to validate the approach, followed by conclusions.
1. System Topology and Operation Principles
The studied BESS employs a dual-star MMC topology consisting of six arms, each arm containing N identical power modules connected in series with an arm inductor. Each module comprises a full-bridge (H-bridge) converter and a battery cluster. The relationship between the arm voltages and phase output voltages is governed by Kirchhoff’s voltage law. Let $$u_{sk}$$ be the output voltage of phase k (k = a, b, c), $$u_{pkj}$$ and $$u_{nkj}$$ be the output voltages of the j-th module in the upper and lower arms, respectively. The total upper and lower arm voltages are $$u_{pk}$$ and $$u_{nk}$$. The arm currents are $$i_{pk}$$ and $$i_{nk}$$.
$$ u_{sk} = -\frac{u_{nk} – u_{pk}}{2}, \quad u_{comk} = \frac{u_{nk} + u_{pk}}{2} $$
Where $$u_{comk}$$ is the common-mode voltage. The grid current $$i_{sk}$$ and the circulating current $$i_{diff\_k}$$ are defined as:
$$ i_{sk} = i_{pk} – i_{nk}, \quad i_{diff\_k} = \frac{i_{pk} + i_{nk}}{2} $$
The dynamic equations are:
$$ u_{comk} = -L_0 \frac{di_{diff\_k}}{dt}, \quad u_{sk} = L_s \frac{di_{sk}}{dt} + u_{eqk} $$
where $$L_0$$ and $$L_s$$ are arm and grid inductances, and $$u_{eqk}$$ is the equivalent output voltage. By controlling $$u_{comk}$$ and $$u_{eqk}$$, the circulating current and output current can be regulated independently.
2. Reliability Factors and Fault Classification
Based on operational data from a practical high-voltage BESS station, the faults and alarms are categorized into three main sources: battery system, BMS, and power unit. Table I presents the statistical probability distribution.
| Fault Source | Fault Category | Examples of Fault Information | Probability |
|---|---|---|---|
| Battery System | Cell-level | Over-voltage, under-voltage, over-temperature, SOC imbalance | 90% |
| Cluster-level | Total voltage over/under, current over-limit, insulation low | ||
| System-level | Inter-cluster voltage/current/capacity difference | ||
| BMS | Communication & sensor | Line disconnection, sensor fault, bus mismatch, unstable communication | 7% |
| Power Unit | Semiconductor & capacitor | Open/short circuit of IGBT, capacitor leakage or breakdown | 2.5% |
It is evident that battery and BMS faults dominate the reliability events. Traditional fault-tolerant methods either bypass the faulty SM (short-circuiting the AC side) using a bypass switch, or rely on redundant SMs. Both approaches have drawbacks: bypassing reduces the available voltage modulation margin, potentially causing over-modulation; redundancy increases cost and reduces efficiency. Therefore, a new strategy that retains the voltage output capability of the faulty SM while isolating the battery cluster is highly desirable.
3. Proposed Battery Cluster Fault Isolation Strategy
When a battery cluster or BMS detects a fault or pre-alarm, we propose to isolate the faulty cluster at its DC terminals using the existing disconnect switches within the BMS high-voltage box. This requires no additional hardware. After DC disconnection, the H-bridge of the faulty SM continues to operate in a reactive power mode, providing voltage support without injecting active power. The isolation process consists of three stages as shown in the timing logic:
- Stage 1 (t0 – t1): Before isolation, the SM operates in normal charging/discharging mode. The battery current has a DC offset and a double-frequency component.
- Stage 2 (t1 – t2): Upon receipt of fault alarm at t1, the modulation voltage of the faulty SM is adjusted to be orthogonal to the arm current, so that the instantaneous battery current is forced to zero. This creates a zero-crossing condition for the battery current.
- Stage 3 (t2 – t3): When the battery current drops to zero at t2, the DC circuit breaker is opened, physically disconnecting the battery cluster. The H-bridge then continues to generate reactive voltage to support the AC side.
Mathematically, let the arm current be $$i_{arm}$$ and the SM output voltage be $$v_{SM}$$. To make the active power zero, the reference voltage is set to:
$$ v_{SM}^* = V_{Q} \sin(\omega t + \phi_i + 90^\circ) $$
where $$V_Q$$ is the reactive voltage amplitude, $$\phi_i$$ is the phase angle of the arm current. By maintaining this orthogonal relationship, the DC component of the battery current becomes zero, enabling safe disconnection.
4. System Fault-Tolerant Control After Battery Cluster Isolation
4.1 Basic Principle
After fault isolation, the system consists of healthy SMs (which can still exchange active power with the grid) and faulty SMs (which generate only reactive voltage). The total number of healthy SMs in the upper arm is denoted as $$N_{nom\_p}$$ and in the lower arm as $$N_{nom\_n}$$. The faulty SM count in each arm is $$N_{fal\_p}$$ and $$N_{fal\_n}$$, with $$N_{nom\_p} + N_{fal\_p} = N$$ for each arm. To maintain operation while avoiding over-modulation and over-current, we adjust the active power reference:
$$ P_{set} = \min\left( P^*, \frac{N_{nom\_p} + N_{nom\_n}}{2N} P_{nom} \right) $$
where $$P_{nom}$$ is the rated active power and $$P^*$$ is the pre-fault power command. The active power is then distributed between upper and lower arms proportionally to their healthy module counts:
$$ P_{set\_k\_p} = \frac{N_{nom\_p}}{N_{nom\_p}+N_{nom\_n}} P_{set}, \quad P_{set\_k\_n} = \frac{N_{nom\_n}}{N_{nom\_p}+N_{nom\_n}} P_{set} $$
The faulty SMs in each arm can provide a maximum reactive voltage:
$$ V_{Q\_p/n\_\max} = N_{fal\_p/n} \cdot V_{bat} $$
where $$V_{bat}$$ is the nominal battery voltage per module. To avoid over-modulation of healthy SMs, the reactive voltage must satisfy:
$$ V_{Q\_p/n} > \sqrt{V_{sk}^2 – (N_{nom\_p/n} V_{bat})^2} $$
Depending on the relative values of $$N_{nom\_p}$$ and $$N_{nom\_n}$$, three operating modes are identified.
4.2 Mode I: Small Number of Faulty Modules (Mild Imbalance)
In Mode I, the number of faulty modules is small, and the healthy modules can supply the required active voltage without exceeding the modulation limit. The arm with more faulty modules (say the lower arm) uses all its faulty SMs to output the maximum possible reactive voltage. The lower arm active voltage is then:
$$ V_{nk\_P} = \sqrt{V_{sk}^2 – V_{nk\_Q}^2}, \quad V_{nk\_Q} = \frac{N_{nom\_n} – N_{fal\_n}}{2} V_{bat} $$
The lower arm current amplitude is derived from the active power:
$$ I_{nk} = \frac{P_{set\_k\_n}}{V_{nk\_P}} $$
The phase angle of the lower arm current equals that of its active voltage: $$\varphi_{nk} = \arcsin(V_{nk\_Q}/V_{sk})$$. The upper arm current is then calculated using vector subtraction:
$$ I_{pk} = \sqrt{I_{nk}^2 + I_{sk}^2 – 2 I_{nk} I_{sk} \cos(\varphi_{nk})}, \quad \varphi_{pk} = \arcsin\left( \frac{I_{nk} \sin\varphi_{nk}}{I_{pk}} \right) $$
The upper arm reactive voltage is then set to be perpendicular to its current, leading to:
$$ V_{pk\_Q} = V_{sk} \sin\varphi_{pk}, \quad V_{pk\_P} = V_{sk} \cos\varphi_{pk} $$
The circulating current reference for Mode I is:
$$ i_{diff\_k\_d} = I_{pk} \cos\varphi_{pk} + I_{nk} \cos\varphi_{nk}, \quad i_{diff\_k\_q} = I_{pk} \sin\varphi_{pk} + I_{nk} \sin\varphi_{nk} $$
Table II summarizes the key quantities for Mode I.
| Quantity | Expression |
|---|---|
| Lower arm active voltage | $$V_{nk\_P} = \sqrt{V_{sk}^2 – \left( \frac{N_{nom\_n} – N_{fal\_n}}{2} V_{bat} \right)^2}$$ |
| Lower arm current | $$I_{nk} = P_{set\_k\_n} / V_{nk\_P}$$ |
| Upper arm current | $$I_{pk} = \sqrt{I_{nk}^2 + I_{sk}^2 – 2 I_{nk} I_{sk} \cos\varphi_{nk}}$$ |
| Upper arm reactive voltage | $$V_{pk\_Q} = V_{sk} \sin\varphi_{pk}$$ |
4.3 Mode II: More Faults with Balanced Distribution
When the number of faulty modules increases, the arm current in the less faulty arm may exceed the rated value under Mode I. To prevent over-current, we set the arm current of the less faulty arm (e.g., upper arm) to its rated value $$I_{nom}$$. The upper arm active voltage is then:
$$ V_{pk\_P} = \frac{P_{set\_k\_p}}{I_{nom}}, \quad V_{pk\_Q} = \sqrt{V_{sk}^2 – V_{pk\_P}^2} $$
The upper arm power factor angle is $$\varphi_{pk} = \arcsin(V_{pk\_Q}/V_{sk})$$. The lower arm current is obtained from vector addition:
$$ I_{nk} = \sqrt{I_{pk}^2 + I_{sk}^2 – 2 I_{pk} I_{sk} \cos(\varphi_{pk})}, \quad \varphi_{nk} = \arcsin\left( \frac{I_{pk} \sin\varphi_{pk}}{I_{nk}} \right) $$
The lower arm reactive voltage is then:
$$ V_{nk\_Q} = V_{sk} \sin\varphi_{nk}, \quad V_{nk\_P} = V_{sk} \cos\varphi_{nk} $$
The circulating current reference for Mode II is given by the same form as Mode I but with updated angles and magnitudes. Table III lists Mode II parameters.
| Quantity | Expression |
|---|---|
| Upper arm active voltage | $$V_{pk\_P} = P_{set\_k\_p} / I_{nom}$$ |
| Upper arm reactive voltage | $$V_{pk\_Q} = \sqrt{V_{sk}^2 – V_{pk\_P}^2}$$ |
| Lower arm current | $$I_{nk} = \sqrt{I_{pk}^2 + I_{sk}^2 – 2 I_{pk} I_{sk} \cos\varphi_{pk}}$$ |
| Lower arm reactive voltage | $$V_{nk\_Q} = V_{sk} \sin\varphi_{nk}$$ |
4.4 Mode III: Extreme Imbalance (Large Number of Faults in One Arm)
When the arm with few healthy modules cannot supply the required active voltage even at reduced power, the system must lower the power setpoint further. In this mode, we first set the active voltage of the severely faulted arm (e.g., lower arm) to its maximum possible value:
$$ V_{nk\_P} = \frac{N_{nom\_n} V_{bat}}{2} $$
The reactive voltage of that arm is then:
$$ V_{nk\_Q} = \sqrt{V_{sk}^2 – V_{nk\_P}^2}, \quad \varphi_{nk} = \arcsin(V_{nk\_Q}/V_{sk}) $$
The arm current of the less faulted arm (upper arm) is limited to its rated value $$I_{nom}$$, and its power factor angle is determined by the requirement that the net reactive power of the whole phase is zero. Solving the vector relations yields:
$$ I_{pk} = I_{nom}, \quad \varphi_{pk} = \arcsin\left( \frac{I_{nk} \sin\varphi_{nk}}{I_{pk}} \right) $$
where $$I_{nk} = P_{set\_k\_n} / V_{nk\_P}$$ with the reduced power setpoint. Table IV captures Mode III.
| Quantity | Expression |
|---|---|
| Lower arm active voltage (max) | $$V_{nk\_P} = N_{nom\_n} V_{bat}/2$$ |
| Lower arm reactive voltage | $$V_{nk\_Q} = \sqrt{V_{sk}^2 – V_{nk\_P}^2}$$ |
| Upper arm current | $$I_{pk} = I_{nom}$$ |
| Upper arm power factor angle | $$\varphi_{pk} = \arcsin( I_{nk} \sin\varphi_{nk} / I_{pk} )$$ |
4.5 Circulating Current Control and Capacitor Voltage Balancing
To realize the desired arm currents and ensure unity power factor at the grid side, we inject controlled circulating currents. The dq-axis circulating current references are derived from the arm current vector sum:
$$ i_{diff\_k\_d}^* = I_{pk}\cos\varphi_{pk} + I_{nk}\cos\varphi_{nk}, \quad i_{diff\_k\_q}^* = I_{pk}\sin\varphi_{pk} + I_{nk}\sin\varphi_{nk} $$
These references are tracked by a PI-based circulating current controller that outputs the common-mode voltage $$v_{comk}^*$$. The total upper and lower arm modulation voltages are then generated by combining the output voltage command (from outer power control) and the common-mode voltage. For each faulty SM, the reactive voltage reference is further adjusted to regulate its DC-link capacitor voltage (since the battery is disconnected, the capacitor voltage is no longer clamped). The average capacitor voltage of faulty SMs in phase k, denoted $$V_{Ck\_avg}$$, is controlled to a reference $$V_{C\_ref}$$ via:
$$ v_{kQ}^* = V_{kQ\_base} + K_2 (V_{C\_ref} – V_{Ck\_avg}) \cdot \cos(\omega t + \phi_i) $$
Additionally, to balance voltages among individual faulty SMs within an arm, a proportional adjustment based on the deviation of each module’s capacitor voltage
