FPGA Implementation of a Robust MPPT of a Photovoltaic System Using a Fuzzy Logic Controller Based on Incremental and Conductance Algorithm

—Climate dependence requires robust control of the photovoltaic system. The current paper is divided in two main sections: the first part is dedicated to compare and evaluate the behaviors of three different maximum power point tracking (MPPT) techniques applied to photovoltaic energy systems, which are: incremental and conductance (IC), perturb and observe (P&O) and fuzzy logic controller (FLC) based on incremental and conductance. A model of a photovoltaic generator and DC/DC buck converter with different MPPT techniques is simulated and compared using Matlab/Simulink software. The comparison results show that the fuzzy controller is more effective in terms of response time, power loss and disturbances around the operating point. IC and P&O methods are effective but sensitive to high-frequency noise, less stable and present more oscillations around the PPM. In the second section, the FPGA platform is used to implement the proposed control. The FLC architecture is implemented on an FPGA Spartan 3E using the ISE Design Suite software. Simulation results showed the effectiveness of the proposed fuzzy logic controller.


INTRODUCTION
The electrical energy produced by photovoltaic systems is very interesting and a modern topic of power generation.However, the costs of PV arrays are relatively high, and the efficiency of the energy conversion is quite low.Therefore, the electric power generated by the PV arrays should be efficiently used.In a direct coupled (with no battery storage) PV system, the solar cell arrays are directly connected to the motor load couple.These systems are relatively simple and inexpensive to operate.A direct coupled system may include a maximum power point tracker (MPPT) to improve its performance at starting and at steady state operation whenever it is needed.Many researches on photovoltaic techniques [1][2][3] have been carried out in order to increase the efficiency of these panels, and to extract their maximum energy while designing reliable and stable systems.There are different methods of PPM tracking such as IC [4][5][6], parasitic capacitance method [7], P&O method [8], etc.They are based on the regulation of the current or voltage of the photovoltaic generator according to climatic conditions.As a result, the uncertainties associated with these conditions have decreased the reliability of these techniques, especially as a result of changes in sunlight and temperature.Artificial intelligence techniques such as neural networks [9] and fuzzy logic [10,11] have the characteristics of adaptive and versatile mechanisms and are able to improve the performance of the control system in the presence of these uncertainties.
In addition, a software implementation of the FLC developed on general purpose cannot be regarded as a suitable solution for such applications, especially when it is used as an MPPT controller for autonomous PV applications.In this case, FLC was usually implemented in microcontrollers [12] and/or in digital signal processors (DSPs) [13].Simulation and experimentation results showed the advantages of FLC over conventional P&O.This proposed technique was able to reduce steady-state oscillations and improve the convergence speed of the operating point.These devices can provide considerable performance, but they do not offer the advantages that FPGA (field-programmable gate array) devices can offer for the implementation of certain commands.With the progress in microelectronics, real time applications use intelligent techniques and new hardware design solutions such as FPGA.They are suitable for the implementation of control algorithms such as fuzzy logic controllers.These circuits allowed the reduction of the execution time by adopting parallel processing, rapid design prototyping and improved MPPT control of the photovoltaic panel quality by exploiting new digital system technologies [9,15,16].From the results of these works, it can be deduced that the MPPT is reached quickly, especially under rapidly changing climatic conditions, the response time is improved, the exceedance and the oscillations are extremely reduced and therefore the energy losses are reduced.All these advantages of real time implementation form a necessity for MPPT control.

A. Modelling of the Photovoltaic Panel
The PV module converts light into electricity.The electrical characteristics of the photovoltaic panel depend on the irradiation and the temperature.Figure 1 shows the complete system simulated in Matlab/Simulink.The photovoltaic cell is modeled by ( 1)-( 6) [16][17][18] that define the static behavior of the P-N junction of a conventional diode.The electrical model of the PV cells is shown in Figure 2. The PV parameters used in the model are summarized in Table I.

B. Modelling of the Buck Converter
Buck converter is a DC-DC converter.It adjusts the energy transfer between the photovoltaic generator (PVG) and the DC load and allows the reduction of the voltage.The buck converter model is illustrated in Figure 3.The output voltage and current of the buck converter are expressed in: where α is the duty cycle of the buck converter, 0<α<1.The parameters of the buck converter connected to the PV generator are presented in Table II.Perturb and Observe (P&O) is one of the most popular MPPT techniques used in a photovoltaic power system.This method uses the current/voltage measurements delivered by the PVG to calculate maximum power.

B. MPPT Based on Incremental and Conductance
The IC method is often applied in photovoltaic systems.It tracks the MPP by comparing the instantaneous and incremental conductance of the source under consideration.The question asked of the IC method is similar to that of P&O.
The fixed step size is generally adopted, which determines the accuracy and speed of the MPPT response.Figure 5 illustrates the algorithm of the IC method.Recently, several methods have been used to extract maximum power of the PVG [4-11, 9, 14-24].In order to design an MPPT controller not only efficient, but also able to operate properly under all variations, we used fuzzy logic control which is one of the most known control techniques of the MPPT [10,11,[21][22][23].In addition, the IC method is often applied in photovoltaic systems.It tracks the by comparing the instantaneous and incremental conductance of the source under consideration.The issues of the IC method are similar to the ones of the P&O method.The fuzzy logic converges quickly, although it can operate with inaccurate inputs, and does not require a perfectly well-known mathematical model.Therefore, we have combined the IC method into a fuzzy logic controller.The fuzzy controller inputs are modeled by ( 9) and ( 10), the result of the incremental and conductance algorithm is presented in (8) [4][5][6].
The proposed control model simulated with the use of Matlab/Simulink is shown in Figure 6.Triangular membership functions for the fuzzification process are employed.For inputs E, dE and Duty output, 5 belonging functions have been identified depending on the following linguistic variables: Grand negative (GN), Negative (N), Zero (Z), Positive (P) and Grand positive (GP).The range for the error is (0.02 to 0.2), for the error change is (-0.4 to 0.4) and for the duty cycle increment is (-0.1 to 0.1).The degree of membership function of the input and the output of the PV is described in Figure 7.According to the choice carried out for the fuzzification of the input and the defuzzification of the output, there are 25 inference rules on the fuzzy controller database.We use the

IV. SIMULATION OF THE SOLAR CONVERSION SYSTEM
The solar conversion system is composed of four photovoltaic panels connected in parallel, a buck converter and a DC load.To guarantee maximum power delivered by the photovoltaic generator, a control based on the fuzzy logic is implemented (based on IC).This has two inputs (the voltage and the current delivered by the GPV) and allows the estimation of the duty cycle used to control the chopper.The solar radiation varies between 600 and 1000W/m 2 , and the temperature is considered constant during the simulation.The radiation, the output power and the duty cycle are plotted in Figure 8.It is worth noting that the duty cycle and the power vary according to the climatic conditions.We can notice the rapidity and the performance of the MPPT against the variation of the radiation.The profiles of the output voltage, the current and the power are shown in Figure 8.When the radiation changes from 600 to 800W/m 2 , our control increases the duty cycle from 0.31 to 0.38 and the power from 160 to 206W.When the radiation decreases from 1000 to 700W/m 2 , the power and the duty cycle also decrease.Hence, they vary according to the radiation behavior.Figure 9 describes the output power profiles of the photovoltaic generator and the DC-DC buck converter for a progressive variation of the radiation starting from 600 to 800, 1000, 700W/m 2 to the value of 900W/m 2 .We note that the tracking of the maximum power point is efficient and without oscillations.In addition, the efficiency is optimal and the performance of the photovoltaic generator is greater than 94%.The simulation results proved the robustness of the proposed MPPT control against the variation of the solar radiation.In Figure 10, the variations of the current and the voltage are proportional to the variation of the power.Fig. 9.
Output power profiles of the photovoltaic generator and DC-DC buck converter.Figure 11 shows the simulation results of FLC, IC, and P&O algorithms, where the FLC is achieved with a fast response time and few oscillations.In terms of response time, the three algorithms gave the same rise time to optimal power during each sunshine variation.The oscillation around the MPP increased power losses and thus the efficiency of the PV system was reduced.The FLC operates with fewer oscillations around the MPP.The power difference between the FLC and the IC is about 3 and 6W compared to the P&O algorithm.

V. SIMULATION AND IMPLEMENTATION OF THE FUZZY LOGIC CONTROLLER ON FPGA
Researchers can increasingly optimize problems using suitable platforms.This work results from the need to investigate the fundamentals of electronic power control strategies, using fuzzy logic.In this section, we have to implement on the FPGA a FLC based on IC.It is applied to the photovoltaic conversion system.In some cases, the  For more precision and to have a synthesizable code able to be implemented in the FPGA, it is necessary to change the data type to fixed point and to add the IEEE-proposed library.Table IV describes some functions used in the VHDL program.A. Architecture of the fuzzy logic controller Mamdani's implication is the most popular method dedicated for the FLC [4][5][6].The fuzzy rule of this method is expressed in ( 12 where k=1, 2… 25.The various processes of the fuzzy logic controller are described in the functional diagram presented in Figure 12. The Mamdani method facilitates the hardware implementation thanks to the simple min-max structure.An overview of the internal structure of the controller is given by the functional diagram in Figure 12.Indeed, the fuzzification of the two input variables provides the linguistic values and the corresponding membership functions (B1... B5) and (B11… B15).In fact, the connection of the pairs of antecedents in the rule structure is based on an operator logical AND.Then all the rules are associated with a max operation using the bloc max of the diagram.Therefore, the weighted average method is considered as one of the defuzzification techniques, which is suitable for hardware implementation.Considering that the output membership functions are usually symmetrical, average of the fuzzy sets can be employed as weightings for the defuzzification process.In addition, this technique contains two arithmetic operations: multiplication processes with a constant and a single division process.The inputs / outputs of the analog-to-digital converter ADC and the analog-to-digital converter DAC existing in the Spartan 3E FPGA board are represented by 12 bits.Therefore, the size of the integer part and the decimal part of each input/output signal is chosen according to the actual value of the signal to be represented.For example, the input signals can be represented by a vector of 12 bits (m=7, n=5) because the value of the voltage cannot exceed the open circuit voltage which is equal to 92V.On the other hand, the output value varies between 0 and 1, thus, we have represented the duty cycle by 12 bits.For more precision, we chose to represent the decimal part by 10 bits.

B. Simulation Results
After having detailed our architecture, we have to simulate and implement it.The simulation results using the ISE Simulator are shown in Figure 13.After simulation, we notice that the output of the fuzzy logic controller d (duty cycle) tracked the variation of the input variables Vpv (voltage) and Ipv (current).In addition, the output PWM changes after any variation of the duty cycle d.The input variables Vpv and Ipv are represented by 12 bits: 7 bits for the integer number and 5 bits for the fractional number.Thereby, the output variable d is designed by 12 bits: 2 bits of the integer number and 10 bits of the fractional one.The proposed architecture shown in Figure 14 is a black box with inputs/outputs.The role of fuzzy logic is to process inputs and interpret them to give accurate outputs.This box is divided into different blocks that are interconnected with intermediate signals.The RTL architecture of the fuzzy logic controller obtained after the synthesis process by the Xilinx Synthesis Technology (XST) is illustrated in Figure 15.The FLC's RTL architecture is divided into 7 blocks.The role of the first block (Interface1_u) is the calculation of the controller inputs, the second block (fuzzify_u) plays the role of fuzzification.Then, the (infer_u) block is dedicated to creating fuzzy rules.The (defuzz_u) block allows reconverting the fuzzy output to the crisp output.Furthermore, the FPGA board card generates a frequency of 50MHz whereas the duty cycle is generated at a frequency of 30kHz.Therefore, the (divider_cl) block acts as a frequency divider.Indeed, the block (mux_D1) represents a flip-flop that puts the duty cycle to the controller output.The (mux_pwm) block is the intermediary between the control signal and the transistor component.

D. SynthesisRreport
To verify the architecture of the proposed system, simulations were performed using the ISE Design Suite, version 14.7.Information about the device utilization, after the synthesis process are given in Figure 16.The hardware resources used by the architecture of the proposed controller are negligible compared to the available ones on the chip.

E. Comparison and Discussion
Having obtained the proposed controller simulation results in real time, it is important to verify and justify these results.Thus, we compared the behavior of the fuzzy controller in both environments (Matlab/Simulink and ISE) for the following values of input variables (solar radiation between 600 and 1000W/m 2 , temperature equal to 25°C) during 5s.We compared the results of simulation of the duty cycle presented in Figure 8 and the values obtained in Table V. Figure 17 shows shows the coherent profile of the duty cycle carried out in both environments.The duty cycle varied between 0.33 and 0.4 for the same variation of the solar radiation (from 600 to 1000W/m 2 ).It is optimally changed after the variation of the solar radiation to track a maximal power from the PV module.The effectiveness of this method is evaluated with different simulation studies under Matlab/Simulink and ISE Design Suite.The proposed architecture of the MPPT was proved to be effective.Moreover, the output simulation by the ISE Design Suite is approximately identical to the one carried out using Matlab/Simulink environment.This study shows that the FPGA circuit can be used to develop a cost-effective and adaptable implementation of the MPPT control.

VI.
CONCLUSION The difficulties and the non-linearity of PV systems are influenced by the solar radiation and the temperature conditions, resulting in power losses and reduced efficiency.In the present paper, we developed a PVG controlled by a fuzzy logic control based on the incremental and the conductance using Matlab/Simulink environment.The proposed MPPT algorithm was compared with the traditional methods for nonlinear systems (P&O and IC).The conventional P&O and IC algorithms work with accepted time responses, minimization of maximum power, and more oscillations, which reduce the overall efficiency of the PV system.The proposed FLC has reduced these disadvantages according to different values of solar radiation.The simulation results indicated that the control with FLC is more efficient than the traditional methods.It has the advantage of reducing the disturbances when the PVG reaches its maximum power and as a result, the performance of the photovoltaic installation has been optimized.On the other hand, to reach a fast response time and to take into account the time constraints, we adopted a functional diagram to facilitate the VHDL programming and to make this control executable in real time.Thereby, the fuzzy logic controller based on the incremental and the conductance was developed and simulated in VHDL.The comparison of both results showed that the output parameters (duty cycle) reach all variations of the input parameters (voltage and current) of the GPV.Therefore, this study showed that the proposed architecture was an adequate solution for a real-time implementation.The implementation of FLC on FPGA increases the efficiency of MPPT control systems.In future works, we aim to apply the proposed strategy to other energy applications.

Figure 4
describes the operation of the algorithm (P & O).

Fig. 6 .
Fig. 6.Simulink model of the fuzzy logic controller

Fig. 7 .
Fig. 7.The membership function of duty cycle (c) and the two inputs of the fuzzy logic controller: (a) E, (b) dE.

Fig. 8 .
Fig. 8. Variation of duty cycle, power and radiation of the PV

Fig. 10 .
Fig. 10.Profile of the output current, voltage and power delivered by the PVG.
www.etasr.comAllani et al.: FPGA Implementation of a Robust MPPT of a Photovoltaic System Using a Fuzzy Logic … characteristics and the performance of the real-time implementation unjustified and unsatisfied the calculation of some arithmetic operations.In addition, the wrong choice of values can sometimes exceed the overflow limits in the results and give incorrect values.For this, the fixed point representation was chosen.Moreover, we must define by calculating the number of bits (m) which designate the integer part and the rest forms of the fractional part (n) [24].

Fig. 11 .
Fig. 11.Profile of the output power delivered by the PVG with FLC, IC, P&O and without MPPT.

Fig. 12 .
Fig. 12. Functional diagram of the fuzzy logic control

Fig. 13 .
Fig. 13.Simulation results of the fuzzy logic controller

Fig. 14 .
Fig. 14.The behavioral description of the controller

TABLE III .
INFERENCE RULES OF THE FUZZY CONTROLLER

TABLE IV .
Table V shows the simulation results of FLC inputs and outputs whose data are represented in real and hexadecimal numbers.
www.etasr.comAllani et al.: FPGA Implementation of a Robust MPPT of a Photovoltaic System Using a Fuzzy Logic …

TABLE V .
SIMULATION RESULTS OF THE INPUTS/OUTPUTS OF THE PROPOSED CONTROLLER