Optimal Passive Fractional-Order PID Control for Solar Inverters

In this article, I present a comprehensive study on the design and implementation of an optimal passive fractional-order proportional-integral-derivative (PFoPID) controller for grid-connected solar inverters. The primary goal is to achieve maximum power point tracking (MPPT) under varying atmospheric conditions, such as changes in solar irradiation and temperature, as well as during grid disturbances like voltage sags. The proposed control strategy combines passivity-based control (PBC) theory with fractional-order calculus, enhanced by a novel grouped grey wolf optimizer (GGWO) for parameter tuning. This approach ensures robust and efficient operation of solar inverters, which are critical components in photovoltaic (PV) systems for converting solar energy into usable electrical power.

The increasing demand for renewable energy sources has propelled solar power to the forefront of sustainable energy solutions. Solar inverters play a pivotal role in these systems by converting DC power from PV arrays into AC power for grid integration. However, the nonlinear nature of PV systems and fluctuating environmental conditions pose significant challenges for maintaining optimal performance. Traditional control methods, such as PID control, often fall short due to their linear design and sensitivity to operating points. Therefore, I explore advanced nonlinear control techniques to enhance the dynamic response and stability of solar inverters.

My work begins with the mathematical modeling of a grid-connected solar inverter system. The PV array is represented by a detailed circuit model that accounts for factors like solar irradiation and temperature. The output current-voltage relationship is given by:

$$I_{pv} = N_p I_{ph} – N_p I_s \left( \exp\left[ \frac{q}{A k T_c} \left( \frac{V_{dc}}{N_s} + \frac{R_s I_{pv}}{N_p} \right) \right] – 1 \right)$$

where \(I_{ph}\) is the photocurrent, \(I_s\) is the saturation current, \(q\) is the electron charge, \(A\) is the diode ideality factor, \(k\) is Boltzmann’s constant, \(T_c\) is the temperature, \(V_{dc}\) is the DC-link voltage, \(I_{pv}\) is the PV output current, \(R_s\) is the series resistance, and \(N_s\) and \(N_p\) are the numbers of series and parallel cells, respectively. The photocurrent \(I_{ph}\) and saturation current \(I_s\) are further defined as:

$$I_{ph} = (I_{sc} + k_i (T_c – T_{ref})) \frac{s}{1000}$$

$$I_s = I_{RS} \left[ \frac{T_c}{T_{ref}} \right]^3 \exp\left[ \frac{q E_g}{A k} \left( \frac{1}{T_{ref}} – \frac{1}{T_c} \right) \right]$$

Here, \(I_{sc}\) is the short-circuit current, \(k_i\) is the temperature coefficient, \(T_{ref}\) is the reference temperature, \(s\) is the solar irradiation, \(I_{RS}\) is the reverse saturation current, and \(E_g\) is the bandgap energy. The solar inverter is modeled in the dq-reference frame to simplify control design. The grid-side equations are:

$$\begin{aligned}
v_d &= e_d + R i_d + L \frac{di_d}{dt} + \omega L i_q, \\
v_q &= e_q + R i_q + L \frac{di_q}{dt} – \omega L i_d,
\end{aligned}$$

where \(v_d\) and \(v_q\) are the inverter output voltages, \(e_d\) and \(e_q\) are the grid voltages, \(i_d\) and \(i_q\) are the grid currents, \(R\) and \(L\) are the grid resistance and inductance, and \(\omega\) is the grid frequency. The DC-link dynamics are derived from power balance considerations:

$$C \frac{dV_{dc}}{dt} = I_{pv} – I_{dc} = I_{pv} – \frac{e_d i_d + e_q i_q}{V_{dc}},$$

with \(C\) as the DC-link capacitance. For MPPT, I employ the perturb and observe (P&O) technique, which adjusts the DC-link voltage reference \(V_{dc}^*\) based on power measurements. The q-axis current reference \(i_q^*\) is set according to the desired power factor, often zero for unity power factor.

The core of my approach lies in the PFoPID control design. I define the system state as \(\mathbf{x} = (i_d, i_q, V_{dc})^T\), the output as \(\mathbf{y} = (i_q, V_{dc})^T\), and the input as \(\mathbf{u} = (v_d, v_q)^T\). By constructing a storage function based on tracking errors, I analyze the energy dissipation properties of the solar inverter. The storage function is:

$$H(i_q, V_{dc}, I_{dc}) = \frac{1}{2} (i_q – i_q^*)^2 + \frac{1}{2} (V_{dc} – V_{dc}^*)^2 + \frac{1}{2} \left( \frac{I_{dc}}{C} – \dot{V}_{dc}^* \right)^2,$$

which represents the energy associated with AC series resistance losses, DC parallel resistance losses, and DC series resistance losses. Taking the derivative of \(H\) yields:

$$\dot{H} = (i_q – i_q^*) \left( -\frac{R}{L} i_q + \omega i_d – \frac{e_q}{L} + \frac{1}{L} u_2 – \dot{i}_q^* \right) + \left( \frac{I_{dc}}{C} – \dot{V}_{dc}^* \right) \left[ V_{dc} – V_{dc}^* + \frac{\dot{I}_{pv}}{C} – \frac{e_d \left( -\frac{R}{L} i_d – \omega i_q – \frac{e_d}{L} \right) + e_q \left( -\frac{R}{L} i_q + \omega i_d – \frac{e_q}{L} \right)}{C V_{dc}} – \frac{(e_d i_d + e_q i_q)}{C^2 V_{dc}^2} I_{pv} + \frac{(e_d i_d + e_q i_q)^2}{C^2 V_{dc}^3} – \frac{e_d}{L C V_{dc}} u_1 – \frac{e_q}{L C V_{dc}} u_2 + \ddot{V}_{dc}^* \right].$$

To achieve passivity, I design the PFoPID controller as:

$$\begin{aligned}
u_1 &= -\frac{L C V_{dc}}{e_d} \left[ \ddot{V}_{dc}^* – V_{dc} + V_{dc}^* + \frac{e_q}{L C V_{dc}} u_2 – \frac{\dot{I}_{pv}}{C} + \frac{e_d \left( -\frac{R}{L} i_d – \omega i_q – \frac{e_d}{L} \right) + e_q \left( -\frac{R}{L} i_q + \omega i_d – \frac{e_q}{L} \right)}{C V_{dc}} + \frac{(e_d i_d + e_q i_q)}{C V_{dc}^2} \dot{V}_{dc}^* – \upsilon_1 \right], \\
u_2 &= L \ddot{i}_q^* – \omega L i_d + R i_q^* + e_q – \upsilon_2,
\end{aligned}$$

where \(\upsilon_1\) and \(\upsilon_2\) are additional control inputs based on fractional-order PID (FoPID) principles:

$$\begin{aligned}
\upsilon_1 &= K_{P1} (V_{dc} – V_{dc}^*) + \frac{K_{I1}}{s^{\lambda_1}} (V_{dc} – V_{dc}^*) + K_{D1} s^{\mu_1} (V_{dc} – V_{dc}^*), \\
\upsilon_2 &= K_{P2} (i_q – i_q^*) + \frac{K_{I2}}{s^{\lambda_2}} (i_q – i_q^*) + K_{D2} s^{\mu_2} (i_q – i_q^*).
\end{aligned}$$

Here, \(K_{P1}\), \(K_{I1}\), \(K_{D1}\), \(K_{P2}\), \(K_{I2}\), \(K_{D2}\) are gain parameters, and \(\lambda_1\), \(\lambda_2\), \(\mu_1\), \(\mu_2\) are fractional orders for integration and differentiation. The fractional-order operators enhance flexibility in control response, allowing for better handling of nonlinearities in the solar inverter system. Substituting the controller into \(\dot{H}\) simplifies it to:

$$\dot{H} = -\frac{1}{C R_{dc}} (\dot{V}_{dc} – \dot{V}_{dc}^*)^2 – \frac{R}{L} (i_q – i_q^*)^2 – (\dot{V}_{dc} – \dot{V}_{dc}^*) \upsilon_1 – \frac{i_q – i_q^*}{L} \upsilon_2,$$

where \(R_{dc} = \frac{V_{dc}^2}{e_d i_d + e_q i_q}\) is a virtual resistance. The first two terms are beneficial damping terms retained to improve tracking speed, while the last two terms involve energy reshaping via the FoPID inputs.

To optimize the PFoPID parameters, I employ the grouped grey wolf optimizer (GGWO), an advanced heuristic algorithm that improves upon the standard grey wolf optimizer by introducing a grouping mechanism for better exploration and exploitation. The GGWO algorithm mimics the hunting behavior of grey wolves, with leaders (alpha, beta, delta) guiding the search. The position update equations are:

$$D = |C \cdot X_p(t) – X(t)|,$$
$$X(t+1) = X_p(t) – A \cdot D,$$
$$A = 2\alpha \cdot r_1 – \alpha, \quad C = 2 \cdot r_2,$$

where \(X_p\) is the prey position, \(X\) is the wolf position, \(A\) and \(C\) are coefficient vectors, \(\alpha\) decreases linearly from 2 to 0, and \(r_1\), \(r_2\) are random vectors. The grouping mechanism involves multiple beta and delta wolves for cooperative hunting:

$$\begin{aligned}
D_\alpha &= |C_1 \cdot X_\alpha – X|, \\
D_{\beta_1} &= |C_2 \cdot X_{\beta_1} – X|, \quad D_{\beta_2} = |C_2 \cdot X_{\beta_2} – X|, \\
D_{\delta_1} &= |C_3 \cdot X_{\delta_1} – X|, \quad D_{\delta_2} = |C_3 \cdot X_{\delta_2} – X|, \quad D_{\delta_3} = |C_3 \cdot X_{\delta_3} – X|,
\end{aligned}$$

with position updates combined using weighting coefficients \(k_\alpha\), \(k_\beta\), \(k_\delta\). The optimization objective is to minimize a cost function that integrates tracking errors and control effort over three case studies: solar irradiation variation, temperature variation, and grid voltage sag. The cost function is:

$$\min F = \sum_{\text{cases}} \int_0^T \left( |V_{dc} – V_{dc}^*| + |i_q – i_q^*| + \omega_1 |u_1| + \omega_2 |u_2| \right) dt,$$

subject to bounds on control parameters and inputs. I set \(\omega_1 = \omega_2 = 0.2\) and \(T = 3\) seconds. After 30 runs of GGWO, the optimal parameters for PFoPID and other controllers (PID, FoPID, PBC) are obtained, as summarized in Table 1.

Controller Parameters for q-axis current Parameters for DC-link voltage
PID \(K_{P1} = 197, K_{I1} = 126, K_{D1} = 55\) \(K_{P2} = 173, K_{I2} = 116, K_{D2} = 73\)
FoPID \(K_{P1} = 185, K_{I1} = 147, K_{D1} = 25, \mu_1 = 1.63, \lambda_1 = 1.25\) \(K_{P2} = 148, K_{I2} = 182, K_{D2} = 51, \mu_2 = 1.44, \lambda_2 = 1.93\)
PBC \(\lambda_1 = 35\) \(\lambda_2 = 57\)
PFoPID \(K_{P1} = 120, K_{I1} = 85, K_{D1} = 10, \mu_1 = 1.75, \lambda_1 = 1.5\) \(K_{P2} = 165, K_{I2} = 120, K_{D2} = 15, \mu_2 = 1.5, \lambda_2 = 1.25\)

Table 2 provides statistical results from the GGWO optimization, showing that PFoPID achieves the lowest cost function value, indicating superior performance for the solar inverter.

Controller Max Cost Min Cost Avg Cost Max Time (h) Min Time (h) Avg Time (h)
PID 2.18 1.64 1.89 0.51 0.42 0.47
FoPID 1.87 1.48 1.55 0.45 0.33 0.38
PBC 1.34 1.07 1.22 0.14 0.11 0.13
PFoPID 1.17 0.92 1.03 0.64 0.51 0.57

I evaluate the PFoPID controller through simulation case studies. The solar inverter system parameters are based on a typical PV setup, with a peak power of 60 W per module, grid voltage of 120 V RMS, frequency of 50 Hz, inductance \(L = 2\) mH, resistance \(R = 0.1 \Omega\), and DC-link capacitance \(C = 2200 \mu F\). The first case involves solar irradiation changes: at \(t = 0.2\) s, irradiation drops from 1000 W/m² to 500 W/m²; at \(t = 0.7\) s, it increases to 800 W/m²; at \(t = 1.2\) s, it returns to 1000 W/m². Simultaneously, the q-axis current reference changes to 50 A at \(t = 0.2\) s and to -30 A at \(t = 1.2\) s. The responses for PV power, DC-link voltage, q-axis current, and storage function are plotted, showing that PFoPID achieves the fastest tracking with minimal oscillations compared to PID, FoPID, and PBC. For instance, the DC-link voltage settles within 0.05 seconds under PFoPID, whereas PID exhibits sustained oscillations.

The second case examines temperature variation: at \(t = 0.2\) s, temperature rises from 25°C to 40°C; at \(t = 0.95\) s, it falls back to 25°C. The q-axis current reference shifts to -40 A at \(t = 0.2\) s and to 20 A at \(t = 0.95\) s. Again, PFoPID demonstrates rapid and accurate tracking, with the storage function decaying quickly, indicating efficient energy dissipation. The third case addresses a grid voltage sag to 0.4 per unit from \(t = 0.2\) s to \(t = 0.35\) s. The solar inverter with PFoPID control recovers swiftly post-fault, maintaining stable power output and voltage regulation. Quantitative analysis using integral of absolute error (IAE) metrics confirms the superiority of PFoPID. Table 3 summarizes IAE values for q-axis current (\(IAE_{I_q}\)) and DC-link voltage (\(IAE_{V_{dc}}\)) across cases.

Case Metric PID FoPID PBC PFoPID
Irradiation Change \(IAE_{I_q}\) 0.1837 0.1732 0.1611 0.1407
\(IAE_{V_{dc}}\) 0.4484 0.4412 0.4357 0.3901
Temperature Change \(IAE_{I_q}\) 0.2217 0.2140 0.2013 0.1657
\(IAE_{V_{dc}}\) 0.5587 0.5431 0.5262 0.4778
Voltage Sag \(IAE_{I_q}\) 0.3413 0.3207 0.2938 0.2476
\(IAE_{V_{dc}}\) 0.7529 0.7249 0.6863 0.6277

Additionally, the total control effort \(u = \int_0^T (|u_1| + |u_2|) dt\) is lowest for PFoPID in all cases, as shown in Table 4, highlighting its efficiency in managing the solar inverter.

Case PID FoPID PBC PFoPID
Irradiation Change 0.793 0.788 0.752 0.718
Temperature Change 0.925 0.919 0.895 0.851
Voltage Sag 0.546 0.537 0.511 0.486

To validate hardware feasibility, I conduct hardware-in-loop (HIL) experiments using dSpace platforms. The PFoPID controller is implemented on a DS1104 board with a sampling frequency of 1 kHz, while the solar inverter model runs on a DS1006 board at 50 kHz to emulate real-time behavior. The HIL results closely match simulations, confirming that PFoPID can be deployed on actual solar inverter systems without performance degradation. For example, during irradiation changes, the DC-link voltage tracks the reference within 2% error in HIL tests, comparable to simulation outcomes. This demonstrates the robustness of the control strategy for practical solar inverter applications.

In conclusion, the proposed PFoPID control for solar inverters effectively combines passivity-based energy shaping with fractional-order PID enhancements. By retaining beneficial damping terms and compensating nonlinearities, it ensures global stability and fast MPPT under diverse operating conditions. The GGWO algorithm optimizes control parameters, yielding superior performance over conventional methods in terms of tracking accuracy, response speed, and control effort. HIL experiments verify the practicality of this approach for real-world solar inverter implementations. Future work may explore adaptive versions of PFoPID for handling unknown disturbances or extending it to other renewable energy systems. Overall, this study contributes to advancing control methodologies for solar inverters, promoting efficient solar energy harvesting and grid integration.

Scroll to Top