1 Introduction

Photovoltaic (PV) systems have been used in remote applications as cost comes down such as wireless highway call boxes and standalone power generation units. PV generation is gaining importance as a renewable source due to its advantages [1, 2], such as the absence of fuel cost, little maintenance, no noise and wear due to the absence of moving parts.

The actual energy conversion efficiency of PV module is rather low and is affected by the weather conditions and output load. So, to overcome these problems and to get the maximum possible efficiency, the design of all the elements of the PV systems have to be optimized. The PV array has highly nonlinear current–voltage characteristics varying with solar illumination and operating temperature [3, 4], that substantially affect the array output power. At particular solar illumination, there is a unique operating point of PV array at which its output power is maximum. Therefore, for maximum power generation and extraction efficiency, it is necessary to match the PV generator to the load such that the equilibrium operating point coincides with the maximum power point of the PV array. The maximum power point tracking (MPPT) control is therefore critical for the success of the PV systems [5, 6]. In addition, the maximum power operating point varies with insolation level and temperature. Therefore, the tracking control of the maximum power point is a complicated problem. To mitigate these problems, many tracking control strategies have been introduced such as perturb and observe [7], incremental conductance [8], parasitic capacitance [9], constant voltage [10] and reactive power control [11]. These strategies have some disadvantages such as high cost, difficulty, complexity and instability. In an effort to overcome aforementioned disadvantages, several researches have used artificial intelligence approach such as fuzzy logic controller (FLC) [12, 13] and artificial neural network (ANN) [1418]. Although these methods are effective in dealing with the nonlinear characteristics of the current–voltage curves, they require huge computation. For example, FLC has to deal with fuzzification, rule base storage, inference mechanism and defuzzification operations. For ANN, the large amount of data required for training are a major source of constraint. Furthermore, the operating conditions of the PV system vary continuously. Clearly, a low-cost processor cannot be employed in such a system.

An alternative approach is to employ evolutionary algorithm (EA) techniques. Due to its ability to handle nonlinear objective functions [19], EA is visualized to be very effective to deal with MPPT problem. Among the EA techniques, genetic algorithm (GA) [20], artificial bee colony (ABC) [21, 22] and bacteria foraging (BF) [23, 24] have attracted the attention in MPPT and controller design. However, these algorithms appear to be effective for the design problem, these algorithms suffer from slow convergence, and algorithms may lead to possible entrapment in local minimum solutions. A relatively newer evolutionary computation algorithm, called BAT search algorithm, has been presented by [25] and further established recently by [2634]. It is a very simple and robust algorithm. In addition, it requires less control parameters to be tuned. Hence, it is a suitable optimization tool for locating the maximum power point (MPP) regardless of atmospheric variations.

The main objective of this paper is to design PI controller via BAT algorithm to increase the tracking response of MPP for PV systems to power switched reluctance motor (SRM) with high efficiency. A comparison between the proposed algorithm and PSO is carried out to ensure the robustness of the developed algorithm. Simulation results have proved that the suggested controller gives better performance.

2 System under study

The system under study consists of PV system which acts as a voltage source for a connected SRM. The MPPT loop is designed using BAT search algorithm. The error signal is obtained by comparing between the reference load resistance and the actual one. The output of the PI controller is denoted as duty cycle. The schematic block diagram is shown in Fig. 1.

Fig. 1
figure 1

Overall system for SRM control

2.1 Construction of SRM

The construction of a 8/6 (8 stator poles, 6 rotor poles) poles SRM has doubly salient construction [35]. The number of stator and rotor poles is even and the construction is well shown in Fig. 2. The windings of the SRM are simpler than those of other types of motors, and winding exists only on stator poles, and is simply wound on it with no winding on the rotor poles. The winding of opposite poles is connected in series or in parallel forming a number of phases and exactly half the number of stator poles and the excitation of a single phase excites two stator poles. The rotor has a simple laminated salient pole structure without winding. SRMs have the merit of reducing copper losses while its rotor is winding. Its stampings are made of silicon steel, especially in higher efficiency applications [3638].

Fig. 2
figure 2

SRM 8/6 poles construction

Torque is developed in SRMs due to the tendency of the magnetic circuit to adopt the configuration of minimum reluctance. The magnetic behavior of the SRM is highly nonlinear. The static torque produced by one phase at any rotor position is given using the following equations [38].

$${\text{Co}}\;{\text{energy}} = W^{{\prime }} = \int {\psi (\theta ,i){\text{d}}i}$$
(1)
$${\text{Static}}\;{\text{torque}} = T_{\text{static}} = {\text{d}}W^{{\prime }} /{\text{d}}\theta$$
(2)

From Eqs. (1) and (2), a similar static torque matrix can be estimated where current will give the row index and θ will give the column index as in [38].

The value of actual speed can be calculated from the following mechanical equations:

$${\text{d}}\omega /{\text{d}}t = \left( {T(\theta ,i) - T_{\text{mech}} } \right)/J$$
(3)

where the speed error is obtained from the difference between the rotor speed and its reference. The value of rotor angular displacement θ can be calculated from the following equation:

$${\text{d}}\theta /{\text{d}}t = \omega$$
(4)

where the angle δ corresponding to the displacement of phase A in relation to another phase is given by:

$$\delta = 2\pi \left( {\frac{1}{{N_{\text{r}} }} - \frac{1}{{N_{\text{s}} }}} \right)$$
(5)

where N r and N s are the number of rotor and stator poles, respectively. Also, the positive period of phase is determined by the following equation:

$${\text{Duty}}\;{\text{period}} = 2\pi \left( {\frac{1}{{qN_{\text{r}} }}} \right)C_{\text{r}}$$
(6)

where q is number of phases and C r is the commutation ratio.

C r can be calculated by the following equation:

$$C_{\text{r}} = 2\pi \left( {\frac{1}{{\beta_{\text{r}} }} - \frac{1}{{\beta_{\text{s}} }}} \right)$$
(7)

where β s and β r are the stator and the rotor pole arc respectively.

Duration of negative current pulses depended on the stored energy in phase winding. The parameters of SRM are shown in “Appendix”.

2.2 Photovoltaic system

To overcome the variations of illumination, temperature and load resistance, voltage controller is required to track the new modified reference voltage whenever load resistance, illumination and temperature variation occur. IV characteristics of solar cell are given by the following equations [39]:

$$I_{\text{c}} = I_{\text{ph}} - I_{\text{o}} \left\{ {e^{{\frac{{q_{\text{o}} }}{AKT}\left( {V_{\text{c}}\,+\, I_{\text{c}} R_{\text{s}} } \right)}} - 1} \right\}$$
(8)
$$V_{\text{c}} = \frac{AKT}{{q_{\text{o}} }}\ln \left( {\frac{{I_{\text{ph}} + I_{\text{o}} - I_{\text{c}} }}{{I_{\text{o}} }}} \right) - I_{\text{c}} R_{\text{s}}$$
(9)
$$I = I_{\text{ph}} - I_{o} \left\{ {e^{{\left[ {\frac{{q_{\text{o}} }}{{n_{\text{s}} AKT}}\left( {V\,+\, n_{\text{s}} IR_{\text{s}} } \right)} \right]}} - 1} \right\}$$
(10)
$$V = \frac{{n_{\text{s}} AKT}}{{q_{\text{o}} }}\ln \left( {\frac{{I_{\text{ph}} + I_{\text{o}} - I}}{{I_{\text{o}} }}} \right) - n_{\text{s}} IR_{\text{s}}$$
(11)

where

$$I_{\text{ph}} = \frac{G}{1000}\left[ {I_{\text{sc}} + k_{i} \left( {T - T_{\text{r}} } \right)} \right]$$
(12)
$$I_{\text{o}} = I_{\text{or}} \left( {\frac{T}{{T_{\text{r}} }}} \right)^{3} e^{{\left[ {\frac{{q_{\text{o}} E_{\text{g}} }}{AK}\left( {\frac{1}{{T_{\text{r}} }} - \frac{1}{T}} \right)} \right]}}$$
(13)

The module output power can be determined simply from

$$P = V \times I$$
(14)

where, I and V: module output current and voltage, I c and V c: cell output current and voltage, I ph and V ph: the light generation current and voltage, I s: cell reverse saturation current, I sc: the short circuit current, I o: the reverse saturation current, R s: the module series resistance, T: cell temperature, K: Boltzmann’s constant, q o: electronic charge, KT: (0.0017 Å/°C) short circuit current temperature coefficient, G: solar illumination in W/m2, E g: band gap energy for silicon, A: ideality factor, T r: reference temperature, I or: cell rating saturation current at T r, n s: series connected solar cells, k i : cell temperature coefficient.

Thus, if the module parameters such as module series resistance (R s), reverse saturation current (I o) and ideality factor (A) are known, the IV characteristics of the PV module can be simulated by using Eqs. (12) and (13). The parameters of PV system are given in “Appendix”.

2.3 DC–DC converter

Many converters have been used and tested; buck converter is a step-down converter, while boost converter is a step-up converter [40, 41]. In this paper, a hybrid (buck and boost) DC/DC converter is used. The equations for this converter type in continuous conduction mode are given below [42]:

$$V_{\text{B}} = \frac{ - k}{1 - k}V_{\text{ph}}$$
(15)
$$I_{\text{B}} = \frac{k - 1}{k}I_{\text{ph}}$$
(16))

where k is the duty cycle of the pulse width modulation (PWM) switching signal. V B and I B are the output converter voltage and current respectively. The MATLAB/Simulink of PV system can be shown in Fig. 3.

Fig. 3
figure 3

MATLAB/Simulink for PV system

3 Maximum power point tracking

As the power supplied by the solar array depends on the illumination, temperature and PV array power (voltage and current), an important consideration in the model of efficient solar array systems is to track the maximum power point correctly [43, 44]. The purpose of the MPPT is to move the array operating voltage close to the MPP under changing atmospheric conditions and load. So far, three methods were often used to achieve the MPPT, these are; perturbation and observation method [45, 46], incremental conductance method [47, 48] and intelligent method [4951]. The perturbation and observation method has been widely used due to its simple feedback structure and fewer measured parameters [45, 46]. The peak power tracker operates by periodically incrementing or decrementing the solar array voltage. If a given perturbation leads to an increase (decrease) in array power, the subsequent perturbation is made in the same (opposite) direction. In this manner, the peak power tracker continuously hunts or seeks the peak power condition. Although this algorithm benefits from simplicity, it lacks the speed and adaptability necessary for tracking fast changing atmospheric conditions. The control system oscillates around the MPP forward and backward, even tracking in a wrong way under rapidly changing atmospheric conditions. This method neglects the changing of atmospheric conditions. The incremented conductance method [47, 48] is based on the concept that the maximum power point (dP/dV = 0), and since P = V × I, it yields dV/dI = −I/V. A PI controller is employed to regulate the PWM control signal of the DC/DC converter until the condition (dV/dI) + (I/V) = 0 is achieved. Although the incremental conductance method presents good performance under rapidly changing atmospheric conditions, it lacks from the circuit complexity and four-sensor devices require more conversion time which results in a large amount of power loss and results in a higher system cost.

4 Objective function

A performance index can be defined by the Integral of Time multiplied by Absolute Error (ITAE). Thus, the objective function J t is set to be:

$$J_{t} = \int\limits_{0}^{\infty } {t\left( {\left| e \right|} \right){\text{d}}t}$$
(17)

where e = R Lreference − R Lactual and R Lactual = V/I.

Based on this objective function, J t optimization problem can be stated as: Minimize J t subjected to:

$$K_{p}^{\text{minimum}} \le K_{P} \le K_{p}^{\text{maximum}} ,\quad K_{i}^{\text{minimum}} \le K_{i} \le K_{i}^{\text{maximum}}$$
(18)

Normal limits of the optimized parameters are [0.001, 20]. This paper converges on optimal tuning of PI controller for MPPT of PV system supplied SRM via BAT search algorithm.

5 Optimization algorithms

5.1 Overview of BAT search algorithm

BAT search algorithm is an optimization algorithm inspired by the echolocation behavior of natural bats in locating their foods. It is developed by Yang [2528] and is used for solving various optimization problems. Each virtual bat in the initial population employs a homologous manner by performing echolocation way for updating its position. Bat echolocation is a perceptual system in which a series of loud ultrasound waves are released to create echoes. These waves are returned with delays and various sound levels which qualify bats to spot a specific prey. Some rules are introduced to extend the structure of BAT algorithm and use the echolocation characteristics of bats [2932].

  1. (a)

    Each bat utilizes echolocation characteristics to classify between prey and barrier.

  2. (b)

    Each bat flies randomly with velocity v i at position x i with a fixed frequency f min, varying wavelength \(\lambda\) and loudness L 0 to seek for prey. It regulates the frequency of its released pulse and adjusts the rate of pulse release r in the range of [0, 1], relying on the closeness of its aim.

  3. (c)

    Frequency, loudness and pulse released rate of each bat are varied.

  4. (d)

    The loudness \(L_{m}^{\text{iter}}\) changes from a large value L 0 to a minimum constant value L min.

The position x i and velocity v i of each bat should be defined and updated during the optimization task. The new solutions \(x_{i}^{t}\) and velocities \(v_{i}^{t}\) at time step t are performed by the following equations [3234]:

$$f_{i} = f_{\hbox{min} } + \left( {f_{\hbox{max} } - f_{\hbox{min} } } \right)\alpha$$
(19)
$$v_{i}^{t} = v_{i}^{t - 1} + \left( {x_{i}^{t} - x^{*} } \right)f_{i}$$
(20)
$$x_{i}^{t} = x_{i}^{t - 1} + v_{i}^{t}$$
(21)

where α in the range of [0, 1] is a random vector drawn from a uniform distribution. \(x^{*}\) is the current global best location, which is achieved after comparing all the locations among all the n bats. As the product \(\lambda_{i} f_{i}\) is the velocity increment, one can consider either f i (or λ i ) to set the velocity change while fixing the other factor. For implementation, every bat is randomly assigned a frequency which is drawn uniformly from (f min, f max). For the local search, once a solution is chosen among the current best solutions, a new solution for each bat is generated using random walk.

$$x_{\text{new}} = x_{\text{old}} + \varepsilon L^{t}$$
(22)

where, \(\varepsilon \in [ - 1, 1]\) is a random number, while L t is the average loudness of all bats at this time step. As the loudness usually reduces once a bat has found its prey, while the rate of pulse emission increases, the loudness can be elected as any value of convenience. Assuming L min = 0 means that a bat has just found the prey and temporarily stops emitting sound, one has:

$$L_{i}^{t + 1} = \beta L_{i}^{t} ,\quad r_{i}^{t + 1} = r_{i}^{0} [1 - \exp ( - \gamma t)]$$
(23)

where, β is constant in the range of [0, 1] and γ is positive constant. As time reaches infinity, the loudness tends to be zero, and \(\gamma_{i}^{t}\) equal to \(\gamma_{i}^{0}\). The flowchart of BAT algorithm is shown in Fig. 4, and the parameters of BAT are given in “Appendix”.

Fig. 4
figure 4

Flowchart of BAT search algorithm

5.2 Particle swarm optimization algorithm

Particle swarm optimization (PSO) is a form of evolutionary computation technique developed by Kennedy and Eberhart [52]. It is inspired by the behavior of a flock of birds in searching for food. One major difference between particle swarm and traditional evolutionary computation methods is that particles’ velocities are adjusted, while evolutionary individuals’ positions are acted upon; it is as if the “fate” is altered rather than the “state” of the particle swarm individuals [5355]. Moreover, PSO is a meta-heuristic as it makes few or no assumptions about the problem being optimized and can search very large spaces of candidate solutions. However, PSO does not guarantee an optimal solution is ever found. Also, PSO suffers from the partial optimism, which causes the less exact at the regulation of its velocity and the position. Moreover, the algorithm cannot work out the problems of scattering and optimization [56, 57]. The flowchart of PSO is given in Fig. 5.

Fig. 5
figure 5

Flowchart of PSO algorithm

6 Results and discussion

In this section, several comparative cases are examined to show the effectiveness of the developed BAT algorithm compared with PSO under variations of ambient temperature, radiation and load torque. The designed parameters of PI controller with the proposed BAT and PSO are given in Table 1. The proposed BAT methodology and PSO are programmed in MATLAB 7.1 and 4.00 GB of RAM.

Table 1 Parameters of PI controller for different algorithms

6.1 Response under change of radiation

In this case, the system responses under variation of PV system radiation are illustrated. Figure 6 shows the variation of the PV system radiation as an input disturbance while temperature is constant at 27 °C. The characteristic of PV cell for different radiations is given in Fig. 7. Moreover, the variations of PV system response based on different algorithms are shown in Figs. 8 and 9. It is clear from these figures that the proposed BAT-based controller improves the MPPT control effectively w.r.t the estimated value. Furthermore, the value of power per cell based on BAT algorithm is greater than twice its value at open loop (without MPPT controller). Also, an increment of 0.5 W/cell is achieved based on BAT algorithm over its value based on PSO. Hence, BAT algorithm is better than PSO in achieving MPP. In addition, PI controller based on BAT enhances the performance characteristics of PV system and reduces the number of PV cells compared with that based on PSO technique.

Fig. 6
figure 6

Change of radiation

Fig. 7
figure 7

Effect of radiation on characteristics of PV cell

Fig. 8
figure 8

Change of PV volt for different radiations and controllers

Fig. 9
figure 9

Change of PV power for different radiations and controllers

6.2 Response under change of temperature

The system responses under variation of PV system temperature are discussed in this case. Figure 10 shows the change of the PV system temperature as an input disturbance while radiation is constant at 1000 W/m2. The characteristic of PV cell for different temperatures is given in Fig. 11. Also, the PV system responses based on different algorithms are given in Figs. 12 and 13. It is clear from these figures that the suggested technique-based controller enhances the tracking efficiency of MPP. Moreover, the developed method outperforms and outlasts PSO in designing the MPPT controller. Also, the value of power/cell based on BAT algorithm is greater than PSO and open loop case. As a result, the number of solar cells and cost are largely reduced. Hence, PI-based BAT greatly improves the performance characteristics of MPPT over other algorithms.

Fig. 10
figure 10

Change of temperature

Fig. 11
figure 11

Effect of temperature on characteristics of PV cell

Fig. 12
figure 12

Change of PV volt for different temperatures and controllers

Fig. 13
figure 13

Change of PV power for different temperatures and controllers

6.3 Response under change of radiation and temperature

In this case, the system responses under variation of PV system radiation and temperature are examined. The variations of the PV system radiation and temperature as input disturbances are shown in Fig. 14. Moreover, the changes of PV system response based on different algorithms are presented in Figs. 15 and 16. It is shown that the developed BAT-based controller increases power of PV system compared with PSO and consequently reduces the number of solar cells and cost.

Fig. 14
figure 14

Change of radiation and temperature

Fig. 15
figure 15

Change of PV volt for various controllers

Fig. 16
figure 16

Change of PV power for various controllers

6.4 Response under step of load torque, radiation, and temperature

Figure 17 shows the step change of load torque of SRM, radiation, and temperature of PV system. The responses of PV system are given in Figs. 18 and 19. It is shown that the developed BAT-based controller increases the power of PV system compared with PSO and consequently reduces the number of solar cells and cost. In addition, the designed controller is robust in its operation and gives a superb performance compared with PSO tuning PI controller.

Fig. 17
figure 17

Step change in load torque and PV system parameters

Fig. 18
figure 18

Change of PV volt for step change of variables

Fig. 19
figure 19

Change of PV power for step change of variables

6.5 Response under change of load torque, radiation, and temperature

Figure 20 shows the change of load torque, radiation and temperature. Figures 21 and 22 show the responses of PV system with different controllers. It is clear from these figures that the suggested controller is efficient in enhancing MPPT of PV system compared with PSO. Hence, the potential and superiority of the developed controller over the PSO are demonstrated.

Fig. 20
figure 20

Change of load torque and PV system parameters

Fig. 21
figure 21

Change of PV volt for variable load torque and PV system parameters

Fig. 22
figure 22

Change of PV watt for variable load torque and PV system parameters

7 Conclusions

In this paper, a novel method for MPPT of PV system supplying SRM is proposed via BAT search algorithm. The controlled system comprises of a PV generator that feeds a SRM through buck–boost DC/DC converter. The design problem of the proposed controller is formulated as an optimization process and BAT is employed to seek for optimal parameters of PI controller. By minimizing the time domain objective function, in which the difference between the reference load resistance and actual one is involved, MPPT of PV system supplying SRM is improved. Simulation results confirm that the designed BAT-based PI controller is robust in its operation and gives a superb performance for the change in load torque, radiation and temperature compared with PSO. The future work will include the experimental validation of this paper.