Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
– A Modular Approach
Burak Ozpineci1 Leon M. Tolbert1,2
burak@ieee.org tolbert@utk.edu
1 2
Oak Ridge National Laboratory Department of Electrical and Computer
P.O. Box 2009 Engineering
Oak Ridge, TN 37831-6472 The University of Tennessee
Knoxville, TN 37996-2100
Abstract - In this paper, a modular Simulink implementation parameters are accessible for control and verification
of an induction machine model is described in a step-by-step purposes.
approach. With the modular system, each block solves one of the Simulink induction machine model discussed in this paper
model equations; therefore, unlike black box models, all of the has been featured in a recent graduate level text book [6], and
machine parameters are accessible for control and verification
purposes.
it also has been used by different scholars in the US [7-9],
After the implementation, examples are given with the model Korea, and Brazil [10-12] in their research.
used in different drive applications, such as open-loop constant
V/Hz control and indirect vector control are given. Finally, the II. INDUCTION MOTOR MODEL
use of the model as an induction generator is demonstrated.
The induction machine d-q or dynamic equivalent circuit is
shown in Fig. 1. One of the most popular induction motor
I. INTRODUCTION
models derived from this equivalent circuit is Krause’s model
Usually, when an electrical machine is simulated in circuit detailed in [13]. According to his model, the modeling
simulators like PSpice, its steady state model is used, but for equations in flux linkage form are as follows:
electrical drive studies, the transient behavior is also dFqs ω
important. One advantage of Simulink over circuit simulators dt
ª R
= ωb «vqs − e Fds + s Fmq + Fqs »
ωb xls
( º
) (1)
¬ ¼
is the ease in modeling the transients of electrical machines
and drives and to include drive controls in the simulation. dFds ª ω R º
= ω b «vds + e Fqs + s (Fmd + Fds )» (2)
As long as the equations are known, any drive or control dt ¬ ω b x ls ¼
algorithm can be modeled in Simulink. However, the dFqr (ω e − ω r )
equations by themselves are not always enough; some
dt
ª
= ω b «v qr −
ωb
Fdr +
Rr
x lr
(º
Fmq − Fqr » ) (3)
experience with differential equation solving is required. ¬ ¼
Simulink induction machine models are available in the dFdr ª (ω − ω r ) R º
= ω b «v dr + e Fqr + r (Fmd − Fdr )» (4)
literature [1-3], but they appear to be black-boxes with no dt ¬ ω b x lr ¼
internal details. Some of them [1-3] recommend using S-
functions, which are software source codes for Simulink
blocks. This technique does not fully utilize the power and iqs iqr
ease of Simulink because S-function programming Rs Lls=Ls-Lm Llr=Lr-Lm Rr
+ -
- +
knowledge is required to access the model variables. S-
functions run faster than discrete Simulink blocks, but ωeΨds (ωe-ωr)Ψdr
Simulink models can be made to run faster using Lm
vqs vqr
“accelerator” functions or producing stand-alone Simulink Ψqs=Fqs/ωb Ψqr=Fqr/ωb
models. Both of these require additional expense and can be
avoided if the simulation speed is not that critical. Another
approach is using the Simulink Power System Blockset [4] (a)
that can be purchased with Simulink. This blockset also ids idr
Rs Lls=Ls-Lm Llr=Lr-Lm Rr
makes use of S-functions and is not as easy to work with as - +
+ -
the rest of the Simulink blocks.
Reference [5] refers to an implementation approach similar ωeΨqs (ωe-ωr)Ψqr
to the one in this paper but fails to give any details. vds Lm vdr
Ψds=Fds/ωb Ψdr=Fdr/ωb
In this paper, a modular, easy to understand Simulink
induction motor model is described. With the modular
system, each block solves one of the model equations;
therefore, unlike black box models, all of the machine (b)
Fig. 1. Dynamic or d-q equivalent circuit of an induction machine.
dFds ª ω R § x* § x* · ·º
1 = ω b «vds + e Fqs + s ¨ ml Fdr + ¨ ml − 1¸ Fds ¸» (14)
ids = (Fds − Fmd ) (8) dt «¬ ωb xls ¨© xlr ¨ x ¸ ¸»
xls © ls ¹ ¹¼
iqr =
1
xlr
(
Fqr − Fmq ) (9) dFqr ª (ω − ω )
= ω b «− e r R § x* § x* · ·º
Fdr + r ¨ ml Fqs + ¨ ml − 1¸ Fqr ¸» (15)
dt «¬ ωb xlr ¨© xls ¨ x ¸ ¸»
© lr ¹ ¹¼
1
idr = (Fdr − Fmd ) (10) ª (ω − ω ) · ·º
xlr dFdr R § x* § x*
= ωb « e r
Fqr + r ¨ ml Fds + ¨ ml − 1¸ Fdr ¸» (16)
dt «¬ ωb xlr ¨© xls ¨ ¸ ¸»
© xlr
Te =
3§ p· 1
¨ ¸
2 © 2 ¹ ωb
(
Fds iqs − Fqs ids ) (11) ¹ ¹¼
dω r § p ·
=¨ ¸(Te − TL ) (17)
§ 2 · dω dt © 2J ¹
Te − TL = J ¨¨ ¸¸ r (12)
© p ¹ dt
III. SIMULINK IMPLEMENTATION
where d : direct axis, The inputs of a squirrel cage induction machine are the
q : quadrature axis, three-phase voltages, their fundamental frequency, and the
s : stator variable, load torque. The outputs, on the other hand, are the three-
r : rotor variable, phase currents, the electrical torque, and the rotor speed.
Fij is the flux linkage (i=q or d and j=s or r), The d-q model requires that all the three-phase variables
vqs, vds : q and d–axis stator voltages, have to be transformed to the two-phase synchronously
vqr, vdr : q and d–axis rotor voltages, rotating frame. Consequently, the induction machine model
Fmq,Fmd : q and d axis magnetizing flux linkages, will have blocks transforming the three-phase voltages to the
Rr : rotor resistance, d-q frame and the d-q currents back to three-phase.
Rs : stator resistance, The induction machine model implemented in this paper is
Xls : stator leakage reactance (ω eLls), shown in Fig. 2. It consists of five major blocks: the o-n
Xlr : rotor leakage reactance (ω eLlr), conversion, abc-syn conversion, syn-abc conversion, unit
§ 1 1 1 · vector calculation, and the induction machine d-q model
Xml* : 1 ¨¨ + + ¸,
¸
© xm xls xlr ¹ blocks. The following subsections will explain each block.
iqs, ids : q and d–axis stator currents, A. o-n conversion block
iqr, idr : q and d–axis rotor currents, This block is required for an isolated neutral system,
p : number of poles, otherwise it can be bypassed. The transformation done by this
J : moment of inertia, block can be represented as follows:
Te : electrical output torque,
TL(or Tl) : load torque,
ω e : stator angular electrical frequency,
ω b : motor angular electrical base frequency, and 1
vao
vao van van
vqs vqs
iqs iqs ia 1
2 vbo vbn vbn
ω r : rotor angular electrical speed.
ia
vbo 3 vco vcn vcn ids ids
vco cos(theta-e) vds ib 2
o-to-n vds
For a squirrel cage induction machine as in the case of this sin(theta-e)
abc-syn
Te 4
Te
cos(theta-e) ib
wr 5 sin(theta-e) ic 3
paper, vqr and vdr in (3) and (4) are set to zero. we
idr
wr
syn-abc
ic
vector. Note that Fij = ψ ij ⋅ ω b , where Fij is the flux linkage Fig. 2. The complete induction machine Simulink model.
(i=q or d and j=s or r) and ψij is the flux.
In this case, state-space form can be achieved by inserting
(5) and (6) in (1-4) and collecting the similar terms together
729
s
ª 2 1 1º °iqs = vqs cosθ e + vds sin θ e ½°
«+ − − »
®s ¾ (22)
ªvan º « 3 3 3 ªvao º
« » « 1 2 1 »» « » °̄ids = −vqs sin θ e + vds cosθ e °¿
«vbn » = « − 3 + − «vbo » (18)
3 3»
«¬ vcn »¼ « 1 1 2 » «¬vco »¼
«− − + » ª º
¬ 3 3 3¼ «1 0 »
ªia º « » s
« » « 1 3 » ªiqs º
This is implemented in Simulink by passing the input «ib » = «− 2 − »« s » (23)
voltages through a Simulink “Matrix Gain” block, which 2 » ¬«ids ¼»
«¬ic »¼ «
contains the above transformation matrix. « 1 3»
«− »
¬ 2 2 ¼
B. Unit vector calculation block
E. Induction machine d-q model block
Unit vectors cosθe and sinθe are used in vector rotation
blocks, “abc-syn conversion block” and “syn-abc conversion Fig. 3 shows the inside of this block where each equation
block”. The angle, θe is calculated directly by integrating the from the induction machine model is implemented in a
frequency of the input three-phase voltages, ωe. different block.
First consider the flux linkage state equations because flux
θ e = ³ ω e dt (19) linkages are required to calculate all the other variables.
The unit vectors are obtained simply by taking the sine and These equations could be implemented using Simulink
cosine of θe. “State-space” block, but to have access to each point of the
This block is also where the initial rotor position can be model, implementation using discrete blocks is preferred.
inserted, if needed, by adding an initial condition to the Fig. 4 shows what is inside of the block solving (1). All the
Simulink “Integrator” block. Note that the result of the other blocks in Column 1 are similar to this block.
integration in (19) is reset to zero each time it reaches 2π
radians so that the angle always varies between 0 and 2π. Simulation Tip 1: Do not use derivatives. Some signals will
have discontinuities and/or ripple that would result in spikes
C. abc-syn conversion block when differentiated. Instead try to use integrals and basic
To convert three-phase voltages to voltages in the two- arithmetic.
phase synchronously rotating frame, they are first converted
to two-phase stationary frame using (20) and then from the Simulation Tip 2: Beware of the algebraic loops. Algebraic
stationary frame to the synchronously rotating frame using loops might appear when there is a feedback loop in your
(21). system, i.e. when the calculation of the present value of a
s º ª1 0 0 º ªvan º variable requires its present value. When Simulink notices an
ªvqs
« s »=«
«
1
»« »
1 » «vbn » (20) algebraic loop, it will try to solve it. If not, it will stop the
«¬vds »¼ «0 − simulation. An algebraic loop can be broken by adding a
¬ 3 3 »¼ «¬vcn »¼
Simulink “Memory” block, which delays its input signal by
one sampling time; however, this might affect the operation
s s
°vqs = vqs cosθ e − vds sin θ e ½° of the system. If possible, avoid algebraic loops.
® s s
¾ (21)
°̄vds = vqs sin θ e + vds cosθ e °¿
Once the flux linkages are calculated, the rest of the
where the superscript “s” refers to stationary frame. equations can be implemented without any difficulty. The
Equation (20) is implemented similar to (18) because it is a blocks solving the rest of the equations are also organized in
simple matrix transformation. Equation (21), however, columns. The blocks in Column 2 solve (5) and (6).
contains the unit vectors; therefore, a simple matrix Equations (7-10) use the flux linkages to solve for the stator
transformation cannot be used. Instead, vqs and vds are and rotor d and q currents. The fourth and the last column
calculated using basic Simulink “Sum” and “Product” blocks. includes the electrical torque calculation from (11) and the
D. syn-abc conversion block rotor speed calculation using the last state equation (12); the
implementation of which is shown in Fig. 5. The rotor speed
This block does the opposite of the abc-syn conversion information is required for the calculation of the rotor flux
block for the current variables using (22) and (23) following linkages in Column 1; therefore, it is fed back to two blocks
the same implementation techniques as before. in this column.
730
Column 1 Column 2 Column 3 Column 4
Fqs
iqs
Fds Te 3
ids Te
Te
Fig. 4
Fqs
iqs 1
Fmq
iqs
iqs
Fds
1 Vqs
vqs Fqr Fqs Fqs
we Fmq
Fqr
Fqs
Fmq
Fqs
2 Vds
vds Fdr Fds Fds
we ids 2
Fmd
Fds ids
ids
Fdr
wr Fds
Fqs Fqr Fmd
we Fdr
Fmq
Fqr Fmd
iqr 6
Fqr
iqr
iqr
Fqr
Fds
wr Fdr
3 we
we Fdr Fmd
idr 5
Fdr
idr
idr
Te
wr 4
4 Tl
wr
Tl wr
731
To Initializ e
Double-c lic k
vref
vao vao ia
vref
1/wb vqs* vao* vao*
vbo vbo ib
Gain3
0 vds* vbo* vbo*
i
Cons tant
we vco* vco* vco vco ic
Mux7 wr
200 100
i a, i b, and i c, A
0
0
-200
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 100
0 0.2 0.4 0.6 0.8 1 1.2
200
T e and Tl, N.m.
50
Te and T,l N .m .
- Te
100 Te
0
Tl Tl
0 -50
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0 0.2 0.4 0.6 0.8 1 1.2
ω r* and ω ,r rad/se c
ω e and ω r, rad/ sec
600
400
ωe
400
200 ωr
200 ωr ωr*
0 0
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0 0.2 0.4 0.6 0.8 1 1.2
Time, s Time, s
Fig. 7. Simulation results – direct ac startup. Fig. 9. Simulation results - open loop constant V/Hz control.
732
To Initializ e
Double-c lick vref
vao vao ia
200
Te and Tl, N .m .
50 Te
Mux7 wr1 Tl
Fig. 10. Indirect vector control Simulink model.
0
ω r * and ω ,r rad/sec
Recently, with increasing importance of distributed energy
400
resources such as wind turbines and microturbines, there is
renewed attention to induction generators. The model 200
described in this paper can also be used to model an induction 0
generator. The only change compared to motoring operation 0 0.2 0.4 0.6
Time, s
0.8 1 1.2
is that an external mover rotates the motor at a speed higher Fig. 12. Simulation results – indirect vector control.
than the synchronous speed. This can be implemented in
Simulink by using a negative load torque instead of a positive
one used for motoring. REFERENCES:
Fig. 13 shows the torque-speed curve of the induction [1] M. L. de Aguiar, M. M. Cad, “The concept of complex transfer
machine in both motoring and generating regions. The functions applied to the modeling of induction motors,” Power
engineering Society Winter Meeting, 2000, pp. 387 -391.
machine accelerates freely to almost the synchronous speed [2] A. Dumitrescu, D. Fodor, T. Jokinen, M. Rosu, S. Bucurencio,
with direct ac start-up, and then a large negative torque is “Modeling and simulation of electric drive systems using
applied so that the machine starts generating. Matlab/Simulink environments,” International Conference on Electric
Machines and Drives (IEMD), 1999, pp. 451-453.
[3] S. Wade, M. W. Dunnigan, B. W. Williams, “Modeling and simulation
V. CONCLUSIONS of induction machine vector control with rotor resistance
identification,” IEEE Transactions on Power Electronics, vol. 12, no.
In this paper, implementation of a modular Simulink model 3, May 1997, pp. 495 -506.
for induction machine simulation has been introduced. Unlike [4] H. Le-Huy, “Modeling and simulation of electrical drives using
most other induction machine model implementations, with Matlab/Simulink and Power System Blockset,” The 27th Annual
this model, the user has access to all the internal variables for Conference of the IEEE Industrial Electronics Society (IECON'01),
Denver/Colorado, pp. 1603-1611.
getting an insight into the machine operation. Any machine [5] L. Tang, M. F. Rahman, “A new direct torque control strategy for flux
control algorithm can be simulated in the Simulink and torque ripple reduction for induction motors drive – a
environment with this model without actually using Matlab/Simulink model,” IEEE International Electric Machines and
estimators. If need be, when the estimators are developed, Drives Conference, 2001, pp. 884 -890.
[6] Bimal K. Bose, Modern Power Electronics and AC Drives, Prentice
they can be verified using the signals in the machine model.
The ease of implementing controls with this model is also 200
demonstrated with several examples.
Finally, the operation of the model to simulate both 150
Motoring Generating
induction motors and generators has been shown so that there
is no need for different models for different applications. 100
50
T e, N .m .
1
PI
wr* 2 PI 1 0
wr Sum2 PI Controller2
Saturation1 vqs*
[iqs] Sum1 PI Controller1 Saturation2
From1 -50
Ids
PI 2
[ids] ids* vds*
-100
Sum3 PI Controller3 Saturation3
From3
-150
Lm/(Tr)
Gain
fluxr |u|
1 3 -200
u wsl
0 200 400 600 800 1000 1200
absolute peak Product
rotor flux
Abs Math ωr, rad/sec
Function
Fig. 13. Torque-speed curve in motoring and generation modes.
Fig. 11. Vector control block in Simulink.
733
Hall, 2002. [10] J. O. P. Pinto, B. K. Bose, L. E. B. Silva, M. P. Kazmierkowski, "A
[7] B. Ozpineci, B.K. Bose, "A soft-switched performance enhanced high neural-network-based space-vector PWM controller for voltage-fed
frequency non-resonant link phase-controlled converter for ac motor inverter induction motor drive," IEEE Transactions on Industry
drive," The 24th Annual Conference of the IEEE Industrial Electronics Applications, vol. 36, no. 6, Nov./Dec. 2000, pp. 1628-1636.
Society (IECON'98), Aachen/Germany, 1998, vol. 2, pp 733-749. [11] J. O. P. Pinto, B. K. Bose, L. E. B. Silva, "A stator flux oriented vector-
[8] H. Li, B.Ozpineci and B.K.Bose, "A soft-switched high frequency non- controlled induction motor drive with space vector PWM and flux
resonant link integral pulse modulated dc-dc converter for ac motor vector synthesis by neural networks," IEEE Industry Applications
drive," The 24th Annual Conference of the IEEE Industrial Electronics Society Annual Meeting, Rome/Italy, 2000, pp. 1605-1612.
Society (IECON'98), Aachen/Germany, 1998, vol. 2, pp 726-732. [12] J. O. P. Pinto, B. K. Bose, L. E. Borges, M. P. Kazmierkowski, "A
[9] Burak Ozpineci, Leon M. Tolbert, Syed K. Islam, Md. Hasanuzzaman, neural-network-based space-vector PWM controller for voltage-fed
"Effects of silicon carbide (SiC) power devices on pwm inverter inverter induction motor drive," IEEE Industry Applications Society
losses," The 27th Annual Conference of the IEEE Industrial Electronics Annual Meeting, Phoenix/Arizona, 1999, pp. 2614-2622.
Society (IECON'01), Denver/Colorado, 2001,pp. 1187-1192. [13] P. C. Krause, Analysis of Electric Machinery, McGraw-Hill Book
Company, 1986.
734