A Novel Approach for an MPPT Controller Based on the ADALINE Network Trained with the RTRL Algorithm

: The Real-Time Recurrent Learning Gradient (RTRL) algorithm is characterized by being an online learning method for training dynamic recurrent neural networks, which makes it ideal for working with non-linear control systems. For this reason, this paper presents the design of a novel Maximum Power Point Tracking (MPPT) controller with an artiﬁcial neural network type Adaptive Linear Neuron (ADALINE), with Finite Impulse Response (FIR) architecture, trained with the RTRL algorithm. With this same network architecture, the Least Mean Square (LMS) algorithm was developed to evaluate the results obtained with the RTRL controller and then make comparisons with the Perturb and Observe (P&O) algorithm. This control method receives as input signals the current and voltage of a photovoltaic module under sudden changes in operating conditions. Additionally, the efﬁciency of the controllers was appraised with a fuzzy controller and a Nonlinear Autoregressive Network with Exogenous Inputs (NARX) controller, which were developed in previous investigations. It was concluded that the RTRL controller with adaptive training has better results, a faster response, and fewer bifurcations due to sudden changes in the input signals, being the ideal control method for systems that require a real-time response.


Introduction
Due to the negative impact caused by the use of conventional energy sources, environmental problems such as pollution, and poor quality in the provision of primary energy service, renewable energy is presented as an excellent alternative to reduce dependence on conventional electrical network. The notable increase in the use of renewable energies as an alternative means of generating and storing clean energy is considered worldwide as one of the technological solutions to mitigate climate change.
Internationally it is recommended that in places with high solar density, the use of photovoltaic (PV) energy sources be chosen, since this type of energy provides an inexhaustible energy resource [1]. In the global report presented in 2017 by the International Agency for Renewable Energy (IRENA), it is evident that solar energy is a leader in power generation capacity due to its competitive costs in many emerging markets of the world [2].
In order to improve competitiveness, increase demand, and obtain the highest performance, the elements of a PV system must be optimized. There are several techniques to increase the performance of PV systems, among which solar trackers [3][4][5][6][7], hybrid systems [8,9], and controllers for the maximum power point tracking (MPPT) stand out. With the MPPT controllers, better performance of the PV systems is obtained, since they take advantage of all the current generated by the solar panels independently of the voltage. These controllers are more expensive than Pulse-Width Modulation

FV Module
To simulate the PV module, the mathematical model proposed in [36,37] was used. From this model, it is possible to find the curve fitting parameter (b), directly from the I-V ratio of the PV module shown in Equation (1).
The variables V x and I x must be obtained from Equations (2) and (3).
where, E i is the solar irradiance, E iN is an irradiance constant of 1000 W/m 2 , I sc is the short circuit current, p is the number of PV modules in parallel, s is the number of PV modules in series, T is the operating temperature, TC i and TC v are the current and voltage temperature coefficients, T N is the temperature constant of 25 • C, V oc is the open circuit voltage, V max is 103% of V oc , and V min is the 85% of V oc . The electrical parameters were taken from the data sheet of the 65 W PV module (Yingli Solar JS 65). From these data, the value of b = 0.0737561 was obtained [25]. The mathematical modeling of the PV module was carried out in the MATLAB/Simulink software.

DC-DC Buck Converter
As a control device, a DC-DC Buck converter was designed, in which the output voltage V o is controlled with a PWM signal. Figure 1 shows the design of the DC-DC Buck converter developed in MATLAB/Simulink with the SimPowerSystem toolbox. (2) where, Ei is the solar irradiance, EiN is an irradiance constant of 1000 W/m 2 , Isc is the short circuit current, p is the number of PV modules in parallel, s is the number of PV modules in series, T is the operating temperature, TCi and TCv are the current and voltage temperature coefficients, TN is the temperature constant of 25 °C, Voc is the open circuit voltage, Vmax is 103% of Voc, and Vmin is the 85% of Voc.
The electrical parameters were taken from the data sheet of the 65 W PV module (Yingli Solar JS 65). From these data, the value of b = 0.0737561 was obtained [25]. The mathematical modeling of the PV module was carried out in the MATLAB/Simulink software.

DC-DC Buck Converter
As a control device, a DC-DC Buck converter was designed, in which the output voltage Vo is controlled with a PWM signal. Figure 1 shows the design of the DC-DC Buck converter developed in MATLAB/Simulink with the SimPowerSystem toolbox.

MPPT Controller
The MPPT controllers guarantee the highest available power in a PV system [30], by modifying the percentage of the duty cycle of the PWM signal, which is the input of the dc-dc converter. In this way, all the controllers were connected individually between the PV module and the dc-dc converter as shown in Figure 2.

P&O Algorithm
The P&O algorithm consists of performing a disturbance, modifying the voltage and observing the resulting variation in power [27]. In this algorithm, the duty cycle (D) of the DC-DC converter is adjusted depending on the value of the power change (dP). Figure 3 shows the flow diagram that was designed for this algorithm.

MPPT Controller
The MPPT controllers guarantee the highest available power in a PV system [30], by modifying the percentage of the duty cycle of the PWM signal, which is the input of the dc-dc converter. In this way, all the controllers were connected individually between the PV module and the dc-dc converter as shown in Figure 2.
where, Ei is the solar irradiance, EiN is an irradiance constant of 1000 W/m 2 , Isc is the short circuit current, p is the number of PV modules in parallel, s is the number of PV modules in series, T is the operating temperature, TCi and TCv are the current and voltage temperature coefficients, TN is the temperature constant of 25 °C, Voc is the open circuit voltage, Vmax is 103% of Voc, and Vmin is the 85% of Voc.
The electrical parameters were taken from the data sheet of the 65 W PV module (Yingli Solar JS 65). From these data, the value of b = 0.0737561 was obtained [25]. The mathematical modeling of the PV module was carried out in the MATLAB/Simulink software.

DC-DC Buck Converter
As a control device, a DC-DC Buck converter was designed, in which the output voltage Vo is controlled with a PWM signal. Figure 1 shows the design of the DC-DC Buck converter developed in MATLAB/Simulink with the SimPowerSystem toolbox.

MPPT Controller
The MPPT controllers guarantee the highest available power in a PV system [30], by modifying the percentage of the duty cycle of the PWM signal, which is the input of the dc-dc converter. In this way, all the controllers were connected individually between the PV module and the dc-dc converter as shown in Figure 2.

P&O Algorithm
The P&O algorithm consists of performing a disturbance, modifying the voltage and observing the resulting variation in power [27]. In this algorithm, the duty cycle (D) of the DC-DC converter is adjusted depending on the value of the power change (dP). Figure 3 shows the flow diagram that was designed for this algorithm.

P&O Algorithm
The P&O algorithm consists of performing a disturbance, modifying the voltage and observing the resulting variation in power [27]. In this algorithm, the duty cycle (D) of the DC-DC converter is adjusted depending on the value of the power change (dP). Figure 3 shows the flow diagram that was designed for this algorithm.

RTRL Algorithm
The intelligent control technique for the MPPT proposed in this work, is based on the design of a neural network type ADALINE, with FIR architecture, and trained with the RTRL algorithm in order to minimize the oscillations of the P&O algorithm. FIR architecture is characterized by being easy to design, configure, and implement.
To use the ADALINE neural network as an adaptive filter, it was necessary to introduce a line of delays (D) in order to modify the impact that the synaptic weights generate on the network response. The RTRL algorithm is developed for a single neuron as can be seen in Figure 4. For the voltage and current signals that were used, it is not necessary to use the bias, since there is no displacement through the hyperplane. Equation (4) represents the output of the network.
where p(t) represents the inputs of the network over time, W is the vector of synaptic weights, a(t) is the output of the neural network, n(t) is the weighted sum of the inputs and weights before the activation function, and d indicates the delay time with respect to the first input data.
In developing Equation (4), the network response can be obtained from the first instant of time. The sum of the quadratic error F(x) represents the standard performance function that was chosen for the training. The gradient was calculated from this performance function [32]. See Equation (5).
where x is the vector that contains the parameters of the network (synaptic weights), Q is the number of samples, e 2 (t) is the mean square error, and t(t) are the target values of the duty cycle.

RTRL Algorithm
The intelligent control technique for the MPPT proposed in this work, is based on the design of a neural network type ADALINE, with FIR architecture, and trained with the RTRL algorithm in order to minimize the oscillations of the P&O algorithm. FIR architecture is characterized by being easy to design, configure, and implement.
To use the ADALINE neural network as an adaptive filter, it was necessary to introduce a line of delays (D) in order to modify the impact that the synaptic weights generate on the network response. The RTRL algorithm is developed for a single neuron as can be seen in Figure 4. For the voltage and current signals that were used, it is not necessary to use the bias, since there is no displacement through the hyperplane. Equation (4) represents the output of the network.
where p(t) represents the inputs of the network over time, W is the vector of synaptic weights, a(t) is the output of the neural network, n(t) is the weighted sum of the inputs and weights before the activation function, and d indicates the delay time with respect to the first input data.

RTRL Algorithm
The intelligent control technique for the MPPT proposed in this work, is based on the design of a neural network type ADALINE, with FIR architecture, and trained with the RTRL algorithm in order to minimize the oscillations of the P&O algorithm. FIR architecture is characterized by being easy to design, configure, and implement.
To use the ADALINE neural network as an adaptive filter, it was necessary to introduce a line of delays (D) in order to modify the impact that the synaptic weights generate on the network response. The RTRL algorithm is developed for a single neuron as can be seen in Figure 4. For the voltage and current signals that were used, it is not necessary to use the bias, since there is no displacement through the hyperplane. Equation (4) represents the output of the network.
where p(t) represents the inputs of the network over time, W is the vector of synaptic weights, a(t) is the output of the neural network, n(t) is the weighted sum of the inputs and weights before the activation function, and d indicates the delay time with respect to the first input data.
In developing Equation (4), the network response can be obtained from the first instant of time. The sum of the quadratic error F(x) represents the standard performance function that was chosen for the training. The gradient was calculated from this performance function [32]. See Equation (5). In developing Equation (4), the network response can be obtained from the first instant of time. The sum of the quadratic error F(x) represents the standard performance function that was chosen for the training. The gradient was calculated from this performance function [32]. See Equation (5). where x is the vector that contains the parameters of the network (synaptic weights), Q is the number of samples, e 2 (t) is the mean square error, and t(t) are the target values of the duty cycle. The execution of the RTRL algorithm advances very rapidly over time, since it allows simultaneous calculation of the network and the calculation of the explicit derivatives of Equation (6), which is solved with the help of the chain rule. The development of this equation has some aspects similar to the backpropagation algorithm used in static multilayer networks [32]. u is the number of layers in the network.
∂F ∂x Finally, with the development of Equation (7) the synaptic weights obtained in the training are updated.
where α is the dynamic learning rate. Figure 5a shows the flow diagram of the RTRL algorithm used to train the dynamic network. The behavior of the dynamic neural controller is shown in Figure 5b. The execution of the RTRL algorithm advances very rapidly over time, since it allows simultaneous calculation of the network and the calculation of the explicit derivatives of Equation (6), which is solved with the help of the chain rule. The development of this equation has some aspects similar to the backpropagation algorithm used in static multilayer networks [32]. u is the number of layers in the network.
Finally, with the development of Equation (7) the synaptic weights obtained in the training are updated.
where α is the dynamic learning rate. Figure 5a shows the flow diagram of the RTRL algorithm used to train the dynamic network. The behavior of the dynamic neural controller is shown in Figure 5b.  Figure 6 shows the block diagram of the RTRL neurocontroller designed in MATLAB/Simulink, in which it is emphasized that it was not necessary to use the Neural Networks Toolbox to design the control system. The block "Error" of Figure 6 is responsible for filtering the oscillations that may occur when trying to track the MPP.  Figure 6 shows the block diagram of the RTRL neurocontroller designed in MATLAB/Simulink, in which it is emphasized that it was not necessary to use the Neural Networks Toolbox to design the control system. The block "Error" of Figure 6 is responsible for filtering the oscillations that may occur when trying to track the MPP. The execution of the RTRL algorithm advances very rapidly over time, since it allows simultaneous calculation of the network and the calculation of the explicit derivatives of Equation (6), which is solved with the help of the chain rule. The development of this equation has some aspects similar to the backpropagation algorithm used in static multilayer networks [32]. u is the number of layers in the network.
Finally, with the development of Equation (7) the synaptic weights obtained in the training are updated.
where α is the dynamic learning rate. Figure 5a shows the flow diagram of the RTRL algorithm used to train the dynamic network. The behavior of the dynamic neural controller is shown in Figure 5b.  Figure 6 shows the block diagram of the RTRL neurocontroller designed in MATLAB/Simulink, in which it is emphasized that it was not necessary to use the Neural Networks Toolbox to design the control system. The block "Error" of Figure 6 is responsible for filtering the oscillations that may occur when trying to track the MPP.

LMS Algorithm
Widrow and Marcian Hoff developed the ADALINE neural network with their own learning algorithm (LMS: Least Mean Square) [32]. To take advantage of this learning method in digital signal processing, the two versions of the LMS algorithm (LMS and Iterative LMS) were implemented using the same network architecture.
The design of the ADALINE network with LMS algorithm consists of a vector array of input data, synaptic weights, and target, which are subsequently used in various matrix calculations. The construction of these matrices is key to determining the MSE (Mean Squared Error) and the final synaptic weights at the first instant time, since the mathematical process is performed only once. See Equations (8)- (10).
The vector Z has the input values of the network, T is the transpose of the vector, c is a constant, h is the cross-correlation between the vector of inputs and the vector associated with the input t, and R is the correlation matrix. The input vectors determine if there is a single solution of the system [32]. However, it must be verified that the array of vectors does not result in a square matrix. Therefore, for this training method the ADALINE network has only one delay.
The training algorithms and the LMS controllers that were developed are shown in Figures 7 and 8. In these figures it is shown that these controllers were trained with the standard procedure defined through their operating equations.
Energies 2018, 11, x FOR PEER REVIEW 6 of 17 processing, the two versions of the LMS algorithm (LMS and Iterative LMS) were implemented using the same network architecture. The design of the ADALINE network with LMS algorithm consists of a vector array of input data, synaptic weights, and target, which are subsequently used in various matrix calculations. The construction of these matrices is key to determining the MSE (Mean Squared Error) and the final synaptic weights at the first instant time, since the mathematical process is performed only once. See Equations (8)- (10).
The vector Z has the input values of the network, T is the transpose of the vector, c is a constant, h is the cross-correlation between the vector of inputs and the vector associated with the input t, and R is the correlation matrix. The input vectors determine if there is a single solution of the system [32]. However, it must be verified that the array of vectors does not result in a square matrix. Therefore, for this training method the ADALINE network has only one delay.
The training algorithms and the LMS controllers that were developed are shown in Figures 7 and 8. In these figures it is shown that these controllers were trained with the standard procedure defined through their operating equations.
As seen in Figures 7 and 8, the LMS algorithms, in their two versions, have in common the procedure used to minimize the MSE with iterations. For this, the steepest descent algorithm is used, with which the gradient can be calculated, and the performance index analyzed.
During each iteration k the synaptic weights are adjusted, and the error is obtained. This is done until the function converges. See Equation (11). As seen in Figures 7 and 8, the LMS algorithms, in their two versions, have in common the procedure used to minimize the MSE with iterations. For this, the steepest descent algorithm is used, with which the gradient can be calculated, and the performance index analyzed.
During each iteration k the synaptic weights are adjusted, and the error is obtained. This is done until the function converges. See Equation (11).

Results and Discussion
In order to evaluate the performance of the RTRL Neurocontroller, comparisons with the P&O and LMS algorithms were made. In addition, comparisons were established with the previous results obtained in the Magma Ingeniería research group with a fuzzy controller [12] and a controller with an NARX network [25]. Finally, a set of tables with the results of the comparisons are presented. For each control method, the maximum efficiency is calculated.
It is important to highlight that the performance of the algorithms developed in this work will be measured in terms of the power obtained by the controllers, the efficiency and the settling time. Additionally, the performance of all controllers will be evaluated according to the computation time necessary to perform the simulations.

Results and Discussion
In order to evaluate the performance of the RTRL Neurocontroller, comparisons with the P&O and LMS algorithms were made. In addition, comparisons were established with the previous results obtained in the Magma Ingeniería research group with a fuzzy controller [12] and a controller with an NARX network [25]. Finally, a set of tables with the results of the comparisons are presented. For each control method, the maximum efficiency is calculated.
It is important to highlight that the performance of the algorithms developed in this work will be measured in terms of the power obtained by the controllers, the efficiency and the settling time. Additionally, the performance of all controllers will be evaluated according to the computation time necessary to perform the simulations.

Results and Discussion
In order to evaluate the performance of the RTRL Neurocontroller, comparisons with the P&O and LMS algorithms were made. In addition, comparisons were established with the previous results obtained in the Magma Ingeniería research group with a fuzzy controller [12] and a controller with an NARX network [25]. Finally, a set of tables with the results of the comparisons are presented. For each control method, the maximum efficiency is calculated.
It is important to highlight that the performance of the algorithms developed in this work will be measured in terms of the power obtained by the controllers, the efficiency and the settling time. Additionally, the performance of all controllers will be evaluated according to the computation time necessary to perform the simulations.

Results and Discussion
In order to evaluate the performance of the RTRL Neurocontroller, comparisons with the P&O and LMS algorithms were made. In addition, comparisons were established with the previous results obtained in the Magma Ingeniería research group with a fuzzy controller [12] and a controller with an NARX network [25]. Finally, a set of tables with the results of the comparisons are presented. For each control method, the maximum efficiency is calculated.
It is important to highlight that the performance of the algorithms developed in this work will be measured in terms of the power obtained by the controllers, the efficiency and the settling time. Additionally, the performance of all controllers will be evaluated according to the computation time necessary to perform the simulations.

Performance of the RTRL Neurocontroller
The results of the ADALINE neural network with the RTRL algorithm were compared directly with the P&O and LMS algorithms (LMS and Iterative LMS) under the same conditions of solar irradiance, temperature, and simulation time, in order to observe their responses and evaluate the performance of each of these methods. For standard test conditions with a solar irradiance of 1000 W/m 2 and operating temperature of 25 • C the signals shown in Figure 11 were obtained. The results of the ADALINE neural network with the RTRL algorithm were compared directly with the P&O and LMS algorithms (LMS and Iterative LMS) under the same conditions of solar irradiance, temperature, and simulation time, in order to observe their responses and evaluate the performance of each of these methods. For standard test conditions with a solar irradiance of 1000 W/m 2 and operating temperature of 25 °C the signals shown in Figure 11 were obtained. In order to verify the behavior of the oscillations, the simulation time was increased to 1 s and in addition, a signal was designed to simulate the variable irradiance conditions represented by Figure 12. In Figure 13 it can be seen that, by increasing the simulation time, the oscillations continue and the P&O controller does not stabilize in the MPP.   In order to verify the behavior of the oscillations, the simulation time was increased to 1 s and in addition, a signal was designed to simulate the variable irradiance conditions represented by Figure 12. In Figure 13 it can be seen that, by increasing the simulation time, the oscillations continue and the P&O controller does not stabilize in the MPP. The results of the ADALINE neural network with the RTRL algorithm were compared directly with the P&O and LMS algorithms (LMS and Iterative LMS) under the same conditions of solar irradiance, temperature, and simulation time, in order to observe their responses and evaluate the performance of each of these methods. For standard test conditions with a solar irradiance of 1000 W/m 2 and operating temperature of 25 °C the signals shown in Figure 11 were obtained. In order to verify the behavior of the oscillations, the simulation time was increased to 1 s and in addition, a signal was designed to simulate the variable irradiance conditions represented by Figure 12. In Figure 13 it can be seen that, by increasing the simulation time, the oscillations continue and the P&O controller does not stabilize in the MPP.   The results of the ADALINE neural network with the RTRL algorithm were compared directly with the P&O and LMS algorithms (LMS and Iterative LMS) under the same conditions of solar irradiance, temperature, and simulation time, in order to observe their responses and evaluate the performance of each of these methods. For standard test conditions with a solar irradiance of 1000 W/m 2 and operating temperature of 25 °C the signals shown in Figure 11 were obtained. In order to verify the behavior of the oscillations, the simulation time was increased to 1 s and in addition, a signal was designed to simulate the variable irradiance conditions represented by Figure 12. In Figure 13 it can be seen that, by increasing the simulation time, the oscillations continue and the P&O controller does not stabilize in the MPP.    After evaluating the performance of the controllers for a variable irradiance signal, the signal of Figure 14 was designed to evaluate the performance for a variable temperature signal. The results obtained are shown in Figure 15, in which it can be noted that the P&O algorithm has oscillations throughout the simulation time. On the other hand, the LMS algorithm does not stabilize in the MPP and has oscillations of greater amplitude. After evaluating the performance of the controllers for a variable irradiance signal, the signal of Figure 14 was designed to evaluate the performance for a variable temperature signal. The results obtained are shown in Figure 15, in which it can be noted that the P&O algorithm has oscillations throughout the simulation time. On the other hand, the LMS algorithm does not stabilize in the MPP and has oscillations of greater amplitude.  The Neurocontroller with the Iterative LMS algorithm showed good results for both irradiance and constant temperature as well as for variable conditions, and its performance was similar to that obtained with the RTRL Neurocontroller.

Comparison of the RTRL Neurocontroller with the P&O Controller
The conditions presented in Figure 16 denote a more complex scenario with sudden changes in the solar irradiance and operating temperature. The RTRL and P&O controllers were exposed to these conditions and their responses were compared simultaneously.  After evaluating the performance of the controllers for a variable irradiance signal, the signal of Figure 14 was designed to evaluate the performance for a variable temperature signal. The results obtained are shown in Figure 15, in which it can be noted that the P&O algorithm has oscillations throughout the simulation time. On the other hand, the LMS algorithm does not stabilize in the MPP and has oscillations of greater amplitude.  The Neurocontroller with the Iterative LMS algorithm showed good results for both irradiance and constant temperature as well as for variable conditions, and its performance was similar to that obtained with the RTRL Neurocontroller.

Comparison of the RTRL Neurocontroller with the P&O Controller
The conditions presented in Figure 16 denote a more complex scenario with sudden changes in the solar irradiance and operating temperature. The RTRL and P&O controllers were exposed to these conditions and their responses were compared simultaneously.  The Neurocontroller with the Iterative LMS algorithm showed good results for both irradiance and constant temperature as well as for variable conditions, and its performance was similar to that obtained with the RTRL Neurocontroller.

Comparison of the RTRL Neurocontroller with the P&O Controller
The conditions presented in Figure 16 denote a more complex scenario with sudden changes in the solar irradiance and operating temperature. The RTRL and P&O controllers were exposed to these conditions and their responses were compared simultaneously. After evaluating the performance of the controllers for a variable irradiance signal, the signal of Figure 14 was designed to evaluate the performance for a variable temperature signal. The results obtained are shown in Figure 15, in which it can be noted that the P&O algorithm has oscillations throughout the simulation time. On the other hand, the LMS algorithm does not stabilize in the MPP and has oscillations of greater amplitude.  The Neurocontroller with the Iterative LMS algorithm showed good results for both irradiance and constant temperature as well as for variable conditions, and its performance was similar to that obtained with the RTRL Neurocontroller.

Comparison of the RTRL Neurocontroller with the P&O Controller
The conditions presented in Figure 16 denote a more complex scenario with sudden changes in the solar irradiance and operating temperature. The RTRL and P&O controllers were exposed to these conditions and their responses were compared simultaneously.   The results shown in Figure 17 indicate that the P&O controller has power losses when there are abrupt and proportional changes in the incident solar irradiance in the PV module. The results shown in Figure 17 indicate that the P&O controller has power losses when there are abrupt and proportional changes in the incident solar irradiance in the PV module. In order to evaluate the performance of the controllers for a longer simulation time, the test signal of Figure 18 was designed for a simulation time of 25 s. Figure 19 shows the results obtained, equivalent to 6 min of computational processing. These results demonstrate the robustness of the RTRL algorithm to support sudden changes and different operating conditions in the PV module. On the other hand, the P&O algorithm improved its performance in the simulation time greater than 20 s, however, it still shows power losses.   In order to evaluate the performance of the controllers for a longer simulation time, the test signal of Figure 18 was designed for a simulation time of 25 s. The results shown in Figure 17 indicate that the P&O controller has power losses when there are abrupt and proportional changes in the incident solar irradiance in the PV module. In order to evaluate the performance of the controllers for a longer simulation time, the test signal of Figure 18 was designed for a simulation time of 25 s. Figure 19 shows the results obtained, equivalent to 6 min of computational processing. These results demonstrate the robustness of the RTRL algorithm to support sudden changes and different operating conditions in the PV module. On the other hand, the P&O algorithm improved its performance in the simulation time greater than 20 s, however, it still shows power losses.    Figure 19 shows the results obtained, equivalent to 6 min of computational processing. These results demonstrate the robustness of the RTRL algorithm to support sudden changes and different operating conditions in the PV module. On the other hand, the P&O algorithm improved its performance in the simulation time greater than 20 s, however, it still shows power losses. The results shown in Figure 17 indicate that the P&O controller has power losses when there are abrupt and proportional changes in the incident solar irradiance in the PV module. In order to evaluate the performance of the controllers for a longer simulation time, the test signal of Figure 18 was designed for a simulation time of 25 s. Figure 19 shows the results obtained, equivalent to 6 min of computational processing. These results demonstrate the robustness of the RTRL algorithm to support sudden changes and different operating conditions in the PV module. On the other hand, the P&O algorithm improved its performance in the simulation time greater than 20 s, however, it still shows power losses.

Comparison of the RTRL Neurocontroller with the Fuzzy Controller
In this section we present the results obtained when making a comparison between the RTRL neurocontroller and the fuzzy controller developed by researchers working in the same research group as the authors of this paper. The controllers were evaluated with the same conditions of irradiance and temperature to compare their behavior and determine which has a better response. It should be noted that to carry out these tests, the authors of the fuzzy controller provided us with their modeling and simulation files.
In these simulations we noticed that the fuzzy controller showed good results that can be seen in Figure 20. For a simulation time of 1 s, the fuzzy controller lasted approximately 14 min, while the RTRL for the same simulation time lasted only 19 s. For these tests, the variable irradiance signal of Figure 12 was used.

Comparison of the RTRL Neurocontroller with the Fuzzy Controller
In this section we present the results obtained when making a comparison between the RTRL neurocontroller and the fuzzy controller developed by researchers working in the same research group as the authors of this paper. The controllers were evaluated with the same conditions of irradiance and temperature to compare their behavior and determine which has a better response. It should be noted that to carry out these tests, the authors of the fuzzy controller provided us with their modeling and simulation files.
In these simulations we noticed that the fuzzy controller showed good results that can be seen in Figure 20. For a simulation time of 1 s, the fuzzy controller lasted approximately 14 min, while the RTRL for the same simulation time lasted only 19 s. For these tests, the variable irradiance signal of Figure 12 was used. The two controllers presented a good response time, compared to the P&O algorithm, but the controller trained with the RTRL algorithm stands out for minimizing oscillations and for stabilizing faster than the fuzzy controller. In Figure 21 we note that using the irradiance and temperature signals of Figure 16, the fuzzy controller tracks the MPP during the first 0.1538 s of simulation. However, when there is a positive slope and several disturbances, the controller does not stabilize in the MPP and remains oscillating between 5 W for approximately 0.5 s of simulation. After 0.656 s, the controller responds again and tracks the MPP. These results show that the RTRL controller has an excellent performance, since it minimizes power losses due to oscillations. The two controllers presented a good response time, compared to the P&O algorithm, but the controller trained with the RTRL algorithm stands out for minimizing oscillations and for stabilizing faster than the fuzzy controller. In Figure 21 we note that using the irradiance and temperature signals of Figure 16, the fuzzy controller tracks the MPP during the first 0.1538 s of simulation. However, when there is a positive slope and several disturbances, the controller does not stabilize in the MPP and remains oscillating between 5 W for approximately 0.5 s of simulation. After 0.656 s, the controller responds again and tracks the MPP.

Comparison of the RTRL Neurocontroller with the Fuzzy Controller
In this section we present the results obtained when making a comparison between the RTRL neurocontroller and the fuzzy controller developed by researchers working in the same research group as the authors of this paper. The controllers were evaluated with the same conditions of irradiance and temperature to compare their behavior and determine which has a better response. It should be noted that to carry out these tests, the authors of the fuzzy controller provided us with their modeling and simulation files.
In these simulations we noticed that the fuzzy controller showed good results that can be seen in Figure 20. For a simulation time of 1 s, the fuzzy controller lasted approximately 14 min, while the RTRL for the same simulation time lasted only 19 s. For these tests, the variable irradiance signal of Figure 12 was used. The two controllers presented a good response time, compared to the P&O algorithm, but the controller trained with the RTRL algorithm stands out for minimizing oscillations and for stabilizing faster than the fuzzy controller. In Figure 21 we note that using the irradiance and temperature signals of Figure 16, the fuzzy controller tracks the MPP during the first 0.1538 s of simulation. However, when there is a positive slope and several disturbances, the controller does not stabilize in the MPP and remains oscillating between 5 W for approximately 0.5 s of simulation. After 0.656 s, the controller responds again and tracks the MPP. These results show that the RTRL controller has an excellent performance, since it minimizes power losses due to oscillations. These results show that the RTRL controller has an excellent performance, since it minimizes power losses due to oscillations.

Comparison of the RTRL Neurocontroller with the NARX Neurocontroller
In this section we present the results obtained when making a comparison between the RTRL Neurocontroller and the NARX Neurocontroller [25] developed by researchers working in the same research group as the authors of this work. In [25] a neural controller of inverse model was implemented, which consists of a nonlinear autoregressive network with exogenous inputs to track the MPP of a PV module. For the design of the network, the researchers used the Backpropagation training algorithm with Levenberg-Marquardt optimization, which was designed with the MATLAB Neural Network Toolbox.
The NARX network has the same inputs (current and voltage) and the same output (duty cycle) as the RTRL neurocontroller proposed in this work. The difference between these two controllers is that the dynamic neural network with RTRL algorithm only has a neuron with Pureline activation function, whereas the NARX network has in its hidden layer 10 neurons with Tansig transfer function (Sigmoid Tangent) and a neuron in its output layer with Pureline transfer function for the duty cycle. Figures 22 and 23 show the results obtained with the simulations of the RTRL and NARX controllers. Both controllers track the ideal output power of the PV module and have fewer oscillations than the P&O controller. However, at each change in operating conditions, the NARX neurocontroller has strong oscillations and stabilizes after approximately 0.0325 s. In contrast, the RTRL neurocontroller stabilizes at approximately 0.005295 s and without oscillations.

Comparison of the RTRL Neurocontroller with the NARX Neurocontroller
In this section we present the results obtained when making a comparison between the RTRL Neurocontroller and the NARX Neurocontroller [25] developed by researchers working in the same research group as the authors of this work. In [25] a neural controller of inverse model was implemented, which consists of a nonlinear autoregressive network with exogenous inputs to track the MPP of a PV module. For the design of the network, the researchers used the Backpropagation training algorithm with Levenberg-Marquardt optimization, which was designed with the MATLAB Neural Network Toolbox.
The NARX network has the same inputs (current and voltage) and the same output (duty cycle) as the RTRL neurocontroller proposed in this work. The difference between these two controllers is that the dynamic neural network with RTRL algorithm only has a neuron with Pureline activation function, whereas the NARX network has in its hidden layer 10 neurons with Tansig transfer function (Sigmoid Tangent) and a neuron in its output layer with Pureline transfer function for the duty cycle. Figures 22 and 23 show the results obtained with the simulations of the RTRL and NARX controllers. Both controllers track the ideal output power of the PV module and have fewer oscillations than the P&O controller. However, at each change in operating conditions, the NARX neurocontroller has strong oscillations and stabilizes after approximately 0.0325 s. In contrast, the RTRL neurocontroller stabilizes at approximately 0.005295 s and without oscillations.

Comparison of the RTRL Neurocontroller with the NARX Neurocontroller
In this section we present the results obtained when making a comparison between the RTRL Neurocontroller and the NARX Neurocontroller [25] developed by researchers working in the same research group as the authors of this work. In [25] a neural controller of inverse model was implemented, which consists of a nonlinear autoregressive network with exogenous inputs to track the MPP of a PV module. For the design of the network, the researchers used the Backpropagation training algorithm with Levenberg-Marquardt optimization, which was designed with the MATLAB Neural Network Toolbox.
The NARX network has the same inputs (current and voltage) and the same output (duty cycle) as the RTRL neurocontroller proposed in this work. The difference between these two controllers is that the dynamic neural network with RTRL algorithm only has a neuron with Pureline activation function, whereas the NARX network has in its hidden layer 10 neurons with Tansig transfer function (Sigmoid Tangent) and a neuron in its output layer with Pureline transfer function for the duty cycle. Figures 22 and 23 show the results obtained with the simulations of the RTRL and NARX controllers. Both controllers track the ideal output power of the PV module and have fewer oscillations than the P&O controller. However, at each change in operating conditions, the NARX neurocontroller has strong oscillations and stabilizes after approximately 0.0325 s. In contrast, the RTRL neurocontroller stabilizes at approximately 0.005295 s and without oscillations.   It is important to note that for the simulation of 1 s, the NARX neurocontroller in the MATLAB/ Simulink software lasted approximately 7 h of computational processing, while the RTRL controller for the same simulation time lasted only 22 s.

Performance of the Control Algorithms for the MPPT
In order to analyze the performance of all the control algorithms, 5 test scenarios were designed with different values for the solar irradiance and the operating temperature of the PV module (Table 1). For case 2, the average value of the solar irradiance signal of Figure 12 was used. In case 3, the average value of the temperature signal of Figure 14 was used. For cases 4 and 5, the average values of the temperature and solar irradiance signals of Figures 16 and 18 were used.  Table 2 shows the maximum power values obtained during the simulation of the 5 cases, in which it can be seen that the Iterative LMS and RTRL controller showed similar power values. In each case, the power data presented for each controller represents an average value. Generally, the controllers showed a good performance under standard test conditions (Case 1) and for conditions of variable irradiance and constant temperature (Case 2), except for the P&O algorithm that stands out for having oscillations and low efficiency. Under conditions of constant irradiance and variable temperature (Case 3) the P&O algorithm showed good results and obtained an efficiency of 91.69%, despite not tracking the MPP completely.
For the most demanding test conditions in which variable signals of irradiance and temperature were used (Cases 4 and 5), exposing the PV module to sudden changes and very steep slopes, the RTRL neurocontroller showed the maximum possible efficiency in most of the tests (See Table 3). The efficiency (η) was found as the ratio of the average values of the power reached by each control method (P o ) and the average values of the power obtained from the PV module (P ref ) [38]. The results of Table 4 show the efficiency of the ADALINE network, in terms of computing time, for each of the three training algorithms (RTRL, LMS and Iterative LMS). These results are due to the fact that the ADALINE network only uses one (1) layer for its operation and that, in addition, for each algorithm only one (1) training cycle was needed. This information is consistent with the results obtained in [39], where the performance of five training algorithms was evaluated (ADALINE, Backpropagation, Levenberg-Marquardt, Simulated Annealing, Genetic Algorithm). In this work, the authors showed that the ADALINE network showed the best performance, which was measured in terms of the number of training cycles and the MSE.
Finally, Table 5 shows the settling times, peak power, and rise time, which were obtained for a simulation time of 0.025 s, irradiance of 1000 W/m 2 , and temperature of 25 • C. It is highlighted that the best settling times were obtained with the three algorithms based on the ADALINE network. In this way, the efficiency of the algorithms developed in this work is also shown, in terms of the step-response for dynamic systems.

Conclusions
From the development of a dynamic neural controller for the tracking of the maximum power point, it can be concluded that before designing the control system, the non-linear behavior of the PV module must be taken into account and that the output signals will be a function of the climatic conditions that are used as inputs of the module. Therefore, the simulations showed the performance of the controllers under variations in the solar irradiance and operating temperature.
With the design of the ADALINE network with its different training methods, it was possible to develop different control methods to solve the problem presented by the P&O algorithm. However, it was established that only the RTRL algorithm showed an optimal response.
The mathematical development of the ADALINE network and the RTRL algorithm was a very efficient process, since only 6 previous data were used for the training. This situation contrasts with the 50.931 power data that was used in the training of the NARX controller. In addition, it was not necessary to use the MATLAB Neural Network Toolbox to perform the controller training.
Dynamic neural networks have a high computational cost compared with other neural network control systems. However, the simulations of the control methods developed in this work required much less time than the control methods used in the comparisons. The small database used for the training was the most appropriate, since a single neuron was designed. During the literature review it was possible to confirm that the other neural control methods need more than one layer and more than one neuron to obtain good results.
The results of the RTRL neurocontroller simulations showed that mathematically it is possible to correct the oscillations that occur around the MPP when the P&O algorithm is used. The RTRL neurocontroller was adapted to the climatic conditions to which the PV module was exposed and presented a rapid response and a much lower error than the other training methods.
As future work, the experimental validation of the MPPT controller proposed in this paper will be carried out. The dynamic neural network trained with the RTRL algorithm will be implemented, in order to evaluate its efficiency through different experimental tests. Among the factors that will be evaluated are the efficiency, the program memory, and the data memory required by the proposed method and the execution time in the developed hardware. So far, the ADALINE neural network and the RTRL algorithm are designed in C language in mid-range and high-end PIC (Programmable Intelligent Computer) microcontrollers.