A Wide-Adjustable Sensorless IPMSM Speed Drive Based on Current Deviation Detection under Space-Vector Modulation

: This paper investigates the implementation of a wide-adjustable sensorless interior permanent magnet synchronous motor drive based on current deviation detection under space-vector modulation. A hybrid method that includes a zero voltage vector current deviation and an active voltage vector current deviation under space-vector pulse-width modulation is proposed to determine the rotor position. In addition, the linear transition algorithm between the two current deviation methods is investigated to obtain smooth speed responses at various operational ranges, including at a standstill and at di ﬀ erent operating speeds, from 0 to 3000 rpm. A predictive speed-loop controller is proposed to improve the transient, load disturbance, and tracking responses for the sensorless interior permanent magnet synchronous motor (IPMSM) drive system. The computations of the position estimator and control algorithms are implemented by using a digital signal processor (DSP), TMS-320F-2808. Several experimental results are provided to validate the theoretical analysis.


Introduction
Interior permanent magnet synchronous motors (IPMSMs) have better performance than any other motors because of their robustness, high efficiency, and high ratio of torque to ampere characteristics [1]. They have been used in industry and household appliances, including machine tools, rolling mills, high-speed trains, electric vehicles, and elevators [2,3]. A sensorless IPMSM drive system can save space, reduce costs, and prevent the noise interference of high-frequency pulse-width modulation (PWM) switching. The major sensorless technologies for an IPMSM include three methods. The first method uses the extended back-electromotive force (back-EMF) estimation to obtain the estimated rotor position [4][5][6][7][8][9]. The extended back-EMF estimation method, however, cannot effectively determine the rotor position at low-speed. The second method uses a high-frequency injection voltage to produce its related high-frequency currents [10][11][12][13][14][15]. The high-frequency injection method, however, requires some extra hardware or software to implement a high-frequency generator and also produces audible noise and electromagnetic interference [10][11][12][13][14][15]. To overcome these issues, the third method uses a stator current deviation to estimate the rotor position. By detecting the current deviation of the stator current, the position estimator has been successfully applied. For example, Bui et al. studied a modified sensorless scheme by using a PWM excitation signal [16]. Wei et al. presented a dual current deviation estimating method to obtain better accuracy of the position estimator [17]. Raute et al. investigated a sensorless technique with the analysis of the inverter nonlinearity effect [18]. Hosogay et al. implemented a position sensorless technique for low-speed ranges based on the d-axis and q-axis current derivative method [19]. These studies have not required any high-frequency injecting signals or a back-EMF estimation [16][17][18][19]. These methods [16][17][18][19], however, have not been applied for all ranges of different speeds.
To solve this problem, a current deviation of the stator current using the active voltage vector (AVV) is developed in [20][21][22][23]. These papers, however, have only focused on middle-to high-speed ranges. In this paper, two novel ideas are proposed as follows: • a zero voltage vector (ZVV) rotor estimation method is originally proposed to obtain a high-performance sensorless drive system at a zero-speed with full load conditions. • a linear combination method, including a zero voltage vector (ZVV) algorithm and an AVV algorithm, is proposed with predictive control to operate the sensorless IPMSM drive system from 0 rpm to 3000 rpm. This linear combination method is easily implemented when compared to fuzzy-logic combination methods [24].

The d-q Axis Synchronous Frame Model
According to the rotor flux-linkage coordinate system, the mathematical model of the IPMSM in the d-q axis synchronous frame is expressed as follows: where v d and v q are the d-q axis voltages, R s is the stator resistance, i d and i q are the d-q axis currents, L d and L q are the d-q axis inductances, ω e is the electrical rotor speed, and λ m is the flux linkage generated by the permanent magnet material, which is placed in the rotor. The addition of the reluctance torque and electromagnetic torque can be obtained as The dynamic mechanical equations of the rotor speed and rotor position are expressed as and The electrical rotor position and speed are independently expressed as follows: and where T L is the external load, J m is the inertia, B m is the viscous coefficient, ω m is the mechanical angular speed, θ m is the mechanical position, and θ e is the electrical position.

The a-b-c Axis Synchronous Frame Model
Considering the three-phase voltage balanced and Y-connected windings of an IPMSM, the a-b-c-axis stator voltage equation can be stated as follows: where v as , v bs , and v cs are the a-, b-, and c-phase voltages, r a , r b , and r c are the a-, b-, and c-phase resistances, and λ as , λ bs , and λ cs are the a-, b-, and c-phase flux linkages. In Equation (7), the neutral point voltage is assumed to be zero when the neutral point is free because the fundamental components of the v as , v bs , and v cs are balanced. The relationship between the magnetic flux linkages of three-phase stator windings and the three-phase self-inductances, stator currents, and rotor position can be stated as follows: where L aa , L bb , and L cc are the three-phase self-inductances, and M ab , M ac , M ba , M bc , M ca , and M cb are the three-phase mutual inductances. The self-inductances are expressed as and The mutual inductances are expressed as and The L AA and L BB are constant parameters.

Basic Principle
The ZVV dominates the duty cycle of a PWM at a standstill and low-speed operating ranges; as a result, one can substitute v d = 0 and v q = 0 into Equation (1) and obtain From Figure 1, the estimated position error θ e is first defined as follows: where θ e andθ e are the estimated rotor position error and estimated rotor position, respectively. Second, the estimated d-and -q axis currents are expressed as follows: whereî d andî q are the estimated d-axis and q-axis currents, and T( θ e ) is the coordinate transformation matrix. By substituting Equation (17) into Equation (15), the dynamic equation of the ZVV-based estimated q-axis current is From Figure 1, the estimated position error e  θ is first defined as follows: where e θ  and ˆe θ are the estimated rotor position error and estimated rotor position, respectively.
Second, the estimated d-and -q axis currents are expressed as follows: ( ) where ˆd i and ˆq i are the estimated d-axis and q-axis currents, and ( ) e T θ  is the coordinate transformation matrix. By substituting Equation (17) into Equation (15), the dynamic equation of the ZVV-based estimated q-axis current is Because the estimated position error e  θ is close by zero at steady-state, it is feasible to assume that ( )  The values of the L d and L q are only a few mHs and are lower than 1 Henry. In consequence, L d is much greater than L 2 d , and L q is much greater than L 2 q . By omitting the L 2 d , L 2 q , and related items that are multiplied by the ω e , the dynamic equation of the ZVV-based estimated q-axis current can be derived as follows: Because the estimated position error θ e is close by zero at steady-state, it is feasible to assume that sin 2 θ e 2 θ e ,sin θ e θ e ,cos 2 θ e 1, and cos θ e 1. By using these guestimates into Equation (19), the following equation can be obtained

The ZVV Rotor Position Estimating Scheme
In fact, the estimated speedω e is employed to replace the real speed ω e . The estimated rotor position θ e can be assumed to be zero under steady-state conditions. Equation (20), as a result, is rearranged as follows: Then, a new variable, Dî q , can be defined as follows: Substituting (22) into Equation (21), one can obtain Energies 2020, 13, 4431 From Equation (23), the Dî q is nearly proportional to the estimated position error θ e . Figure 2 illustrates the proposed ZVV-based estimator. First, by using the coordinate transformation, one can transfer the a-, b-, and c-phase current deviations into the estimated d-q axis current deviations. Then, one can derive the current deviation dî q /dt. By summation of the dî q /dt, λ mωe /L q , and R sîq /L q , one can obtain Dî q . Next, one can compute the value of θ e after dividing Dî q by K q and, thus, obtain the estimated position error. After that, one can use a proportional-integral (PI) controller to acquire the estimated rotor speed and obtain the estimated position by using an integral operation.
From Equation (23), the ˆq Di is nearly proportional to the estimated position error e θ  . Figure 2 illustrates the proposed ZVV-based estimator. First, by using the coordinate transformation, one can transfer the a-, b-, and c-phase current deviations into the estimated d-q axis current deviations. Then, one can derive the current deviation ˆ.

The AVV Rotor Position Estimation Scheme
At middle and high speeds, the current deviation of the AVV in the a-b-c-stationary frame is used to estimate the position. From Figure 3, when the a-phase upper leg turns on and the b-phase and c-phase lower legs turn on, one can obtain

The AVV Rotor Position Estimation Scheme
At middle and high speeds, the current deviation of the AVV in the a-b-c-stationary frame is used to estimate the position. From Figure 3, when the a-phase upper leg turns on and the b-phase and c-phase lower legs turn on, one can obtain By substituting Equation (7) into (25), one can derive By substituting Equation (7) into (25), one can derive Substituting Equation (8) into (26), one can derive V dc = r s i as + d dt (L aa i as + L ab i bs + L ac i cs + λ m cos θ e ) − r s i bs − d dt (L ba i as + L bb i bs + L bc i cs + λ m cos(θ e − 2π 3 )) (27) By substituting Equations (9)- (14) into Equation (27) and doing some mathematical processes, one can obtain In addition, from Figure 3, when the a-phase upper leg turns on and the b-phase and c-phase lower legs turn on, one can obtain the voltage between the b-phase and c-phase as follows: By using the similar processes shown in Equations (26)-(29), one can derive Moreover, from Figure 3, when the a-phase upper leg turns on and the b-phase and c-phase lower legs turn on, one can obtain Taking the differential of both sides in Equation (31), one can obtain From Equations (28), (30), and (32), one can obtain the following equation: and When the switching state of the inverter is at a zero voltage state, the motor short circuits. Consequently, the direct-current (DC) voltage V dc is equal to zero. By substituting V dc = 0 into Equation (33), one can obtain di as Energies 2020, 13, 4431 7 of 21 From Equation (36), the current deviation di as /dt _ mode 0 includes a resistance influencing part, a back-EMF influencing part, and an inductance influencing part. To eject the influences of the back-EMF and resistance parts, the a-phase compensated current deviation Di as_mode A+ is computed as From Equation (37), one can observe that the Di as_mode A+ is only related to the inductance and input DC voltage V dc . By using a similar method, one can derive the b-phase compensation current deviation and the c-phase compensation current deviation.
By transferring the a-, b-, and c-axis current deviations into the α− and β− axis current-deviations, one can obtain the current deviation Di α and Di β as follows: By substituting the a-b-c-phase compensated current deviation into Equation (38), the Di α can be simplified as and the Di β can be simplified as By using the following tan −1 mathematical process, one can obtain the AVV-based estimated electrical rotor position as follows:

Space-Vector Extension And Compensation
The current deviation is used to estimate the position and is discussed in this section. To obtain the current deviation, two different currents are sampled for each switching state, and then the current deviation can be computed. In the real world, the time interval between the two-sampling intervals should be large enough to obtain an accurate current deviation. However, some turn-on or turn-off intervals are reduced as the motor speed increases. In addition, the switching interval is also varied when the voltage vector moves to different positions. To solve this issue, an extension with a compensation method is used [13]. When the digital signal processor (DSP) detects that the time interval of the switching state is too short, an extension time is automatically provided to make the switching time maintain a minimum required switching time, T min . In this paper, the minimum required switching time interval T min is set as 20 µs.
However, the extension time of the switching state causes DC bias and harmonics. Therefore, a compensation time of the whole switching interval is required. Figure 4a,b show the space-vector pulse width modulation (SVPWM) switching states used in this paper. In each switching interval, which is 100 µs, three switching states are generated. Figure 4a shows the T 1 switching state when it is too short. When this occurs, the switching state "100" is extended, and its complementary state "011" is compensated for at the end because the voltage in the whole-time interval T s should be balanced. As a result, the DC bias is reduced to zero, and the ac harmonics are compensated. Figure 4b shows the T 2 switching state when it is too short. When this occurs, the switching state "110" is extended. Then, "001" is compensated for at the end of the entire switching interval T s . which is 100 μs, three switching states are generated. Figure 4a shows the 1 T switching state when it is too short. When this occurs, the switching state "100" is extended, and its complementary state "011" is compensated for at the end because the voltage in the whole-time interval s T should be balanced. As a result, the DC bias is reduced to zero, and the ac harmonics are compensated. Figure  4b shows the 2 T switching state when it is too short. When this occurs, the switching state "110" is extended. Then, "001" is compensated for at the end of the entire switching interval s T .

Current Deviation Detection Technique
In this paper, the current deviation is used to estimate the position of IPMSM. As a result, the precise detection of the current deviation at AVV and ZVV is very important. As one can observe in the waveform, shown in Figure 5, the current deviation is obtained for every sampling time, s T . The current spike can be avoided by carefully selecting the sampling instance. The first current sampling

Current Deviation Detection Technique
In this paper, the current deviation is used to estimate the position of IPMSM. As a result, the precise detection of the current deviation at AVV and ZVV is very important. As one can observe in the waveform, shown in Figure 5, the current deviation is obtained for every sampling time, T s . The current spike can be avoided by carefully selecting the sampling instance. The first current sampling instance of each switching state is delayed 10 µs after the power device turns on. The second current sampling instance is 5 µs before the next switching state occurs. After that, the current deviation can be computed by subtracting the second captured current with the first captured current over the time difference.
Energies 2020, 13, x FOR PEER REVIEW 9 of 23 instance of each switching state is delayed 10 μs after the power device turns on. The second current sampling instance is 5 μs before the next switching state occurs. After that, the current deviation can be computed by subtracting the second captured current with the first captured current over the time difference.  The current deviation can be precisely obtained since the time period of AVV is extended if it is too narrow when the motor is operated at middle-and high-speeds. The current-deviation of the ZVV can be obtained because of the large duty cycle of the ZVV when the motor is operated at a standstill and low-speed ranges.

Linear Transition from Standstill and Low-Speed to High-Speed
A linear transferring method between the ZVV and AVV algorithms is displayed in Figure 6. This linear transition method is easy to implement and can achieve better performance than other advanced transition methods, such as fuzzy logic methods. Even though fuzzy logic methods have The current deviation can be precisely obtained since the time period of AVV is extended if it is too narrow when the motor is operated at middle-and high-speeds. The current-deviation of the ZVV can be obtained because of the large duty cycle of the ZVV when the motor is operated at a standstill and low-speed ranges.

Linear Transition from Standstill and Low-Speed to High-Speed
A linear transferring method between the ZVV and AVV algorithms is displayed in Figure 6. This linear transition method is easy to implement and can achieve better performance than other advanced transition methods, such as fuzzy logic methods. Even though fuzzy logic methods have better performance and faster responses, they need more complex computations [24]. A lower bound transition speed, which is 60 rpm, is defined as ω s1 . In addition, a higher bound transition speed, which is 100 rpm, is defined as ω s2 . A weighting factor β is utilized in the subsequent equations:

Predictive Speed Controller Design
Predictive controllers have been applied in chemical process industries, robotic controls, and other multivariable systems [25][26][27]. Recently, predictive controllers have been successfully employed in motor drives and power electronics [28][29][30]. A predictive speed controller is designed to improve the responses of the drive systems. By omitting the external load L T from (3), when the d-axis is zero, it is possible to derive the transfer function ( ) p G s of the IPMSM, which is shown in Figure 7, as follows: By inserting a zero-order hold device and taking the z-transformation, one can obtain From (46), it is straightforward to derive the speed prediction as The performance index can be defined as [28-30] The weighting factor β in (42) and (43) is defined as follows: whereθ zvv andθ avv are the estimated positions by using the ZVV and the AVV algorithms, respectively. Theω zvv andω avv are the estimated speeds after using the ZVV and AVV algorithms. By using this method, the estimated positions and estimated speeds can be accurately obtained.

Predictive Speed Controller Design
Predictive controllers have been applied in chemical process industries, robotic controls, and other multivariable systems [25][26][27]. Recently, predictive controllers have been successfully employed in motor drives and power electronics [28][29][30]. A predictive speed controller is designed to improve the responses of the drive systems. By omitting the external load T L from (3), when the d-axis is zero, it is possible to derive the transfer function G p (s) of the IPMSM, which is shown in Figure 7, as follows: By inserting a zero-order hold device and taking the z-transformation, one can obtain Energies 2020, 13, 4431

of 21
Load disturbance compensation is shown in Figure 7. By computing the difference between

Implementation
The implemented circuit of the sensorless IPMSM drive system is discussed here. Figure 8a demonstrates the closed-loop block diagram of the implemented drive system. The digital signal processor (DSP) executes the position estimation and predictive control algorithms. As a result, the DSP is the control center of the IPMSM drive system. Figure 8b displays the implemented circuit, including an inverter, a 3-phase driving circuit, a DSP, two A/D converters, and two Hall-effect current sensing circuits. Figure 8c demonstrates the drive system with a dynamometer, which is driven by a DC permanent magnet motor to equip the external load. By suitably adjusting the input voltage of the DC motor, a varied load can be obtained. The IPMSM is an 8-pole, 7.  From (46), it is straightforward to derive the speed prediction as The predictive speed equation is shown as The performance index can be defined as [28][29][30] J p (n) = α ω m (n + 1) − ω m * (n + 1) After taking ∂J p (n)/∂∆i q * (n) = 0, one can obtain 2αb s a s ω m (n) + b s i qp (n − 1) + ∆i q * (n) − ω m * (n + 1) + 2∆i q * (n) = 0 (52) Next, one can obtain and Finally, the q-axis current command is Load disturbance compensation is shown in Figure 7. By computing the difference between k t i * q (n) and J t (∆ω m /∆t) + B t ω m , the estimated mechanical load can be obtained. Next, the external loadT m (n) is estimated by using a low-pass filter. After that, the compensation current i qc (n) can be obtained. Finally, the q-axis current command i q * (n), which is the summation of the i qp * (n) and the compensation current i qc (n), can be computed, shown in Figure 7.

Implementation
The implemented circuit of the sensorless IPMSM drive system is discussed here. Figure 8a demonstrates the closed-loop block diagram of the implemented drive system. The digital signal processor (DSP) executes the position estimation and predictive control algorithms. As a result, the DSP is the control center of the IPMSM drive system. Figure 8b displays the implemented circuit, including an inverter, a 3-phase driving circuit, a DSP, two A/D converters, and two Hall-effect current sensing circuits. Figure 8c demonstrates the drive system with a dynamometer, which is driven by a DC permanent magnet motor to equip the external load. By suitably adjusting the input voltage of the DC motor, a varied load can be obtained. The IPMSM is an 8-pole, 7.

Experimental Results
To verify the theoretical analysis, several measured results are demonstrated in this section. The speed-loop PI controller is designed by a pole assignment technique. Figure 9 demonstrates the relation between the q-axis current deviations and estimated position errors at 0 rpm. When the daxis current is too low, the amplitude of the q-axis current deviation is also very low. In order to enhance the amplitude of the current deviation to reduce the estimated rotor position error, a higher d-axis current is selected for the rotor position estimation at a standstill condition. From Figure 9, the relationship between the q-axis current deviation and the estimated position error is nearly a

Experimental Results
To verify the theoretical analysis, several measured results are demonstrated in this section. The speed-loop PI controller is designed by a pole assignment technique. Figure 9 demonstrates the relation between the q-axis current deviations and estimated position errors at 0 rpm. When the d-axis current is too low, the amplitude of the q-axis current deviation is also very low. In order to enhance the amplitude of the current deviation to reduce the estimated rotor position error, a higher d-axis current is selected for the rotor position estimation at a standstill condition. From Figure 9, the relationship between the q-axis current deviation and the estimated position error is nearly a sinusoidal curve. In addition, the current deviation slope and the estimated position error have the same polarity. Therefore, it is reasonable to use the q-axis current deviation slope to estimate the position, as explained in Section 3. Figure 10a demonstrates the estimated and real positions, and they are similar. However, the estimated rotor position varies above and below the real positions. Figure 10b demonstrates the estimated and real speeds at 5 rpm. Both of them have obvious speed ripples, which are near ±1 rpm. In addition, the speed computed from rotor estimation has larger speed ripples than the speed measured by an encoder, which provides more accurate speed information. Figure 10c demonstrates the estimated position error with only nearby ±2 electrical degrees. This result shows that the estimated d-axis moves above and below the real d-axis. Figure 11a demonstrates the rotor speed and estimated speed at 0 rpm under an 11 N·m external load. According to this figure, the estimated speed follows the real speed well, even though a heavy load is added. However, the estimated speed has a larger speed ripples than the speed obtained from the encoder. Figure 11b demonstrates the estimated and real positions using an encoder. Both of them finally reach 0 electrical degrees at steady-states, at which the motor provides maximum holding torque. Figure 11c shows the position error at 0 rpm under an 11 N·m load. The estimated error is at a near −2 degrees at no load; however, it reaches 2 degrees under an 11 N·m load. According to Figure 11a-c, one can conclude that the proposed method can provide a high-performance speed control at a standstill with a heavy load.
Energies 2020, 13, x FOR PEER REVIEW 13 of 23 According to this figure, the estimated speed follows the real speed well, even though a heavy load is added. However, the estimated speed has a larger speed ripples than the speed obtained from the encoder. Figure 11b demonstrates the estimated and real positions using an encoder. Both of them finally reach 0 electrical degrees at steady-states, at which the motor provides maximum holding torque. Figure 11c shows the position error at 0 rpm under an 11 N·m load. The estimated error is at a near −2 degrees at no load; however, it reaches 2 degrees under an 11 N·m load. According to Figure  11a-c, one can conclude that the proposed method can provide a high-performance speed control at a standstill with a heavy load.  Figure 12a,b show the comparison of the a-phase output current of the hysteresis current control and the proposed extension and compensation SVPWM when the motor is running at 600 rpm under a 1.5 N·m external load. As we can observe, the output current with the proposed method provides lower current harmonics than the hysteresis current control method. The major reason is that hysteresis control uses an infinite gain for a current-loop and then creates high current harmonics. Figure 13a shows the a-phase current and its related sampling signal. The current is detected twice for each switching interval in order to compute the current deviation. Figure 13b shows the extended and compensated SVPWM switching states. In that figure, it can be seen that the sampling interval T s is 100 µs. The first and second applied voltage vectors are "110" and "010" and are both less than 20 µs. Therefore, these voltage vectors need to be extended at the first stage and then be compensated for at the next stage. Besides that, the switching time for the zero voltage vector reaches 20 µs, and it does not need to be extended. The extended voltage vectors "110" and "010" also need to be compensated for in the opposite direction, which is "001" and "101", to keep the total time of switching states from changing. Hence, the compensation for switching states "001" and "101" are performed before the end of the switching interval T s . Figure 13c shows the related switching points (broken lines) and sampling points (solid lines). As can be observed, two current sampling points are required for the AVV "110" and "010" and the ZVV "000".    Figure 14a shows the i α and i β using the AVV and the blue line is i α and the red line is i β . Figure 14b shows the i α and i β using the ZVV and the blue line is i α and the red line is i β . As we can observe, at low speeds, the ZVV performs better than the AVV with fewer current ripples and current distortions. The reason is that the ZVV uses a lot of zero vectors, but the AVV does not. In addition, the αβ trajectory for the ZVV is closer to a circle. This is why the ZVV is employed for low-speed ranges. Figure 15a-c illustrate the transitional responses from the ZVV algorithm to the AVV algorithm. Figure 15a shows the estimated and real speeds at about 150 rpm. According to the transition rules in Equations (48)-(50), when the speed is below 60 rpm, the ZVV estimation algorithm is used. However, when the motor is at more than 100 rpm, the AVV rotor estimation algorithm is used. If the speeds are between those two limitations, a weighting factor is considered, which allows the two estimators to transition smoothly to obtain estimated speeds and positions. Figure 15b compares the estimated and real positions, and they are close at a standstill and low-speed ranges. Moreover, during the transitional interval, the estimated and real positions can provide smooth transient responses to demonstrate that the proposed method is practical and useful. Figure 15c demonstrates the estimated position errors. The errors are near six electrical degrees during transitional intervals and then are reduced to two electrical degrees at steady-states. Figure 16a demonstrates the reverse speed responses from 600 rpm to −600 rpm by using a predictive controller. Figure 16b Figure 12a,b show the comparison of the a-phase output current of the hysteresis current control and the proposed extension and compensation SVPWM when the motor is running at 600 rpm under a 1.5 N·m external load. As we can observe, the output current with the proposed method provides lower current harmonics than the hysteresis current control method. The major reason is that hysteresis control uses an infinite gain for a current-loop and then creates high current harmonics. Figure 13a shows the a-phase current and its related sampling signal. The current is detected twice for each switching interval in order to compute the current deviation. Figure 13b shows the extended and compensated SVPWM switching states. In that figure, it can be seen that the sampling interval s T is 100 μs. The first and second applied voltage vectors are "110" and "010" and are both less than 20 μs. Therefore, these voltage vectors need to be extended at the first stage and then be compensated for at the next stage. Besides that, the switching time for the zero voltage vector reaches 20 μs, and it does not need to be extended. The extended voltage vectors "110" and "010" also need to be   Figure 14a shows the iα and i β using the AVV and the blue line is iα and the red line is iβ . Figure 14b shows the iα and iβ using the ZVV and the blue line is iα and the red line is iβ . As we can observe, at low speeds, the ZVV performs better than the AVV with fewer current ripples and current distortions. The reason is that the ZVV uses a lot of zero vectors, but the AVV does not. In addition, the αβ trajectory for the ZVV is closer to a circle. This is why the ZVV is employed for low-speed ranges. Figure 15a-c illustrate the transitional responses from the ZVV algorithm to the AVV algorithm. Figure 15a shows the estimated and real speeds at about 150 rpm. According to the transition rules in Equations (48)-(50), when the speed is below 60 rpm, the ZVV estimation algorithm is used. However, when the motor is at more than 100 rpm, the AVV rotor estimation algorithm is used. If the speeds are between those two limitations, a weighting factor is considered, which allows the two estimators to transition smoothly to obtain estimated speeds and positions. Figure 15b compares the estimated and real positions, and they are close at a standstill and low-speed ranges. Moreover, during the transitional interval, the estimated and real positions can provide smooth transient responses to demonstrate that the proposed method is practical and useful. Figure 15c demonstrates the estimated position errors. The errors are near six electrical degrees during transitional intervals and then are reduced to two electrical degrees at steady-states. Figure  16a demonstrates the reverse speed responses from 600 rpm to −600 rpm by using a predictive controller. Figure 16b Figure 17a shows the responses when a 1 N·m load is added. As we can observe, the estimated rotor position and estimated rotor speed can follow measured rotor position and rotor speed well. The position error is only ± 2 electrical degrees. Figure 17b shows the responses when a 4 N·m load is added, and the estimated position error is near ±3 electrical degrees. Based on these experimental results, the performance of the sensorless drive system can work well at 1 N·m load and 4 N·m load.   Figure 17a shows the responses when a 1 N·m load is added. As we can observe, the estimated rotor position and estimated rotor speed can follow measured rotor position and rotor speed well. The position error is only ±2 electrical degrees. Figure 17b shows the responses when a 4 N·m load is  Figure 18a demonstrates a comparison of the speed responses by using different controllers. The PI controller has near 10% overshoot, which requires 0.3 s to reach a steady-state. However, the predictive controller only has a 3% overshoot and can reach a steady-state quickly. Figure 18b demonstrates the load disturbance responses at 600 rpm with a 2 N·m load. The PI controller drops by 150 rpm, but the predictive controller drops by only 60 rpm. In addition, the predictive controller has a quicker recovery time than the PI controller. Figure 18c demonstrates the step-input responses at different speeds by using the proposed predictive controller. All of them are linear responses. The reason is that the predictive controller uses more state variables than the PI controller. This demonstrates that the proposed drive system has wide and adjustable ranges, which include different speed ranges.  Figure 18a demonstrates a comparison of the speed responses by using different controllers. The PI controller has near 10% overshoot, which requires 0.3 s to reach a steady-state. However, the predictive controller only has a 3% overshoot and can reach a steady-state quickly. Figure 18b demonstrates the load disturbance responses at 600 rpm with a 2 N·m load. The PI controller drops by 150 rpm, but the predictive controller drops by only 60 rpm. In addition, the predictive controller has a quicker recovery time than the PI controller. Figure 18c demonstrates the step-input responses at different speeds by using the proposed predictive controller. All of them are linear responses. The reason is that the predictive controller uses more state variables than the PI controller. This demonstrates that the proposed drive system has wide and adjustable ranges, which include different speed ranges.

Conclusions
A sensorless DSP-based IPMSM drive system using current deviation detection is implemented in this paper. The ZVV rotor estimating method, which is very suitable for IPMSMs operating at zerospeeds and low-speeds, is originally investigated. Experimental results show that this ZVV estimating method can achieve high-performance sensorless speed control at zero-speed under full load conditions. In addition, a linear combination method, which is the simplest method to combine a ZVV algorithm and an AVV algorithm, is also proposed in this paper. As a result, the IPMSM drive system can be operated from 0 r/min to 3000 r/min. This linear combination method is more easily implemented than fuzzy-logic combination methods.

Conclusions
A sensorless DSP-based IPMSM drive system using current deviation detection is implemented in this paper. The ZVV rotor estimating method, which is very suitable for IPMSMs operating at zero-speeds and low-speeds, is originally investigated. Experimental results show that this ZVV estimating method can achieve high-performance sensorless speed control at zero-speed under full load conditions. In addition, a linear combination method, which is the simplest method to combine a ZVV algorithm and an AVV algorithm, is also proposed in this paper. As a result, the IPMSM drive