**Part 4**

**Motor Applications** 

338 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Frivaldský, M. Drgoňa, P. Špánik, P. (2009). Optimization of transistor´s hard switched

ISBN 953-6037-55-1, Dubrovnik Croatia, October 2009

commutation mode in high – power, high frequency application, *Proceedings of 15th International Conference on ELECTRICAL DRIVES and POWER ELECTRONICS*,

**14** 

*University of Malaya* 

*Malaysia* 

**Wavelet Fault Diagnosis of Induction Motor** 

The early 1980s saw the emergence of wavelets, an analysis tool that drew a lot of attention from scientists of various disciplines, mathematicians in particular, due to its promising

The roots of wavelet techniques go back to 1807, when Joseph Fourier presented his theories of frequency analysis. By the 1930s, investigations were being carried out on scale-varying basis functions that would conserve energy in the computation of functional energy. Between 1960 and 1980, Guido Weiss and Ronald R. Coifman studied the reconstruction of functional elements using 'atoms'. Later, Grossman and Morlet would provide a quantum physics definition of wavelets. Stephane Mallat made an important contribution to the development of wavelets through his work in digital signal processing in 1985. The first non-trivial, continuously differentiable wavelets were created by Y.Meyer. Not long after, Ingrid Daubechies constructed a set of orthonormal basis functions that form the foundation

The present demand in the industry is for high performance electric drives that are capable of achieving speed commands accurately. Control methods have had to reach higher levels of sophistication accordingly. Induction motors, with their advantages in terms of size, cost and efficiency, are best suited to meet these growing needs (Khalaf Salloum Gaeid&Hew

In costly systems, maintenance and protection are especially essential in the prevention of system breakdowns and catastrophes. Thanks to advances in signal processing technology, it is now possible to utilize wavelet principles to efficiently diagnose and protect industrial

Motor Current Signature Analysis (MCSA) of the stator current with wavelet to detect the fault in a broken rotor bar in the transient region was done by (Douglas et al, 2003).The analysis of the sensorless control system of induction motor with a broken rotor for diagnostics using wavelet techniques has been presented by (Bogalecka et al, 2009). (Zhang et al, 2007), used the empirical model decomposition(EMD) which deals with nonlinear systems to detect the broken rotor bar using wavelet discrete transform (WDT).(Cao Zhitong et al, 2001), used the multi resolution wavelet analysis (MRA) method to detect broken rotor bars according to the analysis of stator current. The signal was filtered, differentiated and then supplied to the Daubechies wavelet with 5 levels. (Faiz, Ebrahimi et al, 2007) presented a novel criterion to detect the broken rotor bar using time stepping finite element (TSFE) to model the broken bar faults in induction motor. (Yang et al, 2007), presented a novel method to detect the rotor broken bar using Ridge wavelet. In this paper, only one phase of the

of modern day wavelet applications (Nirmesh Yadav et al, 2004).

**1. Introduction** 

Wooi Ping, 2010).

induction motors.

applications.

Khalaf Salloum Gaeid and Hew Wooi Ping

## **Wavelet Fault Diagnosis of Induction Motor**

Khalaf Salloum Gaeid and Hew Wooi Ping

*University of Malaya Malaysia* 

#### **1. Introduction**

The early 1980s saw the emergence of wavelets, an analysis tool that drew a lot of attention from scientists of various disciplines, mathematicians in particular, due to its promising applications.

The roots of wavelet techniques go back to 1807, when Joseph Fourier presented his theories of frequency analysis. By the 1930s, investigations were being carried out on scale-varying basis functions that would conserve energy in the computation of functional energy. Between 1960 and 1980, Guido Weiss and Ronald R. Coifman studied the reconstruction of functional elements using 'atoms'. Later, Grossman and Morlet would provide a quantum physics definition of wavelets. Stephane Mallat made an important contribution to the development of wavelets through his work in digital signal processing in 1985. The first non-trivial, continuously differentiable wavelets were created by Y.Meyer. Not long after, Ingrid Daubechies constructed a set of orthonormal basis functions that form the foundation of modern day wavelet applications (Nirmesh Yadav et al, 2004).

The present demand in the industry is for high performance electric drives that are capable of achieving speed commands accurately. Control methods have had to reach higher levels of sophistication accordingly. Induction motors, with their advantages in terms of size, cost and efficiency, are best suited to meet these growing needs (Khalaf Salloum Gaeid&Hew Wooi Ping, 2010).

In costly systems, maintenance and protection are especially essential in the prevention of system breakdowns and catastrophes. Thanks to advances in signal processing technology, it is now possible to utilize wavelet principles to efficiently diagnose and protect industrial induction motors.

Motor Current Signature Analysis (MCSA) of the stator current with wavelet to detect the fault in a broken rotor bar in the transient region was done by (Douglas et al, 2003).The analysis of the sensorless control system of induction motor with a broken rotor for diagnostics using wavelet techniques has been presented by (Bogalecka et al, 2009). (Zhang et al, 2007), used the empirical model decomposition(EMD) which deals with nonlinear systems to detect the broken rotor bar using wavelet discrete transform (WDT).(Cao Zhitong et al, 2001), used the multi resolution wavelet analysis (MRA) method to detect broken rotor bars according to the analysis of stator current. The signal was filtered, differentiated and then supplied to the Daubechies wavelet with 5 levels. (Faiz, Ebrahimi et al, 2007) presented a novel criterion to detect the broken rotor bar using time stepping finite element (TSFE) to model the broken bar faults in induction motor. (Yang et al, 2007), presented a novel method to detect the rotor broken bar using Ridge wavelet. In this paper, only one phase of the

Wavelet Fault Diagnosis of Induction Motor 343

it is applied to the stator current space vector to obtain the different broken bar fault

Eigen vector as a fault indicator of stator inter turn short circuit using the Eigen vector and an energy Eigen value which contain the necessary information of the electromagnetic

The finite element (FE) modelling of the internal faults of an induction motor. They solved the equation by the time stepping approach of a broken bar and stator shorted turns using db10 wavelet for both sinusoidal and non-sinusoidal cases has been used by (Mohammed et

Software diagnosis of short inter turn circuit and open circuit of the stator winding as an incipient fault was performed by (Ponci et al, 2007) to avoid any hardware cost and

The MCSA technique and a wavelet to detect faults but performed the stator teeth harmonic variation using dq0 components instead of stator currents (Iabc)was done by (Cusido et al, 2006). (Gang Niu et al, 2008) employed Bayesian belief fusion and multi agent fusion as a classifier tool to detect different faulty collected data using the signal processing techniques for smoothing and then used DWT to decompose the signals into different ranges of

Detection and diagnosis for rotor asymmetries in the induction motor based on the analysis of the stator start-up current has been done by (M. Riera-Guaspa et al, 2009). The authors extracted the harmonic component introduced by this fault. The left sideband component from the stator startup current, digital low-pass filtering (DLPF) and (DWT) are used in this technique. (C. Combastel et al, 2002) presented a comparison between model-based and signal-based approaches in the fault detection of the induction motor. The electrical variables are described according to the Park transformation model. Broken rotor and stator winding failures were investigated and the parameter variations due to heating were taken into account. (S. Radhika et al, 2010), in her MCSA-based fault diagnosis, classified WT extracted features using a Support Vector Machine (SVM). (Chen & Loparo, 1998) proposed the computation of a fault index for the stator winding faults. (Khan& Rahman, 2006) used

The continuous wavelet is a part of the wavelet used to detect faults especially when the overlapping between the frequency supply signal and the adjacent signal cannot be recognized. The work presented by (Ayaz et al, 2006) involved the use of six accelerometers that measured the vibration data of 5 kW and were put in independent places around the

A new technique for detecting and diagnosing faults in both stator and rotor windings using wound rotor induction motor was presented by (Saleh et al, 2005). This technique is based on a wavelet transform multi resolution analysis (WTMRA). (Cusido et al, 2007) presented both continuous and discrete wavelet to detect many mechanical and electrical induction motor faults using MCSA. (Sayed-Ahmed et al, 2007) studied the inter-turn short circuit in one phase of a stator winding of an induction motor energized from a vector

The induction motor requires a variable frequency three phase source for variable speed operation. One can realize this source by using a power converter system consisting of a

In some control schemes where a three phase, variable frequency current source is required, current control loops are added to force the motor currents to follow an input reference.

difficulty using wavelet decomposition for different values of stator resistance.

severities and load levels.

frequency.

al, 2006& Mohammed et al, 2007).

two DWT to detect and classify the faults.

motor to detect the bearing damage.

rectifier connected to an inverter through a DC link.

controlled drive.

torque signal was presented by (Liu & Huang, 2005).

stator currents was shown to be enough to extract the characteristics of the frequency component of broken bar.(Pons-Llinares et al, 2009), presented a new method to detect a broken bar in the transient region using time motor current signature analysis (TMCSA) via frequency B-Splines. (Pineda-Sanchez et al, 2010), used fractional Fourier transform as a spectral analysis tool with the TMCSA to detect the rotor broken bar. The single mean square of discrete wavelet function computation measures whether the status of the broken rotor bar of the induction motor is healthy or faulty, using Field Programmable Gate Array(FPGA). A novelty to the weighting function was introduced by (Ordaz Moreno et al, 2008). (Abbas zadeh et al, 2001) presented a novel approach to detect the broken bar fault in squirrel cage induction motors. Two 3 HP induction motors with cast aluminum rotor bars were employed for this experiment. (Cabal-Yepez et al, 2009), used FPGA to detect a number of faults in the squirrel cage such as unbalance, faulty bearing and broken bars using parallel combination of fused fast Fourier transform(FFT) and wavelet. (J.Antonino-Daviu et al, 2009) ,presented new techniques for the detection of broken bars using high order discrete wavelet (db40) and compared it with classical methods such as the Fourier transform. To remedy the shortcomings of the FFT, (Cusido, Rosero et al, 2006) introduced spectral density on the wavelet to detect many faults in the induction motor for different load conditions (7% and 10%).A few issues were seen to feature in the use of the MCSA method for fault detection, especially when the load torque was varied. (Cusido et al, 2007& Cusido et al, 2010) presented an online system for fault detection using many wavelets like the Mexican Hat, Morlet and the Agnsis mother wavelet to detect broken bar faults.

The drawbacks of using FFT, like corrupted frequency components,the noises or other phenomena such as load torque fluctuations or supply voltage oscillations (J. Pons-Llinares et al , 2010), have been investigated by many authors for detection of broken rotor bars. The Daubechies (db) is commonly employed as the mother function to avoid low level overlapping with adjacent bands.

A 0.1 Hz resolution to detect faults in an induction motor using a combination of wavelets and power spectral density was obtained by (Hamidi et al, 2004).

The fault detection in the transient region for a broken rotor bar using the instantaneous power FFT as a medium for fault detection was presented by (Douglas, H& Pillay, P, 2005). A wavelet was used to decompose the residual stator current after filtering the noise using a Notch filter.

The wavelet indicator for detecting the broken rotor bars by calculating the absolute values of the summed coefficients in the third pattern which were normalized against the summation of the wavelet coefficient, the number of scales, and the number of samples used was presented by (Supangat et al, 2006& Supangat et al,2007).

The V/F control to detect a broken rotor bar in the induction motor was made according to the probability distribution of different operation statuses of healthy and faulty motors used by (Samsi et al, 2006). In this paper, the difference in entropy was used as a measurement indication of fault.

DWT to detect the broken rotor bar in the transient region using the slip dependant fault component according to the energy ratio of the current signal to the wavelet signal was done by Riera-Guasp et al, 2008).

The detection of the broken rotor bar fault using optimized DWT and FFT in the steady state was proposed by (J. Antonino et al, 2006). (Kia et al,2009) presented a discrete wavelet transform (DWT) for broken bar detection and diagnosis faults in induction machines in which an energy test of bandwidth with time domain analysis is performed first, after which

stator currents was shown to be enough to extract the characteristics of the frequency component of broken bar.(Pons-Llinares et al, 2009), presented a new method to detect a broken bar in the transient region using time motor current signature analysis (TMCSA) via frequency B-Splines. (Pineda-Sanchez et al, 2010), used fractional Fourier transform as a spectral analysis tool with the TMCSA to detect the rotor broken bar. The single mean square of discrete wavelet function computation measures whether the status of the broken rotor bar of the induction motor is healthy or faulty, using Field Programmable Gate Array(FPGA). A novelty to the weighting function was introduced by (Ordaz Moreno et al, 2008). (Abbas zadeh et al, 2001) presented a novel approach to detect the broken bar fault in squirrel cage induction motors. Two 3 HP induction motors with cast aluminum rotor bars were employed for this experiment. (Cabal-Yepez et al, 2009), used FPGA to detect a number of faults in the squirrel cage such as unbalance, faulty bearing and broken bars using parallel combination of fused fast Fourier transform(FFT) and wavelet. (J.Antonino-Daviu et al, 2009) ,presented new techniques for the detection of broken bars using high order discrete wavelet (db40) and compared it with classical methods such as the Fourier transform. To remedy the shortcomings of the FFT, (Cusido, Rosero et al, 2006) introduced spectral density on the wavelet to detect many faults in the induction motor for different load conditions (7% and 10%).A few issues were seen to feature in the use of the MCSA method for fault detection, especially when the load torque was varied. (Cusido et al, 2007& Cusido et al, 2010) presented an online system for fault detection using many wavelets like

the Mexican Hat, Morlet and the Agnsis mother wavelet to detect broken bar faults.

and power spectral density was obtained by (Hamidi et al, 2004).

was presented by (Supangat et al, 2006& Supangat et al,2007).

overlapping with adjacent bands.

Notch filter.

indication of fault.

done by Riera-Guasp et al, 2008).

The drawbacks of using FFT, like corrupted frequency components,the noises or other phenomena such as load torque fluctuations or supply voltage oscillations (J. Pons-Llinares et al , 2010), have been investigated by many authors for detection of broken rotor bars. The Daubechies (db) is commonly employed as the mother function to avoid low level

A 0.1 Hz resolution to detect faults in an induction motor using a combination of wavelets

The fault detection in the transient region for a broken rotor bar using the instantaneous power FFT as a medium for fault detection was presented by (Douglas, H& Pillay, P, 2005). A wavelet was used to decompose the residual stator current after filtering the noise using a

The wavelet indicator for detecting the broken rotor bars by calculating the absolute values of the summed coefficients in the third pattern which were normalized against the summation of the wavelet coefficient, the number of scales, and the number of samples used

The V/F control to detect a broken rotor bar in the induction motor was made according to the probability distribution of different operation statuses of healthy and faulty motors used by (Samsi et al, 2006). In this paper, the difference in entropy was used as a measurement

DWT to detect the broken rotor bar in the transient region using the slip dependant fault component according to the energy ratio of the current signal to the wavelet signal was

The detection of the broken rotor bar fault using optimized DWT and FFT in the steady state was proposed by (J. Antonino et al, 2006). (Kia et al,2009) presented a discrete wavelet transform (DWT) for broken bar detection and diagnosis faults in induction machines in which an energy test of bandwidth with time domain analysis is performed first, after which it is applied to the stator current space vector to obtain the different broken bar fault severities and load levels.

Eigen vector as a fault indicator of stator inter turn short circuit using the Eigen vector and an energy Eigen value which contain the necessary information of the electromagnetic torque signal was presented by (Liu & Huang, 2005).

The finite element (FE) modelling of the internal faults of an induction motor. They solved the equation by the time stepping approach of a broken bar and stator shorted turns using db10 wavelet for both sinusoidal and non-sinusoidal cases has been used by (Mohammed et al, 2006& Mohammed et al, 2007).

Software diagnosis of short inter turn circuit and open circuit of the stator winding as an incipient fault was performed by (Ponci et al, 2007) to avoid any hardware cost and difficulty using wavelet decomposition for different values of stator resistance.

The MCSA technique and a wavelet to detect faults but performed the stator teeth harmonic variation using dq0 components instead of stator currents (Iabc)was done by (Cusido et al, 2006). (Gang Niu et al, 2008) employed Bayesian belief fusion and multi agent fusion as a classifier tool to detect different faulty collected data using the signal processing techniques for smoothing and then used DWT to decompose the signals into different ranges of frequency.

Detection and diagnosis for rotor asymmetries in the induction motor based on the analysis of the stator start-up current has been done by (M. Riera-Guaspa et al, 2009). The authors extracted the harmonic component introduced by this fault. The left sideband component from the stator startup current, digital low-pass filtering (DLPF) and (DWT) are used in this technique. (C. Combastel et al, 2002) presented a comparison between model-based and signal-based approaches in the fault detection of the induction motor. The electrical variables are described according to the Park transformation model. Broken rotor and stator winding failures were investigated and the parameter variations due to heating were taken into account. (S. Radhika et al, 2010), in her MCSA-based fault diagnosis, classified WT extracted features using a Support Vector Machine (SVM). (Chen & Loparo, 1998) proposed the computation of a fault index for the stator winding faults. (Khan& Rahman, 2006) used two DWT to detect and classify the faults.

The continuous wavelet is a part of the wavelet used to detect faults especially when the overlapping between the frequency supply signal and the adjacent signal cannot be recognized. The work presented by (Ayaz et al, 2006) involved the use of six accelerometers that measured the vibration data of 5 kW and were put in independent places around the motor to detect the bearing damage.

A new technique for detecting and diagnosing faults in both stator and rotor windings using wound rotor induction motor was presented by (Saleh et al, 2005). This technique is based on a wavelet transform multi resolution analysis (WTMRA). (Cusido et al, 2007) presented both continuous and discrete wavelet to detect many mechanical and electrical induction motor faults using MCSA. (Sayed-Ahmed et al, 2007) studied the inter-turn short circuit in one phase of a stator winding of an induction motor energized from a vector controlled drive.

The induction motor requires a variable frequency three phase source for variable speed operation. One can realize this source by using a power converter system consisting of a rectifier connected to an inverter through a DC link.

In some control schemes where a three phase, variable frequency current source is required, current control loops are added to force the motor currents to follow an input reference.

Wavelet Fault Diagnosis of Induction Motor 345

0.5 3 / 2 0.5 3 / 2

Accordingly, the rotor flux and the torque can be controlled individually through the stator current in the dq-axis so that the induction motor is transformed to a linear current and

Vector control was invented by Hasse in 1969 and by Blaschke in 1972 when they demonstrated that an induction motor can be controlled like a separately excited dc motor.

Vector control of the squirrel cage induction motor is considered a fast response and high performance method to achieve variable speeds using a variable frequency source as shown

In the vector control method, the induction motor can be operated like a separately excited

To achieve better performance, numerous speed closed loop systems have been improved. However, desired drive specifications still cannot be perfectly satisfied and/or their

algorithms are too complex (J.L. Silva Neto&Hoang Le-Huy, 1996) as shown in Fig.2.

*qs ds*

(9)

*i i* 

1 0

 =− − − −

*as bs cs*

This brought a renaissance in the high performance control of AC drives.

*i i i*

**3. Vector control of the induction motor** 

d-q to abc transformation is:

torque relationship.

Fig. 1. Vector control principle

DC motor for high performance applications.

Fig. 2. Vector control implementation

in Fig.1

Vector control techniques have been widely used for the high performance drive of induction motors. Like DC motors, torque control of induction motor is achieved by controlling the torque and flux components independently (Mohamed Boussak and Kamel Jarray, 2006). The similarities between DC and vector control are why the latter is referred to as decoupling, orthogonal or trans-vector control (Archana S. Nanoty, and A. R. Chudasama, 2008).

In this chapter, we investigate the use of the wavelet in the fault detection of vectorcontrolled induction motors, detection of the broken rotor bar and stator short winding faults as well as the verification of wavelet fault detection models using MATLAB.

Finally, two approaches for the protection of induction motor are examined. The first uses the Automatic Gain Control (AGC) to compensate the voltage of the induction motor to maintain satisfactory operation. The second halts operation when the fault severity becomes high. Without delving into excessively detailed results, we analyse the output relevant to wavelet detection and diagnosis.

#### **2. Model of induction motor**

The d-q dynamic model of the squirrel cage induction motor with the reference frame fixed to the stator is given by (Anjaneyulu, N .Kalaiarasi and K.S.R 2007):

$$W\_s = R\_s i\_s + \frac{d\vec{\lambda}\_s}{dt} + j o\_s M \vec{\lambda}\_s \tag{1}$$

$$W\_r = R\_r \dot{i}\_r + \frac{d\dot{\lambda}\_r}{dt} + (\rho \dot{o}\_s - \rho \dot{o}\_r) M \dot{\lambda}\_r \tag{2}$$

The electromagnetic torque is found as:

$$T\_r = \frac{\mathfrak{D}\_r \mathrm{p} L\_n}{\mathfrak{D} L\_r} (i\_{qr} i\_{dr} - i\_{dr} i\_{qr}) \tag{3}$$

$$T\_e = \frac{\Im \, p L\_n}{\Im L\_r} (\mathbf{i}\_q \boldsymbol{\varphi}\_{dr} - \mathbf{i}\_{di} \boldsymbol{\varphi}\_{qr}) \tag{4}$$

$$
\sigma\_{ds} = L\_r i\_{dr} + L\_m i\_{ds} \tag{5}
$$

The field orientation is based on the following assumption:

$$
\varphi\_{qr} = 0 \tag{6}
$$

$$
\varphi\_{dr} = const \, ant \, \text{out} \tag{7}
$$

The (vector) field orientation control performs the following calculations

$$
\begin{bmatrix} i\_{qs} \\ i\_{ds} \end{bmatrix} = \begin{bmatrix} \cos \varphi\_s & \sin \varphi\_s \\ -\sin \varphi\_s & \cos \varphi\_s \end{bmatrix} \tag{8}
$$

d-q to abc transformation is:

344 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Vector control techniques have been widely used for the high performance drive of induction motors. Like DC motors, torque control of induction motor is achieved by controlling the torque and flux components independently (Mohamed Boussak and Kamel Jarray, 2006). The similarities between DC and vector control are why the latter is referred to as decoupling, orthogonal or trans-vector control (Archana S. Nanoty, and A. R.

In this chapter, we investigate the use of the wavelet in the fault detection of vectorcontrolled induction motors, detection of the broken rotor bar and stator short winding

Finally, two approaches for the protection of induction motor are examined. The first uses the Automatic Gain Control (AGC) to compensate the voltage of the induction motor to maintain satisfactory operation. The second halts operation when the fault severity becomes high. Without delving into excessively detailed results, we analyse the output relevant to

The d-q dynamic model of the squirrel cage induction motor with the reference frame fixed

*<sup>s</sup> <sup>s</sup> <sup>s</sup> s ss d V Ri j M dt* λ

( ) *<sup>r</sup> r r sr r*

( ) <sup>2</sup>

( ) <sup>2</sup>

*ds r dr m ds*

cos sin sin cos *qs s s ds s s*

ϕ

 ϕ

> ϕ

ϕ

ϕ

*dr* ϕ

The (vector) field orientation control performs the following calculations

*i i*  ϕ

ω λ

ωω

 λ

*<sup>L</sup>* = − (3)

= + *Li L i* (5)

*qr* = 0 (6)

<sup>=</sup> *const ant* (7)

<sup>=</sup> <sup>−</sup> (8)

(1)

(2)

(4)

=+ +

*d r V Ri M dt*

> 3 *m e qs dr ds qr r pL T ii ii*

3 *m e qs dr ds qr r pL T ii <sup>L</sup>* = − ϕ

ϕ

The field orientation is based on the following assumption:

λ

= + +−

faults as well as the verification of wavelet fault detection models using MATLAB.

to the stator is given by (Anjaneyulu, N .Kalaiarasi and K.S.R 2007):

Chudasama, 2008).

wavelet detection and diagnosis.

**2. Model of induction motor** 

The electromagnetic torque is found as:

$$
\begin{bmatrix} i\_{as} \\ i\_{bs} \\ i\_{cs} \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ -0.5 & -\sqrt{3}/2 \\ -0.5 & -\sqrt{3}/2 \end{bmatrix} \begin{bmatrix} i\_{qs} \\ i\_{ds} \end{bmatrix} \tag{9}
$$

Accordingly, the rotor flux and the torque can be controlled individually through the stator current in the dq-axis so that the induction motor is transformed to a linear current and torque relationship.

#### **3. Vector control of the induction motor**

Vector control was invented by Hasse in 1969 and by Blaschke in 1972 when they demonstrated that an induction motor can be controlled like a separately excited dc motor. This brought a renaissance in the high performance control of AC drives.

Vector control of the squirrel cage induction motor is considered a fast response and high performance method to achieve variable speeds using a variable frequency source as shown in Fig.1

Fig. 1. Vector control principle

In the vector control method, the induction motor can be operated like a separately excited DC motor for high performance applications.

To achieve better performance, numerous speed closed loop systems have been improved. However, desired drive specifications still cannot be perfectly satisfied and/or their algorithms are too complex (J.L. Silva Neto&Hoang Le-Huy, 1996) as shown in Fig.2.

Fig. 2. Vector control implementation

Wavelet Fault Diagnosis of Induction Motor 347

Fault diagnosis techniques contain the feature extraction module (wavelet), feature cluster module and the fault decision module (1). Indicators of faults include the negative sequence

Motor Current Signature Analysis (MCSA) is used to diagnose the stator short circuit fault. Multi resolution analysis and good time localization are particularly useful characteristics of

Signal processing techniques like the FFT are based on the assumptions of constant stator fundamental frequency, load, motor speed and the assumption that the load is sufficient. Wavelet transformation is of many kinds but in this chapter the authors will introduce the

The wavelet is divided into two main groups. One is the discrete wavelet transform

Where *g*( ) *n* is the mother wavelet *x*( ) *n* is the input signal and the scaling and translation parameters " *a* "and " *b* " are functions of the integer parameter m (M. Sushama et al,

The second wavelet type is the continuous wavelet transform (CWT) which can be

\* ( , ) () () , *m n f t t dt m n*

\* denotes the complex conjugate, where f (t) is the waveform signal and ψ (t) is a wavelet.

1/2 , ( ) 2 (2 ) *<sup>m</sup>*

Where *m* and *n* are the wavelet dilation and translation used to transform the original signal to a new one with smaller scales according to the high frequency components. This relation is valid for the orthogonal basis of wavelet transform ( *a* =2 and *b* =1). In the following continuous wavelet transform, *a* is the scale parameter, *b* is the time parameter.

 ψ

1/2 , () ( ) | | *t b a b a*

CWT is divided into the Real wavelet as can be seen in table 1 and the Complex wavelet as

In digital computers, the discrete wavelet transform is a good choice. The mother wavelet is

The continuous wavelet transform (CWT) was developed as an alternative approach to

overcome the resolution problem as is shown in Table 1 (Lorand SZABO et al, 2005).

 ψ

 ψ<sup>∞</sup>

*DWT m k x n g*

ω

*m n* ψ

ω

scaled to the power of 2 (R. Salehi Arashloo&A. Jalilian, 2010).

0 0

*a a*

*m m*

<sup>1</sup> ( ,) ()( )

0 0

*k nb a*

−

*m*

= (10)

−∞ <sup>=</sup> (11)

*t t n* − − = − (12)

*t a* <sup>−</sup> <sup>−</sup> = (13)

current, impedance and the Park's vector.

wavelets in the context of fault diagnosis.

3. Wavelet packet decomposition transformation

most important among them: 1. Discrete wavelet transformation 2. Continuous wavelet transformation

represented in the following Eq.:

2009).

in table 2.

represented as follows:

Vector controlled machines need two constants as input references; the torque component (aligned with the q-axis coordinate) and the flux component (aligned with d-axis coordinate) which is simply based on projections as the control structure handles instantaneous electrical quantities. This behavior yields accurate control in both the steady state and transients and is independent of the bandwidth mathematical model of the induction motor.

Vector control is an especially advantageous solution to the problem of motor control because the torque and flux components of stator flux are easily accessible. Besides, it is free from a number of complexities that beset direct torque control (BPRA073, 1998).

There are two different strategies in vector control to obtain the rotor flux:


The condition to apply vector control to induction motors is the formulation of dynamic model equations to calculate and control the variables (AN2388, 2006) as can be seen in Fig.3, which shows the Simulink implementation of vector control using the current regulation technique. Note that both the magnitude and phase alignment of vector variables is controlled.

Fig. 3. Vector control implemented using Simulink.

#### **4. Discrete wavelet transform fault detection**

Wavelet techniques are new in the field of fault diagnosis. They are useful due to their ability to extract all the information in both time and frequency domain. They provide a sensitive means to diagnose the faults in comparison to other signal processing methods like the Fourier Transform, the drawbacks of which include the need to use a single window function in all frequency components and the acquisition of linear resolution in the whole frequency domain. This is an important reason for the interest in wavelets in time–frequency analysis as can be seen in (M. Riera-Guaspa et al, 2009). (Andrew K.S. et al, 2006) presented a review of the diagnosis of machines using the condition-based maintenance approach. There are two levels of fault diagnosis:


Vector controlled machines need two constants as input references; the torque component (aligned with the q-axis coordinate) and the flux component (aligned with d-axis coordinate) which is simply based on projections as the control structure handles instantaneous electrical quantities. This behavior yields accurate control in both the steady state and transients and is independent of the bandwidth mathematical model of the

Vector control is an especially advantageous solution to the problem of motor control because the torque and flux components of stator flux are easily accessible. Besides, it is free

• Indirect control, in which the rotor flux vector is either measured by a flux sensor mounted in the air-gap or measured using the voltage equations starting from the

• Direct control, in which the rotor flux parameter can be calculated by direct rotor speed

The condition to apply vector control to induction motors is the formulation of dynamic model equations to calculate and control the variables (AN2388, 2006) as can be seen in Fig.3, which shows the Simulink implementation of vector control using the current regulation technique. Note that both the magnitude and phase alignment of vector variables

Wavelet techniques are new in the field of fault diagnosis. They are useful due to their ability to extract all the information in both time and frequency domain. They provide a sensitive means to diagnose the faults in comparison to other signal processing methods like the Fourier Transform, the drawbacks of which include the need to use a single window function in all frequency components and the acquisition of linear resolution in the whole frequency domain. This is an important reason for the interest in wavelets in time–frequency analysis as can be seen in (M. Riera-Guaspa et al, 2009). (Andrew K.S. et al, 2006) presented a review of the diagnosis of machines using the condition-based maintenance approach.

**5 Iq**

**2 I park**

**STlos**

**pulses Phir**

**Iabc Iabc\***

**Pulses Current Reg**

**Mux -K-**

**f(u) Fcn**

> **3 Iabc\***

**1**

**Scope**

**4 Id**

**Resdq**

from a number of complexities that beset direct torque control (BPRA073, 1998). There are two different strategies in vector control to obtain the rotor flux:

induction motor.

measurement.

is controlled.

**w w\* Te\* Speed cont**

**0.96 Phir\***

**Speed**

**1 speed**

**Iabc**

**Speed**

electrical machine parameters.

**Te\* Iq\* iqs\***

There are two levels of fault diagnosis:

2. Knowledge based fault diagnosis

1. Traditional control

**Phir\*Id\***

**Phir wm Iq Teta Teta**

**id\* Teta**

Fig. 3. Vector control implemented using Simulink.

**4. Discrete wavelet transform fault detection** 

**theta**

**Id\* Iq\* Iabc\* dq to ABC**

**1/z**

**Phir Id Flux**

**Iabc**

**Iabc\***

**Iabc Teta Id Iq ABC to dq** Fault diagnosis techniques contain the feature extraction module (wavelet), feature cluster module and the fault decision module (1). Indicators of faults include the negative sequence current, impedance and the Park's vector.

Motor Current Signature Analysis (MCSA) is used to diagnose the stator short circuit fault.

Multi resolution analysis and good time localization are particularly useful characteristics of wavelets in the context of fault diagnosis.

Signal processing techniques like the FFT are based on the assumptions of constant stator fundamental frequency, load, motor speed and the assumption that the load is sufficient. Wavelet transformation is of many kinds but in this chapter the authors will introduce the most important among them:


The wavelet is divided into two main groups. One is the discrete wavelet transform represented in the following Eq.:

$$DWT(m,k) = \frac{1}{\sqrt{a\_0^m}} \Sigma \mathbf{x}(n) \mathbf{g}(\frac{k - nb\_0}{a\_0^m}) \tag{10}$$

Where *g*( ) *n* is the mother wavelet *x*( ) *n* is the input signal and the scaling and translation parameters " *a* "and " *b* " are functions of the integer parameter m (M. Sushama et al, 2009).

The second wavelet type is the continuous wavelet transform (CWT) which can be represented as follows:

$$\rho \alpha(m, n) = \int\_{-\infty}^{\infty} f(t) \overline{\nu}\_{m, n}^\*(t) dt \tag{11}$$

\* denotes the complex conjugate, where f (t) is the waveform signal and ψ (t) is a wavelet.

$$
\varphi\_{\
u\_{m,n}}(t) = 2^{-1/2} \varphi(2^{-m}t - n) \tag{12}
$$

Where *m* and *n* are the wavelet dilation and translation used to transform the original signal to a new one with smaller scales according to the high frequency components. This relation is valid for the orthogonal basis of wavelet transform ( *a* =2 and *b* =1). In the following continuous wavelet transform, *a* is the scale parameter, *b* is the time parameter.

$$\left| \left. \phi \right\vert\_{a,b} (t) = \left| a \right|^{-1/2} \left. \psi \right|\_{a}^{t-b} \right) \tag{13}$$

CWT is divided into the Real wavelet as can be seen in table 1 and the Complex wavelet as in table 2.

In digital computers, the discrete wavelet transform is a good choice. The mother wavelet is scaled to the power of 2 (R. Salehi Arashloo&A. Jalilian, 2010).

The continuous wavelet transform (CWT) was developed as an alternative approach to overcome the resolution problem as is shown in Table 1 (Lorand SZABO et al, 2005).

Wavelet Fault Diagnosis of Induction Motor 349

2. To remedy the squared relationship between the time bandwidth product of the wavelet transform and the input signal, certain regularity conditions are imposed so as to ensure the smoothness and concentration of the wavelet function in both time and

The decomposition can be implemented using ltering and down-sampling, and can be

The total decomposition levels (L) can be calculated according to the following relationship:

log( )

*fs*

log(2)

These bands can't be changed unless a new acquisition with different sampling frequency is made, which complicate any fault detection based on DWT, particularly in time-varying

When (18) is applied at a sampling frequency of 1 kHz, a six level decomposition occurs.

50 1

a6 [0-16.125 ] d6 [16.125-32.25] a5 [ 0-32.25 ] d5 [ 32.250-64.5] a4 [ 0 - 64.50] d4 [ 64.50-125.0] a3 [0 – 125.0] d3 [125.0-250.0 ] a2 [ 0- 250.0 ] d2 [250.0-500.0 ] a1 [ 0-500.0 ] d1 [500.0-1000.0]

The data required to analyze the signal depends on both the sampling frequency ( ) and the

log( ) 1000

log(2)

Frequency bands (Hz)

1

Details «dj»

*<sup>f</sup> <sup>L</sup>* ≥ + (17)

*L* = + =6 levels (18)

/ *required <sup>s</sup> <sup>D</sup>* <sup>=</sup> *f R* (19)

Frequency bands (Hz)

iterated, with successive approximation as in (Turkmenoglu, 2010).

Table 3 depicts the frequency bands for each wavelet signal.

Table 3. Frequency bands for the six levels of wavelet signals

The interpretation of the above table is shown in Fig 4:

Fig. 4. Frequency range covers for details and nal approximation

frequency domains.

conditions (Yasser Gritli et al, 2011).

Approximations «aj»

resolution (R) as in (19):


Table 1. Continuous real wavelet transform


Table 2. Continuous complex wavelet transform

Two properties of the wavelet are noteworthy:

1. When a wavelet satisfies an admissibility condition, a signal with finite energy can be reconstructed without needing all values of its decomposition. The admissibility condition is represented by the following equation:

$$\left\|\frac{|\psi(o)|}{|o|}d o < +\infty\right\|\tag{14}$$

Where ψ (ω) is the Fourier transform of the wavelet function ψ (t) used to investigate the signals and then to reconstruct them without losing any information. According to the admissibility condition, the Fourier transform goes to zero as is shown in the following equation:

$$|\left|\psi(\alpha)\right|\!\!/ = 0\tag{15}$$

Another important property of the wavelet is:

$$[\varphi(\alpha) = 0] \tag{16}$$

 = − *dp t dt* α β

> σ

> > −

< +∞ (14)

= (15)

()0= (16)

σ

Beta Wavelet ( / , ) ( 1) ( / , ) / *beta* ψ*t*

ψ

ψ

ψ

Shannon wavelet

Table 1. Continuous real wavelet transform

Mexican hat wavelet

Modified Morlet

equation:

Table 2. Continuous complex wavelet transform Two properties of the wavelet are noteworthy:

Another important property of the wavelet is:

α β

*n n n*

 σπ

( ) 2sin (2 ) sin ( ) *t c t ct* = −

π

*t n CH t e* <sup>−</sup> <sup>−</sup> =

<sup>−</sup> = −

( ) 2 0.5 <sup>2</sup> 2 1 2

− −

*t C e ek* <sup>−</sup> <sup>−</sup> = −

π

ω

1. When a wavelet satisfies an admissibility condition, a signal with finite energy can be reconstructed without needing all values of its decomposition. The admissibility

> 2 | ( )|

*d*

Where ψ (ω) is the Fourier transform of the wavelet function ψ (t) used to investigate the signals and then to reconstruct them without losing any information. According to the admissibility condition, the Fourier transform goes to zero as is shown in the following

> <sup>2</sup> | ( )| 0 ψ ω

ψ ω ω


ω

ψ ω  π

<sup>−</sup> <sup>−</sup> = −−

*<sup>t</sup> <sup>i</sup> it erf t t e*

<sup>2</sup> <sup>2</sup> 0.25 2 0.5 ( ) ( ) <sup>3</sup>

*<sup>t</sup> <sup>t</sup> t e*

 

Hermitian Wavelet <sup>2</sup> / 2 ( 1/2 ) ( ) (2 ) ( / 2) *<sup>n</sup> n t*

ψπ

Morlet wavelet <sup>2</sup> (1 / 4) 1/2 () ( ) ( ) *t it* ψ

Shannon wavelet ( ) sin ( ) *<sup>j</sup> <sup>t</sup> t cte*

condition is represented by the following equation:

ψ

wavelet ( ) cos( )sec ( ) *<sup>o</sup> t C t ht*

ψ=  π

<sup>−</sup> =

ψ

Mex.hat wavelet 2 2 1/4 2 2 ( /2 ) ( ) (2 / 3 )(1 / ) *<sup>t</sup> <sup>t</sup> t e*

2. To remedy the squared relationship between the time bandwidth product of the wavelet transform and the input signal, certain regularity conditions are imposed so as to ensure the smoothness and concentration of the wavelet function in both time and frequency domains.

The decomposition can be implemented using ltering and down-sampling, and can be iterated, with successive approximation as in (Turkmenoglu, 2010).

The total decomposition levels (L) can be calculated according to the following relationship:

$$L \ge \frac{\log(\overbrace{f\textsuperscript{f\textsuperscript{f\textsuperscript{f\textsuperscript{\cdot}f\textsuperscript{\cdot}}}}^{f\textsuperscript{\cdot}f})}{\log(2)} + 1\tag{17}$$

These bands can't be changed unless a new acquisition with different sampling frequency is made, which complicate any fault detection based on DWT, particularly in time-varying conditions (Yasser Gritli et al, 2011).

When (18) is applied at a sampling frequency of 1 kHz, a six level decomposition occurs. Table 3 depicts the frequency bands for each wavelet signal.

$$L = \frac{\log(\text{l}^{1000} \text{\AA})}{\log(2)} + 1 = 6 \text{ levels} \tag{18}$$


Table 3. Frequency bands for the six levels of wavelet signals

The data required to analyze the signal depends on both the sampling frequency ( ) and the resolution (R) as in (19):

$$D\_{required} = f\_{\
u} / R \tag{19}$$

The interpretation of the above table is shown in Fig 4:

Fig. 4. Frequency range covers for details and nal approximation

Wavelet Fault Diagnosis of Induction Motor 351

**<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> -1.5**

Offline calculations of maximum energy were done using MATLAB instructions as in the

Ea is the percentage of energy corresponding to the approximation, Ed is the vector containing the percentages of energy corresponding to the details, C is the wavelet

The Wavelet coefficients, the energy of the details of any signal at level j can be expressed as

, , ( ), ( ) (2 ) 2

2

1 *<sup>j</sup>*

**wavelet circuit f(u)**

**K Ts z-1**

**K Ts**

**u2**

**u2**

 = − *x t t k dt* ψ

, *<sup>j</sup> j k <sup>E</sup>* <sup>=</sup> *d* (21)

(22)

**criterion function**

**1 wavelet index**

Ed =0.0000(d1) 0.0000(d2) 0.0000(d3) 0.0001(d4) 0.0010(d5) 0.4619(d6)

*j k j k <sup>j</sup> d* <sup>=</sup> *x <sup>t</sup>* ψ

**Iaf d6**

**z-1 1**

Fig. 9. Wavelet index unit with conditioning signal

**Period: 1.4615; Cent. Freq: 0.68421**

**Wavelet db10 (blue) and Center frequency based approximation**

**wavelet db10 center frequency**

Fig. 7. DWT filters and levels using simulink

Fig. 8. Daubechies wavelet (db10) and central frequency

decomposition vector and L is the bookkeeping vector.

(M. Sabarimalai Manikandan, and S. Dandapat, 2007):

**-1 -0.5 0 0.5 1**

load Ia

**Ia**

Ea = 99.5370(a6)

following wavelet program:

[C, L] = wavedec (Ia, 6,'db10'); [Ea, Ed] = wenergy(C, L)

**Notch Filter**

**wavelet**

The MATLAB signal processing toolbox software provides the Filter Design and Analysis tool (FDATool) that enables the design of a low pass filter and high pass filter and then export the filters coefficients to a matching filter implemented as can be seen in the Fig.5.

Fig. 5. Wavelet decomposition levels using FDA matlab tool box

An alternative way to performing the same task is through the DWT dyadic filter from MATLAB/Simulink. Although for this method, the wavelet coefficients may need to be calculated using the following MATLAB instruction:

$$\text{[Lo\\_D\\_Hi\\_D\\_Lo\\_R\\_Hi\\_R]} = \text{wfilters (dbf10')}\tag{20}$$

Where Lo\_D,Hi\_D,Lo\_R,Hi\_R represent low pass filter decomposition,high pass filter decomposition ,low pass filter reconstruction and high pass filter reconstruction respectively. This is shown in Fig.6.

Fig. 6. Wavelet decomposition and reconsstruction f filters

The decomposition of the wavelets was impemented using the above relation as can be seen in Fig.7.

The above two circuits are exactly the same. A wavelet-transform-based method was developed for diagnosis and protection the induction motor against broken rotor bar and short stator windings. Detailed information is obtained from the high pass filters and the approximation information is obtained from low pass filter. Daubechies wavelet (db10) is used to analayze stator current as in Fig8.

The construction of DWT is followed by implementing the criterion of fault detection of induction motor faults. The criteria used to detect the induction motor faults depend on the relationship between maximum detail energy (d6) and the original stator current (*Ia*) as is shown in Fig.9.

Fig. 7. DWT filters and levels using simulink

Fig. 8. Daubechies wavelet (db10) and central frequency

Offline calculations of maximum energy were done using MATLAB instructions as in the following wavelet program:

load Ia

350 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

The MATLAB signal processing toolbox software provides the Filter Design and Analysis tool (FDATool) that enables the design of a low pass filter and high pass filter and then export the filters coefficients to a matching filter implemented as can be seen in the Fig.5.

An alternative way to performing the same task is through the DWT dyadic filter from MATLAB/Simulink. Although for this method, the wavelet coefficients may need to be

Where Lo\_D,Hi\_D,Lo\_R,Hi\_R represent low pass filter decomposition,high pass filter decomposition ,low pass filter reconstruction and high pass filter reconstruction

**<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> -0.5**

The decomposition of the wavelets was impemented using the above relation as can be seen

The above two circuits are exactly the same. A wavelet-transform-based method was developed for diagnosis and protection the induction motor against broken rotor bar and short stator windings. Detailed information is obtained from the high pass filters and the approximation information is obtained from low pass filter. Daubechies wavelet (db10) is

The construction of DWT is followed by implementing the criterion of fault detection of induction motor faults. The criteria used to detect the induction motor faults depend on the relationship between maximum detail energy (d6) and the original stator current (*Ia*) as is

**0 1**

**0 1**

**1 2**

**Original scaling filter through db10**

[Lo\_D, Hi\_D, Lo\_R, Hi\_R] = wfilters ('db10') (20)

**<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> -1**

**Reconstruction high-pass filter Hi\_R**

**<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> -1**

**Transfer modulus: highpass (Hi\_D or Hi\_R**

**<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>**

**Decomposition high-pass filter Hi\_D**

Fig. 5. Wavelet decomposition levels using FDA matlab tool box

calculated using the following MATLAB instruction:

respectively. This is shown in Fig.6.

**<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> -1**

**Reconstruction low-pass filter Lo\_R**

**<sup>0</sup> <sup>5</sup> <sup>10</sup> <sup>15</sup> <sup>20</sup> -1**

**Transfer modulus: lowpass (Lo\_D or Lo\_R**

**<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> <sup>0</sup>**

used to analayze stator current as in Fig8.

Fig. 6. Wavelet decomposition and reconsstruction f filters

**Decomposition low-pass filter Lo\_D**

**0 0.5**

> **0 1**

> **0 1**

> **1 2**

in Fig.7.

shown in Fig.9.

[C, L] = wavedec (Ia, 6,'db10');

[Ea, Ed] = wenergy(C, L)

Ea is the percentage of energy corresponding to the approximation, Ed is the vector containing the percentages of energy corresponding to the details, C is the wavelet decomposition vector and L is the bookkeeping vector.

Ea = 99.5370(a6)

Ed =0.0000(d1) 0.0000(d2) 0.0000(d3) 0.0001(d4) 0.0010(d5) 0.4619(d6)

The Wavelet coefficients, the energy of the details of any signal at level j can be expressed as (M. Sabarimalai Manikandan, and S. Dandapat, 2007):

$$E\_{\beta} = \sum \mathbf{d}\_{\alpha\beta}^{\alpha\beta} \tag{21}$$

$$\mathbf{d}\_{\boldsymbol{\alpha},k} = \langle \mathcal{X}(t), \boldsymbol{\mathcal{W}}\_{\boldsymbol{\alpha},k} \rangle = \frac{1}{\sqrt{2'}} \int \mathbf{x}(t) \boldsymbol{\varphi}(2't - k) dt \tag{22}$$

Fig. 9. Wavelet index unit with conditioning signal

Wavelet Fault Diagnosis of Induction Motor 353







> 0 5

> 2

2

1

1


2

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -5

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -20

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -20

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -10

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -10

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> -20

Period: 1.4615; Cent. Freq: 0.68421

Wavelet db10 (blue) and Center frequency based approximation

Orig. signal and details 1 to 6.

**Orig. signal and details 1 to 6.**

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -5

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

<sup>0</sup> <sup>1000</sup> <sup>2000</sup> <sup>3000</sup> <sup>4000</sup> <sup>5000</sup> <sup>6000</sup> <sup>7000</sup> <sup>8000</sup> <sup>9000</sup> <sup>10000</sup> -50

Fig. 12. Approximation and details signal in one broken rotor bar fault

Orig. signal and approx. 1 to 6.

Fig. 11. Approximation and details signal in healthy motor

**Orig. signal and approx. 1 to 6.**







> 0 5

> 5

5

5

5

5

5

Fig. 10. Proposed circuit of induction motor fault diagnosis with wavelet


Table 4. Induction motor specifications

#### **5. Fault detection**

Electric drives are used in safety-critical applications or industrial processes where the immense costs of unplanned stops are unacceptable. Fault detection depends on the availability of information from the system. In this work, the fault detection is done using wavelet for analysis of stator current as can be shown in Fig.11 for the healthy case, Fig.12 for broken rotor bar case and Fig.13 for the stator short winding case respectively. The wavelet criterion of fault detection is:

$$W\_{ind\infty} = \text{abs}(energy(d\text{6})) / \text{average}(energy(la)) \tag{23}$$

In MATLAB/Simulink, an assessment of operating features of the proposed scheme is performed. Two faults are investigated: stator short winding and broken rotor bar.

Fig. 10. Proposed circuit of induction motor fault diagnosis with wavelet

Electric drives are used in safety-critical applications or industrial processes where the immense costs of unplanned stops are unacceptable. Fault detection depends on the availability of information from the system. In this work, the fault detection is done using wavelet for analysis of stator current as can be shown in Fig.11 for the healthy case, Fig.12

In MATLAB/Simulink, an assessment of operating features of the proposed scheme is

( ( 6)) / ( ( )) *W abs energy d average energy Ia indx* = (23)

for broken rotor bar case and Fig.13 for the stator short winding case respectively.

performed. Two faults are investigated: stator short winding and broken rotor bar.

Table 4. Induction motor specifications

The wavelet criterion of fault detection is:

**5. Fault detection** 

Fig. 11. Approximation and details signal in healthy motor

Fig. 12. Approximation and details signal in one broken rotor bar fault

Wavelet Fault Diagnosis of Induction Motor 355

The external added resistances are changed in 0.0833 Ω steps, which represents the difference between the reference rotor resistance and the original rotor resistance for one broken rotor bar .Reference rotor resistance depends on the number of broken bars and the total number of rotor bars (Hakan Cals& Abdulkadir Cakr, 2007). The resistance of

(Levent Eren, & Michael J. Devaney, 2004), presented the bearing fault defects of the induction motor WPT decomposition of 1 Hp induction motor stator current through the

More than 30% of all motor faults are caused by failure of the motor winding due to insulation problems. For the stator short circuit winding fault, the stator resistance of the induction motor is connected to the parallel variable resistance which is reduced according

The majority of induction motor winding failures proceed gradually from lower short circuit

To check the validity of the wavelet fault detection of both stator winding and broken rotor bar units as well as when the motor is in a healthy condition,MATLAB/Simulink's Predicted Model Block (PED) is used to verifiy the wavelet detection units as is shown in

> 3 2 1.3 166 8.2 167 <sup>4</sup> 3 2 0.5 0.5 7.7067 8 1.1592 8

− − + −− −

<sup>4</sup> 3 2 0.0027766 0.00025661 <sup>4</sup> 3 2 2.3152 1.2203 0.5013 0.40632

*zz z*

*z zz z*

− + +−

The predicted and noise model of the wavelet detection unit in the healthy case is shown in

**Actual Output (Red Line) vs. The Predicted Model Output (Blue Line)**

**0.617 0.618 0.619 0.62 0.621 0.622 0.623**

**Time (secs)**

**Error In Predicted Model**

**0.617 0.618 0.619 0.62 0.621 0.622 0.623 <sup>0</sup>**

**Time (secs)**

Fig. 15. Predicted model output and its noise model for wavelet detcteion unit in the lealthy

*z z z ez e*

*ez ez*

current to a higher level and finally break as can be seen in (Dimas et al, 2010).

In the healthy induction motor, transfer finction of the wavelet unit (interval test) is:

<sup>=</sup> −− + −

<sup>=</sup> + +

*R R sh* = 0.1 *org* (25)

(26)

(27)

**data1 data2**

**data1**

induction motor rotor bar is assumed to be high.

test of RMS for both healthy and faulty bearings.

**5.2 Stator shorting the winding** 

to the following formula:

subsequent figures.

Fig15. 

case

*Ghealthy*

*GNoise*

And the noise model of unit is:

Fig. 13. Approximation and details signal in short stator winding fault

This wavelet is also used as fault indicator or wave index as is shown in Fig14.

Fig. 14. Wavelet index for fault detection

#### **5.1 Broken rotor bar**

Key reasons for a broken rotor bar are (Ahmed Y. Ben Sasi et al, 2006):


Broken rotor bar faults can be simulated by connecting three resistances with the rotor resistance so that by increasing one of the rotor phase resistances, the broken rotor bar equivalent resistance can be computed as in (24).

$$R\_{brk} \equiv (0.33/4) R\_{\stackrel{\bullet}{T}\stackrel{\bullet}{nb}^{\vee}} N^{\wedge} \, ^{2} \, \_{s} \tag{24}$$



> -5 0 5

> -2 0 2

> -1 0 1

> -1 0 1


**0 1 2 3 4 5 6 7 8 9 10**

**Iteration** 

1. Direct on line starting which leads to excessive heating and mechanical problems.

Broken rotor bar faults can be simulated by connecting three resistances with the rotor resistance so that by increasing one of the rotor phase resistances, the broken rotor bar

(0.33 / 4) / ^2 *<sup>N</sup> <sup>s</sup> brk nb*

*r*

≅ (24)

*R R z*

**Wavelet index for healthy ,short stator winding and one broken bar**

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

**wave index healthy wave index1broken bar wave index stator short winding**

**x 104**

**Orig. signal and details 1 to 6.**

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000

Fig. 14. Wavelet index for fault detection

3. Unsatisfactory rotor cage manufacturing.

equivalent resistance can be computed as in (24).

Fig. 13. Approximation and details signal in short stator winding fault

Key reasons for a broken rotor bar are (Ahmed Y. Ben Sasi et al, 2006):

This wavelet is also used as fault indicator or wave index as is shown in Fig14.

**Orig. signal and approx. 1 to 6.**








**0**

**5.1 Broken rotor bar** 

2. Variable mechanical load.

**5**

**10**

**Wavelet index**

**15**

The external added resistances are changed in 0.0833 Ω steps, which represents the difference between the reference rotor resistance and the original rotor resistance for one broken rotor bar .Reference rotor resistance depends on the number of broken bars and the total number of rotor bars (Hakan Cals& Abdulkadir Cakr, 2007). The resistance of induction motor rotor bar is assumed to be high.

(Levent Eren, & Michael J. Devaney, 2004), presented the bearing fault defects of the induction motor WPT decomposition of 1 Hp induction motor stator current through the test of RMS for both healthy and faulty bearings.

#### **5.2 Stator shorting the winding**

More than 30% of all motor faults are caused by failure of the motor winding due to insulation problems. For the stator short circuit winding fault, the stator resistance of the induction motor is connected to the parallel variable resistance which is reduced according to the following formula:

$$R\_{\text{ub}} = 0.1 R\_{\text{avg}} \tag{25}$$

The majority of induction motor winding failures proceed gradually from lower short circuit current to a higher level and finally break as can be seen in (Dimas et al, 2010).

To check the validity of the wavelet fault detection of both stator winding and broken rotor bar units as well as when the motor is in a healthy condition,MATLAB/Simulink's Predicted Model Block (PED) is used to verifiy the wavelet detection units as is shown in subsequent figures.

In the healthy induction motor, transfer finction of the wavelet unit (interval test) is:

$$G\_{\text{hady}} = \frac{-1.3e - 166z^3 + 8.2e - 167z^2}{z^4 - 0.5z^3 - 0.5z^2 + 7.7067e - 8z - 1.1592e - 8} \tag{26}$$

And the noise model of unit is:

$$G\_{\rm Nair} = \frac{z^4 + 0.0027766z^3 + 0.00025661z^2}{z^4 - 2.3152z^3 + 1.2203z^2 + 0.5013z - 0.40632} \tag{27}$$

The predicted and noise model of the wavelet detection unit in the healthy case is shown in Fig15. 

Fig. 15. Predicted model output and its noise model for wavelet detcteion unit in the lealthy case

Wavelet Fault Diagnosis of Induction Motor 357

**Actual Output (Red Line) vs. The Predicted Model Output (Blue Line)**

**-10 -5 0 5 x 10-15**

rotor.

in (32):

entire system (Lee, et al, 2011).

This is shown in Fig18:

motor flux as in (33).

Fig. 18. Automatic gain controller circuit

be controlled according to the following criteria.

**0.637 0.638 0.639 0.64 0.641 0.642**

**data1 data2**

**data1**

**0.637 0.638 0.639 0.64 0.641 0.642**

**Time (secs)**

**Error In Predicted Model**

**Time (secs)**

Fig. 17. Predicted model output and its noise model for wavelet detcteion unit in the broken

speed drive systems, the vulnerable components of the power converter, cable, and motor must be monitored, since failure of a single component can result in a forced outage of the

In this chapter, two approaches are used to treat the faults mentioned above. First, voltage regulation with automatic gain control (AGC) is used to control the voltage after the occurrence of fault and hence the speed to maintain the operation of the induction motor as

The fault diagnosis condition depends also upon an optimization technique of induction


The proposed circuit of the wavelet fault diagnosis is shown in Fig10. The last stage of the protection is to stop the motor operation when the fault severity becomes high and cannot

ϕ

*p*

(33)

2 2 ( ( ( ) ( )) *AGC reciprocal mean real f real f* = + *vd vq* (32)

In the stator short winding fault, transfer function of the wavelet unit (interval test) is:

$$G\_{\text{manverb}} = \frac{1.1665e - 158z^3 - 2.2477e - 158z^2}{z^4 - 0.5z^3 - 0.5z^2 + 2.9406e - 10z - 3.5998e - 11} \tag{28}$$

The noise model of the unit is:

$$G\_{nomrid} = \frac{z^4 + 0.0020325z^3 - 0.00119535z^2}{z^4 - 2.4623z^3 + 1.4434z^2 + 0.5z - 0.48113} \tag{29}$$

The predicted and noise model of the wavelet detection unit in this case is shown in Fig16.

Fig. 16. predicted model output and its noise model for wavelet detcteion unit in the stator short winding case

In the broken rotor bar fault, transfer function of the wavelet unit (interval test) is:

$$G\_{bubankv} = \frac{1.17382e-159z^3 - 2.0472e-159z^2}{z^4 - 0.5z^3 - 0.5z^2 - 3.4564e-11z - 4.1663e-11} \tag{30}$$

The noise model of the unit is:

$$G\_{n \text{wormold}} = \frac{z^4}{z} + 0.0035537z^3 - 0.0011322z^2}{z - 2.1078z^3 + 0.90396z^2 + 0.503z - 0.30002} \tag{31}$$

The predicted and noise model of the wavelet detection unit in this case is shown in Fig17.

#### **6. Protection circuit**

In the protection stage of the induction motor, there are many steps to perform exact or optimal protection of the circuit like: condition monitoring which is the process of monitoring a parameter of condition in machinery, such that a significant change is indicative of a developing failure. Many condition-monitoring methods, which monitor the motor's condition using only the currents and voltages of the motor, are preferred due to their low cost and non-intrusiveness (Zhang et al, 2011). For reliable operation of ajustable

3 2 1.1665 158 2.2477 158 <sup>4</sup> 3 2 0.5 0.5 2.9406 10 3.5998 11

− − + −− −

<sup>4</sup> 3 2 0.0020325 0.00119535 <sup>4</sup> 3 2 2.4623 1.4434 0.5 0.48113

*zz z*

*z z zz*

The predicted and noise model of the wavelet detection unit in this case is shown in Fig16.

**Actual Output (Red Line) vs. The Predicted Model Output (Blue Line)**

− + +−

**0.626 0.627 0.628 0.629 0.63 0.631 0.632**

**0.626 0.627 0.628 0.629 0.63 0.631 0.632**

3 2 1.17382 159 2.0472 159 <sup>4</sup> 3 2 0.5 0.5 3.4564 11 4.1663 11

− − − −− −

<sup>4</sup> 3 2 0.0035537 0.0011322 <sup>4</sup> 3 2 2.1078 0.90396 0.503 0.30002

*z zz*

*z z zz*

The predicted and noise model of the wavelet detection unit in this case is shown in Fig17.

In the protection stage of the induction motor, there are many steps to perform exact or optimal protection of the circuit like: condition monitoring which is the process of monitoring a parameter of condition in machinery, such that a significant change is indicative of a developing failure. Many condition-monitoring methods, which monitor the motor's condition using only the currents and voltages of the motor, are preferred due to their low cost and non-intrusiveness (Zhang et al, 2011). For reliable operation of ajustable

− + +−

*z z z ez e*

*ez ez*

**Time (secs)**

Fig. 16. predicted model output and its noise model for wavelet detcteion unit in the stator

In the broken rotor bar fault, transfer function of the wavelet unit (interval test) is:

<sup>=</sup> + −

<sup>=</sup> −− −

**Time (secs)**

**Error In Predicted Model**

*z z z ez e*

*ez ez*

(28)

(29)

**data1 data2**

**data1**

(30)

(31)

In the stator short winding fault, transfer function of the wavelet unit (interval test) is:

<sup>=</sup> −− −

<sup>=</sup> + −

*Gstatorshort*

mod

*Gnoise el*

The noise model of the unit is:

short winding case

*Gbrokenbar*

mod

*Gnoise el*

The noise model of the unit is:

**6. Protection circuit**

Fig. 17. Predicted model output and its noise model for wavelet detcteion unit in the broken rotor.

speed drive systems, the vulnerable components of the power converter, cable, and motor must be monitored, since failure of a single component can result in a forced outage of the entire system (Lee, et al, 2011).

In this chapter, two approaches are used to treat the faults mentioned above. First, voltage regulation with automatic gain control (AGC) is used to control the voltage after the occurrence of fault and hence the speed to maintain the operation of the induction motor as in (32):

$$AGC = recipreal(mean(real(f\_{\nu d})^2 + real(f\_{\nu q})^2) \tag{32}$$

This is shown in Fig18:

Fig. 18. Automatic gain controller circuit

The fault diagnosis condition depends also upon an optimization technique of induction motor flux as in (33).

$$\left| \varphi\_{\text{optimal}} = \left| T\_{\text{s}} \* \sqrt{\Pr\_{\text{r}} \left\langle \begin{matrix} \mathbf{3}/\mathbf{2} \* p \\ \mathbf{3}/\mathbf{2} \* p \end{matrix} \right\rangle} \right| \tag{33}$$

The proposed circuit of the wavelet fault diagnosis is shown in Fig10. The last stage of the protection is to stop the motor operation when the fault severity becomes high and cannot be controlled according to the following criteria.

Wavelet Fault Diagnosis of Induction Motor 359

than 180, this will lead to bad torque and flux and will indicate the need to stop the

The scalar control of induction motor drives have many drawbacks including slow response, unsuitable performance, torque ripple and impossibility of operation at all points of speed torque curve, vector control is implemented on an induction motor drive to solve

Three phase sinusoidal voltage is converted to dc voltage with the help of universal diode bridge rectifier. Current source inverters which dominate modern adjustable speed AC

In particular the high switching rate needed for good quality of the current fed to the motor cause's losses, electromagnetic interference etc.Accords to the results, the algorithm used is

• The wavelet is considered as powerful tools in the fault detection and diagnosis of

• Many wavelet classes can be generated by different kinds of mother wavelets and can

• The improvement of fault detection and diagnosis can be exploiting the wavelet

• Theories of wavelet need to be pushed forward to insure best choosing of mother

• The wavelet index can distinguish correctly between the faults and healthy induction

• Matlab/Simulink axcellent package for both simulations and practicle experiments in

Abbas zadeh, K., Milimonfared, J., Haji, M., & Toliyat, H. (2001). Broken bar detection in

Ahmed Y. Ben Sasi, Fengshou Gu, Yuhua Li and Andrew D. Ball (2006). A validated

Hakan Cals& Abdulkadir Cakr (2007). Rotor bar fault diagnosis in three phase induction

Andrew K.S. Jardine, Daming Lin, Dragan Banjevic (2006). A review on machinery

Anjaneyulu, N .Kalaiarasi and K.S.R (2007). Adaptive Vector Control of Induction Motor Drives. *International Journal of Electrical and Engineering*, Vol.1 .No.2, 239-245.

*Mechanical Systems and Signal Processing,* Vol.20, pp.1483–1510.

induction motor via wavelet transformation. *The 27th Annual Conference of the IEEE* 

model for the prediction of rotor bar failure in squirrel-cage motors using instantaneous angular speed. *Mechanical Systems and Signal Processing*, Vol.20, No 7,

motors by monitoring fluctuations of motor current zero crossing instants. *Electric* 

diagnostics and prognostics implementing condition-based maintenance.

very effective and have been succeeded in maintain both speed and torque.

properties to get high detection and diagnostics effectiveness.

There are many conclusions can be included due to this work:

the diagnostic of induction machines with wavelet.

*Industrial Electronics Society*, Vol.1, pp. 95 –99.

*Power Systems Research*, Vol.77, pp. 385–392.

operation of induction motor.

drives are not free from certain disadvantages.

**8. Conclusion** 

these imperfections.

induction motors.

wavelet.

motor.

**9. References** 

pp. 1572-1589.

be constructed by filters banks.

*if Iq bad fluxduetobad torque then stopthe operation* max( ) 180 & > (34)

The protection circuit as in the Fig.19

Fig. 19. Protection and checking of the optimal flux unit

Since this work focuses on the wavelet, the results of this stage are not included here. They are expected to be presented by the authors in a paper dealing with the protection of induction motors.

#### **7. Simulation results**

Computer simulations using Matlab/Simulink have been performed for assessment of operating features of the proposed scheme. The simulation involved a startup of an induction motor 0.5Hp, 230V, 50 Hz as is shown in Table 4. All pertinent mathematical models have been developed individually, using Simulink blocks for the power, electronic converters and the motor. The developed torque increases rapidly due to the slip speed, which is maximum at starting and decreases as the speed of the motor is increased. The classic vector control scheme consists of the torque and flux control loops. For the vector control of induction motors, the rotor field orientation has the advantage of easy decoupling of the torque and flux components of the controlled variable. The speed loop utilizes a PI controller to produce the quadrature axis currents which serves as the torque command (*Kp* =18 and *Ki*=5). Better PI tuning results in a better wavelet waveform. One phase of stator current is used as the input to the wavelet circuit. It is clear from Fig.11, Fig.12 and Fig.13 that detailed information is extracted from the high pass filter and approximation data from the low pass filter to show the exact location and time of the fault even for the transient response of the healthy case. A higher order of wavelet introduces better signal accuracy. Fig.14 shows the wavelet index with the threshold of the healthy case between 2.5 and 7. In this work, the stator short winding was high index (16.6), the range of this fault being 7-17 due to the severity of fault; the broken rotor bar was very light (0.12) and the range of this fault was between 0 and 0.2.The figure did not start from zero because there is a 1 sec delay for protection. Careful tuning of AGC is needed for the PID controller to get best results, in this work (*Ki*=100, *Kp* = 1 and *Kd*=0).

Fig.15, Fig.16 and Fig.17 show the outputs of the PEM (Predictive Error Method) estimator block which estimates linear input-output polynomial models in Simulink for the healthy case, stator short winding and broken rotor bar respectively. The monitoring of the optimal flux is another fault diagnosis indicator in this work which depends on both torque and rotor resistance as well as on the poles of the induction motor.

The last stage of the operation is the protection. Fig.19 shows the optimal flux and protection mechanism which depends on both torque, flux and on the phase of *Iq*. If this phase is more than 180, this will lead to bad torque and flux and will indicate the need to stop the operation of induction motor.

### **8. Conclusion**

358 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Since this work focuses on the wavelet, the results of this stage are not included here. They are expected to be presented by the authors in a paper dealing with the protection of

Computer simulations using Matlab/Simulink have been performed for assessment of operating features of the proposed scheme. The simulation involved a startup of an induction motor 0.5Hp, 230V, 50 Hz as is shown in Table 4. All pertinent mathematical models have been developed individually, using Simulink blocks for the power, electronic converters and the motor. The developed torque increases rapidly due to the slip speed, which is maximum at starting and decreases as the speed of the motor is increased. The classic vector control scheme consists of the torque and flux control loops. For the vector control of induction motors, the rotor field orientation has the advantage of easy decoupling of the torque and flux components of the controlled variable. The speed loop utilizes a PI controller to produce the quadrature axis currents which serves as the torque command (*Kp* =18 and *Ki*=5). Better PI tuning results in a better wavelet waveform. One phase of stator current is used as the input to the wavelet circuit. It is clear from Fig.11, Fig.12 and Fig.13 that detailed information is extracted from the high pass filter and approximation data from the low pass filter to show the exact location and time of the fault even for the transient response of the healthy case. A higher order of wavelet introduces better signal accuracy. Fig.14 shows the wavelet index with the threshold of the healthy case between 2.5 and 7. In this work, the stator short winding was high index (16.6), the range of this fault being 7-17 due to the severity of fault; the broken rotor bar was very light (0.12) and the range of this fault was between 0 and 0.2.The figure did not start from zero because there is a 1 sec delay for protection. Careful tuning of AGC is needed for the PID controller to get best results, in

Fig.15, Fig.16 and Fig.17 show the outputs of the PEM (Predictive Error Method) estimator block which estimates linear input-output polynomial models in Simulink for the healthy case, stator short winding and broken rotor bar respectively. The monitoring of the optimal flux is another fault diagnosis indicator in this work which depends on both torque and

The last stage of the operation is the protection. Fig.19 shows the optimal flux and protection mechanism which depends on both torque, flux and on the phase of *Iq*. If this phase is more

The protection circuit as in the Fig.19

induction motors.

**7. Simulation results** 

this work (*Ki*=100, *Kp* = 1 and *Kd*=0).

rotor resistance as well as on the poles of the induction motor.

Fig. 19. Protection and checking of the optimal flux unit

*if Iq bad fluxduetobad torque then stopthe operation* max( ) 180 & > (34)

The scalar control of induction motor drives have many drawbacks including slow response, unsuitable performance, torque ripple and impossibility of operation at all points of speed torque curve, vector control is implemented on an induction motor drive to solve these imperfections.

Three phase sinusoidal voltage is converted to dc voltage with the help of universal diode bridge rectifier. Current source inverters which dominate modern adjustable speed AC drives are not free from certain disadvantages.

In particular the high switching rate needed for good quality of the current fed to the motor cause's losses, electromagnetic interference etc.Accords to the results, the algorithm used is very effective and have been succeeded in maintain both speed and torque.

There are many conclusions can be included due to this work:


#### **9. References**


Wavelet Fault Diagnosis of Induction Motor 361

Douglas, H., Pillay, P., & Ziarani, A. (2003). Detection of broken rotor bars in induction

Levent Eren and Michael J. Devaney (2004). Bearing Damage Detection via Wavelet Packet

Faiz, J., Ebrahimi, B., Asaie, B., Rajabioun, R., & Toliyat, H. (2007). A criterion function for

Gang Niu, Achmad Widodo, Jong-Duk Son, Bo-Suk Yang, Don-Ha Hwang , Dong, Sik Kang

Hamidi, H., Nasiri, A., & Nasiri, F. (2004). Detection and isolation of mixed eccentricity in

J. Antonino-Daviu, M. Riera-Guasp, J. Roger-Folch, F.Martinez-Gimenez, A. Peris (2006).

J. Cusido,L. Romerala, J.A. Ortega, A. Garcia and J.R. Riba. (2010). Wavelet and PDD as fault detection techniques. *Electric Power Systems Resaerch*, Vol.80, No.8, pp 915-924. J.Antonino-Daviu, P.Jover Rodriguez, M.Riera-Guasp M. Pineda-Sanchez, A.Arkkio (2009).

J.L. Silva Neto, Hoang Le-Huy (1996). Fuzzy Logic Based Controller for Induction Motor

Mohamed Boussak and Kamel Jarray (2006). A High Performance Sensorless Indirect Stator

Nirmesh Yadav, Sharad Sharma, Vikram M. Gadre, &ldquo (2004). Wavelet Analysis and

Khalaf Salloum Gaeid, Hew Wooi ping(2010). Diagnosis and Fault Tolerant Control of the

Khan, M., & Rahman, M. (2006). Discrete Wavelet Transform Based Detection of

Kia, S., Henao, H., & Capolino, G.-A. (2009). Diagnosis of Broken-Bar Fault in Induction

Applications. *New Age International Publishers*, ISBN 81-224-1515-6.

*Transactions on Industry Applications*, Vol.45, No.4, pp1395 –1404.

*Drive, IEMDC*, Vol.2, pp. 923 –928.

1249 –1254.

Vol.35, pp.918–928.

Vo.23, pp.2336–2351.

Vol. 53, pp. 41-49.

462 –465.

*Conference*, Vol.2, pp. 1371 –1376.

*Analysis*, Vol.21, No.2, pp.268–279.

Drives. *IEEE, IECON*, pp. 631-634.

*Sciences*, Vol.4 No.2, pp. 227-246.

*Measurement*, Vol.53, No.2, pp. 431-436.

motors using wavelet analysis. *International IEEE Conf. On Electric Machines and* 

Decomposition of the Stator Current. *IEEE Transactions on Instrumentation and* 

broken bar fault diagnosis in induction motor under load variation using wavelet transform. *International Conference on Electrical Machines and Systems*, *ICEMS*, pp.

(2008). Decision level fusion based on wavelet decomposition for induction motor fault diagnosis using transient current signal. *Expert Systems with Applications*,

three phase induction motor via wavelet packet decomposition. *5th Asian Control* 

Application and optimization ofthe discrete wavelet transform for the detection of broken rotor bars in induction machines. *Applied and Computational Harmonic* 

Detection combined faults in induction machines with stator parallel branches through the DWT of the startup current. *Mechanical Systems and Signal Processing*,

Flux Orientation Control of Induction Motor Drive. *IEEE trans. Industrial Electronics*,

Induction Motors Techniques: A review. *Australian Journal of Basic and Applied* 

Disturbances in Induction Motors. *Electrical and Computer Engineering, ICECE*, pp.

Machines Using Discrete Wavelet Transform without Slip Estimation. *IEEE* 


Archana S. Nanoty, and A. R. Chudasama (2008). Vector Control of Multimotor Drive.

Ayaz, E., Ozturk, A., & Seker, S. (2006). Continuous Wavelet Transform for Bearing Damage

Bogalecka, Piotr Kołodziejek and Elz bieta (2009). Broken rotor bar impact on sensorless

*Mathematics in Electrical and Electronic Engineering*, Vol.28, No.3, pp.540-555. BPRA073. (1998). Field Orientated Control of 3-Phase AC-Motors. *Texas Instruments Europe*. C. Combastel, S. Lesecq, S. Petropol, S. Gentil (2002). Model-based and wavelet approaches

Cabal-Yepez, E., Osornio-Rios, R., Romero-Troncoso, R., Razo-Hernandez, J., & Lopez-

Cao Zhitong, Chen Hongping, He Guoguang, Ritchie, E (2001). Rotor fault diagnosis of

Chen, C.-M., & Loparo, K. (1998). Electric fault detection for vector-controlled induction

Cusido, J., Rosero, J., Cusido, M., Garcia, A., Ortega, J. L., & Author, Q. (2007). On-Line

Cusido, J., Rosero, J., Cusido, M., Garcia, A., Ortega, J., & Romeral, L. (2007). On-Line

Cusido, J., Rosero, J., Ortega, J., Garcia, A., & Romeral, L. (2006). Induction Motor Fault

Cusido, J., Rosero, J., Romeral, L., Ortega, J., & Garcia, A. (2006). Fault Detection in

Douglas, H., & Pillay, P. (2005). The impact of wavelet selection on transient motor current

*IEEE Conf.On Power Electronics Specialists, PESC*, pp. 927-932.

*Symposium on Industrial Electronics*, Vol.3, pp. 2406 -2411.

3740.

pp.493–509.

377.

1 - 5.

80 – 85.

Mediterranean, pp. 1130 –1133.

*Computing and FPGAs*, pp. 101 –106.

*Conference,* Vol.6, pp. 3297 –3301*.* 

*Identification and Control*, pp. 477 -482.

*Proceedings of World Academy of Science*, *Engineering and Technology*, Vol.35, pp. 2070-

Detection in Electric Motors. *IEEE Electrotechnical Conference, MELECON*.

control of induction machine. *The International Journal for Computation and* 

to induction motor on-line fault detection. *Control Engineering Practice*, Vol.10, No.5,

Garcia, R. (2009). FPGA-Based Online Induction Motor Multiple-Fault Detection with Fused FFT andWavelet Analysis. *International Conference on Reconfigurable* 

induction motor based on wavelet reconstruction"*Proceedings of the Fifth International Conference on Electrical Machines and Systems*, ICEMS, Vol.1, pp. 374 –

motors using the discrete wavelet transform*. Proceedings of the American Control* 

System for Fault Detection in Induction Machines based on Wavelet Convolution.

System for Fault Detection in Induction Machines Based on Wavelet Convolution. *IEEE Instrumentation and Measurement Technology Conference Proceedings, IMTC*, pp.

Detection by using Wavelet decomposition on dq0 components. *IEEE International* 

Induction Machines by Using Power Spectral Density on the Wavelet Decompositions. *37th IEEE Conference on Power Electronics Specialists PESC*,pp. 1-6. Dimas Anton A, Syafaruddin, Dicky N Wardana, M.H.Purnomo, Takashi Hiyama (2010).

Characterization of Temporary Short Circuit in Induction Motor Winding using Wavelet Analysis. *Proceedings of the International Conference on Modelling,* 

signature analysis*. IEEE International Conference on Electric Machines and Drives*, pp.


Wavelet Fault Diagnosis of Induction Motor 363

R. Salehi Arashloo, A. Jalilian (2010). Design, Implementation and Comparison of Two

Riera-Guasp, M., Antonino-Daviu, J., Pineda-Sanchez, M., Puche-Panadero, R., & Perez-

S. Radhika, G.R. Sabareesh, G. Jagadanand, V. Sugumaran (2010). Precise wavelet for

Saleh, S., Khan, M., & Rahman, M. (2005). Application of a wavelet-based MRA for

Samsi, R., Rajagopalan, V., & Ray, A. (2006). Wavelet-based symbolic analysis for detection

Sayed-Ahmed, A., Sizov, G., & Demerdash, N. (2007). Diagnosis of Inter-Turn Short Circuit

Supangat, R., Ertugrul, N. W., & Grieger, J. (2006). Detection of broken rotor bars in

Supangat, R., Grieger, J., Ertugrul, N., Soong, W., Gray, D., & Hansen, C. (2007). Detection of

Turkmenoglu, M. A. (2010). Wavelet-based switching faults detection in. *IET Science,* 

Yang, C., Cui, G., Wei, Y., & Wang, Y. (2007). Fault Diagnosis for Induction Motors Using

Yasser Gritli, Andrea Stefani,Claudio Rossi, Fiorenzo Filippetti and Abderrazak Chatt

Zhang Jian wen, Zhu Ning-hui, Yang Li, Yao Qi, Lu Qing (2007). A Fault Diagnosis

Zhang, Pinjia; Du, Yi; Habetler, T.G.; Lu, Bin (2011). A Survey of Condition Monitoring and

*China University Mining & Technology*, Vol.17, No. 2, pp.205-209.

*Proceedings on Electric Power Applications*, Vol.153:6, pp. 848 –855.

*Measurement and Technology*, Vol.4, No.6, pp.303–310.

*and Applications, BIC-TA*, pp. 231 – 235.

*Industry Applications*, Vol.47, No.1, pp.34 - 46.

*Industrial Electronics*, Vol.55, No.12, pp.4167 –4180.

*,42nd IAS Annual Meeting*, pp. 2262 – 2268.

*PEDSTC*, pp. 345 –350.

455.

6.

pp. 3032-3038.

pp. 196 – 201.

No.3, pp.751-766.

Wavelet Based Methods for the Detectionof Broken Rotor Bars in Three Phase Induction Motors. *1st Power Electronic & Drive Systems & Technologies Conference,* 

Cruz, J. (2008). A General Approach for the Transient Detection of Slip-Dependent Fault Components Based on the Discrete Wavelet Transform*. IEEE Transactions on* 

current signature in 3φIM. *Expert Systems with applications*, Vol.37, No.1, pp.450–

diagnosing disturbances in a three phase induction motor. *5th IEEE Conf. on Diagnostics for Electric Machines, Power Electronics and Drives, SDEMPED*, pp. 1-

of broken rotor bars in inverter-fed induction motors. *American Control Conference*,

for a Polyphase Induction Motor in Closed-Loop Vector-Controlled Drives. *IEEE* 

induction motor using starting-current analysis and effects of loading. *IEEE* 

Broken Rotor Bar Faults and Effects of Loading in Induction Motors during Rundown*. IEEE International Conference on Electric Machines & Drives, IEMDC*, Vol.1,

the Wavelet Ridge. *Second International Conference on Bio-Inspired Computing: Theories* 

(2011). Experimental validation of doubly fed induction machine electrical faults diagnosis under time-varying conditions. *Electric Power Systems Research*, Vol.81,

Approach for Broken Rotor Bars Based on EMD and Envelope Analysis. *Journal of* 

Protection Methods for Medium-Voltage Induction Motors. *IEEE Transactions on* 


Lee, S. B.; Yang, J.; Hong, J.; Yoo, J.-Y.; Kim, B.; Lee, K.; Yun, J.; Kim, M.; Lee, K.-W.;

Liu, T., & Huang, J. (2005). A novel method for induction motors stator interturn short

Lorand SZABO, JenoBarna DOBAI, Karoly Agoston BIRO (2005). Discrete Wavelet

M. Riera-Guaspa, J. Antonino-Daviua,J. Rusekb, J. Roger Folch (2009). Diagnosis of rotor

M. Sabarimalai Manikandan, and S. Dandapat (2007). Wavelet energy based diagnostic

M. Sushama, G. Tulasi Ram Das and A. Jaya Laxmi (2009). Detection of High-Impedance

Mohammed, O., Abed, N., & Ganu, S. (2006). Modelling and Characterization of Induction

Mohammed, O., Abed, N., & Garni, S. (2007). Modeling and characterization of induction

AN2388 Application Note, (2006). Sensor Field Oriented Control (IFOC) of Three-Phase AC

Ordaz Moreno, A. de Jesus Romero-Troncoso, R. Vite-Frias (2008). Automatic Online

Pineda-Sanchez, M., Riera-Guasp, M., Antonino-Daviu, J. A., Roger-Folch, J., Perez-Cruz, J.,

Ponci, F., Monti, A., Cristaldi, L., & Lazzaroni, M. (2007). Diagnostic of a Faulty Induction

Pons-Llinares, J., Antonino-Daviu, J., Riera-Guasp, M.-S. M., & Climente-Alarcon, V. (2009).

*on Electrical Machines and Systems, ICEMS*, Vol. 3, pp. 2254 – 2258.

*Systems at the Service of Mankind*, Vol. 2, pp. 63-74.

*Transactions on Magnetics*, Vol.42, No.10, pp.3434 –3436.

*Industrial Electronics*, Nol.55, No.5, pp2193 –2202.

*Measurement*, Vol. 56 No.6, pp. 2606 –2615.

*Electronics and Drives, SDEMPED*, pp. 1-7.

Induction Motors Using ST10F276.

*Symposium on Electric Ship Technologies, ESTS*, pp. 250 – 253.

*Electronics*, Vol.26, No.2, pp.389 - 398.

pp.1181–1191.

pp. 80-96.

3, pp.6-12.

8, pp.2065 - 2075.

Wiedenbrug, E. J.; Nandi, S. (2011). A New Strategy for Condition Monitoring of Adjustable Speed Induction Machine Drive Systems. *IEEE Transactions on Power* 

circuit fault diagnosis by Systems, Proceedings *of the Eighth International Conference* 

Transform Based Rotor Faults Detection Method for Induction Machines. *Intelligent* 

asymmetries in induction motors based on the transient extraction of fault components using filtering techniques. *Electric Power Systems Research*, Vol.79, No.8,

distortion measure for ECG. *Biomedical Signal Processing and Control*, Vol.2, No.2,

Faults in Transmission. ARPN *Journal of Engineering and Applied Sciences*, Vol.4, No.

Motor Internal Faults Using Finite-Element and Discrete Wavelet Transforms. *IEEE* 

motor internal faults using finite element and discrete wavelet transforms. *IEEE* 

Diagnosis Algorithm for Broken-Bar Detection on Induction Motors Based on Discrete WaveletTransform for FPGA Implementation. *IEEE Transactions on* 

& Puche-Panadero, R. (2010). Diagnosis of Induction Motor Faults in the Fractional Fourier Domain. *IEEE Transactions on Instrumentation and Measurement*, Vol.59, No

Motor Drive via Wavelet Decomposition. *IEEE Transactions on Instrumentation and* 

Induction motor fault diagnosis based on analytic wavelet transform via Frequency B-Splines. *IEEE International Symposium on Diagnostics for Electric Machines, Power* 


**15** 

*Belgium* 

**Implementation of Induction Motor Drive** 

**Environment for Educational Purpose** 

Christophe Versèle, Olivier Deblecker and Jacques Lobry

*Electrical Engineering Department, University of Mons* 

**Control Schemes in MATLAB/Simulink/dSPACE** 

Squirrel-cage induction motors (IM) are the workhorse of industries for variable speed applications in a wide power range that covers from fractional watt to megawatts. However, the torque and speed control of these motors is difficult because of their nonlinear and complex structure. In the past five decades, a lot of advanced control schemes for IM drive appeared. First, in the 1960's, the principle of speed control was based on an IM model considered just for steady state. Therefore, the so-called "scalar control methods" cannot achieve best performance during transients, which is their major drawback. Afterwards, in the 1970's, different control schemes were developed based on a dynamic model of the IM. Among these control strategies, the vector control which is included in the so-called field oriented control (FOC) methods can be mentioned. The principle of vector control is to control independently the two Park components of the motor current, responsible for producing the torque and flux respectively. In that way, the IM drive operates like a separately excited dc motor drive (where the torque and the flux are controlled by two independent orthogonal variables: the armature and field currents, respectively). Since the 1980's, many researchers have worked on improvements of the FOC and vector control which have become the industry's standard for IM drives. Moreover, these researches led to new control strategies such as direct self control (DSC) or direct torque control (DTC). The principle of DTC is to control directly the stator flux and torque of the IM by applying the

With vector control, FOC, DSC and DTC, the major drawback of the scalar control is overcome because these control schemes are based on a model of the IM which is considered valid for transient conditions (Santisteban & Stephan, 2001). Both DTC and DSC possess high torque dynamics compared to vector control and FOC (Böcker & Mathapati, 2007). However, these two first control techniques have the drawbacks of variable switching frequency and higher torque ripple. The use of space vector pulse-width-modulation (SV-PWM) in conjunction with DTC (called, in this chapter, DTC-space vector modulation or DTC-SVM) has been proposed as a solution to overcome these drawbacks (Rodriguez et

The objective of this chapter is neither to do an overview of all IM control methods, as is done, e.g., in (Böcker & Mathapati, 2007; Santisteban & Stephan, 2001), nor to try to

**1. Introduction** 

appropriate stator voltage space vector.

al., 2004), but sticking to the fundamental concept of DTC.

Pons-Llinares, J.; Antonino-Daviu, J.; Roger-Folch, J.; Morinigo-Sotelo, D.; Duque-Perez, O.; (2010). Eccentricity Diagnosis in Inverter Fed Induction Motors via the Analytic Wavelet Transform of Transient Currents. *XIX International Conference on Electrical Machines (ICEM),* pp.1 -6.

### **Implementation of Induction Motor Drive Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose**

Christophe Versèle, Olivier Deblecker and Jacques Lobry *Electrical Engineering Department, University of Mons Belgium* 

#### **1. Introduction**

364 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Pons-Llinares, J.; Antonino-Daviu, J.; Roger-Folch, J.; Morinigo-Sotelo, D.; Duque-Perez, O.;

*Machines (ICEM),* pp.1 -6.

(2010). Eccentricity Diagnosis in Inverter Fed Induction Motors via the Analytic Wavelet Transform of Transient Currents. *XIX International Conference on Electrical* 

> Squirrel-cage induction motors (IM) are the workhorse of industries for variable speed applications in a wide power range that covers from fractional watt to megawatts. However, the torque and speed control of these motors is difficult because of their nonlinear and complex structure. In the past five decades, a lot of advanced control schemes for IM drive appeared. First, in the 1960's, the principle of speed control was based on an IM model considered just for steady state. Therefore, the so-called "scalar control methods" cannot achieve best performance during transients, which is their major drawback. Afterwards, in the 1970's, different control schemes were developed based on a dynamic model of the IM. Among these control strategies, the vector control which is included in the so-called field oriented control (FOC) methods can be mentioned. The principle of vector control is to control independently the two Park components of the motor current, responsible for producing the torque and flux respectively. In that way, the IM drive operates like a separately excited dc motor drive (where the torque and the flux are controlled by two independent orthogonal variables: the armature and field currents, respectively). Since the 1980's, many researchers have worked on improvements of the FOC and vector control which have become the industry's standard for IM drives. Moreover, these researches led to new control strategies such as direct self control (DSC) or direct torque control (DTC). The principle of DTC is to control directly the stator flux and torque of the IM by applying the appropriate stator voltage space vector.

> With vector control, FOC, DSC and DTC, the major drawback of the scalar control is overcome because these control schemes are based on a model of the IM which is considered valid for transient conditions (Santisteban & Stephan, 2001). Both DTC and DSC possess high torque dynamics compared to vector control and FOC (Böcker & Mathapati, 2007). However, these two first control techniques have the drawbacks of variable switching frequency and higher torque ripple. The use of space vector pulse-width-modulation (SV-PWM) in conjunction with DTC (called, in this chapter, DTC-space vector modulation or DTC-SVM) has been proposed as a solution to overcome these drawbacks (Rodriguez et al., 2004), but sticking to the fundamental concept of DTC.

> The objective of this chapter is neither to do an overview of all IM control methods, as is done, e.g., in (Böcker & Mathapati, 2007; Santisteban & Stephan, 2001), nor to try to

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 367

implementation software and ControlDesk which is the experimentation software. RTI is a Simulink toolbox which provides blocks to configure models (Bojoi et al., 2002). These blocks allow the users to access to the dSPACE hardware. ControlDesk allows, as for it, the users to control and monitor the real-time operation by using a lot of virtual instruments

When using dSPACE, the several steps required to implement a control system on the DS1104 Controller Board are described below. The first step consists in modeling the control system with Simulink and configuring the I/O connections of the Connector Panel thanks to the RTI toolbox. After that, the Real-Time Workshop (RTW) toolbox, using RTI, automatically generates the C-code for the board. Once the execution code has been generated, the dSPACE hardware can perform a real-time experiment which can be controlled from a PC with ControlDesk. ControlDesk can be used to monitor the simulation progress, adjust parameters online, capture data (in a format compatible with Matlab) and communicate easily with the upper computer real-time (Luo et al., 2008). Fig. 2 presents the

The experimental system contains several current and voltage LEM transducers as well as a speed sensor. Moreover, the measured currents must be filtered in order to avoid aliasing when they will be converted into digital signals. Therefore, an anti-aliasing filter is added to each current transducer. The cut-off frequency of this filter is estimated at 500 Hz (an order

*RTI*

*ControlDesk*

*dSPACE*

*dSPACE hardware*

*C compiler*

A simple per phase equivalent circuit model of an IM is interesting for the analysis and the performance prediction at steady-state condition. Such a model is therefore used in this chapter for scalar control. In the two other considered control schemes, namely vector control and DTC-SVM, the transient behaviour of the IM has to be taken into account. So, the dynamic d-q model of the IM based on the Park's transformation is considered. These two well-known types of IM models are available in literature (see, e.g., (Bose, 2002; Mohan,

The considered steady-state IM model, based on complex phasors, is shown in Fig. 3(a). This model is an equivalent circuit with respect to the stator and can easily be established from

The synchronously rotating air gap flux wave generates an electromotive force *Es* which differs from the stator terminal voltage *Vs* by the drop voltage in stator resistance *Rs* and

and building a control window.

connections between Matlab and dSPACE.

of magnitude above the rated frequency of 50 Hz).

*Simulink Model of the control system*

*Matlab*

2001)) and are briefly recalled in this section.

**3.1 Steady-state model of IM** 

**3. IM modeling** 

 

*RTW*

Fig. 2. Connections between Matlab and dSPACE (Mäki et al., 2005)

the short-circuited transformer-equivalent circuit (Bose, 2002).

ameliorate them. Its aim is to present a powerful tool to help students to understand some IM control schemes, namely the scalar control method, the vector control and the DTC-SVM, of a voltage-fed inverter IM drive using a dSPACE platform and Matlab/Simulink environment. First, they determine the IM parameters using a procedure based on the implemented vector control scheme. The accuracy of these measurements is very important because the considered control methods need precise information about the motor parameters (Böcker & Mathapati, 2007). Then, after concluding off-line simulations, they perform some experiments in speed regulation and speed tracking.

The remainder of this chapter is organized as follows. First, the experimental system is presented. Then the IM models used therein are described and the determination of the IM parameters as well as the implementation of the control methods are exposed. Finally, typical results are presented and the educational experience is discussed.

### **2. Experimental system**

The experimental system consists of three essentials parts: (1) the power driver, (2) the control system and (3) the transducers. Fig. 1 shows a synoptic scheme of the experimental platform.

The power driver consists of a voltage-fed inverter and two machines: one squirrel-type IM of rated power 5.5 kW and a dc-machine with a separately excited field winding of rated power 14.6 kW. These machines are mechanically coupled and the dc-machine is used as the load of the IM.

Fig. 1. Synoptic scheme of the experimental platform

The control system is based on the DS1104 Controller Board by dSPACE plugged in a computer. Its development software operates under Matlab/Simulink environment (Bojoi et al., 2002) and is divided into two main components: Real Time Interface (RTI) which is the implementation software and ControlDesk which is the experimentation software. RTI is a Simulink toolbox which provides blocks to configure models (Bojoi et al., 2002). These blocks allow the users to access to the dSPACE hardware. ControlDesk allows, as for it, the users to control and monitor the real-time operation by using a lot of virtual instruments and building a control window.

When using dSPACE, the several steps required to implement a control system on the DS1104 Controller Board are described below. The first step consists in modeling the control system with Simulink and configuring the I/O connections of the Connector Panel thanks to the RTI toolbox. After that, the Real-Time Workshop (RTW) toolbox, using RTI, automatically generates the C-code for the board. Once the execution code has been generated, the dSPACE hardware can perform a real-time experiment which can be controlled from a PC with ControlDesk. ControlDesk can be used to monitor the simulation progress, adjust parameters online, capture data (in a format compatible with Matlab) and communicate easily with the upper computer real-time (Luo et al., 2008). Fig. 2 presents the connections between Matlab and dSPACE.

The experimental system contains several current and voltage LEM transducers as well as a speed sensor. Moreover, the measured currents must be filtered in order to avoid aliasing when they will be converted into digital signals. Therefore, an anti-aliasing filter is added to each current transducer. The cut-off frequency of this filter is estimated at 500 Hz (an order of magnitude above the rated frequency of 50 Hz).

Fig. 2. Connections between Matlab and dSPACE (Mäki et al., 2005)

#### **3. IM modeling**

366 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

ameliorate them. Its aim is to present a powerful tool to help students to understand some IM control schemes, namely the scalar control method, the vector control and the DTC-SVM, of a voltage-fed inverter IM drive using a dSPACE platform and Matlab/Simulink environment. First, they determine the IM parameters using a procedure based on the implemented vector control scheme. The accuracy of these measurements is very important because the considered control methods need precise information about the motor parameters (Böcker & Mathapati, 2007). Then, after concluding off-line simulations, they

The remainder of this chapter is organized as follows. First, the experimental system is presented. Then the IM models used therein are described and the determination of the IM parameters as well as the implementation of the control methods are exposed. Finally,

The experimental system consists of three essentials parts: (1) the power driver, (2) the control system and (3) the transducers. Fig. 1 shows a synoptic scheme of the experimental

The power driver consists of a voltage-fed inverter and two machines: one squirrel-type IM of rated power 5.5 kW and a dc-machine with a separately excited field winding of rated power 14.6 kW. These machines are mechanically coupled and the dc-machine is used as the

Source Semikron converter Induction motor + dc-machine

*CMOS* 0/15 V *TTL* 0/5 V

Signal conditioning

Errors

IGBT's pulses

*Vd <sup>a</sup> <sup>i</sup> bi* Ω*<sup>r</sup>*

*ADC*5 6

*CP*1104 *Dig I O* . / *Slave I O PWM* /

Connector Panel

The control system is based on the DS1104 Controller Board by dSPACE plugged in a computer. Its development software operates under Matlab/Simulink environment (Bojoi et al., 2002) and is divided into two main components: Real Time Interface (RTI) which is the

7 *ADC ADC INC*1 *cf*

*IM DC R*

perform some experiments in speed regulation and speed tracking.

**2. Experimental system** 

*R S T*

0-400 V

PC + DS1104 Controller Board

Power driver Control system

platform.

load of the IM.

typical results are presented and the educational experience is discussed.

*C*

*Vd*

Shielded cable

Fig. 1. Synoptic scheme of the experimental platform

*C*

A simple per phase equivalent circuit model of an IM is interesting for the analysis and the performance prediction at steady-state condition. Such a model is therefore used in this chapter for scalar control. In the two other considered control schemes, namely vector control and DTC-SVM, the transient behaviour of the IM has to be taken into account. So, the dynamic d-q model of the IM based on the Park's transformation is considered. These two well-known types of IM models are available in literature (see, e.g., (Bose, 2002; Mohan, 2001)) and are briefly recalled in this section.

#### **3.1 Steady-state model of IM**

The considered steady-state IM model, based on complex phasors, is shown in Fig. 3(a). This model is an equivalent circuit with respect to the stator and can easily be established from the short-circuited transformer-equivalent circuit (Bose, 2002).

The synchronously rotating air gap flux wave generates an electromotive force *Es* which differs from the stator terminal voltage *Vs* by the drop voltage in stator resistance *Rs* and stator leakage inductance *ls*. The stator current *Is* consists of the magnetizing current *Im* and the rotor current *Ir* (referred to the stator in Fig. 3(a)) which is given by (Bose, 2002):

$$I\_r = \frac{E\_s}{\frac{R\_r}{s} + j \cdot 2 \cdot \pi \cdot f \cdot l\_r} \,\tag{1}$$

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 369

Applying the usual space vector transformation to a three-phase system, it is possible to obtain the following set of equations, based on space vectors, that describes the IM dynamic

= ⋅+ +⋅ ⋅ *<sup>s</sup>*

( ) <sup>1</sup> = = ⋅ + + ⋅ − ⋅Ω ⋅ 0 *r r*

where *ω1* is the rotational speed of the d-q reference frame, **vs** and **vr** are respectively the stator and rotor voltages, **is** and **ir** are respectively the stator and rotor currents and **ψs** and

The electromagnetic torque developed by the IM can be expressed in terms of flux and current space vector by several analog expressions. In this chapter, two of them are useful:

=⋅⋅ ⋅ × *<sup>m</sup>*

*r*

2

*<sup>L</sup> T P*

*e*

2

*<sup>L</sup> T P*

σ*<sup>m</sup>*

*e*

[ ] <sup>3</sup>

[ ] <sup>3</sup>

*s r*

2

*s r L L L*

=⋅⋅ ⋅ × σ ⋅ ⋅ *m*

where *Ls* (*Ls* = *Lm* + *ls*) and *Lr* (*Lr* = *Lm* + *lr*) are respectively the stator and rotor inductances

= −<sup>1</sup> <sup>⋅</sup>

The speed *Ωr* cannot normally be treated as a constant (Bose, 2002). It can be related to

<sup>Ω</sup> = ⋅ + ⋅Ω *<sup>r</sup> e r <sup>d</sup> TJ B*

where *J* and *B* denote respectively the total inertia and total damping of the IM coupled to

Finally, the dynamic model of the IM is shown in Fig. 4 in its complex form for compact

Scalar control is due to magnitude variation of the control variables only and disregards the coupling effect in the machine (Bose, 2002). Although having inferior performances than the

*<sup>d</sup> R jP dt* **r r r r**

*<sup>d</sup> R j dt* **s s s s**

ω1

ω

**<sup>ψ</sup> v i <sup>ψ</sup>** (5)

**ψs s sr** =⋅+ ⋅ + *l L s m* **i ii** ( ) (7)

**ψr r sr** =⋅+ ⋅ + *l L r m* **i ii** ( ) (8)

*<sup>L</sup>* **ψr s <sup>i</sup>** (9)

*L L* **ψ ψ s r** (10)

*dt* (12)

. (11)

**<sup>ψ</sup> v i <sup>ψ</sup>** (6)

behavior in a stator fixed coordinate system (Rodrigez et al., 2004):

**ψr** are respectively the stator and rotor fluxes.

and *σ* is the leakage factor of the IM defined as:

torque using the IM drive mechanical equation which is:

**3.2 Dynamic model of IM** 

and

the dc-machine.

representation.

**4. Control schemes** 

**4.1 Scalar control** 

where *Rr* is the rotor resistance (referred to the stator), *lr* is the rotor leakage inductance (referred to the stator), *s* is the slip and *f* is the stator supply frequency. Finally, in Fig. 3(a), *Lm* is the magnetizing inductance and *Rm* is the equivalent resistance for the core loss.

The equivalent circuit of Fig. 3(a) can be further simplified as shown in Fig. 3(b) where the resistance *Rm* has been dropped and the inductance *ls* has been shifted to the other side of the inductance *Lm*.

Fig. 3. (a) Equivalent circuit with respect to the stator and (b) Approximate per phase equivalent circuit

This approximation is easily justified as the value of the magnetizing inductance is, at least, one order of magnitude greater than the value of the stator leakage inductance. Moreover, the performance prediction by the approximate equivalent circuit typically varies within 5% from that of the actual machine (Bose, 2002).

Based on the equivalent circuit of Fig. 3(b), it can be demonstrated (see, e.g., (Bose, 2002)) the following expression of the electromagnetic torque:

$$T\_e = 3 \cdot P \cdot R\_r \cdot \frac{\left(\text{s} \cdot \text{\textbullet}\right) \cdot \text{\textbullet}^2}{R\_r^2 + \left(\text{s} \cdot \text{\textbullet}\right)^2 \cdot \left(l\_s + l\_r\right)^2} \tag{2}$$

where *P* is the number of poles pairs and *ψ* is the stator flux. It should also be emphasized that for small slip values, (2) can be rewritten as:

$$T\_s = \frac{3 \cdot P \cdot \boldsymbol{\upmu}^2}{R\_r} \cdot \left(\mathbf{s} \cdot \boldsymbol{\upalpha}\right) = K\_r \cdot \left(\mathbf{s} \cdot \boldsymbol{\upalpha}\right) \tag{3}$$

where *KT* is a constant if the flux is kept constant.

Finally, for steady-state operation of IM, the rotational speed Ω*r* can be calculated by:

$$
\Delta \Omega\_r = (1 - s) \cdot \frac{2 \cdot \pi \cdot f}{P} \cdot \tag{4}
$$

#### **3.2 Dynamic model of IM**

368 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

stator leakage inductance *ls*. The stator current *Is* consists of the magnetizing current *Im* and

2 *<sup>s</sup> <sup>r</sup> <sup>r</sup> <sup>r</sup> <sup>E</sup> <sup>I</sup> <sup>R</sup> j fl*

where *Rr* is the rotor resistance (referred to the stator), *lr* is the rotor leakage inductance (referred to the stator), *s* is the slip and *f* is the stator supply frequency. Finally, in Fig. 3(a),

The equivalent circuit of Fig. 3(a) can be further simplified as shown in Fig. 3(b) where the resistance *Rm* has been dropped and the inductance *ls* has been shifted to the other side of

*Rr*

( ) *a* ( ) *b*

*mI Us*

Fig. 3. (a) Equivalent circuit with respect to the stator and (b) Approximate per phase

This approximation is easily justified as the value of the magnetizing inductance is, at least, one order of magnitude greater than the value of the stator leakage inductance. Moreover, the performance prediction by the approximate equivalent circuit typically varies within 5%

Based on the equivalent circuit of Fig. 3(b), it can be demonstrated (see, e.g., (Bose, 2002)) the

<sup>2</sup> <sup>2</sup> <sup>2</sup> <sup>3</sup> *e r*

where *P* is the number of poles pairs and *ψ* is the stator flux. It should also be emphasized

() () <sup>2</sup> <sup>3</sup>⋅ ⋅ = ⋅⋅ = ⋅⋅

( ) <sup>2</sup> <sup>1</sup> ⋅ ⋅ π

*<sup>f</sup> <sup>s</sup> <sup>P</sup>*

*<sup>P</sup> T s Ks*

Finally, for steady-state operation of IM, the rotational speed Ω*r* can be calculated by:

Ω= − ⋅ *<sup>r</sup>*

ω

⋅ω ⋅ψ =⋅⋅ ⋅

ψ *e T*

*r*

*R*

( )

*s*

( ) ( )

*r s r*

+ ⋅ω ⋅ +

*R s ll*

2

 ω

+ ⋅ ⋅π⋅ ⋅

. (1)

*<sup>s</sup> I <sup>r</sup> I*

*mI*

*Es*

*Rs*

*<sup>s</sup> <sup>r</sup> l l* +

(2)

(3)

. (4)

*Lm Rr*

*s*

the rotor current *Ir* (referred to the stator in Fig. 3(a)) which is given by (Bose, 2002):

*s*

*Lm* is the magnetizing inductance and *Rm* is the equivalent resistance for the core loss.

=

*Rm*

*rl*

*Lm*

*T PR*

*<sup>s</sup> Us Es*

from that of the actual machine (Bose, 2002).

following expression of the electromagnetic torque:

that for small slip values, (2) can be rewritten as:

where *KT* is a constant if the flux is kept constant.

*<sup>s</sup> I <sup>r</sup> I*

the inductance *Lm*.

equivalent circuit

*Rs sl*

Applying the usual space vector transformation to a three-phase system, it is possible to obtain the following set of equations, based on space vectors, that describes the IM dynamic behavior in a stator fixed coordinate system (Rodrigez et al., 2004):

$$\mathbf{v}\_\* = R\_\* \cdot \mathbf{i}\_\* + \frac{d\Psi\_\*}{dt} + j \cdot \boldsymbol{\alpha}|\cdot \Psi\_\* \tag{5}$$

$$\mathbf{v}\_r = 0 = R\_r \cdot \mathbf{i}\_r + \frac{d\Psi\_r}{dt} + j \cdot \left(\alpha \!\!/ - P \cdot \Omega\_r\right) \cdot \Psi\_r \tag{6}$$

$$\mathbf{\dot{\varphi}}\_{\*} = l\_{\circ} \cdot \mathbf{i}\_{\*} + L\_{m} \cdot \left(\mathbf{i}\_{\*} + \mathbf{i}\_{\*}\right) \tag{7}$$

$$
\Psi\_r = l\_r \cdot \mathbf{i}\_r + L\_m \cdot \left(\mathbf{i}\_s + \mathbf{i}\_r\right) \tag{8}
$$

where *ω1* is the rotational speed of the d-q reference frame, **vs** and **vr** are respectively the stator and rotor voltages, **is** and **ir** are respectively the stator and rotor currents and **ψs** and **ψr** are respectively the stator and rotor fluxes.

The electromagnetic torque developed by the IM can be expressed in terms of flux and current space vector by several analog expressions. In this chapter, two of them are useful:

$$T\_\star = \frac{3}{2} \cdot P \cdot \frac{L\_\star}{L\_r} \cdot \left[\Psi\_r \times \mathbf{i}\_\star\right] \tag{9}$$

and

$$T\_\circ = \frac{3}{2} \cdot P \cdot \frac{L\_n}{\sigma \cdot L\_\circ \cdot L\_r} \cdot \left[\Psi\_\circ \times \Psi\_\circ\right] \tag{10}$$

where *Ls* (*Ls* = *Lm* + *ls*) and *Lr* (*Lr* = *Lm* + *lr*) are respectively the stator and rotor inductances and *σ* is the leakage factor of the IM defined as:

$$\sigma = \mathrm{l} - \frac{L\_n^2}{L\_s \cdot L\_r} \cdot \mathrm{l} \tag{11}$$

The speed *Ωr* cannot normally be treated as a constant (Bose, 2002). It can be related to torque using the IM drive mechanical equation which is:

$$T\_e = J \cdot \frac{d\varDelta\_r}{dt} + B \cdot \varDelta\_r \tag{12}$$

where *J* and *B* denote respectively the total inertia and total damping of the IM coupled to the dc-machine.

Finally, the dynamic model of the IM is shown in Fig. 4 in its complex form for compact representation.

#### **4. Control schemes**

#### **4.1 Scalar control**

Scalar control is due to magnitude variation of the control variables only and disregards the coupling effect in the machine (Bose, 2002). Although having inferior performances than the

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 371

becomes negligible when the frequency grows. Finally, the *f\** command signal is integrated

<sup>0</sup> 0.5 <sup>1</sup> 1.5 <sup>0</sup>

\* *Us*

\* θ

ψ

= constant constant *Us* = →

*bf*

*SV PWM* − *VSI IM*

*Tem*

[p.u.] *<sup>b</sup> f f*

Fig. 5. Torque-speed curves at constant Volts/Hz region and in flux-weakening region

Note that an improvement of the open-loop Volts/Hz control is the close-loop speed control

*f*

The objective of vector control of IM is to allow an IM to be controlled just like a separately excited dc motor drive (where the torque and the flux are controlled by two independent orthogonal variables: the armature and field currents, respectively). This is achieved by a

*\** produce the sinusoidal

ψ

to generate the angle signal *θ\** which in combination with *Us*

voltages.

Without *Uboost*

0.2

0.4

0.6

 [p.u.]

*e em T T*

<sup>+</sup> *Uboost*

\* *f*

**4.2 Vector control** 

0.8

1

With *Uboost*

by slip regulation (see, e.g., (Bose, 2002)).

*Us*

*G*

+

Fig. 6. Open-loop Volts/Hz control of IM

ψ =

*bf*

ψ

constant

Fig. 4. Dynamic model of IM

two other considered control schemes, it is considered in this chapter because it has been widely used in industry and it is easy to implement. So, this is a good basis for the study of IM drive. Among the several scalar control techniques, the open loop Volts/Hz control of IM, which is the most popular method of speed control of a voltage-fed inverter IM, is used. For adjustable speed applications, frequency control appears to be natural considering (4). However, the stator voltage is required to be proportional to frequency so that the flux:

$$\varphi = \frac{U\_s}{2 \cdot \pi \cdot f} \tag{13}$$

remains constant (normally equal to its rated value), neglecting the stator resistance voltage drop. Indeed, if an attempt is made to reduce the frequency at the rated stator voltage, the flux will tend to saturate, causing excessive stator current and distortion of the flux waveforms (Bose, 2002). Therefore, in the region below the base frequency *fb* (which can be different from the rated frequency), a reduction of the frequency should be accompanied by the proportional reduction of the stator voltage in order to maintain the flux to its rated value. Fig. 5 shows the torque-speed curves. It can be shown in this figure that in the region below the base frequency, the torque-speed curves are identical to each other and that the maximum torque *Tem* (which can be deduced from (2)) is preserved regardless of the frequency, except in the low-frequency region where the stator resistance voltage drop must be compensated by an additional boost voltage *Uboost* in order to restore the *Tem* value (as shown in Fig. 5).

Once the frequency increases beyond the base frequency, the stator voltage is kept constant and, therefore, the flux decreases. As shown in Fig. 5, in this flux-weakening region, the torque-speed curves differ from the previous ones and the developed torque decreases. An advantage of the flux-weakening mode of operation is that it permits to increase the speed range of the IM.

Fig. 6 shows the block diagram of the Volts/Hz speed control method. The frequency *f\**, which is approximately equal to the speed neglecting the slip, is the primary control variable. The secondary control variable is the stator voltage *Us \** which is directly generated from the frequency command using the gain factor *G* so that the flux remains constant or a flux-weakening mode of operation is achieved. Moreover, at low-frequencies, corresponding to a low rotational speed of the IM, the boost voltage is added in order to have the maximum torque available at zero speed. Note that the effect of this boost voltage becomes negligible when the frequency grows. Finally, the *f\** command signal is integrated to generate the angle signal *θ\** which in combination with *Us \** produce the sinusoidal voltages.

Fig. 5. Torque-speed curves at constant Volts/Hz region and in flux-weakening region

Note that an improvement of the open-loop Volts/Hz control is the close-loop speed control by slip regulation (see, e.g., (Bose, 2002)).

Fig. 6. Open-loop Volts/Hz control of IM

#### **4.2 Vector control**

370 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

( ) <sup>1</sup> *r rdq j P* ⋅ − ⋅Ω ⋅

*sdq i rdq*

ω

ψ*rdq* ψ

(13)

*\** which is directly generated

*i*

*Rs sl rl Rr*

two other considered control schemes, it is considered in this chapter because it has been widely used in industry and it is easy to implement. So, this is a good basis for the study of IM drive. Among the several scalar control techniques, the open loop Volts/Hz control of IM, which is the most popular method of speed control of a voltage-fed inverter IM, is used. For adjustable speed applications, frequency control appears to be natural considering (4). However, the stator voltage is required to be proportional to frequency so that the flux:

<sup>2</sup> <sup>=</sup> ⋅ ⋅

remains constant (normally equal to its rated value), neglecting the stator resistance voltage drop. Indeed, if an attempt is made to reduce the frequency at the rated stator voltage, the flux will tend to saturate, causing excessive stator current and distortion of the flux waveforms (Bose, 2002). Therefore, in the region below the base frequency *fb* (which can be different from the rated frequency), a reduction of the frequency should be accompanied by the proportional reduction of the stator voltage in order to maintain the flux to its rated value. Fig. 5 shows the torque-speed curves. It can be shown in this figure that in the region below the base frequency, the torque-speed curves are identical to each other and that the maximum torque *Tem* (which can be deduced from (2)) is preserved regardless of the frequency, except in the low-frequency region where the stator resistance voltage drop must be compensated by an additional boost voltage *Uboost* in order to restore the *Tem* value (as

Once the frequency increases beyond the base frequency, the stator voltage is kept constant and, therefore, the flux decreases. As shown in Fig. 5, in this flux-weakening region, the torque-speed curves differ from the previous ones and the developed torque decreases. An advantage of the flux-weakening mode of operation is that it permits to increase the speed

Fig. 6 shows the block diagram of the Volts/Hz speed control method. The frequency *f\**, which is approximately equal to the speed neglecting the slip, is the primary control

from the frequency command using the gain factor *G* so that the flux remains constant or a flux-weakening mode of operation is achieved. Moreover, at low-frequencies, corresponding to a low rotational speed of the IM, the boost voltage is added in order to have the maximum torque available at zero speed. Note that the effect of this boost voltage

variable. The secondary control variable is the stator voltage *Us*

π

*Us f*

ψ

*Lm*

<sup>1</sup> *sdq j* ⋅ ⋅ ω ψ

> ψ*sdq*

Fig. 4. Dynamic model of IM

shown in Fig. 5).

range of the IM.

*sdq v*

The objective of vector control of IM is to allow an IM to be controlled just like a separately excited dc motor drive (where the torque and the flux are controlled by two independent orthogonal variables: the armature and field currents, respectively). This is achieved by a proper choice of the so-called Park's rotating frame (*d-q* axes) in which the space vector equations (5)-(8) are separated into *d*-*q* ones. In the *d-q* frame, (9) can be rewritten:

$$T\_s = \frac{3}{2} \cdot P \cdot \frac{L\_n}{L\_r} \cdot \left(\left\|\boldsymbol{\nu}\_{rd} \cdot \boldsymbol{i}\_{sq} - \boldsymbol{\Psi}\_{rq} \cdot \boldsymbol{i}\_{sd}\right\|\right) \tag{14}$$

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 373

u(2)/(u(1)+0.01) <sup>+</sup>

+

T

2\*pi

z-1 mod

*dt* (20)

. (21)

1 i\_mr

2 omega\_1

> 3 mu

1

i\_sd

2

i\_sq

omega\_r

 Discrete 1st-Order Discrete Filter

Tr

3 P

where *Ts* (*Ts* = *Ls*/*Rs*) is the stator time constant.

Fig. 7. Flux observer implemented in Matlab/Simulink/dSPACE environment

'

'

compensator" block is incorporated in the vector control scheme.

controllers are tuned by the pole-zero compensation technique.

estimators of these two quantities (Trzynadlowski et al., 1999).

to a reference value (its rated value as mentioned above).

The *d*-axis reference current, *i\**

**4.3 DTC-SVM** 

current) whereas the *q*-axis current, *i\**

In the *d*-axis (respectively *q*-axis) voltage equation, only the first two terms of the right-hand side are due to the *d*-component (respectively *q*-component) of the stator current, *isd* (respectively *isq*). The other terms, due to *imr* and *isq* (respectively *imr* and *isd*) can be considered as disturbances (Mohan, 2001). So, (18) and (19) can simply be rewritten as:

> = ⋅ +⋅⋅ σ*sd*

 = ⋅ +⋅⋅ σ*sq*

Note that, in order to account for the terms considered as disturbances, a "decoupling

The vector control scheme is shown in Fig. 8 with the reference values indicated by '\*'. This control scheme matches to a direct vector control strategy in which the rotor flux is assigned

the IM. The reference currents in the *d*- and *q*-axes are generated by a flux control loop and a speed control loop, respectively. The *d*-axis and *q*-axis voltages, *v'sd* and *v'sq*, are calculated from the given reference currents and using (20) and (21). To obtain these command signals, two PI controllers (in two inner current loops) are employed and it is assumed that the compensation is perfect. The terms considered as disturbances are then added to the voltages *v'sd* and *v'sq* in the "decoupling compensator" block. Hence, the *d*-axis and *q*-axis reference voltages, *vsd* and *vsq*, are obtained. Finally, these reference voltages are converted into the reference three-phase voltages *va*, *vb* and *vc* and supplied (in an approximate fashion over the switching period) by the VSI using the SV-PWM technique. Note that the four

Direct torque control of IM consists in closed-loop control of the stator flux and torque using

*di*

*dt*

*sd*, controls the rotor flux (through the rotor magnetizing

*sq*, controls the electromagnetic torque developed by

*sd s sd s di v Ri T*

*sq s sq s*

*v Ri T*

where *ψrd* and *ψrq* are the rotor fluxes and *isd* and *isq* are the stator current in the dq-axes. In this chapter, a direct vector control strategy in which the *d-q* frame rotates along with the rotor flux (which is maintained at its rated value) is considered. The *d*-axis is aligned with the direction of the rotor flux. Therefore, the *q*-axis component of the rotor flux is null and the expression of the electromagnetic torque simplifies as follows:

$$T\_s = \frac{3}{2} \cdot P \cdot \frac{L\_m^2}{L\_r} \cdot i\_{mr} \cdot i\_{sq} \tag{15}$$

where *imr* is the rotor magnetizing current defined by:

$$
\Psi\_{rd} = L\_n \cdot \mathbf{i}\_{nr} \cdot \tag{16}
$$

Using (6) and (7) projected in the *d-q* frame as well as (16), the rotor magnetizing current can be expressed in terms of the *d*-axis stator current as follows:

$$i\_{\nu\nu} + T\_r \cdot \frac{di\_{\nu\nu}}{dt} = i\_{\nu\nu} \tag{17}$$

where *Tr* (*Tr* = *Lr*/*Rr*) is the rotor time constant.

From (15) and (17), one can conclude that the *d*-axis stator current (*isd*) is controlled to maintain the flux at its rated value whereas the *q*-axis stator current (*isq*) is varied to achieve the desired electromagnetic torque. Therefore, the IM can be controlled just like a separately excited dc motor drive because the *d*- and *q*-axes are orthogonal.

Note that, at each sample time, direct vector control of the IM requires to know the module and phase of the rotor flux. Therefore, a flux observer is used. Its task is to provide an estimate of the rotor flux (or rotor magnetizing current) in module and phase using the measured stator currents (converted in *d-q* components) and speed.

Once a flux estimate is available, the torque can easily be computed using (15). The flux observer implemented in the Simulink/dSPACE environment is shown in Fig. 7. As can be seen in this figure, the phase *μ* of the rotor magnetizing current is obtained by integrating the angular speed *ω1* of the *d*-*q* axes in the fixed stator reference frame.

In vector control, the IM is fed by a Voltage Supply Inverter (VSI) and a SV-PWM is used to produce the instantaneous generation of the commanded stator voltages. The required *d-*axis and *q*-axis stator voltages (*vsd* and *vsq*) that the VSI must supply to the IM, in order to make the stator currents (i*sd* and i*sq*) equal to their reference values are expressed as follows:

$$\mathbf{v}\_{\rm{ul}} = R\_{\rm{r}} \cdot \left[ i\_{\rm{ul}} + T\_{\rm{r}} \cdot \left( \sigma \cdot \frac{d\mathbf{i}\_{\rm{ul}}}{dt} + (1 - \sigma) \cdot \frac{d\mathbf{i}\_{\rm{av}}}{dt} - \sigma \cdot \alpha\_{\rm{l}} \cdot \mathbf{i}\_{\rm{v}} \right) \right] \tag{18}$$

$$\mathbf{v}\_{\text{eq}} = R\_{\text{s}} \cdot \left[ \mathbf{i}\_{\text{eq}} + T\_{\text{s}} \cdot \left( \boldsymbol{\sigma} \cdot \frac{d\mathbf{i}\_{\text{eq}}}{dt} + (\mathbf{l} - \boldsymbol{\sigma}) \cdot \boldsymbol{\alpha}\_{\text{i}} \cdot \mathbf{i}\_{\text{m}} - \boldsymbol{\sigma} \cdot \boldsymbol{\alpha}\_{\text{i}} \cdot \mathbf{i}\_{\text{ul}} \right) \right] \tag{19}$$

Fig. 7. Flux observer implemented in Matlab/Simulink/dSPACE environment

where *Ts* (*Ts* = *Ls*/*Rs*) is the stator time constant.

372 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

proper choice of the so-called Park's rotating frame (*d-q* axes) in which the space vector

( ) <sup>3</sup> <sup>2</sup> =⋅⋅ ⋅ ⋅ − ⋅ ψ

 *<sup>m</sup> e rd sq rq sd r <sup>L</sup> TP i i L*

where *ψrd* and *ψrq* are the rotor fluxes and *isd* and *isq* are the stator current in the dq-axes. In this chapter, a direct vector control strategy in which the *d-q* frame rotates along with the rotor flux (which is maintained at its rated value) is considered. The *d*-axis is aligned with the direction of the rotor flux. Therefore, the *q*-axis component of the rotor flux is null and

> <sup>2</sup> 3 <sup>2</sup> =⋅⋅ ⋅ ⋅ *<sup>m</sup> e mr sq r <sup>L</sup> T P ii L*

Using (6) and (7) projected in the *d-q* frame as well as (16), the rotor magnetizing current can

+⋅ = *mr mr r sd di iT i*

From (15) and (17), one can conclude that the *d*-axis stator current (*isd*) is controlled to maintain the flux at its rated value whereas the *q*-axis stator current (*isq*) is varied to achieve the desired electromagnetic torque. Therefore, the IM can be controlled just like a separately

Note that, at each sample time, direct vector control of the IM requires to know the module and phase of the rotor flux. Therefore, a flux observer is used. Its task is to provide an estimate of the rotor flux (or rotor magnetizing current) in module and phase using the

Once a flux estimate is available, the torque can easily be computed using (15). The flux observer implemented in the Simulink/dSPACE environment is shown in Fig. 7. As can be seen in this figure, the phase *μ* of the rotor magnetizing current is obtained by integrating

In vector control, the IM is fed by a Voltage Supply Inverter (VSI) and a SV-PWM is used to produce the instantaneous generation of the commanded stator voltages. The required *d-*axis and *q*-axis stator voltages (*vsd* and *vsq*) that the VSI must supply to the IM, in order to make the stator currents (i*sd* and i*sq*) equal to their reference values are expressed as follows:

> *sd s sd s sq di di v Ri T <sup>i</sup>*

*sq s sq s mr sd di v Ri T i i*

( ) <sup>1</sup> <sup>1</sup> = ⋅ +⋅ ⋅ +− ⋅ −⋅ ⋅

( ) 1 1 <sup>1</sup> = ⋅ +⋅ ⋅ +− ⋅ ⋅ −⋅ ⋅

 σ ω

 σ

*sd mr*

*sq*

 σω

> σω

*dt dt* (18)

*dt* (19)

ψ

the expression of the electromagnetic torque simplifies as follows:

where *imr* is the rotor magnetizing current defined by:

where *Tr* (*Tr* = *Lr*/*Rr*) is the rotor time constant.

be expressed in terms of the *d*-axis stator current as follows:

excited dc motor drive because the *d*- and *q*-axes are orthogonal.

measured stator currents (converted in *d-q* components) and speed.

the angular speed *ω1* of the *d*-*q* axes in the fixed stator reference frame.

σ

σ

 ψ (14)

(15)

= ⋅ *rd m mr L i* . (16)

*dt* (17)

equations (5)-(8) are separated into *d*-*q* ones. In the *d-q* frame, (9) can be rewritten:

> In the *d*-axis (respectively *q*-axis) voltage equation, only the first two terms of the right-hand side are due to the *d*-component (respectively *q*-component) of the stator current, *isd* (respectively *isq*). The other terms, due to *imr* and *isq* (respectively *imr* and *isd*) can be considered as disturbances (Mohan, 2001). So, (18) and (19) can simply be rewritten as:

$$\mathbf{v}"\_{\rm{ad}} = \mathbf{R}\_{\rm{x}} \cdot \left[ i\_{\rm{ad}} + \boldsymbol{\sigma} \cdot \boldsymbol{T}\_{\rm{s}} \cdot \frac{d\mathbf{i}\_{\rm{ad}}}{dt} \right] \tag{20}$$

$$\mathbf{v}'\_{\
u} = R\_s \cdot \left[ i\_{\
u} + \boldsymbol{\sigma} \cdot T\_s \cdot \frac{d i\_{\
u}}{d t} \right]. \tag{21}$$

Note that, in order to account for the terms considered as disturbances, a "decoupling compensator" block is incorporated in the vector control scheme.

The vector control scheme is shown in Fig. 8 with the reference values indicated by '\*'. This control scheme matches to a direct vector control strategy in which the rotor flux is assigned to a reference value (its rated value as mentioned above).

The *d*-axis reference current, *i\* sd*, controls the rotor flux (through the rotor magnetizing current) whereas the *q*-axis current, *i\* sq*, controls the electromagnetic torque developed by the IM. The reference currents in the *d*- and *q*-axes are generated by a flux control loop and a speed control loop, respectively. The *d*-axis and *q*-axis voltages, *v'sd* and *v'sq*, are calculated from the given reference currents and using (20) and (21). To obtain these command signals, two PI controllers (in two inner current loops) are employed and it is assumed that the compensation is perfect. The terms considered as disturbances are then added to the voltages *v'sd* and *v'sq* in the "decoupling compensator" block. Hence, the *d*-axis and *q*-axis reference voltages, *vsd* and *vsq*, are obtained. Finally, these reference voltages are converted into the reference three-phase voltages *va*, *vb* and *vc* and supplied (in an approximate fashion over the switching period) by the VSI using the SV-PWM technique. Note that the four controllers are tuned by the pole-zero compensation technique.

#### **4.3 DTC-SVM**

Direct torque control of IM consists in closed-loop control of the stator flux and torque using estimators of these two quantities (Trzynadlowski et al., 1999).

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 375

Based on the previous expression, it is clear that it is possible to achieve machine torque control directly by actuating over the angle *δ* (Rodriguez et al., 2004). DTC is founded on

Due to slow rotor flux dynamic, the easiest way to change *δ* is to force a variation in the stator flux. Neglecting the effect of the voltage drop across the stator resistance, the stator flux vector in (5) is the time integral of the stator voltage vector. Hence, for sampling time Δ*t*

which means that the stator flux can be changed in accordance with the stator voltage vector

In the conventional DTC drive, the flux and torque magnitude errors are applied to hysteresis comparators. The outputs of these comparators are used to select the appropriate stator voltage vector to apply to the IM by means of a pre-designed look-up table. This scheme is simple and robust but it has certain drawbacks such as variable switching frequency and large current and torque ripples. Note that these ripples are imposed by the

In this chapter, the conventional DTC scheme is not considered but the so-called DTC-SVM scheme, which is discussed in details in (Rodriguez et al., 2004) and briefly presented below, is used. The objective of this alternative DTC scheme is to select the exact stator voltage vector that changes the stator flux vector according to the *δ* angle reference (calculated from the torque reference), while keeping the stator flux magnitude constant.

The DTC-SVM scheme is shown in Fig. 9 with the reference values once again indicated by '\*'. In this scheme, the torque reference is obtained from the speed reference thanks to the same speed controller as the one used in vector control. The error between the estimated torque and its reference value is processed through a PI controller to calculate the *δ* angle. From this angle, as well as the module of the stator flux (imposed at its rated value) and the estimated phase of

( ) ( ) \* \* = ⋅ +∠ + ⋅ ⋅ +∠ cos

The error between this reference quantity and the estimated stator flux is then divided by Δ*t*, according to (24), in order to obtain the reference stator voltage vector. An approximation of that vector (over the switching period) is then supplied to the IM by the

As explained above, the stator and rotor fluxes as well as the torque must be estimated. This is realized by the block "Torque and flux estimators". The rotor flux estimator is based on

( ) ( ) <sup>1</sup> = ⋅ − − ⋅ ⋅ ⋅Ω ⋅ ⋅ <sup>1</sup> *<sup>m</sup> r r*

= ⋅ ⋅+ ⋅

 *<sup>r</sup> s s*

*<sup>L</sup> L i*

*m*

σ

 δ*j* sin **\* ψψ ψ ψ ψ s s r s <sup>r</sup>** (25)

*<sup>L</sup> j T P dt <sup>T</sup>* **ψr s <sup>r</sup> <sup>i</sup> <sup>ψ</sup>** . (26)

*<sup>L</sup>* **ψ ψ s r** . (27)

SV-PWM technique is used to apply the required stator voltage vector to the IM.

the rotor flux, the block "Flux calculator" gives the stator flux reference according to:

δ

*r*

Δ ≈Δ ⋅ *t* **ψs s v** (24)

where *δ* is the angle between the stator and rotor fluxes.

sufficiently small, (5) can be approximated as (Rodriguez et al., 2004):

hysteresis-band width chosen for the hysteresis comparators.

this consideration.

supplied to the IM.

VSI using SV-PWM.

the IM model and implemented as follows:

The stator flux is, as for it, derived from:

Fig. 8. Vector control scheme

From the IM dynamic model (5)-(8), the following equation can be obtained:

ψ*r*

$$\frac{d\Psi\_r}{dt} + \left(\frac{1}{\sigma \cdot T\_r} - j \cdot P \cdot \Omega\_r \right) \cdot \Psi\_r = \frac{L\_n}{\sigma \cdot T\_r \cdot L\_s} \cdot \Psi\_s \tag{22}$$

which shows that the relationship between the stator and rotor fluxes is of low-pass filter type with time constant *σ·Tr* (Casadei et al., 2005). Otherwise stated, the rotor flux will follow a change in the stator flux with some delay (typically of the order of a few tenths of ms).

Equation (10) can also be rewritten as follows:

$$T\_s = \frac{3}{2} \cdot P \cdot \frac{L\_w}{\sigma \cdot L\_s \cdot L\_r} \cdot \left| \boldsymbol{\nu}\_s \cdot \boldsymbol{\nu}\_r \cdot \sin \delta \right. \tag{23}$$

where *δ* is the angle between the stator and rotor fluxes.

374 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

*SV PWM* − (,,) (,) *abc dq* →

*sd i sq i*

*ai <sup>b</sup>*

*i*

 *Speed controller*

−

Ω*r*

<sup>1</sup> + − ⋅ ⋅Ω ⋅ = ⋅ <sup>⋅</sup> ⋅ ⋅

which shows that the relationship between the stator and rotor fluxes is of low-pass filter type with time constant *σ·Tr* (Casadei et al., 2005). Otherwise stated, the rotor flux will follow a change in the stator flux with some delay (typically of the order of a few

> <sup>3</sup> sin <sup>2</sup> =⋅⋅ ⋅ ⋅ ⋅ ⋅ ⋅

*m e s r s r*

σ

*<sup>L</sup> T P*

ψ ψ

*d L j P dt T T L*

*r r r s*

 σ *m*

δ

*L L* (23)

**r s <sup>ψ</sup> ψ ψ** (22)

*sq i*

*q axis current controller* −

\* \* *T i e sq* →

\* *sq i*

\* *Te*

*sq v*

*sq sq sq vve* = +

+

From the IM dynamic model (5)-(8), the following equation can be obtained:

σ

\* Ω*r*

*Observers*

μ

*mr i* ω1 μ*Te*

ψ*r*

*IM*

Ω*r*

~

(,) (,,) *dq abc* →

*<sup>a</sup> v <sup>b</sup> v <sup>c</sup> v*

*Decoupling Compensator*

*sd sd sd vve* = + '

*sd v* '

+ +

− −

=

Fig. 8. Vector control scheme

tenths of ms).

*d axis current controller* −

μ

ω1 \* *mr i*

 *Flux controller*

*sd i*

\* \* *r mr* ψ→ *i*

\* *mr i mr i*

−

\* *sd i* '

'

\* ψ*r*

**r**

Equation (10) can also be rewritten as follows:

+

~ =

*Vd*

*Vd*

Based on the previous expression, it is clear that it is possible to achieve machine torque control directly by actuating over the angle *δ* (Rodriguez et al., 2004). DTC is founded on this consideration.

Due to slow rotor flux dynamic, the easiest way to change *δ* is to force a variation in the stator flux. Neglecting the effect of the voltage drop across the stator resistance, the stator flux vector in (5) is the time integral of the stator voltage vector. Hence, for sampling time Δ*t* sufficiently small, (5) can be approximated as (Rodriguez et al., 2004):

$$
\Delta \mathbf{\upmu}\_{\ast} = \Delta t \cdot \mathbf{\upmu}\_{\ast} \tag{24}
$$

which means that the stator flux can be changed in accordance with the stator voltage vector supplied to the IM.

In the conventional DTC drive, the flux and torque magnitude errors are applied to hysteresis comparators. The outputs of these comparators are used to select the appropriate stator voltage vector to apply to the IM by means of a pre-designed look-up table. This scheme is simple and robust but it has certain drawbacks such as variable switching frequency and large current and torque ripples. Note that these ripples are imposed by the hysteresis-band width chosen for the hysteresis comparators.

In this chapter, the conventional DTC scheme is not considered but the so-called DTC-SVM scheme, which is discussed in details in (Rodriguez et al., 2004) and briefly presented below, is used. The objective of this alternative DTC scheme is to select the exact stator voltage vector that changes the stator flux vector according to the *δ* angle reference (calculated from the torque reference), while keeping the stator flux magnitude constant. SV-PWM technique is used to apply the required stator voltage vector to the IM.

The DTC-SVM scheme is shown in Fig. 9 with the reference values once again indicated by '\*'. In this scheme, the torque reference is obtained from the speed reference thanks to the same speed controller as the one used in vector control. The error between the estimated torque and its reference value is processed through a PI controller to calculate the *δ* angle. From this angle, as well as the module of the stator flux (imposed at its rated value) and the estimated phase of the rotor flux, the block "Flux calculator" gives the stator flux reference according to:

$$\boldsymbol{\Psi}\_{\*} = \left| \boldsymbol{\Psi}\_{\*} \right|^{\*} \cdot \cos \left( \boldsymbol{\delta} + \boldsymbol{\angle} \boldsymbol{\Psi}\_{r} \right) + j \cdot \left| \boldsymbol{\Psi}\_{\*} \right|^{\*} \cdot \sin \left( \boldsymbol{\delta} + \boldsymbol{\angle} \boldsymbol{\Psi}\_{r} \right) \tag{25}$$

The error between this reference quantity and the estimated stator flux is then divided by Δ*t*, according to (24), in order to obtain the reference stator voltage vector. An approximation of that vector (over the switching period) is then supplied to the IM by the VSI using SV-PWM.

As explained above, the stator and rotor fluxes as well as the torque must be estimated. This is realized by the block "Torque and flux estimators". The rotor flux estimator is based on the IM model and implemented as follows:

$$\Psi\_r = \frac{1}{T\_r} \left[ \left( L\_w \cdot \mathbf{i}\_\* - \left( 1 - j \cdot T\_r \cdot P \cdot \boldsymbol{\Omega}\_r \right) \cdot \boldsymbol{\Psi}\_r \right) \cdot dt \right. \tag{26}$$

The stator flux is, as for it, derived from:

$$
\Psi\_\* = \sigma \cdot L\_\* \cdot i\_r + \frac{L\_r}{L\_n} \cdot \Psi\_r \, . \tag{27}
$$

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 377

In this chapter, the above parameters are determined both by a procedure founded on the vector control scheme (discussed in details in (Bose, 2002; Khambadkon et al., 1991)) and by

The method based on the vector control scheme is divided into eight steps. Initially, the name plate machine parameters are stored into the computer's memory. Precisely, the method needs to know the rated stator voltage and current, the rated frequency and the

In a second step, the stator resistance is determined by a test at dc level. Next, the stator transient time constant is measured. Thanks to the stator resistance and transient time constant, the two inner current loops of the vector control scheme can be tuned. In the fifth step, the rotor time constant is determined. Next, the magnetizing inductance is measured. Note that, in this sixth step, the value of the rotor time constant is adjusted online in order to achieve *isd* = *imr*. Therefore, its value is verified because it is the most important parameter to obtain accurate rotor flux estimation. Thanks to the value of the rotor time constant, the flux controller of the vector control scheme can be tuned in the seventh step. Finally, the mechanical parameters of the IM coupled with the dc-machine (see below) are determined

The method based on the vector control structure has the major advantage that it can be automated. Therefore, this procedure can evaluate the motor parameters at each start-up of the experimental platform. All the results are reported in Table 1. As can be seen, very small differences are obtained between the two approaches, whatever the parameters. Therefore,

Moreover, the procedure based on the vector control structure permits to determine the mechanical parameters of the IM coupled with the dc-machine. Three parameters need to be

**Parameters Conventional method Method based on the vector** 

*Rs* 0.81 Ω 1.26 Ω *Rr* 0.57 Ω 0.42 Ω *ls* 4 mH 3.9 mH *lr* 4 mH 3.9 mH *Lm* 160 mH 164 mH

**Parameters Values** 

*J* 0.0731 kg·m2 *Tm* 2.1 s *B* 0.00348 kg·m2/s

**control scheme** 

one can conclude that all the IM parameters are properly determined.

a conventional method (no-load and blocked rotor tests).

number of poles pairs of the IM.

and the speed controller can be tuned.

• *Tm* – the mechanical time constant; • *B* – the total damping factor. All the results are reported in Table 2.

determined:

• *J* – the total inertia;

Table 1. IM parameters

Table 2. Mechanical parameters

Fig. 9. DTC-SVM scheme

Once the stator and rotor fluxes estimates have been made available, the torque can be easily computed using (23). The observers of the stator and rotor fluxes implemented in the Matlab/Simulink/dSPACE environment are shown in Fig. 10.

The speed controller is tuned by the pole-zero compensation technique whereas the PI, that generates the *δ* angle reference, is tuned through a method based on the relay feedback test (Padhy & Majhi, 2006).

Fig. 10. Fluxes observers implemented in Matlab/Simulink/dSPACE environment

#### **5. Determination of IM parameters**

As it is well known, the control methods of IM require an accurate determination of machine parameters. Typically, five parameters need to be determined:


In this chapter, the above parameters are determined both by a procedure founded on the vector control scheme (discussed in details in (Bose, 2002; Khambadkon et al., 1991)) and by a conventional method (no-load and blocked rotor tests).

The method based on the vector control scheme is divided into eight steps. Initially, the name plate machine parameters are stored into the computer's memory. Precisely, the method needs to know the rated stator voltage and current, the rated frequency and the number of poles pairs of the IM.

In a second step, the stator resistance is determined by a test at dc level. Next, the stator transient time constant is measured. Thanks to the stator resistance and transient time constant, the two inner current loops of the vector control scheme can be tuned. In the fifth step, the rotor time constant is determined. Next, the magnetizing inductance is measured. Note that, in this sixth step, the value of the rotor time constant is adjusted online in order to achieve *isd* = *imr*. Therefore, its value is verified because it is the most important parameter to obtain accurate rotor flux estimation. Thanks to the value of the rotor time constant, the flux controller of the vector control scheme can be tuned in the seventh step. Finally, the mechanical parameters of the IM coupled with the dc-machine (see below) are determined and the speed controller can be tuned.

The method based on the vector control structure has the major advantage that it can be automated. Therefore, this procedure can evaluate the motor parameters at each start-up of the experimental platform. All the results are reported in Table 1. As can be seen, very small differences are obtained between the two approaches, whatever the parameters. Therefore, one can conclude that all the IM parameters are properly determined.

Moreover, the procedure based on the vector control structure permits to determine the mechanical parameters of the IM coupled with the dc-machine. Three parameters need to be determined:

• *J* – the total inertia;

376 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

\* **ψs**

> *Flux calculator*

Once the stator and rotor fluxes estimates have been made available, the torque can be easily computed using (23). The observers of the stator and rotor fluxes implemented in the

The speed controller is tuned by the pole-zero compensation technique whereas the PI, that generates the *δ* angle reference, is tuned through a method based on the relay feedback test

> T z-1

×

×

1/thauR

thauR\*P

1/thauR

Lm/Lr

thauR\*P

2 omega\_r

T z-1

1 phis

As it is well known, the control methods of IM require an accurate determination of

+ − ∠**ψr**

δ

*PI* <sup>+</sup>

Matlab/Simulink/dSPACE environment are shown in Fig. 10.

Lm <sup>−</sup>

Lm <sup>−</sup>

+

machine parameters. Typically, five parameters need to be determined:

Lm\*σ

**5. Determination of IM parameters** 

• *Rs*, *Rr* – the stator and rotor resistances; • *ls*, *lr* – the stator and rotor leakage inductances;

• *Lm* – the magnetizing inductance.

+−

+−

+

Fig. 10. Fluxes observers implemented in Matlab/Simulink/dSPACE environment

− *Te*

\*

 *Speed controller*

<sup>+</sup> *Te*

Fig. 9. DTC-SVM scheme

(Padhy & Majhi, 2006).

1 Is

− Ω*r*

\* Ω*r*

*VSI IM SV*

**si** Ω*r*

*PWM*

*Torque and flux estimators*

> 1 phir

1 Δ*t*

**<sup>s</sup>** Δ **v ψs**

**ψs**

**\* ψs**

+ − **\***


All the results are reported in Table 2.


Table 1. IM parameters


Table 2. Mechanical parameters

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 379

acting on the excitation of the dc-machine. Once again, one can conclude a good agreement between the predetermined curve (in solid line) and the measures performed from 30 Hz to 60 Hz (circles). Moreover, considering (3), the results can easily be explained. Indeed, in the constant flux region (below the base speed Ω*base*), the torque is constant as the rotor frequency and the flux are constant (see (3)). Then, in the flux-weakening region, the rotor frequency remains constant but the flux decreases in inverse proportion to the frequency (and, so, to the speed). Therefore, according to (3), the torque decreases in inverse

Finally, some measures have been performed in close-loop speed control with Volts/Hz control and slip regulation. Due to the slip regulation, the IM is able to rotate at the synchronous speed (900 rpm at 30 Hz and 1500 rpm at 50 Hz as *P* = 2) and, therefore, the torque-speed curves become vertical lines as shown in Fig. 15. As a final point, Fig. 16 shows a linear evolution of the torque as a function of the rotor frequency which can be explained on the basis of (3). Moreover, the slope of the regression lines, viz. 29.29 Nm/Hz at 30 Hz and 16.34 Nm/Hz at 50 Hz, are very close to the theoretical values of *KT* (see (3)), viz. 28.92 Nm/Hz at 30 Hz and 16.27 Nm/Hz at 50 Hz. One can also conclude that the statistics of the regression, i.e. the *R2* and *R2Adj*, are very good (close to 1 and close

Fig. 12. ControlDesk virtual control panel

proportion to the square of the speed.

to each other).

#### **6. Experimental results**

After concluding off-line simulations using the blocks of the SimPowerSystem toolbox in Simulink software, the three control schemes are tested and compared by means of speed reference tracking, torque dynamic and flux regulation. To do so, the validated control strategies are transferred to the digital control board. Fig. 11 and 12, respectively, show the vector control algorithm implemented with Simulink and the corresponding window of the ControlDesk software which controls the dSPACE hardware. Note that more details about this work can be found in (Versèle et al., 2008; Versèle et al. 2010).

Fig. 11. Vector control algorithm implemented with Simulink

After the algorithms implementation, several tests can be carried out in order to plot the torque-speed curves in scalar control as well as to evaluate the vector control and DTC-SVM behavior in speed regulation and speed tracking. For all these tests, the switching frequency of the VSI is set at 9 kHz. The sample frequency is chosen equal to the switching frequency.

#### **6.1 Scalar control**

Fig. 13 shows the predetermined torque-speed curves (solid line) for several supplied frequencies in scalar control (in the constant flux region and in the flux-weakening region) as well as the measured torque-speed curves (circles). Note that the base frequency has been arbitrarily chosen equal to 40 Hz. It should also be noticed that, for the smaller frequencies (viz. 30 Hz, 35 Hz and 40 Hz), the measures have been stopped when instability, which can appear at low-speed and light-load operation (Kishimoto et al., 1986), is observed. One can easily conclude a very good agreement between the predetermined torque-speed curves and the measures. This confirms that the parameters are properly determined.

Fig. 14 shows the torque-speed curves in scalar control and constant rotor frequency (*s·f*) operation. Note that this rotor frequency is maintained equal to 1 Hz by adjusting the slip by

Fig. 12. ControlDesk virtual control panel

After concluding off-line simulations using the blocks of the SimPowerSystem toolbox in Simulink software, the three control schemes are tested and compared by means of speed reference tracking, torque dynamic and flux regulation. To do so, the validated control strategies are transferred to the digital control board. Fig. 11 and 12, respectively, show the vector control algorithm implemented with Simulink and the corresponding window of the ControlDesk software which controls the dSPACE hardware. Note that more details about

this work can be found in (Versèle et al., 2008; Versèle et al. 2010).

Fig. 11. Vector control algorithm implemented with Simulink

After the algorithms implementation, several tests can be carried out in order to plot the torque-speed curves in scalar control as well as to evaluate the vector control and DTC-SVM behavior in speed regulation and speed tracking. For all these tests, the switching frequency of the VSI is set at 9 kHz. The sample frequency is chosen equal to the switching frequency.

Fig. 13 shows the predetermined torque-speed curves (solid line) for several supplied frequencies in scalar control (in the constant flux region and in the flux-weakening region) as well as the measured torque-speed curves (circles). Note that the base frequency has been arbitrarily chosen equal to 40 Hz. It should also be noticed that, for the smaller frequencies (viz. 30 Hz, 35 Hz and 40 Hz), the measures have been stopped when instability, which can appear at low-speed and light-load operation (Kishimoto et al., 1986), is observed. One can easily conclude a very good agreement between the predetermined torque-speed curves and

Fig. 14 shows the torque-speed curves in scalar control and constant rotor frequency (*s·f*) operation. Note that this rotor frequency is maintained equal to 1 Hz by adjusting the slip by

the measures. This confirms that the parameters are properly determined.

**6. Experimental results** 

**6.1 Scalar control** 

acting on the excitation of the dc-machine. Once again, one can conclude a good agreement between the predetermined curve (in solid line) and the measures performed from 30 Hz to 60 Hz (circles). Moreover, considering (3), the results can easily be explained. Indeed, in the constant flux region (below the base speed Ω*base*), the torque is constant as the rotor frequency and the flux are constant (see (3)). Then, in the flux-weakening region, the rotor frequency remains constant but the flux decreases in inverse proportion to the frequency (and, so, to the speed). Therefore, according to (3), the torque decreases in inverse proportion to the square of the speed.

Finally, some measures have been performed in close-loop speed control with Volts/Hz control and slip regulation. Due to the slip regulation, the IM is able to rotate at the synchronous speed (900 rpm at 30 Hz and 1500 rpm at 50 Hz as *P* = 2) and, therefore, the torque-speed curves become vertical lines as shown in Fig. 15. As a final point, Fig. 16 shows a linear evolution of the torque as a function of the rotor frequency which can be explained on the basis of (3). Moreover, the slope of the regression lines, viz. 29.29 Nm/Hz at 30 Hz and 16.34 Nm/Hz at 50 Hz, are very close to the theoretical values of *KT* (see (3)), viz. 28.92 Nm/Hz at 30 Hz and 16.27 Nm/Hz at 50 Hz. One can also conclude that the statistics of the regression, i.e. the *R2* and *R2Adj*, are very good (close to 1 and close to each other).

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 381

30 Hz

0 200 400 600 800 1000 1200 1400 1600 1800

50 Hz

+ 30 Hz o 50 Hz

> 2 2

*R R*

*Adj*

*e*

16.34 0.9948 0.9935

*T sf*

≈ ⋅⋅ = =

( )

[rpm] Ω*<sup>r</sup>*

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2

*s f* ⋅ [Hz]

Fig. 16. Evolution of the torque as a function of the rotor frequency in close-loop speed

Fig. 15. Torque-speed curves in close-loop speed control with Volts/Hz control and slip

( )

2 2

*R R*

*Adj*

*e*

control with Volts/Hz control and slip regulation

29.29 0.9974 0.9961

*T sf*

≈ ⋅⋅ = =

0

0

5

10

15

20

 [Nm]

*e T*

25

30

35

regulation

5

10

15

20

 [Nm]

*e T*

25

30

Fig. 13. Torque-speed curves in scalar control (solid line: predetermined curves; circles: measures)

Fig. 14. Torque-speed curves in scalar control and constant rotor frequency (solid line: predetermined curves; circles: measures)

40 Hz

50 Hz

ψ

40 Hz *base f* =

60 Hz

60 Hz

40 Hz 1 Hz

0 200 400 600 800 1000 1200 1400 1600 1800

0 200 400 600 800 1000 1200 1400 1600 1800 2000 2200

55 Hz

ψ

50 Hz

*base f s f* = ⋅ =

Ω*base*

40 Hz

45 Hz

[rpm] Ω*<sup>r</sup>*

Fig. 14. Torque-speed curves in scalar control and constant rotor frequency (solid line:

[rpm] Ω*<sup>r</sup>*

Fig. 13. Torque-speed curves in scalar control (solid line: predetermined curves; circles:

0

0

predetermined curves; circles: measures)

5

ψ

= constant

30 Hz

35 Hz

10

15

 [Nm]

*e T*

20

25

30

measures)

10

20

30

40

50

 [Nm]

*e T*

60

70

80

90

30 Hz

35 Hz

ψ

= constant

Fig. 15. Torque-speed curves in close-loop speed control with Volts/Hz control and slip regulation

Fig. 16. Evolution of the torque as a function of the rotor frequency in close-loop speed control with Volts/Hz control and slip regulation

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 383

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> -10

Fig. 18. Speed regulation in DTC-SVM (dotted line: speed reference; solid line: speed

Temps [s] Time [s]

0 2 4 6 8 10 12 14

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> -20

Fig. 19. Speed tracking in vector control (dotted line: speed reference; solid line: speed

Temps [s] Time [s]

 [rpm] *r* Ω

> 0.2 0.4 0.6 0.8 1 1.2

 [Wb] *s* ψ

measured)


 [rpm] *r* Ω

> 0.2 0.4 0.6 0.8 1 1.2

 [Wb] *r* ψ

measured)

 [Nm] *e T*

 [Nm] *e T*

#### **6.2 Vector control and DTC-SVM**

In this sub-section, the results in vector control and DTC-SVM are presented and discussed.

First, a speed regulation test is carried out at no-load (the load generator remains coupled to the shaft) by supplying a speed reference of 1000 rpm. In Fig. 17, the response using vector control is shown. Similarly, Fig. 18 shows the response with DTC-SVM. The speed, flux magnitude and torque are represented (from the top to the bottom). One can conclude that vector control and DTC-SVM schemes have similar dynamic responses and good speed reference tracking. One can also observe that, in vector control scheme, the rotor flux is correctly regulated and that, in DTC-SVM, the stator flux is properly regulated as well.

Then, a speed tracking test is performed at no-load. To do so, the speed reference varies from 1000 rpm to -1000 rpm as can be seen in Fig. 19 and 20. In these figures, one can observe a good response to the speed profile in vector control (Fig. 19) as well as in DTC-SVM (Fig. 20). Note that, as in the previous tests, the fluxes are correctly regulated.

In this sub-section, the two considered control schemes for IM are compared in similar operating conditions. According to the experimental results presented, one can conclude that vector control and DTC-SVM of IM drive produce comparable results in speed regulation and tracking. However, the DTC-SVM is simplest and easiest to implement than vector control. Indeed, no coordinate rotation and less PI controllers are needed. Moreover, less torque ripple is observed with DTC-SVM compare to vector control.

Fig. 17. Speed regulation in vector control (dotted line: speed reference; solid line: speed measured)

Finally, the effects of a load variation in vector control are shown in Fig. 21. One can conclude that such load variation does not affect the flux regulation and that, after a transient phase, the speed remains regulated at the considered speed reference (viz. 1200 rpm).

In this sub-section, the results in vector control and DTC-SVM are presented and discussed. First, a speed regulation test is carried out at no-load (the load generator remains coupled to the shaft) by supplying a speed reference of 1000 rpm. In Fig. 17, the response using vector control is shown. Similarly, Fig. 18 shows the response with DTC-SVM. The speed, flux magnitude and torque are represented (from the top to the bottom). One can conclude that vector control and DTC-SVM schemes have similar dynamic responses and good speed reference tracking. One can also observe that, in vector control scheme, the rotor flux is correctly regulated and that, in DTC-SVM, the stator flux is properly regulated as well. Then, a speed tracking test is performed at no-load. To do so, the speed reference varies from 1000 rpm to -1000 rpm as can be seen in Fig. 19 and 20. In these figures, one can observe a good response to the speed profile in vector control (Fig. 19) as well as in DTC-SVM (Fig. 20). Note that, as in the previous tests, the fluxes are correctly regulated. In this sub-section, the two considered control schemes for IM are compared in similar operating conditions. According to the experimental results presented, one can conclude that vector control and DTC-SVM of IM drive produce comparable results in speed regulation and tracking. However, the DTC-SVM is simplest and easiest to implement than vector control. Indeed, no coordinate rotation and less PI controllers are needed. Moreover,

less torque ripple is observed with DTC-SVM compare to vector control.

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> <sup>0</sup>

Time [s]

Time [s]

Time [s]

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> 0.2 0.4 0.6 0.8 <sup>1</sup> 1.2 1.4 1.6 1.8 <sup>2</sup> <sup>0</sup>

Temps [s]

Finally, the effects of a load variation in vector control are shown in Fig. 21. One can conclude that such load variation does not affect the flux regulation and that, after a transient phase, the speed remains regulated at the considered speed reference (viz. 1200

Fig. 17. Speed regulation in vector control (dotted line: speed reference; solid line: speed

Time [s]

**6.2 Vector control and DTC-SVM** 

 [rpm] *r* Ω

> 0.2 0.4 0.6 0.8 1 1.2

 [Wb] *r* ψ

measured)

rpm).

 [Nm] *e T*

Fig. 18. Speed regulation in DTC-SVM (dotted line: speed reference; solid line: speed measured)

Fig. 19. Speed tracking in vector control (dotted line: speed reference; solid line: speed measured)

Control Schemes in MATLAB/Simulink/dSPACE Environment for Educational Purpose 385

During the lectures, students become familiar with the steady-state and dynamic models of IM and the three control schemes. Then, through the experimental setup, they are made

From the students' point of view, the experimental setup presented in this chapter helps them in understanding IM parameters determination, IM steady-state as well as dynamic models and IM drives. They also found that the dSPACE platform and Matlab/Simulink

From the authors' point of view, dSPACE material offers multiple advantages from the point of education and gives a powerful tool for the teaching of IM parameters identification and drives. Moreover, thanks to this experimental setup, the students can easily put into

This chapter has dealt with the implementation of three control schemes of a voltage-fed inverter IM drive, namely scalar control, vector control and DTC, using a dSPACE platform and Matlab/Simulink environment. This has been successfully integrated into "Electric Drives" course which is, usually, attended by students during their fourth year of five-year electrical engineering degree at the Faculty of Engineering (FPMs) of the University of Mons (UMons) in Belgium. It helps greatly the students in understanding the theoretical concepts

Furthermore, the dSPACE platform and Matlab/Simulink environment give a powerful tool for teaching IM parameters identification and drives. The authors are planning to use more

Böcker, J. & Mathapati, S. (2007). State of the art of induction motor control, *Proceedings of* 

Bojoi, R.; Profume, F.; Griva, G.; Teodorescu, R. & Blaabjerg, F. (2002). Advanced research

Casadei, D.; Serra, G.; Tani, A. & Zarri, L. (2005). A review on the direct torque control of

*and Applications*, ISBN 90-75815-07-7, Dresden, Germany, September 2005.

*2007 International Conference on Electric Machines & Drives*, ISBN 1-4244-0743-5,

and education in electrical drives by using digital real-time hardware-in-the-loop simulation, *Proceedings of the 10th International Power Electronics and Motion Control Conference*, ISBN 0-7803-7089-9, Cavtat & Dubrovnik, Croatia, September 2002. Bose, B. K. (2002). Modern Power Electronics and AC Drives, Prentice Hall PTR, ISBN 0-13-

induction motors, *Proceedings of the 11th International Conference on Power Electronics* 

• modeling and simulation using the Matlab/Simulink/dSPACE environment;

• some practical aspects concerning inverters and SV-PWM.

environment could be used for practical teaching in other courses.

and more this experimental system in others teaching projects.

Antalya, Turkey, May 2007.

016743-6, New Jersey, USA.

**7. Educational experience** 

sensitive to many aspects concerning:

practice a lot of theoretical knowledge.

• IM parameters determination;

• IM motor drives;

**8. Conclusion** 

**9. References** 

taught during the lectures.

Fig. 20. Speed tracking in DCT-SVM (dotted line: speed reference; solid line: speed measured)

Fig. 21. Load variation in vector control (dotted line: speed reference; solid line: speed measured)

### **7. Educational experience**

During the lectures, students become familiar with the steady-state and dynamic models of IM and the three control schemes. Then, through the experimental setup, they are made sensitive to many aspects concerning:


384 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

0 2 4 6 8 10 12 14

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> -20

Fig. 20. Speed tracking in DCT-SVM (dotted line: speed reference; solid line: speed

Time [s] Temps [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> <sup>0</sup>

Time [s]

Time [s]

<sup>0</sup> <sup>2</sup> <sup>4</sup> <sup>6</sup> <sup>8</sup> <sup>10</sup> <sup>12</sup> <sup>14</sup> <sup>16</sup> <sup>18</sup> <sup>20</sup> -10

Fig. 21. Load variation in vector control (dotted line: speed reference; solid line: speed

Time [s] Temps [s]


 [rpm] *r* Ω

 [Wb] *s* ψ 0.2 0.4 0.6 0.8 1 1.2

measured)

500 1000 1500

 [rpm] *r* Ω

> 0.2 0.4 0.6 0.8 1 1.2

 [Wb] *r* ψ

measured)

 [Nm] *e T*

 [Nm] *e T*

• some practical aspects concerning inverters and SV-PWM.

From the students' point of view, the experimental setup presented in this chapter helps them in understanding IM parameters determination, IM steady-state as well as dynamic models and IM drives. They also found that the dSPACE platform and Matlab/Simulink environment could be used for practical teaching in other courses.

From the authors' point of view, dSPACE material offers multiple advantages from the point of education and gives a powerful tool for the teaching of IM parameters identification and drives. Moreover, thanks to this experimental setup, the students can easily put into practice a lot of theoretical knowledge.

### **8. Conclusion**

This chapter has dealt with the implementation of three control schemes of a voltage-fed inverter IM drive, namely scalar control, vector control and DTC, using a dSPACE platform and Matlab/Simulink environment. This has been successfully integrated into "Electric Drives" course which is, usually, attended by students during their fourth year of five-year electrical engineering degree at the Faculty of Engineering (FPMs) of the University of Mons (UMons) in Belgium. It helps greatly the students in understanding the theoretical concepts taught during the lectures.

Furthermore, the dSPACE platform and Matlab/Simulink environment give a powerful tool for teaching IM parameters identification and drives. The authors are planning to use more and more this experimental system in others teaching projects.

#### **9. References**


**16** 

*India* 

**Linearization of Permanent Magnet** 

Permanent magnet machines, particularly at low power range, are widely used in the industry because of their high efficiency. They have gained popularity in variable frequency drive applications. The merits of the machine are elimination of field copper loss, higher

In order to find effective ways of designing a controller for PM synchronous motor (PMSM), the dynamic model of the machine is normally used. The dynamic model of PM motor can be derived from the voltage equations referred to direct (d) and quadrature (q) axes (Bose 2002).The model derived essentially has quadratic nonlinearity. Linear control techniques generally fail to produce the desired performance. Feedback linearization is a technique that

By applying exact linearization technique (Cardoso & Schnitman 2011) it is possible to linearize a system and apply linear control methods. But this requires that certain system distributions have involutive property. An approximate feedback linearization technique was formulated by Krener (Krener 1984) based on Taylor series expansion of distributions

Chiasson and Bodson (Chiasson & Bodson 1998) have designed a controller for electric motors using differential geometric method of nonlinear control based on exact feedback linearization. But from a practical point of view, this technique suffers from singularity issues. If the system goes into a state, during the course of the system operation, where the

Starting with the quadratic model of PMSM, we apply quadratic linearization technique based on coordinate and state feedback. The linearization technique used is the control input analog of Poincare's work ( Arnold 1983) as proposed by Kang and Krener (Kang & Krener 1992) and further developed by Devanathan (Devanathan 2001,2004) .The quadratic linearization technique proposed is on the lines of approximate linearization of Krener (Krener 1984) and does not introduce any singularities in the system compared to the exact

MATLAB simulation is used to verify the effectiveness of the linearization technique proposed. In this chapter, MATLAB/SIMULINK modeling is used to verify the effectiveness of the quadratic linearization technique proposed. In particular, the application of

MATLAB and SIMULINK as tools for simulating the following is described:

singularity condition is satisfied, then the designed controller will fail.

linearization methods reported in (Chiasson & Bodson 1998).

power density, lower rotor inertia and a robust construction of the rotor (Bose 2002).

has been used to control nonlinear systems effectively.

**1. Introduction** 

for non-involutive systems.

**Synchronous Motor Using** 

*Hindustan Institute of Technology and Science, Chennai* 

**MATLAB and Simulink** 

A. K. Parvathy and R. Devanathan


## **Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink**

A. K. Parvathy and R. Devanathan *Hindustan Institute of Technology and Science, Chennai India* 

#### **1. Introduction**

386 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Khambadkon, A. M. & Holtz, J. (1991). Vector-controlled induction motor drive with a

Kishimoto, T.; Matsumoto, K.; Kamakure, T. & Daijo, M. (1986). Stability analysis of a

*Engineering in Japan*, vol. 106, no. 6, (June 1986), pp. 32-41, ISSN 0424-7760. Luo, G.; Liu, W.; Song, K. & Zeng, Z. (2008). dSPACE based permanent magnet motor HIL

*Industrial Technology*, ISBN 978-1-4244-1706-3, Chengdu, China, April 2008. Mäki, K.; Partanen, A.; Rauhala, T.; Repo, S. & Järventausta, P. (2005). Real-time simulation

Mohan, N. (2001). Advanced Electric Drives: Analysis, Control and Modeling using Simulink ®, Edition MPERE, ISBN 0-9715292-0-5, Minneapolis, USA. Padhy, P. K. & Majhi, S. (2006). Relay based PI-PD design for stable and unstable FOPDT

Rodriguez, J. ; Pontt, J. ; Silva, C. ; Kouro, S. & Miranda, H. (2004). A novel direct torque

Santisteban, J. A. & Stephan, R. M. (2001). Vector control methods for induction machines:

Trzynadlowski, A. M.; Kazmierkowski, M. P.; Graboswski, P. Z. & Bech M. M. (1999). Three

Versèle, C.; Deblecker, O. & Lobry, J. (2008). Implementation of a vector control scheme

Versèle, C.; Deblecker, O. & Lobry, J. (2010). Implementation of advanced control schemes

ISBN 978-1-4244-1736-0, Vilamoura, Portugal, September 2008.

ISBN 90-75815-07-7, Dresden, Germany, September 2005.

(March 1991), pp. 322-327, ISSN 0278-0046.

796, ISSN 0098-1354.

Germany, June 2004.

ISSN 0018-9359.

1999.

7209.

self-commissioning scheme, *IEEE Transactions on Industrial Electronics*, vol. 38, no. 5,

voltage source PWM inverter-fed induction motor drive system, *Electrical* 

simulation and test bench, *Proceedings of the 2008 IEEE International Conference on* 

environment for power system studies using RTDS and dSPACE simulators, *Proceedings of the 11th International Conference on Power Electronics and Applications*,

processes, *Computer and Chemical Engineering*, vol. 30, no. 5, (April 2006), pp. 790-

scheme for induction machines with space vector modulation, *Proceedings of 35th Annual IEEE Power Electronics Specialists Conference*, ISBN 0-7803-8399-0, Aachen

an overview, *IEEE Transactions on Education*, vol. 44, no. 2, (May 2001), pp. 170-175,

examples of DSP applications in advanced induction motor drives, *Proceedings of the 1999 American Control Conference*, ISBN 0-7803-4990-3, San Diego, USA, June

using dSPACE material for teaching induction motor drives and parameters identification, *Proceedings of the 2008 International Conference on Electrical Machines*,

using dSPACE material for teaching induction motor drive, *International Journal of Electrical Engineering Education*, vol. 47, no. 2, (April 2010), pp. 151-167, ISSN 0020Permanent magnet machines, particularly at low power range, are widely used in the industry because of their high efficiency. They have gained popularity in variable frequency drive applications. The merits of the machine are elimination of field copper loss, higher power density, lower rotor inertia and a robust construction of the rotor (Bose 2002).

In order to find effective ways of designing a controller for PM synchronous motor (PMSM), the dynamic model of the machine is normally used. The dynamic model of PM motor can be derived from the voltage equations referred to direct (d) and quadrature (q) axes (Bose 2002).The model derived essentially has quadratic nonlinearity. Linear control techniques generally fail to produce the desired performance. Feedback linearization is a technique that has been used to control nonlinear systems effectively.

By applying exact linearization technique (Cardoso & Schnitman 2011) it is possible to linearize a system and apply linear control methods. But this requires that certain system distributions have involutive property. An approximate feedback linearization technique was formulated by Krener (Krener 1984) based on Taylor series expansion of distributions for non-involutive systems.

Chiasson and Bodson (Chiasson & Bodson 1998) have designed a controller for electric motors using differential geometric method of nonlinear control based on exact feedback linearization. But from a practical point of view, this technique suffers from singularity issues. If the system goes into a state, during the course of the system operation, where the singularity condition is satisfied, then the designed controller will fail.

Starting with the quadratic model of PMSM, we apply quadratic linearization technique based on coordinate and state feedback. The linearization technique used is the control input analog of Poincare's work ( Arnold 1983) as proposed by Kang and Krener (Kang & Krener 1992) and further developed by Devanathan (Devanathan 2001,2004) .The quadratic linearization technique proposed is on the lines of approximate linearization of Krener (Krener 1984) and does not introduce any singularities in the system compared to the exact linearization methods reported in (Chiasson & Bodson 1998).

MATLAB simulation is used to verify the effectiveness of the linearization technique proposed. In this chapter, MATLAB/SIMULINK modeling is used to verify the effectiveness of the quadratic linearization technique proposed. In particular, the application of MATLAB and SIMULINK as tools for simulating the following is described:

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 389

(1) (2)

[ ][ ] 123 12 ;

*yyyy vvv* = =

(3) *<sup>y</sup> Ay Bv O* (,) *<sup>y</sup> <sup>v</sup>* • = ++

The problem now is to apply MATLAB to verify the theoretical result on quadratic linearization of the dynamic model (4). Expanding (4), we can see that the expression of the derivative of each state variable has the other two state variables in it. This becomes difficult to solve using manual methods of differential equation solution. The tool selected for

ODE45 is a MATLAB function that solves initial value problems for ordinary differential equations (ODEs). It uses the iterative Runge Kutta method of solving equations. Hence, this function does not return the solution as an expression, but the values of the solution function at discrete instants of time. ODE45 is based on an explicit Runge-Kutta formula, the Dormand-Prince pair. It is a *one-step* ode45 –in the sense that, in computing ( ), *<sup>n</sup> y t* it needs only the solution at the immediately preceding time point <sup>1</sup> ( ) *<sup>n</sup> y t* <sup>−</sup> .In general, ode45 is

**[t,Y] = ode45(odefun,tspan,y0)** with tspan = [t0 tf] integrates the system of differential equations from time t0 to tf with initial conditions y0. Function f = odefun(t,y) is defined, where t corresponds to the column vector of time points and y is the solution array. Each row in y corresponds to the solution at a time returned in the corresponding row of t. To obtain solutions at the specific times t0, t1,...,tf (all increasing or all decreasing), we use

**[t, Y] = ode45(odefun,tspan,y0,options)** solves as above with default integration parameters replaced by property values specified in 'options'. Commonly used properties include a scalar relative error tolerance RelTol (1e-3 by default) and a vector of absolute error

The PLOT function is used to create a computer-graphic plot of any two quantities or a

A simulation of (4) was carried out for different values of inputs u1 and u2 in the open loop before applying the linearizing transformations where 1 *b* = -0.0165\*(10^-3) ; 2 *b* -186.96; <sup>3</sup> *b* =5754386. Fig 1 shows a plot of x3 (angular velocity) versus time for pulse inputs

(Kang & Krener 1992) .Applying the transformations (5) and (6), (4) is reduced to

represent third and higher order nonlinearities .

*T T*

(2) *y* = +φ *x x*( ) (5)

<sup>2</sup> *u I xv x* = +β +α ( ( )) ( ) (6)

are derived by solving the Generalized Homological Equations

Coordinate and state feedback transformations in quadratic form (Kang & Krener 1992)

**2.2 Linearization of the dynamic model** 

Where

where

(2) (2) φ α ( ); ( ) *x x* and ( ) (1)

(3) *<sup>O</sup>* (,) *<sup>y</sup> <sup>v</sup>*

tspan = [t0,t1,...,tf].

β*x*

**2.3 Verification of linearization using MATLAB function** 

the best function to apply as a "first try" for most problems.

tolerances AbsTol (all components are 1e-6 by default).

group of quantities with respect to time.

solving the dynamic equations is the MATLAB function called ODE45.


As these applications were somewhat sophisticated , customization and improvisation of the MATLAB/SIMULINK tools were essential. These applications are described in detail in this chapter.

In section 2, linearization of dynamic model of PMSM is discussed and simulation results using MATLAB are given. In section 3, linearization of PMSM machine model is given. Construction of PMSM model using SIMULINK and verification of linearization of PMSM SIMULINK model is given in Section 4. Tuning of the linearizing transformations to account for unmodelled dynamics is discussed in Section 5. In section 6, the chapter is concluded.

#### **2. Linearization of dynamic model of PMSM**

#### **2.1 Dynamic model of PMSM**

The dynamic model of a sinusoidal PM machine, considering the flux-linkage λ *<sup>f</sup>* to be constant and ignoring the core-loss, can be written as (Bose 2002).

$$\stackrel{\bullet}{i}\_{d} = \frac{\upsilon\_{d}}{\mathcal{L}\_{d}} - \frac{R}{\mathcal{L}\_{d}} i\_{d} + \frac{L\_{q}}{\mathcal{L}\_{d}} p \bullet \upsilon\_{r} i\_{q} \tag{1}$$

$$\mathbf{i}\_q = \frac{\upsilon\_q}{L\_q} - \frac{R}{L\_q}\mathbf{i}\_q - \frac{L\_d}{L\_q} p \mathbf{o}\_r \mathbf{i}\_d - \frac{\lambda\_f p \mathbf{o}\_r}{L\_q} \tag{2}$$

$$\stackrel{\bullet}{\alpha} \stackrel{\bullet}{\alpha}\_r = \frac{1.5p}{J} [\lambda\_f i\_q + (L\_d - L\_q) i\_d i\_q] \tag{3}$$

where all quantities in the rotor reference frame are referred to the stator.

, *L L <sup>q</sup> <sup>d</sup>* are q and d axis inductances respectively; R is the resistance of the stator windings; , *<sup>q</sup> <sup>d</sup> i i* are q and d axis currents respectively; , *<sup>q</sup> <sup>d</sup> v v* are q and d axis voltages respectively; ω<sup>r</sup> is the angular velocity of the rotor; λf is the amplitude of the flux induced by the permanent magnets of the rotor in the stator phases and *p* is the number of pole pairs. Using linear coordinate and state feedback transformations (Kuo 2001) the dynamic model can be written with the linear part put in Brunovsky form (Parvathy et. al. 2005,2006) as

$$\stackrel{\bullet}{\alpha} = A\alpha + Bu + f^{(2)}(\alpha) \tag{4}$$

where u ═[ *u*1 *u*2 ] *<sup>T</sup>* = [ *<sup>q</sup> <sup>d</sup> v v* ] *<sup>T</sup>* ;[ ]*<sup>T</sup> qd e xii* = ω

$$\mathbf{A} = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 0 & 1 \\ 0 & 0 & 0 \end{bmatrix} \qquad \mathbf{B} = \begin{bmatrix} 0 & 0 \\ 0 & 1 \\ 1 & 0 \end{bmatrix}; \ f^{(2)}(\mathbf{x}) = \begin{bmatrix} b\_1 \mathbf{x}\_2 \mathbf{x}\_3 \\ b\_2 \mathbf{x}\_1 \mathbf{x}\_3 \\ b\_3 \mathbf{x}\_1 \mathbf{x}\_2 \end{bmatrix}$$

where <sup>123</sup> *bbb* , , are constants derived from the motor parameters.

#### **2.2 Linearization of the dynamic model**

Coordinate and state feedback transformations in quadratic form (Kang & Krener 1992)

$$y = \mathfrak{x} + \phi^{(2)}(\mathfrak{x})\tag{5}$$

$$
\mu = (I\_2 + \beta^{(1)}(\mathbf{x})) \upsilon + \alpha^{(2)}(\mathbf{x}) \tag{6}
$$

Where

388 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

iii. Tuning the transformations against a linear system model put in Brunovsky form

As these applications were somewhat sophisticated , customization and improvisation of the MATLAB/SIMULINK tools were essential. These applications are described in detail in

In section 2, linearization of dynamic model of PMSM is discussed and simulation results using MATLAB are given. In section 3, linearization of PMSM machine model is given. Construction of PMSM model using SIMULINK and verification of linearization of PMSM SIMULINK model is given in Section 4. Tuning of the linearizing transformations to account for unmodelled dynamics is discussed in Section 5. In section 6, the chapter is concluded.

The dynamic model of a sinusoidal PM machine, considering the flux-linkage λ *<sup>f</sup>* to be

*q d d dr q dd d v R L i i pi LL L*

*q q rd*

*J*

where all quantities in the rotor reference frame are referred to the stator.

*q f r d*

*qq q q v p <sup>R</sup> <sup>L</sup> i i pi LL L L* • λ ω

> 1.5 [ ( )] *<sup>r</sup> f q <sup>d</sup> <sup>q</sup> <sup>d</sup> <sup>q</sup> <sup>p</sup> i L L ii*

, *L L <sup>q</sup> <sup>d</sup>* are q and d axis inductances respectively; R is the resistance of the stator windings; , *<sup>q</sup> <sup>d</sup> i i* are q and d axis currents respectively; , *<sup>q</sup> <sup>d</sup> v v* are q and d axis voltages respectively; ω<sup>r</sup> is the angular velocity of the rotor; λf is the amplitude of the flux induced by the permanent magnets of the rotor in the stator phases and *p* is the number of pole pairs. Using linear coordinate and state feedback transformations (Kuo 2001) the dynamic model can be written with the linear part put in Brunovsky form (Parvathy et. al. 2005,2006) as

(2) *x Ax Bu <sup>f</sup>* ( ) *<sup>x</sup>* •

B═

*qd e xii* = ω

; ( ) (2) *f x* ═

=− + ω (1)

= − − ω− (2)

ω= λ + − (3)

= ++ (4)

123 213 312

*bxx bxx bxx* 

i. Dynamic model of a sinusoidal Permanent Magnet Synchronous machine(PMSM) ii. Application of nonlinear coordinate and state feedback transformations to linearize the

PMSM model and

**2.1 Dynamic model of PMSM** 

this chapter.

employing error back propogation.

**2. Linearization of dynamic model of PMSM** 

constant and ignoring the core-loss, can be written as (Bose 2002).

•

where u ═[ *u*1 *u*2 ] *<sup>T</sup>* = [ *<sup>q</sup> <sup>d</sup> v v* ] *<sup>T</sup>* ;[ ]*<sup>T</sup>*

010 001 000 

where <sup>123</sup> *bbb* , , are constants derived from the motor parameters.

A═

•

$$y = \begin{bmatrix} y\_1 & y\_2 & y\_3 \end{bmatrix}^T ; \upsilon = \begin{bmatrix} \upsilon\_1 & \upsilon\_2 \end{bmatrix}^T$$

(2) (2) φ α ( ); ( ) *x x* and ( ) (1) β *x* are derived by solving the Generalized Homological Equations (Kang & Krener 1992) .Applying the transformations (5) and (6), (4) is reduced to

$$\stackrel{\bullet}{y} = Ay + Bv + O^{(3)}(y, v)$$

where (3) *<sup>O</sup>* (,) *<sup>y</sup> <sup>v</sup>* represent third and higher order nonlinearities .

#### **2.3 Verification of linearization using MATLAB function**

The problem now is to apply MATLAB to verify the theoretical result on quadratic linearization of the dynamic model (4). Expanding (4), we can see that the expression of the derivative of each state variable has the other two state variables in it. This becomes difficult to solve using manual methods of differential equation solution. The tool selected for solving the dynamic equations is the MATLAB function called ODE45.

ODE45 is a MATLAB function that solves initial value problems for ordinary differential equations (ODEs). It uses the iterative Runge Kutta method of solving equations. Hence, this function does not return the solution as an expression, but the values of the solution function at discrete instants of time. ODE45 is based on an explicit Runge-Kutta formula, the Dormand-Prince pair. It is a *one-step* ode45 –in the sense that, in computing ( ), *<sup>n</sup> y t* it needs only the solution at the immediately preceding time point <sup>1</sup> ( ) *<sup>n</sup> y t* <sup>−</sup> .In general, ode45 is the best function to apply as a "first try" for most problems.

**[t,Y] = ode45(odefun,tspan,y0)** with tspan = [t0 tf] integrates the system of differential equations from time t0 to tf with initial conditions y0. Function f = odefun(t,y) is defined, where t corresponds to the column vector of time points and y is the solution array. Each row in y corresponds to the solution at a time returned in the corresponding row of t. To obtain solutions at the specific times t0, t1,...,tf (all increasing or all decreasing), we use tspan = [t0,t1,...,tf].

**[t, Y] = ode45(odefun,tspan,y0,options)** solves as above with default integration parameters replaced by property values specified in 'options'. Commonly used properties include a scalar relative error tolerance RelTol (1e-3 by default) and a vector of absolute error tolerances AbsTol (all components are 1e-6 by default).

The PLOT function is used to create a computer-graphic plot of any two quantities or a group of quantities with respect to time.

A simulation of (4) was carried out for different values of inputs u1 and u2 in the open loop before applying the linearizing transformations where 1 *b* = -0.0165\*(10^-3) ; 2 *b* -186.96; <sup>3</sup> *b* =5754386. Fig 1 shows a plot of x3 (angular velocity) versus time for pulse inputs

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 391

Fig. 3. Variation of transformed variable Y3 with input v1 (keeping v2=0.1)

MATLAB function ODE45 .

**3.1 PMSM model in normal form** 

**3. Linearization of PMSM machine model** 

•

Fig. 3 shows the steady state gain of y3 with respect to v1 while v2 is maintained constant. It is observed that the plot between y3 and v1 is almost linear, thus verifying that the linearizing system is almost linear. A similar test before linearization revealed that the steady gain of

<sup>3</sup> *x* with respect to input u1 varied over a large range thus revealing the nonlinearity. Thus the linearization of the dynamic model of PMSM was verified through the use of

The 4 – dimensional PM machine model can be derived as below (Bose 2002).

2

[ ]

*uuu vv*

*x Ax Bu f x*

123 4

= =

*d*

*R L*

;

*B*

−

[ ]

01 0 0 1.5 00 0

<sup>λ</sup>

*p J*

0 0

*q q*

*L L*

00 0

*A p R*

= −λ −

= ++

1 2

( ) ( )

*T T q d*

respectively and , *<sup>e</sup>* θ ω represent rotor position and angular velocity respectively.

*xxxx x i i*

<sup>=</sup> =θ ω

where , ,, *<sup>q</sup> <sup>d</sup> <sup>q</sup> <sup>d</sup> vvii* represent the quadrature and direct axis voltages and currents

0 *q*

*L*

<sup>=</sup>

*d*

*L*

,, ;

( ) ( ) <sup>2</sup>

(7)

0 1.5 ( )

*p L L ii J*

*d q d q*

*d ed q q eq d*

*L Lp i L*

− = ω ω

\_

*f x Lp i*

*T T eq d*

u1= 0.1{u(t)-u(t-1)} and u2=0.1{u(t)-u(t-1)} where u(t) is a unit step function . The system is oscillatory as seen from Fig 1. Fig. 2 shows the result of simulation of equation (4) after the linearizing transformations (5) and (6) are applied to the system. It shows a plot of y1,y2,y3 against time for pulse inputs v1=0.2{u(t)-u(t-1)}, v2=0.2{u(t)-u(t-1)}. From Fig 2 it is seen that the system shows a stable response for a pulse input in v1 and v2 even under open loop conditions..

Fig. 1. Time response of angular velocity with v1=0.1 and v2=0.1

Fig. 2. Time response of Y1 ,Y2 ,Y3 with v1=0.2 and v2=0.2

Fig. 3. Variation of transformed variable Y3 with input v1 (keeping v2=0.1)

Fig. 3 shows the steady state gain of y3 with respect to v1 while v2 is maintained constant. It is observed that the plot between y3 and v1 is almost linear, thus verifying that the linearizing system is almost linear. A similar test before linearization revealed that the steady gain of <sup>3</sup> *x* with respect to input u1 varied over a large range thus revealing the nonlinearity. Thus the linearization of the dynamic model of PMSM was verified through the use of MATLAB function ODE45 .

#### **3. Linearization of PMSM machine model**

#### **3.1 PMSM model in normal form**

390 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

u1= 0.1{u(t)-u(t-1)} and u2=0.1{u(t)-u(t-1)} where u(t) is a unit step function . The system is oscillatory as seen from Fig 1. Fig. 2 shows the result of simulation of equation (4) after the linearizing transformations (5) and (6) are applied to the system. It shows a plot of y1,y2,y3 against time for pulse inputs v1=0.2{u(t)-u(t-1)}, v2=0.2{u(t)-u(t-1)}. From Fig 2 it is seen that the system shows a stable response for a pulse input in v1 and v2 even under open loop

Fig. 1. Time response of angular velocity with v1=0.1 and v2=0.1

Fig. 2. Time response of Y1 ,Y2 ,Y3 with v1=0.2 and v2=0.2

conditions..

The 4 – dimensional PM machine model can be derived as below (Bose 2002).

$$\begin{aligned} \stackrel{\bullet}{\mathbf{x}} &= A\mathbf{x} + Bu + f^{(2)}\begin{pmatrix} \mathbf{x} \end{pmatrix} \\ \stackrel{\bullet}{\mathbf{x}} &= \begin{bmatrix} \mathbf{x}\_1 & \mathbf{x}\_2 & \mathbf{x}\_3 & \mathbf{x}\_4 \end{bmatrix}^T = \begin{bmatrix} \Theta & \mathbf{0}\_{\varepsilon \prime} & i\_{q\prime} & i\_{q\prime} \end{bmatrix}^T; \\ \boldsymbol{\mu} &= \begin{bmatrix} \boldsymbol{u}\_1 & \boldsymbol{u}\_2 \end{bmatrix}^T = \begin{bmatrix} \boldsymbol{v}\_q & \boldsymbol{v}\_d \end{bmatrix}^T \end{aligned} \tag{7}$$

where , ,, *<sup>q</sup> <sup>d</sup> <sup>q</sup> <sup>d</sup> vvii* represent the quadrature and direct axis voltages and currents respectively and , *<sup>e</sup>* θ ω represent rotor position and angular velocity respectively.

$$A = \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & \frac{1.5p\lambda}{J} & 0 \\ 0 & \frac{-\lambda p}{L\_q} & \frac{-R}{L\_q} & 0 \\ 0 & 0 & 0 & \frac{-R}{L\_d} \end{bmatrix}; B = \begin{bmatrix} 0 & 0 \\ 0 & 0 \\ \frac{1}{L\_q} & 0 \\ \frac{1}{L\_q} & \frac{1}{L\_d} \end{bmatrix}; f^{(2)}(\mathbf{x}) = \begin{bmatrix} 0 \\ \frac{1.5p(L\_d - L\_q)i\_di\_q}{J} \\ \frac{-L\_d p \text{oo}\_id\_d}{L\_q} \\ \frac{L\_q p \text{oo}\_id\_q}{L\_d} \end{bmatrix}$$

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 393

(2) (2) 224 (1) 14 13

<sup>−</sup> φ = α = β =− <sup>−</sup>

() , () , () 0 0

(3) *<sup>y</sup> Ay Bv O* (,) *<sup>y</sup> <sup>v</sup>* • = ++

Customization of PMSM machine model using MATLAB/SIMULINK tools had to be carried out as the standard library available contained only special cases. The PM motor drive simulation was built in several steps through the construction of q-axis circuit, d-a xis

( ) *q qq r dd f qq v Ri Li Li* = +ω +λ + ρ

*kxx kx kx*

134 323

*xx x kxx kxx*

0 0

0

where 2*I* is the identity matrix of order 2. The system then reduces to

where (3) *O* (,) *y v* represents third and higher order nonlinearities .

By using the following system equation the q-axis circuit is constructed.

**4. Linearization of PMSM model using SIMULINK** 

where 12 12 [ ]; [ ] *T T uuu vvv* = =

**4.1 Construction of PMSM model** 

circuit, torque block and speed block.

q-axis circuit in the SIMULINK is shown in Fig.4 .

**4.1.1 q-axis circuit** 

Fig. 4. q-axis circuit

λ is the flux induced by the permanent magnet of the rotor in the stator phases. , *L L <sup>d</sup> <sup>q</sup>* are the direct and quadrature inductances respectively. *R* is the stator resistance. *p* is the number of pole pairs and *J* is the system moment of inertia.

The model (7) can be reduced to normal form for two inputs (Brunovsky 1970), in a standard way using the following transformations (Kuo 2001),

$$\begin{aligned} \mathbf{x} &= \begin{bmatrix} a\_1 c\_1 & 0 & 0 & 0 \\ 0 & a\_1 c\_1 & 0 & 0 \\ 0 & 0 & c\_1 & 0 \\ 0 & 0 & 0 & a\_4 \end{bmatrix} \mathbf{y} \\ \mathbf{u} &= \begin{bmatrix} 1 & 0 \\ 0 & a\_4 \sqrt{\ddots} \end{bmatrix} \mathbf{u}' + \begin{bmatrix} 0 & -a\_1 a\_2 & -a\_3 & 0 \\ 0 & 0 & 0 & -a\_4^2 \end{bmatrix} \mathbf{y} \end{aligned} \tag{8}$$

where

$$a\_1 = \frac{1.5 \, p\lambda}{J}; \; a\_2 = \frac{-\lambda \, p}{L\_q}; \; a\_3 = \frac{-R}{L\_q}; \; a\_4 = \frac{-R}{L\_d}; \; \; c\_1 = \frac{1}{L\_q}; \; c\_2 = \frac{1}{L\_d}$$

The Brunovsky form for two inputs is given below (where *xuA* , , and *B* are retained for simplicity of notation ).

$$\stackrel{\bullet}{x} = A\!\!\!x + Bu + f^{(2)}(\!\!x) \tag{9}$$

Where

$$\begin{aligned} A &= \begin{bmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix}; B = \begin{bmatrix} 0 & 0 \\ 0 & 0 \\ 1 & 0 \\ 0 & 1 \end{bmatrix}; f^{(2)}(\mathbf{x}) = \begin{bmatrix} 0 \\ k\_1 x\_3 x\_4 \\ k\_2 x\_2 x\_4 \\ k\_3 x\_2 x\_3 \end{bmatrix} \\\\ k\_1 &= \frac{\mathbf{1}.5 p(L\_d - L\_q) a\_4}{J a\_1}, k\_2 = \frac{-L\_d p a\_1 a\_4}{L\_q}, k\_3 = \frac{L\_q C\_1^{-2} a\_1}{L\_d a\_4} \end{aligned}$$

#### **3.2 Linearization of PMSM normal form model**

Given the 4 dimensional model of a PM synchronous motor (IPM model) of the form (9), the system can be linearized using the following transformations

$$y = \mathfrak{x} + \phi^{(2)}(\mathfrak{x})\tag{10}$$

$$u = (I\_2 + \beta^{(1)}(\mathbf{x}))v + \alpha^{(2)}(\mathbf{x})\tag{11}$$

where 12 12 [ ]; [ ] *T T uuu vvv* = =

392 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

λ is the flux induced by the permanent magnet of the rotor in the stator phases. , *L L <sup>d</sup> <sup>q</sup>* are the direct and quadrature inductances respectively. *R* is the stator resistance. *p* is the

The model (7) can be reduced to normal form for two inputs (Brunovsky 1970), in a standard

number of pole pairs and *J* is the system moment of inertia.

1 1

*a c*

1 1

<sup>λ</sup> <sup>=</sup> 2 3 , ,

*a a*

 

*a c x y <sup>c</sup>*

1

0 00 0

*q q p R*

*L L*

0010 00

0000 01

0 00 0 00 00 0 0 00

4

*a*

1 0 0 0

 − − = +′ <sup>−</sup> 

*u u a y a c c*

4 4 2 2

−λ <sup>−</sup> = = <sup>4</sup> ;

The Brunovsky form for two inputs is given below (where *xuA* , , and *B* are retained for

(2) *x Ax Bu <sup>f</sup>* ( ) *<sup>x</sup>* •

0100 00 0

= ==

*p L La L pa a LC a*

*Ja L L a*

4 1 1 1 4

*q d*

1 4

; ; () 0000 10

1 23

<sup>−</sup> <sup>−</sup> = ==

*k kk*

*<sup>A</sup> B fx kxx*

1.5 ( ) , , *d q <sup>q</sup> <sup>d</sup>*

Given the 4 dimensional model of a PM synchronous motor (IPM model) of the form (9), the

(1) (2)

12 3

*a*

*aa a*

2

<sup>−</sup> <sup>=</sup> 1 2

*c c L L* = =

= ++ (9)

224 323

2

(2) *y* = +φ *x x*( ) (10)

<sup>2</sup> *u I xv x* = +β +α ( ( )) ( ) (11)

*kxx*

*kxx*

(2) 134

1 1 ; *q d*

*d R*

*L*

(8)

way using the following transformations (Kuo 2001),

=

1

simplicity of notation ).

1.5 ; *<sup>p</sup> <sup>a</sup> J*

**3.2 Linearization of PMSM normal form model** 

system can be linearized using the following transformations

where

Where

$$\mathbf{A}^{(2)}(\mathbf{x}) = \begin{bmatrix} 0\\0\\k\_1 \mathbf{x}\_3 \mathbf{x}\_4\\0 \end{bmatrix}, \mathbf{a}^{(2)}(\mathbf{x}) = \begin{bmatrix} -k\_2 \mathbf{x}\_2 \mathbf{x}\_4\\-k\_3 \mathbf{x}\_2 \mathbf{x}\_3 \end{bmatrix}, \mathbf{b}^{(1)}(\mathbf{x}) = -\begin{bmatrix} k\_1 \mathbf{x}\_4 & k\_1 \mathbf{x}\_3\\0 & 0 \end{bmatrix}$$

where 2*I* is the identity matrix of order 2. The system then reduces to

$$\stackrel{\bullet}{y} = Ay + Bv + O^{(3)}(y, v)$$

where (3) *O* (,) *y v* represents third and higher order nonlinearities .

#### **4. Linearization of PMSM model using SIMULINK**

#### **4.1 Construction of PMSM model**

Customization of PMSM machine model using MATLAB/SIMULINK tools had to be carried out as the standard library available contained only special cases. The PM motor drive simulation was built in several steps through the construction of q-axis circuit, d-a xis circuit, torque block and speed block.

#### **4.1.1 q-axis circuit**

By using the following system equation the q-axis circuit is constructed.

$$\boldsymbol{\upsilon}\_{q} = \boldsymbol{R}\_{q}\boldsymbol{i}\_{q} + \boldsymbol{\alpha}\_{r}(\boldsymbol{L}\_{d}\boldsymbol{i}\_{d} + \boldsymbol{\lambda}\_{f}) + \boldsymbol{\mathfrak{p}}\boldsymbol{L}\_{q}\boldsymbol{i}\_{q}$$

q-axis circuit in the SIMULINK is shown in Fig.4 .

Fig. 4. q-axis circuit

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 395

ω= − −ω *m el m* ( ) *T T B Jdt*

ω =ω *m r*(2 ) *p*

The PMSM is constructed by using q-axis, d-axis, torque and speed blocks (figures 4,5, 6,

Fig. 8. Permanent Magnet Synchronous Motor with *Vq* and *Vd* as inputs

By using the following equations the speed block is constructed.

The simulation of ω*m* circuit is shown in the Fig.7.

**4.1.5 Designed PMSM with Vq and Vd as inputs** 

Fig. 7. Speed Block in Simulink

and 7 ) and is shown in figure 8.

**4.1.4 Speed block** 

#### **4.1.2 d-axis circuit**

By using the following system equation the d-axis circuit is constructed.

$$
\sigma\_d = R\_d i\_d + \alpha\_r (L\_q i\_q) + \mathfrak{p} (\lambda\_f + L\_d i\_d),
$$

Simulation of the d-axis circuit is shown in Fig. 5.

Fig. 5. d-axis circuit

#### **4.1.3 Torque block**

By using the following torque equation the torque block is constructed.

$$T\_e = (\Im/2)(p/4)(\lambda\_d i\_q - \lambda\_q i\_d)$$

The simulation of torque*Te* circuit is shown in the Fig 6.

Fig. 6. Te Block in Simulink

#### **4.1.4 Speed block**

394 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

( )( ) *d dd r qq f d d v Ri Li Li* = +ω + ρ λ +

By using the following system equation the d-axis circuit is constructed.

By using the following torque equation the torque block is constructed.

The simulation of torque*Te* circuit is shown in the Fig 6.

(3 2)( 4)( ) *Te d q q <sup>d</sup>* = λ −λ *<sup>p</sup> i i*

Simulation of the d-axis circuit is shown in Fig. 5.

**4.1.2 d-axis circuit** 

Fig. 5. d-axis circuit

**4.1.3 Torque block** 

Fig. 6. Te Block in Simulink

By using the following equations the speed block is constructed.

$$
\alpha\_m = \int (T\_e - T\_l - B\alpha\_m) / f dt
$$

$$
\alpha\_m = \alpha\_r (2/p)
$$

The simulation of ω*m* circuit is shown in the Fig.7.

Fig. 7. Speed Block in Simulink

#### **4.1.5 Designed PMSM with Vq and Vd as inputs**

The PMSM is constructed by using q-axis, d-axis, torque and speed blocks (figures 4,5, 6, and 7 ) and is shown in figure 8.

Fig. 8. Permanent Magnet Synchronous Motor with *Vq* and *Vd* as inputs

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 397

K=d <sup>2</sup> *y* /d <sup>1</sup> *v* \*10^(-6)

*<sup>q</sup> v* of the PMSM model

<sup>1</sup> *<sup>v</sup>* <sup>2</sup> *<sup>y</sup>*

\*10^(-6)

5 2.176 - 10 4.366 0.438 15 6.585 0.4438 20 8.845 0.452 25 11.162 0.4634

30 13.55 0.4776

is investigated and the results are given in Table 1. In Table 1, it is observed that the open loop steady state gain of ω*e* versus *<sup>q</sup> v* (keeping *<sup>d</sup> v* constant) is not constant because of the system nonlinearity. To verify the linearity of the system after linearization, we investigated the variation of its gain of 2 *y* ( a scaled version of ω*e* as can be seen from (8) and (10)) with input 1 *v* (see Fig. 9) and the results are given in Table 2. The table reveals that the gain of the system is nearly constant thus verifying that by applying the homogeneous linearizing

 Figures 10 and 11 show the time response of angular velocity ω*e* by closing the loop around PMSM model (Fig. 8) before linearization when *<sup>q</sup> v* = 5 units and 30 units respectively. It is observed that the dynamic response for *<sup>q</sup> v* = 5 is more oscillatory compared to the case of *<sup>q</sup> v* = 30 with a fixed controller of proportional gain = 50 and integral constant =2. This is to be expected since the loop gain is higher in the former case with a

Table 2. Steady state gain of 2 *y* vs 1 *v* for the linearized system in open loop

transformation, the PMSM model is made nearly linear for the given set of inputs.

Fig. 10. Time response of angular velocity in closed loop when *<sup>q</sup> v* = 5; 50; 2 *p i k k* = =

Prior to linearization, the open loop steady state gain of ω*e* versus

higher static gain in the plant or motor as can be seen from Table I.

(before linearization)

#### **4.2 Linearization of PMSM SIMULINK model**

The PMSM model is first converted to controller normal form of the linear part (9) using transformations as given in (8). Then linearization of the PMSM is carried out using quadratic coordinate and state feedback as given in (10) and (11). Fig.9 gives the PMSM model including linearization blocks. *N*<sup>1</sup> and *N*<sup>2</sup> include the linear transformations (8) while *L*1 and *L*<sup>2</sup> , denote the nonlinear transformations (11) and (10) respectively. *N*<sup>1</sup> , *N*<sup>2</sup> , *L*1 and *L*2 are implemented using function blocks.

Fig. 9. Linearization of PMSM model

#### **4.3 Verification of linearization of PMSM-simulation results**

For the Interior PMSM, parameters are taken as follows:

Stator resistance R = 2.875Ω ; q- axis Inductance Lq = 9mH; d-axis Inductance Ld = 7mH; Flux induced in magnets λ *<sup>f</sup>* = 0.175 wb; Moment of Inertia J = 0.0008 kg.m^2 Friction factor B = 1 N.m.s; No. of pole pairs p = 4


Table 1. Steady state gain of ω*e* versus *<sup>q</sup> v* for the system in open loop (Prior to linearization)

The PMSM model is first converted to controller normal form of the linear part (9) using transformations as given in (8). Then linearization of the PMSM is carried out using quadratic coordinate and state feedback as given in (10) and (11). Fig.9 gives the PMSM model including linearization blocks. *N*<sup>1</sup> and *N*<sup>2</sup> include the linear transformations (8)

while *L*1 and *L*<sup>2</sup> , denote the nonlinear transformations (11) and (10) respectively.

**4.2 Linearization of PMSM SIMULINK model** 

Fig. 9. Linearization of PMSM model

linearization)

*N*<sup>1</sup> , *N*<sup>2</sup> , *L*1 and *L*2 are implemented using function blocks.

**4.3 Verification of linearization of PMSM-simulation results**  For the Interior PMSM, parameters are taken as follows:

*<sup>q</sup> v*

Friction factor B = 1 N.m.s; No. of pole pairs p = 4

Stator resistance R = 2.875Ω ; q- axis Inductance Lq = 9mH; d-axis Inductance Ld = 7mH;

ω

Table 1. Steady state gain of ω*e* versus *<sup>q</sup> v* for the system in open loop (Prior to

5 2.55 - 10 4.7709 0.44418 15 6.4706 0.33994 20 7.6082 0.22752 25 8.2567 0.1297 30 8.5326 0.05518

*<sup>e</sup>* K=d

ω*<sup>e</sup>* /d *<sup>q</sup> v*

Flux induced in magnets λ *<sup>f</sup>* = 0.175 wb; Moment of Inertia J = 0.0008 kg.m^2


Table 2. Steady state gain of 2 *y* vs 1 *v* for the linearized system in open loop

Prior to linearization, the open loop steady state gain of ω*e* versus *<sup>q</sup> v* of the PMSM model is investigated and the results are given in Table 1. In Table 1, it is observed that the open loop steady state gain of ω*e* versus *<sup>q</sup> v* (keeping *<sup>d</sup> v* constant) is not constant because of the system nonlinearity. To verify the linearity of the system after linearization, we investigated the variation of its gain of 2 *y* ( a scaled version of ω*e* as can be seen from (8) and (10)) with input 1 *v* (see Fig. 9) and the results are given in Table 2. The table reveals that the gain of the system is nearly constant thus verifying that by applying the homogeneous linearizing transformation, the PMSM model is made nearly linear for the given set of inputs.

 Figures 10 and 11 show the time response of angular velocity ω*e* by closing the loop around PMSM model (Fig. 8) before linearization when *<sup>q</sup> v* = 5 units and 30 units respectively. It is observed that the dynamic response for *<sup>q</sup> v* = 5 is more oscillatory compared to the case of *<sup>q</sup> v* = 30 with a fixed controller of proportional gain = 50 and integral constant =2. This is to be expected since the loop gain is higher in the former case with a higher static gain in the plant or motor as can be seen from Table I.

Fig. 10. Time response of angular velocity in closed loop when *<sup>q</sup> v* = 5; 50; 2 *p i k k* = = (before linearization)

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 399

Fig. 13. Time Response of 2 *y* for the linearized system in closed loop when 1 *v* = 30;

Unmodelled dynamics coupled with the third and higher order nonlinearities introduced due to quadratic linearization, are best accounted for by tuning the transformations (Levin

To further improve the linearity of the system taking into account unmodelled dynamics and higher order nonlinearities, tuning of the transformation parameters against an actual PM machine is done on the lines similar to those proposed by Narendra (Levin & Narendra

> 1/2 ( ) ( )( ) ˆ ˆ *T T E yy yy* =εε= − − (12)

50; 2 *p i k k* = =

& Narendra 1993).

**5. Tuning linearizing transformations** 

1993). Fig 14 shows the block diagram for tuning.

Fig. 14. Block diagram for tuning of transformation Referring to Fig. 14, error ( E) can be calculated as

Figures 12 and 13 show the time response of 2 *y* of the transformed PMSM system (Fig. 9) in closed loop when 1 *v* = 5 units and 30 units respectively . It is observed that a uniform output response is obtained in the closed loop after linearization when the reference is varied. Since the static gain in Table II is nearly uniform, the loop gain is also nearly constant for the extreme points in the operating range, thus resulting in the uniform dynamic responses in Fig. 12 and 13.

Simulation results show that the nearly constant gain of the linearized model, results in a uniform response on a range of set point and load inputs with a fixed controller. This is in contrast to the case before linearization under the corresponding conditions.

Fig. 11. Time response of angular velocity in closed loop when *<sup>q</sup> v* = 30; 50; 2 *p i k k* = = (before linearization)

Fig. 12. Time Response of 2 *y* for the linearized system in closed loop when 1 *v* = 5; 50; 2 *p i k k* = =

Fig. 13. Time Response of 2 *y* for the linearized system in closed loop when 1 *v* = 30; 50; 2 *p i k k* = =

#### **5. Tuning linearizing transformations**

398 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

Figures 12 and 13 show the time response of 2 *y* of the transformed PMSM system (Fig. 9) in closed loop when 1 *v* = 5 units and 30 units respectively . It is observed that a uniform output response is obtained in the closed loop after linearization when the reference is varied. Since the static gain in Table II is nearly uniform, the loop gain is also nearly constant for the extreme points in the operating range, thus resulting in the uniform

Simulation results show that the nearly constant gain of the linearized model, results in a uniform response on a range of set point and load inputs with a fixed controller. This is in

Fig. 11. Time response of angular velocity in closed loop when *<sup>q</sup> v* = 30; 50; 2 *p i k k* = =

Fig. 12. Time Response of 2 *y* for the linearized system in closed loop when 1 *v* = 5;

contrast to the case before linearization under the corresponding conditions.

dynamic responses in Fig. 12 and 13.

(before linearization)

50; 2 *p i k k* = =

Unmodelled dynamics coupled with the third and higher order nonlinearities introduced due to quadratic linearization, are best accounted for by tuning the transformations (Levin & Narendra 1993).

To further improve the linearity of the system taking into account unmodelled dynamics and higher order nonlinearities, tuning of the transformation parameters against an actual PM machine is done on the lines similar to those proposed by Narendra (Levin & Narendra 1993). Fig 14 shows the block diagram for tuning.

Fig. 14. Block diagram for tuning of transformation

Referring to Fig. 14, error ( E) can be calculated as

$$E = \text{(\(\varepsilon^T \))} = \left[ (\boldsymbol{y} - \hat{\boldsymbol{y}})^T (\boldsymbol{y} - \hat{\boldsymbol{y}}) \right]^{1/2} \tag{12}$$

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 401

where *m* corresponds to the updating step and ρ correspond to the accelerating factor.

Tuning of *N*1 transformation is achieved by tuning of (1) β ( ) *x* . As (1) β ( ) *x* is a function of 1 3 *k x*′ and 1 4 *k x*′ , the coefficient 1 *<sup>k</sup>* ′ has to be updated based on the error between the outputs of quadratic linearized system and normal form . The updation law is derived as

> 

∂ ∂

*u x*

∂ ∂

*x y*

<sup>1</sup> <sup>1</sup>

*y E*

∂ <sup>∂</sup> =′ <sup>∂</sup>

> ∂ 1 *u x*

′ ∂ ∂

*k u*

1 1

> 

−

1 0

−

1 0

 

+ (15)

2 2

*k x*

2 4

*k x*

1 4 2 3

24 22

<sup>1</sup> *v x v x*

11 1 *km km km* ( ) ( 1) ( );0 1 = −− ρΔ < <sup>ρ</sup> <sup>&</sup>lt; (14)

Updation of (2) φ ( ) *x* is done by using the formula:

**5.2 Updation of** *N1* **transformation coefficients** 

follows.

Hence

where ; *<sup>E</sup>* 12 4 <sup>3</sup>

*y EEEE* ∂ εε ε <sup>ε</sup> <sup>=</sup> <sup>∂</sup>

∂

 

′ ′ <sup>+</sup> <sup>=</sup> <sup>∂</sup>

<sup>∂</sup> =′ <sup>Δ</sup>

*<sup>E</sup> <sup>k</sup>*

1

0 0 (1 )

<sup>1</sup> <sup>4</sup> <sup>1</sup> <sup>3</sup> *x k x k x <sup>y</sup>* ; <sup>=</sup> <sup>∂</sup>

0 0 0 1

1

*k*

Updation of (2) <sup>φ</sup> ( ) *<sup>x</sup>* is done by using (14) and 1 <sup>Δ</sup>*<sup>k</sup>* can be obtained from (13).

∂

Assuming that the steady state of the Simulink model is reached within the tuning period.

*<sup>u</sup>* <sup>=</sup> <sup>−</sup> <sup>−</sup> ′ <sup>∂</sup>

<sup>1</sup> *<sup>k</sup>* ′ <sup>Δ</sup> <sup>=</sup> 14 23 <sup>2</sup> 31 3 4

Tuning of the quadratic linearizing transformations is done by updating the transformation

The tuning is done using Memory blocks and they are constructed in simulink as shown. Fig. 15 shows the construction of Del 1 *k* block. Similar construction can be done for Del 1 *k* '

Simulation of updation of (2) φ ( ) *x* and (1) β ( ) *x* can be done using the simulation diagrams

( )( ) *vx vx k x E kx kx* ′ <sup>+</sup> <sup>ε</sup> ε +ε

0 1 0 0 1 0 0 0

*k*

coefficients of vector polynomials (2) φ ( ) *x* and (1) β ( ) *x* .

**5.3 Construction of controller tuning blocks** 

where 1 Δ*k* ' can be obtained from (14).

Fig. 15, 16 and 17.

where ( ) <sup>1234</sup> *T* ε= ε ε ε ε ; <sup>ˆ</sup> ; 1,2,3,4 *ii i* ε= − = *y yi* The error can be written as

$$E = \left(\mathbf{e}\_1^2 + \mathbf{e}\_2^2 + \mathbf{e}\_3^2 + \mathbf{e}\_4^2\right)^{1/2}$$

Since (2) φ ( ) *x* and (1) β ( ) *x* are both functions of 1 *<sup>k</sup>* , we shall redefine

$$\Phi^{(2)}(\mathbf{x}) = \begin{bmatrix} 0 \\ 0 \\ k\_1 x\_3 x\_4 \\ 0 \end{bmatrix}$$

and

$$\mathcal{J}^{(1)}(\mathbf{x}) = -\begin{bmatrix} k\_1' \ \mathbf{x}\_4 & k\_1' \ \mathbf{x}\_3 \\ \mathbf{0} & \mathbf{0} \end{bmatrix}$$

so that (2) <sup>φ</sup> ( ) *<sup>x</sup>* and (1) <sup>β</sup> ( ) *<sup>x</sup>* can be independently tuned by tuning 1 *<sup>k</sup>* and 1 *<sup>k</sup>* ′ respectively and (2) α ( ) *x* is not varied.

#### **5.1 Updation of** *N2* **transformation coefficients**

Tuning of *N*2 transformation implies the tuning of (2) φ ( ) *x* . As (2) φ ( ) *x* is a function of only <sup>134</sup> *kxx* , the coefficient 1 *k* has to be updated based on the error between the outputs of quadratic linearized system and normal form. The updation law is derived as follows.

$$
\Delta k\_1 = \frac{\partial E}{\partial k\_1} = \frac{\partial E}{\partial y} \frac{\partial y}{\partial k\_1}
$$

From (12), it is seen that

$$\frac{\partial E}{\partial y\_i} = \frac{\mathbf{e}\_i}{E}; i = 1, 2, 3, 4$$

Hence

$$
\frac{\partial E}{\partial y} = \begin{bmatrix} \frac{\varepsilon\_1}{E} & \frac{\varepsilon\_2}{E} & \frac{\varepsilon\_3}{E} & \frac{\varepsilon\_4}{E} \\\\ \frac{\varepsilon\_1}{E} & \frac{\varepsilon\_2}{E} & \frac{\varepsilon\_3}{E} & \frac{\varepsilon\_4}{E} \end{bmatrix}.
$$

$$
\therefore \dots \Delta k\_1 = \begin{bmatrix} \frac{\varepsilon\_1}{E} & \frac{\varepsilon\_2}{E} & \frac{\varepsilon\_3}{E} & \frac{\varepsilon\_4}{E} \end{bmatrix} \begin{bmatrix} 0 \\ 0 \\ x\_3 x\_4 \\ 0 \\ 0 \end{bmatrix} = \frac{\varepsilon\_3}{E} x\_3 x\_4 \tag{13}
$$

Updation of (2) φ ( ) *x* is done by using the formula:

$$k\_1(m) = k\_1(m-1) - \wp \Delta k\_1(m); 0 < \wp < 1\tag{14}$$

where *m* corresponds to the updating step and ρ correspond to the accelerating factor.

#### **5.2 Updation of** *N1* **transformation coefficients**

Tuning of *N*1 transformation is achieved by tuning of (1) β ( ) *x* . As (1) β ( ) *x* is a function of 1 3 *k x*′ and 1 4 *k x*′ , the coefficient 1 *<sup>k</sup>* ′ has to be updated based on the error between the outputs of quadratic linearized system and normal form . The updation law is derived as follows.

$$
\Delta k\_1 \stackrel{\prime}{=} \frac{\partial E}{\partial k\_1} = \frac{\partial E}{\partial \nu} \frac{\partial \nu}{\partial \mathbf{x}} \frac{\partial \mathbf{x}}{\partial u\_1} \frac{\partial u\_1}{\partial k\_1}
$$

where ; *<sup>E</sup>* 12 4 <sup>3</sup> *y EEEE* ∂ εε ε <sup>ε</sup> <sup>=</sup> <sup>∂</sup> ′ ′ <sup>+</sup> <sup>=</sup> <sup>∂</sup> ∂ 0 0 0 1 0 0 (1 ) 0 1 0 0 1 0 0 0 <sup>1</sup> <sup>4</sup> <sup>1</sup> <sup>3</sup> *x k x k x <sup>y</sup>* ; <sup>=</sup> <sup>∂</sup> ∂ 1 *u x* − − 2 2 2 4 1 0 1 0 *k x k x*

Assuming that the steady state of the Simulink model is reached within the tuning period.

$$\frac{\partial u\_1}{\partial k\_1} = -\nu\_1 \mathbf{x}\_4 - \nu\_2 \mathbf{x}\_3$$

Hence

400 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

( )1/2 <sup>2222</sup> *<sup>E</sup>* = ε +ε +ε +ε <sup>1234</sup>

134

 

*kxx*

0

′ ′

0 0

 

0 0

 

; <sup>ˆ</sup> ; 1,2,3,4 *ii i* ε= − = *y yi*

(2)

( )

φ =

 

so that (2) <sup>φ</sup> ( ) *<sup>x</sup>* and (1) <sup>β</sup> ( ) *<sup>x</sup>* can be independently tuned by tuning 1 *<sup>k</sup>* and 1 *<sup>k</sup>* ′ respectively

Tuning of *N*2 transformation implies the tuning of (2) φ ( ) *x* . As (2) φ ( ) *x* is a function of only <sup>134</sup> *kxx* , the coefficient 1 *k* has to be updated based on the error between the outputs of quadratic linearized system and normal form. The updation law is derived as follows.

> *E E <sup>y</sup> <sup>k</sup> k y k* ∂ ∂ <sup>∂</sup> Δ= = ∂ ∂∂

*E* 12 4 <sup>3</sup> *y EEEE* ∂ εε ε <sup>ε</sup> <sup>=</sup> <sup>∂</sup>

12 4 3 3 1 3 4

*k x x EEEE E x x*

εε ε ε ε ∴Δ = <sup>=</sup>

3 4

0

0 0

1 1

; 1,2,3,4 *<sup>i</sup>*

.

(13)

1

*i <sup>E</sup> <sup>i</sup> y E* <sup>∂</sup> <sup>ε</sup> = = <sup>∂</sup>

( ) <sup>1</sup> <sup>4</sup> <sup>1</sup> <sup>3</sup> (1) *<sup>k</sup> <sup>x</sup> <sup>k</sup> <sup>x</sup>*

= −

*x*

Since (2) φ ( ) *x* and (1) β ( ) *x* are both functions of 1 *<sup>k</sup>* , we shall redefine

β*x*

**5.1 Updation of** *N2* **transformation coefficients** 

where ( ) <sup>1234</sup>

The error can be written as

and (2) α ( ) *x* is not varied.

From (12), it is seen that

Hence

and

ε= ε ε ε ε

*T*

$$
\Delta k\_1 \stackrel{\prime}{=} \frac{(v\_1 \mathbf{x}\_4 + v\_2 \mathbf{x}\_3)}{E} (\frac{\mathbf{e}\_2}{k\_2 \mathbf{x}\_4} + \frac{\mathbf{e}\_3 k\_1^{'} \mathbf{x}\_3 + \mathbf{e}\_4}{k\_2 \mathbf{x}\_2}) \tag{15}
$$

Tuning of the quadratic linearizing transformations is done by updating the transformation coefficients of vector polynomials (2) φ ( ) *x* and (1) β ( ) *x* .

#### **5.3 Construction of controller tuning blocks**

Updation of (2) <sup>φ</sup> ( ) *<sup>x</sup>* is done by using (14) and 1 <sup>Δ</sup>*<sup>k</sup>* can be obtained from (13).

The tuning is done using Memory blocks and they are constructed in simulink as shown. Fig. 15 shows the construction of Del 1 *k* block. Similar construction can be done for Del 1 *k* ' where 1 Δ*k* ' can be obtained from (14).

Simulation of updation of (2) φ ( ) *x* and (1) β ( ) *x* can be done using the simulation diagrams Fig. 15, 16 and 17.

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 403

Fig. 17. Updation of input transformation

Fig. 15. Calculation of del K1 for the updation of (2) φ ( ) *x*

Fig. 16. Updation rule using Memory Read and memory Write Blocks

Fig. 15. Calculation of del K1 for the updation of (2) φ ( ) *x*

Fig. 16. Updation rule using Memory Read and memory Write Blocks

Fig. 17. Updation of input transformation

Linearization of Permanent Magnet Synchronous Motor Using MATLAB and Simulink 405

Complete simulation diagram including conversion to Brunovsky form, linearization and

In Table 3, improvements are obtained for the steady state gain of 2 *y* versus 1 *v* for the linearized system after incorporating tuning of the transformation parameters. Table 3 reveals that the gain of the system is even more constant compared to that shown in Table 2, thus verifying that by tuning the homogeneous linearizing transformation, the linearity of

Application of MATLAB and SIMULINK tools for the verification of linearization of permanent magnet synchronous motor is considered in this chapter. Simulation is done using the dynamic model of PMSM, application of nonlinear coordinate and state feedback transformations to the SIMULINK model which is customized to PMSM and tuning the transformations against a linear system model employing error back propogation to account

 Initially, linearization of PMSM is verified using the dynamic model of PMSM. The dynamic model of a PM synchronous motor involving quadratic nonlinearity is linearized and simulated using MATLAB. Steps are given to perform dynamic simulation for the nonlinear system using the dynamic equations based on parameters of the machine,

The SIMULINK model of Interior Permanent Magnet machine is specially developed by integrating various blocks as standard library functions do not cater to generic purposes . The PMSM machine model, together with the state and input transformations, are simulated using SIMULINK. The simulation results show that the linearizing transformations

To account for the unmodelled dynamics and third and higher order nonlinearities, tuning of the transformation parameters is done by comparing the output of the linearized system with a normal form output. Tuning the transformation functions (2) φ ( ) *x* and (1) β ( ) *x* is

The authors acknowledge the financial support rendered by the management of Hindustan

Gildeberto S. Cardoso & Leizer Schnitman (2011) Analysis of exact linearization and

Krener A.J. (1984) Approximate linearization by state feedback and coordinate change.

together with the state and input transformations using MATLAB function ODE45.

tuning is given in Fig.18. It is seen that the error after tuning is reduced to 0.01.

the system has been improved for the given set of inputs.

effectively linearize the system thus supporting the theory.

shown further to improve the linearity of the resulting system.

More details of the simulation results are given in (Parvathy et. al. 2011).

Institute of Technology and Science, Chennai in publishing this chapter.

approximate feedback linearization techniques.  *www.hindawi.com/journals/mpe/aip/205939.pdf*

*Systems and control Letters.* Vol. 5,pp. 181-185.

Bimal .K. Bose(2002) *Modern Power Electronics and Ac Drives* , Pearson Education.

**6. Conclusion** 

for unmodelled dynamics.

**7. Acknowledgement** 

**8. References** 

Fig. 18. Simulation diagram including controller tuning


Table 3. Steady state gain of 2 *y* versus <sup>1</sup> *v* for the linearized system in open loop after tuning

Complete simulation diagram including conversion to Brunovsky form, linearization and tuning is given in Fig.18. It is seen that the error after tuning is reduced to 0.01.

In Table 3, improvements are obtained for the steady state gain of 2 *y* versus 1 *v* for the linearized system after incorporating tuning of the transformation parameters. Table 3 reveals that the gain of the system is even more constant compared to that shown in Table 2, thus verifying that by tuning the homogeneous linearizing transformation, the linearity of the system has been improved for the given set of inputs.

### **6. Conclusion**

404 MATLAB for Engineers – Applications in Control, Electrical Engineering, IT and Robotics

<sup>1</sup> *<sup>v</sup>* <sup>2</sup> *<sup>y</sup>* \*10^-6 K=d <sup>2</sup> *<sup>y</sup>* /d <sup>1</sup> *<sup>v</sup>*

106 7.142 --

108 7.38 0.048

110 7.334 0.048

112 7.43 0.048

114 7.525 0.0475

116 7.62 0.0475

118 7.714 0.047

Table 3. Steady state gain of 2 *y* versus <sup>1</sup> *v* for the linearized system in open loop after

\*10^(-6)

Fig. 18. Simulation diagram including controller tuning

tuning

Application of MATLAB and SIMULINK tools for the verification of linearization of permanent magnet synchronous motor is considered in this chapter. Simulation is done using the dynamic model of PMSM, application of nonlinear coordinate and state feedback transformations to the SIMULINK model which is customized to PMSM and tuning the transformations against a linear system model employing error back propogation to account for unmodelled dynamics.

 Initially, linearization of PMSM is verified using the dynamic model of PMSM. The dynamic model of a PM synchronous motor involving quadratic nonlinearity is linearized and simulated using MATLAB. Steps are given to perform dynamic simulation for the nonlinear system using the dynamic equations based on parameters of the machine, together with the state and input transformations using MATLAB function ODE45.

The SIMULINK model of Interior Permanent Magnet machine is specially developed by integrating various blocks as standard library functions do not cater to generic purposes . The PMSM machine model, together with the state and input transformations, are simulated using SIMULINK. The simulation results show that the linearizing transformations effectively linearize the system thus supporting the theory.

To account for the unmodelled dynamics and third and higher order nonlinearities, tuning of the transformation parameters is done by comparing the output of the linearized system with a normal form output. Tuning the transformation functions (2) φ ( ) *x* and (1) β ( ) *x* is shown further to improve the linearity of the resulting system.

More details of the simulation results are given in (Parvathy et. al. 2011).

### **7. Acknowledgement**

The authors acknowledge the financial support rendered by the management of Hindustan Institute of Technology and Science, Chennai in publishing this chapter.

#### **8. References**

Bimal .K. Bose(2002) *Modern Power Electronics and Ac Drives* , Pearson Education.

Gildeberto S. Cardoso & Leizer Schnitman (2011) Analysis of exact linearization and approximate feedback linearization techniques.

 *www.hindawi.com/journals/mpe/aip/205939.pdf*

Krener A.J. (1984) Approximate linearization by state feedback and coordinate change. *Systems and control Letters.* Vol. 5,pp. 181-185.

**Part 5** 

**Vehicle Applications** 

