A Project Report
Submitted in Partial Fulfilment of
Requirements for the Degree of
Master of Engineering
in
Electrical Engineering
By
Awneesh Kumar Tripathi
June 2008
Acknowledgements
I feel a great pleasure in expressing my sincere thanks to Prof. V. T. Ranganathan who gave
me a chance to work under his able guidance. His constant help, supervision and inspiration
led me to complete the project in time. Course work dealt by him on electric drive was very
helpful for the project.
I expess my heartfelt gratitude to Prof. V. Ramanarayanan for his constant supervision and
motivation during course work and project work. Course work dealt by him on SMPC and
Power electronics was very helpful in understanding the fundamentals of the switched mode
power conversion.
I sincerely thank Prof. G. Narayanan for his course work on digital controllers and PWM
converters. I thank Prof. V. John for his encouragement and support during project.
I thank Prof. P. S. Nagendra Rao who was my adviser during my stay at IISc for his help
and support. I thank Prof. D. Thukaram, Prof. Indraneel Sen and staff members of the
department for their help and support.
I thank all senior PhD students of the PEG group Dinesh Gopinath, Kamalesh Hatua, Amit
Jain, Debmalya Benerji for maintaining an excellent work culture in the lab and also taking
me for two tours of Kerala and Karanataka.
I thank Tanmay, Dipankar De, Anirban, Shivaprasad, C. Karupuswamy, A. Karupuswamy,
Parikshith, Pavan Hari, Chaitanya, Suneel, Bharat, Bhukia, Shravan, Anand Babu for their
help and support. I thank Shilvi madam for her kind help and support.
I am grateful to MHRD for providing scholarship. I am grateful to IISc administration for
providing it’s students a very good working environment overall.
i
Abstract
DC motors were popularily used for variable speed applications until the advances in power
electronics devices and digital electronics technology, as they require simple power processing
unit and simple control algorithm and offer good dynamic performence. But conventional dc
motor has problems related to mechanical commutation, while induction motor has low cost,
less maintenance requirement, very rugged and reliable. So now induction motor drives run
by voltage source inverters are replacing conventional dc motor drives in all variable speed
applications.
In this project, attention is towards implementation of an induction motor drive suitable
for traction application. As traction is a very high power application, switching losses will
amount to a high value which can be minimized by using low switching frequency for the
PWM inverter. Secondly traction system has very large inertia, so torque required during
acceleration is many times higher the torque required during steady state full speed operation,
because in steady state motor has to work only against air resistance and friction. So rather
than using a very high power rating motor that can develope peak accelerating torque up to
top speed, a smaller power rating motor can be used, which accelerates at limited constant
power level, employing field weakening scheme.
Higher the voltage that can be applied to the motor, higher will be the flux in the core
during field weakening operation and higher will be the torque capability. So inverter should
be operated in over-modulation mode as well, extending to six step mode, to utilize dc
bus voltage fully. Also for closed loop control, speed sensor is required which makes the
motor costly, less reliable and less rugged, as it requires periodic maintenance. So position
sensorless control is used, which uses the motor voltages and currents for speed and position
synthesis.
ii
Contents
Acknowledgements i
Abstract ii
List of Tables vi
Nomenclature x
1 Introduction 1
1.1 Vector control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Special requirements of induction motor traction drive . . . . . . . . . . . . 3
1.3 Problems associated with vector control of induction motor traction drive . . 4
iii
iv Contents
3 Implementation 23
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Experimental Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.1 Induction Motor-DC Generator Setup . . . . . . . . . . . . . . . . . . 23
3.2.2 Inverter Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.3 FPGA Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.3 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.4 Estimation and calculation of different quantities . . . . . . . . . . . . . . . 31
3.4.1 Base Values for Different Quantities . . . . . . . . . . . . . . . . . . . 32
3.4.2 DC Bus Voltage Calculation . . . . . . . . . . . . . . . . . . . . . . . 32
3.4.3 Sensed Voltage scaling . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.4 Sensed current scaling . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.5 Harmonic current extraction . . . . . . . . . . . . . . . . . . . . . . . 33
3.4.6 Estimation of speed and position . . . . . . . . . . . . . . . . . . . . 33
3.4.7 Selection of K in flux position estimator block . . . . . . . . . . . . . 36
3.4.8 Decoupling Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 Design and implementation of Controllers . . . . . . . . . . . . . . . . . . . 37
3.5.1 General digital implementation of a controller . . . . . . . . . . . . . 37
3.5.2 Design of Current Controller . . . . . . . . . . . . . . . . . . . . . . . 38
3.5.3 Design of Speed Controller . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.4 Design of Flux Controller . . . . . . . . . . . . . . . . . . . . . . . . 39
3.5.5 Design of Voltage Controller . . . . . . . . . . . . . . . . . . . . . . . 40
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Contents v
4 Experimental Results 42
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Current Extraction Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3 Overmodulation Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4 Steady State Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.5 Transient Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 Machine-2 Loading Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
References 64
List of Tables
vi
List of Figures
vii
viii List of Figures
4.1 Vrn and isr waveforms for speed command of 0.7pu (35Hz) . . . . . . . . . . 43
4.2 irh and isr (extracted) waveforms for speed command of 0.7pu (35Hz) . . . . 43
4.3 Vrn and isr waveforms for speed command of 0.92pu (46Hz) . . . . . . . . . 44
4.4 irh and isr (extracted) waveforms for speed command of 0.92pu (46Hz) . . . 44
4.5 Vrn and isr waveforms for speed command of 1.25pu (64Hz) . . . . . . . . . 45
4.6 irh and isr (extracted) waveforms for speed command of 1.25pu (64Hz) . . . 45
4.7 Vref and Vsvpwm (modif ied) waveforms for speed command of 0.75pu (36Hz) 46
4.8 Vref and Vsvpwm (modif ied) waveforms for speed command of 0.89pu (44.5Hz) 46
4.9 Vref and Vsvpwm (modif ied) waveforms for speed command of 0.94pu (47Hz) 47
4.10 Vref and Vsvpwm (modif ied) waveforms for speed command of 01.02pu (50.6Hz) 47
4.11 sinρ and cosρ waveforms for speed command of 0.0625pu (3.125Hz) . . . . . 48
4.12 is1 and is2 waveforms for speed command of 0.0625pu (3.125Hz) . . . . . . . 49
4.13 isq and isd waveforms for speed command of 0.0625pu (3.125Hz) . . . . . . . 49
4.14 sinρ and cosρ waveforms for speed command of 0.75pu (37.5Hz) . . . . . . . 50
4.15 is1 and is2 waveforms for speed command of 0.75pu (37.5Hz) . . . . . . . . . 50
4.16 isq and isd waveforms for speed command of 0.75pu (37.5Hz) . . . . . . . . . 51
4.17 sinρ and cosρ waveforms for speed command of 1.5pu (75Hz) . . . . . . . . 51
4.18 is1 and is2 waveforms for speed command of 1.5pu (75Hz) . . . . . . . . . . 52
4.19 isq and isd waveforms for speed command of 1.5pu (75Hz) . . . . . . . . . . 52
4.20 sinρ and cosρ waveforms for speed command of 2.25pu (112.5Hz) . . . . . . 53
4.21 is1 and is2 waveforms for speed command of 2.25pu (112.5Hz) . . . . . . . . 53
4.22 isq and isd waveforms for speed command of 2.25pu (112.5Hz) . . . . . . . . 54
4.23 Rotor reference and actual speed during transition from 0.75 pu (37.5Hz) to
1.5 pu (75Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.24 sinρ and cosρ during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz) 55
4.25 Vmax and Vdq during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz) 56
4.26 imr (ref erence) and imr during speed transition from 0.75 pu (37.5Hz) to 1.5
pu (75Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.27 isd (ref erence) and isd during speed transition from 0.75 pu (37.5Hz) to 1.5
pu (75Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.28 isq (ref erence) and isq during speed transition from 0.75 pu (37.5Hz) to 1.5
pu (75Hz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.29 is1 and is2 during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz) . 58
List of Figures ix
4.30 Rotor reference and actual speed waveform during the speed reversal from
1.25 pu to -1.25 pu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.31 sinρ and cosρ waveform during the speed reversal from 1.25 pu to -1.25 pu . 59
4.32 is1 and is2 waveform during the speed reversal from 1.25 pu to -1.25 pu . . . 59
4.33 Vmax and Vdq waveform during the speed reversal from 1.25 pu to -1.25 pu . . 60
4.34 imr (ref erence) and imr waveform during the speed reversal from 1.25 pu to
-1.25 pu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.35 isd (ref erence) and isd waveform during the speed reversal from 1.25 pu to
-1.25 pu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.36 isq (ref erence) and isq waveform during the speed reversal from 1.25 pu to
-1.25 pu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.37 is1 and is2 for speed command 1.25 pu (62.5 Hz) and load 129.2W . . . . . . 62
4.38 isq (ref erence) and isq for speed command 1.25 pu (62.5 Hz) and load 129.2W 63
Nomenclature
Symbols : Definitions
Vdc : DC bus voltage
vs1 , vs2 , vs3 : 3-phase voltages applied on the induction motor
V : Voltage space phasor
vsa , vsb : a-axis and b-axis components of V
vsd , vsq : d-axis and q-axis voltage components of V
is1 , is2 , is3 : 3-phase line currents
is : Stator current phasor
isa , isb : a-axis and b-axis components of is
isd , isq : d-axis and q-axis components of is
imr : Rotor magnetizing current
ψs : Stator flux vector
ψsa , ψsb : a-axis and b-axis components of ψ s
ψ sr : Rotor flux phasor referred to stator coordinates
ψras s
, ψrb : a-axis and b-axis components of ψ sr
ρ : Position of the rotor flux phasor
ωm : Mechanical speed of the rotor in rad/sec
ω : Electrical speed of the rotor in rad/sec
ω1 : Speed of the rotor flux vector ψ r or Stator frequency in rad/sec
ωslip : Slip frequency in rad/sec
ω∗ : Speed reference in rad/sec
i∗mr : Magnetizing current reference which corresponds to flux in the machine
i∗sd , i∗sq : d-axis current and q-axis current references
vs1∗
, vs2∗
, vs3
∗
: 3-phase reference modulating waves
x
Nomenclature xi
Introduction
The fact that the torque and speed in DC motor can be controlled independently by control-
ling armature current and field current respectively ensures that dc motor has good dynamic
performance. The objective of vector control is to find two such components of currents from
the available information of line currents of induction motor, by controlling which torque
and speed can be controlled independently. This is the basic underlying principle of vector
control which is most popular for induction motor drives.
dimr (t)
Tr + imr (t) = isd (t) (1.1)
dt
dρ isq (t)
ω1 (t) = = ω (t) + (1.2)
dt Tr imr (t)
2 P L0
Md = imr (t) isq (t) (1.3)
3 2 1 + σr
disd dimr
Rs isd (t) + σLs = vsd + σLs ω1 isq (t) − (1 − σ)Ls (1.4)
dt dt
disq
Rs isq (t) + σLs = vsq − σLs ω1 isd (t) − (1 − σ) Ls ω1 imr (t) (1.5)
dt
1
2
Figure 1.1: Block diagram of sensorless vector controlled induction motor drive
σ Ls ω1 i sd (1−σ) Ls ω1 imr
G G
Chapter 1. Introduction
Frequency
Speed
cosρ sin ρ
1.2. Special requirements of induction motor traction drive 3
For the purpose of the control, the d-axis and q-axis currents must be controlled indepen-
dently. The presence of the terms containing isq in vsd equation 1.4 and isd in vsq equation
1.5 indicates cross coupling. Hence we need to add the following decoupling terms in the
control circuit.
σLs ω1 isq (t) (1 − σ)Ls didtmr
vsdx = − + (1.6)
G G
σLs ω1 isd (t) (1 − σ) Ls ω1 imr(t)
vsqx = + (1.7)
G G
where G is the gain of the inverter.
After adding the above mentioned components in the control circuit, the currents isd and
isq , are completely decoupled and entirely depend upon the voltages vsd and vsq respectively
as shown in equations 1.8 and 1.9.
disd
Rs isd (t) + σLs = vsd (1.8)
dt
disq
Rs isq (t) + σLs = vsq (1.9)
dt
This is shown in the block diagram1.1.
2. Traction system has large inertia, so torque required during acceleration is very high
compared to steady state operation. If field weakening mode of operation is followed,
motor power rating can be saved.
3. Overmodulation operation leading to six step mode operation of the inverter, produces
maximum possible stator voltage out of limited DC bus voltage which is required for
maximum torque production.
4. Position sensor(optical or magnetic) makes induction motor expensive and less reliable,
so a position sensorless vector control is preferable.
4 Chapter 1. Introduction
2. DC bus voltage has to be utilized for maximum torque production, but as the reference
goes above traingle carrier peak, pulse dropping occurs and linearity between input
reference and output voltage is lost. So suitable compensation has to be applied.
4. Field weakening has to be done in such a manner that accelerating torque follows
maximum torque trajectory without violating either current limit or voltage limit. So
suitable algorithm is needed here as well.
In the next chapter, proposed solutions to the above discussed problems are presented.
Chapter 2
5
6 Chapter 2. Schemes proposed for induction motor traction drive
Virtually no current flows through magnetizing inductance for harmonic frequency and leak-
age inductance being small, we can neglect rotor flux linkage term in equation 2.2. From
equations 2.1, 2.2, 2.3 and 2.4, we derive
diss dir
vss = Rs iss + Ls + L0 [ r ejε + jωirr ] (2.5)
dt dt
dψ sr
vsr = 0 = Rr isr + − jωψ sr (2.6)
dt
And from equations 2.5 and 2.6, we get
diss L0 dis
vss = Rs iss + Ls − [Rr irr ejε + L0 s ] (2.7)
dt Lr dt
Neglecting rotor flux in equation from 2.4, we get irr ejε = − LL0r iss . By substituting this
expression in equation 2.7, we get
L0 2 s dis
v ss = [Rs + Rr ( ) ]is + σLs s (2.8)
Lr dt
or
dih
vh = Rh ih + Lh (2.9)
dt
Here Lh = σLs and Rh = [Rs + Rr ( LL0r )2 ] . This equation 2.9 describes the harmonic model
of induction motor.
Leakage model of IM
Vah Iah
Vsa(PWM)
1
+ +− s(σ Ls)
−+
− Isa(extracted)
Vsa(REF)
G 2
Rs + (Lo/Lr) Rr
Isa(motor)
Isb(motor)
−1
0.95 0.96 0.97 0.98 0.99 1 1.01 1.02
0.5
Vrh
0
−0.5
0.95 0.96 0.97 0.98 0.99 1 1.01 1.02
0.5
Isr
0
−0.5
0.95 0.96 0.97 0.98 0.99 1 1.01 1.02
0.2
Irh
0
−0.2
−0.4
0.95 0.96 0.97 0.98 0.99 1 1.01 1.02
Isr(extracted)
0.5
−0.5
0.95 0.96 0.97 0.98 0.99 1 1.01 1.02
Time in seconds
current should be converted into d-q components, which should be passed through high pass
filters to remove the dc component (fundamental current in a-b-c), then converted back to
stator frame and subtracted from the motor current to get the fundamental current. A
simulation output is shown in figure 2.2.
2.1.3 Conclusion
This algorithm has been tested on Simulink/Matlab and also verified on experimental set up.
Here we avoid use of a heavy filter, so there is no danger to stability of the system. Extracted
current is pure sinusoidal, however it depends on correctness of the machine parameters. So
d − q components are pure DC quantities which are fed to current controller. Extracted
fundamental current and sinusoidal reference voltage are fed to flux position estimator which
produces ρ and sinρ, cosρ as output.
2.2. Overmodulation scheme 9
1
Mi=4/π Reference voltage
VmSin(ωt)=MiVpSin(ωt), pu
0.9
Reference and modified voltages (in per unit scale) Mi=1 Volt−sec lost
0.8
0.7
Extra Volt−sec
added
0.6
0.5
0.4
Triangle carrier amplitude
αs Vp=π/4, pu
0.3
0.2
Hs
0.1
0
0.173 0.174 0.175 0.176 0.177 0.178 0.179 0.18 0.181 0.182
Time(seconds)
voltage. This is shown with figures 2.3, 2.4 and 2.5. For sine-triangle we have following
relations:
Hs = Vm sin(αs ) (2.10)
Vm
Vm = cos(αs ) + [2αs − sin(2αs )] (2.11)
π
Equations 2.10 and 2.11 are valid for full over-modulation range(1 =< Mi =< π4 ). For space
vector PWM, there are two modes of operation in over-modulation region. In the first mode,
clamping has to be done at two peaks per half cycle because of the wave shape and in second
mode clamping is done once per half cycle as reference gets more saturated and clamping
requirement is more. The equations for first mode are 2.12 and 2.13.
Vm √
Hsv = [3sin(αsv ) + 3cos(αsv )] (2.12)
4
√
1 3 3 3 3π √ π
Vm = [− Vm sin(2αsv ) + 3Vm αsv − Vm cos(2αsv ) + cos(αsv ) − 3 sin(αsv )] (2.13)
π 4 4 2 2
And for second mode of operation, the equations are 2.14 and 2.15.
3
Hsv = Vm sin(αsv ) (2.14)
2
1 3
Vm = [− Vm sin(2αsv ) + 3Vm αsv + πcos(αsv )] (2.15)
π 2
2.2. Overmodulation scheme 11
1
Reference voltage(per unit)
V Sin(ωt)=M V Sin(ωt)
m i p
0.9
Reference, SV and modified voltages (in per unit scale)
0.8
0.7
α Volt−sec
sv lost
0.6
0.5
H M =V /V
sv Vp=π/4, per unit i m p
0.4
0.3
0.2
0.1
0
0.072 0.073 0.074 0.075 0.076 0.077 0.078 0.079 0.08 0.081
Time(seconds)
1
Reference voltage(per unit)
V Sin(ωt)=M V Sin(ωt)
m i p
0.9
Reference, SV and modified voltages (in per unit scale)
0.8
0.7
αsv Volt−sec
lost
0.6
0.5
V =π/4, per unit M =V /V
p i m p
0.4
0.3
0.2
Hsv
0.1
0
0.153 0.154 0.155 0.156 0.157 0.158 0.159 0.16 0.161 0.162
Time(seconds)
0.8
0.6
0.5
Hs=Vp=π/4
Vm=1
Hs(pu)
0.4
Mi=4/π
0.3
Vm=π/4
0.2
Mi=1
0.1
0
0.7 0.75 0.8 0.85 0.9 0.95 1
Vm(pu)
0.8
Hsv=0.711
0.7
OVERMODULATION OVERMODULATION
SVPWM
MODE−1 MODE−2
0.6
0.5
Hsv(pu)
0.4
H =V =π/4
sv p
0.3
0
0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02
Vm(pu)
Based on these equations lookup table can be constructed which takes modulation index
Mi as input and gives Hs or Hsv value as output. It is shown with graphs 2.6 and 2.7. A
comparator clamps input reference command to + 1 or − 1 per unit with input polarity,
if its magnitude exceeds Hs or Hsv value. The algorithm is here
= sign(VP W M ), [otherwise]
2.2.3 Conclusion
Space vector is better than sine-triangle PWM as it remains linear upto modulation index
of √2 . In fact in space vector PWM, triplen harmonics( third harmonics = 31 , maximum,
3
1
ninth harmonics = 9
, maximum ) are injected to increase output fundamental voltage,
which are inherently canceled by balanced three phase system. But to increase fundamental
volatge further one has to inject 5, 7, 11, 13.. harmonics also, all the way upto six step or
square wave mode. That’s what we are doing here indirectly [1].
In this section the equations required for the determination of the rotor flux speed(ω1 ) are
developed and as explained in previous chapters, slip frequency (ωslip ) is given by ωslip =
isq
Tr imr
. Thus the rotor speed (ω) is estimated which is used as feed back quantity in the speed
loop.
The stator and rotor flux linkages in terms of the stator and rotor currents can be expressed
as follows,
ψ ss = Ls iss + L0 irr ejε (2.17)
From equations (2.17), (2.19) the rotor current referred to the stator can be expressed as in
equation (2.20)
ψ sr − L0 iss
irr ejε = (2.20)
Lr
Substituting this value from equation 2.20 in equation 2.17 we get
L0 s
ψ ss = [Ls iss + (ψ r − L0 iss )]
Lr
Lr s
ψ sr = (ψ s − σLs iss ) (2.21)
L0
L20
where σ = 1 − Ls Lr
Therefore rotor flux referred to the stator can be written as shown in Eqn. 2.21.
The stator voltage equation in space phasor form can be written as follows which can be
used for the calculation of the stator flux.
dψ ss
v ss = Rs iss + (2.22)
dt
From the above equation (2.22) the stator flux linkages can be expressed as,
Z
ψ ss = (v ss − Rs iss )dt (2.23)
q bs
vs d
ψ σ Ls i s
s
i sRs
ψ s
is r
es L0
ψ s
Lr r
ρ
as
The relationship between the stator flux and rotor flux can be shown in a phasor diagram
as shown in Fig. 2.8. The rotor flux phasor is expressed in stationary coordinates as,
ψ sr = ψra
s s
+ jψrb
The rotor flux linkage phasor is normalized to get sine and cosine of the rotor flux angle,
which is used for resolving stator reference frame phasors to rotor flux reference frame or
vice versa. The following equations show the normalization to obtain the unit vectors cosρ
and sinρ. This is shown in Fig. 2.9 in the form of a block diagram.
s
ψra
cosρ =
|ψrs |
s
ψrb
sinρ = (2.25)
|ψrs |
q
where |ψrs | = s 2 + ψ s 2 The rotor flux speed with respect to stationary reference frame
ψra rb
is estimated using the relation,
dρ
ω1 = (2.26)
dt
By simple mathematics, it can be seen that
dθ d d
= cosθ (sinθ) − sinθ (cosθ)
dt dt dt
Hence the speed of the rotor flux can be expressed as follows,
16 Chapter 2. Schemes proposed for induction motor traction drive
ψ sas ψ cos ρ
s
vsa 1 Lr ra
s L0
ψ s
r
Rs σ Ls
a 2+ b 2
i sa i sa
ψ rs
vsb ψ s ψ s
sin ρ
1 sb Lr rb
s L0
Rs σ Ls
i sb i sb
Figure 2.9: Block diagram for derivation of unit vectors cosρ and sinρ
dρ d d
ω1 = = cosρ (sinρ) − sinρ (cosρ) (2.27)
dt dt dt
Therefore, the rotor speed(ω) in elec-rad/sec is,
ω = ω1 − ωslip (2.28)
isq
where ωslip = Tr imr
1
ψ ss = es (2.29)
s + ω0 s
where ω0 is the filter cut off frequency. By choosing ω0 to be very small, the integrator well
approximates to a pure integrator. Therefore it can be seen that small amount of negative
feedback is required to maintain the stability of the integrator in the presence of noise or
offset errors.
This ω0 can’t be selected too small otherwise dc offset will decrease slowly during transients
and drive might become unstable. So the drive performs satisfactorily at higher speed but
it becomes unstable at lower speed because of inaccurate position and speed estimation.
So we can’t approximate a pure integrater by a low pass filter because of the reasons discussed
above. But some fast error decaying mechanizm must be employed to ensure that there is no
dc offset. For this we need one more estimate of rotor flux. We know that imr represents rotor
flux equivalent current, so L0 imr represents magnitude of rotor flux and ejρ is its position
with respect to stator. So we can calculate rotor flux error and add it to the integrator input
after multiplying with some gain K. It is shown with equation 2.30 and figure 2.10.
ψ s∗
r
= L0 imr ejρ
Z
ψ ss = [(v ss − Rs iss ) + K(ψ s∗
r
− ψ sr )]dt (2.30)
The value of K decides how fast error converges to zero. If we select a very high value of K,
their exists a starting problem though once started drive behaves ideally, and smaller value
of K gives poor steady state performance. So K is selected on trial basis here. This method
promises accurate position and speed estimation, right from 1% to any higher speed.
18
ψ sa ψra
Figure 2.10: Modified unit-vector derieving algorithm block diagram
Vsa
+ + 1/s +− Lr/Lo − K
− + + Num
ψ cos ρ
Isa ra Den
Rs
σ Ls sqrt(ψ ra + ψrb )
2 2
imr Tr
2.4. Field weakeneing scheme 19
2.3.4 Conclusion
This algorithm has been tested on Simulink/Matlab and also verified on experimental set
up. This gives very good performance compared to low pass filter integration method.
and
Vsq = ω1 Ls isd (2.32)
i2sd i2sq
2 + 2 =1 (2.33)
Vmax Vmax
ω1 Ls σω1 Ls
Now the operating point must always be inside the region limited by both the boundaries.
The equation for torque is given by
2 P L0
Md = [isd (t) isq (t)] (2.35)
3 2 1 + σr
20 Chapter 2. Schemes proposed for induction motor traction drive
Isq
Isd=σ Isq
Maximum torque
B trajectory
Current limit A
circle
Torque(parabola)
O Isd
σ Imax Imro
σ2+1
Voltage limit
ellipse
ω1 Increasing
Imro
Imr
2 2
sqrt(Vsd +Vsq )
Vsq
σ Imax
Vsd
Isq limit
max
σ2 + 1 Imr/σ
1 *1
a Comparator MUX
a>b
b sqrt(Imax2 −Imr2 ) 0
*−1
Isqmin limit
Imax
Imr
When both current and voltage limit are applied and torque(parabola) is to be maximized,
it can be proved that maximum torque will occur at the common point. From equation
2.33, 2.35, we get maximum torque when isd = σ isq , which is a line. This can be
allowed only when the operating point is inside the current limit circle. Now putting the
expression isd = σ isq in current limit equation, we get
σ
isd = √ imax (2.36)
1 + σ2
When we are inside the current limit, then isd < √ σ imax . This can be seen in figure
1+σ2
2.11.
increases, ellipse radius decreases. After one value of ω1 ellipse no longer touches the circle,
that means maximum torque is acheived when isd = σ isq . This is mode 2. Mode 2 starts
when isd < √ σ imax is satisfied. As shown in the figure 2.12, one P-I controller is put to
1+σ2
keep voltage error zero, whenever voltage limit is violated above base speed. When volage
limit is violated imr reference is reduced from rated value accordingly. In the mean time isd
is monitered, to decide which mode is active. Here isq limit is decided by current limit in
the first mode and decided by isd in second mode.
2.4.3 Conclusion
In the above algorithm, we are trying to acheive maximum torque so that overall drive
performs very fast. As imr reference command must not consist any ripple, the voltage
controller loop is made very slow to avoid instability. First mode gives higher limit for isq
which is quite expected as current limit is the major limiting factor in this mode. In second
mode, voltage limit is major limiting factor, isq limit keeps decreasing proportionally with
isd to acheive maximum torque on the particular speed.
Chapter 3
Implementation
3.1 Introduction
The algorithms discussed in previous chapter have been implemented together on FPGA
(ALTERA)based controller to make a sensorless induction motor drive capable of working
in field weakening mode as well as at low speeds. These are preriquisite of field weakening
mode operation. Figure 3.1 shows the overall scheme. The present chapter explains the
experimental setup and the implementation of the proposed scheme for a 0.37 KW induc-
tion motor. Firstly, the details of the experimental setup, which includes Induction motor-
DC generator setup, 10 KVA converter, FPGA controller are presented. Then the perunit
system followed, and base values for different quantities are defined, which are necessary
for the implementation. Later on, all the equations are perunitized and are made ready for
implementation.
23
24
Imro
Figure 3.1: Block diagram for overall drive scheme
Imax
Imr DC BUS
Voltage
Reference Voltages
Chapter 3. Implementation
Flux position and speed
Estimator Extracted
Fundamental
currents
3.2. Experimental Setup 25
BASIC
GP1 GATE PULSES BYTE
BLASTER
GP2 PD CARD
AND FPGA
GP3
GP4 GATE DRIVE Board
GP5 CARD
GP6 SENSED
VOLTAGE
3PH,50Hz
440V GP3 GP5 SENSED
SUPPLY + GP1 CURRENTS
VDC −
+ GP2 GP4 GP6
−
bridge rectifier, fed from a 3-phase auto-transformer. DC bus voltage can be adjusted to
a required value by adjusting the auto-transformer. The induction motor is mechanically
belt-coupled to a DC generator, whose field is excited from a separate DC source. This DC
generator with rheostat connected across its armature terminals forms the loading setup for
the induction motor. The details of the induction motor and DC generator are presented in
Table. 3.1, Table. 3.3 respectively. The parameters of the Induction motor determined from
the no-load test and blocked rotor test are shown in the Table 3.2.
VOLTAGE 220 V
CURRENT 1.98 A
POWER 0.37 KW
POLES 4
SPEED 1500 rpm
Quantity Value
Rs 7.1Ω
Lls 22.6mH
Rr 7.0Ω
Llr 22.6mH
L0 283.2mH
VOLTAGE 30 V
CURRENT 1.5 A
POWER 45 W
SPEED 2000 rpm
The power circuit diagram of the inverter is shown in Fig. 3.2. The power devices used in the
inverter are IGBTs. There are three legs in the inverter with two IGBTs (one module) in each
leg. The IGBTs are mounted on heat sink and are connected to the DC bus voltage via DC-
bus bar.The basic constituents of the inverter apart from the power circuit shown in Fig. 3.2
are PD card, Gate drive card, front panel card, voltage sensing card and current sensing
card. The function of each of the circuit is briefly explained in the following subsections.
1. PD Card
The PD (Protection and Delay) card receives three PWM signals from FPGA board
via interface card. The circuit on the card generates the complimentary signals with a
dead time of 5 µsec. These six PWM pulses are given as inputs to the gate drive cards.
Apart from the delay circuit mentioned above, there is a protection circuit which allows
the inverter to trip under faulty conditions such as overcurrent, over-voltage, fault on
IGBT.
3.2. Experimental Setup 27
given application is based on the size required (number of logic elements), clock speed and
number of I/O pins. ALTERA EP1C12Q240C8 is found to be suitable for the given platform.
The resources available in this device are listed in Table. 3.4
PC with
Quartus tool
Digital I/O
Configuration
device 12 bit DAC
CYCLONE
EEPROM DAC 7625U
FPGA device
EPCS41N bipolar type
EP1C12Q240C8
Analog output
from DAC
Clock
20 MHz 12 bit ADC
AD7864
bipolar type Sensed analog
signal input
to ADC
1. Configuration Device
The configuration device is an EEPROM (EPCS4IN) which is connected to a PC
through a parallel port or USB port using ByteblaserII or USB blaster cable. The
digital design for the implementation of the proposed scheme is done using Quartus-II
(Altera’s design tool for FPGA) and the output file after compilation is downloaded
to EEPROM through Byteblaster-II or USB blaster cable .The arrangement for con-
figuring the FPGA is shown in Fig. 3.4.
2. On-board Clock
In an FPGA, different blocks of logic elements can operate at different clock frequencies.
3.2. Experimental Setup 29
Part No EP1C12Q240C8
Manufacturer Altera
No of pins 240
No of I/O pins 173
Total internal memory bits 2,39,616
Package PQFP
No of logic elements 12,060
No of PLL 2
Maximum clock frequency using PLL 275 MHz
ByteBlaster Cable
PC
EEPROM
with
(EPCS4IN)
Quartus tool
CYCLONE
FPGA
DEVICE
The board consists of two crystal oscillators both of 20 MHz frequency as shown in
Fig. 3.5. Even though two crystal clocks are provided on the board, only one clock is
used in the implementation.
5. Digital I/Os
Dedicated digital I/Os are necessary to interface to ADC, DAC etc which are present
on the board. Apart from that 56 I/O pins are provided for the user to interface
application specific hardware.
eration. On the basis of these requirements 5V and -5V is given as power supply to
the board and other levels needed are derived on the board.
3.3 Implementation
The implementation can be divided into two major parts viz.,
(a) Estimation and calculation of different quantities and
(b) Controller design and realization.
These are explained in the following sections.
√
Voltage (Vb ) 150 ∗ √2
= 122.47V
3
√
Current (Ib ) 1.98 ∗ 2 = 2.8A
Frequency (fb ) 50Hz
Frequency in rad/sec (ωb ) 2π ∗ fb = 314.16rad/sec
Vb
Resistance(Rb ) Ib
= 43.74Ω
Vb
Flux linkages(ψb ) ωb
= 0.3898 wb − turns
ψb
Inductance(Lb ) Ib
= 0.1392 H
dih 1
= [vh − Rh ih ]
dt Lh
Vb
Deviding by Ib = ωb Lb
to both sides of the equations, we get
dih(pu) ωb
= [vh(pu) − Rh(pu) ih(pu) ]
dt Lh(pu)
ih (n + 1) − ih (n) ωb
= [vh (n) − Rh(pu) ih (n)]
Ts Lh(pu)
or
ωb
ih (n + 1) = ih (n) + T s [vh (n) − Rh(pu) ih (n)] (3.3)
Lh(pu)
Calculation time T s has been selected as 1.6µsec on the basis of trial on experimental set
up. So we get final equation as
isq
frequency can be calculated as Tr imr
. Thus the rotor electrical speed is found by subtracting
slip frequency from stator frequency dρdt
. All the equations necessary for the above calculations
are presented in Chapters 2 and 3. These equations are perunitized and are presented here.
3
isa(pu) = is1(pu)
2
This equation in digital domain can be written as,
s Lr
ψra = [ψsa − σLs isa ]
L0
3.4. Estimation and calculation of different quantities 35
This is same in per unit as well. The equations for cosρ,sinρ in pu can be written as follows,
s
ψra (n)
cosρ (n) = s (3.10)
|ψ r (n) |
Similarly,
s
ψrb (n)
sinρ (n) = s (3.11)
|ψr (n) |
Recalling the equation for rotor flux speed, ω,
dρ d d
ω1 = = cosρ (sinρ) − sinρ (cosρ)
dt dt dt
Dividing the equation with ωb ,
!
1 d d
ω1 (pu) = cosρ (sinρ) − sinρ (cosρ)
ωb dt dt
1
ω1 (n) = [cosρ (n) (sinρ (n + 1) − sinρ (n)) − sinρ (n) (cosρ (n + 1) − cosρ (n))]
ωb Ts
ω1 (n) = 7.77pu [cosρ (n) sinρ (n + 1) − sinρ (n) cosρ (n + 1)] (3.12)
isd (n) = isa (n) cosρ (n) + isb (n) sinρ (n) (3.13)
isq (n) = isb (n) cosρ (n) − isa (n) sinρ (n) (3.14)
Except these mentioned equations, other equations do not change while perunitization. The
digital realization for all equations requires adders, subtractors, multipliers and dividers. All
these entities are available in the library of Quartus-II tool. Apart from these arithimetic
logic entities, D-Flip Flops are also needed for storing previous data values, in the case of
performing integration.
or
1
vsdx(pu) = −σLs(pu) ω1(pu) isd(pu) + (1 − σ) Ls(pu) (isd(pu) − imr(pu) )
ωb Tr
vsqx(pu) = σLs(pu) ω1(pu) isq(pu) + (1 − σ) Ls(pu) ω1(pu) imr(pu)
vsdx (n) = −0.312pu ω1 (n) isd (n) + 0.1376pu (isd(pu) − imr(pu) ) (3.18)
vsqx (n) = 0.312pu ω1 (n) isq (n) + 1.8838pu ω1 (n) imr (n) (3.19)
Simplifying and approximating the above equation results in the following transfer function.
i (s) 1
= (3.20)
i∗ (s) 1 + s RKs Tc c
By choosing the bandwidth less than carrier frequency, the expression for the gain can be
obtained as,
Kc = Rs Tc ωcutof f (3.21)
Isq
ref Isq
ω 1 1 ω
ref Kn(1+sTn)
+− Kt
sTn (1+ sTi) Js
1
(1+ sTw )
Isd
ref Isd
I
Imr Kf(1+sTf) 1 1 mr
ref
+− sTf (1+ sTi) (1+ sTr)
TN = 4(2Ti + Tw ) (3.22)
2J
KN = (3.23)
Kt TN
Here Kt = P
3
(1 − σ)Ls imr (0). And in per unit Kt(pu) = Kt mIbb .
(1+ sTr)
Vmax Kv(1+sTv) 0
+ sTv +
− −Imax +
Imro
1 2 2
sqrt(Vsd +Vsq )
(1+ sTdq)
Vsq
the largest time constant in the loop (Tr ), the flux controller time constant is,
TF = Tr = Lr /Rr (3.24)
The transfer function for the flux loop can be written as,
KF 1
imr (s) KF 1
sTF 1+s(T )
= i =
KF
s
imr (s)
∗
1 + sTKF 1 TF Ti s2 + +Ti TF Ti
F 1+s(Ti )
√
Choosing the damping coefficient of the loop as 1/ 2, the gain of the flux controller can be
obtained as,
TF
KF = (3.25)
2Ti
TF
Choosing Tdq = TF and Tv = KF
and selecting the smallest bandwidth, as this loop must be
the slowest, we get this expression,(based on trial and run)
Kv = 15Tv (3.26)
3.6. Conclusion 41
The controller parameters are tabularized and presented in the Table. 3.7.
3.6 Conclusion
The chapter presented the details of the experimental setup and the development of equations
in perunit system. The design of the controllers and their realization are also discussed. The
experimental results in different conditions are presented in the next chapter.
Chapter 4
Experimental Results
4.1 Introduction
The experimental setup is explained in detail in previous chapter. In this chapter, the
experimental results are presented under different conditions. The results under steady
state operation and transient operation are presented. First DC bus is charged to 192.4 V
as calculated in the previous chapter. Then, the program developed for sensorless vector
control in Quartus II tool is burnt into FPGA.
42
4.4. Steady State Waveforms 43
Figure 4.1: Vrn and isr waveforms for speed command of 0.7pu (35Hz)
Figure 4.2: irh and isr (extracted) waveforms for speed command of 0.7pu (35Hz)
44 Chapter 4. Experimental Results
Figure 4.3: Vrn and isr waveforms for speed command of 0.92pu (46Hz)
Figure 4.4: irh and isr (extracted) waveforms for speed command of 0.92pu (46Hz)
4.4. Steady State Waveforms 45
Figure 4.5: Vrn and isr waveforms for speed command of 1.25pu (64Hz)
Figure 4.6: irh and isr (extracted) waveforms for speed command of 1.25pu (64Hz)
46 Chapter 4. Experimental Results
Figure 4.7: Vref and Vsvpwm(modif ied) waveforms for speed command of 0.75pu (36Hz)
Figure 4.8: Vref and Vsvpwm(modif ied) waveforms for speed command of 0.89pu (44.5Hz)
4.4. Steady State Waveforms 47
Figure 4.9: Vref and Vsvpwm(modif ied) waveforms for speed command of 0.94pu (47Hz)
Figure 4.10: Vref and Vsvpwm (modif ied) waveforms for speed command of 01.02pu (50.6Hz)
48 Chapter 4. Experimental Results
Figure 4.11: sinρ and cosρ waveforms for speed command of 0.0625pu (3.125Hz)
Figure 4.12: is1 and is2 waveforms for speed command of 0.0625pu (3.125Hz)
Figure 4.13: isq and isd waveforms for speed command of 0.0625pu (3.125Hz)
50 Chapter 4. Experimental Results
Figure 4.14: sinρ and cosρ waveforms for speed command of 0.75pu (37.5Hz)
Figure 4.15: is1 and is2 waveforms for speed command of 0.75pu (37.5Hz)
4.5. Transient Waveforms 51
Figure 4.16: isq and isd waveforms for speed command of 0.75pu (37.5Hz)
Figure 4.17: sinρ and cosρ waveforms for speed command of 1.5pu (75Hz)
52 Chapter 4. Experimental Results
Figure 4.18: is1 and is2 waveforms for speed command of 1.5pu (75Hz)
Figure 4.19: isq and isd waveforms for speed command of 1.5pu (75Hz)
4.5. Transient Waveforms 53
Figure 4.20: sinρ and cosρ waveforms for speed command of 2.25pu (112.5Hz)
Figure 4.21: is1 and is2 waveforms for speed command of 2.25pu (112.5Hz)
54 Chapter 4. Experimental Results
Figure 4.22: isq and isd waveforms for speed command of 2.25pu (112.5Hz)
Figure 4.23: Rotor reference and actual speed during transition from 0.75 pu (37.5Hz) to
1.5 pu (75Hz)
Figure 4.24: sinρ and cosρ during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz)
56 Chapter 4. Experimental Results
Figure 4.25: Vmax and Vdq during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz)
Figure 4.26: imr (ref erence) and imr during speed transition from 0.75 pu (37.5Hz) to 1.5
pu (75Hz)
4.5. Transient Waveforms 57
Figure 4.27: isd (ref erence) and isd during speed transition from 0.75 pu (37.5Hz) to 1.5 pu
(75Hz)
Figure 4.28: isq (ref erence) and isq during speed transition from 0.75 pu (37.5Hz) to 1.5 pu
(75Hz)
58 Chapter 4. Experimental Results
Figure 4.29: is1 and is2 during speed transition from 0.75 pu (37.5Hz) to 1.5 pu (75Hz)
Figure 4.30: Rotor reference and actual speed waveform during the speed reversal from 1.25
pu to -1.25 pu
4.5. Transient Waveforms 59
Figure 4.31: sinρ and cosρ waveform during the speed reversal from 1.25 pu to -1.25 pu
Figure 4.32: is1 and is2 waveform during the speed reversal from 1.25 pu to -1.25 pu
60 Chapter 4. Experimental Results
Figure 4.33: Vmax and Vdq waveform during the speed reversal from 1.25 pu to -1.25 pu
Figure 4.34: imr (ref erence) and imr waveform during the speed reversal from 1.25 pu to
-1.25 pu
4.5. Transient Waveforms 61
Figure 4.35: isd (ref erence) and isd waveform during the speed reversal from 1.25 pu to -1.25
pu
Figure 4.36: isq (ref erence) and isq waveform during the speed reversal from 1.25 pu to -1.25
pu
62 Chapter 4. Experimental Results
VOLTAGE 220 V
CURRENT 2.5 A
POWER 0.55 KW
POLES 4
SPEED 1500 rpm
Figure 4.37: isq (ref erence) and isq for speed command 1.25 pu (62.5 Hz) and load 129.2W
4.7 Conclusion
The performance of the proposed scheme under steady state as well as during the transients
are presented. A good dynamic performance of the drive is observed under both load changes
and changes in reference speed. Performance in six-step mode is also very good. In an actual
4.7. Conclusion 63
Figure 4.38: imr (ref erence) and imr for speed command 1.25 pu (62.5 Hz) and load 129.2W
traction system, most of the time, motor will be operating in field weakening mode. So six-
step steady state performance is required to be good enough. Some important points are
mentioned here.
1. Controller parameters calculated are found to be faster so they have been slowed by
tuning.
3. Vdc is uncontrolled here and during transients starts fluctuating. This hampers the
transient performance.
[1] Vikram Kaura,“ A New Method To Linearize Any Triangle Comparison Based PWM
By Reshaping The Modulation Command ”,IEEE transactions on Industry Applications,
Volume 33, NO.5, September/October 1997, Pages 1254-1259.
[3] Sang-Hoon Kim,“ Maximum Torque Control of an Induction Machine in the Field-
Weakening Region ”,IEEE transactions on Industrial Electronics, Volume 31, NO.4,
July/August 1995, Pages 787-794.
[4] Werner Leonhard, “Control of Electric Drives”, Springer-Verlag Berlin, Heidelberg, 1985.
[5] V.T. Ranganathan ,“Field Oriented Control of AC drives”, Lecture notes of Electric
Drives, IISc Bangalore.
[6] B. Srinivas Rao, “DSP based sensorless vector control of induction motor”, M.E. thesis,
EE Dept, IISc, Bangalore, January 2003.
[8] N. Praveen Kumar, “FPGA based sensorless vector control of induction motor”, M.E.
thesis, EE Dept, IISc, Bangalore, July 2006.
64