231
Electrical Drives Electrical Drives MEP 1422 2004/2005-02 Module 1. Introduction to drives: Elements in electrical drives, overview of DC and AC drives. Torque equations, Components of load torque, torque characteristics. Four-quadrant operation Notes on Introduction to Electromechanical Energy Conversion Module 2 Converters in electric drive systems: Controlled rectifier, Linear scheme, Non-linear scheme, Switched-mode converters - average model and transfer function, Two-quadrant converters, Four-quadrant converters, Bipolar switching, Unipolar switching, Current-controlled converters, Fixed switching frequency control, Hysteresis control Example of Simulink file for 2-Q converter (switching and average model) Current ripple in 4 Q converter Space Vector Modulation (SVM) Module 3 DC motor drives DC drives in power point format, in .pdf Construction, modeling and transfer function, Converters for DC drives quadrant of operations. MATLABbased controller design method here Linear analysis in Simulink Large signal simulation using SIMULINK here http://encon.fke.utm.my/courses/mep1422/modules.html (1 von 2) [17.05.2005 17:09:50]

Electrical drives lectures

Embed Size (px)

DESCRIPTION

Electrical

Citation preview

Page 1: Electrical drives lectures

Electrical Drives

Electrical Drives

MEP 14222004/2005-02 Module 1. Introduction to drives:

Elements in electrical drives, overview of DC and AC drives. Torque equations, Components of load torque, torque characteristics. Four-quadrant operationNotes on Introduction to Electromechanical Energy Conversion

Module 2 Converters in electric drive systems:

Controlled rectifier, Linear scheme, Non-linear scheme, Switched-mode converters - average model and transfer function, Two-quadrant converters, Four-quadrant converters, Bipolar switching, Unipolar switching, Current-controlled converters, Fixed switching frequency control, Hysteresis controlExample of Simulink file for 2-Q converter (switching and average model)Current ripple in 4 Q converterSpace Vector Modulation (SVM)

Module 3 DC motor drives

DC drives in power point format, in .pdfConstruction, modeling and transfer function, Converters for DC drives – quadrant of operations.MATLAB–based controller design method – hereLinear analysis in SimulinkLarge signal simulation using SIMULINK – here

http://encon.fke.utm.my/courses/mep1422/modules.html (1 von 2) [17.05.2005 17:09:50]

Page 2: Electrical drives lectures

Electrical Drives

Module 4. Induction motor drivesDynamic model of induction machineConstruction and principle of operations, Speed Control-

constant V/f, Scalar control – problems at low speed, current

Simulink example on open-loop constant V/Hz using SIMULINK s-function for IM simulationCompiled with Borland C - here

Current controlled and voltage boost, open-loop and closed-loop control.Field-oriented control of IM: Rotor flux orientation Stator flux orientation Simulink example on indirect FOC IM – requires imch.dllPPoint for principles of direct torque control and in pdfDirect Torque Control using SIMULINK and the required *.dll files for the S-function

http://encon.fke.utm.my/courses/mep1422/modules.html (2 von 2) [17.05.2005 17:09:50]

Page 3: Electrical drives lectures

! "

# $%

&

'

(

)

!

)*

*

&

+

(

,

Page 4: Electrical drives lectures

)) * * - #

$%#

.# # -# &

&

&!/ # 0 # 1 & 2$ % 0 0 .

) /0

$%

####

*

(0 0 &' 0&

$%2&'0

Page 5: Electrical drives lectures

!!

- # 0* * 0 3 # 4567 &# $%# ## # 4587 2 $$&%%# #9$/:%$*%

#)

• 0

• #$%

• 0 ;

• /# 0$ %0

• . 0 0

• # 0

0

Page 6: Electrical drives lectures

"

#$#$%&'

, /

* . <'=7$%

*= )$>%*= ,$>%<= ) $?%

ω= $'%

.

ω'=7*=*

/0 **@ .

( !

ωωωω

)

( )dtJd

TT mle

ω+=

( )dtJd mω

dtd

JTT mle

ω+=

J1

ω θA

*

*

Page 7: Electrical drives lectures

*

!#$+

,1B $% /*/ /0

*/1

*"" $*=-ω% * *& 0 .**$% 2*2 *2

*2=Cω?.*2*"$%* *, *, ..

*

*

*

*/

ω)ω)

*/

*

ω

Page 8: Electrical drives lectures

,

**

?, C*-** ω++ω+=

2*Cω?

ω++ω= -*

<* ,

!#$-@

*

# %$.#$!!'

*ω*D * $ % * *EE *......."

ω ω

ω ω

ω

T

**

**

Page 9: Electrical drives lectures

/

F.- * $

=*ω% ! * F..* * GD * * * F...* * * * * F."**GD * * *

G.K. Dubey, “Fundamental of Electrical Drives”, Narosa, 1994. N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995.

Page 10: Electrical drives lectures

ELECTROMECHANICAL ENERGY CONVERSION

Electromechanical energy conversion process involves three forms of energy:

electrical, magnetic field and mechanical. In rotating electrical machines,

energy is continuously converted from electrical to mechanical, or vice versa.

Electrical motors converts electrical energy to mechanical energy and it is

reversed in the case of generators. In both cases, magnetic field acts as a

medium in the process of electromechanical energy conversion. We will look (or

review) the process

of electromechanical energy conversion of a simple

translational system for a non-linear and linear magnetic system. We will then

apply this basic principle to a rotating machine.

Example of electromechanical system

The characteristic of the flux linkage and current (λ-i) of a system shown in

Fig 1 is determined by the B-H characteristic of the core and the length of

the air-gap. With small air-gap length, g, the

λ-i characteristic is dominated

by the B-H characteristic of the core which has a non-linear characteristic

due to the core magnetic saturation. With large g, however, the linear

magnetic characteristic of the air-gap will dominate. Thus for large air-gap

system the

λ-i curve of the system displays a linear characteristic. If a

linear system is assumed, all of the mmf drops appear across the air-gap. In

other words, it is assumed that the reluctance of the core is negligibly small

compared to that of the air-gap’s reluctance. This assumption is based on the

fact that the magnetic permeability of the core is much larger than the air-

gap permeability. The

λ-i curves for different air-gap values are therefore

linear.

Fig. 1

non-linear system

linear system

Fig. 2

The differential relation between the 3 forms of energy exists in the system

can be written as:

dWe = dWf + dWm

(1)

Where dWe – differential change in electrical energy

dWf - differential change in field energy

dWm - differential change in mechanical energy

If the position of the moving part is fixed (air-gap length is fixed, thus dWm

= 0) and the current in the coil is increased from 0 to ix , the field energy

will increase and is given by:

dWe = e.i dt = dWf

(2)

Substituting e = dλ/dt,

dWf = i dλ

(3)

If the flux linkage increased from 0 to λ

x , the stored energy can be written as:

λ

λ=

x

0f

id

W

(4)

λx

ix

λ

co-energy

energy

λ

λ

Fig. 3

Page 11: Electrical drives lectures

The co-energy, which is used later to calculate the force, in this particular

example is defined as:

λ

=ix

0f

di

'W

(5)

It should be noted that for a linear system, Wf = Wf ’

If the moving part is allow to move slowly, from x = x1 to x = x2 , such that

the air-gap is reduced, the rate of change of flux linkage will be very small

during this movement and hence the current can be assumed to be constant.

Fig. 4

The mechanical force associated with this movement can be obtained if the

change in mechanical energy is known. Thus,

dWm = dWe - dWf

(6)

During the motion, dWe = e.i dt = i dλ. Hence

λλ

λ=

2x1x

eid

W

The change in the stored field energy can be obtained by calculating the

difference in stored energy between the two positions.

It can be shown graphically that Wm is given by the shaded area of Fig.4 which

essentially is the increase in co-energy. Thus:

dWm = dWf ’

Since dWm = f dx, the mechanical force can be calculated as:

ttan

cons

i

fm

x

)x,i

('W

f=

∂∂

=

(7)

If

the movement

of

the moving part is very fast (i.e.

for the same

displacement but for a very short time), the change in flux linkage can be

assumed negligible. However, the rate of change of the flux linkage with time

is finite and hence causes the current to decrease during this movement. It

can be graphically shown that the mechanical energy is given by the shaded

λ

λ

area of Fig 5, which is a reduction in field energy. Thus the mechanical force

is given by:

ttan

cons

fm

x

)x,i

(W

f=

λ∂

∂−

=

(8)

If the differential movement is small, the shaded area of Fig 4 and Fig 5 is

the same. Hence the force calculated using equation (7) and (8) will be the

same.

Fig. 5

Linear system

For linear system, the flux linkage is proportional to the current, where the

constant of proportionality is the inductance of the coil. The inductance

however depends on the position, x. Thus,

λ = L(x)i

(9)

The co-energy is given by:

)x(L

i2 1

di

'W

2i0

f=

λ=

(10)

Using equation (7),

dx

)x(

dL

i2 1

x

)x,i

('W

f2

ttan

cons

i

fm

=∂

∂=

=

(11)

Rotating machines

Fig 6 shows a general rotating machine with salient stator and salient rotor.

Both stator and rotor are exited (doubly–fed). We are interested in obtaining

the electromagnetic torque expression of the system. We can do this by

obtaining the expression for the co–energy (or energy) and differentiate it

with respect to x for constant current (or constant flux).

λ

λ

Page 12: Electrical drives lectures

Fig. 6

With no rotation (rotor not moving), the stored field energy can be calculated

as:

dWf = es i

s dt + er i

r dt

(12)

Substituting es = dλ

s /dt and er =dλ

r /dt,

dWf = is dλ

s + ir dλ

r

(13)

The flux linkage of the stator winding can be expressed in terms of stator

self inductance and mutual inductance:

λs = Lss i

s + Lsr i

r

(14)

The first term of (14) is the flux linkage of the stator winding caused by the

stator current whereas the second term is caused by the rotor current.

Similarly, the flux linkage of the rotor winding can be expressed as,

λr = Lrr i

r + Lsr i

s

(15)

Substituting (14) and (15) into (13),

dWf = Lss i

s dis + Lrr i

r dir + Lsr d(is i

r )

(16)

For a linear system, Wf = Wf ’. It can be shown that for rotational systems,

=θ∂

θ∂

=

(17)

Thus the torque is given by:

θ+

θ+

θ=

d dL

ii

2 1

d dL

i2 1

d dL

i2 1

Tsr

rs

rr

2rss

2s

(18)

Based on equation (18), two types of torque can be classified:

θ

i)

Reluctance torque (the first two terms of equation (18)). It is caused

by a tendency of the induced pole to align with the excited pole such

that minimum reluctance is produced. The torque only exists if the

stator or rotor (or both) self inductances depends on the rotor position.

This can exists if: 1) both stator and rotor are salient, 2) either

stator or rotor is salient. In other words, in a cylindrical machine

(whereby both stator and rotor are non-salient) reluctance torque will

not exist. Further it can be seen that both stator and rotor need not to

be excited at the same time.

ii)

Alignment torque (the third term of equation (18)). It is caused by a

tendency of the excited rotor to align with excited stator. Both

windings must be excited. The mutual inductance depends on rotor

position regardless of whether the stator or rotor is salient or not. In

other words, the alignment torque exists even if both stator and rotor

is not salient. In induction machines, rotor current is produced through

induction rather than excitation by external circuit, as in the case of

cylindrical synchronous machines.

Stator - non-salient Rotor – salient

- Stator self inductance depends on

rotor position

- Rotor self inductance does not

depend on rotor position

Stator - salient Rotor – salient

- Stator self inductance depends on

rotor position

- Rotor self inductance depends on

rotor position

Stator - salient Rotor – non-salient

- Stator self inductance does not

depend on rotor position

- Rotor self inductance depends on

rotor position

Stator - salient Rotor – non-salient

- Stator self inductance does not

depend on rotor position

- Rotor self inductance does not

depend on rotor position

Page 13: Electrical drives lectures

CONVERTERS IN ELECTRIC DRIVE SYSTEMS

CONTROLLED RECTIFIER

We have seen in previous course (undergraduate course) that a relation between the

average voltage and the firing angle (or delay angle) of a single-phase controlled

rectifier is given by:

where α

is the delay angle, Vm is the peak input voltage and Va is the average

voltage. Note that this relation is only valid for continuous current mode. It

describes the ‘average’ behavior of the rectifier over a period of the output voltage.

The dynamic characteristic of the controlled rectifier is however very non–linear

which can be described by non–linear differential equations. In order to simplify the

designed of the controller containing controlled–rectifier circuit, an approximation

using the average value is normally used. This approximation is however valid

provided that the bandwidth of the control loop is maintained well below half of the

maximum time for the average voltage to change. For instance, if a 3-phase system,

50Hz system is used as the input to the full-wave controlled rectifier, then, the

time taken for the average voltage to change varies between 0 to 3.33 ms ((1/50)/6).

The average time of 3.33ms/2 = 1.67 ms is taken. If this delay is not to be used in

the model, the bandwidth of the drive must be made much smaller than 600 Hz.

The SCRs are normally triggered based on the control signal generated, for example,

by a current controller. Depending on the firing circuit used, a linear or a non–

linear relation between vc and Va can be obtained.

απ

=

α

α=

=

α

π=

α=

π=

MODELING OF SWITCH-MODE CONVERTERS IN ELECTRIC DRIVES

Introduction

Modeling

is

a

simplified

representation

of

a

physical

system.

In

electrical

engineering, physical systems are normally modeled using mathematical equations.

The complexity of the developed model of power electronic converters will depend on

the applications of the model. For instance, a model for a switching device used to

analyze its switching characteristic or switching losses is different from a model

develop used to study the fundamental behavior of a converter containing that

particular switching device.

Here we will look on how switch-mode converters used in DC drives are modeled. The

application of our model is in the designing of linear controllers for drive systems

using linear control system theory. We therefore need to obtain the linear models of

the converters, i.e. we need to establish a linear relation between the control

signal and the average output voltage.

Two typical switch-mode converters used in DC drives are the 2-quadrant and 4-

quadrant converters shown below. We will assume that the converters obtained the

switching signals from a comparison between control signal vc

and a triangular

waveforms.

Two-quadrant converter

As in all other converters, the status of the upper and lower switches in a leg, must

always complement, i.e. if the upper switch is on, the lower switch must be off or

vice versa- thus only one control signal is required to control a leg of a two-

quadrant converter.

If the upper switch is ON, the output voltage, vo equals Vdc and if the lower switch

is ON vo = 0. The instantaneous output voltage will swing between Vdc and 0, however

its average value depends on how long the switch upper (or lower) switch is ON.

ω

Four-quadrant

+ va –

Two-quadrant

+

Va

-

Page 14: Electrical drives lectures

We will assume the control signals for the switches are obtained as a result of

comparison between the control signal and a triangular

The output of the comparator is obtained as follows:

when vc > vtri , upper switch ON

(1)

when vc < vtri , lower switch ON

Obviously, the waveform of va will follow that of q. The instantaneous value of va is

given by: va = q(Vdc ) The average value of va will depend on the duty ratio of q and

the duty ratio of q in turn depends on the control signal vc . We can obtain the

relation between the average voltage Va and the duty ratio d by calculating the

average value of va in terms of d.

Where d = ton /T

(2)

d is in fact an average value of q over a cycle and therefore have a range of between

0 and 1, thus,

(3)

=

0 1q

dc

dT

0dc

adV

dtV

T 1V

s

==

dtq

T 1d

triT

tttri

+

=

!

If the triangular frequency is high and therefore is much larger than the control

signal, d can be assumed continuous. However when selecting the bandwidth of the

closed-loop system, the discrete values of d must be taken into account, i.e. the

bandwidth must be limited to one or two order lower than the triangular frequency.

The relation between d and vc is obtained as follows:

When vc = Vtri,p , d = 1, when vc = -Vtri,p , d = 0.

Assuming d is continuous, the relation between d and vc is obtained as:

(4)

The relation between vc and Va can be obtained by substituting (4) into (2),

(5)

If we want to include the converter into our closed-loop model of a DC drive system,

we need to obtain the small signal transfer function between vc and Va . This is done

by introducing small signal perturbation in Va and vc .

(6)

Separating the dc and ac components,

!

p,tri c

V2 v5.

0d

+=

cp,

tri

dcdc

av

V2 VV5

.0V

+=

()

()c

cp,

tri dcdc

aa

v ~v

V2 VV5

.0v ~

V+

+=

+

Page 15: Electrical drives lectures

"

DC

:

(7)

AC

:

(8)

By taking Laplace transform of equation (8), the small signal transfer function

between vc and VA can be obtained.

Four-quadrant converter

The model developed for the two-quadrant converter can be used as a building block in

developing the model for the four-quadrant converter. As illustrated in the figure

below, the 4-quadrant converter is composed of two legs, with each leg similar to

that of the 2-quadrant converter. We will consider two switching schemes normally

employed: (1) Bipolar switching scheme (2) unipolar switching scheme.

The instantaneous voltage va can be made either equals Vdc , -Vdc or 0.

Va = Vdc

when Q1 and Q2 are ON

va = -Vdc

when Q3 and Q4 are ON

va = 0

when current freewheels through Q and D

Therefore the output voltage va can swing between Vdc and –Vdc , Vdc and 0 or 0 and Vdc ,

which is determined by the switching scheme chosen:

cp,

tri

dcdc

av

V2 VV5

.0V

+=

cp,

tri

dca

v ~V2 V

v ~=

p,tri

dc

V2 V #$

#

$

%

&

+ va –

'

'

'

'

"

(

(

Bipolar switching

Leg A and Leg B obtained the switching signals from the same control signal. This

implies that switching of Leg A and Leg B are always complements.

In a forward breaking mode where the average voltage Va is positive and smaller than

the back emf of the armature, current will flow through D1 and D2 when va = Vdc and

will flow through Q3 and Q4 when va = -Vdc

Using the comparison between the control signal and triangular waveform as shown in

Figure 7, the resultant q and q is as below:

)

%

&

*

!

!

Page 16: Electrical drives lectures

*

From previous analysis, the average voltage for Leg A and Leg B is given by:

VAO = dA (Vdc ) and VBO = dB (Vdc )=(1-dA )(Vdc )

(9)

Similarly relation between vc and dA and dB can be written as:

For Leg A

(10)

For Leg B

(11)

We are interested in the voltage across the armature circuit, VAB

VAB = VAO – VBO = (dA – (1-dA ))Vdc = (2dA -1)Vdc

(12)

Substituting dA from (10) into (12) gives,

(14)

By taking the Laplace transform of the ac components in (14), the transfer function

between the vAB (s) and vc (s) is obtained:

(15)

!

+

!

+

,

p,tri c

AV2 v

5.0

d+

=

p,tri c

BV2 v

5.0

d−

=

cp,

tri dcA

Bv

V VV

=

)s(

vV V

)s(

vc

p,tri dc

AB

=

-

Unipolar switching

The switching signals for Leg B is obtained from the inverse of control signal for

Leg A. This is illustrated in Figure 10. According to our previous analysis, the

continuous duty ratio for Leg A, dA , is given by:

(16)

Since Leg B uses the inverse control signal , accordingly the continuous duty ratio

for Leg B is given by:

(17)

This gives and average armature voltage as,

VAB = (dA – dB )Vdc =

(18)

The transfer function obtained for unipolar switching scheme is therefore similar to

the bipolar switching scheme.

p,tri dc

V V #$

#

$

-

p,tri c

AV2 v

5.0

d+

=

p,tri c

BV2 v

5.0

d−

=

cp,

tri dcv

V V

!

,

!.

.

Page 17: Electrical drives lectures

-

CURRENT-CONTROLLED CONVERTER

DC and AC industrial drives normally employ cascade control structure. It consists of

multiple loops: with inner most loop being the fastest. Typically, the inner most

loop is the torque loop, followed by speed loop and position loop – this is shown in

Figure 12 below.

Figure 1 Cascade control structure

Two main features or advantages of cascade control structure is:

!

!

,

/

!

0

0

,

,

,

1

θ2

2

ω2

3

a)

The control variable of inner loop (e.g. torque) can be limited by

limiting its reference value

b)

It is flexible – outer loop can be readily added or removed depending on

the control requirements

Implementing cascade control structure requires the torque and hence the current to

be controlled. Good current controlled schemes should produce low current ripple,

good tracking capability with zero steady state error, constant switching frequency

regardless of operating conditions, and fast dynamic response. There are two well

known methods normally used to control the current,

i)

fixed switching frequency control – linear controller

ii)

hysteresis (or bang-bang) control – non–linear controller

Fixed switching frequency control

The reference current is compared with the actual current and the error is fed to the

PI controller. The output of the PI controller is compared with the triangular

waveform to determine the duty ratio of the switches – either to increase or reduce

the current. This method resulted in the inverter switches at fixed frequency

regardless of operating conditions. However the bandwidth of the current loop is

limited by the triangular waveform. The bandwidth of the closed–loop system is

normally set to at least an order lower than the triangular frequency.

Figure 2 Fixed frequency current–controlled

For three-phase induction motor with isolated neutral, the 3-phase currents are not

completely independent – i.e. only two phases are independent, the third phase

current can be constructed from the other two phases. In other words, only two

controllers are required. This problem can be eliminated if the control is performed

in d-q axis whereby only two controllers are required. Two variations have been

proposed for this technique: stationary reference frame and synchronous reference

frame. Tracking problem will present if the current control is performed in

stationary reference frame. This will results in the actual current waveform that

will always lag the reference current. The tracking problem can be avoided if the

4

56

Page 18: Electrical drives lectures

synchronous frame is used, however extra work is required to transform the current

from the stationary to the synchronous frames and vice versa. In addition, explicit

knowledge of synchronous frequency is required to perform these transformations. The

reference voltage can be implemented using the well-known modulation techniques such

as Sinusoidal Pulse Width Modulation (SPWM) or Space Vector Modulation (SVM).

Hysteresis control

The reference current is compared with the actual torque using hysteresis comparator.

The output of the hystresis comparator will determine whether the current need to be

increased or decreased. For instance, when the current touches the upper band,

56

56

!

→.

717

581

76

61

ω

.→

!

2

!2

2

. 2

2

!

56

56

! →

.

.→

!

717

581

76

61

2

!2

2

. 2

2

!

9:

;4

9:

;4

current need to be reduced and this is accomplished by turning on the lower switch of

that particular leg. This is illustrated in Figure 5.

Figure 5 Hysteresis–based current–controlled

Hysteresis based controlled has large bandwidth. However, the switching frequency

varies with operating conditions and control signal. Thus the maximum switching

capability of the switching devices must be based on the worst–case condition. If the

simulation does not require detail information regarding the ripple, hysteresis-based

control can be modeled by a simple large DC gain due to its large bandwidth. The non-

linear behavior of the hystersis-based current control can be investigated using

large signal simulation.

As with the fixed frequency control, each phase current not only depend on the

corresponding phase voltage, but also on other phase voltages. In other words, there

is interferences between phases.

The behavior of the hysteresis current control can be described using the complex

plane switching diagram, as shown in Figure 6. The phase components of the current

error vector

∆i (which is the difference between reference current vector and the

actual current vector) can be obtained by resolving it to the respective phase axis.

If the current error of a phase touches the hysteresis band of that particular phase,

it should be switched to the other direction by toggling the switch of that

particular phase. Therefore, ideally, the current error vector should be confined

within

the

hexagonal

defined

by

the

hysteresis

bands.

However,

due

to

the

interactions between phases, the current error may go outside the hysteresis band. As

a result, current error may become as large as twice the hysteresis band (Figure 7)

4

Page 19: Electrical drives lectures

-0.2-0.15

-0.1-0.05

00.05

0.10.15

0.2-0.2

-0.15

-0.1

-0.05 0

0.05

0.1

0.15

0.2

References:

N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and

Sons, 1995.

N. Mohan, “Electric Drives – an integrative approach” MNPERE, 2000.

W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984.

J. M. D. Murphy and F.G. Turnbull, “Power electronic control of AC motor”,

Pergamon press, 1988.

%

&:

2

(:

0<0

=

*7

=

<.

;

Page 20: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

Model Name "rl_2q_average" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Thu Sep 11 20:51:10 2003" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" LastModifiedBy "Nik Rumzi" ModifiedDateFormat "%<Auto>" LastModifiedDate "Mon Jul 19 11:38:36 2004" ModelVersionFormat "1.%<AutoIncrement:14>" ConfigurationManager "None" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (1 von 10) [17.05.2005 17:11:15]

Page 21: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode5" SolverMode "Auto" StartTime "0.0" StopTime "100e-3" MaxOrder 5 MaxStep "auto" MinStep "auto" MaxNumMinSteps "-1" InitialStep "auto" FixedStep "1e-6" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime on TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints off MaxDataPoints "1000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt on

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (2 von 10) [17.05.2005 17:11:15]

Page 22: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

BooleanDataType on ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockParameterDefaults Block BlockType Constant Value "1" VectorParams1D on ShowAdditionalParam off OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" Block BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)"

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (3 von 10) [17.05.2005 17:11:15]

Page 23: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Reference Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType Sin SineType "Time based" Amplitude "1" Bias "0" Frequency "1" Phase "0" Samples "10" Offset "0" SampleTime "-1" VectorParams1D on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0"

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (4 von 10) [17.05.2005 17:11:15]

Page 24: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" Block BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" Realization "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "rl_2q_average" Location [2, 78, 1022, 701] Open on ModelBrowserVisibility off ModelBrowserWidth 212 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "115" ReportName "simulink-default.rpt" Block BlockType Constant Name "Constant" Position [315, 390, 345, 420] Value "100" Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [610, 431, 640, 464] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Gain

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (5 von 10) [17.05.2005 17:11:15]

Page 25: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

Name "Gain1" Position [480, 95, 510, 125] Gain "200" Block BlockType Gain Name "Gain3" Position [255, 320, 285, 350] Gain "200/30" Block BlockType Relay Name "Relay" Position [340, 95, 370, 125] OnSwitchValue "0" OffSwitchValue "0" Block BlockType Sin Name "Sine Wave" Position [115, 55, 145, 85] SineType "Time based" Amplitude "2" Frequency "1000" SampleTime "0" Block BlockType SubSystem Name "Subsystem" Ports [0, 1] Position [110, 130, 150, 190] TreatAsAtomicUnit off MaskPromptString "frekuensi|V peak" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f=@1;v1=@2;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5000|15" System Name "Subsystem" Location [553, 276, 688, 358] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Reference Name "Repeating\nSequence" Ports [0, 1] Position [25, 25, 55, 55] SourceBlock "simulink/Sources/Repeating\nSequence" SourceType "Repeating table"

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (6 von 10) [17.05.2005 17:11:15]

Page 26: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

rep_seq_t "[0 1/(2*f) 1/f]" rep_seq_y "[-v1 v1 -v1]" Block BlockType Outport Name "Out1" Position [80, 33, 110, 47] Line SrcBlock "Repeating\nSequence" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Sum Name "Sum" Ports [2, 1] Position [205, 100, 225, 120] ShowName off IconShape "round" Inputs "+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [350, 325, 370, 345] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType ToWorkspace Name "To Workspace1" Position [485, 240, 545, 270] VariableName "vave" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace2" Position [255, 20, 315, 50] VariableName "vc" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace3" Position [660, 100, 720, 130] VariableName "vau" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array"

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (7 von 10) [17.05.2005 17:11:15]

Page 27: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

Block BlockType ToWorkspace Name "To Workspace4" Position [925, 160, 985, 190] VariableName "iau" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace5" Position [665, 320, 725, 350] VariableName "iave" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace8" Position [715, 435, 775, 465] VariableName "iD" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType TransferFcn Name "Transfer Fcn" Position [785, 157, 845, 193] Denominator "[0.01 10]" Block BlockType TransferFcn Name "Transfer Fcn1" Position [500, 317, 560, 353] Denominator "[0.01 10]" Line SrcBlock "Sine Wave" SrcPort 1 Points [25, 0] Branch Points [5, 0] Branch Points [0, -35] DstBlock "To Workspace2" DstPort 1 Branch Points [35, 0] DstBlock "Sum" DstPort 1 Branch Points [0, 265] DstBlock "Gain3" DstPort 1 Line SrcBlock "Subsystem" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (8 von 10) [17.05.2005 17:11:15]

Page 28: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

Points [60, 0] DstBlock "Sum" DstPort 2 Line SrcBlock "Sum" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [65, 0] Branch DstBlock "Gain1" DstPort 1 Branch Points [0, 345] DstBlock "Dot Product" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 Points [20, 0; 0, 45; 80, 0; 0, 20; 30, 0] Branch DstBlock "Transfer Fcn" DstPort 1 Branch DstBlock "To Workspace3" DstPort 1 Line SrcBlock "Transfer Fcn" SrcPort 1 DstBlock "To Workspace4" DstPort 1 Line SrcBlock "Transfer Fcn1" SrcPort 1 Points [30, 0] Branch DstBlock "To Workspace5" DstPort 1 Branch DstBlock "Dot Product" DstPort 1 Line SrcBlock "Dot Product" SrcPort 1 DstBlock "To Workspace8" DstPort 1 Line SrcBlock "Gain3" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (9 von 10) [17.05.2005 17:11:15]

Page 29: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl

DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 Points [20, 0] Branch DstBlock "Transfer Fcn1" DstPort 1 Branch Points [0, -80] DstBlock "To Workspace1" DstPort 1 Line SrcBlock "Constant" SrcPort 1 Points [10, 0] DstBlock "Sum1" DstPort 2 Annotation Name "2-quadrant with iD" Position [736, 44] FontName "Arial" FontSize 20 FontWeight "bold" Annotation Name "qA" Position [399, 99]

http://encon.fke.utm.my/courses/mep1422/rl_2q_average.mdl (10 von 10) [17.05.2005 17:11:15]

Page 30: Electrical drives lectures

!

"

!

# $ ! % &! ! '((') * %+# "

, -

.

'"'

'

'"'

'

Page 31: Electrical drives lectures

$"$

.

''

−= *+

'

',' */

0 $"$

( )/

.

' −= *1

2 $"$,(30 ,/"+ * 2 $"$,(43% /, 2

( ).5

'3(3(

./

' / =−= *6

"# "

'"' # " $"$

.

''

−= *3

'

',*/"+' *7

0 $"$

, -'

'

''

'

Page 32: Electrical drives lectures

/

.

'/ −= *4

# 2 ,(3 (3 2 $"$% , 2

( )./

'3(3(

.

'/ / =−= *5

8*6*5 2

Page 33: Electrical drives lectures

SPACE VECTOR MODULATION In contrast to Sinusoidal Pulse Width Modulation (SPWM), which treats the 3-phase quantities separately, in SVM, the 3-phase quantities are treated using single equation known as space vector. Therefore in terms of microprocessor or digital implementation, SVM gives less computational burden. The space vector of a 3-phase voltage is defined as:

2 4j j

3 3s a b c

2v v (t) v (t)e v (t)e

3

π π = + +

,

where va, vb and vc are the phase voltages. In 3-phase VSI, there are 8 possible switch configurations, hence there are eight possible voltage vectors that can be generated or obtained from the VSI. SVM utilized these 8 voltage vectors to synthesize the reference voltage. Given a location of the reference voltage in any of the sectors, the actual voltage can be synthesized, within a sampling period, by selecting the two adjacent voltage vectors and zero voltage vectors. For example, if the reference voltage is located in sector 1, voltage vectors v1, v2, v0 and v7 should be selected. This is illustrated in Figure 2

vd*

vq*

Space vector modulator

AC Motor

+ Vd −

Figure 1 Space vector modulator applied to AC motor drive

Page 34: Electrical drives lectures

(2/3)Vd

Sector 1 Sector 3

Sector 4

Sector 5

Sector 2

Sector 6

(1/√3)Vd

[100]

[110] [010]

[011]

[001] [101]

*sv

0 0.005 0.01 0.015 0.02 0.025 0.03

-100

-50

0

50

100 a b c

sector 6 sector 1 sector 2 sector 3 sector 4 sector 5

Figure 3 Sinusoidal reference voltage

Figure 4 Example of modulated waveform in sector 2

000 010 110 111 110 010 000

Phase a

Phase b

Phase c

T T

d

q

Figure 2 Voltage vectors of a 3-phase VSI

T0 T1 T2 T7

Page 35: Electrical drives lectures

The interval for each voltage vector, as shown in Figure 4, is determined by equating volt-second integral of vs with the sum of all voltage vectors within a cycle. Thus, for example in sector 1,

772211oos TvTvTvTvTv ⋅+⋅+⋅+⋅=⋅

Note that v1 and v2 equal dV32

. Thus in terms of d-q components this can be written as:

0T)60sinj60(cosTV32

TV32

0TTv 7oo

2d1dos ⋅++⋅+⋅+⋅=⋅

Also, we need to satisfy the time constraint: T= T0 + T1 + T2 + T7 If we let T0 = T7, we can calculate all the required time intervals. If the angle between the reference voltage and the adjacent vector (to the right of the reference voltage) equals α, it can be shown that for any sector, the time intervals T1 and T2 are given by:

1 s

3 1T T v cos sin

2 3 = ⋅ ⋅ α − α

2 sT 3 T v sin= ⋅ ⋅ α

In the above equation, vs is the normalized reference vector. The interval for the zero voltage vector is given by: T0 + T7 = T – (T1 +T2). The ratio between T0 and T7 essentially control the amount of triplen harmonic components in the fundamental phase voltage. Further readings: PG Handley and JT Boys, “Practical real-time PWM modulators: an assessment” IEE Proceedings-B, Vol 139, No. 2 March 1992 W. Leonhard, “Control of electrical drives”, Springer-Verlag, 1984.

Page 36: Electrical drives lectures

1

DC DRIVES Princ iple o f ope rat ion and c ons truc t ion – a re vie w DC m a ch in e con s is t s of

s ta tor – s ta t ion a ry – wh ere th e field flu x is p rodu ced rotor – rota t in g – wh ere th e a rm a tu re win d in g is p la ced .

Field flu x is ob ta in ed eith er from perm a n en t m a gn et or from field win d in g excita t ion . Field flu x in tera cts with cu r ren t ca r ryin g con du ctors in a rm a tu re to p rodu ce torqu e. Com m u ta tor in a rm a tu re circu it will en s u re th a t th e torqu e p rodu ct ion is a lwa ys m a xim u m , rega rd les s of rotor pos it ion .

Mode ling of DC m otor Th e torqu e is p rodu ced a s a res u lt of in tera ct ion of field flu x with cu r ren t in a rm a tu re con du ctors a n d is given by

Te = k t Φ ia (1 )

wh ere k t is a con s ta n t depen din g on m otor win d in gs a n d geom etry Φ is th e flu x per pole du e to th e field win d in g For th e m otor with wou n d field , th e flu x ca n be va r ied to con t rol th e s peed , bu t for perm a n en t m a gn et m otor , th e flu x is fixed a n d th u s ca n be wr it ten a s :

Te = Ktia wh ere Kt depen ds on th e perm a n en t m a gn et m a ter ia l Th e d irect ion of th e torqu e p rodu ced depen ds on th e d irect ion of th e a rm a tu re cu r ren t Wh en th e a rm a tu re rota tes , th e flu x lin k in g th e a rm a tu re win d in g will va ry with t im e a n d th erefore a ccord in g to Fa ra da y’s la w, a n em f will be in du ced a cros s th e win d in g. Th is gen era ted em f, kn own a s th e ba ck em f, depen ds on s peed of rota t ion a s well a s on th e flu x p rodu ced by th e field a n d is given by:

ea = k t Φ ω (2 ) S im ila r ly, for perm a n en t m a gn et , th is ca n be wr it ten a s :

Page 37: Electrical drives lectures

2

ea = Kt ω Th e pola r ity of th e ba ck em f depen ds on th e d irect ion of th e m otor rota t ion For s epa ra tely excited DC m otor , th e a rm a tu re circu it is s h own : Ra – lu m ped a rm a tu re win d in g res is ta n ce La – s elf in du cta n ce of th e a rm a tu re win d in g ea – a s defin ed before, is th e ba ck em f of th e m otor Us in g KVL,

(3 ) In s tea dy s ta te con dit ion ,

(4 ) In term s of torqu e a n d s peed th e s tea dy s ta te equ a t ion ca n be wr it ten a s :

(5 ) wh ich gives :

(6 ) Th u s th ree m eth ods ca n be u s ed to con t rol th e s peed : Vt , Φ a n d Ra Speed con t rol u s in g a rm a tu re res is ta n ce by a dd in g extern a l res is tor Rext is s eldom u s ed , es pecia lly for la rge m otor du e to th e los s es a s s ocia ted with Ia 2Rext. Vt is n orm a lly con t rol for s peed u p to ra ted s peed . Beyon d ra ted s peed , for s epa ra tely excited DC m otor , th e s peed con t rol is a ch ieved by flu x con t rol, Φ. Wh en s peed con t rol by flu x con t rol is u s ed , th e m a xim u m torqu e ca pa b ility of th e m otor is redu ced s in ce for a given m a xim u m a rm a tu re cu r ren t , th e flu x is les s th a n th e ra ted va lu e a n d th u s th e m a xim u m torqu e p rodu ced is les s th a n th e m a xu m u m torqu e. Als o it s h ou ld be n oted th a t , with perm a n en t m a gn et excita t ion , s peed con t rol u s in g flu x wea ken in g is n ot pos s ib le – th u s m a xim u m s peed of perm a n en t m a gn et m otor is lim ited . Wh en des ign in g con t roller s for DC m otor d r ives u s ed in s ervo or h igh per form a n ce a pp lica t ion s , a s m a ll s ign a l m odel of th e m otor is requ ired . A s epa ra tely excited DC m otor with fixed field excita t ion , or a perm a n en t m a gn et DC m otor , is des cr ibed by equ a t ion s (3 ), (1 ) a n d (2 ). If a s m a ll per tu rba t ion a rou n d a DC opera t in g poin t is in t rodu ced , th es e equ a t ion s ca n be wr it ten a s (7 )-(9 ). Th e ‘~’ in d ica tes a s m a ll per tu rba t ion , wh ich is a dd to th e DC com pon en ts of vt, ia , ea , Te, TL a n d ω :

+ ea −

aa

aaat edt

diLRiv ++=

+ vt −

Ra La

ωΦ+Φ

= tat

t kRk

TV

aaat ERIV +=

( ) a2tt

t Rk

TkV

Φ−

Φ=ω

Page 38: Electrical drives lectures

3

(7 )

(8 )

(9 ) Equ a t ion des cr ib in g th e dyn a m ic of th e m ech a n ica l s ys tem is given by:

(10) wh ere Tl = TL + Bω Tl is th e loa d torqu e com pos ed of work in g torqu e of th e loa d , TL a n d torqu e du e to fr ict ion , Bω. Th e fr ict ion a l torqu e depen ds on th e rota t ion a l s peed , wh ile TL depen ds on th e n a tu re of th e loa d bein g d r iven . S im ila r ly, if a s m a ll per tu rba t ion is in t rodu ced in Te a n d TL a n d ω, equ a t ion (10) ca n be wr it ten a s :

(11) Sepa ra t in g th e DC a n d s m a ll per tu rba t ion or AC com pon en ts in (7 )–(9) a n d (11), th e s tea dy s ta te a n d s m a ll s ign a l equ a t ion s des cr ib in g th e DC m otor ca n be ob ta in ed : Th e t ra n s fer fu n ct ion of th e DC m otor is ob ta in ed by ta k in g th e La p la ce t ra n s form of th e s m a ll s ign a l equ a t ion s .

Vt(s ) = Ia(s )Ra + Las Ia + E a(s ) (12)

Te(s ) = k EIa(s ) (13)

E a(s ) = k Eω(s ) (14)

Te(s ) = TL(s ) + Bω(s ) + s J ω(s ) (15)

( ))e~E(

dti~

IdLR)i

~I(v~V aa

aaaaaatt ++

+++=+

)iI(kT~

T aaEee +=+

)~(ke~E Eee ω+ω=+

dtd

JTT mle

ω+=

dt)~(d

J)~(BT~

TT~

T LLeeω+ω+ω+ω++=+

aa

aaat e~dti~

dLRi

~v~ ++=

)i~

(kT~

aEe =

)~(ke~ Ee ω=

aaat ERIV +=

aEe IkT =

ω= Ee kE

dt)~(d

J~BT~

T~

Leω+ω+= )(BTT Le ω+=

AC com pon en ts DC com pon en ts

Page 39: Electrical drives lectures

4

Th u s th e b lock d ia gra m repres en t in g th e DC m otor is s h own : Powe r e le c t ron ic c onve rte rs in DC drive s Th e power elect ron ic con ver ter s a re u s ed to ob ta in a n a d ju s ta b le DC volta ge a pp lied to th e a rm a tu re of a DC m otor . Th ere a re ba s ica lly two types of con ver ter n orm a lly em ployed in DC dr ives : (i) con t rolled rect ifier (ii) s witch –m ode con ver ter . (i) Con trolled rect ifier Con trolled rect ifier ca n be opera ted from a s in gle ph a s e or th ree ph a s e in pu t Ou tpu t volta ge con ta in low frequ en cy r ipp le wh ich m a y requ ire a la rge in du ctor in s er ted in a rm a tu re circu it , in order to redu ce th e a rm a tu re cu r ren t r ipp le. A la rge a rm a tu re cu r ren t r ipp le is u n des ira b le s in ce it m a y be reflected in s peed res pon s e if th e in er t ia of th e m otor–loa d is n ot la rge en ou gh . Con trolled rect ifier h a s low ba n dwid th . Th e a vera ge ou tpu t volta ge res pon s e to a con t rol s ign a l, wh ich is th e dela y a n gle, is rela t ively s low. Th erefore con t rolled rect ifier is n ot s u ita b le for d r ives requ ir in g fa s t res pon s e, e.g. in s ervo a pp lica t ion s . In term s of qu a dra n t of opera t ion s , a s in gle ph a s e or a th ree ph a s e rect ifier is on ly ca pa b le of opera t in g in fir s t a n d fou r th qu a dra n ts – wh ich is n ot s u ita b le for d r ives requ ir in g forwa rd b rea k in g m ode. To be a b le to opera te in a ll fou r qu a dra n ts , con figu ra t ion s u s in g ba ck to ba ck rect ifier s or con ta ctors s h own below m u s t be em ployed .

Tkaa s LR

1+

)s(Tl

)s(Te

s JB1+

Ek

)s(Ia )s(ω)s(Va

+ -

-

+

3-phase supply

3-phase supply

+ Va -

Converter A

ω

T

Converter B

Converter B

Converter A

Con ver ter A Con ver ter B

Page 40: Electrical drives lectures

5

(ii) Switch –m ode con ver ter Switch –m ode con ver ter s n orm a lly opera te a t h igh frequ en cy. As a res u lt of th is , (i) th e a vera ge ou tpu t volta ge res pon s e is s ign ifica n t ly fa s ter th a n th e con t rolled rect ifier , in oth er words th e ba n dwid th of a s witch –m ode rect ifier is h igh er com pa red to th e con t rolled rect ifier , a n d (ii) th e a rm a tu re cu r ren t r ipp le is rela t ively les s th a n th e con t rolled rect ifier circu it wh en th e s a m e a m ou n t of in du cta n ce p res en t in th e a rm a tu re circu it . Th e s witch -m ode con ver ter is th erefore s u ita b le for a pp lica t ion s requ ir in g pos it ion con t rol or fa s t res pon s e, for exa m ple in s ervo a pp lica t ion s , robot ics , etc. In term s of qu a dra n t of opera t ion s , 3 pos s ib le con figu ra t ion s a re pos s ib le: s in gle qu a dra n t , two–qu a dra n t a n d fou r–qu a dra n t con ver ter s – th es e a re s h own below. Reference: N. Mohan, “Electric Drives: An integrative approach”, University of Minnesota Printing services, 2000. N. Mohan, “Power Electronics: Converters, applications and design” John Wiley and Sons, 1995.

≡ Con ta ctor

Single-quadrant Two-quadrant

Four-quadrant

ω

T

F1 and F2 are closed

F1

F2

R1

R2

R1 and R2 are closed

R1 and R2 are closed

F1 and F2 are closed

Q1

Q1 Q2

Q2

Q3

Q3

Q4

Q1 Q2

Q3 Q4

Q4

ω

T T

T

ω

ω

+ Va -

3–ph a s e s u pp ly

+ va –

+ va –

+ va –

Page 41: Electrical drives lectures

DC MOTOR DRIVES(MEP 1422)

Dr. Nik Rumzi Nik IdrisDepartment of Energy Conversion

FKE, UTM

Page 42: Electrical drives lectures

Contents• Introduction

– Trends in DC drives– DC motors

• Modeling of Converters and DC motor– Phase-controlled Rectifier– DC-DC converter (Switch-mode)– Modeling of DC motor

• Closed-loop speed control– Cascade Control Structure– Closed-loop speed control - an example

• Torque loop• Speed loop

• Summary

Page 43: Electrical drives lectures

INTRODUCTION

• DC DRIVES: Electric drives that use DC motors as the prime movers

• Dominates variable speed applications beforePE converters were introduced

• DC motor: industry workhorse for decades

• Will AC drive replaces DC drive ?

– Predicted 30 years ago

– AC will eventually replace DC – at a slow rate– DC strong presence – easy control – huge numbers

Page 44: Electrical drives lectures

Introduction

DC Motors

• Several limitations:

• Advantage: Precise torque and speed control without sophisticated electronics

• Regular Maintenance • Expensive

• Heavy • Speed limitations

• Sparking

Page 45: Electrical drives lectures

Current in

Current out

Stator: field windings

Rotor: armature windings

Introduction

DC Motors

•Mechanical commutator

•Large machine employs compensation windings

Page 46: Electrical drives lectures

Introduction

at ikTe φ= Electric torque

φω= Ea ke Armature back e.m.f.

Lf Rf

if

aa

aat edtdi

LiRv ++=

+

ea

_

LaRa

ia+

Vt

_

+

Vf

_

dtdi

LiRv ffff +=

Page 47: Electrical drives lectures

Introduction

aaat EIRV +=In steady state,

( )2T

ea

T

t

k

TRkV

φ−

φ=ω

Therefore speed is given by,

Three possible methods of speed control:

Field fluxArmature voltage VtArmature resistance Ra

aa

aat edtdi

LiRV ++=

Armature circuit:

Page 48: Electrical drives lectures

Introduction

For wide range of speed control 0 to ωbase → armature voltage, above ωbase → field flux reduction

Armature voltage control : retain maximum torque capability

Field flux control (i.e. flux reduced) : reduce maximum torque capability

Te

ω

MaximumTorque capability

Armature voltage controlField flux control

ωbase

Page 49: Electrical drives lectures

MODELING OF CONVERTERS AND DC MOTOR

Used to obtain variable armature voltage

POWER ELECTRONICS CONVERTERS

• Efficient Ideal : lossless

• Phase-controlled rectifiers (AC → DC)

• DC-DC switch-mode converters(DC → DC)

Page 50: Electrical drives lectures

Modeling of Converters and DC motor

Phase-controlled rectifier (AC–DC)

T

Q1Q2

Q3 Q4

ω

3-phasesupply

+

Vt

ia

Page 51: Electrical drives lectures

Phase-controlled rectifier

Q1Q2

Q3 Q4

ω

T

3-phasesupply

3-phasesupply

+

Vt

−−

Modeling of Converters and DC motor

Page 52: Electrical drives lectures

Phase-controlled rectifier

Q1Q2

Q3 Q4

ω

T

F1

F2

R1

R2

+ Va -

3-phasesupply

Modeling of Converters and DC motor

Page 53: Electrical drives lectures

Phase-controlled rectifier (continuous current)

• Firing circuit –firing angle control

→ Establish relation between vc and Vt

firingcircuit

currentcontroller

controlled rectifier

α+

Vt

vciref +

-

Modeling of Converters and DC motor

Page 54: Electrical drives lectures

Phase-controlled rectifier (continuous current)

• Firing angle control

π

= 180vv

cosV

Vt

cma

α= ct v

180v

180vv

t

c=α

linear firing angle control

α= cosvv sc

Cosine-wave crossing control

s

cma v

vVV

π=

Modeling of Converters and DC motor

Page 55: Electrical drives lectures

Phase-controlled rectifier (continuous current)

•Steady state: linear gain amplifier•Cosine wave–crossing method

Modeling of Converters and DC motor

•Transient: sampler with zero order hold

T

GH(s)

converter

T – 10 ms for 1-phase 50 Hz system– 3.33 ms for 3-phase 50 Hz system

Page 56: Electrical drives lectures

0.3 0.31 0.32 0.33 0.34 0.35 0.36-400

-200

0

200

400

0.3 0.31 0.32 0.33 0.34 0.35 0.36-10

-5

0

5

10

Phase-controlled rectifier (continuous current)

Td

Td – Delay in average output voltage generation0 – 10 ms for 50 Hz single phase system

Outputvoltage

Cosine-wave crossing

Control signal

Modeling of Converters and DC motor

Page 57: Electrical drives lectures

Phase-controlled rectifier (continuous current)

• Model simplified to linear gain if bandwidth (e.g. current loop) much lower than sampling frequency

⇒ Low bandwidth – limited applications

• Low frequency voltage ripple → high current ripple → undesirable

Modeling of Converters and DC motor

Page 58: Electrical drives lectures

Switch–mode converters

Q1Q2

Q3 Q4

ω

T

+Vt-

T1

Modeling of Converters and DC motor

Page 59: Electrical drives lectures

Switch–mode converters

+Vt-

T1D1

T2

D2

Q1Q2

Q3 Q4

ω

T

Q1 → T1 and D2

Q2 → D1 and T2

Modeling of Converters and DC motor

Page 60: Electrical drives lectures

Switch–mode converters

Q1Q2

Q3 Q4

ω

T+ Vt -

T1 D1

T2D2

D3

D4

T3

T4

Modeling of Converters and DC motor

Page 61: Electrical drives lectures

Switch–mode converters

• Switching at high frequency

→ Reduces current ripple

→ Increases control bandwidth

• Suitable for high performance applications

Modeling of Converters and DC motor

Page 62: Electrical drives lectures

Switch–mode converters - modeling

+

Vdc

Vdc

vc

vtri

q

=0

1q

when vc > vtri, upper switch ON

when vc < vtri, lower switch ON

Modeling of Converters and DC motor

Page 63: Electrical drives lectures

tri

onTt

ttri Tt

dtqT1

dtri

== ∫+

vc

q

Ttri

d

Switch–mode converters – averaged modelModeling of Converters and DC motor

dc

dT

0dc

trit dVdtV

T1

Vtri

== ∫Vdc Vt

Page 64: Electrical drives lectures

Vtri,p-Vtri,pvc

d

1

0

0.5

p,tri

c

V2v

5.0d +=

cp,tri

dcdct v

V2V

V5.0V +=

Switch–mode converters – averaged modelModeling of Converters and DC motor

Page 65: Electrical drives lectures

DC motor – small signal model

Modeling of Converters and DC motor

Extract the dc and ac components by introducing small perturbations in Vt, ia, ea, Te, TL and ωm

aa

aaat edtdi

LRiv ++=

Te = kt ia ee = kt ω

dtd

JTT mle

ω+=

aa

aaat e~dti~

dLRi

~v~ ++=

)i~(kT

~aEe =

)~(ke~ Ee ω=

dt)~(d

J~BT~

T~

Leω+ω+=

ac components

aaat ERIV +=

aEe IkT =

ω= Ee kE

)(BTT Le ω+=

dc components

Page 66: Electrical drives lectures

DC motor – small signal model

Modeling of Converters and DC motor

Perform Laplace Transformation on ac components

aa

aaat e~dti~

dLRi

~v~ ++=

)i~(kT

~aEe =

)~(ke~ Ee ω=

dt)~(d

J~BT~

T~

Leω+ω+=

Vt(s) = Ia(s)Ra + LasIa + Ea(s)

Te(s) = kEIa(s)

Ea(s) = kEω(s)

Te(s) = TL(s) + Bω(s) + sJω(s)

Page 67: Electrical drives lectures

DC motor – small signal model

Modeling of Converters and DC motor

Tkaa sLR

1+

)s(Tl

)s(Te

sJB1+

Ek

)s(Ia )s(ω)s(Va

+-

-

+

Page 68: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Cascade control structure

• It is flexible – outer loop can be readily added or removed depending on the control requirements

• The control variable of inner loop (e.g. torque) can be limited by limiting its reference value

1/s

convertertorquecontroller

speedcontroller

positioncontroller

+

-

+

-

+

-

tacho

Motorθθ* T*ωω*

kT

Page 69: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Design procedure in cascade control structure

• Inner loop (current or torque loop) the fastest –largest bandwidth

• The outer most loop (position loop) the slowest –smallest bandwidth

• Design starts from torque loop proceed towards outer loops

Page 70: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Closed-loop speed control – an example

OBJECTIVES:

• Fast response – large bandwidth

• Minimum overshoot good phase margin (>65o)

• Zero steady state error – very large DC gain

BODE PLOTS

• Obtain linear small signal modelMETHOD

• Design controllers based on linear small signal model

• Perform large signal simulation for controllers verification

Page 71: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Ra = 2 Ω La = 5.2 mH

J = 152 x 10–6 kg.m2B = 1 x10–4 kg.m2/sec

kt = 0.1 Nm/Ake = 0.1 V/(rad/s)

Vd = 60 V Vtri = 5 V

fs = 33 kHz

Permanent magnet motor’s parameters

Closed-loop speed control – an example

• PI controllers • Switching signals from comparison of vc and triangular waveform

Page 72: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Torque controller design

Tc

vtri

+

Vdc

q

q

+

kt

Torque controller

Tkaa sLR

1+

)s(Tl

)s(Te

sJB1+

Ek

)s(Ia )s(ω)s(Va

+-

-

+Torquecontroller

Converter

peak,tri

dc

VV)s(Te

-+

DC motor

Page 73: Electrical drives lectures

Bode Diagram

Frequency (rad/s ec)

-50

0

50

100

150From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-2

10-1

100

101

102

103

104

105

-90

-45

0

45

90

Pha

se (

deg)

CLOSED-LOOP SPEED CONTROL

Torque controller design Open-loop gain

compensated

compensated

kpT= 90

kiT= 18000

Page 74: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Speed controller design

Assume torque loop unity gain for speed bandwidth << Torque bandwidth

1Speedcontroller sJB

1+

ω* T* T ω

+

Torque loop

Page 75: Electrical drives lectures

Bode Diagram

Frequency (Hz)

-50

0

50

100

150From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-2

10-1

100

101

102

103

104

-180

-135

-90

-45

0

Pha

se (

deg)

CLOSED-LOOP SPEED CONTROL

Speed controllerOpen-loop gain

compensated

kps= 0.2

kis= 0.14

compensated

Page 76: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL

Large Signal Simulation results

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-40

-20

0

20

40

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-2

-1

0

1

2

Speed

Torque

Page 77: Electrical drives lectures

CLOSED-LOOP SPEED CONTROL – DESIGN EXAMPLE

SUMMARY

Power electronics converters – to obtain variable armature voltage

Phase controlled rectifier – small bandwidth – large ripple

Switch-mode DC-DC converter – large bandwidth – small ripple

Controller design based on linear small signal model

Power converters - averaged model

DC motor – separately excited or permanent magnet

Closed-loop speed control design based on Bode plots

Verify with large signal simulation

Speed control by: armature voltage (0 →ωb) and field flux (ωb↑)

Page 78: Electrical drives lectures

! "#$%!&'( ( (

)* +*,-( % . /(,0* $%!&' /,(/(, 12,123(

60

Vd Va

Tl

speed

T

Ia

SubsystemStep1

Step

PID

PID Control ler1

PID

PID Control ler

Output Point

Input Point

0.2

1/Vt

Bode Diagram

Frequency (Hz)

-40

-30

-20

-10

0

10

20From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-3

10-2

10-1

100

101

102

103

-90

-45

0

45

90

Pha

se (

deg)

Pole-Zero Map

Real Axis

Imag

inar

y A

xis

-350 -300 -250 -200 -150 -100 -50 0-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

/(,4 ($%!&'1 . 0"0 .

Page 79: Electrical drives lectures

5(516.( 7 55 16.( / #./(,0 58# 59+# (. -33# 01#12-33# (1 012-33 /(-&1 *.0 (

Bode Diagram

Frequency (Hz)

-40

-30

-20

-10

0

10

20From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-3

10-2

10-1

100

101

102

103

104

-180

-135

-90

-45

0

45

90

Pha

se (

deg)

/(-412-3312,

/ /(- 7 ( 01 ( 0.

-33# 1(/1:30" /(5( 7 5(516. (

Bode Diagram

Frequency (Hz)

-20

0

20

40

60

80

100From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-3

10-2

10-1

100

101

102

103

104

-180

-135

-90

-45

0

45

90

Pha

se (

deg)

/(571 :3 7(

70 ((5336.(" 0 7

Page 80: Electrical drives lectures

0 ( % ;0 " <($11 /(9(/(9 " ( / 770 (

1

torque-loop

PID

speed_controller

PID

speed controller

PID

current controller

60

Vd Va

Tl

speed

T

Ia

SubsystemStep1

0.2

1/Vt

In1Out1

1/(sJ +B)1

In1Out1

1/(sJ +B)

Bode Diagram

Frequency (Hz)

-100

-50

0

50

100

150

200From: Input Point To: Output Point

Magnitude (dB)

10-3

10-2

10-1

100

101

102

103

104

105

-180

-135

-90

-45

0

Phase (deg)

/(9$ (7;0";7

3(8# (. 70 = 7 -33 6.( " /(>(

. (

7

Page 81: Electrical drives lectures

!

Bode Diagram

Frequency (Hz)

-50

0

50

100

150From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-2

10-1

100

101

102

103

104

-135

-90

-45

0P

hase

(de

g)

/(>

.?

1 1

7? :3 ,+333

$? 3(- 3(,9

($%!&'1 /(@(%

( 7 >6. 7 ,(>& ( 7 /(@(

vc_m

To Workspace4

vc

To Workspace3

vtri

To Workspace2

torque

To Workspace1

speed

To Workspace

Out1

Subsystem1

Va

Tl

speed

T

Ia

Subsystem

Step1

SignalGenerator

Saturation1

Relay1

Relay

PID

PID Controller1

PID

PID Controller

-1

Gain

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-40

-20

0

20

40

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45-2

-1

0

1

2

/(@! $11 $7

Page 82: Electrical drives lectures

USING LINEAR ANALYSIS IN MATLAB FOR DC MOTOR DRIVE CONTROLLER

DESIGN

Our objective in DC drive system are:

(a) To obtain zero or small steady state error– making sure DC gain of open–loop plot is large

(b) To achieve fast response– making sure crossover frequency of open–loop plot is large or large close–loop bandwidth

Page 83: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

)1s1.0(s100GOL +

=

1

0.1s+1

Tra nsfe r Fcn

1s

Inte gra tor

-K-

Ga in

100

0.1s +s2

Tra nsfe r Fcn

Page 84: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

Page 85: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

Select Bode as response type in Plot Configurations window

Try to place input point at several different positions. For each position, obtain the plot using the Simulink → get linearized model

1

0.1s+1

Tra nsfe r FcnOutput P oint

1s

Inte gra torInput P oint

-K-

Ga in

1

0.1s+1

Tra nsfe r FcnOutput P oint

1s

Inte gra torInput P oint

-K-

Ga in

1

0.1s+1

Tra nsfe r FcnOutput P oint

1s

Inte gra torInput P oint

-K-

Ga in

Page 86: Electrical drives lectures

EXAMPLE in using linear analysis in MATLABBode Diagram

Frequency (rad/s ec)

-100

-50

0

50

100From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-1

100

101

102

103

-180

-135

-90

-45

0

Phas

e (d

eg)

Page 87: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

1

0.1s+1

Tra nsfe r FcnOutput P oin t

1s

In te gra torInput P oin t

-K-

Ga in

Bode Diagram

Frequency (rad/s ec)

-100

-50

0

50

100From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-1

100

101

102

103

-180

-135

-90

-45

0

Phas

e (d

eg)

Crossover frequency approximates close–loop bandwidth

Page 88: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

PI controller

s

s1kp

ik

ki

+

• Contain a zero and a pole at origin• DC gain can be adjusted independently from

location of zero

Transfer function

Page 89: Electrical drives lectures

EXAMPLE in using linear analysis in MATLAB

PI controllerOu tput P oin t

1s

In te gra torInput P oin t

0 .1

Ga in1

1

Ga in

Bode Diagram

Frequency (rad/s ec)

-100

-50

0

50

100From: Input Point To: Output Point

Mag

nitu

de (

dB)

10-1

100

101

102

103

-90

-45

0

Phas

e (d

eg)

ki=1, kp=0.1

ki=100, kp=10

Page 90: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Model Name "dc_m2_linear_large_torque" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks on Created "Wed May 28 20:17:31 2003" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" LastModifiedBy "Nik Rumzi" ModifiedDateFormat "%<Auto>" LastModifiedDate "Mon Jul 26 11:46:55 2004" ModelVersionFormat "1.%<AutoIncrement:33>" ConfigurationManager "None" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (1 von 14) [17.05.2005 17:12:11]

Page 91: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode5" SolverMode "Auto" StartTime "0.0" StopTime "0.45" MaxOrder 5 MaxStep "0.0001" MinStep "0.00001" MaxNumMinSteps "-1" InitialStep "0.00001" FixedStep "0.000001" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime on TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints off MaxDataPoints "1000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt on

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (2 von 14) [17.05.2005 17:12:11]

Page 92: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

BooleanDataType on ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockParameterDefaults Block BlockType Clock DisplayTime off Block BlockType Derivative Block BlockType Fcn Expr "sin(u[1])" Block BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto"

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (3 von 14) [17.05.2005 17:12:11]

Page 93: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Lookup InputValues "[-4:5]" OutputValues " rand(1,10)-0.5" ShowAdditionalParam off LookUpMeth "Interpolation-Extrapolation" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType Saturate UpperLimit "0.5" LowerLimit "-0.5" LinearizeAsGain on ZeroCross on Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType Step Time "1" Before "0" After "1" SampleTime "-1"

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (4 von 14) [17.05.2005 17:12:11]

Page 94: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

VectorParams1D on ZeroCross on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType ToWorkspace VariableName "simulink_output" MaxDataPoints "1000" Decimation "1" SampleTime "0" Block BlockType TransferFcn Numerator "[1]" Denominator "[1 2 1]" AbsoluteTolerance "auto" Realization "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "dc_m2_linear_large_torque" Location [6, 82, 1018, 533] Open on ModelBrowserVisibility off ModelBrowserWidth 212

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (5 von 14) [17.05.2005 17:12:11]

Page 95: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "92" ReportName "simulink-default.rpt" Block BlockType Gain Name "Gain" Position [410, 230, 440, 260] Gain "-1" Block BlockType Reference Name "PID Controller" Ports [1, 1] Position [335, 90, 365, 120] SourceBlock "simulink_extras/Additional\nLinear/PID Controll""er" SourceType "PID Controller" P "90" I "90*200" D "0" Block BlockType Reference Name "PID Controller1" Ports [1, 1] Position [150, 90, 180, 120] SourceBlock "simulink_extras/Additional\nLinear/PID Controll""er" SourceType "PID Controller" P "0.2" I "0.7*0.2" D "0" Block BlockType Relay Name "Relay" Position [500, 90, 530, 120] OnSwitchValue "0" OffSwitchValue "0" OnOutputValue "60" Block BlockType Relay Name "Relay1" Position [520, 230, 550, 260] OnSwitchValue "0" OffSwitchValue "0" OnOutputValue "60" Block BlockType Saturate Name "Saturation1" Position [225, 90, 255, 120] UpperLimit "1.5" LowerLimit "-1.5" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [20, 90, 50, 120] WaveForm "square"

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (6 von 14) [17.05.2005 17:12:11]

Page 96: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Amplitude "-30" Frequency "5" Block BlockType Step Name "Step1" Position [600, 205, 630, 235] Time "0" After "0" SampleTime "0" Block BlockType SubSystem Name "Subsystem" Ports [2, 3] Position [700, 120, 740, 180] TreatAsAtomicUnit off MaskPromptString "Armature resistance|La|J|Kt|B" MaskStyleString "edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on" MaskCallbackString "||||" MaskEnableString "on,on,on,on,on" MaskVisibilityString "on,on,on,on,on" MaskToolTipString "on,on,on,on,on" MaskVarAliasString ",,,," MaskVariables "Ra=@1;La=@2;J=@3;Kt=@4;B=@5;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "2|5.2e-3|152e-6|0.1|0.0001" System Name "Subsystem" Location [90, 152, 644, 411] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "Va" Position [25, 88, 55, 102] Block BlockType Inport Name "Tl" Position [280, 28, 310, 42] Port "2" Block BlockType Gain Name "Gain" Position [250, 80, 280, 110] Gain "Kt" Block BlockType Gain Name "Gain2" Position [270, 185, 300, 215] Orientation "left"

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (7 von 14) [17.05.2005 17:12:11]

Page 97: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Gain "Kt" Block BlockType Sum Name "Sum" Ports [2, 1] Position [80, 85, 100, 105] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [310, 85, 330, 105] NamePlacement "alternate" ShowName off IconShape "round" Inputs "-+|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType TransferFcn Name "Transfer Fcn" Position [145, 77, 205, 113] Denominator "[La Ra]" Block BlockType TransferFcn Name "Transfer Fcn1" Position [375, 77, 435, 113] Denominator "[J B]" Block BlockType Outport Name "speed" Position [495, 88, 525, 102] Block BlockType Outport Name "T" Position [390, 33, 420, 47] Port "2" Block BlockType Outport Name "Ia" Position [240, 33, 270, 47] Port "3" Line SrcBlock "Sum" SrcPort 1 DstBlock "Transfer Fcn" DstPort 1 Line SrcBlock "Gain" SrcPort 1 DstBlock "Sum1" DstPort 2

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (8 von 14) [17.05.2005 17:12:11]

Page 98: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Line SrcBlock "Transfer Fcn" SrcPort 1 Points [10, 0] Branch DstBlock "Gain" DstPort 1 Branch Points [0, -55] DstBlock "Ia" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 Points [5, 0] Branch Points [0, -55] DstBlock "T" DstPort 1 Branch DstBlock "Transfer Fcn1" DstPort 1 Line SrcBlock "Transfer Fcn1" SrcPort 1 Points [35, 0] Branch DstBlock "speed" DstPort 1 Branch Points [0, 105] DstBlock "Gain2" DstPort 1 Line SrcBlock "Tl" SrcPort 1 Points [5, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Va" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [-175, 0] DstBlock "Sum" DstPort 2

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (9 von 14) [17.05.2005 17:12:11]

Page 99: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Block BlockType SubSystem Name "Subsystem1" Ports [0, 1] Position [325, 162, 360, 198] TreatAsAtomicUnit off MaskPromptString "frekuensi|V peak" MaskStyleString "edit,edit" MaskTunableValueString "on,on" MaskCallbackString "|" MaskEnableString "on,on" MaskVisibilityString "on,on" MaskToolTipString "on,on" MaskVarAliasString "," MaskVariables "f=@1;v1=@2;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "33000|5" System Name "Subsystem1" Location [553, 276, 688, 358] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Reference Name "Repeating\nSequence" Ports [0, 1] Position [25, 25, 55, 55] SourceBlock "simulink/Sources/Repeating\nSequence" SourceType "Repeating table" rep_seq_t "[0 1/(2*f) 1/f]" rep_seq_y "[-v1 v1 -v1]" Block BlockType Outport Name "Out1" Position [80, 33, 110, 47] Line SrcBlock "Repeating\nSequence" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Sum Name "Sum" Ports [2, 1] Position [100, 95, 120, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule"

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (10 von 14) [17.05.2005 17:12:11]

Page 100: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Block BlockType Sum Name "Sum1" Ports [2, 1] Position [290, 95, 310, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [430, 95, 450, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [470, 235, 490, 255] ShowName off IconShape "round" Inputs "-+|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum4" Ports [2, 1] Position [560, 145, 580, 165] ShowName off IconShape "round" Inputs "+|-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType ToWorkspace Name "To Workspace" Position [910, 115, 970, 145] VariableName "speed" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace1" Position [800, 75, 860, 105] VariableName "torque" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (11 von 14) [17.05.2005 17:12:11]

Page 101: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Name "To Workspace2" Position [445, 25, 505, 55] VariableName "vtri" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace3" Position [485, 290, 545, 320] VariableName "vc" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Block BlockType ToWorkspace Name "To Workspace4" Position [495, 370, 555, 400] VariableName "vc_m" MaxDataPoints "inf" SampleTime "-1" SaveFormat "Array" Line SrcBlock "PID Controller" SrcPort 1 Points [10, 0] Branch Points [20, 0] Branch Points [-5, 0] DstBlock "Gain" DstPort 1 Branch DstBlock "Sum2" DstPort 1 Branch Points [0, 200] DstBlock "To Workspace3" DstPort 1 Line SrcBlock "Step1" SrcPort 1 Points [50, 0] DstBlock "Subsystem" DstPort 2 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Subsystem1" SrcPort 1 Points [45, 0] Branch

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (12 von 14) [17.05.2005 17:12:11]

Page 102: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Points [30, 0] Branch Points [40, 0] DstBlock "Sum3" DstPort 1 Branch DstBlock "Sum2" DstPort 2 Branch Points [0, -140] DstBlock "To Workspace2" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "PID Controller1" DstPort 1 Line SrcBlock "PID Controller1" SrcPort 1 DstBlock "Saturation1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "PID Controller" DstPort 1 Line SrcBlock "Saturation1" SrcPort 1 DstBlock "Sum1" DstPort 1 Line SrcBlock "Subsystem" SrcPort 1 Points [120, 0] Branch Points [0, 295; -755, 0] DstBlock "Sum" DstPort 2 Branch DstBlock "To Workspace" DstPort 1 Line SrcBlock "Gain" SrcPort 1 Points [5, 0]

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (13 von 14) [17.05.2005 17:12:11]

Page 103: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl

Branch DstBlock "Sum3" DstPort 2 Branch Points [0, 140] DstBlock "To Workspace4" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [35, 0] DstBlock "Sum4" DstPort 1 Line SrcBlock "Sum3" SrcPort 1 DstBlock "Relay1" DstPort 1 Line SrcBlock "Relay1" SrcPort 1 Points [15, 0] DstBlock "Sum4" DstPort 2 Line SrcBlock "Sum4" SrcPort 1 Points [50, 0; 0, -20] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Subsystem" SrcPort 2 Points [30, 0] Branch Points [10, 0] DstBlock "To Workspace1" DstPort 1 Branch Points [0, 195; -475, 0] DstBlock "Sum1" DstPort 2

http://encon.fke.utm.my/courses/mep1422/dc_m2_large_torque.mdl (14 von 14) [17.05.2005 17:12:11]

Page 104: Electrical drives lectures

1

PEMACU MOTOR ARUHAN Motor aruhan ï%LQDDQGDQSULQVLSRSHUDVLUHYLVLRQ Motor a ru h a n terd ir i da r i s ta tor da n rotor Pa da s ta tor terda pa t belita n 3 fa s a ya n g d is a m bu n g kepa da beka la n volta n 3 fa s a (a , b , da n c) Seca ra a m , terda pa t du a jen is rotor : s qu ir rel ca ge (s a n gka r tu pa i) da n wou n d (berbelit ) Bila volta n s in u s oida l t iga fa s a s eim ba n g d iken a ka n , a ka n terben tu k flu ks m a gn et pa da s ela u da ra ya n g berpu ta r den ga n kela ju a n :

f2p2

s π=ω r a d / s (1 )

ωs – d iken a li s eba ga i freku en s i s egera k (s yn ch ron ou s frequ en cy) f – ia la h freku en s i beka la n t iga fa s a pa da s ta tor p – ia la h b ila n ga n ku tu b Flu x s ela u da ra berpu ta r in i a ka n m en ga ru h ka n dge pa da pen ga lir rotor . Aru s a ka n terh a s il pa da pen ga lir rotor da n a ka n ber in tera ks i den ga n flu ks s ela u da ra berpu ta r u n tu k m en gh a s ilka n da ya k ila s ya n g a ka n m em u ta rka n rotor .Oleh itu la ju rotor s en t ia s a ku ra n g da r i la ju s egera k . Perbeza a n la ju in i d iken a li s eba ga i la ju gelin cira n (s lip s peed).

ωs l = ωs – ωr (2 )

Nis ba h la ju gelin cira n kepa da la ju s egera k ia la h gelin cira n .

s

rssω

ω−ω= (3 )

Flu ks s ela u da ra ya n g berpu ta r ju ga a ka n m en ga ru h ka n dge pa da belita n s ta tor ya n g d iken a li s eba ga i dge ba lika n (ba ck em f) a ta u volta n s ela u da ra (a ir ga p volta ge). Volta n s ela u da ra ya n g tera ru h d iber i oleh :

E a g = k f φa g (4 )

J ika Vs ia la h volta n per -fa s a ya n g d iken a ka n pa da belita n s ta tor da n Is ia la h a ru s belita n s ta tor , pers a m a a n lita r s ta tor ia la h :

a

b

b ’

c

c’

x x

x

• •

Page 105: Electrical drives lectures

2

Vs = Rs Is + j(2πf)Lls + E a g (5 ) d .g.e. ya n g tera ru h pa da rotor a da la h d is eba bka n oleh flu ks m a gn et ya n g s a m a ta p i pa da freku en s i gelin cira n da n ia boleh d itu lis s eba ga i:

E r = k s f φa g = s E a g (6 ) Oleh itu , pers a m a a n u n tu k lita r rotor ia la h :

E r = s E a g = Rr Ir + js (2πf)Llr (7 ) J ika kedu a -du a bela h pers a m a a n d iba h a gi den ga n s ,

lrrr

a g L)f2(jIs

RE π+=⇒ (8 )

Lita r s eta ra per fa s a

Rs – Rin ta n ga n belita n s ta tor Rr – Rin ta n ga n pen ga lir rotor Lls – Kea ru h a n bocor belita n s ta tor Llr – Kea ru h a n bocor belita n rotor Lm – Kea ru h a n kem a gn eta n s – gelin cira n

Rotor t ida k m em pu n ya i s u m ber ku a s a , oleh itu ku a s a ya n g d ip in da h ka n da r i lita r s ta tor ke lita r rotor d iken a li s eba ga i ku a s a s ela u da ra (a ir -ga p power) da n d iber i oleh :

Ku a s a m eka n ika l boleh d itu lis da la m s ebu ta n da ya k ila s da n la ju rotor s eba ga i:

Pm = Tem ωr Ta p i s ωs = ωs - ωr ⇒ ωr = (1 -s )ωs

+ Vs

Rs Lls Llr

Rr

s

+ E a g

Is Ir

Im

Lm

Hila n g p a d a Rr Ditu k a r k ep a d a k u a s a m ek a n ik a l

Pm = (1 - s )Pa g

[ ]s1s

RI3RI3

sR

I3P r2rr

2r

r2ra g −+==

Page 106: Electrical drives lectures

3

∴ Pa g = Tem ωs

Oleh itu s

r2r

s

a gem s

RI3PT

ω=

ω=

J ika ( )lrls

rs

sr

XXjs

RR

VI

+++= , da ya k ila s boleh d itu lis s eba ga i:

( )2lrls

2r

s

2s

s

rem

XXs

RR

Vs

R3T

++

+

ω=

Ben tu k la zim cir i T-ω u n tu k m otor a ru h a n : Gelin cira n s em a s a da ya k ila s m a ks im u m d iber i oleh :

( )2lrls

2s

rm

XXR

Rs

++±=

Nila i da ya k ila s m a ks im a (pu ll-ou t torqu e):

( )

++±ω=

2lrls

2ss

2s

sm a x

XXRR

Vs

3T

0 ωra ted ωs

1 0

ωr

s

Tm ,ra ted

Pu ll ou t Torqu e

Tem

Page 107: Electrical drives lectures

4

Kawalan laju m otor aruhan Terda pa t bebera pa ka eda h ka wa la n la ju : (i) Pole ch a n gin g ïPHQXNDUELODQJDQNXWXE

La ju s egera k berga n tu n g kepa da b ila n ga n ku tu b Den ga n m en u ka r s a m bu n ga n pa da belita n , b ila n ga n ku tu b boleh d iu ba h .

(ii) Va r ia b le volta ge, fixed frequ en cy

Ma gn itu d volta n d ika wa l, freku en s i teta p , e.g. m en ggu n a ka n t ra n s form er . (iii) Va r ia b le m a gn itu de va r ia b le frequ en cy Ma gn itu d volta n beka la n d itu ka r berka da ra n den ga n freku en s i da n m eru pa ka n ka ea da h ya n g pa lin g popu la r d igu n a ka n da la m pem a cu ka wa la n la ju m otor a ru h a n . Un tu k s ya n g kecil da n φa g ya n g teta p , boleh d itu n ju kka n h u bu n ga n d i a n ta ra da ya k ila s da n la ju gelin cira n (s lip s peed) a da la h lin ea r Un tu k m en geka lka n flu ks s ela u da ra pa da n ila i ka da ra n , b ila volta n d iu ba h , freku en s i ju ga per lu d iu ba h :

E a g = k f φa g

Oleh u n tu k m en gh a s ilka n φa g ya n g m a la r pa da n ila i ka da ra n , n is ba h f

E a g h a ru s la h m a la r . J ika

keja tu h a n volta n pa da Rs da n Xls a da la h kecil d iba n d in gka n den ga n Vs ,

fV

f

Esa g ≈

Volta n beka la n d iu ba h s eca ra berka da ra n den ga n la ju a ta u frequ en s i s eh in gga la ju ka da ra n .

TL

T

ωr

Lower s peed gives h igh er s lip ∴ les s efficien t

Page 108: Electrical drives lectures

5

Un tu k ω > ωra ted, m a gn itu d volta n d iteta pka n ta p i freku en s i d in a ikka n , oleh itu torque capability m en gu ra n g kera n a flu ks m u la m en gu ra n g Bila la ju kecil, keja tu h a n volta n oleh Rs da n Xls a da la h bes a r jika d iba n d in gkn den ga n Vs . Oleh itu keb ia s a a n n ya Vs d in a ikka n leb ih bes a r s ed ik it (boos t ) s em a s a frequ en s i ren da h Cir i T-ω b ila m a gn itu d Vs da n f d iu ba h berka da ra n Ba ga im a n a ka h m a gn itu d da n freku en s i d ika wa l s eren ta k ? Men ggu n a ka n Pu ls e Wid th Modu la t ion (PWM) In ver ter

T

T,r a ted

TL

ωr ωr ,ra ted

ωs ,ra ted

Vs

ωr

Vs

f

Vs , ra ted

fra ted

Page 109: Electrical drives lectures

6

Exam ple 1 400 V, 50 Hz 4ïSROH 1370 rpm Rs = 2 Ω, Rr = 3 Ω, Xls = Xlr = 3 .5 Ω Motor is con t rolled by a volta ge s ou rce in ver ter with con s ta n t V/ f. Ca lcu la te:

(a ) Speed for frequ en cy of 30 Hz a n d 80% of fu ll loa d (b ) Frequ en cy for a s peed of 1000 rpm a n d fu ll loa d torqu e (c) Torqu e for a frequ en cy of 40 Hz a n d s peed of 1100 rpm

(a )

8.0,s lip

ra ted

ra ted,s lip

ra tedN

T8.0N

T =

Ns lip ,ra ted = Ns ï1r ,ra ted = 1500 ï USP

rpm104)130(8.0NT

T8.0N ra ted,s lip

ra ted

ra ted8.0,s lip ===∴

Pa da 30 Hz, la ju s egera k ia la h 30 x 60 = 1800/ 2 = 900 rpm

Fixed AC.

Va r ia b le volta ge Va r ia b le freq.

IM PWM in ver ter AC–DC

(rect ifier )

Con trol (f a n d V)

50 Hz 30 Hz Tra ted

0 .8 Tra ted

1500

Ra ted s lip s p eed

Ns lip ,0 .8

Page 110: Electrical drives lectures

7

∴Nr = Ns ï1s lip = 900 ï04 = 796 rpm (b ) Ns = 130 + 1000 = 1130 rpm ∴ f = 37 .67 Hz (c) ∴ Ns = 1200 rpm Ns lip = 1200 ï USP

50 Hz ? Hz Tra ted

1500

Ns lip ,ra ted = 130

1000 Ns

Ns lip ,ra ted = 130 rpm

1370

6 0fp2

Ns ×=

50 Hz 40 Hz Tra ted

T = ?

1500

Ns lip ,ra ted = 130 rpm

1100 Ns

Ns lip

1370

6 0fp2

Ns ×=

Page 111: Electrical drives lectures

8

∴T = 0 .769 Tra ted Tra ted = ? Tra ted d iperoleh i da r i :

Tra ted = 38 .06 Nm ∴ Da ya k ila s pa da 40 Hz, la ju 1100 rpm ia la h T = 0 .769 (38 .06) = 29 .267 Nm Example 2 A 4–pole, 3-phase, 50 Hz IM, 1460 rpm has a rated torque of 20 Nm. It is used to drive a load with characteristic given by TL = Kω2 , such that the speed equals rated value at rated torque. If a constant V/Hz control method is used, find the speed of motor at 0.5 rated torque. If the starting torque of 1.1 times the rated is required, what should be the starting frequency? ωslip,r = 1500 – 1460 = 40 rpm or 4.19 rad/s a) Load torque is given by:

TL = Kω2 1460 rpm ⇒ 152.9 rad/s

20 = K(152.9)2

100T

130Tra ted =

( )2lrls

2r

s

2s

s

rem

XXs

RR

Vs

R3T

++

+

ω=

TL = K ω2

TL(Nm)

ω(rad/s)

Trated

Zslip,r

Zsyn,r

Zr,r

50 Hz

0.5 Trated

Page 112: Electrical drives lectures

9

⇒ K = 20/(152.9)2

∴ at 0.5 rated torque, the speed is 108.11 rad/s Motor T-ω is obtained as follows: Therefore at 0.5 Trated and speed of 108.11 rad/s

∴ ωsyn = 110.2 ⇒ f = 35 Hz

At start-up,

22L 9.152

20T ω=

rs yn

e

r,rr,s yn

ra ted

s lip

ra ted T77.4

TTω−ω

==ω−ω

rsyne 77.477.4T ω−ω=

)11.108(77.477.410 s yn −ω=

TL = K ω2

TL(Nm)

ω(rad/s)

Trated

Zslip,r

Zsyn,r

Zr,r

50 Hz

1.1(Trated)

Zslip = Zsyn

19.4TT1.1 ra ted

s lip

ra ted =ω

61.4)1.1(19.4synsyns lip ==ω∴ω=ω

Page 113: Electrical drives lectures

1 0

SCALAR CONTROL OF IM We have seen that applying balanced, sinusoidal 3-phase supply to a 3-phase sinusoidally distributed winding produces a rotating mmf wave and hence rotating magnetic flux. The rotating magnetic flux will induce emf on the rotor circuit, which is shorted for squirell cage rotor. Rotor current will flow and interact with the rotating flux, producing torque.

Per-phase steady state equivalent circuit To ensure maximum torque capability at all time it is therefore necessary to maintain the magnetic flux at its rated value at any frequency. From the steady state equivalent circuit, this is equivalent to maintaining the magnetizing current at its rated value. The flux can be maintained constant at its rated by maintaining the ratio Eg/f constant. At high speed, where the induced back emf is large, the drop across the stator leakage and resistance is negligibly small.- therefore Eg/f is maintained constant by maintaining V/f constant. However at low speed, the back emf is low and the drop is significant. Thus the flux is reduced below rated – torque capability is also reduced.

Simulation results with constant V/f

The performance can be improved by: (i) Boosting the voltage at low frequency:

speed-

rad/s

torque - Nm

Im

Rs

Rr/ s

Lr l Ls l

Lm

+ V −

+ E g −

Page 114: Electrical drives lectures

1 1

To accurately boost the voltage, stator current needs to be measured. The voltage drop drop is calculated and added to stator voltage on-line ii) Control the stator current such that constant magnetising current is maintained. This is achieved by using a current-controlled voltage source inverter.

mr

lr

rmlr

1

1r

mlr

rlr

m

I

sR

Lj

sR

)LL(jI

I

sR

)LL(j

sR

LjI

++ω=⇒

++ω

+ω=

Introducing σr = rotor leakage factor, which gives, Llr = σrLm,

,I

1T1

j

1TjI

I

sR

L1

j

sR

LjI

m

rr

rs lip

rs lip1

mr

rr

r

rr

1

+

σ+

σω

+ω=

+

σ+

σω

+ω=

Where Tr = Lr/Rr and ωslip = ω - ωr = sω The method depends on the rotor parameters, which vary with temperature. Open-loop V/f control

Page 115: Electrical drives lectures

1 2

For low cost, low performance drive, open-loop constant V/f control is normally employed. With open-loop speed control, the rotor speed will be less than the synchronous speed by slip speed. In other words, the desired speed, ω*, will differ from the actual speed by slip speed. The slip speed on the other hand, depends on load. To improve the performance or the speed regulation, slip speed can be estimated and added to the reference speed – slip compensation technique. Typical arrangement is shown below:

How is the slip speed estimated? The slip frequency is proportional to the torque, hence it can estimated by estimating the torque. The torque is estimated from,

Te = Pag/ωsyn

VSI Rectifier 3-phase supply IM

Pulse Width

Modulator

Vboost Slip speed calculator

ω*

+ +

+ + V

Vdc Idc

Ramp

Page 116: Electrical drives lectures

1 3

Pag is estimated by subtracting the input DC power with the inverter and stator copper losses. Closed-loop speed control Speed regulation can be improved by employing closed-loop speed control system with tachometer feedback, as shown below.

The reference and actual speed are compared. The error is fed to the speed controller which defines the inverter frequency. The current limit is activated only when current exceeds the maximum allowable value. The signal generated by the current limit block will reduce the rate by which the inverter frequency is increased. This is to avoid the frequency from reaching the breakdown frequency. Further readings: Power Electronic Control of AC Motors – J.M.D. Murphy and F.G. Turnbull, Pergamon Press

Page 117: Electrical drives lectures

1

Modelling of 3-phase Induction Machine (IM) The steady state model of IM, which is represented by a steady state per phase equivalent circuit introduced in the undergraduate courses, describes the steady state behaviour of the IM. It is used when steady state analysis, such as efficiency, losses, steady state torque, current, fluxes need to be evaluated. The model assumes input to be a balanced, 3-phase steady state sinusoidal voltage. If the IM is fed by power electronic converters, the steady state analysis can be performed by representing the pulse-width modulated waveform of the inverter using Fourier series. Steady state model of IM is also used to derive the control signals used for scalar control drives. Since the model only valid in steady state condition, such drive normally has a poor transient performance. Applications not requiring good transient response such as fans, blowers or compressors, normally employ such control technique. Dynamic model on the other hand, describes the transient as well as the steady state behaviour of the IM. Using the dynamic model, the transients of IM, which cannot be analysed using steady state equivalent model, can be predicted and studied. The model can be used to simulate the IM drives and evaluate their transient performances, including that of using the scalar control technique. Dynamic model is also essential when developing high performance control techniques for IM drives, such as vector control or direct torque control drives. A dynamic model of IM must contain effect of the magnetic coupling between stator phase circuits and the rotor phase circuits, as well as coupling between phases of each circuit. This will undoubtedly result in a huge number and complex equations, which are difficult to manage. By using space vector equations, however, these complex equations are simplified and reduced. We will now develop a dynamic model of an IM using mathematical equations based on space vectors or space phasors (these terms will be defined later on). System equations Figure 1 shows the conceptual representation of a 3-phase, 2 poles induction machine. The magnetic axis of each winding is represented by an inductor symbol. As usual the angles between windings of each phase are 120o. The angle between rotor’s phase a axis and stator’s phase a axis is given by θr. The equation describing the stator and rotor circuits can be written as:

vabcs = Rsiabcs + d(ψψψψabcs)/dt (1)

vabcr = Rriabcr + d(ψψψψabr)/dt (2) where,

ΨΨΨ

=

=

cs

bs

as

abcs

cs

bs

as

abcs

cs

bs

as

abcs

i

i

i

i

v

v

v

v and

ΨΨΨ

=

=

cr

br

ar

abcs

cr

br

ar

abcr

cr

br

ar

abcr

i

i

i

i

v

v

v

v

It is clear that since the displacements between various windings of all the phases are non-quadrature, there exists magnetic coupling between them. The stator and rotor flux linkages (ψabcs and ψabcs)of equations (1) and (2) are contributed by the stator and rotor currents. Thus:

r,abcss,abcsabcs Ψ+Ψ=Ψ (3)

s,abcrr,abcrabcr Ψ+Ψ=Ψ (4)

Page 118: Electrical drives lectures

2

ψabcs,s and ψabcs,r are the components of the stator flux linkage caused by stator and rotor currents (phase a, b and c) respectively, and, ψabcr,r and ψabcr,s are the components of the rotor flux linkage caused by rotor and stator currents (phase a, b and c) respectively These flux linkages can be written in terms of the inductances and respective currents.

cs

bs

as

csbcsacs

bcsbsabs

acsabsas

s,abcs

i

i

i

LLL

LLL

LLL

(5)

cr

br

ar

cr,csbr,csar,cs

cr,bsbr,bsar,bs

cr,asbr,asar,as

r,abcs

i

i

i

LLL

LLL

LLL

(6)

cr

br

ar

crbcracr

bcrbrabr

acrabrar

r,abcr

i

i

i

LLL

LLL

LLL

(7)

stator, b

rotor, b

rotor, a

stator, a

rotor, c

stator, c

ξ = 0 θr

Figure 1

Page 119: Electrical drives lectures

3

cs

bs

as

cs,crbs,cras,cr

cs,brbs,bras,br

cs,arbs,aras,ar

s,abcr

i

i

i

LLL

LLL

LLL

(8)

In equation (5), Las, Lbs and Lcs are the self inductances of phases a, b and c respectively. The self inductance consists of magnetising and leakage inductance.

Las = Lms + Lls. Lbs = Lms + Lls. Lcs = Lms + Lls.

Labs, Lbcs, Lacs in equation (5), are the mutual inductances between stator phases. For symmetrical winding, which is normally the case, magnetising and leakage as well as mutual inductances for each phase are equal. It can be shown that the magnetizing and the mutual inductances are given by:

π

µ=4g

rlNL 2soms

2

L

8g

rlNLLL ms2soacsbcsabs −=

π

µ−=== (9)

Thus equation (5) can be written as:

+−−

−+−

−−+

cs

bs

as

lsmsmsms

mslsms

ms

msmslsms

s,abcs

i

i

i

LL2

L

2

L2

LLL

2

L2

L

2

LLL

(10)

The mutual inductances between the stator and rotor windings in (6) and (8) depend on the rotor position, θr and it can be shown that they can be written as:

( ) ( )( ) ( )( ) ( )

θπ−θπ+θ

π+θθπ−θ

π−θπ+θθ=Ψ

cr

br

ar

rrr

rrr

rrr

mss

rr,abcs

i

i

i

cos32cos3

2cos3

2coscos32cos

32cos3

2coscos

LN

N (11)

( ) ( )( ) ( )( ) ( )

θπ+θπ−θ

π−θθπ+θ

π+θπ−θθ=Ψ

cs

bs

as

rrr

rrr

rrr

mss

rs,abcr

i

i

i

cos32cos3

2cos3

2coscos32cos

32cos3

2coscos

LN

N (12)

Space phasors representation of induction machine Equations (1)-(8) give the complete description of the electrical characteristics of an induction machine. There are six circuits that describe the 3-phase induction machine and each of them coupled to one another. Although the determinations of the inductances are quite straight forward, however, the number of equations involved is large. We will now develop a model of the induction machine which is based on space phasors or space vectors and valid under steady state and transient conditions. By doing so, the number of equations is significantly reduced.

Page 120: Electrical drives lectures

4

If the permeability of the core is assumed infintely large, all the mmf drops will appear across the airgap. Therefore, the stator airgap MMF of a sinusoidally distributed winding for phase a can be written as:

)cos(i2

Nas

sas α−ξ=ℑ (13)

ξ is any angle where ξ=0 coincide with the magnetic axis of stator winding phase a. α is the angle in which airgap mmf is maximum. ias is the stator phase a current. If α = 0 then equation (9) can be written as:

ξ=ℑ cosi2

Nas

sas (14)

Phases b and c are spatially separated from phase a by 120o. Thus airgap mmf of phase b and c are given by:

)3

2cos(i

2

Nbs

sbs

π−ξ=ℑ (15)

)3

2cos(i

2

Ncs

scs

π+ξ=ℑ (16)

The total airgap mmf

)3

2cos(i

2

N)

3

2cos(i

2

Ncosi

2

Ncs

sbs

sas

sabcs

π+ξ+π−ξ+ξ=ℑ (17)

Using Euler’s identity and with some mathematical manupulation, it can be shown that:

( ) ( ) ξ−ξ +++++=ℑ jcs

2bsas

jcsbs

2as

sabcs eiaaiieaiiai

4

N (18)

where a = ej(2π/3)

This can be further reduced or written as:

ξξ− +=ℑ j*s

js

sabcs eiei

4

N

2

3 (19)

The term si is defined as the space phasor or complex space vector of the stator current. It is given by:

( )cs2

bsass iaaii3

2i ++= (20)

The physical current can be obtained from the space phasor by separating the space phasor into its real and imaginary part. In most cases we can assume that ias + ibs + ics = 0.

( )

−+=

−++−=

++++=

)ii(3

1ji

)ii(2

3j)ii(

2

1i

3

2

)240sinj240(cosi)120sinj120(cosii3

2i

csbsas

csbscsbsas

csbsass

Thus

[ ]sas iRei = (21) Similarly it can be shown that

Page 121: Electrical drives lectures

5

[ ] = and [ ] = (22)

Similar definitions can be made to the stator voltage, rotor current, stator flux and rotor flux. Equations (1) and (2) therefore can be written as:

Ψ+= (23)

dt

diRv rrrr

Ψ+= (24)

Ψ is composed of components caused by stator and rotor currents as given by (3). In space phasors, (3) can be written as:

Ψ+Ψ=Ψ (25)

Ψ is obtained by multiplying second and third rows of (5) with a and a2 respectively.

Similarly, Ψ can be obtained from (6). With some mathematical manipulations, it can be

shown that:

rj'rmsss eiLiL θ+=Ψ (26)

Where Ls = Lls + Lm , Lm = 3/2Lms and r

s

r'r i

N

Ni =

Similarly, it can be shown that the rotor flux linkage can be written as:

rjsm

'rr

'r eiLiL θ−+=Ψ (27)

Note that the rotor current in (26) (i.e. 'ri ) , is the space vector referred to the

rotating rotor reference frame. However, the d and q components of rj'rei θ are expressed in

the stator stationary reference frame. This is illustrated in Figure 2. Therefore we can define the rotor current referred to the stator stationary frame as

rj'r

sr eii θ= (28)

Equation (26) can be written in stationary stator reference frame as:

srm

sss

ss iLiL +=Ψ (29)

Where the superscript ‘s’ referred to the stator reference frame.

rj'r

'r eii ξ=

)rr(j'r

sr eii θ+ξ=

θr

ωr dr

qr qs

ds

isdr

isqr

ξr

'ri

Figure 2

Page 122: Electrical drives lectures

6

Similarly the term rjsei

θ− in (27) is the stator current referred to rotating rotor frame. This is illustrated in Figure 3. Re-writing equations (23),(24),(26) and (27), the space vector equations to describe the squirrel cage IM written in stationary stator frame can be written as follows:

dt

diRv

sss

ssss

ψ+= (30a)

srr

srs

rr jdt

diR0 ψω−

ψ+= (31a)

srm

sss

ss iLiL +=ψ (32a)

ssm

srr

sr iLiL +=ψ (33a)

In a general reference frame rotating at angular speed of ω, these equations can be written as:

gsg

gsg

ssgs j

dt

diRv ψω+

ψ+= (30b)

grrg

grg

rr )(jdt

diR0 ψω−ω+

ψ+= (31b)

grm

gss

gs iLiL +=ψ (32b)

gsm

grr

gr iLiL +=ψ (33b)

Torque equation The product of the stator voltage and conjugate stator current space vectors is given by:

( ) ( )csbs2

ascs2

bsas*ss aiiai

3

2vaavv

3

2iv ++++= (34)

After some mathematical manipulations, with the three phase currents sum to zero, it can be shown that:

[ ] ( )cscsbsbsasas*ss iviviv

3

2ivRe ++= (35)

θr

ωr dr

qr qs

ds irds

irqs ξs

sisj

ss eii ξ=

)rs(js

rs eii θ−ξ=

Figure 3

Page 123: Electrical drives lectures

7

For a three phase induction machine without a neutral return, the power into the machine can be written as:

[ ]( ) [ ]( )*'r

'r

*sse ivRe

2

3ivRe

2

3P += (36)

Replacing the voltage vectors expressed in rotating general reference frame, it can be shown that equation (36) can be expressed as:

[ ]

+

+ω−ω+++ω+

+++++=

'*rsm

2'rmlsr

*srm

2

smls

2'rsm

2'r

'lr2

sls

2'rr

2

sse

iiLi)LL()(jiiLi)LL(jRe2

3

iiLi2

Li

2

Lp

2

3ir

2

3ir

2

3P

(37)

Equation (37) can be divided into three terms:

(i) Power dissipated in stator and rotor resistances (ii) Time rate of change of stored energy (iii) Power conversion from electrical to mechanical – responsible for torque

production

[ ]

++ω−ω+++ω= '*

rsm

2'rmlsr

*srm

2

smlsmech iiLi)LL()(jiiLi)LL(jRe2

3P (38)

The first and third terms of (38) have only imaginary components. Thus,

[ ] [ ] '*rsmr

'*rsm

*srm

'*rsmr

*srmmech iiLjiiLiiL(jRe

2

3iiL)(jiiL(jRe

2

3P ω−+ω=ω−ω+ω= (39)

Since the term '*rsm

*srm iiLiiL + has no imaginary part, the mechanical power reduces to:

'*rsmrmech iiLjRe

2

3P ω−= (40)

Which can also be written as:

'*rsmrmech iiLIm

2

3P ω= (41)

OR

[ ]'qrds

'drqsmrmech iiiiL

2

3P −ω= (42)

The mechanical power is the product of torque and speed, and the mechanical rotor speed is related to the rotor speed as ωr = (p/2)ωrm , thus from (42)

[ ]'qrds

'drqsme iiiiL

2

p

2

3T −= (43)

Page 124: Electrical drives lectures

8

Simulation of induction machine (IM) with MATLAB/SIMULINK For the purpose of simulation and microprocessor implementation, the space vectors representation of the induction machine is converted to its equivalent d-q axis form. Transforming equations (30)–(33) to their equivalent d-q axis forms in stationary reference frame (ωg = 0), and re-arranging them into matrix form, the following is obtained:

+ω−ω−ω+ω

++

=

rq

rd

sq

sd

rrrrmmr

rrrrmrm

mss

mss

rq

rd

sq

sd

i

i

i

i

sLRLsLL

LsLRLsL

sL0sLR0

0sL0sLR

v

v

v

v

(44)

‘s’in (44) represents the derivative operator d/dt. The space vectors equations can also be put into state space forms with the choice of flux linkages or currents as state variables. If the stator and rotor currents are chosen as the state variables, re-arranging (44) the IM equation can be written as:

−+

ω−−ω−ωω−−ωωω−−ω−

−=

sq

sd

m

m

r

r

sr2m

rq

rd

sq

sd

srsrrmssmr

srrsrsmrms

mrrmrrs2mr

rmrmrsq2mrrs

sr2m

rq

rd

sq

sd

v

v

L0

0L

L0

0L

LLL

1

i

i

i

i

LRLLLRLL

LLLRLLLR

LRLLLRL

LLLRiLLR

LLL

1

i

i

i

i

(45)

Equations (43),(45) along with the mechanical torque equation, can be used to simulate the IM using SIMULINK. The SIMULINK blocks used to simulate the IM is shown in Figure 4.

q

8

Te

7

Vq

6

irq

5

Vd

4

speed

3

ird

2

isq

1

isd

Sum

Mux

Mux

1/s

Integrator

In1 Out1

IM1

-K-

Gain2

-K-

Gain1

Demux

Demux

Tload

Constant

3to2

-K-

1/J1

-K-

1/J

3

Vc

2

Vb

1

Va

Figure 4

Page 125: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Model Name "constant_vhz" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Oct 01 11:07:25 2002" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" ModifiedDateFormat "%<Auto>" LastModifiedDate "Mon Sep 13 15:37:48 2004" ModelVersionFormat "1.%<AutoIncrement:14>" ConfigurationManager "none" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off ExtModeArmWhenConnect on

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (1 von 28) [17.05.2005 17:15:21]

Page 126: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode5" SolverMode "Auto" StartTime "0.0" StopTime "1000" MaxOrder 5 MaxStep "0.0001" MinStep "0.00001" MaxNumMinSteps "-1" InitialStep "0.00001" FixedStep "10e-6" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime off TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput off OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints off MaxDataPoints "10000000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt off BooleanDataType off

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (2 von 28) [17.05.2005 17:15:21]

Page 127: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockParameterDefaults Block BlockType Constant Value "1" VectorParams1D on ShowAdditionalParam off OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" Block BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off Block BlockType ElementaryMath Operator "sin" Block BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (3 von 28) [17.05.2005 17:15:21]

Page 128: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Block BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on Block BlockType Mux Inputs "4" DisplayOption "none" Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Product Inputs "2" Multiplication "Element-wise(.*)" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType RateLimiter RisingSlewLimit "1" FallingSlewLimit "-1" LinearizeAsGain on Block BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (4 von 28) [17.05.2005 17:15:21]

Page 129: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Switch Criteria "u2 >= Threshold" Threshold "0" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Inherit via internal rule" RndMeth "Floor" SaturateOnIntegerOverflow on ZeroCross on AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (5 von 28) [17.05.2005 17:15:21]

Page 130: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

FontSize 9 FontWeight "normal" FontAngle "normal" System Name "constant_vhz" Location [2, 82, 790, 584] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block BlockType Constant Name "Constant" Position [35, 121, 75, 139] Value "50" Block BlockType SubSystem Name "Constant V/Hz" Ports [2, 3] Position [270, 88, 335, 172] TreatAsAtomicUnit off MaskPromptString "Vm at rated frequency" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Vm=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "240" System Name "Constant V/Hz" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "88" Block BlockType Inport Name "In1" Position [30, 93, 60, 107] Block BlockType Inport Name "boost" Position [20, 403, 50, 417] Port "2" Block

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (6 von 28) [17.05.2005 17:15:21]

Page 131: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

BlockType Constant Name "Constant1" Position [195, 371, 235, 389] Value "(2*pi)/3" Block BlockType SubSystem Name "Dot Product1" Ports [2, 1] Position [400, 307, 430, 343] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" System Name "Dot Product1" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (7 von 28) [17.05.2005 17:15:21]

Page 132: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Block BlockType SubSystem Name "Dot Product2" Ports [2, 1] Position [340, 72, 370, 108] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized" System Name "Dot Product2" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110]

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (8 von 28) [17.05.2005 17:15:21]

Page 133: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0" Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1 Block BlockType SubSystem Name "Dot Product3" Ports [2, 1] Position [385, 467, 415, 503] TreatAsAtomicUnit off MaskType "Dot Product" MaskDescription "Inner (dot) product.\ny=sum(u1.*u2) " MaskHelp "Computes the inner (dot) product of the inp""uts: sum(u1.*u2). The inputs are vectors of the same length. Output is a sca""lar." MaskInitialization "t=(0:.1:2*pi)';\nx=cos(t);\ny=sin(t);" MaskDisplay "plot(0,0,1,1,x*[0.025 0.07]+0.5,y*[0.025 0.""07]+0.5)" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "normalized"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (9 von 28) [17.05.2005 17:15:21]

Page 134: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

System Name "Dot Product3" Location [33, 479, 253, 634] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 25, 35, 45] Block BlockType Inport Name "in_2" Position [15, 90, 35, 110] Port "2" Block BlockType Product Name "Product" Ports [2, 1] Position [65, 55, 90, 75] Block BlockType Sum Name "Sum" Ports [1, 1] Position [125, 55, 145, 75] Inputs "+" Block BlockType Outport Name "out_1" Position [185, 55, 205, 75] InitialOutput "0" Line SrcBlock "in_2" SrcPort 1 DstBlock "Product" DstPort 2 Line SrcBlock "in_1" SrcPort 1 DstBlock "Product" DstPort 1 Line SrcBlock "Product" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "out_1" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (10 von 28) [17.05.2005 17:15:21]

Page 135: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Block BlockType ElementaryMath Name "Elementary\nMath" Ports [1, 1] Position [275, 85, 305, 115] Block BlockType ElementaryMath Name "Elementary\nMath1" Ports [1, 1] Position [335, 320, 365, 350] Block BlockType ElementaryMath Name "Elementary\nMath2" Ports [1, 1] Position [320, 480, 350, 510] Block BlockType Gain Name "Gain" Position [150, 85, 180, 115] Gain "2*pi" Block BlockType Gain Name "Gain1" Position [150, 25, 180, 55] Gain "Vm/50" Block BlockType Gain Name "Gain2" Position [170, 320, 200, 350] Gain "2*pi" Block BlockType Gain Name "Gain3" Position [170, 235, 200, 265] Gain "Vm/50" Block BlockType Gain Name "Gain4" Position [160, 480, 190, 510] Gain "2*pi" Block BlockType Gain Name "Gain5" Position [160, 420, 190, 450] Gain "Vm/50" Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [210, 85, 240, 115] Block BlockType Integrator

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (11 von 28) [17.05.2005 17:15:21]

Page 136: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Name "Integrator1" Ports [1, 1] Position [230, 320, 260, 350] Block BlockType Integrator Name "Integrator2" Ports [1, 1] Position [220, 480, 250, 510] Block BlockType Sum Name "Sum" Ports [2, 1] Position [285, 325, 305, 345] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [285, 485, 305, 505] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [275, 240, 295, 260] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [245, 30, 265, 50] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum4" Ports [2, 1] Position [325, 425, 345, 445] ShowName off IconShape "round" Inputs "++|" InputSameDT off OutDataTypeMode "Inherit via internal rule"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (12 von 28) [17.05.2005 17:15:21]

Page 137: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Block BlockType Outport Name "Out1" Position [395, 83, 425, 97] Block BlockType Outport Name "Out2" Position [455, 318, 485, 332] Port "2" Block BlockType Outport Name "Out3" Position [440, 478, 470, 492] Port "3" Line SrcBlock "Integrator" SrcPort 1 DstBlock "Elementary\nMath" DstPort 1 Line SrcBlock "Elementary\nMath" SrcPort 1 DstBlock "Dot Product2" DstPort 2 Line SrcBlock "Gain" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Elementary\nMath1" SrcPort 1 DstBlock "Dot Product1" DstPort 2 Line SrcBlock "Gain2" SrcPort 1 DstBlock "Integrator1" DstPort 1 Line SrcBlock "Elementary\nMath2" SrcPort 1 DstBlock "Dot Product3" DstPort 2 Line SrcBlock "Gain4" SrcPort 1 DstBlock "Integrator2" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Elementary\nMath1" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (13 von 28) [17.05.2005 17:15:21]

Page 138: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Line SrcBlock "Integrator1" SrcPort 1 DstBlock "Sum" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [0, 0; 55, 0] Branch Points [0, -20] DstBlock "Sum" DstPort 2 Branch Points [5, 0; 0, 90] DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Elementary\nMath2" DstPort 1 Line SrcBlock "Integrator2" SrcPort 1 DstBlock "Sum1" DstPort 2 Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [15, 0] Branch DstBlock "Gain" DstPort 1 Branch Points [0, -60] DstBlock "Gain1" DstPort 1 Branch Points [0, 235] Branch Points [35, 0] Branch Points [0, -85] DstBlock "Gain3" DstPort 1 Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 160; 25, 0]

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (14 von 28) [17.05.2005 17:15:21]

Page 139: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Branch DstBlock "Gain4" DstPort 1 Branch Points [0, -60] DstBlock "Gain5" DstPort 1 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Dot Product3" SrcPort 1 DstBlock "Out3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Sum2" DstPort 2 Line SrcBlock "Sum2" SrcPort 1 Points [40, 0; 0, 65] DstBlock "Dot Product1" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Sum3" DstPort 2 Line SrcBlock "Sum3" SrcPort 1 Points [25, 0; 0, 40] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Gain5" SrcPort 1 DstBlock "Sum4" DstPort 2 Line SrcBlock "Sum4" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (15 von 28) [17.05.2005 17:15:21]

Page 140: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Points [10, 0; 0, 40] DstBlock "Dot Product3" DstPort 1 Line SrcBlock "boost" SrcPort 1 Points [70, 0] Branch DstBlock "Sum4" DstPort 1 Branch Points [0, -220] Branch Points [0, -175] DstBlock "Sum3" DstPort 1 Branch Points [160, 0] DstBlock "Sum2" DstPort 1 Block BlockType Constant Name "Constant1" Position [60, 280, 90, 300] Value "50" Block BlockType Constant Name "Constant2" Position [60, 230, 90, 250] Value "0" Block BlockType Gain Name "Gain" Position [335, 35, 365, 65] Gain "(2*pi)/2" Block BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [470, 63, 525, 192] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|""Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No"" of poles|Moment of inertia (kg.m^2)|Load torque (Nm)|Load constant" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on,on" MaskCallbackString "||||||||" MaskEnableString "on,on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa""d=@8;load_C=@9;" MaskIconFrame on

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (16 von 28) [17.05.2005 17:15:21]

Page 141: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.02|0.01""|0.1" System Name "Induction Machine" Location [2, 70, 798, 552] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "Va" Position [25, 40, 45, 60] Block BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" Block BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" Block BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "pole/(2*J)" SaturateOnIntegerOverflow off Block BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System Name "3to2" Location [4, 74, 628, 500] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 50, 35, 70]

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (17 von 28) [17.05.2005 17:15:21]

Page 142: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Block BlockType Inport Name "in_2" Position [15, 115, 35, 135] Port "2" Block BlockType Inport Name "in_3" Position [15, 180, 35, 200] Port "3" Block BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" Block BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" Block BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" Block BlockType Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [260, 87, 280, 123] Inputs "+++" Block BlockType Outport Name "d" Position [330, 60, 350, 80] InitialOutput "0" Block BlockType Outport Name "q"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (18 von 28) [17.05.2005 17:15:21]

Page 143: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 Points [15, 0; 0, -35] DstBlock "d" DstPort 1 Line SrcBlock "Gain7" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -90] DstBlock "Ib1" DstPort 2 Line SrcBlock "Gain5" SrcPort 1 Points [25, 0; 0, -40] DstBlock "Ib1" DstPort 3 Line SrcBlock "in_3" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "in_2" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (19 von 28) [17.05.2005 17:15:21]

Page 144: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib" DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (20 von 28) [17.05.2005 17:15:21]

Page 145: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1" Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [3, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+--" Block BlockType Gain Name "load_C" Position [375, 367, 400, 393] Gain "load_C" SaturateOnIntegerOverflow off Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0"

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (21 von 28) [17.05.2005 17:15:21]

Page 146: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4" InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (22 von 28) [17.05.2005 17:15:21]

Page 147: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (23 von 28) [17.05.2005 17:15:21]

Page 148: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 75] Branch Points [0, 40] DstBlock "Gain1" DstPort 1 Branch DstBlock "load_C" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0]

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (24 von 28) [17.05.2005 17:15:21]

Page 149: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

DstBlock "speed" DstPort 1 Line SrcBlock "load_C" SrcPort 1 Points [145, 0; 0, -75] DstBlock "Sum" DstPort 2 Line SrcBlock "Constant" SrcPort 1 DstBlock "Sum" DstPort 3 Annotation Name "q" Position [482, 87] VerticalAlignment "top" Block BlockType Reference Name "Manual Switch" Ports [2, 1] Position [150, 232, 180, 268] SourceBlock "simulink/Signal\nRouting/Manual Switch" SourceType "Manual Switch" sw "0" action "0" Block BlockType Mux Name "Mux" Ports [2, 1] Position [660, 41, 665, 79] ShowName off Inputs "2" DisplayOption "bar" Block BlockType RateLimiter Name "Rate Limiter" Position [170, 115, 200, 145] RisingSlewLimit "50" FallingSlewLimit "-50" Block BlockType Scope Name "Scope" Ports [3] Position [735, 104, 765, 136] Location [357, 69, 795, 439] Open on NumInputPorts "3" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" List ListType SelectedSignals

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (25 von 28) [17.05.2005 17:15:21]

Page 150: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

axes1 "" axes2 "" axes3 "" TimeRange "1.5" YMin "-10~-20~-50" YMax "80~20~50" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope1" Ports [4] Position [455, 271, 490, 364] Location [6, 204, 444, 564] Open on NumInputPorts "4" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" axes4 "%<SignalLabel>" List ListType SelectedSignals axes1 "" axes2 "" axes3 "" axes4 "" TimeRange "1.5" YMin "-400~-400~-400~-5" YMax "400~400~400~60" SaveName "ScopeData1" DataFormat "StructureWithTime" Block BlockType Reference Name "Slider\nGain1" Ports [1, 1] Position [100, 115, 130, 145] SourceBlock "simulink/Math\nOperations/Slider\nGain" SourceType "Slider Gain" low "0" gain "0.07" high "1" Line SrcBlock "Induction Machine" SrcPort 8 Points [55, 0; 0, -60] DstBlock "Scope" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 2 Points [190, 0] DstBlock "Scope" DstPort 3 Line SrcBlock "Slider\nGain1" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (26 von 28) [17.05.2005 17:15:21]

Page 151: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

DstBlock "Rate Limiter" DstPort 1 Line SrcBlock "Constant" SrcPort 1 DstBlock "Slider\nGain1" DstPort 1 Line SrcBlock "Constant V/Hz" SrcPort 2 Points [0, 0; 70, 0] Branch DstBlock "Induction Machine" DstPort 2 Branch Points [0, 175] DstBlock "Scope1" DstPort 2 Line SrcBlock "Constant V/Hz" SrcPort 1 Points [55, 0; 0, -20; 35, 0] Branch DstBlock "Induction Machine" DstPort 1 Branch Points [0, 195] DstBlock "Scope1" DstPort 1 Line SrcBlock "Constant V/Hz" SrcPort 3 Points [0, 0; 40, 0] Branch Points [15, 0; 0, 20] DstBlock "Induction Machine" DstPort 3 Branch Points [0, 175] DstBlock "Scope1" DstPort 3 Line SrcBlock "Rate Limiter" SrcPort 1 Points [0, 0; 10, 0] Branch Points [0, 225] DstBlock "Scope1" DstPort 4 Branch Points [25, 0] Branch Points [15, 0]

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (27 von 28) [17.05.2005 17:15:21]

Page 152: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl

DstBlock "Constant V/Hz" DstPort 1 Branch Points [0, -80] DstBlock "Gain" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [0, -30] DstBlock "Manual Switch" DstPort 2 Line SrcBlock "Constant2" SrcPort 1 DstBlock "Manual Switch" DstPort 1 Line SrcBlock "Manual Switch" SrcPort 1 Points [70, 0] DstBlock "Constant V/Hz" DstPort 2 Line SrcBlock "Mux" SrcPort 1 Points [50, 0] DstBlock "Scope" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 4 Points [115, 0] DstBlock "Mux" DstPort 2 Line SrcBlock "Gain" SrcPort 1 DstBlock "Mux" DstPort 1

http://encon.fke.utm.my/courses/mep1422/constant_vhz.mdl (28 von 28) [17.05.2005 17:15:21]

Page 153: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/imch.c

/* * sfuntmpl.c: Template C S-function source file. * * ------------------------------------------------------------------------- * | See matlabroot/simulink/src/sfuntmpl.doc for a more detailed template | * ------------------------------------------------------------------------- * * Copyright (c) 1990-97, by The MathWorks, Inc. * All Rights Reserved * $Revision 1.1 $ */

/* * You must specify the S_FUNCTION_NAME as the name of your S-function. */

#define S_FUNCTION_NAME imch

/* Input Arguments */

/* * Need to include simstruc.h for the definition of the SimStruct and * its associated macro definitions. *//* #include "tmwtypes.h" */#include "tmwtypes.h"#include "simstruc.h"

#define Rs ssGetArg(S,0)#define Rr ssGetArg(S,1)#define Ls ssGetArg(S,2)#define Lr ssGetArg(S,3)#define Lm ssGetArg(S,4)#define pole ssGetArg(S,5)

/*====================* * S-function methods * *====================*/

/* Function: mdlInitializeSizes =============================================== * Abstract: * * The sizes information is used by SIMULINK to determine the S-function * block's characteristics (number of inputs, outputs, states, etc.). * */static void mdlInitializeSizes(SimStruct *S) ssSetNumContStates( S, 4); /* number of continuous states */ ssSetNumDiscStates( S, 0); /* number of discrete states */ ssSetNumInputs( S, 3); /* number of inputs */ ssSetNumOutputs( S, 5); /* number of outputs */ ssSetDirectFeedThrough(S, 0); /* direct feedthrough flag */ ssSetNumSampleTimes( S, 1); /* number of sample times */ ssSetNumInputArgs( S, 6); ssSetNumRWork( S, 0); /* number of real work vector elements */ ssSetNumIWork( S, 0); /* number of integer work vector elements*/ ssSetNumPWork( S, 0); /* number of pointer work vector elements*/ ssSetNumModes( S, 0); /* number of mode work vector elements */ ssSetNumNonsampledZCs( S, 0); /* number of nonsampled zero crossings */ ssSetOptions( S, 0); /* general options (SS_OPTION_xx) */

http://encon.fke.utm.my/courses/mep1422/imch.c (1 von 3) [17.05.2005 17:15:22]

Page 154: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/imch.c

/* Function: mdlInitializeSampleTimes =========================================*/static void mdlInitializeSampleTimes(SimStruct *S) ssSetSampleTime(S, 0, CONTINUOUS_SAMPLE_TIME); ssSetOffsetTime(S, 0, 0.0);

/* Function: mdlInitializeConditions ========================================== * Abstract: * * In this function, you should initialize the continuous and discrete * states for your S-function block. The initial states are placed * in the x0 variable. You can also perform any other initialization * activities that your S-function may require. */static void mdlInitializeConditions(real_T *x0, SimStruct *S) int i; for (i=0; i<4; i++) *x0++ = 0.0;

/* Function: mdlOutputs ======================================================= * Abstract: * * In this function, you compute the outputs of your S-function * block. The outputs are placed in the y variable. */static void mdlOutputs(real_T *y, const real_T *x, const real_T *u, SimStruct *S, int_T tid) double lm; double pl; lm = mxGetPr(Lm)[0]; pl = mxGetPr(pole)[0];

y[0]=x[0]; y[1]=x[1]; y[2]=x[2]; y[3]=x[3]; y[4]=1.5*(pl/2)*lm*((x[0]*x[3])-(x[1]*x[2]));

static void mdlUpdate(real_T *x, const real_T *u, SimStruct *S, int_T tid)

/* Function: mdlDerivatives =================================================== * Abstract: * * In this function, you compute the S-function block's derivatives. * The derivatives are placed in the dx variable. */static void mdlDerivatives(real_T *dx, const real_T *x, const real_T *u,

http://encon.fke.utm.my/courses/mep1422/imch.c (2 von 3) [17.05.2005 17:15:22]

Page 155: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/imch.c

SimStruct *S, int_T tid)

/* x0=iq x1=id x2= iqr x3= idr u0=vq u1=vd u2=w */ double lr,ls,rr,rs,lm,a;

lm = mxGetPr(Lm)[0]; lr = mxGetPr(Lr)[0]; ls = mxGetPr(Ls)[0]; rr = mxGetPr(Rr)[0]; rs = mxGetPr(Rs)[0];

a=1/(lm*lm-lr*ls);

dx[0]=(u[2]*lm*lm*x[1]+rs*lr*x[0]+u[2]*lr*lm*x[3]-rr*lm*x[2]-lr*u[0])*a;

dx[1]=(rs*lr*x[1]-u[2]*lm*lm*x[0]-rr*lm*x[3]-u[2]*lr*lm*x[2]-lr*u[1])*a;

dx[2]=-(u[2]*lm*ls*x[1]+rs*lm*x[0]+u[2]*lr*ls*x[3]-rr*ls*x[2]-lm*u[0])*a;

dx[3]=-(rs*lm*x[1]-u[2]*lm*ls*x[0]-rr*ls*x[3]-u[2]*lr*ls*x[2]-lm*u[1])*a;

/* Function: mdlTerminate ===================================================== * Abstract: * * In this function, you should perform any actions that are necessary * at the termination of a simulation. For example, if memory was allocated * in mdlInitializeConditions, this is the place to free it. */static void mdlTerminate(SimStruct *S) /* * YOUR CODE GOES HERE */

/*======================================================* * See sfuntmpl.doc for the optional S-function methods * *======================================================*/

/*=============================* * Required S-function trailer * *=============================*/

#ifdef MATLAB_MEX_FILE /* Is this file being compiled as a MEX-file? */#include "simulink.c" /* MEX-file interface mechanism */#else#include "cg_sfun.h" /* Code generation registration function */#endif

http://encon.fke.utm.my/courses/mep1422/imch.c (3 von 3) [17.05.2005 17:15:22]

Page 156: Electrical drives lectures

! " # # !

$

( )%

!

% ++= π &

%'! %&

$

( += %

%&

[ ] ( )

−−=

++== %

%

&

%

&

!

%

!

%) ) !

[ ] ( ) ( )%

!

&

!

% −=

++== *

$

( )%

!

% ++= +

$

( θ= ,

- ω$

Page 157: Electrical drives lectures

( )%

!

% ++= .

/ $

( θ= 0

1&##

1&

( ) ( )α+θ+α+θ= rrrrsr sinjicosii

αθ= jjr

sr eeii r

α=∴ (

2

34 $

( ) ( )α−θ+α−θ= rsrsrs sinjicosii

α−θ= ((

&5

α−=∴ (

&&

α( α− ( 4

!

$

(

) ψω+

ψ+= &%

θ

θ

ω

α

Page 158: Electrical drives lectures

(

)5 ψω−ω+

ψ+= &!

33 +=ψ &*

33 +=ψ &+

( )%

!

% ++=

-

ψ

ψ 67

ω85$

)

ψ+= &,

(

)5 ψω−

ψ+= &.

33 +=ψ &0

33 +=ψ &2

&,&2 "!!"#

$

%

%

! ×ψ= %5

9 4 $

( ) 33%

%

!

%

%

! ×+=×ψ= %&

: $

3%

%

! −= %%

$

3

3

%

%

! ×ψ= %!

# %!%*

3

3

%

%

!

ψ−ψ= %*

Page 159: Electrical drives lectures

;%* # 1"< %* # 1% =

ψψ=ψ

5 =ψψ

%*$

3

3

%

%

! ψψ= %+

1% %+ ><%+

84 %+>< - 1"<

ψ

%+ 1 4 1"<$1"<1&!

(

)5 ψω−ω+ψ+=

-&+

ψ

ψ

ψ

ψψ

Page 160: Electrical drives lectures

(

3

)3

3

)5 ψω−ω+ψ+−ψ= %,

ψψ=ψ 5

=ψψ %,$

( )

(

(

3

)3

3

)5 ψω+ψ++−ψ= ψψ %.

-$

3

)3

3

)5

ψ+−ψ= ψ %0

3

)35 ψω+−= ψ %2

1 1"< / >1"<1"< 4 ? %,@

1!1"<

Page 161: Electrical drives lectures

1*#

?>: 3/&220AB /<C" DE?F4BE&225AB< /<C" DE?F4G>1H&20.AE;< /<CEE"

Page 162: Electrical drives lectures

STATOR FLUX FOC In stator flux FOC, the frame chosen is aligned to the synchronously rotating frame such that the d–axis coincide with stator flux space phasor.

Figure 1 The torque equation in general reference frame is given by:

(1)

(2) In the chosen reference frame, ψ=ψ and =ψ , hence (2) reduces to:

(3) To implement the stator flux FOC using current–controlled VSI, we need to

i) derive the d and q components of the stator current reference values, ii) obtain the stator flux position in order to transform the rotating frame

to stationary frame..

From (3), given Te* and ψs

*,the q component of the stator current in this reference frame can be easily obtained. To look at the relation between isd and ψs we need to examine the IM equations. The induction machine in general reference frame is given by equations (4)–(7):

ψω+

ψ+=

ψω−ω+

ψ+=

+=ψ

+=ψ (7)

Ψ

ψ

ψ

ψ

ψ

×ψ=

( )

ψ−ψ=

( )

ψ=

Page 163: Electrical drives lectures

Substitute (7) into (5)

(8) The stator flux is obtained by substituting the rotor current (which in practice, normally unavailable) from (6), into (8) With mathematical manipulations and recognizing that in the reference frame where only the d axis component of the stator flux exists, it can be shown that by separating the real and imaginary terms and after substituting rotor current, equation (8) is given by:

(9)

(10) From (10), it can be seen that ψs is proportional to isd and isq. There exists a

coupling between ψs and isq. Varying isq to control the torque will result in ψs to vary too hence the torque will not react immediately to isq.

Figure 2 To overcome this problem, a de–coupler to compensate the effect of the isq component from the output of the PI controller is can be designed [1]. [1] X. Xu, R. K. Doncker, D.W. Novotny, “A stator flux oriented Induction machine

drive”, IEEE-PESC, 1988.

( )

+ω−ω+

++=

( ) ( )

=σ−ψτω−στ+ ψψ

( ) ( )

=στω−στ+=ψτ+ ψψ

θ

Ψ

!

"

""

Ψ

θ

#ψ#

!$!$

%&' '(

Page 164: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Model Name "foc" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Oct 01 11:07:25 2002" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" LastModifiedBy "Administrator" ModifiedDateFormat "%<Auto>" LastModifiedDate "Sun Sep 12 00:33:10 2004" ModelVersionFormat "1.%<AutoIncrement:22>" ConfigurationManager "none" SimParamPage "WorkspaceI/O" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off

http://encon.fke.utm.my/courses/mep1422/foc.mdl (1 von 36) [17.05.2005 17:15:41]

Page 165: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode5" SolverMode "Auto" StartTime "0.0" StopTime "1000" MaxOrder 5 MaxStep "0.0001" MinStep "0.00001" MaxNumMinSteps "-1" InitialStep "0.00001" FixedStep "5e-6" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime off TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput off OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints off MaxDataPoints "10000000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt off

http://encon.fke.utm.my/courses/mep1422/foc.mdl (2 von 36) [17.05.2005 17:15:41]

Page 166: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

BooleanDataType off ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockParameterDefaults Block BlockType Constant Value "1" VectorParams1D on ShowAdditionalParam off OutDataTypeMode "Inherit from 'Constant value'" OutDataType "sfix(16)" ConRadixGroup "Use specified scaling" OutScaling "2^0" Block BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off Block BlockType Derivative Block BlockType Fcn Expr "sin(u[1])" Block BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (3 von 36) [17.05.2005 17:15:41]

Page 167: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)" OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on Block BlockType Math Operator "exp" OutputSignalType "auto" Block BlockType Mux Inputs "4" DisplayOption "none" Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (4 von 36) [17.05.2005 17:15:41]

Page 168: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''" Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Trigonometry Operator "sin" OutputSignalType "auto" AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10

http://encon.fke.utm.my/courses/mep1422/foc.mdl (5 von 36) [17.05.2005 17:15:41]

Page 169: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "foc" Location [26, 100, 942, 425] Open on ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "91" ReportName "simulink-default.rpt" Block BlockType Gain Name "Gain3" Position [580, 305, 610, 335] Orientation "left" Block BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [645, 13, 700, 142] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|""Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No"" of poles|Moment of inertia (kg.m^2)|Load torque (Nm)" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on" MaskCallbackString "|||||||" MaskEnableString "on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa""d=@8;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.02|0" System Name "Induction Machine" Location [4, 74, 764, 534] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport

http://encon.fke.utm.my/courses/mep1422/foc.mdl (6 von 36) [17.05.2005 17:15:41]

Page 170: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Name "Va" Position [25, 40, 45, 60] Block BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" Block BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" Block BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left" Gain "1/J" SaturateOnIntegerOverflow off Block BlockType Gain Name "1/J1" Position [375, 367, 400, 393] Gain "0.01" SaturateOnIntegerOverflow off Block BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System Name "3to2" Location [323, 87, 947, 513] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 50, 35, 70] Block BlockType Inport Name "b" Position [15, 115, 35, 135] Port "2" Block BlockType Inport Name "c" Position [15, 180, 35, 200] Port "3"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (7 von 36) [17.05.2005 17:15:41]

Page 171: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Block BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" Block BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" Block BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" Block BlockType Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [385, 52, 405, 88] Inputs "+++" Block BlockType Outport Name "d" Position [535, 60, 555, 80] InitialOutput "0" Block BlockType Outport Name "q" Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 DstBlock "d" DstPort 1 Line SrcBlock "Gain7"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (8 von 36) [17.05.2005 17:15:41]

Page 172: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

SrcPort 1 Points [30, 0; 0, -15] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -125] DstBlock "Ib1" DstPort 2 Line SrcBlock "Gain5" SrcPort 1 Points [60, 0; 0, -75] DstBlock "Ib1" DstPort 3 Line SrcBlock "c" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "b" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (9 von 36) [17.05.2005 17:15:41]

Page 173: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Constant Name "Constant" Position [630, 306, 670, 324] Orientation "left" Value "Tload" Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (10 von 36) [17.05.2005 17:15:41]

Page 174: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [3, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+--" Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0" Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (11 von 36) [17.05.2005 17:15:41]

Page 175: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1 Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch

http://encon.fke.utm.my/courses/mep1422/foc.mdl (12 von 36) [17.05.2005 17:15:41]

Page 176: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1 Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 75] Branch Points [0, 40] DstBlock "Gain1" DstPort 1 Branch DstBlock "1/J1" DstPort 1

http://encon.fke.utm.my/courses/mep1422/foc.mdl (13 von 36) [17.05.2005 17:15:41]

Page 177: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0] DstBlock "speed" DstPort 1 Line SrcBlock "1/J1" SrcPort 1 Points [145, 0; 0, -75] DstBlock "Sum" DstPort 2 Line SrcBlock "Constant" SrcPort 1 DstBlock "Sum" DstPort 3 Annotation Name "q" Position [482, 87] VerticalAlignment "top"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (14 von 36) [17.05.2005 17:15:41]

Page 178: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Block BlockType Integrator Name "Integrator1" Ports [1, 1] Position [180, 305, 210, 335] Block BlockType Integrator Name "Integrator2" Ports [1, 1] Position [390, 305, 420, 335] Orientation "left" Block BlockType Relay Name "Relay" Position [540, 30, 570, 60] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Relay Name "Relay1" Position [545, 65, 575, 95] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Relay Name "Relay2" Position [545, 115, 575, 145] OnSwitchValue "0.2" OffSwitchValue "-0.2" OnOutputValue "300" OffOutputValue "-300" Block BlockType Constant Name "Rotor Flux" Position [20, 134, 40, 156] Value "1.2*(291.9e-3/306.5e-3)" Block BlockType Scope Name "Scope" Ports [2] Position [835, 205, 865, 240] Location [581, 461, 905, 736] Open on NumInputPorts "2" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" List ListType SelectedSignals

http://encon.fke.utm.my/courses/mep1422/foc.mdl (15 von 36) [17.05.2005 17:15:41]

Page 179: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

axes1 "" axes2 "" TimeRange "0.1" YMin "-25~-30" YMax "25~30" DataFormat "StructureWithTime" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [25, 50, 55, 80] WaveForm "square" Amplitude "-20" Frequency "20" Block BlockType SubSystem Name "Subsystem" Ports [4, 4] Position [895, 21, 945, 124] TreatAsAtomicUnit off System Name "Subsystem" Location [596, 100, 1004, 348] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "ird" Position [25, 33, 55, 47] Block BlockType Inport Name "isd" Position [25, 78, 55, 92] Port "2" Block BlockType Inport Name "irq" Position [25, 128, 55, 142] Port "3" Block BlockType Inport Name "isq" Position [25, 173, 55, 187] Port "4" Block BlockType Reference Name "Cartesian to\nPolar" Ports [2, 2] Position [255, 87, 285, 118] SourceBlock "simulink_extras/Transformations/Cartesian t""o\nPolar" SourceType "Cart2Polar"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (16 von 36) [17.05.2005 17:15:41]

Page 180: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Block BlockType Gain Name "Gain" Position [80, 25, 110, 55] Gain "306.5e-3" Block BlockType Gain Name "Gain1" Position [80, 70, 110, 100] Gain "291.9e-3" Block BlockType Gain Name "Gain2" Position [80, 120, 110, 150] Gain "306.5e-3" Block BlockType Gain Name "Gain3" Position [80, 165, 110, 195] Gain "291.9e-3" Block BlockType Sum Name "Sum" Ports [2, 1] Position [175, 55, 195, 75] ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [175, 150, 195, 170] ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Outport Name "Fm" Position [355, 88, 385, 102] Block BlockType Outport Name "F_the" Position [310, 103, 340, 117] Port "2" Block BlockType Outport Name "Fd" Position [310, 33, 340, 47] Port "3" Block

http://encon.fke.utm.my/courses/mep1422/foc.mdl (17 von 36) [17.05.2005 17:15:41]

Page 181: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

BlockType Outport Name "Fq" Position [305, 153, 335, 167] Port "4" Line SrcBlock "Gain" SrcPort 1 Points [40, 0] DstBlock "Sum" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [70, 0] DstBlock "Sum" DstPort 2 Line SrcBlock "Sum" SrcPort 1 Points [25, 0] Branch Points [15, 0] DstBlock "Cartesian to\nPolar" DstPort 1 Branch Points [0, -25] DstBlock "Fd" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [40, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 Points [70, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Sum1" SrcPort 1 Points [40, 0; 0, -5] Branch DstBlock "Cartesian to\nPolar" DstPort 2 Branch Points [0, 5] DstBlock "Fq" DstPort 1 Line SrcBlock "ird" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/foc.mdl (18 von 36) [17.05.2005 17:15:41]

Page 182: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstBlock "Gain" DstPort 1 Line SrcBlock "isd" SrcPort 1 DstBlock "Gain1" DstPort 1 Line SrcBlock "Cartesian to\nPolar" SrcPort 1 DstBlock "Fm" DstPort 1 Line SrcBlock "Cartesian to\nPolar" SrcPort 2 DstBlock "F_the" DstPort 1 Line SrcBlock "irq" SrcPort 1 DstBlock "Gain2" DstPort 1 Line SrcBlock "isq" SrcPort 1 DstBlock "Gain3" DstPort 1 Block BlockType SubSystem Name "Subsystem1" Ports [2, 3] Position [95, 50, 135, 110] TreatAsAtomicUnit off MaskPromptString "Lm|Lr|Rr|p" MaskStyleString "edit,edit,edit,edit" MaskTunableValueString "on,on,on,on" MaskCallbackString "|||" MaskEnableString "on,on,on,on" MaskVisibilityString "on,on,on,on" MaskToolTipString "on,on,on,on" MaskVarAliasString ",,," MaskVariables "Lm=@1;Lr=@2;Rr=@3;p=@4;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "291.9e-3|306.5e-3|4.51|4" System Name "Subsystem1" Location [2, 74, 1014, 724] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (19 von 36) [17.05.2005 17:15:41]

Page 183: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "T" Position [90, 33, 120, 47] Block BlockType Inport Name "Flux" Position [35, 118, 65, 132] Port "2" Block BlockType Constant Name "Constant1" Position [140, 279, 210, 301] Value "1/Lm" Block BlockType Derivative Name "Derivative" Position [165, 180, 195, 210] Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [230, 26, 260, 59] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product1" Ports [2, 1] Position [292, 115, 323, 150] Orientation "down" NamePlacement "alternate" SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product2" Ports [2, 1] Position [390, 205, 425, 240] NamePlacement "alternate" SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Gain Name "Gain" Position [145, 25, 175, 55] Gain "(4*Lr)/(3*p*Lm)" Block BlockType Gain Name "Gain1" Position [230, 85, 260, 115] Gain "(Lm*Rr)/Lr" Block BlockType Gain

http://encon.fke.utm.my/courses/mep1422/foc.mdl (20 von 36) [17.05.2005 17:15:41]

Page 184: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Name "Gain2" Position [115, 180, 145, 210] Gain "Lr/Rr" Block BlockType Math Name "Math\nFunction" Ports [1, 1] Position [145, 110, 175, 140] Operator "reciprocal" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [255, 185, 275, 205] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Outport Name "isq" Position [340, 38, 370, 52] Block BlockType Outport Name "slip" Position [295, 175, 325, 190] Orientation "down" Port "2" Block BlockType Outport Name "isd" Position [510, 218, 540, 232] Port "3" Line SrcBlock "Flux" SrcPort 1 Points [25, 0] Branch DstBlock "Math\nFunction" DstPort 1 Branch Points [0, 70] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 40; 170, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Math\nFunction" SrcPort 1 Points [25, 0; 0, -25]

http://encon.fke.utm.my/courses/mep1422/foc.mdl (21 von 36) [17.05.2005 17:15:41]

Page 185: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Branch Points [0, -50] DstBlock "Dot Product" DstPort 2 Branch DstBlock "Gain1" DstPort 1 Line SrcBlock "Gain" SrcPort 1 Points [35, 0] DstBlock "Dot Product" DstPort 1 Line SrcBlock "Dot Product" SrcPort 1 Points [0, 0; 55, 0] Branch Points [-5, 0] DstBlock "Dot Product1" DstPort 2 Branch DstBlock "isq" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Dot Product1" DstPort 1 Line SrcBlock "T" SrcPort 1 DstBlock "Gain" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 DstBlock "slip" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 DstBlock "Derivative" DstPort 1 Line SrcBlock "Derivative" SrcPort 1 DstBlock "Sum2" DstPort 1 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "isd"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (22 von 36) [17.05.2005 17:15:41]

Page 186: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstPort 1 Line SrcBlock "Sum2" SrcPort 1 Points [45, 0; 0, 20] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Constant1" SrcPort 1 Points [85, 0; 0, -60] DstBlock "Dot Product2" DstPort 2 Block BlockType SubSystem Name "Subsystem3" Ports [2, 3] Position [605, 185, 645, 245] Orientation "left" TreatAsAtomicUnit off System Name "Subsystem3" Location [436, 127, 909, 413] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [80, 38, 110, 52] Block BlockType Inport Name "In2" Position [115, 143, 145, 157] Port "2" Block BlockType Gain Name "Gain1" Position [215, 28, 255, 52] Gain "1.0001" Block BlockType Gain Name "Gain10" Position [215, 238, 255, 262] Gain "-0.867" Block BlockType Gain Name "Gain2" Position [215, 83, 255, 107] Gain "-0.5"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (23 von 36) [17.05.2005 17:15:41]

Page 187: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Block BlockType Gain Name "Gain8" Position [215, 138, 255, 162] Gain "0.867" Block BlockType Gain Name "Gain9" Position [215, 188, 255, 212] Gain "-0.5" Block BlockType Sum Name "Ib2" Ports [2, 1] Position [375, 102, 395, 138] Block BlockType Sum Name "Ib3" Ports [2, 1] Position [375, 187, 395, 223] Block BlockType Outport Name "Out1" Position [280, 33, 310, 47] Block BlockType Outport Name "Out2" Position [420, 113, 450, 127] Port "2" Block BlockType Outport Name "Out3" Position [420, 198, 450, 212] Port "3" Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [70, 0] DstBlock "Gain1" DstPort 1 Branch Points [0, 50] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 105] DstBlock "Gain9" DstPort 1 Line

http://encon.fke.utm.my/courses/mep1422/foc.mdl (24 von 36) [17.05.2005 17:15:41]

Page 188: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

SrcBlock "In2" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Gain8" DstPort 1 Branch Points [0, 100] DstBlock "Gain10" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [50, 0; 0, 15] DstBlock "Ib2" DstPort 1 Line SrcBlock "Gain8" SrcPort 1 Points [50, 0; 0, -20] DstBlock "Ib2" DstPort 2 Line SrcBlock "Gain9" SrcPort 1 Points [50, 0; 0, -5] DstBlock "Ib3" DstPort 1 Line SrcBlock "Gain10" SrcPort 1 Points [50, 0; 0, -35] DstBlock "Ib3" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Ib2" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Ib3" SrcPort 1 DstBlock "Out3" DstPort 1 Block BlockType SubSystem Name "Subsystem4" Ports [2, 3]

http://encon.fke.utm.my/courses/mep1422/foc.mdl (25 von 36) [17.05.2005 17:15:41]

Page 189: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Position [345, 50, 385, 110] TreatAsAtomicUnit off System Name "Subsystem4" Location [436, 127, 909, 413] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [80, 38, 110, 52] Block BlockType Inport Name "In2" Position [115, 143, 145, 157] Port "2" Block BlockType Gain Name "Gain1" Position [215, 28, 255, 52] Gain "1.0001" Block BlockType Gain Name "Gain10" Position [215, 238, 255, 262] Gain "-0.867" Block BlockType Gain Name "Gain2" Position [215, 83, 255, 107] Gain "-0.5" Block BlockType Gain Name "Gain8" Position [215, 138, 255, 162] Gain "0.867" Block BlockType Gain Name "Gain9" Position [215, 188, 255, 212] Gain "-0.5" Block BlockType Sum Name "Ib2" Ports [2, 1] Position [375, 102, 395, 138] Block BlockType Sum Name "Ib3" Ports [2, 1]

http://encon.fke.utm.my/courses/mep1422/foc.mdl (26 von 36) [17.05.2005 17:15:41]

Page 190: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Position [375, 187, 395, 223] Block BlockType Outport Name "Out1" Position [280, 33, 310, 47] Block BlockType Outport Name "Out2" Position [420, 113, 450, 127] Port "2" Block BlockType Outport Name "Out3" Position [420, 198, 450, 212] Port "3" Line SrcBlock "In1" SrcPort 1 Points [0, 0; 15, 0] Branch Points [70, 0] DstBlock "Gain1" DstPort 1 Branch Points [0, 50] Branch DstBlock "Gain2" DstPort 1 Branch Points [0, 105] DstBlock "Gain9" DstPort 1 Line SrcBlock "In2" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Gain8" DstPort 1 Branch Points [0, 100] DstBlock "Gain10" DstPort 1 Line SrcBlock "Gain2" SrcPort 1 Points [50, 0; 0, 15] DstBlock "Ib2" DstPort 1 Line SrcBlock "Gain8" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/foc.mdl (27 von 36) [17.05.2005 17:15:41]

Page 191: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Points [50, 0; 0, -20] DstBlock "Ib2" DstPort 2 Line SrcBlock "Gain9" SrcPort 1 Points [50, 0; 0, -5] DstBlock "Ib3" DstPort 1 Line SrcBlock "Gain10" SrcPort 1 Points [50, 0; 0, -35] DstBlock "Ib3" DstPort 2 Line SrcBlock "Gain1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Ib2" SrcPort 1 DstBlock "Out2" DstPort 1 Line SrcBlock "Ib3" SrcPort 1 DstBlock "Out3" DstPort 1 Block BlockType SubSystem Name "Subsystem5" Ports [3, 2] Position [240, 48, 280, 112] TreatAsAtomicUnit off System Name "Subsystem5" Location [468, 82, 922, 447] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "iq" Position [25, 113, 55, 127] Block BlockType Inport Name "id" Position [25, 23, 55, 37]

http://encon.fke.utm.my/courses/mep1422/foc.mdl (28 von 36) [17.05.2005 17:15:41]

Page 192: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Port "2" Block BlockType Inport Name "fp" Position [25, 243, 55, 257] Port "3" Block BlockType Reference Name "Dot Product" Ports [2, 1] Position [245, 46, 275, 79] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product1" Ports [2, 1] Position [245, 136, 275, 169] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product2" Ports [2, 1] Position [260, 201, 290, 234] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Reference Name "Dot Product3" Ports [2, 1] Position [260, 251, 290, 284] SourceBlock "simulink/Math\nOperations/Dot Product" SourceType "Dot Product" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [350, 95, 370, 115] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [350, 210, 370, 230] ShowName off IconShape "round" Inputs "|++" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Trigonometry Name "Trigonometric\nFunction"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (29 von 36) [17.05.2005 17:15:41]

Page 193: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Ports [1, 1] Position [165, 145, 195, 175] Block BlockType Trigonometry Name "Trigonometric\nFunction1" Ports [1, 1] Position [170, 55, 200, 85] Operator "cos" Block BlockType Outport Name "Out1" Position [395, 98, 425, 112] Block BlockType Outport Name "Out2" Position [395, 213, 425, 227] Port "2" Line SrcBlock "fp" SrcPort 1 Points [5, 0; 0, 5; 25, 0; 0, -95] Branch DstBlock "Trigonometric\nFunction" DstPort 1 Branch Points [0, -90] DstBlock "Trigonometric\nFunction1" DstPort 1 Line SrcBlock "id" SrcPort 1 Points [0, 0; 80, 0] Branch Points [0, 230] DstBlock "Dot Product3" DstPort 1 Branch Points [90, 0] DstBlock "Dot Product" DstPort 1 Line SrcBlock "iq" SrcPort 1 Points [0, 0; 70, 0] Branch Points [0, 105] DstBlock "Dot Product2" DstPort 2 Branch Points [90, 0; 0, 25] DstBlock "Dot Product1" DstPort 1

http://encon.fke.utm.my/courses/mep1422/foc.mdl (30 von 36) [17.05.2005 17:15:41]

Page 194: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

Line SrcBlock "Dot Product3" SrcPort 1 Points [65, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Dot Product2" SrcPort 1 DstBlock "Sum2" DstPort 1 Line SrcBlock "Dot Product1" SrcPort 1 Points [80, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Trigonometric\nFunction" SrcPort 1 Points [0, 0; 5, 0] Branch DstBlock "Dot Product1" DstPort 2 Branch Points [0, 115] DstBlock "Dot Product3" DstPort 2 Line SrcBlock "Dot Product" SrcPort 1 Points [55, 0] DstBlock "Sum1" DstPort 1 Line SrcBlock "Trigonometric\nFunction1" SrcPort 1 Points [0, 0; 15, 0] Branch DstBlock "Dot Product" DstPort 2 Branch Points [0, 140] DstBlock "Dot Product2" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Out1" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Out2"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (31 von 36) [17.05.2005 17:15:41]

Page 195: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstPort 1 Block BlockType Sum Name "Sum" Ports [2, 1] Position [235, 305, 265, 335] Orientation "up" ShowName off IconShape "round" Inputs "+|+" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum1" Ports [2, 1] Position [460, 35, 480, 55] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum2" Ports [2, 1] Position [480, 70, 500, 90] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [505, 120, 525, 140] ShowName off IconShape "round" Inputs "|+-" InputSameDT off OutDataTypeMode "Inherit via internal rule" Line SrcBlock "Induction Machine" SrcPort 4 Points [0, 0; 15, 0] Branch Points [20, 0; 0, 250] DstBlock "Gain3" DstPort 1 Branch Points [0, 145] DstBlock "Scope" DstPort 1 Line

http://encon.fke.utm.my/courses/mep1422/foc.mdl (32 von 36) [17.05.2005 17:15:41]

Page 196: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

SrcBlock "Subsystem1" SrcPort 2 Points [20, 0; 0, 240] DstBlock "Integrator1" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Subsystem1" DstPort 1 Line SrcBlock "Rotor Flux" SrcPort 1 Points [15, 0; 0, -50] DstBlock "Subsystem1" DstPort 2 Line SrcBlock "Subsystem4" SrcPort 1 Points [15, 0; 0, -15] DstBlock "Sum1" DstPort 1 Line SrcBlock "Sum1" SrcPort 1 DstBlock "Relay" DstPort 1 Line SrcBlock "Relay" SrcPort 1 Points [55, 0] DstBlock "Induction Machine" DstPort 1 Line SrcBlock "Subsystem4" SrcPort 2 DstBlock "Sum2" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "Relay1" DstPort 1 Line SrcBlock "Sum3" SrcPort 1 DstBlock "Relay2" DstPort 1 Line SrcBlock "Subsystem4" SrcPort 3 Points [20, 0; 0, 30] DstBlock "Sum3" DstPort 1 Line

http://encon.fke.utm.my/courses/mep1422/foc.mdl (33 von 36) [17.05.2005 17:15:41]

Page 197: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

SrcBlock "Gain3" SrcPort 1 DstBlock "Integrator2" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 1 Points [90, 0; 0, 35; 5, 0] Branch DstBlock "Subsystem" DstPort 2 Branch Points [0, 140] DstBlock "Subsystem3" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 2 Points [0, 10; 75, 0] Branch Points [30, 0; 0, 60] DstBlock "Subsystem" DstPort 4 Branch Points [0, 180] DstBlock "Subsystem3" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 3 Points [175, 0] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 6 Points [175, 0] DstBlock "Subsystem" DstPort 3 Line SrcBlock "Relay1" SrcPort 1 DstBlock "Induction Machine" DstPort 2 Line SrcBlock "Relay2" SrcPort 1 Points [35, 0; 0, -10; 15, 0] DstBlock "Induction Machine" DstPort 3 Line SrcBlock "Integrator1" SrcPort 1 DstBlock "Sum"

http://encon.fke.utm.my/courses/mep1422/foc.mdl (34 von 36) [17.05.2005 17:15:41]

Page 198: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstPort 1 Line SrcBlock "Integrator2" SrcPort 1 DstBlock "Sum" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 1 Points [-130, 0] DstBlock "Sum1" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 2 Points [-110, 0] DstBlock "Sum2" DstPort 2 Line SrcBlock "Subsystem3" SrcPort 3 Points [-85, 0] DstBlock "Sum3" DstPort 2 Line SrcBlock "Subsystem1" SrcPort 3 Points [50, 0; 0, -20] DstBlock "Subsystem5" DstPort 2 Line SrcBlock "Subsystem5" SrcPort 1 DstBlock "Subsystem4" DstPort 1 Line SrcBlock "Subsystem5" SrcPort 2 DstBlock "Subsystem4" DstPort 2 Line SrcBlock "Subsystem1" SrcPort 1 DstBlock "Subsystem5" DstPort 1 Line SrcBlock "Sum" SrcPort 1 Points [0, -120; -25, 0] DstBlock "Subsystem5" DstPort 3 Line SrcBlock "Induction Machine" SrcPort 8 Points [20, 0; 0, 100]

http://encon.fke.utm.my/courses/mep1422/foc.mdl (35 von 36) [17.05.2005 17:15:41]

Page 199: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/foc.mdl

DstBlock "Scope" DstPort 2

http://encon.fke.utm.my/courses/mep1422/foc.mdl (36 von 36) [17.05.2005 17:15:41]

Page 200: Electrical drives lectures

DIRECT TORQUE CONTROL OF IM If a three phase VSI is connected to an IM, there can be eight possible configurations of six switching devices within the inverter. As a result, there are eight possible input voltage vectors to the IM. The eight voltage vectors, two of which are zero vectors, are shown in Fig 1.

DTC utilises the eight possible stator voltage vectors, to control the stator flux and torque to follow the reference values within the hysteresis bands. The voltage space vector of a three-phase system is given by:

( ) π=++=

(1)

vsA, vsB, and vsC are the instantaneous phase voltages.

For the switching VSI, it can be shown that for a DC link voltage of Vd, the

voltage space vector is given by:

( ) π=++=

(2)

Sa(t), Sb(t) and Sc(t) are the switching functions of each leg of the VSI, such that,

Swhen upper switch is onwhen lower switch is oni =

10

Figure 1. Voltage vectors for 3-phase VSI

Direct Flux Control The IM stator voltage equation is given by:

ψ+= (3)

Where v i ands s s, , ψ are the stator voltage, current and stator flux space vectors

respectively. According to equation (3), if the stator resistance is small and can be neglected, the change in stator flux, ∆ψ s , will follow the stator voltage, i.e.,

∆ ∆ψ s sv t= (4)

Page 201: Electrical drives lectures

This simply means that the tip of the stator flux will follow that of the stator voltage space vector multiplied by the small change in time. Hence if the stator flux space vector (magnitude and angle) is known, its locus can be controlled by selecting appropriate stator voltage vectors. In DTC the stator flux space vector is obtained by calculation utilizing the motor terminal variables (stator voltages and currents). The stator flux is forced to follow the reference value within a hysteresis band by selecting the appropriate stator voltage vector using the hysteresis comparator and selection table.

Direct Torque Control As shown by Takahashi and Noguchi [1], under a condition of a constant mechanical frequency and stator flux magnitude, when a step increase in the stator angular frequency is applied at t=0, the rate of change of torque at time t=0 is proportional to the slip frequency of the stator flux . Thus,

dTdt t

sl t=

=0

0α ω (5)

where ωsl is the instantaneous angular slip frequency

If the torque and stator flux is kept within their hysteresis bands by selecting appropriate voltage vectors, an independent control over the torque and stator flux is accomplished. If the stator flux space vector plane is divided into six sectors or segments (Figure 2), a set of table or rules of which voltage vector should be chosen in a particular sector (either to increase stator flux or to reduce stator flux and either to increase torque or to reduce torque) can be constructed; such table is given by Table 1.

Figure 2 Six sectors of stator flux plane

Page 202: Electrical drives lectures

vs,3

vs,3

vs,3

vs,2

vs,4

vs,4

vs,3

vs,2

vs,6

vs,5

vs,4

vs,1

Table 1 Voltage vectors look-up table.

! "

" ""

"

""

! "

" ""

"

""

Figure 3 Flux control within the hysteresis band

Figure 4 Basic DTC #$ %&' &%()* +, '-.) * -//0))*0)/ )1))2

)-()3.45678

Sector I

Sector II

ψψψψ

θθθθψψψψ

ψψψψ

Page 203: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Model Name "DTC_hysteresis" Version 5.0 SaveDefaultBlockParams on SampleTimeColors off LibraryLinkDisplay "none" WideLines off ShowLineDimensions off ShowPortDataTypes off ShowLoopsOnError on IgnoreBidirectionalLines off ShowStorageClass off ExecutionOrder off RecordCoverage off CovPath "/" CovSaveName "covdata" CovMetricSettings "dw" CovNameIncrementing off CovHtmlReporting on covSaveCumulativeToWorkspaceVar on CovSaveSingleToWorkspaceVar on CovCumulativeVarName "covCumulativeData" CovCumulativeReport off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" MinMaxOverflowArchiveMode "Overwrite" BlockNameDataTip off BlockParametersDataTip off BlockDescriptionStringDataTip off ToolBar on StatusBar on BrowserShowLibraryLinks off BrowserLookUnderMasks off Created "Tue Oct 01 11:07:25 2002" UpdateHistory "UpdateHistoryNever" ModifiedByFormat "%<Auto>" LastModifiedBy "Administrator" ModifiedDateFormat "%<Auto>" LastModifiedDate "Mon Aug 09 11:36:28 2004" ModelVersionFormat "1.%<AutoIncrement:16>" ConfigurationManager "none" SimParamPage "Solver" LinearizationMsg "none" Profile off ParamWorkspaceSource "MATLABWorkspace" AccelSystemTargetFile "accel.tlc" AccelTemplateMakefile "accel_default_tmf" AccelMakeCommand "make_rtw" TryForcingSFcnDF off ExtModeMexFile "ext_comm" ExtModeBatchMode off ExtModeTrigType "manual" ExtModeTrigMode "normal" ExtModeTrigPort "1" ExtModeTrigElement "any" ExtModeTrigDuration 1000 ExtModeTrigHoldOff 0 ExtModeTrigDelay 0 ExtModeTrigDirection "rising" ExtModeTrigLevel 0 ExtModeArchiveMode "off" ExtModeAutoIncOneShot off ExtModeIncDirWhenArm off ExtModeAddSuffixToVar off ExtModeWriteAllDataToWs off

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (1 von 29) [17.05.2005 17:16:36]

Page 204: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

ExtModeArmWhenConnect on ExtModeSkipDownloadWhenConnect off ExtModeLogAll on ExtModeAutoUpdateStatusClock on BufferReuse on RTWExpressionDepthLimit 5 SimulationMode "normal" Solver "ode5" SolverMode "Auto" StartTime "0.0" StopTime "1000" MaxOrder 5 MaxStep "0.0001" MinStep "0.00001" MaxNumMinSteps "-1" InitialStep "0.00001" FixedStep "1e-6" RelTol "1e-3" AbsTol "auto" OutputOption "RefineOutputTimes" OutputTimes "[]" Refine "1" LoadExternalInput off ExternalInput "[t, u]" LoadInitialState off InitialState "xInitial" SaveTime on TimeSaveName "t" SaveState off StateSaveName "xout" SaveOutput on OutputSaveName "yout" SaveFinalState off FinalStateName "xFinal" SaveFormat "Array" Decimation "1" LimitDataPoints on MaxDataPoints "10000000" SignalLoggingName "sigsOut" ConsistencyChecking "none" ArrayBoundsChecking "none" AlgebraicLoopMsg "warning" BlockPriorityViolationMsg "warning" MinStepSizeMsg "warning" InheritedTsInSrcMsg "warning" DiscreteInheritContinuousMsg "warning" MultiTaskRateTransMsg "error" SingleTaskRateTransMsg "none" CheckForMatrixSingularity "none" IntegerOverflowMsg "warning" Int32ToFloatConvMsg "warning" ParameterDowncastMsg "error" ParameterOverflowMsg "error" ParameterPrecisionLossMsg "warning" UnderSpecifiedDataTypeMsg "none" UnnecessaryDatatypeConvMsg "none" VectorMatrixConversionMsg "none" InvalidFcnCallConnMsg "error" SignalLabelMismatchMsg "none" UnconnectedInputMsg "warning" UnconnectedOutputMsg "warning" UnconnectedLineMsg "warning" SfunCompatibilityCheckMsg "none" RTWInlineParameters off BlockReductionOpt off

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (2 von 29) [17.05.2005 17:16:36]

Page 205: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

BooleanDataType off ConditionallyExecuteInputs on ParameterPooling on OptimizeBlockIOStorage on ZeroCross on AssertionControl "UseLocalSettings" ProdHWDeviceType "Microprocessor" ProdHWWordLengths "8,16,32,32" RTWSystemTargetFile "grt.tlc" RTWTemplateMakefile "grt_default_tmf" RTWMakeCommand "make_rtw" RTWGenerateCodeOnly off RTWRetainRTWFile off TLCProfiler off TLCDebug off TLCCoverage off TLCAssertion off BlockDefaults Orientation "right" ForegroundColor "black" BackgroundColor "white" DropShadow off NamePlacement "normal" FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" ShowName on BlockParameterDefaults Block BlockType Demux Outputs "4" DisplayOption "none" BusSelectionMode off Block BlockType Fcn Expr "sin(u[1])" Block BlockType Gain Gain "1" Multiplication "Element-wise(K.*u)" ShowAdditionalParam off ParameterDataTypeMode "Same as input" ParameterDataType "sfix(16)" ParameterScalingMode "Best Precision: Matrix-wise" ParameterScaling "2^0" OutDataTypeMode "Same as input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on Block BlockType Inport Port "1" PortDimensions "-1" SampleTime "-1" ShowAdditionalParam off LatchInput off DataType "auto" OutDataType "sfix(16)"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (3 von 29) [17.05.2005 17:16:37]

Page 206: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

OutScaling "2^0" SignalType "auto" SamplingMode "auto" Interpolate on Block BlockType Integrator ExternalReset "none" InitialConditionSource "internal" InitialCondition "0" LimitOutput off UpperSaturationLimit "inf" LowerSaturationLimit "-inf" ShowSaturationPort off ShowStatePort off AbsoluteTolerance "auto" ZeroCross on Block BlockType Mux Inputs "4" DisplayOption "none" Block BlockType Outport Port "1" OutputWhenDisabled "held" InitialOutput "[]" Block BlockType Relay OnSwitchValue "eps" OffSwitchValue "eps" OnOutputValue "1" OffOutputValue "0" ShowAdditionalParam off OutputDataTypeScalingMode "All ports same datatype" OutDataType "sfix(16)" OutScaling "2^0" ConRadixGroup "Use specified scaling" ZeroCross on Block BlockType Scope Floating off ModelBased off TickLabels "OneTimeTick" ZoomMode "on" Grid "on" TimeRange "auto" YMin "-5" YMax "5" SaveToWorkspace off SaveName "ScopeData" LimitDataPoints on MaxDataPoints "5000" Decimation "1" SampleInput off SampleTime "0" Block BlockType "S-Function" FunctionName "system" PortCounts "[]" SFunctionModules "''"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (4 von 29) [17.05.2005 17:16:37]

Page 207: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Block BlockType SignalGenerator WaveForm "sine" Amplitude "1" Frequency "1" Units "Hertz" VectorParams1D on Block BlockType Step Time "1" Before "0" After "1" SampleTime "-1" VectorParams1D on ZeroCross on Block BlockType SubSystem ShowPortLabels on Permissions "ReadWrite" RTWSystemCode "Auto" RTWFcnNameOpts "Auto" RTWFileNameOpts "Auto" SimViewingDevice off DataTypeOverride "UseLocalSettings" MinMaxOverflowLogging "UseLocalSettings" Block BlockType Sum IconShape "rectangular" Inputs "++" ShowAdditionalParam off InputSameDT on OutDataTypeMode "Same as first input" OutDataType "sfix(16)" OutScaling "2^0" LockScale off RndMeth "Floor" SaturateOnIntegerOverflow on AnnotationDefaults HorizontalAlignment "center" VerticalAlignment "middle" ForegroundColor "black" BackgroundColor "white" DropShadow off FontName "Helvetica" FontSize 10 FontWeight "normal" FontAngle "normal" LineDefaults FontName "Helvetica" FontSize 9 FontWeight "normal" FontAngle "normal" System Name "DTC_hysteresis" Location [2, 74, 1014, 724] Open on ModelBrowserVisibility off

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (5 von 29) [17.05.2005 17:16:37]

Page 208: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" ReportName "simulink-default.rpt" Block BlockType SubSystem Name "Induction Machine" Ports [3, 8] Position [160, 63, 215, 192] TreatAsAtomicUnit off MaskPromptString "Stator resistance (ohm)|Rotor resistance (ohm)|""Stator self inductance (H)|Rotor self inductance (H)|Mutual Inductance (H)|No"" of poles|Moment of inertia (kg.m^2)|Load torque (Nm)" MaskStyleString "edit,edit,edit,edit,edit,edit,edit,edit" MaskTunableValueString "on,on,on,on,on,on,on,on" MaskCallbackString "|||||||" MaskEnableString "on,on,on,on,on,on,on,on" MaskVisibilityString "on,on,on,on,on,on,on,on" MaskToolTipString "on,on,on,on,on,on,on,on" MaskVarAliasString ",,,,,,," MaskVariables "Rs=@1;Rr=@2;Ls=@3;Lr=@4;Lm=@5;pole=@6;J=@7;Tloa""d=@8;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5|4.51|306.5e-3|306.5e-3|291.9e-3|4|0.03|1" System Name "Induction Machine" Location [175, 176, 935, 636] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "Va" Position [25, 40, 45, 60] Block BlockType Inport Name "Vb" Position [25, 120, 45, 140] Port "2" Block BlockType Inport Name "Vc" Position [25, 240, 45, 260] Port "3" Block BlockType Gain Name "1/J" Position [260, 292, 285, 318] Orientation "left"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (6 von 29) [17.05.2005 17:16:37]

Page 209: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Gain "1/J" SaturateOnIntegerOverflow off Block BlockType Gain Name "1/J1" Position [295, 347, 320, 373] Gain "0.05" SaturateOnIntegerOverflow off Block BlockType SubSystem Name "3to2" Ports [3, 2] Position [105, 81, 135, 139] ShowPortLabels off TreatAsAtomicUnit off System Name "3to2" Location [4, 42, 628, 468] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [15, 50, 35, 70] Block BlockType Inport Name "in_2" Position [15, 115, 35, 135] Port "2" Block BlockType Inport Name "in_3" Position [15, 180, 35, 200] Port "3" Block BlockType Gain Name "Gain3" Position [120, 248, 160, 272] Gain "0.577" Block BlockType Gain Name "Gain4" Position [120, 298, 160, 322] Gain "-0.577" Block BlockType Gain Name "Gain5" Position [145, 143, 185, 167] Gain "-0.33333" Block

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (7 von 29) [17.05.2005 17:16:37]

Page 210: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

BlockType Gain Name "Gain6" Position [140, 183, 180, 207] Gain "-0.33333" Block BlockType Gain Name "Gain7" Position [135, 63, 175, 87] Gain "0.66666" Block BlockType Sum Name "Ib" Ports [2, 1] Position [240, 255, 260, 275] Block BlockType Sum Name "Ib1" Ports [3, 1] Position [260, 87, 280, 123] Inputs "+++" Block BlockType Outport Name "d" Position [330, 60, 350, 80] InitialOutput "0" Block BlockType Outport Name "q" Position [310, 250, 330, 270] Port "2" InitialOutput "0" Line SrcBlock "Ib1" SrcPort 1 Points [15, 0; 0, -35] DstBlock "d" DstPort 1 Line SrcBlock "Gain7" SrcPort 1 Points [30, 0; 0, 20] DstBlock "Ib1" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [40, 0; 0, 15] DstBlock "Gain7" DstPort 1 Line SrcBlock "Gain6" SrcPort 1 Points [30, 0; 0, -90] DstBlock "Ib1" DstPort 2

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (8 von 29) [17.05.2005 17:16:37]

Page 211: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Line SrcBlock "Gain5" SrcPort 1 Points [25, 0; 0, -40] DstBlock "Ib1" DstPort 3 Line SrcBlock "in_3" SrcPort 1 Points [40, 0; 0, 5] Branch DstBlock "Gain6" DstPort 1 Branch Points [0, 115] DstBlock "Gain4" DstPort 1 Line SrcBlock "in_2" SrcPort 1 Points [20, 0; 0, 30] Branch DstBlock "Gain5" DstPort 1 Branch Points [0, 105] DstBlock "Gain3" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "Ib" DstPort 1 Line SrcBlock "Gain4" SrcPort 1 Points [30, 0; 0, -40] DstBlock "Ib" DstPort 2 Line SrcBlock "Ib" SrcPort 1 DstBlock "q" DstPort 1 Block BlockType Demux Name "Demux" Ports [1, 5] Position [420, 91, 460, 149] Outputs "5" Block BlockType Gain

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (9 von 29) [17.05.2005 17:16:37]

Page 212: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Name "Gain1" Position [150, 407, 175, 433] Orientation "left" Gain "2/pole" Block BlockType SubSystem Name "IM1" Ports [1, 1] Position [320, 106, 380, 134] TreatAsAtomicUnit off System Name "IM1" Location [248, 340, 468, 422] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "In1" Position [25, 33, 55, 47] Block BlockType "S-Function" Name "S-Function" Ports [1, 1] Position [80, 25, 140, 55] FunctionName "imch" Parameters "Rs, Rr, Ls,Lr,Lm,pole" Block BlockType Outport Name "Out1" Position [165, 33, 195, 47] InitialOutput "0" Line SrcBlock "In1" SrcPort 1 DstBlock "S-Function" DstPort 1 Line SrcBlock "S-Function" SrcPort 1 DstBlock "Out1" DstPort 1 Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [360, 295, 380, 315] Orientation "left" Block BlockType Mux

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (10 von 29) [17.05.2005 17:16:37]

Page 213: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Name "Mux" Ports [3, 1] Position [260, 104, 290, 136] Inputs "3" Block BlockType Sum Name "Sum" Ports [2, 1] Position [440, 287, 460, 323] Orientation "left" Inputs "+-" Block BlockType Outport Name "isd" Position [630, 25, 650, 45] InitialOutput "0" Block BlockType Outport Name "isq" Position [625, 70, 645, 90] Port "2" InitialOutput "0" Block BlockType Outport Name "ird" Position [600, 140, 620, 160] Port "3" InitialOutput "0" Block BlockType Outport Name "speed" Position [90, 410, 110, 430] Orientation "left" Port "4" InitialOutput "0" Block BlockType Outport Name "Vd" Position [265, 50, 285, 70] Port "5" InitialOutput "0" Block BlockType Outport Name "irq" Position [595, 185, 615, 205] Port "6" InitialOutput "0" Block BlockType Outport Name "Vq" Position [90, 285, 110, 305] Orientation "left" Port "7" InitialOutput "0" Block BlockType Outport

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (11 von 29) [17.05.2005 17:16:37]

Page 214: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Name "Te" Position [715, 230, 735, 250] Port "8" InitialOutput "0" Line SrcBlock "Demux" SrcPort 1 Points [60, 0; 0, -20] DstBlock "isq" DstPort 1 Line SrcBlock "Demux" SrcPort 2 Points [65, 0; 0, -75] DstBlock "isd" DstPort 1 Line SrcBlock "3to2" SrcPort 2 Points [0, 0] Branch Points [0, 170] DstBlock "Vq" DstPort 1 Branch Points [55, 0; 0, -15] DstBlock "Mux" DstPort 1 Line SrcBlock "3to2" SrcPort 1 Points [0, 0; 25, 0] Branch Points [0, -35] DstBlock "Vd" DstPort 1 Branch Points [30, 0; 0, 25] DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 5 Points [45, 0; 0, 145] Branch Points [0, 15; -35, 0] DstBlock "Sum" DstPort 1 Branch Points [70, 0; 0, -45] DstBlock "Te" DstPort 1 Line

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (12 von 29) [17.05.2005 17:16:37]

Page 215: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

SrcBlock "Vc" SrcPort 1 Points [20, 0; 0, -120] DstBlock "3to2" DstPort 3 Line SrcBlock "Vb" SrcPort 1 Points [20, 0; 0, -20] DstBlock "3to2" DstPort 2 Line SrcBlock "Va" SrcPort 1 Points [20, 0; 0, 40] DstBlock "3to2" DstPort 1 Line SrcBlock "1/J" SrcPort 1 Points [0, 0; -25, 0] Branch Points [0, -175] DstBlock "Mux" DstPort 3 Branch Points [-15, 0; 0, 115] DstBlock "Gain1" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "IM1" DstPort 1 Line SrcBlock "IM1" SrcPort 1 DstBlock "Demux" DstPort 1 Line SrcBlock "Sum" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 DstBlock "1/J" DstPort 1 Line SrcBlock "1/J1" SrcPort 1 Points [190, 0; 0, -45] DstBlock "Sum" DstPort 2

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (13 von 29) [17.05.2005 17:16:37]

Page 216: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Line SrcBlock "Demux" SrcPort 3 Points [30, 0; 0, 75] DstBlock "irq" DstPort 1 Line SrcBlock "Demux" SrcPort 4 Points [25, 0; 0, 20] DstBlock "ird" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 Points [0, 0; -10, 0] Branch DstBlock "speed" DstPort 1 Branch Points [0, -60] DstBlock "1/J1" DstPort 1 Annotation Name "q" Position [482, 87] VerticalAlignment "top" Block BlockType "S-Function" Name "S-Function2" Ports [1, 1] Position [220, 355, 270, 375] Orientation "left" FunctionName "flxp2" Block BlockType Scope Name "Scope" Ports [3] Position [560, 214, 590, 246] Location [249, 259, 660, 649] Open on NumInputPorts "3" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" axes2 "%<SignalLabel>" axes3 "%<SignalLabel>" List ListType SelectedSignals axes1 "" axes2 "" axes3 ""

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (14 von 29) [17.05.2005 17:16:37]

Page 217: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

TimeRange "0.1" YMin "-0.1~-20~-15" YMax "2~20~15" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope1" Ports [1] Position [560, 144, 590, 176] Location [667, 408, 991, 647] Open on NumInputPorts "1" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" List ListType SelectedSignals axes1 "" TimeRange "0.01" YMin "-0.1" YMax "2" SaveName "ScopeData1" DataFormat "StructureWithTime" Block BlockType Scope Name "Scope2" Ports [1] Position [325, 184, 355, 216] Location [667, 110, 991, 349] Open on NumInputPorts "1" ZoomMode "yonly" List ListType AxesTitles axes1 "%<SignalLabel>" List ListType SelectedSignals axes1 "" TimeRange "0.01" YMin "-20" YMax "20" SaveName "ScopeData2" DataFormat "StructureWithTime" Block BlockType SignalGenerator Name "Signal\nGenerator" Position [640, 320, 670, 350] Orientation "left" WaveForm "square" Amplitude "-15" Frequency "15" Block BlockType Step Name "Step" Position [545, 380, 575, 410] Orientation "left"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (15 von 29) [17.05.2005 17:16:37]

Page 218: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Time "0.001" After "1.2" Block BlockType SubSystem Name "Subsystem" Ports [3, 3] Position [110, 286, 160, 384] Orientation "left" TreatAsAtomicUnit off System Name "Subsystem" Location [230, 305, 670, 522] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "T,err" Position [25, 35, 45, 55] Block BlockType Inport Name "Flx,err" Position [25, 105, 45, 125] Port "2" Block BlockType Inport Name "Flx ang" Position [25, 160, 45, 180] Port "3" Block BlockType Demux Name "Demux" Ports [1, 3] Position [280, 99, 320, 131] Outputs "3" Block BlockType Mux Name "Mux" Ports [3, 1] Position [100, 99, 130, 131] Inputs "3" Block BlockType "S-Function" Name "S-Function1" Ports [1, 1] Position [180, 105, 230, 125] FunctionName "select2" Block BlockType Outport Name "Sa" Position [375, 25, 395, 45] InitialOutput "0"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (16 von 29) [17.05.2005 17:16:37]

Page 219: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Block BlockType Outport Name "Sb" Position [395, 105, 415, 125] Port "2" InitialOutput "0" Block BlockType Outport Name "Sc" Position [350, 170, 370, 190] Port "3" InitialOutput "0" Line SrcBlock "Flx ang" SrcPort 1 DstBlock "Mux" DstPort 3 Line SrcBlock "Demux" SrcPort 3 Points [0, 55] DstBlock "Sc" DstPort 1 Line SrcBlock "Flx,err" SrcPort 1 DstBlock "Mux" DstPort 2 Line SrcBlock "Demux" SrcPort 2 DstBlock "Sb" DstPort 1 Line SrcBlock "T,err" SrcPort 1 DstBlock "Mux" DstPort 1 Line SrcBlock "Demux" SrcPort 1 Points [0, -70] DstBlock "Sa" DstPort 1 Line SrcBlock "Mux" SrcPort 1 DstBlock "S-Function1" DstPort 1 Line SrcBlock "S-Function1" SrcPort 1 DstBlock "Demux" DstPort 1

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (17 von 29) [17.05.2005 17:16:37]

Page 220: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Block BlockType Sum Name "Sum2" Ports [2, 1] Position [510, 307, 530, 343] Orientation "left" Inputs "-+" Block BlockType Sum Name "Sum4" Ports [2, 1] Position [435, 380, 455, 400] Orientation "left" Inputs "+-" Block BlockType SubSystem Name "Voltage-controlled\nPWM-VSI1" Ports [3, 3] Position [70, 96, 100, 164] ShowPortLabels off TreatAsAtomicUnit off System Name "Voltage-controlled\nPWM-VSI1" Location [-23, 85, 764, 579] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_5" Position [370, 60, 390, 80] Orientation "left" Block BlockType Inport Name "in_6" Position [390, 155, 410, 175] Orientation "left" Port "2" Block BlockType Inport Name "in_7" Position [395, 225, 415, 245] Orientation "left" Port "3" Block BlockType Gain Name "Gain1" Position [290, 152, 315, 178] Orientation "left" Gain "240" Block

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (18 von 29) [17.05.2005 17:16:37]

Page 221: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

BlockType Gain Name "Gain2" Position [295, 222, 320, 248] Orientation "left" Gain "240" Block BlockType Gain Name "Gain3" Position [285, 57, 310, 83] Orientation "left" Gain "240" Block BlockType Outport Name "out_1" Position [160, 60, 180, 80] Orientation "left" InitialOutput "0" Block BlockType Outport Name "out_2" Position [165, 155, 185, 175] Orientation "left" Port "2" InitialOutput "0" Block BlockType Outport Name "out_3" Position [175, 225, 195, 245] Orientation "left" Port "3" InitialOutput "0" Line SrcBlock "in_5" SrcPort 1 DstBlock "Gain3" DstPort 1 Line SrcBlock "in_6" SrcPort 1 DstBlock "Gain1" DstPort 1 Line SrcBlock "in_7" SrcPort 1 DstBlock "Gain2" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Gain1" SrcPort 1 DstBlock "out_2" DstPort 1

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (19 von 29) [17.05.2005 17:16:37]

Page 222: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Line SrcBlock "Gain2" SrcPort 1 DstBlock "out_3" DstPort 1 Block BlockType Relay Name "flux\nhysterisis" Position [335, 378, 365, 402] Orientation "left" OnSwitchValue "0.01" OffSwitchValue "-0.01" Block BlockType SubSystem Name "stator flux - voltage model" Ports [4, 4] Position [345, 15, 415, 145] TreatAsAtomicUnit off MaskPromptString "Stator resistance" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Rs=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "5.5" System Name "stator flux - voltage model" Location [160, 288, 765, 529] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "vd" Position [50, 33, 80, 47] Block BlockType Inport Name "id" Position [40, 98, 70, 112] Port "2" Block BlockType Inport Name "vq" Position [60, 143, 90, 157] Port "3" Block

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (20 von 29) [17.05.2005 17:16:37]

Page 223: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

BlockType Inport Name "iq" Position [25, 193, 55, 207] Port "4" Block BlockType SubSystem Name "Cartesian to Polar" Ports [2, 2] Position [420, 92, 455, 143] ShowPortLabels off TreatAsAtomicUnit off MaskType "[x,y]->[r,theta]" MaskDescription "Tranformation from cartesian to polar\ncoor""dinates.\nr=sqrt(x^2+y^2), theta=atan(y/x)" MaskHelp "Unmask this block for more help." MaskDisplay "plot(0,0,100,100,[24,20,15,20,20],[85,95,85"",95,20],[80,20,95,85,95,85],[70,20,20,15,20,24],[56,56,55,52,50,46],[20,26,31"",35,38,42])" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" System Name "Cartesian to Polar" Location [0, 0, 359, 206] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "x" Position [20, 70, 40, 90] Block BlockType Inport Name "y" Position [20, 129, 40, 151] Port "2" Block BlockType Mux Name "Mux" Ports [2, 1] Position [75, 96, 105, 129] Inputs "2" Block BlockType Fcn Name "x->r" Position [155, 72, 260, 98] Expr "hypot(u[1],u[2])" Block BlockType Fcn Name "x->theta" Position [160, 129, 265, 151] Expr "atan2(u[2],u[1])"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (21 von 29) [17.05.2005 17:16:37]

Page 224: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Block BlockType Outport Name "r" Position [295, 75, 315, 95] InitialOutput "0" Block BlockType Outport Name "theta" Position [295, 130, 315, 150] Port "2" InitialOutput "0" Line SrcBlock "x->theta" SrcPort 1 DstBlock "theta" DstPort 1 Line SrcBlock "y" SrcPort 1 DstBlock "Mux" DstPort 2 Line SrcBlock "x" SrcPort 1 DstBlock "Mux" DstPort 1 Line SrcBlock "x->r" SrcPort 1 DstBlock "r" DstPort 1 Line SrcBlock "Mux" SrcPort 1 Points [15, 0] Branch Points [0, 25] DstBlock "x->theta" DstPort 1 Branch Points [0, -30] DstBlock "x->r" DstPort 1 Annotation Name "Cartesian to Polar" Position [167, 37] VerticalAlignment "top" Block BlockType Gain Name "Gain2" Position [170, 167, 195, 193] Gain "Rs"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (22 von 29) [17.05.2005 17:16:37]

Page 225: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Block BlockType Gain Name "Gain3" Position [170, 112, 195, 138] Gain "Rs" Block BlockType Integrator Name "Integrator" Ports [1, 1] Position [315, 85, 345, 115] Block BlockType Integrator Name "Integrator1" Ports [1, 1] Position [310, 165, 340, 195] Block BlockType Sum Name "Sum6" Ports [2, 1] Position [240, 90, 260, 110] Inputs "+-" Block BlockType Sum Name "Sum7" Ports [2, 1] Position [240, 145, 260, 165] Inputs "+-" Block BlockType Outport Name "flxsdv" Position [500, 28, 530, 42] Block BlockType Outport Name "flxsv" Position [550, 88, 580, 102] Port "2" InitialOutput "0" Block BlockType Outport Name "angflxsv" Position [480, 123, 510, 137] Port "3" InitialOutput "0" Block BlockType Outport Name "flxsqv" Position [435, 203, 465, 217] Port "4" Line SrcBlock "Sum6" SrcPort 1 DstBlock "Integrator" DstPort 1 Line SrcBlock "Sum7"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (23 von 29) [17.05.2005 17:16:37]

Page 226: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

SrcPort 1 DstBlock "Integrator1" DstPort 1 Line SrcBlock "Gain3" SrcPort 1 Points [25, 0] DstBlock "Sum6" DstPort 2 Line SrcBlock "Gain2" SrcPort 1 Points [0, -10] DstBlock "Sum7" DstPort 2 Line SrcBlock "vd" SrcPort 1 Points [60, 0; 0, 55] DstBlock "Sum6" DstPort 1 Line SrcBlock "Integrator" SrcPort 1 Points [0, 5; 25, 0] Branch DstBlock "Cartesian to Polar" DstPort 1 Branch Points [0, -70] DstBlock "flxsdv" DstPort 1 Line SrcBlock "Integrator1" SrcPort 1 Points [50, 0] Branch Points [0, -50] DstBlock "Cartesian to Polar" DstPort 2 Branch Points [0, 30] DstBlock "flxsqv" DstPort 1 Line SrcBlock "Cartesian to Polar" SrcPort 1 Points [75, 0] DstBlock "flxsv" DstPort 1 Line SrcBlock "id" SrcPort 1 Points [0, 20]

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (24 von 29) [17.05.2005 17:16:37]

Page 227: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

DstBlock "Gain3" DstPort 1 Line SrcBlock "Cartesian to Polar" SrcPort 2 DstBlock "angflxsv" DstPort 1 Line SrcBlock "vq" SrcPort 1 DstBlock "Sum7" DstPort 1 Line SrcBlock "iq" SrcPort 1 Points [0, -20] DstBlock "Gain2" DstPort 1 Block BlockType SubSystem Name "torquehys" Ports [1, 1] Position [365, 300, 395, 350] Orientation "left" ShowPortLabels off TreatAsAtomicUnit off MaskPromptString "Hyst band" MaskStyleString "edit" MaskTunableValueString "on" MaskEnableString "on" MaskVisibilityString "on" MaskToolTipString "on" MaskVariables "Th=@1;" MaskIconFrame on MaskIconOpaque on MaskIconRotate "none" MaskIconUnits "autoscale" MaskValueString "2" System Name "torquehys" Location [50, 122, 340, 345] Open off ModelBrowserVisibility off ModelBrowserWidth 200 ScreenColor "white" PaperOrientation "landscape" PaperPositionMode "auto" PaperType "usletter" PaperUnits "inches" ZoomFactor "100" Block BlockType Inport Name "in_1" Position [275, 95, 295, 115] Orientation "left" Block BlockType Relay Name "Relay"

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (25 von 29) [17.05.2005 17:16:37]

Page 228: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Position [185, 58, 215, 82] Orientation "left" OnSwitchValue "Th/2" OffSwitchValue "0" Block BlockType Relay Name "Relay1" Position [185, 123, 215, 147] Orientation "left" OnSwitchValue "0" OffSwitchValue "-Th/2" OnOutputValue "0" OffOutputValue "-1" Block BlockType Sum Name "Sum3" Ports [2, 1] Position [55, 105, 75, 125] Orientation "left" Block BlockType Outport Name "out_1" Position [15, 105, 35, 125] Orientation "left" InitialOutput "0" Line SrcBlock "Sum3" SrcPort 1 DstBlock "out_1" DstPort 1 Line SrcBlock "Relay1" SrcPort 1 Points [-75, 0] DstBlock "Sum3" DstPort 2 Line SrcBlock "Relay" SrcPort 1 Points [-65, 0] DstBlock "Sum3" DstPort 1 Line SrcBlock "in_1" SrcPort 1 Points [-20, 0] Branch Points [0, 30] DstBlock "Relay1" DstPort 1 Branch Points [-5, 0] DstBlock "Relay" DstPort 1

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (26 von 29) [17.05.2005 17:16:37]

Page 229: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Line SrcBlock "Induction Machine" SrcPort 5 Points [30, 0; 0, -100] DstBlock "stator flux - voltage model" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 1 Points [110, 0] DstBlock "stator flux - voltage model" DstPort 2 Line SrcBlock "Induction Machine" SrcPort 2 Points [70, 0; 0, 35] DstBlock "stator flux - voltage model" DstPort 4 Line SrcBlock "Induction Machine" SrcPort 7 Points [15, 0; 0, -70] DstBlock "stator flux - voltage model" DstPort 3 Line SrcBlock "stator flux - voltage model" SrcPort 3 Points [40, 0; 0, 270] DstBlock "S-Function2" DstPort 1 Line SrcBlock "Induction Machine" SrcPort 8 Points [20, 0; 0, 20] Branch Points [0, 90; 140, 0] Branch Points [165, 0] DstBlock "Sum2" DstPort 1 Branch Points [0, -60] DstBlock "Scope" DstPort 2 Branch DstBlock "Scope2" DstPort 1 Line SrcBlock "stator flux - voltage model" SrcPort 2 Points [65, 0; 0, 95] Branch Points [0, 60] Branch

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (27 von 29) [17.05.2005 17:16:37]

Page 230: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

Points [0, 165] DstBlock "Sum4" DstPort 1 Branch DstBlock "Scope" DstPort 1 Branch DstBlock "Scope1" DstPort 1 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 1 Points [20, 0; 0, -25] DstBlock "Induction Machine" DstPort 1 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 2 DstBlock "Induction Machine" DstPort 2 Line SrcBlock "Voltage-controlled\nPWM-VSI1" SrcPort 3 Points [20, 0; 0, 25] DstBlock "Induction Machine" DstPort 3 Line SrcBlock "Subsystem" SrcPort 1 Points [-80, 0; 0, -195] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 1 Line SrcBlock "Subsystem" SrcPort 2 Points [-70, 0; 0, -205] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 2 Line SrcBlock "Subsystem" SrcPort 3 Points [-60, 0; 0, -215] DstBlock "Voltage-controlled\nPWM-VSI1" DstPort 3 Line SrcBlock "flux\nhysterisis" SrcPort 1 Points [-40, 0; 0, -55] DstBlock "Subsystem" DstPort 2 Line SrcBlock "Sum4" SrcPort 1

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (28 von 29) [17.05.2005 17:16:37]

Page 231: Electrical drives lectures

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl

DstBlock "flux\nhysterisis" DstPort 1 Line SrcBlock "Step" SrcPort 1 DstBlock "Sum4" DstPort 2 Line SrcBlock "torquehys" SrcPort 1 Points [-60, 0; 0, -20] DstBlock "Subsystem" DstPort 1 Line SrcBlock "Sum2" SrcPort 1 DstBlock "torquehys" DstPort 1 Line SrcBlock "Signal\nGenerator" SrcPort 1 DstBlock "Sum2" DstPort 2 Line SrcBlock "S-Function2" SrcPort 1 DstBlock "Subsystem" DstPort 3 Line SrcBlock "Induction Machine" SrcPort 4 Points [45, 0; 0, 120] DstBlock "Scope" DstPort 3

http://encon.fke.utm.my/courses/mep1422/DTC_hysteresis.mdl (29 von 29) [17.05.2005 17:16:37]