1 Introduction

The constant increase in energy consumption in all its forms and the associated polluting effects mainly caused by the combustion of fossil fuels are the main challenges faced by the energy sector in the world today. With two-third of its sources being fossil fuels, the power generation sector is classified as the largest consumer of primary energy sources. This sector is technically and economically capable of making significant efforts to reduce the impact of human activities on the climate and environment. One possibility is to increase the rate of electricity production from non-fossil and renewable energy sources. Amongst renewable energy sources existing in the world today, wind energy offers the possibility to produce green energy.

In the range of small wind turbines used for wind energy production, the squirrel-cage asynchronous generator has the advantage of low cost and robustness although its control is complex. Several researchers in the pass decades have developed different control schemes for the control of the squirrel-cage asynchronous generator of a wind turbine. Recent trends in this research is the development of more and more efficient controlled systems, using electronically commutated conversion structures so as to widen the usable range of wind speeds. Some of these recent research projects include: [1,2,3,4,5,6,7,8,9,10,11,12,13].

In [10], the authors presented a method for limiting the rotor flux reference value in order to control the DC bus voltage and the rotor flux of a squirrel-cage asynchronous generator using a conventional PI regulator. Vector control by rotor flux orientation taking into account the cross-effect is proposed in [3] to control the DC bus voltage as well as the rotor flux of a squirrel-cage asynchronous generator for a certain range of wind speed variations. In [6], the authors presented the classical sliding mode vector control of the DC bus voltage and rotor flux of a squirrel-cage asynchronous generator. An input-output linearization control is proposed in [7] to control the DC bus voltage and the amplitude of the stator voltages within a certain range of wind speed variations. In [2, 8] the authors presented the control of the DC bus voltage, rotor flux and stator voltages of a squirrel-cage asynchronous generator using fuzzy logic. A PID regulator is used in [11] to experimentally control the three phase output voltages of a squirrel-cage asynchronous generator. The main drawback in all the above-mentioned control approaches is that they depend on the rotor flux and stator angular position, which cannot be measured directly. In addition, the conventional methods for observing these quantities depend on rotor resistance, which cannot also be measured. This makes real-time implementation of these algorithms complex and even difficult. Further more, some authors in order to numerically validate the proposed algorithms, did not link the wind turbine to the squirrel-cage asynchronous generator. They simply imposed a variable wind speed range on the generator’s input.

In [13], the authors used a PI regulator to control the DC bus voltage and stator flux of a squirrel-cage asynchronous generator. An on-line estimation algorithm for the rotor time constant was also proposed. However, the implementation of this algorithm required the knowledge of the nominal value of the rotor resistance which is difficult to obtain by measurement. An experimental study with the aim of controlling the root mean square value of the inverter’s output voltage using a PI regulator was proposed in [1]. However, the authors used a fixed wind speed in the experiment. Most of the deficiencies in the above-mentioned control approaches have been improved in [4, 5], where the authors presented three rotor flux vector control approaches to control the DC bus voltage and rotor flux of a squirrel-cage asynchronous generator. They also proposed an algorithm for estimating electrical parameters which are not accessible for measurement, namely; rotor resistance, rotor flux and stator angular position. However, the implementation of these control schemes required the use of a pulse width modulation, change of coordinates as well as an estimator of rotor parameters. In [9], the authors proposed a direct torque controller to maintain the electromagnetic torque and stator flux of the generator at their reference value. The advantage of this control approach as compared to those mentioned above is that it does not require pulse width modulation and coordinate transformations. Moreover, its implementation is more feasible since it does not depend on rotor parameters. However, the technique generates more harmonic distortion and a strong torque ripple.

In this context, this work proposes a direct fuzzy torque/power control based on a direct determination of the control signals applied to the power electronics converter switches so that the electromagnetic torque and stator flux converge towards their reference values on one hand and on the other hand that active power and reactive power also converge towards their reference values. The application of this control technique ensures a decoupling between torque and flux without the use of pulse width modulation nor coordinate transformations. The advantages of this control approach are; rapid speed of dynamic torque response, non-dependence on rotor parameters, absence of coordinate transformations, reduced sensitivity to parametric variations, reduced amplitude of torque ripples and current harmonic distortion.

This article will be presented as follows. In Sect. 2, the modeling of the wind power system is presented. In Sect. 3, the proposed direct fuzzy control strategy is designed. In Sect. 4, simulation results and discussion are presented while a conclusion is given in Sect. 5.

2 Modeling of wind power system

Figure 1 shows the synoptic diagram of the wind power system studied in this paper. The system consists of a squirrel-cage asynchronous generator, a rectifier and a voltage inverter connected to the grid and loads through an LCL filter. Due to the random nature of wind at the input of the system, the frequency and amplitude of the electrical quantities at the output of the wind turbine are variable and not suitable for exploitation. These variable quantities need to be made constant using an appropriate control. Thus in this research, we used a rectifier to convert the variable AC power at the output of the squirrel-cage asynchronous generator into constant DC power, which is then re-converted into AC power by an inverter.

Our objective in this work is to implement direct fuzzy torque control to the converter on the generator side in order to extract the maximum available power from the turbine and to maintain the stator flux at a desired level. The advantage of this control is that it is not very sensitive to the variation of the generator parameters. Subsequently, we apply direct fuzzy power control to the inverter on the grid side in order to regulate the power flow between the DC bus and the load and to keep the amplitude and frequency of the voltages and currents on the load side constant.

Fig. 1
figure 1

Synoptic diagram of wind power system

2.1 Non-linear dynamics of wind turbine

The wind turbine is the entry point for mechanical power captured from wind. This power can be calculated using the following expression:

$$\begin{aligned} P_t= & {} \dfrac{1}{2}\pi \rho R^2C_p(\lambda )v^3 \end{aligned}$$
(1)

where \(\rho \) is the density of air, R is the radius of the turbine blades, v is the wind speed and \(C_p(\lambda )\) the power coefficient. This power coefficient corresponds to the aerodynamic efficiency of the turbine, which is a nonlinear function of the speed ratio \(\lambda \) given as:

$$\begin{aligned} \lambda= & {} \dfrac{R\omega _{mt}}{v} \end{aligned}$$
(2)

where \(\omega _{mt}\) represents the mechanical speed of the turbine. In the literature, several research works have presented the characteristic of \(C_p\) as a function of \(\lambda \) and the angle of shimming \(\beta \) see [14]. In this work, we consider that the wind turbine is operating in region 2 (Fig. 2) which is the zone within which power extraction is carried out by adapting the speed of the generator. In this zone, mechanical speed is highly variable and corresponds to a wide range of variation in the electrical power produced. The blade pitch angle is kept fixed (i.e. \(\beta \equiv 0\)) and only electromagnetic torque control is implemented in this area. The power coefficient characteristic used in this study is extracted from the works of [15] and given as follows:

Fig. 2
figure 2

Operating region of Wind turbine [15]

$$\begin{aligned} C_p(\lambda )= & {} \left( \dfrac{C_2}{\lambda }-C_3\right) e^{-\frac{C_1}{\lambda }}+C_4\lambda \end{aligned}$$
(3)

The system extracts maximum power from the wind turbine when the power coefficient \(C_p\) is maximum (i.e at \(C_p^*\)) [15]. For this, it is necessary to maintain the rotor speed at its optimum value, which corresponds to a value of \(\lambda \) rated \(\lambda ^*\). The resulting optimum rotational speed \(\omega _{mt}^*\) obtained using 2 is then given by:

$$\begin{aligned} \omega _{mt}^*= & {} \dfrac{\lambda ^* v}{R}. \end{aligned}$$
(4)

Consequently, the main control objective for any wind speed is to regulate the rotor speed to its optimal value.

The nonlinear rotor dynamics is given by:

$$\begin{aligned} J_t\frac{d\omega _m}{dt}= & {} \frac{T_t}{n_g}-T_e-f\omega _m, \end{aligned}$$
(5)

with: \(T_t\) the aerodynamic torque of the turbine, \(J_t\) the total moment of inertia, f the total coefficient of friction, \(n_g\) the speed multiplication ratio.

2.2 Nonlinear dynamics of squirrel-cage asynchronous generator

The general equations of the stator and rotor voltages of the squirrel-cage asynchronous machine in the two-phase \(\alpha \beta \) reference frame are given as [3]:

$$\begin{aligned} v_{s\alpha }= & {} R_si_{s\alpha }+{\dot{\varphi }}_{s\alpha } \end{aligned}$$
(6)
$$\begin{aligned} v_{s\beta }= & {} R_si_{s\beta }+{\dot{\varphi }}_{s\beta } \end{aligned}$$
(7)
$$\begin{aligned} 0= & {} R_ri_{r\alpha }+{\dot{\varphi }}_{r\alpha }-\omega \varphi _{r\beta } \end{aligned}$$
(8)
$$\begin{aligned} 0= & {} R_ri_{r\beta }+{\dot{\varphi }}_{r\beta }+\omega \varphi _{r\alpha } \end{aligned}$$
(9)

The stator and rotor fluxes are expressed as a function of the currents and inductances as:

$$\begin{aligned} \varphi _{s\alpha }= & {} L_si_{s\alpha }+L_mi_{r\alpha } \end{aligned}$$
(10)
$$\begin{aligned} \varphi _{s\beta }= & {} L_si_{s\beta }+L_mi_{r\beta } \end{aligned}$$
(11)
$$\begin{aligned} \varphi _{r\alpha }= & {} L_mi_{s\alpha }+L_ri_{r\alpha } \end{aligned}$$
(12)
$$\begin{aligned} \varphi _{r\beta }= & {} L_mi_{s\beta }+L_ri_{r\beta } \end{aligned}$$
(13)

Substituting Eqs. (1013) into Eqs. (69), we obtain the state model of the squirrel-cage asynchronous generator in the (\(\alpha \beta \)) stationary frame of reference related to the stator as [3]:

$$\begin{aligned} {\dot{i}}_{s\alpha }= & {} \frac{1}{\gamma _4}(-L_rR_si_{s\alpha }+L_m^{2}\omega i_{s\beta }+L_mR_ri_{r\alpha }{+}L_rL_m\omega i_{r\beta }\nonumber \\&+L_rv_{s\alpha }) \end{aligned}$$
(14)
$$\begin{aligned} {\dot{i}}_{s\beta }= & {} \frac{1}{\gamma _4}(-L_m^{2}\omega i_{s\alpha }-L_rR_si_{s\beta }-L_rL_m\omega i_{r\alpha }{+}L_mR_ri_{r\beta }\nonumber \\&+L_rv_{s\beta }) \end{aligned}$$
(15)
$$\begin{aligned} {\dot{i}}_{r\alpha }= & {} \frac{1}{\gamma _4}(L_mR_si_{s\alpha }-L_mL_s\omega i_{s\beta }-L_sR_ri_{r\alpha }{-}L_sL_r\omega i_{r\beta }\nonumber \\&+L_mv_{s\alpha }) \end{aligned}$$
(16)
$$\begin{aligned} {\dot{i}}_{r\beta }= & {} \frac{1}{\gamma _4}(L_mL_s\omega i_{s\alpha }+L_mR_si_{s\beta }+L_sL_r\omega i_{r\alpha }{-} L_sR_ri_{r\beta }\nonumber \\&+L_mv_{s\beta }) \end{aligned}$$
(17)
$$\begin{aligned} {\dot{v}}_{dc}= & {} -\frac{1}{C}(i_{dc}+i_{res}) \end{aligned}$$
(18)

with:

$$\begin{aligned} \gamma _4= & {} L_sL_r-L_m^{2}\\ i_{dc}= & {} s_{\alpha }i_{s\alpha }+s_{\beta }i_{s\beta }\\ i_{res}= & {} s_{i\alpha }i_{i\alpha }+s_{i\beta }i_{i\beta }. \end{aligned}$$

In these equations, (\(R_r,R_s\)) are the rotor and stator resistances per phase respectively; (\(L_r,L_s\)) are the rotor and stator inductances per phase; \(L_m\) is the mutual inductance; C is the capacitance of the DC bus; (\(i_{s\alpha },i_{s\beta }\)) are the stator currents in the two-phase \(\alpha \beta \) reference frame; (\(i_{r\alpha },i_{r\beta }\)) are the rotor currents in the two-phase \(\alpha \beta \) reference frame; \(\omega =n_p\omega _m\) are mechanical angular frequencies; \(n_p\) is the number of pairs of poles; \(\omega _m\) is the rotor speed; \(v_{dc}\) is the DC bus voltage; \(i_{dc}\) is the modulated current of the squirrel-cage asynchronous generator in the DC bus; \(i_{res}\) is the modulated current of the load in the DC bus; (\(s_{\alpha },s_{\beta }\)) is the switching states of the rectifier in the \(\alpha \beta \) reference frame; (\(s_{i\alpha },s_{i\beta }\)) is the switching status of the inverter in the \(\alpha \beta \) reference frame and \(T_e\) is the electromagnetic couple.

2.3 Nonlinear dynamics of grid

The inverter is connected to the power grid through an LCL filter. The parameters of this filter have been determined using to the approach proposed in [16]. The dynamics of the LCL filter, inverter and electrical grid in the stationary \(\alpha \beta \) reference frame are given as follows [17]:

$$\begin{aligned} L_1\frac{di_{1\alpha }}{dt}= & {} -(R_1+R_d)i_{1\alpha }+R_di_{2\alpha }+v_{i\alpha }-v_{c\alpha } \end{aligned}$$
(19)
$$\begin{aligned} L_1\frac{di_{1\beta }}{dt}= & {} -(R_1+R_d)i_{1\beta }+R_di_{2\beta }+v_{i\beta }-v_{c\beta } \end{aligned}$$
(20)
$$\begin{aligned} C_1\frac{dv_{c\alpha }}{dt}= & {} i_{1\alpha }-i_{2\alpha } \end{aligned}$$
(21)
$$\begin{aligned} C_1\frac{dv_{c\beta }}{dt}= & {} i_{1\beta }-i_{2\beta } \end{aligned}$$
(22)
$$\begin{aligned} L_2\frac{di_{2\alpha }}{dt}= & {} -(R_2+R_d)i_{2\alpha }+R_di_{1\alpha }+v_{c\alpha }-e_{\alpha } \end{aligned}$$
(23)
$$\begin{aligned} L_2\frac{di_{2\beta }}{dt}= & {} -(R_2+R_d)i_{2\beta }+R_di_{1\beta }+v_{c\beta }-e_{\beta } \end{aligned}$$
(24)

In these equations, (\(R_1,R_2\)) are the internal resistances of the LCL filter per phase on the generator and grid sides respectively; (\(L_1,L_2\)) are the inductances on the generator and grid sides; \(C_1\) is the filter capacitance per phase; \(R_d\) is the LCL filter resonance damping resistance; (\(v_{i\alpha },v_{i\beta }\)) are simple wavy voltages at the output of the inverter; (\(v_{c\alpha }\),\(v_{c\beta }\)) are the capacitor voltages; (\(e_{\alpha },e_{\beta }\)) are single voltages of the grid; (\(i_{1\alpha }\),\(i_{1\beta }\)) currents in the smoothing inductors on the inverter side; (\(i_{2\alpha }\),\(i_{2\beta }\)) currents in the grid side smoothing inductor.

The instantaneous active power P and reactive power Q injected into the grid by the wind turbine are expressed respectively as:

$$\begin{aligned} P= & {} e_{\alpha }i_{2\alpha }+e_{\beta }i_{2\beta } \end{aligned}$$
(25)
$$\begin{aligned} Q= & {} e_{\alpha }i_{2\beta }-e_{\beta }i_{2\alpha }. \end{aligned}$$
(26)

3 Direct fuzzy control strategy design

3.1 Generator side control strategy design

In this section, we present the direct fuzzy torque control of a squirrel-cage asynchronous generator.

The hysteresis comparators and selection table for the direct control of the classic torque are the origins of the strong ripples observed in the torque and flux. In order to reduce these ripples, we used the direct fuzzy control of the couple.

Fuzzy logic is a multi-value system based on rule bases and expert reasoning, which supports the degree of membership of the controller’s inputs and outputs [18]. The direct fuzzy torque control is designed on the basis of three fuzzy input variables, namely torque error \(e_{T_e}\), flux error \(e_{\varphi _s}\) and angular position of the stator flux \(\theta _s\).

These errors are given by:

$$\begin{aligned} e_{T_e}= & {} T_e^*-T_e \end{aligned}$$
(27)
$$\begin{aligned} e_{\varphi _s}= & {} \varphi _s^*-\varphi _s. \end{aligned}$$
(28)
$$\begin{aligned} \theta _s= & {} \arg \dfrac{\varphi _{s\beta }}{\varphi _{s\alpha }} \end{aligned}$$
(29)

Figures 3 and  4 show the membership functions of the input and output variables of the fuzzy inference system [19]. Trapezoidal and triangular membership functions have been chosen. The input of the flux error is composed of three fuzzy sets: negative (N), zero (Z) and positive (P) Fig. 3a. Five fuzzy sets form the membership functions of the torque error: negative big (NB), negative small (NS), zero (Z), positive small (PS), positive big Fig. 3b.

In order to fine tune the controller, the angle of the stator flux is divided into twelve fuzzy sets of \(\theta _1\) to \(\theta _{12}\) Fig. 3.c.

Fig. 3
figure 3

a Membership function (MF) of Flux error b torque error and c stator flux angle

The output variable of the inference system is divided into 8 singletons, two zero voltages (\(V_o\) and \(V_7\)) and six non-zero voltages. The membership functions of the output variable are shown in Fig. 4.

Fig. 4
figure 4

Membership functions (MF) output switching sector of FLC

Fig. 5
figure 5

Stator flux vector in (\(\alpha \), \(\beta \))

Table 1 Fuzzy rule base

The rule base is deduced from the stator flux diagram in the (\(\alpha \), \(\beta \)) plane illustrated by Fig. 5. For example, if the \(\theta _s\) angle of the stator flux is located in the \(\theta _2\) interval, when one wishes to decrease the torque and increase the flow then the \(V_1\) vector is the best choice. The same reasoning is used to build the rules base for the fuzzy direct torque control presented by Table 1 [20]

A system of fuzzy rules can describe a transfer function between the input and output variables of a system in the form of language rules. These rules are the engines of inference of fuzzy control. They express a link between basic fuzzy proposals or conjunctions of elementary proposals in the following form:

\(R_i\): if \(e_{T_e}\) is PL and \(e_{\varphi _s}\) is P and \(\theta _s\) is \(\theta _2\) then the output is \(V_2\). We used the inference method \(\text{ Max--Min }\). The \(\alpha _i\) activation degree of each “i” rule is calculated by Eq. (30) as follows:

$$\begin{aligned} \alpha _i= & {} \text{ min }(\mu _i(e_{\varphi _s}),\mu _i(e_{T_e}),\mu _i(\theta _s)). \end{aligned}$$
(30)
$$\begin{aligned} \mu _{Vi}^{'}= & {} \text{ max }(\alpha _i,\mu _{Vi}). \end{aligned}$$
(31)

The output of the fuzzy controller consists of a set of singleton, we will apply the MAX method as illustrated on equation (32) :

$$\begin{aligned} \mu _{Vout}^{'}= & {} \max _{i=1}^{180}(\mu _{Vi}^{'}). \end{aligned}$$
(32)

The block diagram for the implementation of the direct fuzzy torque control is shown in Fig. 6.

The reference rotor flux required at any speed is calculated at the base of the maximum of this flux which corresponds to the minimum speed of the rotor. So for any rotor speed, the rotor flux reference is given by [10].

$$\begin{aligned} \varphi _r^*= & {} \frac{\omega _{m_{min}}}{\omega _m}\varphi _{r_{max}} \end{aligned}$$
(33)

3.2 Grid side control strategy design

3.2.1 DC-link voltage regulation

The dynamic behavior of the dc-bus voltage can be obtained from the power balance principle as:

$$\begin{aligned} \frac{C}{2}\frac{dV_{dc}^2}{dt}= & {} P_e-P \end{aligned}$$
(34)

where \(P_e=\omega _m T_e\) is the power provided by the generator and P is the active power given by (25).

For the system described by (34), the open loop transfer function can be written as:

$$\begin{aligned} \frac{V_{dc}^2}{\Delta P}= & {} \frac{2}{Cs} \end{aligned}$$
(35)

where \(\Delta P=P_e-P\).

Fig. 6
figure 6

Control law of direct fuzzy torque control

Let the transfer functions of the first PI regulator and the tracking error be denote by \(C_{V_{dc}}(s)\), and \(e_{V_{dc}}=V_{dc}^*-V_{dc}\) respectively. The expression of \(C_{V_{dc}}(s)\) is:

$$\begin{aligned} C_{V_{dc}}(s)= & {} \frac{k_{pV_{dc}}(\frac{k_{iV_{dc}}}{k_{pV_{dc}}}+s)}{s} \end{aligned}$$
(36)

The close loop transfer function taking into account the above PI regulator can be computed as:

$$\begin{aligned} F_{V_{dc}}(s)= & {} \frac{1+\frac{k_{pV_{dc}}}{k_{iV_{dc}}}s}{1+\frac{k_{pV_{dc}}}{k_{iV_{dc}}}s+\frac{C}{k_{iV_{dc}}}s^2} \end{aligned}$$
(37)

comparing the above transfer function with a standard second-order transfer function given as:

$$\begin{aligned} F_{S}(s)= & {} \frac{T(s)}{1+\frac{2\xi }{\omega _n}s+\frac{1}{\omega _n^2}s^2} \end{aligned}$$
(38)

yields:

$$\begin{aligned} k_{pV_{dc}}= & {} 2\xi C\omega _n \end{aligned}$$
(39)
$$\begin{aligned} k_{iV_{dc}}= & {} C\omega _n^2. \end{aligned}$$
(40)

where \(T(s)=1+\frac{k_{pV_{dc}}}{k_{iV_{dc}}}s\), \(\xi \) is the unitless damping ratio and \(\omega _n\) is the undamped natural frequency in radians per second.

3.2.2 Direct fuzzy power control

In this subsection we design the direct fuzzy power controller used to regulate the active and reactive power injected into the grid. Active power reference is obtained from the output of the DC bus controller while reactive power is kept at zero in order to have a power factor close to unity. The direct fuzzy power controller is designed based on three fuzzy input variables, namely; the active power error \(e_{P}\), the reactive power error \(e_{Q}\) and the angular position of voltage \(\theta _n\) (Fig. 12). The computation of this angular position requires knowledge of \(e_{\alpha }\) and \(e_{\beta }\) components, which can be calculated from the transformation of grid voltages from the three-phase abc plane to the stationary \(\alpha -\beta \) plane. These quantities are given by:

$$\begin{aligned} e_P= & {} P^*-P \end{aligned}$$
(41)
$$\begin{aligned} e_Q= & {} Q^*-Q \end{aligned}$$
(42)
$$\begin{aligned} \theta _n= & {} \arctan \left( \frac{e_{\beta }}{e_{\alpha }}\right) \end{aligned}$$
(43)

Figures 7 and 8 show the membership functions of the input and output variables of the fuzzy inference system [21]. Trapezoidal and triangular membership functions were chosen. The input of the reactive power error is composed of three fuzzy sets: negative (N), zero (Z) and positive (P) Fig. 7a. Three fuzzy sets form the membership functions of the active power error: negative (N), zero (Z), positive (P) Fig. 7b.

In order to fine tune the controller, the angular position of the voltage is divided into twelve fuzzy sets from \(\theta _{n1}\) to \(\theta _{n12}\) Fig. 7c.

Fig. 7
figure 7

a Membership function (MF) of reactive power error b active power error and c grid voltage angle

The output variable of the inference system is divided into eight singletons, two voltages (\(V_o\) and \(V_7\)) and six non-zero. The membership functions of the output variable are shown in the Fig. 8

Fig. 8
figure 8

Membership functions (MF) output switching sector of FLC

Fig. 9
figure 9

Voltage vector in (\(\alpha \), \(\beta \))

Table 2 Fuzzy rule base for direct power control

The rule base is deduced from the diagram of the angular position of the voltage in the a,b plane illustrated by Fig. 9. For example, if the \(\theta _n\) angle of the voltage is located in the \(\theta _{2n}\) interval, when one wants to decrease the active power and increase the reactive power then the \(V_6\) vector is the best choice. the same methodology is used to build the rule base of the direct fuzzy power controller presented by Table 2 [21].

The following implementation of the direct fuzzy power control is identical to that presented in Sect. 3.1.

The block diagram for the implementation of the direct fuzzy power control is shown in Fig. 10.

Finally, the global structure of the proposed fuzzy logic direct controller is depicted in Figs. 11, 12 and 13.

Remark 1

The global convergence and stability analysis taking into account the interconnections between the estimation algorithms and the nonlinear controllers are based on the separation principle theorem. The finite-time convergence of the estimators allows us to design the estimators and the nonlinear control laws separately, i.e., the separation principle is satisfied. The only requirement for its implementation is the boundedness of the states of the system in the operational domain.

Fig. 10
figure 10

Control law of fuzzy logic direct power control

4 Results and discussion

The simulation results presented in this section show the comparison between the proposed control scheme and the control technique presented in [9]. The comparison is carried out between the direct fuzzy torque control (DFTC) and direct torque control (DTC)for the generator-side inverter and direct fuzzy power control (DFPC) and direct power control (DPC) for the load-side inverter. These control algorithms have been validated in the Matlab/Simulink digital environment. The parameters of the asynchronous machine, DC bus and LCL filter are given in Table 4.

The wind profile used throughout this simulation is shown in Fig. 14a. i and the turbine parameters are given in Table 4. We also used sampling time of \(50\,\upmu s\).

The currents were measured in the presence of noise so that the signal-to-noise ratio represents on average of \(4\%\) of the maximum value of the measured quantities. We also varied the rotor resistance by \(100\%\) of its nominal value at time \(t=1\) s and the stator resistance by \(50\%\) of its nominal value at time \(t=1.5\) s.

Simulation results are shown in Figs. 1419. The results show the robustness of the two control approaches with respect to the variation of the internal parameters of the asynchronous machine (rotor resistance and stator resistance).

Quantitative results are shown in Table 3. From these results, it can be seen that the proposed control scheme with very small average values of THD and relative tracking errors, produces a better trajectory tracking and hence a better performance as compared to the direct torque/power control strategy.

Based on these qualitative and quantitative results which show the superiority of the proposed approach, we can conclude that the proposed direct fuzzy control scheme gives better performances in terms of trajectory tracking and guarantees quality power supply to the power grid (generates less harmonic distortion) as compared to the classical direct control approach.

Fig. 11
figure 11

The proposed structure of fuzzy logic direct torque control

Fig. 12
figure 12

The proposed structure of fuzzy logic direct power control

Fig. 13
figure 13

Global structure of the proposed fuzzy logic direct controller

Table 3 Quantitative results
Fig. 14
figure 14

Comparative performances. a i: Wind speed profile. ii: Generator rotor speed. iii: Power coefficient. b i: Electromagnetic torque. ii: Rotor flux magnitude. iii: DC-link voltage

Fig. 15
figure 15

Comparative performances. a i: Rotor flux tracking error case of DTFC. ii: Electromagnetic torque tracking error case of DTFC. b i: Rotor flux tracking error case of DTC. ii: Electromagnetic torque tracking error case of DTC

Fig. 16
figure 16

Comparative performances. a i: Active power. ii: Active power tracking error case of DPFC. iii: Reactive power case of DPFC. b i: DC-link voltage tracking error. ii: Active power tracking error case of DPC. iii: Reactive power case of DPC

Fig. 17
figure 17

Comparative performances. a i: Stator current component case of DFTC. ii: Stator current spectrum harmonic case of DFTC. b i: Stator current component case of DTC. ii: Stator current spectrum harmonic case of DTC

Fig. 18
figure 18

Comparative performances. a i: Voltage at the capacity terminals of the LCL filter case of DFPC. ii: Voltage at the capacity spectrum harmonic case of DFPC. b i: Voltage at the capacity terminals of the LCL filter case of DPC. ii: Voltage at the capacity spectrum harmonic case of DPC

Fig. 19
figure 19

Comparative performances. a i: Stator current component case of DFPC. ii: line current spectrum harmonic case of DFPC. b i: Stator current component case of DPC. ii: line current spectrum harmonic case of DPC

5 Conclusion

This scientific work aimed at proposing a new direct fuzzy control scheme for a decentralized wind power generation system with an acceptable range of wind speed variations. The proposed scheme made use of direct fuzzy torque and power control laws to improve the performance of the system and more particularly the quality of energy inserted into the electrical grid. The direct fuzzy torque control law was used to generate the control signal of the converter on the generator side in order to extract the maximum power available at the turbine and also to maintain the stator flux of the machine at an acceptable level while the direct fuzzy power control law of the converter was used on the grid side to obtain a power efficiency close to unity. A comparison of simulation results between the proposed control method and the classical direct control method showed that the proposed control method guarantees a better trajectory tracking as well as robustness against variations in the internal parameters of the asynchronous generator (rotor resistance and stator resistance). It also ensured a supply of quality electrical energy into the electrical grid.