A Novel DSP-Based MPPT Control Design for Photovoltaic Systems Using Neural Network Compensator

: In this study, based on the slope of power versus voltage, a novel maximum-power-point tracking algorithm using a neural network compensator was proposed and implemented on a TI TMS320F28335 digital signal processing chip, which can easily process the input signals conversion and the complex ﬂoating-point computation on the neural network of the proposed control scheme. Because the output power of the photovoltaic system is a function of the solar irradiation, cell temperature, and characteristics of the photovoltaic array, the analytic solution for obtaining the maximum power is difﬁcult to obtain due to its complexity, nonlinearity, and uncertainties of parameters. The innovation of this work is to obtain the maximum power of the photovoltaic system using a neural network with the idea of transferring the maximum-power-point tracking problem into a proportional-integral current control problem despite the variation in solar irradiation, cell temperature, and the electrical load characteristics. The current controller parameters are determined via a genetic algorithm for ﬁnding the controller parameters by the minimization of a complicatedly nonlinear performance index function. The experimental result shows the output power of the photovoltaic system, which consists of the series connection of two 155-W TYN-155S5 modules, is 267.42 W at certain solar irradiation and ambient temperature. From the simulation and experimental results, the validity of the proposed controller was veriﬁed.


Introduction
Climate change and environmental pollution are the main issues in the world over the past two decades. The increasing depletion of fossil fuels to produce carbon is the cause of the problems. Thus, every country actively searches for renewable energy to achieve the goal of carbon neutrality. Among the renewable energies, the solar and wind energies are most popular and must be extracted by using power converters and control technology to become a stable power supply [1]. Recently, due to the ease of installation, the rapid growth in power electronics, and advanced control techniques, solar energy has become more and more popular in electric power applications [2][3][4][5]. In order to obtain the highest output efficiency of photovoltaic (PV) arrays, the techniques of the maximum power point tracking (MPPT) for solar energy conversion systems are necessary.
Many algorithms have been developed to provide maximum PV power, such as the perturbation and observation method, incremental conductance method, and hill-climbing method [6][7][8][9][10][11][12][13][14][15][16]. The perturbation and observation method, in which the duty cycle of the power converter is selected to be perturbed, is often used for the MPPT problem because it is easy to implement; however, an oscillation problem is inevitable [6][7][8][9]. The incremental conductance method is used to reduce oscillation by comparing the incremental and instantaneous conductance of the PV arrays, but the implemented circuit is more complex [10][11][12][13][14]. The hill-climbing method, in which the voltage of the PV array is selected to be perturbed, has the advantage of omitting the current feedback circuit, but its control algorithm is more complex [15,16]. Furthermore, the control algorithm of the short-circuit pulse-based MPPT method is simple and leaves out the voltage feedback circuit, but the drift of operating point due to partially shaded effect is still an open problem [17][18][19][20].
Conventionally, the solar energy conversion systems are composed of a PV array, a dc/dc converter, a dc/ac inverter, batteries, and a center-tapped transformer. Practically, the characteristics of PV output voltage and output current are determined by the number of solar irradiation conditions, ambient temperature, and electrical load characteristics. Thereby, the technologies of changing the location of the maximum power point must be developed in the applications of MPPT control in order to make the PV array obtain the optimal efficiency from solar energy at different operating conditions. Neural networks with multi-layer neurons are widely used to approximate an arbitrary input-output mapping of an uncertain PV system [21][22][23][24]. In [24], a neural-network-based MPPT control of a PV array is worked together with an interleaved boost converter using a fuzzy controller, which may complicate the system. Recently, a low-complexity MPPT algorithm that is based on the neural network model of the photovoltaic module was proposed, but it needs three variables including solar irradiance, temperature, and voltage as the inputs to the input layer of the neural network, in which the solar irradiance is also estimated by another three-layer neural network [25].
In this study, the uncertainties of solar irradiation conditions, cell temperature, and the electrical load characteristics in PV systems are compensated by a neural network, and the duty cycle of the dc/dc converter is determined by a proportional-integral (PI) controller, the parameters of which are determined off-line by a genetic algorithm (GA) with the help of MATLAB [26,27]. The control objective is to achieve MPPT for the PV system, including a solar cell array, a dc/dc converter, and an output load despite the variation in solar irradiation, cell temperature, and the electrical load characteristics in PV systems. By the simulation of MATLAB and implementation of a DSP TMS320F28335, a prototype PV system around 310W with an MPPT controller is built in this study.
The next section describes that the PV system output power is a function of the solar irradiation, cell temperature, and characteristics of the PV array. Moreover, the analytic solution for obtaining the maximum power is difficult to obtain due to its complexity, nonlinearity, and uncertainties of parameters. The innovation of this work is to obtain the maximum power of a PV system using a neural network, in which the variables of solar irradiance and temperature are not necessary as the inputs of the neural network, with the idea of transferring the MPPT problem into a current control problem. The current controller parameters are determined via a genetic algorithm for finding the controller parameters by the minimization of a complicatedly nonlinear performance index function. In addition, it only needs the PV array output voltage and current as the inputs of the neural network, which contains only six neurons totally. From experimental results, the validity of the proposed MPPT controller was verified under certain solar irradiation and partially shaded conditions. This paper is organized as follows: The materials for the PV system and the proposed control method are described in Section 2. The simulation verification in MAT-LAB/Simulink and the experimental results using a digital signal processing chip are presented in Section 3. Finally, the conclusions are in Section 4.

PV Array
A PV array consists of a number of series and parallel connections of PV modules, each of which consists of a number of series and parallel connections of PV cells. A PV cell is a nonlinear device, which consists of a light-generated DC current source I ph , a diode D, a resistance R sh shunt with this current source, and a series resistance R s . The equivalent circuit of the PV cell can be depicted in Figure 1, where I ph is directly proportional to the solar irradiance, the parallel resistance R sh illustrates the leakage current, and the series resistance R s represents the Ohmic losses [26].
A PV array consists of a number of series and parallel connections of PV modules, each of which consists of a number of series and parallel connections of PV cells. A PV cell is a nonlinear device, which consists of a light-generated DC current source ph I , a diode D , a resistance sh R shunt with this current source, and a series resistance s R . The equivalent circuit of the PV cell can be depicted in Figure 1, where ph I is directly proportional to the solar irradiance, the parallel resistance sh R illustrates the leakage current, and the series resistance s R represents the Ohmic losses [26].    In general, for simplicity, R sh and R s can be neglected. The simplified mathematical model of the output current of the PV cell is given as where q is the electric charge, k is the Boltzmann's constant, T is the cell surface temperature ( • K), p is the cell ideality factor (p = 1∼5), and I rs is the cell reverse saturation current. The mathematical model of the reverse saturation current is given as follows: where T r is the reference temperature, I rr is the reverse saturation current at the reference temperature, and E gp is the band gap energy (E gp ≈ 1.1 eV). Let N p be the number of PV cells in parallel and N s be the number of PV cells in series in a PV module. Then the output current I PV of a PV module is given as where V PV is the output voltage of the PV module, I sc is the short-circuit current of the PV module and expressed as I sc = N p I ph (4) While the PV module is open-circuit, the output current I PV is zero. Then the cell reverse saturation current in (1) can be obtained from (3) as where V oc is the open-circuit voltage of the PV module. In addition, the short-circuit current of the PV module varied according to solar irradiation and cell temperature is given below: where I scr is the short-circuit current at the reference temperature and solar radiation, K I the short circuit current temperature coefficient at the reference temperature and solar radiation, and λ is the solar irradiance (W/m 2 ). The open-circuit voltage of the PV module varied according to cell temperature is given below: where V ocr is the open-circuit voltage at the reference temperature and K V is the open-circuit voltage temperature coefficient at the reference temperature. Furthermore, let n p be the number of PV modules in parallel and n s be the number of PV modules in series in the PV array of a PV system. Then the output current of the PV array is given as i pv = n p I sc − n p N p I rs (e qvpv ns Ns pkT − 1) The output power of PV array is expressed as follows: The power versus voltage curves for different solar irradiation and temperature of a PV array with one module (TYN-155S5) are shown in Figure 2a,b, respectively. As can be seen, the output power P pv is determined by the solar irradiation, cell temperature, and characteristics of a PV array. The purpose of this study is to develop an MPPT controller for the PV array to obtain its maximum power under the environment of different solar irradiation and temperature. lar radiation, and  is the solar irradiance ( 2 W/m ). The open-circuit voltage of the PV module varied according to cell temperature is given below: where ocr V is the open-circuit voltage at the reference temperature and  (8) The output power of PV array is expressed as follows: The power versus voltage curves for different solar irradiation and temperature of a PV array with one module (TYN-155S5) are shown in Figure 2a,b, respectively. As can be seen, the output power pv P is determined by the solar irradiation, cell temperature, and characteristics of a PV array. The purpose of this study is to develop an MPPT controller for the PV array to obtain its maximum power under the environment of different solar irradiation and temperature.

Problem Formulation of MPPT for PV System
The conventional MPPT algorithms use (10) as follows to obtain the maximum output power point.
Substituting (8) and (9) into (10) yields In other words, if (11) can be achieved, then the maximum power point tracking is also followed.
As mentioned above, the output power P pv is determined by solar irradiation, cell temperature, and characteristics of PV arrays, and so is the derivative with respect to v pv . Moreover, the analytic solution of (11) is difficult to obtain due to its complexity and nonlinearity. This is the reason why it is so difficult to solve the MPPT problem for a PV system. Thus, a neural network is proposed to solve the problem by learning the nonlinear function and is described as follows. By observing (11), the parameters I rs (reverse saturation current), T (ambient temperature), and p (cell ideality factor) are uncertain terms. Let T = T 0 + ∆T, p = p 0 + ∆p, I rs = I rs0 + ∆I rs , where T 0 , p 0 , and I rs0 denote nominal terms and ∆T, ∆p, and ∆I rs denote perturbed terms for T, p, and I rs , respectively. Therefore, Equation (11) can be rewritten as follows [28]: where nominal term x 0 = v pv n p N p I rs0 q n s N s p 0 kT 0 e qvpv ns Ns p 0 kT 0 (13) and perturbed term ∆x = v pv n p N p I rs q n s N s pkT e qvpv ns Ns pkT − x 0 (14) From the above analysis, x 0 is determined by the nominal value of the PV system and ∆x is function of the uncertain parameters I rs , T, and p. This study proposes a novel controller for the MPPT problem to compensate the uncertainty ∆x using neural networks as follows.
Define a tracking error as follows: where ∆x is an estimate of uncertainty ∆x and is an output of the neural network. The purpose of the proposed controller, with the structure shown in Figure 3, is to make i pv − (x 0 + ∆x) approach zero, which is equivalent to achieving MPPT for the PV system. The inputs of the neural networks are i pv and v pv , and the weightings in the neural network are adjusted by the tracking error e, at the same time the duty cycle of the dc/dc converter is regulated by a PI controller. By observing (14), although the current i pv is not relative to the uncertainty ∆x, it will affect the variations in the uncertain parameters I rs , T, and p. Therefore, it is also used as an input to the input layer of the neural network for increasing the learning speed.

The Structure of the Proposed Recurrent Neural Network
In this study, a recurrent neural network is adopted to compensate for the uncertainties in the PV system. The structure of the proposed neural network compensator is shown in Figure 4, which includes an input layer, a hidden layer, and an output layer. It only needs the PV array output current and voltage as the inputs of the neural network. Only six neurons totally are enough for the control scheme. This structure is much simpler than the existing work in [25], which needed three variables, including solar irradiance, temperature, and voltage as the inputs to the input layer of the neural network, the solar irradiance variable in which is also estimated by an additional three-layer neural network. converter is regulated by a PI controller. By observing (14), although the current pv i is not relative to the uncertainty x  , it will affect the variations in the uncertain parameters rs I , T , and p . Therefore, it is also used as an input to the input layer of the neural network for increasing the learning speed.

The Structure of the Proposed Recurrent Neural Network
In this study, a recurrent neural network is adopted to compensate for the uncertainties in the PV system. The structure of the proposed neural network compensator is shown in Figure 4, which includes an input layer, a hidden layer, and an output layer. It only needs the PV array output current and voltage as the inputs of the neural network. Only six neurons totally are enough for the control scheme. This structure is much simpler than the existing work in [25], which needed three variables, including solar irradiance, temperature, and voltage as the inputs to the input layer of the neural network, the solar irradiance variable in which is also estimated by an additional three-layer neural network.  The structure of the employed neural network is described as follows:  Input Layer: There are two inputs, which are the output current pv i and output voltage pv v of the PV system, on the input layer. The outputs of the ith node in the input layer are defined as , respectively. N denotes the iteration number.
 Hidden layer: The structure of the employed neural network is described as follows: • Input Layer: There are two inputs, which are the output current i pv and output voltage v pv of the PV system, on the input layer. The outputs of the ith node in the input layer are defined as where x 1 = i and x 2 = ω, respectively. N denotes the iteration number. There are three nodes (j = 1, 2, 3) in the hidden layer for simplicity of implementation. The outputs of the jth node in the hidden layer are defined as where The updating of the weights, W j , W ji , and W kj are defined, respectively, as follows. Firstly, where where δ k is called the propagation error and given by the tracking error as and In (22), we have Secondly, where In (25), we have and where In (20), (25), and (28), η j , η ji , and η kj are the learning rate, respectively.

• Output Layer:
There is only one output node in the output layer (k = 1) and is defined as

PI-Controller Designed by GA Algorithm
A PI current controller is to be designed by a GA algorithm to make the current control tracking error be zero. The performance index is defined as To find the optimal value of the performance index function using GA, we confine the search domain of the PI controller parameters k p and k i within a constraint area, which is determined as follows. Figure 5 shows the controlled plant of the current control system, in which d is the duty cycle of the PWM signal to control the switch of the buck converter. The current i L is approximately equal to the PV output current i pv and is also near equal to the load current i R at the steady state because they are DC currents. The transfer function from the duty cycle to the output load current can be obtained as (32).

R Ls RLCs
The transfer function block diagram of the PV current control system using the PI controller is shown in Figure 6. It can be derived that the closed-loop transfer function is Thus, for a unit-step current reference, the Laplace transform of the duty cycle can be expressed as The transfer function block diagram of the PV current control system using the PI controller is shown in Figure 6. It can be derived that the closed-loop transfer function is

R Ls RLCs
The transfer function block diagram of the PV current control system using the PI controller is shown in Figure 6. It can be derived that the closed-loop transfer function is Thus, for a unit-step current reference, the Laplace transform of the duty cycle can be expressed as 2 (34) Figure 6. The transfer function block diagram of the PV current control system. By using initial value theorem, the initial value of the duty cycle can be written as Because the duty cycle must be between zero and one ( The limit of the parameter i k can be obtained by using the Routh-Hurwitz criterion. Consider that the characteristic equation of the closed-loop system in (33) is of the form  By using initial value theorem, the initial value of the duty cycle can be written as Because the duty cycle must be between zero and one (0 ≤ d(t) ≤ 1), it follows that The limit of the parameter k i can be obtained by using the Routh-Hurwitz criterion. Consider that the characteristic equation of the closed-loop system in (33) is of the form Table 1 shows the Routh's tabulation to determine the stability of the system. For the system to be stable, the criterion indicates that and which are on the first column of the Routh's tabulation and must be positive as the other elements of the column. It turns out from (39) that For finding the k p and k i parameters of the PI controller by minimizing the performance index in (31), the calculation of the performance index has to be also obtained and is described as follows.
From Figure 6, the transfer function from the current reference to the tracking error is Thus, for a unit-step current reference (I * R (s) = 1/s), the Laplace transform of the tracking error can be expressed as where a 3 = b 2 = RLC, a 2 = b 1 = L, a 1 = R + k p v pv , a 0 = k i v pv , b 0 = R. Then, using Parseval's theorem, the performance index can be rewritten as Because it is very difficult to determine the PI controller's parameters k p and k i by the minimization of the performance index in (43), which is a complicatedly nonlinear function, this problem can be solved by using GA with the help of the MATLAB simulation tool. After the constraints of the PI controller's parameters and the calculation of the performance index are obtained, the program code of the cost function in MATLAB based on (36), (38), (39), and (43) is illustrated in Figure 7. This function file is called by the main program of the GA algorithm via a "degademo" function, which is shipped with MATLAB. By setting the maximum number of generations to be 200, mutation rate equal to 0.15, crossover rate equal to 0.7, similarity limit equal to 10 −8 in the main program, the performance index curve convergence behavior, with respect to the generations, is shown in Figure 8. As can be seen, it is convergent to the steady value of 3.1688 × 10 −4 on the twentieth generation. Executing the MATLAB main program file also reports the optimal values of the PI controller parameters, which are: The step responses of the load current R i and the inductor current L i in the closedloop system using the designed PI controller's parameters via GA are shown in Figure  9a,b, respectively. As can be seen, the inductor current response is smoother than the load current in the transient state, and both achieve the steady-state value without error.

Column 1
Column 2   The step responses of the load current i R and the inductor current i L in the closed-loop system using the designed PI controller's parameters via GA are shown in Figure 9a,b, respectively. As can be seen, the inductor current response is smoother than the load current in the transient state, and both achieve the steady-state value without error.

Model Verification
Before the simulation analysis of the proposed MPPT control scheme of the PV system, the model of the PV array, which is composed of one or more PV modules, with the parameters shown in Table 2, was constructed and verified. The PV array model with the PV modules series and parallel connection for the case of n s = 2, n p = 1 and the case of n s = 2, n p = 2, was constructed, respectively, as shown in Figure 10a,b, in which the PV module block using the embedded MATLAB function was built based on Equations (1)- (8) in the previous section with n p = N p = n s = 1 and N s = 64, as shown in Figure 11. The output of the PV module function was then used to control a current source for the generation of the output current of the PV module. In the first case, the load resistance was given as 15.8 Ω(= 70.02/4.43) for obtaining the maximum power of the PV array. As indicated in Figure 10a, the output power, current, and voltage values were displayed with the power value of 309.9 W, which is near the maximum power of 310 W, and the current and voltage value at 4.428 A and 69.99 V, respectively.
In the second case, the load resistance was given as 7.9 Ω(= 70.02/8.86) for obtaining the maximum power of the PV array. As indicated in Figure 10b, the output power, current, and voltage values were displayed with the power value of 619.8 W, which is near the maximum power of 620 W and is the double value of the first case, and the current and voltage value at 8.856 A and 69.99 V, respectively. The results of both cases verify the validation of the PV array model, which can be extended to a larger PV array easily by setting the series connection number n s and the parallel connection number n p of the PV module.

Simulation Verification
To illustrate the effectiveness of the proposed controller, a PV array of 310 W composed of two cascaded solar panels, a buck converter, a PI controller, a neural network, and an output load was also constructed. The simulation block diagram of the proposed MPPT controller for the PV system with the buck converter switching frequency of 10 kHz and neural network updating rate of 100 Hz using MATLAB/Simulink is shown in Figure 12. The neural network compensator has one input for the tracking error for tuning the weighting in the hidden layer, two input nodes (i = 1, 2) for the two input variables i pv and v pv , three hidden nodes (j = 1, 2, 3), and one output node (k = 1) for the ∆x.

Simulation Verification
To illustrate the effectiveness of the proposed controller, a PV array of 310 W composed of two cascaded solar panels, a buck converter, a PI controller, a neural network, and an output load was also constructed. The simulation block diagram of the proposed MPPT controller for the PV system with the buck converter switching frequency of 10 kHz and neural network updating rate of 100 Hz using MATLAB/Simulink is shown in Figure  12. The neural network compensator has one input for the tracking error for tuning the weighting in the hidden layer, two input nodes (i = 1 ,2) for the two input variables pv i Figure 11. THe PV module function. x and x  are also shown in Figure 14b. As can be seen, the signal of the sum of 0 x and x  can track the output current of the PV array very well, so that the tracking error is convergent to be zero despite the variation in ambient temperature.  The PI controller parameters designed by GA were then used on the simulation model of the 310-W PV system, in which the embedded MATLAB function for x 0 based on (13) in the previous section is shown in Figure 12b, for the overall simulation verification of the proposed MPPT control performance. Figure 13 shows the simulated results for the sudden changes in solar irradiation from 200 W/m 2 up to 1000 W/m 2 with a change of 200 W/m 2 at each time step of 0.1 s at the ambient temperature of 25 • C. As can be seen, the output current, voltage, and the power of the PV array can quickly reach the steady-state value of each step, and the output power can reach the maximum value of 310 W with the current valve at about 4.4 A and the voltage value at about 70.0 V while the solar irradiation increases up to 1000 W/m 2 . In addition, the tracking error is approaching zero despite the sudden changes in solar irradiation. This is equivalent to achieving MPPT for the PV system. The next simulation is for the condition of continuous variations in the ambient temperature at the solar irradiation of 1000 W/m 2 as follows: T = T 0 + ∆T, T 0 = 25 • C, ∆T = 40 sin ωt ( • C), ω = 5 rad/s. The simulated results are shown in Figure 14. As can be seen in Figure 14a, the PV array's output current, voltage, and hence the output power are varied due to the variations in the ambient temperature. The output power of the PV array can also reach the maximum value of about 310 W. The corresponding MPPT control signals of the tracking error e, neural network output ∆x, the nominal value x 0 , and the sum of x 0 and ∆x are also shown in Figure 14b. As can be seen, the signal of the sum of x 0 and ∆x can track the output current of the PV array very well, so that the tracking error is convergent to be zero despite the variation in ambient temperature.

DSP Implementation and Experimental Verification
In this study, the proposed controller was implemented by a TI TMS320F28335 DSP chip embedded on an eZdsp control board, which can easily process the input signals conversion and the complex floating-point computation on the neural network of the proposed control scheme. Figure 15 shows the basic configuration of the PV system. The PV output current is detected by using a LEM LA-55P current sensor followed by two-stage operational amplifiers for the conversion and low-pass filtering as a voltage signal. The PV output voltage is also detected by using a difference amplifier. The two signals are then read by the DSP chip through a multi-channel 12-bit built-in A/D converter. The signals of the MPPT control can be viewed either on the Code Composer of the DSP development software system or on the oscilloscope by using a 12-bit SPI-DAC converter with output voltage scaled in the range from 0 to 5 V outside the DSP control board.

DSP Implementation and Experimental Verification
In this study, the proposed controller was implemented by a TI TMS320F28335 DSP chip embedded on an eZdsp control board, which can easily process the input signals conversion and the complex floating-point computation on the neural network of the proposed control scheme. Figure 15 shows the basic configuration of the PV system. The PV output current is detected by using a LEM LA-55P current sensor followed by two-stage operational amplifiers for the conversion and low-pass filtering as a voltage signal. The PV output voltage is also detected by using a difference amplifier. The two signals are then read by the DSP chip through a multi-channel 12-bit built-in A/D converter. The signals of the MPPT control can be viewed either on the Code Composer of the DSP development software system or on the oscilloscope by using a 12-bit SPI-DAC converter with output voltage scaled in the range from 0 to 5 V outside the DSP control board. The training data of the neural network inputs i pv and v pv are sampled from the A/D converters in every 0.01 s on line to compute the output ∆x. Comprehensive experiments are made to investigate the proposed MPPT capability for the PV system. At certain solar irradiation and ambient temperature, output waveforms of the proposed MPPT controller for the PV array, which consists of the series connection of two 155-W TYN-155S5 PV modules, are shown in Figure 16, and the experimental data at the final steady-state is shown in Table 3. The result indicates the output current, voltage, and power of the PV array are from lower values increasing up to the maximum values of 4.14 A, 64.53 V, and 267.42 W, respectively, at that solar irradiation and ambient temperature At certain solar irradiation and ambient temperature, output waveforms of the proposed MPPT controller for the PV array, which consists of the series connection of two 155-W TYN-155S5 PV modules, are shown in Figure 16, and the experimental data at the final steady-state is shown in Table 3. The result indicates the output current, voltage, and power of the PV array are from lower values increasing up to the maximum values of 4.14 A, 64.53 V, and 267.42 W, respectively, at that solar irradiation and ambient temperature condition.
At certain solar irradiation and ambient temperature, output waveforms of the proposed MPPT controller for the PV array, which consists of the series connection of two 155-W TYN-155S5 PV modules, are shown in Figure 16, and the experimental data at the final steady-state is shown in Table 3. The result indicates the output current, voltage, and power of the PV array are from lower values increasing up to the maximum values of 4.14 A, 64.53 V, and 267.42 W, respectively, at that solar irradiation and ambient temperature condition.
To illustrate the effectiveness of the proposed MPPT controller under partially shaded conditions, the PV array is covered by a board and removed after a while. The output waveforms of this case are shown in Figure 17. From the experimental result, the proposed controller can make the tracking error approach zero under partially shaded conditions despite the variation in solar irradiation, ambient temperature, and the electrical load characteristics in the PV system, which is equivalent to achieving MPPT for the PV array under partially shaded conditions. Figure 16. The output waveforms of the PV system at a certain solar irradiation. Figure 16. The output waveforms of the PV system at a certain solar irradiation. To illustrate the effectiveness of the proposed MPPT controller under partially shaded conditions, the PV array is covered by a board and removed after a while. The output waveforms of this case are shown in Figure 17. From the experimental result, the proposed controller can make the tracking error approach zero under partially shaded conditions despite the variation in solar irradiation, ambient temperature, and the electrical load characteristics in the PV system, which is equivalent to achieving MPPT for the PV array under partially shaded conditions.

Conclusions
In this study, based on the slope of power versus voltage, a novel MPPT algorithm using a neural network compensator was proposed and implemented on a TI TMS320F28335 DSP chip, which can easily process the input signals conversion and the complex floating-point computation on the neural network of the proposed control scheme. It was derived that the output power of the photovoltaic system is a function of the solar irradiation, cell temperature, and characteristics of the photovoltaic array. The analytic solution for obtaining the maximum power is difficult to obtain due to its complexity, nonlinearity, and uncertainties of parameters. Therefore, the MPPT control scheme is presented to solve the abovementioned problems using neural network with the idea of transferring the MPPT problem into a current PI control problem. In addition, the neural network system, which contains six neurons totally, only needs the PV array output voltage and current as the inputs of the input layer and the tracking error signal for updating the weighting of the neurons in the hidden layer. This structure is simpler than the existing work, which needs three variables as the inputs to the input layer of the neural network.
The current PI controller's parameters are to be determined by minimizing a performance index function, which is the time integral of the square of the tracking error signal

Conclusions
In this study, based on the slope of power versus voltage, a novel MPPT algorithm using a neural network compensator was proposed and implemented on a TI TMS320F28335 DSP chip, which can easily process the input signals conversion and the complex floatingpoint computation on the neural network of the proposed control scheme. It was derived that the output power of the photovoltaic system is a function of the solar irradiation, cell temperature, and characteristics of the photovoltaic array. The analytic solution for obtaining the maximum power is difficult to obtain due to its complexity, nonlinearity, and uncertainties of parameters. Therefore, the MPPT control scheme is presented to solve the abovementioned problems using neural network with the idea of transferring the MPPT problem into a current PI control problem. In addition, the neural network system, which contains six neurons totally, only needs the PV array output voltage and current as the inputs of the input layer and the tracking error signal for updating the weighting of the neurons in the hidden layer. This structure is simpler than the existing work, which needs three variables as the inputs to the input layer of the neural network.
The current PI controller's parameters are to be determined by minimizing a performance index function, which is the time integral of the square of the tracking error signal of the current controller from zero infinity and can be transformed into a nonlinear function containing the controller parameters by Parseval's theorem. Because it is very difficult to determine the PI controller's parameters by the minimization of the complicatedly nonlinear function, this problem can be solved by using GA with the help of the MATLAB simulation tool. A function file that lists the nonlinear performance index function and the constraints of the PI controller parameters determined by the initial-value theorem and Routh-Hurwitz criterion for the stability check, respectively, is called by the main program of the GA algorithm via a "degademo" function. The performance index curve is convergent to the steady value of a very small value on the twentieth generation by executing the main program, which also reports the optimal values of the PI controller parameters.
The model of the PV array, which is composed of two PV modules in a series connection, was constructed and used for the simulation verification of the proposed MPPT control scheme. The PV model can be extended to a larger array easily by setting the series and the parallel connection numbers of the PV module.
The experimental result shows the output current, voltage, and power of the PV array are increasing up to the maximum values of 4.14 A, 64.53 V, and 267.42 W, respectively, at the solar irradiation and ambient temperature condition. The proposed controller can also make the tracking error approach zero, which is equivalent to achieving MPPT for the PV array under partially shaded conditions.
The proposed control scheme can be applied to the MPPT-based solar chargers and PV inverters. More experiments will be conducted in the near future to compare with the available products in the market, such as Fronius Symo 15.0-3-M. The maximum efficiency for PV grid of this inverter is 98.1%, with MPP adaptation efficiency greater than 99.9%, in which two MPP trackers (MPPT 1 and MPPT 2) are installed so as to connect PV arrays with different solar azimuth and tilt angles, with different string lengths, and connect strings of dissimilar modules. The presented control scheme might be better than the dual-tracker scheme because it can obtain the maximum power despite the variation in solar irradiation, cell temperature, the effect of uncertain parameters, and the electrical load characteristics in the PV systems.