1 Introduction

During the last few years, speed-sensorless control of induction motor (IM) has been profusely investigated. The rotor speed is estimated instead being measured directly with a mechanical sensor. This leads to several advantages like low cost, lower sensitivity to noise, increased reliability and robustness. A particular interest has been noted among researchers on applying the sensorless technique in FOC drives. Several less-demanding applications are shaping the research also towards the improvement of low-cost V/Hz control schemes (Bose 2009). In the literature, different algorithms for the rotor speed estimation using only electrical quantities have been proposed. These algorithms can be divided into two major groups: (1) Open-loop estimators (OLE) and (2) Observers (Vas 1998). The open loop estimators are based on dynamic model of the machine. They calculate the stator and rotor flux vectors from measured stator voltages, stator currents and machine parameters. Because of their simplicity and low-cost profile, the OLEs have recently aroused lively interest among researchers and are popularly used in low-cost systems with limited speed range. An improved OLE with dead time compensation is presented in Bolognani et al (2008). To overcome the problems of pure integrators in OLE, application of an adaptive integration algorithm based high pass filter is suggested in Zerbo et al (2005). In Bhattacharya & Umanand (2009), the rotor position is estimated by integrating the rotor back-electromotive force.

The observers use internal feedback loop together with the machine model to improve the flux estimation accuracy and robustness against parameter variations. Their superior performance is associated with complex calculations and great tuning difficulties. Popular adaptive observers are Extended Luenberger observer and Extended Kalman filter (EKF). de-Santana et al (2008) have used the fifth order EKF while (Barut et al 2007) have used sixth order EKF to estimate the rotor speed and load torque. A relatively simple offline method is suggested in Salvatore et al (2010) for robust optimization and tuning of covariance matrices of the delayed EKF. The Model reference adaptive system (MRAS) based observers, which are close-loop algorithms, are inherently nonlinear in both the error processed by the adaptive controller and in the mathematical model modified by the feedback (Kojabadi et al 2005; Gadoue et al 2009; Orlowska-Kowalska et al 2010).

Majority of the speed estimation methods suggested in literature perform satisfactorily at higher speeds. At zero stator frequency, these methods fail and stable sensorless operation is considered to be only possible by applying the high frequency or transient signal-injection methods and exploiting the parasitic effects of the machine. In Vogelsberger et al (2010), a method is proposed to detect the flux angle using an additional transient test voltage injected into the machine. Later, in the same paper, an alternate method is also suggested to measure the flux angle based upon the fundamental-wave excitation of the machine without injecting additional test voltage. In Arkan (2008), the speed harmonic component is used for speed estimation. This component exists due to the dynamic and static eccentricities in the machine.

For robust control, parallel identification schemes for speed and machine parameter have found greater interest in research community (Zaky et al 2009). Online rotor resistance estimation along with speed estimation for rotor field orientation using Model reference adaptive system is proposed in Maiti et al (2008). Two EKF algorithms for estimating stator and rotor resistances are utilized in a braided manner, to estimate a high number of parameters and states in Barut et al (2008). Artificial neural networks for estimating stator and rotor resistances are used in Karanayil et al (2007). Recently, increased interest of researchers is seen in the sliding-mode control and sliding-mode observers for online parameter estimation and adaptation in high performance IM drives (Nayeem Hasan & Husain 2009; Comanescu 2009; Ghanes & Zheng 2009; Rao et al 2009). A solution which uses only single current and single voltage dc link sensors to operate in FOC mode is reported in Bodkhe & Aware (2009).

This paper presents a new open-loop speed estimation method with enhanced performances in terms of wide speed range, speed reversal and robustness against parameter uncertainty. All the aforesaid classical and improved estimators and observers with different levels of cost, performance and complexity share a common feature of dependency on machine parameters. The proposed estimator is based on continuous tracking of synchronous speed. None of the machine model parameters or load model parameters is involved in computations. This makes it a robust solution. A non-adaptive mathematical approach to estimate the unknown stator frequency within a lesser time of one-sixteenth (or even less) of stator time-period is also proposed. The performance of this OLE is tested by simulation in MATLAB/Simulink environment and then verified on a 2.2 kW field oriented controlled (FOC) induction motor drive experimentally with the help of d-Space (DS1104) controller board.

2 Limitations of classical open-loop estimators

In classical flux based OLEs, the synchronous speed is estimated either from the derivative of flux position or from the electric pulsation by dividing the back electromotive force with the magnitude of flux (Vas 1998; Bose 2002). The flux position based estimator has the advantage that it can estimate negative speed without any additional equation. In flux magnitude based estimators, since the magnitudes are always positive, it is used for unidirectional IM drives. Both types of estimators are required to evaluate the fluxes which involve integrations. It is known that due to drift and unknown initial value, a pure integration is unfeasible. Generally an active or passive type low-pass filter (LPF) with narrow bandwidth is used in place of pure integrators. However the LPF causes phase lag and amplitude attenuation that varies with fundamental frequency. Therefore the calculated flux position and magnitude are affected by dc-offsets, drifts and LPF cut-off frequencies. Nevertheless, they are affected by discontinuities also (Bolognani et al 2008; Zerbo et al 2005). These discontinuities are periodical since the flux position varies periodically between – π and +π. This is shown in figure 1. The equations that calculate the flux are obtained from the dynamic model of IM and are therefore heavily dependent on machine parameters (Vas 1998).

Figure 1
figure 1

Synchronous speed tracking from flux position in classical open loop estimator.

3 Proposed open-loop speed estimator

In the proposed open-loop estimator, the rotor speed estimate \(\mathop {\omega _r}\limits ^{\smallfrown }\) is obtained from the estimated slip speed \({\mathop {\omega }\limits ^{\smallfrown }}_{sl}\) (in rad/s) and the estimated synchronous speed \({\mathop {\omega }\limits ^{\smallfrown }}_{e} \). For estimation of synchronous speed, it is important to know the unknown stator frequency which may vary continuously in an adjustable speed FOC drive. The reference speed or reference frequency cannot be treated as equal to stator frequency as it will result in speed errors during large loads. The proposed estimator has four stages. The first stage receives the stator current signals as input. It consists of an algorithm that enhances the estimation speed. The second stage tracks the output of first stage and estimates the instantaneous synchronous speed. The third stage detects reversal of speed if any. The final stage estimates the slip-speed and then the rotor speed.

3.1 Increasing the estimation speed

In the proposed scheme, each half time-period of input cycle is termed as measurement period t m . It is divided into many short duration pulses. The estimation of synchronous speed is based upon the counting of these pulses. At higher stator frequencies, the measurement period is small and therefore estimation is fast. However, at low frequencies, the measurement period is too long and therefore speed estimation may become sluggish. To ensure faster estimation at all speeds, the measurement period should be made as short as possible. This is accomplished mathematically using trigonometric rules. It is found that the unknown stator frequency can be estimated within one-sixteenth and still lower fraction of the actual time-period yet without using any adaptive observer mechanism. The proposed algorithm for this purpose is as given below. The stator currents in d s q s stationary reference frame are orthogonal as

$$ i_{ds}^{s}=I_{m} \cos \omega_{e} t $$
(1)
$$ i_{qs}^{s}=I_{m} \sin \omega_{e} t $$
(2)

From (1) and (2),

$$ i_{ds}^{s}i_{qs}^{s}=\frac{{I_{m}^{2}}}{2}\sin 2\omega_{e} t $$
(3)

Similarly,

$$ \left( {i_{ds}^{s}+i_{qs}^{s}} \right)\left( {i_{ds}^{s}-i_{qs}^{s}} \right)={I_{m}^{2}}\cos 2\omega_{e} t $$
(4)

where ω e = 2π.f and f is the stator frequency in hertz.

Substitute 2ω e = δ in (3)–(4) and for equating their amplitudes, multiply (3) by 2.

$$ 2i_{ds}^{s}i_{qs}^{s}={I_{m}^{2}}\sin\;\delta\;t $$
(5)
$$ \left( {i_{ds}^{s}+i_{qs}^{s}} \right)\left( {i_{ds}^{s}-i_{qs}^{s}} \right)={I_{m}^{2}}\cos \;\delta \;t $$
(6)

Thus (5) and (6) represent two balanced orthogonal signals with frequency twice that of (1) and (2). Now let (5) be denoted by I Q and (6) by I D .

$$ {}\therefore\quad{\kern11.5pc} 2I_{D} I_{Q} ={I_{m}^{4}}\sin 2\delta\;t $$
(7)
$$ \left( {I_{D} +I_{Q} } \right)\left( {I_{D} -I_{Q} } \right)={I_{m}^{4}}\cos 2\delta\;t $$
(8)

From (1)–(2) and (7)–(8), we observe that in above two stages of mathematical simplification, the measurement period got reduced to one-fourth of its original value. The above stages can be repeated to get the desired reduction in t m . If n denotes the number of stages of mathematical simplification and 1/K is the fraction by which t m gets reduced then the relative values of n and K would be as given in table 1. The OLE proposed in this paper has K = 16. The waveforms obtained after such reduction in t m are the output of stage 1. This method of reducing t m is illustrated in figure 2. It presents five examples having different values of ω e i.e. 314 rad/s, 251 rad/s, 188 rad/s, 126 rad/s and 63 rad/s. In each example t m is reduced successively for different values of K.

Figure 2
figure 2

Waveforms illustrating the successive reduction in t m for different values of n.

Table 1 Variation of K with n.

3.2 Estimation of synchronous speed

This is the second stage of proposed estimator. Its architecture is shown in figure 3. Let the unknown stator frequency be denoted by f Hz and the clock frequency by f c Hz. The magnitude of f may vary continuously depending upon the operating conditions in an adjustable speed drive however f c remains constant. For the time being, let us assume that K = 1, i.e. there is no reduction in t m i.e. the frequency of waveform received by sinusoidal to square wave converter of this stage is the same as the actual stator frequency. Therefore,

$$ t_{m} =\frac{1}{2f} $$
(9)

Let the number of clock pulses over one measurement period be denoted by N c . A zero-order sample and hold circuit is used to hold the pulse count at the end of every measurement period. In terms of N c , t m can be expressed as

$$ t_{m} =\frac{N_{c} }{f_{c} } $$
(10)

From (9) and (10), the estimated stator frequency is obtained as

$$ \mathop{f}\limits^{\smallfrown} =\frac{f_{c} }{2N_{c} } $$
(11)

If the measurement period is reduced 1/K times before applying it to the sine-square wave converter, the measurement period and hence the estimated stator frequency will be

$$ t_{m} =\frac{1}{2Kf} $$
(12)
$$ \mathop{f}\limits^{\smallfrown}=\frac{f_{c} }{2KN_{c} } $$
(13)

Therefore the estimated stator frequency in rad/s which also represents the estimated synchronous speed will be

$$ {\mathop{\omega}\limits^{\smallfrown}}_{e} =2\pi {\mathop{f}\limits^{\smallfrown}} $$
(14)
Figure 3
figure 3

Stage 2: estimation of synchronous speed.

3.3 Detection of reversal of speed

The proposed open-loop speed estimator is based on real-time computation of synchronous speed. For this purpose the clock pulses N c spread over each measurement period are counted and than decoded. During the reversal of speed, the direction of stator field gets reversed. This effect is however not observable in the value of N c . At the time of reversal of induction motor, the phase sequence of stator currents get reversed and the space vector rotates in opposite direction. The orientation of this space vector can be continuously monitored in terms of its phase angle 𝜃 s to detect the reversal of stator mmf.

$$ \theta_{s} =\tan^{^{-1}}\left( {\frac{i_{qs}^{s}}{i_{ds}^{s}}} \right) $$
(15)

During the rotation of stator mmf in one direction, if there is a rise in the magnitude of 𝜃 s then during the reversal of stator mmf, there is a drop. This is demonstrated in figure 4. In the proposed estimator, these changes (rise and fall) in the magnitude of 𝜃 s are noted and converted into two corresponding direction flags D = ±1. They are then used mathematically to assign a direction to the synchronous speed estimate.

Figure 4
figure 4

Generation of direction flag corresponding to different phase sequences at different values of ω e .

3.4 Estimation of slip-speed

If L M is the magnetizing inductance, the slip speed can be obtained as

$$ \omega_{sl} =\frac{L_{M} i_{qs}^{e}}{T_{r} \lambda_{r} } $$
(16)

Since rotor flux λ r is usually constant, it means that \({\mathop{\omega }\limits ^{\smallfrown }}_{sl} \) can be obtained from the active stator current component \(i_{qs}^{e}\) in synchronously rotating reference frame (Bose 2002). The variation in rotor resistance during operating condition may affect the accuracy since rotor time constant is \(T_{r} =\frac {L_{r} }{r_{r} }\). However, as variation in rotor resistance r r is much less than the variation in stator resistance r s , it may have less effect (Vas 1998). For more accuracy, r r can be estimated simultaneously. Equation (16) requires monitoring of active stator current \(i_{qs}^{e}\) and can be obtained from the measured stator currents i a s , i b s i c s as

$$ i_{qs}^{e}=-i_{ds}^{s}\sin \theta_{e} +i_{qs}^{s}\cos \theta_{e} $$
(17)

The flux component current is

$$ i_{ds}^{e}=i_{ds}^{s}\cos \theta_{e} +i_{qs}^{s}\sin \theta_{e} $$
(18)

where

$$ i_{qs}^{s}=i_{as}\quad \text{and} \quad i_{ds}^{s}=-\frac{1}{\sqrt 3 }i_{bs} +\frac{1}{\sqrt 3 }i_{cs} $$
(19)

The unit vectors \(\cos \theta _{e} \) and \(\sin \theta _{e} \) are obtained from \({\mathop{\omega }\limits ^{\smallfrown }}_{e}\). \(i_{ds}^{s}\)and \(i_{qs}^{s}\) are the stator currents in stationary reference frame.

4 Minimization of error during incomplete measurement periods

The proposed method of estimating synchronous speed by counting the number of clock pulses spanning over each measurement period gives accurate results when the full span of π radians is available for the counting purpose. In some situations, this may not be possible because the change in stator frequency may also take place at such instant when the numbers of clock pulses of the measurement period belonging to the previous stator frequency were not fully counted. This leads to counting error. For example, let us consider two cases as shown in figure 5(a) and 5(b) respectively. In these examples, the unknown stator frequency is f = 50 Hz and the clock frequency is 10 kHz. The measurement period will be t m = 0.01 s. Suppose f undergoes a step change from 50 Hz to 30 Hz at some time say t 1. If t 1 = 0.1 s than, as seen in figure 5(a), measurement periods with their full span of π radians are available for counting on both sides of t 1 = 0.1 s. Before t 1, t m = 0.01 s and N c = 100 while after t 1, t m = 0.0167 s and N = 167 which correctly corresponds to stator frequencies equal to 50 Hz and 30 Hz respectively. However, if t 1 = 0.105 s than, as shown in figure 5(b), the measurement period available on earlier side of t 1 is only 0.005 s and therefore N c will be 50. By (11), the decoder will compute an incorrect estimate of 100 Hz instead of 50 Hz.

Figure 5
figure 5

Estimation error due to incomplete measurement period.

The above error can be minimized by performing four counting operations simultaneously; all of them being phase shifted from each other by π/2 radians. For this purpose, the positive and negative half cycles of \(i_{ds}^{s}\) and \(i_{qs}^{s}\)signals can be used as measurement periods. Superposition of four estimates shows that the aforesaid estimation error during incomplete measurement periods reduces substantially when the average of four estimates is treated as final. This is demonstrated in figure 6 where the stator frequency is given a step change from 50 Hz to 30 Hz at 0.12 s and from 30 Hz to 50 Hz at 0.2 s.

Figure 6
figure 6

Minimization of estimation error: (a) \(i_{ds}^{s}\), (b) \(i_{qs}^{s}\), (c)–(f) clock pulses during the four measurement periods resulting from positive and negative half cycles of \(i_{ds}^{s}\) and \(i_{qs}^{s}\), (g) Number of clock pulses N c during the four measurement periods and their average.

5 Simulation and experimental results

The proposed speed estimator is tested experimentally on a vector-controlled induction motor drive. A d-Space DS1104 board is used as a controller as well as for the implementation of the proposed speed estimator. The parameters of the induction motor are shown in Appendix I. The 2.2 kW induction motor is driven by a three-phase insulated gate bipolar transistor (IGBT) based PWM inverter. The proposed scheme and the experimental setup are shown in figure 7 and figure 8 respectively. The measurement system employs two LEM Hall effect transducers for stator voltages, two current transformers for stator currents and one signal conditioning circuit. The PWM inverter is built using an IPM- PM25RSB120. The motor is loaded by an adjustable mechanical load having a drum and spring-balance arrangement. The signal conditioning circuit is constructed using TL084 ICs and designed to have offset adjustment and gain adjustment features. The DS1104 system is installed in the 32-bit PCI slot of a Pentium PC and has a connector panel for connections between the board and external devices. The d-Space board has two DSPs in master–slave configuration. The master processor (a PowerPC 603e core, 64-bit, floating point unit running at 250 MHz) is responsible for all major operations while the slave processor (a Texas Instruments TMS320F240, 16-bit, fixed point unit running at 20 MHz) is dedicated to I/O communications. This board was programmed with MATLAB/Simulink software. It gave full access to the programming variables and allowed them to be visualized and modified. The implementation of the proposed estimator has been carried out using the fixed-step ode1(Euler) solver. Results have been obtained by means of user-friendly trace options of the controller board and a digital storage oscilloscope, saved on a standard PC for graphic post-processing. The data relative to the experimental setup is given in Appendix II. Different reference profiles have been applied to the proposed estimator to evaluate its characteristics at various speed levels, both at no-load and with applied load torques. The method has been tested by both simulation and experimental results. For simulation study, the MATLAB/Simulink software is used. A FOC controlled induction motor drive is simulated using the details given in Wade et al (1997).

Figure 7
figure 7

The proposed scheme of speed sensorless induction motor drive.

Figure 8
figure 8

The experimental setup.

The measured stator currents are converted into d s q s stationary reference frame and are the inputs to the estimator. The unit-vectors cos 𝜃 e and sin 𝜃 e are shown in figure 9. The stator currents in d s q s and in d e q e reference frames obtained for two different values of load torque are shown in figure 10.

Figure 9
figure 9

Stator currents and unit-vectors, X-axis-2ms/div: (A) \(i_{ds}^{s}\), 1 A/div, (B) \(i_{qs}^{s}\), 1A/div, (C) cos 𝜃 e , – 1 unit/div, (D) sin 𝜃 e , – 1 unit/div.

Figure 10
figure 10

Change in stator currents (expressed in d s q s and d e q e frames) when the load torque is reduced, X axis – 50 ms/div: (A) \(i_{qs}^{s}\), 5 A/div, (B) \(i_{ds}^{s}\), 5 A/div, (C) \(i_{qs}^{e}\), 5 A/div, (D) \(i_{ds}^{e}\), 5 A/div.

The simulation and experimental results of accelerations and deceleration at no load, with different intermediate speed levels of 0.2 p.u. (300 rpm), 0.4 p.u. (600 rpm), and 0.6 p.u. (900 rpm) are presented in figure 11(a) and (b). The speed ramp during acceleration is set to 300 rpm/s and during deceleration it is set to 600 rpm/s.

Figure 11
figure 11

(a) Simulation results showing the dynamic behavior during acceleration and deceleration at no-load with different speed levels, 2.5s/div. (b) Experimental results showing the dynamic behavior during acceleration and deceleration at no-load with different speed levels, X axis – 2.5s/div.: (A) Estimated synchronous speed, 0.2 pu/div, (B) Estimated rotor speed, 0.2 pu/div, (C) Estimated slip-speed, 0.5 pu/div.

In figure 12(a) and (b), the simulation and experimental results of the speed behavior during a load onset and detach, with the load torque values of 0%, 50%, 75% and again 0% of the rated load, and the reference speed held constant at its rated value are shown. The corresponding changes in the stator current are also shown in above diagrams. Verification of the proposed speed estimator on a FOC drive has allowed observing the performance at different loads.

Figure 12
figure 12

(a) Simulation results showing the speed behavior when 50% and 75% of rated load torque is applied at 1.0 p.u. stator frequency, 2.5s/div. (b) Experimental results showing the speed behavior when 50% and 75% of rated load torque is applied at 1.0 p.u. stator frequency, X axis-2.5s/div.: (A) Estimated slip-speed, 0.5 pu/div., (B) Estimated rotor speed, 0.5 pu/div, (C) Estimated synchronous speed, 0.5pu/div., (D)\( i_{qs}^{s}\), 10 A/div.

The similarity between simulation and experimental results proves the usefulness of proposed estimator. In comparison with the existing motor model based OLEs and the highly complex observers, the proposed open-loop speed estimator is clearly a better choice for the low-dynamics, low-cost applications.

6 Conclusion

A new open-loop speed estimation technique for speed-sensorless induction motor drives has been proposed and presented in detail. The synchronous speed is calculated from the estimated stator frequency while slip speed is obtained from the active component of stator current. The basic principle of the estimator along with its mathematical analysis is presented and the design aspects are discussed in detail. A non-adaptive analytical method for the reduction of measurement period which makes use of a pair of orthogonal sinusoidal waveforms is also proposed. This method is useful for estimating the unknown frequency in less than one-sixteenth of its time-period.

In the proposed OLE, flux computation is not required and therefore it is independent of machine parameters, hence yields a robust performance. It is free from derivative term and hence immune to noise. The proposed algorithm involves simple and less computations. The steady-state performance is accurate over a wide speed range including very low speeds close to zero. It works efficiently in both directions of rotor speed. The proposed method can be easily implemented on digital signal processors. The simulation and experimental results validate the effectiveness of proposed method at different operating conditions.