Sunteți pe pagina 1din 15

Contents

1. Introduction.............................................................................................................................................2
Conditions of most efficient operation of MPPTs:...................................................................................2
2. Theory.....................................................................................................................................................2
Perturbation and Observe Method:........................................................................................................3
Incremental Conductance method:.........................................................................................................4
3. Results.....................................................................................................................................................7
4. Discussion..............................................................................................................................................13
6. Conclusion.............................................................................................................................................14
7. References.............................................................................................................................................15

1
1. Introduction

Maximum Power point Tracking (MPPT) is an electronic system which is design to on


photovoltaic (PV) model in a way that allows the module to produce the maximum power that
they possibly can. A Maximum Power Point Tracker operates by comparing the output of solar
panels to the battery voltage. It then uses an algorithm to calculate the best power that can be
outputted by the module. It uses this power to obtain the best voltage which will supply the
maximum current to the battery. Most of the MPPT’s are 92% to 97% efficient.

Conditions of most efficient operation of MPPTs:

Winter or cloudy days: when there is a greater demand for the extra power.

Cold Weather: this result better operation of solar cells, thus a MPPT is used to take advantage of
this fact.

Low battery Charge: the lower that state of charge on the battery the more current the MPPT is
able put into them.

2
2. Theory

Perturbation and Observe Method:

It is an iterative method used for obtaining the maximum power point (MPP). It measures the PV
array characteristics, and then it perturbs the operating point of the PV generator to observe the
change direction. The maximum point will be reach when the dPPV/dVPV = 0. There are many
adaptations of this method, varying from simple to complex, an algorithm flowchart for a basic
form is shown in Figure 1, below.

Figure 1: Perturbation and Observe Algorithm Flowchart[3]

From the above flowchart is can be noted that the operating voltage of the PV module is perturb
by a small incremental voltage (ΔVPV), thereby enabling measure of resulting change in power

3
(ΔPPV). If the ΔPPV is positive the perturbation of the operating voltage is in the same direction of
the increment, but if it’s negative the system operating point moves away from the MPPT and
therefore the operating voltage should be in the opposite direction of the increment. Hence if the
power is increased so shall the operating point.

The disadvantage of this type of method is seen in the sudden increase in irradiance, as shown in
Figure 2, where the reacts as if the increase had occurred as a result of previous perturbation.

Figure 2: Deviation of the Perturbation and Observe Method Algorithm under increasing
Irradiance. [2]

The advantages of this type of algorithm are; no previous knowledge of the PV module is
required, therefore it relatively simply. Even though it is an unsuitable method in rapidly
changing atmospheric conditions its reaction can be improved by increasing the speed of
execution of the algorithm or by introducing optimisation.

Incremental Conductance method:

This method is an alternative to the perturbation and observe method, and is based on equation
(1) below, where the derivative of the PV power with respect to voltage is obtained and then
equated to zero, as shown in Figure 3.

dP PV dV PV dI dI
=I PV +V PV PV =I PV +V PV PV =0(1)
dV PV dV PV dV PV dV PV

4
−I PV dI PV
= (2)
V PV dV PV

The left hand side of Equation 2 represents the opposite of the instantaneous conductance
(G = IPV/VPV), whereas the right hand side represents the incremental conductance. The
incremental variations, dVPV and dIPV, can be approximated by increments of both parameters,
ΔVPV and ΔIPV, with the intent on measuring the actual value of VPV and IPV with values measured
from the previous instant.

dV PV (t 2) ≈ ∆V PV (t 2)=V PV (t 2)−V PV (t 1 )(3)

dI PV (t 2) ≈ ∆ I PV (t 2)=I PV (t 2) −I PV (t 1) (4)

Figure 3: P-V Characteristic Curve of a PV Module. [2]

Therefore analysis of the derivative can determine whether the PV module is operating at its
maximum power point or far from it, Equations (5), (6) and (7) illustrates this. A flowchart
implementation of this algorithm is shown in Figure 4.

dP PV
>0 for V PV < V PMP (5)
dV PV

dP PV
=0 for V PV =V PMP (6)
dV PV

dP PV
<0 for V PV > V PMP (7)
dV PV

5
Figure 4: Incremental Conductance Algorithm Flowchart. [3]

The main advantage of this algorithm is that it offers a good resulting method under rapidly
changing atmospheric conditions. It also achieves a decrease in oscillation at the maximum
power point then the Perturbation and observe method.

6
3. Results

The two methods were simulated under the conditions and result obtained from Matlab computer
program is shown below, as well as the simulation code.

Figure 5: Results obtained for Perturbation and Observe Method

7
Figure 6: Graph of Output Power vs Voltage for Incremental Conductance Algorithm

Matlab Function Code for the BP SX 150S PV Module: [4]


function Ia = bp_sx150s(Va, G, TaC)

% function bp_sx150s.m models the BP SX 150S PV module


% calculates module current under given voltage, irradiance and temperature
% Ia = bp_sx150s(Va,G,T)
%
% Out: Ia = Module operating current (A), vector or scalar
% In: Va = Module operating voltage (V), vector or scalar
% G = Irradiance (1G = 1000 W/m^2), scalar
% TaC = Module temperature in deg C, scalar

%//////////////////////////////////////////////////////////////////////////

% Define constants
k = 1.381e-23; % Boltzmann¡¦s constant
q = 1.602e-19; % Electron charge
% Following constants are taken from the datasheet of PV module and
% curve fitting of I-V character (Use data for 1000W/m^2)
n = 1.62; % Diode ideality factor (n),
% 1 (ideal diode) < n < 2
Eg = 1.12; % Band gap energy; 1.12eV (Si), 1.42 (GaAs),
% 1.5 (CdTe), 1.75 (amorphous Si)
Ns = 72; % # of series connected cells (BP SX150s, 72 cells)
TrK = 298; % Reference temperature (25C) in Kelvin
Voc_TrK = 43.5 /Ns; % Voc (open circuit voltage per cell) @ temp TrK
Isc_TrK = 4.75; % Isc (short circuit current per cell) @ temp TrK

8
a = 0.65e-3; % Temperature coefficient of Isc (0.065%/C)
% Define variables
TaK = 273 + TaC; % Module temperature in Kelvin
Vc = Va / Ns; % Cell voltage
% Calculate short-circuit current for TaK
Isc = Isc_TrK * (1 + (a * (TaK - TrK)));
% Calculate photon generated current @ given irradiance
Iph = G * Isc;
% Define thermal potential (Vt) at temp TrK
Vt_TrK = n * k * TrK / q;
% Define b = Eg * q/(n*k);
b = Eg * q /(n * k);
% Calculate reverse saturation current for given temperature
Ir_TrK = Isc_TrK / (exp(Voc_TrK / Vt_TrK) -1);
Ir = Ir_TrK * (TaK / TrK)^(3/n) * exp(-b * (1 / TaK -1 / TrK));
% Calculate series resistance per cell (Rs = 5.1mOhm)
dVdI_Voc = -1.0/Ns; % Take dV/dI @ Voc from I-V curve of datasheet
Xv = Ir_TrK / Vt_TrK * exp(Voc_TrK / Vt_TrK);
Rs = - dVdI_Voc - 1/Xv;
% Define thermal potential (Vt) at temp Ta
Vt_Ta = n * k * TaK / q;
% Ia = Iph - Ir * (exp((Vc + Ia * Rs) / Vt_Ta) -1)
% f(Ia) = Iph - Ia - Ir * ( exp((Vc + Ia * Rs) / Vt_Ta) -1) = 0
% Solve for Ia by Newton's method: Ia2 = Ia1 - f(Ia1)/f'(Ia1)
Ia=zeros(size(Vc)); % Initialize Ia with zeros
% Perform 5 iterations
for j=1:5
Ia = Ia - (Iph - Ia - Ir .* ( exp((Vc + Ia .* Rs) ./ Vt_Ta) -1))...
./ (-1 - Ir * (Rs ./ Vt_Ta) .* exp((Vc + Ia .* Rs) ./ Vt_Ta));
end

Matlab Function Code for finding the Maximum Power Point [4]
function [Pa_max, Imp, Vmp] = find_mpp(G, TaC)
% find_mpp: function to find a maximum power point of pv module
% [Pa_max, Imp, Vmp] = find_mpp(G, TaC)
% in: G (irradiance, KW/m^2), TaC (temp, deg C)
% out: Pa_max (maximum power), Imp, Vmp

%////////////////////////////////////////////////////////////////
% Define variables and initialize
Va = 12;
Pa_max = 0;
% Start process
while Va < 48-TaC/8
Ia = bp_sx150s(Va,G,TaC);
Pa_new = Ia * Va;
if Pa_new > Pa_max
Pa_max = Pa_new;
Imp = Ia;
Vmp = Va;
end
Va = Va + .005;
end

9
Matlab Code for Incremental Conductance Method [4]
% incCondTest1: Script file to test incCond MPPT Algorithm
% Testing with rapidly changing insolation

%///////////////////////////////////////////////////////////////////////
clear;
% Define constants
TaC = 25; % Cell temperature (deg C)
C = 0.5; % Step size for ref voltage change (V)
E = 0.002; % Maximum dI/dV error
% Define variables with initial conditions
G = 0.045; % Irradiance (1G = 1000W/m^2)
Va = 31; % PV voltage
Ia = bp_sx150s(Va,G,TaC); % PV current
Pa = Va * Ia; % PV output power
Vref_new = Va + C; % New reference voltage
% Set up arrays storing data for plots
Va_array = [];
Pa_array = [];
Pmax_array =[];
% Load irradiance data
%load irrad7d; % Irradiance data of a cloudy day
irrad7d = [0 0.1; 1 0.2; 2 0.3; 3 0.4; 4 0.5; 5 0.6; 6 0.7; 7 0.8; 8 0.9;...
9 1.0; 10 1.1; 11 1.2; 12 1.3; 13 1.4;]
x = irrad7d(:,1)'; % Read time data (second)
y = irrad7d(:,2)'; % Read irradiance data
xi = 1:200; % Set points for interpolation
yi = interp1(x,y,xi,'cubic'); % Do cubic interpolation
% Take 43200 samples (12 hours)
for Sample = 1:14
% Read irrad value
G = yi(Sample);
% Take new measurements
Va_new = Vref_new;
Ia_new = bp_sx150s(Vref_new,G,TaC);
% Calculate incremental voltage and current
deltaVa = Va_new - Va;
deltaIa = Ia_new - Ia;
% incCond Algorithm starts here
if deltaVa == 0
if deltaIa == 0
Vref_new = Va_new; % No change
elseif deltaIa > 0
Vref_new = Va_new + C; % Increase Vref
else
Vref_new = Va_new - C; % Decrease Vref
end
else
if abs(deltaIa/deltaVa + Ia_new/Va_new) <= E
Vref_new = Va_new; % No change
else
if deltaIa/deltaVa > -Ia_new/Va_new + E
Vref_new = Va_new + C; % Increase Vref
else
Vref_new = Va_new - C; % Decrease Vref

10
end
end
end
% Calculate theoretical max
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
% Update history
Va = Va_new;
Ia = Ia_new;
Pa = Va_new * Ia_new;
% Store data in arrays for plot
Va_array = [Va_array Va];
Pa_array = [Pa_array Pa];
Pmax_array = [Pmax_array Pa_max];
end
% Total electric energy: theoretical and actual
Pth = sum(Pmax_array)/3600;
Pact = sum(Pa_array)/3600;
% Plot result
figure
plot (Va_array, Pa_array, 'g')
%plot(Va, Ia);
% Overlay with P-V curves and MPP
Va = linspace (0, 45, 200);
hold on
for G=.2:.2:1
Ia = bp_sx150s(Va, G, TaC);
Pa = Ia.*Va;
plot(Va, Pa)
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
plot(Vmp, Pa_max, 'r*')
end
title('Graph of Output Power vs Voltage for Incremental Conductance Method')
xlabel('Voltage(V)')
ylabel('Output Power (Watts)')
axis([0 50 0 160])
hold off

Matlab Code for Perturbation and Observe Method [4]


clear;
% Define constants
TaC = 25; % Cell temperature (deg C)
C = 0.5; % Step size for ref voltage change (V)
% Define variables with initial conditions
G = 0.028; % Irradiance (1G = 1000W/m^2)
Va = 31.0; % PV voltage
Ia = bp_sx150s(Va,G,TaC); % PV current
Pa = Va * Ia; % PV output power
Vref_new = Va + C; % New reference voltage
% Set up arrays storing data for plots
Va_array = [];
Pa_array = [];
% Load irradiance data
%load irrad; % Irradiance data of a sunny day
irrad7d = [0 0.1; 1 0.2; 2 0.3; 3 0.4; 4 0.5; 5 0.6; 6 0.7; 7 0.8; 8 0.9;...

11
9 1.0; 10 1.1; 11 1.2; 12 1.3; 13 1.4;];
x = irrad7d(:,1)'; % Read time data (second)
y = irrad7d(:,2)'; % Read irradiance data
xi = 1: 200; % Set points for interpolation
yi = interp1(x,y,xi,'cubic'); % Do cubic interpolation

for i = 1:14
% Read irradiance value
G = yi(i);
% Take new measurements
Va_new = Vref_new;
Ia_new = bp_sx150s(Vref_new,G,TaC);
% Calculate new Pa
Pa_new = Va_new * Ia_new;
deltaPa = Pa_new - Pa;
% P&O Algorithm starts here
if deltaPa > 0
if Va_new > Va
Vref_new = Va_new + C; % Increase Vref
else
Vref_new = Va_new - C; % Decrease Vref
end
elseif deltaPa < 0
if Va_new > Va
Vref_new = Va_new - C; % Decrease Vref
else
Vref_new = Va_new + C; %Increase Vref
end
else
Vref_new = Va_new; % No change
end
% Update history
Va = Va_new;
Pa = Pa_new;
% Store data in arrays for plot
Va_array = [Va_array Va];
Pa_array = [Pa_array Pa];
end
% Plot result
figure
plot (Va_array, Pa_array, 'g')
% Overlay with P-I curves and MPP
Va = linspace (0, 45, 200);
hold on
for G=.2:.2:1
Ia = bp_sx150s(Va, G, TaC);
Pa = Ia.*Va;
plot(Va, Pa)
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
plot(Vmp, Pa_max, 'r*')
end
title('Graph of Output Power vs Voltage for Perturbation and Observe Method')
xlabel('Voltage (V)')
ylabel('Output Power (Watts)')
axis([0 50 0 160])
hold off

12
4. Discussion

The two maximum power point tracking methods discussed previous were simulated. Since a
comparison needed to be drawn between the two methods, the both algorithms were simulated
by modelling the same PV module under the same conditions, to isolate the system from other
influences such as load resistance. From the graphs obtained it can be note that the both
algorithms operate close to the maximum tracking points with little deviation in their
performances. The data used in the simulation may not truly represent a rapidly changing
condition therefore resulting in the graph being similar. Further optimization of the algorithm
procedures may provide for better results. The different in performance between the two
algorithms would not be relatively large. The results show that the two methods operate at
similar efficiencies, however in practise it can be noted that the Perturbation and Observe
method produces more oscillations near the maximum power point as compared to the
Incremental Conductance method. It can also be note that the simulation could provide better
understanding of the algorithms by simulating the procedure under different environmental
conditions.

13
6. Conclusion

The perturbation and observe and increment conductance algorithms were compared to observe
the advantages and disadvantages between these two. The two methods were simulated under the
same conditions, so that an accurate analysis of the results can obtained. It can be noted that the
Incremental Conductance algorithm proved to operate with a greater efficiency then the
Perturbation and observe method.

14
7. References

1. G.M. Hans, Solar cell and test circuit, Patent US3, 350, 635, 1967.

2. M.A. Hamdy, A new model for the current-voltage output characteristics of photovoltaic
modules, J. Power

3. W.J.A. Teulings, J.C. Marpinard, A. Capel, A maximum power point tracker for a regulated
power bus, in:
Proceedings of the European Space Conference, 1993.

4. Akihiro Oi, Design and Simulation of Photovoltaic Water Pumping System, California
Polytechnic State University, 2005

15

S-ar putea să vă placă și