**Simulation and Implementation of Predictive Speed Controller and Position Observer for Sensorless Synchronous Reluctance Motors**

## **Tian-Hua Liu \*, Seerin Ahmad, Muhammad Syahril Mubarok and Jia-You Chen**

Department of Electrical Engineering, National Taiwan University of Science and Technology, Taipei 106, Taiwan; seerinahmad@mail.ntust.edu.tw (S.A.); syahril.elmubarok@gmail.com (M.S.M.);

johnny19770819@yahoo.com.tw (J.-Y.C.)

**\*** Correspondence: Liu@mail.Ntust.edu.tw

Received: 18 April 2020; Accepted: 26 May 2020; Published: 28 May 2020

**Abstract:** A position observer and a predictive controller for sensorless synchronous-reluctance-motor (SynRM) drive systems are investigated in this paper. The rotor position observer, based on motor parameters, and stator currents and voltages, was designed and implemented to compute the rotor position. A pole-assignment technique was used to provide similar converging rates of the position observer, even when operated at different speeds. Furthermore, a predictive controller was designed to enhance performance. A digital-signal processor (DSP), TMS-320F-28335, was used as a computation tool. Several simulated results are provided and compared with the measured results. The measured results showed that the implemented predictive controller sensorless SynRM drive system could be adjusted from 30 to 1800 rpm with satisfactory performance, including quicker and better tracking responses, and a lower speed drop than that of a proportional-integral (PI) controller.

**Keywords:** rotor position observer; predictive speed controller; digital-signal processor; synchronous reluctance motor

## **1. Introduction**

Synchronous reluctance motors (SynRMs) that have no magnetic materials mounted on their rotors have a rugged and simple structure, and are easy to control. These motors have been applied in vacuum cleaners, sewing machines, and electric vehicles. Several major sensorless techniques have been proposed for SynRM drive systems, including extended back electromotive force (back-EMF) modelling [1], correct-slope-estimating [2], adaptive-projection-vector [3], and search-coil-detection methods [4].

Previous research also found that a position observer is a very effective way to obtain rotor position because of its simple computation and hardware circuit. For example, Senjyu et al. investigated the flux-linkage observer for a SynRM. By suitably choosing a time constant of first-order lag compensation, a precise rotor-position observer was achieved [5]. Lim et al. proposed an online position observer of a SynRM by using a finite-element method [6]. Vagati investigated a flux-based observer to obtain an accurate magnetic model [7]. Tuovinen et al. implemented a back-EMF position observer method for a SynRM drive system that accounted for cross-saturation in the motor [8]. Tuovinen et al. analyzed a position observer with resistance adaption for SynRM drive systems [9,10]. Awon et al. investigated a discrete-time observer for sensorless SynRM drives [11]. Tuovinen et al. implemented a full-order observer for sensorless SynRM drive systems [12].

Moreover, some research studied predictive controllers for SynRM drives. Lin et al. used a predictive method to design a current controller for a SynRM drive system [13]. Hadla et al. proposed a predictive stator flux that did not employ any controller calibrations or weighting factors for a SynRM [14]. Carlet et al. designed a predictive current control that was based on predictive methods that did not require knowledge of the system model [15]. Antonello et al. investigated a hierarchical scaled-state direct predictive control of a SynRM drive system that kept the current ripple limited even though the motor was operated at a low switching frequency [16]. Lin et al. studied a dual-vector modeless predictive current control on the basis of predictive methods for SynRM drives without using any system models, parameters, or DC link capacitor voltages [17].

Predictive controllers were successfully applied for SynRM drives with an attached encoder or resolver [13–17]. However, to the authors' best knowledge, in previous research, predictive controllers were not employed or were rarely employed in sensorless-synchronous-reluctance-drive systems. In addition, previous predictive-control research only focused on current-loop controllers and not speed-loop controllers for synchronous-reluctance-drive systems [1–17]. To fill these gaps in research, this paper focuses on using a predictive speed controller and rotor-position observer to enhance the performance of a sensorless SynRM drive. A pole-assignment technique was employed to provide similar q-axis current responses. Due to smooth q-axis responses, the estimated position error was bounded in four electrical degrees. Figure 1 demonstrates the structure of the SynRM, which included an a-b-c phase stator, a rotor, and an air gap. Take the a-phase as an example. The "." means the a-phase-current flows out from this paper, and the "x" means the a-phase current flows into this paper. Compared to other AC motors, this synchronous reluctance motor uses its saliency characteristics to produce its output torque.

**Figure 1.** Synchronous-reluctance-motor (SynRM) structure.

## **2. Mathematical Model**

In a synchronous frame, the differential equations of the d-q axis currents of a SynRM can be expressed as follows.

$$\frac{d\dot{i}\_d}{dt} = \frac{1}{L\_d} [v\_d - r\_s \dot{i}\_d + \omega\_{re} L\_q \dot{i}\_q] \tag{1}$$

$$\frac{d\dot{i}\_q}{dt} = \frac{1}{L\_q} [v\_d - r\_{\rm s}i\_q - \omega v\_{\rm re} L\_d i\_d] \tag{2}$$

where *id* and *iq* are d-q axis currents, *<sup>d</sup> dt* is the differential operator, *Ld* and *Lq* are d-q axis inductances, *vd* and *vq* are d-q axis voltages, *rs* s the stator resistance, and ω*re* is the electrical-rotor speed. When the d-axis current remained constant, the reluctance torque of the SynRM was proportional to *iq*, which can be shown as follows:

$$\begin{array}{rcl} T\_{\varepsilon} &=& \frac{3}{2} \frac{p}{2} (L\_{md} - L\_{mq}) i\_d i\_{q\prime} \\ &=& K\_l i\_q \end{array} \tag{3}$$

where *Te* is the reluctance torque, and *P* is the pole number. The differential equation of the speed is

$$\frac{d\omega\_{rm}}{dt} = \frac{1}{f\_t}(T\_\varepsilon - T\_L - B\_t \omega\_{rm})\,. \tag{4}$$

where ω*<sup>m</sup>* is the mechanical-rotor speed, *Jt* is the inertia of the motor and load, *TL* is the external load, and *Bt* is the viscous frictional coefficient of the motor and load. The differential equation of the rotor position is expressed as follows:

$$\frac{d\Theta\_{rm}}{dt} = \omega\_{rm\nu} \tag{5}$$

where θ*rm* is the mechanical-rotor position. The simplified block diagram of the SynRM is shown in Figure 2. By fixing the d-axis current command and controlling the q-axis current, torque *Te* was easily controlled, and speed could then be easily adjusted.

**Figure 2.** Block diagram of simplified SynRM.

## **3. Rotor-Position-Observer Design**

In this paper, a closed-loop state estimator was derived on the basis of the d-q axis synchronous frame. From Equations (1) and (2), the following differential equation of the *d-q* axis currents could be derived as follows:

$$\frac{d\dot{q}\_s}{dt} = \dot{F}\dot{q}\_s + Gv\_s\tag{6}$$

In Equation (6), the related vectors and matrices are defined as

$$F = \begin{bmatrix} -\frac{r\_s}{L\_d} & \omega\_{r\varepsilon} \frac{L\_q}{L\_d} \\ -\omega\_{r\varepsilon} \frac{L\_d}{L\_q} & -\frac{r\_s}{L\_q} \end{bmatrix} \tag{7}$$

$$G = \begin{bmatrix} \frac{1}{L\_d} & 0\\ 0 & \frac{1}{L\_q} \end{bmatrix} \tag{8}$$

and

$$v\_s = \begin{bmatrix} v\_d \\ v\_q \end{bmatrix} \tag{9}$$

where *F* and *G* are matrices, and *is* and *vs* are current and voltage vectors. Figure 3 shows the proposed closed-loop observer that can be described as follows [11,12]:

$$\frac{d\hat{\mathbf{l}}\_{\mathbf{s}}}{dt} = F\hat{\mathbf{i}}\_{\mathbf{s}} + G\mathbf{v}\_{\mathbf{s}} - \mathcal{K}(\hat{\mathbf{i}}\_{\mathbf{s}} - \mathbf{i}\_{\mathbf{s}}) = F\hat{\mathbf{i}}\_{\mathbf{s}} + G\mathbf{v}\_{\mathbf{s}} - \widetilde{\mathbf{K}}\hat{\mathbf{i}}\_{\mathbf{s}}.\tag{10}$$

From Equation (10), one can define the related vectors and matrix as follows:

$$K = \begin{bmatrix} k\_1 & 0 \\ 0 & k\_2 \end{bmatrix} \tag{11}$$

and

$$
\hat{\mathbf{i}}\_s = \begin{bmatrix} \hat{\mathbf{i}}\_{\rm ds} \\ \hat{\mathbf{i}}\_{\rm qs} \end{bmatrix} \tag{12}
$$

where <sup>ˆ</sup>*ids* and <sup>ˆ</sup>*iqs* are the estimated d-q axis currents,*is* is the estimated current vector, and *<sup>K</sup>*, including *k*<sup>1</sup> and *k*2, is the gain matrix of the proposed observer. From Equation (10) and Figure 3, one can understand that a different matrix *K* can be designed to determine the converging rate of estimated current vector, ˆ*is* for different speeds. Detailed analysis is shown as follows.

First, from Equations (10) and (6), one can obtain the current vector error as follows:

$$\frac{d\widetilde{\mathbf{i}\_s}}{dt} = \widetilde{F}\widetilde{\mathbf{i}\_s} - \widetilde{\mathbf{K}\widetilde{\mathbf{i}\_s}}.\tag{13}$$

From Equation (13), the equation can be rewritten as follows:

$$\frac{d\overline{\dot{\mathbf{i}}\_s}}{dt} = \mathbf{M} \overline{\dot{\mathbf{i}}\_s} \tag{14}$$

and

$$M = F - K = \begin{bmatrix} -\frac{r\_s}{L\_{\text{ds}}} & \alpha\_{\text{\ell\ell}} \frac{L\_{\text{qs}}}{L\_{\text{ds}}}\\ -\omega\_{\text{\ell\ell}} \frac{L\_{\text{ds}}}{L\_{\text{qs}}} & -\frac{r\_s}{L\_{\text{qs}}} \end{bmatrix} - \begin{bmatrix} k\_1 & 0\\ 0 & k\_2 \end{bmatrix} = \begin{bmatrix} -\frac{r\_s}{L\_{\text{ds}}} - k\_1 & \alpha\_{\text{\ell\ell}} \frac{L\_{\text{qs}}}{L\_{\text{ds}}}\\ -\omega\_{\text{\ell\ell}} \frac{L\_{\text{ds}}}{L\_{\text{qs}}} & -\frac{r\_s}{L\_{\text{qs}}} - k\_2 \end{bmatrix} \tag{15}$$

The eigenvalues of matrix *M* can be derived as follows:

$$\det(\lambda I - M) = \lambda^2 + (\frac{r\_s}{L\_{\rm qs}} + \frac{r\_s}{L\_{\rm ds}} + k\_1 + k\_2)\lambda + \frac{r\_s^2}{L\_{\rm dk}L\_{\rm qs}} + \frac{r\_s}{L\_{\rm dk}}k\_2 + \frac{r\_s}{L\_{\rm qs}}k\_1 + k\_1k\_2 + \omega\_{\rm re}^2 \tag{16}$$

$$= 0$$

The two eigenvalues α and β of the det(λ*I* − *M*) are expressed as

$$\alpha, \beta = -\frac{(\frac{r\_b}{L\_{\text{sp}}} + \frac{r\_s}{L\_{\text{ds}}} + k\_1 + k\_2)}{2} \pm \frac{\sqrt{\left(\frac{r\_s}{L\_{\text{qs}}} + \frac{r\_s}{L\_{\text{ds}}} + k\_1 + k\_2\right)^2 - 4\left(\frac{r\_s^2}{L\_{\text{ds}}L\_{\text{qs}}} + \frac{r\_s}{L\_{\text{ds}}}k\_2 + \frac{r\_s}{L\_{\text{qs}}}k\_1 + k\_1k\_2 + \omega\nu\_{\text{tr}}^2\right)}{2} \tag{17}$$

Assuming estimated current vector*is* has two poles, which are −α and −β, the following equation exists and can be described as

$$(\lambda + \alpha)(\lambda + \beta) = 0.\tag{18}$$

From Equation (18), one can obtain

$$
\lambda^2 + (\alpha + \beta)\lambda + \alpha\beta = 0.\tag{19}
$$

Comparing Equations (16) and (19), one can derive

$$(\alpha + \beta) = \frac{r\_s}{L\_{\rm qs}} + \frac{r\_s}{L\_{\rm ds}} + k\_1 + k\_2 \tag{20}$$

and

$$
\alpha \beta = \frac{r\_{\rm s}^2}{L\_{\rm ds} L\_{\rm qs}} + \frac{r\_{\rm s}}{L\_{\rm ds}} k\_2 + \frac{r\_{\rm s}}{L\_{\rm qs}} k\_1 + k\_1 k\_2 + \omega\_{\rm r\varepsilon} \tag{21}
$$

One can assign the two different negative poles,−α and −β, in Equations (20) and (21), at different operating speeds. As a result, the proposed SynRM drive system had similar dynamic responses for q-axis current errors at different operating speeds. Moreover, a Lyapunov function candidate *V* can be defined as

$$V = \widetilde{i\_s}^T \widetilde{i\_s}.\tag{22}$$

From Equation (22), *V* has a positive definite value. Because *M<sup>T</sup>* and *M* are negative definite matrices, the differential value of the Lyapunov is expressed as follows [18–20]:

$$V = \widetilde{\dot{i}\_s}^T (M^T + M)\widetilde{\dot{i}\_s} < 0 \tag{23}$$

Equation (23) shows that current error vector*is* asymptotically converges and reaches zero at a steady state. The <sup>ω</sup>*re* is defined as

$$
\widetilde{\omega}\_{\text{re}} = \widehat{\omega}\_{\text{re}} - \omega\_{\text{re}} \tag{24}
$$

where <sup>ω</sup>ˆ*re* is the estimated speed, and <sup>ω</sup>*re* is the estimated speed error. From Equation (24) and [7,8], one can use*iq* to replace current vector error*is* and obtain the following equation:

$$
\hat{\omega}\_{\text{re}}(t) = K\_{\text{P}} \overline{\dot{i}\_{\text{q}}} + K\_{\text{I}} \int\_{t\_0}^{t} \overline{\dot{i}\_{\text{q}}} d\tau + \hat{\omega}\_{\text{re}}(t\_0) \tag{25}
$$

where ωˆ*re*(*t*0) is the initial estimated speed, *t*<sup>0</sup> is the initial value of time, *t* is the value of the current time, and τ is the variable. Finally, estimated rotor position θˆ*re*(*t*) is

$$
\hat{\theta}\_{n\epsilon}(t) = \int\_{t\_0}^{t} \hat{\omega}\_{n\epsilon} d\tau + \hat{\theta}\_{n\epsilon}(t\_0) \tag{26}
$$

After digitizing Equations (25) and (26), one can obtain estimated electrical-rotor speed ωˆ*re*(*m*) and rotor position θˆ*re*(*m*) as follows:

$$
\hat{\omega}\_{n\epsilon}(m) = \mathbf{K}\_{\boldsymbol{P}} \overline{\hat{i}\_{\boldsymbol{q}}}(m) + \mathbf{K}\_{\boldsymbol{I}} \sum\_{n=1}^{m} \overline{\hat{i}\_{\boldsymbol{q}}}(n) \Delta t \tag{27}
$$

and

$$\hat{\theta}\_{\text{re}}(m) = \sum\_{n=1}^{m} \hat{\omega}\_{\text{re}}(n)\Delta t + \hat{\theta}\_{\text{re}}(0),\tag{28}$$

where θˆ*re*(0) is the initial estimated position and *n* is the iterative number. The proposed position observer is illustrated in Figure 3. First, the current vector observer of the ˆ*is* was constructed. Next, the error of the current vector observer,*is*, was computed. After that, motor-speed observer ωˆ*re* was obtained via proportional-integral (PI) controller. Finally, motor-position observer θˆ*re* was computed via an integral controller.

**Figure 3.** Proposed position observer.

## **4. Predictive-Controller Design**

Predictive control is a new control technique that has had strong and widespread impact on industrial applications [20]. It has been used in process control, transportation control, and robotic control for more than three decades. Because of the powerful computation ability of digital-signal processors (DSPs), predictive control has been widely utilized for power converters and motor drives [21,22]. In our paper, predictive control was used for the first time for a sensorless SynRM drive.

The continuous-time dynamic equation of the speed of the SynRM without an external load is

$$\frac{d\omega\_{rm}}{dt} = \frac{1}{f\_t}(T\_\varepsilon - B\_t \omega\_{rm})\tag{29}$$

Combining Equations (3) and (29), one can obtain:

$$\frac{\omega\_{rm}(s)}{i\_q(s)} = \mathcal{G}\_\mathbf{c}(s) = \frac{\mathcal{K}\_\mathbf{t}}{J\_\mathbf{t}s + \mathcal{B}\_\mathbf{t}}\,'\tag{30}$$

where ω*rm*(*s*) is mechanical-motor speed, *Gc*(*s*) is the transfer function of the uncontrolled plant, and *Jt* and *Bt* are the inertia of the motor and the viscous frictional coefficient of the motor, respectively. After inserting a zero-order-hold device in front of transfer function *Gc*(*s*), transfer function *Gd*(*s*) can be rewritten as

$$\mathbf{G}\_d(\mathbf{s}) = H(\mathbf{s}) \mathbf{G}\_c(\mathbf{s}) = \frac{1 - e^{-sT\_z}}{s} \cdot \frac{\mathbf{K}\_t / I\_t}{s + (\mathbf{B}\_t / I\_t)}. \tag{31}$$

By converting the continuous into the discrete domain, discrete transfer function *Gd*(*z*) is

$$\begin{array}{l} G\_d(z) = \frac{\omega\_r(z)}{i\_q(z)}\\ = \frac{K}{B\_t} \cdot \frac{(1 - e^{-\frac{T}{T\_t}T\_z})z^{-1}}{(1 - e^{-\frac{B\_t}{T\_t}T\_z}z^{-1})} \end{array} \tag{32}$$

From Equation (32), one can obtain the discrete-time dynamic speed equation as

$$
\omega\_{rm}(m+1) = a\omega\_{rm}(m) + bi\_q(m), \tag{33}
$$

where m is the sampling step of the digital control system. In Equation (33), parameters are shown as

$$a = e^{-\frac{B\_t}{\tau\_t}T\_z} \tag{34}$$

and

$$b = \frac{K\_t}{B\_t} \Big| 1 - e^{-\frac{B\_t}{T\_t} T\_z} \Big| \,\tag{35}$$

To simplify the computations of the DSP in this paper, the predictive horizon and control horizon were selected as 1. Performance index *Jp*(*m*) was defined in previous research as follows [21,22]:

$$J\_p(m) = q[\omega\_{rm}(m+1) - \omega\_{rm}^\*(m+1)]^2 + \left[\Delta i\_q(m)\right]^2,\tag{36}$$

where *q* is a weighting factor. To prevent the positive speed error from canceling the negative speed error, or the positive control input from canceling the negative control input, we selected the square of the speed error and control input as the performance index. By taking the derivative of *Jp*(*m*) to Δ*iq*(*m*), one can obtain the following equation:

$$\frac{\partial l\_p(m)}{\partial \Delta i\_q(m)} = 2qb[\omega\_{rm}(m+1) - \omega\_{rm}^\*(m+1)] + 2\left[\Delta i\_q(m)\right] = 0\tag{37}$$

From Equation (37), the q-axis difference is obtained as

$$
\Delta i\_q(m) = \frac{qb}{qb^2 + 1} \left[ \omega\_{rm}^\*(m+1) - a\omega\_{rm}(m) - b i\_q(m-1) \right] \tag{38}
$$

Ultimately, the optimal q-axis current is derived as follows:

$$i\_q(m) = \Delta i\_q(m) + i\_q(m-1) \tag{39}$$

From Equations (38) and (39), one can construct a block diagram as demonstrated in Figure 4.

**Figure 4.** Block diagram of predictive speed control.

### **5. Implementation**

To evaluate the theoretical analysis and simulated results, a SynRM sensorless drive system was implemented. The synchronous reluctance motor, type P56H5012, manufactured in the United States, is shown in Figure 5a. Figure 5b demonstrates the implemented hardware circuit board. The circuit was a three-phase inverter using six IGBTs, type PS 21265-P/AP, as its power devices. The power devices were used for providing voltages and currents to the motor. The inverter employed space-vector modulation with a 10 kHz switching frequency. In addition, the circuit consisted of voltage- and current-sensing circuits, 12-bit A/D converters, which converted analog signals to digital signals, an interfacing circuit, and a DSP that was a control center. Two Hall effect sensors, type LTS25-NP, manufactured in Switzerland, were used as current sensors. A protecting circuit was utilized to prevent an overload of the SynRM drive system. All hardware circuits were designed by us. The block diagram of the implemented drive system is demonstrated in Figure 5c. First, the voltages and currents were read by the DSP via A/D converters. Next, the DSP executed the algorithms of the position observer to obtain the estimated rotor position and speed. The DSP compared the speed command and the estimated speed to compute the q-axis command. After that, the DSP used the PI control to obtain the voltage commands. Then, the DSP used the d-q to an a-b-c axis for coordinate transformation and to compute the three-phase voltage commands. Finally, the DSP sent triggering signals *T*<sup>1</sup> to *T*<sup>3</sup> to the inverter.

**Figure 5.** Implemented system. (**a**) Motor; (**b**) circuits; (**c**) block diagram.

A DSP, type TMS-320F-28335 [23], manufactured in the USA, was used as a computation tool to execute the position-estimating algorithm and predictive-control algorithm. The sampling time of the current-loop was 100 μ*s*, and the speed loop was 1 ms. The d-axis current command was set at 0.5 A to provide the required flux linkage. A larger d-axis current command increased the output torque; however, it also created flux saturation. The q-axis was also adjusted to obtain a quick torque response. Then, the proposed position observer was used to compute the rotor position.

A dynamometer, type TM-5MT(DS), made by Neiwa Company, was used for adding an external load to the SynRM. A power supply was utilized to provide 320 V to the inverter. The motor used in this paper was a three-phase, four-pole, 220 V, 560 W, 3.4 A, 60 Hz, 1800 rpm, Y-connected SynRM. Its parameters were as follows:

Stator resistance *rs* was 2 Ω; d-axis inductance *Ld* was 148 mH; q-axis inductance *Lq* was 67.2 mH; interia, *Jt* was 0.0024 kg.m2; and friction coefficient *Bt* was 0.0015 N.m/(rad/sec).

#### **6. Experiment Results**

To evaluate the proposed methods, several results are illustrated in this paper. Input DC voltage was 320 V, the sampling time of the speed-loop control was 1 ms, and the current loop was 100 μ*s*. The predictive speed control chose one step as the prediction and control horizons. PI speed controller parameters were determined by pole assignment, which were near *P*<sup>1</sup> = −2 + *j*0.5 and *P*<sup>2</sup> = −2 − *j*0.5. After that, one could obtain *KP* = 45 and *KI* = 4, and the d-axis current command was 0.5 A. The parameters of the PI controller of the current loop were determined by pole assignment, which uses a similar method as the PI controller of the speed loop.

Figure 6a demonstrates simulated line voltage *vab*. The line voltage was a pulse-width modulation (PWM) modulated voltage waveform with a 10 kHz switching frequency. Figure 6b shows measured line–line voltage *vab*. Both simulated and measured voltages were very close. In addition, the line–line voltage had positive and negative voltages sequentially because the space-vector pulse-width modulation (SVPWM) was applied. Figure 7a displays the simulated a-phase current, Figure 7b displays the measured a-phase current, and both currents were near-sinusoidal waveforms. Figure 7c displays the measured a-phase current harmonics. Figure 8a illustrates the comparison of the simulated results of the real and estimated rotor positions. Figure 8b illustrates the comparison of the measured results of the rotor positions. Figure 8c illustrates the measured estimated position error, which was between 0 and 4 electrical degrees. The estimated position error had a nonrepetitive waveform due to the influence of the PI controllers, which is shown in Figure 3. Figure 9a,b shows the q-axis current errors at operating speeds of 1100 and 1800 rpm, and the q-axis current errors had similar dynamic responses. The main reason was that similar poles were assigned for different speeds in this paper. In addition, the q-axis estimated current,*iq*, could reach zero at both operating speeds. Figure 10a,b illustrates the simulated and measured lowest operating speeds, which were 30 rpm. The SynRM drive system had obvious torque pulsations when it was operated below 30 rpm. Figure 11a,b illustrates the highest speeds at 1800 rpm, and they had similar transient responses. Figure 12a shows the simulated disturbance responses at 500 rpm and 2 N.m, and Figure 12b shows the measured load-disturbance responses in the same situation. The simulated and measured results were similar. The predictive speed controller performed better, including quicker recovery time and lower speed drop, than the PI controller. Figure 13a demonstrates the simulated responses, which reversed repeatedly between 200 and −200 rpm. Figure 13b demonstrates the measured responses under the same circumstances, and they had similar responses. However, the PI controller had an obvious time delay due to the influence of the integral parameter. Figure 14a demonstrates the simulated results of the triangular tracking responses, and Figure 14b demonstrates the measured results of the triangular tracking responses. The speed of the predictive controller could follow the speed command well. The PI controller, however, caused an obvious phase leg between its commands and speed responses. By choosing proper PI value coefficients, error in waveforms for Figures 12–14 could be minimized. However, the tuning of PI controllers relied on trial and error. In addition, each operation point required one parameter set of PI controller. Once the operation point changed, the PI controller could not work well. In this paper, the predictive controller provides a systemic design procedure. By suitably choosing weighting factor *q,* a systematic controller, which is illustrated in Equations (38) and (39), could be uniquely obtained, and the predictive controller parameters were related to the motor parameters, sampling time, and feedback speed.

**Figure 6.** Line–line voltage of motor. (**a**) Simulated; (**b**) measured.

**Figure 7.** Phase currents. (**a**) Simulated; (**b**) measured; (**c**) harmonics.

**Figure 8.** Responses at 500 rpm. (**a**) Simulated position; (**b**)measured position; (**c**)measured estimated error.

**Figure 9.** Measured dynamic q-axis current errors at (**a**) 1100 and (**b**) 1800 rpm.

**Figure 10.** *Cont.*

**Figure 10.** Lowest step-input speed at 30 rpm. (**a**) Simulated; (**b**) measured.

**Figure 11.** Highest step-input speed responses at 1800 rpm. (**a**) Simulated; (**b**) measured.

**Figure 12.** 2 N.m disturbance responses (**a**) simulated (**b**) measured.

**Figure 13.** *Cont.*

**Figure 13.** Square-wave tracking responses using different controllers. (**a**) Simulated; (**b**) measured.

**Figure 14.** Triangular tracking responses using different controllers. (**a**) Simulated; (**b**) measured.

## **7. Conclusions**

In this study, a position observer and a predictive controller for a SynRM were simulated and implemented. On the basis of the pole-assignment method, the error dynamics of the q-axis currents had similar poles and close dynamic responses. Both q-axis current errors and rotor-position observer errors could be converged in 2 s. In addition, the measured position errors of the position observer could be within four electrical degrees. Compared to previous research [11], which required a full-order observer to obtain the motor position, this paper provided a simplified method with satisfactory performance, including quick converging time and small steady-state estimation errors. In addition, the DSP computation time of the position observer in this paper was shorter than that in previous research. Furthermore, this paper proposed an original idea that combines the advanced position observer and speed-loop predictive controller for a SynRM drive system.

Experiment results demonstrated that the adjustable range of the SynRM was between 30 and 1800 rpm. Furthermore, the measured results demonstrated that the proposed rotor observer had errors below four electrical degrees, and the predictive controller had better dynamic responses than those of PI controllers. Most of the functions of the predictive controller and position observer were implemented by the DSP; therefore, the proposed synRM drive system uses simple hardware circuits that can easily be applied in industry.

**Author Contributions:** Conceptualization: T.-H.L. Methodology: T.-H.L. and J.–Y.C.; Software: J.-Y.C.; Validation: T.-H.L., J.-Y.C., M.S.M. and S.A.; Investigation: T.-H.L. and J.-Y.C.; Resource: T.-H.L.; Formal Analysis: T.-H.L. and J.–Y.C.; Data curation: J.–Y.C., M.S.M., and S.A.; Writing-original English draft preparation: T.-H.L. and J.–Y.C.; Writing-review & editing: J.–Y.C, M.S.M. and S.A.; Visualization: M.S.M. and S.A.; Supervision: T.-H.L.; Funding Acquisition: T.-H.L. All authors have read and agreed to the published version of the manuscript.

**Funding:** The paper was supported by Ministry of Science and Technology, Taiwan under grants MOST 108-2221-E-011-085 and -086.

**Conflicts of Interest:** The authors declare no conflicts of interest

## **References**


© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
