Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In the previous chapters, static models of the PV source have been proposed with related techniques to identify the values of the model parameters. However, operating conditions imply the variation of environmental parameters and load.

As for the first, being usually their variation slow with respect to time, the static model can still be utilized assuming a quasi-static variation. On the contrary, the load can be subject to fast variations due to the customer request and the inherent switching frequency of the inverter supplied by the PV source.

For these reasons, a dynamic model represents a useful tool for the analysis of power converters, for the study of maximum power point tracking (MPPT) algorithms and, for simulating the PV system using circuit simulators or real-time emulators.

In Sect. 2.12 it has been explained that the presence of a p–n junction implies a capacitive effect due to excess of minority carriers stored in the quasi-neutral region of a diode. These effects can be modeled by a voltage-dependent capacitance, as explained in Sect. 3.4.1 where it has been demonstrated by (3.53) that the nonlinear junction capacitance influences the current supplied by the PV source with a term proportional to the series resistance and to the time derivative of the same current. This term becomes relevant for fast load current variations. In any case a precise model of the nonlinear capacitance is cumbersome to be implemented.

This last consideration suggests that it is worth trying to adopt a constant value for the parasitic capacitance; it can be obtained with a best fitting of experimental data. In such a way, all transients can be studied also in the s-domain and the model implementation becomes quite easy.

In particular, the approach followed in Sects. 5.2 and 5.3 consists, firstly, on the determination of a static model, and on its parameter identification. Then, by imposing suitable load variations, the electric transients in time domain are used to identify the values of a parallel capacitance and of a series inductance. This last component models the inductive effects of the connecting cables, and allows a better reproduction of transients. The nonlinear capacitance model is discussed in Sect. 5.4 where its effects on different load transients are shown.

2 Dynamic PV Model Formulation

In order to model the electric dynamic of a PV module, the simplest way is to add an equivalent capacitance parallel connected to the output of the single diode model, as proposed by King et al. (2004). The related circuit with an additional switch to impose the load variation is shown in Fig. 5.1.

Fig. 5.1
figure 1

Equivalent circuit of a PV module with its internal equivalent capacitance

The output voltage derivative of this circuit is given by:

$$ \frac{{\partial V_{\bmod } }}{\partial t} = \frac{1}{C}\left[ {I_{\bmod } (V) - I_{\text{load}} } \right] $$
(5.1)

where V = V mod = V load when the switch is closed. Hence, by measuring I load and the voltage derivative during a suitable transient and by using the model expressed by (3.12) for achieving the corresponding values of I mod(V), the value of C could be calculated by least square regression (LSR).

It can be observed that it is cumbersome to acquire the voltage signal and to perform a post-processing derivative, since it will be affected by noise.

Moreover, the circuit drawn in Fig. 5.1 is not sufficiently accurate to model the electrical dynamic behavior of a PV module because, although the effect of the capacitance is predominant, other effects are present which are not negligible.

Firstly, the junction capacitance effect implies the presence of a conductance 1/R c , whose time constant reproduces the time needed by the quantity of charge in the capacitance to vary according to the variation of the junction voltage. Moreover, a further effect given by the connection parasitic inductance is to be expected due to the cables connecting the cells and the whole source to the load. This value is higher when a series connection of PV cells is exploited to obtain a higher V oc. Due to these reasons, when a resistive load is abruptly connected to a PV module, the load current is expected to have a second-order circuit response and the module voltage an exponential decay that depends on all the three resistances: R s , R c , and R L . The equivalent dynamic circuit, including a switch to verify the load insertion, is given in Fig. 5.2. On the contrary, the model sketched in Fig. 5.1 gives a first-order response for voltage and current: in particular, an exponential decay that depends on R s and R L is obtained.

Fig. 5.2
figure 2

The complete equivalent circuit of a PV module

It should be noted that the sudden load connection is a typical situation that occurs for example, when an inverter supplied by PV modules re-starts to operate after the shadowing of the modules due to the presence of clouds.

The following analysis is devoted to setup an identification method to obtain the values of C, L, R c .

Under the hypothesis that the operating point moves in the nearly constant voltage region, a portion of the PV characteristic which exhibits just a very light deviation from the linear trend is involved. In this way, it is possible to simplify the circuit replacing the current generator and the diode with a voltage generator. Therefore, it is possible to consider the circuit represented in Fig. 5.3, which is equivalent to the real PV module in that linear zone.

Fig. 5.3
figure 3

Equivalent circuit of a PV module in the nearly constant voltage region

The load current waveform obtained by the circuit drawn in Fig. 5.3 is expected to be composed of the sum of a constant and two exponential curves, just as in any RLC circuit. In addition, it is possible to observe that with a suitable value of R L the effects of the inductor (front edge of the signal) and of the capacitor (trailing tail of the waveform) are clearly distinct, since the two time constants τ L and τ C are about an order of magnitude different. This allows to say that the initial part of the front edge lies on an inductive exponential curve and that the trailing tail, which starts a bit after the peak, lies on a capacitive exponential trend.

By choosing a time origin equal to the instant the switch is closed, the load current is given by the following equation:

$$ I_{\text{load}} (t) = - A_{L} \times e^{{ - \frac{t}{{\tau_{L} }}}} + A_{C} \times e^{{ - \frac{t}{{\tau_{C} }}}} + I_{\text{load}} (\infty ) $$
(5.2)

Aiming to determine coefficients A L and A C it is possible to rearrange (5.2) in the following form:

$$ I_{\text{load}} (t) = I_{1} (t) + I_{2} (t) + K $$
(5.3)

where:

$$ I_{1} (t) = A_{L} \times \left( {1 - e^{{ - \frac{t}{{\tau_{L} }}}} } \right) $$
(5.4a)
$$ I_{2} (t) = A_{C} \times e^{{ - \frac{t}{{\tau_{C} }}}} + I_{\text{load}} (\infty ) $$
(5.4b)
$$ K = - A_{L} $$
(5.4c)

Since I load(0) = I load(0+) = 0 because of the presence of the inductor, it is clearly:

$$ A_{C} + I_{\text{load}} (\infty ) - A_{L} = 0 $$
(5.5)

Equations (5.4a) and (b) represent, respectively, the inductive and capacitive exponential curves on which the initial part of the front edge and the trailing tail of the load current lie. In order to determine the coefficient A C , it is necessary to consider the circuit without the inductor, which is shown in Fig. 5.4.

Fig. 5.4
figure 4

Equivalent circuit for determining AC and τC

When the switch in Fig. 5.4 is closed, the module voltage decreases instantly from \( V_{\rm{mod}}^{\prime}\)(0) = V oc to a new value \( V_{\rm{mod}}^{\prime}\)(0+) = \( V_{\rm{oc}}^{\prime}\). Observing that the generator and the capacitor exhibit the same voltage, it is easy to determine that:

$$ {V_{\rm{oc}}^{\prime}} = V_{\text{oc}} - R_{\text{CS}} \times I_{2} (0^{ + } ) = R_{L} \times I_{2} (0^{ + } ) $$
(5.6)

where:

$$ R_{\text{CS}} = \left( {\tfrac{1}{{R_{C} }} + \tfrac{1}{{R_{S} }}} \right)^{ - 1} $$
(5.7)

and

$$ I_{2} (0^{ + } ) = \frac{{V_{\text{OC}} }}{{R_{L} + R_{\text{CS}} }} $$
(5.8)

Hence, by combining Eqs. (5.8) and (5.4b) evaluated at t = 0+, the following expression is obtained for the coefficient A C :

$$ A_{C} = I_{2} (0^{ + } ) - I_{\text{load}} (\infty ) = \frac{{V_{\text{OC}} }}{{R_{L} + R_{\text{CS}} }} - I_{\text{load}} (\infty ) $$
(5.9)

Then, from (5.5), the following expression is obtained for the coefficient A L :

$$ A_{L} = I_{2} (0^{ + } ) = \frac{{V_{\text{OC}} }}{{R_{L} + R_{\text{CS}} }} $$
(5.10)

As for the time constants of the complete equivalent model, considering that the capacitor and the inductor do not interfere with each other, it can be concluded that:

  • the capacitive time constant in Eq. (5.4b), deduced by a simple analysis of the circuit in Fig. 5.4, is \( \tau_{C} = \left( {R_{C} + R_{\text{SL}} } \right) \times C \), where \( R_{\text{SL}} = \left( {\tfrac{1}{{R_{S} }} + \tfrac{1}{{R_{L} }}} \right)^{ - 1} \);

  • since its response time is extremely short, the inductor in the circuit of Fig. 5.3 sees a nearly constant voltage; therefore, the inductive time constant is \( \tau_{L} = \frac{L}{{R_{L} + R_{\text{CS}} }} \).

The previous considerations complete the description of the proposed electrical dynamic model for a PV source and they allow its parameters to be identified by means of a linear regression of the natural logarithm of suitable portions of the load current or voltage. The load current is a preferred choice since, being equal to the inductor current, it is a state variable.

What above supposed, means a current transient, caused by the abrupt insertion of a suitable load formed by the sum of an exponential curve due to the inductance contribution growing from zero value (at t = 0 the current is null) to a maximum value at t = t * and then an exponential decay that reaches the final value. Hence, it is possible to choose a time interval ΔT 1 before time t * and a time interval ΔT 2 after time t *, during which the current is originated by the parasitic inductance and by the capacitance. In formulas:

$$ \left\{ \begin{array}{ll} \left. {I_{\text{load}} } \right|_{0}^{{\Updelta T_{1} }} = \left. {I_{1} } \right|_{0}^{{\Updelta T_{1} }} \hfill \\ \begin{array}{*{20}c} {} \\ {\left. {I_{\text{load}} } \right|_{{t^{*} + \varepsilon }}^{{t^{*} + \varepsilon + \Updelta T_{2} }} = \left. {I_{2} } \right|_{{t^{*} + \varepsilon }}^{{t^{*} + \varepsilon + \Updelta T_{2} }} } \\ \end{array} \hfill \\ \end{array} \right. $$
(5.11)

where ε is a suitable nonzero coefficient.

In order to identify the capacitance value, it is possible to write Eq. (5.4b) as:

$$ \ln \left( {I_{2} - I_{\text{load}} (\infty )} \right) = \ln \left( {I_{2} (0^{ + } ) - I_{\text{load}} (\infty )} \right) - \frac{t}{{\tau_{C} }} = q_{1} + m_{1} \times t $$
(5.12)

and, thus, to apply a LSR to the quantity:

$$ \ln \left[ {\left. {I_{\text{load}} } \right|_{{t^{*} + \varepsilon }}^{{t^{*} + \varepsilon + \Updelta T_{2} }} - I_{\text{load}} (\infty )} \right] $$
(5.13)

The opposite of the slope m 1 will give the inverse of the capacitive time constant. The quantity \( e^{{q_{1} }} \) allows I 2(0+) to be determined:

$$ I_{2} (0^{ + } ) = e^{{q_{1} }} + I_{\text{load}} (\infty ) $$
(5.14)

Then, the parasitic resistance R C can be calculated by rewriting Eqs. (5.7) and (5.8) as:

$$ R_{\text{CS}} = \frac{{V_{\text{OC}} }}{{I_{2} (0^{ + } )}} - R_{L} $$
(5.15)
$$ R_{C} = \left( {\tfrac{1}{{R_{\text{CS}} }} - \tfrac{1}{{R_{S} }}} \right)^{ - 1} $$
(5.16)

Finally, the capacitance will be given by:

$$ C = \frac{{\tau_{C} }}{{R_{C} + R_{\text{SL}} }} $$
(5.17)

Similarly, in order to identify the inductance value, it is possible to write Eq. (5.4a) as:

$$ \ln \left( {I_{2} (0^{ + } ) - I_{1} } \right) = \ln I_{2} (0^{ + } ) - \frac{t}{{\tau_{L} }} = q_{2} + m_{2} \times t $$
(5.18)

and, thus, to apply a LSR to the quantity:

$$ \ln \left[ {I_{2} (0^{ + } ) - \left. {I_{\text{load}} } \right|_{0}^{{\Updelta T_{1} }} } \right] $$
(5.19)

The opposite of the slope m 2 will give the inverse of the inductive time constant, whereas the inductance will be given by:

$$ L = \tau_{L} \times \left( {R_{L} + R_{\text{CS}} } \right) $$
(5.20)

Finally, the quantity \( e^{{q_{2} }} \) can be used to verify the goodness of the whole procedure, since it should be equal to I 2 (0+).

It should be borne in mind that the hypothesis that the operating point moves in a quite linear portion of the PV characteristic does not affect the generality of the results. As a matter of fact, the determined equivalent circuit is able to reproduce the PV source behavior even if the operating point is changed. The advantage of the proposed approach consists on the determination of a constant capacitance value that allows transients to be correctly reproduced. Since this value can be assumed as an average value, the obtained results can be slightly different when transitions involve points located at the boundary of the I–V curve or when nonlinear capacitance effects are relevant.

Moreover, the circuit parameters achieved by the proposed methodology can be added to any static PV model (double diode with or without shunt resistor) because the fitting is performed on real data.

3 Parameters Identification

In this section an example of parameter identification, using the above explained approach, is proposed. The identification procedure is based on experimental data; thus, a dedicated experimental setup with the following features has been used: a measurement system for the detection of current and voltage at the PV source output, a system for the measurement of solar irradiance and temperature, and finally a programmable resistive load.

In particular, for current and voltage measurement, an Agilent MSO6104A 4 Gsamples/s oscilloscope has been used, the solar irradiance is obtained by a pyranometer Kipp & Zonen CM6b, installed with the same tilt as the modules.

Firstly, the static model of the PV source has been identified. The adopted model is the one described by (3.13) and (3.14) and the technique described in Sect. 4.4.2.3, dealing with the identification from remarkable experimental points, has been adopted. The temperature has been estimated by performing a LSR according to Eq. (4.58).

For a measured value of solar irradiance equal to G = 655 W/m2, the characteristic parameters of the considered module are: V oc = 19.6 V, I sc = 0.96 A, V MP = 14.96 V, I MP = 0.92 A. By substituting these values in the set of Eq. (4.46), the four parameters of the model described by Eq. (3.13) have been found:

$$ \left\{ {\begin{array}{*{20}c} {I_{0} = 0.96\,{\text{A}}} \\ {R_{s} = 3.245\,{{\Upomega}}} \\ {K_{1} = 1.9207} \\ {K_{2} = - 37.6872} \\ \end{array} } \right. $$
(5.21)

Firstly, a step load current transient has been acquired during the transition from the open circuit point to a point which is located halfway between V oc and the MPP. Taking into consideration that the MPP is obtained by a load resistance equal to R L,MPP = 16.2 Ω a value of R load = 23.1 Ω has been chosen. The obtained waveform is shown in Fig. 5.5. It should be noted that this curve corresponds to a second-order system response, as expected. This test gives the peak time (t * = 2 × 10−6 s) and the steady-state load current (I load() = 0.712 A). Then, after plotting Eq. (5.13), the chosen interval for the first LSR has been fixed by means of the following parameters: ε = 5 × 10−8 s, ΔT 2 = 6 × 10−6 s. Figure 5.6 shows the plot of Eq. (5.13) and Fig. 5.7 shows a zoom on the chosen interval. The regression line y = q 1 + m 1 × t has been superimposed.

Fig. 5.5
figure 5

Typical transient waveform of load current

Fig. 5.6
figure 6

Plot of ln[I loadI load()] versus time, with the interpolating line superimposed

Fig. 5.7
figure 7

Zoom of Fig. 5.6 which shows the chosen interval for the LSR

The opposite of the inverse of the slope gives the following capacitive time constant:

$$ \tau_{c} = 3.186{\kern 1pt} \,\varvec{\mu}{\text{s}} $$
(5.22)

Subsequent calculations, performed according to Eqs. (5.145.16), allow the following quantities to be determined:

$$ I_{2} \left( {0^{ + } } \right) = 0. 7 6 2 {\text{ A}} $$
(5.23)
$$ R_{C} = 9.56 \, \Upomega $$
(5.24)

Therefore, the capacitance value has been determined according to (5.17):

$$ C = 256.92{\text{ nF}} $$
(5.25)

Furthermore, by using Eq. (5.6) it is possible to determine that \( V_{\rm{oc}}^{\prime}\) = 17.6 V.

In order to perform the second LSR, Eq. (5.19) has been plotted and the parameter ΔT 1 = 1 × 10−6 s has been chosen. Figure 5.8 shows the plot of Eq. (5.19) and Fig. 5.9 shows a zoom on the chosen interval. The regression line y = q 2 + m 2 × t has been superimposed.

Fig. 5.8
figure 8

Plot of ln[I 2 (0+)−I load] versus time, with the interpolating line superimposed

Fig. 5.9
figure 9

Zoom of Fig. 5.10 which shows the interval chosen for the LSR

The opposite of the inverse of the slope gives the following inductive time constant:

$$ \tau_{L} = 0.373{\kern 1pt} \,\varvec{\mu}{\text{s}} $$
(5.26)

Therefore, according to Eq. (5.20), the inductance value is:

$$ L = 9.52{\kern 1pt} \,\varvec{\mu}{\text{H}} $$
(5.27)

In order to verify the goodness of the whole procedure, the quantity \( e^{{q_{2} }} \) has been evaluated and compared to the value given in Eq. (5.23). The following error has been calculated:

$$ e_{\% } = \frac{{I_{2} (0^{ + } ) - e^{{q_{2} }} }}{{I_{2} (0^{ + } )}} \times \,100 = \frac{{ 0. 7 6 2 { - 0} . 7 4 6}}{ 0. 7 6 2} \times \,100 = 2.1\% $$
(5.28)

which is acceptable.

Finally, Fig. 5.10 shows the load current I load, the curves I 1, and I 2 on which the load current waveform lies and their sum shifted by K according to (5.3).

Fig. 5.10
figure 10

Load current I load, curves I 1 and I 2 and their sum shifted by K

In order to provide an additional validation of the electrical dynamic model, a new transient has been acquired by means of the same set-up (module, oscilloscope, and pyranometer). A different load resistor has been used (R load = 21.85 Ω) and the pyranometer has given a value of G = 773 W/m2, at which the characteristic parameters of the modules are: V oc = 19.8 V, I sc = 1.145 A, V MP = 14.16 V, I MP = 1.07 A. Following the procedure of Sect. 4.4.2.3, the four parameters of Eq. (3.13) have been found:

$$ \left\{ {\begin{array}{*{20}c} {I_{0} = 1.145\,{\text{A}}} \\ {R_{s} = 3.3905\,{\kern 1pt} \Upomega } \\ {K_{1} = 1.3546} \\ {K_{2} = - 26.6852} \\ \end{array} } \right. $$
(5.29)

Then, the model described by Eq. (3.13) with parameters (5.29) and by the circuit of Fig. 5.2 with parameters (5.24), (5.25), (5.27) has been implemented in the Simulink®-PLECS® environment and a simulation has been performed.

Figures 5.11 and 5.12 show the acquired and simulated waveforms of load current and module voltage. As it can be seen, the model is able to reproduce the electrical transient very faithfully.

Fig. 5.11
figure 11

Acquired and simulated waveforms of load current

Fig. 5.12
figure 12

Acquired and simulated waveforms of module voltage

The difference during the initial voltage drop in Fig. 5.12 could be eliminated by complicating the model, however, this would complicate also the procedure for the parameters identification, despite a minimal gain in precision because the spike duration is less than 1 microsecond.

4 Matlab/Simulink® Simulation of PV Electrical Characteristics

In this section the Matlab/Simulink® schemes, used for simulating the PV source dynamic behavior, are described. In order to introduce this subject, an overview of the PV model implementation schemes, including static formulations, is presented.

4.1 V = f(I) Static Model Formulation

Equation 3.13, here rewritten, can be inverted to obtain the photovoltaic source voltage having its current as input.

$$ I = I_{0} - e^{{[(V + IR_{s} )K_{1} + K_{2} ]}} $$

The following equation is obtained.

$$ V = \frac{{\ln \left( {I_{0} - I} \right) - K_{2} }}{{K_{1} }} - IR_{s} $$
(5.30)

If the series resistance can be neglected, the model can be implemented in Simulink® as sketched in Fig. 5.13.Footnote 1

Fig. 5.13
figure 13

Simulink® implementation of V = f(I) model neglecting R s

Otherwise, if the R s has to be included, the corresponding model is drawn in Fig. 5.14.

Fig. 5.14
figure 14

Simulink® implementation of V = f(I) model including R s

It should be noted that the V = f(I) formulation implies the calculation of a logarithm. Normally, it is I 0  > I; however, this conditions could not be satisfied during transients, so the application of a very small inferior limit to (I 0  − I) by a saturator block (not shown in Fig. 5.14) avoids errors.

4.2 I = f(V) Static Model Formulation

In some implementations it is useful to use a I = f(V) formulation. In this case, if the series resistance, R s , can be neglected, Eq. (3.13) gives:

$$ I = I_{0} - e^{{\left( {VK_{1} + K_{2} } \right)}} $$
(5.31)

This last equation can be simply implemented as in the scheme of Fig. 5.15.

Fig. 5.15
figure 15

Simulink® implementation of I = f(V) model neglecting R s

To include the series resistance R s , a recursive model is utilized. In this case, Eq. (3.13) is used to obtain a first value of I neglecting R s . Then it is re-introduced in the second member of (3.13) to obtain a new value of I, and so on. This model can be implemented as shown in Fig. 5.16.

Fig. 5.16
figure 16

Simulink® implementation of I = f(V) model including Rs

Finally, the parallel resistance R p can be included in the model. In this case, the equation to be considered is:

$$ I = I_{0} - e^{{[(V + IR_{s} )K_{1} + K_{2} ]}} - \frac{{V + IR_{s} }}{{R_{p} }} $$
(5.32)

The effect of R p consists on lessening the output current and the corresponding model is shown in Fig. 5.17.

Fig. 5.17
figure 17

Simulink® implementation of I = f(V) model including R s and R p

In the following example, the above explained Simulink® models have been used to achieve the PV characteristics for different values of R s and R p .

The used remarkable points refer to an actual PV module and they have been measured experimentally at G = 773 W/m2. Then, by using the algorithm described in Sect. 4.4.2.3, the four parameters of the model have been determined.

The parasitic parallel resistance has been calculated on the basis of the slope of the I–V characteristic near the short-circuit current as shown in (4.3).

All parameters can be loaded by the following m-file:

Figure 5.18 shows the photovoltaic source characteristics calculated for four couples of R s and R p values. It should be noted that the effect of R s is to lessen the maximum power points voltage and current values. The value R p = 3000 Ω does not influence significantly the characteristic with respect to the ideal case of R p = ∞. A further value of R p  = 300 Ω has been introduced for comparison in the simulation. In this case the output current drop in the short circuit region is noticeable.

Fig. 5.18
figure 18

Photovoltaic source characteristic for different values of R s and R p

4.3 S-Domain Dynamic Model

Figure 5.19 shows the equivalent circuit for s-domain Simulink® implementation of a PV source dynamic model. Three main circuit blocks are present. The single diode PV model, the capacitance with its series parasitic resistance, and the parasitic inductance, series connected to the load resistance. These three blocks are connected in parallel.

Fig. 5.19
figure 19

Equivalent circuit for s-domain Simulink® implementation

The implemented model is a recursive one in which the voltage, applied at the same time to the single diode PV model and to the capacitance–resistance series, origins the current. By subtracting from the PV source current the one that flows in the capacitance–resistance series, the load current is obtained. This is finally imposed to the inductance-load block; the voltage is obtained and it is again applied to the parallel formed by the PV source and capacitance–resistance series.

In Fig. 5.20 a principle block diagram for the s-domain Simulink® implementation of the PV source dynamic model is shown.

Fig. 5.20
figure 20

Principle block diagram for s-domain Simulink® implementation

The circuit blocks are implemented as follows. As for the PV source, the model shown in Fig. 5.16 has been used. It represents a I = f(V) formulation neglecting R p . The block capacitance–parasitic resistance is implemented using the Simulink® transfer function block for the conductance transfer function.

$$ Y_{C} (s) = \frac{{I_{C} (s)}}{V(s)} = \frac{sC}{{sR_{c} C + 1}} $$
(5.33)

Finally, the parasitic inductance and the load resistance have the load current in common; their voltage is calculated separately and then they are summed. The inductance is implemented as its impedance in the Laplace domain, sL, with an additional far pole to obtain a proper system in the transfer function. The load resistance is connected by a multiplier block to simulate a step load variation.

In the feedback loop an “initial condition” block is inserted to avoid algebraic loop errors. The final Simulink® scheme is illustrated in Fig. 5.21.

Fig. 5.21
figure 21

S-domain Simulink® implementation of PV source including parasitic capacitive and inductive effects

4.4 Nonlinear Junction Capacitance Implementation

In Sect. 2.12 an expression for the nonlinear junction capacitance has been obtained and it is given in (2.98). This expression is valid under the hypothesis \( \omega \tau_{p} \ll 1 \) and it can be rewritten as :

$$ C_{D} = ae^{bV} $$
(5.34)

where V is the voltage across the capacitance, a and b are two constant values, given, respectively, by:

$$ \left\{ {\begin{array}{ll} {a = \frac{{AqD_{p} p_{n0} \tau_{p} }}{{2L_{p} V_{T} }}} \\ {b = {\raise0.7ex\hbox{$1$} \!\mathord{\left/ {\vphantom {1 {V_{T} }}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${V_{T} }$}}} \\ \end{array} } \right. $$
(5.35)

In order to obtain the capacitance constitutive equation, it can be observed that the charge stored in the capacitance is given by the product of the same capacitance multiplied by the voltage and that the current is the time derivative of the charge.

$$ I = \frac{\text{d}}{{{\text{d}}t}}Q = \frac{\text{d}}{{{\text{d}}t}}\left( {V\, \times \,C_{D} } \right) = \frac{\text{d}}{{{\text{d}}t}}\left( {aVe^{bV} } \right) = ae^{bV} \left( {1 + bV} \right)\frac{{{\text{d}}V}}{{{\text{d}}t}} $$
(5.36)

The current is obtained as the product of four terms, where \( ae^{bV} \)represents the junction capacitance defined by (5.34).

The nonlinear capacitance can be simulated in Matlab-Simulink®. If the junction parameters are known, the capacitance parameters can be calculated analytically. As an example, considering the following values:

$$ \left\{ {\begin{array}{*{20}c} {A = 10\,\varvec{\mu}{\text{m}}^{ 2} } \hfill \\ {q = 1.6 \times 10^{ - 19} {\kern 1pt} {\text{C}}} \hfill \\ {D_{p} = 1.3 \times 10^{ - 3} {\kern 1pt} \,{{\text{m}} \mathord{\left/ {\vphantom {{\text{m}} {{\text{s}}^{ 2} }}} \right. \kern-\nulldelimiterspace} {{\text{s}}^{ 2} }}} \hfill \\ {V_{T} = 0.026{\kern 1pt} {\kern 1pt} \,{\text{V}}} \hfill \\ {p_{n0} = 2.1 \times 10^{11} \,{\text{m}}^{ - 3} \,({\kern 1pt} N_{D} = 10^{15} {\kern 1pt} {\text{cm}}^{ - 3} )} \hfill \\ {\tau_{p} = 10\,\varvec{\mu}{\text{s}}} \hfill \\ \end{array} } \right. $$
(5.37)

It follows that \( L_{p} = \sqrt {\tau_{p} D_{p} } = 1.1 \times 10^{ - 4}\, {\text{m}} \) and finally

$$ \left\{ {\begin{array}{ll} {a = 7.1 \times 10^{ - 16} {\kern 1pt} {\text{F}}} \\ {b = 38.5{\kern 1pt} {\kern 1pt} {\text{V}}^{ - 1} } \\ \end{array} } \right. $$
(5.38)

On the basis of Eq. (5.36), the Simulink® implementation shown in Fig. 5.22 is obtained. The output current is calculated as the product of four terms as in Eq. (5.36). The condition \( \omega \tau_{p} \ll 1 \), corresponding to a highest frequency related to the rise time by the relationship \( f_{h} = {1 \mathord{\left/ {\vphantom {1 {\pi \tau_{r} }}} \right. \kern-\nulldelimiterspace} {\pi \tau_{r} }} \) gives: \( \tau_{r} \gg 2 \times 10^{ - 5} {\text{s}} \).

Fig. 5.22
figure 22

Simulink® scheme for the simulation of a nonlinear junction capacitance

It should be noted that, differently from the constant capacitance C in Fig. 5.2 which represents an average value that can be determined only by experiment-based which identification procedures, the nonlinear junction capacitance can be analytically calculated by using Eqs. (5.34) and (5.35).

Figure 5.23 shows the simulated output current for the nonlinear capacitance when a sinusoidal voltage with frequency equal to 1 kHz and amplitude 0.6 V is given as input. As a comparison, the output current for a linear capacitance, whose value is equal to the constant a, is plotted as well. It should be noted that the nonlinear capacitance exalts the input voltage variation and the output current shape differs from that of the input voltage, contrarily to what happens for the linear capacitance.

Fig. 5.23
figure 23

Simulation of nonlinear and linear capacitance behavior: input voltage (top), output current at the nonlinear capacitance (middle) and output current at the linear capacitance (bottom)

Another interesting property of the nonlinear capacitance is shown in Figs. 5.24 and 5.25. In particular, both the linear and the nonlinear capacitance experience a step voltage transient from 0.1 to 0.2 V and from 0.4 to 0.5 V. The step voltage has a rise time of about 3 ms.

Fig. 5.24
figure 24

Simulation of nonlinear and linear capacitance behavior for a step voltage from 0.1 V to 0.2 V: input voltage (top), output current at the nonlinear capacitance (middle) and output current at the linear capacitance (bottom)

Fig. 5.25
figure 25

Simulation of nonlinear and linear capacitance behavior for a step voltage from 0.5 V to 0.6 V: input voltage (top), output current at the nonlinear capacitance (middle) and output current at the linear capacitance (bottom)

It should be noted that the current given by the linear capacitance remains the same; on the contrary, the current given by the nonlinear capacitance depends on the starting value too.

4.5 PV Model Including Nonlinear Junction Capacitance

A new dynamic model of a PV source can be obtained including the effect of the nonlinear junction capacitance. The equivalent circuit is shown in Fig. 5.26. It differs from the circuit of Fig. 5.19 because the non-linear capacitance is connected in parallel to the diode and the series resistance is included in the load resistance. However, the philosophy for the implementation remains the same. The PV source and the nonlinear capacitance have the same voltage and supply the load current to the series formed by R s and the load resistance. If necessary, the parasitic inductance can be considered too as shown in Sect. 5.4.3.

Fig. 5.26
figure 26

Dynamic model of the PV source including the nonlinear junction capacitance and the load

The related block diagram is shown in Fig. 5.27.

Fig. 5.27
figure 27

Block diagram for Simulink® s-domain implementation of dynamic PV model

As for the Simulink® implementation, some further considerations are necessary. The PV source model is the one shown in Fig. 5.15; the nonlinear capacitance model is the one shown in Fig. 5.22. It should be borne in mind that this model refers to a single cell. If one wants to simulate the series connection of more cells, as in a module, the input voltage has to be divided for the number of the cells connected in series. The higher is the number of series connected cells, the lower is the influence of the nonlinear capacitance on the dynamic behavior of the PV source.

The load contains a constant part given by R s and a variable term to simulate load transitions.

Finally, the presence of a derivative block in the nonlinear capacitance model could lead to errors due to the solver failing to converge. Therefore, as a workaround, the first derivative of the capacitance can be calculated in a different way, as it will be shown hereinafter.

The Simulink® scheme is shown in Fig. 5.28a.

Fig. 5.28
figure 28

a Simulink® scheme for the simulation of the PV source including the effects of the nonlinear junction capacitance. b Simulink® scheme for the simulation of the PV source including the effects of the nonlinear junction capacitance and the parasitic inductance

Finally, the parasitic inductance series connected to the load resistance can be considered as well. In this case, the corresponding Simulink® scheme is shown in Fig. 5.28b.

It should be noted that the parasitic inductance becomes relevant when a great number of cells are connected in series.

4.6 Circuit Implementation Using PLECS®

A complete dynamic model of a PV generator, which takes into account the voltage-dependent junction capacitance, can be implemented in the Matlab/Simulink® environment in several ways. In particular, the time-domain equations of the model can be implemented either with Simulink® basic blocks, similarly to what has been presented in Fig. 5.21 for the S-domain implementation, or with dedicated circuit-oriented toolboxes, such as SimPowerSystems™ Blockset by The Mathworks, Inc., or PLECS® by PLEXIM GmbH.

PLECS® is a very useful software tool for modeling electrical circuits within MATLAB/Simulink® environment. It allows to perform high-speed simulations of power electronic systems and offers a rich component library. The use of this toolbox allows an actual plant to be implemented, for example a power electronic circuit, as a PLECS® subsystem, and to develop the related control using standard Simulink® blocks.

In the following, the electrical circuit which models the PV source has been implemented using PLECS® Toolbox and connected to some external Simulink blocks, as shown in Fig. 5.29.

Fig. 5.29
figure 29

Complete model of a PV array, which takes into account the voltage-dependent junction capacitance

The circuit model, shown in Fig. 5.30, encompasses the following components: a voltage dependent current generator, which is driven by the “I = f(V)” block in the first feedback loop, according to the PV source model shown in Fig. 5.15; the shunt resistance; the nonlinear capacitance, driven by the “Calc_C_and_C_dot” block in the second feedback loop; the series resistance and the variable resistive load with the parasitic inductance. Initial condition (IC) blocks have been placed in both loops to avoid algebraic loop errors.

Fig. 5.30
figure 30

Circuit model implemented in PLECS®

The internal structure of the block which drives the nonlinear capacitance is shown in Fig. 5.31.

Fig. 5.31
figure 31

Internal structure of the “Calc_C_and_C_dot” block

The total capacitance is the sum of the transition capacitance C T , which is almost constant with the junction voltage, and the diffusion capacitance C D , which is voltage dependent according to Eq. (5.34). More details about nonlinear capacitance are given in Garrigós et al. (2006) and Schwander (2002).

The transition capacitance depends on the cell area. Taking into account the results obtained in Schwander (2002) and Block et al. (2002), typical values are about 40 nF/cm2 for silicon cells and 50 nF/cm2 for triple junction GaAs cells.

In general, a PV module can be made up of N p groups of cells in parallel; each group having N s cells in series. The simulated PV module is a p-Si module with N p  = 1 and N s  = 36; the cell area is S = 5 × 10 = 50 cm2. Hence, the transition capacitance of a single cell is C T,cell = 40 × 50 = 2000 nF. This value is then multiplied by N p /N s to obtain the transition capacitance of the whole PV module: C T  = 2000 × 1/36 = 55.5 nF.

As for the diffusion capacitance, it can be observed that coefficient a in (5.36) has a very small value; on the contrary, the term e bV has a very large value: assuming a cell voltage of 0.9 V (not uncommon during transients) and using for coefficient b the value calculated in Sect. 5.4.4, it is e bV = 1,117,644,789,978,933 so an overflow error in the calculation of Eq. (5.34) can occur. As a workaround, (5.34) can be rewritten as:

$$ C_{D} = a\, \times \,e^{bV} = 10^{ - 9} \, \times \,a\, \times \,10^{9} \, \times \,e^{bV} \, = \,10^{ - 9} \, \times \,e^{bV + d} $$
(5.39)

with \( d = \log (a\, \times \,10^{9} ) \). Coefficient d is negative so now the exponential term is raised to a smaller quantity. Equation (5.39) is implemented in block “Cd_cell”, which calculates the diffusion capacitance of a single cell, given the cell voltage. The saturation block applies a very small inferior limit to the source voltage so, when the cell voltage is negative, it is C D \( = a \cong 0 \) and the total cell capacitance equals C T .

The chosen limit, indicated by eps, is the so-called machine epsilon, i.e., the distance from 1.0 to the next largest floating-point number on the specific machine Matlab® is running on. The diffusion capacitance of a single cell is then multiplied by N p /N s to obtain the diffusion capacitance of the whole PV module.

Finally, the first derivative (C_dot) of the capacitance has to be calculated and passed to the variable capacitance component inside the circuit model. However, using Matlab®’s built-in derivative block, errors can occur or the simulation could hang due to the solver failing to converge. Therefore, as a workaround, the first derivative of the capacitance can be calculated in a different way.

Two expressions can be written for the capacitive current:

$$ \left\{ {\begin{array}{*{20}c} {I = \frac{{{\text{d}}Q}}{{{\text{d}}t}} = \frac{{{\text{d}}(C \times V)}}{{{\text{d}}t}} = V\frac{{{\text{d}}C}}{{{\text{d}}t}} + C\frac{{{\text{d}}V}}{{{\text{d}}t}}} \\ {I = \frac{{{\text{d}}Q}}{{{\text{d}}t}} = \frac{{{\text{d}}(C \times V)}}{{{\text{d}}t}} = \frac{\text{d}}{{{\text{d}}t}}\left( {C_{T} \times V} \right) + \frac{\text{d}}{{{\text{d}}t}}\left( {C_{D} \times V} \right)} \\ \end{array} } \right. $$
(5.40a,b)

From (5.36) it is:

$$ \frac{\text{d}}{{{\text{d}}t}}\left( {C_{D} \times V} \right) = C_{D} \times \left( {1 + bV} \right) \times \frac{{{\text{d}}V}}{{{\text{d}}t}} $$
(5.41)

Substituting Eq. (5.41) in Eq. (5.40b) it is possible to rewrite Eqs. (5.40a, b) as:

$$ \left\{ {\begin{array}{ll} {\frac{{{\text{d}}C}}{{{\text{d}}t}} = \frac{{I - C{\raise0.7ex\hbox{${{\text{d}}V}$} \!\mathord{\left/ {\vphantom {{{\text{d}}V} {{\text{d}}t}}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{${{\text{d}}t}$}}}}{V}} \\ {\frac{{{\text{d}}V}}{{{\text{d}}t}} = \frac{I}{{C_{T} + C_{D} \times \left( {1 + bV} \right)}}} \\ \end{array} } \right. $$
(5.42a,b)

Finally, substituting Eq. (5.42b) in Eq. (5.42a) it is possible to obtain:

$$ \begin{aligned} \frac{{{\text{d}}C}}{{{\text{d}}t}} = \frac{{I - \frac{I \times C}{{C_{T} + C_{D} \times \left( {1 + bV} \right)}}}}{V} &= \frac{I}{V}\left[ {\frac{{C_{D} \times \left( {1 + bV} \right) - C_{D} }}{{C_{T} + C_{D} \times \left( {1 + bV} \right)}}} \right] \\ &= \frac{{I \times C_{D} \times b}}{{C_{T} + C_{D} \times \left( {1 + bV} \right)}} \\ \end{aligned} $$
(5.43)

The “Calc_C_dot” block implements Eq. (5.43); then, the first derivative of the capacitance is multiplied by N p /N s to scale the result to the whole PV module.

The model has been simulated with the parameters expressed by Eq. (5.29) which are defined in the following m-file, together with other required parameters:

Several simulations have been performed, which are summarized in Table 5.1.

Table 5.1 Outline of the performed tests

In general, the behavior of a second-order system is expected for the presence of the parasitic inductance and of the nonlinear capacitance. However, the step response can be very different depending on the capacitance value (as explained higher values of cell voltage imply higher capacitance values) and on the final value of the load resistor (high values of the load resistance imply negative real and noninteracting poles; on the contrary for small values of the load resistance poles become complex conjugates).

Seven tests have been simulated. The starting load resistance value is denoted by RL,old. The first three tests start from an open circuit condition (indicated as a high value load resistance). The load is step changed to a finite value (indicated as R L ) that corresponds to a point just under the MPP for test #1, just above the MPP for test #2 and to a short-circuit condition for test #3.

The couples of tests #2–#7 and #3–#6 have the starting and arriving point exchanged to show the different characteristics of the related transients.

Table 5.1 contains the expression of the load current initial value (indicated as I old) and of the initial value of the voltage across the capacitor (indicated as V C,old).

4.6.1 Test #1

In this test, the load is step changed from a very high value (reproducing the open circuit condition) to a value just under the MPP. Figure 5.32 shows the module voltage V mod and the load current I load multiplied for a scale factor of ten. The current exhibits a slightly underdamped trend in which the two poles are real and negative and where the two related time constants are recognizable. Figure 5.33 shows the capacitance value and its time derivative.

Fig. 5.32
figure 32

PV output voltage and current (test #1)

Fig. 5.33
figure 33

Value of junction capacitance and its derivative (test #1)

It should be noted that the capacitance value decreases and that its variation occurs during transient as expected. Finally, in Fig. 5.34, the static I–V characteristic is shown with the trajectory locus superimposed. In this case, the locus goes from the starting to the final point it exhibits higher voltage and current compared to the static ones. Although the capacitance reduction is significant, the operating zone is quite linear. Therefore, the distortion in voltage and current waveforms is not so evident.Footnote 2

Fig. 5.34
figure 34

Static PV characteristic and dynamic trajectory (test #1)

4.6.2 Test #2

Test #2 is similar to test #1, but the load is step changed from a very high value (reproducing the open circuit condition) to a value which corresponds to a current higher than the MPP current; as a matter of fact, a lower final value of the load resistor is adopted.

Figure 5.35 shows the module voltage V mod and the load current I load multiplied for a scale factor of ten. As in the previous test, the current exhibits an underdamped trend but, in this case, there is a more evident overshoot and the current rises up to a value equal to about 20 % of the final value; the oscillation continues with a barely noticeable negative amplitude; then the waveform increases again, reaching the steady-state value.

Fig. 5.35
figure 35

PV output voltage and current (test #2)

The load resistance value, lower than the one adopted in test #1, has lessened the damping ratio. The poles are complex conjugates with a high value of the real part. Figure 5.36 shows the capacitance value and its time derivative. Also in this case the capacitance value decreases corresponding to lower values of the output voltage. Finally, in Fig. 5.37, where the static I–V characteristic is shown with the trajectory locus superimposed, the higher values of load current can be appreciated as well. Now the operating point passes the knee of the characteristic when the capacitance variation is significant. Both effects combine, causing an evident distortion of the voltage waveform; on the contrary, the load current waveform is not distorted, thanks to the series inductor. The current drained by the junction capacitor, not shown, is distorted as well.

Fig. 5.36
figure 36

Value of junction capacitance and its derivative (test #2)

Fig. 5.37
figure 37

Static PV characteristic and dynamic trajectory (test #2)

4.6.3 Test #3

In this test, the load is step changed from a very high value (reproducing the open circuit condition) to a null value corresponding to the short-circuit condition. Figure 5.38 shows the module voltage V mod and the load current I load multiplied for a scale factor of ten. Both current and voltage exhibit a damped oscillatory behavior with high overshoot. In particular, the current peak rises to about 150 % of its final value. The final null value of the load resistance imposes that the poles are complex conjugates with a low value of the real part. Figure 5.39 shows the capacitance value and its time derivative.

Fig. 5.38
figure 38

PV output voltage and current (test #3)

Fig. 5.39
figure 39

Value of junction capacitance and its derivative (test #3)

It should be noted that the final capacitance value is almost the same as for the previous test, since in both cases the arriving point belongs to the nearly constant current region, where the cell voltage is lower than 0.35 V. Despite that, the capacitance reduction is faster, so the time derivative value during transient is much higher than in the other two tests. In Fig. 5.40, where the static I–V characteristic is shown with the trajectory locus superimposed, the locus exhibits a particular spiral shape.

Fig. 5.40
figure 40

Static PV characteristic and dynamic trajectory (test #3)

Once again, the nonlinearity of the characteristic combines with the significant capacitance variation, causing an evident distortion of the voltage waveform; on the contrary, the load current waveform is not distorted, thanks to the series inductor.

4.6.4 Test #4

Test #4 is performed by raising the load resistance value; in this case the current is lowered and the voltage rises. In particular, in this test the load is step changed from a null value (reproducing the short circuit condition) to a value near the MPP.

It should be noted that the final value is the same as in test #1, so it implies a similar behavior in terms of step response, as it can be noted from Fig. 5.41, where the module voltage V mod and the load current I load multiplied for a scale factor of ten are shown. As expected, the current exhibits an underdamped curve with two different time constants, due to the contribution of the parasitic inductance and of the capacitance, respectively.

Fig. 5.41
figure 41

PV output voltage and current (test #4)

The current has a peak whose value is much lower than the final one. Figure 5.42 shows the capacitance value and its time derivative. It can be noted that, being the voltage smaller compared with the previous test, a smaller variation of the capacitance value is to be expected. Finally, the dynamic trajectory shown in Fig. 5.43 shows that this locus is quite far from the static I–V curve. Since the operating point passes the knee of the characteristic when the capacitance variation is not significant, the voltage distortion is not evident.

Fig. 5.42
figure 42

Value of junction capacitance and its derivative (test #4)

Fig. 5.43
figure 43

Static PV characteristic and dynamic trajectory (simulation #4)

4.6.5 Test #5

Test #5 is performed by step changing the load between two finite values of the resistance load i.e., R L,old = 9 Ω and R L  = 30 Ω. The corresponding points are at the left and at the right of the MPP, respectively. It should be noted that the final resistance value is higher than the one corresponding to the MPP; it implies that the poles are real and negative; moreover they are more distant compared to the previous test.

Figure 5.44 shows the module voltage V mod and the load current I load multiplied for a scale factor of ten. The current peak is reduced and a higher variation of the nonlinear capacitance can be appreciated in Fig. 5.45.

Fig. 5.44
figure 44

PV output voltage and current (test #5)

Fig. 5.45
figure 45

Value of junction capacitance and its derivative (test #5)

As in test #4, the dynamic trajectory is quite far from the static I–V curve as shown in Fig. 5.46. Since the operating point passes the knee of the characteristic when the capacitance variation is not significant, the voltage distortion is not evident.

Fig. 5.46
figure 46

Static PV characteristic and dynamic trajectory (test #5)

4.6.6 Test #6

This test has the starting and final point exchanged compared to test #3. The presence of a high value of the final load resistance value (corresponding to an open circuit) makes the poles real, negative, and very distant. In particular, the contribution of the parasitic inductance is hardly recognizable; to this aim, the output current and voltage profiles are plotted with two different time-scale in Figs. 5.47a and b. Figure 5.47a shows the contribution of the capacitance, being it a microseconds time scale. On the contrary, the contribution of the inductance requires a time scale expressed in tens of nanoseconds to be appreciated as shown in Fig. 5.47b. When the circuit is opened, firstly the current drops to zero with the very fast inductive time constant and the module voltage rises to equal the capacitor voltage, which stays constant; then the load resistor and the inductor are definitely disconnected, so the module voltage is coincident with the capacitor voltage and they start increasing with the very slow capacitive time constant.

Fig. 5.47
figure 47

PV output voltage and current (test #6) a (left) microseconds time scale, b (right) nanoseconds time scale

As for the capacitance, the final voltage near V oc implies higher values compared to all the previous tests, as shown in Fig. 5.48.

Fig. 5.48
figure 48

Value of junction capacitance and its derivative (test #6)

Finally, the dynamic trajectory, sketched in Fig. 5.49 exhibits two straight lines: firstly, the locus goes from the starting point to a point with null current and a low value of the voltage; then the voltage rises from this point to V oc , remaining the current null. No distortion appears since the knee is passed when the current is null, i.e., the module voltage is coincident with the capacitor voltage.

Fig. 5.49
figure 49

Static PV characteristic and dynamic trajectory (test #6)

4.6.7 Test #7

This test has the starting and final point exchanged compared to test #2. Also, in this case, the presence of a high value of the final load resistance value (corresponding to an open circuit) makes the poles real, negative and very distant, and the contribution of the parasitic inductance is hardly recognizable. The output current and voltage profiles are plotted with two different time-scale in Figs. 5.50a and b.

Fig. 5.50
figure 50

PV output voltage and current (test #7) a (left) microseconds time scale, b (right) nanoseconds time scale

As for the capacitance value, the obtained curves are almost the same of test #6 and they are shown in Fig. 5.51.

Fig. 5.51
figure 51

Value of junction capacitance and its derivative (test #7)

Finally, the dynamic trajectory, sketched in Fig. 5.52 exhibits two straight lines: firstly, the locus goes from the starting point to a point with null current and a low value of the voltage; then the voltage goes from this point to V oc remaining the current null. The slope of the first line of the locus equals that of the corresponding line in Fig. 5.49. This is correct, because the inductive time constant does not change and the starting point has almost the same current value, so the two inductive transients are almost identical.

Fig. 5.52
figure 52

Static PV characteristic and dynamic trajectory (test #7)

5 Conclusions

A model reproducing the electric dynamics of a PV module as seen at the load terminals is set up. The model considers the junction capacitive effect and the inductive contribution from cells or connecting cables. For this reason a second-order response of the circuit to step load variations is obtained.

A parameter identification method based on experimental measurements, which considers an equivalent lumped parameter model, is proposed. The related tests have to be performed with step variations of a purely resistive load to put in evidence the dynamics of the model. The nonlinear junction capacitance effects are then accounted for with a dedicated model implemented in PLECS® within MATLAB/Simulink® environment and several tests are carried out to highlight how the step response varies and how the two time constants are influenced by the inductance, by the capacitance, and by the final value of the load resistance.