Fault Detection and Diagnosis for Grid-Connected Inverters Based on a Sliding Mode Observer

In my research, I focus on improving the operational reliability of grid-connected inverters, which are critical components in renewable energy systems. Among the various types of solar inverters, two-level three-phase inverters are widely used due to their simplicity and cost-effectiveness. However, they are prone to two common types of faults: open-circuit faults in power devices (IGBTs or MOSFETs) and disconnection faults in current sensors. These faults can lead to distorted output currents, reduced power quality, and even system shutdown. In this paper, I propose a comprehensive fault detection, identification, and localization method that addresses both faults simultaneously using a sliding mode observer with a novel current space vector error reconstruction technique.

The key innovation lies in the use of the projection of the current space vector error as a corrective phase, allowing the sliding mode observer to accurately estimate phase currents even when one current sensor fails. This enables me to distinguish between power device open-circuit faults and current sensor disconnection faults—a distinction that is often challenging in conventional methods. I also employ coordinate axis transformation to locate the faulty current sensor and average current calculation to pinpoint the faulty switch. Experimental results on a hardware-in-the-loop platform validate the effectiveness of the proposed technique.

System Model and Problem Formulation

Consider a typical two-level three-phase grid-connected inverter as shown in the figure. The mathematical model in the three-phase stationary (abc) frame is given by:

$$
u_{aN} = L \frac{di_a}{dt} + R i_a + e_a
$$
$$
u_{bN} = L \frac{di_b}{dt} + R i_b + e_b
$$
$$
u_{cN} = L \frac{di_c}{dt} + R i_c + e_c
$$

where \(u_{xN}\) are the inverter output phase voltages, \(i_x\) are the grid currents, \(e_x\) are the grid voltages, \(R\) and \(L\) are the filter resistance and inductance. Applying the Clarke transformation to the αβ stationary frame yields:

$$
\frac{d}{dt} \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = -\frac{R}{L} \begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} – \frac{1}{L} \begin{bmatrix} e_\alpha \\ e_\beta \end{bmatrix} + \frac{1}{L} \begin{bmatrix} u_\alpha \\ u_\beta \end{bmatrix}
$$

This model serves as the basis for my observer design. The proposed method targets two common faults: (1) open-circuit faults in power switches (e.g., S1 or S4 in the a-phase leg), and (2) disconnection faults in current sensors (e.g., the b-phase current sensor). Understanding these fault signatures is essential for designing robust detection algorithms.

Preliminary Fault Detection Using Residual Averages

I first compute the averaged absolute residual between the sampled current and the reference current for each phase:

$$
e_x = \frac{1}{T} \int_{t-T}^{t} | i_x – i_x^* | \, dt, \quad x = a, b
$$

where \(i_x^*\) is the reference current derived from the control loop. Under normal operation, \(e_x\) is very small (close to zero). When a fault occurs—either a sensor disconnection or a switch open-circuit—the actual current deviates from the reference, causing \(e_x\) to exceed a predefined threshold \(k\). I define a fault detection flag:

$$
FlagA = \begin{cases}
1 & \text{if } e_x < k \\
0 & \text{if } e_x > k
\end{cases}
$$

When \(FlagA = 0\), the system is considered faulty. However, this scalar test cannot differentiate between the two fault types. Table 1 summarizes the thresholds used in my experiments.

Table 1: Parameters and Thresholds Used in the Proposed Method
Parameter Symbol Value
DC-link voltage \(U_{dc}\) 400 V
Filter inductance \(L\) 20 mH
Filter resistance \(R\) 0.01 Ω
Grid frequency \(f\) 50 Hz
Sampling frequency \(f_s\) 10 kHz
Threshold for detection \(k, \zeta\) 0.5
Threshold for localization \(m_1, m_2\) 0.3

Sliding Mode Observer Design for Fault Identification

To discriminate between the two fault types, I design a sliding mode observer that estimates the phase currents in the αβ frame. The observer dynamics are:

$$
\frac{d\hat{i}_\alpha}{dt} = -\frac{R}{L} \hat{i}_\alpha – \frac{1}{L} e_\alpha + \frac{1}{L} u_\alpha – \frac{1}{L} m \, \text{Sat}(\tilde{i}_\alpha)
$$
$$
\frac{d\hat{i}_\beta}{dt} = -\frac{R}{L} \hat{i}_\beta – \frac{1}{L} e_\beta + \frac{1}{L} u_\beta – \frac{1}{L} m \, \text{Sat}(\tilde{i}_\beta)
$$

where \(\tilde{i}_\alpha = i_\alpha – \hat{i}_\alpha\) and \(\tilde{i}_\beta = i_\beta – \hat{i}_\beta\) are the current estimation errors, \(m\) is the observer gain, and \(\text{Sat}(\cdot)\) is a saturation function to reduce chattering. The key challenge arises when, for example, the b-phase current sensor fails. In that case, the measured \(i_\beta\) is missing because \(i_\beta\) is derived from the two-phase measurements using the Clarke transformation. I solve this by reconstructing the missing β-axis current error using the current space vector error projection.

Define the current space vector errors:

$$
\tilde{i}_s = i_s – \hat{i}_s
$$

where \(i_s = i_\alpha + j i_\beta\) and \(\hat{i}_s = \hat{i}_\alpha + j \hat{i}_\beta\). The projection onto the β-axis is obtained via a heterodyne approach. As shown in the diagram (the reconstruction block), I use a PI regulator whose output \( \sigma = |\tilde{i}_s| – |\hat{\tilde{i}}_s| \) is driven to zero, and then the reconstructed \(\tilde{i}_\beta\) is used in the observer. A low-pass filter attenuates high-frequency ripple. This reconstruction ensures that even when one sensor is lost, the sliding mode observer can still produce accurate current estimates.

Using the estimated currents, I define a new residual \(k_x\) to distinguish fault types:

$$
k_x = \frac{1}{T} \int_{t-T}^{t} | \hat{i}_x – i_x^* | \, dt, \quad x = a, b
$$

The decision logic is:

  • If \(k_x < \zeta\): the fault is identified as a current sensor disconnection (because the observer output remains accurate while the sampled current is zero).
  • If \(k_x > \zeta\): the fault is identified as a power device open-circuit (because the actual inverter voltage changes, distorting both the measured and estimated currents).

Table 2 summarizes the identification results for different fault scenarios.

Table 2: Fault Identification Results Based on \(k_x\)
Fault Type \(k_x\) Value Identified as
B-phase current sensor disconnection ~0.05 (< 0.5) Current sensor fault
A-phase upper switch S1 open-circuit ~1.8 (> 0.5) Power device fault
A-phase lower switch S4 open-circuit ~1.9 (> 0.5) Power device fault

Fault Localization: Power Devices and Current Sensors

Localizing a Faulty Current Sensor

In my system, only two current sensors (phases a and b) are installed. To locate which sensor is faulty, I use a coordinate axis transformation method. The standard Clarke transformation with α-axis aligned to the a-axis gives:

$$
\begin{bmatrix} i_\alpha \\ i_\beta \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ \frac{1}{\sqrt{3}} & \frac{2}{\sqrt{3}} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \end{bmatrix}
$$

In this frame, \(i_\alpha\) depends only on \(i_a\). Therefore, if I compare the measured \(i_\alpha\) with the estimated \(\hat{i}_\alpha\) from the sliding mode observer, the residual will be large only when the a-phase sensor is faulty. To detect a b-phase sensor fault, I shift the α-axis to align with the b-axis:

$$
\begin{bmatrix} i_{\alpha’} \\ i_{\beta’} \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ -\frac{2}{\sqrt{3}} & -\frac{1}{\sqrt{3}} \end{bmatrix} \begin{bmatrix} i_a \\ i_b \end{bmatrix}
$$

Now \(i_{\alpha’}\) depends only on \(i_b\). I compute the residual for each coordinate system:

$$
G_x = \frac{1}{T} \int_{t-T}^{t} | i_x – \hat{i}_x | \, dt, \quad x = \alpha, \alpha’
$$

If \(G_\alpha > m_1\) and \(G_{\alpha’} < m_1\), then the a-phase sensor is faulty. Conversely, if \(G_{\alpha’} > m_1\) and \(G_\alpha < m_1\), then the b-phase sensor is faulty. The threshold \(m_1\) is set to 0.3 in my experiments.

Localizing a Faulty Power Device

For a power device open-circuit fault, the faulty phase current is missing for half a cycle. I calculate the average current of the faulted phase over one fundamental period:

$$
i_{sk,av} = \frac{1}{T} \int_{t-T}^{t} i_k \, dt
$$

where \(k = a, b, c\). The localization logic is:

  • If \(i_{sk,av} < -m_2\): the upper switch of phase \(k\) is faulty.
  • If \(i_{sk,av} > m_2\): the lower switch of phase \(k\) is faulty.

For example, when S1 (a-phase upper switch) fails, the positive half-cycle of \(i_a\) is missing, resulting in a negative average value (e.g., -1.5 A). When S4 (a-phase lower switch) fails, the negative half-cycle is missing, giving a positive average (e.g., +1.5 A). The threshold \(m_2\) is also set to 0.3.

Experimental Validation

I validated the proposed method using a StarSim hardware-in-the-loop (HIL) platform. The control algorithm was implemented on a rapid control prototyping (RCP) system, and the power circuit was simulated in real time on the HIL emulator. The parameters are listed in Table 1. I tested three fault scenarios: (1) b-phase current sensor disconnection, (2) a-phase upper switch S1 open-circuit, and (3) a-phase lower switch S4 open-circuit.


Grid-connected inverter experimental setup

Figure 2 in my original paper (not shown here) demonstrates that under normal operation, the estimated currents \(\hat{i}_\alpha\) and \(\hat{i}_\beta\) closely follow the measured currents. When the b-phase sensor fails, the measured \(i_b\) drops to zero, causing the preliminary residual \(e_x\) to exceed the threshold and set FlagA=0. However, the observer-estimated currents remain accurate because of the reconstruction mechanism; thus \(k_x\) for the b-phase remains small (0.05), correctly identifying a sensor fault. The coordinate transformation method then yields \(G_\alpha \approx 0.1\) and \(G_{\alpha’} \approx 4.7\), indicating that the b-phase sensor is faulty.

For the power device fault cases, when S1 becomes open-circuit, the a-phase current loses its positive half-cycle. The preliminary flag triggers, and \(k_a\) rises to 1.8 (>0.5), identifying a power device fault. The average current \(i_{a,av} = -1.4\) A (< -0.3) points to the upper switch. Similarly, for S4 failure, \(i_{a,av} = +1.3\) A (>0.3) indicates the lower switch. The experimental waveforms confirm that the proposed method can detect, identify, and localize both types of faults within one fundamental cycle (20 ms).

Discussion and Conclusion

The proposed sliding mode observer-based fault diagnosis method effectively addresses the challenge of distinguishing between current sensor disconnection faults and power device open-circuit faults in grid-connected inverters. By reconstructing the missing current error through current space vector projection, the observer remains robust under sensor failure. The coordinate transformation technique provides a simple yet efficient way to locate the faulty sensor without requiring additional hardware. The average current method accurately pinpoints the faulty switch. The experimental results confirm the validity of the approach for the two most common types of solar inverters used in distributed generation systems.

Future work will extend this method to multilevel inverters and other types of solar inverters, such as those with LCL filters or transformerless topologies. The technique can also be integrated into a fault-tolerant control scheme to maintain operation during sensor faults, thereby enhancing the overall reliability of photovoltaic systems.

Conclusion

I have presented a comprehensive fault detection and diagnosis framework for grid-connected inverters. The method uses a sliding mode observer with current space vector error reconstruction to achieve robust estimation under sensor faults. Preliminary detection is based on residual averages, identification is performed using the observer’s output, and localization is achieved via coordinate transformation and average current calculation. Experimental HIL results demonstrate that the scheme can correctly detect, identify, and localize both current sensor disconnection faults and power device open-circuit faults within one cycle. This work contributes to improving the reliability of various types of solar inverters in renewable energy applications.

Scroll to Top