# Fuzzy Logic Control Algorithm

This concept applies expert knowledge only and does not need any exact model of control system design to work [26-29]. It provides the possibility of working under varying conditions (solar irradiation, temperature, dust, shading) and considers the aging of the PV equipment. This method applies some linguistic forms such as “many,” “low,” “medium,” “often,” and “few” [26]. The control process includes four stages: fuzzification, rule base, inference engine, and defuzzification (Figure 1.12).

The values of the membership function are assigned during the fuzzification stage to linguistic variables. The fuzzy-control system designer determines the number of linguistic variables, which is determined based on the accuracy of the desired output. For example, linguistic variables for the five fuzzy rule bases can be Negative Big (NB), Negative Small (NS), Zero (Z), Positive Small (PS), and Positive Big (PB) [26]. Larger numbers of linguistic variables generate more accurate and stable output characteristics in the design [30], though longer time is needed to get more accurate results. As a rule, the triangular shape is mostly used. However, various

FIGURE 1.12 Four stages of the fuzzy-logic control process [14].

membership function shapes exist such as Gaussian, trapezoidal, and triangular. The range of membership functions, the number of membership functions, and parameters (a and b) can be decided by known parameters of the proposed scheme [26]. If parameters are unknowns or unachievable, the trial-and-error method, based on user knowledge, can be applied [27]. Of course, this should be such that the input data covers the entire region of interest. The diagrams show that fuzzy inputs are variable, usually having an error (£) and change in error (Д£). The procedure to calculate E and AE is flexible and determined by the specific user. However, the approximation for dP/dV at MPP can be defined as:

where t is the sampling time, P(t) is the instantaneous power of the PV system, and V(t) provides the corresponding instantaneous voltage. The E(t) value shows the location of the operating load power point, which may be on the left or right side of the MPP or at the point of the MPP. AE(x) shows the direction of the operating power point change.

After the inputs of £ and AE have been estimated and converted to linguistic variables, the output signal D can be generated from the lookup rule base table (Table 1.1).

An additional advantage of FLC is the possibility to adjust the gaps between operating points, aiming at achieving MPPT. For example, the membership function (Figure 1.13) can be created such that it is denser in the middle of the range to get a more accurate output signal [14]. It should be noted that a fuzzy output signal is a consequence of a fuzzy understanding of the behavior of the entire system. It should be noted that the prior user knowledge for the formation of fuzzy rules can be formulated using the IF-THEN principle [29]. The commonly used Mamdani’s inference engine method uses the min-max operation in fuzzy operation [30]. Acceleration and deceleration represent environmental changes that affect the system. At the

TABLE 1.1

Rule Base Table for the Fuzzy Logic Controller [14]

 Д Е E NB NS Z PS PB NB ZE ZE NB NB NB NS ZE ZE NS NS NS Z NS ZE ZE ZE PS PS PS PS PS ZE ZE PB PB PB PB ZE ZE

FIGURE 1.13 The membership function of the fuzzy logic controller [14].

defuzzification stage, the FLC output controller converts the linguistic variables to numerical variables using the same membership function but with different user- defined ranges. The FLC output delivers a signal to control the power converter’s duty-cycle for the maximum output tracking. Owing to the defuzzification principle, the FLC can maintain the operating voltage (or current) of the PV array at its optimal value, ensuring GMPP even under partial shading conditions. Therefore, the energy output of a PV facility and its efficiency can be improved.

# Artificial Neural Network

The method of control by artificial neural networks (ANN) has significant advantages for solving nonlinear tasks. This leads to its increased use in various fields. It should be noted that the ANN is a system that has rather different control principles than other systems. Instead of having a typical and rigorously established set of deciding rules, it is characterized by a flexible self-organized structure that receives an input, processes the data, and provides output signals. The ANN functions based on sequential learning and need not be reprogrammed when environmental conditions change. It consists of input layers, hidden layers, and output layers. ANN is modeled as weights that connect the neural networks. Figure 1.14 represents the interconnection between i and j assigned by vv,y [31]. In other words, an artificial neural network can be seen as an interconnected group of nodes, like neurons in the brain. Each node (designated as a circle) represents an artificial neuron that is connected to another one. The connections between the output of the previous neuron and the input of the following one are represented by arrows.

The structure of ANN is compounded by nodes and interconnections, and is determined by a specific designer. The input variables in the ANN MPPT system can be selected from some PV array characteristics (open-circuit voltage, short-circuit current) and some input arguments such as solar irradiation, temperature, wind velocity, and so on. The output signals of the ANN can be used to control a power converter in some manner (for example, adjusting the duty-cycle) or to serve as input signals for another controller that is responsible for providing PV array which operates at the MPP. The first and the most important stage of ANN operations is the training (learning) process, aiming to predict the global MPP position of a specific PV array under various shading conditions. The learning stage includes constant observation of P-V or P-I curves during changing environmental conditions, with the optimal voltages (currents) causing GMPP being remembered [32]. In real situations, ANN based on the input signals points the position of global maximum to the MPPT controller. Then, the MPPT controller, considering the obtained information, leads to reduction in the inevitable error between the predicted and the accurate parameters of a voltage (current) ensuring GMPP.

Two topologies in the ANN connection are applicable: feed-forward neural networks (Figure 1.15) and recurrent neural networks (Figure 1.16). For the feed-forward ones, the input-output data are strictly feed-forward [33]. A detailed description of the data processing process can be found in Ref. [34]. However, some main differences between the two types are listed herein. The connections in feed-forward topologies between nodes in the same or previous layers are from the outputs to the inputs only. However, in recurrent topologies, it depends on dynamic characteristics. A special

FIGURE 1.14 The three layers of an ANN structure [31].

FIGURE 1.15 Multilayer feed-forward neural network [33].

FIGURE 1.16 The recurrent neural network topology with multiple hidden layers [36].

feedback with short-term memory is present that provides a relaxation period during which the input signals don’t change. This helps to consider the dynamic characteristics of ANN [34]. An ANN that combines fuzzy logic with a polar information controller has been proposed to enhance the MPPT for the PV system under partial shading conditions [35]. This work had MPPT based on a three-layer feed-forward topology ANN. The training process was fulfilled using several partially shaded PV arrays with the aim of finding the optimal PV voltage. The method developed in this work has been compared to the result obtained using the P&O, taking into consideration several shading patterns. The experimental comparison was carried out during different seasons over a span of some years. The tracking efficiency of the ANN method in finding the GMPP was found to be twice that of the P&O method.

# Differential Evolution

In 1996, Storn and Rice introduced an evolutionary algorithm called the Differential Evolution (DE) algorithm [37]. DE relates to the family of genetic algorithms (GA) and is based on procedures of the stochastic search. Thus, the DE operations are similar to GA: initialization, mutation, crossover, evaluation, and selection. This algorithm also searches variable vectors in the NP population.

## Initialization

This stage should be organized in an optimal manner to ensure that minimal time is taken to find a solution. Initial parameters, population, and maximum generation must be assigned at the beginning. The primary vector is randomly chosen from the entire search space [37]. Further, during the running of the DES algorithm, the y'th parameter is formed. The parameter should lie within a certain range to provide better search results. The parameter is initialized in a special range that has lower (a}) and upper (д:У) limits. At that time, they'th parameter in /th population is uniformly and randomly distributed between 0 and 1.

## Mutation

During this operation, all vectors are mutated to form a second variable (individuals) called a mutant vector, Vj (?). The individuals become a target vector for each generation. Three other vector parameters (r,,>2,and/-3) are randomly chosen from the current population to create V* (?) for the /'th population. The scalar number (F) scales the difference of any two of the three vectors, which is then added to the third one obtained from the mutant vector V, (t). The process creates a new /'th parameter in the population and can be expressed as:

## Crossover

The parent expands for the next generation during the crossover operation. The third individual produces a trial vector by combining the target vector and a mutant one. The DE algorithm consists of two different passage schemes: exponential and binomial schemes [38]. In the exponential passage, an integer n is randomly chosen among the numbers of [0, D,] and serves as a starting point for the target vector. Another integer, L, is also chosen from the interval of [0, Z),] to represent the number of components. The trial vector can be expressed as:

where

The angular bracket ( ) D denotes a modulo function with modulus D. For any m > 0,(L > m) = (CRIn the binomial passage, the passage is achieved on the D variables whenever a randomly picked number between 0 and 1 is within the CR value.