You are on page 1of 113

DESIGN AND SIMULATION OF

PHOTOVOLTAIC WATER PUMPING SYSTEM

A Thesis
Presented to the Faculty of
California Polytechnic State University,
San Luis Obispo

In Partial Fulfillment
of the Requirements for the Degree of
Master of Science in Electrical Engineering

by
Akihiro Oi
September 2005

AUTHORIZATION FOR REPRODUCTION OF MASTERS THESIS


I grant permission for the reproduction of this thesis in its entirety or any of its parts, without
further authorization from me.

Signature (Akihiro Oi)

Date

ii

APPROVAL
Title: DESIGN AND SIMULATION OF PHOTOVOLTAIC WATER PUMPING SYSTEM
Author:

Akihiro Oi

Date Submitted:

26th September, 2005

Dr. Taufik
Committee Chair

Signature

Dr. Ahmad Nafisi


Committee Member

Signature

Dr. William Ahlgren


Committee Member

Signature

iii

ABSTRACT
DESIGN AND SIMULATION OF PHOTOVOLTAIC WATER PUMPING SYSTEM
Akihiro Oi

This thesis deals with the design and simulation of a simple but efficient photovoltaic
water pumping system.

It provides theoretical studies of photovoltaics and modeling

techniques using equivalent electric circuits. The system employs the maximum power point
tracker (MPPT). The investigation includes discussion of various MPPT algorithms and
control methods.

PSpice simulations verify the DC-DC converter design.

MATLAB

simulations perform comparative tests of two popular MPPT algorithms using actual
irradiance data. The thesis decides on the output sensing direct control method because it
requires fewer sensors. This allows a lower cost system. Each subsystem is modeled in
order to simulate the whole system in MATLAB. It employs SIMULINK to model a DC
pump motor, and the model is transferred into MATLAB. Then, MATLAB simulations
verify the system and functionality of MPPT. Simulations also make comparisons with the
system without MPPT in terms of total energy produced and total volume of water pumped
per day. The results validate that MPPT can significantly increase the efficiency and the
performance of PV water pumping system compared to the system without MPPT.

iv

ACKNOWLEDGEMENTS
I would like to first acknowledge my advisor, Dr. Taufik, for his support and advice
throughout my graduate program. His power electronics courses and his dedication to his
students gave me the best experience during the program. I would also like to express my
sincere appreciation to my other thesis committees, Dr. Nafisi and Dr. Ahlgren, for review of
this thesis in detail and their important feedback.
I would like to thank my colleague and friend, John Carlin, who has a career
experience in designing photovoltaic systems.

A number of ideas generated from our

numerous discussions and his feedback are incorporated in this thesis. Also, thanks to my
other good colleagues, James Silva, John Cadwell, Michael Chong, James Sorenson, Sajiv
Nair, Alan Yeung, Yat Tam, all other denizens of EE Grad Lab and the lab technicians for
their support and willingness to help me out during various stages of my project.
Finally, to my parents, my sister, and my friends - many thanks for much support the
whole way through, especially Jenny Ho for her constant encouragement and support during
two years of my graduate work.
Akihiro Oi
September 2005

Table of Contents
List of Tables .................................................................................................... viii
List of Figures ......................................................................................................ix
Chapter 1 Introduction ..........................................................................................1
1.1 Water Pumping Systems and Photovoltaic Power.......................................................... 1
1.2 Energy Storage Alternatives ........................................................................................... 3
1.3 The Proposed System...................................................................................................... 4

1.3.1 PV Module............................................................................................................................ 5
1.3.2 Maximum Power Point Tracker............................................................................................ 5
1.3.3 MPPT Controller .................................................................................................................. 6
1.3.4 Water Pump .......................................................................................................................... 7

1.4 Background and Scope of This Thesis............................................................................ 8

Chapter 2 Photovoltaic Modules ........................................................................10


2.1 Introduction................................................................................................................... 10
2.2 Photovoltaic Cell........................................................................................................... 10
2.3 Modeling a PV Cell ...................................................................................................... 12

2.3.1 The Simplest Model............................................................................................................ 12


2.3.2 The More Accurate Model.................................................................................................. 15

2.4 Photovoltaic Module..................................................................................................... 17


2.5 Modeling a PV Module by MATLAB.......................................................................... 18
2.6 The I-V Curve and Maximum Power Point.................................................................. 25

Chapter 3 Maximum Power Point Tracker.........................................................27


3.1 Introduction................................................................................................................... 27
3.2 I-V Characteristics of DC Motors................................................................................. 28
3.3 DC-DC Converter ......................................................................................................... 31

3.3.1 Topologies .......................................................................................................................... 31


3.3.2 Ck and SEPIC Converters ................................................................................................ 32
3.3.3 Basic Operation of Ck Converter...................................................................................... 34

3.4 Mechanism of Load Matching ...................................................................................... 37


3.5 Maximum Power Point Tracking Algorithms............................................................... 38

3.5.1 Perturb & Observe Algorithm............................................................................................. 40


3.5.2 Incremental Conductance Algorithm.................................................................................. 44

3.6 Control of MPPT........................................................................................................... 47

3.6.1 PI Control............................................................................................................................ 47
3.6.2 Direct Control ..................................................................................................................... 48
3.6.3 Output Sensing Direct Control ........................................................................................... 50

3.7 Limitations of MPPT .................................................................................................... 52

Chapter 4 Design and Simulations .....................................................................55


4.1 Introduction................................................................................................................... 55
4.2 Ck Converter Design................................................................................................... 55

4.2.1 Component Selection.......................................................................................................... 56


4.2.2 PSpice Simulations ............................................................................................................. 59
4.2.3 Choice of MPPT Sampling Rate......................................................................................... 61

4.3 Comparisons of P&O and incCond Algorithm............................................................. 62


4.4 MPPT Simulations with Resistive Load ....................................................................... 66

vi

4.5 MPPT Simulations with DC Pump Motor Load........................................................... 70

4.5.1 Modeling of DC Water Pump............................................................................................. 71


4.5.2 MATLAB Simulation Results ............................................................................................ 73

4.6 System with MPPT vs. Direct-coupled System............................................................ 75

Chapter 5 Conclusion..........................................................................................78
5.1 Summary ....................................................................................................................... 78
5.2 Difficulties and Future Research .................................................................................. 79
5.3 Concluding Remarks..................................................................................................... 80

Bibliography .......................................................................................................81
Appendix A.........................................................................................................84
A.1 MATLAB Functions and Scripts ................................................................................. 84

A.1.1 MATLAB Function for Modeling BP SX 150S PV Module............................................. 84


A.1.2 MATLAB Script to Draw PV I-V Curves ......................................................................... 85
A.1.3 MATLAB Function to Find the MPP ................................................................................ 86
A.1.4 MATLAB Script: P&O Algorithm .................................................................................... 86
A.1.5 MATLAB Script: incCond Algorithm............................................................................... 88
A.1.6 MATLAB Script for MPPT with Output Sensing Direct Control Method........................ 90
A.1.7 MATLAB Script for MPPT Simulations with DC Pump Motor Load.............................. 93
A.1.8 MATLAB Script for MPPT Simulations with Direct-coupled DC Water Pump .............. 97

A.2 MPPT Simulations with Resistive Load .................................................................... 100

A.2.1 Direct Control Method with P&O Algorithm.................................................................. 100


A.2.2 Direct Control Method with incCond Algorithm............................................................. 101

Appendix B .......................................................................................................102
B.1 DSP Control ............................................................................................................... 102

B.1.1 TMS320F2812 DSP......................................................................................................... 102


B.1.2 SIMULNK and TI DSP.................................................................................................... 102
B.1.3 Example ........................................................................................................................... 103

vii

List of Tables
Table 1-1: PV powered, Diesel powered, vs. Windmill [13].................................................... 3
Table 2-1: Electrical characteristics data of PV module taken from the datasheet [1]........... 18
Table 3-1: Load matching with the resistive load (6 ) under the varying irradiance............ 53
Table 3-2: Load matching with the resistive load (12 ) under the varying irradiance.......... 53
Table 4-1: Design specification of the Ck Converter ........................................................... 55
Table 4-2: Ck converter design: comparisons of simulations and calculated results ........... 60
Table 4-3: Comparison of the P&O and incCond algorithms on a cloudy day ...................... 65
Table 4-4: Energy production and efficiency of PV module with and without MPPT .......... 75
Table 4-5: Total volume of water pumped for 12 hours......................................................... 77

viii

List of Figures
Figure 1-1: Block diagram of the proposed PV water pumping system................................... 5
Figure 2-1: Illustration of the p-n junction of PV cell [16]..................................................... 11
Figure 2-2: Illustrated side view of solar cell and the conducting current [16]...................... 11
Figure 2-3: PV cell with a load and its simple equivalent circuit [16] ................................... 12
Figure 2-4: Diagrams showing a short-circuit and an open-circuit condition [16]................. 13
Figure 2-5: I-V plot of ideal PV cell under two different levels of irradiance (25oC)............ 15
Figure 2-6: More accurate equivalent circuit of PV cell......................................................... 16
Figure 2-7: PV cells are connected in series to make up a PV module .................................. 17
Figure 2-8: Picture of BP SX 150S PV module [1] ................................................................ 18
Figure 2-9: Equivalent circuit used in the MATLAB simulations ......................................... 19
Figure 2-10: Effect of diode ideally factors by MATLAB simulation (1KW/m2, 25oC) ....... 21
Figure 2-11: Effect of series resistances by MATLAB simulation (1KW/m2, 25oC) ............ 22
Figure 2-12: I-V curves of BP SX 150S PV module at various temperatures........................ 24
Figure 2-13: Simulated I-V curve of BP SX 150S PV module (1KW/m2, 25oC) .................. 25
Figure 2-14: I-V and P-V relationships of BP SX 150S PV module...................................... 26
Figure 3-1: PV module is directly connected to a (variable) resistive load............................ 27
Figure 3-2: I-V curves of BP SX 150S PV module and various resistive loads..................... 28
Figure 3-3: Electrical model of permanent magnet DC motor ............................................... 29
Figure 3-4: PV I-V curves with varying irradiance and a DC motor I-V curve ..................... 30
Figure 3-5: PV I-V curves with iso-power lines (dotted) and a DC motor I-V curve ............ 31
Figure 3-6: Circuit diagram of the basic Ck converter ......................................................... 34
Figure 3-7: Circuit diagram of the basic SEPIC converter ..................................................... 34
Figure 3-8: Basic Ck converter when the switch is ON........................................................ 35
Figure 3-9: Basic Ck converter when the switch is OFF ...................................................... 35
Figure 3-10: The impedance seen by PV is Rin that is adjustable by duty cycle (D).............. 38
Figure 3-11: I-V curves for varying irradiance and a trace of MPPs (25oC).......................... 39
Figure 3-12: I-V curves for varying irradiance and a trace of MPPs (50oC).......................... 40
Figure 3-13: Plot of power vs. voltage for BP SX 150S PV module (1KW/m2, 25oC).......... 41
Figure 3-14: Flowchart of the P&O algorithm ....................................................................... 41
Figure 3-15: Erratic behavior of the P&O algorithm under rapidly increasing irradiance..... 43
Figure 3-16: Flowchart of the incCond algorithm .................................................................. 46
Figure 3-17: Block diagram of MPPT with the PI compensator ............................................ 48
Figure 3-18: Block diagram of MPPT with the direct control................................................ 48
Figure 3-19: Relationship of the input impedance of Ck converter and its duty cycle ........ 49
Figure 3-20: Output power of Ck converter vs. its duty cycle (1KW/m2, 25oC).................. 51
Figure 3-21: Flowchart of P&O algorithm for the output sensing direct control method ...... 52
Figure 4-1: Schematic of the Ck converter with PMDC motor load .................................... 59
Figure 4-2: PSpice plots of input/output current (above) and voltage (below) ...................... 60
Figure 4-3: Transient response when duty cycle is increased 0.35% at 250ms...................... 61
Figure 4-4: Searching the MPP (1KW/m2, 25oC)................................................................... 62
Figure 4-5: Irradiance data for a sunny and a cloudy day of April in Barcelona, Spain [2]... 63
Figure 4-6: Traces of MPP tracking on a sunny day (25oC)................................................... 64
Figure 4-7: Trace of MPP tracking on a cloudy day (25oC) ................................................... 65

ix

Figure 4-8: MPPT simulation flowchart ................................................................................. 68


Figure 4-9: MPPT simulations with the resistive load (100 to 1000W/m2, 25oC) ................. 69
Figure 4-10: Output protection & regulation (100 to 1000W/m2, 25oC)................................ 70
Figure 4-11: Kyocera SD 12-30 water pump performance chart [13].................................... 71
Figure 4-12: SIMULINK model of permanent magnet DC pump motor............................... 72
Figure 4-13: SIMULINK DC machine block parameters....................................................... 72
Figure 4-14: SIMULINK plot of Rload ( ).............................................................................. 73
Figure 4-15: MPPT simulations with the DC pump motor load (20 to 1000W/m2, 25oC)..... 74
Figure 4-16: SIMULINK plot of DC motor I-V curve ........................................................... 75
Figure 4-17: Flow rates of PV water pumps for a 12-hour period.......................................... 76
Figure A-1: MPPT Simulations with the direct control method (P&O algorithm) .............. 100
Figure A-2: MPPT Simulations with the direct control method (incCond algorithm) ......... 101
Figure B-1: A simple example of generating PWM from the voltage input ........................ 103
Figure B-2: Plots of the input voltage and the PWM output shown as duty cycle ............... 103

Chapter 1 Introduction
Water resources are essential for satisfying human needs, protecting health, and
ensuring food production, energy and the restoration of ecosystems, as well as for social and
economic development and for sustainable development [25]. However, according to UN
World Water Development Report in 2003, it has been estimated that two billion people are
affected by water shortages in over forty countries, and 1.1 billion do not have sufficient
drinking water [26]. There is a great and urgent need to supply environmentally sound
technology for the provision of drinking water. Remote water pumping systems are a key
component in meeting this need. It will also be the first stage of the purification and
desalination plants to produce potable water.
In this thesis, a simple but efficient photovoltaic water pumping system is presented.
It provides theoretical studies of photovoltaics (PV) and its modeling techniques. It also
investigates in detail the maximum power point tracker (MPPT), a power electronic device
that significantly increases the system efficiency. At last, it presents MATLAB simulations
of the system and makes comparisons with a system without MPPT.

1.1 Water Pumping Systems and Photovoltaic Power


A water pumping system needs a source of power to operate.

In general, AC

powered system is economic and takes minimum maintenance when AC power is available
from the nearby power grid. However, in many rural areas, water sources are spread over
many miles of land and power lines are scarce. Installation of a new transmission line and a
transformer to the location is often prohibitively expensive. Windmills have been installed

traditionally in such areas; many of them are, however, inoperative now due to lack of proper
maintenance and age. Today, many stand-alone type water pumping systems use internal
combustion engines. These systems are portable and easy to install. However, they have
some major disadvantages, such as: they require frequent site visits for refueling and
maintenance, and furthermore diesel fuel is often expensive and not readily available in rural
areas of many developing countries.
The consumption of fossil fuels also has an environmental impact, in particular the
release of carbon dioxide (CO2) into the atmosphere. CO2 emissions can be greatly reduced
through the application of renewable energy technologies, which are already cost competitive
with fossil fuels in many situations. Good examples include large-scale grid-connected wind
turbines, solar water heating, and off-grid stand-alone PV systems [24].

The use of

renewable energy for water pumping systems is, therefore, a very attractive proposition.
Windmills are a long-established method of using renewable energy; however they
are quickly phasing out from the scene despite success of large-scale grid-tied wind turbines.
PV systems are highly reliable and are often chosen because they offer the lowest
life-cycle cost, especially for applications requiring less than 10KW, where grid electricity is
not available and where internal-combustion engines are expensive to operate [24]. If the
water source is 1/3 mile (app. 0.53Km) or more from the power line, PV is a favorable
economic choice [13]. Table 1-1 shows the comparisons of different stand-alone type water
pumping systems.

System Type
PV Powered System

Diesel (or Gas) Powered


System

Windmill

Advantages
Low maintenance
Unattended operation
Reliable long life
No fuel and no fumes
Easy to install
Low recurrent costs
System is modular and
closely matched to need
Moderate capital costs
Easy to install
Can be portable
Extensive experience
available

No fuel and no fumes


Potentially long-lasting
Works well in windy sites

Disadvantages
Relatively high initial cost
Low output in cloudy
weather

Needs maintenance and


replacement
Site visits necessary
Noise, fume, dirt problems
Fuel often expensive and
supply intermittent
High maintenance
Seasonal disadvantages
Difficult find parts thus
costly repair
Installation is labor
intensive and needs special
tools

Table 1-1: PV powered, Diesel powered, vs. Windmill [13]

1.2 Energy Storage Alternatives


Needless to say, photovoltaics are able to produce electricity only when the sunlight
is available, therefore stand-alone systems obviously need some sort of backup energy
storage which makes them available through the night or bad weather conditions.
Among many possible storage technologies, the lead-acid battery continues to be the
workhorse of many PV systems because it is relatively inexpensive and widely available. In
addition to energy storage, the battery also has ability to provide surges of current that are
much higher than the instantaneous current available from the array, as well as the inherent

and automatic property controlling the output voltage of the array so that loads receive
voltages within their own range of acceptability [16].
While batteries may seem like a good idea, they have a number of disadvantages.
The type of lead-acid battery suitable for PV systems is a deep-cycle battery [15], which is
different from one used for automobiles, and it is more expensive and not widely available.
Battery lifetime in PV systems is typically three to eight years, but this reduces to typically
two to six years in hot climate since high ambient temperature dramatically increases the rate
of internal corrosion [24]. Batteries also require regular maintenance and will degrade very
rapidly if the electrolyte is not topped up and the charge is not maintained. They reduce the
efficiency of the overall system due to power loss during charge and discharge. Typical
battery efficiency is around 85% but could go below 75% in hot climate [24]. From all those
reasons, experienced PV system designers avoid batteries whenever possible.
For water pumping systems, appropriately sized water reservoirs can meet the
requirement of energy storage during the downtime of PV generation. The additional cost of
reservoir is considerably lower than that incurred by the battery equipped system. As a
matter of fact, only about five percent of solar pumping systems employ a battery bank [13].

1.3 The Proposed System


The experimental water pumping system proposed in this thesis is a stand-alone type
without backup batteries. As shown in Figure 1-1, the system is very simple and consists of
a single PV module, a maximum power point tracker (MPPT), and a DC water pump. The
size of the system is intended to be small; therefore it could be built in the lab in the future.
The system including the subsystems will be simulated to verify the functionalities.

DC Water
Pump [13]

PV Module [1]

Figure 1-1: Block diagram of the proposed PV water pumping system

1.3.1 PV Module
There are different sizes of PV module commercially available (typically sized from
60W to 170W). Usually, a number of PV modules are combined as an array to meet
different energy demands. For example, a typical small-scale desalination plant requires a
few thousand watts of power [24]. The size of system selected for the proposed system is
150W, which is commonly used in small water pumping systems for cattle grazing in rural
areas of the United States. The power electronics lab located in the building 20, room 104,
has three BP SX 150S multi-crystalline PV modules. Each module provides a maximum
power of 150W [13], therefore the proposed system requires only one of them. A detailed
discussion about PV and modeling of PV appears in Chapter 2.

1.3.2 Maximum Power Point Tracker


The maximum power point tracker (MPPT) is now prevalent in grid-tied PV power
systems and is becoming more popular in stand-alone systems. It should not be confused
with sun trackers, mechanical devices that rotate and/or tilt PV modules in the direction of
sun. MPPT is a power electronic device interconnecting a PV power source and a load,

maximizes the power output from a PV module or array with varying operating conditions,
and therefore maximizes the system efficiency. MPPT is made up with a switch-mode DCDC converter and a controller. For grid-tied systems, a switch-mode inverter sometimes fills
the role of MPPT. Otherwise, it is combined with a DC-DC converter that performs the
MPPT function.
In addition to MPPT, the system could also employ a sun tracker. According to the
data in reference [15], the single-axis sun tracker can collect about 40% more energy than a
seasonally optimized fixed-axis collector in summer in a dry climate such as Albuquerque,
New Mexico. In winter, however, it can gain only 20% more energy. In a climate with more
water vapor in the atmosphere such as Seattle, Washington, the effect of sun tracker is
smaller because a larger fraction of solar irradiation is diffuse. It collects 30% more energy
in summer, but the gain is less than 10% in winter. The two-axis tracker is only a few
percent better than the single-axis version. Sun tracking enables the system to meet energy
demand with smaller PV modules, but it increases the cost and complexity of system. Since
it is made of moving parts, there is also a higher chance of failure. Therefore, in this simple
system, the sun tracker is not implemented. A detailed discussion on MPPT appears in
Chapter 3.

1.3.3 MPPT Controller


Analog controllers have traditionally performed control of MPPT. However, the use
of digital controllers is rapidly increasing because they offer several advantages over analog
controllers.

First, digital controllers are programmable thus capable of implementing

advanced algorithm with relative ease. It is far easier to code the equation, x = y z, than to
design an analog circuit to do the same [23]. For the same reason, modification of the design

is much easier with digital controllers. They are immune to time and temperature drifts
because they work in discrete, outside the linear operation. As a result, they offer long-term
stability. They are also insensitive to component tolerances since they implement algorithm
in software, where gains and parameters are consistent and reproducible [23]. They allow
reduction of parts count since they can handle various tasks in a single chip. Many of them
are also equipped with multiple A/D converters and PWM generators, thus they can control
multiple devices with a single controller.
This thesis, therefore, chooses a method of digital control for MPPT. The design and
simulations of MPPT in Chapter 4 are done on the premise that it is going to be built with a
microcontroller or a DSP, and the algorithm is readily transferable to its implementation.
Chapter 3 provides discussions of various control methods.

Appendix B provides

introduction of Texas Instruments DSP and SIMULINK as an implementation tool.

1.3.4 Water Pump


Two types of pumps are commonly used for PV water pumping applications: positive
displacement and centrifugal [19]. Positive displacement types are used in low-volume
pumps [13] and cost-effective. Centrifugal pumps have relatively high efficiency [19] and
are capable of pumping a high volume of water [13]. A typical size of system with this type
pump is at least 500W or larger. There is a growing trend among the pump manufacturers to
use them with brushless DC motors (BDCM) for higher efficiency and low maintenance [19].
However, the cost and complexity of these systems will be significantly higher. Water
pumps are driven by various types of motors. AC induction motors are cheaper and widely
available worldwide. The system, however, needs an inverter to convert DC output power
from PV to AC power, which is usually expensive, and it is also less efficient than DC

motor-pump systems [19]. In general, DC motors are preferred because they are highly
efficient and can be directly coupled with a PV module or array. Brushed types are less
expensive and more common although brushes need to be replaced periodically (typically
every two years) [19]. There is also an aforementioned brushless type.
The water pump chosen here for its size and cost is the Kyocera SD 12-30
submersible solar pump, pictured in Figure 1-1. It is a diaphragm-type positive displacement
pump equipped with a brushed permanent magnet DC motor and designed for use in standalone water delivery systems, specifically for water delivery in remote locations. Flow rates
up to 17.0L/min (4.5GPM) and heads up to 30.0m (100ft.) [13]. The typical daily output is
between 2,700L and 5,000L [13]. The rated maximum power consumption is 150W. It
operates with a low voltage (12~30V DC), and its power requirement is as little as 35W [13].
A simple model of this water pump is used for simulations in Chapter 4.

1.4 Background and Scope of This Thesis


The impetus for this research is to investigate the use of power electronics in
renewable energy, particularly photovoltaics (PV). Numerous studies have been done in PV
systems, a significant number of them in Europe, Japan, and Australia. In the United Sates,
there is a growing interest in PV, but research and development in PV systems is far behind
from the aforementioned countries, and unfortunately, California State Universities (CSUs)
are no exception. There are only a small number of studies related to PV systems in the past.
Among them, there were a few senior projects which built PV facilities here in California
Polytechnic State University, San Luis Obispo. Two senior projects, also here, built a simple
PV battery charger, and a few others dealt with a sun tracker. There have been only two
masters theses written about PV systems in the CSU system. The first attempt to study

MPPT was made by Dang [4] of California Polytechnic State University, Pomona. The
thesis built a small PV module simulator and a buck converter without a controller. Then, it
provided a rudimentary computer simulation of MPPT with a resistive load. The study was,
however, far from comprehensive. Another was done here by Day [5], and it centered round
a power system for a miniature satellite.

It included MPPT in the system, but the

functionality of MPPT was not tested. The theoretical study was insufficient, and it lacked
simulations and experiments to ensure the functionality of MPPT.
MPPT is one of many applications of power electronics, and it is a relatively new and
unknown area. There is no textbook that provides comprehensive and detailed explanations
about MPPT. Therefore, this thesis investigates it in detail and provides better explanations
for students who are interested in this research area. In order to understand and design
MPPT, it is necessary to have a good understanding of the behaviors of PV. The thesis
facilitates it using MATLAB models of PV cell and module. Each subsystem in the PV
water pumping system is modeled for MATLAB simulations. Finally, the functionality of
MPPT for water pumping systems is verified and validated.
This thesis is limited to providing theoretical studies and simulations of PV water
pumping system with MPPT. The system will not be built in this thesis; that is left as future
work.

Thus, it will not cover a discussion about actual implementation of DSP or

microcontrollers, nor other hardware implementation, beyond a discussion on component


selection for the DC-DC converter. A major assumption made in simulations is the use of an
ideal DC-DC converter, as opposed to a more realistic model that includes losses. The model,
however, should provide sufficient results for verification of MPPT functionality.

Chapter 2 Photovoltaic Modules


2.1 Introduction
The history of PV dates back to 1839 when a French physicist, Edmund Becquerel,
discovered the first photovoltaic effect when he illuminated a metal electrode in an
electrolytic solution [16]. Thirty-seven years later British physicist, William Adams, with his
student, Richard Day, discovered a photovoltaic material, selenium, and made solid cells
with 1~2% efficiency which were soon widely adopted in the exposure meters of camera [16].
In 1954 the first generation of semiconductor silicon-based PV cells was born, with
efficiency of 6% [3], and adopted in space applications. Today, the production of PV cells is
following an exponential growth curve since technological advancement of late 80s that has
started to rapidly improve efficiency and reduce cost.
This chapter discusses the fundamentals of PV cells and modeling of a PV cell using
an equivalent electrical circuit. The models are implemented using MATLAB to study PV
characteristics and simulate a real PV module.

2.2 Photovoltaic Cell


Photons of light with energy higher than the band-gap energy of PV material can
make electrons in the material break free from atoms that hold them and create hole-electron
pairs, as shown in Figure 2-1. These electrons, however, will soon fall back into holes
causing charge carriers to disappear. If a nearby electric field is provided, those in the
conduction band can be continuously swept away from holes toward a metallic contact where

10

they will emerge as an electric current. The electric field within the semiconductor itself at
the junction between two regions of crystals of different type, called a p-n junction [16].

Figure 2-1: Illustration of the p-n junction of PV cell [16]


Showing hole-electron pairs created by photons

The PV cell has electrical contacts on its top and bottom to capture the electrons, as
shown in Figure 2-2. When the PV cell delivers power to the load, the electrons flow out of
the n-side into the connecting wire, through the load, and back to the p-side where they
recombine with holes [16]. Note that conventional current flows in the opposite direction
from electrons.

Figure 2-2: Illustrated side view of solar cell and the conducting current [16]

11

2.3 Modeling a PV Cell


The use of equivalent electric circuits makes it possible to model characteristics of a
PV cell. The method used here is implemented in MATLAB programs for simulations. The
same modeling technique is also applicable for modeling a PV module.

2.3.1 The Simplest Model


The simplest model of a PV cell is shown as an equivalent circuit below that consists
of an ideal current source in parallel with an ideal diode. The current source represents the
current generated by photons (often denoted as Iph or IL), and its output is constant under
constant temperature and constant incident radiation of light.

Figure 2-3: PV cell with a load and its simple equivalent circuit [16]

There are two key parameters frequently used to characterize a PV cell. Shorting
together the terminals of the cell, as shown in Figure 2-4 (a), the photon generated current
will follow out of the cell as a short-circuit current (Isc). Thus, Iph = Isc. As shown in Figure
2-4 (b), when there is no connection to the PV cell (open-circuit), the photon generated
current is shunted internally by the intrinsic p-n junction diode. This gives the open circuit
voltage (Voc). The PV module or cell manufacturers usually provide the values of these
parameters in their datasheets.

12

Figure 2-4: Diagrams showing a short-circuit and an open-circuit condition [16]

The output current (I) from the PV cell is found by applying the Kirchoffs current
law (KCL) on the equivalent circuit shown in Figure 2-3.

I = I sc I d

(2.1)

where: Isc is the short-circuit current that is equal to the photon generated current, and Id is
the current shunted through the intrinsic diode.
The diode current Id is given by the Shockleys diode equation:

I d = I o (e qVd / kT 1)

(2.2)

where: Io is the reverse saturation current of diode (A),


q is the electron charge (1.60210-19 C),
Vd is the voltage across the diode (V),
k is the Boltzmanns constant (1.38110-23 J/K),
T is the junction temperature in Kelvin (K).
Replacing Id of the equation (2.1) by the equation (2.2) gives the current-voltage
relationship of the PV cell.

I = I sc I o (e qV / kT 1)
where: V is the voltage across the PV cell, and I is the output current from the cell.

13

(2.3)

The reverse saturation current of diode (Io) is constant under the constant temperature
and found by setting the open-circuit condition as shown in Figure 2-4 (b). Using the
equation (2.3), let I = 0 (no output current) and solve for Io.
0 = I sc I o (e qVoc / kT 1)

(2.4)

I sc = I o (e qVoc / kT 1)

(2.5)

Io =

(e

sc
qVoc / kT

1)

(2.6)

To a very good approximation, the photon generated current, which is equal to Isc, is
directly proportional to the irradiance, the intensity of illumination, to PV cell [15]. Thus, if
the value, Isc, is known from the datasheet, under the standard test condition, Go=1000W/m2
at the air mass (AM) = 1.5, then the photon generated current at any other irradiance, G
(W/m2), is given by:

I sc |G =

G
I sc |Go
Go

(2.7)

Figure 2-5 shows that current and voltage relationship (often called as an I-V curve)
of an ideal PV cell simulated by MATLAB using the simplest equivalent circuit model. The
discussion of MATLAB simulations will appear in Section 2.5. The PV cell output is both
limited by the cell current and the cell voltage, and it can only produce a power with any
combinations of current and voltage on the I-V curve. It also shows that the cell current is
proportional to the irradiance.

14

5
Full Sun (1000W/m2)

4.5
4

Cell Current (A)

3.5
3
2.5
Half Sun (500W/m2)

2
1.5
1
0.5
0

0.1

0.2

0.3
0.4
Cell Voltage (V)

0.5

0.6

0.7

Figure 2-5: I-V plot of ideal PV cell under two different levels of irradiance (25oC)

2.3.2 The More Accurate Model


There are a few things that have not been taken into account in the simple model and
that will affect the performance of a PV cell in practice.
a) Series Resistance
In a practical PV cell, there is a series of resistance in a current path through the
semiconductor material, the metal grid, contacts, and current collecting bus [2]. These
resistive losses are lumped together as a series resister (Rs).

Its effect becomes very

conspicuous in a PV module that consists of many series-connected cells, and the value of
resistance is multiplied by the number of cells.
b) Parallel Resistance
This is also called shunt resistance. It is a loss associated with a small leakage of
current through a resistive path in parallel with the intrinsic device [2].

15

This can be

represented by a parallel resister (Rp). Its effect is much less conspicuous in a PV module
compared to the series resistance, and it will only become noticeable when a number of PV
modules are connected in parallel for a larger system.
c) Recombination
Recombination in the depletion region of PV cells provides non-ohmic current paths
in parallel with the intrinsic PV cell [2] [7]. As shown in Figure 2-6, this can be represented
by the second diode (D2) in the equivalent circuit.
Rs
+

Isc

D1

D2

n=1

n=2

Rp

Load

Figure 2-6: More accurate equivalent circuit of PV cell

Summarizing these effects, the current-voltage relationship of PV cell is written as:

I = I sc I o1 e

V + I Rs
kT

1 I o2 e

V + I Rs
2 kT

V + I Rs
Rp

(2.8)

It is possible to combine the first diode (D1) and the second diode (D2) and rewrite
the equation (2.8) in the following form.

I = I sc I o e

V + I Rs
nkT

V + I Rs
Rp

(2.9)

where: n is known as the ideality factor (n is sometimes denoted as A) and takes the
value between one and two [7].

16

2.4 Photovoltaic Module


A single PV cell produces an output voltage less than 1V, about 0.6V for crystallinesilicon (Si) cells, thus a number of PV cells are connected in series to archive a desired
output voltage. When series-connected cells are placed in a frame, it is called as a module.
Most of commercially available PV modules with crystalline-Si cells have either 36 or 72
series-connected cells. A 36-cell module provides a voltage suitable for charging a 12V
battery, and similarly a 72-cell module is appropriate for a 24V battery. This is because most
of PV systems used to have backup batteries, however today many PV systems do not use
batteries; for example, grid-tied systems. Furthermore, the advent of high efficiency DC-DC
converters has alleviated the need for modules with specific voltages. When the PV cells are
wired together in series, the current output is the same as the single cell, but the voltage
output is the sum of each cell voltage, as shown in Figure 2-7.
5
4.5
4

Current (A)

3.5
3

9 cells

36 cells

2.5

72 cells
3 cells

2
1.5
1
0.5
0

10

0.6V for each cell

15

20
25
Voltage (V)

30

35

40

45

Figure 2-7: PV cells are connected in series to make up a PV module

17

Also, multiple modules can be wired together in series or parallel to deliver the
voltage and current level needed. The group of modules is called an array.

2.5 Modeling a PV Module by MATLAB


BP Solar BP SX 150S PV module, pictured in Figure 2-8, is chosen for a MATLAB
simulation model. The module is made of 72 multi-crystalline silicon solar cells in series and
provides 150W of nominal maximum power [1]. Table 2-1 shows its electrical specification.

Figure 2-8: Picture of BP SX 150S PV module [1]

Electrical Characteristics
Maximum Power (Pmax)
Voltage at Pmax (Vmp)
Current at Pmax (Imp)
Open-circuit voltage (Voc)
Short-circuit current (Isc)
Temperature coefficient of Isc
Temperature coefficient of Voc
Temperature coefficient of power
NOCT

150W
34.5V
4.35A
43.5V
4.75A
0.065 0.015 %/ oC
-160 20 mV/ oC
-0.5 0.05 %/ oC
47 2oC

Table 2-1: Electrical characteristics data of PV module taken from the datasheet [1]

The strategy of modeling a PV module is no different from modeling a PV cell. It


uses the same PV cell model. The parameters are the all same, but only a voltage parameter
(such as the open-circuit voltage) is different and must be divided by the number of cells.

18

The study done by Walker [27] of University of Queensland, Australia, uses the
electric model with moderate complexity, shown in Figure 2-9, and provides fairly accurate
results. The model consists of a current source (Isc), a diode (D), and a series resistance (Rs).
The effect of parallel resistance (Rp) is very small in a single module, thus the model does not
include it. To make a better model, it also includes temperature effects on the short-circuit
current (Isc) and the reverse saturation current of diode (Io). It uses a single diode with the
diode ideality factor (n) set to achieve the best I-V curve match.
Rs
+

Isc

Load

Figure 2-9: Equivalent circuit used in the MATLAB simulations

Since it does not include the effect of parallel resistance (Rp), letting Rp =

in the

equation (2.9) gives the equation [27] that describes the current-voltage relationship of the
PV cell, and it is shown below.

I = I sc I o e

V + I Rs
nkT

where: I is the cell current (the same as the module current),


V is the cell voltage = {module voltage} {# of cells in series},
T is the cell temperature in Kelvin (K).

19

(2.10)

First, calculate the short-circuit current (Isc) at a given cell temperature (T):

I sc |T = I sc |Tref 1 + a(T Tref )

(2.11)

where: Isc at Tref is given in the datasheet (measured under irradiance of 1000W/m2),
Tref is the reference temperature of PV cell in Kelvin (K), usually 298K (25oC),
a is the temperature coefficient of Isc in percent change per degree temperature also
given in the datasheet.
The short-circuit current (Isc) is proportional to the intensity of irradiance, thus Isc at a
given irradiance (G) is:

I sc |G =

G
I sc |Go
Go

(2.12)

where: Go is the nominal value of irradiance, which is normally 1KW/m2.


The reverse saturation current of diode (Io) at the reference temperature (Tref) is given
by the equation (2.6) with the diode ideality factor added:
Io =

(e

sc
qVoc / nkT

1)

(2.13)

The reverse saturation current (Io) is temperature dependant and the Io at a given
temperature (T) is calculated by the following equation [27].

I o |T = I o |Tref

Tref

3
n

q E g 1 1

nk T Tref

(2.14)

The diode ideality factor (n) is unknown and must be estimated. It takes a value
between one and two; the value of n=1 (for the ideal diode) is, however, used until the more
accurate value is estimated later by curve fitting [27]. Figure 2-10 shows the effect of the
varying ideality factor.

20

5
n=1

4.5
4

n=2

Module Current (A)

3.5
3
2.5
2
1.5
1
0.5
0

10

15

20
25
30
Module Voltage (V)

35

40

45

Figure 2-10: Effect of diode ideally factors by MATLAB simulation (1KW/m2, 25oC)

The series resistance (Rs) of the PV module has a large impact on the slope of the I-V
curve near the open-circuit voltage (Voc), as shown in Figure 2-11, hence the value of Rs is
calculated by evaluating the slope

dV
of the I-V curve at the Voc [27]. The equation for Rs is
dI

derived by differentiating the equation (2.10) and then rearranging it in terms of Rs.

I = I sc I o e

V + I Rs
nkT

q
dV + Rs dI
dI = 0 I o q
e
nkT

Rs =

dI

dV

(2.15)

V + I Rs
nkT

(2.16)

nkT q
Io e

V + I Rs
nkT

21

(2.17)

Then, evaluate the equation (2.17) at the open circuit voltage that is V=Voc (also let I=0).
Rs =

where:

dV
dI

dV
dI

Voc

nkT q
Io e

(2.18)

qVoc
nkT

is the slope of the I-V curve at the Voc (use the I-V curve in the datasheet then
Voc

divide it by the number of cells in series),

Voc is the open-circuit voltage of cell (found by dividing Voc in the datasheet by the
number of cells in series).
The calculation using the slope measurement of the I-V curve published on the BP SX
150 datasheet gives a value of the series resistance per cell, Rs = 5.1m .
5
4.5
4
Rs=0

Module Current (A)

3.5
3
2.5

Rs=5 mOhm

Rs=10 mOhm

1.5

Rs=15 mOhm

1
0.5
0

10

15

20
25
30
Module Voltage (V)

35

40

45

Figure 2-11: Effect of series resistances by MATLAB simulation (1KW/m2, 25oC)

Finally, it is possible to solve the equation of I-V characteristics (2.10). It is, however,
complex because the solution of current is recursive by inclusion of a series resistance in the

22

model. Although it may be possible to find the answer by simple iterations, the Newtons
method is chosen for rapid convergence of the answer [27]. The Newtons method is
described as:

f (xn )
f ( x n )

x n +1 = x n

(2.19)

where: f (x ) is the derivative of the function, f ( x ) = 0 , x n is a present value, and x n +1 is a


next value.
Rewriting the equation (2.10) gives the following function:

f ( I ) = I sc I I o e

V + I Rs
nkT

1 = 0

(2.20)

Plugging this into the equation (2.19) gives a following recursive equation, and the output
current (I) is computed iteratively.

I sc I n I o e
I n +1 = I n
1 Io

V + I n Rs
nkT

q Rs
e
nkT

V + I n Rs
nkT

(2.21)

The MATLAB function written in this thesis performs the calculation five times
iteratively to ensure convergence of the results. The testing result has shown that the value
of In usually converges within three iterations and never more than four interactions. Please
refer to Appendix A.1.1 for this MATLAB function.
Figure 2-12 shows the plots of I-V characteristics at various module temperatures
simulated with the MATLAB model for BP SX 150S PV module. Data points superimposed
on the plots are taken from the I-V curves published on the manufacturers datasheet [1].
After some trials with various diode ideality factors, the MATLAB model chooses the value

23

of n = 1.62 that attains the best match with the I-V curve on the datasheet. The figure shows
good correspondence between the data points and the simulated I-V curves.

750C

250C
0
50 C

O 0C

Figure 2-12: I-V curves of BP SX 150S PV module at various temperatures


Simulated with the MATLAB model (1KW/m2, 25oC)

24

2.6 The I-V Curve and Maximum Power Point


Figure 2-13 shows the I-V curve of the BP SX 150S PV module simulated with the
MATLAB model. A PV module can produce the power at a point, called an operating point,
anywhere on the I-V curve. The coordinates of the operating point are the operating voltage
and current. There is a unique point near the knee of the I-V curve, called a maximum power
point (MPP), at which the module operates with the maximum efficiency and produces the
maximum output power. It is possible to visualize the location of the by fitting the largest
possible rectangle inside of the I-V curve, and its area equal to the output power which is a
product of voltage and current.

Isc = 4.75A

P3 = 94.9W

P1 = 150.0W

4.5
Impp = 4.35A

Maximum Power Point (MPP)

Module Current (A)

3.5

P2 = 108.2W

3
2.5
2
1.5
1
0.5
0

Vmpp = 34.5V
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Voc = 43.5V

Figure 2-13: Simulated I-V curve of BP SX 150S PV module (1KW/m2, 25oC)

The power vs. voltage plot is overlaid on the I-V plot of the PV module, as shown in
Figure 2-14. It reveals that the amount of power produced by the PV module varies greatly

25

depending on its operating condition. It is important to operate the system at the MPP of PV
module in order to exploit the maximum power from the module. The next chapter will
discuss how to do it.
160

Pmax
140

120

Module Current (A)

Isc
5

100

Impp

80

MPP

60

40

1
0

Vmpp
0

10

15

20
25
30
Module Voltage (V)

Voc
35

40

Figure 2-14: I-V and P-V relationships of BP SX 150S PV module


Simulated with the MATLAB model (1KW/m2, 25oC)

26

20
0
45

Module Output Power (W)

Chapter 3 Maximum Power Point Tracker


3.1 Introduction
When a PV module is directly coupled to a load, the PV modules operating point
will be at the intersection of its IV curve and the load line which is the I-V relationship of
load. For example in Figure 3-1, a resistive load has a straight line with a slope of 1/Rload as
shown in Figure 3-2. In other words, the impedance of load dictates the operating condition
of the PV module. In general, this operating point is seldom at the PV modules MPP, thus it
is not producing the maximum power. A study shows that a direct-coupled system utilizes a
mere 31% of the PV capacity [11]. A PV array is usually oversized to compensate for a low
power yield during winter months. This mismatching between a PV module and a load
requires further over-sizing of the PV array and thus increases the overall system cost. To
mitigate this problem, a maximum power point tracker (MPPT) can be used to maintain the
PV modules operating point at the MPP. MPPTs can extract more than 97% of the PV
power when properly optimized [9].
This chapter discusses the I-V characteristics of PV modules and loads, matching
between the two, and the use of DC-DC converters as a means of MPPT. It also discusses
the details of some MPPT algorithms and control methods, and limitations of MPPT.

+
PV

Figure 3-1: PV module is directly connected to a (variable) resistive load

27

4.5
R=4 Ohms

R=7.93 Ohms

MPP

Module Current (A)

3.5
3
2.5

Slope=1/R

R=16 Ohms

2
1.5
1

Increasing R

0.5
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-2: I-V curves of BP SX 150S PV module and various resistive loads
Simulated with the MATLAB model (1KW/m2, 25oC)

3.2 I-V Characteristics of DC Motors


Many PV water pumping systems employ DC motors (instead of AC motors) because
they could be directly coupled with PV arrays and make a very simple system. Among
different types of DC motors, a permanent magnet DC (PMDC) motor is preferred in PV
systems because it can provide higher starting torque. Figure 3-3 shows an electrical model
of a PMDC motor. When the motor is turning, it produces a back emf, or a counterelectromotive force, described as an electric potential (E) proportional to the angular speed
( ) of the rotor. From the equivalent circuit, the DC voltage equation for the armature circuit
is:
V = I Ra + K
where: Ra is the armature resistance.

28

(3.1)

The back emf is E=K

where: K is the constant, and

is the angular speed of rotor in

rad/sec.
Ra
+
PV

E=Kw

V
-

Figure 3-3: Electrical model of permanent magnet DC motor

Figure 3-4 shows an example of current-voltage relationship (I-V curve) of a DC


motor. Applying the voltage to start the motor, the current rises rapidly with increasing
voltage until the current is sufficient to create enough starting torque to break the motor loose
from static friction [16]. At start-up ( =0), there is no effect of back emf, therefore the
starting current builds up linearly with a steep slope of 1/Ra on the I-V plot as shown in
Figure 3-4. Once it starts to run, the back emf takes effect and drops the current, therefore
the current rises slowly with increasing voltage.
As mentioned already a simple type of PV water pumping systems uses a direct
coupled PV-motor setup. This configuration has a severe disadvantage in efficiency because
of a mismatched operating point, as shown in Figure 3-4. For this example, the water
pumping system would not start operating until irradiance reaches at 400W/m2. Once it starts
to run, it requires as little as 200W/m2 of irradiance to maintain the minimum operation. This
means that the system cannot utilize a fair amount of morning insolation just because there is
insufficient starting torque. Also, when the motor is operated under the locked condition for

29

a long time, it may result in shortening of the life of the motor due to input electrical energy
converted to heat rather than to mechanical output [15].

DC Motor I-V Curve

1000W/m2

Slope = 1/Ra

Current

800W/m2

600W/m2

400W/m2

200W/m2

Voltage

Figure 3-4: PV I-V curves with varying irradiance and a DC motor I-V curve

There is a MPPT specifically called a linear current booster (LCB) that is designed to
overcome the above mentioned problem in water pumping systems. The MPPT maintains
the input voltage and current of LCB at the MPP of PV module. As shown in Figure 3-5, the
power produced at the MPP is relatively low-current and high-voltage which is opposite of
those required by the pump motor. The LCB shifts this relationship around and converts into
high-current and low-voltage power which satisfies the pump motor characteristics. For the
example in Figure 3-5, tracing of the iso-power (constant power) line from the MPP reveals
that the LCB could start the pump motor with as little as 50W/m2 of irradiance (assuming the
LCB can convert the power without loss).

30

DC Motor I-V Curve


1000W/m2
MPP
Iso-power line

800W/m2

Current

600W/m2

400W/m2

200W/m2
50W/m2
Voltage

Figure 3-5: PV I-V curves with iso-power lines (dotted) and a DC motor I-V curve

3.3 DC-DC Converter


The heart of MPPT hardware is a switch-mode DC-DC converter. It is widely used in
DC power supplies and DC motor drives for the purpose of converting unregulated DC input
into a controlled DC output at a desired voltage level [17]. MPPT uses the same converter
for a different purpose: regulating the input voltage at the PV MPP and providing loadmatching for the maximum power transfer.

3.3.1 Topologies
There are a number of different topologies for DC-DC converters.

They are

categorized into isolated or non-isolated topologies.


The isolated topologies use a small-sized high-frequency electrical isolation
transformer which provides the benefits of DC isolation between input and output, and step

31

up or down of output voltage by changing the transformer turns ratio. They are very often
used in switch-mode DC power supplies [18]. Popular topologies for a majority of the
applications are flyback, half-bridge, and full-bridge [22]. In PV applications, the grid-tied
systems often use these types of topologies when electrical isolation is preferred for safety
reasons.
Non-isolated topologies do not have isolation transformers. They are almost always
used in DC motor drives [17]. These topologies are further categorized into three types: step
down (buck), step up (boost), and step up & down (buck-boost). The buck topology is used
for voltage step-down. In PV applications, the buck type converter is usually used for
charging batteries and in LCB for water pumping systems. The boost topology is used for
stepping up the voltage. The grid-tied systems use a boost type converter to step up the
output voltage to the utility level before the inverter stage. Then, there are topologies able to
step up and down the voltage such as: buck-boost, Ck, and SEPIC (stands for Single Ended
Primary Inductor Converter). For PV system with batteries, the MPP of commercial PV
module is set above the charging voltage of batteries for most combinations of irradiance and
temperature. A buck converter can operate at the MPP under most conditions, but it cannot
do so when the MPP goes below the battery charging voltage under a low-irradiance and
high-temperature condition. Thus, the additional boost capability can slightly increase the
overall efficiency [27].

3.3.2 Ck and SEPIC Converters


For water pumping systems, the output voltage needs to be stepped down to provide a
higher starting current for a pump motor. The buck converter is the simplest topology and
easiest to understand and design, however it exhibits the most severe destructive failure mode

32

of all configurations [22]. Another disadvantage is that the input current is discontinuous
because of the switch located at the input, thus good input filter design is essential. Other
topologies capable of voltage step-down are Ck and SEPIC. Even though their voltage
step-up function is optional for LCB application, they have several advantages over the buck
converter. They provide capacitive isolation which protects against switch failure (unlike the
buck topology) [21]. The input current of the Ck and SEPIC topologies is continuous, and
they can draw a ripple free current from a PV array that is important for efficient MPPT.
Figure 3-6 shows a circuit diagram of the basic Ck converter. It is named after its
inventor. It can provide the output voltage that is higher or lower than the input voltage. The
SEPIC, a derivative of the Ck converter, is also able to step up and down the voltage.
Figure 3-7 shows a circuit diagram of the basic SEPIC converter. The characteristics of two
topologies are very similar. They both use a capacitor as the main energy storage. As a
result, the input current is continuous. The circuits have low switching losses and high
efficiency [18]. The main difference is that the Ck converter has a polarity of the output
voltage reverse to the input voltage. The input and output of SEPIC converter have the same
voltage polarity; therefore the SEPIC topology is sometimes preferred to the Ck topology.
SEPIC maybe also preferred for battery charging systems because the diode placed on the
output stage works as a blocking diode preventing an adverse current going to PV source
from the battery. The same diode, however, gives the disadvantage of high-ripple output
current.

On the other hand, the Ck converter can provide a better output current

characteristic due to the inductor on the output stage. Therefore, the thesis decides on the
Ck converter because of the good input and output current characteristics.

33

Figure 3-6: Circuit diagram of the basic Ck converter

Figure 3-7: Circuit diagram of the basic SEPIC converter

3.3.3 Basic Operation of Ck Converter


The basic operation of Ck converter in continuous conduction mode is explained
here. In steady state, the average inductor voltages are zero, thus by applying Kirchoffs
voltage law (KVL) around outermost loop of the circuit shown in Figure 3-6 [21].
VC 1 = V s + V o

(3.2)

Assume the capacitor (C1) is large enough and its voltage is ripple free even though it stores
and transfer large amount of energy from input to output [17] (this requires a good low ESR
capacitor [21]).
The initial condition is when the input voltage is turned on and switch (SW) is off.
The diode (D) is forward biased, and the capacitor (C1) is being charged. The operation of
circuit can be divided into two modes.

34

Mode 1: When SW turns ON, the circuit becomes one shown in Figure 3-8.

Figure 3-8: Basic Ck converter when the switch is ON

The voltage of the capacitor (C1) makes the diode (D) reverse-biased and turned off.
The capacitor (C1) discharge its energy to the load through the loop formed with SW, C2, Rload,
and L2. The inductors are large enough, so assume that their currents are ripple free. Thus,
the following relationship is established [21].
I C1 = I L 2

(3.3)

Mode 2: When SW turns OFF, the circuit becomes one shown in Figure 3-9.

Figure 3-9: Basic Ck converter when the switch is OFF

The capacitor (C1) is getting charged by the input (Vs) through the inductor (L1). The
energy stored in the inductor (L2) is transfer to the load through the loop formed by D, C2,
and Rload. Thus, the following relationship is established [21].
I C 1 = I L1

(3.4)

35

For periodic operation, the average capacitor current is zero. Thus, from the equation (3.3)
and (3.4) [21]:

[I

C 1 SW
ON

] DT + [I

C 1 SW
OFF

] (1 D )T = 0

(3.5)

I L 2 DT + I L1 (1 D )T = 0

(3.6)

I L1
D
=
I L2 1 D

(3.7)

where: D is the duty cycle (0 < D < 1), and T is the switching period.
Assuming that this is an ideal converter, the average power supplied by the source
must be the same as the average power absorbed by the load [21].
Pin = Pout

(3.8)

V s I L1 = V o I L 2

(3.9)

I L1 Vo
=
I L 2 Vs

(3.10)

Combining the equation (3.7) and (3.10), the following voltage transfer function is derived
[21].

Vo
D
=
Vs 1 D

(3.11)

Its relationship to the duty cycle (D) is:

If 0 < D < 0.5 the output is smaller than the input.


If D = 0.5 the output is the same as the input.
If 0.5 < D < 1 the output is larger than the input.

36

3.4 Mechanism of Load Matching


As described in Section 3.1, when PV is directly coupled with a load, the operating
point of PV is dictated by the load (or impedance to be specific). The impedance of load is
described as below.
Rload =

Vo
Io

(3.12)

where: Vo is the output voltage, and Io is the output current.


The optimal load for PV is described as:
Ropt =

V MPP
I MPP

(3.13)

where: VMPP and IMPP are the voltage and current at the MPP respectively. When the value of
Rload matches with that of Ropt, the maximum power transfer from PV to the load will occur.

These two are, however, independent and rarely matches in practice. The goal of the MPPT
is to match the impedance of load to the optimal impedance of PV.
The following is an example of load matching using an ideal (loss-less) Ck
converter. From the equation (3.11):

1 D
Vo
D

(3.14)

Is
V
I
= L1 = o
I o I L 2 Vs

(3.15)

Vs =

From the equation (3.10),

From the equation (3.14) and (3.15),

Is =

D
Io
1 D

37

(3.16)

From the equation (3.14) and (3.16), the input impedance of the converter is:

V s (1 D ) 2 Vo (1 D ) 2
Rin =
=

=
Rload
Is
Io
D2
D2

(3.17)

As shown in Figure 3-10, the impedance seem by PV is the input impedance of the
converter (Rin). By changing the duty cycle (D), the value of Rin can be matched with that of
Ropt. Therefore, the impedance of the load can be anything as long as the duty cycle is

adjusted accordingly.

+
PV

Rin

DC-DC Conv

Rload

Figure 3-10: The impedance seen by PV is Rin that is adjustable by duty cycle (D)

3.5 Maximum Power Point Tracking Algorithms


The location of the MPP in the IV plane is not known beforehand and always
changes dynamically depending on irradiance and temperature. For example, Figure 3-11
shows a set of PV IV curves under increasing irradiance at the constant temperature (25oC),
and Figure 3-12 shows the IV curves at the same irradiance values but with a higher
temperature (50oC). There are observable voltage shifts where the MPP occurs. Therefore,
the MPP needs to be located by tracking algorithm, which is the heart of MPPT controller.
There are a number of methods that have been proposed. One method measures an
open-circuit voltage (Voc) of PV module every 30 seconds by disconnecting it from rest of the
circuit for a short moment. Then, after re-connection, the module voltage is adjusted to 76%

38

of measured Voc which corresponds to the voltage at the MPP [6] (note: the percentage
depends on the type of cell used). The implementation of this open-loop control method is
very simple and low-cost although the MPPT efficiencies are relatively low (between
73~91%) [9]. Model calculations can also predict the location of MPP; however in practice
it does not work well because it does not take physical variations and aging of module and
other effects such as shading into account.

Furthermore, a pyranometer that measures

irradiance is quite expensive. Search algorithm using a closed-loop control can achieve
higher efficiencies, thus it is the customary choice for MPPT. Among different algorithms,
the Perturb & Observe (P&O) and Incremental Conductance (incCond) methods are studied
here.

1000W/m2

Maximum Power Point

4.5
4
750W/m2

Module Current (A)

3.5
3

500W/m2

2.5
2
1.5

250W/m2

1
0.5
0

50W/m2
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-11: I-V curves for varying irradiance and a trace of MPPs (25oC)

39

1000W/m2

Maximum Power Point

4.5
4
750W/m2

Module Current (A)

3.5
3

500W/m2

2.5
2
1.5

250W/m2

1
0.5
0

50W/m2
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-12: I-V curves for varying irradiance and a trace of MPPs (50oC)

3.5.1 Perturb & Observe Algorithm


The perturb & observe (P&O) algorithm, also known as the hill climbing method,
is very popular and the most commonly used in practice because of its simplicity in
algorithm and the ease of implementation. The most basic form of the P&O algorithm
operates as follows. Figure 3-13 shows a PV modules output power curve as a function of
voltage (P-V curve), at the constant irradiance and the constant module temperature,
assuming the PV module is operating at a point which is away from the MPP. In this
algorithm the operating voltage of the PV module is perturbed by a small increment, and the
resulting change of power, P, is observed. If the P is positive, then it is supposed that it
has moved the operating point closer to the MPP. Thus, further voltage perturbations in the
same direction should move the operating point toward the MPP. If the P is negative, the

40

operating point has moved away from the MPP, and the direction of perturbation should be
reversed to move back toward the MPP. Figure 3-14 shows the flowchart of this algorithm.
160
MPP

140

Module Output Power (W)

120
100
A

80

60
40
20
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-13: Plot of power vs. voltage for BP SX 150S PV module (1KW/m2, 25oC)

Figure 3-14: Flowchart of the P&O algorithm

41

There are some limitations that reduce its MPPT efficiency. First, it cannot determine
when it has actually reached the MPP. Instead, it oscillates the operating point around the
MPP after each cycle and slightly reduces PV efficiency under the constant irradiance
condition [9]. Second, it has been shown that it can exhibit erratic behavior in cases of
rapidly changing atmospheric conditions as a result of moving clouds [11]. The cause of this
problem can be explained using Figure 3-15 with a set of P-V curves with varying irradiance.
Assume that the operating point is initially at the point A and is oscillating around the MPP
at the irradiance of 250W/m2. Then, the irradiance increases rapidly to 500W/m2. The power
measurement results in a positive P. If this operating point is perturbing from right to left
around the MPP, then the operating point will actually moves from the point A toward the
point E (instead of B). This happens because the MPPT can not tell that the positive P is
the result of increasing irradiation and simply assumes that it is the result of moving the
operating point to closer to the MPP. In this case the positive P is measured when the
operating voltage has been moving toward the left; the MPPT is fooled as if there is a MPP
on the left side. If the irradiance is still rapidly increasing, again the MPPT will see the
positive P and will assume it is moving towards the MPP, continuing to perturb to the left.
From points A, E, F and G, the operating point continues to deviate from the actual MPP
until the solar radiation change slows or settles down. This situation can occur on partly
cloudy days, and MPP tracking is most difficult because of the frequent movement of the
MPP.

42

1000W/m2
D

Module Output Power (W)

750W/m2
C

500W/m2
B

250W/m2
A

Module Voltage (V)

Figure 3-15: Erratic behavior of the P&O algorithm under rapidly increasing irradiance

The advent of digital controller made implementation of algorithm easy; as a result


many variations of the P&O algorithm were proposed to claim improvements. The problem
of oscillations around the MPP can be solved by the simplest way of making a bypass loop
which skips the perturbation when the P is very small which occurs near the MPP. The
tradeoffs are a steady state error and a high risk of not detecting a small power change.
Another way is the addition of a waiting function that causes a momentary cessation of
perturbations if the direction of the perturbation is reversed several times in a row, indicating
that the MPP has been reached [9]. It works well under the constant irradiation but makes
the MPPT slower to respond to changing atmospheric conditions. A more complex one uses
a variable step size of perturbation, using the slope of PV power as a variable, for example:

V ref , new = Vref + C

P
[4] [12]. Again, this works well under the constant irradiation but
V

worsens the erratic behavior under rapidly changing atmospheric conditions on partly cloudy

43

days because the power change due to irradiance makes the step size too big. A modification
involving taking a PV power measurement twice at the same voltage solves the problem of
not detecting the changing irradiance [9]. Comparing these two measurements, the algorithm
can determine whether the irradiance is changing and decide how to perturb the operating
point. The tradeoff is that the increased number of sampling slows response times and
increases the complexity of algorithm.

3.5.2 Incremental Conductance Algorithm


In 1993 Hussein, Muta, Hoshino, and Osakada of Saga University, Japan, proposed
the incremental conductance (incCond) algorithm intending to solve the problem of the P&O
algorithm under rapidly changing atmospheric conditions [11].
The basic idea is that the slope of P-V curve becomes zero at the MPP, as shown in
Figure 3-13. It is also possible to find a relative location of the operating point to the MPP
by looking at the slopes. The slope is the derivative of the PV modules power with respect
to its voltage and has the following relationships with the MPP.
dP
= 0 at MPP
dV

(3.18)

dP
> 0 at the left of MPP
dV

(3.19)

dP
< 0 at the right of MPP
dV

(3.20)

The above equations are written in terms of voltage and current as follows.
dP d (V I )
dV
dI
dI
=
=I
+V
= I +V
dV
dV
dV
dV
dV

44

(3.21)

If the operating point is at the MPP, the equation (3.21) becomes:


I +V

dI
=0
dV

(3.22)

dI
I
=
dV
V

(3.23)

If the operating point is at the left side of the MPP, the equation (3.21) becomes:
I +V

dI
>0
dV

(3.24)

dI
I
>
dV
V

(3.25)

If the operating point is at the right side of the MPP, the equation (3.21) becomes:
I +V

dI
<0
dV

(3.26)

dI
I
<
dV
V

(3.27)

Note that the left side of the equations (3.23), (3.25), and (3.27) represents
incremental conductance of the PV module, and the right side of the equations represents its
instantaneous conductance.
The flowchart shown in Figure 3-16 explains the operation of this algorithm. It starts
with measuring the present values of PV module voltage and current. Then, it calculates the
incremental changes, dI and dV, using the present values and previous values of voltage and
current. The main check is carried out using the relationships in the equations (3.23), (3.25),
and (3.27). If the condition satisfies the inequality (3.25), it is assumed that the operating
point is at the left side of the MPP thus must be moved to the right by increasing the module
voltage. Similarly, if the condition satisfies the inequality (3.27), it is assumed that the
operating point is at the right side of the MPP, thus must be moved to the left by decreasing

45

the module voltage. When the operating point reaches at the MPP, the condition satisfies the
equation (3.23), and the algorithm bypasses the voltage adjustment. At the end of cycle, it
updates the history by storing the voltage and current data that will be used as previous
values in the next cycle. Another important check included in this algorithm is to detect
atmospheric conditions. If the MPPT is still operating at the MPP (condition: dV = 0) and
the irradiation has not changed (condition: dI = 0), it takes no action. If the irradiation has
increased (condition: dI > 0), it raises the MPP voltage. Then, the algorithm will increase the
operating voltage to track the MPP. Similarly, if the irradiation has decreased (condition: dI
< 0), it lowers the MPP voltage. Then, the algorithm will decrease the operating voltage.

dI
I
=
dV
V

dI
I
>
dV
V

Figure 3-16: Flowchart of the incCond algorithm

46

In practice, the condition dP/dV = 0 (or dI/dV = -I/V) seldom occurs because of the
approximation made in the calculation of dI and dV [11]. Thus, a small margin of error (E)
should be allowed, for example: dP/dV = E. The value of E is optimized with exchange
between an amount of the steady-sate tracking error and a risk of oscillation of the operating
point.

3.6 Control of MPPT


As explained in the previous section, the MPPT algorithm tells a MPPT controller
how to move the operating voltage. Then, it is a MPPT controllers task to bring the voltage
to a desired level and maintain it. There are several methods often used for MPPT.

3.6.1 PI Control
As shown in Figure 3-17, the MPPT takes measurement of PV voltage and current,
and then tracking algorithm (P&O, incCond, or variations of two) calculates the reference
voltage (Vref) where the PV operating voltage should move next.

The task of MPPT

algorithm is to set Vref only, and it is repeated periodically with a slower rate (typically 1~10
samples per second). Then, there is another control loop that the proportional and integral
(PI) controller regulates the input voltage of converter. Its task is to minimize error between
Vref and the measured voltage by adjusting the duty cycle. The PI loop operates with a much

faster rate and provides fast response and overall system stability [10] [12]. The PI controller
itself can be implemented with analog components, but it is often done with DSP-based
controller [10] because the DSP can handle other tasks such as MPP tracking thus reducing
parts count.

47

Figure 3-17: Block diagram of MPPT with the PI compensator

3.6.2 Direct Control


As shown in Figure 3-18, this control method is simpler and uses only one control
loop, and it performs the adjustment of duty cycle within the MPP tracking algorithm. The
way how to adjust the duty cycle is totally based on the theory of load matching explained in
Section 3.4.

Figure 3-18: Block diagram of MPPT with the direct control

48

The impedance seen by PV is the input impedance of converter. Using the example of the
Ck converter in Section 3.4, the relationship to the load is:

V s (1 D ) 2
Rin =
=
Rload
Is
D2

(3.28)

where: D is the duty cycle of the Ck converter. As shown in Figure 3-19, increasing D will
decrease the input impedance (Rin), thus the PV operating voltage moves to the left.
Similarly, decreasing D will increase Rin, thus the operating voltage moves to the right. The
tracking algorithm (P&O, incCond, or variations of two) makes the decision how to move the
operating voltage.
5

4.5
R=4 Ohms

R=7.93 Ohms

MPP

Module Current (A)

3.5
3
2.5

Slope=1/R

R=16 Ohms

Increasing D
1.5

Increasing Rin

1
0.5
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-19: Relationship of the input impedance of Ck converter and its duty cycle

The time response of the power stage and PV source is relatively slow (10~50msec
depending on the type of load) [9]. The MPPT algorithm changes the duty cycle, then the
next sampling of PV voltage and current should be taken after the system reaches the
periodic steady state to avoid measuring the transient behavior [9]. The typical sampling rate

49

is 10~100 samples per second. The sampling rate of PI controller is much faster, thus it
provides robustness against sudden changes of load. The system response is, however, slow
in general. The direct control method can operate stably for applications such as battery
equipped systems and water pumping systems. Since sampling rates are slow, it is possible
to implement with inexpensive microcontrollers [12].

3.6.3 Output Sensing Direct Control


This method is a variation of the aforementioned direct control and has the advantage
of requiring only two sensors for output voltage and current. The aforementioned two
methods use input sensing which enables accurate control of modules operating point. In
addition with input sensors, however, they usually require another set of sensors for the
output to detect the over-voltage and over-current condition of load. The requirement of four
sensors often makes difficult to allow for low cost systems.
This output sensing method measures the power change of PV at the output side of
converter and uses the duty cycle as a control variable. The following MATLAB simulation
illustrates the relationship between the output power of converter and its duty cycle. In the
simulation, BP SX 150S PV module is coupled with the ideal (loss-less) Ck converter with
a resistive load (6 ). The duty cycle of converter is swept from 0 to 1 with 1% step, and the
output power of converter is plotted in Figure 3-20.

50

160
140

Output Power (W)

120
100
80
60
40
20
0

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

Figure 3-20: Output power of Ck converter vs. its duty cycle (1KW/m2, 25oC)

As shown in the figure, there is a peak of output power when the duty cycle of
converter is varied. This control method employs the P&O algorithm to locate the MPP.
Figure 3-21 shows the flowchart of algorithm. In order to accommodate duty cycle as a
control variable, the P&O algorithm used here is a slightly modified version from that
previously introduced, but the idea how it works is the same. The algorithm perturbs the
duty cycle and measure the output power of converter. If the power is increased, the duty
cycle is further perturbed in the same direction; otherwise the direction will be reversed.
When the output power of converter is reached at the peak, a PV module or array is supposed
to be operating at the MPP.
Even though it works perfectly in the simulation with the ideal converter, there is
some uncertainly if the peak of output power is corresponding with the MPP in practice with

51

non-ideal converters. Also, this control method only works with the P&O algorithm and its
variations, and it does not work with the incCond algorithm.

Figure 3-21: Flowchart of P&O algorithm for the output sensing direct control method

3.7 Limitations of MPPT


The main drawback of MPPT is that there is no regulation on output while it is
tracking a maximum power point. It cannot regulate both input and output at the same time.
The example of load matching in Section 3.4 is elaborated here to show how the output
voltage and current change with varying irradiation.
The maximum power transfer occurs when the input impedance of converter matches
with the optimal impedance of PV module, as described in the equation below.
Rin = Ropt =

V MPP
I MPP

52

(3.29)

The equation (3.17) for the Ck converter is solved for duty cycle (D).
1

D=
1+

Rin
Rload

(3.30)

From the equation (3.11), the output voltage of converter is:


Vo =

D
Vs
1 D

(3.31)

From the equation (3.16), the output current of converter is:

Io =

1 D
Is
D

(3.32)

The calculation results are tabulated in the tables below.

PV module data are

obtained from the MATLAB simulation model. Using the equations above, two sets of data
are collected for the resistive load of 6

Irradiance
1000W/m2
800W/m2
600W/m2
400W/m2
200W/m2

VMPP
34.5V
34.1V
33.6V
32.7V
31.1V

PV Module
IMPP
4.35A
3.48A
2.61A
1.73A
0.87A

and 12 at the constant module temperature of 25oC.

Pmax
150.0W
118.8W
87.7W
56.9W
26.9W

Rin
7.92
9.80
12.9
18.8
35.9

D
0.465
0.439
0.406
0.361
0.290

MPPT
Vo
30.0V
26.7V
22.9V
18.5.V
12.7V

Io
5.00A
4.45A
3.82A
3.08A
2.12A

Rload
6
6
6
6
6

Table 3-1: Load matching with the resistive load (6 ) under the varying irradiance

Irradiance
1000W/m2
800W/m2
600W/m2
400W/m2
200W/m2

VMPP
34.5V
34.1V
33.6V
32.7V
31.1V

PV Module
IMPP
4.35A
3.48A
2.61A
1.73A
0.87A

Pmax
150.0W
118.8W
87.7W
56.9W
26.9W

Rin
7.92
9.80
12.9
18.8
35.9

D
0.552
0.525
0.491
0.444
0.366

MPPT
Vo
42.4V
37.8V
32.4V
26.1V
18.0V

Io
3.54A
3.15A
2.70A
2.18A
1.50A

Table 3-2: Load matching with the resistive load (12 ) under the varying irradiance

53

Rload
12
12
12
12
12

From the above results, its obvious that there is no regulation of the output voltage
and current. If the application requires a constant voltage, it must employ batteries to
maintain the voltage constant. For water pumping system without batteries, the lack of
output regulation is not a predicament as long as they are equipped with water reservoirs to
meet the demand of water. The speed of pump motor is proportional to the converters
output voltage which is relative to irradiation. Thus, when the sun shines more, it simply
pumps more water.
Another noteworthy fact is that MPPT stops its original task if the load cannot
consume all the power delivered. For the stand-alone system, when the load is limited by its
maximum voltage or current, the MPPT moves the operating point away from the MPP and
sends less power. It is very important to select an appropriate size of load, thus it can utilize
the full capacity of PV module and array. On the other hand, the grid-tied system can always
perform the maximum power point tracking because it can inject the power into the grid as
much as produced.
Of course, in reality DC-DC converter used in MPPT is not 100% efficient. The
efficiency gain from MPPT is large, but the system needs to take efficiency loss by DC-DC
converter into account. There is also tradeoff between efficiency and the cost. It is necessary
for PV system engineers to perform economic analysis of different systems and also
necessary to seek other methods of efficiency improvement such as the use of a sun tracker.
After due consideration of limitations, the next chapter will discuss designs and
simulations of MPPT and PV water pumping system.

54

Chapter 4 Design and Simulations


4.1 Introduction
This chapter provides the design and simulations of MPPT.

It discusses Ck

converter design. After the component selection, PSpice simulations validate the design and
choice of the MPPT sampling rate. MATLAB simulations perform comparative tests of the
P&O and incCond algorithm. Simulations also verify the functionality of MPPT with a
resistive load and then with the DC pump motor load.

At last, this chapter provides

comparisons between the PV water pumping system equipped with MPPT and the directcoupled system without MPPT.

4.2 Ck Converter Design


The basic operation of Ck Converter and derivation of the voltage transfer function
is explained in Section 3.3.3. Here, a Ck converter is designed based on the specification
shown in the table below. After component selection, the design is simulated in PSpice.
Specification
Input Voltage (Vs)
Input Current (Is)
Output Voltage (Vo)
Output Current (Io)
Maximum Output Power (Pmax)
Switching Frequency (f)
Duty Cycle (D)

20-48V
0-5A (< 5% ripple)
12-30V (< 5% ripple)
0-5A (< 5% ripple)
150W
50KHz
0.1 D 0.6

Table 4-1: Design specification of the Ck Converter

55

4.2.1 Component Selection


a) Inductor Selection
The inductor sizes are decided such that the change in inductor currents is no more
than 5% of the average inductor current.

The following equation gives the change in

inductor current [8].

i L =

Vs D
L f

(4.1)

where: Vs is the input voltage, D is the duty cycle, and f is the switching frequency.
Solving this for L gives:

L=

Vs D
i L f

(4.2)

Assume that the worst current ripple will occur under the maximum power condition. Under
this condition, the average current (IL1) of the input inductor (L1) is 4.35A, and the ripple
current is 5% of IL1.

i L1 = 0.05 I L1 = (0.05)( 4.35) = 0.2175 A

(4.3)

Thus, from the equation (4.2):

L1 =

Vs D
(34.5)(0.465)
=
= 1.475 mH
i L1 f (0.2175 )(50 10 3 )

(4.4)

A commercially available 1.5mH inductor is selected. For example, 1.5mH power coke
(5.0A DC max, 0.07 DCR) is available from Hammond Mfg. (www.hammondmfg.com).
Similarly, the value of the output inductor (L2) is calculated as follows.

i L 2 = 0.05 I L 2 = (0.05)(5.0) = 0.250 A

56

(4.5)

L2 =

Vs D
(34.5)(0.465)
=
= 1.283mH
i L 2 f (0.25)(50 10 3 )

(4.6)

To make parts procurement easier, the output can use the same inductor size as one in the
input.
b) Capacitor Selection
The design criterion for capacitors is that the ripple voltage across them should be
less than 5%. The average voltage across the capacitor (C1) is, from the equation (3.2), Vc1 =
Vs + Vo= 34.5 + 30 = 64.5V, so the maximum ripple voltage is vC1 = 0.05 64.5 = 3.225V.

The equivalent load resistance is:


2

Vo
(30.0) 2
R=
=
= 6
Po
(150)

(4.7)

The value of C1 is calculated with the following equation [8]:

C1 =

Vo D
(30.0)(0.465)
=
= 14 .42 F
R f v c1 (6)(50 10 3 )(3.225)

(4.8)

The next commercially available size is 22 F. An aluminum electrolytic capacitor with low
ESR type is required.
The value of the output capacitor (C2) is calculated using the output voltage ripple
equation (the same as that of buck converter) [21].

v o
1 D
=
Vo
8 L2 C 2 f

(4.9)

Solving the above equation for C2 gives:

C2 =

1 D
8 ( v o Vo ) L 2 f

1 0.465
= 0.3567 F
8(0.05)(1.5 10 3 )(50 10 3 ) 2

(4.10)

The next available size is 0.47 F. An aluminum electrolytic capacitor with low ESR type is
required.

57

c) Diode Selection
Schottky diode should be selected because it has a low forward voltage and very good
reverse recovery time (typically 5 to 10ns) [21]. From Figure 3-8, the recurrent peak reverse
voltage (VRRM) of the diode is the same as the average voltage of capacitor (C1) [18], thus
VRRM = 64.5V. Adding the 30% of safety factor gives the voltage rating of 83.9V. The

average forward current (IF) of diode is the combination of input and output currents at the
SW off, thus it is ID = IL1+IL2 = 9.35A. Adding the 30% of safety factor gives the current

rating of 12.2A. Schottky diodes are widely available from numerous vendors. For example,
MBR15100 (IF=15Amax, VRRM=100Vmax) meets the above-mentioned voltage and current
ratings.
d) Switch Selection
Power-MOSFETs are widely used for low to medium power applications. The peak
voltage of the switch (SW) [18] is obtained by KVL on the circuit shown in Figure 3-9.
VSW = Vs

dI L1
dt

(4.11)

The voltage of SW could go up to 48V by the specification. Adding the 30% of safety factor
gives the voltage rating of 62.4V. The peak switch current is the same as the diode. Thus,
adding the 30% of safety factor gives the current rating of 12.2A. There are a wide variety of
Power-MOSFETs available from various vendors.
VDS=100Vmax) meets the above-mentioned requirements.

58

For example, IRF530 (ID=14Amax,

4.2.2 PSpice Simulations


PSpice simulations validate the Ck converter designed in Section 4.2.1. Figure 4-1
shows the circuit diagram with the PMDC motor model as a load. In the diagram, Ra and La
are resistance and inductance of armature winding, respectively, and E is the back emf of the
motor. The converter is running with full load. The values of armature resistance and
inductance that correspond to the actual DC pump motor are unknown, thus they are
estimated from other references [2] [20]. A more detailed discussion of modeling a DC
motor appears in Section 4.5.1.

C1

L1

1.5mH

34.5Vdc

Vpwm

La
1

1.5mH
S1

Vin

L2

+
-

1
10mH

22uF

Ra
.2

D1
Dbreak

Sbreak

C2
.47uF

E
28Vdc

0
0

V1 = 0
V2 = 1
TR = 10n
TF = 10n
TD = 0
PW = {D*T}
PER = {T}

PARAMETERS:
f = 50kHz
T = {1/f }
D = .465

Figure 4-1: Schematic of the Ck converter with PMDC motor load

Figure 4-2 shows current and voltage plots of the converter after turning on (t = 0sec).
Since the load has such a large inductance, it takes a long time for current to build up. The
plots show that both input and output currents take nearly 250msec to reach steady state.

59

5.0A

2.5A

SEL>>
0A
I(L1)

I(L2)

40V

30V

20V

10V

0V
0s

50ms
V(Vin:+)

100ms

150ms

200ms

250ms

-V(C2:2)
Time

Figure 4-2: PSpice plots of input/output current (above) and voltage (below)

For comparisons, the same simulation is done with an equivalent resistive load (6 ).
The transient time is less than 10msec with the resistive load. It is apparent that the motor
load has a very slow response. Other current and voltage data are gathered and tabulated
below for comparisons with the resistive load and calculated results.
DC Motor
1 Set
2nd Set
4.07A
4.18A
5.2%
6.1%
4.70A
4.84A
4.6%
4.6%
34.5V
34.5V
n/a
n/a
28.9V
29.1V
9%
3.1%
st

Iin
Iout
Vin
Vout

Average
% ripple
Average
% ripple
Average
% ripple
Average
% ripple

Resistive
Load (6 )
4.20A
5.1%
4.83A
4.4%
34.5V
n/a
29.0V
2.7%

Calculated
Results
4.35A
< 5%
5.0A
< 5%
34.5V
n/a
30V
< 5%

Table 4-2: Ck converter design: comparisons of simulations and calculated results

Table 4-2 shows two sets of simulation data for the DC motor load. The first set is
the result of simulation using the components selected in the previous section. The output

60

voltage ripple for the DC motor load is as large as 9% while one for the equivalent resistive
load (6 ) is only 2.7%. Therefore, in the next simulation, the size of output capacitor (C2) is
increased to the next commercially available size of 1 F. It makes the input current ripple
slightly worse, but it makes overall improvement of performance. Thus, a 1 F capacitor
(instead of 0.47 F) is finally selected.

4.2.3 Choice of MPPT Sampling Rate


MPPT algorithms adjust PV operating point with a small step. The size of step is
typically 0.5V or less. For the Ck converter designed, 0.5V corresponds to approximately
0.35% change in duty cycle. PSpice performs the simulation when the duty cycle is changed,
and the transient responses of voltage and current are observed. The use of Sw_tOpen and
Sw_tClose in the analog miscellaneous library permits switching of one duty cycle to
another duty cycle during the simulation. In the same way, it is also necessary to adjust the
value of back emf (E) because it has to correspond with the change of output voltage.

5.0A

4.5A

4.0A
I(L1)

I(L2)

35.0V

32.5V

30.0V

SEL>>
27.0V
240ms
V(L1:1)

260ms
-V(C2:2)

280ms

300ms

320ms

340ms

Time

Figure 4-3: Transient response when duty cycle is increased 0.35% at 250ms

61

360ms

Figure 4-3 is the result of PSpice simulation. It shows both input and output currents
take between 80msec and 90msec to go to steady state, where they take only several
milliseconds for the resistive load. It is important for MPPT algorithm to take measurements
of voltage and current after they reach steady state. Therefore, with a PV pump motor, the
sampling rate is 10Hz at most.

4.3 Comparisons of P&O and incCond Algorithm


The two MPPT algorithms, P&O and incCond, discussed in Section 3.5 are
implemented in MATLAB simulations and tested for their performance. Since the purpose is
to make comparisons of two algorithms, each simulation contains only the PV model and the
algorithm in order to isolate any influence from a converter or load.
First, they are verified to locate the MPP correctly under the constant irradiance, as
shown in Figure 4-4. Please refer to Appendix A.1 for MATLAB scripts for this section.
160

end

140

Module Output Power (W)

120
100

start

80
60
40
20
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 4-4: Searching the MPP (1KW/m2, 25oC)


The traces of PV operating point are shown in green, and the MPP is the red asterisk

62

Next, the algorithms are tested with actual irradiance data provided by [2].
Simulations use two sets of data, shown in Figure 4-5; the first set of data is the
measurements of a sunny day in April in Barcelona, Spain, and the second set of data is for a
cloudy day in the same month at the same location.

The data contain the irradiance

measurements taken every two minutes for 12 hours. Irradiance values between two data
points are estimated by the cubic interpolation in MATLAB functions.

Sunny Day
Cloudy Day

Irradiance (KW/m2)

0.8

0.6

0.4

0.2

6
Hour (h)

10

12

Figure 4-5: Irradiance data for a sunny and a cloudy day of April in Barcelona, Spain [2]

On a sunny day, the irradiance level changes gradually since there is no influence of
cloud. MPP tracking is supposed to be easy. As shown in Figure 4-6, both algorithms locate
and maintain the PV operating point very close to the MPPs (shown in red asterisks) without
much difference in their performance.

63

(a) P&O algorithm

160

1000W/m
140

1000W/m2

140
800W/m2

100
600W/m2

80

400W/m2

60

800W/m2

120
Module Output Power (W)

120
Module Output Power (W)

(b) incCond algorithm

160

40

100
600W/m2

80

400W/m2

60
40

200W/m2

200W/m2

20
0

20

10

15

20
25
30
Module Voltage (V)

35

40

45

50

10

15

20
25
30
Module Voltage (V)

35

40

45

Figure 4-6: Traces of MPP tracking on a sunny day (25oC)

On a cloudy day, the irradiance level changes rapidly because of passing clouds.
MPP tracking is supposed to be challenging. Figure 4-7 shows the trace of PV operating
points for (a) P&O algorithm and (b) incCond algorithm. For both algorithms, the deviations
of operating points from the MPPs are obvious when compared to the results of a sunny day.
Between two algorithms, the incCond algorithm is supposed to outperform the P&O
algorithm under rapidly changing atmospheric conditions [11]. A close inspection of Figure
4-7 reveals that the P&O algorithm has slightly larger deviations overall and some erratic
behaviors (such as the large deviation pointed by the red arrow). Some erratic traces are,
however, also observable in the plot of the incCond algorithm. In order to make a better
comparison, total electric energy produced during a 12-hour period is calculated and
tabulated in Table 4-3.

64

50

(a) P&O Algorithm

160

1000W/m 2

140

120

800W/m2

100
600W/m2

80
60

400W/m2
40

800W/m2

100
600W/m2

80
60

400W/m2
40

200W/m2

20
0

1000W/m2

140

Module Output Power (W)

Module Output Power (W)

120

(b) incCond Algorithm

160

10

15

20
25
30
Module Voltage (V)

200W/m2

20

35

40

45

50

10

15

20
25
30
Module Voltage (V)

35

40

45

Figure 4-7: Trace of MPP tracking on a cloudy day (25oC)

Total Energy (simulation)


Total Energy (theoretical max)
Efficiency

P&O Algorithm
479.64Wh
480.38Wh
99.85%

incCond Algorithm
479.69Wh
480.38Wh
99.86%

Table 4-3: Comparison of the P&O and incCond algorithms on a cloudy day

Total electric energy produced with the incCond algorithm is narrowly larger than
that of the P&O algorithm.

The MPP tracking efficiency measured by {Total Energy

(simulation)} {Total Energy (theoretical max)} 100% is still good in the cloudy condition

for both algorithms, and again it is narrowly higher with the incCond algorithm.

The

irradiance data are only available at two-minute intervals, thus they do not record a much
higher rate of changes during these intervals. The data may not be providing a truly rapid
changing condition, and that could be a reason why the two results are so close. Also, further
optimization of algorithm and varying a testing method may provide different results. The
performance difference between the two algorithms, however, would not be large. There is a
study showing similar results [9]. The simulation results showed the efficiency of 99.3% for

65

50

the P&O algorithm and 99.4% for the incCond algorithm. The experimental results showed
96.5% and 97.0%, respectively, for a partly cloudy day.

4.4 MPPT Simulations with Resistive Load


First, MPPT with a resistive load is implemented in MATLAB simulation and
verified. The simulation results in Section 4.3 have shown that there is no great advantage in
using the more complex incCond algorithm, and the P&O algorithm provides satisfactory
results even in the cloudy condition. The selection of the P&O algorithm permits the use of
the output sensing direct control method which eliminates the input voltage and current
sensors, as discussed in Section 3.6.3. The MPPT design, therefore, chooses the P&O
algorithm and the output sensing direct control method because of the advantage that allows
of a simple and low cost system.
The simulated system consists of the BP SX 150S PV model, the ideal Ck converter,
the MPPT control, and the resistive load (6 ). The MATLAB function that models the PV
module is the following:
I a = bp _ sx150 s (Va , G , T )

(4.12)

The function, bp_sx150s, calculates the module current (Ia) for the given module voltage (Va),
irradiance (G in KW/m2), and module temperature (T in oC).
The operating point of PV module is located by its relationship to the load resistance
(R) as explained in Section 3.4.

R=

Va
Ia

(4.13)

66

The irradiance (G) and the module temperature (T) for the function (4.12) are known
variables, thus it is possible to say that Ia is the function of Va hence Ia = f(Va). Substituting
this into the equation (4.13) gives:
Va R f (Va ) = 0

(4.14)

Knowing the value of R enables to solve this equation for the operating voltage (Va).
MATLAB uses fzero function to do so. Please refer Appendix A.1 for details. Placing Va,
back to the equation (4.12) gives the operating current (Ia).
For the direct control method, each sampling of voltage and current is done at a
periodic steady state condition of the converter.

Therefore, the steady state analysis

discussed in Section 3.3.3 provides sufficient modeling of the Ck converter. The following
equations describe the input/output relationship of voltage and current, and they are used in
the MATLAB simulation.
Vo =

D
Vs
1 D

(4.15)

Io =

1 D
Is
D

(4.16)

where: D is the duty cycle of the Ck converter.

67

The following flowchart, shown in Figure 4-8, explains the operation of the simulated
system. The details can be referred in the MATLAB script listed in the Appendix A.1.

"
#

'

$%

&

!
#
( #!
) *+
)*

!
) *

.
!

+!

/ #

+"

Figure 4-8: MPPT simulation flowchart

The simulation is performed under the linearly increasing irradiance varying from
100W/m2 to 1000W/m2 with a moderate rate of 0.3W/m2 per sample. Figure 4-9 (a) and (b)
show that the trace of operating point is staying close to the MPPs during the simulation.
Figure 4-9 (c) shows the relationship between the output power of converter and its duty
cycle. Figure 4-9 (d) shows the current and voltage relationship of converter output. Since
the load is resistive, the current and voltage increase linearly with the slope of 1/Rload on the
I-V plane.

68

(a) PV Power vs. Voltage

160

1000W/m

(b) PV Current vs. Voltage

end

1000W/m 2

4.5

140

end

4
800W/m2

100
600W/m 2

80

400W/m 2

60

800W/m2

3.5
Module Current(A)

Module Output Power (W)

120

3
600W/m2

2.5
2

400W/m 2

1.5
40
1

200W/m 2
20
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(c) Output Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

end
140

end

Output Current (A)

Output Power (W)

120
100
80
60

3
Load Line

start

40
1

20
0

start
0

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

10

15
20
Output Voltage (V)

25

30

35

Figure 4-9: MPPT simulations with the resistive load (100 to 1000W/m2, 25oC)

The control algorithm contains two loops, as shown in Figure 4-8: the main loop for
MPPT and another loop for output protection. During the normal operation, it operates in
MPPT mode. When the load cannot absorb all the power produced by PV, its voltage or/and
current will exceed the limit. To protect the load from failure, the control algorithm stops
operating in MPPT mode and invokes the output protection. Then, it regulates the output not
to exceed the limit. In the simulation, it sets when the output voltage goes beyond 30V or 5A
for the output current.
irradiance, the 10

For the example shown in Figure 4-10, during the increasing

load exceeds the voltage limit of 30V. The output protection maintains

69

the voltage around 30V. Figure 4-10 (a) shows that PV is not operating at the MPP and
sending the power less than the maximum after the irradiance reaches at a little over
600W/m2. It also indicates the importance of selecting an appropriate size of load, thus it can
utilize the full capacity of PV module or array.

(a) PV Power vs. Voltage

160

1000W/m
140

5
800W/m

100

end

600W/m 2

80

Output Current (A)

120
Module Output Power (W)

(b) Output Current vs. Voltage

400W/m 2

60

4
end
3

40
200W/m 2

start

20
start
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

10

15
20
Output Voltage (V)

25

30

35

Figure 4-10: Output protection & regulation (100 to 1000W/m2, 25oC)

The input sensing type direct control method, discussed in Section 3.6.2, is also
implemented with both P&O and incCond algorithm. The results are very similar and are
shown in Appendix A.2 for reference.

4.5 MPPT Simulations with DC Pump Motor Load


Next, DC pump motor is modeled. SIMULINK is chosen for this purpose because it
offers a tool called SimPowerSystems which facilitates modeling of DC motors with its
DC machine tool box. The model is then put into the MATLAB simulation designed in the
previous section, replacing the resistive load.

70

4.5.1 Modeling of DC Water Pump


The flow rate of water in positive displacement pumps is directly proportional to the
speed of the pump motor, which is governed by the available driving voltage [19]. They
have constant load torque to the pump motors, and it is expressed by the total dynamic head
in terms of its equivalent vertical column of water; for example, vertical lift and friction
converted to vertical lift [13]. Figure 4-11 shows the relationship between flow rate of water
and total dynamic head for the Kyocera SD 12-30 solar pump to be modeled. It has the
normal operating voltage of 12 to 30V and the maximum power of 150W.

Figure 4-11: Kyocera SD 12-30 water pump performance chart [13]

To model a permanent magnet DC motor, the SIMULINK model applies a constant


field, as shown in Figure 4-12. Since the water pump is a positive displacement type, the
load torque is also constant. The value is selected to draw the maximum power of 150W at
the maximum voltage of 30V. The parameters of DC machine, shown in Figure 4-13, that
correspond to the actual pump motor are unknown, thus they are chosen by modification of
the default values and estimation from other references [2] [20].

71

Positive Displacement Pump


(Constant Torque)
1.1

TL
Signal 1

0-30V Ramp

s
-

A+

Voltage Source

dc

F+

Demux

AF-

DC Machine
Apply Constant Field
Va, Ia, w, Te, P
Product
+
v
-

Va

Ia vs Va

?
More Info

Divide

Rload

Figure 4-12: SIMULINK model of permanent magnet DC pump motor

Figure 4-13: SIMULINK DC machine block parameters

The voltage source applies a 0-30V ramp at the rate of 1V per second. Then, the
change of load resistance (Rload) is observed, as shown in Figure 4-14. The plot data are

72

transferred to MATLAB, and the cubic curve fitting tool in MATLAB provides the equation
of the curve, shown below.

Rload = 9.5 10 5 Vo3 8.7 10 3 Vo2 + 0.37 Vo + 0.2

(4.17)

where: Vo is the output voltage of converter. This equation characterizes the DC pump motor,
and MATLAB uses it in the simulations.

Figure 4-14: SIMULINK plot of Rload ( )

4.5.2 MATLAB Simulation Results


The simulation is carried out in a similar manner as that for the resistive load. The
irradiance is increased linearly from 20W/m2 to 1000W/m2 with the same rate of 0.3W/m2 per
sample. Figure 4-15 (a) and (b) show that the trace of operating point staying close to the
MPPs throughout the simulation. Figure 4-15 (c) shows the relationship between the output
power of converter and its duty cycle.

73

(a) PV Power vs. Voltage

160

1000W/m

(b) PV Current vs. Voltage

end

1000W/m 2

4.5

140

end

4
800W/m2

100
600W/m 2

80

400W/m 2

60

800W/m2

3.5
Module Current(A)

Module Output Power (W)

120

3
600W/m2

2.5
2

400W/m 2

1.5
40
20
0

200W/m 2

start

200W/m2

0.5
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(c) Output Power vs. Duty Cycle

160

start
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

end
140

end

Output Current (A)

Output Power (W)

120
100
80
60

40
1

20
0

start

start
0

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

10

15
20
Output Voltage (V)

25

30

Figure 4-15: MPPT simulations with the DC pump motor load (20 to 1000W/m2, 25oC)

Figure 4-15 (d) shows the current and voltage relationship of converter output which
is equal to the DC motor load. It shows that the output current rises rapidly with increasing
voltage until the current is sufficient to create enough torque to start the motor. Once it starts
to run, the back emf takes effect and drops the current, therefore the current rises slowly with
increasing voltage. Figure 4-16 shows the I-V curve produced by the SIMULINK simulation.
The y-axis is the armature current of DC motor, and the x-axis is time (second) that
corresponds to the armature voltage (V). It is similar to the MATLAB version; therefore it
can be concluded that the simple MATLAB model of DC motor used here is valid. The only

74

discrepancy is that the MATLAB version shows slow transition between halt to motion
because the output is limited by the duty cycle which is set to 10% as the minimum.

Figure 4-16: SIMULINK plot of DC motor I-V curve

4.6 System with MPPT vs. Direct-coupled System


The PV water pumping system simulated in the previous section is compared with the
direct-coupled PV water pumping system without MPPT. The irradiance data used here are
the measurements of a sunny day in April in Barcelona, Spain, introduced in Section 4.3.
The total electric energy produced during a 12-hour period is calculated and tabulated in
Table 4-4.

Total Energy (simulation)


Total Energy (theoretical max)
Efficiency

With MPPT
1.057KWh
1.060KWh
99.75%

Without MPPT
0.577KWh
1.060KWh
54.42%

Table 4-4: Energy production and efficiency of PV module with and without MPPT

75

The result shows that the PV water pumping system without MPPT has poor
efficiency because of mismatching between the PV module and the DC pump motor load.
On the other hand, it shows that the system with MPPT can utilize more than 99% of PV
capacity. Assuming a DC-DC converter has efficiency more than 90%, the system can
increase the overall efficiency by more than 35% compared to the system without MPPT.
Another set of simulations provides a comparison of the two systems in terms of flow
rates and total volume of water pumped. The results show that MPPT can significantly boost
the performance. As shown in Figure 4-11, the flow rate of Kyocera SD 12-30 water pump
is proportional to the power delivered. When the total dynamic head is 30m, the flow rate
per watt is approximately 86.7cm3/Wmin. The minimum power requirement of pump motor
is 35W [13]; therefore as long as the output power is higher than 35W, it pumps water with
the flow rate above. Using the same test condition, the flow rates of pump are obtained from
the MATLAB simulations and shown in Figure 4-17.
14

Loss-less Converter
90% Efficiency Converter
Direct-coupled System

12

Flow Rate (L/min)

10

6
Hour

10

11

12

Figure 4-17: Flow rates of PV water pumps for a 12-hour period


Simulated with the irradiance data of a sunny day (total dynamic head = 30m)

76

The results show that the direct-coupled PV water pumping system has a severe
disadvantage because the pump stays idle for nearly two more hours in the morning while the
same system with MPPT is already pumping water. Similarly, it goes idle nearly two hours
earlier than the system with MPPT in the afternoon. The flow rate of water is also lower
throughout the operating period.
The total volume of water pumped for the 12-hour period is also calculated for both
systems. The results are tabulated below.

With MPPT

Total Volume of Water


Pumped for 12 Hours
(simulation)

Loss-less
Converter

90% Efficiency
Converter

Without MPPT

5.302m3

4.719m3

2.831m3

Table 4-5: Total volume of water pumped for 12 hours


Simulated with the irradiance data of a sunny day (total dynamic head = 30m)

The results show that MPPT offers significant performance improvement. It enables
to pump up to 87% more water than the system without MPPT. Even if the efficiency of
converter is set to 90%, it can still pump 67% more water than the system without MPPT.

77

Chapter 5 Conclusion
5.1 Summary
This study presents a simple but efficient photovoltaic water pumping system. It
models each component and simulates the system using MATLAB. The result shows that
the PV model using the equivalent circuit in moderate complexity provides good matching
with the real PV module.

Simulations perform comparative tests for the two MPPT

algorithms using actual irradiance data in the two different weather conditions. The incCond
algorithm shows narrowly but better performance in terms of efficiency compared to the
P&O algorithm under the cloudy weather condition. Even a small improvement of efficiency
could bring large savings if the system is large. However, it could be difficult to justify the
use of incCond algorithm for small low-cost systems since it requires four sensors. In order
to develop a simple low-cost system, this thesis adopts the direct control method which
employs the P&O algorithm but requires only two sensors for output. This control method
offers another benefit of allowing steady-state analysis of the DC-DC converter, as opposed
to the more complex state-space averaging method, because it performs sampling of voltage
and current at the periodic steady state. Simulations use SimPowerSystems in SIMULINK to
model a DC pump motor, and then the model is transferred into MATLAB. It performs
simulations of the whole system and verifies functionality and benefits of MPPT.
Simulations also make comparisons with the system without MPPT in terms of total energy
produced and total volume of water pumped a day. The results validate that MPPT can
significantly increase the efficiency of energy production from PV and the performance of
the PV water pumping system compared to the system without MPPT.

78

5.2 Difficulties and Future Research


Correct modeling of the DC-DC converter and DC water pump is an important area
of study, and various difficulties remain in the current study. A more realistic model of the
DC-DC converter would involve a diode loss, a switching loss in a Power-MOSFET, and
resistive losses in inductors and capacitors. SimPowerSystems provide components to build
electric circuits in SIMULINK and allow including such losses. At the initial phase of
simulation design, attempts to build a Ck converter in SIMULINK faced unsolvable
difficulties. Building the whole system in SIMULINK, however, could open avenues of
study such as stability analysis of system and implementations of more advanced control
methods.
The model used for simulations of DC water pump gives results within a reasonable
range.

The accuracy of model is, however, uncertain because the parameters are only

estimates. If tests could be run on the real water pump motor or an equivalent sized motor to
determine reasonable entries to SIMULINK block parameters, this could lead to more
accurate simulation runs. Also, simply increasing the size of system and using a larger motor
(5hp or above) could allow for better results in SUMILINK, though many PV water pumps
rarely use such large motors.
Physical implementation of the system remains for future research. It may involve
implementation of: a DSP or a microcontroller, a method of supplying power to the
controller, signal conditioning circuits for A/D converters, a driving circuit for PowerMOSFET, a Ck converter, and a water level sensor that detects when the water reservoir
reaches full. It may also involve performance analysis on the actual system and comparisons
with simulations.

79

5.3 Concluding Remarks


Issues of energy and global warming are some of the biggest challenges for humanity
in the 21st century. Energy is so important for everyone, and in fact, taking control of the
worlds supply of oil is one of the most important national agenda for United Sates. The
world is getting divided into two groups: the countries that have access to oil and natural gas
resources and those that do not. In contrast, renewable energy resources are ubiquitous
around the world. Especially, PV has a powerful attraction because it produces electric
energy from a free inexhaustible source, the sun, using no moving parts, consuming no fossil
fuels, and creating no pollution or green house gases during the power generation. Together
with decreasing PV module costs and increasing efficiency, PV is getting more pervasive
than ever.
Finally, the author wishes that this thesis serves the interests of other students who are
interested in power electronics for PV applications and provides encouragement towards
more advanced senior project or masters thesis research.

80

Bibliography
[1]

BP Solar BP SX150 - 150W Multi-crystalline Photovoltaic Module Datasheet, 2001

[2]

Castaer, Luis & Santiago Silvestre Modelling Photovoltaic Systems, Using PSpice
John Wiley & Sons Ltd, 2002

[3]

Chapin, D. M., C. S. Fuller, & G. L. Pearson, Bell Telephone Laboratories, Inc.,


Murray Hill, New Jersey A New Silicon p-n Junction Photocell for Converting
Solar Radiation into Electrical Power Journal of Applied Physics, Volume 25, Issue
5, May 1954, page 676-677

[4]

Dang, Thuy Lam A Digitally-controlled Power Tracker Masters Thesis, California


Polytechnic State University, Pomona, 1990

[5]

Day, Christopher Alan The Design of an Efficient, Elegant, and Cubic Pico-Satellite
Electronics System Masters Thesis, California Polytechnic State University, San
Luis Obispo, 2004

[6]

Enslin, John H., Mario S. Wolf, Danil B. Snyman, & Wernher Swiegers Integrated
Photovoltaic Maximum Power Point Tracking Converter IEEE Transactions on
Industrial Electronics, Vol. 44, No. 6 December 1997, page 769-773

[7]

Green, Martin A. Solar Cells; Operating Principles, Technology, and System


Applications Prentice Hall Inc., 1982

[8]

Hart, Daniel W. Introduction to Power Electronics Prentice Hall Inc., 1996

[9]

Hohm, D. P. & M. E. Ropp Comparative Study of Maximum Power Point Tracking


Algorithms Progress in Photovoltaics: Research and Applications November 2002,
page 47-62

[10]

Hua, Chihchiang, Jongrong Lin & Chihming Shen Implementation of a DSPControlled Photovoltaic System with Peak Power Tracking IEEE Transactions on
Industrial Electronics, Vol. 45, No. 1 February 1998, page 99-107

[11]

Hussein, K. H., I. Muta, T. Hoshino, & M. Osakada Maximum Photovoltaic Power


Tracking: an Algorithm for Rapidly Changing Atmospheric Conditions IEE
Proceedings Generation, Transmission and Distribution v. 142 January 1995,
page 59-64

[12]

Koutroulis, Efichios, Kostas Kalaitzakis, Nicholas C. Voulgaris Development of a


Microcontroller-Based, Photovoltaic Maximum Power Point Tracking Control
System IEEE Transactions on Power Electronics, Vol. 16, No. 1, January 2001,
page 46-54

81

[13]

Kyocera Solar Inc. Solar Water Pump Applications Guide 2001 (downloaded from
www.kyocerasolar.com)

[14]

MathWorks Inc. Embedded Target for the TI TMS320C2000 DSP Platform For
Use with Real-Time Workshop Users Guide Version 1 2005 (downloaded from
www.mathworks.com)

[15]

Messenger, Roger & Jerry Ventre Photovoltaic Systems Engineering 2nd Edition
CRC Press, 2003

[16]

Masters, Gilbert M. Renewable and Efficient Electric Power Systems John Wiley &
Sons Ltd, 2004

[17]

Mohan, Undeland, Robbins Power Electronics Converters, Applications, and


Design 3rd Edition John Wiley & Sons Ltd, 2003

[18]

Rashid, Muhammad H. Power Electronics - Circuits, Devices, and Applications 3rd


Edition Pearson Education, 2004

[19]

Rashid, Muhammad H. Editor-in-Chief Power Electronics Handbook Academic


Press, 2001

[20]

Sharaf A. M., Abdulla Ismail, R. A. El-Khatib & S. I. Abu-Azab A Photovoltaic


Utilization System with Bang-Bang Self-Adjusting Maximum Energy Tracking
Controller International Journal of Energy Research, Volume 22, Issue 12
December 1998, page 1091 - 1098

[21]

Taufik EE410 Power Electronics I - Lecture Note Cal Poly State University, San
Luis Obispo, 2004

[22]

Taufik EE527 Switching Power Supply Design - Lecture Note Cal Poly State
University, San Luis Obispo, 2004

[23]

Texas Instruments Converting Analog Controllers to Smart Controllers with


TMS320C2000 DSPs
Application Report, June 2004 (downloaded from
dspvillage.ti.com/)

[24]

Thompson, Marry A. Reverse-Osmosis Desalination of Seawater Powered by


Photovoltaics Without Batteries Doctoral Thesis, Loughborough University, 2003

[25]

UNEP Water Policy and Strategy (viewed on www.unep.org/dpdl/water/ , August


2005)

[26]

UNESCO
The UN World Water Development Report, 2003
www.unesco.org/water/wwap/wwdr/, August 2005)

82

(viewed on

[27]

Walker, Geoff R. Evaluating MPPT converter topologies using a MATLAB PV


model Australasian Universities Power Engineering Conference, AUPEC 00,
Brisbane, 2000

83

Appendix A
A.1 MATLAB Functions and Scripts
A.1.1 MATLAB Function for Modeling BP SX 150S PV Module
This MATLAB function (bp_sx150s.m) is to simulate the current-voltage relationship
of BP SX 150S PV module and used in simulations throughout of this thesis.
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
%
% Written by Akihiro Oi 7/01/2005
% Revised 7/18/2005
%/////////////////////////////////////////////////////////////////////////////
% Define constants
k = 1.381e-23;
q = 1.602e-19;

% Boltzmanns constant
% 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
a = 0.65e-3;
% Temperature coefficient of Isc (0.065%/C)
% Define variables
TaK = 273 + TaC;
Vc = Va / Ns;

% Module temperature in Kelvin


% 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);

84

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

A.1.2 MATLAB Script to Draw PV I-V Curves


The following simple MATLAB script is used for Figure 2-12 to draw the I-V
characteristics of various module temperatures. Other plots showing PV characteristics are
done in similar ways using MATLAB. The listing of those MATBAB scripts is omitted.
% plot_iv_temp.m - Script file to draw i-v curves of pv module
% with variable temp (0C, 25C, 50C, 75C)
%
% Akihiro Oi July 18, 2005
%///////////////////////////////////////////////////////////////
clear;
% Define constant
G = 1;
% Functions to plot
figure
hold on
for TaC=0:25:75
Va = linspace (0, 48-TaC/8, 200);
Ia = bp_sx150s(Va, G, TaC);
plot(Va, Ia)
end
title('BP SX 150S Photovoltaic Module I-V Curve')
xlabel('Module Voltage (V)')
ylabel('Module Current (A)')

85

axis([0 50 0 5])
gtext('0C')
gtext('25C')
gtext('50C')
gtext('75C')
hold off

A.1.3 MATLAB Function to Find the MPP


This simple MATLAB function is to find the power, voltage, and current at the MPP
of BP SX 150S PV module under the given irradiance and module temperature.
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
%
% Akihiro Oi July 27, 2005
%////////////////////////////////////////////////////////////////
% 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

A.1.4 MATLAB Script: P&O Algorithm


This MATLAB script is to test the P&O algorithm under the sunny weather condition
in Section 4.3. Other testing in this section is done in a similar way, and listing of testing
code is omitted.
% poTest2: Script file to test the P&O MPPT Algorithm
% Testing with slowly changing irradiance
%

86

% Akihiro Oi June 29, 2005


% Revised on August 31, 2005
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
% Define constants
% Cell temperature (deg C)
TaC = 25;
C = 0.5;
% Step size for ref voltage change (V)
% Define variables with initial conditions
G = 0.028;
% Irradiance (1G = 1000W/m^2)
% PV voltage
Va = 26.0;
Ia = bp_sx150s(Va,G,TaC);
% PV current
Pa = Va * Ia;
% PV output power
% New reference voltage
Vref_new = Va + C;
% Set up arrays storing data for plots
Va_array = [];
Pa_array = [];
% Load irradiance data
load irrad;
x = irrad(:,1)';
y = irrad(:,2)';
xi = 147.4e+3:190.6e+3;
yi = interp1(x,y,xi,'cubic');

%
%
%
%
%

Irradiance data of a sunny day


Read time data (second)
Read irradiance data
Set points for interpolation
Do cubic interpolation

% Take 43200 samples (12 hours)


for Sample = 1:43.2e+3
% Read irradiance value
G = yi(Sample);
% 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

87

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('P&O Algorithm')
xlabel('Module Voltage (V)')
ylabel('Module Output Power (W)')
axis([0 50 0 160])
%gtext('1000W/m^2')
%gtext('800W/m^2')
%gtext('600W/m^2')
%gtext('400W/m^2')
%gtext('200W/m^2')
hold off

A.1.5 MATLAB Script: incCond Algorithm


This MATLAB script is to test the incCond algorithm under the cloudy weather
condition in Section 4.3. Other tests in this section are done in a similar way, and the listing
of testing code is omitted.
% incCondTest1: Script file to test incCond MPPT Algorithm
% Testing with rapidly changing insolation
%
% Akihiro Oi June 29, 2005
% Revised on August 31, 2005
%///////////////////////////////////////////////////////////////////////
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 = 27.2;
% PV voltage
Ia = bp_sx150s(Va,G,TaC);
% PV current
Pa = Va * Ia;
% PV output power

88

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;
x = irrad7d(:,1)';
y = irrad7d(:,2)';
xi = 332.8e+3: 376e+3;
yi = interp1(x,y,xi,'cubic');

%
%
%
%
%

Irradiance data of a cloudy day


Read time data (second)
Read irradiance data
Set points for interpolation
Do cubic interpolation

% Take 43200 samples (12 hours)


for Sample = 1:43.2e+3
% 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
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

89

% 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')
% 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('incCond Method')
xlabel('Module Voltage (V)')
ylabel('Module Output Power (W)')
axis([0 50 0 160])
%gtext('1000W/m^2')
%gtext('800W/m^2')
%gtext('600W/m^2')
%gtext('400W/m^2')
%gtext('200W/m^2')
hold off

A.1.6 MATLAB Script for MPPT with Output Sensing Direct Control Method
This MATLAB script is to test the output sensing direct control method with the P&O
algorithm in Section 4.4. The load is a resistive load (6 )
% po_dutyCycle2Test2:
% Script file to test output sensing direct control method
% P&O MPPT Algorithm is used
%
% Written by Akihiro Oi: June 23, 2005
% Revised: September 8, 2005
%//////////////////////////////////////////////////////////
clear;
% Define constants
TaC = 25;
% Cell temperature (deg C)
Rload = 6;
% Resistive Load (Ohms)
deltaD = .0035; % Step size for Duty Cycle change (.35%)
% Define variables with initial conditions
G = .1;
% Irradiance (1G = 1000W/m^2)
D = .22;
% Duty Cycle, D(k+1), (0.1 Min, O.6 Max)
D_k_1 = .22;
% Duty Cycle, D(k-1), (0.1 Min, O.6 Max)
Va_k_1 = 0;
% PV voltage, Va(k-1)
Pa_k_1 = 0;
% PV output power, Pa(k-1)

90

Vo_k_1 = 0;
Io_k_1 = 0;
Po_k_1 = 0;

% Output voltage of Ck converter, Vo(k-1)


% Output current of Ck converter, Io(k-1)
% Output power of Ck converter, Po(k-1)

% Set up arrays storing data for plots


Va_array = [];
Ia_array = [];
Pa_array = [];
Vo_array = [];
Io_array = [];
Po_array = [];
D_array = [];
% Take 3600 samples
for Sample = 1:3600
% Read present value of duty cycle
D_k = D;
% Calculate input impedance of ideal Ck converter (Rin)
Rin = (1-D_k)^2/D_k^2 * Rload;
% Locate the operating point of PV module and
% calculate its voltage, current, and power
f = @(x) x - Rin*bp_sx150s(x,G,TaC);
Va_k = fzero (f, [0, 45]);
Ia_k = bp_sx150s(Va_k,G,TaC);
Pa_k = Va_k * Ia_k;
% Measure the outputs for ideal Ck converter
Vo_k = D_k/(1-D_k) * Va_k;
Io_k = (1-D_k)/D_k * Ia_k;
% Calculate new Po and deltaPo
Po_k = Vo_k * Io_k;
deltaPo = Po_k - Po_k_1;
% Output voltage and current protection (30V/5A Max)
if (Vo_k > 30.6) | (Io_k > 5.1) % '2%' margin added
if deltaPo >= 0
if D_k > D_k_1
D = D_k - deltaD; % Decrease duty cycle
else
D = D_k + deltaD; % Increase duty cycle
end
else
if D_k > D_k_1
D = D_k + deltaD; % Increase duty cycle
else
D_k = D_k - deltaD; % Decrease duty cycle
end
end
elseif (Vo_k > 30) | (Io_k > 5)
D = D_k; % No change
elseif D_k < .1
D = .1; % Set minimum duty cycle
elseif D_k > .6
D = .6; % Set maximum duty cycle
else
% P&O Algorithm starts here
if deltaPo > 0
if D_k > D_k_1
D = D_k + deltaD; % Increase duty cycle

91

else
D = D_k - deltaD; % Decrease duty cycle
end
elseif deltaPo < 0
if D_k > D_k_1
D = D_k - deltaD; % Decrease duty cycle
else
D = D_k + deltaD; % Increase duty cycle
end
else
D = D_k; % No change
end
end
% Update history
Va_k_1 = Va_k;
Ia_k_1 = Ia_k;
Pa_k_1 = Pa_k;
Vo_k_1 = Vo_k;
Io_k_1 = Io_k;
Po_k_1 = Po_k;
D_k_1 = D_k;
% Store data in arrays for plots
Va_array = [Va_array Va_k];
Ia_array = [Ia_array Ia_k];
Pa_array = [Pa_array Pa_k];
Vo_array = [Vo_array Vo_k];
Io_array = [Io_array Io_k];
Po_array = [Po_array Po_k];
D_array = [D_array D_k];
% Increase insolation until G=1
if (Sample > 20) & (G < 1)
G = G + .0003;
end
% Goto next sample
end
% Functions to plot
figure(1)
plot (Va_array, Pa_array, 'g')
% 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('(a) PV Power vs. Voltage')
xlabel('Module Voltage (V)')
ylabel('Module Output Power (W)')
axis([0 50 0 160])
hold off
figure(2)

92

plot (Va_array, Ia_array, 'g')


% Overlay with I-V curves and MPP
hold on
for G=.2:.2:1
Ia = bp_sx150s(Va, G, TaC);
plot(Va, Ia)
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
plot(Vmp, Imp, 'r*')
end
title('(b) PV Current vs. Voltage')
xlabel('Module Voltage (V)')
ylabel('Module Current(A)')
axis([0 50 0 5])
hold off
figure(3)
plot (D_array, Po_array, 'b')
title('(c) Output Power vs. Duty Cycle')
xlabel('Duty Cycle')
ylabel('Output Power (W)')
axis([0 1 0 160])
figure(4)
plot (Vo_array, Io_array, 'g.')
hold on
Vo = linspace (0, 35, 200);
Io = Vo ./ Rload;
plot (Vo, Io)
title('(d) Output Current vs. Voltage')
xlabel('Output Voltage (V)')
ylabel('Output Current (A)')
axis([0 35 0 6])
hold off

A.1.7 MATLAB Script for MPPT Simulations with DC Pump Motor Load
This MATLAB script is to test MPPT functionality with the DC pump motor as a
load introduced in Section 4.5. It uses the output sensing direct control method with the
P&O algorithm. It also calculates total energy output and total volume of water pump for a
12-hour period.
% po_dutyCycleTest4:
% Output sensing direct control method with the P&O algorithm
% (With variable load mimics DC pump motor)
% Irradiance data on a sunny day
%
% Written by Akihiro Oi: September 6, 2005
% Revised: September 9, 2005
%//////////////////////////////////////////////////////////
clear;

93

% Define constants
% Cell temperature (deg C)
TaC = 25;
deltaD = .0035; % Step size for Duty Cycle change (.35%)
% Define variables with initial conditions
Rload = .2;
% Initial load (armature resistance of DC motor) (Ohms)
% Irradiance (1G = 1000W/m^2)
G = 0.028;
D = .10;
% Duty Cycle, D(k+1), (0.1 Min, O.6 Max)
D_k_1 = .10;
% Duty Cycle, D(k-1), (0.1 Min, O.6 Max)
% PV voltage, Va(k-1)
Va_k_1 = 0;
Pa_k_1 = 0;
% PV output power, Pa(k-1)
% Output voltage of Ck converter, Vo(k-1)
Vo_k_1 = 0;
Io_k_1 = 0;
% Output current of Ck converter, Io(k-1)
Po_k_1 = 0;
% Output power of Ck converter, Po(k-1)
% Volume of water pumped per sample
Volume = 0;
% Set up arrays storing data for plots
Va_array = [];
Ia_array = [];
Pa_array = [];
Vo_array = [];
Io_array = [];
Po_array = [];
D_array = [];
Rload_array = [];
%Pmax_array =[];
Volume_array =[];
% Load irradiance data
load irrad;
x = irrad(:,1)';
y = irrad(:,2)';
xi = 147.4e+3:190.6e+3;
yi = interp1(x,y,xi,'cubic');

%
%
%
%
%

Irradiance data of a sunny day


Read time data (second)
Read irradiance data
Set points for interpolation
Do cubic interpolation

% Take 43200 samples (12 hours)


for Sample = 1:43.2e+3
% Read irradiance value
G = yi(Sample);
% Read present value of duty cycle
D_k = D;
% Calculate input impedance of ideal Ck converter (Rin)
Rin = (1-D_k)^2/D_k^2 * Rload;
% Locate the operating point of PV module and
% calculate its voltage, current, and power
f = @(x) x - Rin*bp_sx150s(x,G,TaC);
Va_k = fzero (f, [0, 45]);
Ia_k = bp_sx150s(Va_k,G,TaC);
Pa_k = Va_k * Ia_k;
% Measure the outputs for ideal Ck converter
Vo_k = D_k/(1-D_k) * Va_k;
Io_k = (1-D_k)/D_k * Ia_k;
% Calculate new Po and deltaPo
Po_k = Vo_k * Io_k;
deltaPo = Po_k - Po_k_1;
% Output voltage and current protection (30V/5A Max)

94

if (Vo_k > 30.6) | (Io_k > 5.1) % '2%' margin added


if deltaPo >= 0
if D_k > D_k_1
D = D_k - deltaD; % Decrease duty cycle
else
D = D_k + deltaD; % Increase duty cycle
end
else
if D_k > D_k_1
D = D_k + deltaD; % Increase duty cycle
else
D_k = D_k - deltaD; % Decrease duty cycle
end
end
elseif (Vo_k > 30) | (Io_k > 5)
D = D_k; % No change
elseif D_k < .1
D = .1; % Set minimum duty cycle
elseif D_k > .6
D = .6; % Set maximum duty cycle
else
% P&O Algorithm starts here
if deltaPo > 0
if D_k > D_k_1
D = D_k + deltaD; % Increase duty cycle
else
D = D_k - deltaD; % Decrease duty cycle
end
elseif deltaPo < 0
if D_k > D_k_1
D = D_k - deltaD; % Decrease duty cycle
else
D = D_k + deltaD; % Increase duty cycle
end
else
D = D_k; % No change
end
end
% Update history
Va_k_1 = Va_k;
Ia_k_1 = Ia_k;
Pa_k_1 = Pa_k;
Vo_k_1 = Vo_k;
Io_k_1 = Io_k;
Po_k_1 = Po_k;
D_k_1 = D_k;
% Calculate theoretical max
%[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
% Calculate volume water pumped (90% efficiency converter)
if (.9*Po_k) > 35
Volume = 13/(60*150)*(.9*Po_k); % Volume of water pumped (L/sec)
else Volume =0;
end
% Store data in arrays for plots
Va_array = [Va_array Va_k];
Ia_array = [Ia_array Ia_k];
Pa_array = [Pa_array Pa_k];
Vo_array = [Vo_array Vo_k];
Io_array = [Io_array Io_k];

95

Po_array = [Po_array Po_k];


D_array = [D_array D_k];
Rload_array = [Rload_array Rload];
%Pmax_array = [Pmax_array Pa_max];
Volume_array = [Volume_array Volume];
% Variable load that mimics DC motor
if (Sample > 160)
Rload = 9.5e-005*Vo_k^3 - 0.0087*Vo_k^2 + 0.37*Vo_k + 0.2;
end
% Goto next sample
end
% Total electric energy (Wh): theoretical and actual
%Pth = sum(Pmax_array)/3600;
Pact = sum(Po_array)/3600;
% Volume of water pumped (L/day)
TotalVolume = sum(Volume_array);
% Functions to plot
figure(1)
plot (Va_array, Pa_array, 'g')
% 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('(a) PV Power vs. Voltage')
xlabel('Module Voltage (V)')
ylabel('Module Output Power (W)')
axis([0 50 0 160])
hold off
figure(2)
plot (Va_array, Ia_array, 'g')
% Overlay with I-V curves and MPP
hold on
for G=.2:.2:1
Ia = bp_sx150s(Va, G, TaC);
plot(Va, Ia)
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
plot(Vmp, Imp, 'r*')
end
title('(b) PV Current vs. Voltage')
xlabel('Module Voltage (V)')
ylabel('Module Current(A)')
axis([0 50 0 5])
hold off
figure(3)
plot (D_array, Po_array, 'b')

96

title('(c) Output Power vs. Duty Cycle')


xlabel('Duty Cycle')
ylabel('Output Power (W)')
axis([0 1 0 160])
figure(4)
plot (Vo_array, Io_array, 'g.')
title('(d) Output Current vs. Voltage')
xlabel('Output Voltage (V)')
ylabel('Output Current (A)')
axis([0 30 0 6])
figure(5)
hold on
VolumeMin = Volume_array.*60;
sample = 1:43.2e+3;
Hour=sample./3600;
plot(Hour, VolumeMin)
xlabel('Hour')
ylabel('Flow Rate (L/min)')
axis([0 12 0 14])

A.1.8 MATLAB Script for MPPT Simulations with Direct-coupled DC Water Pump
This MATLAB script is to make comparative tests with PV water pumping system
which employs direct-coupling between PV and the pump motor in Section 4.6. The script
also calculates total energy output and total volume of water pump for a 12-hour period.
% directCoupledSystem:
% DC pump motor is direct-coupled with PV module
% (Variable load mimics DC pump motor)
% * Testing on a sunny day
%
% Written by Akihiro Oi: September 6, 2005
% Revised: September 9, 2005
%//////////////////////////////////////////////////////////
clear;
% Define constants
TaC = 25;
% Cell temperature (deg C)
% Define variables with initial conditions
Rload = .2;
% Initial load (armature resistance of DC motor)(Ohms)
G = 0.028;
% Irradiance (1G = 1000W/m^2)
% Set up arrays storing data for plots
Va_array = [];
Ia_array = [];
Pa_array = [];
Vo_array = [];
Io_array = [];
Po_array = [];
Rload_array = [];
Pmax_array =[];
Volume_array =[];

97

% Load irradiance data


load irrad;
x = irrad(:,1)';
y = irrad(:,2)';
xi = 147.4e+3:190.6e+3;
yi = interp1(x,y,xi,'cubic');

%
%
%
%
%

Irradiance data of a sunny day


Read time data (second)
Read irradiance data
Set points for interpolation
Do cubic interpolation

% Take 43200 samples (12 hours)


for Sample = 1:43.2e+3
% Read irradiance value
G = yi(Sample);
% Locate the operating point of PV module and
% calculate its voltage, current, and power
f = @(x) x - Rload*bp_sx150s(x,G,TaC);
Va_k = fzero (f, [0, 45]);
Ia_k = bp_sx150s(Va_k,G,TaC);
Pa_k = Va_k * Ia_k;
% Measure the outputs
Vo_k = Va_k;
Io_k = Ia_k;
Po_k = Pa_k;
% Calculate theoretical max
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
% Calculate volume water pumped
if Po_k >= 35
Volume = 13/(60*150)*Po_k; % Volume of water pumped (L/sec)
else Volume = 0;
end
% Store data in arrays for plots
Va_array = [Va_array Va_k];
Ia_array = [Ia_array Ia_k];
Pa_array = [Pa_array Pa_k];
Vo_array = [Vo_array Vo_k];
Io_array = [Io_array Io_k];
Po_array = [Po_array Po_k];
Rload_array = [Rload_array Rload];
Pmax_array = [Pmax_array Pa_max];
Volume_array = [Volume_array Volume];
% Variable load that mimics DC motor
if (Sample > 160)
Rload = 9.5e-005*Vo_k^3 - 0.0087*Vo_k^2 + 0.37*Vo_k + 0.2;
end
% Goto next sample
end
% Total electric energy (Wh): theoretical and actual
Pth = sum(Pmax_array)/3600;
Pact = sum(Po_array)/3600;
% Volume of water pumped (L/day)
TotalVolume = sum(Volume_array);
% Functions to plot

98

figure(1)
plot (Va_array, Pa_array, 'g')
% 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('(a)Direct-coupled System')
xlabel('Module Voltage (V)')
ylabel('Module Output Power (W)')
axis([0 50 0 160])
hold off
figure(2)
plot (Va_array, Ia_array, 'g')
% Overlay with I-V curves and MPP
hold on
for G=.2:.2:1
Ia = bp_sx150s(Va, G, TaC);
plot(Va, Ia)
[Pa_max, Imp, Vmp] = find_mpp(G, TaC);
plot(Vmp, Imp, 'r*')
end
title('(b) PV Current vs. Voltage')
xlabel('Module Voltage (V)')
ylabel('Module Current(A)')
axis([0 50 0 5])
hold off
figure(3)
plot (Vo_array, Io_array, 'g.')
title('(c) Output Current vs. Voltage')
xlabel('Output Voltage (V)')
ylabel('Output Current (A)')
axis([0 35 0 6])
figure(4)
hold on
VolumeMin = Volume_array.*60;
sample = 1:43.2e+3;
Hour=sample./3600;
plot(Hour, VolumeMin)
xlabel('Hour')
ylabel('Flow Rate (L/min)')
axis([0 12 0 14])

99

A.2 MPPT Simulations with Resistive Load


The direct control method (input sensing type), discussed in Section 3.6.2, is
implemented with both P&O algorithm and incCond algorithm. The results are very similar
to one in Section 4.4.

A.2.1 Direct Control Method with P&O Algorithm


(a) PV Power vs. Voltage

160

1000W/m

(b) PV Current vs. Voltage

end

1000W/m 2

4.5

140

end

4
800W/m2

100
600W/m 2

80

400W/m 2

60

800W/m2

3.5
Module Current(A)

Module Output Power (W)

120

3
600W/m2

2.5
2

400W/m2

1.5
40
1

200W/m 2
20
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(c) Module Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

end
140

end

Output Current (A)

Module Output Power (W)

120
100
80
60

3
Load Line

start

40
1

20
0

start

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

10

15
20
Output Voltage (V)

25

Figure A-1: MPPT Simulations with the direct control method (P&O algorithm)

100

30

35

A.2.2 Direct Control Method with incCond Algorithm


(a) PV Power vs. Voltage

160

1000W/m 2

(b) PV Current vs. Voltage

end

1000W/m 2

4.5

140

end

4
800W/m2

100
600W/m 2

80

400W/m 2

60

800W/m2

3.5
Module Current(A)

Module Output Power (W)

120

3
600W/m2

2.5
2

400W/m2

1.5
40
1

200W/m 2
20
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(c) Module Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

end
140

end

Output Current (A)

Module Output Power (W)

120
100
80
60

3
Load Line

start

40
1

20
0

start

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

10

15
20
Output Voltage (V)

25

Figure A-2: MPPT Simulations with the direct control method (incCond algorithm)

101

30

35

Appendix B
B.1 DSP Control
The power electronics lab located in the building 20, room 104, has a DSP Starter Kit
(DSK) for Texas Instruments (TI) TMS320F2812 DSP. This appendix provides introduction
of this DSP and the SIMULNK tool for implementation of DSP.

B.1.1 TMS320F2812 DSP


TI (dspvillage.ti.com) provides a wide range of DSPs for different applications.
TMS320F2812 is one of DSPs in the TMS320C28x fixed-point DSP family designed for
control applications.

It has the 32-bit digital controller core and offers 150MIPS of

performance which enables implementation of more complex algorithms and DC motor


drives including control of brushless motors. It has 16 channels of high resolution12-bit A/D
converters, thus it enables to control multiple devices with a single DSP.

B.1.2 SIMULNK and TI DSP


It takes a long process to learn implementation of DSP, and it is very challenging in
the beginning. MathWorks offers a tool called Embedded Target for the TI TMS320C2000
DSP Platform which facilitates implementation of DSP by integrating SIMULINK and
MATLAB with TI eZdsp DSP development kit [14]. MATLAB Version 7 (Release 14)
includes this tool. The tool allows designing a control system in SIMULINK and generates
C code for TI DSP from a SIMULIK model [14]. Please refer to [14] for more details.

102

B.1.3 Example
The following SIMULINK block diagram presents a simple example of implementing
control system in SIMULINK using the Blockset for TI DSP. As shown in Figure B-1, the
system consists of the following blocks: C28x ADC, a gain, C28x PWM, and F2812 eZdsp.
Another set of block diagram located below is to emulate this system. The analog voltage
(0.39V) is input to the A/D converter. The PWM generator is also emulated, and the gain is
included in the sub-block. Figure B-2 shows the input voltage (0.39V) and the PWM output
shown as duty cycle (10%). In practice, a control law comes in the place of gain block. It
could be SIMULINK blocks or an embedded MATLAB function.

C28x ADC

12.

C28x ADC

Gain1

W1 C28x PWM
C28x PWM

0.39

F2812 eZdsp

PWM Emulation

Analog Voltage

Subsystem
Pulse Width
Control

Duty Cycle
(%)

Info

Figure B-1: A simple example of generating PWM from the voltage input

Figure B-2: Plots of the input voltage and the PWM output shown as duty cycle

103

You might also like