Implementation of MPPT Using Kalman Filter
Implementation of MPPT Using Kalman Filter
Center for VLSI and Embedded Systems Technology, IIIT Hyderabad, Hyderabad 500032, India
b
Dept. of Electronics& Communication Engineering, NIT Rourkela, Rourkela 769008, India
c
Dept. of Electronics & Communication Engineering, VNIT Nagpur, Nagpur 440010, India
Abstract
This paper proposes FPGA implementation of a novel approach to track maximum power point of a solar
photovoltaic array. The approach uses Kalman filter algorithm to track maximum power point. Using this approach
tracking becomes much faster than using the generic Perturb & Observe algorithm in case of sudden weather changes.
In this paper output of the proposed algorithm on FPGA is provided. Experimentation was performed under optimal
conditions as well as under cloudy conditions i.e. falling irradiance levels. Using the proposed technique the
maximum power point of a solar PV array is tracked with an efficiency of 97.11%. Moreover, the maximum power
point has been tracked at a much faster rate i.e. 4.5 ms using the proposed algorithm compared to the existing generic
Perturb and Observe approach.
Keywords: Maximum power point tracking, Kalman filter, perturb and observe, photovoltaic, FPGA
1. Introduction
Solar energy is one of the most widely used sources of renewable energy and is available in abundance.
Solar radiation is converted to electrical energy by using solar cells which exhibit photovoltaic effect.
Photovoltaic power is used in a variety of applications such as power generation, mobiles, computers and
transportation applications. These PV solar panels exhibit non linear V - I characteristics as their output
supply depends mainly on the nature of connected load. Moreover there exist multiple maxima in the
output characteristics of a solar PV array under partially shaded conditions. Hence, it is essential to find
optimal power point of the panel so as to increase the overall efficiency of the photovoltaic system. Hence,
Maximum Power Point Tracking (MPPT) algorithm is used for extracting maximum power available
from a PV module under different conditions [1]. Various MPPT techniques have been used in past but
Perturb & Observe (P&O) algorithm is most widely accepted and preferably used by industry. Using
P&O algorithm the controller adjust voltage and measures power and if this measured power is greater
than the previous value of power, adjustments are made in the same direction until there is no more
increment in power [2]. Fig. 1 shows how power is calculated using P&O algorithm. P&O is also called
as hill climbing method because it checks the rise of the curve till MPP and the fall after that point. This
method is easy to implement but can cause oscillations in power output and can sometimes show tracking
failures in rapid environmental changes [3] i.e. locates operating point away from MPP when there is a
sudden change in voltage characteristics.
Varun Ramchandani et al.: Implementation of Maximum Power Point Tracking Using Kalman Filter
153
This paper proposes implementation of a new MPPT technique using Kalman Filter. A linear state
space representation is used to apply the Kalman Filter algorithm to track the maximum power point of a
PV array. The algorithm has been implemented on Altera Cyclone II EP2C20F484C7 FPGA board [4].
Section 2 describes the characteristics of a PV array. Section 3 describes the proposed Kalman filter
approach for tracking maximum power point. Section 4 describes the system configuration and setup. In
section 5 the results of MPPT using Kalman filter on FPGA are discussed. Section 6 gives the conclusion.
2. Characteristics of PV Array
PV array consists of collection of numerous solar cells in series or parallel. Fig. 2 shows the circuit
model of a solar cell. The shunt resistance is ignored just for simplicity which is good enough to make
fairly accurate models. The simplified equation [4] is given as
qAV
1
I = I SC
exp
1
kTVOC
qA
exp
kT
(1)
where Voc and Isc are open circuit voltage and current values at 1 kW/m2 and 25 C. V and I are the array
output voltage and current, q is the elementary charge, k is the Boltzmann constant, T is the temperature
of array in C, is irradiance in kW/m2 and A is a constant, generally taken as 0.2464 [5].
(a)
Fig. 3. (a) Generic Current vs. Voltage curve; (b) Generic Power vs. voltage curve.
(b)
154
International Journal of Smart Grid and Clean Energy, vol. 2, no. 2, May 2013
Characteristics of a PV array is described by I-V curve and taking value of A as 0.2464 makes the
behavior of the equation similar to ideal behavior of the I-V curve. A general I-V curve is shown in the
Fig. 3 (a) under given conditions i.e. irradiance of 1kW/m2 and temperature of 25 C there is one point on
the I-V curve which gives Maximum Power Point because it maximizes the area under the curve. A
general P-V curve is shown in Fig. 3 (b) the PV panel considered has Voc = 22 V and Isc = 1.3 A at
1kW/m2 and 25C.
Let the input be xt at iteration t, control process be u t at iteration t, w be the added process noise and v
be the added measurement noise. The Kalman filter equations are given as follows:
(2)
zt- = Azt -1 AT + Q
(3)
former iterations,
x t -1 be the state estimate at iteration t given by the measurement output y t , zt- be the
priori error covariance and zt or zt-1 be the posteriori error covariance. A & B are constants.
B. Measurement Update (Correction State)
K t = zt - C T (Czt - C T + R)-1
(4)
xt = xt + K t ( yt - C xt )
(5)
zt = ( I - K t C ) zt -
(6)
Varun Ramchandani et al.: Implementation of Maximum Power Point Tracking Using Kalman Filter
155
P t
+ w , (A=1 and B=M)
V t
(7)
M is the step size corrector and P t V t denotes the slope of the P V curve at instant t of solar array.
The slope P t V t is same as control unit u t and on adding process noise w into the system a similar
one dimension linear state space equation can be formed.
t
The measurement equation is dependent on Vactual
and measurement noise v.
t
y t = Vactual
+ v , (C=1)
(8)
Considering y t as the reference voltage at given instant we get the updated measurement equation [9] as
t
Vreft Vactual
=v
(9)
Two known values, Vreft and Pt V t are used for Kalman filter estimate.
t
t -1
= Vactual
+M
Vactual
zt- = zt -1 + Q
P t -1
V t -1 ,
t( Vactual
is analogous to
xt )
(10)
(11)
t-
t
Now Kt updates the estimate of Vactual
and zt by using Vactual and zt - from the prediction state & Kt from
equation (11)
t
t
t
Vactual
= Vactual
+ K t (Vreft Vactual
)
(12)
zt = (1 K t ) zt-
(13)
As the above steps occur turn by turn the estimated result is expected to be closer to the maximum
power point.
156
International Journal of Smart Grid and Clean Energy, vol. 2, no. 2, May 2013
decreased till one move closer to MPP and as one starts moving away from MPP the width of PWM is
increased. The analog output is sent to DC - DC boost converter which converts voltage at levels 0 V 5
V to appropriate level between 18 V 24 V and thus final output is sent to the load connected. Fig.6.
displays the circuit setup with the ICs used.
Fig. 7. Convergence of proposed algorithm at 1kW/m2 irradiance and T = 250C (Simulation carried using MATLAB 2009).
Using the proposed algorithm tracking of MPP under falling irradiance level is reported in Table 1.
Table 2 reports the results of the MPPT using kalman filter technique under optimal conditions. From the
table it can be observed that efficiency of as high as 97.11% can be achieved using this proposed
Varun Ramchandani et al.: Implementation of Maximum Power Point Tracking Using Kalman Filter
157
technique. This is improvement over the tracking efficiency of 96.13 that has been achieved using P&O
algorithm under similar conditions.
Table 1. Voltage and Power at falling irradiance level (Implementation done on a cloudy day)
Voltage
Current
Power
MPPT(V)
A
MPPT(W)
Actual(V)
20.76
0.94
19.52
20.61
20.62
1.00
20.62
20.33
20.43
1.03
21.05
20.20
20.30
1.06
21.52
19.97
20.21
1.05
21.22
19.85
20.10
0.82
16.48
19.66
20.02
0.68
13.62
19.52
19.97
0.55
10.98
19.46
19.88
0.52
10.34
19.30
Table 2. Result of the proposed MPPT algorithm under optimal conditions
Current
Voltage
A
Optimal(V) MPPT(V)
21.38
1.19
21
21.44
1.20
21.48
1.22
21.38
1.24
21.44
1.22
21.36
1.21
Table 3. Resource utilization summary of the MPPT controller.
Power
Optimal(W) MPPT(W)
27.3
25.44
25.73
26.21
26.51
26.16
25.41
Resource
Total Logic Elements
Total combinational functions
Dedicated logic registers
Total registers
Total pins
Total memory bits
Embedded multiplier 9-bit elements
Efficiency
%
93.19
94.25
96.01
97.11
95.82
93.08
Usage
3723 / 18,752 (20%)
3058 / 18,752 (16%)
2,882 / 18,752 (15%)
2882
240/315 (76%)
1030 / 239,616 (<1%)
50/52 (96%)
Fig.8 depicts the overall RTL of the proposed MPPT algorithm. The 8 bit Sout from the output is send
to PWM generating module. Table 3 reports the resource utilization summary of MPPT controller when
the VHDL code is simulated using Quartus II.
6. Conclusions
In this paper maximum power point tracking algorithm using Kalman filter is implemented on FPGA.
The proposed method performs estimation as fast as the clock rate of FPGA. Also, the FPGA
implementation is very useful due to the fact that FPGA are reconfigurable and are becoming economical,
faster and power efficient day by day. The Kalman filter technique utilizes 3,723 logic elements which is
only 20% of the total logic elements. The time required for convergence to the maximum power point
158
International Journal of Smart Grid and Clean Energy, vol. 2, no. 2, May 2013
comes around 4.5 ms using the proposed technique which is much less than that using the generic P&O
algorithm. Moreover the Maximum power point has been tracked with efficiency of 97.11% using the
new proposed MPPT algorithm which is an improvement over the tracking efficiency of 96% that has
been obtained using generic P&O algorithm under similar experimental conditions. Further works are
going on to improve the convergence rate and also the tracking efficiency under partially shaded
conditions.
References
[1]
[2]
Basics of maximum power point tracking (MPPT) solar charge controller. [Online]. Available: http://Leonics.com
Khaehintung N, Wiangtong T, Sirisuk P. FPGA implementation of MPPT using variable step-size P&O algorithm for PV
applications. In: Proc. of International Symposium on Communications and Information Technologies, 2006:212-215.
[3] Esram T, Chapman PL. Comparison of photovoltaic array maximum power point tracking techniques. IEEE Trans. on Energy
Conversion, 2007; 22(2):439-449.
[4] EP2C20F484C7 Cyclone II DE1 FPGA board. [Online]. Available: http://www.altera.com
[5] Jung Y, So J, Yu G, Choi A. Improved perturbation and observation method (IP&O) of MPPT control for photovoltaic power
systems. In: Proc. of Photovoltaic Specialists Conference, 2005.
[6] Kalman R. A new approach to linear filtering and prediction problems. Journal of Basic Engineering, 1960; 82:95-108.
[7] Welch G, Bishop G. An Introduction to the Kalman Filter. University of North Carolina at Chapel Hill, Chapel Hill, NC, 2006.
[8] Huynh P, Cho BH. Design and analysis of a microprocessorcontrolled peakpowertrackingsystem. IEEE Trans. on
Aerospace and Electronic Systems, 1996; 32(1):182-190.
[9] Kang BO, Park JH, Kalman filter MPPT method for a solar inverter. In: Proc. of Power and Energy Conference at Illinois
(PECI), 2011:1-5.
[10] Mellit A, Rezzouk H, Messai A, Medjahed B. FPGA- based real time implementation of MPPT controller for photovoltaic
systems. Renewable Energy Volume, 2011; 36(5):1652-1661.