### Control system structure

Figure 2 shows the schematic of MPPT control system of PEMFC with Boost Converter, which is mainly composed of PEMFC, boost converter, MPPT controller, PWM generator and external load resistor. Because the boost converter has the advantages of simple structure, easy control and voltage amplification, it is used in the system to improve the output voltage and as a regulator to realize the control scheme MPPT. The output of the PWM generator is a series of square waves with a different duty cycle, which is used to control the on and off of the Boost converter. The output duty cycle of the PWM controller is represented by *D*.

For the system shown in Fig. 2, the equivalent load resistance of PEMFC can be expressed based on knowledge of power electronics technology as:

$$ R_{{{text{eq}}}} = frac{U}{I} = (1 – D)^{2} R_{{text{L}}} $$

(12)

in which *R*_{eq} is the equivalent load resistance of PEMFC, and *R*_{I} denotes the actual load resistance, i.e. the load resistance at the output of the Boost converter.

It is well known that the output power of an electrical source can reach its maximum if and only if its external resistance is equal to its internal resistance. According to eq. (12), the purpose of adjusting the equivalent load resistance can be achieved by adjusting the duty cycle of the Boost converter. Therefore, by adjusting the duty cycle, the equivalent load resistance of PEMFC can be equal to its internal resistance, so as to achieve the maximum output power target.

### P&O algorithm

P&O is the most widely used MPPT method today. Its basic principle is to apply a positive disturbance voltage to the fuel cell, sample its output voltage and current, and calculate the rate of change of its voltage and power. If the output power increases after the disturbance, it indicates that the direction of the disturbance voltage is the direction of the increase in output power, and the disturbance should continue in that direction; otherwise, the disturbance should be in the opposite direction. According to the changing direction of voltage and power, the disturbance voltage is continuously applied to the fuel cell until the maximum output power is gradually approached, so as to realize the MPPT. The flowchart of the P&O algorithm is shown in Fig. 3, in which “*k*” designates the sampling point, (Delta d) represents the increment of the duty cycle.

P&O has the advantages of simple calculation and convenient implementation, but it can only keep the system infinitely oscillating near the maximum power point, and cannot accurately track the maximum power point, so it can’t effectively solve tracking accuracy and speed issues.

### Variable pitch INC MPPT

The Incremental Conductance (INC) method determines whether the maximum power point is tracked based on the slope of the voltage-power curve of the PEMFC. If d*P*/D*you*= 0, the operating point is at the maximum power point and the operating voltage must be kept unchanged; if d*P*/D*you*P/D*you*> 0, the operating point is to the left of the maximum power point and the operating voltage must be increased.

When the INC method is used for MPPT, the tracking speed of the system is determined by the step size. When the step size is large, the tracking speed is fast, but it is difficult to maintain it after reaching the maximum power point, and it is easy to produce a concussion. On the contrary, when the step size is small, the tracking is stable after reaching the maximum power point, but the tracking speed is relatively slow. Step size selection should balance tracking speed and tracking accuracy, so it is very difficult to select the appropriate step size.

By observing the voltage-power curve, a variable step method is proposed. Considering the MPPT control system shown in Fig. 2, the duty cycle of the Boost converter is adjusted by the following formula:

$$ D(k) = D(k – 1) pm upsilon left| {frac{{{text{d}}P}}{{{text{d}}U}}} right| $$

(13)

or *D* (*k*) represents the duty cycle of the upconverter at the instant of sampling *k* ; *υ* is the speed factor used to adjust the step size. To ensure the convergence of the MPPT update rule, the speed factor must satisfy the following relationship:

$$ upsilon

(14)

where Δ*D*_{maximum} indicates the maximum duty cycle change during the previous sample period.

When eq. (14) is satisfied, the system can work in variable step mode, and the more the *υ* the faster the response^{60.61}. If Eq. (14) cannot be satisfied, the system will work with the constant step of Δ*D*_{maximum}. Variable step size INC (VS-INC) can effectively improve speed and tracking accuracy, but the selection of speed factor and Δ*D*_{maximum} is specific, so different velocity factors and Δ*D*_{maximum} must be set in different cases, otherwise the tracking effect will not meet the requirements, resulting in the tracking dead zone.

### ABC-based MPPT

The Artificial Bee Colony (ABC) algorithm is an optimization algorithm inspired by the nectar-collecting behavior of bees and designed based on a random population. Due to its simplicity, efficiency, robustness, and global searchability, it has proven to be one of the most effective naturally-inspired algorithms for dealing with single-objective global optimization problems. or multi-objective without constraint and constraint.

In the ABC algorithm, all bees are divided into three groups: worker bees, onlookers and scouts. All three types of bees exploit nectar sources through division of labor and cooperation, and constantly update the location of nectar sources through marking and sharing to find optimal nectar sources. The location of the nectar source corresponds to the feasible solution of the optimization problem, and the quality of the nectar source is measured by the fitness value of the optimization problem. The main process of the ABC algorithm includes^{62,63,64,65}:

(1) *Initialization phase*Set the number of different bee colonies, optimization range, dimension and maximum iterations.

When the ABC algorithm is used to optimize the duty cycle *D* in this study, the initial number of worker bees and onlooker bees are set to 50 and 30 respectively, the dimension is set to 1, the maximum number of iterations is set to 10, and the optimization range is set to (0.85, 1).

(2) *Bee phase employed* The employed bees searched for a new food source close to their current food source.

To produce a candidate food position from the old one, the new solution is compared to the current solution, and the fitness is calculated according to the following formula:

$$ V_{ij} = X_{ij} + varphi_{ij} (X_{ij} – X_{kj} ) $$

(15)

or *V*_{ij} indicates the new location of the food source; *X*_{ij} indicates the current food source; *I* (in){1, 2,…, *S*_{NOT}} is the position of the food source; *k* (in){1, 2,…, *S*_{NOT}} and *I* (in){1, 2,…, *M* } are randomly chosen indexes, *S*_{NOT} is the number of solutions in the colony (i.e. the size of the swarm), *M* is the dimension of the problem; and *φ*_{ij} is a random number in the range [− 1,1].

(3) *Spectator bee phase*Spectators choose the food source after sharing information about the bees employed and determine the amount of nectar. Some best solutions are selected based on a probability which is calculated by:

$$ p_{i} = frac{{f_{i} }}{{sumlimits_{i = 1}^{{S_{N} }} {f_{i} } }} $$

(16)

in which *F*_{I} is the value of the fitness function of *I*^{and} Solution.

(4) *Scout Bee Phase*During each iteration, the scout bees monitor the changes of each solution in the swarm. If a food source cannot be updated within a predetermined cycle, it will be removed from the population and the bees employed by the food source will become scouts, and they will use the following equation to find a new location random food source:

$$ X_{ij} = X_{min j} + {text{rand}}[0,1](X_{max j} – X_{min j} ) $$

(17)

### ABC-MPPT fuzzy

Although ABC shows good search performance, it still has the disadvantages of slow convergence speed and low solving accuracy.^{66}. To solve these problems, an MPPT scheme based on the ABC algorithm integrated with fuzzy control (ABC-fuzzy) is proposed. The structure diagram of the ABC-fuzzy MPPT control system is shown in Fig. 4.

The integral of power multiplied by time is introduced as an intermediate variable as shown in the following formula:

$$ W = int_{{t_{0} }}^{{t_{1} }} {tleft| P right|} {text{d}}t $$

(18)

or *O* is the electrical energy produced by the fuel cell. In the same period, the higher the power generation energy *O* the higher the output power *P* . Therefore, it is used as an ability to compare and judge the choice of duty cycle.

The power error Δ*P* and the voltage error Δ*you* are respectively used as inputs of the fuzzy controller, and its output is used as one of the components (*D*_{not}) of the duty cycle. The basic domain of Δ*P* and Δ*you*are designed as [− 100, 100] and [− 10, 10], respectively; and the base domain of *D*_{not} is designed as [− 8, 8]. In order to obtain a good control effect, the fuzzy domains of Δ*P*and Δ*you*are divided into five fuzzy subsets, namely {NB, NS, ZE, PS, PB}, and the fuzzy domains of *D*_{not} are divided into seven fuzzy subsets, namely {NB, NM, NS, ZE, PS, PM, PB}.

The detailed steps of the ABC-fuzzy algorithm are shown in Table 2, and the fuzzy control rules are designed as shown in Table 3.