SlideShare a Scribd company logo
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 MASTER’S 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

v
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 Cúk and SEPIC Converters ................................................................................................ 32
3.3.3 Basic Operation of Cúk 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 Cúk 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 Cúk Converter ........................................................... 55
Table 4-2: Cúk 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 Cúk converter ......................................................... 34
Figure 3-7: Circuit diagram of the basic SEPIC converter ..................................................... 34
Figure 3-8: Basic Cúk converter when the switch is ON........................................................ 35
Figure 3-9: Basic Cúk 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 Cúk converter and its duty cycle ........ 49
Figure 3-20: Output power of Cúk 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 Cúk 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

x
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

1
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.

2
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

3
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.

4
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,

5
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

6
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

7
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
master’s theses written about PV systems in the CSU system. The first attempt to study

8
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.

9
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 Kirchoff’s 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 Shockley’s 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.602×10-19 C),
Vd is the voltage across the diode (V),
k is the Boltzmann’s constant (1.381×10-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 =

I

(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

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

Rp

n=2

V

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

q

V + I ⋅ Rs
kT

−1 − I o2 e

q

V + I ⋅ Rs
2 kT

−1 −

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

q

V + I ⋅ Rs
nkT

−1 −

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

0

5

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

D

V

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

q

V + I ⋅ Rs
nkT

−1

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 =

I

(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

T
⋅
Tref

3
n

⋅e

− q⋅ E g 1 1
−
n⋅k 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

0

5

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

q

V + I ⋅ Rs
nkT

−1

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

q

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

2

Rs=10 mOhm

1.5

Rs=15 mOhm

1
0.5
0

0

5

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 Newton’s
method is chosen for rapid convergence of the answer [27]. The Newton’s 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

q

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

q

V + I n ⋅ Rs
nkT

q ⋅ Rs
e
nkT

q

−1

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 manufacturer’s 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.

5

Isc = 4.75A

P3 = 94.9W

P1 = 150.0W

4.5
Impp = 4.35A

4

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

5

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

7

Pmax
140

6

120

Module Current (A)

Isc
5

100

4

Impp

80

MPP

3

60

2

40

1
0

Vmpp
0

5

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)

8
Chapter 3 Maximum Power Point Tracker
3.1 Introduction
When a PV module is directly coupled to a load, the PV module’s operating point
will be at the intersection of its I–V 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 module’s 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 module’s 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

I

V

R

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

27
5

*

4.5
R=4 Ohms

4

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

0

5

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

I

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, Cúk, 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk converter can provide a better output current

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

33
Figure 3-6: Circuit diagram of the basic Cúk converter

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

3.3.3 Basic Operation of Cúk Converter
The basic operation of Cúk converter in continuous conduction mode is explained
here. In steady state, the average inductor voltages are zero, thus by applying Kirchoff’s
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 Cúk 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 Cúk 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) Cúk
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 I–V plane is not known beforehand and always
changes dynamically depending on irradiance and temperature. For example, Figure 3-11
shows a set of PV I–V curves under increasing irradiance at the constant temperature (25oC),
and Figure 3-12 shows the I–V 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.

5

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

5

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
5

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

5

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 module’s 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

*

*

B

60
40
20
0

0

5

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

 §£¢


C

*

 §£¢
 

G

*

F

 
¦

500W/m2
B

*

 
¦

Module Output Power (W)

 
¦¥¤¢

750W/m2

E

 §

250W/m2
A

 
¦¥
 
¦¡

¡
©

 
§

¡
©¨

 
§¨

¡
§¥

 
¦¥

¡
¤¢

 
£¢

¡

 

 

Module Voltage (V)

Figure 3-15: Erratic behavior of the PO algorithm under rapidly increasing irradiance

The advent of digital controller made implementation of algorithm easy; as a result
many variations of the PO 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 PO
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 module’s 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 controller’s 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 (PO, 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
Cúk 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 Cúk 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 (PO, incCond, or variations of two) makes the decision how to move the
operating voltage.
5

*

4.5
R=4 Ohms

4

R=7.93 Ohms

*

MPP

Module Current (A)

3.5
3
2.5

Slope=1/R

*

R=16 Ohms

2

Increasing D
1.5

Increasing Rin

1
0.5
0

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

Figure 3-19: Relationship of the input impedance of Cúk 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 module’s 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) Cúk 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

0.1

0.2

0.3

0.4

0.5
0.6
Duty Cycle

0.7

0.8

0.9

1

Figure 3-20: Output power of Cúk 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 PO algorithm to locate the MPP.
Figure 3-21 shows the flowchart of algorithm. In order to accommodate duty cycle as a
control variable, the PO 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 PO algorithm and its
variations, and it does not work with the incCond algorithm.

Figure 3-21: Flowchart of PO 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 Cúk 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, it’s 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 converter’s
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 Cúk

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
PO 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 Cúk Converter Design
The basic operation of Cúk Converter and derivation of the voltage transfer function
is explained in Section 3.3.3. Here, a Cúk 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 Cúk 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

2

(4.9)

Solving the above equation for C2 gives:

C2 =

1− D
8 ⋅ ( ∆v o Vo ) ⋅ L 2 ⋅ f

2

=

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 Cúk 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.

1

C1

L1

2

2

1.5mH

34.5Vdc

Vpwm

La
1

2

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 Cúk 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: Cúk 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 Cúk 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 PO and incCond Algorithm
The two MPPT algorithms, PO 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

0

5

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

1

Irradiance (KW/m2)

0.8

0.6

0.4

0.2

0

0

2

4

6
Hour (h)

8

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) PO 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

2

40

100
600W/m2

80

400W/m2

60
40

200W/m2

200W/m2

20
0

20

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

0

0

5

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) PO 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 PO
algorithm under rapidly changing atmospheric conditions [11]. A close inspection of Figure
4-7 reveals that the PO 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) PO 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

0

5

10

15

20
25
30
Module Voltage (V)

200W/m2

20

35

40

45

50

0

0

5

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

PO Algorithm
479.64Wh
480.38Wh
99.85%

incCond Algorithm
479.69Wh
480.38Wh
99.86%

Table 4-3: Comparison of the PO and incCond algorithms on a cloudy day

Total electric energy produced with the incCond algorithm is narrowly larger than
that of the PO 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 PO 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 PO algorithm provides satisfactory
results even in the cloudy condition. The selection of the PO 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 PO
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 Cúk 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 Cúk 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 Cúk 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.


#

'

$%



!
#
( #!
) *+
)*

,

!

!
) *

-

!

.
!

+!

/ #

+

0

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

5

end

2

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

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

0

50

(c) Output Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

6

end
140

end

5

Output Current (A)

Output Power (W)

120
100
80
60

4

3
Load Line

2

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

1

0

0

5

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

2

100

end

600W/m 2

80

Output Current (A)

120
Module Output Power (W)

(b) Output Current vs. Voltage

6

2

400W/m 2

60

4
end
3

2

40
200W/m 2

start

1

20
start
0

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

0

0

5

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 PO 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
-

m

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

5

end

2

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

1

200W/m 2

start

200W/m2

0.5
0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

0

50

(c) Output Power vs. Duty Cycle

160

start
0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

6

end
140

end

5

Output Current (A)

Output Power (W)

120
100
80
60

4

3

2

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

1

0

0

5

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/W·min. 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

8

6

4

2

0

0

1

2

3

4

5

6
Hour

7

8

9

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
PO 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 PO 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 Cúk 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 Cúk 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
world’s 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 master’s thesis research.

80
Bibliography
[1]

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

[2]

Castañer, 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 Master’s Thesis, California
Polytechnic State University, Pomona, 1990

[5]

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

[6]

Enslin, John H., Mario S. Wolf, Daniël 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® User’s 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;

% Boltzmann’s 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: PO Algorithm
This MATLAB script is to test the PO 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 PO 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;
% PO 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('PO 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 PO
algorithm in Section 4.4. The load is a resistive load (6 )
% po_dutyCycle2Test2:
% Script file to test output sensing direct control method
% PO 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 Cúk converter, Vo(k-1)
% Output current of Cúk converter, Io(k-1)
% Output power of Cúk 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 Cúk 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 Cúk 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
% PO 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
PO 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 PO 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 Cúk converter, Vo(k-1)
Vo_k_1 = 0;
Io_k_1 = 0;
% Output current of Cúk converter, Io(k-1)
Po_k_1 = 0;
% Output power of Cúk 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 Cúk 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 Cúk 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
% PO 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 PO algorithm and incCond algorithm. The results are very similar
to one in Section 4.4.

A.2.1 Direct Control Method with PO Algorithm
(a) PV Power vs. Voltage

160

1000W/m

2

(b) PV Current vs. Voltage

5

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

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

0

50

(c) Module Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

6

end
140

end

5

Output Current (A)

Module Output Power (W)

120
100
80
60

4

3
Load Line

2

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

1

0

0

5

10

15
20
Output Voltage (V)

25

Figure A-1: MPPT Simulations with the direct control method (PO 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

5

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

0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

0

50

(c) Module Power vs. Duty Cycle

160

200W/m2

0.5

start

start
0

5

10

15

20
25
30
Module Voltage (V)

35

40

45

50

(d) Output Current vs. Voltage

6

end
140

end

5

Output Current (A)

Module Output Power (W)

120
100
80
60

4

3
Load Line

2

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

1

0

0

5

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

W1 C28x PWM

Gain1

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

More Related Content

PDF
Training manual for engineers on solar pv system
PDF
Simulation of photovoltaic system connected with full bridge inverter using m...
PDF
Solar thesis paper
PDF
Maximum power point tracking of pv arrays under partial shading condition usi...
PDF
Standalone photovoltaic array fed induction motor driven water pumping system
PPTX
Dynamic modeling of photovoltaic (PV) fed water pumping system for Bangladesh
PPTX
Intelligent Grid Interfaced Solar Water Pumping-1.pptx
PDF
Standalone Photovoltaic Water Pumping System Using Induction Motor Drive with...
Training manual for engineers on solar pv system
Simulation of photovoltaic system connected with full bridge inverter using m...
Solar thesis paper
Maximum power point tracking of pv arrays under partial shading condition usi...
Standalone photovoltaic array fed induction motor driven water pumping system
Dynamic modeling of photovoltaic (PV) fed water pumping system for Bangladesh
Intelligent Grid Interfaced Solar Water Pumping-1.pptx
Standalone Photovoltaic Water Pumping System Using Induction Motor Drive with...

Similar to Ao thesis (20)

PDF
Pvg based smart energy modelling for agricultural sector
PDF
Study and comparison results of the field oriented control for photovoltaic w...
PDF
[1] a control of stand alone photovoltaic water
PDF
Comparison of PV panels MPPT techniques applied to solar water pumping system
PDF
Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...
PDF
A Major Project Report On MPPT BASED BATTERY CHARGING USING SOLAR ENERGY
PDF
Major Project report "MPPT BASED BATTERY CHARGING USING SOLAR ENERGY" (or) so...
PDF
Grid interactive solar pv based water pumping using bldc motor drive
PDF
Reduced Sensor Based PV Array Fed Direct Torque Control Induction Motor Drive...
PDF
Adaptive backstepping control of induction motor powered by photovoltaic gene...
PDF
Monitoring of Solar Water Pumping System
PPTX
Solar system
PDF
FINAL REPORT
PPTX
INTELLIGENT GRID INTERFACED SOLAR WATER PUMPING SYSTEM ppt.pptx
PDF
Technical and Financial Analysis of Photovoltaic Water Pumping System for GOR...
PDF
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
PDF
Implementation Of A High-Efficiency, High-Lifetime, And Low-Cost Converter Us...
PDF
Active and Reactive Power Control for PV based Water Pumping System
PPTX
Design of Solar Powered PMDC Motor Drive For Agriculture Purpose (1).pptx
PDF
DESIGN AND DEVELOPMENT OF SOLAR CHARGE CONTROLLER WITH SUN TRACKING
Pvg based smart energy modelling for agricultural sector
Study and comparison results of the field oriented control for photovoltaic w...
[1] a control of stand alone photovoltaic water
Comparison of PV panels MPPT techniques applied to solar water pumping system
Modeling and Simulation of Cascaded Multilevel Inverter fed PMSM Drive with P...
A Major Project Report On MPPT BASED BATTERY CHARGING USING SOLAR ENERGY
Major Project report "MPPT BASED BATTERY CHARGING USING SOLAR ENERGY" (or) so...
Grid interactive solar pv based water pumping using bldc motor drive
Reduced Sensor Based PV Array Fed Direct Torque Control Induction Motor Drive...
Adaptive backstepping control of induction motor powered by photovoltaic gene...
Monitoring of Solar Water Pumping System
Solar system
FINAL REPORT
INTELLIGENT GRID INTERFACED SOLAR WATER PUMPING SYSTEM ppt.pptx
Technical and Financial Analysis of Photovoltaic Water Pumping System for GOR...
Comprehensive review on solar, wind and hybrid wind pv water pumping systems-...
Implementation Of A High-Efficiency, High-Lifetime, And Low-Cost Converter Us...
Active and Reactive Power Control for PV based Water Pumping System
Design of Solar Powered PMDC Motor Drive For Agriculture Purpose (1).pptx
DESIGN AND DEVELOPMENT OF SOLAR CHARGE CONTROLLER WITH SUN TRACKING
Ad

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
1 - Historical Antecedents, Social Consideration.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
Mushroom cultivation and it's methods.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Encapsulation theory and applications.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Approach and Philosophy of On baking technology
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
1 - Historical Antecedents, Social Consideration.pdf
TLE Review Electricity (Electricity).pptx
Heart disease approach using modified random forest and particle swarm optimi...
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A comparative study of natural language inference in Swahili using monolingua...
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Tartificialntelligence_presentation.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Univ-Connecticut-ChatGPT-Presentaion.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
NewMind AI Weekly Chronicles - August'25-Week II
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Mushroom cultivation and it's methods.pdf
Hindi spoken digit analysis for native and non-native speakers
Encapsulation theory and applications.pdf
A Presentation on Artificial Intelligence
Approach and Philosophy of On baking technology
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Ad

Ao thesis

  • 1. 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
  • 2. AUTHORIZATION FOR REPRODUCTION OF MASTER’S 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
  • 3. 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
  • 4. 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
  • 5. 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 v
  • 6. 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 Cúk and SEPIC Converters ................................................................................................ 32 3.3.3 Basic Operation of Cúk 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 Cúk 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
  • 7. 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
  • 8. 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 Cúk Converter ........................................................... 55 Table 4-2: Cúk 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
  • 9. 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 Cúk converter ......................................................... 34 Figure 3-7: Circuit diagram of the basic SEPIC converter ..................................................... 34 Figure 3-8: Basic Cúk converter when the switch is ON........................................................ 35 Figure 3-9: Basic Cúk 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 Cúk converter and its duty cycle ........ 49 Figure 3-20: Output power of Cúk 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 Cúk 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
  • 10. 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 x
  • 11. 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 1
  • 12. 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. 2
  • 13. 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 3
  • 14. 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. 4
  • 15. 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, 5
  • 16. 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 6
  • 17. 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 7
  • 18. 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 master’s theses written about PV systems in the CSU system. The first attempt to study 8
  • 19. 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. 9
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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 Kirchoff’s 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 Shockley’s 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.602×10-19 C), Vd is the voltage across the diode (V), k is the Boltzmann’s constant (1.381×10-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)
  • 24. 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 = I (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
  • 25. 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 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
  • 26. 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 Rp n=2 V 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 q V + I ⋅ Rs kT −1 − I o2 e q V + I ⋅ Rs 2 kT −1 − 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 q V + I ⋅ Rs nkT −1 − 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
  • 27. 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 0 5 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
  • 28. 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
  • 29. 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 D V 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 q V + I ⋅ Rs nkT −1 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)
  • 30. 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 = I (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 T ⋅ Tref 3 n ⋅e − q⋅ E g 1 1 − n⋅k 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
  • 31. 5 n=1 4.5 4 n=2 Module Current (A) 3.5 3 2.5 2 1.5 1 0.5 0 0 5 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 q V + I ⋅ Rs nkT −1 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 q V + I ⋅ Rs nkT 21 (2.17)
  • 32. 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 2 Rs=10 mOhm 1.5 Rs=15 mOhm 1 0.5 0 0 5 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
  • 33. model. Although it may be possible to find the answer by simple iterations, the Newton’s method is chosen for rapid convergence of the answer [27]. The Newton’s 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 q 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 q V + I n ⋅ Rs nkT q ⋅ Rs e nkT q −1 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 manufacturer’s datasheet [1]. After some trials with various diode ideality factors, the MATLAB model chooses the value 23
  • 34. 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
  • 35. 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. 5 Isc = 4.75A P3 = 94.9W P1 = 150.0W 4.5 Impp = 4.35A 4 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 5 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
  • 36. 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 7 Pmax 140 6 120 Module Current (A) Isc 5 100 4 Impp 80 MPP 3 60 2 40 1 0 Vmpp 0 5 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) 8
  • 37. Chapter 3 Maximum Power Point Tracker 3.1 Introduction When a PV module is directly coupled to a load, the PV module’s operating point will be at the intersection of its I–V 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 module’s 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 module’s 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 I V R Figure 3-1: PV module is directly connected to a (variable) resistive load 27
  • 38. 5 * 4.5 R=4 Ohms 4 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 0 5 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)
  • 39. The back emf is E=K· where: K is the constant, and is the angular speed of rotor in rad/sec. Ra + PV I 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
  • 40. 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
  • 41. 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
  • 42. 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, Cúk, 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 Cúk 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
  • 43. 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk 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 Cúk converter can provide a better output current characteristic due to the inductor on the output stage. Therefore, the thesis decides on the Cúk converter because of the good input and output current characteristics. 33
  • 44. Figure 3-6: Circuit diagram of the basic Cúk converter Figure 3-7: Circuit diagram of the basic SEPIC converter 3.3.3 Basic Operation of Cúk Converter The basic operation of Cúk converter in continuous conduction mode is explained here. In steady state, the average inductor voltages are zero, thus by applying Kirchoff’s 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
  • 45. Mode 1: When SW turns ON, the circuit becomes one shown in Figure 3-8. Figure 3-8: Basic Cúk 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 Cúk 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
  • 46. 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
  • 47. 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) Cúk 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)
  • 48. 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 I–V plane is not known beforehand and always changes dynamically depending on irradiance and temperature. For example, Figure 3-11 shows a set of PV I–V curves under increasing irradiance at the constant temperature (25oC), and Figure 3-12 shows the I–V 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
  • 49. 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. 5 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 5 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
  • 50. 5 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 5 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 module’s 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
  • 51. 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 * * B 60 40 20 0 0 5 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
  • 52. 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
  • 53.   ¦¤¢ 1000W/m2 D  §£¢ C *  §£¢   G * F   ¦ 500W/m2 B *   ¦ Module Output Power (W)   ¦¥¤¢ 750W/m2 E  § 250W/m2 A   ¦¥   ¦¡ ¡ ©   § ¡ ©¨   §¨ ¡ §¥   ¦¥ ¡ ¤¢   £¢ ¡     Module Voltage (V) Figure 3-15: Erratic behavior of the PO algorithm under rapidly increasing irradiance The advent of digital controller made implementation of algorithm easy; as a result many variations of the PO 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
  • 54. 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 PO 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 module’s 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)
  • 55. 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
  • 56. 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
  • 57. 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 controller’s 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 (PO, 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
  • 58. 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
  • 59. The impedance seen by PV is the input impedance of converter. Using the example of the Cúk 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 Cúk 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 (PO, incCond, or variations of two) makes the decision how to move the operating voltage. 5 * 4.5 R=4 Ohms 4 R=7.93 Ohms * MPP Module Current (A) 3.5 3 2.5 Slope=1/R * R=16 Ohms 2 Increasing D 1.5 Increasing Rin 1 0.5 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 Figure 3-19: Relationship of the input impedance of Cúk 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
  • 60. 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 module’s 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) Cúk 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
  • 61. 160 140 Output Power (W) 120 100 80 60 40 20 0 0 0.1 0.2 0.3 0.4 0.5 0.6 Duty Cycle 0.7 0.8 0.9 1 Figure 3-20: Output power of Cúk 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 PO algorithm to locate the MPP. Figure 3-21 shows the flowchart of algorithm. In order to accommodate duty cycle as a control variable, the PO 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
  • 62. non-ideal converters. Also, this control method only works with the PO algorithm and its variations, and it does not work with the incCond algorithm. Figure 3-21: Flowchart of PO 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)
  • 63. The equation (3.17) for the Cúk 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
  • 64. From the above results, it’s 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 converter’s 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
  • 65. Chapter 4 Design and Simulations 4.1 Introduction This chapter provides the design and simulations of MPPT. It discusses Cúk 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 PO 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 Cúk Converter Design The basic operation of Cúk Converter and derivation of the voltage transfer function is explained in Section 3.3.3. Here, a Cúk 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 Cúk Converter 55
  • 66. 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)
  • 67. 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 2 (4.9) Solving the above equation for C2 gives: C2 = 1− D 8 ⋅ ( ∆v o Vo ) ⋅ L 2 ⋅ f 2 = 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
  • 68. 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,
  • 69. 4.2.2 PSpice Simulations PSpice simulations validate the Cúk 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. 1 C1 L1 2 2 1.5mH 34.5Vdc Vpwm La 1 2 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 Cúk 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
  • 70. 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: Cúk 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
  • 71. 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 Cúk 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
  • 72. 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 PO and incCond Algorithm The two MPPT algorithms, PO 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 0 5 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
  • 73. 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 1 Irradiance (KW/m2) 0.8 0.6 0.4 0.2 0 0 2 4 6 Hour (h) 8 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
  • 74. (a) PO 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 2 40 100 600W/m2 80 400W/m2 60 40 200W/m2 200W/m2 20 0 20 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 0 0 5 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) PO 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 PO algorithm under rapidly changing atmospheric conditions [11]. A close inspection of Figure 4-7 reveals that the PO 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
  • 75. (a) PO 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 0 5 10 15 20 25 30 Module Voltage (V) 200W/m2 20 35 40 45 50 0 0 5 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 PO Algorithm 479.64Wh 480.38Wh 99.85% incCond Algorithm 479.69Wh 480.38Wh 99.86% Table 4-3: Comparison of the PO and incCond algorithms on a cloudy day Total electric energy produced with the incCond algorithm is narrowly larger than that of the PO 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
  • 76. the PO 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 PO algorithm provides satisfactory results even in the cloudy condition. The selection of the PO 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 PO 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 Cúk 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
  • 77. 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 Cúk 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 Cúk converter. 67
  • 78. 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. # ' $% ! # ( #! ) *+ )* , ! ! ) * - ! . ! +! / # + 0 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
  • 79. (a) PV Power vs. Voltage 160 1000W/m (b) PV Current vs. Voltage 5 end 2 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 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 0 50 (c) Output Power vs. Duty Cycle 160 200W/m2 0.5 start start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 (d) Output Current vs. Voltage 6 end 140 end 5 Output Current (A) Output Power (W) 120 100 80 60 4 3 Load Line 2 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 1 0 0 5 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
  • 80. 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 2 100 end 600W/m 2 80 Output Current (A) 120 Module Output Power (W) (b) Output Current vs. Voltage 6 2 400W/m 2 60 4 end 3 2 40 200W/m 2 start 1 20 start 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 0 0 5 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 PO 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
  • 81. 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
  • 82. Positive Displacement Pump (Constant Torque) 1.1 TL Signal 1 0-30V Ramp s - m 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
  • 83. 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
  • 84. (a) PV Power vs. Voltage 160 1000W/m (b) PV Current vs. Voltage 5 end 2 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 1 200W/m 2 start 200W/m2 0.5 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 0 50 (c) Output Power vs. Duty Cycle 160 start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 (d) Output Current vs. Voltage 6 end 140 end 5 Output Current (A) Output Power (W) 120 100 80 60 4 3 2 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 1 0 0 5 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
  • 85. 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
  • 86. 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/W·min. 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 8 6 4 2 0 0 1 2 3 4 5 6 Hour 7 8 9 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
  • 87. 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
  • 88. 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 PO 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 PO 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
  • 89. 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 Cúk 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 Cúk 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
  • 90. 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 world’s 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 master’s thesis research. 80
  • 91. Bibliography [1] BP Solar BP SX150 - 150W Multi-crystalline Photovoltaic Module Datasheet, 2001 [2] Castañer, 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 Master’s Thesis, California Polytechnic State University, Pomona, 1990 [5] Day, Christopher Alan The Design of an Efficient, Elegant, and Cubic Pico-Satellite Electronics System Master’s Thesis, California Polytechnic State University, San Luis Obispo, 2004 [6] Enslin, John H., Mario S. Wolf, Daniël 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
  • 92. [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® User’s 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
  • 93. [27] Walker, Geoff R. “Evaluating MPPT converter topologies using a MATLAB PV model” Australasian Universities Power Engineering Conference, AUPEC ‘00, Brisbane, 2000 83
  • 94. 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; % Boltzmann’s 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
  • 95. 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
  • 96. 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: PO Algorithm This MATLAB script is to test the PO 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 PO MPPT Algorithm % Testing with slowly changing irradiance % 86
  • 97. % 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; % PO 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
  • 98. 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('PO 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
  • 99. 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
  • 100. % 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 PO algorithm in Section 4.4. The load is a resistive load (6 ) % po_dutyCycle2Test2: % Script file to test output sensing direct control method % PO 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
  • 101. Vo_k_1 = 0; Io_k_1 = 0; Po_k_1 = 0; % Output voltage of Cúk converter, Vo(k-1) % Output current of Cúk converter, Io(k-1) % Output power of Cúk 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 Cúk 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 Cúk 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 % PO Algorithm starts here if deltaPo 0 if D_k D_k_1 D = D_k + deltaD; % Increase duty cycle 91
  • 102. 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
  • 103. 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 PO 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 PO 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
  • 104. % 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 Cúk converter, Vo(k-1) Vo_k_1 = 0; Io_k_1 = 0; % Output current of Cúk converter, Io(k-1) Po_k_1 = 0; % Output power of Cúk 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 Cúk 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 Cúk 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
  • 105. 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 % PO 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
  • 106. 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
  • 107. 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
  • 108. % 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
  • 109. 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
  • 110. A.2 MPPT Simulations with Resistive Load The direct control method (input sensing type), discussed in Section 3.6.2, is implemented with both PO algorithm and incCond algorithm. The results are very similar to one in Section 4.4. A.2.1 Direct Control Method with PO Algorithm (a) PV Power vs. Voltage 160 1000W/m 2 (b) PV Current vs. Voltage 5 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 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 0 50 (c) Module Power vs. Duty Cycle 160 200W/m2 0.5 start start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 (d) Output Current vs. Voltage 6 end 140 end 5 Output Current (A) Module Output Power (W) 120 100 80 60 4 3 Load Line 2 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 1 0 0 5 10 15 20 Output Voltage (V) 25 Figure A-1: MPPT Simulations with the direct control method (PO algorithm) 100 30 35
  • 111. A.2.2 Direct Control Method with incCond Algorithm (a) PV Power vs. Voltage 160 1000W/m 2 (b) PV Current vs. Voltage 5 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 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 0 50 (c) Module Power vs. Duty Cycle 160 200W/m2 0.5 start start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 (d) Output Current vs. Voltage 6 end 140 end 5 Output Current (A) Module Output Power (W) 120 100 80 60 4 3 Load Line 2 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 1 0 0 5 10 15 20 Output Voltage (V) 25 Figure A-2: MPPT Simulations with the direct control method (incCond algorithm) 101 30 35
  • 112. 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
  • 113. 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 W1 C28x PWM Gain1 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