1. Introduction
In photovoltaic (PV) generation systems, the energy produced is limited by the efficiency of solar panels, which is generally between 18 and 23% [
1]. The low conversion efficiency of a PV panel is due to the physical characteristic of PV conversion, and the dependence of its maximum power point (MPP) with atmospheric conditions [
2]. Thus, the use of a maximum power point tracking (MPPT) technique to optimize the energy produced becomes essential [
3,
4]. The implementation of an MPPT algorithm needs a DC–DC power converter, which acts as an impedance adapter between the PV panel and the load, adapting the apparent impedance of the PV module to make it match the impedance in the MPP [
5].
Over the years, many MPPT techniques have been developed [
6,
7,
8,
9,
10]. Among the most popular conventional MPPT methods are: Fractional open circuit voltage (FOCV), Fractional short circuit current (FSCC), Hill Climbing (HC), Perturb and observe (P&O), and Incremental conductance (IncCond). FOCV and FSCC are the simplest and cheapest ones to implement, although they achieve less accurate results [
11,
12]. HC and P&O are widely used techniques due to their simplicity and ease of implementation [
13,
14,
15]. Both algorithms present the problem of oscillations around the MPP, and fail under rapid atmospheric changes [
16,
17]. IncCond theoretically overcomes the problem of oscillations; however, in practice, this rarely happens due to the resolution of the digital implementation and noise in the measurements [
18,
19]. IncCond is more complex to implement than P&O and HC, due to the need to perform divisions in its algorithm.
Due to the non-linear features of PV systems, non-linear MPPT controllers have attracted considerable attention [
3]. Among non-linear MPPT techniques, sliding mode control (SMC) has received much attention because of its benefits of a quick response, robustness to operate under uncertainty conditions [
20], and in many cases, easy implementation (depending on the sliding surface) [
21]. This technique is attractive since it simplifies the design task and endows the controller with robustness properties. [
22] A typical SMC has two modes of operation. One is called the approaching mode, where the system state converges to a predefined manifold named sliding function in finite time. The other mode is called the sliding mode, where the system state is confined on the sliding surface and is driven to the origin [
23]. Although the convergence rate of a standard SMC may be arbitrarily fast, it only provides an asymptotic stability and infinite time convergence [
14].
In the last few decades, artificial intelligence (AI) techniques have been introduced, proving to be more efficient and with better dynamic response [
24]. They have the characteristic of not needing an exact mathematical model of the system [
25,
26,
27], and handle the typical non-linearities of PV systems very well; although, they are more complex methods to implement, needing higher performance controllers [
28,
29]. Artificial neural networks (ANN) and Fuzzy logic controller (FLC) are the most common AI techniques. The main disadvantage of an ANN controller is the need for rigorous and periodic training to achieve an optimal relationship between input and output variables [
30,
31]. The main drawback of an FLC is the absence of a systematic method for formulating the membership functions. They are usually based on the designers’ experience and knowledge about the system [
32,
33,
34]. FLC and ANN have similar performances; however, the computational calculation time, hardware memory requirement, development time, and implementation complexity of an FLC controller in general can be reduced, when compared to an ANN [
26,
35,
36].
In autonomous PV systems, batteries represent the main weakness, considering that their lifetime depends on an efficient management of their charging and discharging processes [
37]. Valve-regulated lead acid (VRLA) batteries are the most used in off-grid PV systems due to their availability in the market, low cost, and being maintenance-free [
38,
39,
40,
41]. Over the years, various control strategies for solar battery chargers have been proposed, most of them being based on conventional techniques. They generally use a classical MPPT algorithm, a linear closed-loop control, or a combination of both, as shown in [
40,
42,
43,
44,
45,
46,
47,
48,
49,
50]. Conventional MPPT techniques fail under rapid atmospheric changes, which affect its performance. Moreover, linear control techniques suffer from the non-linearity of the components of a standalone PV system, and therefore, they may not provide a desired response for all weather and load conditions. To overcome these disadvantages, recent works propose to incorporate algorithms based on soft computing; nevertheless, most research focused on improving the performance of the MPPT technique, as presented in [
51,
52,
53,
54].
Taking into account the above, this paper presents a new control strategy for a Buck converter used as a PV charger of VRLA batteries. The control system proposed here consists of two FLC. One FLC works as an MPP tracker (FLC-MPPT), while the other regulates the battery voltage (FLC-VR). A smart algorithm based on battery state of charge (SoC), according to a three-phase charging scheme, manages the operation of the FLCs. This control approach allows maximizing of the power supplied by the PV panel, avoiding overcharging caused by the operation of the MPPT algorithm, thus increasing the life cycle of the battery. Furthermore, it reduces the drawbacks and limitations of the conventional solar chargers.
Fuzzy logic is a robust AI method, which can handle the high non-linearities of the PV standalone systems very well, where accurate mathematical models and parameters of the system are not required for design. Moreover, it is simpler to implement compared to other AI controllers. All these attributes have motivated its choice for the development of the proposed control strategy.
The FLCs are developed to be programmed in an Arduino Due board. To evaluate the control system under different weather and load conditions, simulations via MATLAB/Simulink are performed. The performance of the designed FLCs is compared with conventional methods commonly used and reported in the literature: P&O, IncCond, and the Proportional-Integral-Derivative (PID) controller. In addition, a prototype hardware setup is implemented. Experimental and simulated results are discussed to prove the reliability and validity of the proposed control strategy.
The paper is organized as follows:
Section 2 presents the description of the battery charger system, including the modeling of the PV module, the dc–dc power converter, and the charging strategy.
Section 3 provides a detailed explanation of the design methodology used for each FLC.
Section 4 discusses the simulated results.
Section 5 provides the experimental results and verifies the effectiveness of the proposed control strategy, while
Section 6 summarizes the conclusions of the paper.
3. Design of the Fuzzy Logic Controllers
FLC is one of the AI techniques that provides a convenient method for the design of non-linear controllers based on heuristic information [
63]. This method does not require an accurate mathematical model of the system to determine the parameters of the controller. The information needed is obtained by the knowledge of an expert on the system. FLC provides a simple methodology to represent and implement the human experience, allowing reasoning, not in numerical variables, but in linguistic variables, which are qualitative [
64]. As shown in
Figure 7, an FLC includes three steps: fuzzification, the fuzzy inference engine, and defuzzification. In the fuzzification, the numerical input variables are converted into linguistic variables, based on input membership functions. The inference engine is responsible for making control decisions considering the knowledge base (rule base) using a linguistic description in terms of If–Then rules. The most commonly used inference methods are Mandami and Takagi–Sugeno. In the defuzzification, the linguistic based data are converted back to numeric data. Center of gravity (CoG) and Mean of Maxima (MoM) are two methods normally used for defuzzification.
For the design of the FLCs, the following definitions have been adopted. The control of the power converter is carried out by adjusting the duty cycle value of the electronic switch in each switching period. For any pair of discrete input data [x
1(n), x
2(n)], a set of triangular membership functions, defined specifically for each FLC, transforms the numeric data into a fuzzy dataset for each input µ
1[x
1(n)] and µ
2[x
2(n)], assigning a certain degree of belonging to each linguistic variable. Triangular membership functions have been chosen because they are simple to implement and can reduce the computational cost, being more suitable for low-cost microcontrollers. Using the Mandami method of fuzzy minima implication, the inference engine applies the control rules to the fuzzified inputs, generating a single set of fuzzy outputs (µ
ΔD) for each rule. Finally, the numerical value of the output variable, which corresponds to the size of the duty cycle variations (ΔD), is obtained using the CoG defuzzification method, shown in Equation (5).
where n is the time at which values are sampled, w
i = min {μ
1[x
1(n)],u
2[x
2(n)]} is the weight factor, and ΔD
i is the value which corresponds to the membership function of ΔD(n). The output of the FLC is converted to the duty cycle according to Equation (6).
3.1. Design of FLC-MPPT
3.1.1. Fuzzy Inputs
Design considerations and the effectiveness of a fuzzy MPPT algorithm depends on the proper selection of the system’s input variables. According to the characteristics of a PV cell, several types of input variables could be used. In this work, the slope (S) of the P–V curve and the power variation (ΔP
PV) have been chosen, as shown in
Figure 8. This approach has the advantage of easily determining whether the operating point (OP) is on the right or left of the MPP, facilitating the increase or decrease in the converter’s duty cycle. In addition, for low radiation levels, ΔP
PV can be used to detect changes in radiation and facilitate the tracking speed [
65]. ΔP
PV and S can be described by Equations (7) and (8), respectively.
3.1.2. Asymmetrical Membership Functions
In order to optimize the efficiency of the MPPT, asymmetrical triangular membership functions were used. FLC-MPPT algorithms based on asymmetrical functions have shown to have better behavior to extract maximum power than those based on conventional symmetric functions [
25,
30]. For both inputs and outputs, the membership functions were defined in terms of the following linguistic variables: negative big (NB), negative small (NS), zero (ZO), positive big (PB), and positive small (PS). The ranges for S, ΔP
PV, and ΔD were adjusted to (−55 to 10), (−1 to 1), and (−0.02 to 0.02), respectively. Since there is no definite systematic method to select gains for an FLC, the membership values have been determined by trial and error by using the MATLAB Fuzzy Inference System.
Figure 9 shows the membership functions for the inputs and output of the controller.
3.1.3. Fuzzy Rules
A DC–DC converter has the characteristic of reflecting in its input the impedance of the connected load (Z
L). This impedance is reflected as a function of the duty cycle of the converter. Thus, by varying the duty cycle, it is possible to adjust the current and voltage in the PV panel, i.e., its OP. In the case of the Buck converter, the reflected input impedance (Z
i) is given by Equation (9) [
66]. If the duty cycle of the Buck converter increases, the input impedance decreases, producing an increase in the current in the PV panel and displacing the OP of the panel to the left. In the case where the duty cycle decreases, the opposite effect is produced and the OP of the panel is moved to the right, as shown in
Figure 10.
Fuzzy rules have been developed according to the relationship between the chosen input variables and their behavior in the PV panel’s P–V characteristic (
Figure 8). Six operating criteria have been addressed:
- (1)
If S is positive and ΔPPV is positive, it means that the OP is on the left side of the MPP and approaching it; then, ΔD must be negative to continue in the same direction.
- (2)
If S is positive and ΔPPV is negative, it means that the OP is on the left side of the MPP and the OP is moving away from it; then, ΔD must be negative to change direction.
- (3)
If S is negative and ΔPPV is positive, it means that the OP is on the right side of the MPP and approaching it; then, ΔD must be positive to continue in the same direction.
- (4)
If S is negative and ΔPPV is negative, it means that the OP is on the right side of the MPP and moving away from it; then, ΔD must be positive to change direction.
- (5)
If ΔPPV is zero, it means that the OP could be very close to the MPP. Here, two situations could happen: In the case of S being negative, it means that the OP is on the right side of the MPP; then, ΔD must be positive to move the OP to the left. In the case of S being positive, it means that the OP is on the left side of the MPP; then, ΔD must be negative to move the OP to the right.
- (6)
If S is zero, it means that the MPP has been reached; then, ΔD must be zero.
Table 2 shows the summary of the proposed rules for the FLC-MPPT. The control surface is shown in
Figure 11.
3.2. Design of FLC-VR
3.2.1. Fuzzy Inputs
To design the voltage controller, two input variables have been chosen: the error (E) and the error change (ΔE); the sampled values of these variables are described in Equations (10) and (11), respectively.
where V
REF corresponds to the desired charging voltage.
3.2.2. Symmetrical Membership Functions
For the fuzzification process, symmetric triangular membership functions were used. For the entries, the following linguistic variables were defined: negative big (NB), negative mean (NM), zero (ZO), positive big (PB), and positive mean (PM). The range for E and ΔE were adjusted to (−15 to 15) and (−0.025 to 0.025), respectively. In order to improve the accuracy of the controller, two more linguistic variables for the ΔD output function can be added: positive small (PS) and negative small (NS) [
67]. The range of ΔD was adjusted to (−0.05 to 0.05).
Figure 12 shows the membership functions for the inputs and output of the controller.
3.2.3. Fuzzy Rules
The derivation of the control rules has been based on six criteria [
68]:
- (1)
If E is large (positive or negative), then ΔD change must be large in order to bring VBAT quickly to VREF.
- (2)
If E is decreasing, then a small change in ΔD is necessary.
- (3)
If E is zero and ΔE is not zero (VBAT keeps changing), then a small change in ΔD is necessary to prevent the VBAT from moving away from VREF.
- (4)
If E is zero and ΔE is zero, then ΔD must remain unchanged.
- (5)
If E is positive, then the sign of the ΔD change must be negative.
- (6)
If E is negative, then the sign of the ΔD must be positive.
Table 3 shows the summary of the proposed control rules.
Figure 13 shows the control surface of the FLC-VR.
6. Conclusions
This work has presented and tested the design of a new digital control strategy implemented in the Arduino Due microcontroller for a Buck power converter used as a solar charger of VRLA batteries. The strategy combines both MPPT and output voltage regulation by using two precise fuzzy logic controllers (FLC-MPPT and FLC-VR), which operate adjusting the optimal increment of the converter duty cycle according to a smart three-stage charging algorithm. To evaluate the performance of the designed FLCs, simulations by MATLAB/Simulink were carried out. The results have shown that the FLC-MPPT operating under abrupt changes in incident radiation achieves higher MPPT efficiency, smaller steady-state ripple, and shorter convergence time compared to conventional MPPT techniques commonly reported in the literature: P&O and IncCond (
Table 4 and
Table 5). Furthermore, the FLC-VR presents smaller transitory voltage overshoot and faster transient response compared to a standard PID controller (
Table 6). In addition, a prototype hardware setup was implemented. The experimental tests have proved that in the Bulk charging region, the energy produced by the PV panel is maximized in different weather conditions, with efficiency of the FLC-MPPT being between 97.87 and 98.22% with a convergence time of 1.93 s. Moreover, in the absorption and float charging regions, the FLC-VR is able to stabilize the voltage against abrupt variations in the charging current, with setting times between 0.93 and 1.24 s.
The simulated and experimental results validate the robustness and reliability of the control strategy. The charging system delivers maximum power from the PV source to the battery and avoids overcharging, thereby ensuring an efficient, fast, and safe charging process. Moreover, it overcomes the drawbacks of the conventional PV charges, is feasible to implement in low-cost microcontrollers, and does not require any mathematical model.