Optimization of a Fuzzy-logic-control-based Mppt Algorithm Using the Particle Swarm Optimization Technique

In this paper, an asymmetrical fuzzy-logic-control (FLC)-based maximum power point tracking (MPPT) algorithm for photovoltaic (PV) systems is presented. Two membership function (MF) design methodologies that can improve the effectiveness of the proposed asymmetrical FLC-based MPPT methods are then proposed. The first method can quickly determine the input MF setting values via the power–voltage (P–V) curve of solar cells under standard test conditions (STC). The second method uses the particle swarm optimization (PSO) technique to optimize the input MF setting values. Because the PSO approach must target and optimize a cost function, a cost function design methodology that meets the performance requirements of practical photovoltaic generation systems (PGSs) is also proposed. According to the simulated and experimental results, the proposed asymmetrical FLC-based MPPT method has the highest fitness value, therefore, it can successfully address the tracking speed/tracking accuracy dilemma compared with the traditional perturb and observe (P&O) and symmetrical FLC-based MPPT algorithms. Compared to the conventional FLC-based MPPT method, the obtained optimal asymmetrical 5339 FLC-based MPPT can improve the transient time and the MPPT tracking accuracy by 25.8% and 0.98% under STC, respectively.


Introduction
In recent years, because of global warming and the rise in crude oil price, countries worldwide have begun to invest heavily in research and development related to renewable energy sources. Among renewable energy generation systems, solar power generation has received the most attention; from small-scale applications (e.g., energy provision to consumer electronics) to large-scale operations (e.g., solar power plants), the scope of solar power applications is broad. However, because the energy conversion efficiency of photovoltaic (PV) generation system (PGS) is low and the cost of solar power generation is higher than that of thermal power generation or nuclear generation, determining how to acquire maximum power from a PGS has become an essential topic. The characteristic curves of a solar cell are nonlinear and depend on the irradiance level and ambient temperature, resulting in a unique current-voltage (I-V) curve. Consequently, the operating point (OP) of a PGS must be adjusted to the extent in which the maximum efficiency of the solar cells can be achieved, and this technique is called maximum power point tracking (MPPT) [1][2][3].
The perturb and observe (P&O) method is the most common MPPT approach applied in commercial PGSs [4]. This method determines the system control commands according to the difference in the power output between the current system state and previous system state. Consequently, determining the perturbation step applied to a system is an essential topic. When a substantial perturbation step is utilized by a system, the time required for the system to track the maximum power point (MPP) and achieve a steady state is short, but the amount of power loss caused by the perturbation is high. By contrast, a small perturbation step can alleviate the power loss caused by the perturbation but decrease the tracking speed of the system. This phenomenon is generally known as the trade-off between tracking speed and tracking accuracy [5][6][7]. Generally, MPPT methods that apply the fixed-step size method are affected by the trade-off. Therefore, researchers have proposed numerous variable step size MPPT methods to alleviate this complication. The core concept of variable step size MPPT is that, when the OP of a system is distant from the MPP, a substantial perturbation step is introduced to the system control, thereby increasing the tracking speed of the system. Alternatively, when the OP approximates the MPP, a small perturbation step is introduced to the system control to improve the effectiveness of the system in achieving a steady state [8][9][10]. The variable step MPPT methods mentioned in previous studies mainly determine the perturbation step according to the OP in the power-voltage (P-V) curve of solar cells. However, the characteristic curves of solar cells can vary according to the operating environment; thus, determining a perturbation step size applicable to all types of operating condition is a vital topic regarding variable step MPPT. Alternatively, fuzzy logic controller (FLC)-based techniques can be applied to nonlinear systems. Moreover, such techniques do not require accurate system parameters or complex mathematics models to achieve superior control performance. Therefore, FLC-based MPPT methods have become a worthy research topic .
Regarding the input variable selection, most FLC-based MPPT techniques take the error (e(t)), usually defined as Ppv(t) − Ppv(t−t), dPpv(t)/dVpv(t) or dPpv(t)/dIpv(t), where Ppv(t) represents the panel output power and the change in error (de(t)/dt) as inputs [11][12][13][14][15][16][17][18][19][20][21][22][23]. However, the requirement of differentiation not only increases the complexity of calculation, but also may induce large amounts of errors from merely small amounts of measurement noise. Moreover, applying difference approximation to the calculation can induce problems related to calculation accuracy. Therefore, additional considerations are required when implement. In contrast, [24][25][26][27][28][29] take power variation (ΔPpv) and voltage or current variation (ΔVpv or ΔIpv) as inputs. This can avoid the numerical inaccuracy and overflow problem when dealing with fixed-point division, and thus the calculation can be simplified. The inputs in [30] are dPpv/dIpv and error(t) (defined as PMPP − Ppv), while the inputs in [31] are error(t) and error variation (derror(t)/dt). Since the information of MPP should be obtained in prior, these methods are not suitable for practical implementation. The solar insolation and panel temperature are applied as FLC inputs in [32][33][34][35][36][37][38][39]; however, most of the small PV systems are not equipped with these sensors, and hence these methods are not suitable for low cost PGS.
In terms of the design of the input/output membership functions (MFs), the following methods are proposed in the literatures to optimize the FLC MFs: genetic algorithm (GA), particle swarm optimization (PSO) and Hopfield artificial neural network (ANN) [12][13][14]28,40]. Among these methods, PSO is simple and easy to implement. In addition, for MF optimization problems, the encoding of PSO is easier than GA. As for control schemes, typical dual-input fuzzy logic controller that employs 9 to 49 rules is often adopted for control schemes [11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29]. The amount of the rules is depending on the numbers of linguistic variables in input MFs. Nevertheless, these methods share similar implementation complexity. On the other hand, a three-input FLC is proposed in [41]. In addition to conventional FLCs, various techniques can be used to further improve the performance. For example, ANN is applied to assist FLC in [32][33][34][35][36] with solar irradiance and cell temperature as the input variables. However, ANN technique needs a great amount of training data to acquire reasonable results, which could limit its application. Aim to enhance the FLC efficiency, fuzzy cognitive networks [15,37] and Takagi-Sugeno (T-S) fuzzy technique [38,39] are also employed to improve the tracking speed. Due to that the calculation of these methods is more complicated; these methods are hard to realize using low-cost microcontrollers compared with conventional FLC. Finally, FLC can also be used to assist conventional MPPT techniques such as P&O and incremental conductance methods [22,42,43]. This study investigated an MF design methodology that can improve the effectiveness of FLC-based MPPT methods. Due to the asymmetrical characteristic of the solar cell P-V curve, asymmetrical MF is proposed to have a better performance. It can be observed from the ∆P-∆V curve that even the same voltage step ∆Vpv is applied, the power variations on both left and right half planes of MPP are quite different the ∆Ppv on the left is smaller. This difference cannot be implemented in the rule base. Therefore, the MF of ∆Ppv in this article is suggested to be asymmetrical to enhance the performance. In addition, two methods are proposed to obtain appropriate input MF setting values. Firstly, this paper thoroughly introduces the FLC-based MPPT system architecture used in this study, including information on related designs and considerations for the input and output MF, rule base, and inference engine. To increase the effectiveness of the FLC-based MPPT method, two methods that can be used to determine the input MF setting values are then proposed. The first method rapidly determines the input MF setting values according to the P-V curve of solar cells under standard test conditions (STC, i.e. 1000 W/m 2 , 25 °C). This method can improve the effectiveness of FLC-based MPPT methods and adopts a simple method design. The second method applies the particle swarm optimization (PSO) technique to obtain the optimized input MF setting values. Due to the fact that the PSO approach must target a cost function to optimize, the methodology of designing the cost function which meets the performance requirements of PGS is also proposed. Finally, after obtaining the optimized input MF setting values, an inexpensive digital controller was adopted to implement the proposed FLC-based MPPT method. To validate the correctness and effectiveness of the proposed system, the simulations and experiments are then conducted. As shown in the simulated and experimental results, the proposed asymmetrical FLC-based MPPT method can surely shorten the tracking time and increase the tracking accuracy compared to the traditional P&O and symmetrical FLC-based MPPT algorithm. The rest of the paper is organized as follows: Section 2 presents the system configuration. Section 3 explains the derivation of the symmetrical FLC-based MPPT controller. Section 4 describes the derivation of the proposed asymmetrical FLC-based MPPT controller. The PSO-based approach to determine the optimized MF setting values is proposed in Section 5. Experimental results are provided in Section 6. Finally, a simple conclusion is given in Section 7.

System Configuration
The block diagram of the proposed system is shown in Figure 1. From Figure 1, the whole system can be divided into three major parts: PV simulator, energy conversion unit and main control unit. Detailed descriptions about each unit will be given in the following subsections: (a) PV simulator: A TerraSAS DCS80-15 solar array simulator (SAS) from AMETEK Corp. (Berwyn, PA, USA) is adopted as the input power source in this paper. This simulator features long-term recording function with the recording time interval as short as 0.05 s. The recorded data will be stored in a spreadsheet file for validating the effectiveness of the proposed method.
(b) Energy conversion unit: the energy conversion unit is used to supply the power to the load. The energy conversion unit utilized in this paper is a simple boost DC-DC converter, as shown in Figure 1. By appropriately controlling the PWM signal, the maximum available PV energy can be transferred to the load. Since the design and implementation of this circuit is conventional, it won't be discussed further here [44], (pp. [22][23][24][25][26][27]. The voltage conversion ratio of a boost converter can be expressed as: where Vin is the input voltage; Vo is the output voltage; and D represents the duty cycle. Assuming the conversion efficiency of the boost converter is 100%, relationship between the output current and the input current can be written as: From Equations (1) and (2), when duty cycle varies, relationship between the input impedance and the output load of the boost converter can be described using Equation (3): where RL is the load.
(c) Main control unit: As also shown in Figure 1, the main control unit sends the PWM signal to the boost converter to track the peak power available from PV panel. A low cost dsPIC33FJ16GS502 digital signal controller (DSC) from Microchip Corp. (Chandler, AZ, USA) is used in this study to complete the MPPT algorithm. The utilized DSC gathers and analyzes both voltage and current data of PV panel from the A/D module. After obtaining the required PV panel data, a simple moving average filter is employed to smooth out the acquired signals. The equation describing a 16 points moving average filter can be expressed as Equation (4): where n refers to the present sample instant; X is the PV voltage or current sampled data; and Y is the filtered PV voltage or current. After the filtered PV voltage and current are obtained, the gating signals are then decided by the developed MPPT controller. From Figure 1, the MPPT algorithm will determine a voltage command V * from the filtered PV voltage and current, and a compensation circuit (PI controller) will be utilized to generate the needed gating signals. In this paper, the PI controller is also implemented in the DSC. The design of PI controller is also conventional, hence will not be discussed further here [44], (pp. 348-354).  Figure 2 shows the equivalent circuit of the PV cell, the I-V characteristic of the PV cell can be described by Equation (5):

Derivation of the Symmetrical FLC-based MPPT Controller
where Vpv is the panel voltage; Ipv is the panel current; RS is the equivalent series resistance; RP is the equivalent shunt resistance; n is the ideality factor; k is the Boltzmann constant; q is the electron charge; TK is the temperature in Kelvin; and Ig and IS are the photogenerated current and saturation current, respectively.   The detailed block diagram of the symmetrical FLC-based MPPT controller is shown in Figure 4. From Figure 4, the proposed FLC-based MPPT controller consists of input/output MFs, a fuzzy inference engine, fuzzy rules and a defuzzifier. Observing Figure 3c, the absolute value of dPpv/dVpv of a PV panel varies smoothly; therefore it can be used as a suitable parameter for determining the step size of the proposed MPPT algorithm. Consequently, power variation (ΔPpv) and voltage variation (ΔVpv) from the solar cell are used as the inputs of the proposed FLC. In this paper, variation of voltage command ΔV * is chosen as the output of the proposed FLC. Generally, the shape of MFs in FLC can be in triangular, trapezoidal, symmetric Gaussian function, generalized Bell curve and sigmoidal function forms. In this paper, the input and output MFs are all in triangular form. Triangular MFs are selected because they are simple and hence suitable for low cost microcontroller implementation. In this paper, the MF setting values of the utilized symmetrical FLC-based MPPT controller are determined using the method similar to that proposed in [29]. For linguistic variables shown in Figure 4, P means positive while N means negative. B, S, and ZE are defined as big, small and zero, respectively. From Figure 4, each of the input variables ΔPpv and ΔVpv is mapped into five different linguistic values. Therefore, the proposed FLC will contain 25 different rules. The complete set of the fuzzy control rules for the proposed system is shown in Table 1 and will be explained as follows. In this paper, ΔVpv and ΔPpv are taken as the inputs and ΔV * is chosen as the output; therefore, the control rule should be determined according to the relationships between these variables. Figure 5 shows a typical P-V curve of a PV panel. From Figure 5, the operation of the PGS can be divided into six operating conditions: 1. ∆Ppv/∆Vpv is positive and ∆Vpv is positive, which indicates that the OP lies on the left-hand side of MPP and the OP is moving toward MPP (pink arrow in Figure 5). In this situation, the control variable (Vpv) should increase; hence ∆Vpv is positive (pink area in Table 1). 2. ΔPpv/ΔVpv is positive and ΔVpv is negative, which indicates that the OP lies on the left-hand side of MPP and the OP is moving outward from MPP (blue arrow in Figure 5). In this situation, the control variable (Vpv) should increase; hence ΔVpv is positive (blue area in Table 1). 3. ΔPpv/ΔVpv is negative and ΔVpv is positive, which indicates that the OP lies on the right-hand side of MPP and the OP is moving outward from MPP (orange arrow in Figure 5). In this situation, the control variable (Vpv) should decrease; hence ΔVpv is negative (orange area in Table 1). 4. ΔPpv/ΔVpv is negative and ΔVpv is negative, which indicates that the OP lies on the right-hand side of MPP and the OP is moving toward MPP (green arrow in Figure 5). In this situation, the control variable (Vpv) should decrease; hence ΔVpv is negative (green area in Table 1). 5. ΔPpv equals zero, which indicates that the OP lies on the MPP (MPP1 or MPP2 in Figure 5).
In this situation, the control variable (Vpv) should remain the same; hence ΔVpv is zero (yellow area in Table 1). 6. ΔVpv is zero but ΔPpv does not equal zero, which indicates that the irradiance level has changed (grey arrow in Figure 5). In this situation, the control variable (Vpv) should increase/decrease if ΔPpv is positive (irradiance level increase)/negative (irradiance level decrease); hence ΔVpv is positive/negative. (grey area in Table 1).
Next, by following the design principles stated below, the magnitude of the output variable ∆Vpv can then be determined. From Figure 5, it can also be observed that when the OP is far from the MPP, like point A or B, a larger ∆Vpv is required to rapidly reach the MPP. On the other hand, when the OP is close to the MPP, like point C or D, a smaller Vpv will be used to reduce the steady state oscillation. Hence, the value of |∆Ppv/∆Vpv | can be utilized to determine the output magnitude. Based on these concepts, a complete set of fuzzy rules for the proposed FLC is given in Table 1. In Table 1, darker color represents larger number while lighter color indicates smaller number.   The defuzzification method used in this paper is the commonly used center of gravity method as shown in Equation (6): where Yi is the inference result of rule i; Xi is the corresponding output of rule i; and YCOG is the output.

Concept of Asymmetrical FLC-Based MPPT Controller
In Section 3, the design procedures of the symmetrical FLC have been explained. To improve the performance of the proposed FLC, the derivation of asymmetrical input MF will now be explained. Figure 6 shows a typical P-V curve of a PV panel which can be used to design an asymmetrical FLC-based MPPT controller. With a fixed step size ∆Vpv, the power variation ∆Ppv is large at the right-hand side of the P-V curve, and is small at the left-hand size. Therefore, it is straightforward to design an asymmetrical MF for the proposed FLC-based MPPT controller according to this characteristic. In this paper, two designing methods are proposed, and will be describe in detail as follows.    It should be noted that although this method can efficiently determine the MF setting values of ∆Ppv with quite satisfactory performance, it cannot guarantee to obtain the optimal solution. To further improve the performance of the proposed asymmetric FLC-based MPPT controller, a PSO-based MF optimization method is also proposed in this paper, which will be explained in detail in Section 5. Figure 8 shows the MF optimization concept used in this paper. From Figure 8, there are four parameters (dP_PB, dP_PS, dP_NS and dP_NB) that should be determined. (with dP_ZE = 0). If each parameter is divided into 100 levels, the total numbers of simulations required using the grid search method as proposed in [29] will be 10 8 , which is tedious and requires a lot of simulation time. To deal with this issue, a variety of artificial intelligent (AI) methods have been proposed in the literatures to obtain the optimal configuration of the MFs. These AI methods include GA, PSO and Hopfield ANN [12][13][14]28,40]. Among these methods, the PSO provides a simple and effective approach that can be applied to optimization problems which have many local optimal points. Therefore, it is chosen in this paper to determine the optimized MF setting values of ∆Ppv. Detailed description of the proposed PSO-based optimization method is presented as follows.

Basic Concept of PSO
PSO is a swarm intelligence optimization algorithm developed by Eberhart and Kennedy in 1995, and inspired by the social behavior of flocking birds and schooling fishes. In this algorithm, several cooperative agents are used to exchange information obtained in its respective search process. Each agent is referred to a particle following two simple rules, i.e., following the best performing particle, and moving towards the best position found by the particle itself. Through this way, each particle eventually approaches an optimal or close to optimal solution. The standard PSO method can be defined using the following equations [45]: where xi and vi denote the position and the velocity of particle i, respectively; k is the iteration number while w is the inertia weight; r1 and r2 are random variables uniformly distributed within [0,1]; and c1, c2 are the cognitive and social coefficients. The variable pbest,i is set to store the best position that the i-th particle has found so far, and gbest is set to store the best position among all particles. The flowchart of a basic PSO algorithm is illustrated in Figure 9. From Figure 9, the operating principles of a basic PSO method can be described as follows: Step 1: PSO Initialization Particles are usually initialized randomly following a uniform distribution over the search space, or are initialized on grid nodes that cover the search space with equidistant points. Initial velocities are taken randomly.

Step 2: Fitness Evaluation
Evaluate the fitness value of each particle. Fitness evaluation is conducted by supplying the candidate solution to the cost function.

Step 3: Update Individual and Global Best Data
Individual and global best fitness values (pbest,i and gbest) and positions are updated by comparing the newly calculated fitness values against the previous ones, and replacing the pbest,i and gbest as well as their corresponding positions as necessary.

Step 4: Update Velocity and Position of Each Particle
The velocity and position of each particle in the swarm is updated using Equations (7) and (8).

Step 5: Convergence Determination
Check the convergence criterion. If the convergence criterion is met, the process can be terminated; otherwise, the iteration number will increase by 1 and go to step 2.

Application of PSO to Optimize the MF Setting Values of ∆Ppv
The MF optimization problem can be described as: Maximize FLC_Fit_value (dP_PB, dP_PS, dP_NS, dP_NB) Subject to dP_PB > dP_PS > 0, 0 > dP_NS > dP_NB, dP_PB < POSmax and dP_NB > NEGmax The complete implementation steps of applying PSO to optimize the MF setting values of ∆Ppv are presented as follows: Step 1: Parameter Selection From Figure 8, the parameters to be optimized are dP_PB, dP_PS, dP_NS and dP_NB. By changing the parameter values, the MF will shrink or expand. Therefore, the particle in the proposed PSO method is a vector with four elements, and these particles will keep changing until an optimal value is reached. It should be noted that these obtained parameters should meet the inequality constraints. From Figure 7, the maximum ∆Ppv value along the P-V curve is 91. Therefore, the boundary value for POSmax and NEGmax are chosen as 100 and −100, respectively. In PSO, a larger number of particles result in better obtained results. However, a larger number of particles also lead to longer computation time. Since the MF optimization problem is an off-line optimization problem, the computation time is not very important. Hence, a typical value of particle number N = 50 is chosen in this paper.

Step 2: PSO Initialization
In PSO initialization phase, particles can be placed at a fixed position or be placed in space randomly. According to [45], uniform random initialization is the most popular scheme in PSO due to the necessity for equally treating each part of a search space with unrevealed characteristics. Therefore, the particles are initialized using uniform random initialization technique.

Step 3: Perform the Simulation
According to the MF setting values of each particle, simulations are conducted under a step change in solar irradiation from 0 W/m 2 to 200 W/m 2 , 400 W/m 2 , 600 W/m 2 , 800 W/m 2 and 1000 W/m 2 for the proposed system. To take every tracking situation into account, the simulation is carried out using two initial conditions-initial voltage command value equals to 10% of Voc (representing the tracking from left to right along the P-V curve) and 95% of Voc (representing the tracking from right to left along the P-V curve). The tracking results will be recorded and utilized for fitness value calculation.

Step 4: Fitness Evaluation
The goal of the proposed MPPT algorithm is to simultaneously maximize the generated power and minimize the MPP tracking time. Hence, the cost function is defined in Equation (9) and is composed of 30% transient response and 70% steady state response. Figure 10 shows how these parameters are defined in this paper. The transient response is defined as the amount of rise time tr during the total testing time tf and is displayed as a percentage. The rise time is defined as the time required for the output power level to reach 90% of the maximum power level. From Equation (9), it can be observed that the shorter the rise time, the score of the transient response will be higher. On the other hand, the steady state response is the MPPT efficiency displayed as a percentage and is defined as the sum of the tracking efficiency during the period from the rise time tr to the total testing time tf (i.e., power obtained by the simulated algorithm divided by the sum of maximum available power during steady state). In most papers, only tracking performances under STC is considered. To take a more realistic operating condition into account, five distinctive levels of irradiance (200 W/m 2 , 400 W/m 2 , 600 W/m 2 , 800 W/m 2 , 1000 W/m 2 ) were adopted to determine the system performance in this study. According to the distribution of daily sunshine in Taiwan, various levels of sunshine intensity exhibit unequal sunshine durations. Thus, the contribution of different irradiance levels to PGSs differs. Therefore, the cost function value for each irradiance level will be multiplied by the corresponding weight values, and the sum of their products were calculated as the final fitness value, as shown in Equation (10). In this article, the irradiance levels are divided into 5 levels: 200 W/m 2 (the irradiance level is between 0 W/m 2 and 200 W/m 2 ), 400 W/m 2 (200~400 W/m 2 ), 600 W/m 2 (400~600 W/m 2 ), 800 W/m 2 (600~800 W/m 2 ) and 1000 W/m 2 (800~1000 W/m 2 ). The output power for each irradiance level using a VBHN220AA01 solar panel (Sanyo, Moriguchi, Osaka, Japan) is then accumulated and the weights of these five irradiance levels are then calculated accordingly. For the cost function shown in Equation (10), a higher value means that the performance is better: where 200 = 0.054; 400 = 0.112;600 = 0.273;800 = 0.344;1000 = 0.217.

Step 5: Update Individual and Global Best Data
The fitness value of particle i is set to be the new pbest,i, if it is better than the best value in history, note as pbest,i. Then, the best fitness value among all particles is chosen to be gbest. These steps are similar to step 3 of the standard PSO method.

Step 6: Update Velocity and Position of Each Particle
After all the particles are evaluated, the velocity and position of each particle in the swarm needs to be updated. In conventional PSO method, Equations (7) and (8) are used to perform the update, in which the parameters w, c1 and c2 are constants. To speed up the convergence, the parameter w here is set as a variable, thus Equation (7) can be rewritten as: In Equation (11), the first term w(k)vi(k) is utilized to keep the particle heading in the same direction as it used to be; therefore, it controls the convergence behavior of PSO. To accelerate convergence, the inertia weight shall be selected such that the effect of vi(k) vanishes during the execution of the algorithm. As such, a decreasing value of w with time is preferable. A common way is to initially set the inertia weight to a larger value for better exploration and gradually reduce it to get improved solutions. In this paper, a linearly decreasing scheme for w is used, as shown in Equation (12) [45]: In Equation (12), wmin and wmax are the lower and upper bounds of w; and kMAX is the maximum allowed number of iterations. In this paper, wmin = 0.1, wmax = 1.0, kMAX = 300, c1 and c2 are chosen as c1 = 1 and c2 = 2 for better global exploration.

Step 7: Convergence Determination
After completing all the simulations in the i-th iteration, fitness values can be evaluated and convergence criteria can then be checked. Two convergence criteria are utilized in this paper. If the velocities of all particles become smaller than a threshold, or if the maximum number of iterations is reached, the proposed MPPT algorithm will stop and output the obtained gbest solution. In this paper, the maximum allowable iteration number is set as 300. If the convergence criterion is met, the process can be terminated; otherwise, the iteration number will increase by 1 and go to step 3.  Figure 11 shows the obtained gbest value for each iteration. From Figure 11, the obtained optimal solution converges after 175 iterations. Figure 11. Convergence profile.

The obtained Optimal MF Setting
The obtained optimal solution gives the shape of the MFs shown in Figure 12. Simulated and experimental results for MF settings obtained in Section 4.2 and Section 5.2 will be provided in Section 6 for comparison. Figure 12. The obtained optimal MF setting.

Experimental Results
In this paper, a 300 W prototyping circuit is implemented from which experiments are carried out accordingly. The proposed algorithm will be validated by both simulations and experiments. In this study, the simulations are carried out using systems implemented in MATLAB, and the experiments are performed using an AMETEK TerraSAS DCS80-15 Solar Array Simulator in SAS mode as a power source. The parameters of the utilized PV panel are listed in Table 2 and the specifications of the utilized power converter are listed in Table 3.  In order to validate the effectiveness of the proposed MPPT controller, simulations and experiments will be carried out using the following algorithms: Two P&O MPPT methods with different perturbation step settings, one symmetrical FLC-based MPPT method and two asymmetrical FLC-based MPPT methods with different settings. All tests are conducted under the same power circuit. The parameters used in each MPPT algorithm are listed in Table 4. In this paper, low cost DSC dsPIC33FJ16GS502 from Microchip Corp. is used to realize the five algorithms mentioned above. Using a 40 MHz oscillator, the required execution times of the P&O MPPT, the symmetrical FLC-based MPPT and the asymmetrical FLC-based MPPT are 1.5 μs, 120 μs and 120 μs, respectively. In this paper, the updating period of all the five implemented MPPT algorithms are 200 ms. A photo of the experimental setup and the testing environment is shown in Figure 13.   Figure 14 shows the starting waveform of these five methods for 200 W/m 2 solar irradiance and 25 °C PV panel temperature, and Figure 15 shows the starting waveform of these five methods for 1000 W/m 2 solar irradiance and 25 °C PV panel temperature. Observing Figures 14 and 15, the P&O method with large step shows good dynamic performance, but larger steady state oscillations which makes the MPPT accuracy low. On the contrary, using a small step can improve the tracking accuracy at the cost of slower dynamic performance. The dilemma can be solved by using the asymmetrical FLC-based MPPT methods shown in Figures 14 and 15. It can be seen that although the transient time of the proposed method is slightly higher than the P&O method using large step size, the oscillation around the MPP is much smaller. It should be noted that although the FLC-based MPPT method can successfully address the tracking speed/tracking accuracy problem, it fails to track the real MPP when irradiance level is 200 W/m 2 . This fact conforms that when determining MF setting values, various operating conditions should all be considered to obtain a better performance. The performance of the methods under testing is summarized in Tables 5 and 6. In these tables, the tracking accuracy values are obtained using the built-in data logging function of the solar array simulator. The system begins to record the accuracy data as it reaches steady state, and the recorded data contains 1200 points with 60 seconds of recording time and sampling rate of 20Hz.  Tables 5 and 6, the tracking accuracies of the optimal asymmetrical FLC-based MPPT methods are better than both of the P&O method under different operating conditions. It can also be learned from Tables 5 and 6 that asymmetrical FLC-based MPPT methods can improve tracking speed over the symmetrical FLC-based MPPT method. Although the asymmetrical FLC-based MPPT method discussed in Section 4.2 does not have optimal tracking speed and accuracy, the design procedure is simple and its performance is still better than that of symmetrical FLC-based MPPT method. The thing worth mentioned is that the only difference between these two methods is the design of the ΔPpv MF; hence, the implementation complexity is the same. In summary, the asymmetrical FLC-based MPPT method can enhance the tracking speed and tracking accuracy over the symmetrical FLC-based MPPT method without increasing the calculation burden. To further validate the performance improvement of the proposed methods, simulations and experiments results for five different irradiance levels (200 W/m 2 , 400 W/m 2 , 600 W/m 2 , 800 W/m 2 , 1000 W/m 2 ) are also provided. These obtained data is used to compute the fitness values as defined by Equation (10), and the calculated fitness values are provided in Table 7. From Table 7, asymmetrical FLC-based MPPT method #2 have the best fitness value, which validates that PSO can be successfully applied to optimize the MF settings.

Conclusions
In this paper, an FLC-based MPPT method is proposed. The design and implementation of the proposed method is discussed in detail. To further improve the performance of the proposed MPPT method, two design methodologies are presented to determine the input MF setting values. The first method determines the input MF setting values according to the P-V curve of solar cells under STC. Comparing with the symmetrical FLC-based MPPT method, the transient time and the MPPT tracking accuracy are improved by 25.2% and 0.05% under STC, respectively. Moreover, since the symmetrical FLC-based MPPT method fails to track the real MPP when irradiance level is low and asymmetrical FLC-based MPPT method can successfully deal with this problem; therefore, the improvement of tracking accuracy will be more significant under low irradiance levels. The advantages of the first design method is that it is simple and easy to adopt. The second method applies the PSO technique to obtain the optimized input MF setting values. Compared with the first design method, the transient time and the MPP tracking accuracy can further be improved by 0.88% and 0.93%, respectively. This proves that PSO can be successfully applied to obtain the optimized MF setting values. In addition, since the PSO approach must target a cost function and optimize, a cost function design methodology that meets the performance requirements of practical PGSs is also proposed. According to the simulated and experimental results, the fitness values of the proposed two asymmetrical FLC-based MPPT method are both higher than those of P&O and conventional symmetrical FLC-based MPPT methods.