#### Abstract

This paper identifies the partial shading problem of a PV module using the one-diode model and simulating the characteristics exhibiting multiple-peak power output condition that is similar to a PV array. A modified particle swarm optimization (PSO) algorithm based on the suggested search-agent deployment, retracking condition, and multicore operation is proposed in order to continuously locate the global maximum power point for the PV system. Partial shading simulation results for up to 16 modules in series/parallel formats are presented. A distributed PV system consisting of up to 8 a-silicon thin film PV panels and also having a dedicated DC/DC buck converter on each of the modules is tested. The converter reaches its steady state voltage output in 10 ms. However for MPPT operation, voltage, and current measurement interval is set to 20 ms to avoid unnecessary noise from the entire electric circuit. Based on the simulation and experiment results, each core of the proposed PSO operation should control no more than 4 PV modules in order to have the maximum tracking accuracy and minimum overall tracking time. Tracking for the global maximum power point of a distributed PV system under various partial shading conditions can be done within 1.3 seconds.

#### 1. Introduction

In a centralized photovoltaic system, the total power generated by the entire array of PV modules is reduced due to panel’s mismatch, degradation, or partial shading conditions. In such a case, the power characteristic curve for the entire PV array exhibits multiple maxima power points making the maximum power point tracking (MPPT) algorithm more difficult to find its global extreme value. Therefore, the appropriate power point tracking algorithm is needed to avoid getting local maximum power. PV system exhibiting multiple maxima has been discussed by many researchers. Latest research works on different MPPT techniques include Cuckoo search method [1], MPPT based on the bypass diodes working mechanism [2], colony of flashing firefly method [3, 4], modified incremental conductance algorithm [5], voltage interval regularity method [6], artificial bee colony method [7], particle swarm optimization and related methods [8–13], random search method [14], and radial movement optimization [15].

However, for the aforementioned system, partial shading on PV modules reduced the power generated by the PV system compared to the maximum power generated from each module separately. Therefore, the distributed PV system format is developed by using a dedicated DC/DC converter on each of the PV panels [16, 17] in order to collect more electricity from the sun. With a local MPPT microcontroller embedded with the DC/DC converter, it is reasonable to take full advantage of all available MPPT methods to design a distributed PV system. But, there is still one disadvantage for such a PV system: extra cost to the DC/DC converter for current and voltage sensors.

Multivariable maximum power point tracking method (also known as the distributed MPPT or DMPPT) has an advantage over the classical distributed MPPT algorithm by using only one set of current and voltage data. Some works based on perturb and observation [18, 19], method using current compensation concept [20], and a direct neural control based on the hybrid online/offline learning mechanism [21] are reported. On their work, complexity and possible longer processing time to reach the global maxima, only system with limit quantity of PV panel/string is discussed. Following the work of [22], a DMPPT algorithm based on panel level DC/DC converter control using embedded microcontroller is also possible. Therefore, this work intends to provide a multivariable MPPT algorithm suitable for a distributed PV system containing larger number of PV modules connected in series and/or in parallel. Using the one-diode model, the characteristic curve of a PV module exhibiting multiple-peak power output is simulated, which is similar to a PV array under partial shading condition. A modified particle swarm optimization (PSO) algorithm based on the suggested search-agent deployment and retracking condition is proposed in order to continuously locate the global maximum power point for the PV system. The weighting function of PSO method with certain scenario is applied to strengthen its global searching capability. As the number of PV modules increases, the tracing time is also increased and the DMPPT accuracy is decreased. The multicore PSO operation is then introduced to maintain the maximum accuracy and minimum tracking time when dealing with multiple PV modules in series and parallel connection. Partial shading simulation results for up to 16 panels in series/parallel formats are presented. A distributed PV system consisting of up to 8 thin film PV panels and having a dedicated DC/DC buck converter on each of the modules is also tested. The detail follows.

#### 2. Photovoltaic Characteristics of a Solar Panel

An ideal single-diode solar cell model is represented by a photo current source (), a series resistance (), a parallel connected diode (), and a shunt resistance () (see Figure 1). The current generated by the photovoltaic effect is proportional to the irradiation and temperature, and the diode in the ideal circuit shows that a solar cell in the dark condition is simply a semiconductor current rectifier. The corresponding* I-V* characteristic is expressed by the Shockley solar cell equation. In practice, to obtain the equivalent circuit of a solar panel consisting of number of cells in series, the single-diode model is often modified to fit the observed electrical characteristics and its mathematical model becomeswhere is the temperature, and represent the voltage and current of the solar cell, respectively, is the Boltzmann constant, is the electron charge, is the diode saturation current, is the photogenerated current, and represents the empirical factor of the diode.

A PV module is usually assembled by connecting several solar cells in series and in parallel to give the required current and voltage output for application. The overall* I-V* characteristic curve cannot be derived from one solar cell alone, and panel level testing under environmental temperature and irradiation is required to calculate the PV module’s characteristics. Following the works of Kennerud [23], the five parameters (, , , , and ) from the mathematic model not given by the manufacturer can be determined based on experimental result. Using 5 independent conditions derived from (1) with , , , , , and obtained from experiment, one can solve for these parameters by using Mathcad software. For example, SG-2300 is a poly-silicon type of PV module having 60 solar cells in series. Its specifications by the manufacturer are listed on Table 1. The required data is found by using PV power analyzer PROVA 210, and the 5 characteristic parameters are solved and shown in Table 2. Notice that is almost unchanged with respect to . Eventually, the characteristic curves for the PV module can be drawn at different irradiation and temperature conditions (see Figure 2).

**(a)**

**(b)**

Similarly, the specifications of an amorphous silicon thin film PV panel, Chimei CSSS-90A having 140 solar cells, are shown in Table 3. The parameters for simulation are listed by Table 4, and PV characteristic curves at various irradiation and temperature are also plotted in Figure 3. These two examples provide the values for , , and by solving 5 sets of equations. For smaller power rated PV module, the value of can be bigger.

**(a)**

**(b)**

#### 3. Effect of Partial Shading on Solar Panel

In order to reduce the hot spot effect due to partial shading of the PV cells, bypass diodes are used to avoid current flowing through the shaded cells. For SG-2300 as an example, three diodes are parallelly connected to the solar cells and the panel is divided into three zones for practical application (see Figure 4(a)). When two zones of cells are in standard test condition (irradiation at 1000 W/m^{2}, and = 25°C), its characteristic curve is simulated and shown by the black, solid curve in Figure 4(b). The shaded zone is simulated as uniform insolation with less intensity (500 W/m^{2}) and the result is shown in dashed red curve. Recall that a 0.6 V reverse bias has to be taken into consideration when the two curves are arithmetically matched to find the panel’s final* I-V* curve, shown by dotted green curve in Figure 4(b), and* P-V* curve also in Figure 4(c). If no bypass diode is connected to the module, the hot-spot effect reduces the power output of the PV panel to 26.4 W based on simulation result (not shown in here). When three bypass diodes are connected as described in Figure 4(a), the power output goes to 150.3 W. For two shaded PV zones at different irradiation, its characteristic curves can be more complicated and three local maximum power peaks are possible (see Figure 5).

**(a)**

**(b)**

**(c)**

**(a)**

**(b)**

#### 4. Example of a Distributed PV System under Partial Shading Condition

Previously, module level partial shading condition has been discussed. Similar to the centralized PV system, it is clearly showed that module level multiple local maximum power points can cause problem to most of tracking algorithm: not able to distinguish the local peak from the global peak. In a distributed PV system, each module is usually controlled by a local DC/DC converter having its maximum power point tracker, and the effect of partial shading can be limited to module level instead of the entire system. Consider the following example of a distributed system with two PV panels (see Figure 6). When both panels are operated at the standard test condition, the power output with respect to the operation duty for the buck converter is shown in Figure 7(a). Only one maximum power point is found. However, when the two modules encountered different degree of partial shading as indicated by Figure 6, the power output contour for various operation duties became more complicated (Figure 7(b)) and a special strategy has to be implemented for global maximum power point tracking. There are very few literatures studying the module level MPPT performance of a distributed PV system under partial shading effect. A granular control algorithm based on the particle swarm optimization for DMPPT is therefore proposed to discuss this issue.

**(a)**

**(b)**

#### 5. Modified Particle Swarm Optimization for MPPT of a Distributed PV System

The original particle swarm optimization (PSO) algorithm finds the control variables which will give the optimal output of a multivariable fitness function. Strategically, one can deploy as many agents as possible covering the entire search domain or limiting the number of searching steps to ensure that a convergent result is reached. When it comes to the maximum power point tracking for a distributed PV system, one does not have the luxury to overlook the importance of convergent speed. Consider the distributed PV system as shown in Figure 8. The PSO algorithm is used as the distributed maximum power point tracker, DMPPT by a central controller. By controlling the operation PWM duty for each of the converters, it is possible to optimize the total power output of the PV system. However, the PV system is under the dynamic changing atmospheric condition since the irradiation and the temperature can be different from time to time. The number of agents deployed and the convergent condition for searching the maximum power point of the PV system would be two important factors that affect the tracking result.

PSO algorithm treats every agent as a massless particle searching for the optimal value in the -dimensional space, and the agent’s moving speed, , depends not only upon its previous flying experience but also on others agents’ flying record. Equation (2) describes the moving speed of an agent related to the difference of its individual best record and the difference to the global best value that has been found. and are two random functions between 0 and 1. The cognitive coefficient, , takes into account the relative position between current location, , and its previous local best location, . Similarly, the social coefficient, , also takes into account the relative distance between the global best, *,* and the current position. The weighting function, , shares some experience from the previous moving speed, . The new location for the searching agent is then calculated by (3):Previously, Chowdhury and Saha [8] used the adaptive perceptive PSO to study the partial shading of PV array. Miyatake et al. [9] simulate and test for two PV strings in parallel condition. Seyedmahmoudian et al. [10, 11] use evolutionary type PSO to tackle the problem. Tian et al. [12] consider an adaptive random PSO algorithm. Eltamaly [13] applies a modified PSO using genetic algorithm. These methods neither are to consider the module level partial shading effect nor are likely to perform the granular control of the photovoltaic systems. Here, we apply the classical PSO algorithm with the specified cognitive coefficient, social coefficient, and the weighting function. Based on the simulation effort, the weighting function of PSO method with certain scenario is applied to strengthen its global searching capability. Later on, a multicore operation method is also introduced for the granular control of the PV system with larger number of modules involved.

In our case, and are set to 2, and the weighting function is set between 0.4 and 0.9 to strengthen its global searching capability. Initially, is set to 0.9 and is linearly decreased to 0.4, whose slope depends on the number of iterations on previous search step. After each PSO search loop, the latest local best, the global best values, and the agents’ locations will be updated for the next iteration loop. Since the global best value of a distributed PV system is depending on the instantaneous weather condition, a convergence criterion setting the square norm of the optimal value to the global best value and the distance from the agent position to its global best location is therefore proposed; see (4). Once the square norm is less than a small value of *ε*, it is said that the global optimal value and its location are confirmed. Consider For PV application, considering the previously searched global maximum power output and the previously controlled PWM command giving best output, the value of *ε* represents the progressive improvement ratio between consecutive iterations. Smaller gives a more accurate global maximum but slower convergent rate, whereas larger gets faster convergence but less accurate result. In order to compromise the accuracy and tracking speed for global maximum power output and also to reduce unnecessary tuning of the DC/DC converter, experienced selection of based on trial and error is used in this study.

##### 5.1. Initialization and Retracking for the Search-Agent Deployment

Random search of the optimal operating PWM duty of the converter for maximum power output seems not very efficient and therefore an even spaced agent deployment method is proposed. Use two-module PV system as an example. Let the controlled PWM duty cycle be . Initially, two agents are deployed for each module and they are positioned at one-quarter and three-quarters of the entire adjustable range. Let PWM duty be the average of the tuning range, = 50%, and let be its maximum tuning value, = 50%, then the search agents are located at to start the tracking (see Figure 9(a)). In order to be consistent with (4), system retracking is enforced once the power output varies over 1% from its previous maximum power point. Once retracking starts, the agents are relocated to a nearby position which is determined by the following procedure. Firstly, identify the halfway distance from the current maximum power point to the searching boundary (see Figure 9(b)). Secondly, calculate the percentage change of PV power when retracking started. Then the agents are moved by a distance which is the product of the two values from the above calculations. The reason for taking account of the percentage change of power while determining the agent’s new location is to keep the agents within a reasonable range from their previous optimal location. With such an idea, the retracking time for PSO operation is reduced, and the power disturbance during MPP retracking is also minimized.

**(a)**

**(b)**

##### 5.2. MPPT Simulation for Panel Level Partial Shading Conditions

Let us consider the SG-2300 in three possible partial shading conditions. The three different conditions are categorized as normal (all irradiation is 1000 W/m^{2}), two peaks (only one zone at 800 W/m^{2} irradiation), and three peaks (different zone at 1000, 800, and 600 W/m^{2} irradiation, resp.), and the* P-V* curves are shown in Figure 10. We evaluate the tracking performance for the distributed two-module PV system whose partial shading condition changes from one to another as illustrated in Table 5.

For example, the PV system encounters the partial shading Case and later on Case ; a sample tracking result is shown in Figure 11. During the simulation, tracking interval is set to 10 ms in order to compensate the time for steady state output of the DC/DC converter (which will be explained later). The proposed PSO maximum power point tracking algorithm for two-panel system can find the global maximum power point within 50 steps (0.5 seconds). When comparing the power output from the proposed algorithm, with the expected power output from the characteristic curves, , the ratio of is over 99% (see Figure 11(a)). Figure 11(b) also indicates the movement of all agents (in different marks) from their initial position to the optimal position. When the shading condition jumps from Case to Case , the retracking results are shown in Figure 11(c). Take another example, as the test condition is changing from Case to Case and then to Case . The proposed particle swarm optimization procedure performs well in all of these conditions (see Figure 12). Notice that some of the operation point is outside of the permissible zone that causes power output minimum.

**(a)**

**(b)**

**(c)**

**(a)**

**(b)**

**(c)**

**(d)**

Since the PSO method uses a random function calculation for agents’ movement, the time required to reach the maximum power point is calculated based on the average of 500 computer simulations. It is found that as the number of PV panels in series increases, more agents are required to find the global MPP. As a result, the tracking time increases and MPPT accuracy decreases (see Figure 13). The multicore operation strategy is then proposed.

#### 6. Multicore PSO Operation Method

Similar to the previous computational process, the entire PV system is divided into several groups for PSO operation. Figure 14(a) gives the schematic diagram of a 4-PV distributed system that uses two PSO engines for DMPPT calculation. Simulation results prove that using multi-PSO engines can not only reduce the iteration time for DMPPT but also increase the overall tracking accuracy when compared with only one PSO engine involved (Figure 14(b)).

**(a)**

**(b)**

In order to further examine the MPPT performance of the entire PV system, the transient response of a PV panel with a switching DC/DC converter design has to be clarified. The Multisim software is used to simulate the characteristic of CSSS-090A connecting to the converter as shown in Figure 15. The transient result is also confirmed by testing a converter prototype with the Solar Array Simulation, E4351B, and the converter requires 10 ms to give steady state output. For system deployment, there is electric noise coming from different switching converters. For better tracking performance, 20 ms interval is suggested when the DMPPT controller requests for () data acquisition during MPPT operation, and this value is used while performing the experiment work in the subsequent section. For computer simulation, LabVIEW provides the cosimulation function to interact with other software. Therefore, one can write the proposed PSO MPPT algorithm within LabVIEW and calls for the PV information and DC/DC converter response from the Multisim software through the cosimulation function. However, if the DC/DC converter is modeled using all the diode, mosfet, resistance, and so forth, it takes extensive computer time to perform one step of MPPT operation. For faster MPPT simulation, a simplified DC/DC converter is modeled in Multisim with the LabVIEW program for DMPPT throughout this work. An example of the 4-PV Multisim program using simplified DC/DC converter model is shown in Figure 16. Simulation cases using up to 16 PV panels in series/parallel connection are considered, and these cases are simulated by the proposed multicore PSO technique.

Shading condition is defined by changing the irradiation over the PV panel from 1000 W/m^{2} to 600 W/m^{2}. Two partial shaded panels are to be considered, and they can be located in the same or different PV strings. Each of the above cases is also simulated with different number of core operations. All of the simulation cases can be best described in Table 6. Notice that PV modules in the same string are shown in the same square box and the shaded panel ID is in grey scale. As the number of PV panels increases, the possible number for PV arrangements also increases. For this reason, simulation results with same string format are put into the same category for discussion no matter whether the shading modules belong to the same or different strings. Simulation covers five testing stages: The first is no shading, then shading condition (Case ), recovering from shading, shading condition (Case ), and finally no shading. Each test result provides the information to evaluate the performance of the proposed PSO method. The power output from the proposed algorithm, , is compared with the estimated power output from the characteristic curves, . The ratio of is defined as the MPPT accuracy, and the results are shown in Table 7. Overall, the MPPT performance by the proposed method has an accuracy more than 96%, and tracking error is less than 2% of the target value. Notice that, for multicore MPPT operation, as the number of modules controlled by each core is larger than 6, the tracking step for maximum power point increases considerably.

#### 7. Experiment Results for the Distributed PV System

Experimental work is carried out at the rooftop of our departmental building, where up to 8 CSSS-090A or CSSS-100A modules are used (see Figure 17(a)). A switching DC/DC converter is designed and developed (see Figure 17(b)). In order to use NI sbRIO-9642XT for system control, a photo coupler type MOSFET driver IC HCPL-3180 is used for signal isolation and HCPL-7840 and MCP3204 are for and data acquisition, respectively. Figure 17(c) shows the prototype of the DC/DC converter and the isolation circuit board for the experimental work. Schematic testing formats for PV panels in 4S, 2P2S, and 2P4S are shown in Figure 18(a). During the partial shading test, a shading visor of size 81 cm by 19 cm is placed on top-left corner by hand to check the tracking time for the proposed PSO method (Figure 18(b)). Partial shading experiment is carried out for one shading visor over each string of panels. If two PV strings are in parallel connection, then shading takes place at 10-second interval for each string. For 2P4S case, each string of PV array also consists of one CSSA-100A to represent system mismatching condition or module degrading effect. For the 2P4S testing format, partial shading conditions are set to be as follows: (i) one panel, (ii) two panels in the same string, and (iii) two panels in different strings. Then one can evaluate the tracking time and others for different multicore MPPT technique. One of the testing results for 2P4S case using 4 multicore PSO operations is shown in Figure 18(c). Limited by experimental equipment, 8S testing format cannot be performed because the high open circuit voltage output is not compatible with our battery system.

**(a)**

**(b)**

**(c)**

**(a) Experiment format for the multicore PSO MPPT operation, 4S (left), 2P2S (middle), and 2P4S (right)**

**(b) Physical dimension of the PV panel and the shading visor**

**(c) Partial shading test result for 2P4S: 2 shadings on the same PV string**

The error analysis for the simulation result is easier, because the power output at the designate irradiation and temperature conditions can be calculated from the PV characteristic curves. For on-site experiment, the weather condition is not always stable and the irradiation can be different during the test period. Therefore, a benchmark value is calculated using the average power output of the PV system with or without partial shading. The error for experimental result is defined by the difference of the steady state average output during each test case from its benchmark value. For example, Figure 19 shows one particular test result. One can calculate the average power output from the period of testing under partial shading and no-shading conditions as the benchmark values for the two conditions. Then the experimental error for each of the shading/unshading cases can be calculated from its benchmark value. Factors that can affect the accuracy of power output include the number of multicores for PSO MPPT, system format, degree of partial shading, PV characteristic, and so forth. Here, the percentage tracking error of a test case is calculated by averaging at least three test results for a particular PV format and shading condition. The final tracking error is the average of all partial shading tests with the same number of multicore PSO algorithms, and the result is shown in Table 8. For the 2P4S case with one PSO engine for DMPPT operation, one observes that the tracking time for MPPT is less than 1.3 s but the steady state power output for one shaded module is very sensitive to the weather condition. If two shaded panels are at different PV strings, the tracking error is usually larger than the other test conditions. Possible reason is that the local maximum value is found rather than the global extreme value. Therefore, single core PSO operation is not recommended for PV system over 8 panels in series/parallel format if partial shading effect is an issue for the PV system. Overall, one PSO engine controlling no more than 4 panels will provide the best track result.

#### 8. Discussions and Conclusions

Partial shading effect can cause electric power loss for a PV harvesting system. This work uses a one-diode model to present the performance of the solar panel and shows that three bypass diodes’ installation on the solar panel can exhibit at most three local peaks in its characteristic curve under partial shading condition. This simulation algorithm can be used to estimate the overall energy harvesting rate of a distributed PV system under partial shading condition.

Panel level partial shading effect will make an impact on the overall power output of a distributed PV system. Thus, a modified particle swarm optimization (PSO) maximum power point tracking method, based on the suggested search-agent deployment and retracking strategy, is presented. In order to systematically evaluate the proposed DMPPT performance, the distributed PV system having up to 16 PV panels connected in series and in parallel is simulated using LabVIEW cosimulated with Multisim. As the number of modules increases, the maximum power point tracking for the system using only one core operation becomes ineffective. Computer simulations show that multicore operation of the MPPT operation for a distributed PV system is feasible. Although the shaded module could be at different strings of a distributed PV system causing different effect on power loss, multicore PSO MPPT technique can always track the global maximum power point with reasonable tracking steps. The buck converter used in this work requires 10 ms to reach steady state output. System noise from other converters also limits the time interval between two control commands sending to each of the converters. The multicore PSO MPPT uses 20 ms interval for the tracking control giving very reliable test result. Experimental test using up to 8 amorphous silicon PV panels in different series/parallel formats and shading conditions verifies the feasibility of the proposed technique. The tracking time for global maximum power point by the proposed method can be done within 1.3 seconds.

Based on the simulation result, as the number of controlled modules by one PSO engine is over or equals 6, the tracking speed is not acceptable. For better overall performance, experimental result also shows that one PSO DMPPT engine controlling up to 4 PV panels is preferable. If the crosstalk noise among DC/DC converters can be reduced, the tracking time for the maximum power point can be further reduced by the proposed PSO method.

#### Disclosure

Mr. Ahmad Nasirudin is currently a Ph.D. candidate at NCKU and is also associated with the Department of Naval Architecture and Shipbuilding Engineering, ITS, Surabaya, Indonesia.

#### Competing Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

This work is supported by the Ministry of Science and Technology under MOST-102- 2221-E-006-157-MY2 and partially supported by the Research Center for Energy Technology and Strategy, NCKU, under the project of The Aim for the Top University by Ministry of Education, Taiwan.