Keywords

1 Introduction

The Multi-phase machine could be an interesting alternative for the speed variable control because it gives various advantages over classical three-phase Machine. In a multi-phase machine drive system, more than three-phase windings are housed in the same stator of the electric machine and the current per phase in the machine is thereby reduced. Most commonly, two sets of three-phase windings are spatially phase shifted by 30°. However, model and control strategy are widely found in recent literature, but very few papers deal with DTFC technology for six-phase engines. Therefore, in this work, a study is reserved for the (DTFC) strategy of the double stator asynchronous motor (DSIM) and its speed setting. These machines require double three-phase power and have been used in many applications for their benefits [1, 2].

The advantages of this method include a very fast and accurate response to the torque control signal and an available comparative simplicity of the control algorithm with a few input variables such as motor torque, flux magnitude and flux Sector DTC for induction machines (IM). It simplifies the overall drive technology, because the controller is directly connected to the drive circuitry of switches, which eliminates the modulator. Provided the torque and flux controllers produce good results, DTC is rather robust to the motor parameters and external disturbances. The other advantage of DTC-based controllers is the ability to avoid coordinate transformation in calculations and eliminate current regulation and voltage modulation blocks [3].

The established disadvantages of DTC are highlighted at startup and in low velocity or high waviness regions and the slow response to beneficial torque changes. To improve performance, fuzzy logic is successfully implemented in various control systems and electrical drive control. It is therefore necessary to test it in DTC [4].

The purpose of using kalman filter in this work is the minimization of the sensors (speed sensor) for the cut and the compensation of the DTC estimator (estimate the variation of resistance), and also test the robustness of the control and the variation of parameters of machine (DSIM). The Kalman Filter is used as an estimator and filters the noise of modeling and measurements. The results of the simulation show good performance and robustness. The error between real and estimated speed is within a few rad/s.

2 Modeling of Double Stator Induction Machine

The DSIM offers several advantages for industrial drive systems over conventional three-phase drive systems, such as improving reliability, minimizing torque pulsations, reducing magnetic flux harmonics and reducing power for the cascaded H-bridge multi-level inverters [3, 5].

The DSIM model is derived from some assumptions, as it is known under the name “simplifying hypotheses”.

DSIM modeling and control in the original reference is very difficult. For this reason, it is necessary to obtain a simplified model of this machine. The DSIM model is decomposed into two main sub-models noted (ds1-qs1) and (ds2-qs2) for the stator side and a sub-model noted (dr-qr) for the rotor side.

All sub models are expressed in the synchronous coordinate system. Stator and rotor flux expressions are

The state space representation of the machine is as follow [5]:

$$ \begin{array}{*{20}c} {\frac{\text{dX}}{\text{dt}} = {\text{AX}} + {\text{B}}\quad {\text{where}}} & {{\text{X}} = \left[ {\phi_{{{\text{ds}}1}} \phi_{{{\text{ds}}2}} \phi_{{{\text{qs}}1}} \phi_{{{\text{qs}}2}} \phi_{\text{dr}} \phi_{\text{qr}} } \right]^{T} ;} & {U = \left[ {v_{ds1} v_{ds2} v_{qs1} v_{qs2 } } \right]^{T} ;} \\ \end{array} $$
(1)

The matrices A and B are given

$$ {\text{A}} = \left[ {\begin{array}{*{20}c} { - \left( {\frac{{{\text{R}}_{{{\text{s}}1}} }}{{{\text{L}}_{{{\text{s}}1}} }} - \frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}}^{2} }}} \right)} & {\frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{{{\text{s}}2}} }}} & {{\text{w}}_{\text{s}} } & 0 & {\frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{\text{r}} }}} & 0 \\ {\frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{{{\text{s}}2}} }}} & { - \left( {\frac{{{\text{R}}_{{{\text{s}}2}} }}{{{\text{L}}_{{{\text{s}}2}} }} - \frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}2}}^{2} }}} \right)} & 0 & {{\text{w}}_{\text{s}} } & {\frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}2}} {\text{L}}_{\text{r}} }}} & 0 \\ { - {\text{w}}_{\text{s}} } & 0 & { - \left( {\frac{{{\text{R}}_{{{\text{s}}1}} }}{{{\text{L}}_{{{\text{s}}1}} }} - \frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}}^{2} }}} \right)} & {\frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{{{\text{s}}2}} }}} & 0 & {\frac{{{\text{R}}_{{{\text{s}}1}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{\text{r}} }}} \\ 0 & { - {\text{w}}_{\text{s}} } & {\frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{{{\text{s}}2}} }} } & { - \left( {\frac{{{\text{R}}_{{{\text{s}}2}} }}{{{\text{L}}_{{{\text{s}}2}} }} - \frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}2}}^{2} }}} \right)} & 0 & {\frac{{{\text{R}}_{{{\text{s}}2}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}2}} {\text{L}}_{\text{r}} }}} \\ {\frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{s}}1}} {\text{L}}_{\text{r}} }} } & {\frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{\text{r}} {\text{L}}_{{{\text{s}}2}} }} } & 0 & 0 & { - \left( {\frac{{{\text{R}}_{\text{r}} }}{{{\text{L}}_{\text{r}} }} - \frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{\text{r}}^{2} }}} \right)} & {\left( {{\text{w}}_{\text{s}} - {\text{w}}} \right)} \\ 0 & 0 & {\frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{{{\text{S}}1}} {\text{L}}_{\text{r}} }} } & {\frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{\text{r}} {\text{L}}_{{{\text{s}}2}} }}} & { - ({\text{w}}_{\text{s}} - {\text{w}})} & { - \left( {\frac{{{\text{R}}_{\text{r}} }}{{{\text{L}}_{\text{r}} }} - \frac{{{\text{R}}_{\text{r}} {\text{L}}_{\text{a}} }}{{{\text{L}}_{\text{r}}^{2} }}} \right)} \\ \end{array} } \right],\quad \quad B = \left[ {\begin{array}{*{20}l} 1 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & 1 \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & 1 \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ 0 \hfill & 0 \hfill & 0 \hfill & 0 \hfill \\ \end{array} } \right] $$
(2)

The fundamental mechanical equation of the DSIM is expressed as

$$ C_{em} - C_{r} = J\frac{{d\varOmega_{r} }}{dt} + K_{f} \varOmega_{r} $$
(3)

Electromagnetic torque established by the DSIM can be articulate affording flux and currents as

$$ C_{em} = P\frac{{L_{m} }}{{L_{m} + L_{r} }}\left[ {\left( {i_{qs1} + i_{qs2} } \right)\phi_{dr} - \left( {i_{ds1} + i_{ds2} } \right)\phi_{qr} } \right] $$
(4)

where \( P \) denotes the poles pairs number.

3 Direct Torque Control

The idea of DTC is to directly select stator voltage vectors according to the torque and flux errors. The governing equation for torque in this scheme is due to the interaction of stator and rotor fields. Torque and stator flux linkage are computed from measured motor terminal quantities i.e. stator voltages and current. An optimal voltage vector for the switching of VSI is selected among the six nonzero voltage vectors and two zero voltage vectors by the hysteresis control of stator flux and torque. A three-phase VSI has eight possible combinations of six switching devices. which have a well defined state: ON or OFF in each configuration. So all the possible configurations can be identified with three bits (Sa, Sb, Sc), one for each inverter leg. The bit is set to 1 if the top switch is closed and to 0 when the bottom switch is closed. In order to prevent short circuit of the supply, the state of the upper switch is always opposite to that of the lower on [6].

3.1 Operation and Sequences of a Three Phase Voltage Inverter

The inverter voltage switches must be controlled to maintain the flow and torque of machine. The vector of the stator voltage Vs can be written in the form

$$ \overrightarrow {{{\text{V}}_{\text{s}} }} = \sqrt {\frac{2}{3}{\text{U}}_{{{\text{c}}0}} \left[ {{\text{S}}_{\text{a}} + {\text{S}}_{\text{b}} {\text{e}}^{{{\text{j}}\frac{{2\uppi}}{3}}} + {\text{S}}_{\text{c}} {\text{e}}^{{{\text{j}}\frac{{4\uppi}}{3}}} } \right]} $$
(5)

\( S_{i} = 1 \) means that the high switch is closed and the low switch is open \( \left( {V_{i} = + U_{0} /2} \right) \), and \( S_{i} = 0 \) means that the switch ‘high switch is open and the down switch is closed \( \left( {V_{i} = - U_{0} /2} \right) \).

We will try to control the flow and torque via the choice of voltage vector that will be done by a configuration of the switches. Since

In each modulation period, one arm does not switch twice. Figure 2 shows the representation in the complex plane of the six non-zero voltage vectors that can be generated by a two-level three-phase voltage inverter [7].

3.2 Torque and Flux Estimator

The feedback flux and torque are calculated from the machine terminal voltages and currents. The components of stator flux is given as

$$ C_{kemi} = p\left( {\phi_{is\alpha } i_{s\beta } - \phi_{is\beta } i_{s\alpha } } \right) $$
(6)

3.3 Estimation of the Stator Flux

The estimation of the flow can be carried out on the basis of measurements of the stator quantities current and voltage of the machine.

$$ \phi_{s1, s2} \left( t \right) = \mathop \smallint \nolimits_{0}^{\text{t}} (V_{{{\text{s}}1, {\text{s}}2}} - {\text{R}}_{{{\text{s}}1, {\text{s}}2}} {\text{i}}_{{{\text{s}}1, {\text{s}}2}} ){\text{dt}} $$
(7)

We obtain from this equation the components α and β of the vector \( \phi_{s} \)

$$ \begin{array}{*{20}c} {\phi_{s1, s2\alpha } = \mathop \smallint \nolimits_{0}^{t} (V_{s1, s2\alpha } - R_{s1, s2} i_{s1, s2\beta } )dt\quad \phi_{s1, s2\beta } = \mathop \smallint \nolimits_{0}^{t} (V_{s1, s2\beta } - R_{s1, s2} i_{s1, s2\beta } )dt} \\ \end{array} $$
(8)

3.4 Electromagnetic Torque Estimation

The electromechanical torque can be estimated from the estimated fluxes, and from measured stator currents

$$ C_{em} = p\left( {\phi_{s\alpha } i_{s\beta } - \phi_{s\beta } i_{s\alpha } } \right) $$
(9)

It can be noted in this equation that the accuracy of the equation depends on the flow estimation quality and the accuracy of the stator current measurement.

3.5 Torque and Flux Controller

The instantaneous values of flux and torque are calculated from stator variables by using flux and torque estimator.

The command stator flux and torque magnitude are compared with their respective estimated values and the errors are Processed by the hysteresis band controllers. The flux loop controller has two levels of digital output according to the Following equations [8]

$$ \Delta \phi_{s} = {\text{abs}}\left( {\phi_{ksiref} - \phi_{ksi} } \right) $$
(10)
$$ if\;\phi_{ksi} \le \phi_{ksiref} - \Delta \phi_{s} \quad F_{ki} = 1;\quad if\;\phi_{ksi} \ge \phi_{ksiref} + \Delta \phi_{s} \quad F_{ki} = 0;\quad if\;\phi_{ksi} = \phi_{ksiref} \quad F_{ki} = F_{ki - 1} ; $$

The torque controller loop has three levels of digital output according to the following equations

$$ \Delta C_{em} = {\text{abs}}\left( {C_{emref} - C_{kemi} } \right) $$
(11)
$$ if \,\, C_{kemi} < C_{emref} - \Delta C_{em} \quad F_{ki} = 1;\quad if C_{kemi} > C_{emref} - \Delta C_{em} \quad F_{ki} = - 1;\quad if\;C_{kemi} = C_{emref} \quad F_{ki} = F_{ki - 1} = 0; $$

4 Basic Structure of a Fuzzy Speed Controller of the Double Stator Induction Machine

In this work, we will illustrate the principles of fuzzy controllers, their design and their use in direct torque control of the DSIM. To the principle of fuzzy logic controllers is based on the techniques of artificial intelligence, The block diagram of fuzzy logic control is mainly depicted in Fig. 1.

Fig. 1.
figure 1

Synoptic diagram of a fuzzy PI.

With e and Δe are the error and the variation of the error, respectively

$$ e\left( k \right) =\Omega _{ref} -\Omega _{r} \left( k \right), \Delta e\left( k \right) = e\left( k \right) - e\left( {k - 1} \right) $$
(12)

These variables can be normalized as follows

$$ e_{n} = \frac{e}{{K_{e} }} , \varDelta e_{n} = \frac{\varDelta e}{{K_{\varDelta e} }}, \varDelta C_{emrefn} = \frac{{\varDelta C_{emref} }}{{K_{{\varDelta C_{emref} }} }} $$
(13)

Or:

\( K_{e} \), \( K_{\varDelta e} \), \( K_{{\varDelta C_{emref} }} \): Are normalization gains that can be constant or variable.

The fuzzy rules make it possible to determine the variable of output of the regulator according to input variable using the matrix Mac-Vicar, which groups together in this case 49 rules [9].

This inference matrix is established from a perfect knowledge of the behavior of the system, as well as the knowledge of the objective of the control to be achieved. We take as defuzzification criterion the method of the center of gravity presented above, so the generated control action is given by the following expression

$$ \varDelta C_{emrefn} = x_{Gr} = \frac{{\mathop \sum \nolimits_{i = 1}^{49} \upmu_{ci} x_{Gi} S_{i} }}{{\mathop \sum \nolimits_{i = 1}^{49} \upmu_{ci} S_{i} }} $$
(14)

The action of the command that gives us the reference electromagnetic torque to impose on the machine can be expressed by

$$ C_{emref} = C_{emref} + K_{{\varDelta C_{emref} }} \varDelta C_{emrefn} $$
(15)

5 The Extended Kalman Filter

The Kalman filter was developed by R. E. Kalman in 1960. Due to advances in the development of digital computing, the Kalman filter is the subject of much research and application. Kalman filtering has been applied in the fields of aerospace, navigation, manufacturing and many others.

5.1 Representation of the System

The kalman filter presented in the previous section assumes evolution and observation equations are linear, which is not the case of nonlinear systems (our DSIM case). To extend the estimation to nonlinear systems, we have used the extended Kalman filter, this filter is linearized simply the equations thanks to a development of Taylor.

Starting from the following nonlinear stochastic equations [10]

$$ X_{k} = f\left( {X_{k - 1} , u_{k - 1} , w_{k - 1} } \right) $$
(16)

With the following exit equation

$$ Z_{k} = h\left( {X_{k} , v_{k} } \right) $$
(17)

The state function \( f \) and the observation function \( h \) are two differentiable functions. \( w_{k} \) et \( v_{k} \) still represent process and measurement noise.

5.2 Extended Kalman Filter Algorithm

In EKF, the system is linearized at each moment k. The Jacobian matrices \( A \), \( W \), \( H \), \( V \) are defined as:

  • \( A \) is the Jacobian matrix of partial derivatives of \( f \) with respect to \( X \)

  • \( W \) is the Jacobian matrix of the partial derivatives of \( f \) with respect to \( w \)

  • \( H \) is the Jacobian matrix of partial derivatives of \( h \) with respect to \( X \)

  • \( V \) is the Jacobian matrix of partial derivatives of \( h \) with respect to \( V \)

The algorithm of the EKF is summarized by the equations given in the Fig. 2 [11].

Fig. 2.
figure 2

Algorithm of the EKF

6 Simulation Results of Direct Torque Control

To show the effectiveness of the proposed DTC algorithm of the DSIM with EKF, various tests were performed at different dynamic operating conditions. The parameters of the test motor are given in Table 1. In the first part, we will present the simulation results of the speed control by a Fuzzy PI of the DTC controlled DSIM.

Table 1. DSIM parameters

A-First test: Variation of speed (Fig. 3)

Fig. 3.
figure 3

Performance of the DTFC control of the DISM followed by a speed variation at t = 7 s from 315 rad/s to 157 rad/s.

B-Second Test: Variation of Charge (Fig. 4)

Fig. 4.
figure 4

Performance of the DTFC control of the DSIM followed by a variation of the load (Cr = 30 Nm at t = 4 s) at (Cr = 25 Nm at t = 6 s), (Cr = 15 Nm at t = 8 s) and variation of the speed at t = 5 s 315 rad/s to 157 rad/s.

Fig. 5.
figure 5

DTFC sensorless speed performance using extended kalmen filter

It can be seen that the magnitudes of the torque, the speed, the flux and the current have a better accuracy and less insensitivity to the deviation of the speed and the load.

In the second part, simulation results, estimation of stator resistance and speed by EKF.

In this work, we proposed two types of variation of stator resistance, Type-1- the stator resistance deviation, which is supposed to increase linearly by 100% between 0 s and 1 s, remains twice its nominal value between 1 s and 3 s, then the resistance decreases linearly by 50% between 3 s and 5 s to regain a value of 50% of its value from 5 s.

The performance of the presented scheme in terms of the speed estimation accuracy are also tested. Figure 6 show the maximum of the speed dynamic error versus the speed reference. It can be noted that the speed estimation is sufficiently accurate, in fact the dynamic error is 7.42% at a very low speed of (5 rad/s) and doesn’t exceed 0. 5% at the real speed (315 rad/s) (Fig. 5).

Fig. 6.
figure 6

Speed maximum dynamic error at rated load operation Versus reference speed.

7 Conclusion

In this study novel structure of DTC algorithm based on simplified extended filter KALMAN for dual star asynchronous motor drive was well explained. The performance of the suggested scheme has been simulated under various variations of stator resistance. It is determined from the simulation results that the EKF estimator of mechanical speed and stator resistance has restored the drive system stability and has enhanced the robustness of the DTC drive of the DSIM against large changes of speed consign and stator resistance during operation of the DSIM.