1 Introduction

Due to the depletion of underground mineral sources and the growing demand on electricity, renewable energy has become promising alternatives due to their environmentally friendliness and free availability. Among all renewable energy sources, solar energy is currently a favorable choice in many countries and regions. The photovoltaic (PV) generation system has widely been applied to either standalone or grid-connected power systems [1,2,3,4,5], e.g., space satellites, PV plants, solar vehicles, solar-water pumping systems, etc. It is an essential problem to improve the working efficiency of PV generation systems, which necessitates the design of a more efficient and accurate maximum power point tracking (MPPT) algorithm.

Nowadays, a large number of MPPT techniques have been proposed to track the maximum power point (MPP) for PV panels under various environmental conditions. Most of MPPT techniques are based on the extreme value theorem, e.g., perturbation and observation (P&O)/hill-climbing, incremental conductance (IncCond), ripple correlation control, current sweep, intelligent method-based MPPT technique including fuzzy logic (FL) and neural network, etc. Some MPPT techniques use empirical relations, which include fractional short-circuit current technique, fractional open-circuit voltage technique, look-up table technique, etc [6,7,8,9,10,11]. References [12, 13] have a detailed summary and comparison for a variety of MPPT techniques.

If the PV system is designed to have a high working efficiency, its MPPT technique needs to have a good control performance under both steady state and dynamic state. If solar irradiance (S) is constant in more than 2 sampling periods \(NT_c\) (\(N \ge 2\)), then the PV system works in steady state. If S changes from \(S_1\) to \(S_2\) in \(NT_c\) (\(N \ge 1\)), the PV system works in dynamic state. A good performance under both steady state and dynamic state means that MPP can be closely tracked by the MPPT controller. The conventional MPPT techniques are the techniques of periodic observation and perturbation, and their control strategy is designed as \(D(k)=D(k-1) \pm {{\mathrm {\Delta }}} D(k)\), where \(D(k-1)\) is the duty cycle at \((k-1)^{\mathrm {th}}\) sampling period, D(k) is the duty cycle at \(k^{\mathrm {th}}\) sampling period and \({{\mathrm {\Delta }}} D(k)\) is the perturbation step-size between two sampling points \(k-1\) to k. Specifically, a good steady performance means that \({{\mathrm {\Delta }}} D\) should be as small as possible to realize small oscillations around MPP. A good dynamic performance means that \({{\mathrm {\Delta }}} D\) should be relatively large to let the operating point quickly move to MPP. For MPPT technique with a constant \({\mathrm {\Delta}} D\), e.g., P&O, IncCond, etc. If \({\mathrm {\Delta }} D\) is relatively small, the PV system will have a long tracking time under dynamic state and the dynamic response is poor with a possible low voltage ride through (LVRT) or high voltage ride through (HVRT). On the other hand, if \({\mathrm {\Delta }} D\) is relatively large, the PV system will have significant oscillations in its output power under steady state. Therefore, a compromise is needed for selecting a suitable \({\mathrm {\Delta }} D\) in conventional MPPT techniques [8, 14], which is detailed in Sect. 4.1.

For time-varying \({\mathrm {\Delta }} D\) MPPT techniques, they are the advanced MPPT techniques [14,15,16]. In [17], an intelligent method-based MPPT technique, FL is described by applying time-varying \({\mathrm {\Delta }} D\) between 0.02 and 0.04. Comparing with the conventional MPPT techniques with constant \({\mathrm {\Delta }} D\), e.g., P&O and IncCond, it has a better performance. However, FL still spends a long period of time to move to MPP since the algorithm starts. In other words, no matter \({\mathrm {\Delta }} D\) is constant or time-varying, the problem of selecting a suitable \({\mathrm {\Delta }} D\) still exists for MPPT technique. In this study, it is regarded as a trade-off (TO) issue.

Furthermore, a wrong perturbation direction will occur under dynamic operations as solar irradiance varies, e.g., in P&O, IncCond, FL-based MPPT techniques, etc. This problem will continue until the rapid change of solar irradiance stops. Their common characteristic is that they are all based on the PV curve of PV systems to find the extreme point. Relevant papers have attempted to solve this problem; however, this issue still exists in a range of studies [14, 17]. Here, it is regarded as a problem of control basis (CB).

Up to now, TO and CB problems have not been fully addressed [17,18,19].

In order to solve TO and CB problems, the output characteristic curves are investigated under close-loop circuit in Sect. 3.2, and then the complete IV and PV curves of PV panels are defined. When the sampled data (\(V_{PV}\), \(I_{PV}\)) are obtained from the terminal of PV array, the slope \({\mathrm {\Delta }} G\) = \({\mathrm {\Delta }} I_{PV}\)/\({\mathrm {\Delta }} V_{PV}\) can be computed. If \({\mathrm {\Delta }} G < 0\), the two sets of sampled data are on the same IV curve. If \({\mathrm {\Delta }} G > 0\), the two sets of sampled data are on two different IV curves. According to the sign of \({\mathrm {\Delta }} G\), the two sets of sampled data are applied to different calculation algorithms. Then, they are substituted into mathematical equations of the adopted practical PV panel to calculate the values at MPP. Through the transfer function of the converter, the corresponding duty cycle \(D_m\) at MPP is obtained. When \(D = D_m\), MPP is captured online. The proposed maximum power point capturing (MPPC) method is designed to be able to locate a steady operating area around the MPP. Particularly, the duty cycle keeps constant within the steady operating area, and when the operating point is outside this area, MPPC is triggered and a new MPP is captured with an updated steady operating area. This procedure is defined as periodic observation and aperiodic perturbation. The MPPC technique only requires two perturbations to capture MPP, instead of continuous tracking used by conventional MPPT techniques. MPPC controller eliminates oscillations while operating under constant solar irradiance, and has a fast tracking speed when solar irradiance varies. MPPC technique in this study is easy to implement and displays a higher working efficiency under both steady and dynamic conditions.

The rest of this paper is organized as follows. In Sect. 2, mathematical models for PV system are presented. Simulation for PV system is carried out in Sect. 3. Methodology of the proposed MPPC technique is detailed in Sect. 4, followed by Sect. 5 where a case study is carried out. A conclusion is drawn in Sect. 6.

2 Mathematical modeling of PV system

In this section, both laboratory and practical solar PV models are presented for an individual PV cell with different considerations [20, 21].

2.1 Laboratory PV model

References [22,23,24] provide comprehensive reviews for PV models. Theoretically, single-diode and double-diode models are two commonly used physical PV models [25], as shown in Fig. 1. In this paper, single-diode model is adopted, which poses a good TO between simplicity and accuracy. This model has widely been adopted in laboratory settings, which will be explained in detail in this section.

Fig. 1
figure 1

Two equivalent physical models for PV panel

According to Kirchoff’s current law (KCL) and Shockley’s diode equation, the mathematical model of a general single-diode PV panel is written as follows [4, 21, 25]:

$$I=I_{ph}-I_d-I_{sh}$$
(1)

where I is the output current of PV panel; \(I_{ph}\) is the current generated by the incident light; \(I_{d}\) is the diode current; \(I_{sh}\) is the current from shunt resistance.

Equation (1) can be derived to:

$$I=I_{ph}-I_{0}\left({{\mathrm {e}}}^{\frac{V+IR_s}{aV_{t}}}-1 \right)-\frac{V+IR_{s}}{R_{sh}}$$
(2)

where V is the output voltage of PV panel; \(I_{0}\) is the saturation current of PV panel; \(R_{s}\) is the series resistance of PV panel; \(R_{sh}\) is the shunt/parallel resistance of PV panel; a is the ideality factor; \(V_{t}\) is the thermal voltage of PV panel dependent on temperature, and

$$V_{t}=\frac{kT}{q}$$
(3)

where k is Boltzmann constant (1.3806\(\times 10^{-23}\) J/K); T is the temperature of the \(p-n\) junction; q is the electron charge (1.6\(\times 10^{-19}\) C).

This laboratory model has been adopted to varieties of PV array analysis; however, it cannot accurately represent the relationship between the parameters and temperature and solar irradiance. In (1)–(3), variables I, V, \(I_{ph}\), \(I_0\) and the ideality factor a highly depend on the temperature of PV panel surface and solar irradiance, especially ideality factor a, a curve-fitting factor between 1 and 5 which is obtained through extensive trial and error [22]. Therefore, due to the difficulty of obtaining I, V, \(I_{ph}\), \(I_0\) and confirming ideality factor a in (1)–(3), this model is only used in controlled conditions in laboratories, with limited applicability in practical applications.

Several papers neglect the effect of \(R_{sh}\) in (2), which normally has a very large value, when building and analyzing PV panels. Term \(I_{sh}\) then has a small value compared with \(I_{ph}\) and \(I_d\) in (1). Therefore, the effect of the term \(I_{sh}\) can be neglected in (1). This assumption has been adopted in practical applications. Under this assumption, the simplified equation is defined as follows:

$$I=I_{ph}-I_{0}\left({\mathrm {e}}^{\frac{V+IR_{s}}{aV_{t}}}-1 \right)$$
(4)

Although all the assumptions in (1)–(4) are reasonable, the experimental errors are still relatively large. By adopting this laboratory model, solar cell’s parameters (e.g., \(I_0\), a and \(R_{s}\)) are very difficult to determine in real-world applications [22]. Therefore, the practical model is introduced as follows, which will be utilized in this study.

2.2 Practical PV model

Reference [22] proposes three practical models for PV panels and they are all based on (1)–(3). Through further investigations, a practical model based on a series of empirical relations is adopted. The solar cell parameters adopted in the laboratory PV model are replaced by a set of empirical values in the practical PV model which is briefly presented in this section.

The practical model originates from (2), and it is simplified with the following assumptions:

  1. 1)

    Parameter \(R_s\) is neglected. The reason is that \(R_s\) has a small value and thus the value of \(IR_s\) is far less than term V in (2).

  2. 2)

    Parameter \(R_{sh}\) is neglected.

  3. 3)

    Three special sets of points are applied. They are short-circuit current point (\(0, I_{sc,{\mathrm {ref}}}\)), MPP (\(V_{m,{\mathrm {ref}}}\), \(I_{m,{\mathrm {ref}}}\)) and open-circuit voltage point (\(V_{oc,{\mathrm {ref}}}, 0\)), where subscript ref represents the reference value of corresponding variable, \(I_{sc}\) is the short-circuit current, \(V_{oc}\) is the open-circuit voltage, \(I_{m}\) and \(V_{m}\) are the MPP current and voltage, respectively.

Then, the mathematical model for model 3 is rewritten as follows:

$$I=I _{sc}\left[ 1-C_1\left( {\mathrm {e}}^{\frac{V}{C_2V_{oc}}}-1 \right) \right]$$
(5)
$$C_1= \left( 1-\frac{I_{m}}{I_{sc}}\right) {\mathrm {e}}^{-\frac{V_{m}}{C_2V_{oc}}}$$
(6)
$$C_2= \left( \frac{V_{m}}{V_{oc}}-1\right) \left[ {\mathrm {ln}}\left( {1-\frac{I_{m}}{I_{sc}}}\right) \right] ^{-1}$$
(7)

where \(C_1\) and \(C_2\) are relevant coefficients.

In simulations, the variables in (5)–(7) require empirical equations to correct and minimize the gaps between the standard values and the practical values. The final equations of these variables are shown as follows [12, 13, 21, 26]:

$$I_{sc}= (I_{sc,{\mathrm {ref}}}+K_I\Delta T){S}/{S_{\mathrm {ref}}}$$
(8)
$$I_{m}= K_{sc}I_{sc}$$
(9)
$$V_{oc}= V_{oc,{\mathrm {ref}}}+K_V{\mathrm {\Delta }} T$$
(10)
$$V_{m}= K_{oc}V_{oc}$$
(11)
$${\mathrm {\Delta }} T= T-T_{\mathrm {ref}}$$
(12)
$$T= T_{air}+KS$$
(13)

where \(K_V\) and \(K_I\) are the open-circuit voltage/temperature coefficient and the short-circuit current/temperature coefficient, respectively; \(K_{sc}\) and \(K_{oc}\) are constants; S is the measured solar irradiance; \(S_{{\mathrm {ref}}}\) equals 1000 W/m\(^{2}\) in this paper; \(T_{air}\) is the measured temperature from environment; \(T_{{\mathrm {ref}}}\) equals 25 \(^\circ {\mathrm {C}}\) in this paper.

Equation (13) is used to describe the PV surface temperature variations over a long period. For the purpose of this study, the effect from temperature is neglected and (13) is omitted. This assumption is valid because of a relatively high thermal inertia for PV panels. Furthermore, the period of perturbation is short, and \({\mathrm {\Delta }} t\) is generally less than 1 s, namely, the time between the two sampled points is short. Therefore, the temperature difference is small, and \({\mathrm {\Delta }} V\) can be considered close to zero.

2.3 Converter

DC/DC converters are power electronic circuits used to change the magnitude of DC voltages, often providing a regulated output voltage. Boost, buck and boost-buck converters are three commonly used converters applied in a power electronic circuits. In this paper, a buck converter is employed.

Figure 2 describes a buck converter, and its output voltage is less than the input. Analysis of the buck converter begins by making these assumptions:

  1. 1)

    The circuit is operating in the steady state.

  2. 2)

    The inductor current is continuous and always positive.

  3. 3)

    The capacitor is considerable large, and the output voltage is held constant at voltage \(V_o\) shown in Fig. 2.

  4. 4)

    The switching period is \(t_{total}\); the switch is closed for time \(Dt_{on}\) and open for time \((1-D)t_{off}\).

  5. 5)

    All components are ideal.

The DC component of the output is controlled by adjusting the duty cycle D, which is a fraction of the period that the switch is closed and is shown as follows:

$$D=\frac{t_{on}}{t_{on} + t_{off}} = \frac{t_{on}}{t_{total}} = t_{on}f$$
(14)

where f is the switching frequency.

Fig. 2
figure 2

Buck converter

By applying state-space averaging method, mathematical model for buck converter is shown as follows:

$$I_{L} = \frac{1}{D}\left( {I_{i} - C_{i} \frac{{{\text{d}}V_{i} }}{{{\text{d}}t}}} \right)$$
(15)
$$I_{o} = I_{L} - C_{o} \frac{{{\text{d}}V_{o} }}{{{\text{d}}t}}$$
(16)
$$V_{i} = \frac{1}{D}\left( {V_{o} + L\frac{{{\text{d}}I_{L} }}{{{\text{d}}t}}} \right)$$
(17)

In this paper, the capacitor \(C_i\) is neglected and the value of \(C_o\) and L are 0.1 mF and 0.4 mH, respectively.

2.4 Error analysis

Through simulations under standard test condition (STC) (solar irradiation is 1000 W/m\(^2\), temperature is 25 \(^\circ {\mathrm {C}}\) and air mass is 1.5), five variables are obtained, which are \(I_{sc}\), \(I_m\), \(V_m\), \(V_{oc}\) and \(P_m\). Table 1 compares the values between product specifications [21, 26] and the simulation results. All the errors shown in Table 1 are in an acceptable error range.

Table 1 Comparison of product specification and simulated PV model

3 Simulations for output characteristics of PV system

The output characteristics of the PV array show a nonlinear relationship. They are directly related with solar irradiance, temperature on the surface of PV panel and external load. Here, we need to present all output characteristic curves under open-loop and closed-loop, respectively. They are the control basis for designing the MPPC algorithm in this study.

All simulations are performed in MATLAB® 2014b Simulink on a desktop computer with Intel® Core i7-4790, 3.6 GHz CPU and 64-bit Windows®7 operating system. The entire simulation lasts for 10 s.

3.1 Open-loop simulation results for PV system

3.1.1 PV output characteristics under varying solar irradiance with constant temperature

Figure 3 describes IV curves and PV curves of a PV panel under a constant temperature \(T = 25\,^{\circ } {\mathrm {C}}\) on the surface of PV panel with different solar irradiance S levels: 1000, 800, 600, 400 and 200 W/m\(^{2}\).

As shown in Fig. 3, the values of \(V_{oc}\) are almost identical under different solar irradiances. It reflects the practical operations. As described in Sect. 2.2, the period of perturbation is short, the temperature difference is small, and \({\mathrm {\Delta }} V\) is almost zero. Therefore, the values of \(V_{oc}\) are almost same during a given time duration. In other words, \(V_{oc}\) under any solar irradiance can be regarded as the \(V_{oc}\) under any particular solar irradiance. This characteristic was adopted by some of references and it is adopted in this paper which is detailed in Sect. 4.2 for approximate tracking.

Fig. 3
figure 3

IV and PV curves under varying solar irradiance with constant temperature on the surface of PV panel

3.1.2 PV output characteristics under varying temperatures with a constant solar irradiance

Figure 4 shows IV curves and PV curves of PV panel under a constant solar irradiance S = 1000 W/m\(^{2}\) with different temperatures of PV panel surface T: 15, 25 and 35 \(^\circ {\mathrm {C}}\).

The relations shown in Fig. 4 have been presented in almost all solar PV studies; however, in a practical application, Fig. 4 is rarely adopted because of the slow varying rate of temperatures, i.e., the effect from temperature needs to be considered for a long operating time and it can be neglected for a short operating time.

Fig. 4
figure 4

IV and PV curves under constant solar irradiance with varying temperatures on the surface of PV panel

For the aforementioned two experiments, output IV and PV curves for PV panels are similar to other PV papers [14, 25, 26].

3.2 Closed-loop simulation for PV system

Only the output characteristics for PV panel under open-loop circuit simulations were presented in most of previous papers [1, 7, 10, 14, 17]. In this section, we supplement the output characteristics for PV panel under close-loop circuit simulations. For the effect from temperature, the results are similar to Sect. 3.1.2.

3.2.1 Varying solar irradiance with a constant load

Figure 5 describes the output characteristics of a PV panel under varying solar irradiance with a constant load. Figure 5a is formed by a load line interacted with several PV IV curves. The condition is that the solar irradiance has a rapid change and the duty cycle maintains constant. Under this situation, the relation of the output IV curves of the PV panel must follow a straight load line, and it must be a parabola in PV coordinate system.

Fig. 5
figure 5

IV and PV curves under varying solar irradiance with a constant load

3.2.2 Varying loads with constant solar irradiance

When the load changes and solar irradiance remains constant, the output characteristics of PV array are described in Fig. 6a, b. It is clear that the curves in Fig. 6a is formed by a solar IV curve in intersection with several load lines. The load line position on the IV curve depends on the equivalent load impedance. Under this situation, PV output characteristics are still a IV curve in the IV plane, and it is also a PV curve in the PV plane. These output characteristics are similar to the open-circuit PV curves shown in Sect. 3.1.1. Similar results also can be obtained through adjusting the duty cycle D of the converter.

Fig. 6
figure 6

IV and PV curves under constant solar irradiance with varying loads

Figure 5 is never presented in any previous papers. Here, the set of Figs. 5a and 6a is defined as the complete IV curves and the set of Figs. 5b and 6b is defined as the complete PV curves. For a conventional MPPT technique only based on Fig. 6b, a wrong perturbation must occur under the condition of Fig. 5b.

4 MPPT and MPPC techniques

In this section, conventional P&O MPPT technique and the proposed MPPC technique are described, analyzed and compared in detail.

4.1 Conventional P&O MPPT method

Figure 7 is the flowchart of the conventional P&O technique. For conventional P&O based on Fig. 6b, PV voltage V(k) and PV current I(k) are firstly measured, and power \(P(k) = V(k)I(k)\). Next, update the data and let \(V(k-1) = V(k)\), \(I(k-1) = I(k)\) and \(P(k-1) = P(k)\). A perturbation of duty cycle \(D(k-1)+a{\mathrm {\Delta }} D\) is carried out, then, V(k), I(k) and P(k) change accordingly. \({{\mathrm {\Delta }} P} = P(k)-P(k-1)\) and \({{\mathrm {\Delta }} V} = V(k)-V(k-1)\). If \({{\mathrm {\Delta }} P}/{{\mathrm {\Delta }} V} =\) 0, namely, \(P(k-1) = P(k)\), the MPP is found, \(D(k) = D_{old}\). If \({{\mathrm {\Delta }} P}/{{\mathrm {\Delta }} V}>\) 0, last point is on the left of the MPP and \(D(k-1)-{\mathrm {\Delta }} D\) is carried out to force this operating point to the MPP; if \({{\mathrm {\Delta }} P}/{{\mathrm {\Delta }} V}<\) 0, the point is on the right of the MPP and \(D(k-1)+{\mathrm {\Delta }} D\) is carried out to force this operating point to the MPP. Apparently, the conventional P&O is only suitable for a steady state under a constant solar irradiance.

Fig. 7
figure 7

Flowchart of conventional P&O technique

In order to clearly describe P&O performances under varying solar irradiance, take the five solar irradiance values 1000, 800, 600, 400 and 200 W/m\(^{2}\) as an example. Points A, B, C, D and E are five intersection points in the IV plane and \(A_1\), \(B_1\), \(C_1\), \(D_1\) and \(E_1\) are five intersection points in the PV plane. In Fig. 5, the points C and \(C_1\) operating at the MPP under solar irradiance 600 W/m\(^{2}\) are regarded as two reference points, where \(V_C\) = \(V_m\). Points A, B, \(A_1\) and \(B_1\) are on the left of \(V_m\) and D, E, \(D_1\) and \(E_1\) are on the right of \(V_m\).

Most extreme value theorem-based MPPT papers do not consider this kind of PV operating conditions, which may result in a wrong perturbation, causing incorrect tracking trajectory, especially when there is a rapid change in solar irradiance. For conventional extreme value theorem-based MPPT controller, two points on the tracking trajectory are required to calculate the ratio of \({\mathrm {\Delta }} P / {\mathrm {\Delta }} V\). When a rapid change happens in solar irradiance, these two points will be on two different PV curves as shown in Fig. 5b, and the slope of these two points must be positive. According to the control principle of P&O method, the slope of these two points determines the perturbation direction. Therefore \(a-{\mathrm {\Delta }} D\) perturbation (to increase voltage) is applied to D for a positive gradient obtained from the two points.

If the last point of any two sampled points locates on the left of \(V_m\), e.g., \(D_1\) to \(B_1\), namely, the slope of the last point (\(B_1\)) on PV curve is positive. This perturbation will make the operating point (the last point, \(B_1\)) move to the MPP. In this situation, the perturbation direction employed in the conventional MPPT method is correct. However, if the last point of two sampled points locate on the right of \(V_m\), e.g., \(B_1\) to \(E_1\), namely, the slope of last point (\(E_1\)) on PV curve is negative. This perturbation will make the operating point (the last point, \(E_1\)) still move to the right, going in the opposite direction towards the MPP. In this situation, the perturbation direction is apparently wrong, which is defined as the confusion by most of papers. In practical applications, if the conventional MPPT method is employed, such problem will occur when there is a sudden increase or decrease in the solar irradiance.

To summarize, three situations are analyzed in this section. Situation 1: the two sampled points are both on the left of \(V_m\), e.g., \(A_1\) and \(B_1\). In this situation, the perturbation direction is correct when solar radiation varies. Situation 2: the two sampled points are both on the right of \(V_m\), e.g., \(D_1\) and \(E_1\). In this situation, the perturbation direction is wrong. Situation 3: one of the sampled points is on the left of \(V_m\) and the other is on the right, e.g., \(B_1\) and \(D_1\). In this situation, the perturbation direction is correct when the solar irradiance decreases (\(D_1\) to \(B_1\)) and is wrong when the solar irradiance increases (\(B_1\) to \(D_1\)). For conventional P&O, it is difficult to find \(V_m\), therefore, it is difficult to prevent the controller confusing problem.

On the other hand, in order to clearly explain the TO problem in Sect. 1, a conventional P&O technique with constant \({\mathrm {\Delta }} D\) is chosen as an example, which is shown in Fig. 8, where the sampling frequency is \(f=\)100 Hz. Obviously, for the green line with relatively large \({\mathrm {\Delta }} D\), the PV system has a good dynamic performance with fast converging speed, low LVRT and HVRT, but with a poor steady performance with significant oscillations and vice versa.

Fig. 8
figure 8

P & O controlling performances with small (0.002) and large (0.005) perturbations \({\mathrm {\Delta}} D\)

4.2 Proposed MPPC technique

Fig. 9
figure 9

Flowchart of the proposed MPPC technique

Figure 9 is the flowchart of the proposed MPPC technique which describes its operating principle. The proposed MPPC technique is based on practical PV model 3 as shown in (5)–(7). The proposed MPPC technique is described as follows. The sampled data (\(V_{PV}, I_{PV}\)) is continuously obtained from the terminal of PV panel. And these sampled data is substituted into (5) to calculate the values at MPP, \(V_m\), \(I_m\), \(R_m\), etc. Through the transfer function from converter, the corresponding duty cycle \(D_m\) at MPP is obtained, and \(D_m\) will be continuously exported to the converter for a high working efficiency.

In (5), \(I_{sc}\), \(V_{oc}\), \(I_{m}\) and \(V_{m}\) are four unknown variables. Therefore, at least four sets of (V(k), I(k)) are required to simultaneously solve for them. However, (5) is a nonlinear equation and the required computational cost is large. Furthermore, the four sets of (V(k), I(k)) must be sampled from the same IV curve, which is difficult to achieve due to the fast changing solar irradiance, which leads to significant difficulty to solve (5). Through investigating and analyzing, the variables \(I_{sc}\), \(V_{oc}\), \(I_{m}\) and \(V_{m}\) continuously change with the S and T. However, the quotient of \({I_m}/{I_{sc}}\) and \({V_m}/{V_{oc}}\) almost do not vary significantly with the varying S and T according to fractional short-circuit current method and fractional open-circuit voltage method. The mathematical relation between \(I_m\) and \(I_{sc}\) is constructed such that \(I_m\) is linearly dependent on \(I_{sc}\) by the empirical relation, so is \(V_{m}\) and \(V_{oc}\). Terms \(K_{sc}\) and \(K_{oc}\) are therefore regarded as two constants [12, 13].

$$K_{sc}= \frac{I_m}{I_{sc}}\approx \frac{I_{m,{\mathrm {ref}}}}{I_{sc,{\mathrm {ref}}}}$$
(18)
$$K_{oc}= \frac{V_m}{V_{oc}}\approx \frac{V_{m,{\mathrm {ref}}}}{V_{oc,{\mathrm {ref}}}}$$
(19)

Therefore, \(K_{sc}\) and \(K_{oc}\) are considered known, and we then can simplify (6) and (7) to the expressions (20) and (21), with which \(C_1\) and \(C_2\) can be solved directly. Then \(C_1\) and \(C_2\) are substituted into (5) to obtain \(V_{oc}\) and \(I_{sc}\) with only two sets of (V, I).

$$C_1= (1-K_{sc}){\mathrm {e}}^{-\frac{K_{oc}}{C_2}}$$
(20)
$$C_2= (K_{oc}-1)[ \ln ({1-K_{sc}})]^{-1}$$
(21)

Under this situation, the two sets of sampled parameters (V(k), I(k)) must be taken from the same IV curve. According to Fig. 6a, when \({\mathrm {\Delta }}G<0\), the two sets of sampled parameters (V(k), I(k)) are on the same IV curve, namely,

$$\Delta G = \frac{{{\text{d}}I}}{{{\text{d}}V}} \approx \frac{{I(k) - I(k - 1)}}{{V(k) - V(k - 1)}} = - \,\frac{{I_{{sc}} C_{1} }}{{C_{2} V_{{oc}} }}{\text{e}}^{{\frac{V}{{C_{2} V_{{oc}} }}}} < 0$$
(22)

When meeting the aforementioned conditions, the two sets of sampled measurements (V(k), I(k)) are substituted into (5), and the parameters, e.g., \(V_{oc}\), \(I_{sc}\), \(I_m\), \(V_m\), \(R_m\), can be obtained by applying iteration methods. \(D_m\) is generated by the MPPC algorithm and transmitted to the converter to capture MPP.

When the two sets of sampled parameters are on two different IV curves shown in Fig. 5a, \({\mathrm {\Delta }} G\)\(>0\), namely,

$$\Delta G = \frac{{{\text{d}}I}}{{{\text{d}}V}} \approx \frac{{I(k) - I(k - 1)}}{{V(k) - V(k - 1)}} > 0$$
(23)

Because the perturbation period is short, \(V_{oc}\) does not change noticeably, as shown in Sect. 3.1.1. Due to the two sampled points derived from two different IV curves, an accurate calculation is difficult to acquire and thus an approximate calculation is utilized. In Fig. 3, the last updated \(V_{oc}\) and the set of current measurements (V(k), I(k)) are used to calculate other parameters, e.g., \(V_{oc}{'}= V_{oc}\), \(I_{sc}{'}\), \(I_{m}{'}\), \(V_{m}{'}\), \(R_{m}{'}\), as shown in Fig. 9. The converter is perturbed by the obtained D and the operating point of PV panel will arrive at the neighborhood of MPP. If perturbing frequency is suitable, \(V_m\) will be quickly captured and be updated in time.

Because MPP can be captured on line, its controlling strategy is set to a steady operating area around MPP shown as follows:

$$\left| \frac{V(k)-V_m}{V_m}\right| \le \epsilon$$
(24)

where \(\epsilon\) is a designed parameter according to operating requirement. In this paper, \(\epsilon\) = 1. When the sampling point is under \(\epsilon\), D keeps constant. When the sampling point is over \(\epsilon\), MPPC technique is triggered and a new MPP is captured with an updated steady operating area.

5 Case study and simulation results

A block diagram is shown in Fig. 10, and its operating principle is described as follows. Regarding the MPPC controller as an essential part, the sampled data (\(V_{PV}, I_{PV}\)) is imported as the input signal and the duty cycle D is exported as the output signal. By continuously conditioning D, MPP can be captured by adjusting the external equivalent resistance and let it equal to the internal maximum resistance \(R_m\) of PV panel.

Fig. 10
figure 10

Block diagram for PV generation system

In order to verify the performance of the proposed MPPC technique, the simulations of steady state and dynamic state considering solar irradiance and load must be implemented comparing with the conventional P&O technique and the proposed MPPC technique. The solar irradiances employed in this study are taken from [1, 14, 15, 19, 23], as shown in the first figure of Fig. 11, and from [11, 15, 17, 19], as shown in the first figure of Fig. 12. In the above references, the solar irradiances are produced by a sunlight emulator for research purpose only. However, they do not consider the performances of steady state and dynamic state for load. Both time-varying solar irradiances and loads are considered in this study. All simulations are under the same coding environment on a desktop computer with system frequency 100 Hz and \({\mathrm {\Delta }} D\) = 0.002.

The four cases are stated as below.

Case 1: a step change for solar irradiance is as shown in Fig. 11, and the entire simulation lasts for 15 s. The solar irradiance has a step change at the time point 5 s and 10 s, from 1000–600 W/m\(^{2}\) and 600–1000 W/m\(^{2}\), respectively.

Fig. 11
figure 11

Solar irradiance S has a rapid change

Case 2: a ramp change of solar irradiance is as shown in Fig. 12, and the simulation lasts for 10 s. Solar irradiance has a slow decrease from 1000 to 600 W/m\(^{2}\) between 2 and 4 s and has a slow increase from 600 to 1000 W/m\(^{2}\) between 6 and 8 s.

Fig. 12
figure 12

Solar irradiance S has a ramp change

Case 3: a step change in load R is as shown in Fig. 13, and the simulation lasts for 6 s. The load has a step change at t = 2 s and t = 4 s, from 1.5–0.8 and 0.8–3 \(\mathrm \Omega\), respectively. This case corresponds to a situation under faults occurring or clearing for external PV systems.

Table 2 Comparison of P&O and MPPC for parameters in steady state between 0 s to 5 s shown in Case 1
Fig. 13
figure 13

Load R has a rapid change

Case 4: a ramp change in load R is as shown in Fig. 14, and the simulation lasts for 10 s. Load has a slow decrease from 2.5–1.5 \(\mathrm \Omega\) between 2 and 4 s and increase from 1.5 to 2.5 \(\mathrm \Omega\) between 6 and 8 s, respectively. This case corresponds to a situation when the daily load has a natural increase or decrease in power system.

Fig. 14
figure 14

Load R has a ramp change

For all cases, three parameters, i.e., duty cycle, power of PV panel and voltage of PV panel, are monitored. Towards to all cases, the performances of the conventional P&O MPPT technique and the proposed MPPC technique are individually explained as follows.

  1. 1)

    Starting stage: for the proposed MPPC technique, only two perturbations are adequate to track the MPP, whereas the conventional P&O technique requires several perturbations. For P&O, loss exists for the solar energy, and voltage fluctuation continues for a long time, and their magnitudes are dependent on the perturbation period and \({\mathrm {\Delta}} D\).

  2. 2)

    Steady state response: for the proposed MPPC technique, voltage of PV panel equals the voltage corresponding to the MPP of PV panel, i.e., \(V_m\), while for the conventional P&O technique, voltage of PV panel oscillates around \(V_m\), which leads to energy losses. Table 2 demonstrates the errors for two monitored parameters by using the two different techniques as discussed in Case 1, where error 1 represents errors between specification and P&O, error 2 represents error between specification and MPPC.

  3. 3)

    Step response: in Figs. 11 and 13, for the proposed MPPC technique, only two perturbations are required to track the MPP. For the conventional P&O technique, a number of measurements and perturbations are required to track the MPP. At the falling edge of the step response, LVRT occurs, and at the rising edge of the step response, over-voltage occurs. Solar energy loss also exists in this situation.

  4. 4)

    Ramp response: as shown in Fig. 12, for the proposed MPPC technique, MPP is closely captured. For the conventional P&O technique, however the controller is confused and tracks the wrong MPP trajectory. At the falling part, both voltage and power of PV panel deviate from the actual values. At the rising part, wrong perturbation happens all the time. Only in Fig. 14, the proposed MPPC technique and the P&O technique have the same tracking performance.

For the proposed MPPC technique, the output voltage of PV panel almost equals \(V_m\) and the output power of PV panel also almost equals \(P_m\) however solar irradiance and load change. In Figs. 11, 12, 13 and 14, the area between red line (the proposed MPPC technique) and blue line (P&O) is the reduced power loss and in the four figures, the MPPC technique has shown to be able to harness 2.4\(\%\), 9.5\(\%\), 13.6\(\%\) and 7.1\(\%\) of solar energy, respectively, when the operating conditions change.

6 Conclusion

There are two main contributions in this paper. First, complete IV and PV characteristics for a closed-loop PV systems are presented and analyzed. They are the control basis in this study for the design of the MPPC method. Second, by using the complete IV characteristics for PV panels, MPP can be captured online and the MPPC technique is proposed based on the practical PV model. The proposed MPPC technique realizes online MPPC with periodic observation and aperiodic perturbation, which has demonstrated its superiority over the conventional MPPT techniques which require periodic observation and periodic perturbation. The simulations indicate that the performances of the proposed MPPC technique are more favorable than the performances for the conventional one, with a faster MPP capturing speed and more accurate MPP localization.