1.. Introduction
================

Practical control systems are susceptible to component malfunctions which may cause significant performance degradation and even instability of the system. The past two decades have therefore seen considerable research on Fault Tolerant Control (FTC). FTC systems are designed to allow recovery from damage and system faults. When it comes to electrical drives used in safety critical applications or industrial processes where system faults may lead to enormous costs, FTC systems are crucial \[[@b1-sensors-12-04031]\]. Stator, rotor and shaft faults together constitute up to 47% of recorded induction motor faults \[[@b2-sensors-12-04031]\].

Fourier Transform (FT) techniques, such as those using high resolution frequency estimation \[[@b3-sensors-12-04031]\] and signal demodulation \[[@b4-sensors-12-04031]\] have been applied to fault detection. The drawback of FT techniques is that they provide information only of the frequency domain, not the time domain \[[@b5-sensors-12-04031]\]. Also, Fourier Transform does not allow the use of current as a basis for fault detection, because the current through a faulty motor is non-stationary and contains minor transients \[[@b6-sensors-12-04031]\]. Artificial intelligence techniques have also been proposed \[[@b7-sensors-12-04031]--[@b9-sensors-12-04031]\]. A very promising avenue in motor fault detection is wavelet-based. Wavelets provide both time and frequency domain information. Chow *et al.* \[[@b10-sensors-12-04031]\] used a Gaussian-enveloped oscillation wavelet for fault detection, although they restricted their study to mechanical faults. A more extensive wavelet-based fault detection algorithm was used by Schmitt *et al.* \[[@b11-sensors-12-04031]\], with open winding faults, unbalanced voltage and unbalanced stator resistance taken into consideration. No hardware implementation was presented, however. Most recently, detection of stator winding shorts was presented in \[[@b12-sensors-12-04031]\]. The work focused only on one type of fault.

In this paper, a fault tolerant control strategy which deals with a wide range of induction motor faults is implemented. A vector control drive with an encoder is the dominant control scheme. In the event of an encoder fault, the system switches to sensorless vector control. If the stator winding is open circuited or shorted, a closed loop V/f controller takes over. If a minimum voltage fault occurs, the system goes to open loop V/f control. Even further deterioration activates a protection circuit which halts the motor. Faults are detected using a wavelet index.

The four different controllers ensure the effectiveness and availability of the control scheme. The wavelet index is shown to be an excellent fault indicator. Additionally, the system has the ability to revert back to the dominant controller if the motor resumes normal operation, thus ensuring its availability at all times. Moreover, the protection circuit requires no extra hardware, thus reducing the cost of the drive. Additionally, the sensorless vector control features a novel Boosted Model Reference Adaptive System (BMRAS) to estimate the speed that eliminates the need for a PI controller and thus of much tuning. The fault tolerant algorithm was executed initially through Matlab/Simulink and then was verified experimentally.

This paper is organized as follows. Section 2 describes the motor control strategies used in this work. The BMRAS controller is presented in Section 3. Section 4 explains the wavelet transform. The fault tolerant control strategy is described in Section 5. The experimental results are presented in Section 6. Finally, concluding remarks are given in Section 7.

2.. Control Strategies of the Induction Motor
=============================================

2.1.. Sensor Vector Control
---------------------------

Vector control decouples flux and torque currents so as to linearly control the output torque of a nonlinear induction motor. The three phases of voltage and current are transformed to two-phase dq axes. The dq frame rotates synchronously with the rotor flux space vector. The expression for torque in an induction motor is \[[@b13-sensors-12-04031]\]: $$T_{e} = \frac{3}{2}p\frac{L_{m}}{L_{r}}\left( {\Phi_{\textit{rd}}i_{\textit{sq}} - \Phi_{\textit{rq}}i_{\textit{sd}}} \right)$$

According to the orientation of [Figure 1](#f1-sensors-12-04031){ref-type="fig"}, Φ*~rq~* becomes zero. The new expression becomes: $$T_{e} = \frac{3}{2}p\frac{L_{m}}{L_{r}}\left( {\Phi_{\textit{rd}}i_{\textit{sq}}} \right)$$where *L~m~, L~r~, p, Φ~rd~, Φ~rq~, i~sd~, i~sq~* and *T~e~* are mutual inductance, rotor inductance, pole pairs, direct rotor flux and quadratic rotor components, direct stator current component, quadratic stator current component and electromangnatic torque, respectively.

As is clear from [Equation (2)](#FD2){ref-type="disp-formula"}, the motor torque can be controlled by controlling the quadrature component of stator current *i~sq~*.

Vector control with a sensor is the dominant controller in this work, due to its straightforward implementation. The following calculations are carried out in the vector control according to the Park transformation: $$\left\lbrack \begin{array}{l}
i_{\textit{qs}} \\
i_{\textit{ds}} \\
\end{array} \right\rbrack = \left\lbrack \begin{array}{ll}
{\mspace{7mu}\cos\varphi} & {\sin\varphi} \\
{- \sin\varphi} & {\cos\varphi} \\
\end{array} \right\rbrack\ \left\lbrack \begin{array}{l}
i_{Q} \\
i_{D} \\
\end{array} \right\rbrack$$

This operation can be illustrated in [Figure 2](#f2-sensors-12-04031){ref-type="fig"}.

dq to abc transformation is: $$\left\lbrack \begin{array}{l}
i_{\textit{as}} \\
i_{\textit{bs}} \\
i_{\textit{cs}} \\
\end{array} \right\rbrack = \left\lbrack \begin{array}{ll}
{\mspace{7mu} 1} & {\mspace{7mu} 0} \\
{- 0.5} & {- \sqrt{3}/2} \\
{- 0.5} & {- \sqrt{3}/2} \\
\end{array} \right\rbrack\ \left\lbrack \begin{array}{l}
i_{\textit{ds}} \\
i_{\textit{qs}} \\
\end{array} \right\rbrack$$

Therefore, the rotor flux and the torque can be independently controlled to obtain a linear current/torque relationship through the stator current in the *dq*-axis.

The Simulink model is shown in [Figure 3](#f3-sensors-12-04031){ref-type="fig"}.

2.2.. Sensorless Vector Control
-------------------------------

The encoder used for position and speed measurement may lead to problems. Faults such as loss of output information, offset, disturbances, measure deviation and channel mismatch may occur \[[@b14-sensors-12-04031]\]. Sensorless vector control of induction motor drives estimates position using an observer and eliminates the need for the speed sensor. It reduces hardware complexity, size, maintenance and ultimately cost. It also eliminates direct sensor wiring and has been shown to have better noise immunity and increased reliability \[[@b15-sensors-12-04031]\]. The Simulink implementation of sensorless vector control is shown in [Figure 4](#f4-sensors-12-04031){ref-type="fig"}.

2.3.. Volt to Frequency (V/f) Control
-------------------------------------

The V/f control is one of the most popular control techniques due to the following reasons: It is a simple algorithmThere is no need of current sensorsThere is no requirement of speed measurement

The following equations can explain the principle of V/f: $$\hat{V} \approx j\omega\hat{\Lambda}$$where *ω* and Λ̂ are the phasors of stator voltage and stator flux respectively: $$|\hat{V}| \approx |j\omega\hat{\Lambda}|$$ $$V \approx 2\pi f\Lambda$$ $$\Lambda = \frac{1}{2\pi f}V\ \textit{or}\Lambda = \frac{1}{2\pi}\frac{V}{f}$$

The stator flux remains constant if the ratio V/F remains constant despite the change in the frequency.

The stator flux in an induction motor is proportional to the ratio of applied voltage and supply frequency. Varying the frequency changes the speed. With the voltage to frequency maintained at the same ratio, flux and torque can be kept constant throughout the speed range. The speed is adjusted by varying frequency (*f*), maintaining V/f constant to avoid flux saturation as is shown in the following equations: $$E_{\textit{airgap}} = \textit{kf}\phi_{\textit{airgap}}$$

For constant air gap flux (*ϕ~airgap~*): $$E_{\textit{airgap}}/f \approx v/f$$

It is a much simpler control strategy than vector control and does not require high performance digital processing \[[@b16-sensors-12-04031]\], which makes it suitable as a backup control strategy in the event of faults. While it is generally implemented in open loop, a closed loop approach is also adopted for higher accuracy of the speed response. A PI controller regulates the slip speed of the motor to keep the motor speed at its set value.

3.. Boosted Model Reference Adaptive System (BMRAS)
===================================================

Model Reference Adaptive Systems (MRAS) are used to estimate quantities using a reference model and an adaptive model. The difference between the outputs of the two models drives an adaptive mechanism that provides the quantity that is to be estimated. Conventional MRAS use a simple fixed gain linear PI controller to generate the estimated rotor speed. This PI controller consumes time for tuning. In this work, the PI controller is replaced with a 'booster', which cuts down on tuning time while providing a good response. The booster is constructed using a rate limiter and zero order hold.

Taking the system shown in \[[@b17-sensors-12-04031]\], the reference model can be expressed in the following equations: $$p\lambda_{\textit{dr}} = L_{r}/L_{m}(v_{\textit{ds}} - R_{s}i_{\textit{ds}} - \sigma L_{s}di_{\textit{ds}}/dt)$$ $$p\lambda_{\textit{qr}} = L_{r}/L_{m}(v_{\textit{qs}} - R_{s}i_{\textit{qs}} - \sigma L_{s}di_{\textit{qs}}/dt)$$

The adaptive model can be expressed in the following equations: $$p\lambda_{\textit{qr}}^{\prime} = (L_{m}/T_{r})i_{\textit{qs}} - (L_{m}/T_{r})\lambda_{\textit{qr}}^{\prime} + \omega_{r}\prime\lambda_{\textit{dr}}^{\prime}$$ $$p\lambda_{\textit{dr}}^{\prime} = (L_{m}/T_{r})i_{\textit{ds}} - (L_{m}/T_{r})\lambda_{\textit{dr}}^{\prime} - \omega_{r}\prime\lambda_{\textit{qr}}^{\prime}$$ $$ɛ = \lambda_{\textit{qr}}\lambda_{\textit{dr}}^{\prime} - \lambda_{\textit{dr}}\lambda_{\textit{qr}}^{\prime}$$where *R~s~, L~s~, V~ds~, V~qs~, T~r~, w~r~* are stator resistance, stator inductance, direct component of stator voltage, quadratic component of stator voltage, rotor time constant and rotor speed, respectively.

The error between the reference and adaptive outputs, along with the reference speed (*N~ref~*) is passed to the booster block shown in [Figure 5](#f5-sensors-12-04031){ref-type="fig"}.

The initial condition of both signals is kept to zero. The rate limiter restricts the change of the signal passed to it by limiting the slope. The upper limit is called the rising slew parameter (*δ*) and the lower limit is the falling slew parameter (*γ*). The output of the rate limiter is calculated as follows: $$O_{o/p}(i) = \nabla t.\delta + N(t - 1)$$ $$O_{o/p}(i) = \nabla t.\gamma + N(t - 1)$$ $$O_{o/p}(i) = N(i)$$where *N* refers to the input to the rate limiter. The output is passed to a Zero Order Hold (ZOH) to generate continuous time input by holding each sample value constant over one sample period. The ZOH also acts as a hypothetical filter that gives a piece-wise signal as is demonstrated by the following equation: $$O_{\textit{ZOH}_{o/p}}(t) = \sum_{n = - \infty}^{\infty}{N_{\textit{in}}\lbrack n\rbrack.\textit{rect}}(\frac{t - \textit{nT}}{T} - \frac{1}{2})$$

Finally, the estimated speed is calculated as follows: $$\textit{spd\ est}(i) = N_{\textit{ref}}(i) - \omega_{\textit{Booster}}(i)$$

The BMRAS was tested in both simulation and experiments (The experimental setup is described in Section 6). [Figure 6](#f6-sensors-12-04031){ref-type="fig"} shows good tracking by the BMRAS of low speeds, high speeds and step changes in speed. There is no steady state error. The experimental results up to 1,600 rpm also show fast settling time and low steady state error (less than 30 rpm), as is seen in [Figure 7](#f7-sensors-12-04031){ref-type="fig"}.

The [Figure 6](#f6-sensors-12-04031){ref-type="fig"} shows the full speed simulation with long operation period. The serial communication interface output of the experimental result for 3.5 s is shown in [Figure7](#f7-sensors-12-04031){ref-type="fig"}.

According to the computer simulation and experimental results shown above, the system shows fast response with higher accuracy than the conventional MRAS in the literature \[[@b18-sensors-12-04031]\].

4.. Wavelet Index
=================

A wavelet is an orthogonal function that can be applied to a finite group of data \[[@b19-sensors-12-04031]\]. While Fourier analysis techniques have been used extensively for induction motor fault diagnosis, they require large amounts of data \[[@b5-sensors-12-04031]\]. Also, Fourier techniques inform us only about frequency components of signals, while wavelet transforms provide both time and frequency information. They are therefore more comprehensive and have wider ranging applications. Wavelet coefficients, at a first level of decomposition, are obtained from a signal by applying a mother wavelet, which represents a family of functions that need to satisfy a number of criteria. The mother wavelet, denoted by *ψ(t)*, must have a zero mean as shown in [Equation (21)](#FD21){ref-type="disp-formula"}: $$\int{\psi(\omega) = 0}$$

It must also have a square norm of one, as is seen in [Euqation (22)](#FD22){ref-type="disp-formula"}: $${|\psi(\omega)|}^{2} = 1$$

A general equation of the mother wavelet, shown in [Equation (23)](#FD23){ref-type="disp-formula"}, that shows the family of wavelets it represents, can be shown by adding a translation and scaling factor *a* and *b*, respectively: $$\omega_{a,b}(t) = {|a|}^{- 1/2}\psi(\frac{t - b}{a})$$

Wavelet coefficients are obtained using a low pass filter to obtain what is called an 'approximation' signal, while a high pass filter provides 'details'. The approximation signal is progressively decomposed into further approximations and details, till a desired level of decompositions is obtained \[[@b11-sensors-12-04031]\]. In this work, changes in the waveform of stator current are used as the basis for detecting faults. The current signal is passed through the wavelet transform. For every detail obtained from the high pass filter, the energy is calculated by adding the squared coefficients of the details and the final approximation. The maximum energy serves as the most effective piece of information to determine the wavelet index. The index is calculated according to [Equation (24)](#FD24){ref-type="disp-formula"}: $$W_{\textit{indx}} = \textit{abs}(\textit{energy\ of\ selected\ level})/\textit{average}(\textit{energy}(\textit{Ia}))$$

The energy is calculated according to [Equation (25)](#FD25){ref-type="disp-formula"}: $$\textit{energy\ of\ selected\ level} = {\int{d8}^{2}\textit{dt}}$$where d8 refers to the 8th decomposition detailed frequency and information about the stator current status obtained from the high pass filter.

A Daubechies wavelet (db10) is the mother wavelet function using which the wavelet index is generated. The Simulink implementation is shown in [Figure 8](#f8-sensors-12-04031){ref-type="fig"}.

The wavelet decomposition levels used in [Equation (24)](#FD24){ref-type="disp-formula"} was performed according to the following criteria: $$W_{\textit{decomp}} = \frac{\log(f_{s}/f)}{\log(2)} \pm 1$$where *f~s~* is the sampling frequency (20 kHz) and *f* is source frequency.

The optimal levels of decomposition are gauged through the optimum mother wavelet. The Shannon entropy orientates the route in the selection of this optimal level by determining the entropy of each original (parent) subspace of the (DWT) and also views it in comparison to its new (children) subspace.

5.. Fault Tolerant Control
==========================

Fault tolerant control is indispensable, especially taking into consideration the formidable costs of unplanned stops in industrial system operations. The mechanism to switch between controllers in the event of fault and the overall fault tolerant control scheme used in this work is shown in [Figures 9](#f9-sensors-12-04031){ref-type="fig"} and [10](#f10-sensors-12-04031){ref-type="fig"}, respectively.

In the [Figure 9](#f9-sensors-12-04031){ref-type="fig"}, the trip is a binary indication of fault and is either 0 or 1. The control signal determines the type of fault and SVM seen in the figure. [Figure 10](#f10-sensors-12-04031){ref-type="fig"} shows the flow of the SVM signal.

In this work, four control strategies are used. In normal operation, sensor vector control runs the drive. When an encoder fault occurs, sensorless vector control takes over. An open circuit in the stator winding or a short reverts the system to closed loop V/f control. V/F controlled drives are very reliable due to the restriction to low dynamic performance and the absence of closed loop control, while a minimum voltage fault enables open loop V/f control to maintain acceptable level of operation due to the degradation of the system performance and the difficulties of keeping good performance with the closed loop.

If a slight noise is wrongly interpreted as a fault, the system quickly reverts back to sensor vector control. Finally, the protection circuit is enabled in the event that two or more faults occur at once. Digital motor control blocks (DMC) are used to simulate the proposed algorithm due to their easy compilation from Simulink/Matlab to C++ or C through the Texas Instruments F28335 DSP. The Simulink model is shown in [Figure 11](#f11-sensors-12-04031){ref-type="fig"}.

6.. Experimental Results
========================

Experimental setup of the induction motor drive is based on the TMS320F28335 DSP. The induction motor parameters are listed in [Table 1](#t1-sensors-12-04031){ref-type="table"}.

The hardware scheme is depicted in [Figure 12](#f12-sensors-12-04031){ref-type="fig"} and shown in picture in [Figures 13](#f13-sensors-12-04031){ref-type="fig"} and [14](#f14-sensors-12-04031){ref-type="fig"}.

6.1.. Performance under Healthy Operation
-----------------------------------------

The wavelet decompositions of stator current in the healthy induction motor are shown in [Figure 15](#f15-sensors-12-04031){ref-type="fig"}. The lack of any heavy perturbation shows that the motor is healthy (faultless). The small perturbation is negligible and is simply because of the high sensitivity of the wavelet which we actually use to our advantage. The experimental and simulation wavelet indices are compared in [Figure16](#f16-sensors-12-04031){ref-type="fig"}.

The amplitude of the wavelet index for healthy operation, as seen in [Figure 16](#f16-sensors-12-04031){ref-type="fig"}, is 1.4. The crossing of this threshold is an indication of a fault.

The monitoring of the system parameters can be obtained through a serial communication cable between the DSP and the PC using SCI transmit and receive blocks as is shown in [Figure 17](#f17-sensors-12-04031){ref-type="fig"}.

To demonstrate the effectiveness of the fault tolerant algorithm, three faults are investigated: Short and open circuits in the stator winding and sensor faults. At each fault, the appropriate wavelet index is calculated, as is demonstrated in the following sections.

6.2.. Stator Winding Short
--------------------------

To simulate this fault, the stator resistance was decreased 10 times in steps of 0.1 Ω. The motor has a delta connection. The variable resistance serves to reduce the stator resistance according to the equation for equivalent resistance of two parallel resistors. For each shunt resistance value, the mean wavelet index is calculated. The wavelet decomposition details are shown in [Figure 18](#f18-sensors-12-04031){ref-type="fig"}.

Experimental responses of the drive at 450 rpm, 900 rpm and 1,600 rpm were obtained with this fault. At each speed, the wavelet index was recorded and compared to the simulation results as is detailed below:

### 6.2.1.. At 450 rpm

The first test was with a speed of 450 rpm. The wavelet index comparison between experimental and simulation results at this speed is listed in [Table 2](#t2-sensors-12-04031){ref-type="table"}. It shows the amplitude of the wavelet index increases to 1.5 due to the winding short introduced.

### 6.2.2.. At 900 rpm

The second test is with a maximum speed of 900 rpm. As its clear from [Table 2](#t2-sensors-12-04031){ref-type="table"}, the wavelet index increases to 1.8 for the winding short at 900 rpm.

### 6.2.3.. For 1,600 rpm

The wavelet index lies between 1.8 and 2 for a stator winding short at 1,600 rpm as is seen in [Table 2](#t2-sensors-12-04031){ref-type="table"}. The data shows a slight difference between the wavelet indices for the different speeds. The reason for that is the distortion in the stator current waveform in the experimental test.

6.3.. Stator Winding Open Circuit
---------------------------------

To introduce the open circuit fault, the stator resistance was increased 10 times the original (20 Ω) in steps of 2 Ω. The wavelet decomposition of the faulty stator current is shown in [Figure 19](#f19-sensors-12-04031){ref-type="fig"}.

The wavelet index was recorded to be 1.5 for 450 rpm, between 1.2 and 1.6 for 900 rpm and 1.8 at 1,600 rpm as is shown in [Figures 20](#f20-sensors-12-04031){ref-type="fig"}, [21](#f21-sensors-12-04031){ref-type="fig"} and [22](#f22-sensors-12-04031){ref-type="fig"}, respectively.

6.4.. Encoder Faults
--------------------

Two types of speed sensor (encoder) faults are presented in this work. The first is complete speed sensor failure as is depicted in [Figure 23](#f23-sensors-12-04031){ref-type="fig"}. To introduce complete speed sensor failure the cables of the encoder channels A, B and index I were disconnected. The blue line is the encoder output (zero) when it fails. The red line is the rotor position estimated with the BMRAS, as the system switches to sensorless operation when the sensor fault is detected.

The second type of sensor fault was a partial sensing error in the position, which was created by introducing noise in the encoder LED. The encoder output in [Figure 24](#f24-sensors-12-04031){ref-type="fig"} depicts this fault.

The fault tolerant algorithm was tested with these faults at different speeds. Before starting the induction motor, the cables of the encoder channels were disconnected. As is seen in [Figure 25](#f25-sensors-12-04031){ref-type="fig"}, the encoder fault is introduced at the 1000th iteration (3 s), at which point the system switches from sensor vector control to sensorless vector control. At 5 s a stator short winding fault is introduced and the system switches to closed loop V/f control. At 10 s, a compound fault (both stator winding open and short circuits simultaneously) is introduced which activates the protection unit and brings the motor to a halt. The protection unit is part of the software program and requires no extra hardware.

The recovery from a fault occurs rapidly and the transition from one control scheme to the other is seen to be smooth. The performance does not degrade considerably even as the control strategy changes.

The flexibility of the control strategy is depicted in [Figure 26](#f26-sensors-12-04031){ref-type="fig"}. The operation is started with an encoder fault. At the 550th iteration (1.5 s), the system returns to a healthy state. The system reverts back to sensor vector control with minimal recovery time. When a minimum voltage fault occurs at the 3,000th iteration, open loop V/f takes over. The general flow chart of the wavelet based fault tolerant control algorithm can be seen in [Figure 27](#f27-sensors-12-04031){ref-type="fig"} (some parts of the flowchart are not included in this paper).

7.. Conclusions
===============

A fault tolerant control system incorporating (sensor and sensorless) vector control and (closed loop and open loop) V/f control has been presented. The wavelet index used for fault detection has been shown to be both fast and effective. The index detected complete sensor failures, partial sensor errors, stator winding shorts and open circuits and compound faults. The transitions from one controller to the other were both quick and smooth. The threshold of the WI is set according to the amplitude of the stator current, which differs for every fault.

The Boosted Model Reference Adaptive System (BMRAS) used in sensorless vector control was shown to be effective for rotor speed estimation. It saved time otherwise consumed in tuning the conventional PI controller, while maintaining excellent performance.

The system has been shown to be flexible, in that if a fault is removed and the system returns to a healthy state, the drive reverts back to the dominant sensor vector control. The protection unit was implemented successfully, not requiring additional hardware and thus saving cost.

Future work may consider adding strategies such as Direct Torque Control (DTC) to the control scheme. Additionally, a thorough analysis of the switching mechanism, such as time delays, would be useful. The inclusion of prognostic mechanisms, for an early prediction of faults before they occur, is also a very good prospect.

The authors acknowledge the financial support of the University of Malaya, Provision of High Impact Research, Grant No. D000022-16601, Hybrid Solar Energy Research Suitable for Rural Electrification.

![Reference frame for vector control.](sensors-12-04031f1){#f1-sensors-12-04031}

![Park transformation principle.](sensors-12-04031f2){#f2-sensors-12-04031}

![Simulink implementation of sensor vector control.](sensors-12-04031f3){#f3-sensors-12-04031}

![Simulink implementation of sensorless vector controller.](sensors-12-04031f4){#f4-sensors-12-04031}

![Simulink implementation BMRAS.](sensors-12-04031f5){#f5-sensors-12-04031}

![Simulation results of the speed tracking by the BMRAS.](sensors-12-04031f6){#f6-sensors-12-04031}

![Experimental results of the speed tracking by the BMRAS.](sensors-12-04031f7){#f7-sensors-12-04031}

![Simulink wavelet index implementation.](sensors-12-04031f8){#f8-sensors-12-04031}

![Switching mechanism between the controllers.](sensors-12-04031f9){#f9-sensors-12-04031}

![Fault tolerant control algorithm.](sensors-12-04031f10){#f10-sensors-12-04031}

![Simulink model of FTC system.](sensors-12-04031f11){#f11-sensors-12-04031}

![Hardware implementation scheme.](sensors-12-04031f12){#f12-sensors-12-04031}

![Circuits of the induction motor drive.](sensors-12-04031f13){#f13-sensors-12-04031}

![Induction motor setup.](sensors-12-04031f14){#f14-sensors-12-04031}

![Wavelet decomposition in healthy motor.](sensors-12-04031f15){#f15-sensors-12-04031}

![Experimental (red) and simulation comparison of the healthy I.M wavelet index.](sensors-12-04031f16){#f16-sensors-12-04031}

![Serial communication Interface to show the experimental output.](sensors-12-04031f17){#f17-sensors-12-04031}

![Wavelet decomposition.](sensors-12-04031f18){#f18-sensors-12-04031}

![Wavelet decomposition Rs = 200 Ω.](sensors-12-04031f19){#f19-sensors-12-04031}

![Experimental and simulation Wavelet index Ohm at 450 rpm.](sensors-12-04031f20){#f20-sensors-12-04031}

![Experimental and simulation wavelet index for series Rs (2--200) Ohm at 900 rpm.](sensors-12-04031f21){#f21-sensors-12-04031}

![Wavelet index for series Rs (2--200) Ohm at 1,600 rpm.](sensors-12-04031f22){#f22-sensors-12-04031}

![Experimental rotor position: Complete sensor failure.](sensors-12-04031f23){#f23-sensors-12-04031}

![Experimental rotor position with partial sensing error.](sensors-12-04031f24){#f24-sensors-12-04031}

![Experimental speed transition with different controllers.](sensors-12-04031f25){#f25-sensors-12-04031}

![Control system recovery.](sensors-12-04031f26){#f26-sensors-12-04031}

![Expanded flow chart of the work.](sensors-12-04031f27){#f27-sensors-12-04031}

###### 

Induction motor parameters.

  **Motor spec.**     **Value**
  ------------------- ---------------
  Power               1 kW
  Current             2.5 A
  Voltage (delta)     400 V
  Rated Speed         2,780 rpm
  No. of poles        2
  Moment of Inertia   2.4e−4 kgm^2^
  Stator Resistance   20.9 ohm
  Rotor Resistance    19.5 ohm
  Stator Inductance   50e−3 Henry
  Rotor Inductance    50e−3 Henry

###### 

Wavelet index (WI) for shunt Rs (0.1--2) for different speeds.

  **R~sh~(Ω)**   **WI at 450 rpm**   **WI at 900 rpm**   **WI at 900 rpm**                 
  -------------- ------------------- ------------------- ------------------- ------ ------ ------
  0.10           1.10                1.00                1.78                1.76   1.80   1.70
  0.20           1.40                1.40                1.80                1.80   1.81   1.72
  0.40           1.43                1.42                1.80                1.80   1.85   1.76
  0.80           1.43                1.42                1.82                1.80   1.90   1.88
  1.60           1.50                1.50                1.84                1.86   1.92   1.91
  1.80           1.50                1.50                1.84                1.88   1.95   1.93
  2.00           1.50                1.50                1.84                1.90   2.00   1.96
