19
A proposed maximum power point tracking algorithm based on a new testing standard Thomas Bennett , Ali Zilouchian, Roger Messenger Department of Computer and Electrical Engineering and Computer Science, Florida Atlantic University, 777 Glades Rd., Boca Raton, FL, USA Received 6 June 2012; received in revised form 25 November 2012; accepted 29 November 2012 Available online 19 January 2013 Communicated by: Associate Editor Elias Stefanakos Abstract Recently a standard for testing maximum power point tracking (MPPT) algorithms was suggested that tests both step and ramp changes in irradiance. A new MPPT algorithm was developed to respond well to this standard input for various photovoltaic modules. The algorithm is introduced in steps showing the motivation for each step taken in the development of the algorithm. After this, the effects of converter losses on the MPPT algorithm will be explored. It will be seen that so long as the losses are not too great, the effects are minor. A subsequent paper will show the results from a practical implementation of this algorithm. Ó 2012 Elsevier Ltd. All rights reserved. Keywords: Photovoltaic (PV) system; Maximum Power Point Tracking (MPPT); Perturb and Observe; Incremental Conductance 1. Introduction Maximum power point tracking (MPPT) of a photovol- taic (PV) system, refers to a method of obtaining the max- imum power from a PV module by controlling a power converter to act as an ideal load to the PV module. There are a number of methods that have been presented, and they all have their advantages and disadvantages. There are also many modifiedversions of some of these basic methods; some of which will be discussed later. However, it is usually difficult to compare them. The reason for this is that, though there are many papers that compare algo- rithms (Hussein et al., 1995; Hua and Shen, 1998; Hohm and Ropp, 2000; Salas et al., 2006), the method of compar- ison is usually not well-defined. There is no standard method for comparison. Recently, a standard method for testing the algorithms was presented (Ropp et al., 2011). This proposal suggests the irradiance input shown in Fig. 1. The reasons for using the values shown in the figure are explained in the paper. In particular, this input is a means of testing the response of the MPPT algorithm to both step and ramp type inputs. In this paper, an MPPT algorithm is developed with respect to this irradiance input. To start, some preliminar- ies related to the modeling of the system will be discussed. Next, the response of a couple MPPT algorithms to the Ropp input will be examined. From this examination, a new algorithm will be proposed and tested. 2. System components In this section a quick overview of the system that is being tested will be discussed. The typical equation for describing the IV characteristics of a PV module is given by Eq. (1) Bennett et al. (2012). i ¼ I g I s e vþiRs a 1 v þ iR s R p ð1Þ 0038-092X/$ - see front matter Ó 2012 Elsevier Ltd. All rights reserved. http://dx.doi.org/10.1016/j.solener.2012.11.022 Corresponding author. Tel.: +1 5613024914. E-mail addresses: [email protected] (T. Bennett), [email protected] (A. Zilouchian). www.elsevier.com/locate/solener Available online at www.sciencedirect.com Solar Energy 89 (2013) 23–41

A proposed maximum power point tracking algorithm based on a new testing standard

  • Upload
    roger

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A proposed maximum power point tracking algorithm based on a new testing standard

Available online at www.sciencedirect.com

www.elsevier.com/locate/solener

Solar Energy 89 (2013) 23–41

A proposed maximum power point tracking algorithm basedon a new testing standard

Thomas Bennett ⇑, Ali Zilouchian, Roger Messenger

Department of Computer and Electrical Engineering and Computer Science, Florida Atlantic University, 777 Glades Rd., Boca Raton, FL, USA

Received 6 June 2012; received in revised form 25 November 2012; accepted 29 November 2012Available online 19 January 2013

Communicated by: Associate Editor Elias Stefanakos

Abstract

Recently a standard for testing maximum power point tracking (MPPT) algorithms was suggested that tests both step and rampchanges in irradiance. A new MPPT algorithm was developed to respond well to this standard input for various photovoltaic modules.The algorithm is introduced in steps showing the motivation for each step taken in the development of the algorithm. After this, theeffects of converter losses on the MPPT algorithm will be explored. It will be seen that so long as the losses are not too great, the effectsare minor. A subsequent paper will show the results from a practical implementation of this algorithm.� 2012 Elsevier Ltd. All rights reserved.

Keywords: Photovoltaic (PV) system; Maximum Power Point Tracking (MPPT); Perturb and Observe; Incremental Conductance

1. Introduction

Maximum power point tracking (MPPT) of a photovol-taic (PV) system, refers to a method of obtaining the max-imum power from a PV module by controlling a powerconverter to act as an ideal load to the PV module. Thereare a number of methods that have been presented, andthey all have their advantages and disadvantages. Thereare also many “modified” versions of some of these basicmethods; some of which will be discussed later. However,it is usually difficult to compare them. The reason for thisis that, though there are many papers that compare algo-rithms (Hussein et al., 1995; Hua and Shen, 1998; Hohmand Ropp, 2000; Salas et al., 2006), the method of compar-ison is usually not well-defined. There is no standardmethod for comparison.

0038-092X/$ - see front matter � 2012 Elsevier Ltd. All rights reserved.

http://dx.doi.org/10.1016/j.solener.2012.11.022

⇑ Corresponding author. Tel.: +1 5613024914.E-mail addresses: [email protected] (T. Bennett), [email protected]

(A. Zilouchian).

Recently, a standard method for testing the algorithmswas presented (Ropp et al., 2011). This proposal suggeststhe irradiance input shown in Fig. 1. The reasons for usingthe values shown in the figure are explained in the paper. Inparticular, this input is a means of testing the response ofthe MPPT algorithm to both step and ramp type inputs.In this paper, an MPPT algorithm is developed withrespect to this irradiance input. To start, some preliminar-ies related to the modeling of the system will be discussed.Next, the response of a couple MPPT algorithms to theRopp input will be examined. From this examination, anew algorithm will be proposed and tested.

2. System components

In this section a quick overview of the system that isbeing tested will be discussed. The typical equation fordescribing the IV characteristics of a PV module is givenby Eq. (1) Bennett et al. (2012).

i ¼ Ig � Is evþiRs

a � 1� �

� vþ iRs

Rpð1Þ

Page 2: A proposed maximum power point tracking algorithm based on a new testing standard

0 100 200 300 400 500 6000

5

10

15

20

25

30

BP NRM with Buck Converter and P&O method

time (s)

PV V

olta

ge

50

100

150

200BP NRM with Buck Converter and P&O method

PV P

ower

(wat

ts)

Fig. 1. Changing irradiance input for MPPT testing.

24 T. Bennett et al. / Solar Energy 89 (2013) 23–41

In this equation, i is the PV current, v is the PV voltage, Rs

is the series resistor, Rp is the parallel resistor, Ig is the light-generated current, Is is the diode’s saturation current, anda = AkT/q, where A is the diode ideality factor, k is Boltz-mann’s constant, T is the temperature, and q is the chargeof an electron.

In this paper it is assumed that Rs = 0 and Rp =1 inEq. (1). This is a reasonable assumption as discussed inBennett et al. (2012). See Eq. (2) for the simpler NRMIV equation.

i ¼ Ig � Isðeva � 1Þ ð2Þ

The specifications (open circuit, short circuit, and MPP val-ues) of two modules that are used in this paper are given inTable 1. For the most part, only the buck converter will beused, with a small exception for the boost converter. Thestandard equation for the buck converter is given by Eq.(3).

v ¼ vout

dð3Þ

Based on this and Eq. (4), one can easily change the PVvoltage by Dv by changing the duty cycle from d1 to d2.

d2 ¼ vout=ðvout=d1 þ DvÞ ð4Þ

See Bennett et al. (2012), Bennett (2012) for a more detaileddiscussion of the PV module models and the derivation ofthe parameters used in all that follows, as well as how theDC/DC converters were implemented in the PV system.

3. Perturb and observe versus incremental conductance

Perturb and observe (P&O) and incremental conduc-tance (IncCond) are two very popular MPPT methods.

Table 1Two PV modules used for testing.

Model Voc (V) Isc (A) Vm (V) Im (X)

BP-SX3195 30.7 8.6 24.4 7.96SP-305 64.2 5.96 54.7 5.58

For more information on how they work, as well as anexplanation of their differences, please see Bennett (2012).

In Fig. 2, the voltage and power outputs of the PV mod-ule and the maximum power point (MPP) are shown usingthe P&O method. The efficiency, using a step size of 0.25 V,was 98.47%, where efficiency was calculated starting at60 s, so that initial conditions (which are usually not spec-ified in these algorithms) do not impact the efficiency. InFig. 3 the output of the PV system using the IncCondmethod is shown. The efficiency was 98.05%. In generalthe IncCond does better, as confirmed by numerous simu-lations with different step sizes. However, this time, due totracking up at 60 s, unlike the P&O method, it did worse inthis short test. Most of the tests were actually done with a0.3 V step size, and that is what will be used to start withbelow. This smaller step size example was shown mostlyas an interesting aside, illustrating the difference betweenthese two algorithms is not always so clear. A future paperwill compare this in more detail.

For the step size of 0.3 V, both algorithms behavedalmost identical, with the P&O having a 98.81% efficiency,

0 100 200 300 400 500 6000

time (s)

Fig. 2. Results of P&O algorithm with Ropp input.

Page 3: A proposed maximum power point tracking algorithm based on a new testing standard

0 100 200 300 400 500 6000

5

10

15

20

25

30

BP NRM with Buck Converter and IncCond method

time (s)

PV V

olta

ge

0 100 200 300 400 500 6000

50

100

150

200BP NRM with Buck Converter and IncCond method

time (s)

PV P

ower

(wat

ts)

Fig. 3. Results of IncCond algorithm with Ropp input.

T. Bennett et al. / Solar Energy 89 (2013) 23–41 25

and the IncCond having a 98.85% efficiency. These resultsare not shown (they are nearly indistinguishable).

There are a few issues that the P&O and IncCond meth-ods have, as seen in the figures. For one, at least in theirmost basic form, they both oscillate at steady state dueto a non-decreasing step size. Another issue is that the algo-rithms may move in the wrong direction during increasingramps. This is due to the fact that increased irradiancemight give an increase in power, even if moving in thewrong direction. In other words, the increase in energydue to increase in irradiance is greater than the decreasein energy due to moving away from Vm (the voltage wherethe MPP is located). Both also fail to track the decreasingramp that occurs around 500 s. In the next section, an algo-rithm will be proposed to correct these issues.

4. Proposed algorithm

The standard P&O and IncCond algorithms used abovewere not in the most implementable form. Things such as

initial conditions, or what a reasonable step size shouldbe, are not part of the standard algorithms. This is whatmakes comparisons a bit difficult.

In this section a proposed method is developed in stages.This algorithm will be based heavily on the ideas present inthe P&O and IncCond algorithms. For the initial condi-tions in what follows, the algorithm will begin at Voc (thisis easily reached by using a duty cycle of 0 in the buck con-verter circuit being simulated). Next, the algorithm willmove to 85% of Voc, and then 82% of Voc. From there itwill move into the main algorithm, starting near Vm.

The flow chart of the completed algorithm is broken upinto Figs. 26–29, included at the end of the paper. This pro-posed algorithm will be compared to some other methodsin a later section.

4.1. Step 1

To start, a comparison of measured power relative to volt-age (like P&O) was used due to easier implementation. Laterit will be modified to behave more like the IncCond method.One of the first things that will be done is having the step sizedecrease as the voltage approaches Vm. To do that, the step sizewill be decreased when the algorithm changes direction. So, ifthe algorithm is moving to the right, it will continue to do sousing the same Dv. However, as soon as power decreases,and the voltage starts going left, Dv will be decreased (and sim-ilarly in the other direction). To start with, it will decrease by50% (this variable will be represented by a). How much todecrease by, as well as what Dv should start as, will be discussedmore in Section 5. For now, the step size will start at 0.3 V. Thisbeginning step size will be represented by the variable VS tomake discussions easier in the future.

When Dv < 0.05 V, the step size will no longer decrease. Itwill now follow the typical P&O algorithm, just oscillatingback and forth with a very small step size. As noticeable inPV module power curves, being off by this much voltage isnegligible, not to mention probably well within any errorin measurement. Consequently, it is reasonable to oscillateat such a small step size (the exact size used may be modifiedto better match a given implementation). Furthermore, thisallows the MPP to be followed during slowly changing irra-diance on a clear day. What happens if the irradiance sud-denly changes, and it is extremely slow in following?

To account for this, if during this phase, the voltagechanges in the same direction more than a predeterminednumber of times (a value of 3 will be used, as the P&Oalgorithm should, for steady conditions, not move morethan twice in the same direction consecutively), the step sizegets set to the original Dv = VS value. Flags are used tokeep track of how the MPPT is operating. Flag 0 is wherethe algorithm operates using a changing step size and flag 1is where the algorithm operates once Dv < 0.05 V. Negativeflag values were used for initial conditions, as discussedabove, but these flags are not included in the flow chartsfor sake of clarity. The results of this step are shown inFig. 4.

Page 4: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 4. Results of proposed algorithm, step 1, with Ropp input.

26 T. Bennett et al. / Solar Energy 89 (2013) 23–41

This worked fairly well, but its efficiency is worse thanthat of the others; 97.68%. This is due to the slight delaywhen irradiance changes, due to waiting a few cycles beforeincreasing the step size again. It still has similar issues to theother algorithms though, such as around time 500–600 it didnot move. The reason is that while oscillating at Dv < .05,when the voltage goes left, power decreases. So, it goes right.Power also decreases in that direction. So, it goes left, etc.Also, it still tracks in the wrong direction at the beginning.These are issues that were inherent in the other algorithmsas well, and will be addressed in the next step.

4.2. Step 2

To correct for the issues last time, a couple things weredone. These corrections require a new flag setting, 2, and sowhat happens during this flag is discussed first. After thatthe conditions that lead to flag 2 will be discussed. Whilethe flag is set to 2, there are two possible actions that couldbe taken, and these actions might oscillate between each

other so long as irradiance is changing. In the first setting(f2chk = 0), the duty cycle is kept the same, and f2chk isset to 1 for the next cycle. At the next cycle (f2chk = 1) itis seen whether the power changed during the last cycle(for this the duty cycle/voltage was fixed). A change inpower for a fixed voltage would imply that the irradiancechanged. The voltage step is then set to

Dv ¼ 2KDPP M

ð5Þ

The K is a constant that represents roughly by how much thevoltage should change for a given percent change in power;PM is the maximum power of the module; and the factor of 2is to make up for the lost cycle due to using the same duty cy-cle (voltage) twice in a row. This equation will be discussed alittle more in the next section. To start, some rough valueswere given; PM was set to 200, and K was set to 4 (voltagechanges almost 4 V when going from 20–100% of max irra-diance). When the Dv is calculated in Eq. (5), if it is less than0.05 V, the flag is set back to zero, and the voltage is per-turbed by its original step size (in this case 0.3 V). Otherwisethe flag remains set to 2, and f2chk is set to 0 again.

Now, the use of flag 2 will be shown. First, tracking inthe wrong direction will be addressed. If power increases(decreases) by more than 5%, while at flag 1, voltage willbe increased (decreased) by VS, and the flag set to 2, andf2chk set to 0. This will see if irradiance is still changing,and then change the voltage based on Eq. (5).

The other issue to correct for is the tracking behaviorduring a decreasing (ramp) irradiance. Now, if the voltagechanges direction more than three times consecutively, itwill be assumed that the irradiance is decreasing, and sothe voltage will be dropped by Dv, where Dv is calculatedbetween the latest power measurement, and the powermeasured the first time the voltage direction changed, usingEq. (5). The flag is now set to 2, and f2chk to 0.

In both cases, once the irradiance seems to have stoppedchanging, the voltage is perturbed, and the flag is set to 0,to allow convergence to the MPP. The results are shown inFig. 5. This time the algorithm gave 99.64%.

4.3. Step 3

For this step, the power comparisons were changed tobe comparisons between Di/Dv and i/v for flag 0. In otherwords, the incremental conductance method was incorpo-rated. The efficiency obtained is still 99.64%, and the resultsare shown in Fig. 6. Though the efficiency did not seem togo up in this run, other runs (slightly modified parameters)have shown a slight improvement.

4.4. Step 4

Though the previous setup seems pretty good, there area couple small changes that were made. For one, noticethat after steady state irradiance conditions are obtained,and flag 2 goes back to flag 0, the voltage perturbation

Page 5: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 5. Results of proposed algorithm, step 2, with Ropp input. Fig. 6. Results of proposed algorithm, step 3, with Ropp input.

T. Bennett et al. / Solar Energy 89 (2013) 23–41 27

was always to the left. Now, it will move in the directionthat the irradiance just moved by keeping track of twonew variables; Inc. and dec. The result of this is seen, forexample, around the 140 and 450 s marks (compare to pre-vious step). Another thing that happened during someruns, was that, due to transient, flag 2 thought it hadreturned to constant irradiance conditions, even when itdid not. Now, an extra check will be given. This was doneby adding an f2chk = 2 option under flag 2. There is atrade off here, since there is now a longer delay. However,it does prevent the flag from changing incorrectly whileirradiance conditions are still changing. See the appendixfor more details. The efficiency of this newest run was99.72%, and the results are seen in Fig. 7.

In the next section, the proposed algorithm’s parametersare discussed in more detail.

5. Optimizing algorithm parameters

Though the last algorithm behaved fairly well, it was notnecessarily optimized as far as some of the parameters were

concerned. In Fig. 8, efficiencies for a range of a and VS

values are shown. Also, in Fig. 9 the efficiencies are shownfor a, averaged over the VS values, and VS, averaged overthe a values.

The highest efficiency was at a VS value of 0.55 V, and ana value of 66%; yielding 99.9% efficiency. Unfortunately,these results cannot be taken without further consideration,as the results are based on very short simulations (which alsolikely explains the ill-formed efficiency plots).

For the SP module, the values obtained were similar fora, even having a max near 66% on the a curve. However,VS did better closer to 1 V. This is not surprising, giventhat the SP module has a Voc nearly double that of theBP module. In the following subsections, an attempt atgeneralizing these values will be made, as well as a discus-sion about the optimal K value.

5.1. Finding a

Consider a number 0 < x < 1 that one wishes toapproach (like one wishes to approach Vm). If one is

Page 6: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 7. Results of proposed algorithm, step 4, with Ropp input.

00.2

0.40.6

0.81

0

0.5

10.85

0.9

0.95

1

VS

Efficiency for different alpha and VS values

alpha

effic

ienc

y

Fig. 8. Efficiencies for different a and VS values for MPPT algorithm step4.

0 0.2 0.4 0.6 0.8 10.965

0.97

0.975

0.98

0.985

0.99

0.995

1

1.005Efficiency for different alpha values

alpha

effic

ienc

y

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.988

0.99

0.992

0.994

0.996

0.998

1Efficiency for different VS values

VS

effic

ienc

y

Fig. 9. Efficiencies for different parameters for MPPT algorithm step 4.

28 T. Bennett et al. / Solar Energy 89 (2013) 23–41

moving towards the number, one continues to approachusing the same step size. If one passes the number, one thengoes in the opposite direction, and the step size is a times itsprevious value, just as was done in approaching Vm in thealgorithm discussed above (for flag = 0). Suppose at eachstate one took the error (distance between x and actualposition), squared this error, and added it up for N steps.This was done, for a range of a values, and a range of x val-ues. For each a value, the sum of squared errors were aver-aged for the various x values. To imitate the PV MPPTsystem a little better, the step size was not allowed to getsmaller than 0.05, and a range of 0–3, rather than 0–1,was used. The plot obtained is shown in Fig. 10a.

The best value seems to be around 60–70%. However,there are some properties of actual Vm tracking that arenot properly reflected here. In particular, the algorithmdoes not know to turn around once Vm is passed. It couldcontinue on, as illustrated earlier. First suppose that thepower curve were symmetric. Then 1 V left of Vm wouldhave the same power as 1 V to the right of Vm. So, if thealgorithm moved from Vm � 1 to Vm + 1, the step size

Page 7: A proposed maximum power point tracking algorithm based on a new testing standard

0 0.2 0.4 0.6 0.8 10

50

100

150

200

250Error for different alpha values

alpha

Tota

l Erro

r

(a)

0 0.2 0.4 0.6 0.8 10

50

100

150

200

250Error for different alpha values

alpha

Tota

l Erro

r

(b)

0 0.2 0.4 0.6 0.8 10

50

100

150

200

250Error for different alpha values

alpha

Tota

l Erro

r

(c)

0 0.2 0.4 0.6 0.8 10

50

100

150

200

250

300Error for different alpha values

alpha

Tota

l Erro

r

(d)Fig. 10. Errors for various a values for some simple tracking algorithms.

T. Bennett et al. / Solar Energy 89 (2013) 23–41 29

would be 2 V. However, since the power is the same at bothpositions the algorithm would potentially do nothing(depending on how this possibility was implemented in thecontroller). In particular, it would be necessary thatjPosition � Vmj is greater than 50% of the step size, in orderto turn around. The results of this are shown in Fig. 10b,where the curve is less smooth than before, but still roughlythe same, with the minimum closer to 70%, and a slightincrease in error near 65%.

In the more realistic case, the slope of the power curve issteeper to the right. So, rerunning the previous program, butthis time implementing that turn arounds do not happenunless the position is 40% past x while going right, or 60%past x while going left, gives the output shown in Fig. 10c.

Notice this caused the curve to shift slightly to the right.However, there is one more consideration. The errorshould be larger on the right, since the power curve is stee-per there. Being 1 V larger than Vm yields a smaller powerthan being 1 V smaller. Multiplying all errors to the rightof x by 3 yields the result shown in Fig. 10d.

All of the plots that were generated in Fig. 10 were done ina way that attempted to be more general than the PV track-ing case. However, it is now important to run the same teston the actual PV module, in this case the BP model. If theresults are similar to the more general results, one might feela little confident in applying the results to other PV modulemodels.

One last test will be given. This time the algorithm willuse the BP module, and its Vm and power values to calcu-late the error. The results of this modification are shown inFig. 11. It is seen that a value a little less than 70% seems tobe ideal.

One need also consider picking a value that providessome robustness. In particular, there are a number of val-ues that seem to yield almost the same result, as seen inFig. 9a for example. Even though 66% yielded the bestvalue for the BP and SP modules, it seems to have a slightdecrease around that value in many of the plots in Fig. 10.From those plots, a value of 60% seems like it may beslightly better.

In Table 5, the results of the proposed algorithm for theBP, SP and Suntech modules used in this work, as well assome Kyocera, Schott, Sharp, Sanyo, and Evergreen mod-ules (labeled PV1-PV5, respectively), are given. The effi-ciencies, using the Ropp input, was well above 99% forall modules. In this table three different a values are com-pared. Though the results were close, a value of 66% iswhat will be used in what follows.

5.2. K and VS

The proportionality constant between percent change inpower to change in voltage, K, (previously given as 4)should also be considered in more detail. The results of a

Page 8: A proposed maximum power point tracking algorithm based on a new testing standard

0.2 0.4 0.6 0.8 110

12

14

16

18

20

22

24

26Error for different alpha values

alpha

Aver

age

Erro

r

Fig. 11. Average error for different alpha values using the BP module.

30 T. Bennett et al. / Solar Energy 89 (2013) 23–41

range of K values for the BP module are shown in Fig. 12.The BP module is best for a K value near 4.4, and the SPmodule does best around 5.75 (not shown). The value of4.4 is not far off from the value of 4 used previously. So,it was not a bad guess. Note that 4.4 V is almost 18% ofVm for the BP panel, For the SP module, a value of 5.75is a little more than 10% of Vm. This will now be investi-gated in more detail.

Decreasing irradiance, or Ig in the simulations, by 80%,decreases power by slightly more than 80%. This is becausethough the current drops by 80%, the Vm value alsodecreases slightly. Using the PV module model used in thispaper, and assuming that the ratio of Im to Ig remains con-stant (roughly 90%), then the following equation can easilybe derived from the IV curve and its derivative:

V m2

V m1

eV m2�V m1

a ¼ Ig2

Ig1

ð6Þ

If one has a available, one could see how Vm changes due toa change in Ig (irradiance). In Fig. 13, a plot shows how Vm

changes due to a decrease of 80% in irradiance.

2 3 4 5 6 7 80.984

0.986

0.988

0.99

0.992

0.994

0.996

0.998

1

1.002Efficiency for different K values

K

effic

ienc

y

Fig. 12. Efficiencies for different K values based on a = 66% and VS = 0.5.

As can be seen, the larger the starting Vm, the smaller thechange. This would explain why the SP module voltagechanged by about 10%, but the BP changed by about18%. Also, one may see that changes in a affect the curve(though the shape remains unchanged). On top of that,for a more realistic model, Vm will likely decrease more.This is because the slope of the IV curve decreases morewhen left of Vm. Note that due to the decreasing changein percentage of Vm as Vm1 increases, the voltage range isfairly similar for a PV panel having a Vm of closer to 20,as one closer to 100. However, this exact range changesbased on a, and so using a fixed voltage would probablynot work so well.

It is also important to notice that the curve is roughlylogarithmic, and is concave. Because of this, it is probablybetter to approximate the voltage, linearly, by using a slopeof more than the actual change. For example, suppose for aPV module that at a 20% irradiance Vm = 50, and at a100% irradiance, Vm = 55. If one were to draw a straightline from (.2Ig, 50) to (Ig, 55) on a plot of Vm versus Ig, thatline would be beneath the actual curve the whole time,since it is concave. Because of this, it would be better touse a line of a larger slope to better represent Vm versus Ig.

Recall that for the proposed algorithm, once irradiancestops changing, the algorithm gets perturbed one moretime in its current direction. For this reason, one might alsowish K to be a little less. With these things in mind, andafter doing some simulations, a value of K = 16% Vm wasdecided on. This value for K is based on a PV system ofonly one module. Hence, in a more typical system (usinga string of modules generating a much higher voltage), avalue smaller than 16% should be used. In general, it willdepend on the input range of the converter. Later when astring of modules are used, a smaller percentage will beused for calculating K.

The VS values that performed best for both the BP andSP modules were the ones that were roughly 1/8 of thecalculated K value, as seen in Fig. 9b for the BP. This is

Fig. 13. A curve showing how Vm changes for different starting Vm values,2a values, and an 80% drop in irradiance.

Page 9: A proposed maximum power point tracking algorithm based on a new testing standard

T. Bennett et al. / Solar Energy 89 (2013) 23–41 31

a reasonable starting step size (the step size does decrease intime), as it is reasonably large, without being close to K,which roughly represents the complete range of voltage val-ues for different conditions.

6. Proposed algorithm – general

Using the values obtained in the previous section, thefinal version of the algorithm has been set. It is the sameas the algorithm given during the 4th step, only now ithas parameters that are less arbitrary, and are fairly opti-mal. These parameters are obtained with a = 66%,K = 0.16 Vm, and VS = K/8. For the BP module, this gavean efficiency of 99.88%.

Even though the efficiency could be made higher, it didnot seem wise to optimize the setup for the particular inputdiscussed previously, but rather try to generalize it a bit.This is what was done.

See Table 5 for the results of a handful of different PVmodules that were tested with this algorithm for the buckconverter. They all yielded well above 99% efficiency. Thesmallest panel and the largest panel (in terms of power)had the worst results due to K better representing theaverage of these panels. However, once an actual convertersystem is created, and so the voltage range for the input isdetermined, this value can be modified slightly. For now itis pretty good.

7. Comparison to other algorithms in the literature

There are a number of algorithms that are some varia-tion on the P&O or IncCond algorithm. In this section,some comparisons will be made between the proposedalgorithm just presented and some that have already beenproposed. The idea of a changing step size is nothingnew, and there are a number of methods to do this, as willnow be discussed.

In Xiao and Dunford (2004), the duty cycle changesbased on D(k) = D(k � 1) + a*Slope, where D(k) is theduty cycle at iteration k, the slope is 1 or �1 dependingon if power increased or not, and a is given bya(k) = M(kDPk)/a(k � 1). In Pandey et al. (2006), a slightlymore straightforward version is given:

Dðkþ 1Þ ¼ DðkÞ �MP ðkÞ � P ðk� 1ÞV ðkÞ � V ðk� 1Þ

��������

where they claim M can be evaluated asM = kDDmaxDVmax/DPmaxk. They also mention just

using:

Dðkþ 1Þ ¼ DðkÞ �M jP ðkÞ � P ðk� 1ÞjThe results are rather limited, and one cannot conclude ifM was optimized. It is very similar in Liu et al. (2008), ex-cept the equation for M in terms of maximum duty cycle,voltage, and power changes, is given as an upper bound.It is interesting to point out that duty cycle is used oftenin these papers, rather than the voltage. Though the

equation can likely be changed fairly easily, it does seemto make some of these methods converter dependent.

There are other papers; some are used with P&O (Al-Diab and Sourkounis, 2010; Pandey et al., 2006; Xiaoand Dunford, 2004), and others are used with IncCond(Liu et al., 2008; Li and Wang, 2009). However, it seemsno optimal solution is ever given for M. Tuning M is seenas a major hindrance (Raza and Goto, 2009; Pandey et al.,2006). In Femia et al. (2005) an attempt at optimizing thestep size is made based on a small signal model. Unfortu-nately, this value is heavily dependent on PV parametersand so not too generic, and it also can track incorrectly(Raza and Goto, 2009). In Mei et al. (2011), the voltageper power to duty scalar, M, is made variable.

In Raza and Goto (2009), a fixed percentage is used (likea above) to change the step size whenever the directionchanges, in this case 50%. No explanation is given forchoosing 50%. When the irradiance changes (presumablyone is already at the MPP and steady state), the programtries to catch it. It is not explained what the response tosuch a change is. One can assume the step size is increasedagain in some fashion.

A method for coping with changing irradiance condi-tions is also given in Sera et al. (2006, 2008). This method,after further consideration, is similar to part of the algo-rithm that is being proposed in this paper. In the methodof the other paper, the authors propose sampling twice inevery iteration. For example, if the P&O algorithm wasrun every second, there would be a sample of v and i everyhalf second. The power change during the first half secondwould be considered to be due to both the change in volt-age and change in irradiance. While the power change ofthe second half second would be assumed to be due entirelyto irradiance changes. Using these measurements, onecould solve for the change due only to the perturbation.The assumption is that the irradiance changes fairlylinearly.

In order for this to work though, it seems one wouldhave to assume that the transient due to the perturbationis over before each (1/2 s) sample was taken. This meansthat one is running their algorithm fairly slowly (when irra-diance is not changing), since it is waiting well beyondsteady state for the main algorithm to run. In the proposedalgorithm, during flag 2, the duty cycle is kept constant, sothat one can see the effects of changes in irradiance. So inthis respect the algorithms have a similarity. However, thiswas only during a flag setting of 2 in the proposed algo-rithm. In Sera et al. (2006, 2008) the voltage step size isbased on this change at all times, it seems.

8. MPPT with a boost converter

It is often implied or even claimed outright, that theMPPT algorithm is independent of the converter used(Femia et al., 2005). This section is included to verifythat the control algorithm could also be implementedusing a boost converter. The main difference is that the

Page 10: A proposed maximum power point tracking algorithm based on a new testing standard

0 100 200 300 400 500 600 70020

21

22

23

24

25

26

27BP NRM with Boost Converter and control

time (s)

PV V

olta

ge

0 100 200 300 400 500 600 7000

50

100

150

200BP NRM with Boost Converter and control

time (s)

PV P

ower

(wat

ts)

Fig. 14. Results of proposed algorithm using a boost converter.

Table 2PV voltage for different duty cycles based on diode forward voltage.

Duty cycle Vf = 0 Vf = 0.5 Vf = 1 Vf = 1.5

0.45 26.67 27.28 27.89 28.750.50 24.00 24.50 25.00 25.500.55 21.82 22.23 22.64 23.040.60 20.00 20.33 20.67 21.000.65 18.46 18.73 19.00 19.270.70 17.15 17.36 17.58 17.79

32 T. Bennett et al. / Solar Energy 89 (2013) 23–41

relationship between the duty cycle and the PV voltage isnow different. In particular, the buck converter equationfor changing the duty was:

d2 ¼ vout=ðvout=d1 þ DvÞFor the boost converter this was changed to:

d2 ¼ d1 � Dv=vout

Also, to set the PV voltage to 85% of Voc, d = 1 � .85Voc/vout was used. Other changes are that L was changed from0.1 to 1 H, and vout was set to 36 V instead of 12. Other-wise, everything was the same. The a, K, and VS valueswere obtained as discussed previously. The results areshown in Fig. 14. The efficiency was 99.89%.

9. Modeling a buck converter with system losses

There are many losses that one may consider in a sys-tem. Even things such as resistance as a function of temper-ature could potentially be considered. Many losses have anegligible effect, and so do nothing more than complicatethe model when included. However, there are some impor-tant losses that should be considered. One important lossto consider is that due to the implementation of the switch(diode and transistor losses). Inductor losses will also beconsidered. The effects of rise and fall time of the MOSFETand diode seem fairly unimportant due to the switchingperiod being much more than rise and fall times. Leakagecurrent also seems fairly negligible.

9.1. Diode loss

The voltage across the inductor is either v � vout or0 � vout depending on the position of the buck converterswitch; see Bennett et al. (2012). However, with a forwarddiode voltage, Vf, the second voltage would now become�Vf � vout. With this new change, some PV voltage resultsfor different duty cycles and Vf values are obtained for thebuck converter system. These are seen in Table 2 andFig. 15.

Notice that the PV voltage becomes larger for a largerVf. This should not be surprising. When the switch is off,the voltage across the inductor is now smaller than itused to be. This contributes to decreasing the current,which will increase the PV voltage. It appears that thevoltage is an affine function of duty cycle. Based onsome of the values, it was easy to guess what the equa-tion was:

v ¼ vout

dþ 1� d

dV f ð7Þ

9.2. Resistive losses

There are resistive losses in the circuit, as in any circuit.The transistor on resistance, as well as the inductor resis-tance will be examined.

9.2.1. Transistor losses

Transistor losses are probably the most significant; inparticular, the on resistance of the transistor, Rt. For theIRF510 n-channel MOSFET, which will be used in thesequel to this paper, the resistance is specified as 0.6 X.

The current going through the MOSFET is larger thanthe PV current. It is equal to the current going throughthe inductor (coming from PV panel and capacitor) whenthe switch is on. For example: the PV current of the BPmodule is roughly 8 A at 24 V (a duty cycle of 50%), andso the current is roughly 16 A going through the MOSFET.

Page 11: A proposed maximum power point tracking algorithm based on a new testing standard

0 0.5 1 1.516

18

20

22

24

26

28

30

PV voltage as a function of duty cycle and diode forward voltage

diode forward voltage

PV V

olta

ge

Fig. 15. The effects on PV voltage due to diode forward voltage.

Table 3PV voltage for different duty cycles based on MOSFET on resistance.

Duty cycle Rt = 0 X Rt = 0.2 X Rt = 0.4 X Rt = 0.6 X Rt = 0.8 X

0.45 26.67 28.77 29.55 29.9 30.090.5 24 26.76 28.31 29.06 29.470.55 21.82 24.68 26.81 28.05 28.740.6 20 22.76 25.15 26.85 27.880.65 18.46 21.06 23.48 25.48 26.870.7 17.15 19.57 21.92 24.04 25.71

Table 4PV voltage for different duty cycles based on inductor resistance.

Dutycycle

Ri = 0 X Ri = 0.05 X Ri = 0.1 X Ri = 0.15 X Ri = 0.2 X

0.45 26.67 28.07 28.9 29.36 29.650.5 24 25.52 26.76 27.68 28.310.55 21.82 23.18 24.44 25.57 26.50.6 20 21.17 22.31 23.41 24.420.65 18.46 19.47 20.47 21.45 22.40.7 17.15 18.02 18.88 19.75 20.6

T. Bennett et al. / Solar Energy 89 (2013) 23–41 33

If the transistor on resistance was 0.2 X, then the voltagedrop would then be about 3.2 V. However, this voltagedrop effectively makes the output voltage seem that muchlarger, which means that the PV voltage will increase. So,vout is now effectively vout + voltage drop. This increase inthe effective output voltage, due to the transistor voltagedrop, will cause an increase in the PV voltage, which willdecrease the PV current. This acts to reduce the transistorvoltage drop. Hence, the approximated 3.2 V will actuallybe a little less. In Table 3 one can see that the PV voltagechanged by 2.76 V for that case (see 50% duty cycle and0.2 X entry), not 3.2 V. How much i changes will dependwhere on the IV curve the PV module is operating. In par-ticular, it does not change much at lower voltages. Lookingat the IV curve shows that at 26.76 V, i = 6.91 A. It waseasy to guess that Eq. (8) satisfies the data given.

v ¼ vout þ iRt

dð8Þ

If one compares this to the buck equation used before,v = vout/d, one sees that the output voltage is effectively in-creased as stated above.

9.2.2. Inductor resistance

Now the resistance of the inductor, Ri, is considered.Note that the resistor values in Table 4 are smaller, yetthe voltage drops are still comparable to the MOSFETvoltage drops. This is due to there being more currentthrough the inductor on average. The MOSFET is notalways on, and so the losses are not always present, butthe inductor is always conducting current. For these losses,the following equation was found to match the table:

v ¼ vout

dþ iRi

d2ð9Þ

In Erickson and Maksimovic (2001) inductor losses areconsidered for a boost converter (not with a PV inputthough).

9.3. All system losses together

The PV and output voltage are ideally proportional toeach other (for a fixed duty cycle). Including the (lossy)diode acts to increase the PV voltage relative to the idealcase. This means that current will decrease (unlike if anideal voltage source was used rather than a PV module),and so a resistive voltage loss being added in will now havea smaller effect. In short, it should be easy to see that,though each of the above mentioned losses causes the PVvoltage to be higher than that predicted by v = vout/d, theyare not added together (i.e. they do not contribute linearly).For low voltages and small enough resistor values, wherethe current does not decrease much, it may be close. How-ever, closer to the MPP, it is less so. The combined equa-tion is given by Eq. (10).

v ¼ vout

dþ 1� d

dV f þ

iRt

dþ iRi

d2ð10Þ

This is not a linear combination of the previous losses,since it depends on current. For example, for a duty cycleof 50%, forward diode voltage of 0.5 V, transistor on resis-tance of 0.6 X, and inductor resistance of 0.1 X, the PVvoltage is 29.53 V. So, it is 5.53 V higher than the idealof 24 V. This can be seen in Fig. 16. The sum of the voltagedifferences taken separately is 0.5 + 5.06 + 2.76 = 8.32 V,as one can see from the tables. The voltage difference israther large here, the values being used for illustrationpurposes.

How would one calculate the power loss? The outputcurrent is 1/d times the PV current (buck converters stepup current) in a lossless system. Unfortunately, this is nolonger the case, in a lossy system. So, using the output cur-rent is a little difficult. Still, one can calculate the lossesusing v2/R for the resistance losses, using the voltage drops

Page 12: A proposed maximum power point tracking algorithm based on a new testing standard

Table 5A number of PV modules with their model and algorithm parameters, as well as their MPPT Buck converter efficiency for the Ropp input using statedparameters.

Module BP SP ST PV1 PV2 PV3 PV4 PV5

Voc 30.7 64.2 21.6 36.9 37.3 37.4 53 22.8Isc 8.6 5.96 0.66 8.59 8.52 8.65 5.66 12.11Vm 24.4 54.7 17.2 29.8 30.4 30.4 43.4 18.3Im 7.96 5.58 0.58 7.89 7.9 7.98 5.21 11.48

Vm/Voc 0.795 0.852 0.796 0.808 0.815 0.805 0.819 0.803Im/Isc 0.926 0.936 0.879 0.919 0.927 0.923 0.920 0.948FF 0.736 0.798 0.700 0.742 0.756 0.742 0.754 0.761

a 2.4249 3.4512 2.0853 2.8318 2.6331 2.7365 3.7916 1.5223Is 2.7307 4.9709 2.0946 1.8831 6.0035 1.0033 4.8096 3.7892

�10�5 �10�8 �10�5 �10�5 �10�5 �10�6 � 10�6 �10�6

K 3.9 8.8 2.8 4.8 4.9 4.9 6.9 2.9VS K/8 K/8 K/8 K/8 K/8 K/8 K/8 K/8

a 50% 50% 50% 50% 50% 50% 50% 50%Eff. 99.87% 99.36% 99.36% 99.86% 99.76% 99.86% 99.86% 99.83%

a 60% 60% 60% 60% 60% 60% 60% 60%Eff. 99.86% 99.37% 99.54% 99.85% 99.88% 99.88% 99.83% 99.85%

a 66% 66% 66% 66% 66% 66% 66% 66%Eff. 99.88% 99.36% 99.56% 99.87% 99.85% 99.86% 99.84% 99.88%

0.4 0.5 0.6 0.7 0.8 0.9 110

15

20

25

30

35

X: 0.5Y: 29.53

Voltage vs duty cycle

duty cycle

volta

ge

X: 0.5Y: 24

More realistic

Ideal

Fig. 16. Voltage versus duty cycle of BP NRM, for Vf = 0.5, Rt = 0.6, andRi = 0.1.

34 T. Bennett et al. / Solar Energy 89 (2013) 23–41

given in the previously derived equations. Using currentand duty cycle estimates for near the MPP in Fig. 16, yieldsbetween 60 and 70 W lost for the resistance values. A cal-culation in Matlab yields a loss of about 12 W in the induc-tor, 51 W in the transistor, and 1.5 W in the diode. Theselosses are unrealistically large, compared to a typical con-verter system (relatively speaking at least).

Referring again to Fig. 16, notice that for the lowest volt-age, where current is highest, the error between the ideal andthe more realistic voltage is not maximum. This is becausefor large duty cycles, the diode is used less, and so eventhough the errors due to the resistances goes up, the errordue to the diode vanishes. Another thing to check is thesteady state behavior of the system at low voltages.

For large duty cycles, the voltage should be low. In Ben-nett et al. (2012) it was shown that this resulted in oscillatorybehavior due to the PV module acting more like a constantcurrent source. However, now the voltage is higher. Evenfor a duty cycle of 100%, the transistor on resistance willadd to the PV voltage value causing it to stay above the bat-tery voltage. See Fig. 17 for an example of this.

With some resistance values thrown into the system, theeffect is similar to having PV resistance (since things in ser-ies can be moved around). PV module resistance causes theslope of the IV curve to decrease, and so makes the PVmodule act less like a current source. The large losses con-sidered in Fig. 17 caused the voltage to go up. What if thevoltages were moved lower, would oscillations return?

In Fig. 18 a result from using the SP module in a buckconverter system with no losses is shown. As can be seen,the steady state behavior was pretty terrible, as discussedin Bennett et al. (2012). As a way of comparison, this samesetup was run again, but this time adding in slight losses inthe system (that way the (DC) voltage is still roughly thesame value as before). The values used are very small:Vf = 0.01 V, Ri = 0.01 X and Rt = 0.01 X. The results areshown in Fig. 19. This is quite an improvement, with thesignals nearly converging after 30 s. Previously they didnot converge at all for the two lower curves. Addingslightly more realistic values (larger values) will virtuallyget rid of all the oscillatory behavior.

10. Boost converter system losses

By way of comparison, the voltage/duty cycle relation-ship for the boost converter, with the same type of lossesas considered before, is:

Page 13: A proposed maximum power point tracking algorithm based on a new testing standard

0 5 10 15 20 25 3010

15

20

25

30

BP NRM with Buck Converter

time (s)

PV V

olta

ge

Realistic, Vf=.5,Rt=.6,Ri=.1

Realistic, Vf=.5,Rt=.1,Ri=.1

Ideal

Fig. 17. Comparison of steady state behavior between ideal buckconverter, and one with losses, for a duty cycle of 80%.

0 5 10 15 20 25 3020

25

30

35

40

45

50

55

60

65SP NRM with Buck Converter

time (s)

PV V

olta

ge

Fig. 18. A plot of an SP buck circuit for C = L = .1 duty cycles of 40%,60% and 80%, vout = 24, and no system losses.

0 5 10 15 20 25 3020

25

30

35

40

45

50

55

60

65SP NRM with Buck Converter

time (s)

PV V

olta

ge

Fig. 19. A plot of an SP buck circuit for C = L = .1, duty cycles of 40%,60% and 80%, vout = 24, and for Vf = 0.01 V, Ri = 0.01 X and Rt = 0.01 X.

0.2 0.4 0.6 0.8 10

5

10

15

20

25

30

35Voltage vs duty cycle

duty cycle

volta

ge

Ideal

More Realistic

Fig. 20. Voltage versus duty cycle of BP NRM, for Vf = 0.5, Rt = 0.6, andRi = 0.1.

0 100 200 300 400 500 600 70024

25

26

27

28

29

30

31NRM with More Realistic Buck Converter

time (s)

PV V

olta

ge

0 100 200 300 400 500 600 7000

50

100

150

200NRM with More Realistic Buck Converter

time (s)

PV P

ower

(wat

ts)

Fig. 21. Output of BP module with system losses for STC.

T. Bennett et al. / Solar Energy 89 (2013) 23–41 35

v ¼ ð1� dÞðvout þ vdÞ þ diRt þ d2iRi

A plot of the voltage versus duty cycle for these losses areshown in Fig. 20.

Page 14: A proposed maximum power point tracking algorithm based on a new testing standard

0 100 200 300 400 500 600 70016

18

20

22

24

26

28

30NRM with More Realistic Buck Converter

time (s)

PV V

olta

ge

0 100 200 300 400 500 600 7000

50

100

150

200NRM with More Realistic Buck Converter

time (s)

PV P

ower

(wat

ts)

Fig. 22. Results of proposed algorithm with large system losses;Rt = 0.6 X, Ri = 0.1 X, Vf = 0.5 V.

0.2 0.4 0.6 0.8 118

20

22

24

26

28

30Voltage change based solely on irradiation

Percent of max Ig

PV V

olta

ge

duty cycle=50%

duty cycle=60%

duty cycle=70%

Fig. 23. How voltage changes with respect to irradiance for various dutycycles for the BP NRM.

0 100 200 300 400 500 600 700190

200

210

220

230

240

250

260

270NRM with nonIdeal Buck Converter

time (s)

PV V

olta

ge

0 100 200 300 400 500 600 7000

500

1000

1500

2000NRM with nonIdeal Buck Converter

time (s)

PV P

ower

(wat

ts)

Fig. 24. Results of proposed algorithm with 10 BP modules in series.

0 0.2 0.4 0.6 0.8 10

50

100

150

200

250

300

350Voltage vs duty cycle

duty cycle

volta

ge

Fig. 25. Voltage versus duty cycle of BP NRM, for Vf = 0.5, Rt = 0.6, andRi = 0.1.

36 T. Bennett et al. / Solar Energy 89 (2013) 23–41

Page 15: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 26. Main loop of proposed algorithm.

T. Bennett et al. / Solar Energy 89 (2013) 23–41 37

Page 16: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 27. Flag 0 of proposed algorithm.

38 T. Bennett et al. / Solar Energy 89 (2013) 23–41

11. Effects of system losses on control algorithm

The effects of the converter losses, discussed in the pre-vious sections, on the MPPT algorithm will now be consid-ered for the buck system. Some large losses will beconsidered first, as was done above, to better illustratethe behavior of the effects. However, after that, some morerealistic values will be used to show, that for the most part,the algorithm is not affected by the converter losses. Thefollowing relationship, with respect to the buck converter,was used previously:

v2 ¼ v1 þ Dv() d2 ¼ voutvout

d1

þ Dv� ��

ð11Þ

This allowed one to obtain a desired voltage by setting theduty cycle to a particular value, and was used previously inthe MPPT algorithms. However, the new voltage and dutycycle relationship would require the use of the followingequation:

vout

d2

þ 1� d2

d2

V f þi2Rt

d2

þ i2Ri

d22

¼ vout

d1

þ 1� d1

d1

V f þi1Rt

d1

þ i1Ri

d21

þ Dv ð12Þ

Solving for the duty cycle, d2, in this equation would bequite a nuisance. The polynomial that would result maynot be terribly difficult, depending on the approach. Theproblem would mainly be that the new duty cycle dependson what the current will be at that new value, and so wouldneed some prediction. On top of that, the manufacturerwould need to record the resistances and forward voltageof the diode, and use in the algorithm.

To be more precise, one may wish to use more dynamicvalues for these variables. This could potentially be annoy-ing if one wished to use Eq. (12). Another option would beto add a closed loop control that allows one to set thedesired PV voltage (using a PID controller for example).

Page 17: A proposed maximum power point tracking algorithm based on a new testing standard

T. Bennett et al. / Solar Energy 89 (2013) 23–41 39

This has the downside of making the system slightly morecomplex. Is it necessary?

11.1. Fixed irradiance

The control algorithm works almost exactly the same inthe more realistic model when testing with a fixed irradi-ance (IV curve). It appears to be a couple seconds slowerin starting mainly because, choosing d = vout/.85, for exam-ple, would ideally cause the system to start near 85% Voc,but now the output is larger, so it begins closer to Voc, asdoes the next iteration, etc. This behavior can be seen inFig. 21. However, modifying the algorithm to start at alower duty cycle fixes this bad start. So, the system behaveswell to a step input even with rather drastic changes in theduty cycle/voltage relationship introduced by the systemlosses.

11.2. Changing irradiance

For a fixed irradiance that one wishes to converge to, asdiscussed in the previous subsection, the algorithm as itwas introduced works quite well, if perhaps no longer opti-mal. However, one starts to run into issues when irradiancechanges. To see what happens when the proposed algo-rithm is used without modification for significant resistiveand diode loss values, see Fig. 22. In this figure, the voltageand power tracking is shown. The efficiency was 94.44%.

Why is the behavior so bad? This will be explainedmomentarily. First, it should be pointed out that a slightmodification to the algorithm had to be made. Previously,

Fig. 28. Flag 1 of pro

if the voltage went outside a certain range (15–26 V for theBP module), the algorithm would restart, assuming somemistake occurred (this is not included in the flowchart).However, due to the large swings of voltage that occurredwhen running the algorithm with these large losses, thiscaused the algorithm to restart nonstop, yielding a verylow efficiency of 67.13%. It also made it hard to separatethe behavior due to that aspect of the algorithm, and thebehavior due to system losses. Consequently, the limitedvoltage range was relaxed during this run. Now, to explainthe behavior.

Consider again Fig. 16. Suppose the system is operatingaround 24 V. This means roughly a 50% duty cycle for theideal converter, and 75% for the more realistic circuit,where the output voltage is assumed to be 12 as was usedpreviously. So, if one now wished to increase by roughly1 V, a new duty cycle would be calculated for the ideal case,as:

d ¼ vout=ðvout=:5þ 1Þ ¼ 12=25 ¼ 0:48 ð13Þ

For the more realistic case, if we used the same equation:

d ¼ vout=ðvout=:75þ 1Þ ¼ 12=17 ¼ 0:706 ð14Þ

The first case gives a new voltage of roughly 25 as expected,whereas the more realistic case yields closer to 25.5.

Even under flag 2, when the duty cycle is kept constant,there is another issue. This is the issue of the voltage chang-ing during irradiance changes, even though the duty cycle isconstant. For example, when irradiance goes from 20–100% of peak sun (1000 W/m2), the current goes up alsoby a factor of nearly 500%. This increase in current causes

posed algorithm.

Page 18: A proposed maximum power point tracking algorithm based on a new testing standard

Fig. 29. Flag 2 of proposed algorithm.

40 T. Bennett et al. / Solar Energy 89 (2013) 23–41

an increase in PV voltage even for a fixed duty cycle, due tothe losses in the transistor and inductor, as defined by Eq.(10).

Consider Fig. 23. In this figure one can see how muchthe voltage changes by for a few different duty cycles, from20–100% of peak sun (using 20–100% of Ig). Notice for theBP module, that going from 20% to 100% of peak sun, thevoltage changes close to 6 V near the MPP. This is quite abit more than the change in Vm for the same change in irra-diance. Recall, this change was closer to 4 V.

If one looks for MPPT charge controllers, they will findthat many of them claim an efficiency in excess of 95%.However, as was discussed above, the efficiency of the sys-tem with the currently very large losses, is quite low.Rather than decrease some of the values of our losses,instead, a string of 10 BP modules in series will now be con-sidered. Since the current is the same, the losses shouldremain about the same, and so this will bring us up to amore realistically efficient system (as well as better repre-senting the types of ranges seen in the field).

Some of the algorithm parameters had to be changed.For one, with such a large voltage, a little over 300 V,

the percent change in Vm for different irradiance values iscloser to 3–4%. So, a value of K = 9 was used, which ismore reasonable than K = .16 � 244 = 39. Also, Pm hadto be changed to 2000 W now. Otherwise the algorithm isuntouched. The output is shown in Fig. 24, where the lossyvalues are still the same; Vf = 0.5, Rt = 0.6, and Ri = 0.1.

The efficiency was 99.96%, even better than previousruns of the BP module. Of course, this does not take intoaccount the imperfect initialization, but this is somethingthat one can modify a bit. If one looks at Fig. 25, it is clearthat the differences between the ideal and more realisticvoltage to duty cycle curves are now much less.

These results imply that so long as losses are kept rela-tively small, the algorithm proposed for an ideal model(no losses) should still hold for a more realistic model.The largest difference is during ramp changes, not step.

12. Conclusions

A new MPPT algorithm was proposed, and its parame-ters optimized. It was then compared to some other hillclimbing algorithms. Though there were similarities, which

Page 19: A proposed maximum power point tracking algorithm based on a new testing standard

T. Bennett et al. / Solar Energy 89 (2013) 23–41 41

is far from surprising given the simple idea behind hillclimbing, the proposed method is noticeably different. Insome ways a bit more complicated as it has different modesin which it runs in; namely flag 0, 1 and 2. The proposedmethod, for flag 2, had power change for a fixed voltage,unlike most of the previously proposed methods. Whenthe flag is at 0, it is changed by a percentage, 66%, thathas been shown to be fairly optimal, unlike (Raza andGoto, 2009), which just used 50%. Flag 0 also imitatesthe incremental conductance, where di/dv is compared toi/v. However, under flag 1, the powers are compared (likeP&O). The reason was that for small perturbations, di

and dv might be small, and so any noise, or error in mea-surement due to, say a transient, could cause significantchanges in the ratios. Consequently, the power comparisonseemed a little more robust. It also worked with the boostconverter as well as the buck converter, showing that it canlikely be implemented in different converters.

Next, the effect of system losses on the PV system wereconsidered for the buck, and briefly the boost, converters.The losses were considered separately, and then together.The effects on the voltage to duty cycle relationship wereexplored. It is seen that the discrepancy increases as thecurrent in the system increase. In particular, using PV mod-ules with a larger voltage, and smaller current would bepreferred. The BP module has a fairly high current. TheIsc/Voc = 28.0%, whereas the SP is 9.2%. The effects thishad on the MPPT control algorithm were also explored.It was seen that the proposed algorithm held up very wellfor small losses, but begins to fall apart as losses get toolarge (unrealistically large, really). Though not consideredhere, one could potentially use a (PID) controller to con-trol the PV voltage (relative to where the algorithm sets it).

In the second part of this paper, many of these resultswill be verified in an implementation of a PV system circuit.

References

Al-Diab, A., Sourkounis, C., 2010. Variable step size P&O mpptalgorithm for pv systems. In: 12th International Conference onOptimization of Electrical and Electronic Equipment.

Bennett, T., 2012. Developing a Photovoltaic MPPT System. Dissertation.

Bennett, T., Zilouchian, A., Messenger, R., 2012. Photovoltaic model andconverter topology considerations for mppt purposes. Solar Energy 86.

Erickson, R.W., Maksimovic, D., 2001. Fundamentals of Power Elec-tronics, 2 ed. Kluwer Acadmic Publishers.

Femia, N., Petrone, G., Spagnuolo, G., Vitelli, M., 2005. Optimization ofperturb and observe maximum power point tracking. IEEE Transac-tions on Power Electronics 20.

Hohm, D.P., Ropp, M.E., 2000. Comparative study of maximum powerpoint tracking algorithms using an experimental, programmable,maximum power point tracking test bed. In: Photovoltaic SpecialistsConference.

Hua, C., Shen, C., 1998. Study of maximum power tracking techniquesand control of DC/DC converters for photovoltaic power system. in:29th Annual IEEE Power Electronics Specialists Conference.

Hussein, K.H., Muta, I., Hoshino, T., Osakada, M., 1995. Maximumphotovoltaic power tracking: an algorithm for rapidly changingatmospheric conditions. In: Proc. Inst. Elect. Eng., 142.

Li, J., Wang, H., 2009. A novel stand-alone pv generation system based onvariable step size inc mppt and svpwm control. In: Power Electronicsand Motion Control Conference.

Liu, F., Duan, S., Liu, F., Liu, B., Kang, Y., 2008. A variable step size incmppt method for pv systems. IEEE Transactions on IndustrialElectronics 55.

Mei, Q., Shan, M., Liu, L., Guerrero, J.M., 2011. A novel improvedvariable step-size incremental resistance (INR) MPPT method for pvsystems. In: IEEE Transactions on Industrial Electronics, 58.

Pandey, A., Dasgupta, N., Mukerjee, A.K., 2006. Design issues inimplementing mppt for improved tracking and dynamic performance.In: IEEE Annual Conference on Industrial Electronics.

Raza, K.S.M., Goto, H., 2009. An improved and very efficient mpptcontroller for pv systems subjected to rapidly varying atmosphericconditions and partial shading.

Ropp, M., Cale, J., Mills-Price, M., Scharf, M., Hummel, S.G., 2011. Atest protocol to enable comparative evaluation of maximum powerpopint trackers under both static and dynamic irradiance. In: IEEE37th Photovoltaic Specialist Conference.

Salas, V., Olias, E., Barrado, A., Lazaro, A., 2006. Review of themaximum power point tracking algorithms for stand-alone photovol-taic systems. Solar Energy Materials & Solar Cells 90.

Sera, D., Kerekes, T., Teodorescu, R., Blaabjerg, F., 2006. Improvedmppt method for rapidly changing environmental conditions. In:Power Electronics and Motion Control Conference.

Sera, D., Teodorescu, R., Hantschel, J., Knoll, M., 2008. Optimizedmaximum power point tracker for fast-changing environmentalconditions. IEEE Transactions on Industrial Electronics 55.

Xiao, W., Dunford, W.G., 2004. A modified adaptive hill climbing mpptmethod for photovoltaic power systems. In: Annual IEEE PowerElectronics Specialists Conference.