Skip to main content
  • Original Research
  • Open access
  • Published:

Comparison between Kalman filter and incremental conductance algorithm for optimizing photovoltaic energy

Abstract

The purpose of this paper is to present a performance comparison between two maximum power point tracking algorithms. These two algorithms are incremental conductance (INC) which is an improved version of the perturb and observe algorithm, and the second algorithm is the Kalman filter applied to a photovoltaic system. In this work, a photovoltaic panel is modeled in PSIM tool; a Boost converter controlled by the maximum power point tracker is put between the PV panel and the load. Then the two algorithms are implemented by using C language and C block provided by PSIM tool. Next, several tests under stable and variable environmental conditions are made for the two algorithms, and results show a better performance of the Kalman filter compared to the INC in terms of response time, efficiency and steady-state oscillations.

Introduction

The solar energy is now widely used in different areas like in power stations, standalone systems, and rural electrification. One of the technologies used to generate this energy is the PV panel which converts light from the sun into electricity. In order to get the maximum power available from the PV panel, researchers are working on MPPT algorithms (El-Khozondar et al. 2016). Over the last decade, many MPPT algorithms were used in order to find the MPP. These algorithms differ in many aspects such as cost, effectiveness, response time, required sensors, correct tracking in case of temperature or solar irradiance change, and implementation complexity (El-Khozondar et al. 2016). The most commonly used algorithms are fuzzy logic control, neural networks, Perturb and observe, and Incremental Conductance (Verma et al. 2016; Reisi et al. 2013). For fuzzy logic control, it has some advantages like dealing with imprecise inputs, handling nonlinearity, and fast convergence. However, this algorithm requires hardware with high specifications, high on complexity, and the effectiveness of this algorithm depends a lot on choosing the right error computation and an appropriate rule base (Reisi et al. 2013). The neural networks can track the MPP accurately and rapidly. However, this technique presents many disadvantages like the fact that the data needed for the training process have to be specifically acquired for every PV array and location, also the PV characteristics change with time, so the neural network has to be periodically trained (Reisi et al. 2013). On the other hand, P&O and INC are the most used due to their easy implementation and their low requirements in hardware and number of sensors (Motahhir et al. 2016, 2017). However, P&O algorithm presents some disadvantages such as high oscillation around the MPP because the perturbation continuously changes in both directions to maintain the MPP (Motahhir et al. 2016). Therefore, INC algorithm was proposed to minimize the steady-state oscillation by comparing the slope of the PV curve with zero, theoretically, when the peak of the PV curve is found, no further perturbation of duty cycle or no oscillation in the output power (Motahhir et al. 2017). However, the algorithm speed is slow when fixed step size is used. Therefore, the variable step size in INC algorithm was proposed in (Liu et al. 2008), which means, the fixed step size is multiplied with the slope of the PV curve. Thus, the duty cycle step size becomes smaller when the PV system operates near to the MPP (peak of the PV curve). Meanwhile, the step size is larger and possesses faster-tracking speed when the PV system operates far from the MPP.

However, INC and variable step size INC algorithms unable to respond accurately to the first step change in the duty cycle under rapid environmental changes (Tey and Mekhilef 2014). Therefore, a powerful method to predict the new position of MPP under rapid environmental changes must be used to resolve this problem. Since Kalman filter can provide an efficient computational (recursive) solution of the least-squares method. The filter is very powerful in several aspects: it supports estimations of past, present, and even future states, and it can do so even when the precise nature of the modeled system is unknown (Kalman 1960). Hence, this filter can be used to respond accurately to rapid environmental changes. Thus, in (Ramchandani et al. 2012; Kang and Park 2011) the Kalman filter was designed to find the MPP, but their design may not be practical in all situations of rapid environmental changes, because it is not tested under temperature and solar irradiance variation. Therefore, Kalman filter based MPPT is designed in this work; this proposed method responds accurately to all situations of rapid environmental changes. On the other hand, the proposed method is compared with INC algorithm to verify and evaluate its performance, because based on the analysis above, INC algorithm balances between admitted response time, good steady-state performance, and low implementation complexity. The architecture of the PV system used in this work is presented in Fig. 1. As shown, a Boost converter controlled by the MPPT algorithm is inserted between the PV panel and the load; this addition is required to remove the impedance mismatch between the panel and the load, and then the PV system can operate at MPP. The MPPT algorithms (Kalman filter or INC) are implemented in C language by using C block provided by PSIM tool.

Fig. 1
figure 1

Architecture of the PV system

The remainder of the paper is organized as follows, after the introduction; section two provides a general recall on a PV panel. Section three focuses on presenting the Boost converter and design and implementation of the Kalman filter based MPPT and the INC algorithm. Finally, section four presents the results and discussions.

PV panel model

A photovoltaic panel is composed of several PV cells put in parallel or in series. Cells generally give a voltage and a current which is very low, and that is why they are put in groups in order to provide enough voltage or current depending on how they are connected. Cells put in series will increase voltage; the ones connected in parallel will increase current. The equivalent circuit of the PV panel is shown in the figure below (Tsai and Lin 2010; Sarkar 2016; Motahhir et al. 2017) (Fig. 2).

Fig. 2
figure 2

PV panel equivalent circuit

Based on the equivalent circuit of PV panel, the output current can be presented by Eq. (1).

$$I = I_{\text{ph}} - I_{\text{s}} \left( {\exp \frac{{q\left( {V + R_{\text{s}} I} \right) }}{aKT} - 1} \right) - \frac{{V + R_{\text{s}} I}}{{R_{\text{sh}} }}$$
(1)

Solarex MSX-60 PV panel is used in this work, and its characteristics are presented in Table 1.

Table 1 Characteristics of the MSX-60 PV panel

The PV panel model is made in PSIM tool, the model is simulated under STC, and the IV and PV curves are presented in Fig. 3. Hence as shown, the simulated data are in accordance with the characteristics mentioned in Table 1.

Fig. 3
figure 3

IV and PV curves for PV panel

These curves change according to the variation of temperature and solar irradiance, and therefore the position of the MPP changes, this is why we need an algorithm for finding the MPP under any circumstances.

MPPT controller

Boost converter

The boost converter is required to convert DC voltage (V) to another DC voltage (V o). As shown in Fig. 4, this converter contains a MOSFET switch, which is controlled by PWM signal. Once the switch is ON, the inductor stores energy from the PV panel. Moreover, the reverse biased diode detaches the output from the PV generator and output capacitor provides current to the load. However, if the switch is OFF the inductor is in discharge state and the forward biased diode connects the output to PV generator. The PV panel voltage and inductor voltage (discharging state) contribute together for the output voltage. Therefore, the output voltage is always greater than input voltage (Motahhir et al. 2017).

Fig. 4
figure 4

DC–DC boost converter

The equations of this converter are shown below (Motahhir et al. 2015):

$$V_{\text{o}} = \frac{V}{1 - \alpha }$$
(2)
$$I_{\text{o}} = I\left( {1 - \alpha } \right)$$
(3)

Incremental conductance algorithm

The INC algorithm is used to predict the voltage change in a PV panel by measuring the incremental changes in PV panel current and voltage. This algorithm is an amelioration of the P&O algorithm and can track changing conditions more rapidly (Radjai et al. 2014). This algorithm uses the incremental conductance (∆I/∆V) of the PV panel to find the sign of PV curve slope (∆P/∆V) (Radjai et al. 2014). This algorithm finds the MPP by comparing the incremental conductance (∆I/∆V) to the conductance (− I/V). When they are equal, the MPP is reached and no more perturbation of duty cycle. When (∆I/∆V) is greater than (− I/V), the controller must increase the voltage. Otherwise, the controller must decrease the voltage (Radjai et al. 2014; Loukriz et al. 2016). Figure 5 shows the flowchart of the INC algorithm.

Fig. 5
figure 5

Flowchart of the INC algorithm

Implementation of the INC algorithm is presented in Fig. 6.

Fig. 6
figure 6

Implementation of the INC algorithm on PSIM

Kalman filter based MPPT algorithm

Kalman filter design

The Kalman filter is a set of mathematical equations that provides an efficient computational (recursive) solution of the least-squares method. The filter is very powerful in several aspects: it supports estimations of past, present, and even future states, and it can do so even when the precise nature of the modeled system is unknown (Ramchandani et al. 2012). In 1960, Kalman published his famous paper describing a recursive solution to the discrete data linear filtering problem (Kalman 1960). Since that time, due in large part to advances in digital computing, the Kalman filter has been the subject of extensive research and application, particularly in the area of autonomous or assisted navigation.

In this filter, two set of equations are used during each iteration. The first set is called “the time update” or also “the prediction state”; it is composed of two equations. The first equation is used to project the state ahead (Aoune et al. 2016):

$$x_{k}^{ - } = Ax_{k - 1} + Bu_{k - 1}$$
(4)

where \(x_{k}^{ - }\) is the state estimate at iteration k calculated from previous iteration. \(x_{k - 1}\) is the state corrected at iteration k − 1 given by the measurement output \(z_{k - 1}\). u k−1 is the control process at the iteration k − 1. A is a constant that depends on the system in which the Kalman filter is used; it is the state transition model which is applied to the previous state. B is a constant that depends on the system in which the Kalman filter is used; it is the control-input model which is applied to the control process.

The second equation is used to project the error covariance ahead (Aoune et al. 2016):

$$P_{k}^{ - } = AP_{k - 1} A^{\text{T}} + Q$$
(5)

where Q is the process noise covariance. It is a covariance matrix associated with the noise in states; it is generally constructed intuitively, but there are some points that need to be regarded choosing it. Unmodeled dynamics and parameter uncertainties are modeled as process noise generally. \(P_{k}^{ - }\) is the priori error covariance at iteration k. \(P_{k - 1}\) is the posteriori error covariance at iteration k − 1.

The second set of equation is called “the measurement update” or also the “correction state,” and it is used to correct the value predicted during “the time update” step. This set of equations is constituted from three equations presented below (Aoune et al. 2016):

First, we compute the Kalman gain:

$$K_{k} = P_{k}^{ - } C^{\text{T}} \left( {CP_{k}^{ - } C^{\text{T}} + R} \right)^{ - 1}$$
(6)

Then we update the estimate x k via the measurement output z k :

$$x_{k} = x_{k}^{ - } + K_{k} \left( {z_{k} - Cx_{k}^{ - } } \right)$$
(7)

The last equation updates the error covariance:

$$P_{k} = \left( {I - K_{k} C} \right)P_{k}^{ - }$$
(8)

where x k is the state corrected at iteration k given by the measurement output \(z_{k}\). P k is the posteriori error covariance at iteration k. K k is the Kalman gain. R is the measurement noise covariance. It can be found by processing the measurement while the output of the system is held constant. In this case, only noise remains in the data after its mean is removed. Z k is the measurement value. C is a constant that depends on the system in which the Kalman filter is used; it is the observation model which maps the true state space into the observed space.

These two steps “the time update” and “the measurement update” are repeated during each iteration which causes noise to reduce and the error covariance to become zero (Aoune et al. 2016).

Design the MPPT algorithm using Kalman filter

In order to find the MPP using the Kalman filter, we need to design this filter to look for the voltage at the MPP. Therefore, based on the PV curve shown in Fig. 3, the power increases with a gradual positive slope until reaches one optimal point then after that it decreases with a negative slope. Using this analysis, the voltage at MPP can be predicted using Eq. (9) and the priori error covariance is computed by Eq. (10), where A is 1 and B is M.

The prediction state:

$$V_{k}^{ - } = V_{k - 1} + M\frac{{\Delta P^{k - 1} }}{{\Delta V^{k - 1} }}$$
(9)
$$P_{k}^{ - } = P_{k - 1} + Q$$
(10)

where \(V_{k}^{ - }\) is the value of voltage estimated by the Kalman filter based MPPT at iteration k. \(V_{k}^{ - }\) is analogous to \(x_{k}^{ - }\). M is the scaling factor; it is analogous to B. \(\Delta P^{k - 1}\)/\(\Delta V^{k - 1}\) is the slope of the PV curve at iteration k − 1. This slope is analogous to the control unit u k−1.

The measurement update:

Using the error covariance from the prediction state, the Kalman gain K k is calculated by Eq. (11), where C is 1:

$$K_{k} = P_{k}^{ - } \left( {P_{k}^{ - } + R} \right)^{ - 1}$$
(11)

The measurement update equations correct the state and covariance predicted with the measurement PV voltage (V in,k ).

$$V_{k} = V_{k}^{ - } + K_{k} \times \left( {V_{{{\text{in,}} k}} - V_{k}^{ - } } \right)$$
(12)
$$P_{k} = \left( {1 - K_{k} } \right) \times P_{k}^{ - }$$
(13)

where V k is the value of voltage corrected by the Kalman filter based MPPT at iteration k given by the measurement PV voltage V in,k .

Figure 7 shows the PV panel model connected to the Boost converter controlled by an embedded software running Kalman filter based MPPT developed using C language and C block provided by PSIM tool.

Fig. 7
figure 7

Implementation of the Kalman filter based MPPT on PSIM

Results and discussions

In this section, the results obtained from simulating both methods under different values of temperature and solar irradiance are presented. The first simulation is done under STC. The second is done under variable solar irradiance and then variable temperature. A comparison of results obtained by these two methods is done, and a summary of the results is shown in Tables 2 and 3.

Table 2 Results comparison between the proposed method and INC algorithm at temperature 298.15 K
Table 3 Results comparison between the proposed method and INC algorithm at irradiance 500 W/m2

Tests under standard test conditions

INC algorithm

Figure 8 shows the results obtained by INC algorithm under STC, a zoom in these results done and presented in Fig. 9, these results show the power generated by the PV panel (P), the power absorbed by the load (P o), and the power available from the PV panel (P max), and this is the target which must be reached by the MPPT algorithm.

Fig. 8
figure 8

Output powers for INC algorithm under STC

Fig. 9
figure 9

Zoom in the output powers for INC algorithm under STC

As shown in the figures above, by using the INC algorithm, the system takes 20 ms to stabilize around the MPP with an efficiency of 96.64%. Also, the power ripple is more than 3 W, which leads to high oscillations around the MPP.

Kalman filter based MPPT

Figure 10 shows the results obtained by Kalman filter based MPPT under STC, a zoom in these results done and presented in Fig. 11, the efficiency obtained is around 99.38%, and the response time is less than 5 ms. Also the power ripple is less than 0.8 W. Hence under STC, the proposed method presents a faster response with a good efficiency and oscillations are almost neglected.

Fig. 10
figure 10

Output powers for Kalman filter based MPPT under STC

Fig. 11
figure 11

Zoom in the output powers for Kalman filter based MPPT under STC

Tests under variable solar irradiance

INC algorithm

As shown in Fig. 12, the INC algorithm takes longer to reach the new MPP in case of sudden change in solar irradiance. Hence, the efficiency of this system under variable solar irradiance is low, which is equal to 96.10%.

Fig. 12
figure 12

Output powers for INC algorithm under variable solar irradiance

Kalman filter based MPPT

As shown in Fig. 13, the proposed method presents a faster response to reach the new MPP in case of sudden change in solar irradiance; the oscillations of the output powers are almost neglected. Also, this method shows a good efficiency which is equal to 99.29%.

Fig. 13
figure 13

Output powers for Kalman filter based MPPT under variable solar irradiance

Tests under variable temperature and fixed solar irradiance (500 W/m2)

INC algorithm

As shown in Fig. 14, under variable temperature, the INC algorithm presents an admitted efficiency of 98.34%, but the power ripple is more than 3 W, which leads to high oscillations around the MPP.

Fig. 14
figure 14

Output powers for INC algorithm under variable temperature

Kalman filter based MPPT

As shown in Fig. 15, under variable temperature, the proposed method presents a faster response to reach the new MPP and the oscillations are almost neglected. Also, this method shows a good efficiency which is equal to 99.42%.

Fig. 15
figure 15

Output powers for Kalman filter based MPPT under variable temperature

Recapitulation

After presenting the results obtained by the INC algorithm and Kalman filter based MPPT, these results are summarized in Tables 2 and 3.

In these tables, we compared the two methods based on three criteria which are:

  • The response time is the time needed by the method to achieve the maximum power.

  • The efficiency is a factor that defines how close the results obtained to the ideal maximum power.

  • Oscillations are how much the power oscillates when the MPP is reached.

Based on the results obtained in this work and the criteria cited before, we can see that the proposed method presents better results than the INC algorithm. From the tables above, we notice that the response time of the proposed method is 6 times lower than the INC algorithm response time. Kalman filter based MPPT presents better efficiency around 99.38%, and the oscillations are 5 times lower. These results show that Kalman filter based MPPT presents better performances than INC algorithm. Therefore, the latter can be considered as one of the powerful MPPT algorithms.

Conclusion

In this work, we compared the Kalman filter based MPPT with the INC algorithm in order to prove Kalman efficiency under stable and variable environmental conditions. The results obtained showed a better performance for the proposed method when compared to the INC algorithm. The efficiency obtained by Kalman is better than the obtained by the INC. The oscillations generated by the INC are high compared to Kalman. We can conclude that Kalman filter is better when used it as an MPPT than the INC algorithm. The next stage of our research will be the implementation of the proposed method in a real hardware device especially in a microcontroller or in a DSP. In addition, in our future research, we intend to design the MPPT algorithm using the extended Kalman filter (EKF) which can handle the nonlinearity of the PV characteristics.

Abbreviations

a :

Diode’s ideality factor

I d :

Diode current (A)

I :

Panel output current (A)

I s :

Panel reverse saturation current (A)

I ph :

Panel photocurrent (A)

I o :

Output current of the boost converter (A)

K :

Constant of Boltzmann (J K−1)

N s :

Number of cells connected in series

q :

Electron charge (C)

R s :

Series resistance (Ω)

R sh :

Shunt resistance (Ω)

R :

Load (Ω)

T :

Junction temperature (K)

V :

Panel output voltage (V)

V o :

Output voltage of the boost converter (V)

α :

Duty cycle

INC:

Incremental conductance

MPP:

Maximum power point

MPPT:

Maximum power point tracking

P&O:

Perturb and observe

PV:

Photovoltaic

PWM:

Pulse width modulation

STC:

Standard test conditions

References

  • Aoune, A., Motahhir, S., El Ghzizal, A., Sebti, S., & Derouich, A. (2016). Determination of the maximum power point in a photovoltaic panel using Kalman filter on the environment PSIM. In International conference on information technology for organizations development (pp. 1–4). IEEE.

  • El-Khozondar, H. J., El-Khozondar, R. J., Matter, K., & Suntio, T. (2016). A review study of photovoltaic array maximum power tracking algorithms. Renewables: Wind, Water, and Solar, 3(1), 3.

    Article  Google Scholar 

  • Kalman, R. E. (1960). A new approach to linear filtering and prediction problems. Journal of Basic Engineering, 82(1), 35–45.

    Article  Google Scholar 

  • Kang, B. O., & Park, J. H. (2011). Kalman filter MPPT method for a solar inverter. In IEEE power and energy conference at Illinois (pp. 1–5). IEEE.

  • Liu, F., Duan, S., Liu, F., Liu, B., & Kang, Y. (2008). A variable step size INC MPPT method for PV systems. IEEE Transactions on Industrial Electronics, 55(7), 2622–2628.

    Article  Google Scholar 

  • Loukriz, A., Haddadi, M., & Messalti, S. (2016). Simulation and experimental design of a new advanced variable step size incremental conductance MPPT algorithm for PV systems. ISA Transactions, 62, 30–38.

    Article  Google Scholar 

  • Motahhir, S., El Ghzizal, A., Sebti, S., & Derouich, A. (2015). Proposal and implementation of a novel perturb and observe algorithm using embedded software. In 3rd international renewable and sustainable energy conference (pp. 1–5). IEEE.

  • Motahhir, S., El Ghzizal, A., Sebti, S., & Derouich, A. (2016). Shading effect to energy withdrawn from the photovoltaic panel and implementation of DMPPT using C language. International Review of Automatic Control, 9(2), 88–94.

    Article  Google Scholar 

  • Motahhir, S., El Ghzizal, A., Sebti, S., & Derouich, A. (2017a). MIL and SIL and PIL tests for MPPT algorithm. Cogent Engineering, 4, 1378475.

    Article  Google Scholar 

  • Motahhir, S., Chalh, A., Ghzizal, A., Sebti, S., & Derouich, A. (2017b). Modeling of photovoltaic panel by using proteus. Journal of Engineering Science and Technology Review, 10(2), 8–13.

    Article  Google Scholar 

  • Radjai, T., Rahmani, L., Mekhilef, S., & Gaubert, J. P. (2014). Implementation of a modified incremental conductance MPPT algorithm with direct control based on a fuzzy duty cycle change estimator using dSPACE. Solar Energy, 110, 325–337.

    Article  Google Scholar 

  • Ramchandani, V., Pamarthi, K., & Chowdhury, S. R. (2012). Comparative study of maximum power point tracking using linear Kalman filter and unscented kalman filter for solar photovoltaic array on field programmable gate array. International Journal on Smart Sensing and Intelligent Systems, 5(3), 152–158.

    Article  Google Scholar 

  • Reisi, A. R., Moradi, M. H., & Jamasb, S. (2013). Classification and comparison of maximum power point tracking techniques for photovoltaic system: A review. Renewable and Sustainable Energy Reviews, 19, 433–443.

    Article  Google Scholar 

  • Sarkar, M. N. I. (2016). Effect of various model parameters on solar photovoltaic cell simulation: A SPICE analysis. Renewables: Wind, Water, and Solar, 3(1), 13.

    Article  Google Scholar 

  • Tey, K. S., & Mekhilef, S. (2014). Modified incremental conductance MPPT algorithm to mitigate inaccurate responses under fast-changing solar irradiation level. Solar Energy, 101, 333–342.

    Article  Google Scholar 

  • Tsai, H. L., & Lin, J. M. (2010). Model building and simulation of thermoelectric module using Matlab/Simulink. Journal of Electronic Materials, 39(9), 2105–2111.

    Article  Google Scholar 

  • Verma, D., Nema, S., Shandilya, A. M., & Dash, S. K. (2016). Maximum power point tracking (MPPT) techniques: Recapitulation in solar photovoltaic systems. Renewable and Sustainable Energy Reviews, 54, 1018–1034.

    Article  Google Scholar 

Download references

Authors’ contributions

SM modeled the PV system and implemented the incremental conductance algorithm, AA and SM implemented the Kalman Filter based MPPT. SM, AA and AE wrote the paper. SS and AD contributed to reviewing the paper. All authors of this research paper have directly participated in the planning, execution, or analysis of this study. All authors read and approved the final manuscript.

Competing interests

The authors declare that they have no competing interests.

Funding

The authors declare that they have no funding for the research.

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saad Motahhir.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Motahhir, S., Aoune, A., El Ghzizal, A. et al. Comparison between Kalman filter and incremental conductance algorithm for optimizing photovoltaic energy. Renewables 4, 8 (2017). https://doi.org/10.1186/s40807-017-0046-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/s40807-017-0046-8

Keywords