## 1 Introduction  
As the demand for solar energy is dramatically increasing, solar energy applications have been massively studied for the last few decades. Solar panels can conveniently convert the received light energy to electricity without any pollution. However, the characteristics of any solar panel heavily depend on irradiation and temperature conditions in terms of the photovoltaic voltage and current [1]. To achieve the maximum power point (MPP) of photovoltaics, MPPT algorithms are normally used. Among fundamental MPPT algorithms, the incremental conductance (INC) algorithm mainly relies on the tangential value of the photovoltaic (PV) operation point to predict the right direction of the maximum power point (MPP). The fixed step-size INC algorithm aims at stability and effectiveness of the algorithm due to the fact that adaptive step-size will adversely affect the MPPT controller under certain circumstances with noise and environmental changes, while the disadvantage of the fixed step-size INC is the slow response to the insolation condition changes [2]. The other popular MPPT algorithm, perturb and observe (P and O) can iteratively perturb the PV voltage and observe the changes in PV power so that it can continuously move the operation point along the direction towards the MPP. The P and O algorithm does not involve derivative operations [3], hence, it would have easy implementation. However, the conventional P and O algorithm is exposed to the same issue as the INC algorithm, in which the tracking speed has to be sacrificed in order to improve MPPT efficiency, and to suppress the steady-state oscillation. To enhance MPPT control, several MPPT techniques have been investigated for creating adaptive perturbing step-sizes [4; 5]. Due to the nature of the P-V characteristics of solar cells, an increase in PV voltage will result in a decrease in PV current. Additionally, PV power will eventually converge to zero as long as the PV voltage monotonously increases to the open-circuit voltage. Based on this nature, in [6], a discrete-time PI controller was proposed for MPPT control. The error signal of this PI controller is the change in PV power caused by operation point shifting, and the output signal of this PI controller is the step-size of the perturbation offset for the next perturbation. This PI controller is to automatically generate an adaptive step-size with simple control parameters. In fact, the gains of this controller are to be also adaptive under the changeable environmental conditions. Moreover, to reduce the steady-state error of this PI controller, the limits of this PI controller should be changed by considering variable P-V characteristics of solar cells. In [7], the authors adopted the sliding mode control (SMC) strategy for achieving the maximum power point (MPP) and selected the sliding surface where the derivation of PV operation point equals zero. According to the nature of SMC, chattering around the sliding surface can be seen in most cases, in which this chattering is related to the steady-state power oscillation. This chattering issue could keep the SMC from generating adaptive step-size. In [8,9], the authors directly change the duty-ratios of switching signals where such perturbations in duty-ratios are used as variables. The advantage of the MPPT controllers in [8,9] is that the MPPT controllers do not necessarily deal with PV voltage regulation or PV current regulation, so the complicated programing can be avoided. The disadvantage of this type of controller is that desired MPPT efficiency and accuracy cannot be guaranteed, as suggested in [10,11]. In [10,11,12,13], artificial neural networks (ANN) were adopted to enhance the MPPT algorithm in terms of accelerating the tracking speed and reducing steady-state power oscillation. The ANN-based MPPT algorithm generally demonstrates a better performance compared to traditional MPPT algorithms, such as P and O, INC, and hill climbing.