1 Introduction

Permanent magnet synchronous motors (PMSMs) have high efficiency, high torque density, and high control performance when compared to other AC machines [1,2,3]. These advantages can extend the use of PMSMs to various applications such as industrial production, home appliances, and factory robots [4, 5]. Due to their fast dynamic response and high control performance, semi-conductor manufacturing systems and manufacturing robots use PMSMs as control actuators and conveying devices. Nowadays, PMSMs are gaining a great deal of interest as the electric propulsor for ships due to their fast dynamic response and high efficiency [6,7,8].

Many control methods have been studied to improve PMSM speed and torque control. However, the control method generally used in industrial sites is field oriented control (FOC). FOC controls position, speed, and/or current with either PI (proportional integral) or PID (proportional integral differential) controllers. On the other hand, the voltage control is handled by SVPWM (space vector pulse width modulation) or some other modulation method [9, 10]. For torque, DTC (direct torque control) can also be implemented to directly control the flux and torque. FOC shows excellent performance in a variety of motor applications. However, it relies heavily on the tuning of the gain. Moreover, complex coordinate transformation is involved and it is not easy to implement separate flux and torque controls. As the name suggests, the DTC method controls flux and torque directly and does not require complicated control gain tuning. The algorithm is simple, and the torque response is both excellent and is fast [11]. However, there are two common drawbacks in this method which are its high torque ripple and irregular switching frequency [12,13,14].

To overcome these drawbacks, DTC can be complemented with other control methods. Examples of this are DTC-PWM (DTC-pulse width modulation) and DTC-SVM (DTC-space vector modulation) [12, 13]. The implementation of PWM in DTC gives a constant switching frequency so that both the flux and torque ripples can be lowered. However, there are only six effective voltage vectors and their duty ratio calculations make it very difficult to satisfy flux and torque at the same time [14]. Furthermore, the selected voltage vector around the sector variation boundary cannot produce the necessary torque or flux due to the back EMF and the decoupling effect. On the other hand, the addition of SVM with a fixed switching frequency improves the control performance. However, the structure becomes similar to FOC, which means that the performance depends on the PI controller. Using PI gains in DTC-SVM to control torque and flux is parallel to the d-q axis current controller in the FOC scheme.

Another complementation method is predictive DTC (PDTC) [15,16,17]. It is constructed by adding flux and torque predictors based on mathematical modeling of the motor. Conventional DTCs select voltage vectors with a cost function along with flux and torque prediction for each voltage vector of the next sampling time. The cost function compares the flux and torque error values between the reference and prediction for all of the voltage vectors and it selects the voltage vector with the minimum error. This reduces the ripple. However, the calculation is complicated. Despite the predictive observer, the actual output torque still has torque and flux ripple due to the voltage vector.

This paper presents a PDTC-PWM (predictive direct torque control-pulse width modulation) method using 12 voltage vectors instead of the general 6 vectors. The flux and torque of the PMSM fluctuate due to the back EMF and decoupling components, where the occurrence depends on operating conditions such as the switching voltage, speed, and load. Therefore, these two components must be considered during sampling to increase the controller performance. The proposed PDTC-PWM selects the voltage vector using the error between the command and the prediction when zero voltage is applied, and a hysteresis comparator. Due to the zero voltage vector effect in the PWM duration, the torque and flux ripple error based on the predictive observer can be correctly estimated. In addition, the optimized voltage vector to reduce the torque and voltage vector can be obtained. Furthermore, optimal duty ratio calculation uses two predicted values: the zero voltage and the selected voltage. In addition, the 12 voltage vectors are effective in reducing the flux and torque ripples. These vectors consist of six effective voltage vectors and six combinational voltage vectors generated from a 3-phase VSI (voltage source inverter). The proposed method can produce reduced torque and flux control performance without the complicated implementation of SVPWM. The effectiveness of the proposed method is verified by simulation and experiments using a 1[kW] PMSM.

2 Analysis of a direct torque control scheme

Figure 1a shows a control block diagram of a conventional DTC method, and Fig. 1b shows the effective voltage vector \(V_{1} \sim V_{6}\) of a 3-phase VSI and its sector area. In Fig. 1, \(\psi\) and \(\tau\) refer to flux and torque, respectively.

Fig. 1
figure 1

Basic concept of DTC and DTC-PWM methods: a block diagram of DTC; b voltage vectors and sectors of conventional DTC

The error states \(S_{\psi } \;{\text{and}}\; S_{\tau }\) are determined by the error between the command and the actual values. They indicate the required torque and flux direction. The output voltage vector \(V_{n}\) is the selected vector number according to \(S_{\psi }\), \(S_{\tau }\), and the sector area of the rotor. For example, if the rotor is in Sector 1, \(S_{\psi } = 1\) (positive) and \(S_{\tau } = 1\) (positive), the voltage vector \(V_{2}\) with an increasing flux and torque is selected. Table 1 shows the voltage vector selection according to the sector and the required directions of \(S_{\tau }\) and \(S_{\varphi }\). In conventional DTC, the voltage vector is only applied according to \(S_{\psi }\) and \(S_{\tau }\).

Table 1 Voltage vector selection of conventional DTC with 6 vectors

Therefore, the switching period is irregular and the flux and torque ripples are inversely proportional to the maximum switching frequency. The DTC-PWM structure is similar to that of the conventional DTC. The difference is that it adds PWM approach in the constant sampling period. Thus, the switching of the selected voltage vector is based on PWM with a fixed switching frequency to avoid irregular switching. Therefore, the switching period is constant and the flux and torque ripple are smaller than those of the DTC method in the same switching frequency.

Both the conventional DTC and DTC-PWM can select the appropriate voltage vector capable of generating the required flux and torque based on \(S_{\psi }\) and \(S_{\tau }\). However, the selected voltage vector cannot fully satisfy the flux and torque required by a PMSM. This is due to the fact that the flux and torque fluctuate due to the effects of back EMF and the decoupling effect between the torque and the flux. The PMSM flux and torque can be derived from the dq axis voltage equation. First, the dq axis voltage equation is as follows:

$$ v_{ds} = R_{s} i_{ds} + L_{s} \frac{{di_{ds} }}{dt} - L_{s} \omega_{re} i_{qs} $$
(1)
$$ v_{qs} = R_{s} i_{qs} + L_{s} \frac{{di_{qs} }}{dt} + L_{s} \omega_{re} i_{ds} + K_{e} \omega_{re} $$
(2)

where \(v_{ds}\) and \(v_{qs}\) are the dq axis voltages of the selected voltage vector. \(i_{ds}\) and \(i_{qs}\) are the dq axis currents of the PMSM. \(R_{s}\) and \(L_{s}\) are the winding resistance and inductance, which are transformed into 2-axis coordinates. \(K_{e}\) and \(\omega_{{{\text{re}}}}\) denote the back EMF constant and the electric angular speed of the motor. The flux and torque formulas from the instantaneous inputs and outputs of the PMSM are as follows under the assumption of \(L_{d} = { }L_{q}\):

$$ \psi_{m} = \sqrt {(\psi_{{{\text{PM}}}} + L_{d} i_{ds} )^{2} + \left( {L_{q} i_{qs} } \right)^{2} } $$
(3)
$$ T_{m} = \frac{3}{2} \cdot P \cdot \left( {\psi_{{{\text{PM}}}} i_{qs} + \left( {L_{d} - L_{q} } \right)i_{ds} i_{qs} } \right) = K_{t} i_{qs} $$
(4)

where \(\psi_{{{\text{PM}}}}\) is the flux of the rotor PM and \(K_{{\text{t}}}\) is the torque constant. \(P\) denotes the numbers of pole-pairs of the PMSM. The equation shows that the flux of the PMSM is controlled by the d-axis current, and that the torque is controlled by the q-axis current. As expressed in these equations, the flux and torque are proportional to the dq axis current. Considering the voltage, flux, and torque equations, the relationship in the steady state can be explained as follows:

$$ \psi_{m} \propto \frac{1}{{R_{s} }} \cdot \left( {v_{ds} + L_{s} \omega_{re} i_{qs} } \right) $$
(5)
$$ T_{m} \propto \frac{1}{{R_{s} }} \cdot \left( {v_{qs} - L_{s} \omega_{e} i_{ds} - K_{e} \omega_{re} } \right) $$
(6)

As can be seen from the equation, the flux is proportional to the d-axis voltage, and the torque is proportional to the q-axis voltage. The effects of back EMF \(K_{e} \omega_{re}\) and the decoupling components \(L_{s} \omega_{re} i_{ds}\) and \({ }L_{s} \omega_{re} i_{qs}\) depends on the operating conditions of the motor such as the speed and the load.

Figure 2 shows characteristics of the output voltage vector separated by the d-q axis voltage for DTC and DTC-PWM when \(S_{\psi }\) and \(S_{\tau }\) are positive. Here, the red dotted line represents the voltage that increases due to the decoupling effect on the d-axis voltage (\(- L_{s} \omega_{re} i_{qs}\)). The blue dotted line indicates the voltage that decreases due to the back EMF (\(K_{e} \omega_{re}\)) on the q-axis voltage. The zero line of the flux and torque are changed to the \({\text{d}}T_{m} = 0\) and \({\text{d}}\psi_{m} = 0\) lines according to the effects of the back EMF and decoupling components caused by the motor speed and load torque. For this reason, the dq axis voltage near the zero voltage may not generate enough flux and torque due to the back EMF and decoupling effect. In addition, a low q-axis voltage and a d-axis voltage near the zero voltage may be applied in the fluctuation vicinity of the rotor flux sector, which may be insufficient to produce the required amount of flux and torque. Furthermore, the dq axis voltage fluctuates depending on the position of the rotor in the same sector. In Fig. 2, \(\theta_{sv1} \) is the angle between voltage vector 1 and the rotor position \(\theta_{re}\) as shown in Fig. 1. According to the change in the rotor position, the angle between voltage vector 1 and the rotor position is changed from \(\theta_{{{\text{sv1}}}}^{\prime }\) to \(\theta_{{{\text{sv1}}}}^{\prime \prime }\). As shown in Fig. 3, the actual supplied dq axis voltages of voltage vector 1 in sector 1 are changed to \(V_{{{\text{dsv1}}}}\) and \(V_{{{\text{qsv1}}}}\).

Fig. 2
figure 2

dq axis voltage characteristics of 6 voltage vectors

Fig. 3
figure 3

Voltage vector and torque variation during a switching period: a in case of \(S_{\tau }\) = 1; b in case of \(S_{\tau }\) = − 1; c problem with simple selection (in case of \(S_{\tau }\) = − 1)

In the conventional DTC-PWM method, the duty ratio of the output voltage vector is calculated according to the magnitude of the flux and the torque error. Therefore, the dq axis voltage characteristics that vary depending on the rotor position are not considered. Moreover, the flux and torque ripples that increase despite being in the same sector are not considered in the conventional method.

Figure 3 shows the torque trajectory during the switching time of the selected voltage vector according to \(S_{\tau }\) in the conventional DTC-PWM method. In Fig. 3, \(T_{{\text{m}}}^{*}\) is the command torque, \(T_{{{\text{BW}}}}\) is the torque hysteresis band, and \(T_{{\text{S}}}\) is the switching period. \(T_{m\left( k \right)}\) is the actual torque at the (k) sampling, and \(\hat{T}_{{m\left( {k + 1} \right)}} t_{0}\) is the predicted torque at the (k + 1) sampling when the zero voltage vector is applied during the switching period. \(\hat{T}_{{m\left( {k + 1} \right)}} T_{S}\) is the predicted torque at the (k + 1) sampling when the output voltage vector is applied during the switching period. \(\hat{T}_{{m\left( {k + 1} \right)}} t_{0n}\) is the predicted torque at the (k + 1) sampling when the output voltage vector is applied for a given duty ratio.

As shown in Fig. 3a, the voltage vector that increases the torque is selected since \(S_{\tau }\) is positive. On the other hand, in Fig. 3b, the voltage vector that reduces the torque is selected since \(S_{\tau }\) is negative. The problem caused by this simple selection is illustrated in Fig. 3c. In the conventional method, when \(S_{\tau }\) is negative, a voltage vector that reduces the torque is selected as the output voltage vector. Moreover, the duty ratio is determined in proportion to the magnitude of the torque and the flux error.

In this case, the proper voltage vector is the positive torque vector and the zero voltage vector to keep the torque error in the error bandwidth. However, the determined output voltage vector and the duty ratio in the conventional method result in a large decreased in the output torque as shown in the figure, and the torque ripple is increased. In the conventional method, selecting the output voltage vector using the error magnitude between the command and actual values generates a problem in which the required flux and torque cannot be met due to the back EMF and decoupling components.

3 Proposed predictive DTC method

3.1 Voltage Vectors Principle

In the proposed method, 12 voltage vectors are adopted to improve the control performance. Figure 4 shows the proposed 12 voltage vectors and sector division. \(V_{1} { }\sim { }V_{6}\) are the effective voltage vectors of a 3-phase VSI. On the other hand, \(V_{12} { }\sim { }V_{61}\) are the combinational voltage vectors made from a combination of two adjacent effective voltage vectors.

Fig. 4.
figure 4

12-voltage vectors and sector division

In the conventional six effective voltage vectors, when \(S_{\psi }\) and \(S_{\tau }\) in one sector are the same, only one voltage vector can be output according to the error magnitude. Therefore, the flux and torque ripples may increase depending on the position of the rotor. However, in the 12-voltage vector, when \(S_{\psi }\) and \(S_{\tau } { }\) are the same in one sector, the number of voltage vectors that can be selected is increased by three, which reduces the flux and torque ripple.

For example, when the rotor position is at S-1a and \(S_{\psi }\) and \(S_{\tau }\) are positive, only the \(V_{2}\) voltage vector can be selected in the conventional method. However, in the 12 voltage vectors, \(V_{12}\), \(V_{2}\), and \(V_{23}\) are available as options.

At this time, when each voltage vector is analyzed by the dq axis voltage, \(V_{12}\) has a large d-axis voltage that generates a flux and a small q-axis voltage that generate a torque. \(V_{2}\) has both d-axis and q-axis voltages, and \(V_{23}\) has a small d-axis voltage and a large q-axis voltage. As a result, the flux and torque ripple can be reduced by selecting an appropriate voltage vector according to the magnitude of the flux and the torque error.

Figure 5 shows the 12 voltage vectors selected according to the rotor position as the dq axis output voltage when the flux and torque error states are positive. As shown in Fig. 5, when the same voltage vector is selected in a given sector by adding a virtual voltage vector, the flux and torque ripple generated according to the position of the rotor are reduced.

Fig. 5
figure 5

dq axis voltage characteristics of 12 voltage vectors

However, the duty ratio should be applied in consideration of the flux and torque of the zero line, and the position of the rotor, which fluctuate under the influence of the back EMF and its decoupling components. Here, the actual switching voltage of the selected voltage vector can be analyzed by the d-q axis as follows:

$$ \theta_{{\text{s}}} = \theta_{{{\text{re}}}} + \frac{\pi }{2} - \left( {N - 1} \right) \cdot \frac{\pi }{6} $$
(7)
$$ v_{{{\text{ds}}}} = \frac{2}{3}V_{{{\text{dc}}}} \cdot \sin \left( {\theta_{s} } \right) \cdot \frac{{t_{{{\text{on}}}} }}{{T_{{\text{s}}} }} $$
(8)
$$ v_{{{\text{ds}}}} = \frac{2}{3}V_{{{\text{dc}}}} \cdot \cos \left( {\theta_{s} } \right) \cdot \frac{{t_{{{\text{on}}}} }}{{T_{{\text{s}}} }} $$
(9)

where \(t_{{{\text{on}}}}\) is the switching time of the voltage vector and \(T_{{\text{s}}}\) is the sampling period. \(V_{{{\text{dc}}}}\) denotes the dc-link voltage of the 3-phase VSI. \(\theta_{{{\text{re}}}}\) is the rotor position. N denotes the selected voltage vector number. In the 12 voltage vectors, the two-digit voltage vector number N indicates where they originate from. \(V_{12}\) is between the conventional \(V_{1} \) and \(V_{2}\), and so on.

3.2 Predictive direct torque control

In the conventional DTC and DTC-PWM methods, the output voltage vector is determined according to the error state. However, the actual flux and torque depend on operating conditions such as the supply voltage, speed, and load torque. Flux and torque ripples occur due to the effects of back EMF, and decoupling components are not considered.

The proposed PDTC-PWM method determines the voltage vector and duty ratio by applying the predictive control method based on the zero voltage vector. The proposed method predicts the flux and torque generated in the next sampling period using mathematical modeling of the motor at every sampling period. The flux and torque prediction for the next sampling can be done using a voltage equation of the motor to the current. The formulas for the flux and torque prediction are as follows:

$$ d\hat{i}_{{{\text{ds}}}} = \frac{{T_{{\text{s}}} }}{{L_{{\text{s}}} }} \cdot \left( {v_{{{\text{ds}}}} - R_{{\text{s}}} i_{{{\text{ds}}}} + L_{{\text{s}}} \omega_{{{\text{re}}}} i_{{{\text{qs}}}} } \right) $$
(10)
$$ d\hat{i}_{{{\text{qs}}}} = \frac{{T_{{\text{s}}} }}{{L_{{\text{s}}} }} \cdot \left( {v_{{{\text{qs}}}} - R_{{\text{s}}} i_{{{\text{qs}}}} - L_{{\text{s}}} \omega_{{{\text{re}}}} i_{{{\text{ds}}}} - K_{{\text{e}}} \omega_{{{\text{re}}}} } \right) $$
(11)
$$ \hat{i}_{{{\text{ds0}}}} = i_{{{\text{ds}}}} + \frac{{T_{{\text{s}}} }}{{L_{{\text{s}}} }} \cdot \left( { - R_{{\text{s}}} i_{{{\text{ds}}\left( k \right)}} + L_{{\text{s}}} \omega_{{{\text{re}}}} i_{{{\text{qs}}\left( k \right)}} } \right) $$
(12)
$$ \hat{i}_{{{\text{qs0}}}} = i_{{{\text{qs}}}} + \frac{{T_{{\text{s}}} }}{{L_{{\text{s}}} }} \cdot \left( { - R_{{\text{s}}} i_{{{\text{qs}}\left( k \right)}} - L_{{\text{s}}} \omega_{{{\text{re}}}} i_{{{\text{ds}}\left( k \right)}} - K_{{\text{e}}} \omega_{{{\text{re}}}} } \right) $$
(13)

To select the optimal voltage vector in the proposed method, the fluctuating flux and torque can be predicted using the zero voltage vector as shown below. These equations can be derived from the differential Eqs. (1013) of the current and the torque.

$$ \hat{\psi }_{{m\left( {k + 1} \right)}} t_{0} = \sqrt {\left( {\psi_{{{\text{pm}}}} + L_{{\text{d}}} \cdot \hat{i}_{{{\text{ds0}}}} } \right)^{2} + \left( {L_{{\text{q}}} \cdot \hat{i}_{{{\text{qs0}}}} } \right)^{2} } $$
(14)
$$ \hat{T}_{{m\left( {k + 1} \right)}} t_{0} = K_{{\text{t}}} \cdot \hat{i}_{{{\text{qs0}}}} $$
(15)

In the proposed method, unlike the conventional DTC-PWM, the optimal voltage vector is selected in consideration of the back EMF and the decoupling effects. The optimal voltage vector is selected according to the error state between the prediction and command values for the zero voltage vector to choose the correct voltage vector as shown in Fig. 3c. The formula for selecting the voltage vector is as follows:

$$ s_{\tau } = {\text{sign}}\left( {T_{m}^{*} - \hat{T}_{{m\left( {k + 1} \right)}} t_{0} } \right) $$
(16)

In the conventional method, the hysteresis band has only one voltage vector that is selectable according to the direction of the flux and torque error [18]. In the case of a 3-level inverter, a proper flux hysteresis band is proposed for a direct torque controlled induction motor [19].

In the proposed method, there are three voltage vectors that can be selected based on the switching state. Therefore, a multi-level hysteresis band is proposed to determine the voltage vector according to the magnitude of the flux error. Figure 6 shows the proposed multi-level hysteresis band. B1 and B2 are the flux bands to determine \(S_{\varphi }\). Table 2 shows the proper voltage vector that is determined by \(S_{\tau }\) and \(S_{\varphi }\).

Fig. 6
figure 6

Proposed multi-level hysteresis band for flux

Table 2 Switching Table of the Proposed Method

Figure 7 shows the torque trajectory during a sampling period in the proposed method. It can be compared with Fig. 3c, which shows the conventional method. Here, \(\hat{T}_{{m\left( {k + 1} \right)}} T_{{\text{s}}}\) and \(\hat{T}_{{m\left( {k + 1} \right)}} t_{0}\) are the predicted values generated by the voltage vector selected by the conventional method. \(\hat{T}_{{m\left( {k + 1} \right)}} T_{s}^{\prime }\) and \(\hat{T}_{{m\left( {k + 1} \right)}} t_{0}^{\prime }\) are the predicted values generated by the voltage vector selected by the proposed method. In the conventional DTC-PWM, voltage vectors that may not meet the flux and torque commands are selected since the fluctuations in the flux and torque due to the back EMF and decoupling effects are not taken into consideration. Moreover, the duty ratio is determined by the magnitude of the flux and torque errors. Therefore, the flux and torque ripples increase as shown in the figure. However, the proposed method predicts the flux and torque fluctuations caused by the back EMF and decoupling effects, and uses the error between the predicted and reference values to select a voltage vector. Thus, the flux and torque ripples can be reduced.

Fig. 7
figure 7

Estimated torque trajectory in the proposed predictive DTC

The switching duty ratio of the selected voltage vector can be obtained by estimating the torque and flux variation as follows:

$$ \Delta \psi_{m} = \psi_{m}^{*} - \psi_{m} $$
(17)
$$ \Delta T_{m} = T_{m}^{*} - T_{m} $$
(18)
$$ \Delta \hat{\psi }_{{m\left( {k + 1} \right)}} T_{s} = \psi_{m} - \hat{\psi }_{{m\left( {k + 1} \right)}} \cdot T_{s} $$
(19)
$$ \Delta \hat{\psi }_{{m\left( {k + 1} \right)}} t_{0} = \psi_{m} - \hat{\psi }_{{m\left( {k + 1} \right)}} t_{0} $$
(20)
$$ \Delta \hat{T}_{{m\left( {k + 1} \right)}} T_{s} = T_{m} - \hat{T}_{{m\left( {k + 1} \right)}} \cdot T_{s} $$
(21)
$$ \Delta \hat{T}_{{m\left( {k + 1} \right)}} t_{0} = T_{m} - \hat{T}_{{m\left( {k + 1} \right)}} t_{0} $$
(22)
$$ d = C_{\psi } \cdot \left| {\frac{{\Delta \hat{\varphi }_{{m0\left( {k + 1} \right)}} }}{{\Delta \hat{\psi }_{{ms\left( {k + 1} \right)}} + \Delta \hat{\psi }_{{m0\left( {k + 1} \right)}} }}} \right| + C_{T} \cdot \left| {\frac{{\Delta \hat{T}_{{m0\left( {k + 1} \right)}} }}{{\Delta \hat{T}_{{ms\left( {k + 1} \right)}} + \Delta \hat{T}_{{m0\left( {k + 1} \right)}} }}} \right| $$
(23)

where \(C_{\psi }\) and \(C_{T}\) are the gains of the DTC control scheme.

Figure 8 shows a block diagram of the proposed predictive DTC scheme using 12 voltage vectors. The 12 voltage vectors are the result of an additional 6 combinational voltage vectors generated from the duty ratio of adjacent effective voltage vectors. When compared to the conventional six vectors, this approach is useful for reducing flux and torque ripples. The voltage vector is selected according to the flux and torque error states between the command and the predicted values in consideration of the back EMF and decoupling effects. In addition, the switching duty ratio calculates an optimal duty ratio using the flux and torque values predicted from the selected and zero voltage vector at each sampling.

Fig. 8
figure 8

Block diagram of the proposed predictive DTC method

4 Simulation and experimental results

The proposed PDTC-PWM method using 12 voltage vectors is verified through simulations and experiments. The simulations were performed with the MATLAB-Simulink tool. A 1 [kW] PMSM is used in the simulations and experiments, and its specifications are shown in Table 3. Figures 9 and 10 show simulation results of the conventional DTC-PWM and the proposed PDTC-PWM.

Table 3 PMSM specifications
Fig. 9
figure 9

Simulation results with a load variation at 500 rpm: a conventional DTC-PWM; b proposed method

Fig. 10
figure 10

Simulation results with a speed variation at 5 Nm: a conventional DTC-PWM; b proposed method

As shown in Fig. 9, large flux and torque ripples occur in the conventional DTC-PWM method. In addition, a steady-state error occurs in the torque due to the influence of the back EMF and decoupling. It can be seen that the flux ripple is largely generated near where the sector of the rotor fluctuates.

However, in the proposed PDTC-PWM method, the flux and torque ripple are reduced and the steady state error is eliminated due to the consideration of the back EMF and decoupling. The flux ripple decreases near the sector where the rotor fluctuates by using the 12 voltage vector.

In Fig. 10 the speed changes from 500 to − 500 [RPM] in the forward and reverse directions at a load torque of 5 [Nm]. Thus, the improved control performance of the proposed PDTC-PWM can be confirmed.

Figure 11 shows the experimental configurations. The load is controlled by another PMSM that operates in the torque control mode. The controller is designed using a TMS320F28335-150Mhz digital signal controller (DSC) from Texas Instruments. The motor current is measured by the ACS-725 current sensor and the 12-bit ADC (analog–digital converter) of the embedded ADC module of the TMS320F28335 DSC. The switching frequency is 20 [kHz] with 50 [μs]. The dead-time is set to 2.5 [μs].

Fig. 11
figure 11

Experimental configuration

Figure 12 shows experiment results at a sudden load fluctuation for 2 s at 500 [RPM]. The load torque fluctuates from no load to 5 [Nm]. It can be seen from Fig. 12a that large amounts of flux and torque ripples are generated in the conventional method. By comparing Fig. 12a and b, it is confirmed that the flux and torque ripples increase near the sector variation due to the characteristics of the voltage vector. From Fig. 12b and c, it can be seen that the flux and torque ripples are reduced and the steady state error disappears when the back EMF and decoupling effects are considered.

Fig. 12
figure 12

Experimental results with a load variation at 500 r/min: a conventional DTC-PWM; b DTC-PWM using 12 voltage vectors; c proposed method

Figure 13 shows experimental result when the speed is changing from 500 to − 500 RPM at a load torque of 5 Nm for a total of 2 s. From these results, it can be seen that the control performance is improved when the proposed control method is employed.

Fig. 13
figure 13

Experimental results with a speed variation at 5 [Nm]: a conventional DTC-PWM; b DTC-PWM using 12 voltage vectors; c proposed method

Similarly, the torque and flux ripples are greatly reduced in the proposed method when compared with other methods. In experiments, the conventional DTC-PWM method shows a 10% flux ripple and a 35% torque ripple (Figs. 12a and 13a). On the other hand, a 6% flux ripple and a 20% torque ripple are generated in the DTC-PWM using 12 vectors (Figs. 12b and 13b). Finally, with the proposed predictive DTC-PWM control method, the flux ripple is mere 5.5% and the torque ripple is 11.4%. The predictive DTC-PWM method proposed in this paper demonstrates a reduction of the flux and torque ripples by 4.5% and 23.6%, respectively.

In Fig. 14, the speed is controlled to 1000[rpm]. The load varies from no-load to 3 [Nm]. Figures 12 and 14 show experimental result presenting a comparison between the conventional DTC-PWM and the proposed PDTC-PWM. The disadvantage of DTC is that the flux and torque ripples increase along with the speed. As shown in the presented experimental results, this phenomenon exists in both the DTC-PWM and PDTC-PWM strategies. However, it can be seen that in the case of the predicted method, the magnitude of the flux and torque ripple that increases with the speed is lower when compared to the DTC-PWM approach.

Fig. 14
figure 14

Experimental results with a load variation at 1000 r/min: a conventional DTC-PWM; b proposed method

5 Conclusions

This paper presents a predictive DTC method based on the zero voltage vector effect and 12 voltage vectors for PMSMs. To handle torque and flux variations, the proposed predictive DTC method uses the zero voltage vector to help determine the optimized switching voltage vector to satisfy the required torque and flux. Switching the duty ratio of the selected voltage vector is determined based on the relationship between the predictive torque and flux variations during a sampling period and the actual torque and flux error. To achieve advanced performance, the voltage vectors are divided to 12 sectors that generate 3 possible selectable voltage vectors. To reduce the torque and flux ripples, a multi-level hysteresis band that operates based on the flux condition is adopted in this paper.

The proposed predictive DTC method shows advanced torque and flux control performances in both simulations and the experiments when compared to the conventional DTC-PWM method.