You are on page 1of 113

DESIGN AND SIMULATION OF PHOTOVOLTAIC WATER PUMPING SYSTEM

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

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

by Akihiro Oi September 2005

AUTHORIZATION FOR REPRODUCTION OF MASTERS THESIS


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

Signature (Akihiro Oi)

Date

ii

APPROVAL
Title: DESIGN AND SIMULATION OF PHOTOVOLTAIC WATER PUMPING SYSTEM Author: Date Submitted: Akihiro Oi 26th September, 2005

Dr. Taufik Committee Chair

Signature

Dr. Ahmad Nafisi Committee Member

Signature

Dr. William Ahlgren Committee Member

Signature

iii

ABSTRACT
DESIGN AND SIMULATION OF PHOTOVOLTAIC WATER PUMPING SYSTEM Akihiro Oi

This thesis deals with the design and simulation of a simple but efficient photovoltaic water pumping system. It provides theoretical studies of photovoltaics and modeling

techniques using equivalent electric circuits. The system employs the maximum power point tracker (MPPT). The investigation includes discussion of various MPPT algorithms and control methods. PSpice simulations verify the DC-DC converter design. MATLAB

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

iv

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

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

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

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


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

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

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

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

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

2.3.1 The Simplest Model............................................................................................................ 12 2.3.2 The More Accurate Model.................................................................................................. 15

3.4 Mechanism of Load Matching ...................................................................................... 37 3.5 Maximum Power Point Tracking Algorithms............................................................... 38 3.6 Control of MPPT........................................................................................................... 47

3.3.1 Topologies .......................................................................................................................... 31 3.3.2 Ck and SEPIC Converters ................................................................................................ 32 3.3.3 Basic Operation of Ck Converter...................................................................................... 34 3.5.1 Perturb & Observe Algorithm............................................................................................. 40 3.5.2 Incremental Conductance Algorithm.................................................................................. 44 3.6.1 PI Control............................................................................................................................ 47 3.6.2 Direct Control ..................................................................................................................... 48 3.6.3 Output Sensing Direct Control ........................................................................................... 50

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


4.1 Introduction................................................................................................................... 55 4.2 Ck Converter Design................................................................................................... 55
4.2.1 Component Selection.......................................................................................................... 56 4.2.2 PSpice Simulations ............................................................................................................. 59 4.2.3 Choice of MPPT Sampling Rate......................................................................................... 61

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

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

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

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

4.5.1 Modeling of DC Water Pump............................................................................................. 71 4.5.2 MATLAB Simulation Results ............................................................................................ 73

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.1 Direct Control Method with P&O Algorithm.................................................................. 100 A.2.2 Direct Control Method with incCond Algorithm............................................................. 101

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

Appendix B .......................................................................................................102
B.1 DSP Control ............................................................................................................... 102
B.1.1 TMS320F2812 DSP......................................................................................................... 102 B.1.2 SIMULNK and TI DSP.................................................................................................... 102 B.1.3 Example ........................................................................................................................... 103

vii

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

viii

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

ix

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

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

1.1 Water Pumping Systems and Photovoltaic Power


A water pumping system needs a source of power to operate. In general, AC

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

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

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

System Type PV Powered System

Diesel (or Gas) Powered System

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

Windmill

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

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

1.2 Energy Storage Alternatives


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

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

1.3 The Proposed System


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

PV Module [1]

DC Water Pump [13]

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

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

1.3.2 Maximum Power Point Tracker


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

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

1.3.3 MPPT Controller


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

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

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

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

1.3.4 Water Pump


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

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

1.4 Background and Scope of This Thesis


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

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

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

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

Chapter 2 Photovoltaic Modules


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

2.2 Photovoltaic Cell


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

10

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

Figure 2-1: Illustration of the p-n junction of PV cell [16] Showing hole-electron pairs created by photons

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

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

11

2.3 Modeling a PV Cell


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

2.3.1 The Simplest Model


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

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

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

12

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

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

I = I sc I d

(2.1)

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

I d = I o (e qVd / kT 1)
where: Io is the reverse saturation current of diode (A), q is the electron charge (1.60210-19 C), Vd is the voltage across the diode (V), k is the Boltzmanns constant (1.38110-23 J/K), T is the junction temperature in Kelvin (K).

(2.2)

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.

(2.3)

13

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) (2.5) (2.6)

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

(e

1)

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 4.5 4 3.5 Cell Current (A) 3 2.5 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 Half Sun (500W/m2) Full Sun (1000W/m2)

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]. This can be

15

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
n=1

D2
n=2

Rp

Load

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

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

I = I sc I o1 e

V + I Rs kT

1 I o2 e

V + I Rs 2 kT

V + I Rs Rp

(2.8)

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

I = I sc I o e

V + I Rs nkT

V + I Rs Rp

(2.9)

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

16

2.4 Photovoltaic Module


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

0.6V for each cell

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

17

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

2.5 Modeling a PV Module by MATLAB


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

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

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

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

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

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

18

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

Isc

Load

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

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

in the

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

I = I sc I o e

V + I Rs nkT

(2.10)

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

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 =
sc qVoc / nkT

(e

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].
T Tref
3 n q E g 1 1 nk T Tref

I o |T = I o |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 4.5 4 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 n=2 n=1

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

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

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

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

I = I sc I o e

V + I Rs nkT

1
V + I Rs nkT

(2.15)

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

(2.16)

Rs =

dI dV

nkT q Io e
q V + I Rs nkT

(2.17)

21

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

nkT q Io e
qVoc nkT

(2.18)

where:

dV dI

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 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 Rs=0

Rs=5 mOhm Rs=10 mOhm Rs=15 mOhm

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

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

22

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

x n +1 = x n

f (xn ) f ( x n )

(2.19)

where: f (x ) is the derivative of the function, f ( x ) = 0 , x n is a present value, and x n +1 is a next value. Rewriting the equation (2.10) gives the following function:

f ( I ) = I sc I I o e

V + I Rs nkT

1 = 0

(2.20)

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

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

V + I n Rs nkT

1 (2.21)

q Rs e nkT

V + I n Rs nkT

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

23

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

750C

250C 0 50 C

O 0C

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

24

2.6 The I-V Curve and Maximum Power Point


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

5 4.5 4 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0

Isc = 4.75A

P3 = 94.9W

P1 = 150.0W

Impp = 4.35A Maximum Power Point (MPP) P2 = 108.2W

Vmpp = 34.5V 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.
8 7 6 Isc Module Current (A) 5 4 3 2 1 0 100 80 60 40 20 0 45 160 Pmax 140 120 Module Output Power (W)

Impp

MPP

Vmpp 0 5 10 15 20 25 30 Module Voltage (V) 35

Voc 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

Chapter 3 Maximum Power Point Tracker


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

+ PV
V

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

27

5 4.5 4 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0 5 10 Slope=1/R R=16 Ohms R=4 Ohms

*
R=7.93 Ohms

MPP

Increasing R

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. (3.1)

28

The back emf is E=K rad/sec.

where: K is the constant, and

is the angular speed of rotor in

Ra + PV

I V
-

E=Kw

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

1000W/m2

DC Motor I-V Curve

Slope = 1/Ra
800W/m2

Current

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 800W/m2 Iso-power line

600W/m2 Current

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. 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 They are

31

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

3.3.2 Ck and SEPIC Converters


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

32

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

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

33

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

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

3.3.3 Basic Operation of Ck Converter


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

(3.2)

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

34

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

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

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

(3.3)

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

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

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

(3.4)

35

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

[I

C 1 SW ON

] DT + [I

C 1 SW OFF

] (1 D )T = 0

(3.5)
(3.6) (3.7)

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

I L1 D = I L2 1 D
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 V s I L1 = V o I L 2 (3.8) (3.9) (3.10)

I L1 Vo = I L 2 Vs

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

Vo D = Vs 1 D
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.

(3.11)

36

3.4 Mechanism of Load Matching


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

(3.12)

where: Vo is the output voltage, and Io is the output current. The optimal load for PV is described as:
Ropt = V MPP I MPP

(3.13)

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

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

1 D Vo D

(3.14)

From the equation (3.10),

Is V I = L1 = o I o I L 2 Vs
From the equation (3.14) and (3.15),

(3.15)

Is =

D Io 1 D

(3.16)

37

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 Figure 3-10: The impedance seen by PV is Rin that is adjustable by duty cycle (D)

Rin

DC-DC Conv

Rload

3.5 Maximum Power Point Tracking Algorithms


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

38

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

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

5 4.5 4 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0 5

1000W/m2

Maximum Power Point

750W/m2

500W/m2

250W/m2

50W/m2 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 4.5 4 3.5 Module Current (A) 3 2.5 2 1.5 1 0.5 0 0 5

1000W/m2

Maximum Power Point

750W/m2

500W/m2

250W/m2

50W/m2 10 15 20 25 30 Module Voltage (V) 35 40 45 50

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

3.5.1 Perturb & Observe Algorithm


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

40

operating point has moved away from the MPP, and the direction of perturbation should be reversed to move back toward the MPP. Figure 3-14 shows the flowchart of this algorithm.
160 140 120 Module Output Power (W) 100 80 60 40 20 0 A MPP

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

Module Output Power (W)

Module Voltage (V)

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

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

V ref , new = Vref + C

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

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

43

 

1000W/m2 D

750W/m2 G F

  

*
E

500W/m2

*
A

250W/m2

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

3.5.2 Incremental Conductance Algorithm


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

(3.18)

(3.19)

(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

(3.21)

44

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


I +V dI =0 dV

(3.22)

dI I = dV V

(3.23)

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

(3.24)

dI I > dV V

(3.25)

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

(3.26)

dI I < dV V

(3.27)

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

45

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

dI I = dV V

dI I > dV V

Figure 3-16: Flowchart of the incCond algorithm

46

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

3.6 Control of MPPT


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

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

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

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

47

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

3.6.2 Direct Control


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

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

48

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

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

(3.28)

where: D is the duty cycle of the Ck converter. As shown in Figure 3-19, increasing D will decrease the input impedance (Rin), thus the PV operating voltage moves to the left. Similarly, decreasing D will increase Rin, thus the operating voltage moves to the right. The tracking algorithm (P&O, incCond, or variations of two) makes the decision how to move the operating voltage.
5 4.5 4 3.5 Module Current (A) 3 2.5 2 Slope=1/R R=16 Ohms R=4 Ohms

*
R=7.93 Ohms

MPP

Increasing D
1.5 1 0.5 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50

Increasing Rin

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

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

49

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

3.6.3 Output Sensing Direct Control


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

50

160 140 120 Output Power (W) 100 80 60 40 20 0

0.1

0.2

0.3

0.4

0.5 0.6 Duty Cycle

0.7

0.8

0.9

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

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

51

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

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

3.7 Limitations of MPPT


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

(3.29)

52

The equation (3.17) for the Ck converter is solved for duty cycle (D).
D= 1+ 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) PV module data are

The calculation results are tabulated in the tables below.

obtained from the MATLAB simulation model. Using the equations above, two sets of data are collected for the resistive load of 6 PV Module IMPP 4.35A 3.48A 2.61A 1.73A 0.87A and 12 at the constant module temperature of 25oC. MPPT Vo 30.0V 26.7V 22.9V 18.5.V 12.7V

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

VMPP 34.5V 34.1V 33.6V 32.7V 31.1V

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

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

Rload 12 12 12 12 12

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

53

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

54

Chapter 4 Design and Simulations


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

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

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

4.2 Ck Converter Design


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

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

Table 4-1: Design specification of the Ck Converter

55

4.2.1 Component Selection


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

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


Thus, from the equation (4.2):

(4.3)

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

(4.5)

56

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:

Vo (30.0) 2 R= = = 6 Po (150)
The value of C1 is calculated with the following equation [8]:

(4.7)

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
Solving the above equation for C2 gives:

(4.9)

C2 =

1 D 8 ( v o Vo ) L 2 f

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

(4.10)

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

57

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

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

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

(4.11)

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

For example, IRF530 (ID=14Amax,

58

4.2.2 PSpice Simulations


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

C1 2 22uF 2

L2 1.5mH

La 1 2 10mH 1 Ra .2

Sbreak

D1 Dbreak

C2 .47uF

E 28Vdc

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

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

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

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

59

5.0A

2.5A

SEL>> 0A I(L1) 40V I(L2)

30V

20V

10V

0V 0s V(Vin:+) -V(C2:2) Time 50ms 100ms 150ms 200ms 250ms

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

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

Iin Iout Vin Vout

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

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

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

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

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

60

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

4.2.3 Choice of MPPT Sampling Rate


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

5.0A

4.5A

4.0A I(L1) 35.0V I(L2)

32.5V

30.0V

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

260ms -V(C2:2)

280ms

300ms Time

320ms

340ms

360ms

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

61

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

4.3 Comparisons of P&O and incCond Algorithm


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

end

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

0.8 Irradiance (KW/m2)

0.6

0.4

0.2

6 Hour (h)

10

12

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

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

63

160 140 120 Module Output Power (W) 100 80 60 40

(a) P&O algorithm 1000W/m


2

160 140

(b) incCond algorithm 1000W/m2

800W/m2 Module Output Power (W)

120 100 80 60 40

800W/m2

600W/m2

600W/m2

400W/m2

400W/m2

200W/m2 20 0 20 0

200W/m2

10

15

20 25 30 Module Voltage (V)

35

40

45

50

10

15

20 25 30 Module Voltage (V)

35

40

45

50

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

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

64

160 140 120 Module Output Power (W) 100 80 60

(a) P&O Algorithm

160 140 120 Module Output Power (W) 100 80 60

(b) incCond Algorithm

1000W/m 2

1000W/m2

800W/m2

800W/m2

600W/m2

600W/m2

400W/m2 40 20 0 200W/m2

400W/m2 40 20 0 200W/m2

10

15

20 25 30 Module Voltage (V)

35

40

45

50

10

15

20 25 30 Module Voltage (V)

35

40

45

50

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

Total Energy (simulation) Total Energy (theoretical max) Efficiency

P&O Algorithm 479.64Wh 480.38Wh 99.85%

incCond Algorithm 479.69Wh 480.38Wh 99.86%

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

Total electric energy produced with the incCond algorithm is narrowly larger than that of the P&O algorithm. The MPP tracking efficiency measured by {Total Energy

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

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

The

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

65

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

4.4 MPPT Simulations with Resistive Load


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

(4.12)

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

R=

Va Ia

(4.13)

66

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

(4.14)

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

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

(4.15)

1 D Is D

(4.16)

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

67

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

" # $% &

'

! # ( #! ) *+ )*

! ) *

. +! ! +"

/ #

Figure 4-8: MPPT simulation flowchart

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

68

160 140 120 Module Output Power (W) 100 80 60 40

(a) PV Power vs. Voltage 1000W/m


2

end

5 4.5 4

(b) PV Current vs. Voltage 1000W/m 2 end

800W/m2 Module Current(A)

3.5 3 2.5 2 1.5

800W/m2

600W/m 2

600W/m2

400W/m 2

400W/m 2

200W/m 2 20 0 start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50

1 0.5 0 0 5 10 15 200W/m2 start 20 25 30 Module Voltage (V) 35 40 45 50

160 140 120 Output Power (W) 100 80 60 40 20 0

(c) Output Power vs. Duty Cycle end

(d) Output Current vs. Voltage

end

Output Current (A)

3 Load Line start 1

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.

160 140 120 Module Output Power (W) 100 80 60 40

(a) PV Power vs. Voltage 1000W/m


2

(b) Output Current vs. Voltage

5 800W/m
2

600W/m 2

end

Output Current (A)

4 end 3

400W/m 2

200W/m 2 20 start 0 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50

start

10

15 20 Output Voltage (V)

25

30

35

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

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

4.5 MPPT Simulations with DC Pump Motor Load


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

70

4.5.1 Modeling of DC Water Pump


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

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

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

71

Positive Displacement Pump (Constant Torque) 1.1

TL Signal 1 s + A+ F+

Demux

dc

AF-

0-30V Ramp

Voltage Source

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


+ v -

Va ? More Info

Ia vs Va

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

160 140 120 Module Output Power (W) 100 80 60 40 20 0 start

(a) PV Power vs. Voltage 1000W/m


2

end

5 4.5 4

(b) PV Current vs. Voltage 1000W/m 2 end

800W/m2 Module Current(A)

3.5 3 2.5 2 1.5

800W/m2

600W/m 2

600W/m2

400W/m 2

400W/m 2

200W/m 2

1 0.5 200W/m2 start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50

10

15

20 25 30 Module Voltage (V)

35

40

45

50

160 140 120 Output Power (W) 100 80 60 40 20 0 start 0 0.1 0.2

(c) Output Power vs. Duty Cycle end

(d) Output Current vs. Voltage

end

Output Current (A) 0.3 0.4 0.5 0.6 Duty Cycle 0.7 0.8 0.9 1

1 start 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. With MPPT 1.057KWh 1.060KWh 99.75% Without MPPT 0.577KWh 1.060KWh 54.42%

Total Energy (simulation) Total Energy (theoretical max) Efficiency

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

75

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

10 Flow Rate (L/min)

6 Hour

10

11

12

Figure 4-17: Flow rates of PV water pumps for a 12-hour period Simulated with the irradiance data of a sunny day (total dynamic head = 30m)

76

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

With MPPT Loss-less Converter 5.302m3 90% Efficiency Converter 4.719m3

Without MPPT

Total Volume of Water Pumped for 12 Hours (simulation)

2.831m3

Table 4-5: Total volume of water pumped for 12 hours Simulated with the irradiance data of a sunny day (total dynamic head = 30m)

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

77

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

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

78

5.2 Difficulties and Future Research


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

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

79

5.3 Concluding Remarks


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

80

Bibliography
[1] [2] [3] BP Solar BP SX150 - 150W Multi-crystalline Photovoltaic Module Datasheet, 2001 Castaer, Luis & Santiago Silvestre Modelling Photovoltaic Systems, Using PSpice John Wiley & Sons Ltd, 2002 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 Dang, Thuy Lam A Digitally-controlled Power Tracker Masters Thesis, California Polytechnic State University, Pomona, 1990 Day, Christopher Alan The Design of an Efficient, Elegant, and Cubic Pico-Satellite Electronics System Masters Thesis, California Polytechnic State University, San Luis Obispo, 2004 Enslin, John H., Mario S. Wolf, Danil B. Snyman, & Wernher Swiegers Integrated Photovoltaic Maximum Power Point Tracking Converter IEEE Transactions on Industrial Electronics, Vol. 44, No. 6 December 1997, page 769-773 Green, Martin A. Solar Cells; Operating Principles, Technology, and System Applications Prentice Hall Inc., 1982 Hart, Daniel W. Introduction to Power Electronics Prentice Hall Inc., 1996 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 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 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 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

[4] [5]

[6]

[7] [8] [9]

[10]

[11]

[12]

81

[13] [14]

Kyocera Solar Inc. Solar Water Pump Applications Guide 2001 (downloaded from www.kyocerasolar.com) MathWorks Inc. Embedded Target for the TI TMS320C2000 DSP Platform For Use with Real-Time Workshop Users Guide Version 1 2005 (downloaded from www.mathworks.com) Messenger, Roger & Jerry Ventre Photovoltaic Systems Engineering 2nd Edition CRC Press, 2003 Masters, Gilbert M. Renewable and Efficient Electric Power Systems John Wiley & Sons Ltd, 2004 Mohan, Undeland, Robbins Power Electronics Converters, Applications, and Design 3rd Edition John Wiley & Sons Ltd, 2003 Rashid, Muhammad H. Power Electronics - Circuits, Devices, and Applications 3rd Edition Pearson Education, 2004 Rashid, Muhammad H. Editor-in-Chief Power Electronics Handbook Academic Press, 2001 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 Taufik EE410 Power Electronics I - Lecture Note Cal Poly State University, San Luis Obispo, 2004 Taufik EE527 Switching Power Supply Design - Lecture Note Cal Poly State University, San Luis Obispo, 2004 Texas Instruments Converting Analog Controllers to Smart Controllers with TMS320C2000 DSPs Application Report, June 2004 (downloaded from dspvillage.ti.com/) Thompson, Marry A. Reverse-Osmosis Desalination of Seawater Powered by Photovoltaics Without Batteries Doctoral Thesis, Loughborough University, 2003 UNEP Water Policy and Strategy (viewed on www.unep.org/dpdl/water/ , August 2005) UNESCO The UN World Water Development Report, 2003 www.unesco.org/water/wwap/wwdr/, August 2005) (viewed on

[15] [16] [17] [18] [19] [20]

[21] [22] [23]

[24] [25] [26]

82

[27]

Walker, Geoff R. Evaluating MPPT converter topologies using a MATLAB PV model Australasian Universities Power Engineering Conference, AUPEC 00, Brisbane, 2000

83

Appendix A
A.1 MATLAB Functions and Scripts
A.1.1 MATLAB Function for Modeling BP SX 150S PV Module
This MATLAB function (bp_sx150s.m) is to simulate the current-voltage relationship of BP SX 150S PV module and used in simulations throughout of this thesis.
function Ia = bp_sx150s(Va,G,TaC) % function bp_sx150s.m models the BP SX 150S PV module % calculates module current under given voltage, irradiance and temperature % Ia = bp_sx150s(Va,G,T) % % Out: Ia = Module operating current (A), vector or scalar % In: Va = Module operating voltage (V), vector or scalar % G = Irradiance (1G = 1000 W/m^2), scalar % TaC = Module temperature in deg C, scalar % % Written by Akihiro Oi 7/01/2005 % Revised 7/18/2005 %///////////////////////////////////////////////////////////////////////////// % Define constants k = 1.381e-23; q = 1.602e-19; % Boltzmanns constant % Electron charge

% Following constants are taken from the datasheet of PV module and % curve fitting of I-V character (Use data for 1000W/m^2) n = 1.62; % Diode ideality factor (n), % 1 (ideal diode) < n < 2 Eg = 1.12; % Band gap energy; 1.12eV (Si), 1.42 (GaAs), % 1.5 (CdTe), 1.75 (amorphous Si) Ns = 72; % # of series connected cells (BP SX150s, 72 cells) TrK = 298; % Reference temperature (25C) in Kelvin Voc_TrK = 43.5 /Ns; % Voc (open circuit voltage per cell) @ temp TrK Isc_TrK = 4.75; % Isc (short circuit current per cell) @ temp TrK a = 0.65e-3; % Temperature coefficient of Isc (0.065%/C) % Define variables TaK = 273 + TaC; Vc = Va / Ns; % Module temperature in Kelvin % Cell voltage

% Calculate short-circuit current for TaK Isc = Isc_TrK * (1 + (a * (TaK - TrK))); % Calculate photon generated current @ given irradiance Iph = G * Isc; % Define thermal potential (Vt) at temp TrK Vt_TrK = n * k * TrK / q; % Define b = Eg * q/(n*k);

84

b = Eg * q /(n * k); % Calculate reverse saturation current for given temperature Ir_TrK = Isc_TrK / (exp(Voc_TrK / Vt_TrK) -1); Ir = Ir_TrK * (TaK / TrK)^(3/n) * exp(-b * (1 / TaK -1 / TrK)); % Calculate series resistance per cell (Rs = 5.1mOhm) dVdI_Voc = -1.0/Ns; % Take dV/dI @ Voc from I-V curve of datasheet Xv = Ir_TrK / Vt_TrK * exp(Voc_TrK / Vt_TrK); Rs = - dVdI_Voc - 1/Xv; % Define thermal potential (Vt) at temp Ta Vt_Ta = n * k * TaK / q; % Ia = Iph - Ir * (exp((Vc + Ia * Rs) / Vt_Ta) -1) % f(Ia) = Iph - Ia - Ir * ( exp((Vc + Ia * Rs) / Vt_Ta) -1) = 0 % Solve for Ia by Newton's method: Ia2 = Ia1 - f(Ia1)/f'(Ia1) Ia=zeros(size(Vc)); % Initialize Ia with zeros % Perform 5 iterations for j=1:5; Ia = Ia - (Iph - Ia - Ir .* ( exp((Vc + Ia .* Rs) ./ Vt_Ta) -1))... ./ (-1 - Ir * (Rs ./ Vt_Ta) .* exp((Vc + Ia .* Rs) ./ Vt_Ta)); End

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


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

85

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

A.1.3 MATLAB Function to Find the MPP


This simple MATLAB function is to find the power, voltage, and current at the MPP of BP SX 150S PV module under the given irradiance and module temperature.
function [Pa_max, Imp, Vmp] = find_mpp(G, TaC) % find_mpp: function to find a maximum power point of pv module % [Pa_max, Imp, Vmp] = find_mpp(G, TaC) % in: G (irradiance, KW/m^2), TaC (temp, deg C) % out: Pa_max (maximum power), Imp, Vmp % % Akihiro Oi July 27, 2005 %//////////////////////////////////////////////////////////////// % Define variables and initialize Va = 12; Pa_max = 0; % Start process while Va < 48-TaC/8 Ia = bp_sx150s(Va,G,TaC); Pa_new = Ia * Va; if Pa_new > Pa_max Pa_max = Pa_new; Imp = Ia; Vmp = Va; end Va = Va + .005; end

A.1.4 MATLAB Script: P&O Algorithm


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

86

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

% Take 43200 samples (12 hours) for Sample = 1:43.2e+3 % Read irradiance value G = yi(Sample); % Take new measurements Va_new = Vref_new; Ia_new = bp_sx150s(Vref_new,G,TaC); % Calculate new Pa Pa_new = Va_new * Ia_new; deltaPa = Pa_new - Pa; % P&O Algorithm starts here if deltaPa > 0 if Va_new > Va Vref_new = Va_new + C; % Increase Vref else Vref_new = Va_new - C; % Decrease Vref end elseif deltaPa < 0 if Va_new > Va Vref_new = Va_new - C; % Decrease Vref else Vref_new = Va_new + C; %Increase Vref end else Vref_new = Va_new; % No change end % Update history Va = Va_new; Pa = Pa_new; % Store data in arrays for plot

87

Va_array = [Va_array Va]; Pa_array = [Pa_array Pa]; end % Plot result figure plot (Va_array, Pa_array, 'g') % Overlay with P-I curves and MPP Va = linspace (0, 45, 200); hold on for G=.2:.2:1 Ia = bp_sx150s(Va, G, TaC); Pa = Ia.*Va; plot(Va, Pa) [Pa_max, Imp, Vmp] = find_mpp(G, TaC); plot(Vmp, Pa_max, 'r*') end title('P&O Algorithm') xlabel('Module Voltage (V)') ylabel('Module Output Power (W)') axis([0 50 0 160]) %gtext('1000W/m^2') %gtext('800W/m^2') %gtext('600W/m^2') %gtext('400W/m^2') %gtext('200W/m^2') hold off

A.1.5 MATLAB Script: incCond Algorithm


This MATLAB script is to test the incCond algorithm under the cloudy weather condition in Section 4.3. Other tests in this section are done in a similar way, and the listing of testing code is omitted.
% incCondTest1: Script file to test incCond MPPT Algorithm % Testing with rapidly changing insolation % % Akihiro Oi June 29, 2005 % Revised on August 31, 2005 %/////////////////////////////////////////////////////////////////////// clear; % Define constants TaC = 25; % Cell temperature (deg C) C = 0.5; % Step size for ref voltage change (V) E = 0.002; % Maximum dI/dV error % Define variables with initial conditions G = 0.045; % Irradiance (1G = 1000W/m^2) Va = 27.2; % PV voltage Ia = bp_sx150s(Va,G,TaC); % PV current Pa = Va * Ia; % PV output power

88

Vref_new = Va + C;

% New reference voltage

% Set up arrays storing data for plots Va_array = []; Pa_array = []; Pmax_array =[]; % Load irradiance data load irrad7d; x = irrad7d(:,1)'; y = irrad7d(:,2)'; xi = 332.8e+3: 376e+3; yi = interp1(x,y,xi,'cubic'); % 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 % % % % % Irradiance data of a cloudy day Read time data (second) Read irradiance data Set points for interpolation Do cubic interpolation

89

% Total electric energy: theoretical and actual Pth = sum(Pmax_array)/3600; Pact = sum(Pa_array)/3600; % Plot result figure plot (Va_array, Pa_array, 'g') % Overlay with P-V curves and MPP Va = linspace (0, 45, 200); hold on for G=.2:.2:1 Ia = bp_sx150s(Va, G, TaC); Pa = Ia.*Va; plot(Va, Pa) [Pa_max, Imp, Vmp] = find_mpp(G, TaC); plot(Vmp, Pa_max, 'r*') end title('incCond Method') xlabel('Module Voltage (V)') ylabel('Module Output Power (W)') axis([0 50 0 160]) %gtext('1000W/m^2') %gtext('800W/m^2') %gtext('600W/m^2') %gtext('400W/m^2') %gtext('200W/m^2') hold off

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

90

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

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

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

91

else D = D_k - deltaD; % Decrease duty cycle end elseif deltaPo < 0 if D_k > D_k_1 D = D_k - deltaD; % Decrease duty cycle else D = D_k + deltaD; % Increase duty cycle end else D = D_k; % No change end end % Update history Va_k_1 = Va_k; Ia_k_1 = Ia_k; Pa_k_1 = Pa_k; Vo_k_1 = Vo_k; Io_k_1 = Io_k; Po_k_1 = Po_k; D_k_1 = D_k; % Store data in arrays for plots Va_array = [Va_array Va_k]; Ia_array = [Ia_array Ia_k]; Pa_array = [Pa_array Pa_k]; Vo_array = [Vo_array Vo_k]; Io_array = [Io_array Io_k]; Po_array = [Po_array Po_k]; D_array = [D_array D_k]; % Increase insolation until G=1 if (Sample > 20) & (G < 1) G = G + .0003; end % Goto next sample end % Functions to plot figure(1) plot (Va_array, Pa_array, 'g') % Overlay with P-V curves and MPP Va = linspace (0, 45, 200); hold on for G=.2:.2:1 Ia = bp_sx150s(Va, G, TaC); Pa = Ia.*Va; plot(Va, Pa) [Pa_max, Imp, Vmp] = find_mpp(G, TaC); plot(Vmp, Pa_max, 'r*') end title('(a) PV Power vs. Voltage') xlabel('Module Voltage (V)') ylabel('Module Output Power (W)') axis([0 50 0 160]) hold off figure(2)

92

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

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

93

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

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

94

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

95

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

96

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

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

97

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

% % % % %

Irradiance data of a sunny day Read time data (second) Read irradiance data Set points for interpolation Do cubic interpolation

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

98

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

99

A.2 MPPT Simulations with Resistive Load


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

A.2.1 Direct Control Method with P&O Algorithm


160 140 120 Module Output Power (W) 100 80 60 40 200W/m 2 20 0 start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 1 0.5 0 0 5 10 15 200W/m2 start 20 25 30 Module Voltage (V) 35 40 45 50 600W/m 2 800W/m2 Module Current(A) (a) PV Power vs. Voltage 1000W/m
2

end

5 4.5 4 3.5 3 2.5 2 1.5

(b) PV Current vs. Voltage 1000W/m 2 end

800W/m2

600W/m2

400W/m 2

400W/m2

160 140 120 Module Output Power (W) 100 80 60 40 20 0

(c) Module Power vs. Duty Cycle end

(d) Output Current vs. Voltage

end

Output Current (A)

3 Load Line start 1

start 0

0.1

0.2

0.3

0.4

0.5 0.6 Duty Cycle

0.7

0.8

0.9

10

15 20 Output Voltage (V)

25

30

35

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

100

A.2.2 Direct Control Method with incCond Algorithm


160 140 120 Module Output Power (W) 100 80 60 40 200W/m 2 20 0 start 0 5 10 15 20 25 30 Module Voltage (V) 35 40 45 50 1 0.5 0 0 5 10 15 200W/m2 start 20 25 30 Module Voltage (V) 35 40 45 50 600W/m 2 800W/m2 Module Current(A) (a) PV Power vs. Voltage 1000W/m 2 end 5 4.5 4 3.5 3 2.5 2 1.5 400W/m2 600W/m2 800W/m2 (b) PV Current vs. Voltage 1000W/m 2 end

400W/m 2

160 140 120 Module Output Power (W) 100 80 60 40 20 0

(c) Module Power vs. Duty Cycle end

(d) Output Current vs. Voltage

end

Output Current (A)

3 Load Line start 1

start 0

0.1

0.2

0.3

0.4

0.5 0.6 Duty Cycle

0.7

0.8

0.9

10

15 20 Output Voltage (V)

25

30

35

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

101

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 C28x ADC

12. Gain1

W1 C28x PWM C28x PWM

F2812 eZdsp

0.39 Analog Voltage Pulse Width Control

PWM Emulation

Subsystem Duty Cycle (%)

Info

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

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

103

You might also like